| | |
| | | export function getSignLink (id) { |
| | | return request.get(`business/insuranceApply/getSignLink/${id}`) |
| | | } |
| | | export function getSignTBQRSLink (data) { |
| | | return request.post('/business/insuranceApply/getSignTBQRSLink', data, { |
| | | trim: true |
| | | }) |
| | | } |
| | | export function getMemberListOnlineSignLink (data) { |
| | | return request.post('/business/insuranceApply/getMemberListOnlineSignLink', data, { |
| | | trim: true |
| | | }) |
| | | } |
| | | export function getSignWTBTBDLinkk (data) { |
| | | return request.post('/business/insuranceApply/getSignWTBTBDLinkk', data, { |
| | | trim: true |
| | | }) |
| | | } |
| | | export function getJiajianBaoSignLink (data) { |
| | | return request.post('/business/applyChange/getJiajianBaoSignLink', data, { |
| | | trim: true |
| | |
| | | ::v-deep .el-table__cell { |
| | | height: 100% !important; |
| | | } |
| | | .apply-status0, .apply-status2 , .apply-status3, .apply-status10, |
| | | .apply-status0, .apply-status28,.apply-status20,.apply-status21,.apply-status22, |
| | | .apply-status25,.apply-status2 , .apply-status3, .apply-status10, |
| | | .change-status0,.change-status1,.change-status2, |
| | | .settle-status0,.settle-status2,.settle-status3, |
| | | .tax-status0, |
| | | .du-status0 { |
| | | color: #216EEE !important; |
| | | } |
| | | .apply-status1 , .apply-status4, .apply-status6, .apply-status7, .apply-status8, .apply-status11, |
| | | .apply-status1 ,.apply-status24,.apply-status23, .apply-status4, .apply-status6, |
| | | .apply-status7, .apply-status8, .apply-status11, |
| | | .change-status3,.change-status4,.change-status5,.change-status8, |
| | | .settle-status1, |
| | | .tax-status2, |
| | | .du-status2 { |
| | | color: #F95601 !important; |
| | | } |
| | | .apply-status5,.change-status7,.settle-status7,.tax-status1,.du-status1,.settle-status4 { |
| | | .apply-status5,.apply-status26,.change-status7,.settle-status7,.tax-status1,.du-status1,.settle-status4 { |
| | | color: #00BA92 !important; |
| | | } |
| | |
| | | <template> |
| | | <GlobalWindow |
| | | :title="title" |
| | | width="50%" |
| | | :visible.sync="visible" |
| | | :confirm-working="isWorking" |
| | | @confirm="confirm" |
| | | > |
| | | <!-- 退回投保 --> |
| | | <el-form v-if="visible1==true" :model="form" ref="form1" :rules="rules1" style="width: 100%;"> |
| | | <el-form-item label="填写退回说明:" prop="backCheckInfo"> |
| | | <el-input type="textarea" v-model="form.backCheckInfo" placeholder="请输入" v-trim/> |
| | | </el-form-item> |
| | | </el-form> |
| | | <el-form v-if="visible2==true" :model="form" ref="form2" :rules="rules2" style="width: 100%;"> |
| | | <el-form-item label="上传投保单:" prop="toubaodanFile"> |
| | | <UploadFile @remove="dele2" :uploadData="{ folder: 'apply',fileType:'.pdf' }" :fileList="form.fileList" @uploadSuccess="toubaoFileUploaded" /> |
| | | </el-form-item> |
| | | </el-form> |
| | | <!-- 上传保险单 --> |
| | | <el-form v-if="visible3==true" :model="form" ref="form3" :rules="rules3" style="width: 100%;"> |
| | | <el-form-item label="客户期望保险生效起期:"> |
| | | {{ model.applyStartTime }} |
| | | </el-form-item> |
| | | <el-form-item label="" > |
| | | <el-radio-group v-model="form.selectRadio" @change="selectChange"> |
| | | <el-radio :label="0" >与保单一致</el-radio> |
| | | <el-radio :label="1" >与保单不一致</el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | <el-form-item label="保险生效起期:" prop="startTime" v-if="form.selectRadio === 1"> |
| | | <el-date-picker |
| | | v-model="form.startTime" |
| | | type="date" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | placeholder="选择日期"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="保险生效起期:"> |
| | | {{ form.startTime }} |
| | | </el-form-item> |
| | | <el-form-item label="保单号:" prop="code"> |
| | | <el-input v-model="form.code" placeholder="请输入" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="上传保险单:" prop="baoxianFile"> |
| | | <UploadFile :uploadData="{ folder: 'apply',fileType:'.pdf' }" :fileList="form.fileList1" @uploadSuccess="baoxianFileUploaded" /> |
| | | </el-form-item> |
| | | </el-form> |
| | | <!-- 修改保险单 --> |
| | | <el-form v-if="visible4==true" :model="form" ref="form4" :rules="rules4" style="width: 100%;"> |
| | | <el-form-item label="保险生效起期:"> |
| | | {{ model.startTime }} |
| | | </el-form-item> |
| | | <el-form-item label="保单号:" prop="editCode"> |
| | | <el-input v-model="form.editCode" placeholder="请输入" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="上传保险单:" prop="editBaoxianFile"> |
| | | <UploadFile :uploadData="{ folder: 'apply',fileType:'.pdf' }" :fileList="form.fileList1" @uploadSuccess="editBaoxianFileUploaded" /> |
| | | </el-form-item> |
| | | <el-form-item label="修改原因:" prop="editCheckInfo"> |
| | | <el-input type="textarea" v-model="form.editCheckInfo" placeholder="请输入" v-trim/> |
| | | </el-form-item> |
| | | </el-form> |
| | | <el-form v-if="visible5==true || visible6==true" :model="form" ref="form5" :rules="rules5" style="width: 100%;"> |
| | | <el-form-item label="填写说明:" prop="dealBackInfo"> |
| | | <el-input type="textarea" v-model="form.dealBackInfo" placeholder="请输入" v-trim/> |
| | | </el-form-item> |
| | | </el-form> |
| | | <template v-slot:footer> |
| | | <el-button type="primary" @click="doSubmit">确 定</el-button> |
| | | <el-button @click="visible=false">取消</el-button> |
| | | </template> |
| | | </GlobalWindow> |
| | | </template> |
| | | |
| | | <script> |
| | | import BaseOpera from '@/components/base/BaseOpera' |
| | | import GlobalWindow from '@/components/common/GlobalWindow' |
| | | import { |
| | | dealBackApply, |
| | | back, |
| | | uploadBaoxiandan, |
| | | editBaoxiandan, |
| | | uploadToubaodan, |
| | | check |
| | | } from "@/api/business/insuranceApply"; |
| | | import UploadFile from "@/components/common/UploadFile"; |
| | | import {remark} from "@/api/business/settleClaims"; |
| | | export default { |
| | | name: 'OperaWtbApplyCheckWindow', |
| | | extends: BaseOpera, |
| | | components: {UploadFile, GlobalWindow }, |
| | | data () { |
| | | return { |
| | | // 表单数据 |
| | | model: {}, |
| | | falg :0, |
| | | rules1: { |
| | | backCheckInfo: [ |
| | | { required: true, message: '请完善信息' } |
| | | ] |
| | | }, |
| | | rules2: { |
| | | toubaodanFile: [ |
| | | { required: true, message: '请完善信息' } |
| | | ] |
| | | }, |
| | | rules3: { |
| | | code: [ |
| | | { required: true, message: '请完善信息' } |
| | | ], |
| | | startTime: [ |
| | | { required: true, message: '请完善信息' } |
| | | ], |
| | | baoxianFile: [ |
| | | { required: true, message: '请完善信息' } |
| | | ], |
| | | }, |
| | | rules5: { |
| | | dealBackInfo: [ |
| | | { required: true, message: '请完善信息' } |
| | | ] |
| | | }, |
| | | rules4: { |
| | | editCode: [ |
| | | { required: true, message: '请完善信息' } |
| | | ], |
| | | editBaoxianFile: [ |
| | | { required: true, message: '请完善信息' } |
| | | ], |
| | | editCheckInfo: [ |
| | | { required: true, message: '请完善信息' } |
| | | ] |
| | | }, |
| | | form: { |
| | | id: null, |
| | | backCheckInfo:'', |
| | | dealBackInfo:'', |
| | | editCheckInfo:'', |
| | | editDate: '', |
| | | editCode: '', |
| | | startTime:null, |
| | | code:null, |
| | | toubaodanFile:null, |
| | | baoxianFile:null, |
| | | editBaoxianFile:null, |
| | | fileList: [], |
| | | fileList1: [], |
| | | fileList2: [], |
| | | selectRadio:0 |
| | | }, |
| | | visible1: false, |
| | | visible2: false, |
| | | visible3: false, |
| | | visible4: false, |
| | | visible5: false, |
| | | visible6: false, |
| | | } |
| | | }, |
| | | created () { |
| | | this.config({ |
| | | api: '/business/insuranceApply', |
| | | 'field.id': 'id' |
| | | }) |
| | | }, |
| | | methods: { |
| | | dele2() { |
| | | this.form.toubaodanFile = '' |
| | | }, |
| | | open(title,target,flag){ |
| | | this.visible=true |
| | | this.model={} |
| | | this.form= { |
| | | id: null, |
| | | backCheckInfo:'', |
| | | dealBackInfo:'', |
| | | editCheckInfo:'', |
| | | editDate: '', |
| | | editCode: '', |
| | | startTime:null, |
| | | code:null, |
| | | toubaodanFile:null, |
| | | baoxianFile:null, |
| | | editBaoxianFile:null, |
| | | fileList: [], |
| | | fileList1: [], |
| | | fileList2: [], |
| | | selectRadio:0 |
| | | }, |
| | | this.model = target |
| | | this.form.startTime = target.startTime |
| | | this.title = title |
| | | this.flag = flag |
| | | this.visible1 = false |
| | | this.visible2 = false |
| | | this.visible3 = false |
| | | this.visible4 = false |
| | | this.visible5 = false |
| | | this.visible6 = false |
| | | if(flag == 1){ |
| | | this.visible1 = true |
| | | } |
| | | if(flag == 2){ |
| | | this.visible2 = true |
| | | } |
| | | if(flag == 3){ |
| | | this.visible3 = true |
| | | } |
| | | if(flag == 4){ |
| | | this.visible4 = true |
| | | this.$nextTick(() => { |
| | | this.$refs.form4.resetFields() |
| | | }) |
| | | } |
| | | if(flag == 5){ |
| | | this.visible5 = true |
| | | } |
| | | if(flag == 6){ |
| | | this.visible6 = true |
| | | } |
| | | }, |
| | | doSubmit(){ |
| | | if (this.flag == 1) { |
| | | this.$refs.form1.validate((valid) => { |
| | | // debugger |
| | | if (!valid) { |
| | | return |
| | | } |
| | | this.backDo() |
| | | }) |
| | | } else if (this.flag == 2) { |
| | | this.$refs.form2.validate((valid) => { |
| | | // debugger |
| | | if (!valid) { |
| | | return |
| | | } |
| | | this.uploadToubaodan() |
| | | }) |
| | | } else if (this.flag == 3) { |
| | | this.$refs.form3.validate((valid) => { |
| | | // debugger |
| | | if (!valid) { |
| | | return |
| | | } |
| | | this.uploadBaoxiandan() |
| | | }) |
| | | } else if (this.flag == 4) { |
| | | this.$refs.form4.validate((valid) => { |
| | | // debugger |
| | | if (!valid) { |
| | | return |
| | | } |
| | | this.editBaoxiandan() |
| | | }) |
| | | } else if (this.flag == 5) { |
| | | this.$refs.form5.validate((valid) => { |
| | | // debugger |
| | | if (!valid) { |
| | | return |
| | | } |
| | | this.dealBackApply(1) |
| | | }) |
| | | } else if (this.flag == 6) { |
| | | this.$refs.form5.validate((valid) => { |
| | | // debugger |
| | | if (!valid) { |
| | | return |
| | | } |
| | | this.dealBackApply(0) |
| | | }) |
| | | } |
| | | }, |
| | | selectChange(){ |
| | | if(this.form.selectRadio == 0){ |
| | | this.form.startTime = this.model.startTime |
| | | }else{ |
| | | this.form.startTime = '' |
| | | } |
| | | }, |
| | | toubaoFileUploaded(data){ |
| | | this.form.toubaodanFile=data |
| | | }, |
| | | baoxianFileUploaded(data){ |
| | | this.form.baoxianFile=data |
| | | }, |
| | | editBaoxianFileUploaded(data){ |
| | | this.form.editBaoxianFile=data |
| | | }, |
| | | backDo(){ |
| | | this.$dialog.messageConfirm('确认进行该操作吗?') |
| | | .then(() => { |
| | | this.isWorking = true |
| | | back({id:this.model.id,checkInfo:this.form.backCheckInfo}) |
| | | .then(response => { |
| | | this.visible = false |
| | | this.$emit('success') |
| | | }).catch(err => { |
| | | this.$tip.apiFailed(err) |
| | | }) |
| | | }) |
| | | }, |
| | | uploadToubaodan(){ |
| | | this.$dialog.messageConfirm('确认进行该操作吗?') |
| | | .then(() => { |
| | | this.isWorking = true |
| | | uploadToubaodan({id:this.model.id,toubaodanFile:this.form.toubaodanFile}) |
| | | .then(response => { |
| | | this.visible = false |
| | | this.$emit('success') |
| | | }).catch(err => { |
| | | this.$tip.apiFailed(err) |
| | | }) |
| | | }) |
| | | }, |
| | | dealBackApply(type){ |
| | | this.$dialog.messageConfirm('确认进行该操作吗?') |
| | | .then(() => { |
| | | this.isWorking = true |
| | | dealBackApply({ id: this.model.id, checkInfo: this.form.dealBackInfo, dealBackApply: type }) |
| | | .then(response => { |
| | | this.visible = false |
| | | this.$emit('success') |
| | | }).catch(err => { |
| | | this.$tip.apiFailed(err) |
| | | }) |
| | | }) |
| | | }, |
| | | uploadBaoxiandan(){ |
| | | this.$dialog.messageConfirm('确认进行该操作吗?') |
| | | .then(() => { |
| | | this.isWorking = true |
| | | uploadBaoxiandan({id:this.model.id,startTime:this.form.startTime,code:this.form.code,baoxiandanFile:this.form.baoxianFile}) |
| | | .then(response => { |
| | | this.visible = false |
| | | this.$emit('success') |
| | | }).catch(err => { |
| | | this.$tip.apiFailed(err) |
| | | }) |
| | | }) |
| | | |
| | | }, |
| | | editBaoxiandan(){ |
| | | this.$dialog.messageConfirm('确认进行该操作吗?') |
| | | .then(() => { |
| | | this.isWorking = true |
| | | editBaoxiandan({id:this.model.id, checkInfo:this.form.editCheckInfo,code:this.form.editCode,baoxiandanFile:this.form.editBaoxianFile}) |
| | | .then(response => { |
| | | this.visible = false |
| | | this.$emit('success') |
| | | }).catch(err => { |
| | | this.$tip.apiFailed(err) |
| | | }) |
| | | }) |
| | | }, |
| | | handleRemove(file, fileList) { |
| | | console.log(file, fileList); |
| | | }, |
| | | handlePreview(file) { |
| | | console.log(file); |
| | | }, |
| | | handleExceed(files, fileList) { |
| | | this.$message.warning(`当前限制选择 3 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length} 个文件`); |
| | | }, |
| | | beforeRemove(file, fileList) { |
| | | return this.$confirm(`确定移除 ${ file.name }?`); |
| | | }, |
| | | successEvent() { |
| | | |
| | | }, |
| | | handleSizeChange(val) { |
| | | console.log(`每页 ${val} 条`); |
| | | }, |
| | | handleCurrentChange(val) { |
| | | console.log(`当前页: ${val}`); |
| | | }, |
| | | handleClick(tab, event) { |
| | | console.log(tab, event); |
| | | }, |
| | | onSubmit() { |
| | | |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | <style> |
| | | |
| | | </style> |
| | | <style lang="scss" scoped> |
| | | .form { |
| | | width: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | flex-direction: column; |
| | | .form_span { |
| | | width: 100%; |
| | | display: flex; |
| | | align-items: start; |
| | | flex-direction: column; |
| | | margin-bottom: 20px; |
| | | span { |
| | | font-size: 14px; |
| | | &:nth-child(1) { |
| | | color: black; |
| | | margin-bottom: 5px; |
| | | } |
| | | &:nth-child(2) { |
| | | color: #8c939d; |
| | | } |
| | | } |
| | | } |
| | | .form_item { |
| | | width: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | margin-bottom: 20px; |
| | | &:last-child { |
| | | margin: 0 !important; |
| | | } |
| | | .form_item_label { |
| | | flex-shrink: 0; |
| | | /*width: 170px;*/ |
| | | color: black; |
| | | font-size: 14px; |
| | | span { |
| | | color: red; |
| | | font-size: 14px; |
| | | } |
| | | } |
| | | .form_item_val { |
| | | flex: 1; |
| | | /*height: 40px;*/ |
| | | margin-left: 20px; |
| | | textarea { |
| | | width: 100%; |
| | | height: 70px; |
| | | border: 1px solid #cbcbcb; |
| | | padding: 10px; |
| | | outline: none; |
| | | box-sizing: border-box; |
| | | } |
| | | input { |
| | | width: 100%; |
| | | height: 40px; |
| | | outline: none; |
| | | border-radius: 5px; |
| | | border: 1px solid #cbcbcb; |
| | | padding: 0 20px; |
| | | box-sizing: border-box; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | .desc { |
| | | width: 100%; |
| | | .desc_item { |
| | | width: 100%; |
| | | display: flex; |
| | | flex-direction: column; |
| | | .desc_item_label { |
| | | width: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | margin-bottom: 10px; |
| | | span { |
| | | font-size: 14px; |
| | | color: black; |
| | | margin-right: 30px; |
| | | } |
| | | } |
| | | .desc_item_from { |
| | | width: 100%; |
| | | margin-bottom: 10px; |
| | | .desc_item_from_page { |
| | | width: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: end; |
| | | margin-top: 10px; |
| | | } |
| | | } |
| | | .desc_item_cate { |
| | | width: 100%; |
| | | margin-bottom: 10px; |
| | | } |
| | | .desc_item_search { |
| | | width: 100%; |
| | | margin-bottom: 20px; |
| | | } |
| | | .desc_item_review { |
| | | width: 100%; |
| | | .desc_item_review_label { |
| | | font-size: 20px; |
| | | color: black; |
| | | font-weight: bold; |
| | | margin-bottom: 15px; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </style> |
| | |
| | | <template> |
| | | <GlobalWindow |
| | | :title="title" |
| | | width="100%" |
| | | :visible.sync="visible" |
| | | :confirm-working="isWorking" |
| | | @confirm="confirm" |
| | | > |
| | | <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>保单状态:<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="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 == 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-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="model.status == 22" type="danger" @click="$refs.OperaInsuranceApplyCheckWindow.open('退回投保',model,1)">退回申请</el-button> |
| | | <el-button v-if="model.status == 23" type="danger" @click="$refs.OperaInsuranceApplyCheckWindow.open('退回投保',model,1)">关闭申请</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> |
| | | <div class="desc_item_from"> |
| | | <el-table |
| | | :data="tableData" |
| | | border |
| | | style="width: 100%"> |
| | | <el-table-column |
| | | prop="code" |
| | | align="center" |
| | | label="保单号"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="solutionsName" |
| | | label="保险方案" |
| | | align="center" |
| | | width="180"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="startTime" |
| | | align="center" |
| | | label="保险生效起期"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="endTime" |
| | | align="center" |
| | | label="保险生效止期"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="insureNum" |
| | | align="center" |
| | | label="投保人数"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="serviceDays" |
| | | align="center" |
| | | label="在保时长(天)"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="currentFee" |
| | | align="center" |
| | | label="已产生费用(元)"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="fee" |
| | | align="center" |
| | | label="总费用(元)"> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | <div class="desc_item_cate"> |
| | | <el-tabs v-model="activeName" @tab-click="handleClick"> |
| | | <el-tab-pane label="在保人员" name="0" ></el-tab-pane> |
| | | <el-tab-pane label="加/减保记录" name="1"></el-tab-pane> |
| | | <el-tab-pane label="更换派遣单位记录" name="2"></el-tab-pane> |
| | | </el-tabs> |
| | | </div> |
| | | <div class="desc_item_search"> |
| | | <el-form :inline="true" :model="formInline" ref="sou" class="demo-form-inline"> |
| | | <template v-if="activeName === '0'"> |
| | | <el-form-item label="在保状态" prop="applyStatus"> |
| | | <el-select v-model="formInline.applyStatus" @change="search" placeholder="请选择"> |
| | | <el-option label="全部" value="0"></el-option> |
| | | <el-option label="保障中" value="1"></el-option> |
| | | <el-option label="不在保" value="2"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="派遣单位" prop="duId"> |
| | | <el-select v-model="formInline.duId" placeholder="请选择" @change="search"> |
| | | <el-option |
| | | v-for="item in dwList" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="所属工种" prop="workTypeId"> |
| | | <el-select v-model="formInline.workTypeId" placeholder="请选择" @change="search"> |
| | | <el-option |
| | | v-for="item in gzList" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="员工姓名" prop="memberName"> |
| | | <el-input v-model="formInline.memberName" placeholder="请输入" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="保险生效起期" prop="end"> |
| | | <el-date-picker |
| | | @change="changeStart" |
| | | v-model="formInline.end" |
| | | type="daterange" |
| | | format="yyyy 年 MM 月 dd 日" |
| | | value-format="yyyy-MM-dd" |
| | | range-separator="至" |
| | | start-placeholder="开始日期" |
| | | end-placeholder="结束日期"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="保险生效止期" prop="start"> |
| | | <el-date-picker |
| | | @change="changeEnd" |
| | | v-model="formInline.start" |
| | | type="daterange" |
| | | format="yyyy 年 MM 月 dd 日" |
| | | value-format="yyyy-MM-dd" |
| | | range-separator="至" |
| | | start-placeholder="开始日期" |
| | | end-placeholder="结束日期"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | </template> |
| | | <template v-else> |
| | | <el-form-item label="状态" prop="applyStatus"> |
| | | <el-select v-model="formInline.applyStatus" @change="search" placeholder="请选择"> |
| | | <el-option label="全部" value=""></el-option> |
| | | <el-option label="待签署" value="0"></el-option> |
| | | <el-option label="待审核" value="1"></el-option> |
| | | <el-option label="已生效" value="2"></el-option> |
| | | <el-option label="申请退回" value="3"></el-option> |
| | | <el-option label="已退回" value="5"></el-option> |
| | | <el-option label="已关闭" value="6"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="批单生效起期" prop="end"> |
| | | <el-date-picker |
| | | @change="changeStart" |
| | | v-model="formInline.end" |
| | | type="daterange" |
| | | format="yyyy 年 MM 月 dd 日" |
| | | value-format="yyyy-MM-dd" |
| | | range-separator="至" |
| | | start-placeholder="开始日期" |
| | | end-placeholder="结束日期"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | </template> |
| | | <el-form-item> |
| | | <el-button type="primary" style="width: 80px;" @click="search">查询</el-button> |
| | | <el-button @click="resetting" style="width: 80px;">重置</el-button> |
| | | <el-button type="primary" style="width: 80px;" @click="exportExcel" v-if="activeName === '0'">导出名单</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | <div class="desc_item_from"> |
| | | <el-table |
| | | :data="list" |
| | | border |
| | | ref="table" |
| | | v-if="activeName === '0'" |
| | | style="width: 100%"> |
| | | <el-table-column label="序号" |
| | | align="center"> |
| | | <template slot-scope="scope"> |
| | | <span>{{scope.$index + 1}}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | :key="Math.random()" |
| | | prop="memberName" |
| | | align="center" |
| | | label="员工姓名"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | align="center" |
| | | :key="Math.random()" |
| | | label="性别"> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.sex === 0">男</span> |
| | | <span v-else>女</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | :key="Math.random()" |
| | | prop="idcardNo" |
| | | align="center" |
| | | label="身份证号"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | :key="Math.random()" |
| | | prop="duName" |
| | | align="center" |
| | | label="派遣单位"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | :key="Math.random()" |
| | | prop="workTypeName" |
| | | align="center" |
| | | label="所属工种"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | :key="Math.random()" |
| | | prop="startTime" |
| | | align="center" |
| | | label="保险生效起期"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | :key="Math.random()" |
| | | prop="endTime" |
| | | align="center" |
| | | label="保险生效止期"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | :key="Math.random()" |
| | | align="center" |
| | | prop="fee" |
| | | label="产生费用"> |
| | | </el-table-column> |
| | | </el-table> |
| | | <el-table |
| | | :data="list1" |
| | | border |
| | | ref="table" |
| | | v-if="activeName === '1'" |
| | | style="width: 100%"> |
| | | <el-table-column |
| | | label="序号" |
| | | align="center"> |
| | | <template slot-scope="scope"> |
| | | <span>{{scope.$index + 1}}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="保单状态" :key="Math.random()" |
| | | align="center"> |
| | | <template slot-scope="{row}"> |
| | | <span :class="'change-status'+row.status" v-if="row.status === 0">待签署</span> |
| | | <span :class="'change-status'+row.status" v-if="row.status === 1">待审核</span> |
| | | <span :class="'change-status'+row.status" v-if="row.status === 2">已生效</span> |
| | | <span :class="'change-status'+row.status" v-if="row.status === 3 || row.status === 4">申请退回</span> |
| | | <span :class="'change-status'+row.status" v-if="row.status === 5 || row.status === 8">已退回</span> |
| | | <span :class="'change-status'+row.status" v-if="row.status === 6">已关闭</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | :key="Math.random()" |
| | | prop="applyCode" |
| | | align="center" |
| | | label="批单号"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | :key="Math.random()" |
| | | prop="addNum" |
| | | align="center" |
| | | label="增加人数(人)"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | :key="Math.random()" |
| | | prop="delNum" |
| | | align="center" |
| | | label="减少人数(人)"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | :key="Math.random()" |
| | | prop="createDate" |
| | | align="center" |
| | | label="提交时间"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | :key="Math.random()" |
| | | prop="applyStartTime" |
| | | align="center" |
| | | label="批单生效起期"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | align="center" |
| | | :key="Math.random()" |
| | | label="操作"> |
| | | <template slot-scope="{row}"> |
| | | <el-button type="text" @click="$refs.OperaApplyChangeDetailWindow.open('加减保详情', row)">查看详情</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <el-table |
| | | :data="list2" |
| | | border |
| | | ref="table" |
| | | v-if="activeName === '2'" |
| | | style="width: 100%"> |
| | | <el-table-column label="序号" |
| | | align="center"> |
| | | <template slot-scope="scope"> |
| | | <span>{{scope.$index + 1}}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | align="center" label="保单状态" :key="Math.random()"> |
| | | <template slot-scope="{row}"> |
| | | <span :class="'change-status'+row.status" v-if="row.status === 0">待签署</span> |
| | | <span :class="'change-status'+row.status" v-if="row.status === 1">待审核</span> |
| | | <span :class="'change-status'+row.status" v-if="row.status === 2">已生效</span> |
| | | <span :class="'change-status'+row.status" v-if="row.status === 3 || row.status === 4">申请退回</span> |
| | | <span :class="'change-status'+row.status" v-if="row.status === 5 || row.status === 8">已退回</span> |
| | | <span :class="'change-status'+row.status" v-if="row.status === 6">已关闭</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | :key="Math.random()" |
| | | align="center" |
| | | prop="applyCode" |
| | | label="批单号"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | :key="Math.random()" |
| | | prop="changeNum" |
| | | align="center" |
| | | label="更换派遣单位人数"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | :key="Math.random()" |
| | | prop="createDate" |
| | | align="center" |
| | | label="提交时间"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | :key="Math.random()" |
| | | prop="applyStartTime" |
| | | align="center" |
| | | label="批单生效起期"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | :key="Math.random()" |
| | | align="center" |
| | | label="操作"> |
| | | <template slot-scope="{row}"> |
| | | <el-button type="text" @click="$refs.OperaApplyChangeUnitDetailWindow.open('更换派遣单位详情', row)">查看详情</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <div class="desc_item_from_page"> |
| | | <el-pagination |
| | | @current-change="handleCurrentChange" |
| | | :current-page="currentPage" |
| | | :page-size="10" |
| | | layout="total, prev, pager, next, jumper" |
| | | :total="total"> |
| | | </el-pagination> |
| | | </div> |
| | | </div> |
| | | <div class="desc_item_review"> |
| | | <div class="desc_item_review_label">审核流程</div> |
| | | <el-timeline :reverse="reverse"> |
| | | <el-timeline-item |
| | | v-for="(activity, index) in activities" |
| | | :key="index"> |
| | | <div style="display: flex; flex-direction: column;"> |
| | | <span style="font-size: 16px; font-weight: 400; color: black;"> |
| | | {{activity.title}} |
| | | <span style="font-size: 16px; font-weight: 400; color: black; margin-left: 10px;" v-if="[1, 2, 5, 6, 9, 11, 22].includes(activity.objType)"> |
| | | {{activity.content}} |
| | | </span> |
| | | </span> |
| | | <span style="margin-top: 5px; font-size: 12px; font-weight: 400; color: #999999;"> |
| | | 操作员-{{activity.creatorName}}({{activity.creatorType == 1 ? activity.companyName: "平台端"}}){{activity.createDate}} |
| | | </span> |
| | | </div> |
| | | </el-timeline-item> |
| | | </el-timeline> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <InsuranceDetails ref="InsuranceDetails" @success="successEvent" /> |
| | | <OperaInsuranceApplyCheckWindow ref="OperaInsuranceApplyCheckWindow" @success="successEvent" /> |
| | | <!-- 企业申请退回 --> |
| | | <applyReturn ref="applyReturn" @success="successEvent" /> |
| | | <!-- 新增投保 --> |
| | | <OperaInsuranceApply ref="OperaInsuranceApply" @success="successEvent" /> |
| | | <!-- 加减保申请 --> |
| | | <additionSubtractionApplication ref="additionSubtractionApplication" @success="successEvent" /> |
| | | <!-- 更换派遣单位申请 --> |
| | | <factoryChange ref="factoryChange" @success="successEvent" /> |
| | | <!-- 加减保详情 --> |
| | | <OperaApplyChangeDetailWindow ref="OperaApplyChangeDetailWindow" @success="successEvent"/> |
| | | <!-- 更换派遣单位详情 --> |
| | | <OperaApplyChangeUnitDetailWindow ref="OperaApplyChangeUnitDetailWindow" @success="successEvent"/> |
| | | <!-- 验证手机号 --> |
| | | <operaverifyPhoneNumberWindew ref="operaverifyPhoneNumberWindew" @success="goSign" /> |
| | | <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}}</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> |
| | | |
| | | <script> |
| | | 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 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 applyReturn from '@/components/enterprise/applyReturn' |
| | | 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: 'OperaWtbApplyShopWindow', |
| | | extends: BaseOpera, |
| | | components: { |
| | | GlobalWindow, |
| | | InsuranceDetails, |
| | | OperaInsuranceApplyCheckWindow, |
| | | applyReturn, |
| | | OperaInsuranceApply, |
| | | additionSubtractionApplication, |
| | | factoryChange, |
| | | OperaApplyChangeDetailWindow, |
| | | OperaApplyChangeUnitDetailWindow, |
| | | operaverifyPhoneNumberWindew |
| | | }, |
| | | data () { |
| | | return { |
| | | // 表单数据 |
| | | dataId: null, |
| | | signTitle: '手机号验证', |
| | | model: {}, |
| | | form: { |
| | | businessId: null, |
| | | phone: this.$store.state.userInfo.company.phone, |
| | | code: '', |
| | | type:0 |
| | | }, |
| | | rules: { |
| | | code: [ |
| | | { required: true, message: '请输入验证码' } |
| | | ] |
| | | }, |
| | | num: 0, |
| | | timer: null, |
| | | formInline: { |
| | | applyStatus: '', |
| | | duId: '', |
| | | workTypeId: '', |
| | | memberName: '', |
| | | end: [], |
| | | start: [], |
| | | endTimeE: '', |
| | | endTimeS: '', |
| | | startTimeE: '', |
| | | startTimeS: '', |
| | | type: '' |
| | | }, |
| | | visible1: false, |
| | | visible2: false, |
| | | visible3: false, |
| | | visible4: false, |
| | | visible5: false, |
| | | visiblePhone: false, |
| | | reverse: false, |
| | | radio: 0, |
| | | activities: [], |
| | | tableData: [], |
| | | list: [], |
| | | list1: [], |
| | | list2: [], |
| | | dwList: [], |
| | | gzList: [], |
| | | activeName: '0', |
| | | total: 0, |
| | | currentPage: 1 |
| | | } |
| | | }, |
| | | created () { |
| | | this.config({ |
| | | api: '/business/insuranceApply', |
| | | 'field.id': 'id' |
| | | }) |
| | | }, |
| | | computed: { |
| | | ...mapState(['userInfo']) |
| | | }, |
| | | methods: { |
| | | open (title, target) { |
| | | 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.formInline.memberName = '' |
| | | this.formInline.end = '' |
| | | this.formInline.start = '' |
| | | this.formInline.endTimeE = '' |
| | | this.formInline.endTimeS = '' |
| | | this.formInline.startTimeE = '' |
| | | this.formInline.startTimeS = '' |
| | | this.formInline.type = '' |
| | | this.activeName = '0' |
| | | this.getDetail() |
| | | this.getList() |
| | | 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(() => { |
| | | window.open(res) |
| | | }, 500) |
| | | }).catch(err => { |
| | | this.$tip.apiFailed(err) |
| | | }) |
| | | } else if (flag === 1) { |
| | | getMemberListOnlineSignLink(this.form).then(res => { |
| | | setTimeout(() => { |
| | | window.open(res) |
| | | }, 500) |
| | | }).catch(err => { |
| | | this.$tip.apiFailed(err) |
| | | }) |
| | | } else if (flag === 2) { |
| | | getSignLink(this.dataId).then(res => { |
| | | setTimeout(() => { |
| | | window.open(res) |
| | | }, 500) |
| | | }).catch(err => { |
| | | this.$tip.apiFailed(err) |
| | | }) |
| | | } |
| | | }) |
| | | }, |
| | | send () { |
| | | sendSms({ |
| | | phone: this.form1.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('确认关闭此订单吗?', '提示', { |
| | | confirmButtonText: '确定', |
| | | cancelButtonText: '取消', |
| | | type: 'warning' |
| | | }).then(() => { |
| | | applyOpt({ |
| | | applyId: this.dataId, |
| | | optType: 2 |
| | | }).then(res => { |
| | | this.getDetail() |
| | | }) |
| | | }).catch(() => { |
| | | |
| | | }) |
| | | }, |
| | | // 派遣单位 |
| | | getDW () { |
| | | findListByDTO({ applyId: this.dataId }) |
| | | .then(res => { |
| | | this.dwList = res |
| | | }) |
| | | }, |
| | | // 工种 |
| | | getGZ () { |
| | | worktypeFindListByDTO({ |
| | | id: this.dataId, |
| | | queryType: 2 |
| | | }).then(res => { |
| | | this.gzList = res |
| | | }) |
| | | }, |
| | | resetting () { |
| | | if (this.activeName === '0') { |
| | | this.formInline.applyStatus = '0' |
| | | } else { |
| | | this.formInline.applyStatus = '' |
| | | } |
| | | this.formInline.start = '' |
| | | this.formInline.startTimeE = '' |
| | | this.formInline.endTimeE = '' |
| | | this.list = [] |
| | | this.list1 = [] |
| | | this.list2 = [] |
| | | this.formInline.duId = '' |
| | | this.formInline.workTypeId = '' |
| | | this.formInline.memberName = '' |
| | | this.formInline.end = [] |
| | | this.formInline.end = [] |
| | | this.formInline.endTimeE = '' |
| | | this.formInline.endTimeS = '' |
| | | this.formInline.startTimeE = '' |
| | | this.formInline.startTimeS = '' |
| | | this.search() |
| | | }, |
| | | search () { |
| | | this.currentPage = 1 |
| | | this.getList() |
| | | }, |
| | | changeStart (e) { |
| | | if (e.length > 0) { |
| | | this.formInline.startTimeS = e[0] |
| | | this.formInline.startTimeE = e[1] |
| | | } else { |
| | | this.formInline.startTimeS = '' |
| | | this.formInline.startTimeE = '' |
| | | } |
| | | this.search() |
| | | }, |
| | | changeEnd (e) { |
| | | if (e.length > 0) { |
| | | this.formInline.endTimeS = e[0] |
| | | this.formInline.endTimeE = e[1] |
| | | } else { |
| | | this.formInline.endTimeS = '' |
| | | this.formInline.endTimeE = '' |
| | | } |
| | | this.search() |
| | | }, |
| | | exportExcel () { |
| | | if (this.activeName === '0') { |
| | | exportExcel({ |
| | | capacity: 10, |
| | | page: this.currentPage, |
| | | model: { |
| | | solutionName: this.tableData[0].solutionsName, |
| | | applyId: this.dataId, |
| | | applyStatus: this.formInline.applyStatus, |
| | | duId: this.formInline.duId, |
| | | workTypeId: this.formInline.workTypeId, |
| | | memberName: this.formInline.memberName, |
| | | endTimeE: this.formInline.endTimeE, |
| | | endTimeS: this.formInline.endTimeS, |
| | | startTimeE: this.formInline.startTimeE, |
| | | startTimeS: this.formInline.startTimeS |
| | | } |
| | | }).then(response => { |
| | | this.download(response) |
| | | }) |
| | | } else { |
| | | applyChagneDetailExcel({ |
| | | capacity: 10, |
| | | page: this.currentPage, |
| | | model: { |
| | | applyId: this.dataId, |
| | | applyStatus: this.formInline.applyStatus, |
| | | duId: this.formInline.duId, |
| | | workTypeId: this.formInline.workTypeId, |
| | | memberName: this.formInline.memberName, |
| | | endTimeE: this.formInline.endTimeE, |
| | | endTimeS: this.formInline.endTimeS, |
| | | startTimeE: this.formInline.startTimeE, |
| | | startTimeS: this.formInline.startTimeS, |
| | | type: this.formInline.type |
| | | } |
| | | }).then(response => { |
| | | this.download(response) |
| | | }) |
| | | } |
| | | }, |
| | | getList () { |
| | | if (this.activeName === '0') { |
| | | applyDetailPage({ |
| | | capacity: 10, |
| | | page: this.currentPage, |
| | | model: { |
| | | applyId: this.dataId, |
| | | applyStatus: this.formInline.applyStatus, |
| | | duId: this.formInline.duId, |
| | | workTypeId: this.formInline.workTypeId, |
| | | memberName: this.formInline.memberName, |
| | | endTimeE: this.formInline.endTimeE, |
| | | endTimeS: this.formInline.endTimeS, |
| | | startTimeE: this.formInline.startTimeE, |
| | | startTimeS: this.formInline.startTimeS |
| | | } |
| | | }).then(res => { |
| | | this.list = res.records |
| | | this.total = res.total |
| | | this.$nextTick(() => { |
| | | console.log(this.$refs.table) |
| | | if (this.$refs.table && this.$refs.table.doLayout) { |
| | | this.$refs.table.doLayout() |
| | | } |
| | | }) |
| | | }) |
| | | } else { |
| | | fetchList({ |
| | | capacity: 10, |
| | | page: this.currentPage, |
| | | model: { |
| | | applyId: this.dataId, |
| | | status: this.formInline.applyStatus, |
| | | endTimeE: this.formInline.endTimeS, |
| | | endTimeS: this.formInline.startTimeS, |
| | | type: this.formInline.type |
| | | } |
| | | }).then(res => { |
| | | if (this.activeName === '1') { |
| | | this.list1 = res.records |
| | | } else if (this.activeName === '2') { |
| | | this.list2 = res.records |
| | | } |
| | | this.total = res.total |
| | | this.$nextTick(() => { |
| | | console.log(this.$refs.table) |
| | | if (this.$refs.table && this.$refs.table.doLayout) { |
| | | this.$refs.table.doLayout() |
| | | } |
| | | }) |
| | | }) |
| | | } |
| | | }, |
| | | handleClick (e) { |
| | | this.activeName = e.index |
| | | if (e.index === '1') { |
| | | this.formInline.type = 0 |
| | | } else if (e.index === '2') { |
| | | this.formInline.type = 1 |
| | | } |
| | | this.resetting() |
| | | }, |
| | | goSign () { |
| | | getSignLink(this.dataId).then(res => { |
| | | setTimeout(() => { |
| | | window.open(res) |
| | | }, 500) |
| | | }).catch(err => { |
| | | this.$tip.apiFailed(err) |
| | | }) |
| | | }, |
| | | viewToubaodan () { |
| | | if (this.model.toubaodanSignedFile && this.model.toubaodanSignedFile.fileurlFull) { |
| | | setTimeout(() => { |
| | | window.open(this.model.toubaodanSignedFile.fileurlFull) |
| | | }, 500) |
| | | } else if (this.model.toubaodanFile && this.model.toubaodanFile.fileurlFull) { |
| | | setTimeout(() => { |
| | | window.open(this.model.toubaodanFile.fileurlFull) |
| | | }, 500) |
| | | } |
| | | }, |
| | | viewBaoxiandan () { |
| | | if (this.model.baoxiandanFile && this.model.baoxiandanFile.fileurlFull) { |
| | | window.open(this.model.baoxiandanFile.fileurlFull) |
| | | } |
| | | }, |
| | | viewFanganshu () { |
| | | if (this.model.baoxiandanFile && this.model.baoxiandanFile.fileurlFull) { |
| | | window.open(this.model.baoxiandanFile.fileurlFull) |
| | | } |
| | | }, |
| | | viewShenqingdan () { |
| | | if (this.model.baoxiandanFile && this.model.baoxiandanFile.fileurlFull) { |
| | | window.open(this.model.baoxiandanFile.fileurlFull) |
| | | } |
| | | }, |
| | | handleSizeChange (val) { |
| | | console.log(val) |
| | | }, |
| | | handleCurrentChange (val) { |
| | | console.log(val) |
| | | this.currentPage = val |
| | | this.getList() |
| | | }, |
| | | onSubmit () { |
| | | |
| | | }, |
| | | getDetail () { |
| | | getDetail(this.dataId).then(res => { |
| | | this.model = res |
| | | this.tableData = new Array() |
| | | this.tableData.push(res) |
| | | console.log(this.tableData) |
| | | this.activities = res.applyLogList |
| | | }).catch(err => { |
| | | }) |
| | | }, |
| | | successEvent () { |
| | | // this.visible=false |
| | | this.getDetail() |
| | | this.$emit('success') |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | <style scoped> |
| | | ::v-deep .el-tabs__item{ |
| | | font-weight: 600; |
| | | } |
| | | </style> |
| | | <style lang="scss" scoped> |
| | | .form { |
| | | width: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | flex-direction: column; |
| | | .form_span { |
| | | width: 100%; |
| | | display: flex; |
| | | align-items: start; |
| | | flex-direction: column; |
| | | margin-bottom: 20px; |
| | | span { |
| | | font-size: 14px; |
| | | &:nth-child(1) { |
| | | color: black; |
| | | margin-bottom: 5px; |
| | | } |
| | | &:nth-child(2) { |
| | | color: #8c939d; |
| | | } |
| | | } |
| | | } |
| | | .form_item { |
| | | width: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | margin-bottom: 20px; |
| | | &:last-child { |
| | | margin: 0 !important; |
| | | } |
| | | .form_item_label { |
| | | flex-shrink: 0; |
| | | width: 170px; |
| | | color: black; |
| | | font-size: 14px; |
| | | span { |
| | | color: red; |
| | | font-size: 14px; |
| | | } |
| | | } |
| | | .form_item_val { |
| | | flex: 1; |
| | | /*height: 40px;*/ |
| | | margin-left: 20px; |
| | | textarea { |
| | | width: 100%; |
| | | height: 70px; |
| | | border: 1px solid #cbcbcb; |
| | | padding: 10px; |
| | | outline: none; |
| | | box-sizing: border-box; |
| | | } |
| | | input { |
| | | width: 100%; |
| | | height: 40px; |
| | | outline: none; |
| | | border-radius: 5px; |
| | | border: 1px solid #cbcbcb; |
| | | padding: 0 20px; |
| | | box-sizing: border-box; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | .desc { |
| | | width: 100%; |
| | | .desc_item { |
| | | width: 100%; |
| | | display: flex; |
| | | flex-direction: column; |
| | | .desc_item_label { |
| | | width: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | margin-bottom: 10px; |
| | | span { |
| | | font-size: 14px; |
| | | color: black; |
| | | margin-right: 30px; |
| | | } |
| | | } |
| | | .desc_item_from { |
| | | width: 100%; |
| | | margin-bottom: 10px; |
| | | .desc_item_from_page { |
| | | width: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: end; |
| | | margin-top: 10px; |
| | | } |
| | | } |
| | | .desc_item_cate { |
| | | width: 100%; |
| | | margin-bottom: 10px; |
| | | } |
| | | .desc_item_search { |
| | | width: 100%; |
| | | margin-bottom: 20px; |
| | | } |
| | | .desc_item_review { |
| | | width: 100%; |
| | | .desc_item_review_label { |
| | | font-size: 20px; |
| | | color: black; |
| | | font-weight: bold; |
| | | margin-bottom: 15px; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </style> |
| | |
| | | <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline> |
| | | <el-form-item label="保单状态" prop="statusCollect"> |
| | | <el-select v-model="searchForm.statusCollect" placeholder="请选择" @keypress.enter.native="search"> |
| | | <el-option label="待签署" value="8"></el-option> |
| | | <el-option label="待审核" value="1"></el-option> |
| | | <el-option label="待出单" value="7"></el-option> |
| | | <el-option label="已退回" value="2"></el-option> |
| | | <el-option label="已关闭" value="3"></el-option> |
| | | <el-option label="投保中" value="4"></el-option> |
| | | <el-option label="保障中" value="2"></el-option> |
| | | <el-option label="待签署" value="28"></el-option> |
| | | <el-option label="待审核" value="22"></el-option> |
| | | <el-option label="待出单" value="23"></el-option> |
| | | <el-option label="已退回" value="24"></el-option> |
| | | <el-option label="已关闭" value="25"></el-option> |
| | | <el-option label="投保中" value="26"></el-option> |
| | | <el-option label="保障中" value="27"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="投保企业" prop="companyId"> |
| | |
| | | </el-table-column> |
| | | <el-table-column prop="statusInfo" label="投保状态" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span :class="'apply-status'+row.status" >{{row.statusInfo}}</span> |
| | | <span :class="'apply-status'+row.statusCollect" >{{row.statusInfo}}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="companyName" label="投保企业" min-width="100px"></el-table-column> |
| | |
| | | fixed="right" |
| | | > |
| | | <template slot-scope="{row}"> |
| | | <el-button type="text" @click="$refs.operaInsuranceApplyShopWindow.open('委托投保详情', row)" icon="el-icon-edit" v-permissions="['business:insuranceapply:update']">查看详情</el-button> |
| | | <el-button type="text" @click="$refs.operaWtbApplyShopWindow.open('委托投保详情', row)" icon="el-icon-edit" v-permissions="['business:insuranceapply:update']">查看详情</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | </pagination> |
| | | </template> |
| | | <!-- 新建/修改 --> |
| | | <OperaInsuranceApplyShopWindow ref="operaInsuranceApplyShopWindow" @success="handlePageChange"/> |
| | | <OperaWtbApplyShopWindow ref="operaWtbApplyShopWindow" @success="handlePageChange"/> |
| | | </TableLayout> |
| | | </template> |
| | | |
| | |
| | | import Pagination from '@/components/common/Pagination' |
| | | import { all as solutionAll } from '@/api/business/solutions' |
| | | import { pageAll as companyAll } from '@/api/business/company' |
| | | import OperaInsuranceApplyShopWindow from '@/components/business/OperaInsuranceApplyShopWindow' |
| | | import OperaWtbApplyShopWindow from '@/components/business/OperaWtbApplyShopWindow' |
| | | export default { |
| | | name: 'InsuranceApply', |
| | | extends: BaseTable, |
| | | components: { TableLayout, Pagination, OperaInsuranceApplyShopWindow }, |
| | | components: { TableLayout, Pagination, OperaWtbApplyShopWindow }, |
| | | data () { |
| | | return { |
| | | // 搜索 |
| | |
| | | <el-option label="已退回" value="4"></el-option> |
| | | <el-option label="退回申请中" value="5"></el-option> |
| | | <el-option label="已关闭" value="6"></el-option> |
| | | <el-option label="投保中" value="25"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="保险方案" prop="baseSolutionId"> |
| | |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="solutionsName" label="保险方案"></el-table-column> |
| | | <el-table-column label="类型"> |
| | | <template slot-scope="{row}"> |
| | | <span style="color: #00BA92" v-if="row.solutionType == 1">委托投保</span> |
| | | <span style="color: #F95601;" v-else>直接投保</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="insureNum" label="投保人数"></el-table-column> |
| | | <el-table-column label="投保时长(天)"> |
| | | <template slot-scope="{row}"> |
| | |
| | | fixed="right" |
| | | > |
| | | <template slot-scope="{row}"> |
| | | <el-button type="text" @click="$refs.OperaInsuranceApplyDetails.open('投保详情', { id: row.id })" v-permissions="['business:insuranceapply:update']">查看详情</el-button> |
| | | <el-button type="text" @click="godetail(row)" v-permissions="['business:insuranceapply:update']">查看详情</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | </template> |
| | | <!-- 新增投保 --> |
| | | <OperaInsuranceApplyWindow ref="OperaInsuranceApplyWindow" @success="handlePageChange" /> |
| | | <OperaWtbApplyShopWindow ref="OperaWtbApplyShopWindow" @success="handlePageChange" /> |
| | | <!-- 投保详情 --> |
| | | <OperaInsuranceApplyDetails ref="OperaInsuranceApplyDetails" @success="handlePageChange" /> |
| | | </TableLayout> |
| | |
| | | import Pagination from '@/components/common/Pagination' |
| | | import OperaInsuranceApplyWindow from '@/components/enterprise/OperaInsuranceApplyWindow' |
| | | import OperaInsuranceApplyDetails from '@/components/business/OperaInsuranceApplyWindow' |
| | | import OperaWtbApplyShopWindow from '@/components/business/OperaWtbApplyShopWindow' |
| | | |
| | | import { all as solutionAll} from '@/api/business/solutions' |
| | | export default { |
| | | name: 'InsuranceApply', |
| | | extends: BaseTable, |
| | | components: { TableLayout, Pagination, OperaInsuranceApplyWindow, OperaInsuranceApplyDetails }, |
| | | components: { TableLayout, Pagination, OperaInsuranceApplyWindow, OperaInsuranceApplyDetails,OperaWtbApplyShopWindow }, |
| | | data () { |
| | | return { |
| | | // 搜索 |
| | |
| | | this.loadSelectList() |
| | | }, |
| | | methods:{ |
| | | godetail (row) { |
| | | if (row.solutionType == 1) { |
| | | this.$refs.OperaWtbApplyShopWindow.open('委托投保详情', { id: row.id }) |
| | | } else { |
| | | this.$refs.OperaInsuranceApplyDetails.open('投保详情', { id: row.id }) |
| | | } |
| | | }, |
| | | loadSelectList() { |
| | | solutionAll({ dataType:2}).then(res => { |
| | | this.solutionList = res |
| | |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="solutionsName" label="保险方案"></el-table-column> |
| | | <el-table-column label="类型"> |
| | | <template slot-scope="{row}"> |
| | | <span style="color: #00BA92" v-if="row.solutionType == 1">委托投保</span> |
| | | <span style="color: #F95601;" v-else>直接投保</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="保单号"> |
| | | <template slot-scope="{row}"> |
| | | <span>{{row.code ? row.code : '-'}}</span> |
| | |
| | | fixed="right" |
| | | > |
| | | <template slot-scope="{row}"> |
| | | <el-button type="text" @click="$refs.OperaInsuranceApplyDetails.open('投保详情', { id: row.id })" v-permissions="['business:insuranceapply:update']">查看详情</el-button> |
| | | <el-button type="text" @click="godetail(row)" v-permissions="['business:insuranceapply:update']">查看详情</el-button> |
| | | <!-- <template v-if="row.statusCollect === 2">--> |
| | | <!-- <el-button type="text" @click="$refs.additionSubtractionApplication.open('加减保申请', { id: row.id })">加减保申请</el-button>--> |
| | | <!-- </template>--> |
| | |
| | | <OperaInsuranceApplyWindow ref="OperaInsuranceApplyWindow" @success="handlePageChange" /> |
| | | <!-- 投保详情 --> |
| | | <OperaInsuranceApplyDetails ref="OperaInsuranceApplyDetails" @success="handlePageChange" /> |
| | | <OperaWtbApplyShopWindow ref="OperaWtbApplyShopWindow" @success="handlePageChange" /> |
| | | <!-- 加减保申请 --> |
| | | <additionSubtractionApplication ref="additionSubtractionApplication" @success="handlePageChange" /> |
| | | <!-- 续保弹窗 --> |
| | |
| | | import OperaInsuranceApplyDetails from '@/components/business/OperaInsuranceApplyWindow' |
| | | import additionSubtractionApplication from '@/components/enterprise/additionSubtractionApplication' |
| | | import renewalInsurance from '@/components/enterprise/renewalInsurance' |
| | | import OperaWtbApplyShopWindow from '@/components/business/OperaWtbApplyShopWindow' |
| | | |
| | | import { all as solutionAll} from '@/api/business/solutions' |
| | | import { getCaptcha, closeApplyNotice } from '@/api/business/notices' |
| | |
| | | OperaInsuranceApplyWindow, |
| | | OperaInsuranceApplyDetails, |
| | | renewalInsurance, |
| | | additionSubtractionApplication |
| | | additionSubtractionApplication, |
| | | OperaWtbApplyShopWindow |
| | | }, |
| | | data () { |
| | | return { |
| | |
| | | this.getNum() |
| | | }, |
| | | methods:{ |
| | | godetail (row) { |
| | | if (row.solutionType == 1) { |
| | | this.$refs.OperaWtbApplyShopWindow.open('委托投保详情', { id: row.id }) |
| | | } else { |
| | | this.$refs.OperaInsuranceApplyDetails.open('投保详情', { id: row.id }) |
| | | } |
| | | }, |
| | | see() { |
| | | this.searchForm.statusCollect = '7' |
| | | this.search() |