Browse Source

Merge branch 'master' of http://smartcost.f3322.net:3000/SmartCost/ConstructionCost

zhongzewei 7 years ago
parent
commit
d181869397

+ 24 - 7
public/scHintBox.html

@@ -78,7 +78,7 @@
             $("#hintBox_value").focus();
             $("#hintBox_value").select();
         },
-        infoBox: function (title, caption, btnType, doYes, doNo) {
+        infoBox: function (title, caption, btnType, doYes, doNo, btnTextArr) {
             this.init();
             $('#hintBox_title').text(title);
             $('#hintBox_caption').html(caption);
@@ -86,19 +86,36 @@
 
             switch (btnType) {
                 case this.btnType.yes:
-                    $('#hintBox_btn_yes').text('确定');
+                    if (btnTextArr){
+                        $('#hintBox_btn_yes').text(btnTextArr[0]);
+                    }else
+                        $('#hintBox_btn_yes').text('确定');
+
                     $('#hintBox_btn_yes').show();
                     break;
                 case this.btnType.yesNo:
-                    $('#hintBox_btn_yes').text('是');
-                    $('#hintBox_btn_no').text('否');
+                    if (btnTextArr){
+                        $('#hintBox_btn_yes').text(btnTextArr[0]);
+                        $('#hintBox_btn_no').text(btnTextArr[1]);
+                    }else{
+                        $('#hintBox_btn_yes').text('是');
+                        $('#hintBox_btn_no').text('否');
+                    }
+
                     $('#hintBox_btn_yes').show();
                     $('#hintBox_btn_no').show();
                     break;
                 case this.btnType.yesNoCancel:
-                    $('#hintBox_btn_yes').text('是');
-                    $('#hintBox_btn_no').text('否');
-                    $('#hintBox_btn_cancel').text('取消');
+                    if (btnTextArr){
+                        $('#hintBox_btn_yes').text(btnTextArr[0]);
+                        $('#hintBox_btn_no').text(btnTextArr[1]);
+                        $('#hintBox_btn_cancel').text(btnTextArr[2]);
+                    }else{
+                        $('#hintBox_btn_yes').text('是');
+                        $('#hintBox_btn_no').text('否');
+                        $('#hintBox_btn_cancel').text('取消');
+                    }
+
                     $('#hintBox_btn_yes').show();
                     $('#hintBox_btn_no').show();
                     $('#hintBox_btn_cancel').show();

+ 1 - 1
test/public/test_Box.html

@@ -34,7 +34,7 @@
             });
 
             $("#btnC").click(function(){
-                hintBox.infoBox('多分支选择', '三个按钮是否继续?', 3, cbYes, cbNo);
+                hintBox.infoBox('多分支选择', '三个按钮是否继续?', 3, cbYes, cbNo, ['你','我','他']);
             });
 
             $("#btnD").click(function(){

+ 1 - 1
web/building_saas/glj/js/composition.js

@@ -128,7 +128,7 @@ function compositionSuccess(info) {
         }
     }
     if(updateNodes.length>0){
-        projectObj.project.calcProgram.calcRationsAndSave(updateNodes);
+        projectObj.project.calcProgram.calcNodesAndSave(updateNodes);
     }
     gljOprObj.refreshView();
 }

+ 1 - 1
web/building_saas/main/js/controllers/block_controller.js

@@ -272,7 +272,7 @@ let BlockController = {
              //主材设备工料机插入主树
              project.ration_glj.addToMainTree(result.ration_gljs);
              //更新计算程序模板,并进行重新计算
-             project.calcProgram.calcRationsAndSave(rationNodes,function () {
+             project.calcProgram.calcNodesAndSave(rationNodes,function () {
                  installationFeeObj.calcInstallationFee();
              });
         })

+ 0 - 4
web/building_saas/main/js/models/bills.js

@@ -742,10 +742,6 @@ var Bills = {
                     }
                     gljOprObj.refreshView();
                 });
-
-               /* project.calcProgram.calcBillsAndSave(parentNodes,function () {
-                    project.projectGLJ.loadData();
-                });*/
             }, function () {
                 $.bootstrapLoading.end();
             });

+ 7 - 38
web/building_saas/main/js/models/calc_program.js

