| | |
| | | <GlobalWindow |
| | | :title="title" |
| | | width="100%" |
| | | text="投保申请" |
| | | text="批改申请" |
| | | :visible.sync="visible" |
| | | :confirm-working="isWorking" |
| | | @confirm="confirm" |
| | |
| | | <el-form-item label="保险方案"> |
| | | <span>{{form.solutionsName}}</span> |
| | | </el-form-item> |
| | | <el-form-item label="批单生效起期" prop="applyStartTime"> |
| | | <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 |
| | | @change="changeApplyStartTime" |
| | |
| | | </el-date-picker> |
| | | <span style="color: #F95601; font-size: 14px;">(次日生效投保请于17:30前提交,超时提交以保险单为准)</span> |
| | | </div> |
| | | </el-form-item> |
| | | </el-form-item>--> |
| | | <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.solutionType==0"> |
| | | <span>{{item.price}}元</span> |
| | | <span v-if="item.timeUnit === 0">/天</span> |
| | | <span v-if="item.timeUnit === 1">/半月</span> |
| | |
| | | label="投保人数"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="guaranteeNum" |
| | | align="center" |
| | | label="在保人数"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="serviceDays" |
| | | align="center" |
| | | label="在保时长(天)"> |
| | | label="保单时长(天)"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="currentFee" |
| | | align="center" |
| | | label="产生费用(元)"> |
| | | label="已产生费用(元)"> |
| | | </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> |
| | |
| | | label="费用"> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="activeName === '0'">{{row.fee}}</span> |
| | | <span v-else>{{row.fee ? '-' + row.fee : ''}}</span> |
| | | <span v-else>{{row.reducePrice ? row.reducePrice : '0'}}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-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 |
| | | label="操作"> |
| | | <template slot-scope="scope"> |
| | |
| | | </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" /> |
| | |
| | | <importEmployees ref="importEmployees" @result="getValue" /> |
| | | <!-- 确认工种 --> |
| | | <confirmJobType ref="confirmJobType" @result="getUser" /> |
| | | <!-- 详情 --> |
| | | <ApplyChangeDetails1 ref="ApplyChangeDetails1" @success="success" /> |
| | | <!-- 加减保详情 --> |
| | | <!-- <OperaApplyChangeDetailWindow ref="OperaApplyChangeDetailWindow" />--> |
| | | </GlobalWindow> |
| | | </template> |
| | | |
| | | <script> |
| | | 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 importEmployees from '@/components/enterprise/importEmployees' |
| | | import confirmJobType from '@/components/enterprise/confirmJobType' |
| | | import { all } from '@/api/business/solutions' |
| | | import { getDetail } from '@/api/business/insuranceApply' |
| | | import { create, getChangeCountCyclePriceVO } from '@/api/business/applyChange' |
| | | import { getDate, compareDates, getTomorrow } from '@/utils/util' |
| | | export default { |
| | | name: 'additionSubtractionApplication', |
| | | extends: BaseOpera, |
| | | components: { GlobalWindow, selectEmployees, addEmployee, importEmployees, confirmJobType }, |
| | | data () { |
| | | return { |
| | | form: { |
| | | id: null, |
| | | solutionId: '', |
| | | solutionsName: '', |
| | | applyStartTime: '', |
| | | applyEndTime: '', |
| | | addDetailList: [], |
| | | delDetailList: [], |
| | | }, |
| | | activeName: '0', |
| | | pickerOptions: {}, |
| | | price: '', |
| | | endTime: '', // 实际保险生效止期 |
| | | company: [], |
| | | seleData: [], |
| | | item: null, |
| | | // 验证规则 |
| | | rules: { |
| | | applyStartTime: [ |
| | | { required: true, message: '请选择批单生效起期' } |
| | | ] |
| | | }, |
| | | list: [] |
| | | } |
| | | }, |
| | | created () { |
| | | this.config({ |
| | | api: '/business/insuranceApply', |
| | | 'field.id': 'id' |
| | | }) |
| | | }, |
| | | methods: { |
| | | open (title, target) { |
| | | this.title = title |
| | | this.form.addDetailList = [] |
| | | this.form.delDetailList = [] |
| | | this.list = [] |
| | | this.form.id = null |
| | | this.item = null |
| | | this.form.solutionId = '' |
| | | this.form.solutionsName = '' |
| | | 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() |
| | | }, |
| | | changeApplyStartTime(e) { |
| | | getChangeCountCyclePriceVO({ |
| | | applyId: this.form.id, |
| | | validTime: e |
| | | }).then(res => { |
| | | this.price = res.cyclePrice |
| | | this.form.addDetailList.forEach(item => { |
| | | item.fee = res.cyclePrice |
| | | }) |
| | | this.form.delDetailList.forEach(item => { |
| | | item.fee = res.cyclePrice |
| | | }) |
| | | }) |
| | | }, |
| | | handleClick(e) { |
| | | this.activeName = e.index |
| | | }, |
| | | // 获取投保详情 |
| | | 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) |
| | | this.item = res |
| | | this.endTime = res.endTime |
| | | this.form.solutionId = res.solutionId |
| | | this.form.solutionsName = res.solutionsName |
| | | this.pickerOptions = { |
| | | disabledDate(time) { |
| | | // 当前日期大于等于生效日期并且最后一次操作时间等于空 |
| | | if ([1,3].includes(compareDates(getDate(), res.startTime)) && !res.lastChangeDate) { |
| | | return time.getTime() > new Date(res.endTime).getTime() || time.getTime() < new Date(getTomorrow()).getTime() |
| | | // 当前日期小于生效日期并且最后一次操作时间等于空 |
| | | } else if (compareDates(getDate(), res.startTime) === 2 && !res.lastChangeDate) { |
| | | return time.getTime() > new Date(res.endTime).getTime() || time.getTime() < new Date(res.startTime).getTime() |
| | | // 最后一次操作时间有值 |
| | | } else if (res.lastChangeDate) { |
| | | // 当前日期大于最后一次操作时间 |
| | | if ([1,3].includes(compareDates(getDate(), res.lastChangeDate))) { |
| | | return time.getTime() > new Date(res.endTime).getTime() || time.getTime() < new Date(getTomorrow()).getTime() |
| | | // 当前时间小于最后一次操作时间 |
| | | } else if (compareDates(getDate(), res.lastChangeDate) === 2) { |
| | | return time.getTime() > new Date(res.endTime).getTime() || time.getTime() < new Date(res.lastChangeDate).getTime() |
| | | } |
| | | } |
| | | } |
| | | }; |
| | | // 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 |
| | | if (this.activeName === '0') { |
| | | this.form.addDetailList.forEach(item => { |
| | | total += item.fee |
| | | }) |
| | | sums[index] = total |
| | | return |
| | | } else { |
| | | this.form.delDetailList.forEach(item => { |
| | | total += item.fee |
| | | }) |
| | | sums[index] = '-' + total |
| | | return |
| | | } |
| | | } |
| | | }) |
| | | return sums |
| | | }, |
| | | deleItem() { |
| | | if (this.seleData.length === 0) { |
| | | this.$message.warning('至少选择一项内容') |
| | | return |
| | | } |
| | | if (this.activeName === '0') { |
| | | this.seleData.forEach(item => { |
| | | this.form.addDetailList.forEach((row, index) => { |
| | | if (item === row.name) { |
| | | this.form.addDetailList.splice(index, 1) |
| | | } |
| | | }) |
| | | }) |
| | | } else { |
| | | this.seleData.forEach(item => { |
| | | this.form.delDetailList.forEach((row, index) => { |
| | | if (item === row.name) { |
| | | this.form.delDetailList.splice(index, 1) |
| | | } |
| | | }) |
| | | }) |
| | | } |
| | | }, |
| | | confirm() { |
| | | 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 |
| | | } |
| | | } |
| | | 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 |
| | | } |
| | | } |
| | | 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.form.solutionId) { |
| | | this.$message.warning('请先选择保险方案') |
| | | return |
| | | } |
| | | 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 }) |
| | | } else { |
| | | this.$refs.selectEmployees.open('选取员工', { arr: this.form.delDetailList, price: this.price, insuranceApplyId: this.form.id, validTime: this.form.applyStartTime }) |
| | | } |
| | | }, |
| | | addUser() { |
| | | if (!this.form.solutionId) { |
| | | this.$message.warning('请先选择保险方案') |
| | | return |
| | | } |
| | | if (this.activeName === '0') { |
| | | this.$refs.addEmployee.open('添加员工', { arr: this.form.addDetailList, price: this.price }) |
| | | } else { |
| | | this.$refs.addEmployee.open('添加员工', { arr: this.form.delDetailList, price: this.price }) |
| | | } |
| | | }, |
| | | uploadUser() { |
| | | if (!this.form.solutionId) { |
| | | this.$message.warning('请先选择保险方案') |
| | | return |
| | | } |
| | | if (this.activeName === '0') { |
| | | this.$refs.importEmployees.open('上传名单', { arr: this.form.addDetailList, price: this.price }) |
| | | } else { |
| | | this.$refs.importEmployees.open('上传名单', { arr: this.form.delDetailList, price: this.price }) |
| | | } |
| | | }, |
| | | // 切换方案 |
| | | changeSolution1(e) { |
| | | this.company.forEach(item => { |
| | | console.log(item.id + '-----' + e) |
| | | if (item.id === e) { |
| | | console.log(item) |
| | | this.item = item |
| | | } |
| | | }) |
| | | // this.tableData.forEach(item => { |
| | | // item.fee = this.price |
| | | // }) |
| | | }, |
| | | dele(index) { |
| | | if (this.activeName === '0') { |
| | | this.form.addDetailList.splice(index, 1) |
| | | } else { |
| | | this.form.delDetailList.splice(index, 1) |
| | | } |
| | | }, |
| | | getUser(obj) { |
| | | this.seleData.forEach(item => { |
| | | if (this.activeName === '0') { |
| | | this.form.addDetailList.forEach(row => { |
| | | if (item === row.name) { |
| | | row.workTypeName = obj.workTypeName |
| | | row.worktypeId = obj.worktypeId |
| | | row.duName = obj.duName |
| | | row.duId = obj.duId |
| | | } |
| | | }) |
| | | } else { |
| | | this.form.delDetailList.forEach(row => { |
| | | if (item === row.name) { |
| | | 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({ dataType: 2 }) |
| | | .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.name) |
| | | }, |
| | | getValue(list) { |
| | | if (this.activeName === '0') { |
| | | this.form.addDetailList.push(...list) |
| | | } else { |
| | | this.form.delDetailList.push(...list) |
| | | } |
| | | } |
| | | } |
| | | import BaseOpera from '@/components/base/BaseOpera' |
| | | import GlobalWindow from '@/components/common/GlobalWindow' |
| | | import selectEmployees from '@/components/enterprise/selectEmployees' |
| | | 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 { all } from '@/api/business/solutions' |
| | | import { getDetail } 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 |
| | | }, |
| | | data () { |
| | | return { |
| | | form: { |
| | | id: null, |
| | | solutionId: '', |
| | | solutionsName: '', |
| | | applyStartTime: '', |
| | | applyEndTime: '', |
| | | addDetailList: [], |
| | | delDetailList: [] |
| | | }, |
| | | tempMemberIndex: -1, |
| | | activeName: '0', |
| | | pickerOptions: {}, |
| | | price: '', |
| | | reducePrice: '', |
| | | endTime: '', // 实际保险生效止期 |
| | | company: [], |
| | | seleData: [], |
| | | item: null, |
| | | // 验证规则 |
| | | rules: { |
| | | applyStartTime: [ |
| | | { required: true, message: '请选择批单生效起期' } |
| | | ] |
| | | }, |
| | | list: [] |
| | | } |
| | | }, |
| | | computed: { |
| | | ...mapState(['userInfo']) |
| | | }, |
| | | created () { |
| | | this.config({ |
| | | api: '/business/insuranceApply', |
| | | 'field.id': 'id' |
| | | }) |
| | | }, |
| | | methods: { |
| | | open (title, target) { |
| | | this.title = title |
| | | this.form.addDetailList = [] |
| | | this.form.delDetailList = [] |
| | | this.list = [] |
| | | this.form.id = null |
| | | this.item = null |
| | | this.tempMemberIndex = -1 |
| | | this.form.solutionId = '' |
| | | this.form.solutionsName = '' |
| | | this.form.applyStartTime = '' |
| | | this.form.applyEndTime = '' |
| | | // alert(target.id) |
| | | if (target && target.id) { |
| | | this.$nextTick(() => { |
| | | this.$refs.form.resetFields() |
| | | this.form.id = target.id |
| | | this.getDetails() |
| | | this.changeApplyStartTime(null) |
| | | }) |
| | | } else { |
| | | this.$nextTick(() => { |
| | | this.$refs.form.resetFields() |
| | | this.form[this.configData['field.id']] = null |
| | | }) |
| | | } |
| | | this.getCompany() |
| | | this.visible = true |
| | | // this.updatePickerOptions() |
| | | }, |
| | | changeApplyStartTime (e) { |
| | | getChangeCountCyclePriceVO({ |
| | | applyId: this.form.id, |
| | | validTime: e |
| | | }).then(res => { |
| | | this.price = res.cyclePrice |
| | | this.reducePrice = 0 |
| | | this.form.addDetailList.forEach(item => { |
| | | item.fee = res.cyclePrice |
| | | }) |
| | | this.form.delDetailList.forEach(item => { |
| | | // item.fee = item.reducePrice |
| | | }) |
| | | }).catch(e => { |
| | | this.$tip.apiFailed(e) |
| | | }).finally(() => { |
| | | this.isWorking = false |
| | | }) |
| | | }, |
| | | handleClick (e) { |
| | | this.activeName = e.index |
| | | }, |
| | | // 获取投保详情 |
| | | 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) |
| | | this.item = res |
| | | this.endTime = res.endTime |
| | | this.form.solutionId = res.solutionId |
| | | this.form.solutionsName = res.solutionsName |
| | | this.pickerOptions = { |
| | | disabledDate (time) { |
| | | // 当前日期大于等于生效日期并且最后一次操作时间等于空 |
| | | if ([1, 3].includes(compareDates(getDate(), res.startTime)) && !res.lastChangeDate) { |
| | | return time.getTime() > new Date(res.endTime).getTime() || time.getTime() < new Date(getTomorrow()).getTime() |
| | | // 当前日期小于生效日期并且最后一次操作时间等于空 |
| | | } else if (compareDates(getDate(), res.startTime) === 2 && !res.lastChangeDate) { |
| | | return time.getTime() > new Date(res.endTime).getTime() || time.getTime() < new Date(res.startTime).getTime() |
| | | // 最后一次操作时间有值 |
| | | } else if (res.lastChangeDate) { |
| | | // 当前日期大于最后一次操作时间 |
| | | if ([1, 3].includes(compareDates(getDate(), res.lastChangeDate))) { |
| | | return time.getTime() > new Date(res.endTime).getTime() || time.getTime() < new Date(getTomorrow()).getTime() |
| | | // 当前时间小于最后一次操作时间 |
| | | } else if (compareDates(getDate(), res.lastChangeDate) === 2) { |
| | | return time.getTime() > new Date(res.endTime).getTime() || time.getTime() < new Date(res.lastChangeDate).getTime() |
| | | } |
| | | } |
| | | } |
| | | } |
| | | // 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 |
| | | 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.seleData.length === 0) { |
| | | this.$message.warning('至少选择一项内容') |
| | | return |
| | | } |
| | | if (this.activeName === '0') { |
| | | this.seleData.forEach(item => { |
| | | this.form.addDetailList.forEach((row, index) => { |
| | | if (item === row.idCard) { |
| | | this.form.addDetailList.splice(index, 1) |
| | | } |
| | | }) |
| | | }) |
| | | } else { |
| | | this.seleData.forEach(item => { |
| | | this.form.delDetailList.forEach((row, index) => { |
| | | if (item === row.idCard) { |
| | | this.form.delDetailList.splice(index, 1) |
| | | } |
| | | }) |
| | | }) |
| | | } |
| | | }, |
| | | success () { |
| | | 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(res => { |
| | | this.visible = false |
| | | this.$tip.apiSuccess('操作成功') |
| | | // this.$refs.OperaApplyChangeDetailWindow.open('加减保详情', { applyId: this.form.id, id: res }) |
| | | this.$emit('success', { applyId: this.form.id, id: res }) |
| | | }).catch(e => { |
| | | this.$tip.apiFailed(e) |
| | | }).finally(() => { |
| | | this.isWorking = false |
| | | }) |
| | | }, |
| | | confirm () { |
| | | 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 |
| | | } |
| | | } |
| | | 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 |
| | | } |
| | | } |
| | | |
| | | 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.form.solutionId) { |
| | | this.$message.warning('请先选择保险方案') |
| | | return |
| | | } |
| | | /* 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 }) |
| | | } else { |
| | | this.$refs.selectEmployees.open('选取减保员工', { arr: this.form.delDetailList, price: this.reducePrice, insuranceApplyId: this.form.id, validTime: this.form.applyStartTime }) |
| | | } |
| | | }, |
| | | addUser () { |
| | | if (!this.form.solutionId) { |
| | | this.$message.warning('请先选择保险方案') |
| | | return |
| | | } |
| | | if (this.activeName === '0') { |
| | | this.$refs.addEmployee.open('添加加保员工', { arr: this.form.addDetailList, solutionId: this.item.newVersionSolutionId, price: this.price }) |
| | | } else { |
| | | this.$refs.addEmployee.open('添加减保员工', { arr: this.form.delDetailList, solutionId: this.item.newVersionSolutionId, price: this.reducePrice }) |
| | | } |
| | | }, |
| | | uploadUser () { |
| | | if (!this.form.solutionId) { |
| | | this.$message.warning('请先选择保险方案') |
| | | return |
| | | } |
| | | |
| | | if (this.activeName === '0') { |
| | | this.$refs.importEmployees.open('加保员工名单', { arr: this.form.addDetailList, type: 1, price: this.price, solutionId: this.item.newVersionSolutionId }) |
| | | } else { |
| | | this.$refs.importEmployees.open('减保员工名单', { arr: this.form.delDetailList, type: 0, price: this.reducePrice, solutionId: this.item.newVersionSolutionId, insuranceApplyId: this.form.id }) |
| | | } |
| | | }, |
| | | // 切换方案 |
| | | changeSolution1 (e) { |
| | | this.company.forEach(item => { |
| | | console.log(item.id + '-----' + e) |
| | | if (item.id === e) { |
| | | console.log(item) |
| | | this.item = item |
| | | } |
| | | }) |
| | | // this.tableData.forEach(item => { |
| | | // item.fee = this.price |
| | | // }) |
| | | }, |
| | | dele (index) { |
| | | if (this.activeName === '0') { |
| | | this.form.addDetailList.splice(index, 1) |
| | | } else { |
| | | this.form.delDetailList.splice(index, 1) |
| | | } |
| | | }, |
| | | getUser (obj) { |
| | | console.log(this.seleData) |
| | | this.seleData.forEach(item => { |
| | | if (this.activeName === '0') { |
| | | this.form.addDetailList.forEach(row => { |
| | | if (item === row.idCard) { |
| | | row.workTypeName = obj.workTypeName |
| | | row.worktypeId = obj.worktypeId |
| | | row.duName = obj.duName |
| | | row.duId = obj.duId |
| | | } |
| | | }) |
| | | } else { |
| | | this.form.delDetailList.forEach(row => { |
| | | if (item === 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.item.newVersionSolutionId }) |
| | | }, |
| | | // 查询全部方案 |
| | | getCompany () { |
| | | all({ dataType: 2 }) |
| | | .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) { |
| | | list.forEach(item => { |
| | | const temIndex = this.tempMemberIndex |
| | | item.id = temIndex |
| | | item.name = item.memberName |
| | | this.tempMemberIndex = this.tempMemberIndex - 1 |
| | | }) |
| | | if (this.activeName === '0') { |
| | | this.form.addDetailList.push(...list) |
| | | } else { |
| | | this.form.delDetailList.push(...list) |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |