| | |
| | | <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" 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> |
| | |
| | | <confirmJobType ref="confirmJobType" @result="getUser" /> |
| | | <!-- 查看详单 --> |
| | | <detailsPolicyholder ref="detailsPolicyholder" @success="successEvent" /> |
| | | <!-- 直保投保详情 --> |
| | | <!-- <!– 直保投保详情 –> |
| | | <OperaInsuranceApplyDetails ref="OperaInsuranceApplyDetails" /> |
| | | <!-- 委托投保详情 --> |
| | | <OperaWtbApplyShopWindow ref="OperaWtbApplyShopWindow" /> |
| | | <!– 委托投保详情 –> |
| | | <OperaWtbApplyShopWindow ref="OperaWtbApplyShopWindow" />--> |
| | | </GlobalWindow> |
| | | </template> |
| | | |
| | |
| | | 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: '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.$emit('success', 1, { id: res }) |
| | | this.$refs.OperaWtbApplyShopWindow.open('委托投保详情', { id: res }) |
| | | } else { |
| | | this.$emit('success', 1, { id: res }) |
| | | this.$refs.OperaInsuranceApplyDetails.open('投保详情', { 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() |
| | |
| | | }) |
| | | 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.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 |
| | | }) |
| | | } 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.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 |
| | | }) |
| | | } 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 = {} |