Browse Source

调用变更令,调整

MaiXinRong 4 years ago
parent
commit
faa1762ce8
1 changed files with 19 additions and 11 deletions
  1. 19 11
      app/public/js/stage.js

+ 19 - 11
app/public/js/stage.js

@@ -220,14 +220,14 @@ $(document).ready(() => {
                 font: '12px 微软雅黑',
                 getColor: function (sheet, data, row, col, defaultColor) {
                     if (col.field === 'uamount') {
-                        if (!data.vamount) {
-                            return (data.uamount && math.abs(data.uamount) > 0) ? '#ff6f5c' : defaultColor;
-                        } else if (data.uamount) {
-                            return data.vamount > 0
-                                ? data.uamount > data.vamount ? '#ff6f5c' : defaultColor
-                                : data.uamount < data.vamount ? '#ff6f5c' : defaultColor;
+                        if (data.bamount > 0) {
+                            const usedAmount = ZhCalc.add(data.uamount, data.pre_amount);
+                            return usedAmount < 0 || usedAmount > data.bamount ? '#ff6f5c' : defaultColor;
+                        } else if (data.bamount < 0) {
+                            const usedAmount = ZhCalc.add(data.uamount, data.pre_amount);
+                            return usedAmount > 0 || usedAmount < data.bamount ? '#ff6f5c' : defaultColor;
                         } else {
-                            return defaultColor;
+                            return data.uamount ? '#ff6f5c' : defaultColor;
                         }
                     } else {
                         return defaultColor;
@@ -319,16 +319,23 @@ $(document).ready(() => {
                 const data = { target: self.callData, change: [] };
                 for (const c of self.displayChanges) {
                     if (c.uamount) {
-                        const vamount = (!c.vamount || checkZero(c.vamount)) ? 0 : c.vamount;
-                        if (vamount === 0) {
-                            if ((c.b_amount > 0 && c.uamount > c.b_amount) || (c.b_amount < 0 && c.uamount < b_amount)) {
+                        if (c.bamount > 0) {
+                            const usedAmount = ZhCalc.add(c.uamount, c.pre_amount);
+                            if (usedAmount < 0 || usedAmount > c.bamount) {
                                 toastr.error('变更令:' + c.code + ' 超计,请修改本期计量后,再提交');
                                 return;
                             }
-                        } else if ((vamount > 0 && c.uamount > vamount) || (vamount < 0 && c.uamount < vamount)) {
+                        } else if (c.bamount < 0) {
+                            const usedAmount = ZhCalc.add(c.uamount, c.pre_amount);
+                            if (usedAmount > 0 || usedAmount < c.bamount) {
+                                toastr.error('变更令:' + c.code + ' 超计,请修改本期计量后,再提交');
+                                return;
+                            }
+                        } else {
                             toastr.error('变更令:' + c.code + ' 超计,请修改本期计量后,再提交');
                             return;
                         }
+
                         data.change.push({ cid: c.cid, cbid: c.cbid, qty: c.uamount });
                     }
                 }
@@ -359,6 +366,7 @@ $(document).ready(() => {
                     c.uamount = uc.qty;
                     c.vamount = ZhCalc.add(c.vamount, c.uamount);
                 }
+                c.pre_amount = ZhCalc.sub(c.used_amount, c.uamount);
             }
         }
         _loadChangeDetail(change) {