|
@@ -1048,14 +1048,14 @@ class CalcProgram {
|
|
|
};
|
|
|
|
|
|
// 存储、刷新零散的多个结点。
|
|
|
- saveNodes(treeNodes){
|
|
|
+ saveNodes(treeNodes, callback){
|
|
|
if (treeNodes.length < 1) {
|
|
|
$.bootstrapLoading.end();
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
let me = this;
|
|
|
- me.project.beginUpdate('');
|
|
|
+/* me.project.beginUpdate('');
|
|
|
for (let node of treeNodes){
|
|
|
if (node.changed){
|
|
|
let data = calcTools.cutNodeForSave(node);
|
|
@@ -1063,15 +1063,35 @@ class CalcProgram {
|
|
|
me.project.push(node.sourceType, [newData]);
|
|
|
}
|
|
|
};
|
|
|
- me.project.endUpdate();
|
|
|
+ me.project.endUpdate();*/
|
|
|
|
|
|
- for (let node of treeNodes){delete node.changed};
|
|
|
- projectObj.mainController.refreshTreeNode(treeNodes);
|
|
|
-
|
|
|
- // 批量树结点计算后,计算程序早已物是人非,所以这里要重新计算一下。
|
|
|
- if (activeSubSheetIs(subSheetIndex.ssiCalcProgram)) {
|
|
|
- calcProgramObj.refreshCurNodeCalcItems(me.project.mainTree.selected);
|
|
|
+ let dataArr = [];
|
|
|
+ for (let node of treeNodes){
|
|
|
+ if (node.changed){
|
|
|
+ let data = calcTools.cutNodeForSave(node);
|
|
|
+ let newData = {'type': node.sourceType, 'data': data};
|
|
|
+ dataArr.push(newData);
|
|
|
+ }
|
|
|
+ };
|
|
|
+ if (dataArr.length < 1) {
|
|
|
+ $.bootstrapLoading.end();
|
|
|
+ return;
|
|
|
};
|
|
|
+
|
|
|
+ me.project.updateNodes(dataArr, function (data) {
|
|
|
+ if(callback){
|
|
|
+ callback(data);
|
|
|
+ };
|
|
|
+
|
|
|
+ for (let node of treeNodes){delete node.changed};
|
|
|
+ projectObj.mainController.refreshTreeNode(treeNodes);
|
|
|
+
|
|
|
+ // 批量树结点计算后,计算程序早已物是人非,所以这里要重新计算一下。
|
|
|
+ if (activeSubSheetIs(subSheetIndex.ssiCalcProgram)) {
|
|
|
+ calcProgramObj.refreshCurNodeCalcItems(me.project.mainTree.selected);
|
|
|
+ };
|
|
|
+ $.bootstrapLoading.end();
|
|
|
+ });
|
|
|
};
|
|
|
|
|
|
// 只计算treeNode自身。changedArr: 外部传来的一个数组,专门存储发生变动的节点。
|