jiangping
2024-06-20 09da100729793848bc01b51f7b05ca3f1e7ec64f
company/src/components/business/OperaUnionChangeDetailWindow.vue
@@ -11,23 +11,33 @@
                <div class="desc_item_label">
                    <div class="desc_item_label_left">
                        <span>投保人:{{ model.shopName}}</span>
                        <span v-if="model.status === 0">保单状态:<span  :class="'change-status'+model.status" >待签署</span></span>
                        <span v-if="model.status === 1">保单状态:<span  :class="'change-status'+model.status" >待审核</span></span>
                        <span v-if="model.status === 2">保单状态:<span  :class="'change-status'+model.status" >已生效</span></span>
                        <span v-if="model.status === 3">保单状态:<span  :class="'change-status'+model.status" >已退回</span></span>
                      <span v-if="model.status === 0">保单状态:<span  :class="'change-status'+model.status" >待签署</span></span>
                      <span v-if="model.status === 1">保单状态:<span  :class="'change-status'+model.status" >待审核</span></span>
                      <span v-if="model.status === 2">保单状态:<span  :class="'change-status'+model.status" >已生效</span></span>
                      <span v-if="model.status === 7">保单状态:<span  :class="'change-status'+model.status" >待出单</span></span>
                      <span v-if="model.status === 9">保单状态:<span  :class="'change-status'+model.status" >批改申请中</span></span>
                      <span v-if="model.status === 3 || model.status === 4">保单状态:<span  :class="'change-status'+model.status" >退回申请</span></span>
                      <span v-if="model.status === 5 || model.status === 8">保单状态:<span  :class="'change-status'+model.status" >已退回</span></span>
                      <span v-if=" model.status === 6">保单状态:<span  :class="'change-status'+model.status" >已关闭</span></span>
                        <span>提交时间:{{ model.createDate }}</span>
                    </div>
                  <div class="desc_item_label_right">
                        <template v-if="2">
                            <el-button type="primary"  @click="$refs.ApplyChangeDetails.open('加减保详单',model,0)">导出详单</el-button>
                            <el-button v-if="[1,2].includes(model.status)" type="primary" @click="viewApplyFile">查看申请单</el-button>
                            <el-button v-if="[0].includes(model.status)" type="primary" @click="getSignLink(0)">签署申请单</el-button>
                            <el-button v-if="[0].includes(model.status)" type="primary" :disabled="loading" :loading="loading" @click="getSignLink(0)">签署申请单</el-button>
                            <el-button v-if="[2].includes(model.status)" type="primary" @click="viewPidan">查看批单</el-button>
                            <el-button v-if=" [1].includes(model.status)" type="primary" @click="$refs.OperaUnionChangeCheckWindow.open('上传批单',model,3)">上传批单</el-button>
                            <el-button  v-if="[0,1].includes(model.status)" type="danger" @click="$refs.OperaUnionChangeCheckWindow.open('退回投保',model,1)">退回投保</el-button>
                        </template>
                        <template  v-if="0">
                                             </template>
                          <template  v-if="0">
                            <el-button type="primary"  @click="$refs.ApplyChangeDetails.open('更换派遣单位详单',model,0)">导出详单</el-button>
                            <el-button v-if="[1,2].includes(model.status)" type="primary" @click="viewApplyFile">查看申请单</el-button>
                            <el-button v-if="[0].includes(model.status)" type="primary" :disabled="loading" :loading="loading" @click="getSignLink(0)">签署申请单</el-button>
                            <el-button v-if="[2].includes(model.status)" type="primary" @click="viewPidan">查看批单</el-button>
                          </template>
                        </template>
                  </div>
                </div>
                <div class="desc_item_from">
@@ -36,7 +46,7 @@
                        border
                        style="width: 100%">
                        <el-table-column
                            prop="validCode"
                            prop="code"
                            align="center"
                            label="批单号">
                        </el-table-column>
@@ -44,7 +54,7 @@
                            align="center"
                            label="保单号">
                            <template slot-scope="{row}">
                                <el-button type="text" @click="$refs.insuranceApplyDetails.open('投保详情', { id: row.applyId })">{{row.applyCode}}</el-button>
                                <el-button type="text" @click="$refs.detailsEntrustedInsurance.open('投保详情', { id: row.unionApplyId })">{{row.applyCode}}</el-button>
                            </template>
                        </el-table-column>
                        <el-table-column
@@ -66,7 +76,12 @@
                      <el-table-column
                          prop="applyStartTime"
                          align="center"
                          label="批单生效起期">
                          label="批增生效日期">
                      </el-table-column>
                      <el-table-column
                          prop="delValidTime"
                          align="center"
                          label="批减生效日期">
                      </el-table-column>
                        <el-table-column
                            prop="addNum"
@@ -109,7 +124,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
@@ -138,7 +153,11 @@
                        </el-table-column>
                        <el-table-column
                            prop="fee"
                            label="已产生费用(元)">
                            label="费用变更(元)">
                        </el-table-column>
                        <el-table-column
                            prop="remark"
                            label="备注">
                        </el-table-column>
                    </el-table>
                    <div class="desc_item_from_page">
@@ -152,7 +171,7 @@
                    </div>
                </div>
                <div class="desc_item_review" v-if="model.applyLogList">
                    <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 model.applyLogList"
