123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- 'use strict';
- /**
- *
- *
- * @author Mai
- * @date 2018/7/24
- * @version
- */
- $(document).ready(() => {
- autoFlashHeight();
- const billsTree = createNewPathTree('measure', {
- id: 'ledger_id',
- pid: 'ledger_pid',
- order: 'order',
- level: 'level',
- rootId: -1,
- keys: ['id', 'tender_id', 'ledger_id'],
- });
- billsTree.loadDatas(billsData);
- treeCalc.calculateAll(billsTree, ['total_price', 'deal_totalprice', 'qc_totalprice']);
- const billsSpread = SpreadJsObj.createNewSpread($('#billsSpread')[0]);
- const sheet = billsSpread.getActiveSheet();
- SpreadJsObj.initSheet(sheet, measureSpreadSetting);
- SpreadJsObj.loadSheetData(sheet, 'tree', billsTree);
- /**
- * 父项不可编辑
- * sender - {type: 'EditStarting'}
- * args - {sheet, sheetName, row, col, cancel}
- */
- sheet.bind(spreadNS.Events.EditStarting, function (sender, args) {
- const sheet = args.sheet;
- if (sheet.zh_tree) {
- const node = sheet.zh_tree.nodes[args.row];
- args.cancel = node ? !node.is_leaf : true;
- } else {
- args.cancel = true;
- }
- });
- /**
- * 最底层清单编辑后,提交
- * sender - {type: 'EditEnding'}
- * args - {sheet, sheetName, row, col, editor, editingText cancel}
- */
- sheet.bind(spreadNS.Events.EditEnding, function (sender, args) {
- const sheet = args.sheet;
- if (sheet.zh_tree || sheet.zh_setting) {
- const node = sheet.zh_tree.nodes[args.row];
- const col = sheet.zh_setting.cols[args.col];
- if (node && node.is_leaf) {
- const updateData = {
- mid: window.location.pathname.split('/')[3],
- bid: node.ledger_id,
- update: {},
- }
- updateData.update[col.field] = col.type === 'Number' ? parseFloat(args.editingText) : args.editingText;
- postData('/measure/billsUpdate', updateData, function (data) {
- if (sheet.zh_tree.loadLeafData) {
- sheet.zh_tree.loadLeafData(data);
- const nodes = treeCalc.calculateParent(sheet.zh_tree, node, ['deal_totalprice', 'qc_totalprice']);
- SpreadJsObj.reLoadNodesData(sheet, nodes);
- }
- }, function () {
- args.cancel = true;
- });
- } else {
- args.cancel = true;
- }
- } else {
- args.cancel = true;
- }
- });
- });
|