| | |
| | | > |
| | | <div class="desc"> |
| | | <div class="desc_item"> |
| | | <div class="desc_item_label" v-if="userInfo.type === 1 &&(model.statusCollect === 2 || model.statusCollect === 3)"> |
| | | <div class="desc_item_label_left"> |
| | | <span>保险到期还有 <b style="color: #F95601;">{{model.loseEfficacyDays ? model.loseEfficacyDays : '-'}}</b> 天</span> |
| | | <el-button type="primary" v-if="model.statusCollect === 2 || model.statusCollect === 3" @click="$refs.OperaInsuranceApply.open('续保', { id: dataId, type: 1 })">一键续保</el-button> |
| | | <el-button type="primary" v-if="model.statusCollect === 2" @click="$refs.additionSubtractionApplication.open('加减保申请', { id: dataId })">加减保申请</el-button> |
| | | <el-button type="primary" v-if="model.statusCollect === 2" @click="$refs.factoryChange.open('更换派遣单位申请', { id: dataId })">更换派遣单位申请</el-button> |
| | | </div> |
| | | </div> |
| | | <div class="desc_item_label"> |
| | | <div class="desc_item_label_left"> |
| | | <span>投保企业:{{ model.companyName }}</span> |
| | | <span>投保人:{{ model.companyName }}</span> |
| | | <span>保单状态:<span :class="'apply-status'+model.status" >{{ model.statusInfo }}</span></span> |
| | | <span>提交时间:{{ model.createDate }}</span> |
| | | </div> |
| | | <div class="desc_item_label_right"> |
| | | <template v-if="userInfo.type === 1"> |
| | | <el-button v-if="[0, 2, 3, 10].includes(model.status)" type="danger" @click="$refs.applyReturn.open('申请退回', {id: dataId})">申请退回</el-button> |
| | | <el-button v-if="model.status == 4" type="primary" @click="$refs.OperaInsuranceApply.open('投保申请', {id: dataId})">再次投保</el-button> |
| | | <el-button v-if="model.status == 4" type="primary" @click="closeOrder">关闭订单</el-button> |
| | | <el-button type="primary" @click="$refs.InsuranceDetails.open('投保详情单',model,0)">导出详单</el-button> |
| | | <el-button v-if="[2, 3, 5, 7, 8].includes(model.status)" type="primary" @click="viewToubaodan">查看投保单</el-button> |
| | | <el-button v-if="model.status == 5" type="primary" @click="viewBaoxiandan">查看保险单</el-button> |
| | | <el-button v-if="model.status == 24" type="primary" @click="$refs.OperaInsuranceApply.open('投保申请', {id: dataId})">再次投保</el-button> |
| | | <el-button v-if="model.status == 24" type="primary" @click="closeOrder">关闭订单</el-button> |
| | | <el-button v-if="[21,22,23,24,25,26,27].includes(model.status)" type="primary" @click="viewFanganshu">查看确认书</el-button> |
| | | <el-button v-if="[22,23,24,25,26,27].includes(model.status)" type="primary" @click="viewShenqingdan">查看申请单</el-button> |
| | | <el-button v-if="[1,2,3].includes(model.unionApplyTbdStatus)" type="primary" @click="viewToubaodan">查看投保单</el-button> |
| | | <el-button v-if="[3].includes(model.unionApplyTbdStatus) " type="primary" @click="viewBaoxiandan">查看保险单</el-button> |
| | | <!-- goSign--> |
| | | <el-button v-if="model.status == 2" type="primary" @click="$refs.operaverifyPhoneNumberWindew.open('验证手机号')">签署投保单</el-button> |
| | | <el-button v-if="model.status == 20" type="primary" @click="getSignLink(0)">签署方案确认书</el-button> |
| | | <el-button v-if="model.status == 21" type="primary" @click="getSignLink(1)">签署申请单</el-button> |
| | | <el-button v-if="model.unionApplyTbdStatus == 1" type="primary" @click="getSignLink(2)">签署投保单</el-button> |
| | | </template> |
| | | <template v-else> |
| | | <el-button type="primary" @click="$refs.InsuranceDetails.open('投保详情单',model,0)">导出详单</el-button> |
| | | <el-button v-if="[2, 3, 5, 7, 8].includes(model.status)" type="primary" @click="viewToubaodan">查看投保单</el-button> |
| | | <el-button v-if="model.status == 5" type="primary" @click="viewBaoxiandan">查看保险单</el-button> |
| | | <el-button v-if="[2,10].includes(model.status) && model.solutionType ==0" type="primary" @click="$refs.OperaInsuranceApplyCheckWindow.open('上传投保单',model,2)">上传投保单</el-button> |
| | | <el-button v-if="model.status == 3 && model.solutionType ==0" type="primary" @click="$refs.OperaInsuranceApplyCheckWindow.open('上传保险单',model,3)">上传保险单</el-button> |
| | | <el-button v-if="[6,7,8,11].includes(model.status) && model.solutionType ==0" type="primary" @click="$refs.OperaInsuranceApplyCheckWindow.open('驳回退回申请',model,5)">驳回退回申请</el-button> |
| | | <el-button v-if="model.status == 0 && model.solutionType ==0" type="primary" @click="$refs.InsuranceDetails.open('投保审核',model,1)">投保审核</el-button> |
| | | <el-button v-if="![1,4,,5].includes(model.status) && model.solutionType ==0" type="danger" @click="$refs.OperaInsuranceApplyCheckWindow.open('退回投保',model,1)">退回投保</el-button> |
| | | <el-button v-if="model.status == 5 && model.solutionType ==0" type="danger" @click="$refs.OperaInsuranceApplyCheckWindow.open('修改保险单',model,4)">修改保险单</el-button> |
| | | <template v-if="userInfo.type === 2"> |
| | | <el-button v-if="[21,22,23,24,25,26,27].includes(model.status)" type="primary" @click="viewFanganshu">查看确认书</el-button> |
| | | <el-button v-if="[22,23,24,25,26,27].includes(model.status)" type="primary" @click="viewShenqingdan">查看申请单</el-button> |
| | | <el-button v-if="model.status == 22" type="primary" @click="$refs.InsuranceDetails.open('投保审核',model,1)">投保审核</el-button> |
| | | <el-button v-if="[20,21,22].includes(model.status)" type="danger" @click="$refs.OperaWtbApplyCheckWindow.open('退回投保',model,1)">退回申请</el-button> |
| | | <el-button v-if="model.status == 23" type="danger" @click="$refs.OperaWtbApplyCheckWindow.open('关闭申请',model,2)">关闭申请</el-button> |
| | | </template> |
| | | <template v-if="userInfo.type === 0"> |
| | | <el-button v-if="[27].includes(model.status)" type="primary" @click="viewFanganshu">查看确认书</el-button> |
| | | <el-button v-if="[27].includes(model.status)" type="primary" @click="viewShenqingdan">查看申请单</el-button> |
| | | <el-button v-if="[27].includes(model.status)" type="primary" @click="viewToubaodan">查看投保单</el-button> |
| | | <el-button v-if="[27].includes(model.status)" type="primary" @click="viewBaoxiandan">查看保险单</el-button> |
| | | </template> |
| | | </div> |
| | | </div> |
| | |
| | | label="保单号"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="solutionsName" |
| | | prop="solutionName" |
| | | label="保险方案" |
| | | align="center" |
| | | width="180"> |
| | |
| | | </span> |
| | | </span> |
| | | <span style="margin-top: 5px; font-size: 12px; font-weight: 400; color: #999999;"> |
| | | 操作员-{{activity.creatorName}}({{activity.creatorType == 1 ? activity.companyName: "平台端"}}){{activity.createDate}} |
| | | 操作员-{{activity.creatorName}}({{(activity.creatorType == 1||activity.creatorType == 2) ? activity.companyName: "平台端"}}){{activity.createDate}} |
| | | </span> |
| | | </div> |
| | | </el-timeline-item> |
| | |
| | | </div> |
| | | </div> |
| | | <InsuranceDetails ref="InsuranceDetails" @success="successEvent" /> |
| | | <OperaInsuranceApplyCheckWindow ref="OperaInsuranceApplyCheckWindow" @success="successEvent" /> |
| | | <OperaWtbApplyCheckWindow ref="OperaWtbApplyCheckWindow" @success="successEvent" /> |
| | | <!-- 企业申请退回 --> |
| | | <applyReturn ref="applyReturn" @success="successEvent" /> |
| | | <!-- 新增投保 --> |
| | |
| | | <template v-slot:footer> |
| | | <el-button @click="visible=false">返回</el-button> |
| | | </template> |
| | | |
| | | <!-- 修改手机号 --> |
| | | <el-dialog |
| | | :title="signTitle" |
| | | :visible.sync="visiblePhone" |
| | | width="500px" |
| | | :modal="false" |
| | | :show-close="false" |
| | | :close-on-click-modal="false" |
| | | center> |
| | | <el-form :model="form" ref="form" :rules="rules"> |
| | | <el-form-item label="手机号" prop="phone"> |
| | | <el-input v-model="form.phone" placeholder="请输入" disabled v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="验证码" prop="code"> |
| | | <div style="width: 100%; display: flex; align-items: center;"> |
| | | <el-input v-model="form.code" placeholder="请输入" v-trim/> |
| | | <el-button type="primary" style="margin-left: 15px;" @click="send" v-if="num === 0">发送验证码</el-button> |
| | | <el-button type="primary" style="margin-left: 15px;" v-else>{{num}}s</el-button> |
| | | </div> |
| | | </el-form-item> |
| | | </el-form> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="goSignDo()">确 定</el-button> |
| | | <el-button @click="visiblePhone=false">取 消</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | </GlobalWindow> |
| | | </template> |
| | | |
| | |
| | | import BaseOpera from '@/components/base/BaseOpera' |
| | | import GlobalWindow from '@/components/common/GlobalWindow' |
| | | import InsuranceDetails from '@/components/business/InsuranceDetails' |
| | | import OperaInsuranceApplyCheckWindow from '@/components/business/OperaInsuranceApplyCheckWindow' |
| | | import OperaWtbApplyCheckWindow from '@/components/business/OperaWtbApplyCheckWindow' |
| | | import additionSubtractionApplication from '@/components/enterprise/additionSubtractionApplication' |
| | | import factoryChange from '@/components/enterprise/factoryChange' |
| | | import operaverifyPhoneNumberWindew from '@/components/business/operaverifyPhoneNumberWindew' |
| | | import OperaApplyChangeDetailWindow from '@/components/business/OperaApplyChangeDetailWindow' |
| | | import OperaApplyChangeUnitDetailWindow from '@/components/business/OperaApplyChangeUnitDetailWindow' |
| | | import { getById } from '@/api/business/unionApply' |
| | | |
| | | import applyReturn from '@/components/enterprise/applyReturn' |
| | | import { getDetail, getSignLink, applyDetailPage, applyChagneDetailPage, exportExcel, applyChagneDetailExcel, applyOpt } from "@/api/business/insuranceApply"; |
| | | import { findListByDTO } from "@/api/business/dispatchUnit"; |
| | | import { fetchList } from "@/api/business/applyChange"; |
| | | import { findListByDTO as worktypeFindListByDTO } from "@/api/business/worktype"; |
| | | import { |
| | | getDetail, |
| | | getSignLink, |
| | | applyDetailPage, |
| | | exportExcel, |
| | | applyChagneDetailExcel, |
| | | applyOpt, |
| | | getMemberListOnlineSignLink, getSignTBQRSLink |
| | | } from '@/api/business/insuranceApply' |
| | | import { findListByDTO } from '@/api/business/dispatchUnit' |
| | | import { fetchList } from '@/api/business/applyChange' |
| | | import { findListByDTO as worktypeFindListByDTO } from '@/api/business/worktype' |
| | | import OperaInsuranceApply from '@/components/enterprise/OperaInsuranceApplyWindow' |
| | | import { mapState } from 'vuex' |
| | | import {sendSms, validateCode} from "@/api/business/smsEmail"; |
| | | |
| | | export default { |
| | | name: 'detailsEntrustedInsurance', |
| | | name: 'OperaWtbApplyShopWindow', |
| | | extends: BaseOpera, |
| | | components: { |
| | | GlobalWindow, |
| | | InsuranceDetails, |
| | | OperaInsuranceApplyCheckWindow, |
| | | OperaWtbApplyCheckWindow, |
| | | applyReturn, |
| | | OperaInsuranceApply, |
| | | additionSubtractionApplication, |
| | |
| | | return { |
| | | // 表单数据 |
| | | dataId:null, |
| | | signTitle: '手机号验证', |
| | | model: {}, |
| | | form: { |
| | | id: null, |
| | | editDate: '' |
| | | businessId: null, |
| | | phone: this.$store.state.userInfo.company.phone, |
| | | code: '', |
| | | type:0 |
| | | }, |
| | | // 验证规则 |
| | | rules: { |
| | | code: [ |
| | | { required: true, message: '请输入验证码' } |
| | | ] |
| | | }, |
| | | num: 0, |
| | | timer: null, |
| | | formInline: { |
| | | applyStatus: '', |
| | | duId: '', |
| | |
| | | visible3: false, |
| | | visible4: false, |
| | | visible5: false, |
| | | visiblePhone: false, |
| | | reverse: false, |
| | | radio: 0, |
| | | activities: [], |
| | |
| | | }, |
| | | methods: { |
| | | open(title,target){ |
| | | this.visible = true; |
| | | this.visible = true |
| | | this.title = title |
| | | this.model = {} |
| | | this.dataId = null |
| | | this.dataId = target.id |
| | | this.form.businessId = target.id |
| | | this.formInline.applyStatus = '' |
| | | this.formInline.duId = '' |
| | | this.formInline.workTypeId = '' |
| | |
| | | this.getDW() |
| | | this.getGZ() |
| | | }, |
| | | getSignLink (flag) { |
| | | if (flag === 0) { |
| | | this.signTitle = '签署方案确认书' |
| | | } else if (flag === 1) { |
| | | this.signTitle = '签署申请单' |
| | | } else if (flag === 2) { |
| | | this.signTitle = '签署投保单' |
| | | } |
| | | this.form.type = flag |
| | | this.visiblePhone = true |
| | | this.$nextTick(() => { |
| | | this.$refs.form.resetFields() |
| | | }); |
| | | }, |
| | | goSignDo(){ |
| | | this.$refs.form.validate((valid) => { |
| | | if (!valid) { |
| | | return |
| | | } |
| | | this.isWorking = true |
| | | if(this.form.type===0){ |
| | | getSignTBQRSLink(this.form).then(res => { |
| | | setTimeout(() => { |
| | | this.visiblePhone=false |
| | | window.open(res) |
| | | }, 500) |
| | | }).catch(err => { |
| | | this.$tip.apiFailed(err) |
| | | }) |
| | | } else if (this.form.type === 1) { |
| | | getMemberListOnlineSignLink(this.form).then(res => { |
| | | setTimeout(() => { |
| | | this.visiblePhone=false |
| | | window.open(res) |
| | | }, 500) |
| | | }).catch(err => { |
| | | this.$tip.apiFailed(err) |
| | | }) |
| | | } else if (this.form.type === 2) { |
| | | getSignLink(this.dataId).then(res => { |
| | | setTimeout(() => { |
| | | this.visiblePhone=false |
| | | window.open(res) |
| | | }, 500) |
| | | }).catch(err => { |
| | | this.$tip.apiFailed(err) |
| | | }) |
| | | } |
| | | }) |
| | | }, |
| | | send () { |
| | | sendSms({ |
| | | phone: this.form.phone |
| | | }).then(res => { |
| | | this.num = 60 |
| | | this.setTime() |
| | | }) |
| | | }, |
| | | setTime () { |
| | | this.timer = setInterval(() => { |
| | | if (this.num === 0) { |
| | | clearInterval(this.timer) |
| | | this.timer = null |
| | | return |
| | | } |
| | | this.num = this.num - 1 |
| | | }, 1000) |
| | | }, |
| | | // 关闭订单 |
| | | closeOrder () { |
| | | this.$confirm('确认关闭此订单吗?', '提示', { |
| | |
| | | }) |
| | | }).catch(() => { |
| | | |
| | | }); |
| | | }) |
| | | }, |
| | | // 派遣单位 |
| | | getDW() { |
| | |
| | | this.$nextTick(() => { |
| | | console.log(this.$refs.table) |
| | | if (this.$refs.table && this.$refs.table.doLayout) { |
| | | this.$refs.table.doLayout(); |
| | | this.$refs.table.doLayout() |
| | | } |
| | | }); |
| | | }) |
| | | }) |
| | | } else { |
| | | fetchList({ |
| | |
| | | this.$nextTick(() => { |
| | | console.log(this.$refs.table) |
| | | if (this.$refs.table && this.$refs.table.doLayout) { |
| | | this.$refs.table.doLayout(); |
| | | this.$refs.table.doLayout() |
| | | } |
| | | }); |
| | | }) |
| | | }) |
| | | } |
| | | }, |
| | |
| | | getSignLink(this.dataId).then(res => { |
| | | setTimeout(() => { |
| | | window.open(res) |
| | | }, 500); |
| | | }, 500) |
| | | }).catch(err => { |
| | | this.$tip.apiFailed(err) |
| | | }) |
| | |
| | | if(this.model.toubaodanSignedFile && this.model.toubaodanSignedFile.fileurlFull){ |
| | | setTimeout(() => { |
| | | window.open(this.model.toubaodanSignedFile.fileurlFull) |
| | | }, 500); |
| | | |
| | | }, 500) |
| | | } else if(this.model.toubaodanFile && this.model.toubaodanFile.fileurlFull){ |
| | | setTimeout(() => { |
| | | window.open(this.model.toubaodanFile.fileurlFull) |
| | |
| | | viewBaoxiandan(){ |
| | | if(this.model.baoxiandanFile && this.model.baoxiandanFile.fileurlFull){ |
| | | window.open(this.model.baoxiandanFile.fileurlFull) |
| | | } |
| | | }, |
| | | viewFanganshu () { |
| | | if (this.model.fanganFile && this.model.fanganFile.fileurlFull) { |
| | | window.open(this.model.fanganFile.fileurlFull) |
| | | } |
| | | }, |
| | | viewShenqingdan () { |
| | | if (this.model.shenqingdanFile && this.model.shenqingdanFile.fileurlFull) { |
| | | window.open(this.model.shenqingdanFile.fileurlFull) |
| | | } |
| | | }, |
| | | handleSizeChange(val){ |
| | |
| | | |
| | | }, |
| | | getDetail(){ |
| | | getDetail(this.dataId).then(res => { |
| | | getById(this.dataId).then(res => { |
| | | this.model = res |
| | | this.tableData = new Array() |
| | | this.tableData.push(res) |