From ff1f734e5f37cdd004f6c8bf88a2917737e1ff08 Mon Sep 17 00:00:00 2001
From: hyingbo <1363390067@qq.com>
Date: 星期四, 11 九月 2025 11:10:56 +0800
Subject: [PATCH] 故障报修列表超期标记红色

---
 src/views/eam/repair/EamReportRepairList.vue |   49 ++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 40 insertions(+), 9 deletions(-)

diff --git a/src/views/eam/repair/EamReportRepairList.vue b/src/views/eam/repair/EamReportRepairList.vue
index 54655ba..37aa3b5 100644
--- a/src/views/eam/repair/EamReportRepairList.vue
+++ b/src/views/eam/repair/EamReportRepairList.vue
@@ -58,7 +58,7 @@
 
     <!-- 鎿嶄綔鎸夐挳鍖哄煙 -->
     <div class="table-operator" v-if="isDisplayOperation">
-      <a-button @click="handleAdd" type="primary" icon="plus">鏂板</a-button>
+      <a-button @click="handleAdd" type="primary" icon="plus" v-if="isShowAuth('eam:reportRepair:add')">鏂板</a-button>
       <!--<a-button type="primary" icon="download" @click="handleExportXls('鏁呴殰鎶ヤ慨')">瀵煎嚭</a-button>-->
       <!--<a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl"-->
       <!--@change="handleImportExcel">-->
@@ -66,7 +66,7 @@
       <!--</a-upload>-->
       <a-dropdown v-if="selectedRowKeys.length > 0">
         <a-menu slot="overlay">
-          <a-menu-item key="1" @click="batchDel">
+          <a-menu-item key="1" @click="batchDel" v-if="isShowAuth('eam:reportRepair:abolish')">
             <a-icon type="delete"/>
             浣滃簾
           </a-menu-item>
@@ -96,22 +96,23 @@
         :loading="loading"
         class="j-table-force-nowrap"
         :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange,type:isDisplayOperation?'checkbox':'radio',getCheckboxProps:getCheckboxProps}"
-        @change="handleTableChange">
+        @change="handleTableChange"
+        :rowClassName="getRowClassName">
 
         <template slot="imageFiles" slot-scope="text, record" v-if="text">
           <a @click="handlePreviewImages(record)">棰勮</a>
         </template>
 
         <span slot="action" slot-scope="text, record" v-if="record.reportStatus=='WAIT_REPAIR'">
-          <a @click="handleEdit(record)">缂栬緫</a>
+          <a @click="handleEdit(record)" v-if="isShowAuth('eam:reportRepair:edit')">缂栬緫</a>
 
-          <a-divider type="vertical"/>
+          <a-divider type="vertical" v-if="isShowAuth('eam:reportRepair:edit')"/>
 
-          <a @click="handleAssign(record)">鎸囨淳</a>
+          <a @click="handleAssign(record)" v-if="isShowAuth('eam:reportRepair:assign')">鎸囨淳</a>
 
-          <a-divider type="vertical"/>
+          <a-divider type="vertical" v-if="isShowAuth('eam:reportRepair:assign')"/>
 
-          <a-popconfirm title="纭畾浣滃簾鍚�?" @confirm="() => handleDelete(record.id)">
+          <a-popconfirm title="纭畾浣滃簾鍚�?" @confirm="() => handleDelete(record.id)" v-if="isShowAuth('eam:reportRepair:abolish')">
             <a>浣滃簾</a>
           </a-popconfirm>
         </span>
@@ -178,7 +179,13 @@
           {
             title: '璁惧缂栧彿',
             align: 'center',
-            dataIndex: 'equipmentId_dictText',
+            dataIndex: 'equipmentCode',
+            width: 200
+          },
+          {
+            title: '璁惧鍚嶇О',
+            align: 'center',
+            dataIndex: 'equipmentName',
             width: 200
           },
           {
@@ -268,6 +275,26 @@
       this.loadData(1)
     },
     methods: {
+
+      /**
+       * 璁$畻褰撳墠鏃堕棿鏄惁澶т簬鏁呴殰寮�濮嬫椂闂�+3澶�
+       * @param record 琛ㄦ牸琛屾暟鎹�
+       * @returns {string} 琛屾牱寮忕被鍚�
+       */
+      getRowClassName(record) {
+        if ('WAIT_REPAIR' !== record.reportStatus) return '';
+
+        // 瑙f瀽鏁呴殰寮�濮嬫椂闂�
+        const faultStartTime = new Date(record.createTime);
+        // 璁$畻鏁呴殰寮�濮嬫椂闂�+3澶╃殑鏃堕棿鎴�
+        const threeDaysLater = new Date(faultStartTime.getTime() + 3 * 24 * 60 * 60 * 1000);
+        // 鑾峰彇褰撳墠鏃堕棿
+        const now = new Date();
+
+        // 濡傛灉褰撳墠鏃堕棿澶т簬鏁呴殰寮�濮嬫椂闂�+3澶╋紝杩斿洖鏍囩孩鏍峰紡绫诲悕
+        return now > threeDaysLater ? 'row-overdue' : '';
+      },
+
       /**
        * 鑾峰彇鏁版嵁瀛楀吀鍊�
        * @param dictCode 鏁版嵁瀛楀吀瀵瑰簲璁板綍缂栫爜
@@ -343,4 +370,8 @@
 </script>
 <style scoped>
   @import '~@assets/less/common.less';
+  /* 娣诲姞鏍囩孩鏍峰紡 */
+  ::v-deep .row-overdue {
+    color: red !important;
+  }
 </style>
\ No newline at end of file

--
Gitblit v1.9.3