Selaa lähdekoodia

建筑用能搜索等优化

yuhan 1 vuosi sitten
vanhempi
commit
78d1d8fa31

+ 17 - 12
src/views/module_ems/energyAnalyse/components/commonSearch.vue

@@ -20,21 +20,19 @@
           <a-form-item label="日期" prop="date">
             <a-range-picker
               v-if="type === 'daterange'"
-              v-model="queryParams.date"
-              format="YYYY-MM"
               :placeholder="['开始月份', '结束月份']"
-            >
-            </a-range-picker>
-            <a-date-picker
+              format="YYYY-MM"
+              value-format="yyyy-MM"
+              v-model="queryParams.date"
+              :mode="datarangeMode"
+              @panelChange="handlePanelChange"
+            />
+            <a-month-picker
               v-if="type === 'month'"
               v-model="queryParams.yearMonth"
-              :editable="false"
-              :clearable="false"
               value-format="yyyy-MM"
-              type="month"
               placeholder="选择月"
-            >
-            </a-date-picker>
+            />
             <a-date-picker
               v-if="type === 'day'"
               v-model="queryParams.day"
@@ -56,6 +54,7 @@
 </template>
 
 <script>
+import moment from 'moment'
 import { httpAction, getAction } from '@/api/manage'
 export default {
   name: '',
@@ -71,6 +70,7 @@ export default {
   },
   data() {
     return {
+      datarangeMode: ['month', 'month'],
       showSearch: false,
       queryParams: {
         spaceId: '288348631531521',
@@ -119,8 +119,8 @@ export default {
     /** 搜索按钮操作 */
     handleQuery() {
       // console.log(this.queryParams)
-      this.queryParams.beginTime = this.queryParams.date[0]
-      this.queryParams.endTime = this.queryParams.date[1]
+      this.queryParams.beginTime = moment(this.queryParams.date[0]).format('yyyy-MM')
+      this.queryParams.endTime = moment(this.queryParams.date[1]).format('yyyy-MM')
       this.$emit('search', this.queryParams)
     },
     /** 重置按钮操作 */
@@ -129,6 +129,11 @@ export default {
       this.date = []
       this.handleQuery()
     },
+    // 月份区间选择
+    handlePanelChange(value, mode){
+      this.queryParams.date = value
+      this.mode = [mode[0] === 'date' ? 'month' : mode[0], mode[1] === 'date' ? 'month' : mode[1]];
+    }
   },
 }
 </script>

+ 17 - 11
src/views/module_ems/energyAnalyse/demandAnalysis/index.vue

@@ -1,8 +1,10 @@
 <template>
-  <div class="demand-analysis" :loading="loading">
-    <commonSearch ref="commonSearch" type="daterange" @search="handleSearch"></commonSearch>
-    <div class="item-echarts" ref="echarts" :style="{ height: echartsHeight + 'px' }"></div>
-  </div>
+  <a-spin :spinning="loading">
+    <div class="demand-analysis">
+      <commonSearch ref="commonSearch" type="daterange" @search="handleSearch"></commonSearch>
+      <div class="item-echarts" ref="echarts" :style="{ height: echartsHeight + 'px' }"></div>
+    </div>
+  </a-spin>
 </template>
 
 <script>
@@ -35,18 +37,22 @@ export default {
     })
   },
   methods: {
-    async getDemandanalysis() {
+    getDemandanalysis() {
       this.loading = true
       var data = this.$refs.commonSearch.queryParams
-      console.log(data)
       getAction(this.url.list, data).then((response) => {
-        console.log(response)
-        this.monthsplit = response.result.monthsplit
-        this.mubiao = response.result.mubiao
-        this.shiji = response.result.shiji
+        if(response.success){
+          this.monthsplit = response.result.monthsplit
+          this.mubiao = response.result.mubiao
+          this.shiji = response.result.shiji
+          // this.$message.success(response.message);
+        }else{
+          this.$message.warning(response.message);
+        }
+      }).finally(() => {
+        this.initEcharts()
         this.loading = false
       })
-      this.initEcharts()
     },
     /**
      * @param span series 中最大值与最小值的差值

+ 121 - 114
src/views/module_ems/energyAnalyse/energyDashboard/index.vue

@@ -1,89 +1,91 @@
 <template>
-  <div class="energy-overView" :loading="loading">
-    <commonSearch hasAreaSearch ref="commonSearch" type="nodate" @search="handleSearch"></commonSearch>
-    <div class="top-container u-flex">
-      <div class="louyu u-flex common-box">
-        <div class="common-title">区域基本信息</div>
-        <img src="../../../../assets/louyu.png" alt="" />
-        <a-descriptions :column="2">
-          <a-descriptions-item label="建筑名称">{{ energySpace.name }}</a-descriptions-item>
-          <a-descriptions-item label="建筑面积">{{ energySpace.builtarea }} ㎡</a-descriptions-item>
-          <a-descriptions-item label="空调面积">{{ energySpace.aircondarea }} ㎡</a-descriptions-item>
-          <a-descriptions-item label="采暖面积">{{ energySpace.heatarea }} ㎡</a-descriptions-item>
-          <!-- <el-descriptions-item label="用能人数">{{energySpace.}}</el-descriptions-item> -->
-          <!-- <el-descriptions-item label="建筑年代">{{energySpace.}}</el-descriptions-item> -->
-          <!-- <el-descriptions-item label="建筑用途">{{energySpace.}}</el-descriptions-item> -->
-        </a-descriptions>
-      </div>
-      <div class="sort-top5-container common-box">
-        <div class="common-title">当月用电量TOP5(kWh)</div>
-        <div class="sort-top5" ref="sortTop5"></div>
-      </div>
-      <div class="info-total">
-        <div class="yongdian-xuliang common-box">
-          <div class="common-title">用电需量(kVA)</div>
-          <div class="info-container u-flex-jaa">
-            <div class="item-info">
-              <div class="name">即时需量</div>
-              <div class="value">{{ demandStatistics.jishi }}</div>
-            </div>
-            <!-- <a-divider direction="vertical"></a-divider> -->
-            <div class="item-info">
-              <div class="name">需量峰值</div>
-              <div class="value">{{ demandStatistics.fengzhi }}</div>
-            </div>
-            <!-- <a-divider direction="vertical"></a-divider> -->
-            <div class="item-info">
-              <div class="name">目标需量</div>
-              <div class="value">{{ demandStatistics.mubiao }}</div>
-            </div>
-          </div>
+  <a-spin :spinning="loading">
+    <div class="energy-overView">
+      <commonSearch hasAreaSearch ref="commonSearch" type="nodate" @search="handleSearch"></commonSearch>
+      <div class="top-container u-flex">
+        <div class="louyu u-flex common-box">
+          <div class="common-title">区域基本信息</div>
+          <img src="../../../../assets/louyu.png" alt="" />
+          <a-descriptions :column="2">
+            <a-descriptions-item label="建筑名称">{{ energySpace.name }}</a-descriptions-item>
+            <a-descriptions-item label="建筑面积">{{ energySpace.builtarea }} ㎡</a-descriptions-item>
+            <a-descriptions-item label="空调面积">{{ energySpace.aircondarea }} ㎡</a-descriptions-item>
+            <a-descriptions-item label="采暖面积">{{ energySpace.heatarea }} ㎡</a-descriptions-item>
+            <!-- <el-descriptions-item label="用能人数">{{energySpace.}}</el-descriptions-item> -->
+            <!-- <el-descriptions-item label="建筑年代">{{energySpace.}}</el-descriptions-item> -->
+            <!-- <el-descriptions-item label="建筑用途">{{energySpace.}}</el-descriptions-item> -->
+          </a-descriptions>
+        </div>
+        <div class="sort-top5-container common-box">
+          <div class="common-title">当月用电量TOP5(kWh)</div>
+          <div class="sort-top5" ref="sortTop5"></div>
         </div>
-        <div class="u-flex co2-tianqi">
-          <div class="co2 common-box">
-            <div class="common-title">CO2排放</div>
+        <div class="info-total">
+          <div class="yongdian-xuliang common-box">
+            <div class="common-title">用电需量(kVA)</div>
             <div class="info-container u-flex-jaa">
               <div class="item-info">
-                <div class="name">本月排放(Kg)</div>
-                <div class="value">{{ demandStatistics.co2 }}</div>
+                <div class="name">即时需量</div>
+                <div class="value">{{ demandStatistics.jishi }}</div>
               </div>
-            </div>
-          </div>
-          <div class="tianqi common-box">
-            <div class="common-title">环境信息</div>
-            <div class="info-container u-flex-jaa">
+              <!-- <a-divider direction="vertical"></a-divider> -->
               <div class="item-info">
-                <div class="name">湿度(%)</div>
-                <div class="value">{{ demandStatistics.shidu }}</div>
+                <div class="name">需量峰值</div>
+                <div class="value">{{ demandStatistics.fengzhi }}</div>
               </div>
               <!-- <a-divider direction="vertical"></a-divider> -->
               <div class="item-info">
-                <div class="name">温度(℃)</div>
-                <div class="value">{{ demandStatistics.wendu }}</div>
+                <div class="name">目标需量</div>
+                <div class="value">{{ demandStatistics.mubiao }}</div>
               </div>
             </div>
           </div>
-        </div>
-      </div>
-    </div>
-    <div class="bottom-container u-flex">
-      <div class="xiaohao common-box">
-        <div class="common-title">当月能源消耗总标煤(kg)</div>
-        <div class="zongbiao-chart" ref="zongbiao"></div>
-        <!-- <div class="legend">
-          <div class="u-flex item" v-for="(item, index) in dataLists" :key="index">
-            <div class="text">{{item.name}}</div>
-            <div class="number">{{item.number}}tec</div>
-            <div class="pieValue">{{item.pieValue}}%</div>
+          <div class="u-flex co2-tianqi">
+            <div class="co2 common-box">
+              <div class="common-title">CO2排放</div>
+              <div class="info-container u-flex-jaa">
+                <div class="item-info">
+                  <div class="name">本月排放(Kg)</div>
+                  <div class="value">{{ demandStatistics.co2 }}</div>
+                </div>
+              </div>
+            </div>
+            <div class="tianqi common-box">
+              <div class="common-title">环境信息</div>
+              <div class="info-container u-flex-jaa">
+                <div class="item-info">
+                  <div class="name">湿度(%)</div>
+                  <div class="value">{{ demandStatistics.shidu }}</div>
+                </div>
+                <!-- <a-divider direction="vertical"></a-divider> -->
+                <div class="item-info">
+                  <div class="name">温度(℃)</div>
+                  <div class="value">{{ demandStatistics.wendu }}</div>
+                </div>
+              </div>
+            </div>
           </div>
-        </div> -->
+        </div>
       </div>
-      <div class="qushi common-box">
-        <div class="common-title">总用电趋势图(kWh)</div>
-        <div class="totalEle-trend" ref="totalEleTrend"></div>
+      <div class="bottom-container u-flex">
+        <div class="xiaohao common-box">
+          <div class="common-title">当月能源消耗总标煤(kg)</div>
+          <div class="zongbiao-chart" ref="zongbiao"></div>
+          <!-- <div class="legend">
+            <div class="u-flex item" v-for="(item, index) in dataLists" :key="index">
+              <div class="text">{{item.name}}</div>
+              <div class="number">{{item.number}}tec</div>
+              <div class="pieValue">{{item.pieValue}}%</div>
+            </div>
+          </div> -->
+        </div>
+        <div class="qushi common-box">
+          <div class="common-title">总用电趋势图(kWh)</div>
+          <div class="totalEle-trend" ref="totalEleTrend"></div>
+        </div>
       </div>
     </div>
-  </div>
+  </a-spin>
 </template>
 
 <script>
@@ -141,58 +143,63 @@ export default {
     })
   },
   methods: {
-    async getEnergyoverview() {
+    getEnergyoverview() {
       // {spaceId: 277797283102721}
       this.loading = true
       var data = this.$refs.commonSearch.queryParams
       getAction(this.url.list, data).then((res) => {
-        console.log(res)
-        var listData = res.result
-        // 用电需量
-        this.demandStatistics.jishi = listData.demandStatistics.find((item) => item.type === '即时需量').howManyValue
-        this.demandStatistics.fengzhi = listData.demandStatistics.find((item) => item.type === '需量峰值').howManyValue
-        this.demandStatistics.mubiao = listData.demandStatistics.find((item) => item.type === '目标需量').howManyValue
+        if(res.success){
+          var listData = res.result
+          // 用电需量
+          this.demandStatistics.jishi = listData.demandStatistics.find((item) => item.type === '即时需量').howManyValue
+          this.demandStatistics.fengzhi = listData.demandStatistics.find((item) => item.type === '需量峰值').howManyValue
+          this.demandStatistics.mubiao = listData.demandStatistics.find((item) => item.type === '目标需量').howManyValue
 
-        // co2+气象
-        this.demandStatistics.co2 = listData.environmentStatistics.find((item) => item.type === 'CO2排放').howManyValue
-        this.demandStatistics.shidu = listData.environmentStatistics.find((item) => item.type === '室外湿度')
-          ? listData.environmentStatistics.find((item) => item.type === '室外湿度').howManyValue
-          : ''
-        this.demandStatistics.wendu = listData.environmentStatistics.find((item) => item.type === '室外温度')
-          ? listData.environmentStatistics.find((item) => item.type === '室外温度').howManyValue
-          : ''
+          // co2+气象
+          this.demandStatistics.co2 = listData.environmentStatistics.find((item) => item.type === 'CO2排放').howManyValue
+          this.demandStatistics.shidu = listData.environmentStatistics.find((item) => item.type === '室外湿度')
+            ? listData.environmentStatistics.find((item) => item.type === '室外湿度').howManyValue
+            : ''
+          this.demandStatistics.wendu = listData.environmentStatistics.find((item) => item.type === '室外温度')
+            ? listData.environmentStatistics.find((item) => item.type === '室外温度').howManyValue
+            : ''
 
-        // top5
-        this.sortTop5Name = []
-        this.nowMonthData = []
-        this.lastMonthData = []
-        listData.top5Statistics.forEach((res) => {
-          this.sortTop5Name.push(res.equipmentname)
-          this.nowMonthData.push(res.howManyValue)
-          this.lastMonthData.push(res.howManyValue2)
-        })
+          // top5
+          this.sortTop5Name = []
+          this.nowMonthData = []
+          this.lastMonthData = []
+          listData.top5Statistics.forEach((res) => {
+            this.sortTop5Name.push(res.equipmentname)
+            this.nowMonthData.push(res.howManyValue)
+            this.lastMonthData.push(res.howManyValue2)
+          })
 
-        // 总标煤
-        this.zongbiao = listData.kgceStatistics.map((res) => {
-          var item = {
-            name: res.type,
-            value: res.howManyValue,
-          }
-          return item
-        })
+          // 总标煤
+          this.zongbiao = listData.kgceStatistics.map((res) => {
+            var item = {
+              name: res.type,
+              value: res.howManyValue,
+            }
+            return item
+          })
 
-        this.totalEleTrend.daysplit = listData.daysplit
-        this.totalEleTrend.kongtiao = listData.kongtiao
-        this.totalEleTrend.dongli = listData.dongli
-        this.totalEleTrend.zhaoming = listData.zhaoming
-        this.totalEleTrend.qita = listData.qita
-        this.energySpace = listData.energySpace
-        this.loading = false
-      })
-      this.$nextTick(() => {
-        this.initSortTop5()
-        this.initPieDianliang()
-        this.initTotalEleTrend()
+          this.totalEleTrend.daysplit = listData.daysplit
+          this.totalEleTrend.kongtiao = listData.kongtiao
+          this.totalEleTrend.dongli = listData.dongli
+          this.totalEleTrend.zhaoming = listData.zhaoming
+          this.totalEleTrend.qita = listData.qita
+          this.energySpace = listData.energySpace
+          // this.$message.success(res.message);
+        }else{
+          this.$message.warning(res.message);
+        }
+      }).finally(() => {
+        this.$nextTick(() => {
+          this.initSortTop5()
+          this.initPieDianliang()
+          this.initTotalEleTrend()
+        })
+        this.loading = false;
       })
     },
     handleSearch(param) {

+ 125 - 115
src/views/module_ems/energyAnalyse/energyItem/index.vue

@@ -1,74 +1,76 @@
 <template>
-  <div class="item-zedEnergy" :loading="loading">
-    <commonSearch ref="commonSearch" type="day" @search="handleSearch"></commonSearch>
-    <div class="statistics-container u-flex">
-      <!-- 日 -->
-      <div class="u-flex-cjac item-module">
-        <div class="item-title">日统计</div>
-        <div class="u-flex-jaa info-container">
-          <div class="item-info">
-            <div class="name">当日用能(KWh)</div>
-            <div class="value">{{ itemizedStatistics.nowDay }}</div>
-          </div>
-          <el-divider direction="vertical"></el-divider>
-          <div class="item-info">
-            <div class="name">昨日用能(KWh)</div>
-            <div class="value">{{ itemizedStatistics.lastDay }}</div>
-          </div>
-          <el-divider direction="vertical"></el-divider>
-          <div class="item-info">
-            <div class="name">环比</div>
-            <div class="value">{{ itemizedStatistics.huanbiDay }}%</div>
-            <!-- <div class="value">57.55% ↑</div> -->
+  <a-spin :spinning="loading">
+    <div class="item-zedEnergy" :loading="loading">
+      <commonSearch ref="commonSearch" type="day" @search="handleSearch"></commonSearch>
+      <div class="statistics-container u-flex">
+        <!-- 日 -->
+        <div class="u-flex-cjac item-module">
+          <div class="item-title">日统计</div>
+          <div class="u-flex-jaa info-container">
+            <div class="item-info">
+              <div class="name">当日用能(KWh)</div>
+              <div class="value">{{ itemizedStatistics.nowDay }}</div>
+            </div>
+            <el-divider direction="vertical"></el-divider>
+            <div class="item-info">
+              <div class="name">昨日用能(KWh)</div>
+              <div class="value">{{ itemizedStatistics.lastDay }}</div>
+            </div>
+            <el-divider direction="vertical"></el-divider>
+            <div class="item-info">
+              <div class="name">环比</div>
+              <div class="value">{{ itemizedStatistics.huanbiDay }}%</div>
+              <!-- <div class="value">57.55% ↑</div> -->
+            </div>
           </div>
+          <div class="pie-item-echarts" ref="dayPieCharts"></div>
         </div>
-        <div class="pie-item-echarts" ref="dayPieCharts"></div>
-      </div>
-      <!-- 周 -->
-      <div class="u-flex-cjac item-module">
-        <div class="item-title">周统计</div>
-        <div class="u-flex-jaa info-container">
-          <div class="item-info">
-            <div class="name">当周用能(KWh)</div>
-            <div class="value">{{ itemizedStatistics.nowWeek }}</div>
-          </div>
-          <el-divider direction="vertical"></el-divider>
-          <div class="item-info">
-            <div class="name">上周用能(KWh)</div>
-            <div class="value">{{ itemizedStatistics.lastWeek }}</div>
-          </div>
-          <el-divider direction="vertical"></el-divider>
-          <div class="item-info">
-            <div class="name">环比</div>
-            <div class="value">{{ itemizedStatistics.huanbiWeek }}%</div>
+        <!-- 周 -->
+        <div class="u-flex-cjac item-module">
+          <div class="item-title">周统计</div>
+          <div class="u-flex-jaa info-container">
+            <div class="item-info">
+              <div class="name">当周用能(KWh)</div>
+              <div class="value">{{ itemizedStatistics.nowWeek }}</div>
+            </div>
+            <el-divider direction="vertical"></el-divider>
+            <div class="item-info">
+              <div class="name">上周用能(KWh)</div>
+              <div class="value">{{ itemizedStatistics.lastWeek }}</div>
+            </div>
+            <el-divider direction="vertical"></el-divider>
+            <div class="item-info">
+              <div class="name">环比</div>
+              <div class="value">{{ itemizedStatistics.huanbiWeek }}%</div>
+            </div>
           </div>
+          <div class="pie-item-echarts" ref="weekPieCharts"></div>
         </div>
-        <div class="pie-item-echarts" ref="weekPieCharts"></div>
-      </div>
-      <!-- 月 -->
-      <div class="u-flex-cjac item-module">
-        <div class="item-title">月统计</div>
-        <div class="u-flex-jaa info-container">
-          <div class="item-info">
-            <div class="name">当月用能(KWh)</div>
-            <div class="value">{{ itemizedStatistics.nowMonth }}</div>
-          </div>
-          <el-divider direction="vertical"></el-divider>
-          <div class="item-info">
-            <div class="name">上月用能(KWh)</div>
-            <div class="value">{{ itemizedStatistics.lastMonth }}</div>
-          </div>
-          <el-divider direction="vertical"></el-divider>
-          <div class="item-info">
-            <div class="name">环比</div>
-            <div class="value">{{ itemizedStatistics.huanbiMonth }}%</div>
+        <!-- 月 -->
+        <div class="u-flex-cjac item-module">
+          <div class="item-title">月统计</div>
+          <div class="u-flex-jaa info-container">
+            <div class="item-info">
+              <div class="name">当月用能(KWh)</div>
+              <div class="value">{{ itemizedStatistics.nowMonth }}</div>
+            </div>
+            <el-divider direction="vertical"></el-divider>
+            <div class="item-info">
+              <div class="name">上月用能(KWh)</div>
+              <div class="value">{{ itemizedStatistics.lastMonth }}</div>
+            </div>
+            <el-divider direction="vertical"></el-divider>
+            <div class="item-info">
+              <div class="name">环比</div>
+              <div class="value">{{ itemizedStatistics.huanbiMonth }}%</div>
+            </div>
           </div>
+          <div class="pie-item-echarts" ref="monthPieCharts"></div>
         </div>
-        <div class="pie-item-echarts" ref="monthPieCharts"></div>
       </div>
+      <div class="trend-charts" ref="trendCharts"></div>
     </div>
-    <div class="trend-charts" ref="trendCharts"></div>
-  </div>
+  </a-spin>
 </template>
 
 <script>
@@ -119,63 +121,71 @@
       async getItemizedenergy(){
         this.loading = true
         var data = this.$refs.commonSearch.queryParams
-        getAction(this.url.list, data).then(response => {
-          console.log(response)
-          var listData = response.result
-          // 日
-          this.itemizedStatistics.nowDay = (listData.dayStatistics.find(item=>item.type === '当日用能')).howManyValue
-          this.itemizedStatistics.lastDay = (listData.dayStatistics.find(item=>item.type === '昨日用能')).howManyValue
-          this.itemizedStatistics.huanbiDay = (listData.dayStatistics.find(item=>item.type === '环比')).howManyValue
-          // 月
-          this.itemizedStatistics.nowMonth = (listData.monthStatistics.find(item=>item.type === '当月用能')).howManyValue
-          this.itemizedStatistics.lastMonth = (listData.monthStatistics.find(item=>item.type === '上月用能')).howManyValue
-          this.itemizedStatistics.huanbiMonth = (listData.monthStatistics.find(item=>item.type === '环比')).howManyValue
-          // listData.monthStatistics.find(item=>if (item.type === '环比') {return item.howManyValue})
-          // 周
-          this.itemizedStatistics.nowWeek = (listData.weekStatistics.find(item=>item.type === '当周用能')).howManyValue
-          this.itemizedStatistics.lastWeek = (listData.weekStatistics.find(item=>item.type === '上周用能')).howManyValue
-          this.itemizedStatistics.huanbiWeek = (listData.weekStatistics.find(item=>item.type === '环比')).howManyValue
+        await getAction(this.url.list, data).then(response => {
+          if(response.success){
+            this.$message.success(response.message);
+            var listData = response.result
+            // 日
+            this.itemizedStatistics.nowDay = (listData.dayStatistics.find(item=>item.type === '当日用能')).howManyValue
+            this.itemizedStatistics.lastDay = (listData.dayStatistics.find(item=>item.type === '昨日用能')).howManyValue
+            this.itemizedStatistics.huanbiDay = (listData.dayStatistics.find(item=>item.type === '环比')).howManyValue
+            // 月
+            this.itemizedStatistics.nowMonth = (listData.monthStatistics.find(item=>item.type === '当月用能')).howManyValue
+            this.itemizedStatistics.lastMonth = (listData.monthStatistics.find(item=>item.type === '上月用能')).howManyValue
+            this.itemizedStatistics.huanbiMonth = (listData.monthStatistics.find(item=>item.type === '环比')).howManyValue
+            // listData.monthStatistics.find(item=>if (item.type === '环比') {return item.howManyValue})
+            // 周
+            this.itemizedStatistics.nowWeek = (listData.weekStatistics.find(item=>item.type === '当周用能')).howManyValue
+            this.itemizedStatistics.lastWeek = (listData.weekStatistics.find(item=>item.type === '上周用能')).howManyValue
+            this.itemizedStatistics.huanbiWeek = (listData.weekStatistics.find(item=>item.type === '环比')).howManyValue
 
-          this.dayPieData = listData.dayStatistics.map(res => {
-            if(res.type === '能耗分项'){
-              var item ={
-                name: res.equipmentname,
-                value: res.howManyValue,
+            this.dayPieData = listData.dayStatistics.map(res => {
+              if(res.type === '能耗分项'){
+                var item ={
+                  name: res.equipmentname,
+                  value: res.howManyValue,
+                }
+                return item
+              } 
+              
+            })
+            this.weekPieData = listData.weekStatistics.map(res => {
+              if(res.type === '能耗分项'){
+                var item ={
+                  name: res.equipmentname,
+                  value: res.howManyValue,
+                }
+                return item
               }
-              return item
-            } 
-            
-          })
-          this.weekPieData = listData.weekStatistics.map(res => {
-            if(res.type === '能耗分项'){
-              var item ={
-                name: res.equipmentname,
-                value: res.howManyValue,
-              }
-              return item
-            }
-          })
-          this.monthPieData = listData.monthStatistics.map(res => {
-            if(res.type === '能耗分项'){
-              var item ={
-                name: res.equipmentname,
-                value: res.howManyValue,
+            })
+            this.monthPieData = listData.monthStatistics.map(res => {
+              if(res.type === '能耗分项'){
+                var item ={
+                  name: res.equipmentname,
+                  value: res.howManyValue,
+                }
+                return item
               }
-              return item
-            }
-          })
-          
-          this.hours = listData.hours
-          this.kongtiao = listData.kongtiao
-          this.dongli = listData.dongli
-          this.zhaoming = listData.zhaoming
-          this.qita = listData.qita
-          this.loading = false
+            })
+            
+            this.hours = listData.hours
+            this.kongtiao = listData.kongtiao
+            this.dongli = listData.dongli
+            this.zhaoming = listData.zhaoming
+            this.qita = listData.qita
+            this.loading = false
+
+          }else{
+            this.$message.warning(response.message);
+            this.loading = false
+          }
+        }).finally(() => {
+          this.initDayPieCharts()
+          this.initWeekPieCharts()
+          this.initMonthPieCharts()
+          this.initEcharts()
+          // this.loading = false
         })
-        this.initDayPieCharts()
-        this.initWeekPieCharts()
-        this.initMonthPieCharts()
-        this.initEcharts()
       },
       initDayPieCharts(){
         var chartDom = this.$refs.dayPieCharts

+ 54 - 46
src/views/module_ems/energyAnalyse/energyRank/index.vue

@@ -1,34 +1,36 @@
 <template>
-  <div class="energy-analysis ranking" :loading="loading">
-    <commonSearch ref="commonSearch" type="daterange" @search="handleSearch"></commonSearch>
-    <div class="item-echarts" ref="echarts"></div>
-    <a-table
-      rowKey="id"
-      size="middle"
-      bordered
-      :columns="columns"
-      :dataSource="tableData"
-      :pagination="false"
-    >
-      <template slot="htmlSlot" slot-scope="text">
-        <div v-html="text"></div>
-      </template>
-
-      <template slot="imgSlot" slot-scope="text, record">
-        <div style="font-size: 12px; font-style: italic">
-          <span v-if="!text">无图片</span>
-          <img v-else :src="getImgView(text)" :preview="record.id" alt="" style="max-width: 80px; height: 25px" />
-        </div>
-      </template>
-
-      <template slot="fileSlot" slot-scope="text">
-        <span v-if="!text" style="font-size: 12px; font-style: italic">无文件</span>
-        <a-button v-else ghost type="primary" icon="download" size="small" @click="downloadFile(text)">
-          <span>下载</span>
-        </a-button>
-      </template>
-    </a-table>
-  </div>
+  <a-spin :spinning="loading">
+    <div class="energy-analysis ranking" :loading="loading">
+      <commonSearch ref="commonSearch" type="daterange" @search="handleSearch"></commonSearch>
+      <div class="item-echarts" ref="echarts"></div>
+      <a-table
+        rowKey="id"
+        size="middle"
+        bordered
+        :columns="columns"
+        :dataSource="tableData"
+        :pagination="false"
+      >
+        <template slot="htmlSlot" slot-scope="text">
+          <div v-html="text"></div>
+        </template>
+  
+        <template slot="imgSlot" slot-scope="text, record">
+          <div style="font-size: 12px; font-style: italic">
+            <span v-if="!text">无图片</span>
+            <img v-else :src="getImgView(text)" :preview="record.id" alt="" style="max-width: 80px; height: 25px" />
+          </div>
+        </template>
+  
+        <template slot="fileSlot" slot-scope="text">
+          <span v-if="!text" style="font-size: 12px; font-style: italic">无文件</span>
+          <a-button v-else ghost type="primary" icon="download" size="small" @click="downloadFile(text)">
+            <span>下载</span>
+          </a-button>
+        </template>
+      </a-table>
+    </div>
+  </a-spin>
 </template>
 
 <script>
@@ -88,28 +90,34 @@ export default {
     })
   },
   methods: {
-    async getRanking() {
+    getRanking() {
       this.loading = true
       var data = this.$refs.commonSearch.queryParams
       getAction(this.url.list, data).then((response) => {
-        this.tableData = response.result.tableData
-        this.yuanquName = response.result.yuanquName
-        this.numbers = response.result.numbers
-        // var yuanquName, numbers
-        // yuanquName = this.tableData.map((obj) => {
-        //   return obj.equipmentname
-        // })
-        // numbers = this.tableData.map((obj) => {
-        //   return obj.howManyValue
-        // })
-        // this.yuanquName = yuanquName.filter((item, index) => index < 10)
-        // this.numbers = numbers.filter((item, index) => index < 10)
+        if(response.success){
+          this.tableData = response.result.tableData
+          this.yuanquName = response.result.yuanquName
+          this.numbers = response.result.numbers
+          // var yuanquName, numbers
+          // yuanquName = this.tableData.map((obj) => {
+          //   return obj.equipmentname
+          // })
+          // numbers = this.tableData.map((obj) => {
+          //   return obj.howManyValue
+          // })
+          // this.yuanquName = yuanquName.filter((item, index) => index < 10)
+          // this.numbers = numbers.filter((item, index) => index < 10)
 
-        this.yuanquName.reverse()
-        this.numbers.reverse()
+          this.yuanquName.reverse()
+          this.numbers.reverse()
+          // this.$message.success(response.message);
+        }else{
+          this.$message.warning(response.message);
+        }
+      }).finally(() => {
+        this.initEcharts()
         this.loading = false
       })
-      this.initEcharts()
     },
     initEcharts() {
       var _this = this

+ 16 - 9
src/views/module_ems/energyAnalyse/flowAnalysis/index.vue

@@ -1,8 +1,10 @@
 <template>
-  <div class="energyFlow-analysis" :loading="loading">
-    <commonSearch ref="commonSearch" type="daterange" @search="handleSearch"></commonSearch>
-    <div class="sankey-chart" ref="sankeyChart" style="height:1800px"></div>
-  </div>
+  <a-spin :spinning="loading">
+    <div class="energyFlow-analysis" :loading="loading">
+      <commonSearch ref="commonSearch" type="daterange" @search="handleSearch"></commonSearch>
+      <div class="sankey-chart" ref="sankeyChart" style="height:1800px"></div>
+    </div>
+  </a-spin>
 </template>
 
 <script>
@@ -35,17 +37,22 @@
       })
     },
     methods: {
-      async getEnergyflowAnalysis(){
+      getEnergyflowAnalysis(){
         var _this = this
         _this.loading = true
         var data = _this.$refs.commonSearch.queryParams
         getAction(this.url.list, data).then(response => {
-          console.log(response)
-          _this.sourceData = response.result.sourceData
-          _this.linksData = response.result.linksData
+          if(response.success){
+            _this.sourceData = response.result.sourceData
+            _this.linksData = response.result.linksData
+            // this.$message.success(response.message);
+          }else{
+            this.$message.warning(response.message);
+          }
+        }).finally(() => {
+          _this.initEcharts()
           _this.loading = false
         })
-        _this.initEcharts()
       },
       initEcharts(){
         var _this = this

+ 39 - 32
src/views/module_ems/energyAnalyse/savingAnalysis/index.vue

@@ -1,26 +1,28 @@
 <template>
-  <div class="saving-analysis" :loading="loading">
-    <commonSearch ref="commonSearch" :type="'month'" @search="handleSearch"></commonSearch>
-    <div class="text-detail-container u-flex">
-      <div class="u-flex-cjac item">
-        <div class="name">实际用能(KWh)</div>
-        <div class="value">{{ shijiAll }}</div>
-      </div>
-      <div class="u-flex-cjac item">
-        <div class="name">计划用能(KWh)</div>
-        <div class="value">{{ jihuaAll }}</div>
-      </div>
-      <div class="u-flex-cjac item">
-        <div class="name">累计节能(KWh)</div>
-        <div class="value">{{ leijiAll }}</div>
-      </div>
-      <div class="u-flex-cjac item analysis-text">
-        <div class="name">数据分析</div>
-        <div class="text">{{ anlysis }}</div>
+  <a-spin :spinning="loading">
+    <div class="saving-analysis" :loading="loading">
+      <commonSearch ref="commonSearch" :type="'month'" @search="handleSearch"></commonSearch>
+      <div class="text-detail-container u-flex">
+        <div class="u-flex-cjac item">
+          <div class="name">实际用能(KWh)</div>
+          <div class="value">{{ shijiAll }}</div>
+        </div>
+        <div class="u-flex-cjac item">
+          <div class="name">计划用能(KWh)</div>
+          <div class="value">{{ jihuaAll }}</div>
+        </div>
+        <div class="u-flex-cjac item">
+          <div class="name">累计节能(KWh)</div>
+          <div class="value">{{ leijiAll }}</div>
+        </div>
+        <div class="u-flex-cjac item analysis-text">
+          <div class="name">数据分析</div>
+          <div class="text">{{ anlysis }}</div>
+        </div>
       </div>
+      <div class="item-echarts" ref="echarts"></div>
     </div>
-    <div class="item-echarts" ref="echarts"></div>
-  </div>
+  </a-spin>
 </template>
 
 <script>
@@ -62,24 +64,29 @@ export default {
     })
   },
   methods: {
-    async getSavinganalysis() {
+    getSavinganalysis() {
       this.loading = true
       var data = this.$refs.commonSearch.queryParams
       console.log(data)
       getAction(this.url.list, data).then((response) => {
-        console.log(response)
-        this.jienengData = response.result.jienengData
-        this.chaobiaoData = response.result.chaobiaoData
-        this.jihuaData = response.result.jihuaData
-        this.leijiData = response.result.leijiData
-        this.monthDate = response.result.monthDate
-        this.anlysis = response.result.anlysis
-        this.jihuaAll = response.result.jihuaAll
-        this.shijiAll = response.result.shijiAll
-        this.leijiAll = response.result.leijiAll
+        if(response.success){
+          this.jienengData = response.result.jienengData
+          this.chaobiaoData = response.result.chaobiaoData
+          this.jihuaData = response.result.jihuaData
+          this.leijiData = response.result.leijiData
+          this.monthDate = response.result.monthDate
+          this.anlysis = response.result.anlysis
+          this.jihuaAll = response.result.jihuaAll
+          this.shijiAll = response.result.shijiAll
+          this.leijiAll = response.result.leijiAll
+          // this.$message.success(response.message);
+        }else{
+          this.$message.warning(response.message);
+        }
+      }).finally(() => {
+        this.initEcharts()
         this.loading = false
       })
-      this.initEcharts()
     },
     // 计算最大值
     _calcMaxNumber(arr) {