瀏覽代碼

Merge branch '1.0.0_online' of http://192.168.1.12:3000/SmartCost/ConstructionCost into 1.0.0_online

TonyKang 6 年之前
父節點
當前提交
05dfc8fdff

+ 5 - 29
web/building_saas/main/js/models/calc_base.js

@@ -77,33 +77,9 @@ let cbTools = {
         if(this.isUnDef(exp) || exp === ''){
             return rst;
         }
-       /* if(exp.includes('{税前工程造价}')){
-            let findChildNodes = [];
-            let subEngingeering = this.findBill(fixedFlag.SUB_ENGINERRING) ? this.getNodeByID(this.findBill(fixedFlag.SUB_ENGINERRING).ID) : null,
-                measure = this.findBill(fixedFlag.MEASURE) ? this.getNodeByID(this.findBill(fixedFlag.MEASURE).ID) : null,
-                other = this.findBill(fixedFlag.OTHER) ? this.getNodeByID(this.findBill(fixedFlag.OTHER).ID) : null,
-                charge = this.findBill(fixedFlag.CHARGE) ? this.getNodeByID(this.findBill(fixedFlag.CHARGE).ID) : null;
-            if(subEngingeering){
-                findChildNodes.push(subEngingeering);
-            }
-            if(measure){
-                findChildNodes.push(measure);
-            }
-            if(other){
-                findChildNodes.push(other);
-            }
-            if(charge){
-                findChildNodes.push(charge);
-            }
-            //
-            let childrenNodes = calcTools.getChildrenFormulaNodes(node, formulaNodesArr, findChildNodes);
-            for(let cNode of childrenNodes){
-                ids.push(cNode.data.ID);
-            }
-            rst = rst.concat(childrenNodes);
-        }*/
         //获取表达式中的基数和行引用
         let figureF = cbParser.getFigureF(cbParser.getFigure(exp), cbParser.getUID(cbParser.getFIDArr(exp)));
+        //首先提取出多处引用的进行排序
         for(let i = 0, len = figureF.length; i < len; i++){
             let figure = figureF[i];
             if(figure.type === 'base' && cbTools.isDef(calcBase.baseFigures[figure.value])){
@@ -112,9 +88,9 @@ let cbTools = {
                 if(this.isDef(figureMultiRef)){
                     let findChildNodes = [];
                     for(let flag of figureMultiRef){
-                        let refBill = this.findBill(flag);
-                        if(refBill){
-                            findChildNodes.push(refBill);
+                        let refNode = this.findBill(flag) ? this.getNodeByID(this.findBill(flag).ID) : null;
+                        if(refNode){
+                            findChildNodes.push(refNode);
                         }
                     }
                     let childrenNodes = calcTools.getChildrenFormulaNodes(node, formulaNodesArr, findChildNodes);
@@ -1723,7 +1699,7 @@ let calcBase = {
     //清单可选基数映射,分两类:组织措施项目:排除父项和计算的父项; 其他项目、规费、税金、工程造价,及新增部分:显示所有计算基数
     baseFigureClass: Object.create(null),
     //初始化
-    init: function (project) {//
+    init: function (project) {
         let me = this;
         me.project = project;
         me.fixedFlag = fixedFlag;

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

@@ -173,12 +173,12 @@ let calcTools = {
         for (let pn of parentNodes){
             for (let node of allFormulaNodesArr){
                 let cur = node;
-                while (cur.parent) {
-                    cur = cur.parent;
+                while (cur) {
                     if (cur == pn && node != self){
                         nodes.push(node);
                         break;
                     }
+                    cur = cur.parent;
                 };
             };
         };
@@ -1985,7 +1985,6 @@ class CalcProgram {
     calcFormulaNodes(changedArr, tender){
         let me = this;
         let formulaNodes = cbTools.getFormulaNodes(true);
-
         if (formulaNodes.length == 0) return;
         for (let formulaNode of formulaNodes){
             formulaNode.data.userCalcBase = formulaNode.data.calcBase;    // 这句不该出现,projectObj.project.calcBase中要改进。

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

@@ -2747,10 +2747,14 @@ function getEngineeringHtml(engineeringList) {//
     for(let tmp of engineering) {
         engineeringObject[tmp.value] = tmp.name;
     }
-
+    let engLibNames = [];
     for(let i = 0; i < engineeringList.length; i++){
         let tmp = engineeringList[i];
+        if(engLibNames.includes(tmp.lib.name)){
+           continue;
+        }
         result += `<option ${i === 0 ? 'selected' : ''} value="${tmp.lib.name}">${tmp.lib.name}</option>`;
+        engLibNames.push(tmp.lib.name);
     }
     return result;
 }

+ 59 - 49
web/over_write/js/chongqing_2018.js

@@ -205,55 +205,61 @@ for (let e of cpFeeTypes2018) cpFeeTypes.push(e);
 
 //清单计算基数相关
 if(typeof baseFigureMap !== 'undefined'){
-    let oldNames = [
-        '分部分项定额基价人工费',
-        '分部分项定额基价材料费',
-        '分部分项定额基价机械费',
-        '组织措施项目定额基价人工费',
-        '组织措施项目定额基价材料费',
-        '组织措施项目定额基价机械费',
-        '技术措施项目定额基价人工费',
-        '技术措施项目定额基价材料费',
-        '技术措施项目定额基价机械费',
-        '机械价差',
-        '分部分项机械价差',
-    ];
-    let newNames = [
-        '分部分项定额人工费',
-        '分部分项定额材料费',
-        '分部分项定额施工机具使用费',
-        '组织措施项目定额人工费',
-        '组织措施项目定额材料费',
-        '组织措施项目定额施工机具使用费',
-        '技术措施项目定额人工费',
-        '技术措施项目定额材料费',
-        '技术措施项目定额施工机具使用费',
-        '施工机具使用费价差',
-        '分部分项施工机具使用费价差',
-    ];
-    changePropNames(baseFigureMap, oldNames, newNames);
-    let deleteNames = [
-        '分部分项定额基价直接工程费',
-        '分部分项调整人工费',
-        '分部分项调整机上人工费',
-        '分部分项设备费',
-        '分部分项未计价材料费',
-        '组织措施项目定额基价直接工程费',
-        '技术措施项目定额基价直接工程费',
-        '技术措施项目调整人工费',
-        '技术措施项目调整机上人工费',
-        '技术措施项目设备费',
-        '技术措施项目未计价材料费',
-        '分包费',
-        '分包定额基价人工费',
-        '分包定额基价材料费',
-        '分包定额基价机械费',
-        '分包主材费',
-        '分包设备费',
-        '分包人工工日',
-    ];
-    deletePropNames(baseFigureMap, deleteNames);
-    baseFigureMap['增值税'] = {base: 'ZZS', class: 'SJ', fixedFlag: fixedFlag.ADDED_VALUE_TAX};
+    baseFigureMap = {
+        //与清单直接关联=======
+        '分部分项工程费': {base: 'FBFXGCF', fixedFlag: fixedFlag.SUB_ENGINERRING, class: 'FBFX'},
+        '分部分项定额人工费': {base: 'FBFXDEJJRGF', fixedFlag: fixedFlag.SUB_ENGINERRING, class: 'FBFX'},
+        '分部分项定额材料费': {base: 'FBFXDEJJCLF', fixedFlag: fixedFlag.SUB_ENGINERRING, class: 'FBFX'},
+        '分部分项定额施工机具使用费': {base: 'FBFXDEJJJXF', fixedFlag: fixedFlag.SUB_ENGINERRING, class: 'FBFX'},
+        '分部分项主材费': {base: 'FBFXZCF', fixedFlag: fixedFlag.SUB_ENGINERRING, class: 'FBFX'},
+        '分部分项人工工日': {base: 'FBFXRGGR', fixedFlag: fixedFlag.SUB_ENGINERRING, class: 'FBFX'},
+        '措施项目费': {base: 'CSXMF', fixedFlag: fixedFlag.MEASURE, class: 'CSXM'},
+        '组织措施项目费': {base: 'ZZCSXMF', fixedFlag: fixedFlag.CONSTRUCTION_ORGANIZATION, class: 'CSXM'},
+        '组织措施项目定额人工费': {base: 'ZZCSXMDEJJRGF', fixedFlag: fixedFlag.CONSTRUCTION_ORGANIZATION, class: 'CSXM'},
+        '组织措施项目定额材料费': {base: 'ZZCSXMDEJJCLF', fixedFlag: fixedFlag.CONSTRUCTION_ORGANIZATION, class: 'CSXM'},
+        '组织措施项目定额施工机具使用费': {base: 'ZZCSXMDEJJJXF', fixedFlag: fixedFlag.CONSTRUCTION_ORGANIZATION, class: 'CSXM'},
+        '安全文明施工专项费': {base: 'AQWMSGZXF', fixedFlag: fixedFlag.SAFETY_CONSTRUCTION, class: 'CSXM'},
+        '技术措施项目费': {base: 'JSCSXMF', fixedFlag: fixedFlag.CONSTRUCTION_TECH, class: 'CSXM'},
+        '技术措施项目定额人工费': {base: 'JSCSXMDEJJRGF', fixedFlag: fixedFlag.CONSTRUCTION_TECH, class: 'CSXM'},
+        '技术措施项目定额材料费': {base: 'JSCSXMDEJJCLF', fixedFlag: fixedFlag.CONSTRUCTION_TECH, class: 'CSXM'},
+        '技术措施项目定额施工机具使用费': {base: 'JSCSXMDEJJJXF', fixedFlag: fixedFlag.CONSTRUCTION_TECH, class: 'CSXM'},
+        '技术措施项目主材费': {base: 'JSCSXMZCF', fixedFlag: fixedFlag.CONSTRUCTION_TECH, class: 'CSXM'},
+        '技术措施项目人工工日': {base: 'JSCSXMRGGR', fixedFlag: fixedFlag.CONSTRUCTION_TECH, class: 'CSXM'},
+        '其他项目费': {base: 'QTXMF',  fixedFlag: fixedFlag.OTHER, class: 'QTXM'},
+        '规费': {base: 'GF', fixedFlag: fixedFlag.CHARGE, class: 'GF'},
+        '税金': {base: 'SJ', fixedFlag: fixedFlag.TAX, class: 'SJ'},
+        '增值税': {base: 'ZZS', class: 'SJ', fixedFlag: fixedFlag.ADDED_VALUE_TAX},
+        //不于清单直接关联==========
+        '建筑面积': {base: 'JZMJ', class: 'FBFX'},
+        '人材机价差': {base: 'RCJJC', class: 'RCJ'},
+        '人工价差': {base: 'RGJC', class: 'RCJ'},
+        '材料价差': {base: 'CLJC', class: 'RCJ'},
+        '施工机具使用费价差': {base: 'JXJC', class: 'RCJ'},
+        '分部分项人材机价差': {base: 'FBFXRCJJC', class: 'RCJ'},
+        '分部分项人工价差': {base: 'FBFXRGJC', class: 'RCJ'},
+        '分部分项材料价差': {base: 'FBFXCLJC', class: 'RCJ'},
+        '分部分项施工机具使用费价差': {base: 'FBFXJXJC', class: 'RCJ'},
+        '技术措施项目人材机价差': {base: 'JSCSXMRCJJC', class: 'RCJ'},
+        '技术措施项目人工价差': {base: 'JSCSXMRGJC', class: 'RCJ'},
+        '技术措施项目材料价差': {base: 'JSCSXMCLJC', class: 'RCJ'},
+        '技术措施项目施工机具使用费价差': {base: 'JSCSXMJXJC', class: 'RCJ'},
+        '甲供定额人工费': {base: 'JGDEJJRGF', class: 'RCJ'},
+        '甲供定额材料费': {base: 'JGDEJJCLF', class: 'RCJ'},
+        '甲供定额施工机具使用费': {base: 'JGDEJJJXF', class: 'RCJ'},
+        '甲供人工费': {base: 'JGRGF', class: 'RCJ'},
+        '甲供材料费': {base: 'JGCLF', class: 'RCJ'},
+        '甲供施工机具使用费费': {base: 'JGJXF', class: 'RCJ'},
+        '甲供主材费': {base: 'JGZCF', class: 'RCJ'},
+        '甲定定额人工费': {base: 'JDDEJJRGF', class: 'RCJ'},
+        '甲定定额材料费': {base: 'JDDEJJCLF', class: 'RCJ'},
+        '甲定定额施工机具使用费': {base: 'JDDEJJJXF', class: 'RCJ'},
+        '甲定人工费': {base: 'JDRGF', class: 'RCJ'},
+        '甲定材料费': {base: 'JDCLF', class: 'RCJ'},
+        '甲定施工机具使用费': {base: 'JDJXF', class: 'RCJ'},
+        '甲定主材费': {base: 'JDZCF', class: 'RCJ'},
+        '暂估材料费(从子目汇总)': {base: 'ZGCLFFZM', class: 'RCJ'},
+        '税前工程造价': {base: 'SQGCZJ', class: 'SQGCZJ', multiRef: [fixedFlag.SUB_ENGINERRING, fixedFlag.MEASURE, fixedFlag.OTHER, fixedFlag.CHARGE]},//安全文明施工专项费用使用
+    };
 }
 if(typeof baseFigureTemplate !== 'undefined'){
     baseFigureTemplate['ZZS'] =  function (tender) {//增值税
@@ -270,5 +276,9 @@ if(typeof baseFigureTemplate !== 'undefined'){
 if(typeof figureClassTemplate !== 'undefined'){
     figureClassTemplate['ADDED_VALUE_TAX'] = {flag: fixedFlag.ADDED_VALUE_TAX, filter: ['SJ', 'ZZS', 'SQGCZJ']}
 };
+//去除分类分包费
+if($('#cbClassList')){
+    $('#cbClassList').find('li:eq(5)').remove();
+}