nidapeng
2024-03-29 ec597288f2bb4d25d8752e2e24402306719833d4
提交一把
已修改8个文件
1610 ■■■■■ 文件已修改
company/src/api/business/insuranceApply.js 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/assets/style/style.scss 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/business/OperaWtbApplyCheckWindow.vue 501 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/business/OperaWtbApplyShopWindow.vue 1022 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/business/operaverifyPhoneNumberWindew.vue 补丁 | 查看 | 原始文档 | blame | 历史
company/src/views/business/insuranceApplyShop.vue 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/views/enterprise/insuranceApply.vue 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/views/enterprise/myPolicy.vue 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/api/business/insuranceApply.js
@@ -62,6 +62,21 @@
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
company/src/assets/style/style.scss
@@ -77,20 +77,22 @@
::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;
}
company/src/components/business/OperaWtbApplyCheckWindow.vue
@@ -0,0 +1,501 @@
<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>
company/src/components/business/OperaWtbApplyShopWindow.vue
@@ -0,0 +1,1022 @@
<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>
company/src/components/business/operaverifyPhoneNumberWindew.vue
company/src/views/business/insuranceApplyShop.vue
@@ -4,13 +4,13 @@
        <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">
@@ -63,7 +63,7 @@
                </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>
@@ -78,7 +78,7 @@
                    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>
@@ -90,7 +90,7 @@
            </pagination>
        </template>
        <!-- 新建/修改 -->
        <OperaInsuranceApplyShopWindow ref="operaInsuranceApplyShopWindow" @success="handlePageChange"/>
        <OperaWtbApplyShopWindow ref="operaWtbApplyShopWindow" @success="handlePageChange"/>
    </TableLayout>
</template>
@@ -100,11 +100,11 @@
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 {
      // 搜索
company/src/views/enterprise/insuranceApply.vue
@@ -12,6 +12,7 @@
                    <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">
@@ -61,6 +62,12 @@
                  </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}">
@@ -78,7 +85,7 @@
                    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>
@@ -91,6 +98,7 @@
        </template>
        <!--    新增投保    -->
        <OperaInsuranceApplyWindow ref="OperaInsuranceApplyWindow" @success="handlePageChange" />
        <OperaWtbApplyShopWindow ref="OperaWtbApplyShopWindow" @success="handlePageChange" />
        <!--    投保详情    -->
        <OperaInsuranceApplyDetails ref="OperaInsuranceApplyDetails" @success="handlePageChange" />
    </TableLayout>
@@ -102,12 +110,13 @@
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 {
            // 搜索
@@ -131,6 +140,13 @@
        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
company/src/views/enterprise/myPolicy.vue
@@ -87,6 +87,12 @@
                  </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>
@@ -110,7 +116,7 @@
                    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>-->
@@ -128,6 +134,7 @@
        <OperaInsuranceApplyWindow ref="OperaInsuranceApplyWindow" @success="handlePageChange" />
        <!--    投保详情    -->
        <OperaInsuranceApplyDetails ref="OperaInsuranceApplyDetails" @success="handlePageChange" />
      <OperaWtbApplyShopWindow ref="OperaWtbApplyShopWindow" @success="handlePageChange" />
        <!--    加减保申请    -->
        <additionSubtractionApplication ref="additionSubtractionApplication" @success="handlePageChange" />
        <!--    续保弹窗    -->
@@ -143,6 +150,7 @@
    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'
@@ -155,7 +163,8 @@
            OperaInsuranceApplyWindow,
            OperaInsuranceApplyDetails,
            renewalInsurance,
            additionSubtractionApplication
            additionSubtractionApplication,
          OperaWtbApplyShopWindow
        },
        data () {
            return {
@@ -190,6 +199,13 @@
            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()