gaoluyang
2025-03-14 dd05e06f8a116c6f14c3c78cfc3113d7787043fd
管理体系文件bug
已修改2个文件
60 ■■■■■ 文件已修改
src/components/UpPdfStamp/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/CNAS/systemManagement/documentControl/components/FileChangeRequest.vue 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/UpPdfStamp/index.vue
@@ -4,7 +4,7 @@
      v-if="isUpFile">
      <input type="file" @change="handleFileUpload" accept="application/pdf" ref="fileInput" />
    </div>
    <p style="color: red;font-size: 12px;margin: 16px 0;" v-if="canvasNumPages > 0">提示:在文件范围内,单击鼠标盖章,双击鼠标已盖好章处可删除当前章</p>
    <div style="color: red;font-size: 12px;margin: 16px 0;" v-if="canvasNumPages > 0">提示:在文件范围内,单击鼠标盖章,双击鼠标已盖好章处可删除当前章</div>
    <canvas ref="pdfCanvas" @click="e => handleCanvasClick(e, index)" style="border: 1px solid #000;"
      @dblclick="e => removeStamp(e, index)" v-for="(item, index) in canvasNumPages" :key="index"></canvas>
  </div>
src/views/CNAS/systemManagement/documentControl/components/FileChangeRequest.vue
@@ -1,6 +1,6 @@
<template>
  <!-- 文件变更申请 -->
  <div class="file-change-request" style="height: 100%;">
  <div class="file-change-request">
    <div class="search">
      <div class="search_thing">
        <div class="search_label">申请文件编号:</div>
@@ -22,6 +22,7 @@
        :height="'calc(100vh - 290px)'" @pagination="pagination"></lims-table>
    </div>
    <el-dialog :title="title" :visible.sync="addDialogVisible" top="0vh" width="950px">
      <div v-loading="diaLoading">
      <el-row>
        <el-col :span="12" style="margin-bottom: 16px;">
          <div class="search_thing">
@@ -109,18 +110,6 @@
              </el-select></div>
          </div>
        </el-col>
        <!-- <el-col :span="8" style="margin-bottom: 16px;">
          <div class="search_thing" style="width: 100%;">
            <div class="search_label">审核人:</div>
            <div class="search_input"><el-input size="small" placeholder="请输入" clearable v-model="addInfo.version" disabled></el-input></div>
          </div>
        </el-col>
        <el-col :span="8" style="margin-bottom: 16px;">
          <div class="search_thing" style="width: 100%;">
            <div class="search_label">作废人:</div>
            <div class="search_input"><el-input size="small" placeholder="请输入" clearable v-model="addInfo.version" disabled></el-input></div>
          </div>
        </el-col> -->
        <el-col :span="8" style="margin-bottom: 16px;">
          <div class="search_thing" style="width: 100%;">
            <div class="search_label">提交时间:</div>
@@ -135,12 +124,6 @@
                size="small"></el-input></div>
          </div>
        </el-col>
        <!-- <el-col :span="8" style="margin-bottom: 16px;">
          <div class="search_thing" style="width: 100%;">
            <div class="search_label">作废时间:</div>
            <div class="search_input"><el-input size="small" placeholder="请输入" clearable v-model="addInfo.version" disabled></el-input></div>
          </div>
        </el-col> -->
        <el-col :span="8" style="margin-bottom: 16px;">
          <div class="search_thing" style="width: 100%;">
            <div class="search_label">文件状态:</div>
@@ -152,13 +135,6 @@
            </div>
          </div>
        </el-col>
        <!-- <el-col :span="8" style="margin-bottom: 16px;">
          <div class="search_thing" style="width: 100%;">
            <div class="search_label">文件说明:</div>
            <div class="search_input"><el-input size="small" placeholder="请输入" clearable v-model="addInfo.instructions" type="textarea"
              :rows="2" disabled></el-input></div>
          </div>
        </el-col> -->
        <el-col :span="24">
          <h4 class="title">文件变更申请</h4>
        </el-col>
@@ -214,6 +190,7 @@
        <UpPdfStamp v-if="title == '审核' && addDialogVisible" ref="UpPdfStamp" :isUpFile="false" @uploadPDF="uploadPDF">
        </UpPdfStamp>
      </el-row>
      </div>
      <span v-if="title != '审核'" slot="footer" class="dialog-footer">
        <el-button @click="addDialogVisible = false">取 消</el-button>
        <el-button :loading="addLoading" type="primary" @click="handleAdd">确 定</el-button>
@@ -263,6 +240,7 @@
      noCheckLoading: false,
      checkLoading: false,
      addDialogVisible: false,
      diaLoading: false,
      addInfo: {},
      addPower: false,
      outPower: false,
@@ -550,35 +528,39 @@
      let alterBeforeCode = this.addInfo.alterBeforeCode
      this.getCurrentFile(alterBeforeCode)
      this.addDialogVisible = true
      this.diaLoading = true
      checkManageDocumentAlterPdf({ id: row.id }).then(res => {
        //
        this.diaLoading = false
        const blob = new Blob([res]);
        const file = new File([blob], row.name, { type: 'application/pdf' })
        this.$refs.UpPdfStamp.lookFile(file)
        this.currentInfo = row
      }).catch(err => {
        this.diaLoading = false
        console.log(err)
      })
    },
    // 审核保存
    async uploadPDF(pdfBlob) {
    uploadPDF(pdfBlob) {
      const file = new File([pdfBlob], this.fileName, { type: 'application/pdf' })
      console.log('file---', file)
      const formData = new FormData();
      formData.append('file', pdfBlob, this.fileName + '.pdf'); // 文件字段
      formData.append('file', file, this.fileName + '.pdf'); // 文件字段
      formData.append('id', this.currentInfo.id); // 文件名字段
      formData.append('state', this.type); // 文件名字段
      let res = await checkManageDocumentAlter(formData)
      this.checkLoading = false
      this.noCheckLoading = false
      if (res.code == 200) {
      checkManageDocumentAlter(formData).then(res => {
        this.$message({ message: '操作成功', type: 'success' });
        this.addDialogVisible = false;
        this.checkLoading = false
        this.noCheckLoading = false
        this.refreshTable()
        return true
      } else {
        this.$message({ message: '操作失败', type: 'error' });
      }).catch(err => {
        this.checkLoading = false
        this.noCheckLoading = false
        return false
      }
      })
    },
    // 提交审核
    handleCheckSub(type) {
@@ -610,6 +592,10 @@
</script>
<style scoped>
>>> .el-dialog__body {
  max-height: 75vh;
  overflow-y: auto;
}
.title {
  height: 60px;
  line-height: 60px;