@@ -165,7 +184,7 @@
                                    </span>
                                </span>
                        <span style="margin-top: 5px; font-size: 12px; font-weight: 400; color: #999999;">
                                    操作员-{{activity.creatorName}}({{activity.creatorType==1? activity.companyName: (activity.creatorType==2? activity.companyName: "平台端") }}}){{activity.createDate}}
                                    操作员-{{activity.creatorName}}({{activity.creatorType==1? activity.companyName: (activity.creatorType==2? activity.companyName: "平台端") }}){{activity.createDate}}
                                </span>
                      </div>
                    </el-timeline-item>
@@ -186,11 +205,14 @@
        <factoryChange ref="factoryChange" @success="successEvent" />
        <!--    投保详情    -->
        <insuranceApplyDetails ref="insuranceApplyDetails" @success="successEvent" />
        <!-- 详情 -->
        <OperaPdfViewerWindow ref="OperaPdfViewerWindow" />
        <detailsEntrustedInsurance ref="detailsEntrustedInsurance" />
      <!-- 修改手机号 -->
      <el-dialog
          :title="signTitle"
          :visible.sync="visiblePhone"
          width="500px"
          width="800px"
          :modal="false"
          :show-close="false"
          :close-on-click-modal="false"
@@ -224,7 +246,9 @@
        <div class="desc_item_from" v-for="(item, index) in pidanFileData" :key="index"  style="margin-bottom: 15px">
          <span v-if="index ==0">{{item.name}}:</span>
          <span v-if="index >0">被保险人({{item.name}})保险单:</span>
          <a style="cursor: pointer;color: #2E68EC" v-if="item.file && item.file.fileurl" @click="openFile(item.file.fileurlFull)">在线预览</a><span v-if="!item.file || !item.file.fileurl">未上传</span>
          <a  style="cursor: pointer;color: #2E68EC" v-if="item.file && item.file.fileurl && index ==0" @click="openFile(item.file.fileurlFull,item.name)">在线预览</a>
          <a   style="cursor: pointer;color: #2E68EC" v-if="item.file && item.file.fileurl && index !=0 " @click="openFile(item.file.fileurlFull,'被保险人('+item.name+')保险单')">在线预览</a>
          <span v-if="!item.file || !item.file.fileurl">未上传</span>
        </div>
        <span slot="footer" class="dialog-footer">
                <el-button @click="visibleFile=false">关 闭</el-button>
@@ -253,11 +277,13 @@
    getSignLink
} from '@/api/business/unionChange'
import {applyChangeOpt, listAll as applyList} from '@/api/business/applyChange'
import detailsEntrustedInsurance from '@/components/business/detailsEntrustedInsurance'
import {sendSms} from "@/api/business/smsEmail";
import OperaInsuranceApply from '@/components/enterprise/OperaInsuranceApplyWindow'
import OperaInsuranceApply from '@/components/enterprise/OperaInsuranceApplyAddWindow'
import { mapState } from 'vuex'
import OperaPdfViewerWindow from '@/components/business/OperaPdfViewerWindow'
export default {
  name: 'OperaUnionChangeDetailWindow',
  extends: BaseOpera,
@@ -266,9 +292,11 @@
    UnionChangeDetails,
    OperaUnionChangeCheckWindow,
      add_subtract_return,
    OperaPdfViewerWindow,
      OperaInsuranceApply,
      reinsurance,
      factoryChange,
      detailsEntrustedInsurance,
      insuranceApplyDetails: () => import ('@/components/business/OperaInsuranceApplyWindow')
  },
  data () {
@@ -285,7 +313,7 @@
      visibleFile:false,
      form: {
          businessId: null,
          phone: this.$store.state.userInfo.company.phone,
          phone: this.$store.state.userInfo.company? this.$store.state.userInfo.company.phone:null,
          id: null,
          editDate: '',
          code:null
@@ -307,7 +335,8 @@
        list: [],
      activeName: '0',
        total: 0,
      currentPage: 1
      currentPage: 1,
        loading: false
    }
  },
  created () {
@@ -343,6 +372,13 @@
        this.setTime()
      })
    },
    openFile (url,title) {
      setTimeout(() => {
        this.$refs.OperaPdfViewerWindow.open(title || '在线预览',url)
        // window.open(url)
      }, 500)
    },
    setTime () {
      this.timer = setInterval(() => {
        if (this.num === 0) {
@@ -354,12 +390,20 @@
      }, 1000)
    },
    getSignLink (flag) {
        this.signTitle = '签署方案确认书'
      this.form.type = flag
      this.visiblePhone = true
      this.$nextTick(() => {
        this.$refs.form.resetFields()
      });
        this.signTitle = '签署申请单'
        this.form.type = flag
        this.loading = true
        getSignLink(this.form).then(res => {
            this.loading = false
            window.open(res)
        }).catch(err => {
            this.loading = false
            this.$tip.apiFailed(err)
        })
      // this.visiblePhone = true
      // this.$nextTick(() => {
      //   this.$refs.form.resetFields()
      // });
    },
    goSignDo(){
      this.$refs.form.validate((valid) => {
@@ -425,7 +469,8 @@
      },
    viewApplyFile(){
       if(this.model.applyFile && this.model.applyFile.fileurlFull){
        window.open(this.model.applyFile.fileurlFull)
         this.$refs.OperaPdfViewerWindow.open('查看申请单',this.model.applyFile.fileurlFull)
        // window.open(this.model.applyFile.fileurlFull)
       }
    },
    viewPidan(){
@@ -448,6 +493,7 @@
        this.model = res
        this.tableData = new Array()
        this.tableData.push(res)
          console.log(this.tableData)
        this.pidanFileData.push({ name: '商户保险单', file: this.model.pidanFile })
        this.getApplyList()
      }).catch(err => {