|  |  | 
 |  |  |               placeholder="选择日期"> | 
 |  |  |           </el-date-picker> | 
 |  |  |         </el-form-item> | 
 |  |  |         <el-form-item label="投保年龄" v-if="item"> | 
 |  |  | <!--        <el-form-item label="投保年龄" v-if="item && item.id !=null"> | 
 |  |  |           <span>{{item.minAge}} 至 {{item.maxAge}}</span> | 
 |  |  |         </el-form-item> | 
 |  |  |         <el-form-item label="费用" v-if="item && item.type ==0"> | 
 |  |  |         <el-form-item label="费用" v-if="item && item.id !=null"> | 
 |  |  |           <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-item>--> | 
 |  |  |       </el-form> | 
 |  |  |     </div> | 
 |  |  |     <div class="btns"> | 
 |  |  | 
 |  |  |         <el-button type="danger" @click="deleItem">删除</el-button> | 
 |  |  |       </div> | 
 |  |  |       <div class="btns_item"> | 
 |  |  |         <div style="display: inline-block;margin-right: 30px;font-size: 14px" v-if="item && item.id !=null"> | 
 |  |  |           <span>投保年龄:</span> | 
 |  |  |           <span>{{item.minAge}} 至 {{item.maxAge}}周岁</span> | 
 |  |  |           <span style="margin-left: 20px">费用:</span> | 
 |  |  |           <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> | 
 |  |  |         </div> | 
 |  |  |         <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> | 
 |  |  |       </div> | 
 |  |  |     </div> | 
 |  |  |     <el-table | 
 |  |  | <!--    show-summary | 
 |  |  |     :summary-method="getSummaries"--> | 
 |  |  |     <u-table | 
 |  |  |         :data="tableData" | 
 |  |  |         border | 
 |  |  |         show-summary | 
 |  |  |         :summary-method="getSummaries" | 
 |  |  |         use-virtual | 
 |  |  |         :row-height="30" | 
 |  |  |         :height="680" | 
 |  |  |         ref="multipleTable" | 
 |  |  |         @selection-change="handleSelectionChange" | 
 |  |  |         style="width: 100%;margin-bottom: 15px;"> | 
 |  |  |       <el-table-column | 
 |  |  |       <u-table-column | 
 |  |  |           type="selection" | 
 |  |  |           width="55"> | 
 |  |  |       </el-table-column> | 
 |  |  |       <el-table-column label="序号" width="80px"> | 
 |  |  |       </u-table-column> | 
 |  |  |       <u-table-column label="序号" width="80px"> | 
 |  |  |         <template slot-scope="scope"> | 
 |  |  |           <span>{{scope.$index + 1}}</span> | 
 |  |  |         </template> | 
 |  |  |       </el-table-column> | 
 |  |  |       <el-table-column | 
 |  |  |       </u-table-column> | 
 |  |  |       <u-table-column | 
 |  |  |           prop="memberName" | 
 |  |  |           label="姓名"> | 
 |  |  |       </el-table-column> | 
 |  |  |       <el-table-column | 
 |  |  |       </u-table-column> | 
 |  |  |       <u-table-column | 
 |  |  |           prop="idCard" | 
 |  |  |           label="身份证号"> | 
 |  |  |       </el-table-column> | 
 |  |  |       <el-table-column | 
 |  |  |       </u-table-column> | 
 |  |  |       <u-table-column | 
 |  |  |           label="年龄"> | 
 |  |  |         <template slot-scope="{row}"> | 
 |  |  |           <template v-if="item"> | 
 |  |  | 
 |  |  |             <span v-else>{{ getAgeByIdCard(row.idCard) }}</span> | 
 |  |  |           </template> | 
 |  |  |         </template> | 
 |  |  |       </el-table-column> | 
 |  |  |       <el-table-column | 
 |  |  |       </u-table-column> | 
 |  |  |       <u-table-column | 
 |  |  |           prop="duName" | 
 |  |  |           label="派遣单位"> | 
 |  |  |       </el-table-column> | 
 |  |  |       <el-table-column | 
 |  |  |       </u-table-column> | 
 |  |  |       <u-table-column | 
 |  |  |           prop="workTypeName" | 
 |  |  |           label="所属工种"> | 
 |  |  |       </el-table-column> | 
 |  |  |       <el-table-column | 
 |  |  |       </u-table-column> | 
 |  |  |       <u-table-column | 
 |  |  |           prop="fee" | 
 |  |  |           label="费用"> | 
 |  |  |         <template slot-scope="{row}"> | 
 |  |  |           {{item.type==1?'-':row.fee}} | 
 |  |  |           {{row.fee}} | 
 |  |  |         </template> | 
 |  |  |       </el-table-column> | 
 |  |  |       <el-table-column | 
 |  |  |       </u-table-column> | 
 |  |  |       <u-table-column | 
 |  |  |           prop="remark" | 
 |  |  |           align="center" | 
 |  |  |           label="备注"> | 
 |  |  |         <template slot-scope="{row}"> | 
 |  |  |           <el-input v-model="row.remark" placeholder="请输入"></el-input> | 
 |  |  |         </template> | 
 |  |  |       </el-table-column> | 
 |  |  |       <el-table-column | 
 |  |  |       </u-table-column> | 
 |  |  |       <u-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> | 
 |  |  |       </u-table-column> | 
 |  |  |     </u-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> | 
 |  |  |       <span v-if="item.specialAgreement"  v-html="item.specialAgreement"></span> | 
 |  |  |       <span v-if="item.specialInfo" v-html="item.specialInfo"> </span> | 
 |  |  |       <span v-if="item.ortherInfo" v-html="item.ortherInfo"></span> | 
 |  |  |     </div> | 
 |  |  |     <!--    选择员工    --> | 
 |  |  |     <selectEmployees ref="selectEmployees" @result="getValue" /> | 
 |  |  | 
 |  |  |     <confirmJobType ref="confirmJobType" @result="getUser" /> | 
 |  |  |     <!--    查看详单    --> | 
 |  |  |     <detailsPolicyholder ref="detailsPolicyholder" @success="successEvent" /> | 
 |  |  | <!--    <!–    直保投保详情    –> | 
 |  |  |     <!--    直保投保详情    --> | 
 |  |  |     <OperaInsuranceApplyDetails ref="OperaInsuranceApplyDetails" /> | 
 |  |  |     <!–    委托投保详情    –> | 
 |  |  |     <OperaWtbApplyShopWindow ref="OperaWtbApplyShopWindow" />--> | 
 |  |  |     <!--    委托投保详情    --> | 
 |  |  |     <OperaWtbApplyShopWindow ref="OperaWtbApplyShopWindow" /> | 
 |  |  |   </GlobalWindow> | 
 |  |  | </template> | 
 |  |  |  | 
 |  |  | 
 |  |  | 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 OperaInsuranceApplyDetails from '@/components/business/OperaInsuranceApplyWindow' | 
 |  |  | import OperaWtbApplyShopWindow from '@/components/business/OperaWtbApplyShopWindow' | 
 |  |  | import { all, getNewVersion } from '@/api/business/solutions' | 
 |  |  | import { mapState } from 'vuex' | 
 |  |  | import { create, getCountCyclePriceVO, getDetail, findList, updateData } 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 | 
 |  |  |     // ,  OperaWtbApplyShopWindow, OperaInsuranceApplyDetails | 
 |  |  |   components: { | 
 |  |  |     GlobalWindow, selectEmployees, addEmployee, importEmployees, confirmJobType, detailsPolicyholder, UTable, UTableColumn | 
 |  |  |     ,  OperaWtbApplyShopWindow, OperaInsuranceApplyDetails | 
 |  |  |   }, | 
 |  |  |   data () { | 
 |  |  |     return { | 
 |  |  |       sumFee:0, | 
 |  |  |       form: { | 
 |  |  |         id: null, | 
 |  |  |         ID: null, | 
 |  |  | 
 |  |  |   computed: { | 
 |  |  |     ...mapState(['userInfo']) | 
 |  |  |   }, | 
 |  |  |   watch: { | 
 |  |  |     // 监听tableData的变化 | 
 |  |  |     tableData: { | 
 |  |  |       deep: true, | 
 |  |  |       handler(newVal, oldVal) { | 
 |  |  |         // 数据变化时的处理逻辑 | 
 |  |  |         this.getSummaries2() | 
 |  |  |         console.log(this.tableData.length) | 
 |  |  |       } | 
 |  |  |     } | 
 |  |  |   }, | 
 |  |  |   methods: { | 
 |  |  |     successEvent () { | 
 |  |  |       const arr = JSON.parse(JSON.stringify(this.tableData)) | 
 |  |  | 
 |  |  |         applyStartTime: this.form.applyStartTime, | 
 |  |  |         applyEndTime: this.form.applyEndTime, | 
 |  |  |         solutionId: this.form.solutionId | 
 |  |  |       }).then(res=> { | 
 |  |  |       }).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 }) | 
 |  |  |           this.$emit('success', 1, { id: res }) | 
 |  |  |           this.$refs.OperaWtbApplyShopWindow.open('委托投保详情', { id: res }) | 
 |  |  |         } else { | 
 |  |  |           // this.$refs.OperaInsuranceApplyDetails.open('投保详情', { id: res }) | 
 |  |  |           this.$emit('success', 1,{ id: res }) | 
 |  |  |           this.$emit('success', 1, { id: res }) | 
 |  |  |           this.$refs.OperaInsuranceApplyDetails.open('投保详情', { id: res }) | 
 |  |  |         } | 
 |  |  |         this.$tip.apiSuccess('操作成功') | 
 |  |  |         // this.$emit('success','委托投保详情', { id: res }) | 
 |  |  |       }) | 
 |  |  |           .catch(e => { | 
 |  |  |             this.$tip.apiFailed(e) | 
 |  |  |           }) | 
 |  |  |           .finally(() => { | 
 |  |  |             this.isWorking = false | 
 |  |  |           }) | 
 |  |  |         .catch(e => { | 
 |  |  |           this.$tip.apiFailed(e) | 
 |  |  |         }) | 
 |  |  |         .finally(() => { | 
 |  |  |           this.isWorking = false | 
 |  |  |         }) | 
 |  |  |       // } else { | 
 |  |  |       //     updateData({ | 
 |  |  |       //         id: this.form.id, | 
 |  |  | 
 |  |  |     // 获取投保详情 | 
 |  |  |     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 | 
 |  |  |         .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) | 
 |  |  |           }) | 
 |  |  |         .then(res => { | 
 |  |  |           // this.form.solutionId = res.solutionId | 
 |  |  |           this.changeSolution1(res.solutionId) | 
 |  |  |         }) | 
 |  |  |     }, | 
 |  |  |     getSummaries (param) { | 
 |  |  |       const { columns, data } = param | 
 |  |  |     getSummaries ({ columns, data }) { | 
 |  |  |       const sums = [] | 
 |  |  |       // this.currentData = data; //记录当前页数据; | 
 |  |  |       columns.forEach((column, index) => { | 
 |  |  |         if (index === 0) { | 
 |  |  |         if (index == 0) { | 
 |  |  |           sums[index] = '总价' | 
 |  |  |         } else if (index === 7) { | 
 |  |  |           if(this.item || this.item.type == 1){ | 
 |  |  |             sums[index] = "-" | 
 |  |  |           }else{ | 
 |  |  |             let total = 0 | 
 |  |  |             this.tableData.forEach(item => { | 
 |  |  |               total += item.fee | 
 |  |  |             }) | 
 |  |  |             sums[index] = total.toFixed(2) | 
 |  |  |           } | 
 |  |  |         } else if (index == 7) { | 
 |  |  |           // if (this.item || this.item.type == 1) { | 
 |  |  |           //   sums[index] = '-' | 
 |  |  |           // } else { | 
 |  |  |           let total = 0 | 
 |  |  |           this.tableData.forEach(item => { | 
 |  |  |             total += item.fee | 
 |  |  |           }) | 
 |  |  |           sums[index] = total.toFixed(2) | 
 |  |  |           // } | 
 |  |  |         }else { | 
 |  |  |           sums[index] = '' | 
 |  |  |         } | 
 |  |  |       }) | 
 |  |  |       console.log(sums) | 
 |  |  |       return sums | 
 |  |  |     }, | 
 |  |  |     getSummaries2 () { | 
 |  |  |       this.sumFee = 0; | 
 |  |  |       if(this.tableData&&this.tableData.length){ | 
 |  |  |         this.tableData.forEach((column, index) => { | 
 |  |  |           this.sumFee = parseFloat(this.sumFee) + parseFloat(column.fee) | 
 |  |  |         }) | 
 |  |  |         this.sumFee = (this.sumFee || 0).toFixed(2) | 
 |  |  |       } | 
 |  |  |     }, | 
 |  |  |     deleItem () { | 
 |  |  |       if (this.seleData.length === 0) { | 
 |  |  | 
 |  |  |           } | 
 |  |  |         }) | 
 |  |  |       }) | 
 |  |  |       // this.getSummaries2() | 
 |  |  |     }, | 
 |  |  |     confirm () { | 
 |  |  |       this.$refs.form.validate((valid) => { | 
 |  |  | 
 |  |  |           } | 
 |  |  |  | 
 |  |  |           let price = 0 | 
 |  |  |           if (this.item && this.item.type != 1) { | 
 |  |  |           // 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, | 
 |  |  | 
 |  |  |     }, | 
 |  |  |     // 切换方案 | 
 |  |  |     changeSolution (e) { | 
 |  |  |       this.sumFee =0; | 
 |  |  |       this.form.applyEndTime = '' | 
 |  |  |       this.form.applyStartTime = '' | 
 |  |  |       if (!this.form.id) { | 
 |  |  |         this.tableData = [] | 
 |  |  |       } else { | 
 |  |  |         this.price = '' | 
 |  |  |         this.price = 0 | 
 |  |  |         this.tableData.forEach(item => { | 
 |  |  |           item.fee = '' | 
 |  |  |           item.fee = 0 | 
 |  |  |           item.duName = '' | 
 |  |  |           item.duId = '' | 
 |  |  |           item.workTypeName = '' | 
 |  |  | 
 |  |  |       } | 
 |  |  |       this.company.forEach(item => { | 
 |  |  |         if (item.id === e) { | 
 |  |  |           // this.price = item.price | 
 |  |  |           this.price = item.price | 
 |  |  |           this.item = item | 
 |  |  |           if(this.item && this.item.type==1){ | 
 |  |  |             this.item.fee=0 | 
 |  |  |           } | 
 |  |  |           // if (this.item && this.item.type == 1) { | 
 |  |  |           //   this.item.fee = 0 | 
 |  |  |           // } | 
 |  |  |           this.updatePickerOptions() | 
 |  |  |         } | 
 |  |  |       }) | 
 |  |  | 
 |  |  |     // 切换方案 | 
 |  |  |     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() | 
 |  |  |               } | 
 |  |  |             }) | 
 |  |  |         .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 | 
 |  |  |         // if (this.item.type != 0) { | 
 |  |  |           item.fee = this.price | 
 |  |  |         // } | 
 |  |  |       }) | 
 |  |  |     }, | 
 |  |  |     dele (index) { | 
 |  |  |       this.tableData.splice(index, 1) | 
 |  |  |       // this.getSummaries2() | 
 |  |  |     }, | 
 |  |  |     getUser (obj) { | 
 |  |  |       this.seleData.forEach(id => { | 
 |  |  | 
 |  |  |     // 查询全部方案 | 
 |  |  |     getCompany () { | 
 |  |  |       all({}) | 
 |  |  |           .then(res => { | 
 |  |  |             this.company = res | 
 |  |  |           }) | 
 |  |  |         .then(res => { | 
 |  |  |           this.company = res | 
 |  |  |         }) | 
 |  |  |     }, | 
 |  |  |     getAgeByIdCard (idCard) { | 
 |  |  |       const sexAndAge = {} | 
 |  |  | 
 |  |  |     }, | 
 |  |  |     getValue (list) { | 
 |  |  |       this.tableData.push(...list) | 
 |  |  |       this.getSummaries2() | 
 |  |  |     } | 
 |  |  |   } | 
 |  |  | } |