|  |  | 
 |  |  |     <div class="list"> | 
 |  |  |       <el-form :inline="true" ref="form" :model="form" :rules="rules" class="demo-form-inline"> | 
 |  |  |         <el-form-item label="保险方案" prop="solutionId"> | 
 |  |  |           <el-select v-model="form.solutionId" @change="changeSolution" placeholder="请选择"> | 
 |  |  |           <el-select v-model="form.solutionId" :disabled="title === '续保'" filterable @change="changeSolution" placeholder="请选择"> | 
 |  |  |             <el-option | 
 |  |  |                 v-for="item in company" | 
 |  |  |                 :key="item.id" | 
 |  |  | 
 |  |  |         <div style="display: inline-block;margin-right: 30px;font-size: 14px"><span>合计费用:</span> | 
 |  |  |         <span style="font-weight: bold;color: red">{{sumFee}}</span>元 | 
 |  |  |         </div> | 
 |  |  |         <el-button type="primary" @click="sele">选取派遣单位</el-button> | 
 |  |  |         <el-button type="primary" @click="sele(1)" v-if="item && item.hasDispatchUnit !== 1">选取派遣单位</el-button> | 
 |  |  |         <el-button type="primary" @click="sele(2)" v-if="item && item.hasDispatchUnit === 1">选取工种</el-button> | 
 |  |  |       </div> | 
 |  |  |     </div> | 
 |  |  | <!--    show-summary | 
 |  |  | 
 |  |  |         </template> | 
 |  |  |       </u-table-column> | 
 |  |  |       <u-table-column | 
 |  |  |           v-if="item && item.hasDispatchUnit !== 1" | 
 |  |  |           prop="duName" | 
 |  |  |           label="派遣单位"> | 
 |  |  |       </u-table-column> | 
 |  |  | 
 |  |  | 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 addEmployee from '@/components/enterprise/addEmployeeWithDu' | 
 |  |  | import importEmployees from '@/components/enterprise/importEmployees' | 
 |  |  | import confirmJobType from '@/components/enterprise/confirmJobType' | 
 |  |  | import detailsPolicyholder from '@/components/business/detailsPolicyholder' | 
 |  |  | // import OperaInsuranceApplyDetails from '@/components/business/OperaInsuranceApplyWindow' | 
 |  |  | // import OperaWtbApplyShopWindow from '@/components/business/OperaWtbApplyShopWindow' | 
 |  |  | import { all, getNewVersion } from '@/api/business/solutions' | 
 |  |  | import { all, getNewVersion, getUseList } from '@/api/business/solutions' | 
 |  |  | import { mapState } from 'vuex' | 
 |  |  | import { create, getCountCyclePriceVO, getDetail, findList, updateData } from '@/api/business/insuranceApply' | 
 |  |  | import { create, getCountCyclePriceVO, getDetail, findList } from '@/api/business/insuranceApply' | 
 |  |  | import { UTable, UTableColumn } from 'umy-ui' | 
 |  |  | // Vue.component(UTable.name, UTable); | 
 |  |  | // Vue.component(UTableColumn.name, UTableColumn); | 
 |  |  | export default { | 
 |  |  |   name: 'OperaInsuranceApplyAddWindow', | 
 |  |  |   name: 'OperaInsuranceApplyAddWindowNew', | 
 |  |  |   extends: BaseOpera, | 
 |  |  |   components: { | 
 |  |  |     GlobalWindow, selectEmployees, addEmployee, importEmployees, confirmJobType, detailsPolicyholder, UTable, UTableColumn | 
 |  |  |     // ,  OperaWtbApplyShopWindow, OperaInsuranceApplyDetails | 
 |  |  |     GlobalWindow, | 
 |  |  |     selectEmployees, | 
 |  |  |     addEmployee, | 
 |  |  |     importEmployees, | 
 |  |  |     confirmJobType, | 
 |  |  |     detailsPolicyholder, | 
 |  |  |     UTable, | 
 |  |  |     UTableColumn | 
 |  |  |   }, | 
 |  |  |   data () { | 
 |  |  |     return { | 
 |  |  |       sumFee:0, | 
 |  |  |       sumFee: 0, | 
 |  |  |       form: { | 
 |  |  |         id: null, | 
 |  |  |         ID: null, | 
 |  |  |         solutionId: '', | 
 |  |  |         applyStartTime: '', | 
 |  |  |         applyEndTime: '' | 
 |  |  |         applyEndTime: '', | 
 |  |  |         companyId: null | 
 |  |  |       }, | 
 |  |  |       solutionName: '', | 
 |  |  |       type: '', | 
 |  |  | 
 |  |  |     // 监听tableData的变化 | 
 |  |  |     tableData: { | 
 |  |  |       deep: true, | 
 |  |  |       handler(newVal, oldVal) { | 
 |  |  |       handler (newVal, oldVal) { | 
 |  |  |         // 数据变化时的处理逻辑 | 
 |  |  |         this.getSummaries2() | 
 |  |  |         console.log(this.tableData.length) | 
 |  |  | 
 |  |  |       this.isWorking = true | 
 |  |  |       // if (!this.form.id) { | 
 |  |  |       create({ | 
 |  |  |         companyId: this.form.companyId, | 
 |  |  |         applyDetailList: arr, | 
 |  |  |         applyStartTime: this.form.applyStartTime, | 
 |  |  |         applyEndTime: this.form.applyEndTime, | 
 |  |  |         solutionId: this.form.solutionId | 
 |  |  |       }).then(res => { | 
 |  |  |         console.log(res) | 
 |  |  |         this.visible = false | 
 |  |  |         if (this.item.type == 1) { | 
 |  |  |           // this.$refs.OperaWtbApplyShopWindow.open('委托投保详情', { id: res }) | 
 |  |  |           this.$emit('success', 1, { id: res }) | 
 |  |  |         } else { | 
 |  |  |           // this.$refs.OperaInsuranceApplyDetails.open('投保详情', { id: res }) | 
 |  |  |           this.$emit('success', 1, { id: res }) | 
 |  |  |         } | 
 |  |  |         this.$emit('success', 1, { id: res,godetail:true,type:this.item.type}) | 
 |  |  |         this.$tip.apiSuccess('操作成功') | 
 |  |  |         this.visible = false | 
 |  |  |         // this.$emit('success','委托投保详情', { id: res }) | 
 |  |  |       }) | 
 |  |  |         .catch(e => { | 
 |  |  | 
 |  |  |       this.form.solutionId = '' | 
 |  |  |       this.form.applyStartTime = '' | 
 |  |  |       this.form.applyEndTime = '' | 
 |  |  |       if (target.companyId) { | 
 |  |  |         this.form.companyId = target.companyId | 
 |  |  |         this.form.companyName = target.companyName | 
 |  |  |       } | 
 |  |  |       if (target && target.id) { | 
 |  |  |         this.$nextTick(() => { | 
 |  |  |           this.$refs.form.resetFields() | 
 |  |  | 
 |  |  |     }, | 
 |  |  |     // 获取投保详情 | 
 |  |  |     getDetails () { | 
 |  |  |       findList({ applyId: this.form.id }) | 
 |  |  |       findList({ applyId: this.form.id, applyStatus: 1 }) | 
 |  |  |         .then(res => { | 
 |  |  |           res.forEach(item => { | 
 |  |  |             console.log(item) | 
 |  |  | 
 |  |  |           }) | 
 |  |  |           sums[index] = total.toFixed(2) | 
 |  |  |           // } | 
 |  |  |         }else { | 
 |  |  |         } else { | 
 |  |  |           sums[index] = '' | 
 |  |  |         } | 
 |  |  |       }) | 
 |  |  | 
 |  |  |       return sums | 
 |  |  |     }, | 
 |  |  |     getSummaries2 () { | 
 |  |  |       this.sumFee = 0; | 
 |  |  |       if(this.tableData&&this.tableData.length){ | 
 |  |  |       this.sumFee = 0 | 
 |  |  |       if (this.tableData && this.tableData.length) { | 
 |  |  |         this.tableData.forEach((column, index) => { | 
 |  |  |           this.sumFee = parseFloat(this.sumFee) + parseFloat(column.fee) | 
 |  |  |         }) | 
 |  |  | 
 |  |  |             this.$message.warning('至少添加一项员工') | 
 |  |  |             return | 
 |  |  |           } | 
 |  |  |           for (let i = 0; i < this.tableData.length; i++) { | 
 |  |  |             console.log(this.tableData[i].worktypeId) | 
 |  |  |             console.log(this.tableData[i].duId) | 
 |  |  |             if (!this.tableData[i].worktypeId || !this.tableData[i].duId) { | 
 |  |  |               this.$message.warning('请完善派遣单位和工种信息') | 
 |  |  |               return | 
 |  |  |           if (this.item.hasDispatchUnit !== 1) { | 
 |  |  |             for (let i = 0; i < this.tableData.length; i++) { | 
 |  |  |               if (!this.tableData[i].worktypeId || !this.tableData[i].duId) { | 
 |  |  |                 this.$message.warning('请完善派遣单位和工种信息') | 
 |  |  |                 return | 
 |  |  |               } | 
 |  |  |             } | 
 |  |  |           } else { | 
 |  |  |             for (let i = 0; i < this.tableData.length; i++) { | 
 |  |  |               if (!this.tableData[i].worktypeId) { | 
 |  |  |                 this.$message.warning('请完善派工种信息') | 
 |  |  |                 return | 
 |  |  |               } | 
 |  |  |             } | 
 |  |  |           } | 
 |  |  |  | 
 |  |  |           let price = 0 | 
 |  |  |           // if (this.item && this.item.type != 1) { | 
 |  |  |             this.tableData.forEach(item => { | 
 |  |  |               price = price + item.fee | 
 |  |  |             }) | 
 |  |  |           // } | 
 |  |  |           this.$refs.detailsPolicyholder.open('投保详情单', { | 
 |  |  |             companyName: this.userInfo.company.name, | 
 |  |  |             solutionName: this.item.name, | 
 |  |  |             solutionType: this.item.type, | 
 |  |  |             applyStartTime: this.form.applyStartTime, | 
 |  |  |             applyEndTime: this.form.applyEndTime, | 
 |  |  |             insureNum: this.tableData.length, | 
 |  |  |             totalPrice: price, | 
 |  |  |             detailList: this.tableData | 
 |  |  |           this.tableData.forEach(item => { | 
 |  |  |             price = price + item.fee | 
 |  |  |           }) | 
 |  |  |           // } | 
 |  |  |           const endTime = Number(this.item.correctWarnTime.split(':')[0] + this.item.correctWarnTime.split(':')[1]) | 
 |  |  |           const now = new Date(); | 
 |  |  |           const hours = now.getHours(); | 
 |  |  |           const minutes = now.getMinutes(); | 
 |  |  |           const date = `${hours.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}`; | 
 |  |  |           const startTime = Number(date.split(':')[0] + date.split(':')[1]) | 
 |  |  |           if (startTime > endTime) { | 
 |  |  |             this.$confirm('您已超过当天最晚批改时间,保单实际生效时间以保险公司审核为准!', '提示', { | 
 |  |  |               confirmButtonText: '确定', | 
 |  |  |               cancelButtonText: '取消', | 
 |  |  |               type: 'warning' | 
 |  |  |             }).then(() => { | 
 |  |  |               if (!this.form.companyId) { | 
 |  |  |                 this.$refs.detailsPolicyholder.open('投保详情单', { | 
 |  |  |                   companyName: this.userInfo.showCompany.name, | 
 |  |  |                   solutionName: this.item.name, | 
 |  |  |                   solutionType: this.item.type, | 
 |  |  |                   applyStartTime: this.form.applyStartTime, | 
 |  |  |                   applyEndTime: this.form.applyEndTime, | 
 |  |  |                   insureNum: this.tableData.length, | 
 |  |  |                   totalPrice: price, | 
 |  |  |                   detailList: this.tableData | 
 |  |  |                 }) | 
 |  |  |               } else { | 
 |  |  |                 this.$refs.detailsPolicyholder.open('投保详情单', { | 
 |  |  |                   companyName: this.form.companyName, | 
 |  |  |                   solutionName: this.item.name, | 
 |  |  |                   solutionType: this.item.type, | 
 |  |  |                   applyStartTime: this.form.applyStartTime, | 
 |  |  |                   applyEndTime: this.form.applyEndTime, | 
 |  |  |                   insureNum: this.tableData.length, | 
 |  |  |                   totalPrice: price, | 
 |  |  |                   detailList: this.tableData | 
 |  |  |                 }) | 
 |  |  |               } | 
 |  |  |             }).catch(() => { | 
 |  |  |  | 
 |  |  |             }); | 
 |  |  |           } else { | 
 |  |  |             if (!this.form.companyId) { | 
 |  |  |               this.$refs.detailsPolicyholder.open('投保详情单', { | 
 |  |  |                 companyName: this.userInfo.showCompany.name, | 
 |  |  |                 solutionName: this.item.name, | 
 |  |  |                 solutionType: this.item.type, | 
 |  |  |                 applyStartTime: this.form.applyStartTime, | 
 |  |  |                 applyEndTime: this.form.applyEndTime, | 
 |  |  |                 insureNum: this.tableData.length, | 
 |  |  |                 totalPrice: price, | 
 |  |  |                 detailList: this.tableData | 
 |  |  |               }) | 
 |  |  |             } else { | 
 |  |  |               this.$refs.detailsPolicyholder.open('投保详情单', { | 
 |  |  |                 companyName: this.form.companyName, | 
 |  |  |                 solutionName: this.item.name, | 
 |  |  |                 solutionType: this.item.type, | 
 |  |  |                 applyStartTime: this.form.applyStartTime, | 
 |  |  |                 applyEndTime: this.form.applyEndTime, | 
 |  |  |                 insureNum: this.tableData.length, | 
 |  |  |                 totalPrice: price, | 
 |  |  |                 detailList: this.tableData | 
 |  |  |               }) | 
 |  |  |             } | 
 |  |  |           } | 
 |  |  |         } | 
 |  |  |       }) | 
 |  |  |     }, | 
 |  |  | 
 |  |  |         this.$message.warning('请先选择保险方案') | 
 |  |  |         return | 
 |  |  |       } | 
 |  |  |       this.$refs.selectEmployees.open('选取员工', { arr: this.tableData, price: this.price, type: 1 }) | 
 |  |  |       this.$refs.selectEmployees.open('选取员工', { arr: this.tableData, price: this.price, type: 1, companyId: this.form.companyId }) | 
 |  |  |     }, | 
 |  |  |     addUser () { | 
 |  |  |       if (!this.form.solutionId) { | 
 |  |  |         this.$message.warning('请先选择保险方案') | 
 |  |  |         return | 
 |  |  |       } | 
 |  |  |       this.$refs.addEmployee.open('添加员工', { arr: this.tableData, price: this.price }) | 
 |  |  |       this.$refs.addEmployee.open('添加员工', { arr: this.tableData, price: this.price, solutionId: this.form.solutionId, hasDispatchUnit: this.item.hasDispatchUnit, companyId: this.userInfo.type === 1 ? this.userInfo.companyId : this.form.companyId }) | 
 |  |  |     }, | 
 |  |  |     uploadUser () { | 
 |  |  |       if (!this.form.solutionId) { | 
 |  |  |         this.$message.warning('请先选择保险方案') | 
 |  |  |         return | 
 |  |  |       } | 
 |  |  |       this.$refs.importEmployees.open('上传名单', { arr: this.tableData, solutionId: this.form.solutionId, type: 1, price: this.price }) | 
 |  |  |       this.$refs.importEmployees.open('上传名单', { arr: this.tableData, solutionId: this.form.solutionId, type: 1, hasDispatchUnit: this.item.hasDispatchUnit, price: this.price }) | 
 |  |  |     }, | 
 |  |  |     // 切换方案 | 
 |  |  |     changeSolution (e) { | 
 |  |  |       this.sumFee =0; | 
 |  |  |       this.sumFee = 0 | 
 |  |  |       this.form.applyEndTime = '' | 
 |  |  |       this.form.applyStartTime = '' | 
 |  |  |       if (!this.form.id) { | 
 |  |  | 
 |  |  |         }) | 
 |  |  |       this.tableData.forEach(item => { | 
 |  |  |         // if (this.item.type != 0) { | 
 |  |  |           item.fee = this.price | 
 |  |  |         item.fee = this.price | 
 |  |  |         // } | 
 |  |  |       }) | 
 |  |  |     }, | 
 |  |  | 
 |  |  |       this.$refs.multipleTable.clearSelection() | 
 |  |  |     }, | 
 |  |  |     // 选择员工 | 
 |  |  |     sele () { | 
 |  |  |     sele (type) { | 
 |  |  |       if (!this.form.solutionId) { | 
 |  |  |         this.$message.warning('请选择保险方案') | 
 |  |  |         return | 
 |  |  | 
 |  |  |         this.$message.warning('请选择员工') | 
 |  |  |         return | 
 |  |  |       } | 
 |  |  |       this.$refs.confirmJobType.open('确认工种', { solutionId: this.form.solutionId }) | 
 |  |  |       this.$refs.confirmJobType.open('确认工种', { solutionId: this.form.solutionId, type }) | 
 |  |  |     }, | 
 |  |  |     // 查询全部方案 | 
 |  |  |     getCompany () { | 
 |  |  |       all({}) | 
 |  |  |       getUseList(this.form.companyId ? this.form.companyId : this.userInfo.companyId, 2) | 
 |  |  |         .then(res => { | 
 |  |  |           this.company = res | 
 |  |  |         }) | 
 |  |  |       // all({ companyId: this.form.companyId }) | 
 |  |  |       //   .then(res => { | 
 |  |  |       //     this.company = res | 
 |  |  |       //   }) | 
 |  |  |     }, | 
 |  |  |     getAgeByIdCard (idCard) { | 
 |  |  |       const sexAndAge = {} |