jiangping
2024-06-20 09da100729793848bc01b51f7b05ca3f1e7ec64f
company/src/components/business/OperaWtbApplyShopWindow.vue
@@ -11,9 +11,9 @@
                <div class="desc_item_label" v-if="userInfo.type === 1 && model.status ===27 ">
                    <div class="desc_item_label_left">
                        <span>保险到期还有 <b style="color: #F95601;">{{model.loseEfficacyDays ? model.loseEfficacyDays : '-'}}</b> 天</span>
                        <el-button type="primary" v-if="model.status === 27" @click="$refs.OperaInsuranceApply.open('续保', { id: dataId, type: 1 })">一键续保</el-button>
                        <el-button type="primary" v-if="model.status === 27" @click="$refs.additionSubtractionApplication.open('加减保申请', { id: dataId })">加减保申请</el-button>
                        <el-button type="primary" v-if="model.status === 27" @click="$refs.factoryChange.open('更换派遣单位申请', { id: dataId })">更换派遣单位申请</el-button>
                        <el-button type="primary" v-if="model.status === 27" @click="goYjxb">一键续保</el-button>
                        <el-button type="primary" v-if="model.status === 27 && ( model.loseEfficacyDays ||!model.loseEfficacyDays)" @click="$refs.additionSubtractionApplication.open('加减保申请', { id: dataId })">加减保申请</el-button>
                        <el-button type="primary" v-if="model.status === 27 &&  ( model.loseEfficacyDays ||!model.loseEfficacyDays)" @click="$refs.factoryChange.open('更换派遣单位申请', { id: dataId })">更换派遣单位申请</el-button>
                    </div>
                </div>
                <div class="desc_item_label">
@@ -26,15 +26,15 @@
                  <div class="desc_item_label_right">
                    <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.OperaInsuranceApply.open('投保申请', {id: dataId})">再次投保</el-button>
                          <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="[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>
                        <!--                          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>
                        <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>
                      </template>
                    <template v-if="userInfo.type === 2">
@@ -85,10 +85,11 @@
                            align="center"
                            label="投保人数">
                        </el-table-column>
                      <el-table-column prop="guaranteeNum"  align="center" label="在保人数" ></el-table-column>
                        <el-table-column
                            prop="serviceDays"
                            align="center"
                            label="在保时长(天)">
                            label="保单时长(天)">
                        </el-table-column>
                        <el-table-column
                            prop="currentFee"
@@ -181,7 +182,7 @@
                                    <el-option label="已退回" value="5"></el-option>
                                    <el-option label="已关闭" value="6"></el-option>
                                    <el-option label="待出单" value="7"></el-option>
                                    <el-option label="投保中" value="9"></el-option>
                                    <el-option label="批改申请中" value="9"></el-option>
                                </el-select>
                            </el-form-item>
                            <el-form-item label="批单生效起期" prop="end">
@@ -229,7 +230,7 @@
                            label="性别">
                            <template slot-scope="{row}">
                                <span v-if="row.sex === 0">男</span>
                                <span v-else>女</span>
                              <span  v-if="row.sex === 1">女</span>
                            </template>
                        </el-table-column>
                        <el-table-column
@@ -271,6 +272,11 @@
                            <span>{{row.fee!=null?row.fee: '-'}}</span>
                          </template>
                        </el-table-column>
                      <el-table-column
                          prop="remark"
                          align="center"
                          label="备注">
                      </el-table-column>
                    </el-table>
                    <el-table
                        :data="list1"
@@ -295,7 +301,7 @@
                                <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>
                              <span :class="'change-status'+row.status" v-if="row.status === 7">待出单</span>
                              <span :class="'change-status'+row.status" v-if="row.status === 9">投保中</span>
                              <span :class="'change-status'+row.status" v-if="row.status === 9">批改申请中</span>
                            </template>
                        </el-table-column>
                        <el-table-column
@@ -326,8 +332,26 @@
                            :key="Math.random()"
                            prop="applyStartTime"
                            align="center"
                            label="批单生效起期">
                            label="批增生效日期">
                        </el-table-column>
                        <el-table-column
                            :key="Math.random()"
                            prop="delValidTime"
                            align="center"
                            label="批减生效日期">
                        </el-table-column>
                      <el-table-column
                          :key="Math.random()"
                          prop="fee"
                          align="center"
                          label="费用变更(元)">
                      </el-table-column>
                      <el-table-column
                          :key="Math.random()"
                          prop="remark"
                          align="center"
                          label="备注">
                      </el-table-column>
                        <el-table-column
                            align="center"
                            :key="Math.random()"
