From 1e18f0bcee0358e13c0e2cb750d17cd7ef5bf4d6 Mon Sep 17 00:00:00 2001
From: zmc <zmc_li@foxmail.com>
Date: 星期一, 07 八月 2023 17:55:21 +0800
Subject: [PATCH] 油烟检测系统

---
 src/views/analysis/graph/ExceedingRate.vue |  498 ++++++++++++++++++++++++++++++-------------------------
 1 files changed, 271 insertions(+), 227 deletions(-)

diff --git a/src/views/analysis/graph/ExceedingRate.vue b/src/views/analysis/graph/ExceedingRate.vue
index e6b5cc9..0dd1fac 100644
--- a/src/views/analysis/graph/ExceedingRate.vue
+++ b/src/views/analysis/graph/ExceedingRate.vue
@@ -1,15 +1,15 @@
 <template>
-    <div>
-      <el-container>
-        <!-- <el-header style="text-align:right; font-size:15px ">
+  <div>
+    <el-container>
+      <!-- <el-header style="text-align:right; font-size:15px ">
          <i class="el-icon-s-data" style="font-size: 15px;color:rgb(226,207,207);margin-right:10px;"></i>
         <span style="color:rgb(226,207,207);">鏁版嵁瓒呮爣鐜�</span>
      </el-header> -->
-  
-      <el-main> 
+
+      <el-main>
         <el-form :inline="true" :model="form" class="demo-form-inline">
-            <el-form-item label="搴楅摵鍚嶅拰璁惧缂栧彿">
-              <!-- <el-select class="checkbox" v-model="devId" placeholder="璇烽�夋嫨璁惧缂栧彿">
+          <el-form-item label="搴楅摵鍚嶅拰璁惧缂栧彿">
+            <!-- <el-select class="checkbox" v-model="devId" placeholder="璇烽�夋嫨璁惧缂栧彿">
           <el-option
             v-for="item in options"
             :key="item.label"
@@ -17,189 +17,225 @@
             :value="item.label">
           </el-option>
         </el-select> -->
-        <el-cascader 
-            :options="options" 
-            :show-all-levels="false" 
-            :props="{expandTrigger:'hover'}" 
-            placeholder="璇烽�夋嫨搴楅摵鍚嶅拰璁惧缂栧彿"
-            v-model="value"
-            style="margin-right:32px">
-        </el-cascader>
-         </el-form-item>
-   
-       <el-form-item label="寮�濮嬫棩鏈�">
-        <el-date-picker
-        v-model="begin"
-        type="date"
-        placeholder="閫夋嫨鏃ユ湡"
-        value-format="YYYY-MM-DD">
-      </el-date-picker>
-       </el-form-item>
-   
-      <el-form-item label="缁撴潫鏃ユ湡">
-        <el-date-picker
-        v-model="end"
-        type="date"
-        placeholder="閫夋嫨鏃ユ湡"
-        value-format="YYYY-MM-DD">
-      </el-date-picker>
-      </el-form-item>
-   
-         <el-form-item>
-          <el-button type="primary" @click="fetchData">灞曠ず鍥�</el-button>
-       </el-form-item> 
-       </el-form>
+            <el-cascader
+              :options="options"
+              :show-all-levels="false"
+              :props="{ expandTrigger: 'hover' }"
+              placeholder="璇烽�夋嫨搴楅摵鍚嶅拰璁惧缂栧彿"
+              v-model="value"
+              style="margin-right: 32px"
+            >
+            </el-cascader>
+          </el-form-item>
 
