/** * 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"}, {headerName:"字段名称",headerWidth:140,dataCode:"displayFieldName", dataType: "String", hAlign: "center"}, {headerName:"备注",headerWidth:100,dataCode:"memo", dataType: "String"} ], view:{ comboBox:[], lockColumns:[0,1,2,3,4,5,6,7] } }, buildSheet: function (){ let me = this; me.datas = calcTemplates; 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 coeType = new GC.Spread.Sheets.CellTypes.ComboBox(); //coeType.items(["单个","定额","人工","材料","机械"]); //me.detailSpread.getSheet(0).getRange(-1, 0, -1, 1).cellType(coeType); me.mainSpread.options.showVerticalScrollbar = false; me.detailSpread.options.showVerticalScrollbar = false; me.mainSpread.getSheet(0).bind(GC.Spread.Sheets.Events.EnterCell, me.onMainEnterCell); me.detailSpread.getSheet(0).bind(GC.Spread.Sheets.Events.CellChanged, me.onDetailCellChanged); let mSheet = me.mainSpread.getSheet(0); sheetCommonObj.showData(mSheet, me.mainSetting, me.datas); let dSheet = me.detailSpread.getSheet(0); 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(); } }; $(document).ready(function(){ $('#tab_calc_program_manage').on('shown.bs.tab', function (e) { rationPM.buildSheet(); }); });