فهرست منبع

🐞 fix(瑞恒日报运行时效判断):

Zimo 19 ساعت پیش
والد
کامیت
bc8ef0570c
3فایلهای تغییر یافته به همراه47 افزوده شده و 21 حذف شده
  1. 16 7
      src/views/pms/iotrhdailyreport/approval.vue
  2. 16 6
      src/views/pms/iotrhdailyreport/fill.vue
  3. 15 8
      src/views/pms/iotrhdailyreport/index.vue

+ 16 - 7
src/views/pms/iotrhdailyreport/approval.vue

@@ -293,15 +293,24 @@ function cellStyle(data: {
   const { row, column } = data
 
   if (column.property === 'transitTime') {
-    const originalValue = row.transitTime ?? 0
-
-    if (originalValue > 1.2)
-      return {
-        color: 'red',
-        fontWeight: 'bold'
+    // 1. 获取参与计算的字段,逻辑与 formatter 保持一致
+    const capacity = Number(row?.capacity)
+    const dailyGasInjection = Number(row?.dailyGasInjection)
+
+    // 2. 只有当两个值都有效(且 capacity 不为 0)时才进行计算
+    // 对应 formatter 中的 if (!capacity || !dailyGasInjection) 返回 '0.00%' 的情况
+    if (capacity && dailyGasInjection) {
+      const ratio = dailyGasInjection / capacity
+
+      // 3. 判断计算结果是否大于 1.2 (即 120%)
+      if (ratio > 1.0) {
+        return {
+          color: 'red',
+          fontWeight: 'bold'
+        }
       }
+    }
   }
-
   // const timeFields = ['dailyInjectGasTime', 'dailyInjectWaterTime', 'nonProductionTime']
   // if (timeFields.includes(column.property)) {
   //   if (!checkTimeSumEquals24(row)) {

+ 16 - 6
src/views/pms/iotrhdailyreport/fill.vue

@@ -293,13 +293,23 @@ function cellStyle(data: {
   const { row, column } = data
 
   if (column.property === 'transitTime') {
-    const originalValue = row.transitTime ?? 0
-
-    if (originalValue > 1.2)
-      return {
-        color: 'red',
-        fontWeight: 'bold'
+    // 1. 获取参与计算的字段,逻辑与 formatter 保持一致
+    const capacity = Number(row?.capacity)
+    const dailyGasInjection = Number(row?.dailyGasInjection)
+
+    // 2. 只有当两个值都有效(且 capacity 不为 0)时才进行计算
+    // 对应 formatter 中的 if (!capacity || !dailyGasInjection) 返回 '0.00%' 的情况
+    if (capacity && dailyGasInjection) {
+      const ratio = dailyGasInjection / capacity
+
+      // 3. 判断计算结果是否大于 1.2 (即 120%)
+      if (ratio > 1.2) {
+        return {
+          color: 'red',
+          fontWeight: 'bold'
+        }
       }
+    }
   }
 
   // const timeFields = ['dailyInjectGasTime', 'dailyInjectWaterTime', 'nonProductionTime']

+ 15 - 8
src/views/pms/iotrhdailyreport/index.vue

@@ -850,14 +850,21 @@ const cellStyle = ({
 }) => {
   // 只针对 transitTime 列进行处理
   if (column.property === 'transitTime') {
-    // 获取原始值(不是格式化后的百分比值)
-    const originalValue = row.transitTime
-
-    // 检查值是否大于120
-    if (originalValue !== null && originalValue !== undefined && parseFloat(originalValue) > 1.2) {
-      return {
-        color: 'red',
-        fontWeight: 'bold' // 可选:加粗以更突出显示
+    // 1. 获取参与计算的字段,逻辑与 formatter 保持一致
+    const capacity = Number(row?.capacity)
+    const dailyGasInjection = Number(row?.dailyGasInjection)
+
+    // 2. 只有当两个值都有效(且 capacity 不为 0)时才进行计算
+    // 对应 formatter 中的 if (!capacity || !dailyGasInjection) 返回 '0.00%' 的情况
+    if (capacity && dailyGasInjection) {
+      const ratio = dailyGasInjection / capacity
+
+      // 3. 判断计算结果是否大于 1.2 (即 120%)
+      if (ratio > 1.2) {
+        return {
+          color: 'red',
+          fontWeight: 'bold'
+        }
       }
     }
   }