From 013ed9283200da41902835f9fd679df13299d436 Mon Sep 17 00:00:00 2001
From: zmc <zmc_li@foxmail.com>
Date: 星期四, 31 八月 2023 12:53:53 +0800
Subject: [PATCH] 扬尘Vue

---
 src/views/exception/FlightInspection.vue           |  293 ++++++++++++++++++++++++++++++++++++++---
 src/views/line_graph/DataRiskModel.vue             |   29 ++-
 src/views/line_graph/components/DustRadarChart.vue |   30 ++-
 src/sfc/DustLineChart.vue                          |   31 ++-
 4 files changed, 323 insertions(+), 60 deletions(-)

diff --git a/src/sfc/DustLineChart.vue b/src/sfc/DustLineChart.vue
index 99ec58e..4f2880e 100644
--- a/src/sfc/DustLineChart.vue
+++ b/src/sfc/DustLineChart.vue
@@ -5,7 +5,10 @@
 
  -->
  <template>
-    <div  id="main" class="line-chart"></div>
+
+       <div  id="main" class="line-chart-exception"></div>
+
+   
   </template>
   
   <script>
@@ -38,8 +41,6 @@
     },
     watch: {
       option(){
-        // this.chart.dispose;
-        // this.initChart();
         // this.chart.clear
         // 涓嶄笌涔嬪墠鐨刼ption杩涜鍚堝苟
         this.chart.setOption(this.option,true)
@@ -48,11 +49,11 @@
         window.addEventListener('resize', this.resizeChart);
       },
     },
-    beforeUnmount() {
-      if (this.chart) {
-        this.chart.dispose;
-      }
-    },
+    // beforeUnmount() {
+    //   if (this.chart) {
+    //     this.chart.dispose;
+    //   }
+    // },
     methods: {
       initChart() {
         // 鍒涘缓echarts瀹炰緥
@@ -98,19 +99,23 @@
   
       // 璺熼〉闈㈠搷搴斿紡鍙樺寲
       resizeChart() {
-        this.chart.resize();
+        this.$nextTick(() => {
+        if (this.chart) {
+          this.chart.resize();
+        }
+      });
       }
     }
   };
   </script>
   
   
