From abc49b8c95e058a09bc4b90f5c283cab65cc3f26 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期五, 15 五月 2026 13:21:47 +0800
Subject: [PATCH] 进销存pro 1.计量器具台账不要检定周期了,不要安装位置,加一个快到期提醒

---
 src/views/equipmentManagement/measurementEquipment/index.vue              |   52 +++++++++++++++++--------
 src/views/equipmentManagement/repair/Modal/MaintainModal.vue              |    5 +-
 src/views/equipmentManagement/inspectionManagement/components/formDia.vue |   19 +++++++++
 src/views/equipmentManagement/inspectionManagement/index.vue              |   13 ++++++
 4 files changed, 70 insertions(+), 19 deletions(-)

diff --git a/src/views/equipmentManagement/inspectionManagement/components/formDia.vue b/src/views/equipmentManagement/inspectionManagement/components/formDia.vue
index 9f509b1..3e7f1ca 100644
--- a/src/views/equipmentManagement/inspectionManagement/components/formDia.vue
+++ b/src/views/equipmentManagement/inspectionManagement/components/formDia.vue
@@ -26,6 +26,21 @@
         </el-row>
         <el-row>
           <el-col :span="12">
+            <el-form-item label="宸℃椤圭洰" prop="inspectionProject">
+              <el-input v-model="form.inspectionProject" placeholder="璇疯緭鍏ュ贰妫�椤圭洰" />
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="鏄惁鍚敤" prop="isEnabled">
+              <el-radio-group v-model="form.isEnabled">
+                <el-radio :value="1">鏄�</el-radio>
+                <el-radio :value="0">鍚�</el-radio>
+              </el-radio-group>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="12">
             <el-form-item label="澶囨敞" prop="remarks">
               <el-input v-model="form.remarks" placeholder="璇疯緭鍏ュ娉�" type="textarea" />
             </el-form-item>
@@ -118,6 +133,8 @@
     taskName: undefined,
     inspector: '',
     inspectorIds: '',
+    inspectionProject: '',
+    isEnabled: 1,
     remarks: '',
     frequencyType: '',
     frequencyDetail: '',
@@ -245,6 +262,8 @@
     taskName: undefined,
     inspector: '',
     inspectorIds: '',
+    inspectionProject: '',
+    isEnabled: 1,
     remarks: '',
     frequencyType: '',
     frequencyDetail: '',
diff --git a/src/views/equipmentManagement/inspectionManagement/index.vue b/src/views/equipmentManagement/inspectionManagement/index.vue
index 35f82d5..c878f95 100644
--- a/src/views/equipmentManagement/inspectionManagement/index.vue
+++ b/src/views/equipmentManagement/inspectionManagement/index.vue
@@ -70,6 +70,11 @@
                     class="no-data">--</span>
             </div>
           </template>
+          <template #isEnabled="{ row }">
+            <el-tag :type="row.isEnabled === 1 ? 'success' : 'danger'" size="small">
+              {{ row.isEnabled == 1 ? '鏄�' : '鍚�' }}
+            </el-tag>
+          </template>
         </PIMTable>
       </div>
     </el-card>
