|
@@ -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 () {
|