-  <style>
-  .line-chart {
-    width:920px;
+  <style scoped>
+  .line-chart-exception {
+    width: 700px;
     height: 250px;
     margin-bottom: 20px;
-    min-width: 600px;
+    min-width: 500px;
   }
   </style>
   
\ No newline at end of file
diff --git a/src/views/exception/FlightInspection.vue b/src/views/exception/FlightInspection.vue
index 61e9267..1e3ac41 100644
--- a/src/views/exception/FlightInspection.vue
+++ b/src/views/exception/FlightInspection.vue
@@ -15,8 +15,11 @@
 import dayjs from 'dayjs';
 export default {
   components: {
+    ExceptionType,
+    InputSearch,
     TimeSelectWithShortCuts,
     DustExceptionText,
+    DustLineChart,
     AreaAndmonitorType
   },
   data() {
@@ -100,8 +103,6 @@
         afterButton: false,
         // 鎶樼嚎鍥�
         lineChart: false,
-        // 寮傚父绔欑偣鍚嶅瓙鏂囨湰
-        text:false
         
       },
 
@@ -1357,11 +1358,24 @@
           <el-form-item >
           <AreaAndmonitorType ></AreaAndmonitorType>
           </el-form-item>
+          <el-form-item>
+            <InputSearch
+              :isNeedDefaultSite="0"
+              @submit-value="(n) => (form.name = n)"
+              @submit-site-Nums="(n) => (siteTotal = n)"
+            >
+            </InputSearch>
+          </el-form-item>
+
+          <el-form-item>
+            <ExceptionType
+              @submit-value="(n) => form.exceptionName = n"
+            ></ExceptionType>
+          </el-form-item>
 
           <el-form-item>
             <TimeSelectWithShortCuts @submit-time="giveTime"></TimeSelectWithShortCuts>
           </el-form-item>
-
         </div>
 
         <div class="head-container-search">
@@ -1431,7 +1445,7 @@
               </div>
               <hr />
               <!-- 寮傚父鐨勫簵閾哄悕瀛� -->
-              <div class="card-exception-buttom"   v-loading="loading.text" >
+              <div class="card-exception-buttom">
                 <el-scrollbar max-height="90px">
                   <DustExceptionText
                   :site-name="item.name"
@@ -1439,7 +1453,7 @@
                   :begin-time="beginTime"
                   :end-time="endTime"
                     @submit-exception-data="getAbnormalDataByClick"
-                    @subloading="(n)=>loading.text=n"
+
                     v-for="(item, index) in exception.exception4"
                     :key="item"
                     >{{ item.name }}
@@ -1498,7 +1512,7 @@
               </div>
               <hr />
               <!-- 寮傚父鐨勫簵閾哄悕瀛� -->
-              <div class="card-exception-buttom"   v-loading="loading.text">
+              <div class="card-exception-buttom">
                 <el-scrollbar max-height="90px">
                   <DustExceptionText
                   :site-name="item.name"
@@ -1565,7 +1579,7 @@
               </div>
               <hr />
               <!-- 寮傚父鐨勫簵閾哄悕瀛� -->
-              <div class="card-exception-buttom"   v-loading="loading.text">
+              <div class="card-exception-buttom">
                 <el-scrollbar max-height="90px">
                   <DustExceptionText
                   :site-name="item.name"
@@ -1594,7 +1608,7 @@
               <!-- 鏍囧ご -->
               <div class="card-text1">
                 <image class="card-header-image"></image>
-                <span class="card-header-text">鍙樺寲瓒嬪娍寮傚父</span>
+                <span class="card-header-text">婊戝姩骞冲潎鍊煎紓甯�</span>
               </div>
 
               <div class="card-content-text">
@@ -1632,7 +1646,7 @@
               </div>
               <hr />
               <!-- 寮傚父鐨勫簵閾哄悕瀛� -->
-              <div class="card-exception-buttom"   v-loading="loading.text">
+              <div class="card-exception-buttom">
                 <el-scrollbar max-height="90px">
                   <DustExceptionText
                   :site-name="item.name"
@@ -1703,7 +1717,7 @@
               </div>
               <hr />
               <!-- 寮傚父鐨勫簵閾哄悕瀛� -->
-              <div class="card-exception-buttom"   v-loading="loading.text">
+              <div class="card-exception-buttom">
                 <el-scrollbar max-height="90px">
                   <DustExceptionText
                   :site-name="item.name"
@@ -1731,7 +1745,7 @@
               <!-- 鏍囧ご -->
               <div class="card-text1">
                 <image class="card-header-image"></image>
-                <span class="card-header-text">鏁版嵁缂哄け寮傚父</span>
+                <span class="card-header-text">鏂數鎴栨柇缃�</span>
               </div>
 
               <div class="card-content-text">
@@ -1765,7 +1779,7 @@
               </div>
               <hr />
               <!-- 寮傚父鐨勫簵閾哄悕瀛� -->
-              <div class="card-exception-buttom"   v-loading="loading.text">
+              <div class="card-exception-buttom">
                 <el-scrollbar max-height="90px">
                   <DustExceptionText
                   :site-name="item.name"
@@ -1827,7 +1841,7 @@
               </div>
               <hr />
               <!-- 寮傚父鐨勫簵閾哄悕瀛� -->
-              <div class="card-exception-buttom"   v-loading="loading.text">
+              <div class="card-exception-buttom">
                 <el-scrollbar max-height="90px">
                   <DustExceptionText
                   :site-name="item.name"
@@ -1958,7 +1972,7 @@
               </div>
               <hr />
               <!-- 寮傚父鐨勫簵閾哄悕瀛� -->
-              <div class="card-exception-buttom"   v-loading="loading.text">
+              <div class="card-exception-buttom">
                 <el-scrollbar max-height="90px">
                   <DustExceptionText
                   :site-name="item.name"
@@ -1989,6 +2003,241 @@
     </el-col>
   </el-row>
 
+  <el-row>
+    <el-col v-show="!isNoData">
+      <el-table
+        ref="table"
+        :data="displayData"
+        :height="tableHeight"
+        highlight-current-row="true"
+        size="default"
+        v-loading="loading.tableLoading"
+        border
+      >
+        <el-table-column
+          type="index"
+          label="搴忓彿"
+          width="60px"
+          align="center"
+          fixed
+          :index="indexMethod1"
+        />
+        <el-table-column prop="name" label="绔欑偣鍚嶇О" show-overflow-tooltip />
+        <el-table-column
+          prop="mnCode"
+          label="璁惧缂栧彿"
+          align="center"
+          show-overflow-tooltip
+        />
+        <el-table-column
+          prop="exception"
+          label="寮傚父绫诲瀷"
+          align="center"
+          show-overflow-tooltip
+        />
+        <el-table-column
+          prop="region"
+          label="鍖哄煙"
+          align="center"
+          show-overflow-tooltip
+        />
+        <el-table-column
+          prop="beginTime"
+          label="寮�濮嬫椂闂�"
+          align="center"
+          show-overflow-tooltip
+        />
+        <el-table-column
+          prop="endTime"
+          label="缁撴潫鏃堕棿"
+          align="center"
+          show-overflow-tooltip
+        />
+        <el-table-column
+          prop="typename"
+          label="鍦烘櫙"
+          align="center"
+          show-overflow-tooltip
+        />
+        <el-table-column
+          prop="address"
+          label="鍦板潃"
+          align="center"
+          show-overflow-tooltip
+        />
+        <el-table-column
+          prop="dutyCompany"
+          label="杩愮淮鍟�"
+          align="center"
+          show-overflow-tooltip
+        />
+        <el-table-column label="鎿嶄綔" align="center">
+          <template #default="{ row }">
+            <el-button
+              type="primary"
+              class="table-button"
+              @click="showDialog(row)"
+              >鏌ョ湅璇︽儏</el-button
+            >
+          </template>
+        </el-table-column>
+      </el-table>
+
+      <el-pagination
+        ref="h4"
+        background
+        layout="total, sizes, prev, pager, next, jumper"
+        v-model:current-page="currentPage"
+        v-model:page-size="pageSize"
+        :total="total"
+        :page-sizes="[10, 20, 50, 100]"
+        @size-change="handleSizeChange"
+        @current-change="handleCurrentChange"
+      >
+      </el-pagination>
+    </el-col>
+  </el-row>
+
+  <el-empty v-show="isNoData" :image-size="200" />
+
+  <el-dialog v-model="dialogTableVisible" draggable align-center height="300px">
+    <!-- 澶� -->
+    <template #header>
+      <div class="diag-head">
+        <div class="diag-head-text">
+          <div>
+          <span class="diag-head-text1">绔欑偣鍚嶇О锛�</span
+          >{{ tableCurrentRowData.name }}
+          </div>
+
+          <div>
+          <span class="diag-head-text1">寮傚父绫诲瀷锛�</span>
+          <span v-if="tableCurrentRowData.exceptionType == '0'"
+            >鏂數鎴栨柇缃�</span
+          >
+          <span v-else-if="tableCurrentRowData.exceptionType == '1'"
+            >鏁版嵁瓒呬綆</span
+          >
+          <span v-else-if="tableCurrentRowData.exceptionType == '2'">瓒呮爣</span>
+          <span v-else-if="tableCurrentRowData.exceptionType == '3'"
+            >鏁版嵁闀挎椂闂存棤娉㈠姩</span
+          >
+          <span v-else-if="tableCurrentRowData.exceptionType == '4'"
+            >閲忕骇绐佸彉寮傚父</span
+          > <span v-else-if="tableCurrentRowData.exceptionType == '5'"
+            >涓磋繎瓒呮爣寮傚父</span
+          > <span v-else-if="tableCurrentRowData.exceptionType == '6'"
+            >鍗曟棩瓒呮爣娆℃暟涓寸晫寮傚父</span
+          > <span v-else-if="tableCurrentRowData.exceptionType == '7'"
+            >婊戝姩骞冲潎鍊煎紓甯�</span
+          >
+        </div>
+
+          <div>
+            <span class="diag-head-text1">寮傚父鏃堕棿娈碉細</span
+            >{{ tableCurrentRowData.beginTime }} ~
+            {{ tableCurrentRowData.endTime }}
+          </div>
+        </div>
+
+        <div class="chart-jump-button">
+          <el-button
+            type="danger"
+            :loading="loading.preButton"
+            :disabled="dialog.isPreCantouch || flag.banTouch"
+            @click="getPreviousRowData"
+            >涓婃潯寮傚父</el-button
+          >
+          <el-button
+            type="danger"
+            :loading="loading.afterButton"
+            :disabled="dialog.isNextCantouch || flag.banTouch"
+            @click="getNextRowData"
+            >涓嬫潯寮傚父</el-button
+          >
+        </div>
+      </div>
+    </template>
+
+    <!-- :option="dialog.option" -->
+
+    <!-- 鍥惧舰 -->
+    <DustLineChart
+      :option="dialog.option"
+      :is-open-dialog="dialogTableVisible"
+      v-loading="loading.lineChart"
+    ></DustLineChart>
+
+    <!-- 琛ㄦ牸 -->
+    <div>
+      <el-table :data="dialog.historyData" size="default" height="200" border>
+        <el-table-column
+          type="index"
+          label="搴忓彿"
+          width="60px"
+          align="center"
+          fixed
+          :index="indexMethod2"
+        ></el-table-column>
+        <el-table-column
+          fixed
+          prop="name"
+          label="绔欑偣鍚嶇О"
+          show-overflow-tooltip
+        />
+        <el-table-column
+          prop="mnCode"
+          label="璁惧缂栧彿"
+          align="center"
+          show-overflow-tooltip
+        />
+        <el-table-column
+          prop="dutyCompany"
+          label="杩愮淮鍟�"
+          align="center"
+          show-overflow-tooltip
+        />
+        <el-table-column
+          prop="lst"
+          label="閲囬泦鏃堕棿"
+          align="center"
+          show-overflow-tooltip
+        />
+        <el-table-column
+          prop="dustValue"
+          label="棰楃矑鐗╂祿搴�(mg/m鲁)"
+          align="center"
+          show-overflow-tooltip
+        />
+      </el-table>
+    </div>
+    <template #footer>
+      <el-tag type="success" class="mx-1" effect="dark" round
+        ><span
+          class="table-line-lable"
+          v-show="tableCurrentRowData.exceptionType == '0'"
+          >缂哄け鏁版嵁锛�
+        </span>
+        <span
+          v-show="
+            tableCurrentRowData.exceptionType == '1' ||
+            tableCurrentRowData.exceptionType == '2' ||
+            tableCurrentRowData.exceptionType == '3' ||
+            tableCurrentRowData.exceptionType == '4' 
+          "
+          >寮傚父鏁版嵁锛�</span
+        >
+        <span class="table-line-num">{{ dialog.exceptionTotal }}鏉�</span>
+        <span
+          v-show="
+            tableCurrentRowData.exceptionType === '0'
+          "
+        >
+          (閫昏緫璁$畻)</span
+        >
+      </el-tag>
+    </template>
+  </el-dialog>
 </template>
 
 <style lang="scss" scoped>
@@ -2086,6 +2335,7 @@
 /* 鏌ョ湅璇︽儏瀵硅瘽妗嗘ā鍧楃殑鏍峰紡 */
 :deep(.el-dialog) {
   // 瀵硅瘽妗嗛珮搴�
+
 }
 .diag-head {
   // 瀵硅瘽妗嗗ご閮ㄥ尯鍩�
@@ -2113,18 +2363,13 @@
 .chart-jump-button {
   // 鈥樹笂涓�鏉♀�欙紝鈥樹笅涓�鏉♀�� 鎸夐挳
   // border: 1px solid #fdc2db;
-  min-height: 30px;
-  width: 200px;
-  float: right;
+  // min-height: 30px;
+  // width: 200px;
+  // float: right;
+  display: flex;
+  justify-content: right;
 }
 
-.line-chart {
-  // 寮傚父鎶樼嚎鍥�
-  width: 920px;
-  height: 300px;
-  margin-bottom: 20px;
-  min-width: 600px;
-}
 .mx-1 {
   position: absolute;
   left: 10px;
diff --git a/src/views/line_graph/DataRiskModel.vue b/src/views/line_graph/DataRiskModel.vue
index ceb7659..8f32e7c 100644
--- a/src/views/line_graph/DataRiskModel.vue
+++ b/src/views/line_graph/DataRiskModel.vue
@@ -4,16 +4,16 @@
 import InputSearch from '../../sfc/InputSearch.vue';
 import AreaAndmonitorType from '../../sfc/AreaAndmonitorType.vue';
 
-// import DustRadarChart from './components/DustRadarChart.vue';
+import DustRadarChart from './components/DustRadarChart.vue';
 import exceptionApi from '@/api/exceptionApi.js';
 import { useWindowSize } from '@vueuse/core';
 
 import LineChart from './components/LineChart.vue'
 
 
-const DustRadarChart = defineAsyncComponent(() =>
-  import('./components/DustRadarChart.vue')
-)
+// const DustRadarChart = defineAsyncComponent(() =>
+//   import('./components/DustRadarChart.vue')
+// )
 
 import dayjs from 'dayjs';
 export default {
@@ -381,20 +381,20 @@
 
         <div class="time-text">鏁版嵁缁熻鏃舵锛歿{ begin}} ~ {{ end }}</div>
 
+        <el-row :gutter="20">
+          <el-col :xs="24" :sm="24" :md="12" :lg="12" :xl="16" >
+         
         <el-card
               shadow="never"
             >
-        <el-row :gutter="20">
-
-          <el-col :xs="24" :sm="24" :md="12" :lg="16" :xl="16">
-           
               <DustRadarChart :name="['鏁版嵁鏈夋晥鐜�','鍏稿瀷寮傚父澶嶇幇鐜�','寮傚父绫诲瀷鑱氶泦搴�','鏁版嵁瓒呮爣鐜�','鏁版嵁鍦ㄧ嚎鐜�']" :yData="[bill.valid,bill.exceptionRecurrence,bill.exceptionTypeAggregation,bill.exceeding,bill.online]" ></DustRadarChart>
-           
+            </el-card>
           </el-col>
 
-          <el-col :xs="24" :sm="24" :md="6" :lg="4" :xl="4">
+          <el-col :xs="24" :sm="24" :md="6" :lg="6" :xl="4">
             <el-card
               shadow="never"
+            style="width: 200px;min-width: 200px;"
             >
               <template #header><span class="title-16">椋庨櫓璇︽儏</span></template>
               <el-form >
@@ -432,10 +432,11 @@
             </el-card>
           </el-col>
 
-          <el-col :xs="24" :sm="24" :md="6" :lg="4" :xl="4">
+          <el-col :xs="24" :sm="24" :md="6" :lg="6" :xl="4">
             <el-card
               shadow="never"
-            
+              
+            style="width:200px; min-width: 200px;"
             >
               <template #header>
                 <span class="title-16">椋庨櫓绛夌骇</span>
@@ -459,7 +460,7 @@
             </el-card>
           </el-col>
         </el-row>
-      </el-card>
+
 
 
         <el-row :gutter="24">
@@ -586,4 +587,6 @@
   font-size: 16px;
   font-weight: bold;
 }
+.el-row {
+}
 </style>
diff --git a/src/views/line_graph/components/DustRadarChart.vue b/src/views/line_graph/components/DustRadarChart.vue
index 3541676..b0e5748 100644
--- a/src/views/line_graph/components/DustRadarChart.vue
+++ b/src/views/line_graph/components/DustRadarChart.vue
@@ -32,6 +32,7 @@
   },
   mounted() {
     this.initRadarChart();
+    window.addEventListener('resize', this.resizeChart);
   },
   methods: {
     initRadarChart() {
@@ -45,14 +46,6 @@
         },
         tooltip: {},
         radar: {
-          // 杞�
-          //         axisLine: {
-          //           show:true,
-          //           lineStyle: {
-          //             color: '#F53F3F' ,// 璁剧疆杈规绾跨殑棰滆壊涓洪粦鑹�
-          //             type:'dashed',
-          //           }
-          // },
 
           // 杈规棰滆壊
           splitLine: {
@@ -95,20 +88,37 @@
                   (this.yData[3] / 100).toFixed(4),
                   (this.yData[4] / 100).toFixed(4)
                 ],
+                // value: [
+                //   this.yData[0],
+                //   this.yData[1],
+                //   this.yData[2],
+                //   this.yData[3] ,
+                //   this.yData[4] 
+                // ],
                 name: '寮傚父鍒嗘瀽'
               }
             ],
             label: {
               show: true,
               formatter: function (params) {
-                return params.value;
+                
+                return params.value*100+'%';
               }
             }
           }
         ]
       };
       this.chart.setOption(option);
-    }
+    },
+        // 璺熼〉闈㈠搷搴斿紡鍙樺寲
+        resizeChart() {
+          // this.chart.resize();
+          this.$nextTick(() => {
+            if (this.chart) {
+              this.chart.resize();
+            }
+          });
+      }
   }
 };
 </script>

--
Gitblit v1.9.3