|
@@ -1329,6 +1329,85 @@ $(document).ready(function() {
|
|
|
};
|
|
|
billsContextMenuOptions.items.sprBase = '----';
|
|
|
}
|
|
|
+ if (!readOnly) {
|
|
|
+ billsContextMenuOptions.items.batchInsert = {
|
|
|
+ name: '批量插入',
|
|
|
+ type: 'batchInsert',
|
|
|
+ value: '2',
|
|
|
+ icon: 'fa-sign-in',
|
|
|
+ batchInsert: function (obj, root) {
|
|
|
+ if (_.toNumber(obj.value) > _.toNumber(obj.max)) {
|
|
|
+ obj.value = obj.max;
|
|
|
+ toastr.warning('批量插入不可多于' + obj.max);
|
|
|
+ } else if(_.toNumber(obj.value) < _.toNumber(obj.min)) {
|
|
|
+ obj.value = obj.min;
|
|
|
+ toastr.warning('批量插入不可少于' + obj.min);
|
|
|
+ } else {
|
|
|
+ treeOperationObj.addNode(ledgerSpread.getActiveSheet(), parseInt(obj.value));
|
|
|
+ root.$menu.trigger('contextmenu:hide');
|
|
|
+ }
|
|
|
+ },
|
|
|
+ disabled: function (key, opt) {
|
|
|
+ const sheet = ledgerSpread.getActiveSheet();
|
|
|
+ const selection = sheet.getSelections();
|
|
|
+ const sel = selection ? selection[0] : sheet.getSelections()[0];
|
|
|
+ const row = sel ? sel.row : -1;
|
|
|
+ const tree = sheet.zh_tree;
|
|
|
+ if (!tree) return true;
|
|
|
+ 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 valid = !sheet.zh_setting.readOnly;
|
|
|
+ return !(valid && first && first.level > 1);
|
|
|
+ },
|
|
|
+ visible: function (key, opt) {
|
|
|
+ return !readOnly;
|
|
|
+ }
|
|
|
+ };
|
|
|
+ billsContextMenuOptions.items.batchInsertBillsPos = {
|
|
|
+ name: '批量插入清单-计量单元',
|
|
|
+ icon: 'fa-sign-in',
|
|
|
+ disabled: function (key, opt) {
|
|
|
+ if (!checkTzMeasureType()) return true;
|
|
|
+ const sheet = ledgerSpread.getActiveSheet();
|
|
|
+ const selection = sheet.getSelections();
|
|
|
+ const row = selection[0].row;
|
|
|
+ const select = ledgerTree.nodes[row];
|
|
|
+ if (select) {
|
|
|
+ if (select.code && select.code !== '') {
|
|
|
+ return !ledgerTree.isLeafXmj(select);
|
|
|
+ } else {
|
|
|
+ const parent = ledgerTree.getParent(select);
|
|
|
+ return !(parent && ledgerTree.isLeafXmj(parent));
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ callback: function (key, opt) {
|
|
|
+ if (!batchInsertObj) {
|
|
|
+ batchInsertObj = new BatchInsertBillsPosObj($('#batch'));
|
|
|
+ } else {
|
|
|
+ batchInsertObj.initView();
|
|
|
+ }
|
|
|
+ $('#batch').modal('show');
|
|
|
+ },
|
|
|
+ visible: function (key, opt) {
|
|
|
+ return !readOnly;
|
|
|
+ }
|
|
|
+ };
|
|
|
+ billsContextMenuOptions.items.sprBatch = '----';
|
|
|
+ }
|
|
|
billsContextMenuOptions.items.copyBlock = {
|
|
|
name: '复制整块',
|
|
|
icon: 'fa-files-o',
|
|
@@ -1476,85 +1555,6 @@ $(document).ready(function() {
|
|
|
billsContextMenuOptions.items.sprSort = '----';
|
|
|
}
|
|
|
if (!readOnly) {
|
|
|
- billsContextMenuOptions.items.batchInsert = {
|
|
|
- name: '批量插入',
|
|
|
- type: 'batchInsert',
|
|
|
- value: '2',
|
|
|
- icon: 'fa-sign-in',
|
|
|
- batchInsert: function (obj, root) {
|
|
|
- if (_.toNumber(obj.value) > _.toNumber(obj.max)) {
|
|
|
- obj.value = obj.max;
|
|
|
- toastr.warning('批量插入不可多于' + obj.max);
|
|
|
- } else if(_.toNumber(obj.value) < _.toNumber(obj.min)) {
|
|
|
- obj.value = obj.min;
|
|
|
- toastr.warning('批量插入不可少于' + obj.min);
|
|
|
- } else {
|
|
|
- treeOperationObj.addNode(ledgerSpread.getActiveSheet(), parseInt(obj.value));
|
|
|
- root.$menu.trigger('contextmenu:hide');
|
|
|
- }
|
|
|
- },
|
|
|
- disabled: function (key, opt) {
|
|
|
- const sheet = ledgerSpread.getActiveSheet();
|
|
|
- const selection = sheet.getSelections();
|
|
|
- const sel = selection ? selection[0] : sheet.getSelections()[0];
|
|
|
- const row = sel ? sel.row : -1;
|
|
|
- const tree = sheet.zh_tree;
|
|
|
- if (!tree) return true;
|
|
|
- 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 valid = !sheet.zh_setting.readOnly;
|
|
|
- return !(valid && first && first.level > 1);
|
|
|
- },
|
|
|
- visible: function (key, opt) {
|
|
|
- return !readOnly;
|
|
|
- }
|
|
|
- };
|
|
|
- billsContextMenuOptions.items.batchInsertBillsPos = {
|
|
|
- name: '批量插入清单-计量单元',
|
|
|
- icon: 'fa-sign-in',
|
|
|
- disabled: function (key, opt) {
|
|
|
- if (!checkTzMeasureType()) return true;
|
|
|
- const sheet = ledgerSpread.getActiveSheet();
|
|
|
- const selection = sheet.getSelections();
|
|
|
- const row = selection[0].row;
|
|
|
- const select = ledgerTree.nodes[row];
|
|
|
- if (select) {
|
|
|
- if (select.code && select.code !== '') {
|
|
|
- return !ledgerTree.isLeafXmj(select);
|
|
|
- } else {
|
|
|
- const parent = ledgerTree.getParent(select);
|
|
|
- return !(parent && ledgerTree.isLeafXmj(parent));
|
|
|
- }
|
|
|
- } else {
|
|
|
- return true;
|
|
|
- }
|
|
|
- },
|
|
|
- callback: function (key, opt) {
|
|
|
- if (!batchInsertObj) {
|
|
|
- batchInsertObj = new BatchInsertBillsPosObj($('#batch'));
|
|
|
- } else {
|
|
|
- batchInsertObj.initView();
|
|
|
- }
|
|
|
- $('#batch').modal('show');
|
|
|
- },
|
|
|
- visible: function (key, opt) {
|
|
|
- return !readOnly;
|
|
|
- }
|
|
|
- };
|
|
|
- billsContextMenuOptions.items.sprBatch = '----';
|
|
|
- }
|
|
|
- if (!readOnly) {
|
|
|
const tenderSelect = TenderSelect({
|
|
|
type: 'ledger',
|
|
|
afterLoad: function (result) {
|