@@ -359,7 +383,7 @@
                                <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>
                              <span :class="'change-status'+row.status" v-if="row.status === 7">待出单</span>
                              <span :class="'change-status'+row.status" v-if="row.status === 9">投保中</span>
                              <span :class="'change-status'+row.status" v-if="row.status === 9">批改申请中</span>
                            </template>
                        </el-table-column>
                        <el-table-column
@@ -387,6 +411,11 @@
                            label="批单生效起期">
                        </el-table-column>
                        <el-table-column
                            prop="remark"
                            align="center"
                            label="备注">
                        </el-table-column>
                        <el-table-column
                            :key="Math.random()"
                            align="center"
                            label="操作">
@@ -406,7 +435,7 @@
                    </div>
                </div>
                <div class="desc_item_review">
                    <div class="desc_item_review_label">审核流程</div>
                    <div class="desc_item_review_label">操作记录</div>
                  <el-timeline :reverse="reverse">
                    <el-timeline-item
                        v-for="(activity, index) in activities"
@@ -432,7 +461,7 @@
        <!--    企业申请退回    -->
        <applyReturn ref="applyReturn" @success="successEvent" />
        <!--    新增投保    -->
        <OperaInsuranceApply ref="OperaInsuranceApply" @success="successEvent" />
        <OperaInsuranceApplyAddWindowNew ref="OperaInsuranceApplyAddWindow" @success="result" />
        <!--    加减保申请    -->
        <additionSubtractionApplication ref="additionSubtractionApplication" @success="successEvent" />
        <!--    更换派遣单位申请    -->
@@ -442,6 +471,7 @@
        <!-- 更换派遣单位详情 -->
        <OperaApplyChangeUnitDetailWindow ref="OperaApplyChangeUnitDetailWindow" @success="successEvent"/>
        <!--    验证手机号    -->
        <OperaPdfViewerWindow ref="OperaPdfViewerWindow"  />
        <operaverifyPhoneNumberWindew ref="operaverifyPhoneNumberWindew" @success="goSign" />
        <template v-slot:footer>
            <el-button @click="visible=false">返回</el-button>
@@ -475,18 +505,18 @@
      </el-dialog>
    </GlobalWindow>
