Browse Source

设置公式限制调整、公式计算调整

MaiXinRong 1 year ago
parent
commit
1607c96333
2 changed files with 12 additions and 1 deletions
  1. 4 1
      app/public/js/ledger.js
  2. 8 0
      app/public/js/stage.js

+ 4 - 1
app/public/js/ledger.js

@@ -1718,7 +1718,10 @@ $(document).ready(function() {
             },
             visible: function (key, opt) {
                 const node = SpreadJsObj.getSelectObject(ledgerSpread.getActiveSheet());
-                return node.children.length === 0;
+                if (node.children && node.children.length > 0) return false;
+                const posRange = pos.getLedgerPos(node.id);
+                if (posRange && posRange.length > 0) return false;
+                return true;
             }
         };
     }

+ 8 - 0
app/public/js/stage.js

@@ -1681,8 +1681,16 @@ $(document).ready(() => {
                     TreeExprCalc.setCalcType(TreeExprCalc.calcType.sortCache);
 
                     const calcExpr = stageTree.nodes.filter(x => {
+                        if (x.children && x.children.length > 0) return false;
+                        const posRange = stagePos.getLedgerPos(x.id);
+                        if (posRange && posRange.length > 0) return false;
                         return !!x.calc_expr;
                     }).map(x => { return { id: x.id, expr: x.calc_expr, unit_price: x.unit_price, calcField: x.is_tp ? 'tp' : 'qty' }});
+                    if (calcExpr.length === 0) {
+                        toastr.warning('沒有可计算的公式');
+                        return;
+                    }
+
                     TreeExprCalc.calcAllExpr(calcExpr);
                     const updateData = calcExpr.map(x => {
                         const data = { lid: x.id, contract_expr: x.formula };