chenshilong 7 年之前
父节点
当前提交
5fbc5f419e
共有 2 个文件被更改,包括 24 次插入11 次删除
  1. 3 10
      web/building_saas/main/js/models/calc_program.js
  2. 21 1
      web/building_saas/main/js/models/main_consts.js

+ 3 - 10
web/building_saas/main/js/models/calc_program.js

@@ -387,7 +387,7 @@ let executeObj = {
                 let result = 0;
                 if (
                     ( me.treeNode.data.subType === gljType.LABOUR && base.dispName === '定额基价人工费') ||
-                    ( materialTypes.includes(me.treeNode.data.subType) && base.dispName === '定额基价材料费') ||
+                    ( baseMaterialTypes.includes(me.treeNode.data.subType) && base.dispName === '定额基价材料费') ||
                     ( me.treeNode.data.subType === gljType.GENERAL_MACHINE && base.dispName === '定额基价机械费') ||
                     ( me.treeNode.data.subType === gljType.MAIN_MATERIAL && base.dispName === '主材费') ||
                     ( me.treeNode.data.subType === gljType.EQUIPMENT && base.dispName === '设备费')
@@ -822,22 +822,15 @@ class CalcProgram {
             }
             else{
                 if (!treeNode.data.gljList) return;
-
-                let eTypes = [
-                    gljType.GENERAL_MATERIAL, gljType.MAIN_MATERIAL, gljType.EQUIPMENT,
-                    gljType.CONCRETE, gljType.MORTAR, gljType.MIX_RATIO,
-                    gljType.COMMERCIAL_CONCRETE, gljType.COMMERCIAL_MORTAR];
-                let eDetailTypes = [gljType.MAIN_MATERIAL, gljType.CONCRETE, gljType.MORTAR, gljType.MIX_RATIO];
-
                 let GLJObjs = [];
                 for (let glj of treeNode.data.gljList) {
-                    if (eTypes.indexOf(glj.type) >= 0) {
+                    if (allMaterialTypes.indexOf(glj.type) >= 0) {
                         if (glj.isEstimate){
                             GLJObjs.push({code: glj.code, name: glj.name, specs: glj.specs, unit: glj.unit, type: glj.type,
                                 quantity: glj.quantity, marketPrice: glj.marketPrice});
                         }
                         else{   // 组成物
-                            if (eDetailTypes.indexOf(glj.type) >= 0){
+                            if (compositionTypes.indexOf(glj.type) >= 0){
                                 let mds = projectObj.project.composition.getCompositionByGLJ(glj);
                                 if (!mds) mds = [];
                                 for (let md of mds){

+ 21 - 1
web/building_saas/main/js/models/main_consts.js

@@ -46,7 +46,8 @@ const gljType = {
     EQUIPMENT: 5
 };
 
-const materialTypes = [
+// 计算基数 [定额基价材料费] 要用到的材料类型。
+const baseMaterialTypes = [
     gljType.GENERAL_MATERIAL,
     gljType.CONCRETE,
     gljType.MORTAR,
@@ -55,6 +56,25 @@ const materialTypes = [
     gljType.COMMERCIAL_MORTAR
 ];
 
+// 全部材料类型。用于暂估等 (多了主材和设备)
+const allMaterialTypes = [
+    gljType.GENERAL_MATERIAL,
+    gljType.CONCRETE,
+    gljType.MORTAR,
+    gljType.MIX_RATIO,
+    gljType.COMMERCIAL_CONCRETE,
+    gljType.COMMERCIAL_MORTAR,
+    gljType.MAIN_MATERIAL,
+    gljType.EQUIPMENT
+];
+
+// 会有组成物的材料
+const compositionTypes = [
+    gljType.MAIN_MATERIAL,
+    gljType.CONCRETE,
+    gljType.MORTAR,
+    gljType.MIX_RATIO];
+
 const notEditType = [
     gljType.CONCRETE,
     gljType.MORTAR,