|
@@ -1,32 +1,40 @@
|
|
|
<script>
|
|
|
-import apiCarbonPrint from "@/api/carbon/apiCarbonPrint";
|
|
|
+import apiCarbonOverview from "@/api/carbon/apiCarbonOverview";
|
|
|
+import apiCarbonCar from "@/api/carbon/apiCarbonCar";
|
|
|
import apiCarbonPv from "@/api/carbon/apiCarbonPv";
|
|
|
|
|
|
export default {
|
|
|
data() {
|
|
|
return {
|
|
|
+ seriesData: {
|
|
|
+ name: '',
|
|
|
+ data: [],
|
|
|
+ type: 'line',
|
|
|
+ smooth: true,
|
|
|
+ showSymbol:false,
|
|
|
+ symbolSize: 1,
|
|
|
+ lineStyle: {
|
|
|
+ width: 1,
|
|
|
+ },
|
|
|
+ emphasis: {
|
|
|
+ scale:1.5
|
|
|
+ }
|
|
|
+ },
|
|
|
+ show: false,
|
|
|
option: {
|
|
|
legend: {
|
|
|
data: [
|
|
|
- '中迅',
|
|
|
- '北京规划院',
|
|
|
- '郑分',
|
|
|
- '广分',
|
|
|
- '上分',
|
|
|
- '成分',
|
|
|
+
|
|
|
],
|
|
|
selected: {
|
|
|
- '中迅': false,
|
|
|
- '北京规划院': true,
|
|
|
- '郑分': false,
|
|
|
- '广分': false,
|
|
|
- '上分': false,
|
|
|
- '成分': false,
|
|
|
- }
|
|
|
+
|
|
|
+ },
|
|
|
+ type: "scroll",
|
|
|
+ width: '80%'
|
|
|
},
|
|
|
grid: {
|
|
|
left: '0%', //默认10%
|
|
|
- right: '1%', //默认10%
|
|
|
+ right: '20px', //默认10%
|
|
|
bottom: '20px', //默认60
|
|
|
top: '60px',
|
|
|
containLabel: true
|
|
@@ -37,10 +45,10 @@ export default {
|
|
|
},
|
|
|
yAxis: [
|
|
|
{
|
|
|
- name: '排放量',
|
|
|
+ name: '排放量(tCO2e)',
|
|
|
type: 'value',
|
|
|
nameTextStyle: {
|
|
|
- padding: [10, 0, 10, -12]
|
|
|
+ padding: [0, 0, 0, 50]
|
|
|
},
|
|
|
},
|
|
|
],
|
|
@@ -63,125 +71,22 @@ export default {
|
|
|
},
|
|
|
backgroundColor: 'rgba(0,0,0,0.8)',
|
|
|
},
|
|
|
- series: [
|
|
|
- {
|
|
|
- name: '中迅',
|
|
|
- data: [],
|
|
|
- type: 'line',
|
|
|
- smooth: true,
|
|
|
- showSymbol:false,
|
|
|
- symbolSize: 6,
|
|
|
- lineStyle: {
|
|
|
- color: "#FDB65B",
|
|
|
- width: 1,
|
|
|
- },
|
|
|
- itemStyle: {
|
|
|
- color: "#FDB65B"
|
|
|
- },
|
|
|
- emphasis: {
|
|
|
- scale:1.5
|
|
|
- }
|
|
|
- },
|
|
|
- {
|
|
|
- name: '北京规划院',
|
|
|
- data: [],
|
|
|
- type: 'line',
|
|
|
- smooth: true,
|
|
|
- showSymbol:false,
|
|
|
- lineStyle: {
|
|
|
- color: "#62CC97",
|
|
|
- width: 3,
|
|
|
- },
|
|
|
- itemStyle: {
|
|
|
- color: "#62CC97"
|
|
|
- },
|
|
|
- emphasis: {
|
|
|
- scale:1.5
|
|
|
- },
|
|
|
- },
|
|
|
- {
|
|
|
- name: '郑分',
|
|
|
- data: [],
|
|
|
- type: 'line',
|
|
|
- smooth: true,
|
|
|
- showSymbol:false,
|
|
|
- lineStyle: {
|
|
|
- color: "#4D94FF",
|
|
|
- width: 1,
|
|
|
- },
|
|
|
- itemStyle: {
|
|
|
- color: "#4D94FF"
|
|
|
- },
|
|
|
- emphasis: {
|
|
|
- scale:1.5
|
|
|
- },
|
|
|
- },
|
|
|
- {
|
|
|
- name: '广分',
|
|
|
- data: [],
|
|
|
- type: 'line',
|
|
|
- smooth: true,
|
|
|
- showSymbol:false,
|
|
|
- lineStyle: {
|
|
|
- color: "#4DF5FF",
|
|
|
- width: 1,
|
|
|
- },
|
|
|
- itemStyle: {
|
|
|
- color: "#4DF5FF"
|
|
|
- },
|
|
|
- emphasis: {
|
|
|
- scale:1.5
|
|
|
- },
|
|
|
- },
|
|
|
- {
|
|
|
- name: '上分',
|
|
|
- data: [],
|
|
|
- type: 'line',
|
|
|
- smooth: true,
|
|
|
- showSymbol:false,
|
|
|
- lineStyle: {
|
|
|
- color: "#FF6E4D",
|
|
|
- width: 1,
|
|
|
- },
|
|
|
- itemStyle: {
|
|
|
- color: "#FF6E4D"
|
|
|
- },
|
|
|
- emphasis: {
|
|
|
- scale:1.5
|
|
|
- },
|
|
|
- },
|
|
|
- {
|
|
|
- name: '成分',
|
|
|
- data: [],
|
|
|
- type: 'line',
|
|
|
- smooth: true,
|
|
|
- showSymbol:false,
|
|
|
- lineStyle: {
|
|
|
- color: "#8B4DFF",
|
|
|
- width: 1,
|
|
|
- },
|
|
|
- itemStyle: {
|
|
|
- color: "#8B4DFF"
|
|
|
- },
|
|
|
- emphasis: {
|
|
|
- scale:1.5
|
|
|
- },
|
|
|
- }
|
|
|
- ]
|
|
|
+ series: []
|
|
|
},
|
|
|
}
|
|
|
},
|
|
|
props: {
|
|
|
height: Number,
|
|
|
- queryData: Object
|
|
|
+ queryData: Object,
|
|
|
+ callBackCompanyOption: Function,
|
|
|
},
|
|
|
mounted() {
|
|
|
this.$nextTick(()=>{
|
|
|
- this.initChart();
|
|
|
+ this.init();
|
|
|
})
|
|
|
},
|
|
|
methods: {
|
|
|
- initChart() {
|
|
|
+ init() {
|
|
|
let chart = this.$echarts.init(this.$refs.myChart)
|
|
|
this.chart = chart;
|
|
|
this.$util.chartsResize(this.chart);
|
|
@@ -190,7 +95,40 @@ export default {
|
|
|
},
|
|
|
getData() {
|
|
|
return apiCarbonPv.getPhotovoltaicInfo(this.queryData).then(res=>{
|
|
|
- let data = this.$util.dataUtil.covertDataToEcharts(res, ['zhongxun','guihuayuanBJ','zhengfen','guangfen','shangfen','chengfen'])
|
|
|
+ let names = [];
|
|
|
+ if (res.length>0) {
|
|
|
+ let obj = res[0].jsonObject;
|
|
|
+ for (const objKey in obj) {
|
|
|
+ names.push(objKey);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ this.option.legend.data = names;
|
|
|
+ let series = [];
|
|
|
+ let selected = {};
|
|
|
+ let comoptions = [];
|
|
|
+ for (let i = 0; i < names.length; i++) {
|
|
|
+ let obj = JSON.parse(JSON.stringify(this.seriesData));
|
|
|
+ obj.name = names[i];
|
|
|
+ series.push(obj);
|
|
|
+
|
|
|
+ let opt = {
|
|
|
+ label: names[i],
|
|
|
+ value: i+1,
|
|
|
+ }
|
|
|
+ comoptions.push(opt)
|
|
|
+ selected[names[i]+''] = false;
|
|
|
+ }
|
|
|
+ if (this.queryData.companyId != '0') {
|
|
|
+ let name = names[Number(this.queryData.companyId)-1];
|
|
|
+ selected[name] = true;
|
|
|
+ } else {
|
|
|
+ let name = names[0];
|
|
|
+ selected[name] = true;
|
|
|
+ }
|
|
|
+ this.option.legend.selected = selected;
|
|
|
+ this.callBackCompanyOption(comoptions)
|
|
|
+ this.option.series = series;
|
|
|
+ let data = this.$util.dataUtil.covertDataToEcharts(res, names)
|
|
|
this.$util.dataUtil.refreshEchartsData(this.chart, this.option, data)
|
|
|
})
|
|
|
}
|
|
@@ -199,7 +137,7 @@ export default {
|
|
|
</script>
|
|
|
|
|
|
<template>
|
|
|
- <div id="personTrendChart" style="width: 100%" :style="{height: height+'px'}" ref="myChart" ></div>
|
|
|
+ <div class="myChart" style="width: 100%" :style="{height: height+'px'}" ref="myChart" ></div>
|
|
|
</template>
|
|
|
|
|
|
<style lang="less" scoped>
|