</template>
<script>
import BaseOpera from '@/components/base/BaseOpera'
import OperaInsuranceApplyAddWindowNew from '@/components/enterprise/OperaInsuranceApplyAddWindow'
import GlobalWindow from '@/components/common/GlobalWindow'
import InsuranceDetails from '@/components/business/InsuranceDetails'
import OperaWtbApplyCheckWindow from '@/components/business/OperaWtbApplyCheckWindow'
import OperaPdfViewerWindow from '@/components/business/OperaPdfViewerWindow'
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,
@@ -500,9 +530,8 @@
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} from "@/api/business/smsEmail";
import {sendSms} from '@/api/business/smsEmail';
export default {
  name: 'OperaWtbApplyShopWindow',
@@ -510,9 +539,10 @@
  components: {
    GlobalWindow,
    InsuranceDetails,
    OperaPdfViewerWindow,
    OperaWtbApplyCheckWindow,
    applyReturn,
    OperaInsuranceApply,
    OperaInsuranceApplyAddWindowNew,
    additionSubtractionApplication,
    factoryChange,
    OperaApplyChangeDetailWindow,
@@ -568,7 +598,9 @@
      gzList: [],
      activeName: '0',
      total: 0,
      currentPage: 1
      currentPage: 1,
        loading: false
    }
  },
  created () {
@@ -582,11 +614,10 @@
  },
  methods: {
    open (title, target) {
      this.visible = true
      this.title = title
      this.model = {}
      this.num=0
      this.timer=null
      this.num= 0
      this.timer= null
      this.dataId = null
      this.dataId = target.id
      this.form.businessId = target.id
@@ -602,6 +633,8 @@
      this.formInline.startTimeS = ''
      this.formInline.type = ''
      this.activeName = '0'
      this.visible = true
      this.getDetail()
      this.getList()
      this.getDW()
@@ -616,46 +649,51 @@
        this.signTitle = '签署投保单'
      }
      this.form.type = flag
      this.visiblePhone = true
      this.$nextTick(() => {
        this.$refs.form.resetFields()
      });
        this.goSignDo()
      // this.visiblePhone = true
      // this.$nextTick(() => {
      //   this.$refs.form.resetFields()
      // });
    },
    goSignDo(){
      this.$refs.form.validate((valid) => {
        if (!valid) {
          return
        }
        this.isWorking = true
      // this.$refs.form.validate((valid) => {
      //   if (!valid) {
      //     return
      //   }
      //   this.isWorking = true
        this.loading = true
        if(this.form.type===0){
          getSignTBQRSLink(this.form).then(res => {
            setTimeout(() => {
              this.visiblePhone=false
              this.loading = false
            // setTimeout(() => {
            //   this.visiblePhone=false
              window.open(res)
            }, 500)
            // }, 500)
          }).catch(err => {
            this.$tip.apiFailed(err)
          })
        } else if (this.form.type === 1) {
          getMemberListOnlineSignLink(this.form).then(res => {
            setTimeout(() => {
              this.visiblePhone=false
              this.loading = false
            // setTimeout(() => {
            //   this.visiblePhone=false
              window.open(res)
            }, 500)
            // }, 500)
          }).catch(err => {
            this.$tip.apiFailed(err)
          })
        } else if (this.form.type === 2) {
          getSignWTBTBDLink(this.form).then(res => {
            setTimeout(() => {
              this.visiblePhone=false
              this.loading = false
            // setTimeout(() => {
            //   this.visiblePhone=false
              window.open(res)
            }, 500)
            // }, 500)
          }).catch(err => {
            this.$tip.apiFailed(err)
          })
        }
      })
      // })
    },
    send () {
      sendSms({
@@ -758,7 +796,7 @@
    exportExcel () {
      if (this.activeName === '0') {
        exportExcel({
          capacity: 10,
          capacity: 60000,
          page: this.currentPage,
          model: {
            solutionName: this.tableData[0].solutionsName,
@@ -777,7 +815,7 @@
        })
      } else {
        applyChagneDetailExcel({
          capacity: 10,
          capacity: 60000,
          page: this.currentPage,
          model: {
            applyId: this.dataId,
@@ -867,30 +905,40 @@
        this.$tip.apiFailed(err)
      })
    },
    goYjxb(){
      this.$refs.OperaInsuranceApplyAddWindow.open('续保', {id: this.dataId,type: 1 })
    },
    viewToubaodan () {
      if (this.model.toubaodanSignedFile && this.model.toubaodanSignedFile.fileurlFull) {
        setTimeout(() => {
          window.open(this.model.toubaodanSignedFile.fileurlFull)
          this.$refs.OperaPdfViewerWindow.open('查看投保单',this.model.toubaodanSignedFile.fileurlFull)
          // window.open(this.model.toubaodanSignedFile.fileurlFull)
        }, 500)
      } else if (this.model.toubaodanFile && this.model.toubaodanFile.fileurlFull) {
        setTimeout(() => {
          window.open(this.model.toubaodanFile.fileurlFull)
          this.$refs.OperaPdfViewerWindow.open('查看投保单',this.model.toubaodanFile.fileurlFull)
          // window.open(this.model.toubaodanFile.fileurlFull)
        }, 500)
      }
    },
    viewBaoxiandan () {
      if (this.model.baoxiandanFile && this.model.baoxiandanFile.fileurlFull) {
        window.open(this.model.baoxiandanFile.fileurlFull)
        this.$refs.OperaPdfViewerWindow.open('查看保险单',this.model.baoxiandanFile.fileurlFull)
        // window.open(this.model.baoxiandanFile.fileurlFull)
      }
    },
    viewFanganshu () {
      if (this.model.fanganFile && this.model.fanganFile.fileurlFull) {
        window.open(this.model.fanganFile.fileurlFull)
        this.$refs.OperaPdfViewerWindow.open('查看方案确认书',this.model.fanganFile.fileurlFull)
        // window.open(this.model.fanganFile.fileurlFull)
      }
    },
    viewShenqingdan () {
      if (this.model.shenqingdanFile && this.model.shenqingdanFile.fileurlFull) {
        window.open(this.model.shenqingdanFile.fileurlFull)
      if (this.model.shenqingdanFile && this.model.shenqingdanFile.fileurlFull){
        this.$refs.OperaPdfViewerWindow.open('查看申请单',this.model.shenqingdanFile.fileurlFull)
        // window.open(this.model.shenqingdanFile.fileurlFull)
      }
    },
    handleSizeChange (val) {
@@ -914,6 +962,14 @@
      }).catch(err => {
      })
    },
    result(flag,param){
      console.log(flag,param)
      if(param && param.godetail && param.id){
       this.open('委托保详情',{id:param.id})
      }else{
        this.successEvent()
      }
    },
    successEvent () {
      // this.visible=false
      this.getDetail()