Browse Source

合同支付计算调整

MaiXinRong 3 năm trước cách đây
mục cha
commit
1739c2a2ea
2 tập tin đã thay đổi với 26 bổ sung9 xóa
  1. 11 2
      app/lib/pay_calc.js
  2. 15 7
      app/public/js/stage_pay.js

+ 11 - 2
app/lib/pay_calc.js

@@ -228,9 +228,18 @@ class PayCalculate {
             bqyf.value = this.yf.tp;
         }
         if (this.sf.expr === null || this.sf.expr === '') {
-            this.sf.tp = this.yf.tp;
+            if (this.sf.rprice) {
+                this.sf.tp = Math.min(this.ctx.helper.sub(this.sf.rprice, this.sf.pre_tp), this.yf.tp);
+            } else {
+                this.sf.tp = this.yf.tp;
+            }
         } else {
-            this.sf.tp = this.ctx.helper.round(this._calculateTpExpr(this.sf), this.decimal);
+            const value = this.ctx.helper.round(this._calculateTpExpr(this.sf), this.decimal);
+            if (this.sf.rprice) {
+                this.sf.tp = Math.min(this.ctx.helper.sub(this.sf.rprice, this.sf.pre_tp), value);
+            } else {
+                this.sf.tp = this.ctx.helper.round(value, this.decimal);
+            }
         }
         this.sf.end_tp = this.ctx.helper.add(this.sf.tp, this.sf.pre_tp);
     }

+ 15 - 7
app/public/js/stage_pay.js

@@ -251,7 +251,7 @@ $(document).ready(() => {
                 if (payBase.isOld(data)) {
                     return !payBase.isYB(data);
                 } else {
-                    return payBase.isWC(data) || payBase.isSF(data) || payBase.isYF(data) || !(payBase.isOwner(data) || payBase.isYB());
+                    return payBase.isWC(data) || payBase.isYF(data) || !(payBase.isOwner(data) || payBase.isYB());
                 }
             },
         },
@@ -435,12 +435,20 @@ $(document).ready(() => {
             if (!valid) return [valid, msg];
 
             if (payBase.isStarted(payNode)) {
-                // if (payNode.pre_finish) return [false, '已达扣款限额,请勿修改'];
-                // const value = expr ? payCalc.calculateExpr(expr) : num;
-                // if (payNode.pre_tp && value < payNode.pre_tp) return [false, '截止上期已计量' + payNode.pre_tp + ',扣款限额请勿少于改值'];
-                // data.rprice = num;
-                // data.rexpr = expr;
-                return [false, '已经开始使用,请勿修改扣款限额'];
+                if (payBase.isSF(payNode)) {
+                    const value = expr ? payCalc.calculateExpr(expr) : num;
+                    if (payNode.pre_tp && value < payNode.pre_tp) return [false, '截止上期已计量' + payNode.pre_tp + ',扣款限额请勿少于改值'];
+                    data.rprice = num;
+                    data.rexpr = expr;
+                    return [true, ''];
+                } else {
+                    // if (payNode.pre_finish) return [false, '已达扣款限额,请勿修改'];
+                    // const value = expr ? payCalc.calculateExpr(expr) : num;
+                    // if (payNode.pre_tp && value < payNode.pre_tp) return [false, '截止上期已计量' + payNode.pre_tp + ',扣款限额请勿少于改值'];
+                    // data.rprice = num;
+                    // data.rexpr = expr;
+                    return [false, '已经开始使用,请勿修改扣款限额'];
+                }
             } else {
                 data.rprice = num;
                 data.rexpr = expr;