|
@@ -118,23 +118,35 @@ $(document).ready(function() {
|
|
|
const sel = selection ? selection[0] : sheet.getSelections()[0];
|
|
|
const row = sel ? sel.row : -1;
|
|
|
const tree = sheet.zh_tree;
|
|
|
- if (!tree) { return; }
|
|
|
- const node = sheet.zh_tree.nodes[row];
|
|
|
- const preNode = tree.getPreSiblingNode(node);
|
|
|
+ if (!tree) return;
|
|
|
+ const first = sheet.zh_tree.nodes[row];
|
|
|
+ let last = first, sameParent = true;
|
|
|
+ if (sel.rowCount > 1) {
|
|
|
+ for (let r = 1; r < sel.rowCount; r++) {
|
|
|
+ const rNode = tree.nodes[sel.row + r];
|
|
|
+ if (rNode.level > first.level) continue;
|
|
|
+ if ((rNode.level < first.level) || (rNode.level === first.level && rNode.pid !== first.pid)) {
|
|
|
+ sameParent = false;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ last = rNode;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ const preNode = tree.getPreSiblingNode(first);
|
|
|
const valid = !sheet.zh_setting.readOnly;
|
|
|
|
|
|
- setObjEnable($('#insert'), valid && node && node.level > 1);
|
|
|
- setObjEnable($('#delete'), valid && node && node.level > 1);
|
|
|
- setObjEnable($('#up-move'), valid && node && node.level > 1 && preNode);
|
|
|
- setObjEnable($('#down-move'), valid && node && node.level > 1 && !tree.isLastSibling(node));
|
|
|
+ setObjEnable($('#insert'), valid && first && first.level > 1);
|
|
|
+ setObjEnable($('#delete'), valid && first && sameParent && first.level > 1);
|
|
|
+ setObjEnable($('#up-move'), valid && first && sameParent && first.level > 1 && preNode);
|
|
|
+ setObjEnable($('#down-move'), valid && first && sameParent && first.level > 1 && !tree.isLastSibling(last));
|
|
|
if (checkTzMeasureType()) {
|
|
|
- const posRange = node ? pos.getLedgerPos(node.id) : [];
|
|
|
- setObjEnable($('#up-level'), valid && node && tree.getParent(node) && node.level > 2 && (!posRange || posRange.length === 0));
|
|
|
+ const posRange = last ? pos.getLedgerPos(last.id) : [];
|
|
|
+ setObjEnable($('#up-level'), valid && first && sameParent && tree.getParent(first) && first.level > 2 && (!posRange || posRange.length === 0));
|
|
|
const preNodePosRange = preNode ? pos.getLedgerPos(preNode.id) : [];
|
|
|
- setObjEnable($('#down-level'), valid && node && node.level > 1 && preNode && (!preNodePosRange || preNodePosRange.length === 0));
|
|
|
+ setObjEnable($('#down-level'), valid && first && sameParent && first.level > 1 && preNode && (!preNodePosRange || preNodePosRange.length === 0));
|
|
|
} else {
|
|
|
- setObjEnable($('#up-level'), valid && node && node.level > 2 && tree.getParent(node));
|
|
|
- setObjEnable($('#down-level'), valid && node && node.level > 1 && preNode);
|
|
|
+ setObjEnable($('#up-level'), valid && first && sameParent && first.level > 2 && tree.getParent(first));
|
|
|
+ setObjEnable($('#down-level'), valid && first && sameParent && first.level > 1 && preNode);
|
|
|
}
|
|
|
setObjEnable($('#cut'), valid);
|
|
|
setObjEnable($('#paste'), valid);
|
|
@@ -212,12 +224,6 @@ $(document).ready(function() {
|
|
|
self.refreshTree(sheet, refreshNode);
|
|
|
self.refreshOperationValid(sheet);
|
|
|
});
|
|
|
- // SpreadJsObj.massOperationSheet(sheet, function () {
|
|
|
- // tree.baseOperation('/tender/' + getTenderId() + '/ledger/base-operation', node, 'add', function (result) {
|
|
|
- // self.refreshTree(sheet, result);
|
|
|
- // self.refreshOperationValid(sheet);
|
|
|
- // });
|
|
|
- // });
|
|
|
},
|
|
|
/**
|
|
|
* 删除选中节点
|
|
@@ -266,22 +272,6 @@ $(document).ready(function() {
|
|
|
self.refreshOperationValid(sheet);
|
|
|
});
|
|
|
}
|
|
|
- /*const self = this;
|
|
|
- const sheet = spread.getActiveSheet();
|
|
|
- const sel = sheet.getSelections()[0];
|
|
|
- const row = sel.row;
|
|
|
-
|
|
|
- const tree = sheet.zh_tree;
|
|
|
- if (!tree) { return; }
|
|
|
-
|
|
|
- const node = tree.nodes[row];
|
|
|
- if (!node) { return; }
|
|
|
-
|
|
|
- tree.baseOperation('/tender/' + getTenderId() + '/ledger/base-operation', node, 'up-move', function (result) {
|
|
|
- self.refreshTree(sheet, result);
|
|
|
- sheet.setSelection(tree.nodes.indexOf(node), sel.col, sel.rowCount, sel.colCount);
|
|
|
- self.refreshOperationValid(sheet);
|
|
|
- });*/
|
|
|
},
|
|
|
/**
|
|
|
* 下移选中节点
|
|
@@ -306,22 +296,6 @@ $(document).ready(function() {
|
|
|
self.refreshOperationValid(sheet);
|
|
|
});
|
|
|
}
|
|
|
- /*const self = this;
|
|
|
- const sheet = spread.getActiveSheet();
|
|
|
- const sel = sheet.getSelections()[0];
|
|
|
- const row = sel.row;
|
|
|
-
|
|
|
- const tree = sheet.zh_tree;
|
|
|
- if (!tree) { return; }
|
|
|
-
|
|
|
- const node = tree.nodes[row];
|
|
|
- if (!node) { return; }
|
|
|
-
|
|
|
- tree.baseOperation('/tender/' + getTenderId() + '/ledger/base-operation', node, 'down-move', function (result) {
|
|
|
- self.refreshTree(sheet, result);
|
|
|
- sheet.setSelection(tree.nodes.indexOf(node), sel.col, sel.rowCount, sel.colCount);
|
|
|
- self.refreshOperationValid(sheet);
|
|
|
- });*/
|
|
|
},
|
|
|
/**
|
|
|
* 升级选中节点
|
|
@@ -344,20 +318,6 @@ $(document).ready(function() {
|
|
|
self.refreshOperationValid(sheet);
|
|
|
});
|
|
|
}
|
|
|
-/* const self = this;
|
|
|
- const sheet = spread.getActiveSheet();
|
|
|
- const row = sheet.getSelections()[0].row;
|
|
|
-
|
|
|
- const tree = sheet.zh_tree;
|
|
|
- if (!tree) { return; }
|
|
|
-
|
|
|
- const node = tree.nodes[row];
|
|
|
- if (!node) { return; }
|
|
|
-
|
|
|
- tree.baseOperation('/tender/' + getTenderId() + '/ledger/base-operation', node, 'up-level', function (result) {
|
|
|
- self.refreshTree(sheet, result);
|
|
|
- self.refreshOperationValid(sheet);
|
|
|
- });*/
|
|
|
},
|
|
|
/**
|
|
|
* 降级选中节点
|
|
@@ -380,20 +340,6 @@ $(document).ready(function() {
|
|
|
self.refreshOperationValid(sheet);
|
|
|
});
|
|
|
}
|
|
|
-/* const self = this;
|
|
|
- const sheet = spread.getActiveSheet();
|
|
|
- const row = sheet.getSelections()[0].row;
|
|
|
-
|
|
|
- const tree = sheet.zh_tree;
|
|
|
- if (!tree) { return; }
|
|
|
-
|
|
|
- const node = tree.nodes[row];
|
|
|
- if (!node) { return; }
|
|
|
-
|
|
|
- tree.baseOperation('/tender/' + getTenderId() + '/ledger/base-operation', node, 'down-level', function (result) {
|
|
|
- self.refreshTree(sheet, result);
|
|
|
- self.refreshOperationValid(sheet);
|
|
|
- });*/
|
|
|
},
|
|
|
/**
|
|
|
* 编辑单元格响应事件
|
|
@@ -449,9 +395,6 @@ $(document).ready(function() {
|
|
|
const refreshNode = ledgerTree.loadPostData(result);
|
|
|
treeOperationObj.refreshTree(info.sheet, refreshNode);
|
|
|
});
|
|
|
- /*info.sheet.zh_tree.update('/tender/' + getTenderId() + '/ledger/update', data, function (result) {
|
|
|
- treeOperationObj.refreshTree(info.sheet, result);
|
|
|
- });*/
|
|
|
}
|
|
|
},
|
|
|
/**
|
|
@@ -517,14 +460,6 @@ $(document).ready(function() {
|
|
|
}, function () {
|
|
|
SpreadJsObj.reLoadRowData(info.sheet, info.cellRange.row, info.cellRange.rowCount);
|
|
|
});
|
|
|
- /*info.sheet.zh_tree.update('/tender/' + getTenderId() + '/ledger/update', datas, function (result) {
|
|
|
- if (result.update) {
|
|
|
- result.update = result.update.concat(filterNodes);
|
|
|
- }
|
|
|
- treeOperationObj.refreshTree(info.sheet, result);
|
|
|
- }, function () {
|
|
|
- SpreadJsObj.reLoadRowData(info.sheet, info.cellRange.row, info.cellRange.rowCount);
|
|
|
- });*/
|
|
|
} else {
|
|
|
SpreadJsObj.reLoadRowData(info.sheet, info.cellRange.row, info.cellRange.rowCount);
|
|
|
}
|
|
@@ -580,8 +515,9 @@ $(document).ready(function() {
|
|
|
}
|
|
|
}
|
|
|
if (datas.length > 0) {
|
|
|
- sheet.zh_tree.update('/tender/' + getTenderId() + '/ledger/update', datas, function (result) {
|
|
|
- treeOperationObj.refreshTree(sheet, result);
|
|
|
+ postData(window.location.pathname + '/update', {postType: 'update', postData: datas}, function (result) {
|
|
|
+ const refreshNode = tree.loadPostData(result);
|
|
|
+ treeOperationObj.refreshTree(sheet, refreshNode);
|
|
|
});
|
|
|
}
|
|
|
}
|
|
@@ -665,10 +601,6 @@ $(document).ready(function() {
|
|
|
callback();
|
|
|
treeOperationObj.refreshTree(sheet, refreshNode);
|
|
|
});
|
|
|
- /*sheet.zh_tree.update('/tender/' + getTenderId() + '/ledger/update', datas, function (result) {
|
|
|
- callback();
|
|
|
- treeOperationObj.refreshTree(sheet, result);
|
|
|
- });*/
|
|
|
}
|
|
|
},
|
|
|
};
|