From 08603217557de17520ae5c81a30a6ba0a362f30f Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期四, 01 二月 2024 19:21:05 +0800
Subject: [PATCH] Mr.Shi
---
company/src/views/business/switchCourt.vue | 2
company/src/components/enterprise/additionSubtractionApplication.vue | 7
company/src/components/enterprise/factoryChange.vue | 6
company/src/api/business/applyChange.js | 5
company/src/components/business/OperaApplyChangeDetailWindow.vue | 25
company/src/components/enterprise/reinsurance.vue | 594 +++++++++++++++++++++++++
company/src/components/enterprise/confirmJobType.vue | 2
company/src/components/enterprise/add_subtract_return.vue | 72 +++
company/src/views/enterprise/add_subtract.vue | 7
company/src/components/business/OperaApplyChangeUnitDetailWindow.vue | 45 +
company/src/components/enterprise/editFactoryChange.vue | 501 +++++++++++++++++++++
company/src/views/enterprise/switchCourt.vue | 111 ++--
12 files changed, 1,295 insertions(+), 82 deletions(-)
diff --git a/company/src/api/business/applyChange.js b/company/src/api/business/applyChange.js
index 7f34754..de60e43 100644
--- a/company/src/api/business/applyChange.js
+++ b/company/src/api/business/applyChange.js
@@ -36,3 +36,8 @@
export function applyChagneDetailList (data) {
return request.post('/business/applyChagneDetail/list', data)
}
+
+// 淇敼
+export function update (data) {
+ return request.post('/business/applyChange/update', data)
+}
diff --git a/company/src/components/business/OperaApplyChangeDetailWindow.vue b/company/src/components/business/OperaApplyChangeDetailWindow.vue
index a1b5c61..78a0233 100644
--- a/company/src/components/business/OperaApplyChangeDetailWindow.vue
+++ b/company/src/components/business/OperaApplyChangeDetailWindow.vue
@@ -12,21 +12,21 @@
<div class="desc_item_label_left">
<span>鎶曚繚浼佷笟锛歿{ apply.companyName }}</span>
<span v-if="model.status === 0">淇濆崟鐘舵�侊細寰呯缃�</span>
- <span v-if="model.status === 1">淇濆崟鐘舵�侊細宸茬绔�</span>
+ <span v-if="model.status === 1">淇濆崟鐘舵�侊細寰呭鏍�</span>
<span v-if="model.status === 2">淇濆崟鐘舵�侊細宸蹭笂浼犳壒鍗�</span>
<span v-if="model.status === 3 || model.status === 4">淇濆崟鐘舵�侊細閫�鍥炵敵璇�</span>
<span v-if="model.status === 5 || model.status === 8">淇濆崟鐘舵�侊細宸查��鍥�</span>
- <span v-if="model.status ===7">淇濆崟鐘舵�侊細宸插叧闂�</span>
+ <span v-if="model.status === 7 || model.status === 6">淇濆崟鐘舵�侊細宸插叧闂�</span>
<span>鎻愪氦鏃堕棿锛歿{ model.createDate }}</span>
</div>
<div class="desc_item_label_right">
<template v-if="userInfo.type === 1">
<el-button type="primary" @click="$refs.ApplyChangeDetails.open('鍔犲噺淇濊鍗�',apply,model)">瀵煎嚭璇﹀崟</el-button>
- <el-button v-if="[5, 8].includes(model.status)" type="primary" @click="$refs.additionSubtractionApplication.open('鍔犲噺淇濈敵璇�', {id: dataId})">鍐嶆鎶曚繚</el-button>
+ <el-button v-if="[5, 8].includes(model.status)" type="primary" @click="$refs.reinsurance.open('鍔犲噺淇濈敵璇�', {id: dataId, applyChangId: modelId})">鍐嶆鎶曚繚</el-button>
<el-button type="primary" v-if="model.status == 0" @click="goSign">绛剧讲鐢宠鍗�</el-button>
- <el-button v-if="[2, 3, 7].includes(model.status)" type="primary">鐢宠閫�鍥�</el-button>
+ <el-button v-if="[0, 1, 2, 3, 7].includes(model.status)" type="primary" @click="$refs.add_subtract_return.open('鐢宠閫�鍥�', { id: modelId })">鐢宠閫�鍥�</el-button>
<el-button v-if="model.status == 5" type="primary" @click="viewApplyFile">鏌ョ湅鐢宠鍗�</el-button>
- <el-button v-if="model.status == 5" type="primary" @click="viewPidan">鏌ョ湅鎵瑰崟</el-button>
+ <el-button v-if="model.status == 2" type="primary" @click="viewPidan">鏌ョ湅鎵瑰崟</el-button>
<el-button v-if="[5, 8].includes(model.status)" type="primary" @click="closeOrder">鍏抽棴璁㈠崟</el-button>
</template>
<template v-else>
@@ -180,11 +180,12 @@
<ApplyChangeDetails ref="ApplyChangeDetails" @success="successEvent" />
<OperaApplyChangeCheckWindow ref="OperaApplyChangeCheckWindow" @success="successEvent" />
<!-- 浼佷笟鐢宠閫�鍥� -->
- <applyReturn ref="applyReturn" @success="successEvent" />
+<!-- <applyReturn ref="applyReturn" @success="successEvent" />-->
+ <add_subtract_return ref="add_subtract_return" @success="successEvent" />
<!-- 鏂板鎶曚繚 -->
<OperaInsuranceApply ref="OperaInsuranceApply" @success="successEvent" />
<!-- 鍔犲噺淇濈敵璇� -->
- <additionSubtractionApplication ref="additionSubtractionApplication" @success="successEvent" />
+ <reinsurance ref="reinsurance" @success="successEvent" />
<!-- 鎹㈠巶鐢宠 -->
<factoryChange ref="factoryChange" @success="successEvent" />
</GlobalWindow>
@@ -195,9 +196,9 @@
import GlobalWindow from '@/components/common/GlobalWindow'
import ApplyChangeDetails from '@/components/business/ApplyChangeDetails'
import OperaApplyChangeCheckWindow from '@/components/business/OperaApplyChangeCheckWindow'
-import additionSubtractionApplication from '@/components/enterprise/additionSubtractionApplication'
+import reinsurance from '@/components/enterprise/reinsurance'
import factoryChange from '@/components/enterprise/factoryChange'
-import applyReturn from '@/components/enterprise/applyReturn'
+import add_subtract_return from '@/components/enterprise/add_subtract_return'
import {
getDetail,
getChangeDetail,
@@ -215,9 +216,9 @@
GlobalWindow,
ApplyChangeDetails,
OperaApplyChangeCheckWindow,
- applyReturn,
+ add_subtract_return,
OperaInsuranceApply,
- additionSubtractionApplication,
+ reinsurance,
factoryChange
},
data () {
@@ -273,7 +274,7 @@
this.search()
},
closeOrder() {
- this.$confirm('纭鍏抽棴娆′繚鍗曞悧?', '鎻愮ず', {
+ this.$confirm('纭鍏抽棴姝よ鍗曞悧?', '鎻愮ず', {
confirmButtonText: '纭畾',
cancelButtonText: '鍙栨秷',
type: 'warning'
diff --git a/company/src/components/business/OperaApplyChangeUnitDetailWindow.vue b/company/src/components/business/OperaApplyChangeUnitDetailWindow.vue
index dffd29c..58d893e 100644
--- a/company/src/components/business/OperaApplyChangeUnitDetailWindow.vue
+++ b/company/src/components/business/OperaApplyChangeUnitDetailWindow.vue
@@ -12,7 +12,7 @@
<div class="desc_item_label_left">
<span>鎶曚繚浼佷笟锛歿{ apply.companyName }}</span>
<span v-if="model.status === 0">淇濆崟鐘舵�侊細寰呯缃�</span>
- <span v-if="model.status === 1">淇濆崟鐘舵�侊細宸茬绔�</span>
+ <span v-if="model.status === 1">淇濆崟鐘舵�侊細寰呭鏍�</span>
<span v-if="model.status === 2">淇濆崟鐘舵�侊細宸蹭笂浼犳壒鍗�</span>
<span v-if="model.status === 3 || model.status === 4">淇濆崟鐘舵�侊細閫�鍥炵敵璇�</span>
<span v-if="model.status ===5 || model.status === 8">淇濆崟鐘舵�侊細宸查��鍥�</span>
@@ -21,13 +21,14 @@
</div>
<div class="desc_item_label_right">
<template v-if="userInfo.type === 1">
- <el-button v-if="[0, 2, 3, 10].includes(model.status)" type="danger" @click="$refs.applyReturn.open('鐢宠閫�鍥�', {id: dataId})">鐢宠閫�鍥�</el-button>
- <el-button v-if="model.status == 4" type="primary" @click="$refs.OperaInsuranceApply.open('鎶曚繚鐢宠', {id: dataId})">鍐嶆鎶曚繚</el-button>
- <el-button type="primary" @click="$refs.InsuranceDetails.open('鎶曚繚璇︽儏鍗�',model,0)">绛剧讲鐢宠鍗�</el-button>
- <el-button v-if="[2, 3, 5, 7, 8].includes(model.status)" type="primary" @click="viewToubaodan">鐢宠閫�鍥�</el-button>
- <el-button v-if="model.status == 5" type="primary" @click="viewBaoxiandan">鏌ョ湅鐢宠鍗�</el-button>
- <el-button v-if="model.status == 5" type="primary" @click="viewBaoxiandan">鏌ョ湅鎵瑰崟</el-button>
- <el-button v-if="model.status == 2" type="primary" @click="goSign">鍏抽棴璁㈠崟</el-button>
+ <el-button type="primary" @click="$refs.ApplyChangeDetails.open('鎹㈠巶鐢宠璇﹀崟',apply,model)">瀵煎嚭璇﹀崟</el-button>
+<!-- <el-button v-if="[0, 2, 3, 10].includes(model.status)" type="danger" @click="$refs.applyReturn.open('鐢宠閫�鍥�', {id: dataId})">鐢宠閫�鍥�</el-button>-->
+ <el-button v-if="[5, 8].includes(model.status)" type="primary" @click="$refs.editFactoryChange.open('鎹㈠巶鐢宠', {id: dataId, applyChangId: modelId})">鍐嶆鎶曚繚</el-button>
+ <el-button type="primary" v-if="model.status == 0" @click="goSign">绛剧讲鐢宠鍗�</el-button>
+ <el-button v-if="[0, 1, 2, 3, 7].includes(model.status)" type="primary" @click="$refs.add_subtract_return.open('鐢宠閫�鍥�', { id: modelId })">鐢宠閫�鍥�</el-button>
+ <el-button v-if="model.status == 5" type="primary" @click="viewApplyFile">鏌ョ湅鐢宠鍗�</el-button>
+ <el-button v-if="model.status == 5" type="primary" @click="viewPidan">鏌ョ湅鎵瑰崟</el-button>
+ <el-button v-if="[5, 8].includes(model.status)" type="primary" @click="closeOrder">鍏抽棴璁㈠崟</el-button>
</template>
<template v-else>
<el-button type="primary" @click="$refs.ApplyChangeDetails.open('鎹㈠巶鐢宠璇﹀崟',apply,model)">瀵煎嚭璇﹀崟</el-button>
@@ -170,12 +171,15 @@
<OperaApplyChangeUnitCheckWindow ref="OperaApplyChangeCheckWindow" @success="successEvent" />
<!-- 浼佷笟鐢宠閫�鍥� -->
<applyReturn ref="applyReturn" @success="successEvent" />
+ <add_subtract_return ref="add_subtract_return" @success="successEvent" />
<!-- 鏂板鎶曚繚 -->
<OperaInsuranceApply ref="OperaInsuranceApply" @success="successEvent" />
<!-- 鍔犲噺淇濈敵璇� -->
<additionSubtractionApplication ref="additionSubtractionApplication" @success="successEvent" />
<!-- 鎹㈠巶鐢宠 -->
<factoryChange ref="factoryChange" @success="successEvent" />
+
+ <editFactoryChange ref="editFactoryChange" @success="successEvent" />
</GlobalWindow>
</template>
@@ -186,13 +190,16 @@
import OperaApplyChangeUnitCheckWindow from '@/components/business/OperaApplyChangeUnitCheckWindow'
import additionSubtractionApplication from '@/components/enterprise/additionSubtractionApplication'
import factoryChange from '@/components/enterprise/factoryChange'
+import editFactoryChange from '@/components/enterprise/editFactoryChange'
import applyReturn from '@/components/enterprise/applyReturn'
+import add_subtract_return from '@/components/enterprise/add_subtract_return'
import {
getDetail,
getChangeDetail,
applyChagneDetailPage,
getChangeUnitSignLink
} from '@/api/business/insuranceApply'
+import { applyChangeOpt } from '@/api/business/applyChange'
import OperaInsuranceApply from '@/components/enterprise/OperaInsuranceApplyWindow'
import { mapState } from 'vuex'
@@ -206,7 +213,9 @@
applyReturn,
OperaInsuranceApply,
additionSubtractionApplication,
- factoryChange
+ factoryChange,
+ add_subtract_return,
+ editFactoryChange
},
data () {
return {
@@ -257,6 +266,24 @@
this.getDetail()
this.getList()
},
+ closeOrder() {
+ this.$confirm('纭鍏抽棴姝よ鍗曞悧?', '鎻愮ず', {
+ confirmButtonText: '纭畾',
+ cancelButtonText: '鍙栨秷',
+ type: 'warning'
+ }).then(() => {
+ applyChangeOpt({
+ optType: 6,
+ applyId: this.model.id
+ }).then(res => {
+ this.getDetail()
+ }).catch(e => {
+ this.$message.error(e)
+ })
+ }).catch(() => {
+
+ });
+ },
resetting() {
this.search()
},
diff --git a/company/src/components/enterprise/add_subtract_return.vue b/company/src/components/enterprise/add_subtract_return.vue
new file mode 100644
index 0000000..402f62a
--- /dev/null
+++ b/company/src/components/enterprise/add_subtract_return.vue
@@ -0,0 +1,72 @@
+<template>
+ <GlobalWindow
+ :title="title"
+ width="40%"
+ :visible.sync="visible"
+ :confirm-working="isWorking"
+ @confirm="confirm"
+ >
+ <el-form ref="form" :model="form" label-width="130px">
+ <el-form-item label="濉啓鐢宠璇存槑">
+ <el-input type="textarea" v-model="form.remark"></el-input>
+ </el-form-item>
+ </el-form>
+ </GlobalWindow>
+</template>
+
+<script>
+ import BaseOpera from '@/components/base/BaseOpera'
+ import GlobalWindow from '@/components/common/GlobalWindow'
+ import { applyChangeOpt } from '@/api/business/applyChange'
+
+ export default {
+ name: 'add_subtract_return',
+ extends: BaseOpera,
+ components: { GlobalWindow },
+ data () {
+ return {
+ // 琛ㄥ崟鏁版嵁
+ form: {
+ id: null,
+ remark: ''
+ }
+ }
+ },
+ created () {
+ this.config({
+ api: '/business/insurance',
+ 'field.id': 'id'
+ })
+ },
+ methods: {
+ open (title, target) {
+ this.title = title
+ this.visible = true
+ this.$nextTick(() => {
+ this.$refs.form.resetFields()
+ this.form[this.configData['field.id']] = null
+ })
+ this.$nextTick(() => {
+ for (const key in this.form) {
+ this.form[key] = target[key]
+ }
+ })
+ },
+ confirm() {
+ this.isWorking = true
+ applyChangeOpt({ applyId: this.form.id, optIllustration: this.form.remark, optType: 3 })
+ .then(res => {
+ this.visible = false
+ this.$tip.apiSuccess('鎿嶄綔鎴愬姛')
+ this.$emit('success')
+ })
+ .catch(e => {
+ this.$tip.apiFailed(e)
+ })
+ .finally(() => {
+ this.isWorking = false
+ })
+ }
+ }
+ }
+</script>
diff --git a/company/src/components/enterprise/additionSubtractionApplication.vue b/company/src/components/enterprise/additionSubtractionApplication.vue
index 2d369a8..6db50bd 100644
--- a/company/src/components/enterprise/additionSubtractionApplication.vue
+++ b/company/src/components/enterprise/additionSubtractionApplication.vue
@@ -183,7 +183,7 @@
import confirmJobType from '@/components/enterprise/confirmJobType'
import { all } from '@/api/business/solutions'
import { getDetail } from '@/api/business/insuranceApply'
- import { create, getChangeCountCyclePriceVO, applyChagneDetailList } from '@/api/business/applyChange'
+ import { create, getChangeCountCyclePriceVO } from '@/api/business/applyChange'
export default {
name: 'additionSubtractionApplication',
extends: BaseOpera,
@@ -265,11 +265,6 @@
},
handleClick(e) {
this.activeName = e.index
- },
- getApplyChagneDetailList() {
- applyChagneDetailList({
-
- })
},
// 鑾峰彇鎶曚繚璇︽儏
getDetails() {
diff --git a/company/src/components/enterprise/confirmJobType.vue b/company/src/components/enterprise/confirmJobType.vue
index b371ad2..07917d1 100644
--- a/company/src/components/enterprise/confirmJobType.vue
+++ b/company/src/components/enterprise/confirmJobType.vue
@@ -55,6 +55,8 @@
methods: {
open (title, arr) {
this.title = title
+ this.dw = ''
+ this.gz = ''
this.form.solutionId = arr.solutionId
this.data = arr.seleData
this.visible = true
diff --git a/company/src/components/enterprise/editFactoryChange.vue b/company/src/components/enterprise/editFactoryChange.vue
new file mode 100644
index 0000000..16619aa
--- /dev/null
+++ b/company/src/components/enterprise/editFactoryChange.vue
@@ -0,0 +1,501 @@
+<template>
+ <GlobalWindow
+ :title="title"
+ width="100%"
+ text="鎶曚繚鐢宠"
+ :visible.sync="visible"
+ :confirm-working="isWorking"
+ @confirm="confirm"
+ >
+ <div class="list">
+ <el-form :inline="true" ref="form" :model="form" :rules="rules" class="demo-form-inline">
+ <el-form-item label="淇濋櫓鏂规">
+ <span>{{form.solutionsName}}</span>
+ </el-form-item>
+ <el-form-item label="鎵瑰崟鐢熸晥璧锋湡" prop="applyStartTime">
+ <div style="display: flex; flex-direction: column;">
+ <el-date-picker
+ v-model="form.applyStartTime"
+ type="datetime"
+ :picker-options="pickerOptions"
+ value-format="yyyy-MM-dd hh:mm:ss"
+ format="yyyy-MM-dd hh:mm:ss"
+ placeholder="閫夋嫨鏃ユ湡">
+ </el-date-picker>
+ <span style="color: #F95601; font-size: 14px;">锛堟鏃ョ敓鏁堟姇淇濊浜�17:30鍓嶆彁浜わ紝瓒呮椂鎻愪氦浠ヤ繚闄╁崟涓哄噯锛�</span>
+ </div>
+ </el-form-item>
+ <el-form-item label="鎶曚繚骞撮緞" v-if="item">
+ <span>{{item.minAge}} 鑷� {{item.maxAge}}</span>
+ </el-form-item>
+ <el-form-item label="璐圭敤" v-if="item">
+ <span>{{item.price}}鍏�</span>
+ <span v-if="item.timeUnit === 0">/澶�</span>
+ <span v-if="item.timeUnit === 1">/鍗婃湀</span>
+ <span v-if="item.timeUnit === 2">/鏈�</span>
+ <span v-if="item.timeUnit === 3">/骞�</span>
+ <span>/浜�</span>
+ </el-form-item>
+ </el-form>
+ </div>
+ <div class="desc_item_from">
+ <el-table
+ :data="list"
+ border
+ style="width: 100%">
+ <el-table-column
+ prop="code"
+ align="center"
+ label="鍏宠仈淇濆崟鍙�">
+ </el-table-column>
+ <el-table-column
+ prop="solutionsName"
+ label="淇濋櫓鏂规"
+ align="center"
+ width="180">
+ </el-table-column>
+ <el-table-column
+ prop="startTime"
+ align="center"
+ label="淇濋櫓鐢熸晥璧锋湡">
+ </el-table-column>
+ <el-table-column
+ prop="endTime"
+ align="center"
+ label="淇濋櫓鐢熸晥姝㈡湡">
+ </el-table-column>
+ <el-table-column
+ prop="insureNum"
+ align="center"
+ label="鎶曚繚浜烘暟">
+ </el-table-column>
+ <el-table-column
+ prop="serviceDays"
+ align="center"
+ label="鍦ㄤ繚鏃堕暱锛堝ぉ锛�">
+ </el-table-column>
+ <el-table-column
+ prop="currentFee"
+ align="center"
+ label="褰撳墠璐圭敤(鍏�)">
+ </el-table-column>
+ <el-table-column
+ prop="fee"
+ align="center"
+ label="鎬昏垂鐢�(鍏�)">
+ </el-table-column>
+ </el-table>
+ </div>
+ <div class="btns">
+ <div class="btns_item">
+ <el-button type="primary" @click="seleUser">閫夊彇鍛樺伐</el-button>
+ <el-button type="danger" @click="deleItem">鍒犻櫎</el-button>
+ </div>
+ <div class="btns_item">
+ <el-button type="primary" @click="sele">閫夊彇娲鹃仯鍗曚綅</el-button>
+ </div>
+ </div>
+ <el-table
+ :data="form.factory"
+ border
+ ref="multipleTable"
+ @selection-change="handleSelectionChange"
+ style="width: 100%;margin-bottom: 15px;">
+ <el-table-column
+ type="selection"
+ width="55">
+ </el-table-column>
+ <el-table-column label="搴忓彿" width="80px">
+ <template slot-scope="scope">
+ <span>{{scope.$index + 1}}</span>
+ </template>
+ </el-table-column>
+ <el-table-column
+ prop="memberName"
+ label="濮撳悕">
+ </el-table-column>
+ <el-table-column
+ prop="idCard"
+ label="韬唤璇佸彿">
+ </el-table-column>
+ <el-table-column
+ prop="oldDuName"
+ label="鍘熸淳閬e崟浣�">
+ </el-table-column>
+ <el-table-column
+ prop="oldWorkTypeName"
+ label="鍘熸墍灞炲伐绉�">
+ </el-table-column>
+ <el-table-column
+ prop="duName"
+ label="鍙樻洿鍚庢淳閬e崟浣�">
+ </el-table-column>
+ <el-table-column
+ prop="workTypeName"
+ label="鍙樻洿鍚庢墍灞炲伐绉�">
+ </el-table-column>
+ <el-table-column
+ label="鎿嶄綔">
+ <template slot-scope="scope">
+ <el-button type="text" style="color: red;" @click="dele(scope.$index)">鍒犻櫎</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ <div class="info" v-if="item">
+ <span v-if="item.specialAgreement">{{item.specialAgreement}}</span>
+ <span v-if="item.specialInfo">{{item.specialInfo}}</span>
+ <span v-if="item.ortherInfo">{{item.ortherInfo}}</span>
+ </div>
+ <!-- 閫夋嫨鍛樺伐 -->
+ <selectEmployees ref="selectEmployees" @result="getValue" />
+ <!-- 娣诲姞鍛樺伐 -->
+ <addEmployee ref="addEmployee" @result="getValue" />
+ <!-- 瀵煎叆鍚嶅崟 -->
+ <importEmployees ref="importEmployees" @result="getValue" />
+ <!-- 纭宸ョ -->
+ <confirmJobType ref="confirmJobType" @result="getUser" />
+ </GlobalWindow>
+</template>
+
+<script>
+ import BaseOpera from '@/components/base/BaseOpera'
+ import GlobalWindow from '@/components/common/GlobalWindow'
+ import selectEmployees from '@/components/enterprise/selectEmployees'
+ import addEmployee from '@/components/enterprise/addEmployee'
+ import importEmployees from '@/components/enterprise/importEmployees'
+ import confirmJobType from '@/components/enterprise/confirmJobType'
+ import { all } from '@/api/business/solutions'
+ import { getDetail, findList } from '@/api/business/insuranceApply'
+ import { create, update, applyChagneDetailList } from '@/api/business/applyChange'
+ export default {
+ name: 'editFactoryChange',
+ extends: BaseOpera,
+ components: { GlobalWindow, selectEmployees, addEmployee, importEmployees, confirmJobType },
+ data () {
+ return {
+ form: {
+ id: null,
+ applyChangId: '',
+ solutionId: '',
+ solutionsName: '',
+ applyStartTime: '',
+ applyEndTime: '',
+ factory: []
+ },
+ pickerOptions: {},
+ price: '',
+ endTime: '', // 瀹為檯淇濋櫓鐢熸晥姝㈡湡
+ company: [],
+ seleData: [],
+ item: null,
+ // 楠岃瘉瑙勫垯
+ rules: {
+ applyStartTime: [
+ { required: true, message: '璇烽�夋嫨鎵瑰崟鐢熸晥璧锋湡' }
+ ]
+ },
+ list: []
+ }
+ },
+ created () {
+ this.config({
+ api: '/business/insuranceApply',
+ 'field.id': 'id'
+ })
+ },
+ methods: {
+ open (title, target) {
+ this.title = title
+ this.form.addDetailList = []
+ this.form.delDetailList = []
+ this.list = []
+ this.form.id = null
+ this.item = null
+ this.form.solutionId = ''
+ this.form.solutionsName = ''
+ this.form.applyStartTime = ''
+ this.form.applyEndTime = ''
+ if (target && target.id) {
+ this.$nextTick(() => {
+ this.$refs.form.resetFields()
+ this.form.id = target.id
+ this.form.applyChangId = target.applyChangId
+ this.getDetails()
+ this.getapplyChagneDetailList()
+ })
+ } else {
+ this.$nextTick(() => {
+ this.$refs.form.resetFields()
+ this.form[this.configData['field.id']] = null
+ })
+ }
+ this.getCompany()
+ this.visible = true
+ // this.updatePickerOptions()
+ },
+ // 鑾峰彇鎹㈠巶浜哄憳
+ getapplyChagneDetailList() {
+ applyChagneDetailList({
+ applyChangId: this.form.applyChangId,
+ types: [2]
+ }).then(res => {
+ res.forEach(item => {
+ item.idCard = item.memberIdcardNo
+ item.oldDuId = item.duId
+ item.oldDuName = item.duName
+ item.oldWorkTypeName = item.workTypeName
+ item.oldWorktypeId = item.worktypeId
+ item.workTypeName = ''
+ item.worktypeId = ''
+ item.duId = ''
+ item.duName = ''
+ })
+ this.form.factory = res
+ })
+ },
+ // 鑾峰彇鎶曚繚璇︽儏
+ getDetails() {
+ findList({ applyId: this.form.id })
+ .then(res => {
+ res.forEach(item => {
+ item.idCard = item.idcardNo
+ item.fee = ''
+ })
+ res.forEach(item => {
+ item.oldDuId = item.duId
+ item.oldDuName = item.duName
+ item.oldWorkTypeName = item.workTypeName
+ item.oldWorktypeId = item.worktypeId
+ item.workTypeName = ''
+ item.worktypeId = ''
+ item.duId = ''
+ item.duName = ''
+ })
+ // this.form.factory = res
+ })
+ getDetail(this.form.id)
+ .then(res => {
+ this.list.push(res)
+ this.endTime = res.endTime
+ this.form.solutionId = res.solutionId
+ this.form.solutionsName = res.solutionsName
+ this.pickerOptions = {
+ disabledDate(time) {
+ // - 8.64e7
+ return time.getTime() > new Date(res.endTime).getTime() || time.getTime() < new Date().getTime()
+ }
+ };
+ this.changeSolution1(res.solutionId)
+ })
+ },
+ deleItem() {
+ if (this.seleData.length === 0) {
+ this.$message.warning('鑷冲皯閫夋嫨涓�椤瑰唴瀹�')
+ return
+ }
+ this.seleData.forEach(item => {
+ this.form.factory.forEach((row, index) => {
+ if (item === row.memberName) {
+ this.form.factory.splice(index, 1)
+ }
+ })
+ })
+ },
+ confirm() {
+ this.$refs.form.validate((valid) => {
+ if (valid) {
+ // if (this.form.addDetailList.length === 0) {
+ // this.$message.warning('鑷冲皯娣诲姞涓�椤瑰憳宸�')
+ // return
+ // }
+ for (let i = 0; i < this.form.factory.length; i++) {
+ if (!this.form.factory[i].worktypeId || !this.form.factory[i].duId) {
+ this.$message.warning('璇峰畬鍠勬淳閬e崟浣嶅拰宸ョ淇℃伅')
+ return
+ }
+ }
+ this.form.factory.forEach(item => {
+ item.idcardNo = item.idCard
+ })
+ // let arr = JSON.parse(JSON.stringify(this.form.factory))
+ // arr.forEach(item => {
+ // item.idcardNo = item.idCard
+ // })
+ this.isWorking = true
+ update({
+ id: this.form.applyChangId,
+ applyId: this.form.id,
+ changeDetailList: this.form.factory,
+ validTime: this.form.applyStartTime,
+ type: 1
+ }).then(() => {
+ this.visible = false
+ this.$tip.apiSuccess('鎿嶄綔鎴愬姛')
+ this.$emit('success')
+ }).catch(e => {
+ this.$tip.apiFailed(e)
+ }).finally(() => {
+ this.isWorking = false
+ })
+ }
+ })
+ },
+ seleUser() {
+ if (!this.form.solutionId) {
+ this.$message.warning('璇峰厛閫夋嫨淇濋櫓鏂规')
+ return
+ }
+ this.$refs.selectEmployees.open('閫夊彇鍛樺伐', { arr: this.form.delDetailList, price: this.price, insuranceApplyId: this.form.id })
+ },
+ addUser() {
+ if (!this.form.solutionId) {
+ this.$message.warning('璇峰厛閫夋嫨淇濋櫓鏂规')
+ return
+ }
+ this.$refs.addEmployee.open('娣诲姞鍛樺伐', { arr: this.form.factory, price: this.price })
+ },
+ uploadUser() {
+ if (!this.form.solutionId) {
+ this.$message.warning('璇峰厛閫夋嫨淇濋櫓鏂规')
+ return
+ }
+ this.$refs.importEmployees.open('涓婁紶鍚嶅崟', { arr: this.form.factory, price: this.price })
+ },
+ // 鍒囨崲鏂规
+ changeSolution1(e) {
+ this.company.forEach(item => {
+ if (item.id === e) {
+ this.item = item
+ }
+ })
+ // this.tableData.forEach(item => {
+ // item.fee = this.price
+ // })
+ },
+ dele(index) {
+ this.form.factory.splice(index, 1)
+ },
+ getUser(obj) {
+ console.log(obj)
+ this.seleData.forEach(item => {
+ this.form.factory.forEach(row => {
+ if (item === row.memberName) {
+ row.workTypeName = obj.workTypeName
+ row.worktypeId = obj.worktypeId
+ row.duName = obj.duName
+ row.duId = obj.duId
+ }
+ })
+ })
+ this.seleData = []
+ this.$refs.multipleTable.clearSelection();
+ },
+ // 閫夋嫨鍛樺伐
+ sele() {
+ if (!this.form.solutionId) {
+ this.$message.warning('璇烽�夋嫨淇濋櫓鏂规')
+ return
+ }
+ if (this.seleData.length === 0) {
+ this.$message.warning('璇烽�夋嫨鍛樺伐')
+ return
+ }
+ this.$refs.confirmJobType.open('纭宸ョ', { solutionId: this.form.solutionId })
+ },
+ // 鏌ヨ鍏ㄩ儴鏂规
+ getCompany() {
+ all({})
+ .then(res => {
+ this.company = res
+ })
+ },
+ getAgeByIdCard(idCard){
+ const sexAndAge = {}
+ //鑾峰彇鐢ㄦ埛韬唤璇佸彿鐮�
+ const userCard = idCard
+ //濡傛灉鐢ㄦ埛韬唤璇佸彿鐮佷负undefined鍒欒繑鍥炵┖
+ if (!userCard) {
+ return sexAndAge
+ }
+ // 鑾峰彇鍑虹敓鏃ユ湡
+ const yearBirth = userCard.substring(6, 10)
+ const monthBirth = userCard.substring(10, 12)
+ const dayBirth = userCard.substring(12, 14)
+ // 鑾峰彇褰撳墠骞存湀鏃ュ苟璁$畻骞撮緞
+ const myDate = new Date()
+ const monthNow = myDate.getMonth() + 1
+ const dayNow = myDate.getDate()
+ let age = myDate.getFullYear() - yearBirth
+ if (monthNow < monthBirth || (monthNow == monthBirth && dayNow < dayBirth)) {
+ age--
+ }
+ // 寰楀埌骞撮緞
+ sexAndAge.age = age
+ return sexAndAge.age
+ },
+ handleSelectionChange (e) {
+ this.seleData = e.map(item => item.memberName)
+ },
+ getValue(list) {
+ let arr = JSON.parse(JSON.stringify(list))
+
+ arr.forEach(item => {
+ item.oldDuId = item.duId
+ item.oldDuName = item.duName
+ item.oldWorkTypeName = item.workTypeName
+ item.oldWorktypeId = item.worktypeId
+
+ item.duId = ''
+ item.duName = ''
+ item.workTypeName = ''
+ item.worktypeId = ''
+ })
+ this.form.factory.push(...arr)
+ }
+ }
+ }
+</script>
+
+<style lang="scss" scoped>
+ .list {
+ width: 100%;
+ }
+ .btns {
+ width: 100%;
+ margin-bottom: 15px;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ .btns_item {
+ display: flex;
+ align-items: center;
+ }
+ }
+ .submit {
+ width: 100%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ margin-bottom: 15px;
+ }
+ .desc_item_from {
+ width: 100%;
+ margin-bottom: 10px;
+ .desc_item_from_page {
+ width: 100%;
+ display: flex;
+ align-items: center;
+ justify-content: end;
+ margin-top: 10px;
+ }
+ }
+ .desc_item_cate {
+ width: 100%;
+ margin-bottom: 10px;
+ }
+ .info {
+ width: 100%;
+ font-size: 14px;
+ color: black;
+ }
+</style>
diff --git a/company/src/components/enterprise/factoryChange.vue b/company/src/components/enterprise/factoryChange.vue
index b2fe3b0..cf2bfb7 100644
--- a/company/src/components/enterprise/factoryChange.vue
+++ b/company/src/components/enterprise/factoryChange.vue
@@ -16,10 +16,10 @@
<div style="display: flex; flex-direction: column;">
<el-date-picker
v-model="form.applyStartTime"
- type="date"
+ type="datetime"
:picker-options="pickerOptions"
- value-format="yyyy-MM-dd"
- format="yyyy 骞� MM 鏈� dd 鏃�"
+ value-format="yyyy-MM-dd hh:mm:ss"
+ format="yyyy-MM-dd hh:mm:ss"
placeholder="閫夋嫨鏃ユ湡">
</el-date-picker>
<span style="color: #F95601; font-size: 14px;">锛堟鏃ョ敓鏁堟姇淇濊浜�17:30鍓嶆彁浜わ紝瓒呮椂鎻愪氦浠ヤ繚闄╁崟涓哄噯锛�</span>
diff --git a/company/src/components/enterprise/reinsurance.vue b/company/src/components/enterprise/reinsurance.vue
new file mode 100644
index 0000000..cd566c5
--- /dev/null
+++ b/company/src/components/enterprise/reinsurance.vue
@@ -0,0 +1,594 @@
+<template>
+ <GlobalWindow
+ :title="title"
+ width="100%"
+ text="鎶曚繚鐢宠"
+ :visible.sync="visible"
+ :confirm-working="isWorking"
+ @confirm="confirm"
+ >
+ <div class="list">
+ <el-form :inline="true" ref="form" :model="form" :rules="rules" class="demo-form-inline">
+ <el-form-item label="淇濋櫓鏂规">
+ <span>{{form.solutionsName}}</span>
+ </el-form-item>
+ <el-form-item label="鎵瑰崟鐢熸晥璧锋湡" prop="applyStartTime">
+ <div style="display: flex; flex-direction: column;">
+ <el-date-picker
+ @change="changeApplyStartTime"
+ v-model="form.applyStartTime"
+ type="date"
+ :picker-options="pickerOptions"
+ value-format="yyyy-MM-dd"
+ format="yyyy 骞� MM 鏈� dd 鏃�"
+ placeholder="閫夋嫨鏃ユ湡">
+ </el-date-picker>
+ <span style="color: #F95601; font-size: 14px;">锛堟鏃ョ敓鏁堟姇淇濊浜�17:30鍓嶆彁浜わ紝瓒呮椂鎻愪氦浠ヤ繚闄╁崟涓哄噯锛�</span>
+ </div>
+ </el-form-item>
+ <el-form-item label="鎶曚繚骞撮緞" v-if="item">
+ <span>{{item.minAge}} 鑷� {{item.maxAge}}</span>
+ </el-form-item>
+ <el-form-item label="璐圭敤" v-if="item">
+ <span>{{item.price}}鍏�</span>
+ <span v-if="item.timeUnit === 0">/澶�</span>
+ <span v-if="item.timeUnit === 1">/鍗婃湀</span>
+ <span v-if="item.timeUnit === 2">/鏈�</span>
+ <span v-if="item.timeUnit === 3">/骞�</span>
+ <span>/浜�</span>
+ </el-form-item>
+ </el-form>
+ </div>
+ <div class="desc_item_from">
+ <el-table
+ :data="list"
+ border
+ style="width: 100%">
+ <el-table-column
+ prop="code"
+ align="center"
+ label="鍏宠仈淇濆崟鍙�">
+ </el-table-column>
+ <el-table-column
+ prop="solutionsName"
+ label="淇濋櫓鏂规"
+ align="center"
+ width="180">
+ </el-table-column>
+ <el-table-column
+ prop="startTime"
+ align="center"
+ label="淇濋櫓鐢熸晥璧锋湡">
+ </el-table-column>
+ <el-table-column
+ prop="endTime"
+ align="center"
+ label="淇濋櫓鐢熸晥姝㈡湡">
+ </el-table-column>
+ <el-table-column
+ prop="insureNum"
+ align="center"
+ label="鎶曚繚浜烘暟">
+ </el-table-column>
+ <el-table-column
+ prop="serviceDays"
+ align="center"
+ label="鍦ㄤ繚鏃堕暱锛堝ぉ锛�">
+ </el-table-column>
+ <el-table-column
+ prop="currentFee"
+ align="center"
+ label="褰撳墠璐圭敤(鍏�)">
+ </el-table-column>
+ <el-table-column
+ prop="fee"
+ align="center"
+ label="鎬昏垂鐢�(鍏�)">
+ </el-table-column>
+ </el-table>
+ </div>
+ <div class="desc_item_cate">
+ <el-tabs v-model="activeName" @tab-click="handleClick">
+ <el-tab-pane label="鍔犱繚鍛樺伐" name="0"></el-tab-pane>
+ <el-tab-pane label="鍑忎繚鍛樺伐" name="1"></el-tab-pane>
+ </el-tabs>
+ </div>
+ <div class="btns">
+ <div class="btns_item">
+ <el-button type="primary" @click="seleUser">閫夊彇鍛樺伐</el-button>
+ <el-button type="primary" @click="uploadUser" v-if="activeName !== '1'">瀵煎叆鍛樺伐</el-button>
+ <el-button type="primary" @click="addUser" v-if="activeName !== '1'">娣诲姞鍛樺伐</el-button>
+ <el-button type="danger" @click="deleItem">鍒犻櫎</el-button>
+ </div>
+ <div class="btns_item" v-if="activeName !== '1'">
+ <el-button type="primary" @click="sele">閫夊彇娲鹃仯鍗曚綅</el-button>
+ </div>
+ </div>
+ <el-table
+ :data="activeName === '0' ? form.addDetailList : form.delDetailList"
+ border
+ show-summary
+ :summary-method="getSummaries"
+ ref="multipleTable"
+ @selection-change="handleSelectionChange"
+ style="width: 100%;margin-bottom: 15px;">
+ <el-table-column
+ type="selection"
+ width="55">
+ </el-table-column>
+ <el-table-column label="搴忓彿" width="80px">
+ <template slot-scope="scope">
+ <span>{{scope.$index + 1}}</span>
+ </template>
+ </el-table-column>
+ <el-table-column
+ prop="memberName"
+ label="濮撳悕">
+ </el-table-column>
+ <el-table-column
+ prop="idCard"
+ label="韬唤璇佸彿">
+ </el-table-column>
+ <el-table-column
+ label="骞撮緞">
+ <template slot-scope="{row}">
+ <template v-if="item">
+ <span style="color: red;" v-if="(getAgeByIdCard(row.idCard) < item.minAge) || (getAgeByIdCard(row.idCard) > item.maxAge)">{{getAgeByIdCard(row.idCard)}}</span>
+ <span v-else>{{ getAgeByIdCard(row.idCard) }}</span>
+ </template>
+ </template>
+ </el-table-column>
+ <el-table-column
+ prop="duName"
+ label="娲鹃仯鍗曚綅">
+ </el-table-column>
+ <el-table-column
+ prop="workTypeName"
+ label="鎵�灞炲伐绉�">
+ </el-table-column>
+ <el-table-column
+ label="璐圭敤">
+ <template slot-scope="{row}">
+ <span v-if="activeName === '0'">{{row.fee}}</span>
+ <span v-else>-{{row.fee}}</span>
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="鎿嶄綔">
+ <template slot-scope="scope">
+ <el-button type="text" style="color: red;" @click="dele(scope.$index)">鍒犻櫎</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ <div class="info" v-if="item">
+ <span v-if="item.specialAgreement">{{item.specialAgreement}}</span>
+ <span v-if="item.specialInfo">{{item.specialInfo}}</span>
+ <span v-if="item.ortherInfo">{{item.ortherInfo}}</span>
+ </div>
+ <!-- 閫夋嫨鍛樺伐 -->
+ <selectEmployees ref="selectEmployees" @result="getValue" />
+ <!-- 娣诲姞鍛樺伐 -->
+ <addEmployee ref="addEmployee" @result="getValue" />
+ <!-- 瀵煎叆鍚嶅崟 -->
+ <importEmployees ref="importEmployees" @result="getValue" />
+ <!-- 纭宸ョ -->
+ <confirmJobType ref="confirmJobType" @result="getUser" />
+ </GlobalWindow>
+</template>
+
+<script>
+ import BaseOpera from '@/components/base/BaseOpera'
+ import GlobalWindow from '@/components/common/GlobalWindow'
+ import selectEmployees from '@/components/enterprise/selectEmployees'
+ import addEmployee from '@/components/enterprise/addEmployee'
+ import importEmployees from '@/components/enterprise/importEmployees'
+ import confirmJobType from '@/components/enterprise/confirmJobType'
+ import { all } from '@/api/business/solutions'
+ import { getDetail } from '@/api/business/insuranceApply'
+ import { update, getChangeCountCyclePriceVO, applyChagneDetailList } from '@/api/business/applyChange'
+ export default {
+ name: 'reinsurance',
+ extends: BaseOpera,
+ components: { GlobalWindow, selectEmployees, addEmployee, importEmployees, confirmJobType },
+ data () {
+ return {
+ form: {
+ id: null,
+ applyChangId: '',
+ solutionId: '',
+ solutionsName: '',
+ applyStartTime: '',
+ applyEndTime: '',
+ addDetailList: [],
+ delDetailList: [],
+ },
+ activeName: '0',
+ pickerOptions: {},
+ price: '',
+ endTime: '', // 瀹為檯淇濋櫓鐢熸晥姝㈡湡
+ company: [],
+ seleData: [],
+ item: null,
+ // 楠岃瘉瑙勫垯
+ rules: {
+ applyStartTime: [
+ { required: true, message: '璇烽�夋嫨鎵瑰崟鐢熸晥璧锋湡' }
+ ]
+ },
+ list: []
+ }
+ },
+ created () {
+ this.config({
+ api: '/business/insuranceApply',
+ 'field.id': 'id'
+ })
+ },
+ methods: {
+ open (title, target) {
+ this.title = title
+ this.form.addDetailList = []
+ this.form.delDetailList = []
+ this.list = []
+ this.form.id = null
+ this.item = null
+ this.form.solutionId = ''
+ this.form.solutionsName = ''
+ this.form.applyStartTime = ''
+ this.form.applyEndTime = ''
+ if (target && target.id) {
+ this.$nextTick(() => {
+ this.$refs.form.resetFields()
+ this.form.id = target.id
+ this.form.applyChangId = target.applyChangId
+ this.getDetails()
+ })
+ } else {
+ this.$nextTick(() => {
+ this.$refs.form.resetFields()
+ this.form[this.configData['field.id']] = null
+ })
+ }
+ this.getCompany()
+ this.visible = true
+ // this.updatePickerOptions()
+ },
+ changeApplyStartTime(e) {
+ getChangeCountCyclePriceVO({
+ applyId: this.form.id,
+ validTime: e
+ }).then(res => {
+ this.price = res.cyclePrice
+ this.form.addDetailList.forEach(item => {
+ item.fee = res.cyclePrice
+ })
+ this.form.delDetailList.forEach(item => {
+ item.fee = res.cyclePrice
+ })
+ })
+ },
+ handleClick(e) {
+ this.activeName = e.index
+ },
+ // 鑾峰彇鎶曚繚璇︽儏
+ getDetails() {
+ applyChagneDetailList({
+ applyChangId: this.form.applyChangId,
+ types: [0]
+ }).then(res => {
+ res.forEach(item => {
+ item.fee = ''
+ item.idCard = item.memberIdcardNo
+ item.workTypeName = ''
+ item.worktypeId = ''
+ item.duName = ''
+ item.duId = ''
+ })
+ this.form.addDetailList = res
+ })
+ applyChagneDetailList({
+ applyChangId: this.form.applyChangId,
+ types: [1]
+ }).then(res => {
+ res.forEach(item => {
+ item.fee = ''
+ item.idCard = item.memberIdcardNo
+ item.workTypeName = ''
+ item.worktypeId = ''
+ item.duName = ''
+ item.duId = ''
+ })
+ this.form.delDetailList = res
+ })
+ getDetail(this.form.id)
+ .then(res => {
+ this.list.push(res)
+ this.endTime = res.endTime
+ this.form.solutionId = res.solutionId
+ this.form.solutionsName = res.solutionsName
+ this.pickerOptions = {
+ disabledDate(time) {
+ // - 8.64e7
+ return time.getTime() > new Date(res.endTime).getTime() || time.getTime() < new Date().getTime()
+ }
+ };
+ this.changeSolution1(res.solutionId)
+ })
+ },
+ getSummaries(param) {
+ const { columns, data } = param
+ const sums = []
+ columns.forEach((column, index) => {
+ if (index === 0) {
+ sums[index] = '鎬讳环'
+ return
+ } else if (index === 7) {
+ let total = 0
+ if (this.activeName === '0') {
+ this.form.addDetailList.forEach(item => {
+ total += item.fee
+ })
+ sums[index] = total
+ return
+ } else {
+ this.form.delDetailList.forEach(item => {
+ total += item.fee
+ })
+ sums[index] = '-' + total
+ return
+ }
+ sums[index] = ''
+ }
+ })
+ return sums
+ },
+ deleItem() {
+ if (this.seleData.length === 0) {
+ this.$message.warning('鑷冲皯閫夋嫨涓�椤瑰唴瀹�')
+ return
+ }
+ if (this.activeName === '0') {
+ this.seleData.forEach(item => {
+ this.form.addDetailList.forEach((row, index) => {
+ if (item === row.name) {
+ this.form.addDetailList.splice(index, 1)
+ }
+ })
+ })
+ } else {
+ this.seleData.forEach(item => {
+ this.form.delDetailList.forEach((row, index) => {
+ if (item === row.name) {
+ this.form.delDetailList.splice(index, 1)
+ }
+ })
+ })
+ }
+ },
+ confirm() {
+ this.$refs.form.validate((valid) => {
+ if (valid) {
+ // if (this.form.addDetailList.length === 0) {
+ // this.$message.warning('鑷冲皯娣诲姞涓�椤瑰憳宸�')
+ // return
+ // }
+ for (let i = 0; i < this.form.addDetailList.length; i++) {
+ if (!this.form.addDetailList[i].worktypeId || !this.form.addDetailList[i].duId) {
+ this.$message.warning('璇峰畬鍠勫姞淇濇淳閬e崟浣嶅拰宸ョ淇℃伅')
+ return
+ }
+ }
+ for (let i = 0; i < this.form.delDetailList.length; i++) {
+ if (!this.form.delDetailList[i].worktypeId || !this.form.delDetailList[i].duId) {
+ this.$message.warning('璇峰畬鍠勫噺淇濇淳閬e崟浣嶅拰宸ョ淇℃伅')
+ return
+ }
+ }
+ this.form.addDetailList.forEach(item => {
+ item.idcardNo = item.idCard
+ })
+ this.form.delDetailList.forEach(item => {
+ item.idcardNo = item.idCard
+ })
+ // let arr = JSON.parse(JSON.stringify(this.form.addDetailList))
+ // arr.forEach(item => {
+ // item.idcardNo = item.idCard
+ // })
+ this.isWorking = true
+ update({
+ id: this.form.applyChangId,
+ applyId: this.form.id,
+ addDetailList: this.form.addDetailList,
+ delDetailList: this.form.delDetailList,
+ validTime: this.form.applyStartTime,
+ type: 0
+ }).then(() => {
+ this.visible = false
+ this.$tip.apiSuccess('鎿嶄綔鎴愬姛')
+ this.$emit('success')
+ }).catch(e => {
+ this.$tip.apiFailed(e)
+ }).finally(() => {
+ this.isWorking = false
+ })
+ }
+ })
+ },
+ seleUser() {
+ if (!this.form.solutionId) {
+ this.$message.warning('璇峰厛閫夋嫨淇濋櫓鏂规')
+ return
+ }
+ if (this.activeName === '0') {
+ this.$refs.selectEmployees.open('閫夊彇鍛樺伐', { arr: this.form.addDetailList, price: this.price, notInInsuranceApplyId: this.form.id })
+ } else {
+ this.$refs.selectEmployees.open('閫夊彇鍛樺伐', { arr: this.form.delDetailList, price: this.price, insuranceApplyId: this.form.id })
+ }
+ },
+ addUser() {
+ if (!this.form.solutionId) {
+ this.$message.warning('璇峰厛閫夋嫨淇濋櫓鏂规')
+ return
+ }
+ if (this.activeName === '0') {
+ this.$refs.addEmployee.open('娣诲姞鍛樺伐', { arr: this.form.addDetailList, price: this.price })
+ } else {
+ this.$refs.addEmployee.open('娣诲姞鍛樺伐', { arr: this.form.delDetailList, price: this.price })
+ }
+ },
+ uploadUser() {
+ if (!this.form.solutionId) {
+ this.$message.warning('璇峰厛閫夋嫨淇濋櫓鏂规')
+ return
+ }
+ if (this.activeName === '0') {
+ this.$refs.importEmployees.open('涓婁紶鍚嶅崟', { arr: this.form.addDetailList, price: this.price })
+ } else {
+ this.$refs.importEmployees.open('涓婁紶鍚嶅崟', { arr: this.form.delDetailList, price: this.price })
+ }
+ },
+ // 鍒囨崲鏂规
+ changeSolution1(e) {
+ this.company.forEach(item => {
+ if (item.id === e) {
+ this.item = item
+ }
+ })
+ // this.tableData.forEach(item => {
+ // item.fee = this.price
+ // })
+ },
+ dele(index) {
+ if (this.activeName === '0') {
+ this.form.addDetailList.splice(index, 1)
+ } else {
+ this.form.delDetailList.splice(index, 1)
+ }
+ },
+ getUser(obj) {
+ this.seleData.forEach(item => {
+ if (this.activeName === '0') {
+ this.form.addDetailList.forEach(row => {
+ if (item === row.name) {
+ row.workTypeName = obj.workTypeName
+ row.worktypeId = obj.worktypeId
+ row.duName = obj.duName
+ row.duId = obj.duId
+ }
+ })
+ } else {
+ this.form.delDetailList.forEach(row => {
+ if (item === row.name) {
+ row.workTypeName = obj.workTypeName
+ row.worktypeId = obj.worktypeId
+ row.duName = obj.duName
+ row.duId = obj.duId
+ }
+ })
+ }
+ })
+ this.seleData = []
+ this.$refs.multipleTable.clearSelection();
+ },
+ // 閫夋嫨鍛樺伐
+ sele() {
+ if (!this.form.solutionId) {
+ this.$message.warning('璇烽�夋嫨淇濋櫓鏂规')
+ return
+ }
+ if (this.seleData.length === 0) {
+ this.$message.warning('璇烽�夋嫨鍛樺伐')
+ return
+ }
+ this.$refs.confirmJobType.open('纭宸ョ', { solutionId: this.form.solutionId })
+ },
+ // 鏌ヨ鍏ㄩ儴鏂规
+ getCompany() {
+ all({})
+ .then(res => {
+ this.company = res
+ })
+ },
+ getAgeByIdCard(idCard){
+ if (!idCard) return ''
+ const sexAndAge = {}
+ //鑾峰彇鐢ㄦ埛韬唤璇佸彿鐮�
+ const userCard = idCard
+ //濡傛灉鐢ㄦ埛韬唤璇佸彿鐮佷负undefined鍒欒繑鍥炵┖
+ if (!userCard) {
+ return sexAndAge
+ }
+ // 鑾峰彇鍑虹敓鏃ユ湡
+ const yearBirth = userCard.substring(6, 10)
+ const monthBirth = userCard.substring(10, 12)
+ const dayBirth = userCard.substring(12, 14)
+ // 鑾峰彇褰撳墠骞存湀鏃ュ苟璁$畻骞撮緞
+ const myDate = new Date()
+ const monthNow = myDate.getMonth() + 1
+ const dayNow = myDate.getDate()
+ let age = myDate.getFullYear() - yearBirth
+ if (monthNow < monthBirth || (monthNow == monthBirth && dayNow < dayBirth)) {
+ age--
+ }
+ // 寰楀埌骞撮緞
+ sexAndAge.age = age
+ return sexAndAge.age
+ },
+ handleSelectionChange (e) {
+ this.seleData = e.map(item => item.name)
+ },
+ getValue(list) {
+ console.log(list)
+ if (this.activeName === '0') {
+ this.form.addDetailList.push(...list)
+ } else {
+ this.form.delDetailList.push(...list)
+ }
+ }
+ }
+ }
+</script>
+
+<style lang="scss" scoped>
+ .list {
+ width: 100%;
+ }
+ .btns {
+ width: 100%;
+ margin-bottom: 15px;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ .btns_item {
+ display: flex;
+ align-items: center;
+ }
+ }
+ .submit {
+ width: 100%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ margin-bottom: 15px;
+ }
+ .desc_item_from {
+ width: 100%;
+ margin-bottom: 10px;
+ .desc_item_from_page {
+ width: 100%;
+ display: flex;
+ align-items: center;
+ justify-content: end;
+ margin-top: 10px;
+ }
+ }
+ .desc_item_cate {
+ width: 100%;
+ margin-bottom: 10px;
+ }
+ .info {
+ width: 100%;
+ font-size: 14px;
+ color: black;
+ }
+</style>
diff --git a/company/src/views/business/switchCourt.vue b/company/src/views/business/switchCourt.vue
index c660623..3806712 100644
--- a/company/src/views/business/switchCourt.vue
+++ b/company/src/views/business/switchCourt.vue
@@ -109,7 +109,7 @@
import {all as solutionAll, all} from '@/api/business/solutions'
import {pageAll as companyAll} from "@/api/business/company";
export default {
- name: 'add_subtract',
+ name: 'switchCourt',
extends: BaseTable,
components: { TableLayout, Pagination, OperaApplyChangeUnitDetailWindow },
data () {
diff --git a/company/src/views/enterprise/add_subtract.vue b/company/src/views/enterprise/add_subtract.vue
index 80bf584..6fcd255 100644
--- a/company/src/views/enterprise/add_subtract.vue
+++ b/company/src/views/enterprise/add_subtract.vue
@@ -55,9 +55,10 @@
<el-table-column prop="status" label="淇濆崟鐘舵��" min-width="100px">
<template slot-scope="{row}">
<span v-if="row.status === 0">寰呯缃�</span>
- <span v-if="row.status === 1">宸茬绔�</span>
- <span v-if="row.status === 2">宸蹭笂浼犳壒鍗�</span>
- <span v-if="row.status === 3">閫�鍥炵敵璇�</span>
+ <span v-if="row.status === 1">寰呭鏍�</span>
+ <span v-if="row.status === 2">宸茬敓鏁�</span>
+ <span v-if="row.status === 3 || row.status === 4">鐢宠閫�鍥�</span>
+ <span v-if="row.status === 5 || row.status === 8">宸查��鍥�</span>
</template>
</el-table-column>
<el-table-column prop="applyCode" label="鍏宠仈淇濆崟鍙�" min-width="100px"></el-table-column>
diff --git a/company/src/views/enterprise/switchCourt.vue b/company/src/views/enterprise/switchCourt.vue
index 6ca0b5a..b967cef 100644
--- a/company/src/views/enterprise/switchCourt.vue
+++ b/company/src/views/enterprise/switchCourt.vue
@@ -2,38 +2,34 @@
<TableLayout :permissions="['business:applychange:query']">
<!-- 鎼滅储琛ㄥ崟 -->
<el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
- <el-form-item label="淇濆崟鐘舵��" prop="status">
+ <el-form-item label="鐘舵��" prop="status">
<el-select v-model="searchForm.status" placeholder="璇烽�夋嫨" @change="search">
+ <el-option label="鍏ㄩ儴" value=""></el-option>
<el-option label="寰呯缃�" value="0"></el-option>
- <el-option label="宸茬绔� " value="1"></el-option>
- <el-option label="宸蹭笂浼犳壒鍗�" value="2"></el-option>
- <el-option label="閫�鍥炵敵璇�" value="3"></el-option>
+ <el-option label="寰呭鏍�" value="1"></el-option>
+ <el-option label="宸茬敓鏁�" value="2"></el-option>
+ <el-option label="鐢宠閫�鍥�" value="3"></el-option>
+ <!-- 3 4 閮芥槸閫�鍥炵敵璇蜂腑-->
+ <el-option label="宸查��鍥�" value="5"></el-option>
+ <el-option label="宸插叧闂�" value="6"></el-option>
</el-select>
</el-form-item>
- <el-form-item label="鎶曚繚浼佷笟" prop="status">
- <el-select v-model="searchForm.status" placeholder="璇烽�夋嫨">
+ <el-form-item label="淇濋櫓鏂规" prop="baseSolutionsId">
+ <el-select v-model="searchForm.baseSolutionsId" placeholder="璇烽�夋嫨" @change="search">
<el-option
- v-for="item in options"
- :key="item.value"
- :label="item.label"
- :value="item.value">
- </el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="淇濋櫓鏂规" prop="status">
- <el-select v-model="searchForm.status" placeholder="璇烽�夋嫨">
- <el-option
- v-for="item in options"
- :key="item.value"
- :label="item.label"
- :value="item.value">
+ v-for="item in solutionList"
+ :key="item.baseId"
+ :label="item.name"
+ :value="item.baseId">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="鎻愪氦鏃ユ湡" prop="status">
<el-date-picker
- v-model="searchForm.status"
+ @change="changeTime"
+ v-model="searchForm.time"
type="daterange"
+ value-format="yyyy-MM-dd"
range-separator="鑷�"
start-placeholder="寮�濮嬫棩鏈�"
end-placeholder="缁撴潫鏃ユ湡">
@@ -56,21 +52,21 @@
<span>{{scope.$index + 1}}</span>
</template>
</el-table-column>
- <el-table-column prop="status" label="淇濆崟鐘舵��" min-width="100px">
+ <el-table-column prop="status" label="鐘舵��" min-width="100px">
<template slot-scope="{row}">
<span v-if="row.status === 0">寰呯缃�</span>
- <span v-if="row.status === 1">宸茬绔�</span>
- <span v-if="row.status === 2">宸蹭笂浼犳壒鍗�</span>
- <span v-if="row.status === 3">閫�鍥炵敵璇�</span>
+ <span v-if="row.status === 1">寰呭鏍�</span>
+ <span v-if="row.status === 2">宸茬敓鏁�</span>
+ <span v-if="row.status === 3 || row.status === 4">鐢宠閫�鍥�</span>
+ <span v-if="row.status === 5 || row.status === 8">宸查��鍥�</span>
</template>
</el-table-column>
- <el-table-column prop="code" label="鎶曚繚浼佷笟" min-width="100px"></el-table-column>
+ <el-table-column prop="validCode" label="鎵瑰崟鍙�" min-width="100px"></el-table-column>
<el-table-column prop="code" label="鍏宠仈淇濆崟鍙�" min-width="100px"></el-table-column>
- <el-table-column prop="code" label="淇濋櫓鏂规" min-width="100px"></el-table-column>
- <el-table-column prop="code" label="鍔犱繚浜烘暟锛堜汉锛�" min-width="100px"></el-table-column>
- <el-table-column prop="code" label="鍑忎繚浜烘暟锛堜汉锛�" min-width="100px"></el-table-column>
- <el-table-column prop="code" label="璐圭敤鍙樻洿" min-width="100px"></el-table-column>
+ <el-table-column prop="solutionsName" label="淇濋櫓鏂规" min-width="100px"></el-table-column>
+ <el-table-column prop="changeNum" label="鎹㈠巶浜烘暟锛堜汉锛�" min-width="100px"></el-table-column>
<el-table-column prop="createDate" label="鎻愪氦鏃堕棿" min-width="100px"></el-table-column>
+ <el-table-column prop="startTime" label="鎵瑰崟鐢熸晥璧锋湡" min-width="100px"></el-table-column>
<el-table-column
label="鎿嶄綔"
min-width="120"
@@ -98,7 +94,7 @@
import TableLayout from '@/layouts/TableLayout'
import Pagination from '@/components/common/Pagination'
import OperaApplyChangeUnitDetailWindow from '@/components/business/OperaApplyChangeUnitDetailWindow'
- import {all as solutionAll} from "@/api/business/solutions";
+ import {all as solutionAll, all} from '@/api/business/solutions'
import {pageAll as companyAll} from "@/api/business/company";
export default {
name: 'switchCourt',
@@ -109,9 +105,14 @@
// 鎼滅储
searchForm: {
status: '',
- type: ''
+ type: '1',
+ solutionsId: '',
+ createDateE: '',
+ createDateS: '',
+ time: []
},
- options: []
+ solutionList:[],
+ companyList:[]
}
},
created () {
@@ -122,22 +123,36 @@
'field.main': 'id'
})
this.search()
+ this.loadSelectList()
},
- methods:{
- // handlePageChange() {
- // this.search()
- // },
- loadSelectList() {
- solutionAll({dataType:2}).then(res => {
- this.solutionList = res
- }).catch(err => {
- })
- companyAll({}).then(res => {
- this.companyList = res
- }).catch(err => {
- })
+ methods: {
+ loadSelectList() {
+ solutionAll({dataType:2}).then(res => {
+ this.solutionList = res
+ }).catch(err => {
+ })
+ companyAll({}).then(res => {
+ this.companyList = res
+ }).catch(err => {
+ })
+ },
+ changeTime(e) {
+ if (e.length > 0) {
+ this.searchForm.createDateS = e[0]
+ this.searchForm.createDateE = e[1]
+ } else {
+ this.searchForm.createDateS = ''
+ this.searchForm.createDateE = ''
+ }
+ this.search()
+ },
+ reset() {
+ this.searchForm.createDateS = ''
+ this.searchForm.createDateE = ''
+ this.searchForm.time = []
+ this.$refs.searchForm.resetFields();
+ this.search()
+ }
}
-
- }
}
</script>
--
Gitblit v1.9.3