|
@@ -1246,6 +1246,50 @@ $(document).ready(function() {
|
|
|
return select && select.level <= 1;
|
|
|
}
|
|
|
};
|
|
|
+ billsContextMenuOptions.items.copyBlockXmj = {
|
|
|
+ name: '复制整块(只复制项目节)',
|
|
|
+ icon: 'fa-files-o',
|
|
|
+ callback: function (key, opt) {
|
|
|
+ treeOperationObj.block = [];
|
|
|
+ const copyBlockList = [];
|
|
|
+ const sheet = ledgerSpread.getActiveSheet();
|
|
|
+ const sel = sheet.getSelections()[0];
|
|
|
+ let iRow = sel.row;
|
|
|
+ const pid = sheet.zh_tree.nodes[iRow].ledger_pid;
|
|
|
+ while (iRow < sel.row + sel.rowCount) {
|
|
|
+ const node = sheet.zh_tree.nodes[iRow];
|
|
|
+ if (node.ledger_pid !== pid) {
|
|
|
+ toastr.error('仅可同时选中同层节点');
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ const posterity = sheet.zh_tree.getPosterity(node);
|
|
|
+ iRow += posterity.length + 1;
|
|
|
+ const copyPosterity = posterity.filter(x => { return !x.b_code; });
|
|
|
+ copyPosterity.unshift(node);
|
|
|
+ const copyData = sheet.zh_tree.getDefaultData(copyPosterity);
|
|
|
+ for (const p of copyData) {
|
|
|
+ const children = copyData.filter(y => {return y.ledger_pid === p.ledger_id}) || [];
|
|
|
+ p.is_leaf = children.length === 0;
|
|
|
+ }
|
|
|
+ copyBlockList.push(copyData);
|
|
|
+ }
|
|
|
+ setLocalCache(copyBlockTag, JSON.stringify({block: copyBlockList}));
|
|
|
+ },
|
|
|
+ visible: function (key, opt) {
|
|
|
+ const sheet = ledgerSpread.getActiveSheet();
|
|
|
+ const selection = sheet.getSelections();
|
|
|
+ const row = selection[0].row;
|
|
|
+ const select = ledgerTree.nodes[row];
|
|
|
+ return select;
|
|
|
+ },
|
|
|
+ disabled: function (key, opt) {
|
|
|
+ const sheet = ledgerSpread.getActiveSheet();
|
|
|
+ const selection = sheet.getSelections();
|
|
|
+ const row = selection[0].row;
|
|
|
+ const select = ledgerTree.nodes[row];
|
|
|
+ return select && select.level <= 1;
|
|
|
+ }
|
|
|
+ };
|
|
|
if (!readOnly) {
|
|
|
billsContextMenuOptions.items.pasteBlock = {
|
|
|
name: '粘贴整块',
|