k94314517
2025-07-04 50fb58286ed3b718c39a97e0987ee7561a295651
company/src/components/business/OperaWtbApplyShopWindow.vue
@@ -18,36 +18,39 @@
                </div>
                <div class="desc_item_label">
                    <div class="desc_item_label_left">
                        <span>投保人:{{ model.shopName }}</span>
                        <span>委托人:{{ model.shopName }}</span>
                        <span>被保险人:{{ model.companyName }}</span>
                      <span>保单状态:<span  :class="'apply-status'+model.status" >{{ model.statusInfo }}</span></span>
                      <span>保单状态:
                          <span  :class="'apply-status'+model.status" >{{ 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" @click="$refs.InsuranceDetails.open('投保详情单',model,0)">导出详单</el-button>
                      <template v-if="userInfo.type === 1">
                          <el-button v-if="model.status == 24" type="primary" @click="$refs.OperaInsuranceApplyAddWindow.open('投保申请', {id: dataId})">再次投保</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="[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)  && model.shenqingdanFile" type="primary" @click="viewShenqingdan">查看申请单</el-button>
                        <el-button v-if="[1,2,3].includes(model.unionApplyTbdStatus) &&(model.toubaodanFile || model.oubaodanSignedFile)" type="primary" @click="viewToubaodan">查看投保单</el-button>
                        <el-button v-if="[1,2,3].includes(model.unionApplyTbdStatus) && (model.toubaodanFile || model.toubaodanSignedFile) && model.signType !== 1" type="primary" @click="viewToubaodan">查看投保单</el-button>
                        <el-button v-if="[3].includes(model.unionApplyTbdStatus) &&(model.baoxiandanFile)" type="primary" @click="viewBaoxiandan">查看保险单</el-button>
                        <!--                          goSign-->
                        <el-button v-if="model.status == 20" type="primary" :disabled="loading" :loading="loading" @click="getSignLink(0)">签署方案确认书</el-button>
                        <el-button v-if="model.status == 21" type="primary" :disabled="loading" :loading="loading" @click="getSignLink(1)">签署申请单</el-button>
                        <el-button v-if="model.unionApplyTbdStatus == 1" type="primary" :disabled="loading" :loading="loading" @click="getSignLink(2)">签署投保单</el-button>
                        <el-button v-if="model.status == 24" type="danger" @click="closeOrder">关闭订单</el-button>
                        <el-button v-if="model.status == 24" type="danger" @click="closeOrder">关闭申请</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="[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)  && model.shenqingdanFile" type="primary" @click="viewShenqingdan">查看申请单</el-button>
                      <el-button v-if="[1,2,3].includes(model.unionApplyTbdStatus) &&(model.toubaodanFile || model.oubaodanSignedFile)" type="primary" @click="viewToubaodan">查看投保单</el-button>
                      <el-button v-if="[3].includes(model.unionApplyTbdStatus) &&(model.baoxiandanFile)" type="primary" @click="viewBaoxiandan">查看保险单</el-button>
                      <el-button v-if="model.status == 22" type="primary" @click="$refs.InsuranceDetails.open('投保审核',model,1)">投保审核</el-button>
                      <el-button v-if="[20,21,22].includes(model.status)" type="danger" @click="$refs.OperaWtbApplyCheckWindow.open('退回投保',model,1)">退回申请</el-button>
                      <el-button v-if="[20,21,22].includes(model.status)" type="danger" @click="$refs.OperaWtbApplyCheckWindow.open('退回申请',model,1)">退回申请</el-button>
                      <el-button v-if="model.status == 23" type="danger" @click="$refs.OperaWtbApplyCheckWindow.open('关闭申请',model,2)">关闭申请</el-button>
                    </template>
                    <template v-if="userInfo.type === 0">
                      <el-button v-if="[21,22,23,24,25,26,27].includes(model.status)" type="primary" @click="viewFanganshu">查看确认书</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)  && model.shenqingdanFile" type="primary" @click="viewShenqingdan">查看申请单</el-button>
                      <el-button v-if="[1,2,3].includes(model.unionApplyTbdStatus) &&(model.toubaodanFile || model.oubaodanSignedFile)" type="primary" @click="viewToubaodan">查看投保单</el-button>
                      <el-button v-if="[3].includes(model.unionApplyTbdStatus) &&(model.baoxiandanFile)" type="primary" @click="viewBaoxiandan">查看保险单</el-button>
@@ -80,37 +83,42 @@
                            align="center"
                            :label="getApplyTimeTitle(1,model.solutionType,model)">
                        </el-table-column>
                        <el-table-column
                            prop="insureNum"
                            align="center"
                            label="投保人数">
                        </el-table-column>
                      <el-table-column prop="guaranteeNum"  align="center" label="在保人数" ></el-table-column>
                      <el-table-column prop="guaranteeNum"  align="center" label="当前在保人数" >
                        <template scope="{row}">
                          <span>{{row.guaranteeNum||0}} 人</span>
                        </template>
                      </el-table-column>
                        <el-table-column
                            prop="serviceDays"
                            align="center"
                            label="保单时长(天)">
                            label="保单时长">
                          <template scope="{row}">
                            <span>{{row.serviceDays||0}} 天</span>
                          </template>
                        </el-table-column>
                        <el-table-column
                            prop="currentFee"
                            align="center"
                            label="已产生费用(元)">
                            label="批改费用合计">
                            <template slot-scope="{row}">
                                <span>{{row.changeMoney}}元</span>
                            </template>
                        </el-table-column>
                        <el-table-column
                            prop="fee"
                            align="center"
                            label="总费用(元)">
                            label="总费用">
                          <template slot-scope="{row}">
                            <span>{{row.fee!=null?row.fee: '-'}}</span>
                            <span>{{row.fee!=null?row.fee+' 元': '-'}}</span>
                          </template>
                        </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="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">
@@ -121,9 +129,10 @@
                                    <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-select>
                            </el-form-item>
                            <el-form-item label="派遣单位" prop="duId">
                            <el-form-item label="派遣单位" prop="duId" v-if="model.hasDispatchUnit !== 1">
                                <el-select v-model="formInline.duId" placeholder="请选择" @change="search">
                                    <el-option
                                        v-for="item in dwList"
@@ -202,6 +211,8 @@
                            <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-button type="primary" style="width: 100px;" @click="$refs.OperaApplyChangeMonthWindow.open('加减保费用月度统计',model)" v-if="activeName === '1'">费用统计查询</el-button>
                            <el-button type="primary" style="width: 120px;" @click="exportRecords" v-if="activeName === '1' && [5,27].includes(model.status)">导出加减保记录</el-button>
                        </el-form-item>
                    </el-form>
                </div>
@@ -234,12 +245,23 @@
                            </template>
                        </el-table-column>
                        <el-table-column
                            align="center"
                            :key="Math.random()"
                            label="在保状态">
                            <template slot-scope="{row}">
                                <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
                            :key="Math.random()"
                            prop="idcardNo"
                            align="center"
                            label="身份证号">
                        </el-table-column>
                        <el-table-column
                            v-if="model.hasDispatchUnit !== 1"
                            :key="Math.random()"
                            prop="duName"
                            align="center"
@@ -255,13 +277,13 @@
                            :key="Math.random()"
                            prop="startTime"
                            align="center"
                            label="保险生效起期">
                            :label="getApplyTimeTitle(0,model.solutionType,model)">
                        </el-table-column>
                        <el-table-column
                            :key="Math.random()"
                            prop="endTime"
                            align="center"
                            label="保险生效止期">
                            :label="getApplyTimeTitle(1,model.solutionType,model)">
                        </el-table-column>
                        <el-table-column
                            :key="Math.random()"
@@ -269,7 +291,7 @@
                            prop="fee"
                            label="产生费用">
                          <template slot-scope="{row}">
                            <span>{{row.fee!=null?row.fee: '-'}}</span>
                            <span>{{row.fee!=null?row.fee+' 元': '-'}}</span>
                          </template>
                        </el-table-column>
                      <el-table-column
@@ -396,7 +418,7 @@
                            :key="Math.random()"
                            prop="changeNum"
                            align="center"
                            label="更换派遣单位人数">
                            :label="model.hasDispatchUnit !== 1 ? '更换派遣单位人数' : '更换工种人数'">
                        </el-table-column>
                        <el-table-column
                            :key="Math.random()"
@@ -472,6 +494,7 @@
        <OperaApplyChangeUnitDetailWindow ref="OperaApplyChangeUnitDetailWindow" @success="successEvent"/>
        <!--    验证手机号    -->
        <OperaPdfViewerWindow ref="OperaPdfViewerWindow"  />
        <OperaApplyChangeMonthWindow ref="OperaApplyChangeMonthWindow"  />
        <operaverifyPhoneNumberWindew ref="operaverifyPhoneNumberWindew" @success="goSign" />
        <template v-slot:footer>
            <el-button @click="visible=false">返回</el-button>
@@ -517,6 +540,7 @@
import operaverifyPhoneNumberWindew from '@/components/business/operaverifyPhoneNumberWindew'
import OperaApplyChangeDetailWindow from '@/components/business/OperaApplyChangeDetailWindow'
import OperaApplyChangeUnitDetailWindow from '@/components/business/OperaApplyChangeUnitDetailWindow'
import OperaApplyChangeMonthWindow from '@/components/business/OperaApplyChangeMonthWindow'
import applyReturn from '@/components/enterprise/applyReturn'
import {
  getDetail,
@@ -528,7 +552,7 @@
  getMemberListOnlineSignLink, getSignTBQRSLink, getSignWTBTBDLink
} from '@/api/business/insuranceApply'
import { findListByDTO } from '@/api/business/dispatchUnit'
import { fetchList } from '@/api/business/applyChange'
import { fetchList, exportApplyJiajianBaoExcel } from '@/api/business/applyChange'
import { findListByDTO as worktypeFindListByDTO } from '@/api/business/worktype'
import { mapState } from 'vuex'
import {sendSms} from '@/api/business/smsEmail';
@@ -542,6 +566,7 @@
    OperaPdfViewerWindow,
    OperaWtbApplyCheckWindow,
    applyReturn,
    OperaApplyChangeMonthWindow,
    OperaInsuranceApplyAddWindowNew,
    additionSubtractionApplication,
    factoryChange,
@@ -640,6 +665,15 @@
      this.getDW()
      this.getGZ()
    },
    exportRecords() {
      exportApplyJiajianBaoExcel({ id: this.dataId })
        .then(response => {
          this.download(response)
        })
    },
    viewConfirmationLetter() {
      this.$refs.OperaPdfViewerWindow.open('查看方案确认书', this.model.fanganFile.fileurlFull)
    },
    getSignLink (flag) {
      if (flag === 0) {
        this.signTitle = '签署方案确认书'
@@ -671,6 +705,8 @@
            // }, 500)
          }).catch(err => {
            this.$tip.apiFailed(err)
          }).finally(() => {
            this.loading = false
          })
        } else if (this.form.type === 1) {
          getMemberListOnlineSignLink(this.form).then(res => {
@@ -681,6 +717,8 @@
            // }, 500)
          }).catch(err => {
            this.$tip.apiFailed(err)
          }).finally(() => {
            this.loading = false
          })
        } else if (this.form.type === 2) {
          getSignWTBTBDLink(this.form).then(res => {
@@ -691,6 +729,8 @@
            // }, 500)
          }).catch(err => {
            this.$tip.apiFailed(err)
          }).finally(() => {
            this.loading = false
          })
        }
      // })
@@ -713,7 +753,7 @@
        this.num = this.num - 1
      }, 1000)
    },
    // 关闭订单
    // 关闭申请
    closeOrder () {
      this.$confirm('确认关闭此订单吗?', '提示', {
        confirmButtonText: '确定',