-      <el-card>
-        <div class="chart-container" ref="chart"></div>
-      </el-card>
-    </el-main>
-  </el-container>
-    </div>
-  </template>
-  
-  <script>
-  import * as echarts from 'echarts'
-  import axiosInstance from '../../../utils/request.js'
-  export default {
-    data() {
-      return {
-        chartData: [],     //淇濆瓨鏌ヨ鐨勭粨鏋�
-        //devId:'',          //璁惧缂栧彿
-        begin:'2023-05-01',         //寮�濮嬫椂闂�
-      end:'2023-05-15',           //缁撴潫鏃堕棿
-      value:['浠樺皬濮愬湪鎴愰兘','qinshi_31010320210010'], //淇濆瓨閫夋嫨鐨勫簵閾哄悕绉板拰璁惧鍚嶇О
-        options: [{
+          <el-form-item label="寮�濮嬫棩鏈�">
+            <el-date-picker
+              v-model="begin"
+              type="date"
+              placeholder="閫夋嫨鏃ユ湡"
+              value-format="YYYY-MM-DD"
+            >
+            </el-date-picker>
+          </el-form-item>
+
+          <el-form-item label="缁撴潫鏃ユ湡">
+            <el-date-picker
+              v-model="end"
+              type="date"
+              placeholder="閫夋嫨鏃ユ湡"
+              value-format="YYYY-MM-DD"
+            >
+            </el-date-picker>
+          </el-form-item>
+
+          <el-form-item>
+            <el-button type="primary" @click="fetchData">灞曠ず鍥�</el-button>
+          </el-form-item>
+        </el-form>
+
+        <el-card v-loading="loading">
+          <div class="chart-container" ref="chart" v-show="!isNoData"></div>
+          <el-empty v-show="isNoData" :image-size="200" />
+        </el-card>
+      </el-main>
+    </el-container>
+  </div>
+</template>
+
+<script>
+import * as echarts from 'echarts';
+import axiosInstanceInstance from '../../../utils/request.js';
+export default {
+  data() {
+    return {
+      isNoData:false,
+      loading: false,
+      chartData: [], //淇濆瓨鏌ヨ鐨勭粨鏋�
+      //devId:'',          //璁惧缂栧彿
+      begin: '2023-05-01', //寮�濮嬫椂闂�
+      end: '2023-05-15', //缁撴潫鏃堕棿
+      value: ['浠樺皬濮愬湪鎴愰兘', 'qinshi_31010320210010'], //淇濆瓨閫夋嫨鐨勫簵閾哄悕绉板拰璁惧鍚嶇О
+      options: [
+        {
           value: '浠樺皬濮愬湪鎴愰兘',
           label: '浠樺皬濮愬湪鎴愰兘',
-          children: [{
-                value: 'qinshi_31010320210010',
-                label: 'qinshi_31010320210010',
-         }]
+          children: [
+            {
+              value: 'qinshi_31010320210010',
+              label: 'qinshi_31010320210010'
+            }
+          ]
         },
         {
           value: '鍚夊埢鑱旂洘',
           label: '鍚夊埢鑱旂洘 ',
-          children: [{
-                value: 'qinshi_31010320200006',
-                label: 'qinshi_31010320200006',
-         }]
+          children: [
+            {
+              value: 'qinshi_31010320200006',
+              label: 'qinshi_31010320200006'
+            }
+          ]
         },
         {
           value: '瀹跺湪濉斿暒',
           label: '瀹跺湪濉斿暒',
-          children: [{
-                value: 'hengzhiyuan_64480047347215',
-                label: 'hengzhiyuan_64480047347215',
-         }]
+          children: [
+            {
+              value: 'hengzhiyuan_64480047347215',
+              label: 'hengzhiyuan_64480047347215'
+            }
+          ]
         },
         {
           value: '鐙兼潵浜�',
           label: '鐙兼潵浜� ',
-          children: [{
-                value: 'zhuoquan_31011020175012',
-                label: 'zhuoquan_31011020175012',
-         }]
+          children: [
+            {
+              value: 'zhuoquan_31011020175012',
+              label: 'zhuoquan_31011020175012'
+            }
+          ]
         },
         {
           value: '涔愬嚡鎾掓槦娓稿簵',
           label: '涔愬嚡鎾掓槦娓稿簵',
-          children: [{
-                value: 'qinshi_31010320200007',
-                label: 'qinshi_31010320200007',
-         }]
+          children: [
+            {
+              value: 'qinshi_31010320200007',
+              label: 'qinshi_31010320200007'
+            }
+          ]
         },
         {
           value: '棣ㄨ繙缇庨灏忛晣锛堝搱灏肩編椋熷箍鍦猴級',
           label: '棣ㄨ繙缇庨灏忛晣锛堝搱灏肩編椋熷箍鍦猴級',
-          children: [{
-                value: 'hengzhiyuan_64480047078091',
-                label: 'hengzhiyuan_64480047078091',
-         }]
+          children: [
+            {
+              value: 'hengzhiyuan_64480047078091',
+              label: 'hengzhiyuan_64480047078091'
+            }
+          ]
         },
         {
           value: '妫掔害缈�',
           label: '妫掔害缈�',
-          children: [{
-                value: 'qinshi_31010320190005',
-                label: 'qinshi_31010320190005',
-         }]
+          children: [
+            {
+              value: 'qinshi_31010320190005',
+              label: 'qinshi_31010320190005'
+            }
+          ]
         },
         {
           value: '寮勫爞鍜亾',
           label: '寮勫爞鍜亾',
-          children: [{
-                value: 'zhuoquan_31011020175008',
-                label: 'zhuoquan_31011020175008',
-         }]
-        },{
+          children: [
+            {
+              value: 'zhuoquan_31011020175008',
+              label: 'zhuoquan_31011020175008'
+            }
+          ]
+        },
+        {
           value: '鏉ㄨ榻愰綈鍝堝皵鐑よ倝',
           label: '鏉ㄨ榻愰綈鍝堝皵鐑よ倝',
-          children: [{
-                value: 'zhuoquan_31011020175002',
-                label: 'zhuoquan_31011020175002',
-         }]
+          children: [
+            {
+              value: 'zhuoquan_31011020175002',
+              label: 'zhuoquan_31011020175002'
+            }
+          ]
         },
         {
           value: '涓婃捣绋斾紶椁愰ギ绠$悊鏈夐檺鍏徃锛堜汉鐢熶竴涓诧級',
           label: '涓婃捣绋斾紶椁愰ギ绠$悊鏈夐檺鍏徃锛堜汉鐢熶竴涓诧級',
-          children: [{
-                value: 'GLHB00000000016004',
-                label: 'GLHB00000000016004',
-         }]
+          children: [
+            {
+              value: 'GLHB00000000016004',
+              label: 'GLHB00000000016004'
+            }
+          ]
         },
         {
           value: '缂樺',
           label: '缂樺',
-          children: [{
-                value: 'fucheng310104200914',
-                label: 'fucheng310104200914',
-         }]
+          children: [
+            {
+              value: 'fucheng310104200914',
+              label: 'fucheng310104200914'
+            }
+          ]
         },
         {
           value: '娉夌洓椁愰ギ锛堜笂娴凤級鏈夐檺鍏徃锛堥鍏跺锛�',
           label: '娉夌洓椁愰ギ锛堜笂娴凤級鏈夐檺鍏徃锛堥鍏跺锛�',
-          children: [{
-                value: 'GLHB00000000016155',
-                label: 'GLHB00000000016155',
-         }]
-        },{
+          children: [
+            {
+              value: 'GLHB00000000016155',
+              label: 'GLHB00000000016155'
+            }
+          ]
+        },
+        {
           value: '涓拌寕鐑や覆',
           label: '涓拌寕鐑や覆',
-          children: [{
-                value: 'GLHB00000000016011',
-                label: 'GLHB00000000016011',
-         }]
+          children: [
+            {
+              value: 'GLHB00000000016011',
+              label: 'GLHB00000000016011'
+            }
+          ]
         },
         {
           value: '涓婃捣娉扮厡椁愰ギ绠$悊鏈夐檺鍏徃锛堟嘲鐓岄浮锛�',
           label: '涓婃捣娉扮厡椁愰ギ绠$悊鏈夐檺鍏徃锛堟嘲鐓岄浮锛�',
-          children: [{
-                value: 'GLHB00000000010279',
-                label: 'GLHB00000000010279',
-         }]
+          children: [
+            {
+              value: 'GLHB00000000010279',
+              label: 'GLHB00000000010279'
+            }
+          ]
         },
         {
           value: '寰愭眹鍖鸿景鐔欓棣�(灏忛搧鍚涗覆鐑у眳閰掑眿)',
           label: '寰愭眹鍖鸿景鐔欓棣�(灏忛搧鍚涗覆鐑у眳閰掑眿)',
-          children: [{
-                value: 'GLHB00000000010504',
-                label: 'GLHB00000000010504',
-         }]
-        },
-
-    ]
-        
-      }
-  
-    },
-   mounted(){
+          children: [
+            {
+              value: 'GLHB00000000010504',
+              label: 'GLHB00000000010504'
+            }
+          ]
+        }
+      ]
+    };
+  },
+  mounted() {
     //  榛樿鍔犺浇浠樺皬濮愬湪鎴愰兘 5鏈�1鍙峰埌15鍙风殑
-      this.fetchData()
-    },
-    methods: {
-      fetchData() {
-        if (
+    this.fetchData();
+  },
+  methods: {
+    fetchData() {
+      if (
         this.begin >= this.end &&
         (this.begin != null || this.end != null) &&
         (this.begin != '' || this.end != '')
@@ -207,82 +243,90 @@
         alert('璇疯緭鍏ユ湁鏁堢殑鏃堕棿娈�');
         return;
       }
-        let params = {}
-        if (this.value[1]) {
-          params['devId'] = this.value[1];
+      let params = {};
+      if (this.value[1]) {
+        params['devId'] = this.value[1];
+      }
+      if (this.begin) {
+        params['begin'] = this.begin;
+      }
+      if (this.end) {
+        params['end'] = this.end;
+      }
+      this.loading = true;
+      axiosInstanceInstance
+        .get('/data/id', { params: params })
+        .then((response) => {
+          
+          this.chartData = response.data.data;
+          this.loading = false;
+          if(response.data.data.length==0){
+          alert('璇ユ椂娈垫棤鏁版嵁')
+          this.isNoData = true
+          return
         }
-        if(this.begin){
-          params['begin']=this.begin
-        }
-        if(this.end){
-          params['end'] = this.end
-        }
-  
-        axiosInstance.get('/data/id',{params:params})
-          .then(response => {
-            this.chartData = response.data.data
-            this.drawChart()
-          })
-          .catch(error => {
-            console.log(error)
-          })
-      },
-      drawChart() {
-        let dateList = []
-  
-        let noonExceeding = []
-        let nightExceeding = []
-        let keyExceeding = []
-  
-        //姣旂巼
-        this.chartData.forEach((item) => {
-          dateList.push(item.fumeDate)  //x杞存棩鏈�
-  
-          noonExceeding.push(item.noonExceedingNum.slice(0,-1))
-          nightExceeding.push(item.nightExceedingNum.slice(0,-1))
-          keyExceeding.push(item.keyExceedingRate.slice(0,-1))
-        })
-  
-        let chart = echarts.init(this.$refs.chart)
-        chart.setOption({
-          title: {
-            text: '鏁版嵁瓒呮爣鐜�',
-            //left: 'center'
-          },
-          grid: {
-            left: '3%',
-            right: '4%',
-            bottom: '3%',
-            containLabel: true
-          },
-          tooltip: {},
-    
-          legend: {
-            data: ['涓崍瓒呮爣鐜�','鏅氫笂瓒呮爣鐜�','閲嶇偣鏃舵瓒呮爣鐜�']
-          },
-          toolbox: {    //宸ュ叿鏍�
-            feature: {
-              dataZoom: {        //鍖哄煙缂╂斁
-              yAxisIndex: "none"
+        // 绉婚櫎绌烘暟鎹姸鎬�
+        this.isNoData = false
+          this.drawChart();
+        });
+    },
+    drawChart() {
+      let dateList = [];
+
+      let noonExceeding = [];
+      let nightExceeding = [];
+      let keyExceeding = [];
+
+      //姣旂巼
+      this.chartData.forEach((item) => {
+        dateList.push(item.fumeDate); //x杞存棩鏈�
+
+        noonExceeding.push(item.noonExceedingNum.slice(0, -1));
+        nightExceeding.push(item.nightExceedingNum.slice(0, -1));
+        keyExceeding.push(item.keyExceedingRate.slice(0, -1));
+      });
+
+      let chart = echarts.init(this.$refs.chart);
+      chart.setOption({
+        title: {
+          text: '鏁版嵁瓒呮爣鐜�'
+          //left: 'center'
+        },
+        grid: {
+          left: '3%',
+          right: '4%',
+          bottom: '3%',
+          containLabel: true
+        },
+        tooltip: {},
+
+        legend: {
+          data: ['涓崍瓒呮爣鐜�', '鏅氫笂瓒呮爣鐜�', '閲嶇偣鏃舵瓒呮爣鐜�']
+        },
+        toolbox: {
+          //宸ュ叿鏍�
+          feature: {
+            dataZoom: {
+              //鍖哄煙缂╂斁
+              yAxisIndex: 'none'
             },
-            restore: {},   //閰嶇疆椤硅繕鍘�
-              saveAsImage: {},    //淇濆瓨涓哄浘鐗�
-            }
-          },
-          xAxis: {
-            data: dateList
-          },
-  
-          yAxis: {
-            type: 'value',
-            axisLabel:{
-              show:true,
-              interval:'auto',
-              formatter:'{value} %'
-            }
-  
-          },
-          series: [
+            restore: {}, //閰嶇疆椤硅繕鍘�
+            saveAsImage: {} //淇濆瓨涓哄浘鐗�
+          }
+        },
+        xAxis: {
+          data: dateList
+        },
+
+        yAxis: {
+          type: 'value',
+          axisLabel: {
+            show: true,
+            interval: 'auto',
+            formatter: '{value} %'
+          }
+        },
+        series: [
           {
             name: '涓崍瓒呮爣鐜�',
             type: 'line',
@@ -297,26 +341,26 @@
             name: '閲嶇偣鏃舵瓒呮爣鐜�',
             type: 'line',
             data: keyExceeding
-          }, 
+          }
         ]
-  
-        })
-      }
+      });
     }
   }
-  </script>
-  
-  <style scoped>
-  .el-card {
-    margin-top: 40px;
-  }
-.chart-container {
-    width: 100%;
-    height: 600px;
+};
+</script>
+
+<style scoped>
+.el-card {
+  margin-top: 40px;
+  border-radius: 9px;
 }
-  .el-header {
-    background-color: #010408;
-    color: #333;
-    line-height: 60px;
-  } 
-  </style>
\ No newline at end of file
+.chart-container {
+  width: 100%;
+  height: 540px;
+}
+.el-header {
+  background-color: #010408;
+  color: #333;
+  line-height: 60px;
+}
+</style>

--
Gitblit v1.9.3