123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146 |
- 'use strict';
- /**
- * 材料调差 - 调差清单
- *
- * @author EllisRan
- * @date 2019/10/25
- * @version
- */
- $(document).ready(() => {
- autoFlashHeight();
- // 清单table
- const ledgerSpread = SpreadJsObj.createNewSpread($('#ledger-spread')[0]);
- const ledgerSpreadSetting = {
- cols: [
- {title: '清单编号', colSpan: '1', rowSpan: '2', field: 'b_code', hAlign: 0, width: 150, formatter: '@'},
- {title: '名称', colSpan: '1', rowSpan: '2', field: 'name', hAlign: 0, width: 250, formatter: '@'},
- {title: '单位', colSpan: '1', rowSpan: '2', field: 'unit', hAlign: 1, width: 120, formatter: '@'},
- {title: '单价', colSpan: '1', rowSpan: '2', field: 'unit_price', hAlign: 2, width: 120, type: 'Number'},
- {title: '本期计量数量|合同', colSpan: '3|1', rowSpan: '1|1', field: 'contract_qty', hAlign: 2, width: 120, type: 'Number'},
- {title: '|数量变更', colSpan: '|1', rowSpan: '|1', field: 'qc_qty', hAlign: 2, width: 120, type: 'Number'},
- {title: '|小计', colSpan: '|1', rowSpan: '|1', field: 'total_qty', hAlign: 2, width: 120, type: 'Number', getValue: 'getValue.qty'},
- ],
- emptyRows: 0,
- headRows: 2,
- headRowHeight: [32, 32],
- defaultRowHeight: 30,
- headerFont: '10pt 微软雅黑',
- readOnly: true,
- font: '10pt 微软雅黑',
- };
- const ledgerCol = {
- getValue: {
- qty: function (data) {
- return ZhCalc.add(data.contract_qty, data.qc_qty);
- }
- }
- };
- // 解析清单汇总数据
- gclGatherModel.loadLedgerData(ledger, curLedgerData);
- gclGatherModel.loadPosData(pos, curPosData);
- const gclGatherData = gclGatherModel.gatherGclData();
- // 获取项目节数据
- function loadLeafXmjData(iGclRow) {
- const gcl = gclGatherData[iGclRow];
- if (gcl) {
- SpreadJsObj.loadSheetData(leafXmjSpread.getActiveSheet(), SpreadJsObj.DataType.Data, gcl.leafXmjs);
- } else {
- SpreadJsObj.loadSheetData(leafXmjSpread.getActiveSheet(), SpreadJsObj.DataType.Data, []);
- }
- }
- SpreadJsObj.initSpreadSettingEvents(ledgerSpreadSetting, ledgerCol);
- SpreadJsObj.initSheet(ledgerSpread.getActiveSheet(), ledgerSpreadSetting);
- // 项目明细table
- const leafXmjSpread = SpreadJsObj.createNewSpread($('#leaf-xmj-spread')[0]);
- const leafXmjSpreadSetting = {
- cols: [
- {title: '项目节|编号', colSpan: '2|1', rowSpan: '1|1', field: 'code', hAlign: 0, width: 80, formatter: '@'},
- {title: '|项目节名称', colSpan: '|1', rowSpan: '|1', field: 'jldy', hAlign: 0, width: 100, formatter: '@'},
- {title: '部位明细|部位明细', colSpan: '2|1', rowSpan: '1|1', field: 'bwmx', hAlign: 0, width: 100, formatter: '@'},
- {title: '|复核数量', colSpan: '|1', rowSpan: '|1', field: 'quantity', hAlign: 0, width: 80, type: 'Number'},
- {title: '部位信息|单位工程', colSpan: '3|1', rowSpan: '1|1', field: 'dwgc', hAlign: 0, width: 100, formatter: '@'},
- {title: '|分部工程', colSpan: '|1', rowSpan: '|1', field: 'fbgc', hAlign: 0, width: 100, formatter: '@'},
- {title: '|分项工程', colSpan: '|1', rowSpan: '|1', field: 'fxgc', hAlign: 0, width: 180, formatter: '@'},
- {title: '本期计量数量|合同', colSpan: '3|1', rowSpan: '1|1', field: 'contract_qty', hAlign: 2, width: 60, type: 'Number'},
- {title: '|数量变更', colSpan: '|1', rowSpan: '|1', field: 'qc_qty', hAlign: 2, width: 80, type: 'Number'},
- {title: '|小计', colSpan: '|1', rowSpan: '|1', field: 'total_qty', hAlign: 2, width: 60, type: 'Number', getValue: 'getValue.qty'},
- {title: '本期价差', colSpan: '1', rowSpan: '2', field: 'jijia', hAlign: 2, width: 80, type: 'Number'},
- ],
- emptyRows: 0,
- headRows: 2,
- headRowHeight: [32, 32],
- defaultRowHeight: 30,
- headerFont: '10pt 微软雅黑',
- readOnly: true,
- font: '10pt 微软雅黑',
- };
- const leafXmjCol = {
- getValue: {
- qty: function (data) {
- return ZhCalc.add(data.contract_qty, data.qc_qty);
- }
- }
- };
- SpreadJsObj.initSpreadSettingEvents(leafXmjSpreadSetting, leafXmjCol);
- SpreadJsObj.initSheet(leafXmjSpread.getActiveSheet(), leafXmjSpreadSetting);
- // 加载清单数据
- SpreadJsObj.loadSheetData(ledgerSpread.getActiveSheet(), SpreadJsObj.DataType.Data, gclGatherData);
- loadLeafXmjData(0);
- SpreadJsObj.forbiddenSpreadContextMenu('#ledger-spread', ledgerSpread);
- // 调差清单工料table
- const materialSpread = SpreadJsObj.createNewSpread($('#material-spread')[0]);
- const materialSpreadSetting = {
- cols: [
- {title: '清单调差工料|编号', colSpan: '4|1', rowSpan: '1|1', field: 'code', hAlign: 0, width: 80, formatter: '@'},
- {title: '|名称', colSpan: '|1', rowSpan: '|1', field: 'name', hAlign: 0, width: 100, formatter: '@'},
- {title: '|单位', colSpan: '|1', rowSpan: '|1', field: 'unit', hAlign: 1, width: 60, formatter: '@'},
- {title: '|kg数量', colSpan: '1', rowSpan: '|1', field: 'num', hAlign: 2, width: 60, type: 'Number'},
- ],
- emptyRows: 0,
- headRows: 2,
- headRowHeight: [32, 32],
- defaultRowHeight: 30,
- headerFont: '10pt 微软雅黑',
- readOnly: true,
- font: '10pt 微软雅黑',
- };
- SpreadJsObj.initSheet(materialSpread.getActiveSheet(), materialSpreadSetting);
- if (!readOnly) {
- } else {
- SpreadJsObj.forbiddenSpreadContextMenu('#leaf-xmj-spread', leafXmjSpread);
- SpreadJsObj.forbiddenSpreadContextMenu('#material-spread', materialSpread);
- }
- // 切换清单行,读取所属项目节数据
- ledgerSpread.getActiveSheet().bind(spreadNS.Events.SelectionChanged, function (e, info) {
- const iOldRow = info.oldSelections[0].row, iNewRow = info.newSelections[0].row;
- if (iNewRow !== iOldRow) {
- loadLeafXmjData(iNewRow);
- }
- });
- $.subMenu({
- menu: '#sub-menu', miniMenu: '#sub-mini-menu', miniMenuList: '#mini-menu-list',
- toMenu: '#to-menu', toMiniMenu: '#to-mini-menu',
- //key: 'stage.compare.memu.1.0.0',
- callback: function (info) {
- if (info.mini) {
- $('.panel-title').addClass('fluid');
- $('#sub-menu').removeClass('panel-sidebar');
- } else {
- $('.panel-title').removeClass('fluid');
- $('#sub-menu').addClass('panel-sidebar');
- }
- autoFlashHeight();
- ledgerSpread.refresh();
- leafXmjSpread.refresh();
- materialSpread.refresh();
- }
- });
- });
|