|
|
@@ -0,0 +1,166 @@
|
|
|
+/**
|
|
|
+ * 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);
|