gaoluyang
2025-03-10 b373b324b677d377abbcbefd7434e4af4d8f64cc
src/views/CNAS/resourceDemand/device/component/calibration.vue
@@ -61,7 +61,7 @@
          style="margin-top: 5px;margin-bottom: 10px;"
          :action="action"
          :data="uploadData"
          :headers="headers"
          :headers="uploadHeader"
          :before-upload="beforeUpload"
          :on-success="onSuccess"
      >
@@ -333,7 +333,7 @@
  selectDeviceMetric,
  deleteDeviceMetrics,
  addOrUpdateDeviceMetricRecord,
  saveOrUpdateDeviceMetric
  saveOrUpdateDeviceMetric, downLoadDeviceCalibrationFile, getDeviceCalibrationFile, delDeviceCalibrationFile
} from '@/api/cnas/resourceDemand/device.js'
import { mapGetters } from "vuex";
import filePreview from "@/components/Preview/filePreview.vue";
@@ -353,6 +353,12 @@
      calibrateParams: [],
      calibrateParamsLoading: false,
      addCalibrateLoading: false,
      previewFile: '',
      lookDialogVisible: false,
      recordId: null,
      uploadData: {},
      fileData: [],
      dialogVisibleFile: false,
      calibrationRecord: {
        unitOfMeasure: '', // 计量单位
        calibrationDate: null, // 校准日期
@@ -425,6 +431,67 @@
    this.getTableList(this.clickNodeVal.value) // 获取设备校准列表数据
  },
  methods: {
    preview(row) {
      let list = row.fileUrl.split('.')
      let suffix = list[list.length - 1]
      if(suffix.toLowerCase().includes("pdf")) {
        let link = document.createElement('a')
        let url = this.javaApi + 'word' + row.fileUrl
        console.log(url);
        link.href = url
        link.target= '_blank'
        document.body.appendChild(link)
        link.click()
        document.body.removeChild(link)
      }else{
        let url = ''
        if(suffix.toLowerCase().includes('docx')) {
          url = this.javaApi + 'word' + row.fileUrl
        }else if(suffix.toLowerCase().includes('xls')) {
          url = this.javaApi + 'excel' + row.fileUrl
        }else{
          url = this.javaApi + 'img' + row.fileUrl
        }
        this.previewFile = url
        this.$nextTick(() => {
          this.lookDialogVisible = true
        })
      }
    },
    download(row) {
      downLoadDeviceCalibrationFile({id: row.id}).then(res => {
        const blob = new Blob([res],{type: row.mime})
        this.$download.saveAs(blob, row.fileName)
      })
    },
    delFile(row) {
      this.$confirm('此操作将永久删除该文件, 是否继续?', '提示', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'warning'
      }).then(() => {
        delDeviceCalibrationFile({id: row.id}).then(res => {
          this.$message({
            type: 'success',
            message: '删除成功!'
          });
          this.getFileData(this.recordId);
        })
      })
    },
    handleAttachmentClick(row) {
      // 模拟下载附件
      // const imageUrl = this.javaApi + '/img/' + row.systemFileName; // 图片 URL
      // file.downloadIamge(imageUrl,row.fileName)
      this.recordId = row.id
      this.dialogVisibleFile = true
      this.getFileData(row.id)
    },
    getFileData(id) {
      getDeviceCalibrationFile({id: id}).then(res =>{
        this.fileData = res.data
      })
    },
    //状态判定
    checkRadio() {
      let resultList = this.calibrateParams.map(ele => ele.result)
@@ -489,9 +556,6 @@
          message: '已取消删除'
        });
      })
    },
    handleAttachmentClick(row) {
      this.$download.saveAs(row.systemFileName, row.systemFileName)
    },
    //导出
    handleDown() {
@@ -637,15 +701,31 @@
      }
    },
    beforeUpload(file) {
      let list = file.name.split('.')
      let suffix = list[list.length - 1]
      console.log(suffix);
      if (file.size > 1024 * 1024 * 10) {
        this.$message.error('上传文件不超过10M');
        this.$refs.upload.clearFiles()
        return false;
      } else {
        this.upLoading = true;
        this.$set(this.uploadData,'id',this.recordId)
        this.$set(this.uploadData,'suffix',suffix)
        return true;
      }
    },
    onSuccess(response,file,fileList) {
      if(response.code == 200) {
        this.$message.success("上传成功")
        this.upLoading = false
        this.$refs.upload.clearFiles()
        this.getFileData(this.recordId)
      } else {
        this.$message.error(response.msg)
      }
    },
    onError(err, file, fileList) {
      this.$message.error('上传失败')
      this.$refs.upload.clearFiles()