|
@@ -48,6 +48,9 @@ $(document).ready(function() {
|
|
|
rootId: -1,
|
|
|
keys: ['id', 'tender_id', 'ledger_id'],
|
|
|
preUrl: '/tender/' + getTenderId() + '/ledger',
|
|
|
+ //treeCacheKey: 'ledger_bills_fold' + '_' + getTenderId(),
|
|
|
+ markFoldKey: 'bills-fold',
|
|
|
+ markFoldSubKey: window.location.pathname.split('/')[2],
|
|
|
};
|
|
|
if (checkTzMeasureType()) {
|
|
|
treeSetting.calcFields = ['sgfh_tp', 'sjcl_tp', 'qtcl_tp', 'total_price'];
|
|
@@ -2190,14 +2193,14 @@ $(document).ready(function() {
|
|
|
if (!dealBills) {
|
|
|
dealBills = new DealBills('#deal-bills-spread', {
|
|
|
cols: [
|
|
|
- {title: '清单编号', field: 'code', hAlign: 0, width: 85, formatter: '@', readOnly: true},
|
|
|
- {title: '名称', field: 'name', hAlign: 0, width: 150, formatter: '@', readOnly: true},
|
|
|
- {title: '单位', field: 'unit', hAlign: 1, width: 50, formatter: '@', readOnly: true},
|
|
|
- {title: '单价', field: 'unit_price', hAlign: 2, width: 50, readOnly: true},
|
|
|
- {title: '数量', field: 'quantity', hAlign: 2, width: 50, readOnly: true},
|
|
|
- {title: '金额', field: 'total_price', hAlign: 2, width: 50, readOnly: true},
|
|
|
+ {title: '清单编号', field: 'code', hAlign: 0, width: 85, formatter: '@'},
|
|
|
+ {title: '名称', field: 'name', hAlign: 0, width: 150, formatter: '@'},
|
|
|
+ {title: '单位', field: 'unit', hAlign: 1, width: 50, formatter: '@'},
|
|
|
+ {title: '单价', field: 'unit_price', hAlign: 2, width: 50},
|
|
|
+ {title: '数量', field: 'quantity', hAlign: 2, width: 50},
|
|
|
+ {title: '金额', field: 'total_price', hAlign: 2, width: 50},
|
|
|
],
|
|
|
- emptyRows: 0,
|
|
|
+ emptyRows: 3,
|
|
|
headRows: 1,
|
|
|
headRowHeight: [32],
|
|
|
defaultRowHeight: 21,
|
|
@@ -2205,6 +2208,7 @@ $(document).ready(function() {
|
|
|
font: '12px 微软雅黑',
|
|
|
headColWidth: [0],
|
|
|
selectedBackColor: '#fffacd',
|
|
|
+ readOnly: true,
|
|
|
});
|
|
|
dealBills.loadData();
|
|
|
}
|
|
@@ -2260,44 +2264,47 @@ $(document).ready(function() {
|
|
|
this.url = '/tender/' + getTenderId() + '/deal';
|
|
|
this.spreadSetting = spreadSetting;
|
|
|
this.spread = SpreadJsObj.createNewSpread(this.obj);
|
|
|
+ this.sheet = this.spread.getActiveSheet();
|
|
|
SpreadJsObj.initSheet(this.spread.getActiveSheet(), this.spreadSetting);
|
|
|
if (!readOnly) {
|
|
|
this.spread.bind(spreadNS.Events.CellDoubleClick, function (e, info) {
|
|
|
- const dealSheet = info.sheet;
|
|
|
- const mainSheet = ledgerSpread.getActiveSheet();
|
|
|
+ const dealSheet = info.sheet;
|
|
|
+ if (!dealSheet.zh_setting.readOnly) return;
|
|
|
|
|
|
- const dealBills = SpreadJsObj.getSelectObject(dealSheet);
|
|
|
- if (!dealBills) { return; }
|
|
|
- const mainTree = mainSheet.zh_tree;
|
|
|
- const mainNode = SpreadJsObj.getSelectObject(mainSheet);
|
|
|
- if (!mainNode || !mainTree) { return; }
|
|
|
+ const mainSheet = ledgerSpread.getActiveSheet();
|
|
|
|
|
|
- if (mainNode.code && mainNode.code !== '' && !mainTree.isLeafXmj(mainNode)) {
|
|
|
- toastr.error('非最底层项目下,不应添加清单');
|
|
|
- return;
|
|
|
- }
|
|
|
+ const dealBills = SpreadJsObj.getSelectObject(dealSheet);
|
|
|
+ if (!dealBills) { return; }
|
|
|
+ const mainTree = mainSheet.zh_tree;
|
|
|
+ const mainNode = SpreadJsObj.getSelectObject(mainSheet);
|
|
|
+ if (!mainNode || !mainTree) { return; }
|
|
|
|
|
|
- postData(window.location.pathname + '/update', {
|
|
|
- postType: 'add-deal',
|
|
|
- postData: {
|
|
|
- id: mainNode.ledger_id,
|
|
|
- type: mainNode.code ? 'child' : 'next',
|
|
|
- dealBills: {
|
|
|
- b_code: dealBills.code, name: dealBills.name, unit: dealBills.unit,
|
|
|
- unit_price: dealBills.unit_price,
|
|
|
- }
|
|
|
- },
|
|
|
- }, function (result) {
|
|
|
- const refreshData = mainTree.loadPostData(result);
|
|
|
- treeOperationObj.refreshTree(mainSheet, refreshData);
|
|
|
- const sel = mainSheet.getSelections()[0];
|
|
|
- mainSheet.setSelection(refreshData.create[0].index, sel.col, sel.rowCount, sel.colCount);
|
|
|
- SpreadJsObj.reloadRowsBackColor(mainSheet, [sel.row, refreshData.create[0].index]);
|
|
|
- treeOperationObj.refreshOperationValid(mainSheet);
|
|
|
- ledgerSpread.focus();
|
|
|
- posOperationObj.loadCurPosData();
|
|
|
+ if (mainNode.code && mainNode.code !== '' && !mainTree.isLeafXmj(mainNode)) {
|
|
|
+ toastr.error('非最底层项目下,不应添加清单');
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ postData(window.location.pathname + '/update', {
|
|
|
+ postType: 'add-deal',
|
|
|
+ postData: {
|
|
|
+ id: mainNode.ledger_id,
|
|
|
+ type: mainNode.code ? 'child' : 'next',
|
|
|
+ dealBills: {
|
|
|
+ b_code: dealBills.code, name: dealBills.name, unit: dealBills.unit,
|
|
|
+ unit_price: dealBills.unit_price,
|
|
|
+ }
|
|
|
+ },
|
|
|
+ }, function (result) {
|
|
|
+ const refreshData = mainTree.loadPostData(result);
|
|
|
+ treeOperationObj.refreshTree(mainSheet, refreshData);
|
|
|
+ const sel = mainSheet.getSelections()[0];
|
|
|
+ mainSheet.setSelection(refreshData.create[0].index, sel.col, sel.rowCount, sel.colCount);
|
|
|
+ SpreadJsObj.reloadRowsBackColor(mainSheet, [sel.row, refreshData.create[0].index]);
|
|
|
+ treeOperationObj.refreshOperationValid(mainSheet);
|
|
|
+ ledgerSpread.focus();
|
|
|
+ posOperationObj.loadCurPosData();
|
|
|
+ });
|
|
|
});
|
|
|
- });
|
|
|
}
|
|
|
$('#upload-deal-bills').click(function () {
|
|
|
const file = $('#deal-bills-file')[0];
|
|
@@ -2319,6 +2326,43 @@ $(document).ready(function() {
|
|
|
return target.hitTestType === spreadNS.SheetArea.viewport || target.hitTestType === spreadNS.SheetArea.rowHeader;
|
|
|
},
|
|
|
items: {
|
|
|
+ edit: {
|
|
|
+ name: '进入编辑模式',
|
|
|
+ icon: 'fa-edit',
|
|
|
+ visible: function (key, opt) {
|
|
|
+ return self.sheet.zh_setting.readOnly;
|
|
|
+ },
|
|
|
+ callback: function (key, opt) {
|
|
|
+ self.sheet.zh_setting.readOnly = false;
|
|
|
+ SpreadJsObj.refreshSheetReadOnly(self.sheet);
|
|
|
+ },
|
|
|
+ },
|
|
|
+ read: {
|
|
|
+ name: '退出编辑模式',
|
|
|
+ icon: 'fa-sign-out',
|
|
|
+ visible: function (key, opt) {
|
|
|
+ return !self.sheet.zh_setting.readOnly;
|
|
|
+ },
|
|
|
+ callback: function (key, opt) {
|
|
|
+ self.sheet.zh_setting.readOnly = true;
|
|
|
+ SpreadJsObj.refreshSheetReadOnly(self.sheet);
|
|
|
+ },
|
|
|
+ },
|
|
|
+ del: {
|
|
|
+ name: '删除',
|
|
|
+ icon: 'fa-times',
|
|
|
+ visible: function (key, opt) {
|
|
|
+ return !self.sheet.zh_setting.readOnly;
|
|
|
+ },
|
|
|
+ disabled: function (key, opt) {
|
|
|
+ const select = SpreadJsObj.getSelectObject(self.sheet);
|
|
|
+ return !select;
|
|
|
+ },
|
|
|
+ callback: function (key, opt) {
|
|
|
+
|
|
|
+ },
|
|
|
+ },
|
|
|
+ sprEdit: '---------',
|
|
|
apply: {
|
|
|
name: '应用全部清单单价至台账',
|
|
|
icon: 'fa-magic',
|