| | |
| | | <el-form-item label="保险方案"> |
| | | <span>{{form.solutionsName}}</span> |
| | | </el-form-item> |
| | | <el-form-item label=" "> |
| | | <span style="color: #F95601; font-size: 14px;">批改提示:(次日生效投保请于17:30前提交,超时提交以保险单为准)</span> |
| | | </el-form-item> |
| | | <!-- <el-form-item label="申请日期" prop="applyStartTime"> |
| | | <div style="display: flex; flex-direction: column;"> |
| | | <el-date-picker |
| | |
| | | align="center" |
| | | label="保险生效止期"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="insureNum" |
| | | align="center" |
| | | label="投保人数"> |
| | | <!-- <el-table-column--> |
| | | <!-- prop="insureNum"--> |
| | | <!-- align="center"--> |
| | | <!-- label="投保人数">--> |
| | | <!-- </el-table-column>--> |
| | | <!-- <el-table-column--> |
| | | <!-- prop="guaranteeNum"--> |
| | | <!-- align="center"--> |
| | | <!-- label="在保人数">--> |
| | | <!-- </el-table-column>--> |
| | | <el-table-column prop="guaranteeNum" align="center" label="当前在保人数" width="120"> |
| | | <template slot-scope="{row}"> |
| | | <span>{{(row.guaranteeNum||0)}} 人</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="serviceDays" |
| | | align="center" |
| | | label="在保时长(天)"> |
| | | label="保单时长(天)"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="currentFee" |
| | | align="center" |
| | | label="已产生费用(元)"> |
| | | <!-- <el-table-column--> |
| | | <!-- prop="currentFee"--> |
| | | <!-- align="center"--> |
| | | <!-- label="已产生费用(元)">--> |
| | | <!-- </el-table-column>--> |
| | | <el-table-column prop="fee" label="批改费用合计" align="center" width="120"> |
| | | <template slot-scope="{row}"> |
| | | <span>{{row.changeMoney+' 元'}}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="fee" |
| | |
| | | <div class="btns"> |
| | | <div class="btns_item"> |
| | | <el-button type="primary" @click="seleUser">选取员工</el-button> |
| | | <el-button type="primary" @click="uploadUser" v-if="activeName !== '1'">导入员工</el-button> |
| | | <el-button type="primary" @click="uploadUser">导入员工</el-button> |
| | | <el-button type="primary" @click="addUser" v-if="activeName !== '1'">添加员工</el-button> |
| | | <el-button type="danger" @click="deleItem">删除</el-button> |
| | | </div> |
| | | <div class="btns_item" v-if="activeName !== '1'"> |
| | | <el-button type="primary" @click="sele">选取派遣单位</el-button> |
| | | <!-- <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> |
| | | <el-table |
| | | v-if="item" |
| | | :data="activeName === '0' ? form.addDetailList : form.delDetailList" |
| | | border |
| | | show-summary |
| | |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | v-if="item && item.hasDispatchUnit !== 1" |
| | | prop="duName" |
| | | label="派遣单位"> |
| | | </el-table-column> |
| | |
| | | </el-table-column> |
| | | </el-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" /> |
| | |
| | | <!-- 详情 --> |
| | | <ApplyChangeDetails1 ref="ApplyChangeDetails1" @success="success" /> |
| | | <!-- 加减保详情 --> |
| | | <OperaApplyChangeDetailWindow ref="OperaApplyChangeDetailWindow" /> |
| | | <!-- <OperaApplyChangeDetailWindow ref="OperaApplyChangeDetailWindow" />--> |
| | | </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 ApplyChangeDetails1 from '@/components/business/ApplyChangeDetails1' |
| | | import OperaApplyChangeDetailWindow from '@/components/business/OperaApplyChangeDetailWindow' |
| | | // import OperaApplyChangeDetailWindow from '@/components/business/OperaApplyChangeDetailWindow' |
| | | import { all } from '@/api/business/solutions' |
| | | import { getDetail } from '@/api/business/insuranceApply' |
| | | import { getDetail, getApplyPower } from '@/api/business/insuranceApply' |
| | | import { create, getChangeCountCyclePriceVO } from '@/api/business/applyChange' |
| | | import { getDate, compareDates, getTomorrow } from '@/utils/util' |
| | | import { mapState } from 'vuex' |
| | | export default { |
| | | name: 'additionSubtractionApplication', |
| | | extends: BaseOpera, |
| | | components: { GlobalWindow, selectEmployees, OperaApplyChangeDetailWindow, addEmployee, importEmployees, confirmJobType, ApplyChangeDetails1 }, |
| | | components: { |
| | | GlobalWindow, |
| | | selectEmployees, |
| | | // OperaApplyChangeDetailWindow, |
| | | addEmployee, |
| | | importEmployees, |
| | | confirmJobType, |
| | | ApplyChangeDetails1 |
| | | }, |
| | | data () { |
| | | return { |
| | | form: { |
| | |
| | | addDetailList: [], |
| | | delDetailList: [] |
| | | }, |
| | | addTrue: '', |
| | | delTrue: '', |
| | | tempMemberIndex: -1, |
| | | activeName: '0', |
| | | pickerOptions: {}, |
| | |
| | | this.form.id = target.id |
| | | this.getDetails() |
| | | this.changeApplyStartTime(null) |
| | | this.getApplyPowerData() |
| | | }) |
| | | } else { |
| | | this.$nextTick(() => { |
| | |
| | | this.visible = true |
| | | // this.updatePickerOptions() |
| | | }, |
| | | // 获取是否能加减保 |
| | | getApplyPowerData() { |
| | | getApplyPower({ applyId: this.form.id }) |
| | | .then(res => { |
| | | this.addTrue = res.addTrue |
| | | this.delTrue = res.delTrue |
| | | }) |
| | | }, |
| | | changeApplyStartTime (e) { |
| | | getChangeCountCyclePriceVO({ |
| | | applyId: this.form.id, |
| | | validTime: e |
| | | }).then(res => { |
| | | this.price = res.cyclePrice |
| | | this.reducePrice= 0 |
| | | this.reducePrice = 0 |
| | | this.form.addDetailList.forEach(item => { |
| | | item.fee = res.cyclePrice |
| | | }) |
| | |
| | | }, |
| | | // 获取投保详情 |
| | | getDetails () { |
| | | // findList({ applyId: this.form.id }) |
| | | // .then(res => { |
| | | // res.forEach(item => { |
| | | // item.idCard = item.idcardNo |
| | | // item.fee = '' |
| | | // }) |
| | | // this.tableData = res |
| | | // }) |
| | | getDetail(this.form.id) |
| | | .then(res => { |
| | | this.list.push(res) |
| | |
| | | columns.forEach((column, index) => { |
| | | if (index === 0) { |
| | | sums[index] = '总价' |
| | | } else if (index === 7) { |
| | | } else if (this.item.hasDispatchUnit === 1 && index === 6) { |
| | | let total = 0 |
| | | if (this.activeName === '0') { |
| | | this.form.addDetailList.forEach(item => { |
| | | total += item.fee |
| | | total += item.fee || 0 |
| | | }) |
| | | sums[index] = total.toFixed(2) |
| | | sums[index] = (total || 0).toFixed(2) |
| | | } else { |
| | | this.form.delDetailList.forEach(item => { |
| | | total += item.reducePrice |
| | | }) |
| | | sums[index] = total.toFixed(2) |
| | | sums[index] = (total || 0).toFixed(2) |
| | | } |
| | | } else if (this.item.hasDispatchUnit !== 1 && index === 7) { |
| | | let total = 0 |
| | | if (this.activeName === '0') { |
| | | this.form.addDetailList.forEach(item => { |
| | | total += item.fee || 0 |
| | | }) |
| | | sums[index] = (total || 0).toFixed(2) |
| | | } else { |
| | | this.form.delDetailList.forEach(item => { |
| | | total += item.reducePrice |
| | | }) |
| | | sums[index] = (total || 0).toFixed(2) |
| | | } |
| | | } |
| | | }) |
| | | return sums |
| | | }, |
| | | deleItem () { |
| | | if (this.activeName === '0') { |
| | | if (this.addTrue !== 0) return this.$message.warning('当前保单暂不支持操作') |
| | | } else { |
| | | if (this.delTrue !== 0) return this.$message.warning('当前保单暂不支持操作') |
| | | } |
| | | if (this.seleData.length === 0) { |
| | | this.$message.warning('至少选择一项内容') |
| | | return |
| | |
| | | }).then(res => { |
| | | this.visible = false |
| | | this.$tip.apiSuccess('操作成功') |
| | | // this.$refs.OperaApplyChangeDetailWindow.open('加减保详情', { applyId: this.form.id, id: res }) |
| | | // this.$refs.OperaApplyChangeDetailWindow.open('加减保详情', { applyId: this.form.id, id: res }) |
| | | // { applyId: this.form.id, id: res } |
| | | this.$emit('success') |
| | | }).catch(e => { |
| | | this.$tip.apiFailed(e) |
| | |
| | | }) |
| | | }, |
| | | confirm () { |
| | | if (this.addTrue !== 0 && this.delTrue !== 0) return this.$message.warning('当前保单暂不支持操作') |
| | | this.$refs.form.validate((valid) => { |
| | | if (valid) { |
| | | // if (this.form.addDetailList.length === 0) { |
| | | // this.$message.warning('至少添加一项员工') |
| | | // return |
| | | // } |
| | | for (let i = 0; i < this.form.addDetailList.length; i++) { |
| | | if (!this.form.addDetailList[i].worktypeId || !this.form.addDetailList[i].duId) { |
| | | this.$message.warning('请完善加保派遣单位和工种信息') |
| | | return |
| | | if (this.item.hasDispatchUnit !== 1) { |
| | | for (let i = 0; i < this.form.addDetailList.length; i++) { |
| | | if (!this.form.addDetailList[i].worktypeId || !this.form.addDetailList[i].duId) { |
| | | this.$message.warning('请完善加保派遣单位和工种信息') |
| | | return |
| | | } |
| | | } |
| | | for (let i = 0; i < this.form.delDetailList.length; i++) { |
| | | if (!this.form.delDetailList[i].worktypeId || !this.form.delDetailList[i].duId) { |
| | | this.$message.warning('请完善减保派遣单位和工种信息') |
| | | return |
| | | } |
| | | } |
| | | } else { |
| | | for (let i = 0; i < this.form.addDetailList.length; i++) { |
| | | if (!this.form.addDetailList[i].worktypeId) { |
| | | this.$message.warning('请完善加保工种信息') |
| | | return |
| | | } |
| | | } |
| | | for (let i = 0; i < this.form.delDetailList.length; i++) { |
| | | if (!this.form.delDetailList[i].worktypeId) { |
| | | this.$message.warning('请完善减保工种信息') |
| | | return |
| | | } |
| | | } |
| | | } |
| | | for (let i = 0; i < this.form.delDetailList.length; i++) { |
| | | if (!this.form.delDetailList[i].worktypeId || !this.form.delDetailList[i].duId) { |
| | | this.$message.warning('请完善减保派遣单位和工种信息') |
| | | return |
| | | } |
| | | let arr = this.company.filter(item => item.id === this.form.solutionId) |
| | | const endTime = Number(arr[0].correctWarnTime.split(':')[0] + arr[0].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(() => { |
| | | this.$refs.ApplyChangeDetails1.open('加减保详单', this.form.addDetailList, this.form.delDetailList, { |
| | | companyName: this.item.companyName, |
| | | solutionsName: this.form.solutionsName, |
| | | code: this.list[0].code, |
| | | startTime: this.list[0].startTime, |
| | | endTime: this.list[0].endTime, |
| | | applyStartTime: this.form.applyStartTime |
| | | }) |
| | | }).catch(() => { |
| | | |
| | | }); |
| | | } else { |
| | | this.$refs.ApplyChangeDetails1.open('加减保详单', this.form.addDetailList, this.form.delDetailList, { |
| | | companyName: this.item.companyName, |
| | | solutionsName: this.form.solutionsName, |
| | | code: this.list[0].code, |
| | | startTime: this.list[0].startTime, |
| | | endTime: this.list[0].endTime, |
| | | applyStartTime: this.form.applyStartTime |
| | | }) |
| | | } |
| | | |
| | | this.$refs.ApplyChangeDetails1.open('加减保详单', this.form.addDetailList, this.form.delDetailList, { |
| | | companyName: this.userInfo.company.name, |
| | | solutionsName: this.form.solutionsName, |
| | | code: this.list[0].code, |
| | | startTime: this.list[0].startTime, |
| | | endTime: this.list[0].endTime, |
| | | applyStartTime: this.form.applyStartTime |
| | | }) |
| | | |
| | | // return |
| | | |
| | | // this.form.addDetailList.forEach(item => { |
| | | // item.idcardNo = item.idCard |
| | | // }) |
| | | // this.form.delDetailList.forEach(item => { |
| | | // item.idcardNo = item.idCard |
| | | // }) |
| | | // // let arr = JSON.parse(JSON.stringify(this.form.addDetailList)) |
| | | // // arr.forEach(item => { |
| | | // // item.idcardNo = item.idCard |
| | | // // }) |
| | | // this.isWorking = true |
| | | // create({ |
| | | // applyId: this.form.id, |
| | | // addDetailList: this.form.addDetailList, |
| | | // delDetailList: this.form.delDetailList, |
| | | // validTime: this.form.applyStartTime, |
| | | // type: 0 |
| | | // }).then(() => { |
| | | // this.visible = false |
| | | // this.$tip.apiSuccess('操作成功') |
| | | // this.$emit('success') |
| | | // }).catch(e => { |
| | | // this.$tip.apiFailed(e) |
| | | // }).finally(() => { |
| | | // this.isWorking = false |
| | | // }) |
| | | } |
| | | }) |
| | | }, |
| | | seleUser () { |
| | | if (this.activeName === '0') { |
| | | if (this.addTrue !== 0) return this.$message.warning('当前保单暂不支持操作') |
| | | } else { |
| | | if (this.delTrue !== 0) return this.$message.warning('当前保单暂不支持操作') |
| | | } |
| | | if (!this.form.solutionId) { |
| | | this.$message.warning('请先选择保险方案') |
| | | return |
| | | } |
| | | /* if (!this.form.applyStartTime) { |
| | | /* if (!this.form.applyStartTime) { |
| | | this.$message.warning('请先选择批单生效起期') |
| | | return |
| | | }*/ |
| | | } */ |
| | | if (this.activeName === '0') { |
| | | this.$refs.selectEmployees.open('选取员工', { arr: this.form.addDetailList, price: this.price, notInInsuranceApplyId: this.form.id, validTime: this.form.applyStartTime }) |
| | | this.$refs.selectEmployees.open('选取加保员工', { arr: this.form.addDetailList, price: this.price, notInInsuranceApplyId: this.form.id, validTime: this.form.applyStartTime }) |
| | | } else { |
| | | this.$refs.selectEmployees.open('选取员工', { arr: this.form.delDetailList, price: this.reducePrice, insuranceApplyId: this.form.id, validTime: this.form.applyStartTime }) |
| | | this.$refs.selectEmployees.open('选取减保员工', { arr: this.form.delDetailList, price: this.reducePrice, insuranceApplyId: this.form.id, validTime: this.form.applyStartTime }) |
| | | } |
| | | }, |
| | | addUser () { |
| | | if (this.activeName === '0') { |
| | | if (this.addTrue !== 0) return this.$message.warning('当前保单暂不支持操作') |
| | | } else { |
| | | if (this.delTrue !== 0) return this.$message.warning('当前保单暂不支持操作') |
| | | } |
| | | if (!this.form.solutionId) { |
| | | this.$message.warning('请先选择保险方案') |
| | | return |
| | | } |
| | | if (this.activeName === '0') { |
| | | this.$refs.addEmployee.open('添加员工', { arr: this.form.addDetailList, price: this.price }) |
| | | this.$refs.addEmployee.open('添加加保员工', { arr: this.form.addDetailList, solutionId: this.item.newVersionSolutionId, price: this.price, companyId: this.item.hasDispatchUnit === 1 ? '1' : '' }) |
| | | } else { |
| | | this.$refs.addEmployee.open('添加员工', { arr: this.form.delDetailList, price: this.reducePrice }) |
| | | this.$refs.addEmployee.open('添加减保员工', { arr: this.form.delDetailList, solutionId: this.item.newVersionSolutionId, price: this.reducePrice, companyId: this.item.hasDispatchUnit === 1 ? '1' : '' }) |
| | | } |
| | | }, |
| | | uploadUser () { |
| | | if (this.activeName === '0') { |
| | | if (this.addTrue !== 0) return this.$message.warning('当前保单暂不支持操作') |
| | | } else { |
| | | if (this.delTrue !== 0) return this.$message.warning('当前保单暂不支持操作') |
| | | } |
| | | if (!this.form.solutionId) { |
| | | this.$message.warning('请先选择保险方案') |
| | | return |
| | | } |
| | | |
| | | if (this.activeName === '0') { |
| | | this.$refs.importEmployees.open('上传名单', { arr: this.form.addDetailList, price: this.price, solutionId: this.form.solutionId }) |
| | | this.$refs.importEmployees.open('加保员工名单', { arr: this.form.addDetailList, type: 1, price: this.price, hasDispatchUnit: this.item.hasDispatchUnit, solutionId: this.item.newVersionSolutionId }) |
| | | } else { |
| | | this.$refs.importEmployees.open('上传名单', { arr: this.form.delDetailList, price: this.reducePrice, solutionId: this.form.solutionId }) |
| | | this.$refs.importEmployees.open('减保员工名单', { arr: this.form.delDetailList, type: 0, price: this.reducePrice, hasDispatchUnit: this.item.hasDispatchUnit, solutionId: this.item.newVersionSolutionId, insuranceApplyId: this.form.id }) |
| | | } |
| | | }, |
| | | // 切换方案 |
| | |
| | | } |
| | | }, |
| | | getUser (obj) { |
| | | console.log(this.seleData) |
| | | this.seleData.forEach(item => { |
| | | if (this.activeName === '0') { |
| | | this.form.addDetailList.forEach(row => { |
| | |
| | | this.$refs.multipleTable.clearSelection() |
| | | }, |
| | | // 选择员工 |
| | | sele () { |
| | | sele (type) { |
| | | if (this.activeName === '0') { |
| | | if (this.addTrue !== 0) return this.$message.warning('当前保单暂不支持操作') |
| | | } else { |
| | | if (this.delTrue !== 0) return this.$message.warning('当前保单暂不支持操作') |
| | | } |
| | | if (!this.form.solutionId) { |
| | | this.$message.warning('请选择保险方案') |
| | | return |
| | |
| | | this.$message.warning('请选择员工') |
| | | return |
| | | } |
| | | this.$refs.confirmJobType.open('确认工种', { solutionId: this.item.newVersionSolutionId }) |
| | | this.$refs.confirmJobType.open('确认工种', { solutionId: this.item.newVersionSolutionId, type }) |
| | | }, |
| | | // 查询全部方案 |
| | | getCompany () { |