From 7f4ffe2c19004403bb3190f25879b2074f4d3932 Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期五, 16 十月 2026 17:16:43 +0800
Subject: [PATCH] fix:1. 过程要求 - 样品接收:列表样式优化。     2. 过程要求 - 方法验证:点击详情还能修改,导出格式优化,按客户给的文档来。     3. 业务管理 - 检验任务:删除不合格相关的检测。     4. 业务管理 - 报告结果:按照发送日期倒序排列。     5. 基础配置 - 行业管理:删除印章管理。     6. 体系管理要求 - 客户满意度:附件上传报错,精简上传逻辑。

---
 src/views/CNAS/process/method/methodVerification/component/wordFormDIa.vue |   41 +++++++++++++++++++++++------------------
 1 files changed, 23 insertions(+), 18 deletions(-)

diff --git a/src/views/CNAS/process/method/methodVerification/component/wordFormDIa.vue b/src/views/CNAS/process/method/methodVerification/component/wordFormDIa.vue
index 7f6c3b2..21df974 100644
--- a/src/views/CNAS/process/method/methodVerification/component/wordFormDIa.vue
+++ b/src/views/CNAS/process/method/methodVerification/component/wordFormDIa.vue
@@ -14,17 +14,17 @@
           <tr>
             <th>鏍囧噯鍚嶇О</th>
             <td>
-              <el-input v-model="form.standardName"/>
+              <el-input v-model="form.standardName" :disabled="isView"/>
             </td>
             <th>鏍囧噯缂栧彿</th>
             <td>
-              <el-input v-model="form.standardCode"/>
+              <el-input v-model="form.standardCode" :disabled="isView"/>
             </td>
           </tr>
           <tr>
             <th>楠岃瘉椤圭洰</th>
             <td colspan="3">
-              <el-input v-model="form.verifyItem"/>
+              <el-input v-model="form.verifyItem" :disabled="isView"/>
             </td>
           </tr>
           </tbody>
@@ -48,25 +48,25 @@
           <tr v-for="(item, index) in content.checks" :key="item.key">
             <th>{{ index < 7 ? `${index + 1}. ${item.label}` : item.label }}</th>
             <td>
-              <el-input v-model="item.requirement" type="textarea" :rows="3"/>
+              <el-input v-model="item.requirement" type="textarea" :rows="3" :disabled="isView"/>
             </td>
             <td>
-              <el-input v-model="item.capability" type="textarea" :rows="3"/>
+              <el-input v-model="item.capability" type="textarea" :rows="3" :disabled="isView"/>
               <div v-if="item.key === 'personnel'" class="row-extra">
                 <span>妫�娴嬩汉鍛�</span>
-                <el-select v-model="form.confirmUser" multiple :multiple-limit="5" placeholder="璇烽�夋嫨妫�娴嬩汉鍛�">
+                <el-select v-model="form.confirmUser" multiple :multiple-limit="5" placeholder="璇烽�夋嫨妫�娴嬩汉鍛�" :disabled="isView">
                   <el-option v-for="user in userList" :key="user.id" :label="user.name" :value="user.id"/>
                 </el-select>
-                <el-link v-if="operationType === 'edit'" type="primary" @click="viewWorkPermit">鏌ョ湅涓婂矖璇�</el-link>
+                <el-link v-if="operationType !== 'add'" type="primary" @click="viewWorkPermit">鏌ョ湅涓婂矖璇�</el-link>
               </div>
               <div v-if="item.key === 'equipment'" class="row-extra">
                 <el-link type="primary" @click="viewDevice">鏌ョ湅璁惧</el-link>
-                <el-link v-if="operationType === 'edit'" type="primary" @click="viewCalibrationsFileDia">鏌ョ湅鏍″噯璇佷功
+                <el-link v-if="operationType !== 'add'" type="primary" @click="viewCalibrationsFileDia">鏌ョ湅鏍″噯璇佷功
                 </el-link>
               </div>
             </td>
             <td class="choice-cell">
-              <el-radio-group v-model="item.satisfied">
+              <el-radio-group v-model="item.satisfied" :disabled="isView">
                 <el-radio :value="1">鏄�</el-radio>
                 <el-radio :value="0">鍚�</el-radio>
               </el-radio-group>
@@ -75,23 +75,23 @@
           <tr>
             <th>楠岃瘉缁撹</th>
             <td colspan="3">
