|
@@ -4,16 +4,17 @@
|
|
|
<el-col :span="4" :xs="24">
|
|
|
<div class="head-container">
|
|
|
<el-input v-model="areaName" placeholder="请输入区域名称" clearable size="small" prefix-icon="el-icon-search"
|
|
|
- style="margin-bottom: 20px" />
|
|
|
+ style="margin-bottom: 20px"/>
|
|
|
</div>
|
|
|
<div class="head-container" style="height: 100vh; overflow: hidden; position: relative;">
|
|
|
<el-tree :data="areaOptions" :props="defaultProps" :expand-on-click-node="false"
|
|
|
:filter-node-method="filterNode" ref="tree" node-key="id" default-expand-all highlight-current
|
|
|
- @node-click="handleNodeClick" style="height: calc(100vh - 50px); overflow-y: auto;" />
|
|
|
+ @node-click="handleNodeClick" style="height: calc(100vh - 50px); overflow-y: auto;"/>
|
|
|
</div>
|
|
|
</el-col>
|
|
|
<el-col :span="20" :xs="24">
|
|
|
- <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
|
|
+ <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch"
|
|
|
+ label-width="68px">
|
|
|
<el-form-item label="开始日期" prop="date">
|
|
|
<el-date-picker clearable
|
|
|
v-model="queryParams.startRecTime"
|
|
@@ -43,15 +44,19 @@
|
|
|
<span>{{ parseTime(scope.row.date, '{y}-{m}-{d}') }}</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="碳排放量(kg)" align="center" prop="caEmissionQuantity"/>
|
|
|
+ <el-table-column label="碳排放量(kg)" align="center" prop="caEmissionQuantity">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span>{{ scope.row.caEmissionQuantity }} {{ calcTrend(scope.row) }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
</el-table>
|
|
|
|
|
|
<pagination
|
|
|
- v-show="total>0"
|
|
|
- :total="total"
|
|
|
- :page.sync="queryParams.pageNum"
|
|
|
- :limit.sync="queryParams.pageSize"
|
|
|
- @pagination="getList"
|
|
|
+ v-show="total>0"
|
|
|
+ :total="total"
|
|
|
+ :page.sync="queryParams.pageNum"
|
|
|
+ :limit.sync="queryParams.pageSize"
|
|
|
+ @pagination="getList"
|
|
|
/>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
@@ -59,8 +64,9 @@
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-import {addCaMeterD, delCaMeterD, getCaMeterD, listCaMeterD, updateCaMeterD} from "@/api/ca/caMeterD";
|
|
|
-import { areaTreeByFacsCategory } from '@/api/basecfg/area'
|
|
|
+import {listCaMeterD, qryAvgCaMeterD} from "@/api/ca/caMeterD";
|
|
|
+import {areaTreeByFacsCategory} from '@/api/basecfg/area'
|
|
|
+import {array2Map} from "@/utils";
|
|
|
|
|
|
export default {
|
|
|
name: "CaMeterD",
|
|
@@ -92,6 +98,7 @@ export default {
|
|
|
children: "children",
|
|
|
label: "label"
|
|
|
},
|
|
|
+ areaAvgMap: {},
|
|
|
// 查询参数
|
|
|
queryParams: {
|
|
|
pageNum: 1,
|
|
@@ -120,13 +127,27 @@ export default {
|
|
|
},
|
|
|
methods: {
|
|
|
/** 查询碳计量日列表 */
|
|
|
- getList() {
|
|
|
+ async getList() {
|
|
|
this.loading = true;
|
|
|
- listCaMeterD(this.queryParams).then(response => {
|
|
|
- this.caMeterDList = response.rows;
|
|
|
- this.total = response.total;
|
|
|
- this.loading = false;
|
|
|
- });
|
|
|
+ const {data} = await qryAvgCaMeterD()
|
|
|
+ this.areaAvgMap = array2Map(data, 'areaCode')
|
|
|
+ const {rows, total} = await listCaMeterD(this.queryParams)
|
|
|
+ this.caMeterDList = rows;
|
|
|
+ this.total = total;
|
|
|
+ this.loading = false;
|
|
|
+ },
|
|
|
+ calcTrend(row) {
|
|
|
+ const {areaCode, caEmissionQuantity} = row
|
|
|
+ if (!this.areaAvgMap[areaCode] || !this.areaAvgMap[areaCode].caEmissionQuantity || !caEmissionQuantity) {
|
|
|
+ return ''
|
|
|
+ }
|
|
|
+ if (caEmissionQuantity > this.areaAvgMap[areaCode].caEmissionQuantity) {
|
|
|
+ return "↑"
|
|
|
+ }
|
|
|
+ if (caEmissionQuantity < this.areaAvgMap[areaCode].caEmissionQuantity) {
|
|
|
+ return "↓"
|
|
|
+ }
|
|
|
+ return "-"
|
|
|
},
|
|
|
// 取消按钮
|
|
|
cancel() {
|
|
@@ -155,7 +176,7 @@ export default {
|
|
|
this.handleQuery();
|
|
|
},
|
|
|
// 查询区域列表
|
|
|
- async getAreaList () {
|
|
|
+ async getAreaList() {
|
|
|
await areaTreeByFacsCategory(this.facsCategory, this.facsSubCategory, false).then(response => {
|
|
|
this.areaOptions = [{
|
|
|
id: '-1',
|
|
@@ -187,12 +208,12 @@ export default {
|
|
|
return `${year}-${month}-${day}`
|
|
|
},
|
|
|
// 筛选节点
|
|
|
- filterNode (value, data) {
|
|
|
+ filterNode(value, data) {
|
|
|
if (!value) return true
|
|
|
return data.label.indexOf(value) !== -1
|
|
|
},
|
|
|
// 节点单击事件
|
|
|
- handleNodeClick (data) {
|
|
|
+ handleNodeClick(data) {
|
|
|
this.queryParams.areaCode = data.id
|
|
|
this.getList()
|
|
|
},
|