licp
2024-08-23 659b6b31b695284e1d4fd21f5975f8d8dd7b863a
修改印章功能
已修改4个文件
139 ■■■■ 文件已修改
src/assets/api/controller.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/do/b1-ins-order/add.vue 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/view/a5-laboratory-management.vue 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/view/b1-report-preparation.vue 111 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/api/controller.js
@@ -309,6 +309,7 @@
const sealScope = {
  selectSeal: "/sealScope/selectSeal", //查询印章列表
  addSeal: "/sealScope/addSeal", //添加印章参数
  delectSeal: "/sealScope/delectSeal", //添加印章参数
}
const informationNotification = {
src/components/do/b1-ins-order/add.vue
@@ -1602,6 +1602,15 @@
          this.$message.error('未选择客户单位')
          return
        }
        let noLaboratory = this.totalArr.filter(a => a.state == 1&&!a.sonLaboratory)
        if(noLaboratory.length>0){
          let str = ''
          noLaboratory.forEach((m,j)=>{
            str += j==noLaboratory.length-1?m.inspectionItem+'-'+m.inspectionItemSubclass:m.inspectionItem+'-'+m.inspectionItemSubclass+','
          })
          this.$message.error(str+'没有关联实验室室,请联系管理员')
          return
        }
        if (!this.addObj.type) {
          this.$message.error('未选择紧急程度')
        } else if (!this.addObj.formType) {
src/components/view/a5-laboratory-management.vue
@@ -100,7 +100,7 @@
      <div class="btns">
        <el-button size="medium" type="primary" @click="openUpload">更新印章</el-button>
      </div>
      <ValueTable ref="ValueTable0" :url="$api.sealScope.selectSeal"
      <ValueTable ref="ValueTable0" :url="$api.sealScope.selectSeal" :delUrl="$api.sealScope.delectSeal"
                :componentData="fileComponentData" :key="upIndex" style="height: 400px;" />
        </el-dialog>
    <el-dialog title="更新印章" :visible.sync="upFileVisible" width="400px">
@@ -215,7 +215,12 @@
                    isIndex: true,
                    showSelect: false,
                    select: false,
                    do: [],
                    do: [{
            id: 'delete',
            font: '删除',
            type: 'text',
            method: 'doDiy',
          }],
                    tagField: {},
                    selectField: {
            type:{
@@ -356,7 +361,8 @@
                let up = false
                let del = false
                let add = false
                let file = false
        let file = false
        let delectSeal = false
                for (var i = 0; i < power.length; i++) {
                    if (power[i].menuMethod == 'upParameter') {
                        up = true
@@ -370,6 +376,9 @@
          if (power[i].menuMethod == 'addSeal') {
                        file = true
                    }
          if (power[i].menuMethod == 'delectSeal') {
                        delectSeal = true
                    }
                }
        if (!file) {
                    this.componentData.do.splice(2, 1)
@@ -380,6 +389,9 @@
                if (!up) {
                    this.componentData.do.splice(0, 1)
                }
        if (!delectSeal) {
                    this.fileComponentData.do.splice(0, 1)
                }
                this.addPower = add
            }
        }
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>
@@ -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: {
@@ -410,6 +451,30 @@
                }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('上传失败')
@@ -589,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) {
@@ -677,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;
        })
      }
    }
  }