-              <el-input v-model="content.conclusion" type="textarea" :rows="4"/>
+              <el-input v-model="content.conclusion" type="textarea" :rows="4" :disabled="isView"/>
             </td>
           </tr>
           <tr v-for="decision in decisions" :key="decision.key">
             <th>{{ decision.label }}</th>
             <td colspan="3">
               <div class="decision-row">
-                <el-radio-group v-model="content[decision.key]">
+                <el-radio-group v-model="content[decision.key]" :disabled="isView">
                   <el-radio value="鍚屾剰浣跨敤">鍚屾剰浣跨敤</el-radio>
                   <el-radio value="涓嶈兘浣跨敤">涓嶈兘浣跨敤</el-radio>
                   <el-radio value="闄愬埗浣跨敤">闄愬埗浣跨敤</el-radio>
                 </el-radio-group>
                 <span>{{ decision.personLabel }}</span>
-                <el-input v-model="content[decision.personKey]" class="person-input"/>
+                <el-input v-model="content[decision.personKey]" class="person-input" :disabled="isView"/>
                 <span>鏃ユ湡</span>
                 <el-date-picker v-model="content[decision.dateKey]" type="date" value-format="YYYY-MM-DD"
-                                placeholder="閫夋嫨鏃ユ湡"/>
+                                placeholder="閫夋嫨鏃ユ湡" :disabled="isView"/>
               </div>
             </td>
           </tr>
@@ -103,13 +103,13 @@
         </div>
       </div>
       <template #footer>
-        <el-button @click="closeDia">鍙栨秷</el-button>
+        <el-button @click="closeDia">{{ isView ? '鍏抽棴' : '鍙栨秷' }}</el-button>
         <el-button v-if="operationType !== 'view'" :loading="loading" type="primary" @click="submit">鎻愪氦</el-button>
       </template>
     </el-dialog>
-    <ViewDeviceDialog v-if="deviceVisible" ref="device" @closDeviceDia="deviceVisible = false"
+    <ViewDeviceDialog v-if="deviceVisible" ref="device" :read-only="isView" @closDeviceDia="deviceVisible = false"
                       @handleDeviceInfo="setDevices"/>
-    <ViewTestRecord v-if="recordVisible" ref="record"/>
+    <ViewTestRecord v-if="recordVisible" ref="record" :read-only="isView"/>
     <ViewWorkPermitDia v-if="permitVisible" ref="permit"/>
     <CalibrationsFileDia v-if="calibrationVisible" ref="calibration"/>
   </div>
@@ -157,6 +157,9 @@
   components: {ViewDeviceDialog, ViewTestRecord, ViewWorkPermitDia, CalibrationsFileDia},
   props: {operationType: {type: String, default: 'add'}},
   computed: {
+    isView() {
+      return this.operationType === 'view'
+    },
     dialogTitle() {
       if (this.operationType === 'view') return '鏌ョ湅鏂规硶楠岃瘉'
       return this.operationType === 'edit' ? '缂栬緫鏂规硶楠岃瘉' : '鏂板鏂规硶楠岃瘉'
@@ -198,6 +201,7 @@
       })
     },
     submit() {
+      if (this.isView) return
       if (!this.form.standardName?.trim() || !this.form.standardCode?.trim() || !this.form.verifyItem?.trim()) {
         this.$message.warning('璇峰~鍐欐爣鍑嗗悕绉般�佹爣鍑嗙紪鍙峰拰楠岃瘉椤圭洰')
         return
@@ -223,11 +227,11 @@
       this.$nextTick(() => this.$refs[refName]?.openDia(data))
     },
     viewWorkPermit() {
-      if (!this.form.confirmUser?.length) {
+      if (!this.form.confirmUser?.length && !this.form.workFileList?.length) {
         this.$message.warning('璇峰厛閫夋嫨妫�娴嬩汉鍛�')
         return
       }
-      this.openChild('permitVisible', 'permit', this.form.confirmUser)
+      this.openChild('permitVisible', 'permit', this.operationType === 'view' ? this.form : this.form.confirmUser)
     },
     viewDevice() {
       this.openChild('deviceVisible', 'device', this.form)
@@ -239,6 +243,7 @@
       this.openChild('recordVisible', 'record', this.info)
     },
     setDevices(list) {
+      if (this.isView) return
       this.deviceVisible = false;
       this.form.machineAttachmentList = list
     },

--
Gitblit v1.9.3