/** * Created by CSL on 2017-08-03. * 计算程序管理。 */ let rationPM = { datas: [], mainSpread: null, detailSpread: null, mainSetting: { header:[ // {headerName:"ID",headerWidth:80,dataCode:"ID", hAlign: "center"}, {headerName:"名称",headerWidth:200,dataCode:"name", dataType: "String"} ], view:{ comboBox:[], lockColumns:[0,1] } }, detailSetting: { header:[ // {headerName:"ID",headerWidth:80,dataCode:"ID", hAlign: "center"}, {headerName:"费用代号",headerWidth:80,dataCode:"code", dataType: "String"}, {headerName:"费用名称",headerWidth:200,dataCode:"name", dataType: "String"}, {headerName:"计算基数",headerWidth:180,dataCode:"dispExpr", dataType: "String"}, {headerName:"基数说明",headerWidth:300,dataCode:"statement", dataType: "String"}, {headerName:"费率",headerWidth:80,dataCode:"feeRate", dataType: "Number",hAlign: "left"}, {headerName:"字段名称",headerWidth:140,dataCode:"displayFieldName", dataType: "String", hAlign: "center"}, {headerName:"备注",headerWidth:100,dataCode:"memo", dataType: "String"} ], view:{ comboBox:[], lockColumns:[0,1,2,3,6] } }, buildSheet: function (){ let me = this; me.datas = projectObj.project.calcProgram.datas.templates; if (me.mainSpread) { me.mainSpread.destroy(); me.mainSpread = null; }; if (me.detailSpread) { me.detailSpread.destroy(); me.detailSpread = null; }; me.mainSpread = sheetCommonObj.buildSheet($('#mainSpread')[0], me.mainSetting, me.datas.length); me.detailSpread = sheetCommonObj.buildSheet($('#detailSpread')[0], me.detailSetting, me.datas[0].calcItems.length); var fieldName = new GC.Spread.Sheets.CellTypes.ComboBox(); fieldName.items(projectObj.project.calcProgram.calc.compiledFeeTypeNames); // fieldName.items(["直接费","人工费","材料费","机械费","主材费","企业管理费","利润","风险费","人工价差","材料价差","机械价差","工程造价","调整人工费","调整机上人工费","甲供材料费"]); me.detailSpread.getSheet(0).getRange(-1, 5, -1, 1).cellType(fieldName); me.mainSpread.getSheet(0).bind(GC.Spread.Sheets.Events.EnterCell, me.onMainEnterCell); me.detailSpread.getSheet(0).bind(GC.Spread.Sheets.Events.CellChanged, me.onDetailCellChanged); //me.detailSpread.getSheet(0).bind(GC.Spread.Sheets.Events.CellClick, me.onCellClick); let mSheet = me.mainSpread.getSheet(0); sheetCommonObj.showData(mSheet, me.mainSetting, me.datas); let dSheet = me.detailSpread.getSheet(0); feeRateObject.setFeeRateCellCol(dSheet,4); dSheet.name('calc_detail'); sheetCommonObj.showData(dSheet, me.detailSetting, me.datas[0].calcItems); }, onMainEnterCell: function(sender, args) { var me = rationPM; var row = args.sheet.getActiveRowIndex(); me.detailSpread.suspendPaint(); var dSheet = me.detailSpread.getSheet(0); var dData = me.datas[row].calcItems; sheetCommonObj.showData(dSheet, me.detailSetting, dData); me.detailSpread.resumePaint(); }, saveCalcItem: function (projectID, templatesID, calcItem) { let me = this; /* let projectID = projectInfoObj.projectInfo.ID, templatesID = me.datas, calcItem = { "ID" : 99, "code" : "test", "name" : "testName", "fieldName" : "direct", "dispExpr" : "F2+F5+F6+F10", "expression" : "@('2') + @('5') + @('6') + @('10')", "compiledExpr" : "", "statement" : "基价人工费+基价材料费+基价机械费+未计价材料费" };*/ $.ajax({ type: 'post', url: '/calcProgram/saveCalcItem', data: {projectID: projectID, templatesID: templatesID, calcItem: calcItem}, dataType: 'json', success: function (result) { if(!result.error){ alert('成功:' + result.message); } else{ alert('失败:' + result.message); } } }) }, }; $(document).ready(function(){ $('#tab_calc_program_manage').on('shown.bs.tab', function (e) { rationPM.buildSheet(); }); });