jiangping
2025-06-09 663dbe4ddca1fa409e6acbc1f77d924c161b0c39
company/src/components/business/OperaUnionChangeUnitDetailWindow.vue
@@ -10,12 +10,12 @@
            <div class="desc_item">
                <div class="desc_item_label">
                    <div class="desc_item_label_left">
                        <span>投保人:{{ model.shopName}}</span>
                        <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 === 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 === 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>
@@ -27,8 +27,8 @@
                            <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>
                            <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>
                            <el-button v-if=" [1].includes(model.status) && userInfo.type !== 2" 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">
                          <el-button type="primary"  @click="$refs.ApplyChangeDetails.open('更换派遣单位详单',model,0)">导出详单</el-button>
@@ -79,7 +79,7 @@
                      <el-table-column
                          prop="applyStartTime"
                          align="center"
                          label="批单生效起期">
                          :label="getUnionChangTimeTitle(2,model)">
                      </el-table-column>
                    </el-table>
                </div>
@@ -113,6 +113,7 @@
                          label="被保险人">
                      </el-table-column>
                      <el-table-column
                          v-if="hasDispatchUnit !== 1"
                          prop="oldDuName"
                          label="原派遣单位">
                      </el-table-column>
@@ -121,6 +122,7 @@
                          label="原所属工种">
                      </el-table-column>
                      <el-table-column
                          v-if="hasDispatchUnit !== 1"
                          prop="duName"
                          label="更换后派遣单位">
                      </el-table-column>
@@ -141,7 +143,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"
@@ -171,6 +173,7 @@
        <OperaInsuranceApply ref="OperaInsuranceApply" @success="successEvent" />
        <!--    更换派遣单位申请    -->
        <reinsurance ref="reinsurance" @success="successEvent" />
        <OperaPdfViewerWindow ref="OperaPdfViewerWindow" @success="successEvent" />
        <!--    更换派遣单位申请    -->
        <factoryChange ref="factoryChange" @success="successEvent" />
        <!--    投保详情    -->
@@ -202,19 +205,35 @@
            </span>
      </el-dialog>
      <el-dialog
          title="查看保险单"
          title="查看批单"
          :visible.sync="visibleFile"
          width="500px"
          :modal="true"
          width="800px"
          :modal="false"
          :show-close="true"
          :close-on-click-modal="false"
          append-to-body
          center>
          <el-table :data="model.pidanFileList">
              <el-table-column property="name" label="文件名"></el-table-column>
              <el-table-column label="操作" width="90px">
                  <template slot-scope="{row}">
                      <el-button type="primary" @click="chakan(row.name, row.fileurlFull)">查看</el-button>
                  </template>
              </el-table-column>
          </el-table>
<!--        <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 && 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>-->
<!--
        <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>
        </div>
        </div>-->
        <span slot="footer" class="dialog-footer">
                <el-button @click="visibleFile=false">关 闭</el-button>
            </span>
@@ -247,11 +266,13 @@
import OperaInsuranceApply from '@/components/enterprise/OperaInsuranceApplyAddWindow'
import { mapState } from 'vuex'
import OperaPdfViewerWindow from '@/components/business/OperaPdfViewerWindow'
export default {
  name: 'OperaUnionChangeDetailWindow',
  extends: BaseOpera,
  components: {
      GlobalWindow,
    OperaPdfViewerWindow,
    UnionChangeUnitDetails,
    OperaUnionChangeCheckWindow,
      add_subtract_return,
@@ -272,6 +293,7 @@
      model: {},
      visiblePhone: false,
      visibleFile:false,
      hasDispatchUnit: null,
      form: {
          businessId: null,
          phone: this.$store.state.userInfo.company? this.$store.state.userInfo.company.phone:null,
@@ -325,6 +347,9 @@
        this.getDetail()
        this.getList()
     },
    chakan(name, url) {
       this.$refs.OperaPdfViewerWindow.open(name, url)
    },
    send () {
      sendSms({
        phone: this.form.phone
@@ -333,9 +358,11 @@
        this.setTime()
      })
    },
    openFile (url) {
    openFile (url,title) {
      setTimeout(() => {
        window.open(url)
        this.$refs.OperaPdfViewerWindow.open(title || '在线预览',url)
        // window.open(url)
      }, 500)
    },
    setTime () {
@@ -427,7 +454,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(){
@@ -458,6 +486,7 @@
    getApplyList () {
      applyList({ unionChangeId: this.model.id, getFiles: 1 }).then(res => {
        this.model.applyList = res
        this.hasDispatchUnit = res[0].hasDispatchUnit
        if (res && res.length > 0) {
          res.forEach(item => {
            if (item.pidanFile) {