@@ -1230,13 +1230,11 @@ class CalcProgram {
     getSourceType () {
         return ModuleNames.calc_program;
     };
-
     // 兼容Project框架方法
     loadData (datas) {
         this.datas = datas;
         this.compileAllTemps();
     };
-
     // 兼容Project框架方法
     doAfterUpdate (err, data) {
         if(!err){
@@ -1798,7 +1796,7 @@ class CalcProgram {
     };
 
     // 计算叶子清单下的所有子结点、自身、所有父结点、公式引用结点(即跟该叶子清单相关的所有结点)。最后打包存储。
-    calcLeafAndSave(treeNode){
+    calcLeafAndSave(treeNode, tender){
         let me = this;
         if(!calcTools.isLeafBill(treeNode)) return;
         if (treeNode.children && treeNode.children.length > 0) {
@@ -1807,7 +1805,7 @@ class CalcProgram {
                 me.innerCalc(child, changedNodes);
             };
 
-            let curChangeds = me.calculate(treeNode);
+            let curChangeds = me.calculate(treeNode, true, true, tender);
             mergeArr(changedNodes, curChangeds);
             me.saveNodes(changedNodes);
         };
@@ -1815,15 +1813,15 @@ class CalcProgram {
 
     // 计算并保存指定的一个树节点。修改一个树节点,实际上要计算和保存的是一批树结点:层层父结点、被其它结点(的公式)引用的公式结点。
     // 这个方法实际上封装了calculate()和saveNodes()两个方法,主要目的是为了外部调用方便,少写一点累赘代码。
-    calcAndSave(treeNode, callback){
-        let changedNodes = this.calculate(treeNode);
+    calcAndSave(treeNode, callback, tender){
+        let changedNodes = this.calculate(treeNode, true, true, tender);
         this.saveNodes(changedNodes, callback);
     };
 
     // 计算零散的、混杂的树节点:清单、定额混合等(如:用到某一计算程序的定额和清单)。
     // 计算多条零散的定额,并计算他们所属的清单、父清单、引用清单。如:批量替换工料机后受影响的定额。
     // 计算多条零散的清单,并计算他们的父清单、引用清单。如:花选删除树结点(如花选清单、定额等,不区分树结点类型)。
-    calcNodesAndSave(nodes, callback){
+    calcNodesAndSave(nodes, callback, tender){
         let me = this, rationNodes = [], billNodes = [], leafBills = [], allChangedNodes = [];
         for (let node of nodes) {
             if (node.sourceType == ModuleNames.ration)
@@ -1834,7 +1832,7 @@ class CalcProgram {
 
         // 多条定额同属一条叶子清单时,避免叶子清单重复计算
         for (let ration of rationNodes) {
-            me.innerCalc(ration, allChangedNodes);
+            me.innerCalc(ration, allChangedNodes, tender);
             let leafBill = ration.parent;
             if (leafBill && leafBills.indexOf(leafBill) < 0)
                 leafBills.push(leafBill);
@@ -1843,42 +1841,13 @@ class CalcProgram {
         mergeArr(billNodes, leafBills);
 
         for (let bill of billNodes){
-            let changeBills = me.calculate(bill, true, false);
+            let changeBills = me.calculate(bill, true, false, tender);
             mergeArr(allChangedNodes, changeBills);
         };
 
         me.calcFormulaNodes(allChangedNodes);
         me.saveNodes(allChangedNodes, callback);
     };
-    calcRationsAndSave(rationNodes, callback){
-        // let me = this, leafBills = [], allChangedNodes = [];
-        // for (let node of rationNodes) {
-        //     me.innerCalc(node, allChangedNodes);
-        //     let leafBill = node.parent;
-        //     // 多条定额同属一条叶子清单时,避免叶子清单重复计算
-        //     if (leafBill && leafBills.indexOf(leafBill) < 0) leafBills.push(leafBill);
-        // };
-        //
-        // for (let node of leafBills){
-        //     let curChangeds = me.calculate(node);
-        //     mergeArr(allChangedNodes, curChangeds);
-        // };
-        // let endShowTime = +new Date();
-        // me.saveNodes(allChangedNodes, callback);
-
-        this.calcNodesAndSave(rationNodes, callback);
-    };
-    calcBillsAndSave(billNodes,callback){
-        // let me = this, allChangedNodes = [];
-        // for (let node of billNodes) {
-        //     let curChangeds = me.calculate(node, true, false);
-        //     mergeArr(allChangedNodes, curChangeds);
-        // };
-        // me.calcFormulaNodes(allChangedNodes);
-        // me.saveNodes(allChangedNodes,callback);
-
-        this.calcNodesAndSave(billNodes, callback);
-    };
 
     // tender: null:不调价(普通计算)。 1: 正向调价   2:反向调价-调子目    3: 反向调价-调工料机
     calcAllNodesAndSave(calcType = calcAllType.catAll, callback, tender){

+ 3 - 3
web/building_saas/main/js/models/project_glj.js

@@ -282,7 +282,7 @@ ProjectGLJ.prototype.updatePrice = function (recode, updateField, newval,from,cb
             me.refreshTreeNodePriceIfNeed(glj);//刷新造价书中主树上的定额工料机;
             gljs.push(glj);
             let nodes = me.getImpactRationNodes(gljs);//取到因为改变工料机价格而受影响的定额
-            projectObj.project.calcProgram.calcRationsAndSave(nodes);//触发计算程序
+            projectObj.project.calcProgram.calcNodesAndSave(nodes);//触发计算程序
             projectGljObject.onUnitFileChange(data);
             if(cb){
                 cb(gljs);
@@ -341,7 +341,7 @@ ProjectGLJ.prototype.batchUpdatePrice = function (changeInfo,callback) {
             let pgljs = me.getProjectGLJs(parentData);
             gljs = gljs.concat(pgljs);
             let nodes = me.getImpactRationNodes(gljs);//取到因为改变工料机价格而受影响的定额
-            projectObj.project.calcProgram.calcRationsAndSave(nodes);//触发计算程序
+            projectObj.project.calcProgram.calcNodesAndSave(nodes);//触发计算程序
             gljOprObj.showRationGLJSheetData();
             projectGljObject.onUnitFileChange(gljs);
             if(callback){
@@ -527,7 +527,7 @@ ProjectGLJ.prototype.changeIsEvaluate=function (id){
             ration_nodes.push(rg);
         }
         ration_nodes.length>0?projectObj.mainController.refreshTreeNode(ration_nodes):"";
-        projectObj.project.calcProgram.calcRationsAndSave(nodes);//触发计算程序
+        projectObj.project.calcProgram.calcNodesAndSave(nodes);//触发计算程序
         return gljs;
     }
 }

+ 4 - 4
web/building_saas/main/js/models/quantity_detail.js

@@ -646,14 +646,14 @@ var quantity_detail = {
             }
             if(needUpdateChildren.length>0){//清单下的定额工程量发生了改变
                 node.changed = true;//本身发生了改变,需要存储。
-                /*project.calcProgram.calcRationsAndSave(needUpdateChildren, function () {
+                /*project.calcProgram.calcNodesAndSave(needUpdateChildren, function () {
                     project.projectGLJ.loadData();
                 });*/
-                project.calcProgram.calcRationsAndSave(needUpdateChildren, function () {
+                project.calcProgram.calcNodesAndSave(needUpdateChildren, function () {
                     if(project.Bills.isFBFX(node)) { //判断是否属于分部分项工程 ,是的话才需要做计取安装费计算
                         project.installation_fee.calcInstallationFee(function (isChange,rations) {
                             if(isChange){
-                                project.calcProgram.calcRationsAndSave(rations,function () {
+                                project.calcProgram.calcNodesAndSave(rations,function () {
                                     project.projectGLJ.calcQuantity();
                                 });
                             }
@@ -691,7 +691,7 @@ var quantity_detail = {
                 if(project.Bills.isFBFX(node)) { //判断是否属于分部分项工程 ,是的话才需要做计取安装费计算
                     project.installation_fee.calcInstallationFee(function (isChange,rations) {
                         if(isChange){
-                            project.calcProgram.calcRationsAndSave(rations);
+                            project.calcProgram.calcNodesAndSave(rations);
                         }
                     });
                 }

+ 3 - 3
web/building_saas/main/js/models/ration.js

@@ -424,7 +424,7 @@ var Ration = {
                 }
                 project.projectGLJ.loadData(function () {
                     gljOprObj.showDataIfRationSelect(projectObj.project.mainTree.selected,"-111111111");//这里第二个参数是为了使改前和改后selectedID不一样,删除了的话下方的定额工料机不会刷新
-                    project.calcProgram.calcRationsAndSave(refershNodes);
+                    project.calcProgram.calcNodesAndSave(refershNodes);
                     projectObj.mainController.refreshTreeNode(refershNodes, true);
                     $.bootstrapLoading.end();
                 });
@@ -524,9 +524,9 @@ var Ration = {
                             project.installation_fee.calcInstallationFee(function (isChange,rations) {
                                 if(isChange){
                                     rations = rations.concat(newNodes);
-                                    project.calcProgram.calcRationsAndSave(rations);
+                                    project.calcProgram.calcNodesAndSave(rations);
                                 }else {
-                                    project.calcProgram.calcRationsAndSave(newNodes);
+                                    project.calcProgram.calcNodesAndSave(newNodes);
                                 }
                             });
                         }else {

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

@@ -1179,7 +1179,7 @@ var gljOprObj = {
             project.projectGLJ.loadData(function () {
                 me.showRationGLJSheetData();
                 var rationNodes = me.refreshStateAfterMreplace(stateList, nodes);
-                project.calcProgram.calcRationsAndSave(rationNodes);
+                project.calcProgram.calcNodesAndSave(rationNodes);
                 $.bootstrapLoading.end();
             });
         })

+ 4 - 4
web/building_saas/main/js/views/installation_fee_view.js

@@ -796,7 +796,7 @@ let installationFeeObj={
                     me.refreshRationInstallationRow(me.rationInstallSheet.getSelections()[0].row);
                     installation_fee.calcInstallationFee(function (isChange,rations) {
                         if(isChange){
-                            projectObj.project.calcProgram.calcRationsAndSave(rations);
+                            projectObj.project.calcProgram.calcNodesAndSave(rations);
                         }
                     });
                 });
@@ -834,7 +834,7 @@ let installationFeeObj={
             me.refreshRationInstallationRow(riselection.row);
             installation_fee.calcInstallationFee(function (isChange,rations) {
                 if(isChange){
-                    projectObj.project.calcProgram.calcRationsAndSave(rations);
+                    projectObj.project.calcProgram.calcNodesAndSave(rations);
                 }
             });
         });
@@ -1244,7 +1244,7 @@ let installationFeeObj={
         $('#calc_installation_fee').modal('hide');
         install_fee.calcInstallationFee(function (isChange,rations) {
             if(isChange){
-                projectObj.project.calcProgram.calcRationsAndSave(rations);
+                projectObj.project.calcProgram.calcNodesAndSave(rations);
             }
             installationFeeObj.showRationInstallationData(projectObj.project.mainTree.selected);
             if(callback){
@@ -1298,7 +1298,7 @@ let installationFeeObj={
             //计算安装增加费
             projectObj.project.installation_fee.calcInstallationFee(function (isChange,rations) {
                 if(isChange){
-                    projectObj.project.calcProgram.calcRationsAndSave(rations);
+                    projectObj.project.calcProgram.calcNodesAndSave(rations);
                 }
             });
         })

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

@@ -652,7 +652,7 @@ projectGljObject={
             updateNodes = updateNodes.concat(subRations);
         }
         if(updateNodes.length>0){
-            projectObj.project.calcProgram.calcRationsAndSave(updateNodes,function () {
+            projectObj.project.calcProgram.calcNodesAndSave(updateNodes,function () {
                 projectObj.mainController.refreshTreeNode(projectObj.project.mainTree.roots);
                 installationFeeObj.calcInstallationFee();//计算安装增加费
             });

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

@@ -1381,7 +1381,7 @@ $('#upLevel').click(function () {
         project.Bills.upLevelBills(selected.source);
         controller.upLevel();
         controller.refreshTreeNode([orgParent]);
-        projectObj.project.calcProgram.calcBillsAndSave([selected,orgParent]);
+        projectObj.project.calcProgram.calcNodesAndSave([selected,orgParent]);
     }
 });
 $('#downLevel').click(function () {