|
@@ -286,10 +286,10 @@ const OVER_HEIGHT = (() => {
|
|
|
TREE_SHEET_HELPER.massOperationSheet(sheet, func);
|
|
|
}
|
|
|
|
|
|
- // 获取措施技术项目底下固定的节点(011704001...): 选项二时
|
|
|
- function getTechFixedNode() {
|
|
|
- const measureNode = projectObj.project.mainTree.items.find(node => node.getFlag() === fixedFlag.CONSTRUCTION_TECH);
|
|
|
- const measureChildren = measureNode.getPosterity();
|
|
|
+ // 获取其他措施费项目底下固定的节点(011704001...): 选项二时
|
|
|
+ function getMeasureFixedNode() {
|
|
|
+ const otherMeasureNode = projectObj.project.mainTree.items.find(node => node.getFlag() === fixedFlag.OTHER_MEASURE_FEE);
|
|
|
+ const measureChildren = otherMeasureNode.getPosterity();
|
|
|
return measureChildren.find(node => node.data.code && fixedCodeReg.test(node.data.code));
|
|
|
}
|
|
|
|
|
@@ -306,7 +306,7 @@ const OVER_HEIGHT = (() => {
|
|
|
if (option === Option.SEPARATION) {
|
|
|
return true;
|
|
|
} else if (option === Option.MEASURE) {
|
|
|
- const isValid = !!getTechFixedNode();
|
|
|
+ const isValid = !!getMeasureFixedNode();
|
|
|
if (!isValid) {
|
|
|
$('#overHeightMeasure').modal('show');
|
|
|
}
|
|
@@ -564,16 +564,17 @@ const OVER_HEIGHT = (() => {
|
|
|
const { option, specificID } = action;
|
|
|
// 生成清单数据
|
|
|
function initMountedBills() {
|
|
|
- // 生成的清单位置为施工技术措施项目的最末子项
|
|
|
- const measureNode = projectObj.project.mainTree.items.find(node => node.getFlag() === fixedFlag.CONSTRUCTION_TECH);
|
|
|
- const parent = measureNode.children[measureNode.children.length - 1];
|
|
|
+ // 生成的清单位置为其他措施项目的首项
|
|
|
+ const measureNode = projectObj.project.mainTree.items.find(node => node.getFlag() === fixedFlag.OTHER_MEASURE_FEE);
|
|
|
+ const firstNode = measureNode.children[0];
|
|
|
+ //const parent = measureNode.children[measureNode.children.length - 1];
|
|
|
// 具体完整数据需要在后端跟标准数据对比完善
|
|
|
return {
|
|
|
projectID: projectObj.project.ID(),
|
|
|
billsLibId: +projectObj.project.projectInfo.engineeringInfo.bill_lib[0].id,
|
|
|
ID: uuid.v1(),
|
|
|
- ParentID: parent.data.ID,
|
|
|
- NextSiblingID: -1,
|
|
|
+ ParentID: measureNode.data.ID,
|
|
|
+ NextSiblingID: firstNode ? firstNode.data.ID : -1,
|
|
|
type: billType.BILL,
|
|
|
code: fixedCode,
|
|
|
name: '超高施工增加',
|
|
@@ -588,7 +589,7 @@ const OVER_HEIGHT = (() => {
|
|
|
bills: null,
|
|
|
};
|
|
|
} else if (option === Option.MEASURE) { // 选项二且造价书没有相关清单,需要插入清单
|
|
|
- const fixedNode = getTechFixedNode();
|
|
|
+ const fixedNode = getMeasureFixedNode();
|
|
|
return {
|
|
|
isNew: !fixedNode,
|
|
|
bills: fixedNode ? fixedNode.data : initMountedBills(),
|
|
@@ -876,6 +877,7 @@ const OVER_HEIGHT = (() => {
|
|
|
// 重算相关节点
|
|
|
projectObj.project.calcProgram.calcNodesAndSave(reCalcNodes);
|
|
|
} catch (err) {
|
|
|
+ alert(err);
|
|
|
console.log(err);
|
|
|
recoverCellsText();
|
|
|
$.bootstrapLoading.end();
|
|
@@ -947,6 +949,11 @@ const OVER_HEIGHT = (() => {
|
|
|
if (project) {
|
|
|
const property = projectObj.project.projectInfo.property;
|
|
|
Object.assign(property, project);
|
|
|
+ // 更新节点(控制基数只读性,指定清单基数列只读)
|
|
|
+ const specificNode = getSpecificNode(property.overHeightSpecificID);
|
|
|
+ if (specificNode) {
|
|
|
+ TREE_SHEET_HELPER.refreshTreeNodeData(projectObj.mainController.setting, projectObj.mainController.sheet, [specificNode], false);
|
|
|
+ }
|
|
|
}
|
|
|
const mainTree = projectObj.project.mainTree;
|
|
|
// 更新节点超高降效
|
|
@@ -1129,7 +1136,7 @@ const OVER_HEIGHT = (() => {
|
|
|
handleConfirmed(false, { option, specificID: null });
|
|
|
break;
|
|
|
case Option.MEASURE:
|
|
|
- const fixedNode = getTechFixedNode();
|
|
|
+ const fixedNode = getMeasureFixedNode();
|
|
|
// 造价书不存在相关清单,提示是否新增清单,由提示窗口进行后续操作
|
|
|
if (!fixedNode) {
|
|
|
$('#overHeightMeasure').modal('show');
|