MrShi
2025-07-02 39ae52b3f65e2bba3b6570adb51e791cb3befff7
company/src/components/business/OperaInsuranceApplyWindow.vue
@@ -19,15 +19,20 @@
                <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>保单状态:
                            <span style="color: #f95601;" v-if="[5,27].includes(model.status) && model.statusInfo === '待生效'">{{ model.statusInfo }}</span>
                            <span :class="'apply-status'+model.status" v-else>{{ model.statusInfo }}</span>
                        </span>
                        <span>提交时间:{{ model.createDate }}</span>
                    </div>
                  <div class="desc_item_label_right">
                      <el-button type="primary" @click="viewConfirmationLetter">查看方案确认书</el-button>
                      <el-button type="primary" v-if="[1].includes(model.solutionType) && model.shenqingdanFile" @click="viewShenqingdan(model.shenqingdanFile)">查看申请单</el-button>
                      <template v-if="userInfo.type === 1">
                        <el-button type="primary" @click="$refs.InsuranceDetails.open('投保详情单',model,0)">导出详单</el-button>
                        <el-button v-if="[2, 3, 5, 7, 8].includes(model.status)" type="primary" @click="viewToubaodan">查看投保单</el-button>
<!--                          $refs.operaverifyPhoneNumberWindew.open('验证手机号')-->
<!--                          <el-button v-if="[22].includes(model.status) && model.solutionType === 1" type="primary" @click="viewShenqingdan(model.shenqingdanFile)">查看申请单</el-button>-->
                        <el-button v-if="model.status == 2" type="primary" :disabled="loading" :loading="loading" @click="goSign()">签署投保单</el-button>
                        <el-button v-if="model.status == 5" type="primary" @click="viewBaoxiandan">查看保险单</el-button>
                        <el-button v-if="model.status == 4" type="primary" @click="$refs.operaInsuranceApplyAddWindow.open('投保申请', {id: dataId})">再次投保</el-button>
@@ -37,17 +42,18 @@
                    <template v-else>
                        <el-button v-if="[12].includes(model.status)" type="primary" @click="review">投保复审</el-button>
                      <el-button type="primary" @click="$refs.InsuranceDetails.open('投保详情单',model,0)">导出详单</el-button>
                      <el-button v-if="[2, 3, 5, 7, 8].includes(model.status)" type="primary" @click="viewToubaodan">查看投保单</el-button>
                      <el-button v-if="model.status == 5" type="primary" @click="viewBaoxiandan">查看保险单</el-button>
                      <el-button v-if="[2, 3, 5, 7, 8, 26].includes(model.status) && (model.toubaodanFile || model.toubaodanSignedFile)" type="primary" @click="viewToubaodan">查看投保单</el-button>
                      <el-button v-if="[27,5].includes(model.status)" type="primary" @click="viewBaoxiandan">查看保险单</el-button>
                      <el-button v-if="[2,10].includes(model.status) && model.solutionType ==0" type="primary" @click="$refs.OperaInsuranceApplyCheckWindow.open('上传投保单',model,2)">上传投保单</el-button>
                      <el-button v-if="model.status == 3 && model.solutionType ==0" type="primary" @click="$refs.OperaInsuranceApplyCheckWindow.open('上传保险单',model,3)">上传保险单</el-button>
                      <el-button v-if="model.status === 3 && userInfo.type === 0" type="primary" @click="$refs.OperaInsuranceApplyCheckWindow.open('上传保险单',model,3)">上传保险单</el-button>
<!--                        <el-button v-if="model.status == 26 && model.solutionType == 1" type="primary" @click="$refs.OperaUnionApplyCheckWindow.open('上传保险单',model,3)">上传保险单</el-button>-->
<!--                        <el-button v-if="[22].includes(model.status) && model.solutionType === 1 && model.shenqingdanFile" type="primary" @click="viewShenqingdan(model.shenqingdanFile)">查看申请单</el-button>-->
                      <el-button  v-if="[6,7,8,11].includes(model.status) && model.solutionType ==0" type="primary" @click="$refs.OperaInsuranceApplyCheckWindow.open('驳回退回申请',model,5)">驳回退回申请</el-button>
                      <el-button v-if="[22, 0].includes(model.status) && [0,1].includes(model.solutionType)" type="primary" @click="$refs.InsuranceDetails.open('投保审核',model,1)">投保审核</el-button>
                      <el-button v-if="![1, 4, 5].includes(model.status) && [0,1].includes(model.solutionType)" type="danger" @click="$refs.OperaInsuranceApplyCheckWindow.open('退回申请',model,1)">退回申请</el-button>
                      <el-button v-if="model.status == 5  && model.solutionType ==0" type="danger" @click="$refs.OperaInsuranceApplyCheckWindow.open('修改保险单',model,4)">修改保险单</el-button>
                      <el-button v-if="[5,27].includes(model.status) && ['待生效'].includes(model.statusInfo) && userInfo.type === 0" type="danger" @click="$refs.OperaInsuranceApplyCheckWindow.open('修改保险单',model,4)">修改保险单</el-button>
                    </template>
                  </div>
                </div>
