licp
2024-09-06 ed2342a8cadcd9519858ecd5d440fcba4d66a02d
src/components/view/b1-report-preparation.vue
@@ -57,6 +57,29 @@
  .fullscreen {
    height: 82vh
  }
  .img-list{
    width: 100%;
    display: flex;
  }
  .list{
    display: flex;
    justify-content: flex-start;
    align-items: center;
  }
  .list-item{
    width: 120px;
    height: 120px;
    margin: 4px;
    cursor: pointer;
    box-sizing: border-box;
    border: 1px solid #fff;
  }
  .list-item:hover{
     border: 1px solid #3A7BFA;
  }
  .list-item.active{
     border: 1px solid #3A7BFA;
  }
</style>
<template>
@@ -128,7 +151,7 @@
        <i class="el-icon-full-screen" style="cursor: pointer;font-size: 18px" @click="fullscreen=true;" v-if="!fullscreen"></i>
        <img src="../../../static/img/no-full.svg" alt="" v-else style="cursor: pointer;" @click="fullscreen=false;" >
      </div>
      <div style="height: 80vh;">
      <div style="height: 80vh;" v-if="issuedVisible">
         <onlyoffice ref="onlyoffice" :options="option" style="width: 100%;height: 100%;" />
      </div>
      <span slot="footer" class="dialog-footer">
@@ -157,6 +180,21 @@
      <span slot="footer" class="dialog-footer">
            <el-button @click="approveReasonVisible=true" :disabled="loadingApprove">不批准</el-button>
            <el-button type="primary" @click="subApprove" :loading="loadingApprove">批 准</el-button>
         </span>
      </el-dialog>
    <el-dialog title="印章选择" :visible.sync="imgVisible" width="50vw" :modal-append-to-body="false"
    :close-on-click-modal="false"
    :close-on-press-escape="false">
      <div class="img-list">
        <label style="width: 120px;">印章选择:</label>
        <div class="list" style="flex: 1;">
          <div class="list-item" :class="{active:currentImg==m.id}" v-for="m in imgList" @click="currentImg = m.id">
            <img :src="javaApi+'/img/'+m.address" alt="" style="width: 118px;height: 118px;">
          </div>
        </div>
      </div>
      <span slot="footer" class="dialog-footer">
            <el-button type="primary" @click="subApprove0" :loading="loadingApprove">确 认</el-button>
         </span>
      </el-dialog>
    <el-dialog title="不批准原因" :visible.sync="approveReasonVisible" width="400px" :modal-append-to-body="false">
@@ -321,7 +359,10 @@
        option:null,
        mutiList:[],
        outLoading:false,
        inLoading:false
        inLoading:false,
        imgList:[],
        imgVisible:false,
        currentImg:null
      }
    },
    computed: {
@@ -406,9 +447,34 @@
        this.inLoading = false;
        if (response.code == 200) {
          this.$message.success('导入成功')
          this.refreshTable()
            }else{
          this.$message.error(response.message)
        }
      },
      async selectSeal(row){
        await this.$axios.post(this.$api.sealScope.selectSeal,{
          entity: {
            labId:row.labId,
                  orderBy: {
                     field: 'id',
                     order: 'asc'
                  }
               },
          page:{
            current:-1,
            size:-1
          }
        }, {
          headers: {
            'Content-Type': 'application/json'
          }
        }).then(res=>{
          this.imgList = res.data.body.records.map((m,i)=>{
            m.id = i + 1
            return m
          })
        })
      },
      onError(err, file, fileList,type) {
            this.$message.error('上传失败')
@@ -588,22 +654,11 @@
        this.approveVisible = true;
      },
      // 批准通过
      subApprove() {
        this.loadingApprove = true;
        this.$axios.post(this.$api.insReport.ratifyReport, {
          id: this.currentInfo.id,
          isRatify: 1
        }).then(res => {
          this.loadingApprove = false;
          if (res.code == 201) {
            this.$message.error('批准失败')
            return
          }
          this.$message.success('已批准')
          this.refreshTable('page')
          this.currentInfo = null;
          this.approveVisible = false;
        })
      async subApprove() {
        // this.currentInfo
        await this.selectSeal(this.currentInfo)
        this.approveVisible = false;
        this.imgVisible = true;
      },
      // 提交操作
      handleSubmit(row) {
@@ -676,6 +731,29 @@
          this.$message.error('操作失败')
          this.loadingIssuedReason = false;
        })
      },
      subApprove0(){
        if(!(this.currentImg&&this.imgList.find(m=>m.id==this.currentImg))){
          this.$message.error('请选择印章')
          return
        }
        this.loadingApprove = true;
        this.$axios.post(this.$api.insReport.ratifyReport, {
          id: this.currentInfo.id,
          isRatify: 1,
          sealUrl:this.imgList.find(m=>m.id==this.currentImg).address
        }).then(res => {
          this.loadingApprove = false;
          if (res.code == 201) {
            this.$message.error('批准失败')
            return
          }
          this.$message.success('已批准')
          this.refreshTable('page')
          this.currentInfo = null;
          this.currentImg = null;
          this.imgVisible = false;
        })
      }
    }
  }