Selaa lähdekoodia

* 更改能源管理大屏的使用的模型

chen.cheng 1 kuukausi sitten
vanhempi
commit
b190bd73b7

+ 1 - 13
ems-ui-cloud/src/views/analysis/power/consume.vue

@@ -35,15 +35,6 @@
                 <!-- 图表容器 -->
                 <BaseChart width="100%" height="380px" :option="powerUseOptions"/>
               </div>
-              <div>
-                <SubTitle title="能耗总览"/>
-                <el-table border stripe show-summary :data="tableData" style="width: 100%;margin-top: 20px;">
-                  <el-table-column prop="name" align="center" label="设施名称">
-                  </el-table-column>
-                  <el-table-column prop="value" align="center" label="能耗(kW·h)">
-                  </el-table-column>
-                </el-table>
-              </div>
             </div>
 
           </el-card>
@@ -527,6 +518,7 @@ export default {
       this.selectedLabel = data.label
       this.getPowerChart()
       this.getDayMaxLoad()
+      this.getSumBySubCategoryH();
     },
     changeTimeRange(rangeType) {
       this.selectedTimeRange = rangeType;
@@ -558,10 +550,6 @@ export default {
         facsCategory: this.queryParams.facsCategory,
       };
       listByFacs(params).then(response => {
-        this.tableData = response.data.map(item => ({
-          name: item.objName,
-          value: item.quantity || 0
-        }))
         this.processDataForChart(response.data); // 处理数据并生成图表配置
       })
 

+ 175 - 118
ems-ui-cloud/src/views/analysis/report/statement-warn.vue

@@ -1,136 +1,163 @@
 <template>
   <div class="app-container">
-    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
-      <el-form-item label="区域名称" prop="areaCode">
-        <el-input
-            v-model="queryParams.areaName"
-            placeholder="请输入区域名称"
-            clearable
-            @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="日期" prop="date">
-        <el-date-picker clearable
-                        v-model="queryParams.date"
-                        type="date"
-                        value-format="yyyy-MM-dd"
-                        placeholder="请选择日期">
-        </el-date-picker>
-      </el-form-item>
-      <el-form-item>
-        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
-        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
-      </el-form-item>
-    </el-form>
+    <el-row :gutter="10">
+      <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"/>
+        </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;"/>
+        </div>
+      </el-col>
+      <el-col :span="20" :xs="24">
+        <el-card>
+          <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch"
+                   label-width="68px">
+            <!--            <el-form-item label="区域名称" prop="areaCode">-->
+            <!--              <el-input-->
+            <!--                v-model="queryParams.areaName"-->
+            <!--                placeholder="请输入区域名称"-->
+            <!--                clearable-->
+            <!--                @keyup.enter.native="handleQuery"-->
+            <!--              />-->
+            <!--            </el-form-item>-->
+            <el-form-item label="日期" prop="date">
+              <el-date-picker clearable
+                              v-model="queryParams.date"
+                              type="date"
+                              value-format="yyyy-MM-dd"
+                              placeholder="请选择日期">
+              </el-date-picker>
+            </el-form-item>
+            <el-form-item>
+              <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+              <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+              <el-button
+                type="warning"
+                plain
+                icon="el-icon-download"
+                size="mini"
+                @click="handleExport"
+              >导出
+              </el-button>
+            </el-form-item>
+          </el-form>
 
-    <el-row :gutter="10" class="mb8">
-      <!--      <el-col :span="1.5">-->
-      <!--        <el-button-->
-      <!--          type="primary"-->
-      <!--          plain-->
-      <!--          icon="el-icon-plus"-->
-      <!--          size="mini"-->
-      <!--          @click="handleAdd"-->
-      <!--          v-hasPermi="['ems:EmsEcoD:add']"-->
-      <!--        >新增</el-button>-->
-      <!--      </el-col>-->
-      <!--      <el-col :span="1.5">-->
-      <!--        <el-button-->
-      <!--          type="success"-->
-      <!--          plain-->
-      <!--          icon="el-icon-edit"-->
-      <!--          size="mini"-->
-      <!--          :disabled="single"-->
-      <!--          @click="handleUpdate"-->
-      <!--          v-hasPermi="['ems:EmsEcoD:edit']"-->
-      <!--        >修改</el-button>-->
-      <!--      </el-col>-->
-      <!--      <el-col :span="1.5">-->
-      <!--        <el-button-->
-      <!--          type="danger"-->
-      <!--          plain-->
-      <!--          icon="el-icon-delete"-->
-      <!--          size="mini"-->
-      <!--          :disabled="multiple"-->
-      <!--          @click="handleDelete"-->
-      <!--          v-hasPermi="['ems:EmsEcoD:remove']"-->
-      <!--        >删除</el-button>-->
-      <!--      </el-col>-->
-      <!--      <el-col :span="1.5">-->
-      <!--        <el-button-->
-      <!--          type="warning"-->
-      <!--          plain-->
-      <!--          icon="el-icon-download"-->
-      <!--          size="mini"-->
-      <!--          @click="handleExport"-->
-      <!--          v-hasPermi="['ems:EmsEcoD:export']"-->
-      <!--        >导出</el-button>-->
-      <!--      </el-col>-->
-      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
-    </el-row>
+<!--          <el-row :gutter="10" class="mb8">-->
+<!--            &lt;!&ndash;      <el-col :span="1.5">&ndash;&gt;-->
+<!--            &lt;!&ndash;        <el-button&ndash;&gt;-->
+<!--            &lt;!&ndash;          type="primary"&ndash;&gt;-->
+<!--            &lt;!&ndash;          plain&ndash;&gt;-->
+<!--            &lt;!&ndash;          icon="el-icon-plus"&ndash;&gt;-->
+<!--            &lt;!&ndash;          size="mini"&ndash;&gt;-->
+<!--            &lt;!&ndash;          @click="handleAdd"&ndash;&gt;-->
+<!--            &lt;!&ndash;          v-hasPermi="['ems:EmsEcoD:add']"&ndash;&gt;-->
+<!--            &lt;!&ndash;        >新增</el-button>&ndash;&gt;-->
+<!--            &lt;!&ndash;      </el-col>&ndash;&gt;-->
+<!--            &lt;!&ndash;      <el-col :span="1.5">&ndash;&gt;-->
+<!--            &lt;!&ndash;        <el-button&ndash;&gt;-->
+<!--            &lt;!&ndash;          type="success"&ndash;&gt;-->
+<!--            &lt;!&ndash;          plain&ndash;&gt;-->
+<!--            &lt;!&ndash;          icon="el-icon-edit"&ndash;&gt;-->
+<!--            &lt;!&ndash;          size="mini"&ndash;&gt;-->
+<!--            &lt;!&ndash;          :disabled="single"&ndash;&gt;-->
+<!--            &lt;!&ndash;          @click="handleUpdate"&ndash;&gt;-->
+<!--            &lt;!&ndash;          v-hasPermi="['ems:EmsEcoD:edit']"&ndash;&gt;-->
+<!--            &lt;!&ndash;        >修改</el-button>&ndash;&gt;-->
+<!--            &lt;!&ndash;      </el-col>&ndash;&gt;-->
+<!--            &lt;!&ndash;      <el-col :span="1.5">&ndash;&gt;-->
+<!--            &lt;!&ndash;        <el-button&ndash;&gt;-->
+<!--            &lt;!&ndash;          type="danger"&ndash;&gt;-->
+<!--            &lt;!&ndash;          plain&ndash;&gt;-->
+<!--            &lt;!&ndash;          icon="el-icon-delete"&ndash;&gt;-->
+<!--            &lt;!&ndash;          size="mini"&ndash;&gt;-->
+<!--            &lt;!&ndash;          :disabled="multiple"&ndash;&gt;-->
+<!--            &lt;!&ndash;          @click="handleDelete"&ndash;&gt;-->
+<!--            &lt;!&ndash;          v-hasPermi="['ems:EmsEcoD:remove']"&ndash;&gt;-->
+<!--            &lt;!&ndash;        >删除</el-button>&ndash;&gt;-->
+<!--            &lt;!&ndash;      </el-col>&ndash;&gt;-->
+
+<!--            <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>-->
+<!--          </el-row>-->
 
-    <el-table v-loading="loading" :data="pvAlarmHList">
+          <el-table v-loading="loading" :data="pvAlarmHList">
 
-      <el-table-column label="时间" align="center" prop="time">
-        <template slot-scope="scope">
-          <span>{{ scope.row.alarmTime }}</span>
-        </template>
-      </el-table-column>
-      <el-table-column label="区域名称" align="center" prop="areaName"/>
-      <el-table-column label="子系统名称" align="center" prop="subSystemName"/>
-      <el-table-column label="告警内容" align="center" prop="alarmMsg"/>
-    </el-table>
-    <pagination
-        v-show="total>0"
-        :total="total"
-        :page.sync="queryParams.pageNum"
-        :limit.sync="queryParams.pageSize"
-        @pagination="getList"
-    />
+            <el-table-column label="时间" align="center" prop="time">
+              <template slot-scope="scope">
+                <span>{{ scope.row.alarmTime }}</span>
+              </template>
+            </el-table-column>
+            <el-table-column label="区域名称" align="center" prop="areaName"/>
+            <el-table-column label="子系统名称" align="center" prop="subSystemName"/>
+            <el-table-column label="告警内容" align="center" prop="alarmMsg"/>
+          </el-table>
+          <pagination
+            v-show="total>0"
+            :total="total"
+            :page.sync="queryParams.pageNum"
+            :limit.sync="queryParams.pageSize"
+            @pagination="getList"
+          />
 
-    <!-- 添加或修改节能计量日对话框 -->
-    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
-      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
-        <el-form-item label="园区代码" prop="areaCode">
-          <el-input v-model="form.areaCode" placeholder="请输入园区代码"/>
-        </el-form-item>
-        <el-form-item label="日期" prop="date">
-          <el-date-picker clearable
-                          v-model="form.date"
-                          type="date"
-                          value-format="yyyy-MM-dd"
-                          placeholder="请选择日期">
-          </el-date-picker>
-        </el-form-item>
-        <el-form-item label="节电(千瓦时)" prop="elecEcoQuantity">
-          <el-input v-model="form.elecEcoQuantity" placeholder="请输入节电"/>
-        </el-form-item>
-        <el-form-item label="节电金额(元)" prop="elecEcoCost">
-          <el-input v-model="form.elecEcoCost" placeholder="请输入节电金额"/>
-        </el-form-item>
-        <el-form-item label="节水量 (吨)" prop="waterEcoQuantity">
-          <el-input v-model="form.waterEcoQuantity" placeholder="请输入节水量 "/>
-        </el-form-item>
-        <el-form-item label="节水金额(元)" prop="waterEcoCost">
-          <el-input v-model="form.waterEcoCost" placeholder="请输入节水金额"/>
-        </el-form-item>
-      </el-form>
-      <div slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="submitForm">确 定</el-button>
-        <el-button @click="cancel">取 消</el-button>
-      </div>
-    </el-dialog>
+          <!-- 添加或修改节能计量日对话框 -->
+          <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
+            <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+              <el-form-item label="园区代码" prop="areaCode">
+                <el-input v-model="form.areaCode" placeholder="请输入园区代码"/>
+              </el-form-item>
+              <el-form-item label="日期" prop="date">
+                <el-date-picker clearable
+                                v-model="form.date"
+                                type="date"
+                                value-format="yyyy-MM-dd"
+                                placeholder="请选择日期">
+                </el-date-picker>
+              </el-form-item>
+              <el-form-item label="节电(千瓦时)" prop="elecEcoQuantity">
+                <el-input v-model="form.elecEcoQuantity" placeholder="请输入节电"/>
+              </el-form-item>
+              <el-form-item label="节电金额(元)" prop="elecEcoCost">
+                <el-input v-model="form.elecEcoCost" placeholder="请输入节电金额"/>
+              </el-form-item>
+              <el-form-item label="节水量 (吨)" prop="waterEcoQuantity">
+                <el-input v-model="form.waterEcoQuantity" placeholder="请输入节水量 "/>
+              </el-form-item>
+              <el-form-item label="节水金额(元)" prop="waterEcoCost">
+                <el-input v-model="form.waterEcoCost" placeholder="请输入节水金额"/>
+              </el-form-item>
+            </el-form>
+            <div slot="footer" class="dialog-footer">
+              <el-button type="primary" @click="submitForm">确 定</el-button>
+              <el-button @click="cancel">取 消</el-button>
+            </div>
+          </el-dialog>
+        </el-card>
+      </el-col>
+    </el-row>
   </div>
 </template>
 
 <script>
 import {addEmsEcoD, delEmsEcoD, getEmsEcoD, updateEmsEcoD} from "@/api/ems/EmsEcoD";
 import {listAlarmInfo} from "@/api/alarm/alarm-info";
+import {areaTreeByFacsCategory} from "@/api/basecfg/area";
 
 export default {
   name: "EmsEcoD",
   data() {
     return {
+      areaName: undefined,
+      defaultProps: {
+        children: "children",
+        label: "label"
+      },
+      // 表单参数
+      areaOptions: [],
+      facsCategory: 'E',
+      facsSubCategory: '',
       // 遮罩层
       loading: true,
       // 选中数组
@@ -170,10 +197,29 @@ export default {
       }
     };
   },
-  created() {
+  async created() {
+    await this.getAreaList()
     this.getList();
   },
+  watch: {
+    // 根据名称筛选区域树
+    areaName(val) {
+      this.$refs.tree.filter(val)
+    }
+  },
   methods: {
+    // 查询区域列表
+    async getAreaList() {
+      await areaTreeByFacsCategory(this.facsCategory, this.facsSubCategory, false).then(response => {
+        this.areaOptions = [{
+          id: '-1',
+          label: '全部',
+          children: []
+        }].concat(response.data)
+        this.selectedLabel = '全部'
+        this.queryParams.areaCode = '-1'
+      })
+    },
     /** 查询节能计量日列表 */
     getList() {
       this.loading = true;
@@ -265,7 +311,18 @@ export default {
       this.download('ems/EmsEcoD/export', {
         ...this.queryParams
       }, `EmsEcoD_${new Date().getTime()}.xlsx`)
-    }
+    },
+    // 筛选节点
+    filterNode(value, data) {
+      if (!value) return true
+      return data.label.indexOf(value) !== -1
+    },
+    // 节点单击事件
+    handleNodeClick(data) {
+      this.queryParams.areaCode = data.id
+      this.selectedLabel = data.label
+      this.getList()
+    },
   }
 };
 </script>