@@ -110,7 +116,7 @@
                    <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-tab-pane :label="model.hasDispatchUnit !== 1 ? '更换派遣单位' : '更换工种记录'" name="2"></el-tab-pane>
                    </el-tabs>
                </div>
                <div class="desc_item_search">
@@ -239,9 +245,9 @@
                            :key="Math.random()"
                            label="在保状态">
                            <template slot-scope="{row}">
                                <span v-if="row.applyStatus === 0">保障中</span>
                                <span v-if="row.applyStatus === 1">不在保</span>
                                <span v-if="row.applyStatus === 2">待生效</span>
                                <span v-if="row.applyStatus === 0" style="color: #00BA92;">保障中</span>
                                <span v-if="row.applyStatus === 1" style="color: #999;">不在保</span>
                                <span v-if="row.applyStatus === 2" style="color: #f95601;">待生效</span>
                            </template>
                        </el-table-column>
                        <el-table-column
@@ -418,7 +424,7 @@
                            :key="Math.random()"
                            prop="changeNum"
                            align="center"
                            label="更换工种人数">
                            :label="model.hasDispatchUnit !== 1 ? '更换派遣单位人数' : '更换工种人数'">
                          <template scope="{row}">
                            {{row.changeNum||0}} 人
                          </template>
@@ -518,7 +524,6 @@
import OperaApplyChangeDetailWindow from '@/components/business/OperaApplyChangeDetailWindow'
import OperaApplyChangeMonthWindow from '@/components/business/OperaApplyChangeMonthWindow'
import OperaApplyChangeUnitDetailWindow from '@/components/business/OperaApplyChangeUnitDetailWindow'
import applyReturn from '@/components/enterprise/applyReturn'
import { getDetail, getSignLink, applyDetailPage,  exportExcel, applyChagneDetailExcel, applyOpt } from '@/api/business/insuranceApply'
import { findListByDTO } from '@/api/business/dispatchUnit'
@@ -624,6 +629,10 @@
      this.getList()
      this.getDW()
      this.getGZ()
    },
    viewShenqingdan(row) {
      if (!row) return;
      this.$refs.OperaPdfViewerWindow.open(row.name, row.fileurlFull)
    },
    viewConfirmationLetter() {
      this.$refs.OperaPdfViewerWindow.open('查看方案确认书', this.model.fanganFile.fileurlFull)
@@ -742,7 +751,7 @@
    exportExcel () {
      if (this.activeName === '0') {
        exportExcel({
          capacity: 10,
          capacity: 60000,
          page: this.currentPage,
          model: {
            solutionName: this.tableData[0].solutionsName,
@@ -761,7 +770,7 @@
        })
      } else {
        applyChagneDetailExcel({
          capacity: 10,
          capacity: 60000,
          page: this.currentPage,
          model: {
            applyId: this.dataId,
@@ -783,7 +792,7 @@
    getList () {
      if (this.activeName === '0') {
        applyDetailPage({
          capacity: 10,
          capacity: 10000,
          page: this.currentPage,
          model: {
            applyId: this.dataId,
@@ -990,14 +999,18 @@
            .desc_item_label {
                width: 100%;
                display: flex;
                align-items: center;
                justify-content: space-between;
                align-items: start;
                flex-direction: column;
                margin-bottom: 10px;
                span {
                    font-size: 14px;
                    color: black;
                    margin-right: 30px;
                }
                .desc_item_label_right {
                    width: 100%;
                    margin: 10px 0;
                }
            }
            .desc_item_from {
                width: 100%;