소스 검색

fix: 概算汇总,工程费用只读

vian 4 년 전
부모
커밋
728c58e89f
1개의 변경된 파일9개의 추가작업 그리고 6개의 파일을 삭제
  1. 9 6
      web/building_saas/budget-summary/js/budgetSummarySheet.js

+ 9 - 6
web/building_saas/budget-summary/js/budgetSummarySheet.js

@@ -64,6 +64,7 @@ const budgetSummaryObj = (() => {
       if (node.data.calcBase && node.data.calcBase !== "") {
         return cbParser.toFExpr(node.data.calcBase);
       }
+      return '';
     },
     'feesIndex.common.unitFee': (node) => {
       return _.get(node, 'data.feesIndex.common.unitFee', '') || '';
@@ -99,7 +100,7 @@ const budgetSummaryObj = (() => {
           return;
         }
         const textFunc = textFactory[field];
-        const val = textFunc ? textFunc(node) : node.data[field];
+        const val = textFunc ? textFunc(node) : node.data[field] || '';
         sheet.setValue(row, col, val);
       });
     });
@@ -249,7 +250,8 @@ const budgetSummaryObj = (() => {
       nodes.forEach(node => {
         const orgItem = orgMap[node.data.ID];
         if (orgItem) {
-          Object.assign(node.data, orgItem);
+          node.data = _.cloneDeep(orgItem);
+          // Object.assign(node.data, orgItem);
         }
       });
       refreshData(sheet, changedCells);
@@ -361,12 +363,13 @@ const budgetSummaryObj = (() => {
         return 0;
       }
       // 工程费用区域,只读
-      const equipmentNode = nodes.find(node => node.getFlag() === fixedFlag.CONSTRUCTION_EQUIPMENT_FEE);
-      if (!equipmentNode) {
+      const constructionFeeNode = nodes.find(node => node.getFlag() === fixedFlag.CONSTRUCTION_FEE);
+      if (!constructionFeeNode) {
         return 0;
       }
-      sheet.getRange(0, 0, equipmentNode.serialNo() + 1, budgetSummaryTreeSetting.cols.length, GC.Spread.Sheets.SheetArea.viewport).locked(true);
-      return equipmentNode.serialNo() + 1;
+      const endIndex =  constructionFeeNode.posterityCount() + 1;
+      sheet.getRange(0, 0, endIndex, budgetSummaryTreeSetting.cols.length, GC.Spread.Sheets.SheetArea.viewport).locked(true);
+      return endIndex;
     }
     if (isMass) {
       TREE_SHEET_HELPER.massOperationSheet(sheet, () => {