浏览代码

Merge branch 'budget' of http://192.168.1.41:3000/SmartCost/ConstructionCost into budget

zhangweicheng 4 年之前
父节点
当前提交
a1fd75f6d8

+ 3 - 2
public/common_util.js

@@ -133,10 +133,11 @@ function deleteEmptyObject(arr) {
 
     // 判断单位工程的工程专业的金额所属是“建筑工程费”还是“安装工程费”
     const getEngineeringFeeType = (engineeringName) => {
-        if (['土建工程', '装饰工程', '市政工程', '城市轨道交通工程', '装配式建筑工程', '城市地下综合管廊工程'].includes(engineeringName)) {
+        if (['房屋建筑工程', '装配式钢结构建筑工程', '装饰工程', '构筑物', '市政工程', '市政绿化工程', '机械(爆破)土石方工程',
+        '人工土石方工程', '围墙工程', '幕墙工程', '城市轨道交通工程'].includes(engineeringName)) {
             return 'building';
         }
-        if (['安装工程', '城市轨道交通安装']) {
+        if (['安装工程', '市政安装工程', '城市轨道交通安装']) {
             return 'installation'
         }
         return null;

+ 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, () => {

+ 1 - 1
web/building_saas/main/js/views/project_view.js

@@ -2313,7 +2313,7 @@ var projectObj = {
             })
             if(!this.itemCol) return false;
         }
-        return !this.itemCol.visible;
+        return this.itemCol && !this.itemCol.visible;
     },
     onCommonTotalFeeButtonClick:function(hitinfo) {
         let me = calcBaseView;

+ 1 - 0
web/building_saas/pm/js/pm_newMain.js

@@ -48,6 +48,7 @@ const budgetEngineeringListMap = {
         '装饰工程',
         '构筑物',
         '市政工程',
+        '市政绿化工程',
         '机械(爆破)土石方工程',
         '人工土石方工程',
         '围墙工程',