Browse Source

子目增加费调整

zhangweicheng 5 years ago
parent
commit
5773f29f7a

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

@@ -251,7 +251,7 @@ var gljOprObj = {
         let selected = projectObj.project.mainTree.selected;
         if($.bootstrapLoading.isLoading())  args.cancel = true;
         if(selected){
-            if(me.isInstallationNode(selected)==true || OVER_HEIGHT.isOverHeight(selected)){
+            if(me.isInstallationNode(selected)==true || me.isItemIncreaseNode(selected)==true|| OVER_HEIGHT.isOverHeight(selected)){
                 args.cancel = true;
             }else {
                 if(args.sheetName == 'quantity_detail'){//工程量明细表
@@ -277,6 +277,12 @@ var gljOprObj = {
         }
         return false
     },
+    isItemIncreaseNode:function(node){//子目增加费节点
+        if(node.sourceType == ModuleNames.ration&&node.data.type == rationType.itemIncrease){//是定额安装费类型时只读,原先是补项的时候也是控制只读的||(node.sourceType == ModuleNames.bills&&node.data.type==billType.BX)){//是定额安装费类型或者补项
+            return true;
+        }
+        return false
+    },
     onEditEnded: function (sender, args) {
         var me = gljOprObj;
         if (args.sheetName == 'ration_glj') {

+ 9 - 6
web/building_saas/main/js/views/item_increase_fee_view.js

@@ -101,6 +101,7 @@ let itemIncreaseFeeObj = {
                 row:row
             };
             if(selectedItem && selectedItem.scope&&selectedItem.scope[tem.ID]) tem.selected = 1;
+            if(node.data.calcBase&&node.data.calcBase!="") delete tem.selected;//有基数计算的不可选
             this.scopeDatas.push(tem);
         }
         this.scopeSheet.setRowCount(this.scopeDatas.length);
@@ -119,11 +120,13 @@ let itemIncreaseFeeObj = {
         args.sheet.resumeEvent();
         args.sheet.resumePaint();
         function cascadeSelected(parent,val) {
-            args.sheet.getCell(parent.row, args.col).value(val);
-            parent.selected = val;
-            if(dataMap[parent.ID]){
-                for(let c of dataMap[parent.ID]){
-                    cascadeSelected(c,val);
+            if(gljUtil.isDef(parent.selected)){
+                args.sheet.getCell(parent.row, args.col).value(val);
+                parent.selected = val;
+                if(dataMap[parent.ID]){
+                    for(let c of dataMap[parent.ID]){
+                        cascadeSelected(c,val);
+                    }
                 }
             }
         }
@@ -382,7 +385,7 @@ let itemIncreaseFeeObj = {
                 total = scMathUtil.roundForObj(total,td);
                 if(s.coe){
                     let t = scMathUtil.roundForObj(total * s.coe/100,process);
-                    total =  scMathUtil.roundForObj(total + t,gd);
+                    total =  t;//scMathUtil.roundForObj(total + t,gd);
                 }
                 let seq = i+1;
                 let code = "ZMZJF_"+seq;