zhuo
2025-05-20 7eb190f13437b2e67788e9f4bdea725fdb165f01
src/views/CNAS/process/ensureResults/ensureResultsValidity/index.vue
@@ -40,6 +40,7 @@
          </div>
        </div>
        <div style="line-height: 30px;">
          <el-button size="small" type="primary" @click="exportSignatureTemplate">导出签名模板</el-button>
          <el-button size="small" type="primary" @click="showDialog('add')">新增</el-button>
        </div>
      </div>
@@ -84,7 +85,7 @@
    </el-dialog>
    <!--预览报告-->
    <el-dialog :visible.sync="lookDialogVisible" fullscreen title="查看附件" top="5vh" width="800px">
      <filePreview v-if="lookDialogVisible" :currentFile="{}"
      <filePreview v-if="lookDialogVisible" :currentFile="{}" :option="option"
        :fileUrl="javaApi + '/word/' + currentInfo.finishReportUrl" style="height: 70vh;overflow-y: auto;" />
      <div>
        批准状态:
@@ -102,9 +103,11 @@
    </el-dialog>
    <el-dialog :visible.sync="downloadDialog" title="导出" width="600px">
      <span>
        <el-button plain type="primary" :disabled="!download.qualityMonitorDetailsId"
        <el-button plain type="primary" :disabled="download.detailsRatifyStatus !== 3"
          @click="controlDown">实施计划导出</el-button>
        <el-button plain type="primary" :disabled="!download.qualityMonitorDetailsId"
        <el-button plain type="primary" :disabled="!download.finishReportUrl"
                           @click="finishReportExport">完成报告导出</el-button>
        <el-button plain type="primary" :disabled="download.evaluateStatus !== 3"
          @click="processingDown">评价导出</el-button>
      </span>
      <span slot="footer" class="dialog-footer">
@@ -150,7 +153,7 @@
      <div style="margin: 0 auto;">
        <el-upload ref="upload1" :action="action1" :auto-upload="false"
          :data="{ qualityMonitorDetailsId: qualityMonitorDetailsId }" :file-list="fileList1" :headers="uploadHeader"
          :limit="1" :on-change="beforeUpload1" :on-error="onError1" :on-success="onSuccess1" accept='.doc,.docx' drag
          :limit="1" :on-change="beforeUpload1" :on-error="onError1" :on-success="onSuccess1" accept='.doc,.docx,application/pdf,' drag
          name="file">
          <i class="el-icon-upload"></i>
          <div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
@@ -566,7 +569,8 @@
      ratifyRemark: '',
      downloadDialog: false,
      download: {},
      planYear: ''
      planYear: '',
      option: {}
    };
  },
  mounted() {
@@ -799,6 +803,23 @@
      if (row.finishReportUrl) {
        this.currentInfo = row
        this.ratifyStatus = row.ratifyStatus
        const userName = this.nickName
        const isPdf = /\.pdf$/i.test(row.finishReportUrl)
        if (isPdf) {
          this.option = {
            url: this.javaApi + "/word/" + row.finishReportUrl,
            isEdit: false,
            fileType: 'pdf',
            title: '报告',
            lang: 'zh-CN',
            isPrint: false,
            user_id: 1,
            user_name: userName,
            editUrl: this.javaApi + "/insReport/onlyOffice/save?fileName=" + row.finishReportUrl
          }
        } else {
          this.option = {}
        }
        this.lookDialogVisible = true
      } else {
        this.uploadDia1 = true
@@ -881,6 +902,15 @@
        this.$download.saveAs(blob, '质量监控实施计划.docx')
      })
    },
    // 完成报告导出
    finishReportExport() {
      let url = this.download.finishReportUrl;
      const link = document.createElement('a');
      link.href = this.javaApi +'/word/' + url;
      link.target = '_blank';
      document.body.appendChild(link);
      link.click();
    },
    // 处理单导出
    processingDown() {
      exportQualityMonitorEvaluate({ qualityMonitorDetailsId: this.download.qualityMonitorDetailsId }).then(res => {
@@ -911,11 +941,19 @@
      selectUserCondition().then((res) => {
        this.responsibleOptions = res.data;
      })
    },
    exportSignatureTemplate() {
      let url = '质量监控记录签名模板.docx';
      const link = document.createElement('a');
      link.href = this.javaApi +'/word/' + url;
      link.target = '_blank';
      document.body.appendChild(link);
      link.click();
    }
  },
  // 用于上传文件的信息
  computed: {
    ...mapGetters(["userId"]),
    ...mapGetters(["userId", "nickName"]),
    action() {
      return this.javaApi + '/qualityMonitor/importQualityMonitor'
    },