Переглянути джерело

合同支付,计算基数,根据计算代号,无法正确排序

MaiXinRong 6 роки тому
батько
коміт
58bb108e44
2 змінених файлів з 16 додано та 12 видалено
  1. 7 7
      app/const/deal_pay.js
  2. 9 5
      app/lib/pay_calc.js

+ 7 - 7
app/const/deal_pay.js

@@ -23,13 +23,13 @@ const payTemplate = [
 ];
 
 const calcBase = [
-    {name: '签约合同价', code: 'htj'},
-    {name: '暂列金额', code: 'zlje'},
-    {name: '签约合同价(不含暂列金)', code: 'htjszl'},
-    {name: '签约开工预付款', code: 'kgyfk'},
-    {name: '签约材料预付款', code: 'clyfk'},
-    {name: '本期完成计量', code: 'bqwc', limit: true},
-    {name: '100章本期完成计量', code: 'ybbqwc', limit: true},
+    {name: '签约合同价', code: 'htj', sort: 10},
+    {name: '暂列金额', code: 'zlje', sort: 2},
+    {name: '签约合同价(不含暂列金)', code: 'htjszl', sort: 1},
+    {name: '签约开工预付款', code: 'kgyfk', sort: 2},
+    {name: '签约材料预付款', code: 'clyfk', sort: 2},
+    {name: '本期完成计量', code: 'bqwc', limit: true, sort: 10},
+    {name: '100章本期完成计量', code: 'ybbqwc', limit: true, sort: 1},
 ];
 
 const chapterDetailType = {

+ 9 - 5
app/lib/pay_calc.js

@@ -28,12 +28,14 @@ class PayCalculate {
         if (this.bases) { return; }
         const bases = await this.ctx.service.stage.getStagePayCalcBase();
         this.bases = bases.sort(function (a, b) {
-            if (a && b) {
-                return b.code.indexOf(a.code) === -1 ? -1 : 1;
-            } else {
-                return 0;
-            }
+            return a.sort - b.sort;
+            // if (a && b) {
+            //     return b.code.indexOf(a.code) >= 0 ? 1 : 0;
+            // } else {
+            //     return 0;
+            // }
         });
+        console.log(this.bases);
         for (const b of this.bases) {
             b.reg = new RegExp(b.code, 'igm');
         }
@@ -174,6 +176,8 @@ class PayCalculate {
                     } else {
                         p.tp = null;
                     }
+                } else if (p.tp && !this.ctx.helper.checkZero(p.tp)) {
+                    p.tp = this.ctx.helper.round(p.tp, this.decimal);
                 }
                 // 累加 至 应付
                 if (p.is_yf) {