|  |  | 
 |  |  |                 <el-form-item label="投保年龄" v-if="item"> | 
 |  |  |                     <span>{{item.minAge}} 至 {{item.maxAge}}</span> | 
 |  |  |                 </el-form-item> | 
 |  |  |                 <el-form-item label="费用" v-if="item"> | 
 |  |  |                 <el-form-item label="费用" v-if="item && item.type ==0"> | 
 |  |  |                     <span>{{item.price}}元</span> | 
 |  |  |                     <span v-if="item.timeUnit === 0">/天</span> | 
 |  |  |                     <span v-if="item.timeUnit === 1">/半月</span> | 
 |  |  | 
 |  |  |   data () { | 
 |  |  |     return { | 
 |  |  |       form: { | 
 |  |  |           id: null, | 
 |  |  |           ID: null, | 
 |  |  |           solutionId: '', | 
 |  |  |           applyStartTime: '', | 
 |  |  |           applyEndTime: '' | 
 |  |  |         id: null, | 
 |  |  |         ID: null, | 
 |  |  |         solutionId: '', | 
 |  |  |         applyStartTime: '', | 
 |  |  |         applyEndTime: '' | 
 |  |  |       }, | 
 |  |  |       solutionName: '', | 
 |  |  |       type: '', | 
 |  |  | 
 |  |  |       item: null, | 
 |  |  |       // 验证规则 | 
 |  |  |       rules: { | 
 |  |  |           solutionId: [ | 
 |  |  |               { required: true, message: '请选择保险方案' } | 
 |  |  |           ], | 
 |  |  |           applyStartTime: [ | 
 |  |  |               { required: true, message: '请选择期望保险生效起期' } | 
 |  |  |           ] | 
 |  |  |         solutionId: [ | 
 |  |  |           { required: true, message: '请选择保险方案' } | 
 |  |  |         ], | 
 |  |  |         applyStartTime: [ | 
 |  |  |           { required: true, message: '请选择期望保险生效起期' } | 
 |  |  |         ] | 
 |  |  |       }, | 
 |  |  |       tableData: [] | 
 |  |  |     } | 
 |  |  |   }, | 
 |  |  |   created () { | 
 |  |  |       this.config({ | 
 |  |  |           api: '/business/insuranceApply', | 
 |  |  |           'field.id': 'id' | 
 |  |  |       }) | 
 |  |  |     this.config({ | 
 |  |  |       api: '/business/insuranceApply', | 
 |  |  |       'field.id': 'id' | 
 |  |  |     }) | 
 |  |  |   }, | 
 |  |  |     computed: { | 
 |  |  |       ...mapState(['userInfo']) | 
 |  |  |   computed: { | 
 |  |  |     ...mapState(['userInfo']) | 
 |  |  |   }, | 
 |  |  |   methods: { | 
 |  |  |     successEvent () { | 
 |  |  |       const 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 | 
 |  |  |       //         }) | 
 |  |  |       // } | 
 |  |  |     }, | 
 |  |  |     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.$nextTick(() => { | 
 |  |  |                   this.$refs.form.resetFields() | 
 |  |  |                   this.form.id = target.id | 
 |  |  |                   this.getDetails() | 
 |  |  |               }) | 
 |  |  |           } else { | 
 |  |  |               this.$nextTick(() => { | 
 |  |  |                   this.$refs.form.resetFields() | 
 |  |  |                   this.form[this.configData['field.id']] = null | 
 |  |  |               }) | 
 |  |  |           } | 
 |  |  |           this.getCompany() | 
 |  |  |           this.visible = true | 
 |  |  |           this.updatePickerOptions() | 
 |  |  |       }, | 
 |  |  |         // 获取投保详情 | 
 |  |  |         getDetails() { | 
 |  |  |             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.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 | 
 |  |  |                     this.tableData.forEach(item => { | 
 |  |  |                         total += item.fee | 
 |  |  |                     }) | 
 |  |  |                     sums[index] = total | 
 |  |  |                     return | 
 |  |  |                 } | 
 |  |  |             }) | 
 |  |  |             return sums | 
 |  |  |         }, | 
 |  |  |         deleItem() { | 
 |  |  |             if (this.seleData.length === 0) { | 
 |  |  |                 this.$message.warning('至少选择一项内容') | 
 |  |  |                 return | 
 |  |  |             } | 
 |  |  |             this.seleData.forEach(item => { | 
 |  |  |                 this.tableData.forEach((row, index) => { | 
 |  |  |                     if (item === row.idCard) { | 
 |  |  |                         this.tableData.splice(index, 1) | 
 |  |  |                     } | 
 |  |  |                 }) | 
 |  |  |             }) | 
 |  |  |         }, | 
 |  |  |         confirm() { | 
 |  |  |             this.$refs.form.validate((valid) => { | 
 |  |  |                 if (valid) { | 
 |  |  |                     if (this.tableData.length === 0) { | 
 |  |  |                         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 | 
 |  |  |                         } | 
 |  |  |                     } | 
 |  |  |  | 
 |  |  |                     let price = 0 | 
 |  |  |                     this.tableData.forEach(item => { | 
 |  |  |                         price = price + item.fee | 
 |  |  |                     }) | 
 |  |  |                     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 | 
 |  |  |                     }) | 
 |  |  |  | 
 |  |  |                 } | 
 |  |  |             }) | 
 |  |  |         }, | 
 |  |  |         // 获取结束时间和价格 | 
 |  |  |         getTimeVal(time) { | 
 |  |  |             getCountCyclePriceVO({ | 
 |  |  |                 solutionsId: this.form.solutionId, | 
 |  |  |                 startDate: time | 
 |  |  |             }).then(res => { | 
 |  |  |                 this.price = res.cyclePrice | 
 |  |  |                 this.form.applyEndTime = res.endDate | 
 |  |  |                 this.tableData.forEach(item => { | 
 |  |  |                     item.fee = res.cyclePrice | 
 |  |  |                 }) | 
 |  |  |                 this.$forceUpdate() | 
 |  |  |             }) | 
 |  |  |         }, | 
 |  |  |         getDate(n) { // n为多少天,-代表往前,+代表往后 | 
 |  |  |             let date1 = new Date(), | 
 |  |  |             time1 = date1.getFullYear() + "-" + (date1.getMonth() + 1) + "-" + date1.getDate();//time1表示当前时间 | 
 |  |  |             let date2 = new Date(date1); | 
 |  |  |             date2.setDate(date1.getDate() + n); | 
 |  |  |             let time2 = date2.getFullYear() + "-" + ("0" + (date2.getMonth() + 1)).slice(-2) + "-" + ("0" + date2.getDate()).slice(-2); | 
 |  |  |             return time2 | 
 |  |  |         }, | 
 |  |  |         updatePickerOptions() { | 
 |  |  |           var that = this; | 
 |  |  |             this.pickerOptions = { | 
 |  |  |                 disabledDate(time) { | 
 |  |  |                     if (!that.item) return | 
 |  |  |                     if (that.item.validType === 1) { | 
 |  |  |                         // 次月 | 
 |  |  |                         const currentDate = new Date(); | 
 |  |  |                         currentDate.setMonth(currentDate.getMonth() + 1); | 
 |  |  |                         currentDate.setDate(1); | 
 |  |  |                         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 - 1)).getTime(); | 
 |  |  |                     } | 
 |  |  |                 } | 
 |  |  |             }; | 
 |  |  |         }, | 
 |  |  |         seleUser() { | 
 |  |  |             if (!this.form.solutionId) { | 
 |  |  |                 this.$message.warning('请先选择保险方案') | 
 |  |  |                 return | 
 |  |  |             } | 
 |  |  |             this.$refs.selectEmployees.open('选取员工', { arr: this.tableData, price: this.price, type: 1 }) | 
 |  |  |         }, | 
 |  |  |       addUser() { | 
 |  |  |           if (!this.form.solutionId) { | 
 |  |  |               this.$message.warning('请先选择保险方案') | 
 |  |  |               return | 
 |  |  |           } | 
 |  |  |           this.$refs.addEmployee.open('添加员工', { arr: this.tableData, price: this.price }) | 
 |  |  |       }, | 
 |  |  |       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 }) | 
 |  |  |       }, | 
 |  |  |       // 切换方案 | 
 |  |  |       changeSolution(e) { | 
 |  |  |           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 | 
 |  |  |                   this.item = item | 
 |  |  |                   this.updatePickerOptions() | 
 |  |  |               } | 
 |  |  |           }) | 
 |  |  |           this.tableData.forEach(item => { | 
 |  |  |               item.fee = this.price | 
 |  |  |           }) | 
 |  |  |       }, | 
 |  |  |         // 切换方案 | 
 |  |  |         changeSolution1(e) { | 
 |  |  |             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 | 
 |  |  |             }) | 
 |  |  |         }, | 
 |  |  |       dele(index) { | 
 |  |  |           this.tableData.splice(index, 1) | 
 |  |  |       }, | 
 |  |  |       getUser(obj) { | 
 |  |  |           this.seleData.forEach(id => { | 
 |  |  |               this.tableData.forEach(row => { | 
 |  |  |                    if (id === row.idCard) { | 
 |  |  |                        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.idCard) | 
 |  |  |       }, | 
 |  |  |       getValue(list) { | 
 |  |  |           this.tableData.push(...list) | 
 |  |  |     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.$nextTick(() => { | 
 |  |  |           this.$refs.form.resetFields() | 
 |  |  |           this.form.id = target.id | 
 |  |  |           this.getDetails() | 
 |  |  |         }) | 
 |  |  |       } else { | 
 |  |  |         this.$nextTick(() => { | 
 |  |  |           this.$refs.form.resetFields() | 
 |  |  |           this.form[this.configData['field.id']] = null | 
 |  |  |         }) | 
 |  |  |       } | 
 |  |  |       this.getCompany() | 
 |  |  |       this.visible = true | 
 |  |  |       this.updatePickerOptions() | 
 |  |  |     }, | 
 |  |  |     // 获取投保详情 | 
 |  |  |     getDetails () { | 
 |  |  |       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.changeSolution1(res.solutionId) | 
 |  |  |         }) | 
 |  |  |     }, | 
 |  |  |     getSummaries (param) { | 
 |  |  |       const { columns, data } = param | 
 |  |  |       const sums = [] | 
 |  |  |       columns.forEach((column, index) => { | 
 |  |  |         if (index === 0) { | 
 |  |  |           sums[index] = '总价' | 
 |  |  |         } else if (index === 7) { | 
 |  |  |           let total = 0 | 
 |  |  |           this.tableData.forEach(item => { | 
 |  |  |             total += item.fee | 
 |  |  |           }) | 
 |  |  |           sums[index] = total | 
 |  |  |         } | 
 |  |  |       }) | 
 |  |  |       return sums | 
 |  |  |     }, | 
 |  |  |     deleItem () { | 
 |  |  |       if (this.seleData.length === 0) { | 
 |  |  |         this.$message.warning('至少选择一项内容') | 
 |  |  |         return | 
 |  |  |       } | 
 |  |  |       this.seleData.forEach(item => { | 
 |  |  |         this.tableData.forEach((row, index) => { | 
 |  |  |           if (item === row.idCard) { | 
 |  |  |             this.tableData.splice(index, 1) | 
 |  |  |           } | 
 |  |  |         }) | 
 |  |  |       }) | 
 |  |  |     }, | 
 |  |  |     confirm () { | 
 |  |  |       this.$refs.form.validate((valid) => { | 
 |  |  |         if (valid) { | 
 |  |  |           if (this.tableData.length === 0) { | 
 |  |  |             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 | 
 |  |  |             } | 
 |  |  |           } | 
 |  |  |  | 
 |  |  |           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 | 
 |  |  |           }) | 
 |  |  |         } | 
 |  |  |       }) | 
 |  |  |     }, | 
 |  |  |     // 获取结束时间和价格 | 
 |  |  |     getTimeVal (time) { | 
 |  |  |       getCountCyclePriceVO({ | 
 |  |  |         solutionsId: this.form.solutionId, | 
 |  |  |         startDate: time | 
 |  |  |       }).then(res => { | 
 |  |  |         this.price = res.cyclePrice | 
 |  |  |         this.form.applyEndTime = res.endDate | 
 |  |  |         this.tableData.forEach(item => { | 
 |  |  |           item.fee = res.cyclePrice | 
 |  |  |         }) | 
 |  |  |         this.$forceUpdate() | 
 |  |  |       }) | 
 |  |  |     }, | 
 |  |  |     getDate (n) { // n为多少天,-代表往前,+代表往后 | 
 |  |  |       const date1 = new Date() | 
 |  |  |       const time1 = date1.getFullYear() + '-' + (date1.getMonth() + 1) + '-' + date1.getDate()// time1表示当前时间 | 
 |  |  |       const date2 = new Date(date1) | 
 |  |  |       date2.setDate(date1.getDate() + n) | 
 |  |  |       const time2 = date2.getFullYear() + '-' + ('0' + (date2.getMonth() + 1)).slice(-2) + '-' + ('0' + date2.getDate()).slice(-2) | 
 |  |  |       return time2 | 
 |  |  |     }, | 
 |  |  |     updatePickerOptions () { | 
 |  |  |       var that = this | 
 |  |  |       this.pickerOptions = { | 
 |  |  |         disabledDate (time) { | 
 |  |  |           if (!that.item) return | 
 |  |  |           if (that.item.validType === 1) { | 
 |  |  |             // 次月 | 
 |  |  |             const currentDate = new Date() | 
 |  |  |             currentDate.setMonth(currentDate.getMonth() + 1) | 
 |  |  |             currentDate.setDate(1) | 
 |  |  |             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 - 1)).getTime() | 
 |  |  |           } | 
 |  |  |         } | 
 |  |  |       } | 
 |  |  |     }, | 
 |  |  |     seleUser () { | 
 |  |  |       if (!this.form.solutionId) { | 
 |  |  |         this.$message.warning('请先选择保险方案') | 
 |  |  |         return | 
 |  |  |       } | 
 |  |  |       this.$refs.selectEmployees.open('选取员工', { arr: this.tableData, price: this.price, type: 1 }) | 
 |  |  |     }, | 
 |  |  |     addUser () { | 
 |  |  |       if (!this.form.solutionId) { | 
 |  |  |         this.$message.warning('请先选择保险方案') | 
 |  |  |         return | 
 |  |  |       } | 
 |  |  |       this.$refs.addEmployee.open('添加员工', { arr: this.tableData, price: this.price }) | 
 |  |  |     }, | 
 |  |  |     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 }) | 
 |  |  |     }, | 
 |  |  |     // 切换方案 | 
 |  |  |     changeSolution (e) { | 
 |  |  |       this.form.applyEndTime = '' | 
 |  |  |       this.form.applyStartTime = '' | 
 |  |  |       if (!this.form.id) { | 
 |  |  |         this.tableData = [] | 
 |  |  |       } else { | 
 |  |  |         this.price = '' | 
 |  |  |         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 | 
 |  |  |           this.item = item | 
 |  |  |           if(this.item && this.item.type==1){ | 
 |  |  |             this.item.fee=0 | 
 |  |  |           } | 
 |  |  |           this.updatePickerOptions() | 
 |  |  |         } | 
 |  |  |       }) | 
 |  |  |       this.tableData.forEach(item => { | 
 |  |  |         item.fee = this.price | 
 |  |  |       }) | 
 |  |  |     }, | 
 |  |  |     // 切换方案 | 
 |  |  |     changeSolution1 (e) { | 
 |  |  |       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 | 
 |  |  |               if(this.item && this.item.type==1){ | 
 |  |  |                 this.item.fee=0 | 
 |  |  |               } | 
 |  |  |               this.updatePickerOptions() | 
 |  |  |             } | 
 |  |  |           }) | 
 |  |  |         }) | 
 |  |  |       this.tableData.forEach(item => { | 
 |  |  |         item.fee = this.price | 
 |  |  |       }) | 
 |  |  |     }, | 
 |  |  |     dele (index) { | 
 |  |  |       this.tableData.splice(index, 1) | 
 |  |  |     }, | 
 |  |  |     getUser (obj) { | 
 |  |  |       this.seleData.forEach(id => { | 
 |  |  |         this.tableData.forEach(row => { | 
 |  |  |           if (id === row.idCard) { | 
 |  |  |             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.idCard) | 
 |  |  |     }, | 
 |  |  |     getValue (list) { | 
 |  |  |       this.tableData.push(...list) | 
 |  |  |     } | 
 |  |  |   } | 
 |  |  | } | 
 |  |  | </script> | 
 |  |  | 
 |  |  |         width: 100%; | 
 |  |  |         font-size: 14px; | 
 |  |  |         color: black; | 
 |  |  |       span{ | 
 |  |  |         display: block; | 
 |  |  |       } | 
 |  |  |     } | 
 |  |  | </style> |