zhangweicheng 7 vuotta sitten
vanhempi
commit
1c1fa971fa
1 muutettua tiedostoa jossa 53 lisäystä ja 14 poistoa
  1. 53 14
      web/building_saas/main/js/views/tender_price_view.js

+ 53 - 14
web/building_saas/main/js/views/tender_price_view.js

@@ -13,7 +13,7 @@ let tender_obj={
             {headerName: "类别", headerWidth: 50, dataCode: "subType", hAlign: "center", dataType: "String",spanRows: [2],getText:'getText.subType'},
             {headerName: "项目名称", headerWidth: 200, dataCode: "name",showHint:true, hAlign: "left", dataType: "String",spanRows: [2]},
             {headerName: "计量\n单位", headerWidth: 60, dataCode: "unit", hAlign: "center", dataType: "String",spanRows: [2]},
-            {headerName: "工程量", headerWidth: 120, dataCode: "basePrice", hAlign: "right", dataType: "Number",validator:"number",spanRows: [2]},
+            {headerName: "工程量", headerWidth: 120, dataCode: "quantity", hAlign: "right", dataType: "Number",validator:"number",spanRows: [2],getText:'getText.quantity'},
             {headerName: "不调价", headerWidth: 55, dataCode: "is_adjust_price", hAlign: "center", cellType : "checkBox",dataType: "Number",spanRows: [2]},
             {headerName: ["初始报价","综合单价"], headerWidth: 80, dataCode: "feesIndex.common.unitFee", hAlign: "right", dataType: "Number",validator:"number",spanCols : [2,1]},
             {headerName: ["","综合合价"], headerWidth: 80, dataCode: "feesIndex.common.totalFee", hAlign: "right", dataType: "Number",validator:"number",spanCols : [0,1]},
@@ -113,8 +113,6 @@ let tender_obj={
             value = scMathUtil.roundForObj(value,getDecimal('process'));
             me.updateChildrenValue(node,dataCode,value,datas,nodes);
         }
-
-
         //在目标造价综合单价中输入数值,按项目属性中的清单单价精度取舍,并清空当前行的目标造价综合合价
         if(dataCode == 'targetUnitFee'){
             value = scMathUtil.roundForObj(value,getDecimal('unitPrice',node));
@@ -167,6 +165,15 @@ let tender_obj={
         scMathUtil.isDef(node.data.targetTotalFee)?updateData.data["targetTotalFee"] = null:'';
         return updateData;
     },
+    cleanTenderPrice:function (updateData,node) {//清空调整后报价
+        if(node.data.fees){
+            for(let i =0; i< node.data.fees.length; i++){
+                node.data.fees[i].tenderUnitFee?updateData.data["fees."+i+'.tenderUnitFee'] = 0:'';
+                node.data.fees[i].tenderTotalFee?updateData.data["fees."+i+'.tenderTotalFee'] = 0:'';
+            }
+        }
+    },
+
     calcOptionsChecking:function (option) {//调整选项检查,返回需要更新的数组
         let datas = [];
         let me = tender_obj;
@@ -206,7 +213,7 @@ let tender_obj={
                         if(key == 'ID' || key == 'id'){
                             continue;
                         }
-                        _.set(temObj,key,d.data[key]);
+                        me.setValue(temObj,key,d.data[key])
                     }
                 }
             }
@@ -214,6 +221,32 @@ let tender_obj={
             $.bootstrapLoading.end();
         })
     },
+    setValue:function (obj,key,value) {
+        let keyArray = key.split('.');
+        t_set(obj,value,keyArray,0);
+        function t_set(obj,value,arr,index) {
+            let nextIndex = index + 1;
+            let tkey = arr[index];
+            if(nextIndex < arr.length){
+                t_set(obj[tkey],value,arr,nextIndex)
+            }else if(nextIndex == arr.length){
+                obj[tkey] = value;
+            }
+        }
+
+    },
+    refreshTenderTreeByDatas:function (datas) {
+        let me = this;
+        let nodes = [];
+        for(let d of datas){
+            if(d.type == ModuleNames.bills || d.type == ModuleNames.ration){
+                let node = me.tenderTree.getNodeByID(d.data.ID);
+                node?nodes.push(node):'';
+            }
+        }
+        me.tenderController.refreshTreeNode(nodes);
+        me.initPageContent();
+    },
     treeSelectedChanged:function (node) {
         let me = tender_obj;
         //设置选中行底色和恢复前选中行底色
@@ -302,7 +335,21 @@ $(function () {
     });
 
     $('#cleanTender').bind('click',function () {
-       console.log("clean tender")
+        let me = tender_obj,datas = [];
+        for(let node of me.tenderTree.items){
+            let tem_updateData = {type:node.sourceType,data:{}};
+            me.cleanTargetPrice(tem_updateData,node);
+            me.cleanTenderCoe(tem_updateData,node);
+            me.cleanTenderPrice(tem_updateData,node);
+            if(!_.isEmpty(tem_updateData.data)){//如果需要更新
+                tem_updateData.data.ID = node.data.ID;
+                datas.push(tem_updateData);
+            }
+        }
+        datas.push({type:ModuleNames.project,data:{'ID' : projectObj.project.ID(),'property.tenderSetting.gljPriceTenderCoe':1}});//恢复人材机单价调整系数为1。
+        me.updateTenderData(datas,function () {
+            me.refreshTenderTreeByDatas(datas);
+        });
     });
 
     $('#calcPriceOption').change(function(){
@@ -312,15 +359,7 @@ $(function () {
         let updateData = {type:ModuleNames.project,data:{'ID' : projectObj.project.ID(),'property.tenderSetting.calcPriceOption':newVal}};
         datas.push(updateData);
         me.updateTenderData(datas,function () {
-            let nodes = [];
-            for(let d of datas){
-                if(d.type == ModuleNames.bills || d.type == ModuleNames.ration){
-                    let node = me.tenderTree.getNodeByID(d.data.ID);
-                    node?nodes.push(node):'';
-                }
-            }
-            me.tenderController.refreshTreeNode(nodes);
-            me.initPageContent();
+            me.refreshTenderTreeByDatas(datas);
         });
     });