zhangweicheng 7 سال پیش
والد
کامیت
829f4de2a8

+ 1 - 1
public/web/tree_sheet/tree_sheet_controller.js

@@ -67,6 +67,7 @@ var TREE_SHEET_CONTROLLER = {
                         }
                         }
                         that.sheet.deleteRows(sels[0].row, rowCount);
                         that.sheet.deleteRows(sels[0].row, rowCount);
                         that.setTreeSelected(that.tree.items[sels[0].row]);
                         that.setTreeSelected(that.tree.items[sels[0].row]);
+                        that.sheet.setSelection(sels[0].row,sels[0].col,1,sels[0].colCount);
                     });
                     });
                     cbTools.refreshFormulaNodes();
                     cbTools.refreshFormulaNodes();
                 }
                 }
@@ -96,7 +97,6 @@ var TREE_SHEET_CONTROLLER = {
                     cbTools.refreshFormulaNodes();
                     cbTools.refreshFormulaNodes();
                 }
                 }
             }
             }
-
         };
         };
         controller.prototype.upLevel = function () {
         controller.prototype.upLevel = function () {
             var that = this;
             var that = this;

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

@@ -520,9 +520,6 @@ var Bills = {
                     project.ration_glj.updataOrdelete(selected.source);
                     project.ration_glj.updataOrdelete(selected.source);
                 }
                 }
                 if(parent){
                 if(parent){
-                    if(parent.children.length==0&&parent.data.feesIndex&&parent.data.feesIndex.common){
-                        parent.data.feesIndex.common.unitFee = 0;
-                    }
                     projectObj.converseCalculateBills(parent);
                     projectObj.converseCalculateBills(parent);
                 }else { //删除的是大项费用要重新计算工程造价节点
                 }else { //删除的是大项费用要重新计算工程造价节点
                     project.Bills.calcEngineeringCostNode(controller);
                     project.Bills.calcEngineeringCostNode(controller);

+ 8 - 1
web/building_saas/main/js/views/main_tree_col.js

@@ -149,7 +149,14 @@ let MainTreeCol = {
             return MainTreeCol.readOnly.non_bills(node) || MainTreeCol.readOnly.billsParent(node) || MainTreeCol.readOnly.leafBillsWithDetail(node)
             return MainTreeCol.readOnly.non_bills(node) || MainTreeCol.readOnly.billsParent(node) || MainTreeCol.readOnly.leafBillsWithDetail(node)
         },
         },
         forQuantity: function (node) {
         forQuantity: function (node) {
-            return MainTreeCol.readOnly.glj(node) || MainTreeCol.readOnly.billsParent(node)
+            if(node.sourceType === projectObj.project.Bills.getSourceType()){
+                if(node.data.type==billType.DXFY||node.data.type==billType.FB||(node.data.type==billType.BILL&&MainTreeCol.readOnly.billsParent(node))){//大项费用、分部、清单父项行,工程量只读。
+                    return true;
+                }
+            }else if(MainTreeCol.readOnly.glj(node)){
+                return true;
+            }
+            return false;
         },
         },
         forMarketPrice: function (node) {
         forMarketPrice: function (node) {
             return MainTreeCol.readOnly.bills(node) ||
             return MainTreeCol.readOnly.bills(node) ||

+ 71 - 19
web/building_saas/main/js/views/project_view.js

@@ -41,37 +41,89 @@ var projectObj = {
             }
             }
         };
         };
         let selected = tree.selected, that = projectObj;
         let selected = tree.selected, that = projectObj;
+
         let canUpLevel = function (node) {
         let canUpLevel = function (node) {
-            if (selected && selected.depth() > 1 && selected.canUpLevel()) {
-                if (selected.sourceType === that.project.Bills.getSourceType()) {
-                    return (!selected.nextSibling) || (selected.children.length === 0) || (selected.source.children.length > 0);
-                } else {
+            if(!node){
+                return false;
+            }
+            if(node.depth()<=1){//焦点行是树结构的第一/二层节点,灰显。
+                return false;
+            }
+            if(node.sourceType !== that.project.Bills.getSourceType()){//焦点行是定额/量价/工料机,灰显。
+                return false;
+            }else {
+                if(node.data.type == billType.FX){//是分项,灰显。
                     return false;
                     return false;
                 }
                 }
-            } else {
-                return false;
+                if(node.data.type == billType.FB&&node.nextSibling&&node.children.length>0){//焦点行是分部有后兄弟,有子项.
+                     if(node.children[0].data.type==billType.FX){ //焦点行子项是分项
+                         return false;
+                     }
+                }
+                if(node.data.type == billType.BILL &&node.nextSibling){//焦点行是清单有后兄弟
+                    if(node.data.calcBase&&node.data.calcBase!=""){//有基数计算
+                        return false;
+                    }
+                    if(node.children.length>0&&node.children[0].sourceType !== that.project.Bills.getSourceType()){//有子项,并且子项不是清单
+                        return false;
+                    }
+                }
             }
             }
+            return true;
         };
         };
         let canDownLevel = function (node) {
         let canDownLevel = function (node) {
-            if (selected && selected.depth() > 0 && selected.canDownLevel()) {
-                if (selected.sourceType === that.project.Bills.getSourceType()) {
-                    return (selected.preSibling.children.length === 0) || (selected.preSibling.source.children.length > 0);
-                } else {
+            if(!node){
+                return false;
+            }
+            if(node.depth()==0){//焦点行是树结构的第一层节点,灰显。
+                return false;
+            }
+            if(node.sourceType !== that.project.Bills.getSourceType()) {//焦点行是定额/量价/工料机,灰显。
+                return false;
+            }else {
+                if(node.data.type == billType.FX){//是分项,灰显。
                     return false;
                     return false;
                 }
                 }
-            } else {
-                return false;
+                if(!node.preSibling){//无前兄弟,灰显
+                    return false;
+                }else if(node.preSibling.data.calcBase&&node.preSibling.data.calcBase!=""){//前兄弟有基数计算
+                    return false
+                }
+                if(node.preSibling.children.length>0){//前兄弟有子项,子项是分项,灰显。
+                    if(node.data.type==billType.FB&&node.preSibling.children[0].data.type==billType.FX){//焦点行是分部前兄弟有子项,子项是分项,灰显。
+                        return false;
+                    }
+                    if(node.data.type==billType.BILL&&node.preSibling.children[0].sourceType !== that.project.Bills.getSourceType()){//焦点行是清单,子项不是清单
+                        return false
+                    }
+                }
             }
             }
+            return true;
         };
         };
-
-
-
+        let canUpMove = function (node) {
+            if(node&&node.preSibling){//有前兄弟
+                if(node.sourceType==that.project.Bills.getSourceType()&&node.data.type == billType.DXFY&&node.data.isAdd!==1){
+                    return false;
+                }
+                return true
+            }
+            return false
+        };
+        let canDownMove = function (node) {
+            if(node&&node.nextSibling){
+                if(node.sourceType==that.project.Bills.getSourceType()&&node.data.type == billType.DXFY&&node.data.isAdd!==1){
+                    return false;
+                }
+                return true;
+            }
+            return false
+        };
+        
         setButtonValid(ifCanDelete(), $('#delete'));
         setButtonValid(ifCanDelete(), $('#delete'));
         setButtonValid(canUpLevel(selected), $('#upLevel'));
         setButtonValid(canUpLevel(selected), $('#upLevel'));
         setButtonValid(canDownLevel(selected), $('#downLevel'));
         setButtonValid(canDownLevel(selected), $('#downLevel'));
-        setButtonValid(selected && (selected.depth() > 0) && selected.canUpMove(), $('#upMove'));
-        setButtonValid(selected && (selected.depth() > 0) && selected.canDownMove(), $('#downMove'));
-
+        setButtonValid(canUpMove(selected) , $('#upMove'));
+        setButtonValid(canDownMove(selected), $('#downMove'));
     },
     },
     checkCommonField: function (editingText, colSetting) {
     checkCommonField: function (editingText, colSetting) {
         let value;
         let value;
@@ -928,7 +980,7 @@ $('#upLevel').click(function () {
     if (selected && selected.sourceType === project.Bills.getSourceType()) {
     if (selected && selected.sourceType === project.Bills.getSourceType()) {
         project.Bills.upLevelBills(selected.source);
         project.Bills.upLevelBills(selected.source);
         controller.upLevel();
         controller.upLevel();
-        projectObj.converseCalculateBills(orgParent);
+        projectObj.project.calcProgram.calcBillsAndSave([selected,orgParent]);
     }
     }
 });
 });
 $('#downLevel').click(function () {
 $('#downLevel').click(function () {