/** * Created by zhang on 2019/3/11. */ materialCalcObj = { moduleName:'materalCal', materialSpread:null, materialSheet:null, materialDatas:[], materialSetting:{ header:[ {headerName: "编号", headerWidth: 80, dataCode: "code", dataType: "String"}, {headerName: "名称", headerWidth: 100, dataCode: "name", dataType: "String"}, {headerName: "预算价", headerWidth: 70, dataCode: "marketPrice", hAlign: "right", dataType: "Number",validator:"number"}, {headerName: "供应地点", headerWidth: 100, dataCode: "unit", hAlign: "left", dataType: "String"}, {headerName: "原价", headerWidth: 45, dataCode: "originalPrice", hAlign: "center", dataType: "String"}, {headerName: "单位运费", headerWidth: 80, dataCode: "unitFreight", hAlign: "right", dataType: "Number",validator:"number"},//,decimalField:'glj.unitPrice' {headerName: "单位毛重(吨)", headerWidth: 60, dataCode: "unitWeight", hAlign: "right", dataType: "Number"},//,decimalField:"glj.unitPrice" {headerName: "装卸总次数", headerWidth: 50, dataCode: "totalLoadingTimes", hAlign: "right", dataType: "Number",validator:"number"},//,decimalField:"glj.unitPrice" {headerName: "每增加一次装卸损耗率", headerWidth: 80, dataCode: "handlingLossRate", hAlign: "right", dataType: "Number",decimalField:"glj.quantity",validator:"number"}, {headerName: "场外运输损耗率", headerWidth: 60, dataCode: "offSiteTransportLossRate", hAlign: "right", dataType: "Number"},//,decimalField:"glj.unitPrice" {headerName: "场外运输损耗", headerWidth: 60, dataCode: "offSiteTransportLoss", hAlign: "right", dataType: "Number"},//,decimalField:"glj.unitPrice" {headerName: "采购及保管费率", headerWidth: 60, dataCode: "purchaseStorageRate", hAlign: "right", dataType: "Number"},//,decimalField:"glj.unitPrice" {headerName: "采购及保管费", headerWidth: 60, dataCode: "purchaseStorage", hAlign: "right", dataType: "Number"},//,decimalField:"glj.unitPrice" {headerName: "包装品回收价值", headerWidth: 60, dataCode: "packageRecoverValue", hAlign: "right", dataType: "Number"}//,decimalField:"glj.unitPrice" ], view: { lockColumns: [0,1,2,3,4,5,6,7], colHeaderHeight:45 } }, freightSpread:null, freightSheet:null, freightDatas:[], freightSetting:{ header:[ {headerName: "起讫地点", headerWidth: 80, dataCode: "start", dataType: "String"}, {headerName: "运输工具", headerWidth: 80, dataCode: "conveyance", dataType: "String"}, {headerName: "单位运价", headerWidth: 70, dataCode: "unitFreight", hAlign: "right", dataType: "Number",validator:"number"}, {headerName: "km运距", headerWidth: 50, dataCode: "kmDistance", hAlign: "left", dataType: "String"}, {headerName: "装卸费单价", headerWidth: 45, dataCode: "unitLoadingFee", hAlign: "center", dataType: "String"}, {headerName: "装卸次数", headerWidth: 80, dataCode: "loadingTimes", hAlign: "right", dataType: "Number",validator:"number"},//,decimalField:'glj.unitPrice' {headerName: "其它费用", headerWidth: 60, dataCode: "otherFee", hAlign: "right", dataType: "Number"},//,decimalField:"glj.unitPrice" {headerName: "运价增加率(%)", headerWidth: 80, dataCode: "freightIncreaseRate", hAlign: "right", dataType: "Number",validator:"number"},//,decimalField:"glj.unitPrice" {headerName: "加权系数", headerWidth: 80, dataCode: "weightCoe", hAlign: "right", dataType: "Number",decimalField:"glj.quantity",validator:"number"}, {headerName: "计算式", headerWidth: 60, dataCode: "exp", hAlign: "right", dataType: "Number"},//,decimalField:"glj.unitPrice" ], view: { lockColumns: [0,1,2,3,4,5,6,7], colHeaderHeight:45 } }, priceSpread:null, priceSheet:null, priceData:[], priceSetting:{ header:[ {headerName: "供应地点", headerWidth: 80, dataCode: "start", dataType: "String"}, {headerName: "供应价", headerWidth: 70, dataCode: "unitFreight", hAlign: "right", dataType: "Number",validator:"number"}, {headerName: "加权系数", headerWidth: 80, dataCode: "loadingTimes", hAlign: "right", dataType: "Number",validator:"number"},//,decimalField:'glj.unitPrice' ], view: { lockColumns: [0,1,2], colHeaderHeight:45 } }, initMaterialSpread:function () { this.materialSpread = SheetDataHelper.createNewSpread($("#materialCalcSheet")[0]); sheetCommonObj.spreadDefaultStyle(this.materialSpread); this.materialSheet = this.materialSpread.getSheet(0); sheetCommonObj.initSheet(this.materialSheet, this.materialSetting, 30); /* this.materialSheet.bind(GC.Spread.Sheets.Events.EditEnded, this.onAssEditEnded); this.materialSheet.bind(GC.Spread.Sheets.Events.RangeChanged, this.onAssRangeChanged);*/ this.materialSheet.name('material_calc'); if(projectReadOnly){ disableSpread(this.materialSpread); } }, initFreightSpread:function(){ this.freightSpread = SheetDataHelper.createNewSpread($("#freightSheet")[0]); sheetCommonObj.spreadDefaultStyle(this.freightSpread); this.freightSheet = this.freightSpread.getSheet(0); sheetCommonObj.initSheet(this.freightSheet, this.freightSetting, 30); /* this.freightSheet.bind(GC.Spread.Sheets.Events.EditEnded, this.onAssEditEnded); this.freightSheet.bind(GC.Spread.Sheets.Events.RangeChanged, this.onAssRangeChanged);*/ this.freightSheet.name('freight_calc'); if(projectReadOnly){ disableSpread(this.freightSpread); } }, initPriceSpread:function(){ this.priceSpread = SheetDataHelper.createNewSpread($("#priceSheet")[0]); sheetCommonObj.spreadDefaultStyle(this.priceSpread); this.priceSheet = this.priceSpread.getSheet(0); sheetCommonObj.initSheet(this.priceSheet, this.priceSetting, 30); /* this.freightSheet.bind(GC.Spread.Sheets.Events.EditEnded, this.onAssEditEnded); this.freightSheet.bind(GC.Spread.Sheets.Events.RangeChanged, this.onAssRangeChanged);*/ this.priceSheet.name('price_calc'); if(projectReadOnly){ disableSpread(this.priceSpread); } }, showFreightDatas:function () { if(!$('#freightSheet').is(':visible')) return; this.freightSheet.setRowCount(0); sheetCommonObj.showData(this.freightSheet, this.freightSetting,this.freightDatas); }, showMaterialCalcDatas:function(){ this.materialSheet.setRowCount(0); sheetCommonObj.showData(this.materialSheet, this.materialSetting,this.materialDatas); this.materialSheet.setRowCount(this.materialDatas.length); }, showPriceDatas:function () { if(!$('#priceSheet').is(':visible')) return; this.priceSheet.setRowCount(0); sheetCommonObj.showData(this.priceSheet, this.priceSetting,this.priceData); }, showDatas:function(){ if(!$('#materialCalcSheet').is(':visible')) return; if(!this.materialSpread) this.initMaterialSpread(); if(!this.freightSpread) this.initFreightSpread(); if(!this.priceSpread) this.initPriceSpread(); this.showMaterialCalcDatas(); this.showFreightDatas(); this.showPriceDatas(); projectGljObject.refreshSubViews(); }, getSideResize: function () { let rg_sideResizeEles = {}; rg_sideResizeEles.eleObj = { module: this.moduleName, resize: $('#mrResize'), parent: $('#projectGljBottom'), left: $('#materialCalcSheet'), right: $('#calcDiv') }; rg_sideResizeEles.limit = { min: 100, max: `$('#projectGljBottom').width()-100` }; return rg_sideResizeEles; }, initTabWidth:function () { if($("#mix_ratio_sheet").is(':visible')) return ;//如果是组成物计算界面,返回 let mr_sideResizeEles = this.getSideResize(); SlideResize.loadHorizonWidth(mr_sideResizeEles.eleObj.module, [rg_sideResizeEles.eleObj.resize], [mr_sideResizeEles.eleObj.left, mr_sideResizeEles.eleObj.right],null,2); $("#spreadTabDiv").width( $('#calcDiv').width() - mr_sideResizeEles.eleObj.resize.width() - 32) } }; $(function () { $("#calc-nav").on('shown.bs.tab', function () { materialCalcObj.initTabWidth(); projectGljObject.refreshSubViews(); }); $("#calTab ul li a").on('shown.bs.tab', function () { materialCalcObj.showFreightDatas(); materialCalcObj.showPriceDatas(); projectGljObject.refreshSubViews(); }); }); let mr_sideResizeEles = materialCalcObj.getSideResize(); SlideResize.horizontalSlide(mr_sideResizeEles.eleObj, mr_sideResizeEles.limit, function(){ $("#spreadTabDiv").width( $('#calcDiv').width() - mr_sideResizeEles.eleObj.resize.width() - 32); projectGljObject.refreshSubViews(); },2);