|
@@ -62,19 +62,22 @@
|
|
|
<BaseChart height="100%" width="100%" :option="pieOptions"/>
|
|
|
</div>
|
|
|
</CusModule>
|
|
|
- <CusModule class="module-top" title="告警信息">
|
|
|
- <div class="seamless-header">
|
|
|
- <div>告警内容</div>
|
|
|
- <div>告警设备</div>
|
|
|
- <div>告警时间</div>
|
|
|
- </div>
|
|
|
- <vue-seamless-scroll :data="listData" class="seamless-warp" :class-option="classOption">
|
|
|
- <div class="seamless-item" v-for="(item, index) in listData" :key="index">
|
|
|
- <div>{{ item.alarmMsg }}</div>
|
|
|
- <div>{{ item.objName }}</div>
|
|
|
- <div>{{ item.alarmTime }}</div>
|
|
|
- </div>
|
|
|
- </vue-seamless-scroll>
|
|
|
+ <!-- <CusModule class="module-top" title="告警信息">-->
|
|
|
+ <!-- <div class="seamless-header">-->
|
|
|
+ <!-- <div>告警内容</div>-->
|
|
|
+ <!-- <div>告警设备</div>-->
|
|
|
+ <!-- <div>告警时间</div>-->
|
|
|
+ <!-- </div>-->
|
|
|
+ <!-- <vue-seamless-scroll :data="listData" class="seamless-warp" :class-option="classOption">-->
|
|
|
+ <!-- <div class="seamless-item" v-for="(item, index) in listData" :key="index">-->
|
|
|
+ <!-- <div>{{ item.alarmMsg }}</div>-->
|
|
|
+ <!-- <div>{{ item.objName }}</div>-->
|
|
|
+ <!-- <div>{{ item.alarmTime }}</div>-->
|
|
|
+ <!-- </div>-->
|
|
|
+ <!-- </vue-seamless-scroll>-->
|
|
|
+ <!-- </CusModule>-->
|
|
|
+ <CusModule class="module-top" title="碳计量">
|
|
|
+ <BaseChart height="350px" width="100%" :option="lineOptions"/>
|
|
|
</CusModule>
|
|
|
</div>
|
|
|
</template>
|
|
@@ -83,13 +86,15 @@ import CusModule from '../components/CusModule.vue';
|
|
|
import BaseChart from '@/components/BaseChart/index.vue'
|
|
|
import vueSeamlessScroll from 'vue-seamless-scroll'
|
|
|
import {mapState} from 'vuex';
|
|
|
+import * as echarts from 'echarts'
|
|
|
import {qryElecMeterByDate, qryWaterMeterByDate} from "@/api/device/elecMeterH";
|
|
|
import {DateTool} from "@/utils/DateTool";
|
|
|
-import {numToStr} from "@/utils";
|
|
|
+import {array2Map, numToStr} from "@/utils";
|
|
|
import {listDeviceStatus, listDeviceType} from "@/api/device/device";
|
|
|
import {listAlarmInfo} from "@/api/alarm/alarm-info";
|
|
|
import {ALARM_STATE} from "@/enums/alarm";
|
|
|
import {ApiCode} from "@/api/apiEmums";
|
|
|
+import {listSumCaMeterD} from "@/api/ca/caMeterD";
|
|
|
|
|
|
export default {
|
|
|
name: 'HomeRight',
|
|
@@ -120,8 +125,8 @@ export default {
|
|
|
singleWidth: 0, // 单步运动停止的宽度(默认值0是无缝不停止的滚动) direction => 2/3
|
|
|
waitTime: 1000 // 单步运动停止
|
|
|
},
|
|
|
- listData: []
|
|
|
-
|
|
|
+ listData: [],
|
|
|
+ lineData: []
|
|
|
}
|
|
|
},
|
|
|
components: {
|
|
@@ -182,6 +187,72 @@ export default {
|
|
|
},
|
|
|
],
|
|
|
}
|
|
|
+ },
|
|
|
+ lineOptions() {
|
|
|
+ return {
|
|
|
+ grid: {
|
|
|
+ top: "10%",
|
|
|
+ bottom: "10%",//也可设置left和right设置距离来控制图表的大小
|
|
|
+ contain: true
|
|
|
+ },
|
|
|
+ tooltip: {
|
|
|
+ trigger: "axis",
|
|
|
+ axisPointer: {
|
|
|
+ type: "shadow",
|
|
|
+ label: {
|
|
|
+ show: true
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ xAxis: {
|
|
|
+ data: this.lineData.map(item => item.xData),
|
|
|
+ axisLine: {
|
|
|
+ show: true, //隐藏X轴轴线
|
|
|
+ },
|
|
|
+ axisTick: {
|
|
|
+ show: true //隐藏X轴刻度
|
|
|
+ },
|
|
|
+ axisLabel: {
|
|
|
+ show: true,
|
|
|
+ },
|
|
|
+
|
|
|
+ },
|
|
|
+ yAxis: [{
|
|
|
+ type: "value",
|
|
|
+ name: "kg",
|
|
|
+ splitLine: {
|
|
|
+ show: true,
|
|
|
+ lineStyle: {
|
|
|
+ color: '#334E5E'
|
|
|
+ }
|
|
|
+ },
|
|
|
+ }],
|
|
|
+ series: [
|
|
|
+ {
|
|
|
+ name: "碳排放量",
|
|
|
+ type: "bar",
|
|
|
+ barWidth: 15,
|
|
|
+ itemStyle: {
|
|
|
+ normal: {
|
|
|
+ color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
|
|
|
+ offset: 0,
|
|
|
+ color: "#21C3E8"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ offset: 0.7,
|
|
|
+ color: "#1484A1"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ offset: 1,
|
|
|
+ color: "#0B2B38"
|
|
|
+ }
|
|
|
+ ])
|
|
|
+ }
|
|
|
+ },
|
|
|
+ data: this.lineData.map(item => item.yData1)
|
|
|
+ },
|
|
|
+ ]
|
|
|
+ }
|
|
|
}
|
|
|
},
|
|
|
watch: {
|
|
@@ -205,6 +276,7 @@ export default {
|
|
|
this.getDeviceStatus()
|
|
|
this.cntListDeviceType()
|
|
|
this.getRealTimeAlarm()
|
|
|
+ this.getListSumCaMeterD()
|
|
|
},
|
|
|
async getElecWaterCost() {
|
|
|
const {data: thisMonthElecMeter} = await qryElecMeterByDate(DateTool.thisMonth(), this.areaType)
|
|
@@ -290,6 +362,20 @@ export default {
|
|
|
}
|
|
|
this.listData = result;
|
|
|
},
|
|
|
+ async getListSumCaMeterD() {
|
|
|
+ const {data} = await listSumCaMeterD({
|
|
|
+ areaCode: this.areaType,
|
|
|
+ startRecTime: DateTool.lastXDay(30),
|
|
|
+ endRecTime: DateTool.now(),
|
|
|
+ })
|
|
|
+ const dates = DateTool.getDayOfRange(DateTool.lastXDay(7), DateTool.now());
|
|
|
+ const mapIndex = array2Map(data, "date");
|
|
|
+
|
|
|
+ this.lineData = dates.map(item => ({
|
|
|
+ xData: item,
|
|
|
+ yData1: mapIndex[item] ? mapIndex[item].caEmissionQuantity?.toFixed(2) : 0
|
|
|
+ }));
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
</script>
|