From d2bc6e096f0806b78ea92d4b90a21d3627d406c7 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期五, 08 三月 2024 18:28:42 +0800
Subject: [PATCH] mrshi
---
company/src/components/enterprise/OperaInsuranceApplyWindow.vue | 204 ++++++++++++++++++++++++++++++++++-----------------
1 files changed, 136 insertions(+), 68 deletions(-)
diff --git a/company/src/components/enterprise/OperaInsuranceApplyWindow.vue b/company/src/components/enterprise/OperaInsuranceApplyWindow.vue
index d31b415..b6ed940 100644
--- a/company/src/components/enterprise/OperaInsuranceApplyWindow.vue
+++ b/company/src/components/enterprise/OperaInsuranceApplyWindow.vue
@@ -25,10 +25,12 @@
@change="getTimeVal"
v-model="form.applyStartTime"
type="date"
+ class="date_picker"
+ :clearable="false"
:disabled="!form.solutionId"
: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>
@@ -39,8 +41,10 @@
disabled
v-model="form.applyEndTime"
type="date"
- value-format="yyyy-MM-dd"
- format="yyyy 骞� MM 鏈� dd 鏃�"
+ class="date_picker"
+ :picker-options="pickerOptions"
+ value-format="yyyy-MM-dd HH:mm:ss"
+ format="yyyy-MM-dd HH:mm:ss"
placeholder="閫夋嫨鏃ユ湡">
</el-date-picker>
</el-form-item>
@@ -96,7 +100,10 @@
<el-table-column
label="骞撮緞">
<template slot-scope="{row}">
- <span v-if="row.idCard">{{ getAgeByIdCard(row.idCard) }}</span>
+ <template v-if="item">
+ <span style="color: red;" v-if="row.idCard && (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
@@ -131,6 +138,8 @@
<importEmployees ref="importEmployees" @result="getValue" />
<!-- 纭宸ョ -->
<confirmJobType ref="confirmJobType" @result="getUser" />
+ <!-- 鏌ョ湅璇﹀崟 -->
+ <detailsPolicyholder ref="detailsPolicyholder" @success="successEvent" />
</GlobalWindow>
</template>
@@ -141,12 +150,14 @@
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 detailsPolicyholder from '@/components/business/detailsPolicyholder'
+import { all, getNewVersion } from '@/api/business/solutions'
+import { mapState } from 'vuex'
import { create, getCountCyclePriceVO, getDetail, findList, updateData } from '@/api/business/insuranceApply'
export default {
- name: 'OperaInsuranceApplyWindow',
+ name: 'OperaInsuranceApplyWindow2',
extends: BaseOpera,
- components: { GlobalWindow, selectEmployees, addEmployee, importEmployees, confirmJobType },
+ components: { GlobalWindow, selectEmployees, addEmployee, importEmployees, confirmJobType, detailsPolicyholder },
data () {
return {
form: {
@@ -156,6 +167,8 @@
applyStartTime: '',
applyEndTime: ''
},
+ solutionName: '',
+ type: '',
pickerOptions: {}, // 瀛樻斁picker options鐨勫彉閲�
price: '',
company: [],
@@ -179,18 +192,69 @@
'field.id': 'id'
})
},
+ computed: {
+ ...mapState(['userInfo'])
+ },
methods: {
+ successEvent() {
+ let arr = JSON.parse(JSON.stringify(this.tableData))
+ arr.forEach(item => {
+ item.idcardNo = item.idCard
+ })
+ this.isWorking = true
+ // if (!this.form.id) {
+ create({
+ applyDetailList: arr,
+ applyStartTime: this.form.applyStartTime,
+ applyEndTime: this.form.applyEndTime,
+ solutionId: this.form.solutionId
+ }).then(() => {
+ this.visible = false
+ this.$tip.apiSuccess('鎿嶄綔鎴愬姛')
+ this.$emit('success')
+ })
+ .catch(e => {
+ this.$tip.apiFailed(e)
+ })
+ .finally(() => {
+ this.isWorking = false
+ })
+ // } else {
+ // updateData({
+ // id: this.form.id,
+ // applyDetailList: arr,
+ // applyStartTime: this.form.applyStartTime,
+ // applyEndTime: this.form.applyEndTime,
+ // solutionId: this.form.solutionId
+ // }).then(() => {
+ // this.visible = false
+ // this.$tip.apiSuccess('鎿嶄綔鎴愬姛')
+ // this.$emit('success')
+ // }).catch(e => {
+ // this.$tip.apiFailed(e)
+ // })
+ // .finally(() => {
+ // this.isWorking = false
+ // })
+ // }
+ },
open (title, target) {
this.title = title
this.tableData = []
this.form.id = null
this.item = null
+ if (target.type) {
+ this.type = target.type
+ }
this.form.solutionId = ''
this.form.applyStartTime = ''
this.form.applyEndTime = ''
if (target && target.id) {
- this.form.id = target.id
- this.getDetails()
+ this.$nextTick(() => {
+ this.$refs.form.resetFields()
+ this.form.id = target.id
+ this.getDetails()
+ })
} else {
this.$nextTick(() => {
this.$refs.form.resetFields()
@@ -206,14 +270,21 @@
findList({ applyId: this.form.id })
.then(res => {
res.forEach(item => {
+ console.log(item)
item.idCard = item.idcardNo
item.fee = ''
+ if (this.type === 1) {
+ item.duName = ''
+ item.duId = ''
+ item.worktypeId = ''
+ item.workTypeName = ''
+ }
})
this.tableData = res
})
getDetail(this.form.id)
.then(res => {
- this.form.solutionId = res.solutionId
+ // this.form.solutionId = res.solutionId
this.changeSolution1(res.solutionId)
})
},
@@ -242,7 +313,7 @@
}
this.seleData.forEach(item => {
this.tableData.forEach((row, index) => {
- if (item === row.name) {
+ if (item === row.idCard) {
this.tableData.splice(index, 1)
}
})
@@ -256,52 +327,27 @@
return
}
for (let i = 0; i < this.tableData.length; i++) {
- console.log(this.tableData[i].worktypeId, this.tableData[i].duId)
+ console.log(this.tableData[i].worktypeId)
+ console.log(this.tableData[i].duId)
if (!this.tableData[i].worktypeId || !this.tableData[i].duId) {
this.$message.warning('璇峰畬鍠勬淳閬e崟浣嶅拰宸ョ淇℃伅')
return
}
}
- let arr = JSON.parse(JSON.stringify(this.tableData))
- arr.forEach(item => {
- item.idcardNo = item.idCard
+
+ let price = 0
+ this.tableData.forEach(item => {
+ price = price + item.fee
})
- this.isWorking = true
- if (!this.form.id) {
- create({
- applyDetailList: arr,
- applyStartTime: this.form.applyStartTime,
- applyEndTime: this.form.applyEndTime,
- solutionId: this.form.solutionId
- }).then(() => {
- this.visible = false
- this.$tip.apiSuccess('鎿嶄綔鎴愬姛')
- this.$emit('success')
- })
- .catch(e => {
- this.$tip.apiFailed(e)
- })
- .finally(() => {
- this.isWorking = false
- })
- } else {
- updateData({
- id: this.form.id,
- applyDetailList: arr,
- applyStartTime: this.form.applyStartTime,
- applyEndTime: this.form.applyEndTime,
- solutionId: this.form.solutionId
- }).then(() => {
- this.visible = false
- this.$tip.apiSuccess('鎿嶄綔鎴愬姛')
- this.$emit('success')
- }).catch(e => {
- this.$tip.apiFailed(e)
- })
- .finally(() => {
- this.isWorking = false
- })
- }
+ this.$refs.detailsPolicyholder.open('鎶曚繚璇︽儏鍗�', {
+ companyName: this.userInfo.company.name,
+ solutionName: this.item.name,
+ applyStartTime: this.form.applyStartTime,
+ applyEndTime: this.form.applyEndTime,
+ insureNum: this.tableData.length,
+ totalPrice: price,
+ detailList: this.tableData
+ })
}
})
@@ -313,11 +359,10 @@
startDate: time
}).then(res => {
this.price = res.cyclePrice
- this.form.applyEndTime = res.endDate.substring(0, 10)
+ this.form.applyEndTime = res.endDate
this.tableData.forEach(item => {
item.fee = res.cyclePrice
})
- console.log(this.tableData)
this.$forceUpdate()
})
},
@@ -342,7 +387,7 @@
return time.getTime() <= new Date(currentDate.toLocaleString()).getTime() - 8.64e7;
} else if (that.item.validType === 0) {
// 澶氬皯鏃ュ悗鐢熸晥
- return time.getTime() <= new Date(that.getDate(that.item.validTypeNum)).getTime();
+ return time.getTime() <= new Date(that.getDate(that.item.validTypeNum - 1)).getTime();
}
}
};
@@ -352,7 +397,7 @@
this.$message.warning('璇峰厛閫夋嫨淇濋櫓鏂规')
return
}
- this.$refs.selectEmployees.open('閫夊彇鍛樺伐', { arr: this.tableData, price: this.price })
+ this.$refs.selectEmployees.open('閫夊彇鍛樺伐', { arr: this.tableData, price: this.price, type: 1 })
},
addUser() {
if (!this.form.solutionId) {
@@ -366,11 +411,24 @@
this.$message.warning('璇峰厛閫夋嫨淇濋櫓鏂规')
return
}
- this.$refs.importEmployees.open('涓婁紶鍚嶅崟', { arr: this.tableData, price: this.price })
+ this.$refs.importEmployees.open('涓婁紶鍚嶅崟', { arr: this.tableData, solutionId: this.form.solutionId, type: 1, price: this.price })
},
// 鍒囨崲鏂规
changeSolution(e) {
- this.tableData = []
+ if (!this.form.id) {
+ this.tableData = []
+ } else {
+ this.price = ''
+ this.form.applyEndTime = ''
+ this.form.applyStartTime = ''
+ this.tableData.forEach(item => {
+ item.fee = ''
+ item.duName = ''
+ item.duId = ''
+ item.workTypeName = ''
+ item.workTypeId = ''
+ })
+ }
this.company.forEach(item => {
if (item.id === e) {
// this.price = item.price
@@ -384,13 +442,17 @@
},
// 鍒囨崲鏂规
changeSolution1(e) {
- this.company.forEach(item => {
- if (item.id === e) {
- // this.price = item.price
- this.item = item
- this.updatePickerOptions()
- }
- })
+ getNewVersion(e)
+ .then(res => {
+ this.form.solutionId = res.id
+ this.company.forEach(item => {
+ if (item.id === res.id) {
+ // this.price = item.price
+ this.item = item
+ this.updatePickerOptions()
+ }
+ })
+ })
this.tableData.forEach(item => {
item.fee = this.price
})
@@ -399,9 +461,9 @@
this.tableData.splice(index, 1)
},
getUser(obj) {
- this.seleData.forEach(item => {
+ this.seleData.forEach(id => {
this.tableData.forEach(row => {
- if (item === row.name) {
+ if (id === row.idCard) {
row.workTypeName = obj.workTypeName
row.worktypeId = obj.worktypeId
row.duName = obj.duName
@@ -456,7 +518,7 @@
return sexAndAge.age
},
handleSelectionChange (e) {
- this.seleData = e.map(item => item.name)
+ this.seleData = e.map(item => item.idCard)
},
getValue(list) {
this.tableData.push(...list)
@@ -465,6 +527,12 @@
}
</script>
+<style>
+ .el-picker-panel__footer .el-button--text.el-picker-panel__link-btn {
+ display: none;
+ }
+</style>
+
<style lang="scss" scoped>
.list {
width: 100%;
--
Gitblit v1.9.3