nidapeng
2024-04-02 adb4be885811ee602073c2e723d9d09df0e5b4e6
company/src/components/business/detailsEntrustedInsurance.vue
@@ -21,7 +21,7 @@
              <el-button v-if="model.status == 1" type="primary" @click="getSignLink(0)">签署投保单</el-button>
              <el-button v-if="[2,3,4].includes(model.status)" type="primary" @click="viewToubaodan">查看投保单</el-button>
              <el-button v-if="[2].includes(model.status) " type="primary" @click="$refs.OperaUnionApplyCheckWindow.open('上传保险单',model,3)">上传保险单</el-button>
              <el-button v-if="model.status == 4" type="primary" @click="viewBaoxiandan">查看保险单</el-button>
              <el-button v-if="model.status == 3" type="primary" @click="viewBaoxiandan">查看保险单</el-button>
              <el-button v-if="[0,1,2].includes(model.status) " type="danger" @click="$refs.OperaUnionApplyCheckWindow.open('退回投保',model,1)">退回申请</el-button>
            </template>
            <template v-if="userInfo.type ===0">
@@ -362,9 +362,10 @@
        :title="signTitle"
        :visible.sync="visiblePhone"
        width="500px"
        :modal="false"
        :show-close="false"
        :modal="true"
        :show-close="true"
        :close-on-click-modal="false"
        append-to-body
        center>
      <el-form :model="form" ref="form" :rules="rules">
        <el-form-item label="手机号" prop="phone">
@@ -383,6 +384,24 @@
                <el-button @click="visiblePhone=false">取 消</el-button>
            </span>
    </el-dialog>
    <el-dialog
        :title="fileTitle"
        :visible.sync="visibleFile"
        width="500px"
        :modal="true"
        :show-close="true"
        :close-on-click-modal="false"
        append-to-body
        center>
      <div class="desc_item_from" v-for="(item, index) in fileData" :key="index"  style="margin-bottom: 15px">
        <span v-if="index ==0">{{item.name}}:</span>
        <span v-if="index >0">被保险人({{item.name}}){{fileFlag=== 0?"投保单":"保险单"}}:</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>
      <span slot="footer" class="dialog-footer">
                <el-button @click="visibleFile=false">关 闭</el-button>
            </span>
    </el-dialog>
  </GlobalWindow>
