瀏覽代碼

1. 合同支付,颜色标记
2. 合同支付,公式判断调整

MaiXinRong 6 月之前
父節點
當前提交
036339cbce
共有 2 個文件被更改,包括 18 次插入3 次删除
  1. 17 2
      app/public/js/phase_pay_detail.js
  2. 1 1
      app/service/phase_pay_detail.js

+ 17 - 2
app/public/js/phase_pay_detail.js

@@ -134,6 +134,7 @@ $(document).ready(() => {
                 this.addBase = add;
                 this.orderReg = /f\d+/ig;
                 this.nodeReg = /<<[a-z0-9\-]+>>/ig;
+                this.firstNodeReg = /^<<[a-z0-9\-]+>>/ig;
             }
             hasBase(expr) {
                 if (!expr) return false;
@@ -177,7 +178,7 @@ $(document).ready(() => {
                             base = '';
                         }
                         num = num + expr[i];
-                    } else if (this.nodeReg.test(subExpr)) {
+                    } else if (this.firstNodeReg.test(subExpr)) {
                         if (num !== '') {
                             param.push({type: 'num', value: num});
                             num = '';
@@ -187,7 +188,7 @@ $(document).ready(() => {
                             base = '';
                         }
                         // const node = this.nodeReg.exec(subExpr);
-                        const node = subExpr.match(this.nodeReg);
+                        const node = subExpr.match(this.firstNodeReg);
                         param.push({type: 'node', value: node[0]});
                         i = i + node[0].length - 1;
                     } else if (/^[a-z]/.test(expr[i])) {
@@ -287,6 +288,7 @@ $(document).ready(() => {
                     }
                     if (p.type === 'left') {
                         iLeftCount += 1;
+                        // if (i !== 0 && (param[i-1].type !== 'calc' || param[i-1].type !== 'left'))
                         if (i !== 0 && param[i-1].type !== 'calc')
                             return [false, '输入的表达式非法:(前应有运算符'];
                     }
@@ -510,6 +512,19 @@ $(document).ready(() => {
                 colWidth: true,
             },
             pos: SpreadJsObj.getObjPos($('#pay-spread')[0]),
+            getColor: function (sheet, data, row, col, defaultColor) {
+                if (!data) return defaultColor;
+
+                if (data.expr && data.expr.indexOf('#ref!') >= 0) {
+                    return spreadColor.pay.expr_err;
+                } else if (data.is_pause) {
+                    return '#f2f2f2';
+                } else if (data.create_phase_order > 1 && data.create_phase_order === phasePay.phase_order) {
+                    return '#FFFFE1';
+                } else {
+                    return defaultColor;
+                }
+            }
         };
         sjsSettingObj.setFxTreeStyle(spreadSetting, sjsSettingObj.FxTreeStyle.phasePay);
         SpreadJsObj.initSheet(sheet, spreadSetting);

+ 1 - 1
app/service/phase_pay_detail.js

@@ -472,7 +472,7 @@ class PhasePayDetail extends TreeService {
         const insertData = [];
         for (let i = 1; i <= count ; i++) {
             const data = {
-                tree_id: maxId + i, tree_pid: select.tree_id, tree_order: children.length + 1 + i,
+                tree_id: maxId + i, tree_pid: select.tree_id, tree_order: children.length + i,
                 tree_level: select.tree_level + 1, tree_is_leaf: 1
             };
             data.tree_full_path = select.tree_full_path + '-' + data.tree_id;