|
@@ -3,371 +3,401 @@
|
|
|
*/
|
|
*/
|
|
|
|
|
|
|
|
ProjectController = {
|
|
ProjectController = {
|
|
|
- /* sc: tree_sheet_controller */
|
|
|
|
|
- syncDisplayNewNode: function (sc, newNode,callback) {
|
|
|
|
|
- TREE_SHEET_HELPER.massOperationSheet(sc.sheet, function () {
|
|
|
|
|
- var sels = sc.sheet.getSelections();
|
|
|
|
|
- sc.sheet.addRows(newNode.serialNo(), 1);
|
|
|
|
|
- TREE_SHEET_HELPER.refreshTreeNodeData(sc.setting, sc.sheet, [newNode], false);
|
|
|
|
|
- sc.setTreeSelected(newNode);
|
|
|
|
|
- sc.sheet.setSelection(newNode.serialNo(), sels[0].col, 1, 1);
|
|
|
|
|
- //不显示到中间
|
|
|
|
|
- //sc.sheet.showRow(newNode.serialNo(), GC.Spread.Sheets.VerticalPosition.center);
|
|
|
|
|
- cbTools.refreshFormulaNodes();
|
|
|
|
|
- if(callback) callback();
|
|
|
|
|
- });
|
|
|
|
|
- },
|
|
|
|
|
- syncDisplayNewNodes: function (sc, newNodes,withOutSelect=false,callback) {//withOutSelect 不需要自动选中,外面自已处理
|
|
|
|
|
- TREE_SHEET_HELPER.massOperationSheet(sc.sheet, function () {
|
|
|
|
|
- var sels = sc.sheet.getSelections();
|
|
|
|
|
- newNodes.sort(function (a, b) {
|
|
|
|
|
- let rst = 0;
|
|
|
|
|
- if(a.serialNo() > b.serialNo()){
|
|
|
|
|
- rst = 1;
|
|
|
|
|
- }
|
|
|
|
|
- else {
|
|
|
|
|
- rst = -1;
|
|
|
|
|
- }
|
|
|
|
|
- return rst;
|
|
|
|
|
- });
|
|
|
|
|
- let lastNode = null;
|
|
|
|
|
- for(let newNode of newNodes){
|
|
|
|
|
- sc.sheet.addRows(newNode.serialNo(), 1);
|
|
|
|
|
- TREE_SHEET_HELPER.refreshTreeNodeData(sc.setting, sc.sheet, [newNode], false);
|
|
|
|
|
- lastNode = newNode
|
|
|
|
|
- // sc.sheet.showRow(newNode.serialNo(), GC.Spread.Sheets.VerticalPosition.center);
|
|
|
|
|
- }
|
|
|
|
|
- if(withOutSelect==false&& lastNode){
|
|
|
|
|
- sc.setTreeSelected(lastNode);
|
|
|
|
|
- sc.sheet.setSelection(lastNode.serialNo(), sels[0].col, 1, 1);
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- cbTools.refreshFormulaNodes();
|
|
|
|
|
- if(callback) callback();
|
|
|
|
|
- });
|
|
|
|
|
- },
|
|
|
|
|
- syncDisplayNewRationGljNode:function (sc,newNode) {
|
|
|
|
|
- TREE_SHEET_HELPER.massOperationSheet(sc.sheet, function () {
|
|
|
|
|
- sc.sheet.addRows(newNode.serialNo(), 1);
|
|
|
|
|
- TREE_SHEET_HELPER.refreshTreeNodeData(sc.setting, sc.sheet, [newNode], false);
|
|
|
|
|
- // sc.sheet.showRow(newNode.serialNo(), GC.Spread.Sheets.VerticalPosition.center);
|
|
|
|
|
- cbTools.refreshFormulaNodes();
|
|
|
|
|
- });
|
|
|
|
|
- },
|
|
|
|
|
- /* addBillsByData: async function (postData, insertFunc) {
|
|
|
|
|
- await ajaxPost('/bills/insertBills', { postData });
|
|
|
|
|
- // 插入
|
|
|
|
|
- const insertData = postData.filter(item => item.updateType === 'create');
|
|
|
|
|
- const treeData = insertData.map(item => item.updateData);
|
|
|
|
|
- // 插入清单节点
|
|
|
|
|
- if (!insertFunc) {
|
|
|
|
|
- insertFunc = projectObj.project.Bills.tree.insertByDatas;
|
|
|
|
|
- }
|
|
|
|
|
- projectObj.project.Bills.tree.insertByDatas(treeData);
|
|
|
|
|
- projectObj.project.Bills.datas = projectObj.project.Bills.datas.concat(treeData);
|
|
|
|
|
- // 插入主树节点
|
|
|
|
|
- const newNodes = projectObj.project.mainTree.insertByDatas(treeData);
|
|
|
|
|
- for (const node of newNodes) {
|
|
|
|
|
- node.source = projectObj.project.Bills.tree.nodes[projectObj.project.Bills.tree.prefix + node.getID()];
|
|
|
|
|
- node.data = node.source.data;
|
|
|
|
|
- node.sourceType = projectObj.project.Bills.getSourceType();
|
|
|
|
|
- }
|
|
|
|
|
- ProjectController.syncDisplayNewNodes(projectObj.mainController, newNodes, true);
|
|
|
|
|
- return newNodes;
|
|
|
|
|
- }, */
|
|
|
|
|
- addBillsByData: async function (postData, isSameDepth = false) {
|
|
|
|
|
- await ajaxPost('/bills/insertBills', { postData });
|
|
|
|
|
- // 插入
|
|
|
|
|
- const insertData = postData.filter(item => item.updateType === 'create');
|
|
|
|
|
- const treeData = insertData.map(item => item.updateData);
|
|
|
|
|
- // 插入清单节点和主树节点
|
|
|
|
|
- projectObj.project.Bills.datas = projectObj.project.Bills.datas.concat(treeData);
|
|
|
|
|
- let newNodes;
|
|
|
|
|
- if (isSameDepth) {
|
|
|
|
|
- const pre = postData.find(item => item.updateType === 'update');
|
|
|
|
|
- const preID = pre && pre.updateData.ID || null;
|
|
|
|
|
- projectObj.project.Bills.tree.multiInsert(treeData, preID);
|
|
|
|
|
- newNodes = projectObj.project.mainTree.multiInsert(treeData, preID);
|
|
|
|
|
|
|
+ /* sc: tree_sheet_controller */
|
|
|
|
|
+ syncDisplayNewNode: function (sc, newNode, callback) {
|
|
|
|
|
+ TREE_SHEET_HELPER.massOperationSheet(sc.sheet, function () {
|
|
|
|
|
+ var sels = sc.sheet.getSelections();
|
|
|
|
|
+ sc.sheet.addRows(newNode.serialNo(), 1);
|
|
|
|
|
+ TREE_SHEET_HELPER.refreshTreeNodeData(sc.setting, sc.sheet, [newNode], false);
|
|
|
|
|
+ sc.setTreeSelected(newNode);
|
|
|
|
|
+ sc.sheet.setSelection(newNode.serialNo(), sels[0].col, 1, 1);
|
|
|
|
|
+ //不显示到中间
|
|
|
|
|
+ //sc.sheet.showRow(newNode.serialNo(), GC.Spread.Sheets.VerticalPosition.center);
|
|
|
|
|
+ cbTools.refreshFormulaNodes();
|
|
|
|
|
+ if (callback) callback();
|
|
|
|
|
+ });
|
|
|
|
|
+ },
|
|
|
|
|
+ syncDisplayNewNodes: function (sc, newNodes, withOutSelect = false, callback) { //withOutSelect 不需要自动选中,外面自已处理
|
|
|
|
|
+ TREE_SHEET_HELPER.massOperationSheet(sc.sheet, function () {
|
|
|
|
|
+ var sels = sc.sheet.getSelections();
|
|
|
|
|
+ newNodes.sort(function (a, b) {
|
|
|
|
|
+ let rst = 0;
|
|
|
|
|
+ if (a.serialNo() > b.serialNo()) {
|
|
|
|
|
+ rst = 1;
|
|
|
} else {
|
|
} else {
|
|
|
- projectObj.project.Bills.tree.insertByDatas(treeData);
|
|
|
|
|
- newNodes = projectObj.project.mainTree.insertByDatas(treeData);
|
|
|
|
|
- }
|
|
|
|
|
- for (const node of newNodes) {
|
|
|
|
|
- node.source = projectObj.project.Bills.tree.nodes[projectObj.project.Bills.tree.prefix + node.getID()];
|
|
|
|
|
- node.data = node.source.data;
|
|
|
|
|
- node.sourceType = projectObj.project.Bills.getSourceType();
|
|
|
|
|
|
|
+ rst = -1;
|
|
|
}
|
|
}
|
|
|
- ProjectController.syncDisplayNewNodes(projectObj.mainController, newNodes, true);
|
|
|
|
|
- return newNodes;
|
|
|
|
|
- },
|
|
|
|
|
- getBillsPostData: function (number) {
|
|
|
|
|
- const project = projectObj.project;
|
|
|
|
|
- const target = project.getParentTarget(project.mainTree.selected, 'sourceType', project.Bills.getSourceType());
|
|
|
|
|
- const baseParentID = target.depth() === 0 ? target.source.getID() : target.source.getParentID();
|
|
|
|
|
- const baseNextID = target.depth() === 0 ? -1 : target.source.getNextSiblingID();
|
|
|
|
|
- const updateNode = target.depth() === 0 ? target.source.children[target.source.children.length - 1] : target;
|
|
|
|
|
- const insertData = [];
|
|
|
|
|
- for (let i = 0; i < number; i++) {
|
|
|
|
|
- const data = {
|
|
|
|
|
- type: billType.BILL,
|
|
|
|
|
- projectID: project.ID(),
|
|
|
|
|
- ID: uuid.v1(),
|
|
|
|
|
- ParentID: baseParentID,
|
|
|
|
|
- };
|
|
|
|
|
- const pre = insertData[i - 1];
|
|
|
|
|
- if (pre) {
|
|
|
|
|
- pre.NextSiblingID = data.ID;
|
|
|
|
|
- }
|
|
|
|
|
- if (i === number - 1) {
|
|
|
|
|
- data.NextSiblingID = baseNextID;
|
|
|
|
|
- }
|
|
|
|
|
- insertData.push(data);
|
|
|
|
|
- }
|
|
|
|
|
- const postData = insertData.map(item => ({
|
|
|
|
|
- updateType: 'create',
|
|
|
|
|
- updateData: item
|
|
|
|
|
- }));
|
|
|
|
|
- if (updateNode) {
|
|
|
|
|
- postData.push({ updateType: 'update', updateData: { ID: updateNode.getID(), NextSiblingID: insertData[0].ID } });
|
|
|
|
|
- }
|
|
|
|
|
- return postData;
|
|
|
|
|
- },
|
|
|
|
|
- addBills: function (project, sheetController, std) {
|
|
|
|
|
- if (!project || !sheetController) { return null; }
|
|
|
|
|
- let target = project.getParentTarget(project.mainTree.selected, 'sourceType', project.Bills.getSourceType());
|
|
|
|
|
- let newSource = null, newNode = null, parentID, nextSiblingID, nodeParentID, nodeNextSiblingID;
|
|
|
|
|
- if (target) {
|
|
|
|
|
- if(target.depth() === 0){
|
|
|
|
|
- parentID = target.source.getID();
|
|
|
|
|
- nextSiblingID = project.Bills.tree.setting.rootId;
|
|
|
|
|
- nodeParentID = target.getID();
|
|
|
|
|
- nodeNextSiblingID = project.mainTree.rootID();
|
|
|
|
|
- } else{
|
|
|
|
|
- parentID = target.source.getParentID();
|
|
|
|
|
- nextSiblingID = target.source.getNextSiblingID();
|
|
|
|
|
- nodeParentID = target.getParentID();
|
|
|
|
|
- nodeNextSiblingID = target.getNextSiblingID();
|
|
|
|
|
- }
|
|
|
|
|
- parentID = target.depth() === 0 ? target.source.getID() : target.source.getParentID();
|
|
|
|
|
- nextSiblingID = target.depth() === 0 ? project.Bills.tree.setting.rootId : target.source.getNextSiblingID();
|
|
|
|
|
|
|
+ return rst;
|
|
|
|
|
+ });
|
|
|
|
|
+ let lastNode = null;
|
|
|
|
|
+ for (let newNode of newNodes) {
|
|
|
|
|
+ sc.sheet.addRows(newNode.serialNo(), 1);
|
|
|
|
|
+ TREE_SHEET_HELPER.refreshTreeNodeData(sc.setting, sc.sheet, [newNode], false);
|
|
|
|
|
+ lastNode = newNode
|
|
|
|
|
+ // sc.sheet.showRow(newNode.serialNo(), GC.Spread.Sheets.VerticalPosition.center);
|
|
|
|
|
+ }
|
|
|
|
|
+ if (withOutSelect == false && lastNode) {
|
|
|
|
|
+ sc.setTreeSelected(lastNode);
|
|
|
|
|
+ sc.sheet.setSelection(lastNode.serialNo(), sels[0].col, 1, 1);
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
- if (std) {
|
|
|
|
|
- let fixedNode = getRootFixedNode(target);
|
|
|
|
|
- if(!isFlag(fixedNode.data) || (fixedNode.data.flagsIndex.fixed.flag !== fixedFlag.SUB_ENGINERRING && fixedNode.data.flagsIndex.fixed.flag !== fixedFlag.MEASURE)){
|
|
|
|
|
- return false;
|
|
|
|
|
- }
|
|
|
|
|
- //焦点行属于分部分项
|
|
|
|
|
- if(fixedNode.data.flagsIndex.fixed.flag === fixedFlag.SUB_ENGINERRING){
|
|
|
|
|
- std.type = billType.FX;
|
|
|
|
|
- //焦点行是分部分项
|
|
|
|
|
- let subType = getSubType(target);
|
|
|
|
|
- if(target.sourceType === project.Bills.getSourceType() && target.data.type === billType.DXFY && subType === billType.FB){
|
|
|
|
|
- return false;
|
|
|
|
|
- } else if(target.sourceType === project.Bills.getSourceType() && target.data.type === billType.FB){//焦点行是分部
|
|
|
|
|
- if(!subType || subType === billType.FX){
|
|
|
|
|
- parentID = target.source.getID();
|
|
|
|
|
- nextSiblingID = project.Bills.tree.setting.rootId;
|
|
|
|
|
- nodeParentID = target.getID();
|
|
|
|
|
- nodeNextSiblingID = project.mainTree.rootID();
|
|
|
|
|
- } else{
|
|
|
|
|
- return false;
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- } else {
|
|
|
|
|
- std.type = billType.BILL;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ cbTools.refreshFormulaNodes();
|
|
|
|
|
+ if (callback) callback();
|
|
|
|
|
+ });
|
|
|
|
|
+ },
|
|
|
|
|
+ syncDisplayNewRationGljNode: function (sc, newNode) {
|
|
|
|
|
+ TREE_SHEET_HELPER.massOperationSheet(sc.sheet, function () {
|
|
|
|
|
+ sc.sheet.addRows(newNode.serialNo(), 1);
|
|
|
|
|
+ TREE_SHEET_HELPER.refreshTreeNodeData(sc.setting, sc.sheet, [newNode], false);
|
|
|
|
|
+ // sc.sheet.showRow(newNode.serialNo(), GC.Spread.Sheets.VerticalPosition.center);
|
|
|
|
|
+ cbTools.refreshFormulaNodes();
|
|
|
|
|
+ });
|
|
|
|
|
+ },
|
|
|
|
|
+ /* addBillsByData: async function (postData, insertFunc) {
|
|
|
|
|
+ await ajaxPost('/bills/insertBills', { postData });
|
|
|
|
|
+ // 插入
|
|
|
|
|
+ const insertData = postData.filter(item => item.updateType === 'create');
|
|
|
|
|
+ const treeData = insertData.map(item => item.updateData);
|
|
|
|
|
+ // 插入清单节点
|
|
|
|
|
+ if (!insertFunc) {
|
|
|
|
|
+ insertFunc = projectObj.project.Bills.tree.insertByDatas;
|
|
|
|
|
+ }
|
|
|
|
|
+ projectObj.project.Bills.tree.insertByDatas(treeData);
|
|
|
|
|
+ projectObj.project.Bills.datas = projectObj.project.Bills.datas.concat(treeData);
|
|
|
|
|
+ // 插入主树节点
|
|
|
|
|
+ const newNodes = projectObj.project.mainTree.insertByDatas(treeData);
|
|
|
|
|
+ for (const node of newNodes) {
|
|
|
|
|
+ node.source = projectObj.project.Bills.tree.nodes[projectObj.project.Bills.tree.prefix + node.getID()];
|
|
|
|
|
+ node.data = node.source.data;
|
|
|
|
|
+ node.sourceType = projectObj.project.Bills.getSourceType();
|
|
|
|
|
+ }
|
|
|
|
|
+ ProjectController.syncDisplayNewNodes(projectObj.mainController, newNodes, true);
|
|
|
|
|
+ return newNodes;
|
|
|
|
|
+ }, */
|
|
|
|
|
+ addBillsByData: async function (postData, isSameDepth = false) {
|
|
|
|
|
+ await ajaxPost('/bills/insertBills', {
|
|
|
|
|
+ postData
|
|
|
|
|
+ });
|
|
|
|
|
+ // 插入
|
|
|
|
|
+ const insertData = postData.filter(item => item.updateType === 'create');
|
|
|
|
|
+ const treeData = insertData.map(item => item.updateData);
|
|
|
|
|
+ // 插入清单节点和主树节点
|
|
|
|
|
+ projectObj.project.Bills.datas = projectObj.project.Bills.datas.concat(treeData);
|
|
|
|
|
+ let newNodes;
|
|
|
|
|
+ if (isSameDepth) {
|
|
|
|
|
+ const pre = postData.find(item => item.updateType === 'update');
|
|
|
|
|
+ const preID = pre && pre.updateData.ID || null;
|
|
|
|
|
+ projectObj.project.Bills.tree.multiInsert(treeData, preID);
|
|
|
|
|
+ newNodes = projectObj.project.mainTree.multiInsert(treeData, preID);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ projectObj.project.Bills.tree.insertByDatas(treeData);
|
|
|
|
|
+ newNodes = projectObj.project.mainTree.insertByDatas(treeData);
|
|
|
|
|
+ }
|
|
|
|
|
+ for (const node of newNodes) {
|
|
|
|
|
+ node.source = projectObj.project.Bills.tree.nodes[projectObj.project.Bills.tree.prefix + node.getID()];
|
|
|
|
|
+ node.data = node.source.data;
|
|
|
|
|
+ node.sourceType = projectObj.project.Bills.getSourceType();
|
|
|
|
|
+ }
|
|
|
|
|
+ ProjectController.syncDisplayNewNodes(projectObj.mainController, newNodes, true);
|
|
|
|
|
+ return newNodes;
|
|
|
|
|
+ },
|
|
|
|
|
+ getBillsPostData: function (number) {
|
|
|
|
|
+ const project = projectObj.project;
|
|
|
|
|
+ const target = project.getParentTarget(project.mainTree.selected, 'sourceType', project.Bills.getSourceType());
|
|
|
|
|
+ const baseParentID = target.depth() === 0 ? target.source.getID() : target.source.getParentID();
|
|
|
|
|
+ const baseNextID = target.depth() === 0 ? -1 : target.source.getNextSiblingID();
|
|
|
|
|
+ const updateNode = target.depth() === 0 ? target.source.children[target.source.children.length - 1] : target;
|
|
|
|
|
+ const insertData = [];
|
|
|
|
|
+ for (let i = 0; i < number; i++) {
|
|
|
|
|
+ const data = {
|
|
|
|
|
+ type: billType.BILL,
|
|
|
|
|
+ unitPriceAnalysis: 1,
|
|
|
|
|
+ projectID: project.ID(),
|
|
|
|
|
+ ID: uuid.v1(),
|
|
|
|
|
+ ParentID: baseParentID,
|
|
|
|
|
+ };
|
|
|
|
|
+ const pre = insertData[i - 1];
|
|
|
|
|
+ if (pre) {
|
|
|
|
|
+ pre.NextSiblingID = data.ID;
|
|
|
|
|
+ }
|
|
|
|
|
+ if (i === number - 1) {
|
|
|
|
|
+ data.NextSiblingID = baseNextID;
|
|
|
|
|
+ }
|
|
|
|
|
+ insertData.push(data);
|
|
|
|
|
+ }
|
|
|
|
|
+ const postData = insertData.map(item => ({
|
|
|
|
|
+ updateType: 'create',
|
|
|
|
|
+ updateData: item
|
|
|
|
|
+ }));
|
|
|
|
|
+ if (updateNode) {
|
|
|
|
|
+ postData.push({
|
|
|
|
|
+ updateType: 'update',
|
|
|
|
|
+ updateData: {
|
|
|
|
|
+ ID: updateNode.getID(),
|
|
|
|
|
+ NextSiblingID: insertData[0].ID
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
|
|
+ return postData;
|
|
|
|
|
+ },
|
|
|
|
|
+ addBills: function (project, sheetController, std) {
|
|
|
|
|
+ if (!project || !sheetController) {
|
|
|
|
|
+ return null;
|
|
|
|
|
+ }
|
|
|
|
|
+ let target = project.getParentTarget(project.mainTree.selected, 'sourceType', project.Bills.getSourceType());
|
|
|
|
|
+ let newSource = null,
|
|
|
|
|
+ newNode = null,
|
|
|
|
|
+ parentID, nextSiblingID, nodeParentID, nodeNextSiblingID;
|
|
|
|
|
+ if (target) {
|
|
|
|
|
+ if (target.depth() === 0) {
|
|
|
|
|
+ parentID = target.source.getID();
|
|
|
|
|
+ nextSiblingID = project.Bills.tree.setting.rootId;
|
|
|
|
|
+ nodeParentID = target.getID();
|
|
|
|
|
+ nodeNextSiblingID = project.mainTree.rootID();
|
|
|
|
|
+ } else {
|
|
|
|
|
+ parentID = target.source.getParentID();
|
|
|
|
|
+ nextSiblingID = target.source.getNextSiblingID();
|
|
|
|
|
+ nodeParentID = target.getParentID();
|
|
|
|
|
+ nodeNextSiblingID = target.getNextSiblingID();
|
|
|
|
|
+ }
|
|
|
|
|
+ parentID = target.depth() === 0 ? target.source.getID() : target.source.getParentID();
|
|
|
|
|
+ nextSiblingID = target.depth() === 0 ? project.Bills.tree.setting.rootId : target.source.getNextSiblingID();
|
|
|
|
|
|
|
|
- let newCode = project.Bills.newFormatCode(std.code);
|
|
|
|
|
- newSource = project.Bills.insertStdBills(parentID, nextSiblingID, std, newCode);
|
|
|
|
|
|
|
+ if (std) {
|
|
|
|
|
+ let fixedNode = getRootFixedNode(target);
|
|
|
|
|
+ if (!isFlag(fixedNode.data) || (fixedNode.data.flagsIndex.fixed.flag !== fixedFlag.SUB_ENGINERRING && fixedNode.data.flagsIndex.fixed.flag !== fixedFlag.MEASURE)) {
|
|
|
|
|
+ return false;
|
|
|
|
|
+ }
|
|
|
|
|
+ //焦点行属于分部分项
|
|
|
|
|
+ if (fixedNode.data.flagsIndex.fixed.flag === fixedFlag.SUB_ENGINERRING) {
|
|
|
|
|
+ std.type = billType.FX;
|
|
|
|
|
+ //焦点行是分部分项
|
|
|
|
|
+ let subType = getSubType(target);
|
|
|
|
|
+ if (target.sourceType === project.Bills.getSourceType() && target.data.type === billType.DXFY && subType === billType.FB) {
|
|
|
|
|
+ return false;
|
|
|
|
|
+ } else if (target.sourceType === project.Bills.getSourceType() && target.data.type === billType.FB) { //焦点行是分部
|
|
|
|
|
+ if (!subType || subType === billType.FX) {
|
|
|
|
|
+ parentID = target.source.getID();
|
|
|
|
|
+ nextSiblingID = project.Bills.tree.setting.rootId;
|
|
|
|
|
+ nodeParentID = target.getID();
|
|
|
|
|
+ nodeNextSiblingID = project.mainTree.rootID();
|
|
|
} else {
|
|
} else {
|
|
|
- newSource = project.Bills.insertBills(parentID, nextSiblingID);
|
|
|
|
|
|
|
+ return false;
|
|
|
}
|
|
}
|
|
|
- newNode = project.mainTree.insert(nodeParentID, nodeNextSiblingID, newSource.data.ID);
|
|
|
|
|
|
|
+ }
|
|
|
} else {
|
|
} else {
|
|
|
- alert('不可添加清单');
|
|
|
|
|
|
|
+ std.type = billType.BILL;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- if (newNode) {
|
|
|
|
|
- newNode.source = newSource;
|
|
|
|
|
- newNode.sourceType = project.Bills.getSourceType();
|
|
|
|
|
- newNode.data = newSource.data;
|
|
|
|
|
|
|
+ let newCode = project.Bills.newFormatCode(std.code);
|
|
|
|
|
+ newSource = project.Bills.insertStdBills(parentID, nextSiblingID, std, newCode);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ newSource = project.Bills.insertBills(parentID, nextSiblingID);
|
|
|
|
|
+ }
|
|
|
|
|
+ newNode = project.mainTree.insert(nodeParentID, nodeNextSiblingID, newSource.data.ID);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ alert('不可添加清单');
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
- this.syncDisplayNewNode(sheetController, newNode);
|
|
|
|
|
- return newNode;
|
|
|
|
|
- }
|
|
|
|
|
- function getSubType(node){
|
|
|
|
|
- for(let sub of node.children){
|
|
|
|
|
- if(sub.sourceType === project.Bills.getSourceType() && sub.data.type === billType.FB){
|
|
|
|
|
- return billType.FB;
|
|
|
|
|
- }
|
|
|
|
|
- else if(sub.sourceType === project.Bills.getSourceType() && sub.data.type === billType.FX){
|
|
|
|
|
- return billType.FX;
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- return null;
|
|
|
|
|
- }
|
|
|
|
|
- },
|
|
|
|
|
- addRootBill:function (project, sheetController) {//添加大项费用
|
|
|
|
|
- if (!project || !sheetController) { return null; }
|
|
|
|
|
- this.addSpecialBill(project, sheetController,null, project.mainTree.selected.nextSibling,true,billType.DXFY);
|
|
|
|
|
- },
|
|
|
|
|
- addFB:function(project, sheetController) {//添加分部
|
|
|
|
|
- if (!project || !sheetController) { return null; }
|
|
|
|
|
- let selected = project.mainTree.selected;
|
|
|
|
|
- if(selected.parent==null&&isFlag(selected.data)&&selected.data.flagsIndex.fixed.flag==fixedFlag.SUB_ENGINERRING){//选中的是分部分项,则插入做为最后一个子项
|
|
|
|
|
- return this.addSpecialBill(project, sheetController,selected, null,true,billType.FB);
|
|
|
|
|
- }
|
|
|
|
|
- if(selected.parent){
|
|
|
|
|
- return this.addSpecialBill(project, sheetController,selected.parent, selected.nextSibling,true,billType.FB);
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ if (newNode) {
|
|
|
|
|
+ newNode.source = newSource;
|
|
|
|
|
+ newNode.sourceType = project.Bills.getSourceType();
|
|
|
|
|
+ newNode.data = newSource.data;
|
|
|
|
|
|
|
|
- },
|
|
|
|
|
- addFX:function(project, sheetController) {//添加分项
|
|
|
|
|
- if (!project || !sheetController) { return null; }
|
|
|
|
|
- let selected = project.mainTree.selected;
|
|
|
|
|
- console.log(selected);
|
|
|
|
|
- if(selected.data.type==billType.FB||(selected.parent==null&&isFlag(selected.data)&&selected.data.flagsIndex.fixed.flag==fixedFlag.SUB_ENGINERRING)){//选中的是分部或者是分部分项工程,则插入做为最后一个子项
|
|
|
|
|
- return this.addSpecialBill(project, sheetController,selected, null,true,billType.FX);
|
|
|
|
|
- }
|
|
|
|
|
- if(selected.parent){
|
|
|
|
|
- if(selected.data.type==billType.FX||selected.data.type==billType.BX){
|
|
|
|
|
- return this.addSpecialBill(project, sheetController,selected.parent, selected.nextSibling,true,billType.FX);
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- },
|
|
|
|
|
- addSpecialBill(project,sheetController,parent,nextSibling,isUserAdd,type){
|
|
|
|
|
- let newNode = null;
|
|
|
|
|
- let b_nexID = nextSibling==null?-1:nextSibling.source.getID();//主树和清单树,对应的树节点ID不一样
|
|
|
|
|
- let m_nexID = nextSibling==null?-1:nextSibling.getID();
|
|
|
|
|
- let b_parent = parent==null?-1:parent.source.getID();
|
|
|
|
|
- let m_parent = parent==null?-1:parent.getID();
|
|
|
|
|
|
|
+ this.syncDisplayNewNode(sheetController, newNode);
|
|
|
|
|
+ return newNode;
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
- let newSource = project.Bills.insertSpecialBill(b_parent, b_nexID,isUserAdd,type);
|
|
|
|
|
- newNode = project.mainTree.insert(m_parent,m_nexID, newSource.data.ID);
|
|
|
|
|
- if (newNode) {
|
|
|
|
|
- newNode.source = newSource;
|
|
|
|
|
- newNode.sourceType = project.Bills.getSourceType();
|
|
|
|
|
- newNode.data = newSource.data;
|
|
|
|
|
- this.syncDisplayNewNode(sheetController, newNode);
|
|
|
|
|
- return newNode;
|
|
|
|
|
|
|
+ function getSubType(node) {
|
|
|
|
|
+ for (let sub of node.children) {
|
|
|
|
|
+ if (sub.sourceType === project.Bills.getSourceType() && sub.data.type === billType.FB) {
|
|
|
|
|
+ return billType.FB;
|
|
|
|
|
+ } else if (sub.sourceType === project.Bills.getSourceType() && sub.data.type === billType.FX) {
|
|
|
|
|
+ return billType.FX;
|
|
|
}
|
|
}
|
|
|
- },
|
|
|
|
|
|
|
+ }
|
|
|
|
|
+ return null;
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ addRootBill: function (project, sheetController) { //添加大项费用
|
|
|
|
|
+ if (!project || !sheetController) {
|
|
|
|
|
+ return null;
|
|
|
|
|
+ }
|
|
|
|
|
+ this.addSpecialBill(project, sheetController, null, project.mainTree.selected.nextSibling, true, billType.DXFY);
|
|
|
|
|
+ },
|
|
|
|
|
+ addFB: function (project, sheetController) { //添加分部
|
|
|
|
|
+ if (!project || !sheetController) {
|
|
|
|
|
+ return null;
|
|
|
|
|
+ }
|
|
|
|
|
+ let selected = project.mainTree.selected;
|
|
|
|
|
+ if (selected.parent == null && isFlag(selected.data) && selected.data.flagsIndex.fixed.flag == fixedFlag.SUB_ENGINERRING) { //选中的是分部分项,则插入做为最后一个子项
|
|
|
|
|
+ return this.addSpecialBill(project, sheetController, selected, null, true, billType.FB);
|
|
|
|
|
+ }
|
|
|
|
|
+ if (selected.parent) {
|
|
|
|
|
+ return this.addSpecialBill(project, sheetController, selected.parent, selected.nextSibling, true, billType.FB);
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
- addRation: function (project, sheetController, rationType, std) {
|
|
|
|
|
- if (!project || !sheetController) { return; }
|
|
|
|
|
|
|
+ },
|
|
|
|
|
+ addFX: function (project, sheetController) { //添加分项
|
|
|
|
|
+ if (!project || !sheetController) {
|
|
|
|
|
+ return null;
|
|
|
|
|
+ }
|
|
|
|
|
+ let selected = project.mainTree.selected;
|
|
|
|
|
+ console.log(selected);
|
|
|
|
|
+ if (selected.data.type == billType.FB || (selected.parent == null && isFlag(selected.data) && selected.data.flagsIndex.fixed.flag == fixedFlag.SUB_ENGINERRING)) { //选中的是分部或者是分部分项工程,则插入做为最后一个子项
|
|
|
|
|
+ return this.addSpecialBill(project, sheetController, selected, null, true, billType.FX);
|
|
|
|
|
+ }
|
|
|
|
|
+ if (selected.parent) {
|
|
|
|
|
+ if (selected.data.type == billType.FX || selected.data.type == billType.BX) {
|
|
|
|
|
+ return this.addSpecialBill(project, sheetController, selected.parent, selected.nextSibling, true, billType.FX);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ addSpecialBill(project, sheetController, parent, nextSibling, isUserAdd, type) {
|
|
|
|
|
+ let newNode = null;
|
|
|
|
|
+ let b_nexID = nextSibling == null ? -1 : nextSibling.source.getID(); //主树和清单树,对应的树节点ID不一样
|
|
|
|
|
+ let m_nexID = nextSibling == null ? -1 : nextSibling.getID();
|
|
|
|
|
+ let b_parent = parent == null ? -1 : parent.source.getID();
|
|
|
|
|
+ let m_parent = parent == null ? -1 : parent.getID();
|
|
|
|
|
|
|
|
- let selected = project.mainTree.selected, newSource = null, newNode = null;
|
|
|
|
|
- if (selected === null) { return; }
|
|
|
|
|
|
|
+ let newSource = project.Bills.insertSpecialBill(b_parent, b_nexID, isUserAdd, type);
|
|
|
|
|
+ newNode = project.mainTree.insert(m_parent, m_nexID, newSource.data.ID);
|
|
|
|
|
+ if (newNode) {
|
|
|
|
|
+ newNode.source = newSource;
|
|
|
|
|
+ newNode.sourceType = project.Bills.getSourceType();
|
|
|
|
|
+ newNode.data = newSource.data;
|
|
|
|
|
+ this.syncDisplayNewNode(sheetController, newNode);
|
|
|
|
|
+ return newNode;
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
|
|
|
- if (selected.sourceType === project.Bills.getSourceType() && selected.depth() > 0) {
|
|
|
|
|
- if (selected.source.children.length > 0) {
|
|
|
|
|
- alert('当前清单已有清单子项,不能套用定额。');
|
|
|
|
|
- } else if (selected.data.calcBase&&selected.data.calcBase!="") {
|
|
|
|
|
- alert('当前有基数计算,不能插入定额/量价/人材机。');
|
|
|
|
|
- } else {
|
|
|
|
|
- if(selected.data.type === billType.FB){
|
|
|
|
|
- return;
|
|
|
|
|
- }
|
|
|
|
|
- if (std) {
|
|
|
|
|
- newSource = project.Ration.insertStdRation(selected.source.getID(), null, std);
|
|
|
|
|
- project.ration_glj.addRationGLJ(newSource,std);
|
|
|
|
|
- } else {
|
|
|
|
|
- newSource = project.Ration.insertRation(selected.source.getID(),null, rationType);
|
|
|
|
|
- }
|
|
|
|
|
- newNode = project.mainTree.insert(selected.getID(), selected.tree.rootID(), newSource.ID);
|
|
|
|
|
- }
|
|
|
|
|
- } else if (selected.sourceType === project.Ration.getSourceType()) {
|
|
|
|
|
- if (std) {
|
|
|
|
|
- newSource = project.Ration.insertStdRation(selected.source[project.masterField.ration], selected.source, std);
|
|
|
|
|
- project.ration_glj.addRationGLJ(newSource,std);
|
|
|
|
|
- } else {
|
|
|
|
|
- newSource = project.Ration.insertRation(selected.source[project.masterField.ration], selected.source, rationType);
|
|
|
|
|
- }
|
|
|
|
|
- newNode = project.mainTree.insert(selected.getParentID(), selected.getNextSiblingID(), newSource.ID);
|
|
|
|
|
- };
|
|
|
|
|
- if (newNode) {
|
|
|
|
|
- newNode.source = newSource;
|
|
|
|
|
- newNode.sourceType = project.Ration.getSourceType();
|
|
|
|
|
- newNode.data = newSource;
|
|
|
|
|
|
|
+ addRation: function (project, sheetController, rationType, std) {
|
|
|
|
|
+ if (!project || !sheetController) {
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
- this.syncDisplayNewNode(sheetController, newNode);
|
|
|
|
|
|
|
+ let selected = project.mainTree.selected,
|
|
|
|
|
+ newSource = null,
|
|
|
|
|
+ newNode = null;
|
|
|
|
|
+ if (selected === null) {
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
|
|
+ if (selected.sourceType === project.Bills.getSourceType() && selected.depth() > 0) {
|
|
|
|
|
+ if (selected.source.children.length > 0) {
|
|
|
|
|
+ alert('当前清单已有清单子项,不能套用定额。');
|
|
|
|
|
+ } else if (selected.data.calcBase && selected.data.calcBase != "") {
|
|
|
|
|
+ alert('当前有基数计算,不能插入定额/量价/人材机。');
|
|
|
|
|
+ } else {
|
|
|
|
|
+ if (selected.data.type === billType.FB) {
|
|
|
|
|
+ return;
|
|
|
}
|
|
}
|
|
|
- },
|
|
|
|
|
- replaceRation: function (project, sheetController, std) {
|
|
|
|
|
- if (!project || !sheetController) { return; }
|
|
|
|
|
-
|
|
|
|
|
- let selected = project.mainTree.selected, newSource = null, newNode = null;
|
|
|
|
|
- if (selected === null) { return; }
|
|
|
|
|
-
|
|
|
|
|
- if ( selected.sourceType === project.Ration.getSourceType()) {
|
|
|
|
|
- project.Ration.replaceRation(selected.source, std);
|
|
|
|
|
- project.ration_glj.addRationGLJ(selected.source, std);
|
|
|
|
|
- sheetController.refreshTreeNode([selected], false);
|
|
|
|
|
|
|
+ if (std) {
|
|
|
|
|
+ newSource = project.Ration.insertStdRation(selected.source.getID(), null, std);
|
|
|
|
|
+ project.ration_glj.addRationGLJ(newSource, std);
|
|
|
} else {
|
|
} else {
|
|
|
- alert('当前焦点行不是定额,无法替换。');
|
|
|
|
|
|
|
+ newSource = project.Ration.insertRation(selected.source.getID(), null, rationType);
|
|
|
}
|
|
}
|
|
|
- },
|
|
|
|
|
- addNewNodes:function (updateData){
|
|
|
|
|
- let controller = projectObj.mainController;
|
|
|
|
|
- let Bill = projectObj.project.Bills;
|
|
|
|
|
- let newAddNode = [];
|
|
|
|
|
- let newRationNodes = [];
|
|
|
|
|
- for(let nb of updateData.bills.add){
|
|
|
|
|
- let newSource = Bill.tree.insertByData(nb, nb.ParentID, -1, true);//按顺序插入的情况下,nextID为-1,树节点
|
|
|
|
|
- let newNode = projectObj.project.mainTree.insert(nb.ParentID, -1, newSource.data.ID);
|
|
|
|
|
- newNode.source = newSource;
|
|
|
|
|
- newNode.sourceType = Bill.getSourceType();
|
|
|
|
|
- newNode.data = newSource.data;
|
|
|
|
|
- controller.sheet.addRows(newNode.serialNo(), 1);
|
|
|
|
|
- // controller.sheet.showRow(newNode.serialNo(), GC.Spread.Sheets.VerticalPosition.center);
|
|
|
|
|
- newAddNode.push(newNode);
|
|
|
|
|
- Bill.datas.push(nb);
|
|
|
|
|
- }
|
|
|
|
|
- for(let nr of updateData.ration.add){
|
|
|
|
|
- let newNode = projectObj.project.mainTree.insert(nr.billsItemID, -1, nr.ID);
|
|
|
|
|
- newNode.source = nr;
|
|
|
|
|
- newNode.sourceType = projectObj.project.Ration.getSourceType();
|
|
|
|
|
- newNode.data = nr;
|
|
|
|
|
- controller.sheet.addRows(newNode.serialNo(), 1);
|
|
|
|
|
- // controller.sheet.showRow(newNode.serialNo(), GC.Spread.Sheets.VerticalPosition.center);
|
|
|
|
|
- newAddNode.push(newNode);
|
|
|
|
|
- newRationNodes.push(newNode);
|
|
|
|
|
- projectObj.project.Ration.datas.push(nr);
|
|
|
|
|
- }
|
|
|
|
|
- TREE_SHEET_HELPER.refreshTreeNodeData(controller.setting, controller.sheet, newAddNode, false);
|
|
|
|
|
- return newRationNodes;
|
|
|
|
|
|
|
+ newNode = project.mainTree.insert(selected.getID(), selected.tree.rootID(), newSource.ID);
|
|
|
|
|
+ }
|
|
|
|
|
+ } else if (selected.sourceType === project.Ration.getSourceType()) {
|
|
|
|
|
+ if (std) {
|
|
|
|
|
+ newSource = project.Ration.insertStdRation(selected.source[project.masterField.ration], selected.source, std);
|
|
|
|
|
+ project.ration_glj.addRationGLJ(newSource, std);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ newSource = project.Ration.insertRation(selected.source[project.masterField.ration], selected.source, rationType);
|
|
|
|
|
+ }
|
|
|
|
|
+ newNode = project.mainTree.insert(selected.getParentID(), selected.getNextSiblingID(), newSource.ID);
|
|
|
|
|
+ };
|
|
|
|
|
+ if (newNode) {
|
|
|
|
|
+ newNode.source = newSource;
|
|
|
|
|
+ newNode.sourceType = project.Ration.getSourceType();
|
|
|
|
|
+ newNode.data = newSource;
|
|
|
|
|
+
|
|
|
|
|
+ this.syncDisplayNewNode(sheetController, newNode);
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ replaceRation: function (project, sheetController, std) {
|
|
|
|
|
+ if (!project || !sheetController) {
|
|
|
|
|
+ return;
|
|
|
}
|
|
}
|
|
|
-/* addVolumePrice: function (project, sheetController) {
|
|
|
|
|
- if (!project || !sheetController) { return null; }
|
|
|
|
|
|
|
|
|
|
- var selected = project.mainTree.selected;
|
|
|
|
|
- var newSource = null, newNode = null;
|
|
|
|
|
- if(selected === null) {
|
|
|
|
|
- return;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ let selected = project.mainTree.selected,
|
|
|
|
|
+ newSource = null,
|
|
|
|
|
+ newNode = null;
|
|
|
|
|
+ if (selected === null) {
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
- if (selected.sourceType === project.Bills.getSourceType() && selected.source.children.length === 0) {
|
|
|
|
|
- newSource = project.VolumePrice.insertVolumePrice(selected.source.getID());
|
|
|
|
|
- newNode = project.mainTree.insert(selected.getID(), selected.tree.rootID());
|
|
|
|
|
- } else if (selected.sourceType === project.Ration.getSourceType() || selected.sourceType === project.VolumePrice.getSourceType()) {
|
|
|
|
|
- newSource = project.VolumePrice.insertVolumePrice(selected.source[project.masterField.volumePrice], selected.source);
|
|
|
|
|
- newNode = project.mainTree.insert(selected.getParentID(), selected.getNextSiblingID());
|
|
|
|
|
- }
|
|
|
|
|
- if (newNode) {
|
|
|
|
|
- newNode.source = newSource;
|
|
|
|
|
- newNode.sourceType = project.VolumePrice.getSourceType();
|
|
|
|
|
- newNode.data = newSource;
|
|
|
|
|
|
|
+ if (selected.sourceType === project.Ration.getSourceType()) {
|
|
|
|
|
+ project.Ration.replaceRation(selected.source, std);
|
|
|
|
|
+ project.ration_glj.addRationGLJ(selected.source, std);
|
|
|
|
|
+ sheetController.refreshTreeNode([selected], false);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ alert('当前焦点行不是定额,无法替换。');
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ addNewNodes: function (updateData) {
|
|
|
|
|
+ let controller = projectObj.mainController;
|
|
|
|
|
+ let Bill = projectObj.project.Bills;
|
|
|
|
|
+ let newAddNode = [];
|
|
|
|
|
+ let newRationNodes = [];
|
|
|
|
|
+ for (let nb of updateData.bills.add) {
|
|
|
|
|
+ let newSource = Bill.tree.insertByData(nb, nb.ParentID, -1, true); //按顺序插入的情况下,nextID为-1,树节点
|
|
|
|
|
+ let newNode = projectObj.project.mainTree.insert(nb.ParentID, -1, newSource.data.ID);
|
|
|
|
|
+ newNode.source = newSource;
|
|
|
|
|
+ newNode.sourceType = Bill.getSourceType();
|
|
|
|
|
+ newNode.data = newSource.data;
|
|
|
|
|
+ controller.sheet.addRows(newNode.serialNo(), 1);
|
|
|
|
|
+ // controller.sheet.showRow(newNode.serialNo(), GC.Spread.Sheets.VerticalPosition.center);
|
|
|
|
|
+ newAddNode.push(newNode);
|
|
|
|
|
+ Bill.datas.push(nb);
|
|
|
|
|
+ }
|
|
|
|
|
+ for (let nr of updateData.ration.add) {
|
|
|
|
|
+ let newNode = projectObj.project.mainTree.insert(nr.billsItemID, -1, nr.ID);
|
|
|
|
|
+ newNode.source = nr;
|
|
|
|
|
+ newNode.sourceType = projectObj.project.Ration.getSourceType();
|
|
|
|
|
+ newNode.data = nr;
|
|
|
|
|
+ controller.sheet.addRows(newNode.serialNo(), 1);
|
|
|
|
|
+ // controller.sheet.showRow(newNode.serialNo(), GC.Spread.Sheets.VerticalPosition.center);
|
|
|
|
|
+ newAddNode.push(newNode);
|
|
|
|
|
+ newRationNodes.push(newNode);
|
|
|
|
|
+ projectObj.project.Ration.datas.push(nr);
|
|
|
|
|
+ }
|
|
|
|
|
+ TREE_SHEET_HELPER.refreshTreeNodeData(controller.setting, controller.sheet, newAddNode, false);
|
|
|
|
|
+ return newRationNodes;
|
|
|
|
|
+ }
|
|
|
|
|
+ /* addVolumePrice: function (project, sheetController) {
|
|
|
|
|
+ if (!project || !sheetController) { return null; }
|
|
|
|
|
|
|
|
- this.syncDisplayNewNode(sheetController, newNode);
|
|
|
|
|
- }
|
|
|
|
|
- },*/
|
|
|
|
|
-/* calculateAll: function (project, sheetController, CalcType) {
|
|
|
|
|
- this.project.setCalcFlag(CalcType);
|
|
|
|
|
- let calc = new BillsCalcHelper(project);
|
|
|
|
|
- calc.calcAll();
|
|
|
|
|
- sheetController.showTreeData();
|
|
|
|
|
- project.Bills.updateAll();
|
|
|
|
|
- calc = null;
|
|
|
|
|
- }*/
|
|
|
|
|
-}
|
|
|
|
|
|
|
+ var selected = project.mainTree.selected;
|
|
|
|
|
+ var newSource = null, newNode = null;
|
|
|
|
|
+ if(selected === null) {
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ if (selected.sourceType === project.Bills.getSourceType() && selected.source.children.length === 0) {
|
|
|
|
|
+ newSource = project.VolumePrice.insertVolumePrice(selected.source.getID());
|
|
|
|
|
+ newNode = project.mainTree.insert(selected.getID(), selected.tree.rootID());
|
|
|
|
|
+ } else if (selected.sourceType === project.Ration.getSourceType() || selected.sourceType === project.VolumePrice.getSourceType()) {
|
|
|
|
|
+ newSource = project.VolumePrice.insertVolumePrice(selected.source[project.masterField.volumePrice], selected.source);
|
|
|
|
|
+ newNode = project.mainTree.insert(selected.getParentID(), selected.getNextSiblingID());
|
|
|
|
|
+ }
|
|
|
|
|
+ if (newNode) {
|
|
|
|
|
+ newNode.source = newSource;
|
|
|
|
|
+ newNode.sourceType = project.VolumePrice.getSourceType();
|
|
|
|
|
+ newNode.data = newSource;
|
|
|
|
|
+
|
|
|
|
|
+ this.syncDisplayNewNode(sheetController, newNode);
|
|
|
|
|
+ }
|
|
|
|
|
+ },*/
|
|
|
|
|
+ /* calculateAll: function (project, sheetController, CalcType) {
|
|
|
|
|
+ this.project.setCalcFlag(CalcType);
|
|
|
|
|
+ let calc = new BillsCalcHelper(project);
|
|
|
|
|
+ calc.calcAll();
|
|
|
|
|
+ sheetController.showTreeData();
|
|
|
|
|
+ project.Bills.updateAll();
|
|
|
|
|
+ calc = null;
|
|
|
|
|
+ }*/
|
|
|
|
|
+}
|