From 951b0558a6c3990e1c0ca792aed332914228508d Mon Sep 17 00:00:00 2001
From: 吴羡 <16976746+Xian-TT3@user.noreply.gitee.com>
Date: 星期二, 13 十月 2026 17:45:08 +0800
Subject: [PATCH] 设备模块调整:档案修订新增保养、核查日期与周期并自动计算下次日期,列表新增核查、保养相关列且到期前一个月标红;设备校准的服务机构改为合格供应商下拉,使用授权的被授权人改为检测员下拉;设备树改为全部/设备/计量器具分类;保养计划明细新增计划保养时间;移除量值溯源计划页签

---
 src/views/CNAS/resourceDemand/device/component/calibration.vue |   27 ++++++++++++++++++++++++---
 1 files changed, 24 insertions(+), 3 deletions(-)

diff --git a/src/views/CNAS/resourceDemand/device/component/calibration.vue b/src/views/CNAS/resourceDemand/device/component/calibration.vue
index cf49a8d..5564222 100644
--- a/src/views/CNAS/resourceDemand/device/component/calibration.vue
+++ b/src/views/CNAS/resourceDemand/device/component/calibration.vue
@@ -110,8 +110,10 @@
           <el-row>
             <el-col :span="6">
               <el-form-item label="鏍″噯鏈嶅姟鏈烘瀯:" prop="unitOfMeasure">
-                <el-input v-model="calibrationRecord.unitOfMeasure" :disabled="operationType === 'view'"
-                  size="small"></el-input>
+                <el-select v-model="calibrationRecord.unitOfMeasure" :disabled="operationType === 'view'" clearable filterable
+                  size="small" style="width: 100%">
+                  <el-option v-for="name in calibrationServiceOptions" :key="name" :label="name" :value="name"></el-option>
+                </el-select>
               </el-form-item>
             </el-col>
             <el-col :span="8">
@@ -263,6 +265,7 @@
   addOrUpdateDeviceMetricRecord,
   saveOrUpdateDeviceMetric
 } from '@/api/cnas/resourceDemand/device.js'
+import { selectQualifiedSupplierManagementPage } from '@/api/cnas/externalService/supplierManage/supplierManage'
 import { mapGetters } from "@/utils/store-compat";
 export default {
   props: {
@@ -295,7 +298,7 @@
         fileName: '', //
       },
       formRules: {
-        unitOfMeasure: [{ required: true, message: '璇疯緭鍏ユ牎鍑嗘湇鍔℃満鏋�', trigger: 'blur' }],
+        unitOfMeasure: [{ required: true, message: '璇烽�夋嫨鏍″噯鏈嶅姟鏈烘瀯', trigger: 'change' }],
         calibrationDate: [{ required: true, message: '璇烽�夋嫨鏍″噯鏃ユ湡', trigger: 'change' }],
         calculatingApparatus: [{ required: true, message: '璇疯緭鍏ヨ绠楀櫒鍏�', trigger: 'blur' }],
         standardRange: [{ required: true, message: '璇疯緭鍏ヨ绠楁爣鍑嗛噺绋�', trigger: 'blur' }],
@@ -332,6 +335,7 @@
       addRecordLoading: false,
       upLoading: false,
       operationType: '',
+      qualifiedSupplierNames: [],
       search: {
         size: 20,
         current: 1,
@@ -341,16 +345,33 @@
   },
   // 鐢ㄤ簬涓婁紶鏂囦欢鐨勪俊鎭�
   computed: {
+    // 鏍″噯鏈嶅姟鏈烘瀯涓嬫媺閫夐」锛堝悎鏍间緵搴斿晢 + 褰撳墠鍊煎厹搴曪級
+    calibrationServiceOptions() {
+      const list = this.qualifiedSupplierNames.slice();
+      const value = this.calibrationRecord.unitOfMeasure;
+      if (value && list.indexOf(value) === -1) list.push(value);
+      return list;
+    },
     ...mapGetters(["nickName"]),
     action() {
       return this.javaApi + '/personBasicInfo/saveCNASFile'
     }
   },
   mounted() {
+    this.obtainQualifiedSupplierList()
     //鑾峰彇鎿嶄綔璁板綍淇℃伅
     this.getTableList(this.clickNodeVal.value) // 鑾峰彇璁惧鏍″噯鍒楄〃鏁版嵁
   },
   methods: {
+    // 鎷夊彇鍚堟牸渚涘簲鍟嗗垪琛紙鏍″噯鏈嶅姟鏈烘瀯涓嬫媺閫夐」锛�
+    obtainQualifiedSupplierList() {
+      selectQualifiedSupplierManagementPage({ current: 1, size: 999 }).then(res => {
+        if (res.code === 200) {
+          const rows = (res.data && res.data.records) || [];
+          this.qualifiedSupplierNames = [...new Set(rows.map(r => r.supplierName).filter(Boolean))];
+        }
+      });
+    },
     //鐘舵�佸垽瀹�
     checkRadio() {
       let resultList = this.calibrateParams.map(ele => ele.result)

--
Gitblit v1.9.3