|
@@ -159,7 +159,8 @@ let calcTools = {
|
|
},
|
|
},
|
|
forceSelect: function (treeNode, rowsCount = 1, colsCount = 2){
|
|
forceSelect: function (treeNode, rowsCount = 1, colsCount = 2){
|
|
projectObj.mainController.tree.selected = treeNode;
|
|
projectObj.mainController.tree.selected = treeNode;
|
|
- let idx = projectObj.project.mainTree.items.indexOf(treeNode);
|
|
|
|
|
|
+ let tree = treeNode.tree;
|
|
|
|
+ let idx = tree.items.indexOf(treeNode);
|
|
let sheet = projectObj.mainSpread.getActiveSheet();
|
|
let sheet = projectObj.mainSpread.getActiveSheet();
|
|
sheet.setSelection(idx, 0, rowsCount, colsCount);
|
|
sheet.setSelection(idx, 0, rowsCount, colsCount);
|
|
sheet.showRow(idx, GC.Spread.Sheets.VerticalPosition.center);
|
|
sheet.showRow(idx, GC.Spread.Sheets.VerticalPosition.center);
|
|
@@ -502,7 +503,7 @@ let calcTools = {
|
|
|
|
|
|
// 总造价暂估费
|
|
// 总造价暂估费
|
|
if (me.isTotalCostBill(treeNode)){
|
|
if (me.isTotalCostBill(treeNode)){
|
|
- let nodes = projectObj.project.mainTree.roots;
|
|
|
|
|
|
+ let nodes = treeNode.tree.roots;
|
|
for (let node of nodes){
|
|
for (let node of nodes){
|
|
if (me.isTotalCostBill(node)) break;
|
|
if (me.isTotalCostBill(node)) break;
|
|
let eU = 0, eT = 0, eTU = 0, eTT = 0;
|
|
let eU = 0, eT = 0, eTU = 0, eTT = 0;
|
|
@@ -949,7 +950,7 @@ let calcTools = {
|
|
return (treeNode.data.quantity && parseFloat(treeNode.data.quantity));
|
|
return (treeNode.data.quantity && parseFloat(treeNode.data.quantity));
|
|
},
|
|
},
|
|
|
|
|
|
- getRationsByProjectGLJ(PGLJID){
|
|
|
|
|
|
+ getRationsByProjectGLJ(PGLJID, tree = projectObj.project.mainTree){
|
|
let rationIDs = [];
|
|
let rationIDs = [];
|
|
let RGs = projectObj.project.ration_glj.datas;
|
|
let RGs = projectObj.project.ration_glj.datas;
|
|
let PGLJIDs = [];
|
|
let PGLJIDs = [];
|
|
@@ -965,13 +966,13 @@ let calcTools = {
|
|
};
|
|
};
|
|
|
|
|
|
let rationNodes = [];
|
|
let rationNodes = [];
|
|
- let nodes = projectObj.project.mainTree.nodes;
|
|
|
|
|
|
+ let nodes = tree.nodes;
|
|
for (let rID of rationIDs){
|
|
for (let rID of rationIDs){
|
|
rationNodes.push(nodes['id_' + rID]);
|
|
rationNodes.push(nodes['id_' + rID]);
|
|
};
|
|
};
|
|
|
|
|
|
// 工料机形式的定额
|
|
// 工料机形式的定额
|
|
- let items = projectObj.project.mainTree.items;
|
|
|
|
|
|
+ let items = tree.items;
|
|
for (let item of items){
|
|
for (let item of items){
|
|
if (PGLJIDs.indexOf(item.data.projectGLJID) !== -1)
|
|
if (PGLJIDs.indexOf(item.data.projectGLJID) !== -1)
|
|
rationNodes.push(item);
|
|
rationNodes.push(item);
|
|
@@ -979,9 +980,9 @@ let calcTools = {
|
|
|
|
|
|
return rationNodes;
|
|
return rationNodes;
|
|
},
|
|
},
|
|
- getNodesByProgramID(programID){
|
|
|
|
|
|
+ getNodesByProgramID(programID, tree = projectObj.project.mainTree){
|
|
let discreteNodes = [];
|
|
let discreteNodes = [];
|
|
- let nodes = projectObj.project.mainTree.items;
|
|
|
|
|
|
+ let nodes = tree.items;
|
|
for (let node of nodes){
|
|
for (let node of nodes){
|
|
if (node.data.programID == programID)
|
|
if (node.data.programID == programID)
|
|
discreteNodes.push(node);
|
|
discreteNodes.push(node);
|
|
@@ -1478,8 +1479,8 @@ let analyzer = {
|
|
return true
|
|
return true
|
|
else return false;
|
|
else return false;
|
|
},
|
|
},
|
|
- templateIsUsed: function (ID){
|
|
|
|
- let nodes = projectObj.project.mainTree.items;
|
|
|
|
|
|
+ templateIsUsed: function (ID, tree = projectObj.project.mainTree){
|
|
|
|
+ let nodes = tree.items;
|
|
for (let node of nodes){
|
|
for (let node of nodes){
|
|
if (node.data && node.data.programID && node.data.programID == ID) {
|
|
if (node.data && node.data.programID && node.data.programID == ID) {
|
|
return true;
|
|
return true;
|
|
@@ -2055,7 +2056,7 @@ class CalcProgram {
|
|
projectObj.project.projectInfo.lastFileVer = VERSION;
|
|
projectObj.project.projectInfo.lastFileVer = VERSION;
|
|
// 批量树结点计算后,计算程序早已物是人非,所以这里要重新计算一下。警告:第二个参数千万不能改成3,否则死循环!
|
|
// 批量树结点计算后,计算程序早已物是人非,所以这里要重新计算一下。警告:第二个参数千万不能改成3,否则死循环!
|
|
if (activeSubSheetIsCalcProgram())
|
|
if (activeSubSheetIsCalcProgram())
|
|
- calcProgramObj.refreshCalcProgram(projectObj.project.mainTree.selected, 2);
|
|
|
|
|
|
+ calcProgramObj.refreshCalcProgram(treeNodes.tree.selected, 2);
|
|
$.bootstrapLoading.end();
|
|
$.bootstrapLoading.end();
|
|
});
|
|
});
|
|
};
|
|
};
|
|
@@ -2096,7 +2097,8 @@ class CalcProgram {
|
|
调价相关参数:
|
|
调价相关参数:
|
|
tender: null:不调价(普通计算)。 1: 正向调价 2:反向调价-调子目 3: 反向调价-调工料机
|
|
tender: null:不调价(普通计算)。 1: 正向调价 2:反向调价-调子目 3: 反向调价-调工料机
|
|
*/
|
|
*/
|
|
- calcAllNodes(calcType = calcAllType.catAll, tender){
|
|
|
|
|
|
+
|
|
|
|
+ calcAllNodes(calcType = calcAllType.catAll, tender, tree = projectObj.project.mainTree){
|
|
let me = this;
|
|
let me = this;
|
|
let changedNodes = [];
|
|
let changedNodes = [];
|
|
function calcNodes(nodes) {
|
|
function calcNodes(nodes) {
|
|
@@ -2117,11 +2119,11 @@ class CalcProgram {
|
|
if (calcType == calcAllType.catRations)
|
|
if (calcType == calcAllType.catRations)
|
|
calcType == calcAllType.catAll;
|
|
calcType == calcAllType.catAll;
|
|
|
|
|
|
- calcNodes(me.project.mainTree.roots);
|
|
|
|
|
|
+ calcNodes(tree.roots);
|
|
me.calcFormulaNodes(changedNodes, tender);
|
|
me.calcFormulaNodes(changedNodes, tender);
|
|
-
|
|
|
|
|
|
+ debugger;
|
|
if (tender){ // 普通计算不执行,只有3种调价计算才清。
|
|
if (tender){ // 普通计算不执行,只有3种调价计算才清。
|
|
- for(let node of projectObj.project.mainTree.items){
|
|
|
|
|
|
+ for(let node of tree.items){
|
|
this.clearTenderCache(node);
|
|
this.clearTenderCache(node);
|
|
};
|
|
};
|
|
};
|
|
};
|