Jelajahi Sumber

计量台账,超计标红显示,判断调整

MaiXinRong 4 tahun lalu
induk
melakukan
c743e851ee
2 mengubah file dengan 40 tambahan dan 20 penghapusan
  1. 38 0
      app/public/js/global.js
  2. 2 20
      app/public/js/stage.js

+ 38 - 0
app/public/js/global.js

@@ -860,6 +860,44 @@ $.fn.extend({
     }
 });
 
+const checkUtils = {
+    posOver(data) {
+        if (!data) return false;
+        if (!data.quantity) return !!data.end_contract_qty;
+        return data.quantity > 0 ? data.end_contract_qty > data.quantity : data.end_contract_qty < data.quantity;
+    },
+    billsOver(data, isTz, relaPos) {
+        if (!data) return false;
+        if (isTz) {
+            const posRange = relaPos.ledgerPos[itemsPre + data.id] || [];
+            if (posRange.length > 0) {
+                for (const p of posRange) {
+                    if (checkUtils.posOver(p)) return true;
+                }
+                return false;
+            }
+            if (data.is_tp) {
+                if (!data.total_price) return !!data.end_contract_tp;
+                return data.total_price >= 0
+                    ? data.end_contract_tp > data.total_price : data.end_contract_tp < data.total_price;
+            } else {
+                if (!data.quantity) return !!data.end_contract_qty;
+                return data.quantity >= 0
+                    ? data.end_contract_qty > data.quantity : data.end_contract_qty < data.quantity;
+            }
+        } else {
+            if (data.is_tp) {
+                if (!data.deal_tp) return !!data.end_contract_tp;
+                return data.deal_tp >= 0
+                    ? data.end_contract_tp > data.deal_tp : data.end_contract_tp < data.deal_tp;
+            } else {
+                if (!data.deal_qty) return !!data.end_contract_qty;
+                return data.deal_qty >= 0
+                    ? data.end_contract_qty > data.deal_qty : data.end_contract_qty < data.deal_qty;
+            }
+        }
+    }
+};
 
 Number.prototype.format2Str = function (pattern) {
     var strarr = this?this.toString().split('.'):['0'];

+ 2 - 20
app/public/js/stage.js

@@ -641,25 +641,7 @@ $(document).ready(() => {
                 if (def && def.color) return def.color;
             }
 
-            if (checkTzMeasureType()) {
-                const posRange = stagePos.ledgerPos[itemsPre + data.id] || [];
-                if (posRange.length > 0) {
-                    for (const p of posRange) {
-                        if (p.end_contract_qty > p.quantity) return '#f8d7da';
-                    }
-                }
-                if (data.is_tp) {
-                    return data.end_contract_tp > data.total_price ? '#f8d7da' : defaultColor;
-                } else {
-                    return data.end_contract_qty > data.quantity ? '#f8d7da' : defaultColor;
-                }
-            } else {
-                if (data.is_tp) {
-                    return data.end_contract_tp > data.deal_tp ? '#f8d7da' : defaultColor;
-                } else {
-                    return data.end_contract_qty > data.deal_qty ? '#f8d7da' : defaultColor;
-                }
-            }
+            return checkUtils.billsOver(data, checkTzMeasureType(), stagePos) ? '#f8d7da' : defaultColor;
         } else {
             return defaultColor;
         }
@@ -753,7 +735,7 @@ $(document).ready(() => {
             }
         }
         if (checkTzMeasureType()) {
-            return data && data.end_contract_qty > data.quantity ? '#f8d7da' : defaultColor;
+            return checkUtils.posOver(data)  ? '#f8d7da' : defaultColor;
         }
     };
     sjsSettingObj.setGridSelectStyle(posSpreadSetting);