|
|
@@ -145,6 +145,7 @@ $(document).ready(function() {
|
|
|
headerFont: '12px 微软雅黑',
|
|
|
font: '12px 微软雅黑',
|
|
|
frozenLineColor: '#93b5e4',
|
|
|
+ readOnly: readOnly,
|
|
|
};
|
|
|
const refresh = function() {
|
|
|
if (spread) spread.refresh();
|
|
|
@@ -167,6 +168,7 @@ $(document).ready(function() {
|
|
|
specCol.maxDrop = 10;
|
|
|
}
|
|
|
template.spread_cache.forceLoadEmpty = true;
|
|
|
+ template.spread_cache.readOnly = readOnly;
|
|
|
SpreadJsObj.initSheet(sheet, template.spread_cache);
|
|
|
} else {
|
|
|
SpreadJsObj.initSheet(sheet, emptySetting);
|
|
|
@@ -392,69 +394,71 @@ $(document).ready(function() {
|
|
|
});
|
|
|
},
|
|
|
};
|
|
|
- SpreadJsObj.addDeleteBind(spread, ctrlObj.deletePress);
|
|
|
- spread.bind(spreadNS.Events.EditStarting, ctrlObj.editStarting);
|
|
|
- spread.bind(spreadNS.Events.EditEnded, ctrlObj.editEnded);
|
|
|
- spread.bind(spreadNS.Events.ClipboardPasting, ctrlObj.clipboardPasting);
|
|
|
- $.contextMenu({
|
|
|
- selector: '#pos-detail-spread',
|
|
|
- build: function ($trigger, e) {
|
|
|
- const target = SpreadJsObj.safeRightClickSelection($trigger, e, spread);
|
|
|
- return target.hitTestType === GC.Spread.Sheets.SheetArea.viewport || target.hitTestType === GC.Spread.Sheets.SheetArea.rowHeader;
|
|
|
- },
|
|
|
- items: {
|
|
|
- 'insert': {
|
|
|
- name: '插入',
|
|
|
- icon: 'fa-plus',
|
|
|
- disabled: function (key, opt) {
|
|
|
- const pos = SpreadJsObj.getSelectObject(posSheet);
|
|
|
- return !pos;
|
|
|
- },
|
|
|
- callback: function (key, opt) {
|
|
|
- ctrlObj.baseOpr('insert');
|
|
|
- }
|
|
|
+ if (!readOnly) {
|
|
|
+ SpreadJsObj.addDeleteBind(spread, ctrlObj.deletePress);
|
|
|
+ spread.bind(spreadNS.Events.EditStarting, ctrlObj.editStarting);
|
|
|
+ spread.bind(spreadNS.Events.EditEnded, ctrlObj.editEnded);
|
|
|
+ spread.bind(spreadNS.Events.ClipboardPasting, ctrlObj.clipboardPasting);
|
|
|
+ $.contextMenu({
|
|
|
+ selector: '#pos-detail-spread',
|
|
|
+ build: function ($trigger, e) {
|
|
|
+ const target = SpreadJsObj.safeRightClickSelection($trigger, e, spread);
|
|
|
+ return target.hitTestType === GC.Spread.Sheets.SheetArea.viewport || target.hitTestType === GC.Spread.Sheets.SheetArea.rowHeader;
|
|
|
},
|
|
|
- 'delete': {
|
|
|
- name: '删除',
|
|
|
- icon: 'fa-remove',
|
|
|
- disabled: function (key, opt) {
|
|
|
- const detailData = SpreadJsObj.getSelectObject(sheet);
|
|
|
- return !detailData;
|
|
|
+ items: {
|
|
|
+ 'insert': {
|
|
|
+ name: '插入',
|
|
|
+ icon: 'fa-plus',
|
|
|
+ disabled: function (key, opt) {
|
|
|
+ const pos = SpreadJsObj.getSelectObject(posSheet);
|
|
|
+ return !pos;
|
|
|
+ },
|
|
|
+ callback: function (key, opt) {
|
|
|
+ ctrlObj.baseOpr('insert');
|
|
|
+ }
|
|
|
},
|
|
|
- callback: function (key, opt) {
|
|
|
- ctrlObj.baseOpr('delete');
|
|
|
- }
|
|
|
- },
|
|
|
- 'down-move': {
|
|
|
- name: '下移',
|
|
|
- icon: 'fa-arrow-down',
|
|
|
- disabled: function(key, opt) {
|
|
|
- const sel = sheet.getSelections()[0];
|
|
|
- const row = sel ? sel.row : -1;
|
|
|
- const first = sheet.zh_data[row];
|
|
|
- const next = sheet.zh_data[sel.row + sel.rowCount];
|
|
|
- return !first || !next;
|
|
|
+ 'delete': {
|
|
|
+ name: '删除',
|
|
|
+ icon: 'fa-remove',
|
|
|
+ disabled: function (key, opt) {
|
|
|
+ const detailData = SpreadJsObj.getSelectObject(sheet);
|
|
|
+ return !detailData;
|
|
|
+ },
|
|
|
+ callback: function (key, opt) {
|
|
|
+ ctrlObj.baseOpr('delete');
|
|
|
+ }
|
|
|
},
|
|
|
- callback: function(key, opt) {
|
|
|
- ctrlObj.baseOpr('down-move');
|
|
|
- }
|
|
|
- },
|
|
|
- 'up-move': {
|
|
|
- name: '上移',
|
|
|
- icon: 'fa-arrow-up',
|
|
|
- disabled: function(key, opt) {
|
|
|
- const sel = sheet.getSelections()[0];
|
|
|
- const row = sel ? sel.row : -1;
|
|
|
- const first = sheet.zh_data[row];
|
|
|
- const preNode = sheet.zh_data[row - 1];
|
|
|
- return !first || !preNode;
|
|
|
+ 'down-move': {
|
|
|
+ name: '下移',
|
|
|
+ icon: 'fa-arrow-down',
|
|
|
+ disabled: function(key, opt) {
|
|
|
+ const sel = sheet.getSelections()[0];
|
|
|
+ const row = sel ? sel.row : -1;
|
|
|
+ const first = sheet.zh_data[row];
|
|
|
+ const next = sheet.zh_data[sel.row + sel.rowCount];
|
|
|
+ return !first || !next;
|
|
|
+ },
|
|
|
+ callback: function(key, opt) {
|
|
|
+ ctrlObj.baseOpr('down-move');
|
|
|
+ }
|
|
|
},
|
|
|
- callback: function(key, opt) {
|
|
|
- ctrlObj.baseOpr('up-move');
|
|
|
- }
|
|
|
- },
|
|
|
- }
|
|
|
- });
|
|
|
+ 'up-move': {
|
|
|
+ name: '上移',
|
|
|
+ icon: 'fa-arrow-up',
|
|
|
+ disabled: function(key, opt) {
|
|
|
+ const sel = sheet.getSelections()[0];
|
|
|
+ const row = sel ? sel.row : -1;
|
|
|
+ const first = sheet.zh_data[row];
|
|
|
+ const preNode = sheet.zh_data[row - 1];
|
|
|
+ return !first || !preNode;
|
|
|
+ },
|
|
|
+ callback: function(key, opt) {
|
|
|
+ ctrlObj.baseOpr('up-move');
|
|
|
+ }
|
|
|
+ },
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
|
|
|
return { detail, spread, sheet, refresh, loadCurDetailData, reloadCurDetailData }
|
|
|
})();
|
|
|
@@ -3012,6 +3016,7 @@ $(document).ready(function() {
|
|
|
defaultRowHeight: 21,
|
|
|
headerFont: '12px 微软雅黑',
|
|
|
font: '12px 微软雅黑',
|
|
|
+ readOnly: readOnly,
|
|
|
};
|
|
|
SpreadJsObj.initSheet(ancGclSheet, ancGclSpreadSetting);
|
|
|
const ancGclObj = {
|
|
|
@@ -3308,70 +3313,72 @@ $(document).ready(function() {
|
|
|
});
|
|
|
},
|
|
|
};
|
|
|
- SpreadJsObj.addDeleteBind(ancGclSpread, ancGclObj.deletePress);
|
|
|
- ancGclSpread.bind(spreadNS.Events.EditStarting, ancGclObj.editStarting);
|
|
|
- ancGclSpread.bind(spreadNS.Events.EditEnded, ancGclObj.editEnded);
|
|
|
- ancGclSpread.bind(spreadNS.Events.ClipboardPasting, ancGclObj.clipboardPasting);
|
|
|
- ancGclSpread.bind(spreadNS.Events.ButtonClicked, ancGclObj.buttonClicked);
|
|
|
- $.contextMenu({
|
|
|
- selector: '#anc-gcl-spread',
|
|
|
- build: function ($trigger, e) {
|
|
|
- const target = SpreadJsObj.safeRightClickSelection($trigger, e, ancGclSpread);
|
|
|
- return target.hitTestType === GC.Spread.Sheets.SheetArea.viewport || target.hitTestType === GC.Spread.Sheets.SheetArea.rowHeader;
|
|
|
- },
|
|
|
- items: {
|
|
|
- 'insert': {
|
|
|
- name: '插入',
|
|
|
- icon: 'fa-plus',
|
|
|
- disabled: function (key, opt) {
|
|
|
- const node = SpreadJsObj.getSelectObject(ledgerSheet);
|
|
|
- return !node || !node.b_code || (node.children && node.children.length > 0);
|
|
|
- },
|
|
|
- callback: function (key, opt) {
|
|
|
- ancGclObj.baseOpr('insert');
|
|
|
- }
|
|
|
+ if (!readOnly) {
|
|
|
+ SpreadJsObj.addDeleteBind(ancGclSpread, ancGclObj.deletePress);
|
|
|
+ ancGclSpread.bind(spreadNS.Events.EditStarting, ancGclObj.editStarting);
|
|
|
+ ancGclSpread.bind(spreadNS.Events.EditEnded, ancGclObj.editEnded);
|
|
|
+ ancGclSpread.bind(spreadNS.Events.ClipboardPasting, ancGclObj.clipboardPasting);
|
|
|
+ ancGclSpread.bind(spreadNS.Events.ButtonClicked, ancGclObj.buttonClicked);
|
|
|
+ $.contextMenu({
|
|
|
+ selector: '#anc-gcl-spread',
|
|
|
+ build: function ($trigger, e) {
|
|
|
+ const target = SpreadJsObj.safeRightClickSelection($trigger, e, ancGclSpread);
|
|
|
+ return target.hitTestType === GC.Spread.Sheets.SheetArea.viewport || target.hitTestType === GC.Spread.Sheets.SheetArea.rowHeader;
|
|
|
},
|
|
|
- 'delete': {
|
|
|
- name: '删除',
|
|
|
- icon: 'fa-remove',
|
|
|
- disabled: function (key, opt) {
|
|
|
- const gclData = SpreadJsObj.getSelectObject(ancGclSheet);
|
|
|
- return !gclData;
|
|
|
+ items: {
|
|
|
+ 'insert': {
|
|
|
+ name: '插入',
|
|
|
+ icon: 'fa-plus',
|
|
|
+ disabled: function (key, opt) {
|
|
|
+ const node = SpreadJsObj.getSelectObject(ledgerSheet);
|
|
|
+ return !node || !node.b_code || (node.children && node.children.length > 0);
|
|
|
+ },
|
|
|
+ callback: function (key, opt) {
|
|
|
+ ancGclObj.baseOpr('insert');
|
|
|
+ }
|
|
|
},
|
|
|
- callback: function (key, opt) {
|
|
|
- ancGclObj.baseOpr('delete');
|
|
|
- }
|
|
|
- },
|
|
|
- 'down-move': {
|
|
|
- name: '下移',
|
|
|
- icon: 'fa-arrow-down',
|
|
|
- disabled: function(key, opt) {
|
|
|
- const sel = ancGclSheet.getSelections()[0];
|
|
|
- const row = sel ? sel.row : -1;
|
|
|
- const first = ancGclSheet.zh_data[row];
|
|
|
- const next = ancGclSheet.zh_data[sel.row + sel.rowCount];
|
|
|
- return !first || !next;
|
|
|
+ 'delete': {
|
|
|
+ name: '删除',
|
|
|
+ icon: 'fa-remove',
|
|
|
+ disabled: function (key, opt) {
|
|
|
+ const gclData = SpreadJsObj.getSelectObject(ancGclSheet);
|
|
|
+ return !gclData;
|
|
|
+ },
|
|
|
+ callback: function (key, opt) {
|
|
|
+ ancGclObj.baseOpr('delete');
|
|
|
+ }
|
|
|
},
|
|
|
- callback: function(key, opt) {
|
|
|
- ancGclObj.baseOpr('down-move');
|
|
|
- }
|
|
|
- },
|
|
|
- 'up-move': {
|
|
|
- name: '上移',
|
|
|
- icon: 'fa-arrow-up',
|
|
|
- disabled: function(key, opt) {
|
|
|
- const sel = ancGclSheet.getSelections()[0];
|
|
|
- const row = sel ? sel.row : -1;
|
|
|
- const first = ancGclSheet.zh_data[row];
|
|
|
- const preNode = ancGclSheet.zh_data[row - 1];
|
|
|
- return !first || !preNode;
|
|
|
+ 'down-move': {
|
|
|
+ name: '下移',
|
|
|
+ icon: 'fa-arrow-down',
|
|
|
+ disabled: function(key, opt) {
|
|
|
+ const sel = ancGclSheet.getSelections()[0];
|
|
|
+ const row = sel ? sel.row : -1;
|
|
|
+ const first = ancGclSheet.zh_data[row];
|
|
|
+ const next = ancGclSheet.zh_data[sel.row + sel.rowCount];
|
|
|
+ return !first || !next;
|
|
|
+ },
|
|
|
+ callback: function(key, opt) {
|
|
|
+ ancGclObj.baseOpr('down-move');
|
|
|
+ }
|
|
|
},
|
|
|
- callback: function(key, opt) {
|
|
|
- ancGclObj.baseOpr('up-move');
|
|
|
- }
|
|
|
- },
|
|
|
- }
|
|
|
- });
|
|
|
+ 'up-move': {
|
|
|
+ name: '上移',
|
|
|
+ icon: 'fa-arrow-up',
|
|
|
+ disabled: function(key, opt) {
|
|
|
+ const sel = ancGclSheet.getSelections()[0];
|
|
|
+ const row = sel ? sel.row : -1;
|
|
|
+ const first = ancGclSheet.zh_data[row];
|
|
|
+ const preNode = ancGclSheet.zh_data[row - 1];
|
|
|
+ return !first || !preNode;
|
|
|
+ },
|
|
|
+ callback: function(key, opt) {
|
|
|
+ ancGclObj.baseOpr('up-move');
|
|
|
+ }
|
|
|
+ },
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
$('#filter-anc-gcl').change(function() {
|
|
|
if (this.checked) {
|
|
|
const condition = {};
|