123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795 |
- layui.use(['page','layer','myElement','myform','jquery','formula2','laydate','rptEditor2'], function () {
- var element =layui.myElement
- ,$=layui.jquery
- ,page=layui.page
- ,layer = layui.layer
- ,form=layui.myform
- ,formula=layui.formula2
- ,laydate = layui.laydate
- ,editor=layui.rptEditor2
- ;
-
- let nows=(page.getNow()).split("-");
-
- form.val("my-query-form",{year:nows[0],month:parseInt(nows[1])});
-
- laydate.render({
- elem: '#year'
- ,type: 'year'
- });
-
- $("button[lay-filter='savebtn']").on("click",function(){
- var data=getSaveData();
- data["year"]= $("#year").val();
- data["month"]= $("#month").val();
- saveSubmit(data);
- });
-
-
- $("button[lay-filter='querybtn']").on("click",function(){
- query();
- });
-
- $(".my-query-form").on("click",".layui-btn[lay-filter='clearbtn']",function(evn){
- form.clear("my-query-form");
- });
-
- query();
-
- function query(){
- let year=$("#year").val();
- if(year==""){
- year=(new Date()).getFullYear()+"";
- }
- let month=$("#month").val();
-
- querySumCompare(year,month);
- queryWYRatioCompare(year,month);
- loadCoalRatioRpt(year);
- loadCoalRatioChart(year);
- loadEnergyMthGroup(year);
- loadWorkloadRpt(year,month);
- loadWorkloadChart(year);
- loadCostRatioRpt(year,month);
- loadCostRatioChart(year,month);
- loadEnergyCompareRpt(year,month);
- loadEnergyCompareChart(year,month);
- }
-
-
-
- function saveSubmit(submitData){
- page.ajax({
- url:"rpt/saveWYRatioCompare.do",
- dataType:"json",
- data:submitData
- },function(resp){
- layer.close(loading);
- if(resp.success){
- layer.msg("操作成功!");
- queryWYRatioCompare(submitData.year,submitData.month);
- }
- else{
- layer.msg(resp.exception);
- }
-
- },function(){
- layer.close(loading);
- layer.msg("网络请求出现错误");
- });
-
- loading = layer.msg('正在保存数据', {icon: 16, shade: 0.3, time:0});
- }
-
- function getSaveData(){
- var data={};
- $("#ratioCompareTab").find(".editable").each(function(idx,itm){
- data[$(itm).data("field")]=$(itm).find(".rpt-table-cell").text();
- });
-
- return data;
- }
-
- //占比同比报表
- function queryWYRatioCompare(yyyy,mm){
- page.ajax({
- url:"rpt/yearWYRatioCompare.do",
- dataType:"text",
- data:{year:yyyy,month:mm}
- },function(resp){
- layer.close(loading);
- if(resp.indexOf("rpt-table-box")>=0){
- $("#ratioRpt").html(resp);
- formula.start($("#ratioRpt").find(".rpt-table-main>.rpt-table"));
- rptSizing($,$("#ratioRpt"));
- return;
- }
- var respObj=JSON.parse(resp);
-
- if(respObj.success!=null&&respObj.success==false){
- layer.msg(respObj.exception);
-
- }
-
- },function(){
- layer.close(loading);
- layer.msg("网络请求出现错误");
- });
- }
-
- //总量同比
- function querySumCompare(yyyy,mm){
- page.ajax({
- url:"rpt/yearSumCompare.do",
- dataType:"text",
- data:{year:yyyy,month:mm}
- },function(resp){
- layer.close(loading);
- if(resp.indexOf("rpt-table-box")>=0){
- $("#sumRpt").html(resp);
- formula.start($("#sumRpt").find(".rpt-table-main>.rpt-table"));
- rptSizing($,$("#sumRpt"));
- return;
- }
- var respObj=JSON.parse(resp);
-
- if(respObj.success!=null&&respObj.success==false){
- layer.msg(respObj.exception);
-
- }
-
- },function(){
- layer.close(loading);
- layer.msg("网络请求出现错误");
- });
-
- loading = layer.msg('正在加载数据', {icon: 16, shade: 0.3, time:0});
- }
-
- //用能用水 耗量同比
- function loadEnergyCompareRpt(yyyy,mm){
- page.ajax({
- dataType:"text",
- url:"home/rpt/energyCompareRpt.do",
- data:{type:"grid",year:yyyy,month:mm}
- },function(resp){
- if(resp.indexOf("rpt-table-box")>=0){
- $("#energyComparebox").html(resp);
- formula.start($("#energyComparebox").find(".rpt-table-main>.rpt-table"));
- rptSizing($,$("#energyComparebox"));
- return;
- }
- },function(){
- layer.msg("网络请求出现错误");
- });
- }
-
- function loadEnergyCompareChart(yyyy,mm){
- page.ajax({
- dataType:"json",
- url:"home/rpt/energyCompareRpt.do",
- data:{type:"chart",year:yyyy,month:mm}
- },function(resp){
- if(!resp.success){
- layer.msg(resp.exception);
- }
- else{
- var yearData=resp.data.yearSum;
- var ary1=[yearData.wpg.ngasCount,yearData.wpg.powerCount,yearData.oilTotal,yearData.coilTotal,yearData.wpg.lgasCount,yearData.coals,yearData.wpg.waterCount];
- yearData=resp.data.preYearSum;
- var ary2=[yearData.wpg.ngasCount,yearData.wpg.powerCount,yearData.oilTotal,yearData.coilTotal,yearData.wpg.lgasCount,yearData.coals,yearData.wpg.waterCount];
- createEnergyCompareChart($,"energyCompareChartbox",ary1,ary2);
- }
- },function(){
- layer.msg("网络请求出现错误");
- });
- }
-
-
- //加载工作量统计数据
- function loadWorkloadRpt(yyyy,mm){
- page.ajax({
- dataType:"text",
- url:"home/rpt/workloadRpt.do",
- data:{year:yyyy,month:mm}
- },function(resp){
- if(resp.indexOf("rpt-table-box")>=0){
- $("#workloadbox").html(resp);
- formula.start($("#workloadbox").find(".rpt-table-main>.rpt-table"));
- rptSizing($,$("#workloadbox"));
-
- return;
- }
- },function(){
- layer.msg("网络请求出现错误");
- });
- }
-
-
-
- function loadWorkloadChart(yyyy){
- page.ajax({
- dataType:"json",
- url:"home/rpt/workloadRptChart.do",
- data:{year:yyyy}
- },function(resp){
- if(!resp.success){
- layer.msg(resp.exception);
- }
- else{
- //createChart($,"workloadChartbox",resp.data.wc,resp.data.prewc);
- create2SeriesChart($,"workloadChartbox",resp.data.wc,resp.data.prewc,"井次");
- }
- },function(){
- layer.msg("网络请求出现错误");
- });
- }
-
-
- //用能用水费用占比统计
- function loadCostRatioRpt(yyyy,mm){
- page.ajax({
- dataType:"text",
- url:"home/rpt/costRatioRpt.do",
- data:{type:"grid",year:yyyy,month:mm}
- },function(resp){
- if(resp.indexOf("rpt-table-box")>=0){
- $("#costRatiobox").html(resp);
- formula.start($("#costRatiobox").find(".rpt-table-main>.rpt-table"));
- rptSizing($,$("#costRatiobox"));
- return;
- }
- },function(){
- layer.msg("网络请求出现错误");
- });
- }
-
-
- function loadCostRatioChart(yyyy,mm){
- page.ajax({
- dataType:"json",
- url:"home/rpt/costRatioRpt.do",
- data:{type:"chart",year:yyyy,month:mm}
- },function(resp){
- if(!resp.success){
- layer.msg(resp.exception);
- }
- else{
- var yearData=resp.data.yearSum;
- var ary1=[yearData.wpg.ngasCost,yearData.wpg.powerCost,yearData.erpkl.oilMoney,yearData.erpkl.coilMoney,yearData.wpg.lgasCost];
- yearData=resp.data.preYearSum;
- var ary2=[yearData.wpg.ngasCost,yearData.wpg.powerCost,yearData.erpkl.oilMoney,yearData.erpkl.coilMoney,yearData.wpg.lgasCost];
- createCostRatioChart($,"costRatioChartbox",ary1,ary2);
- }
- },function(){
- layer.msg("网络请求出现错误");
- });
- }
-
- //用能折算标准煤占比
- function loadCoalRatioRpt(yyyy){
- page.ajax({
- dataType:"text",
- url:"home/rpt/coalRatioRpt.do",
- data:{type:"grid",year:yyyy}
- },function(resp){
- if(resp.indexOf("rpt-table-box")>=0){
- $("#coalRatiobox").html(resp);
- formula.start($("#coalRatiobox").find(".rpt-table-main>.rpt-table"));
- rptSizing($,$("#coalRatiobox"));
- return;
- }
- },function(){
- layer.msg("网络请求出现错误");
- });
- }
-
-
- function loadCoalRatioChart(yyyy){
- page.ajax({
- dataType:"json",
- url:"home/rpt/coalRatioRpt.do",
- data:{type:"chart",year:yyyy}
- },function(resp){
- if(!resp.success){
- layer.msg(resp.exception);
- }
- else{
- var yearData=resp.data.yearSum;
- var chartData=[];
- chartData.push({name:"天然气",value:yearData.wpg.ngasCoal||0});
- chartData.push({name:"电",value:yearData.wpg.powerCoal||0});
- chartData.push({name:"液化气",value:yearData.wpg.lgasCoal||0});
- chartData.push({name:"汽油",value:yearData.erpkl.oilCoal||0});
- chartData.push({name:"柴油",value:yearData.erpkl.coilCoal||0});
- createCoalRatioChart($,"coalRatioChartbox",chartData);
- }
- },function(){
- layer.msg("网络请求出现错误");
- });
- }
-
-
- //用能用水按月统计
- function loadEnergyMthGroup(yyyy){
- page.ajax({
- dataType:"text",
- url:"home/rpt/energyMonthCost.do",
- data:{year:yyyy}
- },function(resp){
- if(resp.indexOf("rpt-table-box")>=0){
- $("#energyMthGroupbox").html(resp);
- formula.start($("#energyMthGroupbox").find(".rpt-table-main>.rpt-table"));
- rptSizing($,$("#energyMthGroupbox"));
- loadEnergyMthGroupChart(yyyy);
- return;
- }
- },function(){
- layer.msg("网络请求出现错误");
- });
- }
-
- function decimalFormat(data,decimal){
- return data==null?null:data.toFixed(decimal);
- }
-
- function getDFData(pdata,key1,key2,decimal){
- if(!pdata[key1]||!pdata[key1][key2]){
- return null;
- }
- return decimalFormat(pdata[key1][key2],decimal);
- }
-
- //用能用水按月统计图,绘制前先获取去年的数据
- function loadEnergyMthGroupChart(yyyy){
- var preYear=parseInt(yyyy)-1;
- page.ajax({
- dataType:"json",
- url:"home/rpt/energyMonthCost.do",
- data:{type:"chart",year:preYear}
- },function(resp){
- if(!resp.success){
- return;
- }
- var preData=resp.data;
- var mths=["01","02","03","04","05","06","07","08","09","10","11","12"];
- var ngas=[],power=[],oil=[],coil=[],lgas=[],coal=[],water=[],coil100km=[],coilWellCount=[],oil100km=[],oilWellCount=[],engineWellCount=[],engineCostTon=[];
- for(var m=0,len=mths.length;m<len;m++){
- ngas.push(decimalFormat(preData[mths[m]].wpg.ngasCount,4));
- power.push(decimalFormat(preData[mths[m]].wpg.powerCount,4));
- oil.push(decimalFormat(preData[mths[m]].oilTotal,3));
- coil.push(decimalFormat(preData[mths[m]].coilTotal,3));
- lgas.push(decimalFormat(preData[mths[m]].wpg.lgasCount,3));
- coal.push(decimalFormat(preData[mths[m]].coals,3));
- water.push(decimalFormat(preData[mths[m]].wpg.waterCount,4));
-
- coil100km.push(getDFData(preData[mths[m]],"indConsume","coilLiter100km",3));
- coilWellCount.push(getDFData(preData[mths[m]],"indConsume","coilLiterWellCount",3));
- oil100km.push(getDFData(preData[mths[m]],"indConsume","oilLiter100km",3));
- oilWellCount.push(getDFData(preData[mths[m]],"indConsume","oilLiterWellCount",3));
- engineWellCount.push(getDFData(preData[mths[m]],"indConsume","engineLiterWellCount",3));
- engineCostTon.push(getDFData(preData[mths[m]],"indConsume","engineCostTon",3));
- }
- //下一步从报表中获取当年数据并进行绘制,顺序对应
- var dataMap={'coal':coal,'power':power,'oil':oil,'coil':coil,'oil100km':oil100km,'coil100km':coil100km,'oilWellCount':oilWellCount,'coilWellCount':coilWellCount,'lgas':lgas,'engineCostTon':engineCostTon,'water':water,'engineWellCount':engineWellCount,'ngas':ngas};
- //var dataAry=[coal,power,oil,coil,oil100km,coil100km,oilWellCount,coilWellCount,lgas,engineCostTon,water,engineWellCount,ngas];
- startEnergyMthGroupChart(dataMap);
-
- },function(){
- layer.msg("网络请求出现错误");
- });
-
-
- }
-
- //从报表中获取当年数据并进行绘制
- function startEnergyMthGroupChart(dataMap){
-
- var $tab=$("#energyMthGroupbox").find(".rpt-table-main>.rpt-table");
- var yunit=null,dataSort=null,chartboxId=null;
- var datas=null;
- $tab.find("tr").each(function(idx,tr){
- datas=[];
- dataSort=$(tr).data("sort");
- $(tr).find("td").each(function(i,td){
- if(i==0){
- yunit=$(td).find(".rpt-table-cell").text();
- }
- else{
- datas.push($(td).find(".rpt-table-cell").text());
- }
- });
-
- chartboxId=$("div[data-chart='"+dataSort+"']")[0].id;
-
- if(yunit.indexOf("天然气")>=0){
- createMonthGrpNgasChart($,chartboxId,datas,dataMap[dataSort],yunit);
- }
- else{
- create2SeriesChart($,chartboxId,datas,dataMap[dataSort],yunit);
- }
-
- });
- }
-
- });
- function createCoalRatioChart($,id,dataAry){
- var myChart = echarts.init($('#'+id)[0],'light');
- var option = {
- color: ['#003366', '#e5323e','#108f83','#05b90e','#d9b50c'],
- tooltip: {
- trigger: 'item',
- formatter: '{a} <br/>{b} : {c} ({d}%)'
- },
-
- series: [
- {
- name: '能耗折算标准煤',
- type: 'pie',
- radius: '55%',
- center: ['50%', '50%'],
- //roseType: 'radius',
- data: dataAry.sort(function (a, b) { return a.value - b.value; }),
- emphasis: {
- itemStyle: {
- shadowBlur: 10,
- shadowOffsetX: 0,
- shadowColor: 'rgba(0, 0, 0, 0.5)'
- }
- }
- }
- ]
- };
- myChart.setOption(option);
- }
- function createEnergyCompareChart($,id,ary1,ary2){
- var myChart = echarts.init($('#'+id)[0],'light');
- var option = {
- color: ['#003366', '#e5323e'],
- legend:{
- icon:'circle',
- bottom:0,
- textStyle:{
- color:'#666'
- }
- },
- tooltip: {
- trigger: 'axis',
- axisPointer: { // 坐标轴指示器,坐标轴触发有效
- type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
- }
- },
- grid: {
- left: '3%',
- right: '4%',
- bottom: '30',
- containLabel: true
- },
- xAxis: [
- {
- type: 'category',
- data: ['天然气', '电', '汽油', '柴油', '液化气','标煤','水'],
- axisTick: {
- alignWithLabel: true
- }
- }
- ],
- yAxis: [
- {
- type: 'value',
- name:'消耗量'
- }
- ],
- series: [
- {
- name: '本年累计',
- type: 'bar',
- barGap: 0,
- data: ary1
- },
- {
- name: '去年同期累计',
- type: 'bar',
- data: ary2
- }
- ]
- };
- myChart.setOption(option);
- }
- function createCostRatioChart($,id,ary1,ary2){
- var myChart = echarts.init($('#'+id)[0],'light');
- var option = {
- color: ['#003366', '#e5323e'],
- legend:{
- icon:'circle',
- bottom:0,
- textStyle:{
- color:'#666'
- }
- },
- tooltip: {
- trigger: 'axis',
- axisPointer: { // 坐标轴指示器,坐标轴触发有效
- type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
- }
- },
- grid: {
- left: '3%',
- right: '4%',
- bottom: '30',
- containLabel: true
- },
- xAxis: [
- {
- type: 'category',
- data: ['天然气', '电', '汽油', '柴油', '液化气'],
- axisTick: {
- alignWithLabel: true
- }
- }
- ],
- yAxis: [
- {
- type: 'value',
- name:'消耗费用(万元)'
- }
- ],
- series: [
- {
- name: '本年累计',
- type: 'bar',
- barGap: 0,
- data: ary1
- },
- {
- name: '上年同期累计',
- type: 'bar',
- data: ary2
- }
- ]
- };
- myChart.setOption(option);
- }
- function createChart($,id,ary1,ary2){
- for(var i=0,len=ary1.length;i<len;i++){
- if(parseFloat(ary1[i])==0){
- ary1[i]='';
- }
- }
- for(var i=0,len=ary2.length;i<len;i++){
- if(parseFloat(ary2[i])==0){
- ary2[i]='';
- }
- }
- var myChart = echarts.init($('#'+id)[0],'light');
- var option = {
-
- legend:{
- icon:'circle',
- bottom:5,
- textStyle:{
- color:'#666'
- }
- },
- grid:{
- show:true,
- borderColor:'#406f9f',
- top:35,
- right:15
- },
- tooltip: {
- trigger: 'axis',
- formatter: function(params) {
- var res = "<div><p>" + params[0].name + "月</p></div>";
- for (var i = 0; i < params.length; i++) {
- if (params[i].data != undefined) {
- res +=
- "<p>" + params[i].marker + params[i].seriesName + ":" + params[i].data + "</p>";
- }
- }
- return res;
- }
- },
- textStyle: {
- color: 'rgba(0, 0, 0, 0.9)'
- },
- xAxis: {
- type: 'category',
- boundaryGap: false,
- axisLine:{
- lineStyle:{
- color:'#406f9f'
- }
- },
- data: ['1','2','3','4','5','6', '7', '8', '9', '10', '11', '12']
-
- },
- yAxis: {
- type: 'value',
- name:'井次',
- axisLine:{
- lineStyle:{
- color:'#406f9f'
- }
- },
- splitLine:{
- lineStyle:{
- color:'#4e8dcc'
- }
- }
- },
- series: [
- {
- name: '本年',
- type: 'line',
- //stack: '总量',
- data:ary1
- },
- {
- name: '上一年',
- type: 'line',
- //stack: '总量',
- data: ary2
- }]
- };
- myChart.setOption(option);
- /*setTimeout(function (){
- window.onresize = function () {
- myChart.resize();
- }
- },200);*/
- // setTimeout(function(){myChart.resize();},200);
- }
- function createMonthGrpNgasChart($,id,ary1,ary2,yUnit){
- var myChart = echarts.init($('#'+id)[0],'light');
- var option = {
- color: ['#003366', '#e5323e'],
- legend:{
- icon:'circle',
- bottom:0,
- textStyle:{
- color:'#666'
- }
- },
- tooltip: {
- trigger: 'axis',
- axisPointer: { // 坐标轴指示器,坐标轴触发有效
- type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
- }
- },
- grid: {
- left: '3%',
- right: '4%',
- bottom: '30',
- containLabel: true
- },
- xAxis: [
- {
- type: 'category',
- data: ['1','2','3','4','5','6', '7', '8', '9', '10', '11', '12'],
- axisTick: {
- alignWithLabel: true
- }
- }
- ],
- yAxis: [
- {
- type: 'value',
- name:yUnit
- }
- ],
- series: [
- {
- name: '本年',
- type: 'bar',
- barGap: 0,
- data: ary1
- },
- {
- name: '上一年',
- type: 'bar',
- data: ary2
- }
- ]
- };
- myChart.setOption(option);
- }
- function create2SeriesChart($,id,ary1,ary2,yunit){
- ary1=ary1||[];
- ary2=ary2||[];
- for(var i=0,len=ary1.length;i<len;i++){
- if(parseFloat(ary1[i])==0){
- ary1[i]='';
- }
- }
- for(var i=0,len=ary2.length;i<len;i++){
- if(parseFloat(ary2[i])==0){
- ary2[i]='';
- }
- }
- var myChart = echarts.init($('#'+id)[0],'light');
- var option = {
-
- legend:{
- icon:'circle',
- bottom:5,
- textStyle:{
- color:'#666'
- }
- },
- grid:{
- show:true,
- borderColor:'#406f9f',
- top:35,
- right:15
- },
- tooltip: {
- trigger: 'axis',
- formatter: function(params) {
- var res = "<div><p>" + params[0].name + "月</p></div>";
- for (var i = 0; i < params.length; i++) {
- if (params[i].data != undefined) {
- res +=
- "<p>" + params[i].marker + params[i].seriesName + ":" + params[i].data + "</p>";
- }
- }
- return res;
- }
- },
- textStyle: {
- color: 'rgba(0, 0, 0, 0.9)'
- },
- xAxis: {
- type: 'category',
- boundaryGap: false,
- axisLine:{
- lineStyle:{
- color:'#406f9f'
- }
- },
- data: ['1','2','3','4','5','6', '7', '8', '9', '10', '11', '12']
-
- },
- yAxis: {
- type: 'value',
- name:yunit,
- axisLine:{
- lineStyle:{
- color:'#406f9f'
- }
- },
- splitLine:{
- lineStyle:{
- color:'#4e8dcc'
- }
- }
- },
- series: [
- {
- name: "本年",
- type: 'line',
- connectNulls:true,
- data:ary1
- },
- {
- name: "上一年",
- type: 'line',
- connectNulls:true,
- data:ary2
- }]
- };
- myChart.setOption(option);
- }
|