</template>
@@ -395,19 +414,20 @@
import OperaApplyChangeUnitDetailWindow from '@/components/business/OperaApplyChangeUnitDetailWindow'
import OperaUnionApplyCheckWindow from '@/components/business/OperaUnionApplyCheckWindow'
import { getById,getSignLink } from '@/api/business/unionApply'
import { getById, getSignLink } from '@/api/business/unionApply'
import {
  applyDetailPage,
  exportExcel,
  applyChagneDetailExcel,
  applyOpt,
  findListByDTO as applyList
} from '@/api/business/insuranceApply'
import { findListByDTO } from '@/api/business/dispatchUnit'
import { fetchList } from '@/api/business/applyChange'
import { findListByDTO as worktypeFindListByDTO } from '@/api/business/worktype'
import { mapState } from 'vuex'
import {sendSms} from "@/api/business/smsEmail";
import { sendSms } from '@/api/business/smsEmail'
export default {
  name: 'OperaWtbApplyShopWindow',
@@ -417,19 +437,23 @@
    OperaApplyChangeUnitDetailWindow,
    OperaApplyChangeDetailWindow,
    InsuranceDetailsWtb,
    OperaUnionApplyCheckWindow,
    OperaUnionApplyCheckWindow
  },
  data () {
    return {
      // 表单数据
      dataId: null,
      signTitle: '手机号验证',
      fileTitle: '查看投保单',
      fileFlag:0,
      visibleFile: false,
      fileData: [],
      model: {},
      form: {
        businessId: null,
        phone: this.$store.state.userInfo.company.phone,
        code: '',
        type:0
        type: 0
      },
      rules: {
        code: [
@@ -441,9 +465,9 @@
      formInline: {
        applyStatus: '',
        memberName: '',
        end:[],
        startTimeS:null,
        startTimeE:null,
        end: [],
        startTimeS: null,
        startTimeE: null,
        applyCompanyName: ''
      },
      visiblePhone: false,
@@ -475,6 +499,9 @@
      this.visible = true
      this.title = title
      this.model = {}
      this.fileData = []
      this.taobaodanFileData = []
      this.baoxiandanFileData = []
      this.dataId = null
      this.dataId = target.id
      this.form.businessId = target.id
@@ -503,18 +530,18 @@
      this.visiblePhone = true
      this.$nextTick(() => {
        this.$refs.form.resetFields()
      });
      })
    },
    goSignDo(){
    goSignDo () {
      this.$refs.form.validate((valid) => {
        if (!valid) {
          return
        }
        this.isWorking = true
        if(this.form.type===0){
        if (this.form.type === 0) {
          getSignLink(this.form).then(res => {
            setTimeout(() => {
              this.visiblePhone=false
              this.visiblePhone = false
              window.open(res)
            }, 500)
          }).catch(err => {
@@ -561,9 +588,9 @@
    // 派遣单位
    getDW () {
      findListByDTO({ applyId: this.dataId })
          .then(res => {
            this.dwList = res
          })
        .then(res => {
          this.dwList = res
        })
    },
    // 工种
    getGZ () {
@@ -581,6 +608,7 @@
        this.formInline.applyStatus = ''
      }
      this.formInline.start = ''
      this.fileData = []
      this.formInline.startTimeE = ''
      this.formInline.endTimeE = ''
      this.list = []
@@ -733,8 +761,16 @@
        this.$tip.apiFailed(err)
      })
    },
    openFile (url) {
      setTimeout(() => {
        window.open(url)
      }, 500)
    },
    viewToubaodan () {
      if (this.model.toubaodanSignedFile && this.model.toubaodanSignedFile.fileurlFull) {
      this.fileData = this.taobaodanFileData;
      this.visibleFile=true
      this.fileFlag = 0
     /* if (this.model.toubaodanSignedFile && this.model.toubaodanSignedFile.fileurlFull) {
        setTimeout(() => {
          window.open(this.model.toubaodanSignedFile.fileurlFull)
        }, 500)
@@ -742,12 +778,15 @@
        setTimeout(() => {
          window.open(this.model.toubaodanFile.fileurlFull)
        }, 500)
      }
      }*/
    },
    viewBaoxiandan () {
      if (this.model.baoxiandanFile && this.model.baoxiandanFile.fileurlFull) {
      this.fileFlag = 1
      this.fileData = this.baoxiandanFileData;
      this.visibleFile=true
     /* if (this.model.baoxiandanFile && this.model.baoxiandanFile.fileurlFull) {
        window.open(this.model.baoxiandanFile.fileurlFull)
      }
      }*/
    },
    viewFanganshu () {
      if (this.model.fanganFile && this.model.fanganFile.fileurlFull) {
@@ -777,10 +816,44 @@
        this.tableData.push(res)
        console.log(this.tableData)
        this.activities = res.applyLogList
        if (this.model.toubaodanSignedFile && this.model.toubaodanSignedFile.fileurlFull) {
          this.taobaodanFileData.push({ name: '商户投保单', file: this.model.toubaodanSignedFile })
        } else if (this.model.toubaodanFile && this.model.toubaodanFile.fileurlFull) {
          this.taobaodanFileData.push({ name: '商户投保单', file: this.model.toubaodanFile })
        }
        this.baoxiandanFileData.push({ name: '商户保险单', file: this.model.baoxiandanFile })
        // if (this.model.status !== 0 && this.model.status !== 4) {
          this.getApplyList()
        // }
      }).catch(err => {
      })
    },
    getApplyList () {
      applyList({ unionApplyId: this.dataId, getFiles: 1 }).then(res => {
        this.model.applyList = res
        if (res && res.length > 0) {
          res.forEach(item => {
            if (item.toubaodanSignedFile) {
              this.taobaodanFileData.push({ name: item.companyName, file: item.toubaodanSignedFile })
            } else if (item.toubaodanFile) {
              this.taobaodanFileData.push({ name: item.companyName, file: item.toubaodanFile })
            } else {
              this.taobaodanFileData.push({ name: item.companyName, file: null })
            }
            if (item.baoxiandanFile) {
              this.baoxiandanFileData.push({ name: item.companyName, file: item.baoxiandanFile })
            } else {
              this.baoxiandanFileData.push({ name: item.companyName, file: null })
            }
          })
        }
      }).catch(err => {
      })
    },
    successEvent () {
      this.fileData=[]
      this.taobaodanFileData=[]
      this.baoxiandanFileData=[]
      // this.visible=false
      this.getDetail()
      this.$emit('success')