@@ -126,9 +131,17 @@
   // 鍒楅厤缃�
   const columns = ref([
     { prop: "taskName", label: "宸℃浠诲姟鍚嶇О", minWidth: 160 },
+    { prop: "inspectionProject", label: "宸℃椤圭洰", minWidth: 150 },
     { prop: "remarks", label: "澶囨敞", minWidth: 150 },
     { prop: "inspector", label: "鎵ц宸℃浜�", minWidth: 150, slot: "inspector" },
     {
+      prop: "isEnabled",
+      label: "鏄惁鍚敤",
+      minWidth: 100,
+      dataType: "slot",
+      slot: "isEnabled"
+    },
+    {
       prop: "frequencyType",
       label: "棰戞",
       minWidth: 150,
diff --git a/src/views/equipmentManagement/measurementEquipment/index.vue b/src/views/equipmentManagement/measurementEquipment/index.vue
index 52c52a1..d2ec2d7 100644
--- a/src/views/equipmentManagement/measurementEquipment/index.vue
+++ b/src/views/equipmentManagement/measurementEquipment/index.vue
@@ -42,6 +42,7 @@
 				:tableLoading="tableLoading"
 				@pagination="pagination"
         :dbRowClick="dbRowClick"
+        :rowClassName="rowClassName"
 			></PIMTable>
 		</div>
 		<form-dia ref="formDia" @close="handleQuery"></form-dia>
@@ -125,22 +126,6 @@
     align:"center"
 	},
   {
-    label: "蹇埌鏈熸彁閱�",
-    prop: "valid",
-    width: 130,
-    align: "center",
-    formatData: (cell) => {
-      if (!cell) return "";
-      const validDate = new Date(cell);
-      const now = new Date();
-      const diffDays = Math.ceil((validDate - now) / (1000 * 60 * 60 * 24));
-      if (diffDays <= 7 && diffDays >= 0) {
-        return "鈿狅笍 " + diffDays + "澶╁悗鍒版湡";
-      }
-      return "";
-    }
-  },
-  {
     label: "鐘舵��",
     prop: "status",
     width: 130,
@@ -197,6 +182,31 @@
 
 const dbRowClick = (row)=>{
   rowClickData.value?.openDialog(row)
+}
+
+// 琛屾牱寮忥細蹇埌鏈燂紙7澶╁唴锛夋垨閫炬湡鏍囩孩
+const rowClassName = ({ row }) => {
+  console.log('rowClassName called:', row);
+  // valid 鏄湁鏁堝ぉ鏁帮紝mostDate 鏄渶鏂版瀹氭棩鏈�
+  if (row.valid && row.mostDate) {
+    const mostDate = new Date(row.mostDate);
+    // 璁$畻鍒版湡鏃ユ湡 = 妫�瀹氭棩鏈� + 鏈夋晥澶╂暟
+    const validDays = parseInt(row.valid) || 0;
+    const expireDate = new Date(mostDate);
+    expireDate.setDate(expireDate.getDate() + validDays);
+    
+    const now = new Date();
+    const diffDays = Math.ceil((expireDate - now) / (1000 * 60 * 60 * 24));
+    console.log('row:', row.code, 'validDays:', validDays, 'expireDate:', expireDate, 'diffDays:', diffDays);
+    // 7澶╁唴鍒版湡鎴栧凡閫炬湡閮芥爣绾�
+    if (diffDays <= 7) {
+      console.log('return warning-row');
+      return 'warning-row';
+    }
+  } else {
+    console.log('row missing valid or mostDate:', row.valid, row.mostDate);
+  }
+  return '';
 }
 
 // 琛ㄦ牸閫夋嫨鏁版嵁
@@ -298,5 +308,13 @@
 </script>
 
 <style scoped>
-
+:deep(.el-table .warning-row) {
+  background-color: #fef0f0 !important;
+}
+:deep(.el-table .warning-row:hover > td) {
+  background-color: #f9d5d5 !important;
+}
+:deep(.el-table .el-table__body tr.warning-row td) {
+  background-color: #fef0f0 !important;
+}
 </style>
\ No newline at end of file
diff --git a/src/views/equipmentManagement/repair/Modal/MaintainModal.vue b/src/views/equipmentManagement/repair/Modal/MaintainModal.vue
index b39ce08..b0b09f0 100644
--- a/src/views/equipmentManagement/repair/Modal/MaintainModal.vue
+++ b/src/views/equipmentManagement/repair/Modal/MaintainModal.vue
@@ -16,7 +16,8 @@
       </el-form-item>
       <el-form-item label="缁翠慨鐘舵��">
         <el-select v-model="form.status">
-          <el-option label="寰呴獙鏀�" :value="3"></el-option>
+          <el-option label="寰呮姤淇�" :value="0"></el-option>
+          <el-option label="瀹岀粨" :value="1"></el-option>
           <el-option label="澶辫触" :value="2"></el-option>
         </el-select>
       </el-form-item>
@@ -117,7 +118,7 @@
     data.maintenanceTime 
       ? dayjs(data.maintenanceTime).format("YYYY-MM-DD HH:mm:ss")
       : dayjs().format("YYYY-MM-DD HH:mm:ss");
-  form.status = 3; // 榛樿鐘舵�佷负寰呴獙鏀�
+  form.status = 1; // 榛樿鐘舵�佷负瀹岀粨
   // multiple 閫夋嫨鍣ㄨ姹傛暟缁勶紱鍚庣甯歌繑鍥� "1,2,3"
   if (Array.isArray(data?.sparePartsIds)) {
     form.sparePartsIds = data.sparePartsIds.map((v) => Number(v)).filter((v) => Number.isFinite(v));

--
Gitblit v1.9.3