From c24a5a2a99515b365ebc343b04538bb862790de1 Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期四, 21 十二月 2023 11:44:22 +0800
Subject: [PATCH] Merge branch 'feature-code-refactoring' and 'feature-002'

---
 src/views/exception/FlightInspection.vue | 3450 +++++++++++++++++++++++------------------------------------
 1 files changed, 1,334 insertions(+), 2,116 deletions(-)

diff --git a/src/views/exception/FlightInspection.vue b/src/views/exception/FlightInspection.vue
index 61e9267..b10b218 100644
--- a/src/views/exception/FlightInspection.vue
+++ b/src/views/exception/FlightInspection.vue
@@ -1,2135 +1,1353 @@
-<script>
-import InputSearch from '../../sfc/InputSearch.vue';
-import ExceptionType from '../../sfc/ExceptionType.vue';
-import TimeSelectWithShortCuts from '../../sfc/TimeSelectWithShortCuts.vue';
-import DustExceptionText from '../../sfc/DustExceptionText.vue';
-import { useFetch } from '../../utils/fetch.js';
-import { useCommonFunction } from '../../utils/common.js';
-import AreaAndmonitorType from '../../sfc/AreaAndmonitorType.vue'
-
-//  寮傚父鍥惧舰寮傛缁勪欢
-const DustLineChart = defineAsyncComponent(() =>
-  import('../../sfc/DustLineChart.vue')
-);
-
-import dayjs from 'dayjs';
-export default {
-  components: {
-    TimeSelectWithShortCuts,
-    DustExceptionText,
-    AreaAndmonitorType
+<!-- <script>
+  import CompFlightInspection from '@/views/exception/components/CompFlightInspection.vue'
+  export default {
+    components: {
+      CompFlightInspection
   },
-  data() {
-    return {
-      //  琛ㄥ崟鍐呭
-      form: {
-        // 绔欑偣鍚嶇О
-        name: '',
-        // 閫夋嫨鐨勫紓甯哥被鍨�
-        exceptionName: [],
-       
-      },
-      beginTime: '',
-      endTime: '',
-      // 杩斿洖鐨勬暟鎹�
-      tableData: [],
-      // 琛ㄦ牸灞曠ず鐨勬暟鎹�
-      displayData: [],
-      // 琛ㄦ牸楂樺害
-      tableHeight: 400,
-      // 琛ㄦ牸鏁版嵁
-      // 褰撳墠椤�
-      currentPage: 1,
-      // 姣忛〉鏉℃暟
-      pageSize: 20,
-      total: 0,
-  
-      // 琛ㄦ牸鏌ヨ鏃犳暟鎹椂
-      isNoData: false,
-      // 瀵硅瘽妗嗘樉绀�
-      dialogTableVisible: false,
-      // 淇濆瓨寮傚父瀵瑰簲鐨勫簵閾哄悕绉板拰璁惧缂栧彿
-      exception: {
-        // 鏂數鎴栨柇缃�
-        exception0: [],
-        // 鏁版嵁瓒呬綆
-        exception1: [],
-        // 瓒呮爣
-        exception2: [],
-        // 鏁版嵁闀挎椂娈垫棤娉㈠姩
-        exception3: [],
-        // 閲忕骇绐佸彉寮傚父
-        exception4: [],
-        // 涓磋繎瓒呮爣寮傚父
-        exception5: [],
-        // 鍗曟棩瓒呮爣娆℃暟涓寸晫寮傚父
-        exception6: [],
-        // 婊戝姩骞冲潎鍊煎紓甯�
-        exception7: [],
-        
+    data() {
+      return{
 
-        // 璇ユ椂娈电殑寮傚父鏁伴噺
-        exception0Num: 0,
-        exception1Num: 0,
-        exception2Num: 0,
-        exception3Num: 0,
-        exception4Num: 0,
-        exception5Num: 0,
-        exception6Num: 0,
-        exception7Num: 0,
-      },
-      // 绔欑偣鎬绘暟閲�
-      siteTotal: 0,
-
-      // 寮傚父鐨勭珯鐐规�绘暟閲�
-      // exceptionSiteNum:0,
-
-      // 閫変腑琛ㄦ牸褰撳墠琛岀殑鏁版嵁
-      tableCurrentRowData: null,
-      // 閫変腑琛ㄦ牸褰撳墠琛岀殑绱㈠紩
-      selectedRowIndex:-2,
-      // 椤甸潰涓婄殑鎸夐挳鍔犺浇鐘舵��
-      loading: {
-        // 鏌ヨ鎸夐挳
-        queryButton:false,
-            // 琛ㄦ牸鍔犺浇涓�
-       tableLoading: false,
-        // 涓婁竴鏉℃寜閽�
-        preButton: false,
-        // 涓嬩竴鏉℃寜閽�
-        afterButton: false,
-        // 鎶樼嚎鍥�
-        lineChart: false,
-        // 寮傚父绔欑偣鍚嶅瓙鏂囨湰
-        text:false
-        
-      },
-
-      dialog: {
-        // 鎵撳紑瀵硅瘽妗嗚姹傝鍖洪棿鐨勫巻鍙叉暟鎹�
-        historyData: [],
-        // 璇ユ椂闂存鐨勫紓甯告潯鏁�
-        exceptionTotal: 0,
-        // 鎶樼嚎鍥鹃厤缃」
-        option: {},
-        // 鈥欎笂涓�鏉♀�樻寜閽槸鍚﹀彲浠ヨ鐐瑰嚮鐘舵��
-        isPreCantouch: false,
-        // 鈥欎笅涓�鏉♀�樻寜閽槸鍚﹀彲浠ヨ鐐瑰嚮鐘舵��
-        isNextCantouch: false,
-        // 寮傚父鐨勫墠涓悗鍖洪棿鎵�鏈夋暟鎹�
-        allExceptionTimeData: []
-      },
-
-      // 鏍囪浣�
-      flag:{
-        // 鍔犺浇鏃� 涓婁笅鏉℃寜閽笉鑳藉啀鐐瑰嚮
-        banTouch:0,
-        // 0浠h〃鍒嗛〉锛�1浠h〃涓嶅垎椤�
-        originClick:0
-      }
-
-    };
-  },
-  setup() {
-    // provide('search',readonly(form))
-    const { backData, error, request } = useFetch();
-    const { isExceedOneMonth } = useCommonFunction();
-    return {
-      backData,
-      error,
-      request,
-      isExceedOneMonth
-    };
-  },
-  // 鐩戝惉  鍒ゆ柇鎸夐挳鏄惁鍙偣鍑�
-  watch: {
-    selectedRowIndex(newVaue) {
-      // 澶勪簬琛ㄦ牸鐨勬渶鍚庝竴鏉℃暟鎹� 璁剧疆鈥樹笂涓�鏉♀�欐寜閽笉鍙偣
-      if (newVaue === this.displayData.length - 1) {
-        this.dialog.isPreCantouch = true;
-        //鐢ㄦ埛鍏堢偣浜嗙涓�鏉★紝pre涓簍rue,鐒跺悗鐐瑰嚮鏈�鍚庝竴鏉�,next涓簍rue銆傛鏃朵袱涓寜閽兘琚皝閿�
-        if (this.dialog.isNextCantouch == true) {
-          this.dialog.isNextCantouch = false;
-        }
-      }
-      // 澶勪簬琛ㄦ牸绗竴鏉℃暟鎹� 璁剧疆鈥樹笅涓�鏉♀�欐寜閽笉鍙偣
-      else if (newVaue === 0) {
-        this.dialog.isNextCantouch = true;
-        //鐢ㄦ埛鍏堢偣浜嗚〃鏍兼渶鍚庝竴鏉�,next涓簍rue,鐒跺悗鐐瑰嚮绗竴鏉★紝pre涓簍rue銆傛鏃朵袱涓寜閽兘琚皝閿�
-        if (this.dialog.isPreCantouch == true) {
-          this.dialog.isPreCantouch = false;
-        }
-      }
-      // 澶勪簬琛ㄦ牸鐨勪腑闂磋 灏嗘寜閽缃负鍙偣鍑荤姸鎬�
-      else {
-        this.dialog.isPreCantouch = false;
-        this.dialog.isNextCantouch = false;
       }
     },
-
-    // 褰撻�夋嫨鐨勬椂闂村彂鐢熷彉鍖栨椂锛屽紓甯稿垎鏋愰儴鍒嗙殑寮傚父搴楅摵鏁伴噺鍚屾鍙樺寲
-
-        beginTime() {
-          this.getShopNames();
-      },
-      endTime() {
-        this.getShopNames();
-      },
-    dialogTableVisible() {
-      window.addEventListener('resize', this.updateChart);
-    }
-  },
-  mounted() {
-    // 娴嬭瘯缁勫悎寮忓嚱鏁�
-    // let param = {
-    //   siteName: '閲戝北鍖洪噾灞辨柊鍩嶫SC1-0401鍗曞厓1-11-01鍦板潡椤圭洰09',
-    //   beginTime: '2023-07-01 00:00:00',
-    //   endTime: '2023-07-10 00:00:00'
-    // };
-    // this.backData = this.request('/dust/history1', param);
-    // console.log('鍘嗗彶鏁版嵁涓猴細', this.backData.value);
-
-    this.backExceptionDataAWeekAgo();
-    // this.calTableHeight();
-    // 鏌ヨ鏃堕棿娈电殑鍚勫紓甯哥殑绔欑偣锛屾煡璇㈣鏃堕棿鍖洪棿鐨勫悇寮傚父鏁伴噺
-    this.getShopNames();
-    // this.exception.exception0 = this.getSiteNameByExceptionType('0',this.beginTime,this.endTime)
-    // console.log('寮傚父鏁版嵁涓猴細',this.exception.exception0);
-  },
-
-  methods: {
-
-
-    // getExceptionSiteNum(){
-    //   this.$http.get('/dust/exceptionsitenum').then(result => {
-    //     this.exceptionSiteNum = result.data.data.length 
-    //   })
-    // },
-    /**
-     * description锛氱偣鍑诲紓甯哥珯鐐瑰悕瀛楁椂 杩斿洖鐨勬暟鎹�
-     * @param锛� 
-     * @createTime:2023-08-17
-     * @returns锛�
-     */
-    getAbnormalDataByClick(val) {
-      this.flag.originClick = 1
-
-      this.tableData = val
-      this.total = this.tableData.length
-      // 榛樿鏄剧ず绗竴椤�
-      this.handleCurrentChange(1);
-    },
-     // 鐐瑰嚮琛ㄦ牸鐨勮鏃�
-     selectTableRow() {
-      // 鑾峰彇褰撳墠琛岀殑绱㈠紩
-      this.selectedRowIndex = this.displayData.indexOf(this.tableCurrentRowData);
+    mounted() {
 
     },
+    methods: {
 
-    /**
-     * description锛氳繑鍥炴椂闂存暟缁勶紝浠庡紑濮嬫椂闂寸殑鍚�15鍒嗛挓鍒扮粨鏉熸椂闂翠负姝€��
-     * @param锛� 寮傚父鐨勫紑濮�,寮傚父缁撴潫鏃堕棿
-     * @createTime:2023-08-17
-     * @returns锛氭瘮濡�12:00:00-13:00:00 鎵�浠ヨ繑鍥炵殑鏁扮粍鍏冪礌鏄� 12:00:00 ,12:15:00,12:30:00,12:45:00锛�13:00:00
-     */
-    descTenTime(begin, end) {
-      let time = [];
-      if (begin == end) {
-        time.push(begin);
-        return time;
-      }
-      time.push(begin);
-      let temp = dayjs(begin).add(15, 'minute').format('YYYY-MM-DD HH:mm:ss');
-      while (temp != end) {
-        time.push(temp);
-        temp = dayjs(temp).add(15, 'minute').format('YYYY-MM-DD HH:mm:ss');
-      }
-      // 鍔犱笂寮傚父鐨勭粨鏉熸椂闂�
-      time.push(temp);
-      return time;
-    },
-    /**
-     * description锛氭柇鐢垫垨鏂綉鏃惰缃殑琛ㄦ牸鏁版嵁
-     */
-    setOfflineTbleData(){
-      // 鏃犳暟鎹椂鐨勬椂闂存暟缁� 鏃堕棿鐩稿樊15鍒嗛挓
-      const abnormalTimeTenMinute = this.descTenTime(
-        this.tableCurrentRowData.beginTime,
-        this.tableCurrentRowData.endTime
-      );
-      // 鍘婚櫎渚涚數寮傚父鍜屾帀绾垮尯闂寸殑绗竴涓湁鍏冪礌鐨勫��
-      this.dialog.historyData = [];
-
-      for (let i = 0; i < abnormalTimeTenMinute.length; i++) {
-        this.dialog.historyData.push({
-          name: this.tableCurrentRowData.name,
-          mnCode: this.tableCurrentRowData.mnCode,
-          dutyCompany:this.tableCurrentRowData.dutyCompany,
-          lst: abnormalTimeTenMinute[i],
-          dustValue: ''
-        });
-      }
-
-      // 淇濆瓨鏃犳暟鎹椂琛ㄦ牸鏉℃暟
-      this.exceptionTotal = abnormalTimeTenMinute.length;
-    },
-
-    /**
-     * description锛氳繑鍥炲紑濮嬫椂闂寸殑鍓�45鍒嗛挓鐨勬椂闂寸偣锛岀粨鏉熸椂闂村悗45鍒嗛挓鐨勬椂闂寸偣
-     * @param锛� 寮傚父鐨勫紑濮嬫椂闂达紝寮傚父鐨勭粨鏉熸椂闂淬��
-     * @returns锛氭暟缁勩�倀ime[0],time[1],time[2],time[3]鍒嗗埆浠h〃寮傚父鍖洪棿鍓�45鍒嗛挓鐨勬椂闂寸偣锛屽墠15鍒嗛挓鐨勬椂闂寸偣,鍚�15鍒嗛挓鐨勬椂闂寸偣锛屽悗45鍒嗛挓鐨勬椂闂寸偣
-     */
-    before45AndAfter45(begin, end) {
-      let time = [];
-      // 鍓嶄竴娈电殑寮�濮嬫椂闂�
-      const before45MinBegin = dayjs(begin)
-        .subtract(45, 'minute')
-        .format('YYYY-MM-DD HH:mm:ss');
-      // 鍓嶄竴娈电殑缁撴潫鏃堕棿
-      const before15MinBegin = dayjs(begin)
-        .subtract(15, 'minute')
-        .format('YYYY-MM-DD HH:mm:ss');
-
-      // 鍚庝竴娈电殑寮�濮嬫椂闂�
-      const after15MinBegin = dayjs(end)
-        .add(15, 'minute')
-        .format('YYYY-MM-DD HH:mm:ss');
-      // 寰�鍚�40鍒嗛挓
-      const after45MinEnd = dayjs(end)
-        .add(45, 'minute')
-        .format('YYYY-MM-DD HH:mm:ss');
-      time.push(before45MinBegin);
-      time.push(before15MinBegin);
-      time.push(after15MinBegin);
-      time.push(after45MinEnd);
-      return time;
-    },
-    /**
-     * description锛氳繑鍥炴煇绔欑偣鍦ㄨ鏃舵鍘嗗彶鏁版嵁鐨刧et璇锋眰鍙傛暟
-     * @param锛� 绔欑偣鍚嶇О锛� 寮�濮嬫椂闂达紝 缁撴潫鏃堕棿
-     * @returns锛氬璞�
-     */
-    requestGetParms(name, begin, end) {
-      return {
-        siteName: name,
-        beginTime: begin,
-        endTime: end
-      };
-    },
-    /**
-     * description锛氱浉宸灏戜釜15鍒嗛挓  璁$畻涓寘鎷紑濮嬫椂闂达紝缁撴潫鏃堕棿銆�
-     * @param锛� 寮傚父寮�濮嬫椂闂达紝寮傚父缁撴潫鏃堕棿
-     * @returns锛氭暣鏁�
-     */
-    diffFiftyMinutesNum(beginNormal, endNormal) {
-      // 灏嗗紑濮嬫椂闂村拰缁撴潫鏃堕棿杞崲涓篸ayjs瀵硅薄
-      const start = dayjs(beginNormal).subtract(15, 'minute');
-      const end = dayjs(endNormal);
-
-      // 璁$畻缁撴潫鏃堕棿鍑忓幓寮�濮嬫椂闂翠腑闂寸浉宸灏戜釜鍗佸垎閽�
-      const diffInMinutes = end.diff(start, 'minute');
-      const diffInTenMinutes = Math.floor(diffInMinutes / 15);
-      return diffInTenMinutes;
-    },
-    // 娈电數鎴栨柇缃戝尯闂存棤鏁版嵁锛岄渶瑕佽ˉ鍏呫�傚叾浠栫殑閮芥湁鏁版嵁锛岀洿鎺ヤ竴娆¤姹傚叏閮ㄦ椂娈靛氨濂�
-
-    // 鏍规嵁寮傚父鍖洪棿鏋勯�犲墠鍚庣棣栧熬 鍓嶅尯闂� 涓棿鍖洪棿 鍚庡尯闂�
-    // 鍒ゆ柇鏄鐢垫垨鏂綉锛熸槸鍒欒姹傚墠鍚庡尯闂达紝鍚﹀垯鍙姹備竴娆″畬鏁寸殑
-    // 寰楀埌鏈�缁堟暟鎹�
-    // 鍐嶅垽鏂紓甯哥绫� 锛岃繘琛岃缃厤缃」
-
-    /**
-     * description锛氫竴娆¤姹傚洖鍓嶄腑鍚庡尯闂寸殑鏁版嵁,瀵规暟鎹繘琛屽垎鏋�
-     * @param锛� 鍓嶄腑鍚庡尯闂寸殑璇锋眰鍙傛暟锛屽墠涓悗鐨勬�诲尯闂存椂闂达紝寮傚父寮�濮嬫椂闂达紝涓�鍦虹粨鏉熸椂闂�
-     */
-     otherExceptionRequest(allTimeArgs,allTime,exceptionBT,exceptionET) {
-       // 鎶樼嚎鍥惧姞杞戒腑鏁堟灉
-      this.loading.lineChart = true
-      this.$http
-        .get('/dust/history', { params: allTimeArgs })
-        .then((result) => {
-          this.dialog.allExceptionTimeData = result.data.data;
-        //  鏂數鎴栨柇缃戞椂閲嶆柊璁剧疆琛ㄦ牸
-        if(this.tableCurrentRowData.exceptionType == '0'){
-            this.setOfflineTbleData()
-        }
-
-            // x杞存棩鏈熸椂闂�
-        let dateList = [];
-        // y杞� 瓒呮爣娌圭儫娴撳害
-        let dustValue = [];
-        let timeAndValue = {};
-
-        // 浠庢坊鍔犱簡棣栦綅鍖洪棿鐨勫紑濮嬪拰缁撴潫鏃堕棿杩涜閬嶅巻 淇濊瘉鏃堕棿浠�10鍒嗛挓涓洪棿闅�
-        timeAndValue = this.keepContinuousByEachFiftyMinutes(
-            allTime[0],
-            allTime[3],
-            this.dialog.allExceptionTimeData
-        );
-        dateList = timeAndValue['xAxis'];
-        dustValue = timeAndValue['yAxis'];
-        
-        // 鎻愬彇寮傚父璧峰鏃堕棿鐐瑰湪鏁翠釜鍖洪棿鍐呯殑鏁版嵁绱㈠紩
-        let startIndex = dateList.findIndex(
-            (item) => item === exceptionBT
-        );
-        let endIndex = dateList.findIndex((item) => item === exceptionET);
-
-        // 璁剧疆鎶樼嚎鍥鹃厤缃」
-        this.reSetChart(dateList,dustValue,exceptionBT, exceptionET,
-                    startIndex,
-                    endIndex)
-         this.loading.lineChart = false
-            });
-       
-    },
-    /**
-     * description锛氬垽鏂璬ata涓槸鍚︽湁璇ユ棩鏈熸椂闂达紝瀛樺湪杩斿洖璇ユ椂闂村搴旂殑娴撳害鍊硷紝鍚﹀垯杩斿洖-1
-     * @param锛� 鍔犱笂鍓嶅悗鍖洪棿鐨勫紓甯告暟鎹紝鏃堕棿瀛楃涓�
-     * @returns锛�
-     */
-    findTimeInExceptionData(data, time) {
-      for (let i = 0; i < data.length; i++) {
-        if (data[i] == null) {
-          continue;
-        }
-        if (data[i]['lst'] == time) {
-          return data[i]['dustValue'];
-        }
-      }
-      return -1;
-    },
-    /**
-     * description锛氭牴鎹紑濮嬪拰缁撴潫鏃堕棿,杩斿洖浠�15鍒嗛挓涓洪棿闅旂殑鏃堕棿鍜屽搴旂殑鍊�
-     * @param锛� 鍓嶅尯闂寸殑寮�濮嬫椂闂达紝 鍚庡尯闂寸殑缁撴潫鏃堕棿, 鍔犱笂鍓嶅悗鍖洪棿鐨勬�绘椂闂存鐨勫紓甯告暟鎹殑瀵硅薄鏁扮粍
-     * @returns锛氬璞°�傚寘鍚簡鎶樼嚎鍥剧殑x杞达紝y杞寸殑閰嶇疆鏁版嵁
-     */
-    keepContinuousByEachFiftyMinutes(
-      intervalStarTime,
-      intervalEndTime,
-      headAndTailExceptionData
-    ) {
-      let xAxis = [];
-      let yAxis = [];
-      let obj = {};
-      let current = intervalStarTime;
-      let tail = dayjs(intervalEndTime)
-        .add(15, 'minute')
-        .format('YYYY-MM-DD HH:mm:ss');
-      while (current != tail) {
-        let value = this.findTimeInExceptionData(
-          headAndTailExceptionData,
-          current
-        );
-        if (value != -1) {
-          xAxis.push(current);
-          yAxis.push(value);
-        } else {
-          xAxis.push(current);
-          yAxis.push(null);
-        }
-        current = dayjs(current)
-          .add(15, 'minute')
-          .format('YYYY-MM-DD HH:mm:ss');
-      }
-      obj['xAxis'] = xAxis;
-      obj['yAxis'] = yAxis;
-      return obj;
-    },
-
-    /**
-     * description锛氱粯鍒舵姌绾垮浘
-     * @param锛� x杞存椂闂达紝 y杞存补鐑熸祿搴︼紝 寮傚父寮�濮嬫椂闂达紝寮傚父缁撴潫鏃堕棿锛屽紓甯稿紑濮嬫椂闂村湪鏁翠釜鍖洪棿鐨勭储寮曚笅鏍囷紝寮傚父缁撴潫鏃堕棿鍦ㄦ暣涓尯闂寸殑绱㈠紩涓嬫爣
-     */
-    reSetChart(
-      xData,
-      yData,
-      exceptionBeginTime,
-      exceptionEndTime,
-      beginIndex,
-      endIndex
-    ) {
-      this.dialog.option = {};
-      switch (this.tableCurrentRowData.exceptionType) {
-        // 鏂數鎴栨柇缃�  鏃堕棿娈�
-        case '0':
-          this.dialog.option = {
-            tooltip: {},
-            toolbox: {
-              // 宸ュ叿鏍�
-              feature: {
-                // dataZoom: {
-                //   // 鍖哄煙缂╂斁
-                //   yAxisIndex: 'none'
-                // },
-                // 淇濆瓨涓哄浘鐗�
-                saveAsImage: {}
-              }
-            },
-            xAxis: {
-              type: 'category',
-              data: xData,
-              name: '鏃堕棿',
-              axisLabel: {
-                formatter: function (value) {
-                  return value.slice(11, -3);
-                }
-              }
-            },
-            yAxis: {
-              type: 'value',
-              name: 'mg/m鲁'
-            },
-            series: [
-              {
-                name: '棰楃矑鐗╂祿搴�',
-                type: 'line',
-                data: yData,
-                markLine: {
-                  silent: true,
-                  data: [
-                    // 鏍囨敞鏃犳暟鎹椂闂存鐨勬晥鏋滐紝灏嗚繖涓椂闂存鐨勬暟杞撮儴鍒嗗彉涓虹孩鑹�
-                    {
-                      name: '鏃犳暟鎹�',
-                      xAxis: exceptionBeginTime
-                    },
-                    {
-                      xAxis: exceptionEndTime
-                    }
-                  ],
-                  lineStyle: {
-                    color: 'red'
-                  }
-                }
-              }
-            ]
-          };
-          break;
-        // 瓒呮爣  
-        case '2':
-          this.dialog.option = {
-            tooltip: {},
-            toolbox: {
-              // 宸ュ叿鏍�
-              feature: {
-                //     dataZoom: {
-                //   yAxisIndex: 'none'
-                // },
-                // 淇濆瓨涓哄浘鐗�
-                saveAsImage: {}
-              }
-            },
-            xAxis: {
-              type: 'category',
-              data: xData,
-              name: '鏃堕棿',
-              axisLabel: {
-                formatter: function (value) {
-                  return value.slice(11, -3);
-                }
-              }
-            },
-            yAxis: {
-              type: 'value',
-              name: 'mg/m鲁'
-            },
-            series: [
-              {
-                name: '棰楃矑鐗╂祿搴�',
-                type: 'line',
-                data: yData.map((item) => {
-                  if (item >= 1) {
-                    return {
-                      value: item,
-                      itemStyle: {
-                        color: 'red'
-                      }
-                    };
-                  }
-                  return item;
-                }),
-                // 鍙樻崲鎸囧畾鏃堕棿鍖洪棿鐨勮儗鏅鑹�
-                markArea: {
-                  itemStyle: {
-                    color: 'rgba(255, 173, 177, 0.4)'
-                  },
-                  data: [
-                    [
-                      {
-                        name: '寮傚父鏃堕棿娈�',
-                        xAxis: exceptionBeginTime
-                      },
-                      {
-                        xAxis: exceptionEndTime
-                      }
-                    ]
-                  ]
-                },
-                markLine: {
-                  symbol: 'none',
-                  itemStyle: {
-                    // 鍩虹嚎鍏叡鏍峰紡
-                    normal: {
-                      lineStyle: {
-                        type: 'dashed'
-                      },
-                      label: {
-                        show: true,
-                        position: 'end',
-                        formatter: '{b}'
-                      }
-                    }
-                  },
-                  data: [
-                    {
-                      name: '瓒呮爣',
-                      type: 'average',
-                      yAxis: 1,
-                      lineStyle: {
-                        // color: '#ff0000'
-                        color: 'red'
-                      }
-                    }
-                  ]
-                }
-              }
-            ],
-            // 鎸囧畾鏃堕棿鍖洪棿鐨勭嚎娈靛彉棰滆壊
-            visualMap: {
-              show: false,
-              dimension: 0,
-              pieces: [
-                {
-                  lte: beginIndex,
-                  color: 'green'
-                },
-                {
-                  gt: beginIndex,
-                  lte: endIndex,
-                  color: 'red'
-                },
-                {
-                  gt: endIndex,
-                  lte: xData.length - 1,
-                  color: 'green'
-                }
-              ]
-            }
-          };
-          break;
-        // 鏁版嵁瓒呬綆 鍙湁鏃堕棿鐐�
-        case '1':
-        this.dialog.option = {
-            tooltip: {},
-            toolbox: {
-              // 宸ュ叿鏍�
-              feature: {
-                //     dataZoom: {
-                //   yAxisIndex: 'none'
-                // },
-                // 淇濆瓨涓哄浘鐗�
-                saveAsImage: {}
-              }
-            },
-            xAxis: {
-              type: 'category',
-              data: xData,
-              name: '鏃堕棿',
-              axisLabel: {
-                formatter: function (value) {
-                  return value.slice(11, -3);
-                }
-              }
-            },
-            yAxis: {
-              type: 'value',
-              name: 'mg/m鲁'
-            },
-            series: [
-              {
-                name: '棰楃矑鐗╂祿搴�',
-                type: 'line',
-                data: yData.map((item) => {
-                  if (item <= 0.01) {
-                    return {
-                      value: item,
-                      itemStyle: {
-                        color: 'red'
-                      }
-                    };
-                  }
-                  return item;
-                }),
-               
-                markLine: {
-                  symbol: 'none',
-                  itemStyle: {
-                    // 鍩虹嚎鍏叡鏍峰紡
-                    normal: {
-                      lineStyle: {
-                        type: 'dashed'
-                      },
-                      label: {
-                        show: true,
-                        position: 'end',
-                        formatter: '{b}'
-                      }
-                    }
-                  },
-                  data: [
-                    {
-                      name: '鏁版嵁瓒呬綆',
-                      type: 'average',
-                      yAxis: 0.01,
-                      lineStyle: {
-                        // color: '#ff0000'
-                        color: 'red'
-                      }
-                    }
-                  ]
-                }
-              }
-            ],
-            // 鎸囧畾鏃堕棿鍖洪棿鐨勭嚎娈靛彉棰滆壊
-            visualMap: {
-              show: false,
-              dimension: 0,
-              pieces: [
-                {
-                  lte: beginIndex,
-                  color: 'green'
-                },
-                {
-                  gt: beginIndex,
-                  lte: endIndex,
-                  color: 'red'
-                },
-                {
-                  gt: endIndex,
-                  lte: xData.length - 1,
-                  color: 'green'
-                }
-              ]
-            }
-          };
-          break;
-        case '3' :
-          this.dialog.option = {
-            tooltip: {},
-            toolbox: {
-              // 宸ュ叿鏍�
-              feature: {
-                //  dataZoom: {
-                //   yAxisIndex: 'none'
-                // },
-                // 淇濆瓨涓哄浘鐗�
-                saveAsImage: {}
-              }
-            },
-            xAxis: {
-              type: 'category',
-              data: xData,
-              name: '鏃堕棿',
-              axisLabel: {
-                formatter: function (value) {
-                  return value.slice(11, -3);
-                }
-              }
-            },
-            yAxis: {
-              type: 'value',
-              name: 'mg/m鲁'
-            },
-            series: [
-              {
-                name: '棰楃矑鐗╂祿搴�',
-                type: 'line',
-                data: yData.map((item) => {
-                  if (item >= 1) {
-                    return {
-                      value: item,
-                      itemStyle: {
-                        color: 'red'
-                      }
-                    };
-                  }
-                  return item;
-                }),
-                // 鍙樻崲鎸囧畾鏃堕棿鍖洪棿鐨勮儗鏅鑹�
-                markArea: {
-                  itemStyle: {
-                    color: 'rgba(255, 173, 177, 0.4)'
-                  },
-                  data: [
-                    [
-                      {
-                        name: '寮傚父鏃堕棿娈�',
-                        xAxis: exceptionBeginTime
-                      },
-                      {
-                        xAxis: exceptionEndTime
-                      }
-                    ]
-                  ]
-                }
-              }
-            ],
-            // 鎸囧畾鏃堕棿鍖洪棿鐨勭嚎娈靛彉棰滆壊
-            visualMap: {
-              show: false,
-              dimension: 0,
-              pieces: [
-                {
-                  lte: beginIndex,
-                  color: 'green'
-                },
-                {
-                  gt: beginIndex,
-                  lte: endIndex,
-                  color: 'red'
-                },
-                {
-                  gt: endIndex,
-                  lte: xData.length - 1,
-                  color: 'green'
-                }
-              ]
-            }
-          };
-          break;
-        case '4':
-        this.dialog.option = {
-            tooltip: {},
-            toolbox: {
-              // 宸ュ叿鏍�
-              feature: {
-                //     dataZoom: {
-                //   yAxisIndex: 'none'
-                // },
-                // 淇濆瓨涓哄浘鐗�
-                saveAsImage: {}
-              }
-            },
-            xAxis: {
-              type: 'category',
-              data: xData,
-              name: '鏃堕棿',
-              axisLabel: {
-                formatter: function (value) {
-                  return value.slice(11, -3);
-                }
-              }
-            },
-            yAxis: {
-              type: 'value',
-              name: 'mg/m鲁'
-            },
-            series: [
-              {
-                name: '棰楃矑鐗╂祿搴�',
-                type: 'line',
-                data: yData,
-                // 鍙樻崲鎸囧畾鏃堕棿鍖洪棿鐨勮儗鏅鑹�
-                markArea: {
-                  itemStyle: {
-                    color: 'rgba(255, 173, 177, 0.4)'
-                  },
-                  data: [
-                    [
-                      {
-                        name: '寮傚父鏃堕棿娈�',
-                        xAxis: exceptionBeginTime
-                      },
-                      {
-                        xAxis: exceptionEndTime
-                      }
-                    ]
-                  ]
-                },
-           
-              }
-            ],
-            // 鎸囧畾鏃堕棿鍖洪棿鐨勭嚎娈靛彉棰滆壊
-            visualMap: {
-              show: false,
-              dimension: 0,
-              pieces: [
-                {
-                  lte: beginIndex,
-                  color: 'green'
-                },
-                {
-                  gt: beginIndex,
-                  lte: endIndex,
-                  color: 'red'
-                },
-                {
-                  gt: endIndex,
-                  lte: xData.length - 1,
-                  color: 'green'
-                }
-              ]
-            }
-          };
-          break;
-        default:
-          console.log('娌℃湁璁剧疆璇ュ紓甯哥被鍨嬶紒');;
-      }
-      this.flag.banTouch = 0
-    },
-    /**
-     * description锛氬垝鍒嗗嚭寮傚父璧峰鏃堕棿锛屾瀯閫犺姹傚墠涓悗鐨勫弬鏁�
-     */
-    timeAndDataProcessed() {
-
-      //寮傚父鐨勫紑濮嬫椂闂� 缁撴潫鏃堕棿
-      let exceptionBeginTime = this.tableCurrentRowData.beginTime;
-      let exceptionEndTime = this.tableCurrentRowData.endTime;
-
-      // beforeAndAfterTime[0]:鍓�45鍒嗛挓鐨勬椂闂寸偣
-      // beforeAndAfterTime[1]:鍓�15鍒嗛挓鐨勬椂闂寸偣
-      // beforeAndAfterTime[2]:鍚�15鍒嗛挓鐨勬椂闂寸偣
-      // beforeAndAfterTime[3]:鍚�45鍒嗛挓鐨勬椂闂寸偣
-      let beforeAndAfterTime = this.before45AndAfter45(
-        exceptionBeginTime,
-        exceptionEndTime
-      );
-
-      // 鏋勯�犲紓甯告椂闂村墠鍚庡尯闂存暟鎹姹傚弬鏁�(闄や簡鏂綉涓兘鐢ㄥ埌锛�
-      let paramsAllTime = this.requestGetParms(
-        this.tableCurrentRowData.name,
-        beforeAndAfterTime[0],
-        beforeAndAfterTime[3]
-      );
-    // 灏嗗紓甯告暟鎹繘琛岄澶勭悊锛岄殢鍚庡皢缁撴灉浣滀负鎶樼嚎鍥剧殑閰嶇疆椤�
-
-      this.otherExceptionRequest(paramsAllTime,beforeAndAfterTime,exceptionBeginTime,exceptionEndTime)
-    },
-
-    /**
-     * description锛氳幏鍙栦笅涓�鏉″紓甯镐俊鎭�
-     */
-    getPreviousRowData() {
-    //     // 涓嶆槸琛ㄦ牸鐨勬渶鍚庝竴琛�
-      if (this.selectedRowIndex < this.displayData.length - 1) {
-        // 鐐瑰嚮杩囩▼涓� 閿佷綇涓婁笅鏉℃寜閽�  鍦ㄨ缃畬鍥惧舰閰嶇疆椤瑰悗瑙i攣
-        this.flag.banTouch = 1
-
-        //寰楀埌涓婁竴琛屾暟鎹储寮�
-        this.selectedRowIndex = this.selectedRowIndex + 1;
-
-        //璇锋眰鏁版嵁 鏀瑰彉exceedingData
-        // this.setinfo(this.selectedRowIndex);
-
-        // 寰楀埌涓婁竴琛岀殑鏁版嵁
-        this.tableCurrentRowData = this.displayData[this.selectedRowIndex]
-        let params = this.requestGetParms(this.tableCurrentRowData.name,this.tableCurrentRowData.beginTime,this.tableCurrentRowData.endTime)
-        this.loading.preButton = true
-        this.$http
-          .get('/dust/history', { params: params })
-          .then((response) => {
-            // 淇濆瓨杩斿洖鐨勮秴鏍囨暟鎹�
-            this.dialog.historyData = response.data.data;
-            this.dialog.exceptionTotal = response.data.data.length;
-            // 閫昏緫澶勭悊
-            this.timeAndDataProcessed()
-            this.loading.preButton = false
-          });
-      }
-
-        //寰楀埌涓婁竴琛屾暟鎹储寮�
-        // this.selectedRowIndex = this.selectedRowIndex + 1;
-        // this.tableCurrentRowData = this.displayData[this.selectedRowIndex]
-        // console.log('褰撳墠琛屾暟鎹负:',this.tableCurrentRowData);
-    },
-    /**
-     * description锛氳幏鍙栦笅涓�鏉″紓甯镐俊鎭�
-     */
-    getNextRowData() {
-         // 涓嶆槸琛ㄦ牸鐨勭涓�琛�
-      if (this.selectedRowIndex !== 0) {
-        // 鐐瑰嚮杩囩▼涓� 閿佷綇涓婁笅鏉℃寜閽�  鍦ㄨ缃畬鍥惧舰閰嶇疆椤瑰悗瑙i攣
-        this.flag.banTouch = 1
-
-        //寰楀埌涓婁竴琛屾暟鎹储寮�
-        this.selectedRowIndex = this.selectedRowIndex - 1;
-        //璇锋眰鏁版嵁 鏀瑰彉exceedingData
-        // this.setinfo(this.selectedRowIndex);
-
-         // 寰楀埌涓婁竴琛岀殑鏁版嵁
-         this.tableCurrentRowData = this.displayData[this.selectedRowIndex]
-
-        let params = this.requestGetParms(this.tableCurrentRowData.name,this.tableCurrentRowData.beginTime,this.tableCurrentRowData.endTime)
-        this.loading.afterButton = true
-        this.$http
-          .get('/dust/history', { params: params })
-          .then((response) => {
-            // 淇濆瓨杩斿洖鐨勮秴鏍囨暟鎹�
-            this.dialog.historyData = response.data.data;
-            this.dialog.exceptionTotal = response.data.data.length;
-            // 閫昏緫澶勭悊
-            this.timeAndDataProcessed()
-            this.loading.afterButton = false
-          });
-      }
-    },
-
-    /**
-     * description锛氫粠瀛愮粍浠惰幏寰楁煇绔欑偣璇ユ椂娈电殑寮傚父鏁版嵁
-     * @createTime:2023-08-18
-     */
-    backExceptionData(val1, val2) {
-      this.displayData = val1;
-      this.total = val2;
-    },
-
-    /**
-     * description锛氬綋鐢ㄦ埛鏀瑰彉鏌ヨ鐨勬椂闂村尯闂存椂锛屼細鏍规嵁璇ュ尯闂存煡璇㈠悇寮傚父鐨勭珯鐐癸紝鏌ヨ璇ユ椂闂村尯闂寸殑鍚勫紓甯告暟閲�
-     * @createTime:2023-08-18
-     */
-    getShopNames() {
-      /* 鏌ヨ寮傚父鐨勭珯鐐� */
-      this.$http
-        .get('/dust/sitenamecode', {
-          params: {
-            exceptionType: '0',
-            beginTime: this.beginTime,
-            endTime: this.endTime
-          }
-        })
-        .then((result) => {
-          this.exception.exception0 = result.data.data;
-        });
-      this.$http
-        .get('/dust/sitenamecode', {
-          params: {
-            exceptionType: '1',
-            beginTime: this.beginTime,
-            endTime: this.endTime
-          }
-        })
-        .then((result) => {
-          this.exception.exception1 = result.data.data;
-        });
-      this.$http
-        .get('/dust/sitenamecode', {
-          params: {
-            exceptionType: '2',
-            beginTime: this.beginTime,
-            endTime: this.endTime
-          }
-        })
-        .then((result) => {
-          this.exception.exception2 = result.data.data;
-        });
-
-      this.$http
-        .get('/dust/sitenamecode', {
-          params: {
-            exceptionType: '3',
-            beginTime: this.beginTime,
-            endTime: this.endTime
-          }
-        })
-        .then((result) => {
-          this.exception.exception3 = result.data.data;
-        });
-
-        this.$http
-        .get('/dust/sitenamecode', {
-          params: {
-            exceptionType: '4',
-            beginTime: this.beginTime,
-            endTime: this.endTime
-          }
-        })
-        .then((result) => {
-          this.exception.exception4 = result.data.data;
-        });
-        this.$http
-        .get('/dust/sitenamecode', {
-          params: {
-            exceptionType: '5',
-            beginTime: this.beginTime,
-            endTime: this.endTime
-          }
-        })
-        .then((result) => {
-          this.exception.exception5 = result.data.data;
-        });
-        this.$http
-        .get('/dust/sitenamecode', {
-          params: {
-            exceptionType: '6',
-            beginTime: this.beginTime,
-            endTime: this.endTime
-          }
-        })
-        .then((result) => {
-          this.exception.exception6 = result.data.data;
-        });
-
-
-
-      /* 寮傚父寮傚父鏁伴噺 */
-      this.$http
-        .get('/dust/exceptionnum', {
-          params: {
-            exceptionType: '0',
-            beginTime: this.beginTime,
-            endTime: this.endTime
-          }
-        })
-        .then((result) => {
-          this.exception.exception0Num = result.data.data;
-        });
-      this.$http
-        .get('/dust/exceptionnum', {
-          params: {
-            exceptionType: '1',
-            beginTime: this.beginTime,
-            endTime: this.endTime
-          }
-        })
-        .then((result) => {
-          this.exception.exception1Num = result.data.data;
-        });
-      this.$http
-        .get('/dust/exceptionnum', {
-          params: {
-            exceptionType: '2',
-            beginTime: this.beginTime,
-            endTime: this.endTime
-          }
-        })
-        .then((result) => {
-          this.exception.exception2Num = result.data.data;
-        });
-
-      this.$http
-        .get('/dust/exceptionnum', {
-          params: {
-            exceptionType: '3',
-            beginTime: this.beginTime,
-            endTime: this.endTime
-          }
-        })
-        .then((result) => {
-          this.exception.exception3Num = result.data.data;
-        });
-        
-        this.$http
-        .get('/dust/exceptionnum', {
-          params: {
-            exceptionType: '4',
-            beginTime: this.beginTime,
-            endTime: this.endTime
-          }
-        })
-        .then((result) => {
-          this.exception.exception4Num = result.data.data;
-        });
-        this.$http
-        .get('/dust/exceptionnum', {
-          params: {
-            exceptionType: '5',
-            beginTime: this.beginTime,
-            endTime: this.endTime
-          }
-        })
-        .then((result) => {
-          this.exception.exception5Num = result.data.data;
-        });
-        this.$http
-        .get('/dust/exceptionnum', {
-          params: {
-            exceptionType: '6',
-            beginTime: this.beginTime,
-            endTime: this.endTime
-          }
-        })
-        .then((result) => {
-          this.exception.exception6Num = result.data.data;
-        });
-    },
-
-    /**
-     * description锛氳姹傚紓甯哥殑搴楅摵鍚嶅瓧
-     * @param锛氬紓甯哥被鍨嬶紝寮�濮嬫椂闂达紝缁撴潫鏃堕棿
-     * @createTime:2023-08-18
-     * @returns锛� 寮傚父鐨勬暟鎹�
-     */
-    // getSiteNameByExceptionType(exception, beginT, endT) {
-    //   let param = {
-    //     exceptionType: exception,
-    //     beginTime: beginT,
-    //     endTime: endT
-    //   };
-
-    //   this.$http.get('/dust/sitenamecode', { params: param }).then((res) => {
-    //     return res.data.data;
-    //   });
-    //   return;
-    // },
-
-    /**
-     * description锛氭樉绀哄璇濇,杩斿洖璇ュ紓甯告椂闂存鐨勬墍鏈夋暟鎹�
-     * @param锛氱偣鍑烩�樻煡鐪嬭鎯呪�欑殑璇ヨ鎵�鏈夊瓧娈垫暟鎹�
-     * @createTime:2023-08-18
-     */
-    showDialog(row) {
-      // 鎵撳紑瀵硅瘽妗�
-      this.dialogTableVisible = true;
-      
-      // 淇濆瓨褰撳墠琛屾暟鎹�
-      this.tableCurrentRowData = row;
-
-      // 鑾峰彇褰撳墠琛岀殑绱㈠紩
-      this.selectedRowIndex = this.displayData.indexOf(row);
-
-      //鏍规嵁褰撳墠琛岀殑缂栧彿锛岃捣濮嬫椂闂存潵 璇锋眰寮傚父鏁版嵁
-      // 瀵硅姹傚埌鐨勬暟鎹繘琛岄灏炬嫾鎺�
-      // 寰楀埌鍓嶅悗瀹屾暣鏁版嵁杩涜缁樺埗鍥惧舰
-
-      let params = {};
-      if (row.name) {
-        params['siteName'] = row.name;
-      }
-      if (row.beginTime) {
-        params['beginTime'] = row.beginTime;
-      }
-      if (row.endTime) {
-        params['endTime'] = row.endTime;
-      }
-
-      this.$http.get('/dust/history', { params: params }).then((response) => {
-        // 淇濆瓨杩斿洖鐨勮秴鏍囨暟鎹�
-        this.dialog.historyData = response.data.data;
-        this.dialog.exceptionTotal = response.data.data.length;
-        // 閫昏緫澶勭悊
-        this.timeAndDataProcessed()
-      });
-    },
-    /**
-     * description锛氭潯浠舵煡璇㈠紓甯哥殑鏁版嵁
-     * @createTime:2023-08-18
-     */
-    handleSubmit() {
-      if (this.isExceedOneMonth(this.beginTime, this.endTime)) {
-        alert('鏃堕棿璺ㄥ害涓嶈兘瓒呰繃涓�涓湀');
-        return;
-      }
-      this.loading.queryButton = true
-      this.flag.originClick = 0
-      this.loading.tableLoading = true;
-      let params = {};
-      params['page'] = this.currentPage;
-      params['pageSize'] = this.pageSize;
-      if (this.form.name) {
-        params['siteName'] = this.form.name;
-      }
-      if (this.form.exceptionName.length != 0) {
-        params['exceptionType'] = this.form.exceptionName.join();
-      }
-      params['beginTime'] = this.beginTime;
-      params['endTime'] = this.endTime;
-
-      this.$http
-        .get('/dust/exceptiondata', { params: params })
-        .then((response) => {
-          // 淇濆瓨杩斿洖鐨�
-          // this.tableData = response.data.data.rows;
-          this.displayData = response.data.data.rows;
-          this.loading.queryButton = false
-          this.loading.tableLoading = false;
-          if (response.data.data.total == 0) {
-            ElMessage('璇ユ椂娈垫棤鏁版嵁');
-            this.isNoData = true;
-            return;
-          }
-          this.total = response.data.data.total;
-          // 绉婚櫎绌烘暟鎹姸鎬�
-          this.isNoData = false;
-        });
-    },
-
-    /**
-     * description锛氭墦寮�椤甸潰榛樿鍔犺浇鏈�杩戜竴鍛ㄧ殑寮傚父鏁版嵁
-     * @createTime:2023-08-18
-     */
-    backExceptionDataAWeekAgo() {
-      this.loading.tableLoading = true;
-      let params = {};
-      if (this.form.name) {
-        params['siteName'] = this.form.name;
-      }
-      if (this.form.exceptionName) {
-        params['exceptionType'] = this.form.exceptionName;
-      }
-      params['beginTime'] = this.beginTime;
-      params['endTime'] = this.endTime;
-
-      this.$http
-        .get('/dust/exceptiondata', { params: params })
-        .then((response) => {
-          // 淇濆瓨杩斿洖鐨�
-          // this.tableData = response.data.data.rows;
-          this.displayData = response.data.data.rows;
-
-          if (response.data.data.total == 0) {
-            ElMessage('璇ユ椂娈垫棤鏁版嵁');
-            this.isNoData = true;
-            return;
-          }
-          this.total = response.data.data.total;
-          this.loading.tableLoading = false;
-        });
-    },
-
-    /**
-     * description锛氬皢涓浗鏍囧噯鏃堕棿杞负鎸囧畾鏍煎紡(璇ョ粍浠惰繑鍥炵殑鏍囧噯鏃堕棿鐨勬牸寮忥紝鎵�浠ュ繀椤荤殑鍔犺繖涓嚱鏁�)
-     * @createTime:2023-08-17
-     */
-    giveTime(val) {
-      this.beginTime = dayjs(val[0]).format('YYYY-MM-DD HH:mm:ss');
-      this.endTime = dayjs(val[1]).format('YYYY-MM-DD HH:mm:ss');
-    },
-
-    // 鍔熻兘锛氳〃鏍奸珮搴︽牴鎹唴瀹硅嚜閫傚簲
-    calTableHeight() {
-      const h1 = this.$refs.h1.$el.offsetHeight;
-      const h2 = this.$refs.h2.$el.offsetHeight;
-      const h3 = this.$refs.h3.$el.offsetHeight;
-      const h4 = this.$refs.h4.$el.offsetHeight;
-      // 鍏朵腑涓�涓�40鏄洅瀛愮殑鎬诲杈硅窛
-      this.tableHeight = `calc(100vh - ${h1}px - ${h2}px - ${h3}px - ${h4}px - 40px - var(--el-main-padding) * 2)`;
-    },
-
-    // 椤靛ぇ灏忔敼鍙樻椂瑙﹀彂
-    handleSizeChange(val) {
-      this.pageSize = val;
-
-      // 鏀瑰彉姣忛〉鏄剧ず鏁扮洰鏃惰烦鍒板綋鍓嶉〉
-      this.handleCurrentChange(1);
-    },
-
-    // 椤靛彿鏀瑰彉鏃惰Е鍙�
-    /**
-     * description锛氶〉鍙锋敼鍙樻椂瑙﹀彂
-     * @param锛� 褰撳墠椤碉紝鏍囪浣嶏紙0浠h〃鏄偣鍑烩�樻煡璇⑩�欒Е鍙戠殑锛�1浠h〃鏃剁偣鍑诲紓甯哥珯鐐规枃鏈寜閽Е鍙戠殑锛�
-     * @createTime:2023-08-17
-     * @returns锛�
-     */
-    handleCurrentChange(val) {
-      console.log('褰撳墠椤典负锛�', val);
-      // 灏嗗綋鍓嶉〉鍙风粰currentPage
-      this.currentPage = val;
-
-
-      // 椤甸潰鍙樺寲鏃惰皟鐢� 鏌ヨ鏁版嵁鍑芥暟
-      if(this.flag.originClick==0){
-        this.handleSubmit();
-      }else if(this.flag.originClick ==1){
-        const startIndex = (val - 1) * this.pageSize;
-        const endIndex = startIndex + this.pageSize;
-
-        this.displayData = this.tableData.slice(startIndex, endIndex);
-      }
-    },
-    // 琛ㄦ牸搴忓彿閫掑
-    indexMethod1(index) {
-      return index + 1 + (this.currentPage - 1) * this.pageSize;
-    },
-    // 琛ㄦ牸搴忓彿閫掑
-    indexMethod2(index) {
-      return index + 1;
-    }
-  }
-};
+     }
+}
 </script>
 
 <template>
- 
-  <el-row ref="h1">
-    <el-col>
-      <el-form :inline="true">
-        <div class="head-container-text">
-          <el-form-item >
-          <AreaAndmonitorType ></AreaAndmonitorType>
-          </el-form-item>
-
-          <el-form-item>
-            <TimeSelectWithShortCuts @submit-time="giveTime"></TimeSelectWithShortCuts>
-          </el-form-item>
-
-        </div>
-
-        <div class="head-container-search">
-          <el-form-item>
-            <el-button type="warning" :loading="loading.queryButton" @click="handleSubmit">鏌ヨ</el-button>
-          </el-form-item>
-        </div>
-      </el-form>
-    </el-col>
-  </el-row>
-
-  <el-row class="head-describtion-text" ref="h2">
-    <el-row>
-      <span> 閲戝北鍖� {{ beginTime }} 鈥斺�� {{ endTime }} 鎵皹鐩戞祴寮傚父淇℃伅姹囨��</span>
-    </el-row>
-  </el-row>
-
-  <el-row ref="h3">
-    <el-col>
-      <el-card>
-        <template #header>
-          <div class="card-header">寮傚父鍒嗘瀽</div>
-        </template>
-
-        
-      <el-row :gutter="20" class="card-row" > 
-          <el-col :span="6">
-            <div class="card-content-unnormal">
-              <!-- 鏍囧ご -->
-              <div class="card-text1">
-                <image class="card-header-image"></image>
-                <span class="card-header-text">閲忕骇绐佸彉寮傚父</span>
-              </div>
-
-              <div class="card-content-text">
-                <el-scrollbar>
-             
-                <span class="card-exceptionname-text1">寮傚父绔欑偣鍗犳瘮:</span>
-                <span>{{ exception.exception4.length }} /{{ siteTotal }}</span>
-                <span>
-                  ({{
-                    ((exception.exception4.length / siteTotal) * 100).toFixed(
-                      1
-                    )
-                  }}%)</span
-                >
-         
-                <div class="card-exceptionname-text2"
-                  >寮傚父鏁板崰姣�:{{
-                    (
-                      (exception.exception4Num /
-                        (exception.exception0Num +
-                          exception.exception1Num +
-                          exception.exception2Num +
-                          exception.exception3Num+
-                          exception.exception4Num+
-                          exception.exception5Num+
-                          exception.exception6Num+
-                          exception.exception7Num
-                          )) *
-                      100
-                    ).toFixed(1)
-                  }}%</div
-                >
-           
-            </el-scrollbar>
-              </div>
-              <hr />
-              <!-- 寮傚父鐨勫簵閾哄悕瀛� -->
-              <div class="card-exception-buttom"   v-loading="loading.text" >
-                <el-scrollbar max-height="90px">
-                  <DustExceptionText
-                  :site-name="item.name"
-                   exception-type="4"
-                  :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 }}
-                    <span
-                      v-if="index < exception.exception4.length - 1"
-                      class="text-blank"
-                      >,</span
-                    >
-                  </DustExceptionText>
-                </el-scrollbar>
-              </div>
-              <!-- 缁撴潫 -->
-            </div>
-          </el-col>
-
-          <el-col :span="6">
-            <div class="card-content-unnormal">
-              <!-- 鏍囧ご -->
-              <div class="card-text1">
-                <image class="card-header-image"></image>
-                <span class="card-header-text">涓磋繎瓒呮爣寮傚父</span>
-              </div>
-
-              <div class="card-content-text">
-                <el-scrollbar>
-             
-                <span class="card-exceptionname-text1">寮傚父绔欑偣鍗犳瘮:</span>
-                <span>{{ exception.exception5.length }} /{{ siteTotal }}</span>
-                <span>
-                  ({{
-                    ((exception.exception5.length / siteTotal) * 100).toFixed(
-                      1
-                    )
-                  }}%)</span
-                >
-         
-                <div class="card-exceptionname-text2"
-                  >寮傚父鏁板崰姣�:{{
-                    (
-                      (exception.exception5Num /
-                        (exception.exception0Num +
-                          exception.exception1Num +
-                          exception.exception2Num +
-                          exception.exception3Num+
-                          exception.exception4Num+
-                          exception.exception5Num+
-                          exception.exception6Num+
-                          exception.exception7Num
-                          )) *
-                      100
-                    ).toFixed(1)
-                  }}%</div
-                >
-           
-            </el-scrollbar>
-              </div>
-              <hr />
-              <!-- 寮傚父鐨勫簵閾哄悕瀛� -->
-              <div class="card-exception-buttom"   v-loading="loading.text">
-                <el-scrollbar max-height="90px">
-                  <DustExceptionText
-                  :site-name="item.name"
-                   exception-type="5"
-                  :begin-time="beginTime"
-                  :end-time="endTime"
-                    @submit-exception-data="getAbnormalDataByClick"
-
-                    v-for="(item, index) in exception.exception5"
-                    :key="item"
-                    >{{ item.name }}
-                    <span
-                      v-if="index < exception.exception5.length - 1"
-                      class="text-blank"
-                      >,</span
-                    >
-                  </DustExceptionText>
-                </el-scrollbar>
-              </div>
-              <!-- 缁撴潫 -->
-            </div>
-          </el-col>
-
-          <el-col :span="6">
-            <div class="card-content-unnormal">
-              <!-- 鏍囧ご -->
-              <div class="card-text1">
-                <image class="card-header-image"></image>
-                <span class="card-header-text">鍗曟棩瓒呮爣娆℃暟涓寸晫寮傚父</span>
-              </div>
-
-              <div class="card-content-text">
-                <el-scrollbar>
-             
-                <span class="card-exceptionname-text1">寮傚父绔欑偣鍗犳瘮:</span>
-                <span>{{ exception.exception6.length }} /{{ siteTotal }}</span>
-                <span>
-                  ({{
-                    ((exception.exception6.length / siteTotal) * 100).toFixed(
-                      1
-                    )
-                  }}%)</span
-                >
-         
-                <div class="card-exceptionname-text2"
-                  >寮傚父鏁板崰姣�:{{
-                    (
-                      (exception.exception6Num /
-                        (exception.exception0Num +
-                          exception.exception1Num +
-                          exception.exception2Num +
-                          exception.exception3Num+
-                          exception.exception4Num+
-                          exception.exception5Num+
-                          exception.exception6Num+
-                          exception.exception7Num
-                          )) *
-                      100
-                    ).toFixed(1)
-                  }}%</div
-                >
-           
-            </el-scrollbar>
-              </div>
-              <hr />
-              <!-- 寮傚父鐨勫簵閾哄悕瀛� -->
-              <div class="card-exception-buttom"   v-loading="loading.text">
-                <el-scrollbar max-height="90px">
-                  <DustExceptionText
-                  :site-name="item.name"
-                   exception-type="6"
-                  :begin-time="beginTime"
-                  :end-time="endTime"
-                    @submit-exception-data="getAbnormalDataByClick"
-
-                    v-for="(item, index) in exception.exception6"
-                    :key="item"
-                    >{{ item.name }}
-                    <span
-                      v-if="index < exception.exception6.length - 1"
-                      class="text-blank"
-                      >,</span
-                    >
-                  </DustExceptionText>
-                </el-scrollbar>
-              </div>
-              <!-- 缁撴潫 -->
-            </div>
-          </el-col>
-
-          <el-col :span="6">
-            <div class="card-content-unnormal">
-              <!-- 鏍囧ご -->
-              <div class="card-text1">
-                <image class="card-header-image"></image>
-                <span class="card-header-text">鍙樺寲瓒嬪娍寮傚父</span>
-              </div>
-
-              <div class="card-content-text">
-                <el-scrollbar>
-             
-                <span class="card-exceptionname-text1">寮傚父绔欑偣鍗犳瘮:</span>
-                <span>{{ exception.exception7.length }} /{{ siteTotal }}</span>
-                <span>
-                  ({{
-                    ((exception.exception7.length / siteTotal) * 100).toFixed(
-                      1
-                    )
-                  }}%)</span
-                >
-         
-                <div class="card-exceptionname-text2"
-                  >寮傚父鏁板崰姣�:{{
-                    (
-                      (exception.exception7Num /
-                        (exception.exception0Num +
-                          exception.exception1Num +
-                          exception.exception2Num +
-                          exception.exception3Num+
-                          exception.exception4Num+
-                          exception.exception5Num+
-                          exception.exception6Num+
-                          exception.exception7Num
-                          )) *
-                      100
-                    ).toFixed(1)
-                  }}%</div
-                >
-           
-            </el-scrollbar>
-              </div>
-              <hr />
-              <!-- 寮傚父鐨勫簵閾哄悕瀛� -->
-              <div class="card-exception-buttom"   v-loading="loading.text">
-                <el-scrollbar max-height="90px">
-                  <DustExceptionText
-                  :site-name="item.name"
-                   exception-type="7"
-                  :begin-time="beginTime"
-                  :end-time="endTime"
-                    @submit-exception-data="getAbnormalDataByClick"
-
-                    v-for="(item, index) in exception.exception7"
-                    :key="item"
-                    >{{ item.name }}
-                    <span
-                      v-if="index < exception.exception7.length - 1"
-                      class="text-blank"
-                      >,</span
-                    >
-                  </DustExceptionText>
-                </el-scrollbar>
-              </div>
-              <!-- 缁撴潫 -->
-            </div>
-          </el-col>
-        </el-row>
-
-
-        <el-row :gutter="20" >
-          <el-col :span="6">
-            <div class="card-content-normal">
-              <!-- 鏍囧ご -->
-              <div class="card-text1">
-                <image class="card-header-image"></image>
-                <span class="card-header-text">娴撳害瓒呮爣</span>
-              </div>
-
-              <div class="card-content-text">
-                <el-scrollbar>
-             
-                <span class="card-exceptionname-text1">寮傚父绔欑偣鍗犳瘮:</span>
-                <span>{{ exception.exception2.length }} /{{ siteTotal }}</span>
-                <span>
-                  ({{
-                    ((exception.exception2.length / siteTotal) * 100).toFixed(
-                      1
-                    )
-                  }}%)</span
-                >
-         
-                <div class="card-exceptionname-text2"
-                  >寮傚父鏁板崰姣�:{{
-                    (
-                      (exception.exception2Num /
-                        (exception.exception0Num +
-                          exception.exception1Num +
-                          exception.exception2Num +
-                          exception.exception3Num+
-                          exception.exception4Num+
-                          exception.exception5Num+
-                          exception.exception6Num+
-                          exception.exception7Num
-                          
-                          )) *
-                      100
-                    ).toFixed(1)
-                  }}%</div
-                >
-           
-            </el-scrollbar>
-              </div>
-              <hr />
-              <!-- 寮傚父鐨勫簵閾哄悕瀛� -->
-              <div class="card-exception-buttom"   v-loading="loading.text">
-                <el-scrollbar max-height="90px">
-                  <DustExceptionText
-                  :site-name="item.name"
-                   exception-type="2"
-                  :begin-time="beginTime"
-                  :end-time="endTime"
-                    @submit-exception-data="getAbnormalDataByClick"
-
-                    v-for="(item, index) in exception.exception2"
-                    :key="item"
-                    >{{ item.name }}
-                    <span
-                      v-if="index < exception.exception2.length - 1"
-                      class="text-blank"
-                      >,</span
-                    >
-                  </DustExceptionText>
-                </el-scrollbar>
-              </div>
-              <!-- 缁撴潫 -->
-            </div>
-          </el-col>
-          <el-col :span="6"
-            ><div class="card-content-normal">
-              <!-- 鏍囧ご -->
-              <div class="card-text1">
-                <image class="card-header-image"></image>
-                <span class="card-header-text">鏁版嵁缂哄け寮傚父</span>
-              </div>
-
-              <div class="card-content-text">
-                <el-scrollbar>
-                <span class="card-exceptionname-text1">寮傚父绔欑偣鍗犳瘮:</span>
-                <span>{{ exception.exception0.length }} /{{ siteTotal }}</span>
-                <span>
-                  ({{
-                    ((exception.exception0.length / siteTotal) * 100).toFixed(
-                      1
-                    )
-                  }}%)</span
-                >
-                <div class="card-exceptionname-text2"
-                  >寮傚父鏁板崰姣�:{{
-                    (
-                      (exception.exception0Num /
-                        (exception.exception0Num +
-                          exception.exception1Num +
-                          exception.exception2Num +
-                          exception.exception3Num+
-                          exception.exception4Num+
-                          exception.exception5Num+
-                          exception.exception6Num+
-                          exception.exception7Num)) *
-                      100
-                    ).toFixed(1)
-                  }}%</div
-                >
-                </el-scrollbar>
-              </div>
-              <hr />
-              <!-- 寮傚父鐨勫簵閾哄悕瀛� -->
-              <div class="card-exception-buttom"   v-loading="loading.text">
-                <el-scrollbar max-height="90px">
-                  <DustExceptionText
-                  :site-name="item.name"
-                   exception-type="0"
-                  :begin-time="beginTime"
-                  :end-time="endTime"
-                    @submit-exception-data="getAbnormalDataByClick"
-
-                    v-for="(item, index) in exception.exception0"
-                    :key="item"
-                    >{{ item.name }}
-                    <span
-                      v-if="index < exception.exception0.length - 1"
-                      class="text-blank"
-                      >,</span
-                    >
-                  </DustExceptionText>
-                </el-scrollbar>
-              </div>
-              <!-- 缁撴潫 -->
-            </div>
-          </el-col>
-          <el-col :span="6">
-            <div class="card-content-normal">
-              <!-- 鏍囧ご -->
-              <div class="card-text1">
-                <image class="card-header-image"></image>
-                <span class="card-header-text">鏁版嵁瓒呬綆</span>
-              </div>
-
-              <div class="card-content-text">
-                <el-scrollbar>
-                <span class="card-exceptionname-text1">寮傚父绔欑偣鍗犳瘮:</span>
-                <span>{{ exception.exception1.length }} /{{ siteTotal }}</span>
-                <span>
-                  ({{
-                    ((exception.exception1.length / siteTotal) * 100).toFixed(
-                      1
-                    )
-                  }}%)</span
-                >
-                <div class="card-exceptionname-text2"
-                  >寮傚父鏁板崰姣�:{{
-                    (
-                      (exception.exception1Num /
-                        (exception.exception0Num +
-                          exception.exception1Num +
-                          exception.exception2Num +
-                          exception.exception3Num+
-                          exception.exception4Num+
-                          exception.exception5Num+
-                          exception.exception6Num+
-                          exception.exception7Num)) *
-                      100
-                    ).toFixed(1)
-                  }}%</div
-                >
-                </el-scrollbar>
-              </div>
-              <hr />
-              <!-- 寮傚父鐨勫簵閾哄悕瀛� -->
-              <div class="card-exception-buttom"   v-loading="loading.text">
-                <el-scrollbar max-height="90px">
-                  <DustExceptionText
-                  :site-name="item.name"
-                   exception-type="1"
-                  :begin-time="beginTime"
-                  :end-time="endTime"
-                    @submit-exception-data="getAbnormalDataByClick"
-
-                    v-for="(item, index) in exception.exception1"
-                    :key="item"
-                    >{{ item.name }}
-                    <span
-                      v-if="index < exception.exception1.length - 1"
-                      class="text-blank"
-                      >,</span
-                    >
-                  </DustExceptionText>
-                </el-scrollbar>
-              </div>
-              <!-- 缁撴潫 -->
-            </div></el-col
-          >
-          <el-col :span="6"
-            ><div class="card-content-normal">
-              <!-- 鏍囧ご -->
-              <div class="card-text1">
-                <image class="card-header-image"></image>
-                <span class="card-header-text">鏁版嵁闀挎椂娈垫棤娉㈠姩</span>
-              </div>
-
-              <div class="card-content-text">
-                <el-scrollbar>
-                <span class="card-exceptionname-text1">寮傚父绔欑偣鍗犳瘮:</span>
-                <span>{{ exception.exception3.length }} /{{ siteTotal }}</span>
-                <span>
-                  ({{
-                    ((exception.exception3.length / siteTotal) * 100).toFixed(
-                      1
-                    )
-                  }}%)</span
-                >
-                <div class="card-exceptionname-text2"
-                  >寮傚父鏁板崰姣�:{{(100-
-                    
-                      ((exception.exception0Num /
-                        (exception.exception0Num +
-                          exception.exception1Num +
-                          exception.exception2Num +
-                          exception.exception3Num+
-                          exception.exception4Num+
-                          exception.exception5Num+
-                          exception.exception6Num+
-                          exception.exception7Num)) *
-                      100
-                    ) - 
-                    ((exception.exception1Num /
-                        (exception.exception0Num +
-                          exception.exception1Num +
-                          exception.exception2Num +
-                          exception.exception3Num+
-                          exception.exception4Num+
-                          exception.exception5Num+
-                          exception.exception6Num+
-                          exception.exception7Num)) *
-                      100
-                    ) - 
-                    ((exception.exception2Num /
-                        (exception.exception0Num +
-                          exception.exception1Num +
-                          exception.exception2Num +
-                          exception.exception3Num+
-                          exception.exception4Num+
-                          exception.exception5Num+
-                          exception.exception6Num+
-                          exception.exception7Num)) *
-                      100
-                    ) - 
-                    ((exception.exception4Num /
-                        (exception.exception0Num +
-                          exception.exception1Num +
-                          exception.exception2Num +
-                          exception.exception3Num+
-                          exception.exception4Num+
-                          exception.exception5Num+
-                          exception.exception6Num+
-                          exception.exception7Num)) *
-                      100
-                    )- 
-                    ((exception.exception5Num /
-                        (exception.exception0Num +
-                          exception.exception1Num +
-                          exception.exception2Num +
-                          exception.exception3Num+
-                          exception.exception4Num+
-                          exception.exception5Num+
-                          exception.exception6Num+
-                          exception.exception7Num)) *
-                      100
-                    )- 
-                    ((exception.exception6Num /
-                        (exception.exception0Num +
-                          exception.exception1Num +
-                          exception.exception2Num +
-                          exception.exception3Num+
-                          exception.exception4Num+
-                          exception.exception5Num+
-                          exception.exception6Num+
-                          exception.exception7Num)) *
-                      100
-                    )- 
-                    ((exception.exception7Num /
-                        (exception.exception0Num +
-                          exception.exception1Num +
-                          exception.exception2Num +
-                          exception.exception3Num+
-                          exception.exception4Num+
-                          exception.exception5Num+
-                          exception.exception6Num+
-                          exception.exception7Num)) *
-                      100
-                    )
-
-
-                    ).toFixed(1)
-                  }}%</div
-                >
-               </el-scrollbar>
-              </div>
-              <hr />
-              <!-- 寮傚父鐨勫簵閾哄悕瀛� -->
-              <div class="card-exception-buttom"   v-loading="loading.text">
-                <el-scrollbar max-height="90px">
-                  <DustExceptionText
-                  :site-name="item.name"
-                   exception-type="3"
-                  :begin-time="beginTime"
-                  :end-time="endTime"
-                    @submit-exception-data="getAbnormalDataByClick"
-
-                    v-for="(item, index) in exception.exception3"
-                    :key="item"
-                    >{{ item.name }}
-                    <span
-                      v-if="index < exception.exception3.length - 1"
-                      class="text-blank"
-                      >,</span
-                    >
-                  </DustExceptionText>
-                </el-scrollbar>
-              </div>
-              <!-- 缁撴潫 -->
-            </div>
-          </el-col>
-      </el-row>
-
-
-
-      </el-card>
-    </el-col>
-  </el-row>
-
+  <CompFlightInspection  :show-all="true"> </CompFlightInspection>
 </template>
 
-<style lang="scss" scoped>
-.el-row {
-  margin-left: 10px;
-}
+<style  scoped>
 
-/* 鏉′欢鏌ヨ妯″潡鐨勬牱寮� */
-.head-container-search {
-  // display: flex;
-  // justify-content: flex-end;
-  float: right;
-}
-
-.head-describtion-text {
-  justify-content: flex-end;
-  margin-bottom: 10px;
-  font-size: 14px;
-  color: gray;
-}
-/* 鏉′欢鏌ヨ妯″潡缁撴潫 */
+</style> -->
 
 
 
-/* 寮傚父鍒嗘瀽妯″潡鐨勬牱寮� */
-.card-text1 {
-  // 榛戜綋鐨勫紓甯稿悕瀛楅儴鍒�
-  margin: 10px;
-}
-.card-text1 + div {
-  // 榛戜綋鐨勫紓甯稿悕瀛椾笅闈㈢殑
-  margin: 12px;
-}
-.card-exception-buttom {
-  // 寮傚父绔欑偣鏂囨湰鎸夐挳鍖哄煙
-  padding: 11px;
-}
-.card-header {
-  margin-left: 5px;
-  font-size: 18px;
-  font-weight: bold;
-}
-.card-content-unnormal {
-  min-height: 200px;
-  border: 2px solid #FFCF8B;
-  border-radius: 20px;
-}
-.card-content-normal {
-  min-height: 200px;
-  border: 2px solid red;
-  border-radius: 20px;
-}
-.card-header-image {
-}
-.card-header-text {
-  font-size: 16px;
-  font-weight: bold;
-  margin-top: 4px;
-  margin-left: 4px;
-}
-.card-content-text {
-  white-space: nowrap;
-}
-.card-exceptionname-text1 {
-  // 寮傚父绔欑偣鍗犳瘮
-  font-size: 14px;
-  white-space: nowrap;
-}
+<script>
+  import { defineAsyncComponent } from 'vue'
+  import TimeShortCuts from '@/sfc/TimeShortCuts.vue'
+  import { useCommonFunction } from '@/utils/common.js'
+  import AreaAndmonitorType from '@/sfc/AreaAndmonitorType.vue'
+  import ButtonClick from '@/sfc/ButtonClick.vue'
+  import index from '@/utils/exception_common_function/index.js'
+  
+  //  寮傚父鍥惧舰寮傛缁勪欢
+  const DustLineChart = defineAsyncComponent(() =>  import('@/views/exception/components/DustLineChart.vue'))
+  import exceptionApi from '@/api/exceptionApi.js'
+  import dayjs from 'dayjs'
+  import { ElMessage } from 'element-plus'
+  import AnalysisCard from '@/views/exception/components/AnalysisCard.vue'
+  import DutyCompany from '@/sfc/DutyCompany.vue'
+  import StreetInfo from '@/sfc/StreetInfo.vue'
+  import historyApi from '@/api/historyApi.js'
+  import time from '@/utils/time.js'
+  import lineChart from '@/utils/chartFunction/lineChart.js'
+  import exceptionOption from '@/utils/chartFunction/exceptionOption.js'
+  import exception0 from '@/assets/exception/exception0.png'
+  import exception1 from '@/assets/exception/exception1.png'
+  import exception2 from '@/assets/exception/exception2.png'
+  import exception3 from '@/assets/exception/exception3.png'
+  import exception4 from '@/assets/exception/exception4.png'
+  import exception5 from '@/assets/exception/exception5.png'
+  import exception6 from '@/assets/exception/exception6.png'
+  import exception7 from '@/assets/exception/exception7.png'
 
-.card-exceptionname-text2 {
-  // 寮傚父鏁板崰姣旂殑澶栬竟璺�
-  // margin-left: 50px;
-  font-size: 14px;
-  white-space: nowrap;
-}
-.text-blank {
-  // 閫楀彿
-  margin-right: 10px;
-  color: #000000;
-}
-.card-row {
-  margin-bottom: 10px;
-}
-
-/* 寮傚父鍒嗘瀽妯″潡缁撴潫 */
-
-/* 琛ㄦ牸妯″潡鐨勬牱寮� */
-
-/* 琛ㄦ牸妯″潡缁撴潫 */
+  import CompDialogDetail from '@/views/exception/components/CompDialogDetail.vue'
+  export default {
+    props: {
+      // 鐐逛綅鍚嶅瓧
+      siteName: {
+        type: String,
+        default: ''
+      },
+      // 鏃ユ椂闂存垨鑰呮湀鏃堕棿
+      time:{
+          type:String,
+          default:''
+      },
+      // 灞曠ず椤甸潰鐨勫叏閮�
+      showAll: {
+        type: Boolean,
+        default: true
+      },
+     
+      // 0浠h〃鏃ユ椂闂达紝1浠h〃鏈堟椂闂�
+      timeType:{
+        type:Number,
+        default:-1
+      }
+    },
+    components: {
+      TimeShortCuts,
+      DustLineChart,
+      ButtonClick,
+      AreaAndmonitorType,
+      AnalysisCard,
+      DutyCompany,
+      StreetInfo,
+      CompDialogDetail
+    },
+    data() {
+      return {
+        //  琛ㄥ崟鍐呭
+        form: {
+          // 绔欑偣鍚嶇О
+          name: '',
+          // 杩愮淮鍟�
+          dutyCompany: [],
+          // 琛楅亾
+          street: [],
+          // 閫夋嫨鐨勫紓甯哥被鍨�
+          exceptionName: []
+        },
+        beginTime: '',
+        endTime: '',
+        // 杩斿洖鐨勬暟鎹�
+        tableData: [],
+        // 琛ㄦ牸灞曠ず鐨勬暟鎹�
+        displayData: [],
+        // 琛ㄦ牸楂樺害
+        tableHeight: 400,
+        // 琛ㄦ牸鏄剧ず
+        isTableShow: false,
+        // 瀹℃牳杈呭姪鎸夐挳鏄剧ず
+        auditButton: false,
+        // 褰撳墠椤�
+        currentPage: 1,
+        // 姣忛〉鏉℃暟
+        pageSize: 20,
+        // 琛ㄦ牸鐨勬�昏褰曟暟
+        total: 0,
+  
+        // 鏌ヨ鎸夐挳鏃犳暟鎹椂
+        isNoData: {
+          exception0: true,
+          exception1: true,
+          exception2: true,
+          exception3: true,
+          exception4: true,
+          exception5: true,
+          exception6: true,
+          exception7: true,
+          exception8: true
+        },
+        // eslint-disable-next-line no-undef
+        // 瀵硅瘽妗嗘樉绀�
+        dialogTableVisible: false,
+        // 淇濆瓨寮傚父瀵瑰簲鐨勫簵閾哄悕绉板拰璁惧缂栧彿
+        exception: {
+          // 鏂數鎴栨柇缃�
+          exception0: [],
+          // 鏁版嵁瓒呬綆
+          exception1: [],
+          // 瓒呮爣
+          exception2: [],
+          // 鏁版嵁闀挎椂娈垫棤娉㈠姩
+          exception3: [],
+          // 閲忕骇绐佸彉寮傚父
+          exception4: [],
+          // 涓磋繎瓒呮爣寮傚父
+          exception5: [],
+          // 鍗曟棩瓒呮爣娆℃暟涓寸晫寮傚父
+          exception6: [],
+          // 婊戝姩骞冲潎鍊煎紓甯�
+          exception7: [],
+          // 鏈夋晥鐜囧紓甯�
+          exception8: [],
+  
+          // 璇ユ椂娈电殑寮傚父鏁伴噺
+          exception0Num: 0,
+          exception1Num: 0,
+          exception2Num: 0,
+          exception3Num: 0,
+          exception4Num: 0,
+          exception5Num: 0,
+          exception6Num: 0,
+          exception7Num: 0,
+          exception8Num: 0
+        },
+        // 绔欑偣鎬绘暟閲�
+        siteTotal: 0,
+  
+        // 閫変腑琛ㄦ牸褰撳墠琛岀殑鏁版嵁
+        tableCurrentRowData: null,
+        // 閫変腑琛ㄦ牸褰撳墠琛岀殑绱㈠紩
+        selectedRowIndex: -2,
+        // 椤甸潰涓婄殑鎸夐挳鍔犺浇鐘舵��
+        loading: {
+          // 鏌ヨ鎸夐挳
+          queryButton: false,
+          // 琛ㄦ牸鍔犺浇涓�
+          tableLoading: false,
+          // 涓婁竴鏉℃寜閽�
+          preButton: false,
+          // 涓嬩竴鏉℃寜閽�
+          afterButton: false,
+          // 鎶樼嚎鍥�
+          lineChart: false
+        },
+  
+        dialog: {
+          // 鎵撳紑瀵硅瘽妗嗚姹傝鍖洪棿鐨勫巻鍙叉暟鎹�
+          historyData: [],
+          // 璇ユ椂闂存鐨勫紓甯告潯鏁�
+          exceptionTotal: 0,
+          // 鎶樼嚎鍥鹃厤缃」
+          option: {},
+          // 鈥欎笂涓�鏉♀�樻寜閽槸鍚﹀彲浠ヨ鐐瑰嚮鐘舵��
+          isPreCantouch: false,
+          // 鈥欎笅涓�鏉♀�樻寜閽槸鍚﹀彲浠ヨ鐐瑰嚮鐘舵��
+          isNextCantouch: false,
+          // 寮傚父鐨勫墠涓悗鍖洪棿鎵�鏈夋暟鎹�
+          allExceptionTimeData: []
+        },
+  
+        // 鏍囪浣�
+        flag: {
+          // 鏁版嵁鍔犺浇鏃� 涓婁笅鏉℃寜閽笉鑳藉啀鐐瑰嚮
+          banTouch: 0,
+          // 0浠h〃鍒嗛〉锛�1浠h〃涓嶅垎椤�
+          originClick: 0
+        },
+        areaColor: null
+      }
+    },
+    setup() {
+      const { isExceedOneMonth } = useCommonFunction()
+      return {
+        isExceedOneMonth
+      }
+    },
+    // 鐩戝惉  鍒ゆ柇鎸夐挳鏄惁鍙偣鍑�
+    watch: {
+      selectedRowIndex(newVaue) {
+        // 澶勪簬琛ㄦ牸鐨勬渶鍚庝竴鏉℃暟鎹� 璁剧疆鈥樹笂涓�鏉♀�欐寜閽笉鍙偣
+        if (newVaue === 0) {
+          this.dialog.isPreCantouch = true
+          //鐢ㄦ埛鍏堢偣浜嗙涓�鏉★紝pre涓簍rue,鐒跺悗鐐瑰嚮鏈�鍚庝竴鏉�,next涓簍rue銆傛鏃朵袱涓寜閽兘琚皝閿�
+          if (this.dialog.isNextCantouch == true) {
+            this.dialog.isNextCantouch = false
+          }
+        }
+        // 澶勪簬琛ㄦ牸绗竴鏉℃暟鎹� 璁剧疆鈥樹笂涓�鏉♀�欐寜閽笉鍙偣
+        else if (newVaue === this.displayData.length - 1) {
+          this.dialog.isNextCantouch = true
+          //鐢ㄦ埛鍏堢偣浜嗚〃鏍兼渶鍚庝竴鏉�,next涓簍rue,鐒跺悗鐐瑰嚮绗竴鏉★紝pre涓簍rue銆傛鏃朵袱涓寜閽兘琚皝閿�
+          if (this.dialog.isPreCantouch == true) {
+            this.dialog.isPreCantouch = false
+          }
+        }
+        // 澶勪簬琛ㄦ牸鐨勪腑闂磋 灏嗘寜閽缃负鍙偣鍑荤姸鎬�
+        else {
+          this.dialog.isPreCantouch = false
+          this.dialog.isNextCantouch = false
+        }
+      },
+      dialogTableVisible() {
+        window.addEventListener('resize', this.updateChart)
+      },
+  
+      // 椤甸潰鍔犺浇鏃秙howAll鎵嶄細鍙樺寲涓�娆� 
+      // 涓簍rue琛ㄧず鐨勯琛屽贰妫�椤甸潰
+      showAll(){
+          if(this.showAll){
+              this.backExceptionDataAWeekAgo()
+          }
+      },
+      // siteName(){
+      //   if(this.siteName!=''){
+      //     this.beginTime = dayjs(this.month).startOf('month').format('YYYY-MM-DD HH:mm:ss')
+      //     this.endTime = dayjs(this.month).endOf('month').format('YYYY-MM-DD HH:mm:ss')
+      //     this.backExceptionDataAWeekAgo()
+      //     this.getShopNames()
+      //   }
+          
+      // },
+   
+      timeType(){
+        if(this.timeType == '0'){
+          this.beginTime = dayjs(this.time).format('YYYY-MM-DD 00:00:00')
+          this.endTime = dayjs(this.time).format('YYYY-MM-DD 23:59:59')
+        }else if(this.timeType == '1'){
+          this.beginTime = dayjs(this.time).startOf('month').format('YYYY-MM-DD HH:mm:ss')
+          this.endTime = dayjs(this.time).endOf('month').format('YYYY-MM-DD HH:mm:ss')
+        }
+        this.backExceptionDataAWeekAgo()
+        this.getShopNames()
+      },
+      watch:{
+    dialogTableVisible:{
+        handler(newValue){
+            console.log('鐪熷亣1',this.dialogTableVisible);
+        }
+    }
+},
+    },
+    computed: {
+      exceptionAllNum() {
+        let sum =
+          this.exception.exception0Num +
+          this.exception.exception1Num +
+          this.exception.exception2Num +
+          this.exception.exception3Num +
+          this.exception.exception4Num +
+          this.exception.exception5Num +
+          this.exception.exception6Num +
+          this.exception.exception7Num +
+          this.exception.exception8Num
+        if (sum == 0) {
+          return 1
+        } else {
+          return sum
+        }
+      },
+      long_time_notchange() {
+        let sum =
+          this.exception.exception0Num +
+          this.exception.exception1Num +
+          this.exception.exception2Num +
+          this.exception.exception3Num +
+          this.exception.exception4Num +
+          this.exception.exception5Num +
+          this.exception.exception6Num +
+          this.exception.exception7Num +
+          this.exception.exception8Num
+        if (sum == 0) {
+          return 0
+        } else {
+          return (
+            100 -
+            (this.exception.exception0Num / this.exceptionAllNum) * 100 -
+            (this.exception.exception1Num / this.exceptionAllNum) * 100 -
+            (this.exception.exception2Num / this.exceptionAllNum) * 100 -
+            (this.exception.exception4Num / this.exceptionAllNum) * 100 -
+            (this.exception.exception5Num / this.exceptionAllNum) * 100 -
+            (this.exception.exception6Num / this.exceptionAllNum) * 100 -
+            (this.exception.exception7Num / this.exceptionAllNum) * 100 -
+            (this.exception.exception8Num / this.exceptionAllNum) * 100
+          ).toFixed(1)
+        }
+      },
+      // 绗竴鎺掑崱鐗�
+      cardRow() {
+        return [
+          {
+            siteName: this.exception.exception4,
+            exceptionType: '4',
+            exceptionName: '閲忕骇绐佸彉',
+            iconSrc: exception4,
+            siteNum: this.exception.exception4.length,
+            exceptionNum: this.exception.exception4Num,
+            isNoDataStatus: this.isNoData.exception4,
+            span: 5
+          },
+          {
+            siteName: this.exception.exception5,
+            exceptionType: '5',
+            exceptionName: '涓磋繎瓒呮爣寮傚父',
+            iconSrc: exception5,
+            siteNum: this.exception.exception5.length,
+            exceptionNum: this.exception.exception5Num,
+            isNoDataStatus: this.isNoData.exception5,
+            span: 5
+          },
+          {
+            siteName: this.exception.exception8,
+            exceptionType: '8',
+            exceptionName: '鏈夋晥鐜囧紓甯�',
+            iconSrc: exception0,
+            siteNum: this.exception.exception8.length,
+            exceptionNum: this.exception.exception8Num,
+            isNoDataStatus: this.isNoData.exception8,
+            span: 5
+          },
+          {
+            siteName: this.exception.exception6,
+            exceptionType: '6',
+            exceptionName: '鍗曟棩瓒呮爣娆℃暟涓寸晫寮傚父',
+            iconSrc: exception6,
+            siteNum: this.exception.exception6.length,
+            exceptionNum: this.exception.exception6Num,
+            isNoDataStatus: this.isNoData.exception6,
+            span: 5
+          },
+  
+          {
+            siteName: this.exception.exception7,
+            exceptionType: '7',
+            exceptionName: '鍙樺寲瓒嬪娍寮傚父',
+            iconSrc: exception7,
+            siteNum: this.exception.exception7.length,
+            exceptionNum: this.exception.exception7Num,
+            isNoDataStatus: this.isNoData.exception7,
+            span: 4
+          },
+          {
+            siteName: this.exception.exception0,
+            exceptionType: '0',
+            exceptionName: '鏁版嵁缂哄け寮傚父',
+            iconSrc: exception0,
+            siteNum: this.exception.exception0.length,
+            exceptionNum: this.exception.exception0Num,
+            isNoDataStatus: this.isNoData.exception0,
+            span: 6
+          },
+          {
+            siteName: this.exception.exception1,
+            exceptionType: '1',
+            exceptionName: '鏁版嵁瓒呬綆',
+            iconSrc: exception1,
+            siteNum: this.exception.exception1.length,
+            exceptionNum: this.exception.exception1Num,
+            isNoDataStatus: this.isNoData.exception1,
+            span: 6
+          },
+          {
+            siteName: this.exception.exception2,
+            exceptionType: '2',
+            exceptionName: '瓒呮爣',
+            iconSrc: exception2,
+            siteNum: this.exception.exception2.length,
+            exceptionNum: this.exception.exception2Num,
+            isNoDataStatus: this.isNoData.exception2,
+            span: 6
+          },
+          {
+            siteName: this.exception.exception3,
+            exceptionType: '3',
+            exceptionName: '鏁版嵁闀挎椂娈垫棤娉㈠姩',
+            iconSrc: exception3,
+            siteNum: this.exception.exception3.length,
+            exceptionNum: this.exception.exception3Num,
+            isNoDataStatus: this.isNoData.exception3,
+            span: 6
+          }
+        ]
+      },
+    },
+    mounted() {
+  
+      this.getSiteNume()
+  
+      // 椋炶宸℃椤甸潰锛岃繘鍘诲姞杞�
+      if(this.showAll == true){
+        this.backExceptionDataAWeekAgo()
+        this.getShopNames()
+      }
+    },
+  
+    methods: {
+      /**
+       * 鏈夋晥鐜囧紓甯� 璁剧疆鎶樼嚎鍥鹃厤缃」
+       * @param锛�
+       * @returns锛�
+       */
+      validProcess() {
+        // x杞存暟鎹�
+        let xList = time.ascTime(
+          this.tableCurrentRowData.beginTime,
+          this.tableCurrentRowData.endTime,
+          15
+        )
+  
+        // y杞存暟鎹�
+        let yList = []
+        xList.forEach((item) => {
+          // 鏌ユ壘璇ユ椂闂寸殑鏁版嵁
+          let r = lineChart.findDate(this.dialog.historyData, item)
+          if (r) {
+            yList.push(r.dustValue)
+          } else {
+            yList.push(null)
+          }
+        })
+        // 棰滆壊鑳屾櫙鍖洪棿
+        // 寰楀埌鏃犳暟鎹殑鏃堕棿鐐规垨flag涓嶇瓑浜嶯鐨勬椂闂寸偣
+        let noDataTime = time.invalidTime(this.dialog.historyData, xList)
+        let rangeTime = time.seriesTime(noDataTime, 15)
+        // let rangeTime_1 = time.splitTime(rangeTime)
+        // 寰楀埌鑳屾櫙鍖洪棿鐨勯厤缃�
+        let areaObj = lineChart.getMarkArea(rangeTime, '寮傚父')
+        // let lineColor = lineChart.getLineColor(rangeTime,xList)
+        let lineColor = []
+        // console.log('绾挎',lineColor);
+        // 浼犲叆鍙傛暟
+        this.dialog.option = exceptionOption.setExceptionChartOption(
+          xList,
+          yList,
+          '',
+          '',
+          '',
+          '',
+          this.tableCurrentRowData.exception,
+          areaObj,
+          lineColor,
+          this.tableCurrentRowData.exceptionType
+        )
+      },
+  
+      getImageUrl(name) {
+        return new URL(`../../lib/Carousel/assets/${name}`, import.meta.url).href
+      },
+      // 鏀惧洖绔欑偣鎬绘暟閲�
+      getSiteNume() {
+        exceptionApi.getSitesNum().then((res) => {
+          this.siteTotal = res.data.data.length
+        })
+      },
+  
+      /**
+       * description锛氱偣鍑诲紓甯哥珯鐐瑰悕瀛楁椂 杩斿洖鐨勬暟鎹�
+       * @param锛�
+       * @createTime:2023-08-17
+       * @returns锛�
+       */
+      getAbnormalDataByClick(val) {
+        this.flag.originClick = 1
+        // 鏄剧ず琛ㄦ牸
+        this.isTableShow = true
+        this.tableData = val
+        this.total = this.tableData.length
+        // 榛樿鏄剧ず绗竴椤�
+        this.handleCurrentChange(1)
+      },
+      // 鐐瑰嚮琛ㄦ牸鐨勮鏃�
+      selectTableRow() {
+        // 鑾峰彇褰撳墠琛岀殑绱㈠紩
+        this.selectedRowIndex = this.displayData.indexOf(this.tableCurrentRowData)
+      },
+      /**
+       * description锛氭柇鐢垫垨鏂綉鏃惰缃殑琛ㄦ牸鏁版嵁
+       */
+      setOfflineTbleData() {
+        // 鏃犳暟鎹椂鐨勬椂闂存暟缁� 鏃堕棿鐩稿樊15鍒嗛挓
+        const abnormalTimeTenMinute = index.descFiftyTime(
+          this.tableCurrentRowData.beginTime,
+          this.tableCurrentRowData.endTime
+        )
+        // 淇濆瓨鏃犳暟鎹椂琛ㄦ牸鏉℃暟
+        this.dialog.exceptionTotal = abnormalTimeTenMinute.length
+  
+        // 鍘婚櫎渚涚數寮傚父鍜屾帀绾垮尯闂寸殑绗竴涓湁鍏冪礌鐨勫��
+        this.dialog.historyData = []
+  
+        for (let i = 0; i < abnormalTimeTenMinute.length; i++) {
+          this.dialog.historyData.push({
+            name: this.tableCurrentRowData.name,
+            mnCode: this.tableCurrentRowData.mnCode,
+            dutyCompany: this.tableCurrentRowData.dutyCompany,
+            lst: abnormalTimeTenMinute[i],
+            dustValue: ''
+          })
+        }
+      },
+  
+      // 娈电數鎴栨柇缃戝尯闂存棤鏁版嵁锛岄渶瑕佽ˉ鍏呫�傚叾浠栫殑閮芥湁鏁版嵁锛岀洿鎺ヤ竴娆¤姹傚叏閮ㄦ椂娈靛氨濂�
+  
+      // 鏍规嵁寮傚父鍖洪棿鏋勯�犲墠鍚庣棣栧熬 鍓嶅尯闂� 涓棿鍖洪棿 鍚庡尯闂�
+      // 鍒ゆ柇鏄鐢垫垨鏂綉锛熸槸鍒欒姹傚墠鍚庡尯闂达紝鍚﹀垯鍙姹備竴娆″畬鏁寸殑
+      // 寰楀埌鏈�缁堟暟鎹�
+      // 鍐嶅垽鏂紓甯哥绫� 锛岃繘琛岃缃厤缃」
+  
+      /**
+       * description锛氫竴娆¤姹傚洖鍓嶄腑鍚庡尯闂寸殑鏁版嵁,瀵规暟鎹繘琛屽垎鏋�
+       * @param锛� 鍓嶄腑鍚庡尯闂寸殑璇锋眰鍙傛暟锛屽墠涓悗鐨勬�诲尯闂存椂闂达紝寮傚父寮�濮嬫椂闂达紝涓�鍦虹粨鏉熸椂闂�
+       */
+      otherExceptionRequest(allTimeArgs, allTime, exceptionBT, exceptionET) {
+        // 鎶樼嚎鍥惧姞杞戒腑鏁堟灉
+        this.loading.lineChart = true
+  
+        historyApi.queryHistoryData(allTimeArgs).then((result) => {
+          this.dialog.allExceptionTimeData = result.data.data
+          //  鏁版嵁缂哄け寮傚父鏃堕噸鏂拌缃〃鏍�
+          if (this.tableCurrentRowData.exceptionType == '0') {
+            this.setOfflineTbleData()
+          }
+  
+          // x杞存棩鏈熸椂闂�
+          let dateList = []
+          // y杞� 瓒呮爣娌圭儫娴撳害
+          let dustValue = []
+          let timeAndValue = {}
+  
+          // 浠庢坊鍔犱簡棣栦綅鍖洪棿鐨勫紑濮嬪拰缁撴潫鏃堕棿杩涜閬嶅巻 淇濊瘉鏃堕棿浠�15鍒嗛挓涓洪棿闅�
+          timeAndValue = index.keepContinuousByEachFiftyMinutes(
+            allTime[0],
+            allTime[3],
+            this.dialog.allExceptionTimeData
+          )
+          dateList = timeAndValue['xAxis']
+          dustValue = timeAndValue['yAxis']
+  
+          // 鎻愬彇寮傚父璧峰鏃堕棿鐐瑰湪鏁翠釜鍖洪棿鍐呯殑鏁版嵁绱㈠紩
+          let startIndex = dateList.findIndex((item) => item === exceptionBT)
+          let endIndex = dateList.findIndex((item) => item === exceptionET)
+  
+          // 璁剧疆鎶樼嚎鍥鹃厤缃」
+          // this.reSetChart(dateList, dustValue, exceptionBT, exceptionET, startIndex, endIndex)
+          this.dialog.option = exceptionOption.setExceptionChartOption(
+            dateList,
+            dustValue,
+            exceptionBT,
+            exceptionET,
+            startIndex,
+            endIndex,
+            this.tableCurrentRowData.exception,
+            '',
+            '',
+            this.tableCurrentRowData.exceptionType
+          )
+          this.flag.banTouch = 0
+          this.loading.lineChart = false
+        })
+      },
+  
+      /**
+       * description锛氬垝鍒嗗嚭寮傚父璧峰鏃堕棿锛屾瀯閫犺姹傚墠涓悗鐨勫弬鏁�
+       */
+      timeAndDataProcessed() {
+        //寮傚父鐨勫紑濮嬫椂闂� 缁撴潫鏃堕棿
+        let exceptionBeginTime = this.tableCurrentRowData.beginTime
+        let exceptionEndTime = this.tableCurrentRowData.endTime
+  
+        // beforeAndAfterTime[0]:鍓�45鍒嗛挓鐨勬椂闂寸偣
+        // beforeAndAfterTime[1]:鍓�15鍒嗛挓鐨勬椂闂寸偣
+        // beforeAndAfterTime[2]:鍚�15鍒嗛挓鐨勬椂闂寸偣
+        // beforeAndAfterTime[3]:鍚�45鍒嗛挓鐨勬椂闂寸偣
+        let beforeAndAfterTime = index.before45AndAfter45(exceptionBeginTime, exceptionEndTime)
+  
+        // 鏋勯�犲紓甯告椂闂村墠鍚庡尯闂存暟鎹姹傚弬鏁�(闄や簡鏂綉涓兘鐢ㄥ埌锛�
+        let paramsAllTime = index.requestGetParms(
+          this.tableCurrentRowData.name,
+          beforeAndAfterTime[0],
+          beforeAndAfterTime[3]
+        )
+  
+        // 灏嗗紓甯告暟鎹繘琛岄澶勭悊锛岄殢鍚庡皢缁撴灉浣滀负鎶樼嚎鍥剧殑閰嶇疆椤�
+        this.otherExceptionRequest(
+          paramsAllTime,
+          beforeAndAfterTime,
+          exceptionBeginTime,
+          exceptionEndTime
+        )
+      },
+  
+      /**
+       * description锛氳幏鍙栦笅涓�鏉″紓甯镐俊鎭�
+       */
+      getPreviousRowData() {
+        //     // 涓嶆槸琛ㄦ牸鐨勬渶鍚庝竴琛�
+        if (this.selectedRowIndex < this.displayData.length - 1) {
+          // 鐐瑰嚮杩囩▼涓� 閿佷綇涓婁笅鏉℃寜閽�  鍦ㄨ缃畬鍥惧舰閰嶇疆椤瑰悗瑙i攣
+          this.flag.banTouch = 1
+  
+          //寰楀埌涓婁竴琛屾暟鎹储寮�
+          this.selectedRowIndex = this.selectedRowIndex + 1
+  
+          // 寰楀埌涓婁竴琛岀殑鏁版嵁
+          this.tableCurrentRowData = this.displayData[this.selectedRowIndex]
+  
+          this.loading.preButton = true
+  
+          historyApi
+            .queryHistoryData({
+              siteName: this.tableCurrentRowData.name,
+              beginTime: this.tableCurrentRowData.beginTime,
+              endTime: this.tableCurrentRowData.endTime
+            })
+            .then((response) => {
+              // 淇濆瓨杩斿洖鐨勮秴鏍囨暟鎹�
+              this.dialog.historyData = response.data.data
+              this.dialog.exceptionTotal = response.data.data.length
+              // 閫昏緫澶勭悊
+  
+              if (this.tableCurrentRowData.exceptionType != '8') {
+                this.timeAndDataProcessed()
+              } else {
+                this.loading.lineChart = true
+                this.validProcess()
+                this.loading.lineChart = false
+                this.flag.banTouch = 0
+              }
+              this.loading.preButton = false
+            })
+        }
+      },
+      /**
+       * description锛氳幏鍙栦笅涓�鏉″紓甯镐俊鎭�
+       */
+      getNextRowData() {
+        // 涓嶆槸琛ㄦ牸鐨勭涓�琛�
+        if (this.selectedRowIndex !== 0) {
+          // 鐐瑰嚮杩囩▼涓� 閿佷綇涓婁笅鏉℃寜閽�  鍦ㄨ缃畬鍥惧舰閰嶇疆椤瑰悗瑙i攣
+          this.flag.banTouch = 1
+  
+          //寰楀埌涓婁竴琛屾暟鎹储寮�
+          this.selectedRowIndex = this.selectedRowIndex - 1
+  
+          // 寰楀埌涓婁竴琛岀殑鏁版嵁
+          this.tableCurrentRowData = this.displayData[this.selectedRowIndex]
+  
+          this.loading.afterButton = true
+  
+          historyApi
+            .queryHistoryData({
+              siteName: this.tableCurrentRowData.name,
+              beginTime: this.tableCurrentRowData.beginTime,
+              endTime: this.tableCurrentRowData.endTime
+            })
+            .then((response) => {
+              // 淇濆瓨杩斿洖鐨勮秴鏍囨暟鎹�
+              this.dialog.historyData = response.data.data
+              this.dialog.exceptionTotal = response.data.data.length
+              // 閫昏緫澶勭悊
+  
+              if (this.tableCurrentRowData.exceptionType != '8') {
+                this.timeAndDataProcessed()
+              } else {
+                this.loading.lineChart = true
+                this.validProcess()
+                this.loading.lineChart = false
+                this.flag.banTouch = 0
+              }
+              this.loading.afterButton = false
+            })
+        }
+      },
+  
+      /**
+       * description锛氫粠瀛愮粍浠惰幏寰楁煇绔欑偣璇ユ椂娈电殑寮傚父鏁版嵁
+       * @createTime:2023-08-18
+       */
+      backExceptionData(val1, val2) {
+        this.displayData = val1
+        this.total = val2
+      },
+  
+      // 鏌ヨ寮傚父鏁版嵁鐨勭珯鐐瑰悕瀛楀拰鏁伴噺
+      queryExceptionSite(url, exceptionType) {
+        let params = {}
+        params['beginTime'] = this.beginTime
+        params['endTime'] = this.endTime
+        params['exceptionType'] = exceptionType
+  
+        if(this.siteName){
+          params['siteName'] = this.siteName
+        }
+        // if (this.form.street.length != 0) {
+        //   params['street'] = this.form.street.join()
+        // }
+        if (this.form.dutyCompany.length != 0) {
+          params['dutyCompany'] = this.form.dutyCompany.join()
+        }
+        return this.$http.get(url, { params: params })
+      },
+  
+      /**
+       * description锛氬綋鐢ㄦ埛鏀瑰彉鏌ヨ鐨勬椂闂村尯闂存椂锛屼細鏍规嵁璇ュ尯闂存煡璇㈠悇寮傚父鐨勭珯鐐癸紝鏌ヨ璇ユ椂闂村尯闂寸殑鍚勫紓甯告暟閲�
+       * @createTime:2023-08-18
+       */
+      getShopNames() {
+        /* 鏌ヨ寮傚父鐨勭珯鐐� */
+        this.queryExceptionSite('/dust/sitenamecode', 0).then((result) => {
+          this.exception.exception0 = result.data.data
+          if (result.data.data.length == 0) {
+            this.isNoData.exception0 = true
+            return
+          }
+          this.isNoData.exception0 = false
+        })
+        this.queryExceptionSite('/dust/sitenamecode', 1).then((result) => {
+          this.exception.exception1 = result.data.data
+          if (result.data.data.length == 0) {
+            this.isNoData.exception1 = true
+            return
+          }
+          this.isNoData.exception1 = false
+        })
+        this.queryExceptionSite('/dust/sitenamecode', 2).then((result) => {
+          this.exception.exception2 = result.data.data
+          if (result.data.data.length == 0) {
+            this.isNoData.exception2 = true
+            return
+          }
+          this.isNoData.exception2 = false
+        })
+  
+        this.queryExceptionSite('/dust/sitenamecode', 3).then((result) => {
+          this.exception.exception3 = result.data.data
+          if (result.data.data.length == 0) {
+            this.isNoData.exception3 = true
+            return
+          }
+          this.isNoData.exception3 = false
+        })
+  
+        this.queryExceptionSite('/dust/sitenamecode', 4).then((result) => {
+          this.exception.exception4 = result.data.data
+          if (result.data.data.length == 0) {
+            this.isNoData.exception4 = true
+            return
+          }
+          this.isNoData.exception4 = false
+        })
+        this.queryExceptionSite('/dust/sitenamecode', 5).then((result) => {
+          this.exception.exception5 = result.data.data
+          if (result.data.data.length == 0) {
+            this.isNoData.exception5 = true
+            return
+          }
+          this.isNoData.exception5 = false
+        })
+        this.queryExceptionSite('/dust/sitenamecode', 6).then((result) => {
+          this.exception.exception6 = result.data.data
+          if (result.data.data.length == 0) {
+            this.isNoData.exception6 = true
+            return
+          }
+          this.isNoData.exception6 = false
+        })
+        this.queryExceptionSite('/dust/sitenamecode', 7).then((result) => {
+          this.exception.exception7 = result.data.data
+          if (result.data.data.length == 0) {
+            this.isNoData.exception7 = true
+            return
+          }
+          this.isNoData.exception7 = false
+        })
+        this.queryExceptionSite('/dust/sitenamecode', 8).then((result) => {
+          this.exception.exception8 = result.data.data
+          if (result.data.data.length == 0) {
+            this.isNoData.exception8 = true
+            return
+          }
+  
+          this.isNoData.exception8 = false
+        })
+  
+        /* 寮傚父寮傚父鏁伴噺 */
+        this.queryExceptionSite('/dust/exceptionnum', 0).then((result) => {
+          this.exception.exception0Num = result.data.data
+        })
+        this.queryExceptionSite('/dust/exceptionnum', 1).then((result) => {
+          this.exception.exception1Num = result.data.data
+        })
+        this.queryExceptionSite('/dust/exceptionnum', 2).then((result) => {
+          this.exception.exception2Num = result.data.data
+        })
+  
+        this.queryExceptionSite('/dust/exceptionnum', 3).then((result) => {
+          this.exception.exception3Num = result.data.data
+        })
+  
+        this.queryExceptionSite('/dust/exceptionnum', 4).then((result) => {
+          this.exception.exception4Num = result.data.data
+        })
+        this.queryExceptionSite('/dust/exceptionnum', 5).then((result) => {
+          this.exception.exception5Num = result.data.data
+        })
+        this.queryExceptionSite('/dust/exceptionnum', 6).then((result) => {
+          this.exception.exception6Num = result.data.data
+        })
+        this.queryExceptionSite('/dust/exceptionnum', 7).then((result) => {
+          this.exception.exception7Num = result.data.data
+        })
+        this.queryExceptionSite('/dust/exceptionnum', 8).then((result) => {
+          this.exception.exception8Num = result.data.data
+        })
+      },
+  
+      /**
+       * description锛氭樉绀哄璇濇,杩斿洖璇ュ紓甯告椂闂存鐨勬墍鏈夋暟鎹�
+       * @param锛氱偣鍑烩�樻煡鐪嬭鎯呪�欑殑璇ヨ鎵�鏈夊瓧娈垫暟鎹�
+       * @createTime:2023-08-18
+       */
+      showDialog(row) {
+        // 鎵撳紑瀵硅瘽妗�
+        this.dialogTableVisible = true
+  
+        // 淇濆瓨褰撳墠琛屾暟鎹�
+        this.tableCurrentRowData = row
+  
+        // // 鑾峰彇褰撳墠琛岀殑绱㈠紩
+        // this.selectedRowIndex = this.displayData.indexOf(row)
+  
+        // //鏍规嵁褰撳墠琛岀殑缂栧彿锛岃捣濮嬫椂闂存潵 璇锋眰寮傚父鏁版嵁
+        // // 瀵硅姹傚埌鐨勬暟鎹繘琛岄灏炬嫾鎺�
+        // // 寰楀埌鍓嶅悗瀹屾暣鏁版嵁杩涜缁樺埗鍥惧舰
+  
+        // historyApi
+        //   .queryHistoryData({
+        //     siteName: row.name,
+        //     beginTime: row.beginTime,
+        //     endTime: row.endTime
+        //   })
+        //   .then((response) => {
+        //     // 淇濆瓨杩斿洖鐨勮秴鏍囨暟鎹�
+        //     this.dialog.historyData = response.data.data
+        //     this.dialog.exceptionTotal = response.data.data.length
+        //     // 閫昏緫澶勭悊
+  
+        //     if (this.tableCurrentRowData.exceptionType != '8') {
+        //       this.timeAndDataProcessed()
+        //     } else {
+        //       this.loading.lineChart = true
+        //       this.validProcess()
+        //       this.loading.lineChart = false
+        //       this.flag.banTouch = 0
+        //     }
+        //   })
+      },
+      /**
+       * description锛氭潯浠舵煡璇㈠紓甯哥殑鏁版嵁
+       * @createTime:2023-08-18
+       */
+      handleSubmit() {
+        if (this.isExceedOneMonth(this.beginTime, this.endTime)) {
+          alert('鏃堕棿璺ㄥ害涓嶈兘瓒呰繃涓�涓湀')
+          return
+        }
+        // 鏇存柊寮傚父鍒嗘瀽
+        this.getShopNames()
+  
+        this.loading.queryButton = true
+        this.flag.originClick = 0
+        this.loading.tableLoading = true
+        let params = {}
+        params['page'] = this.currentPage
+        params['pageSize'] = this.pageSize
+        if (this.siteName) {
+          params['siteName'] = this.siteName
+        }
+        // if (this.form.street.length != 0) {
+        //   params['street'] = this.form.street.join()
+        // }
+        if (this.form.dutyCompany.length != 0) {
+          params['dutyCompany'] = this.form.dutyCompany.join()
+        }
+        params['beginTime'] = this.beginTime
+        params['endTime'] = this.endTime
+  
+        this.$http.get('/dust/exceptiondata2', { params: params }).then((response) => {
+          // 淇濆瓨杩斿洖鐨�
+          this.displayData = response.data.data.rows
+          this.loading.queryButton = false
+          this.loading.tableLoading = false
+  
+          if (response.data.data.total == 0) {
+            ElMessage('璇ユ椂娈垫棤鏁版嵁')
+            this.isTableShow = false
+            return
+          }
+          this.isTableShow = true
+          this.total = response.data.data.total
+          // 绉婚櫎绌烘暟鎹姸鎬�
+        })
+      },
+  
+      /**
+       * description锛氭墦寮�椤甸潰榛樿鍔犺浇鏈�杩戜竴鍛ㄧ殑寮傚父鏁版嵁
+       * @createTime:2023-08-18
+       */
+      backExceptionDataAWeekAgo() {
+        this.loading.tableLoading = true
+        let params = {}
+        if (this.siteName) {
+          params['siteName'] = this.siteName
+        }
+  
+        params['beginTime'] = this.beginTime
+        params['endTime'] = this.endTime
+        console.log('name',this.siteName)
+        this.$http.get('/dust/exceptiondata', { params: params }).then((response) => {
+          // 淇濆瓨杩斿洖鐨�
+          // this.tableData = response.data.data.rows;
+          this.displayData = response.data.data.rows
+          this.loading.tableLoading = false
+  
+          if (response.data.data.total == 0) {
+            ElMessage('璇ユ椂娈垫棤鏁版嵁')
+            this.isTableShow = false
+            return
+          }
+  
+          this.isTableShow = true
+          this.total = response.data.data.total
+        })
+      },
+  
+      /**
+       * description锛氬皢涓浗鏍囧噯鏃堕棿杞负鎸囧畾鏍煎紡(璇ョ粍浠惰繑鍥炵殑鏍囧噯鏃堕棿鐨勬牸寮忥紝鎵�浠ュ繀椤荤殑鍔犺繖涓嚱鏁�)
+       * @createTime:2023-08-17
+       */
+      giveTime(val) {
+        this.beginTime = dayjs(val[0]).format('YYYY-MM-DD HH:mm:ss')
+        this.endTime = dayjs(val[1]).format('YYYY-MM-DD HH:mm:ss')
+      },
+  
+      // 鍔熻兘锛氳〃鏍奸珮搴︽牴鎹唴瀹硅嚜閫傚簲
+      calTableHeight() {
+        const h1 = this.$refs.h1.$el.offsetHeight
+        const h2 = this.$refs.h2.$el.offsetHeight
+        const h3 = this.$refs.h3.$el.offsetHeight
+        const h4 = this.$refs.h4.$el.offsetHeight
+        // 鍏朵腑涓�涓�40鏄洅瀛愮殑鎬诲杈硅窛
+        this.tableHeight = `calc(100vh - ${h1}px - ${h2}px - ${h3}px - ${h4}px - 40px - var(--el-main-padding) * 2)`
+      },
+  
+      // 椤靛ぇ灏忔敼鍙樻椂瑙﹀彂
+      handleSizeChange(val) {
+        this.pageSize = val
+  
+        // 鏀瑰彉姣忛〉鏄剧ず鏁扮洰鏃惰烦鍒板綋鍓嶉〉
+        this.handleCurrentChange(1)
+      },
+  
+      // 椤靛彿鏀瑰彉鏃惰Е鍙�
+      /**
+       * description锛氶〉鍙锋敼鍙樻椂瑙﹀彂
+       * @param锛� 褰撳墠椤碉紝鏍囪浣嶏紙0浠h〃鏄偣鍑烩�樻煡璇⑩�欒Е鍙戠殑锛�1浠h〃鏃剁偣鍑诲紓甯哥珯鐐规枃鏈寜閽Е鍙戠殑锛�
+       * @createTime:2023-08-17
+       * @returns锛�
+       */
+      handleCurrentChange(val) {
+        // 灏嗗綋鍓嶉〉鍙风粰currentPage
+        this.currentPage = val
+  
+        // 椤甸潰鍙樺寲鏃惰皟鐢� 鏌ヨ鏁版嵁鍑芥暟
+        if (this.flag.originClick == 0) {
+          this.handleSubmit()
+        } else if (this.flag.originClick == 1) {
+          const startIndex = (val - 1) * this.pageSize
+          const endIndex = startIndex + this.pageSize
+  
+          this.displayData = this.tableData.slice(startIndex, endIndex)
+        }
+      },
+      // 琛ㄦ牸搴忓彿閫掑
+      indexMethod1(index) {
+        return index + 1 + (this.currentPage - 1) * this.pageSize
+      },
+      // 琛ㄦ牸搴忓彿閫掑
+      indexMethod2(index) {
+        return index + 1
+      }
+    }
+  }
+  </script>
+  
+  <template>
+    <div class="all-container">
+      <el-row ref="h1">
+        <el-col>
+          <el-form :inline="true">
+            <div class="head-container-text">
+              <el-form-item>
+                <AreaAndmonitorType></AreaAndmonitorType>
+              </el-form-item>
+  
+              <el-form-item v-show="!showAll">
+                <span class="site-text"> 鐐逛綅鍚嶇О:</span>
+                <span> {{ this.siteName }}</span>
+              </el-form-item>
+  
+              <el-form-item v-show="showAll">
+                <DutyCompany @submitDutyCompanyValue="(n) => (form.dutyCompany = n)"> </DutyCompany>
+              </el-form-item>
+  
+              <!-- <el-form-item v-show="showAll">
+                <StreetInfo @submitStreetValue="(n) => (form.street = n)"> </StreetInfo>
+              </el-form-item> -->
+  
+              <el-form-item>
+                <TimeShortCuts timeType="day" @submit-time="giveTime" :beginAndEndTime="[beginTime,endTime]"></TimeShortCuts>
+              </el-form-item>
+  
+              <el-form-item>
+                <ButtonClick
+                  content="椋庨櫓璇勪及"
+                  type="warning"
+                  color="rgb(12,104,165)"
+                  :loading="loading.queryButton"
+                  :havaIcon="false"
+                  @do-search="handleSubmit"
+                  ><img src="@/assets/exception/riskButton.png" height="24" class="img-button"
+                /></ButtonClick>
+              </el-form-item>
+            </div>
+          </el-form>
+        </el-col>
+      </el-row>
+  
+      <!-- 鏃堕棿鎽樿 -->
+      <el-row class="head-describtion-text" ref="h2">
+        <el-row>
+          <span> 閲戝北鍖� {{ beginTime }} 鈥斺�� {{ endTime }} 鎵皹鐩戞祴寮傚父淇℃伅姹囨��</span>
+        </el-row>
+      </el-row>
+  
+      <!-- 寮傚父鍒嗘瀽 -->
+      <el-row ref="h3">
+        <el-col>
+          <el-card class="card-container">
+            <template #header>
+              <div class="card-header">寮傚父鍒嗘瀽</div>
+            </template>
+  
+            <el-row :gutter="20">
+              <el-col v-for="item in cardRow" :key="item.exceptionType" :span="item.span">
+                <AnalysisCard
+                  :site-name="item.siteName"
+                  :exception-type="item.exceptionType"
+                  :begin-time="beginTime"
+                  :end-time="endTime"
+                  :exception-name="item.exceptionName"
+                  :site-num="item.siteNum"
+                  :exception-num="item.exceptionNum"
+                  :exception-all-num="exceptionAllNum"
+                  :site-num-all="siteTotal"
+                  :isNoDataStatus="item.isNoDataStatus"
+                  :icon="item.iconSrc"
+                  @get-abnormal-data-by-click="getAbnormalDataByClick"
+                  class="card-row"
+                >
+                  >
+                </AnalysisCard>
+              </el-col>
+            </el-row>
+          </el-card>
+        </el-col>
+      </el-row>
+  
+      <el-button-group>
+        <el-button color="#626aef" plain @click="isTableShow = true" v-show="!isTableShow">
+          鏄剧ず寮傚父娓呭崟<el-icon class="i-ep-Arrow"><i-ep-ArrowUp /></el-icon>
+        </el-button>
+        <el-button color="#626aef" plain @click="isTableShow = false" v-show="isTableShow">
+          闅愯棌寮傚父娓呭崟<el-icon class="i-ep-Arrow"><i-ep-ArrowDown /></el-icon>
+        </el-button>
+      </el-button-group>
+  
+      <!-- 琛ㄦ牸 -->
+      <el-row v-show="isTableShow">
+        <el-col>
+          <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"
+              width="82"
+              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>
+  
 
 
-
-
-
-/* 鏌ョ湅璇︽儏瀵硅瘽妗嗘ā鍧楃殑鏍峰紡 */
-:deep(.el-dialog) {
-  // 瀵硅瘽妗嗛珮搴�
-}
-.diag-head {
-  // 瀵硅瘽妗嗗ご閮ㄥ尯鍩�
-  min-height: 200px;
-  // border: 1px solid #fdc2db;
-}
-.diag-head-text1 {
-  // 瀵硅瘽妗嗗ご閮ㄧ殑灞炴�у瓧娈靛姞绮�
-  font-weight: bold;
-}
-.diag-head-text span:nth-child(2) {
-  // 瀵硅瘽妗嗗ご閮ㄢ�樺紓甯哥被鍨嬧�欏睘鎬�
-  // margin-left: 150px;
-}
-.diag-head-text > div {
-  // 瀵硅瘽妗嗗紓甯告椂闂存
-  margin-top: 15px;
-}
-.diag-head-text {
-  margin: 10px;
-  padding: 10px;
-  background: linear-gradient(90deg, #00c9ff 0%, #92fe9d 100%);
-  border: 2px solid #7bc0fc;
-}
-.chart-jump-button {
-  // 鈥樹笂涓�鏉♀�欙紝鈥樹笅涓�鏉♀�� 鎸夐挳
-  // border: 1px solid #fdc2db;
-  min-height: 30px;
-  width: 200px;
-  float: right;
-}
-
-.line-chart {
-  // 寮傚父鎶樼嚎鍥�
-  width: 920px;
-  height: 300px;
-  margin-bottom: 20px;
-  min-width: 600px;
-}
-.mx-1 {
-  position: absolute;
-  left: 10px;
-  bottom: 10px;
-
-}
-/* 鏌ョ湅璇︽儏瀵硅瘽妗嗘ā鍧楃粨鏉� */
-</style>
+      <CompDialogDetail   :row="tableCurrentRowData"  v-model="dialogTableVisible"/>
+    </div>
+  </template>
+  
+  <style lang="scss" scoped>
+  .el-row {
+    margin-left: 10px;
+  }
+  
+  /* 鏉′欢鏌ヨ妯″潡鐨勬牱寮� */
+  .el-form {
+    margin: 10px;
+  }
+  img {
+    margin-right: 5px;
+  }
+  .head-container-search {
+    float: right;
+  }
+  
+  .head-describtion-text {
+    justify-content: flex-end;
+    margin-bottom: 2px;
+    margin-right: 20px;
+    font-size: 14px;
+    color: gray;
+  }
+  .button-set {
+    margin: 10px;
+  }
+  /* 鏉′欢鏌ヨ妯″潡缁撴潫 */
+  
+  /* 寮傚父鍒嗘瀽妯″潡鐨勬牱寮� */
+  
+  .card-text1 {
+    /* 榛戜綋鐨勫紓甯稿悕瀛楅儴鍒� */
+    margin: 10px;
+  }
+  .card-text1 + div {
+    /* 榛戜綋鐨勫紓甯稿悕瀛椾笅闈㈢殑 */
+    margin: 12px;
+  }
+  .card-exception-buttom {
+    /* 寮傚父绔欑偣鏂囨湰鎸夐挳鍖哄煙 */
+    padding: 11px;
+  }
+  .card-header {
+    margin-left: 5px;
+    font-size: 18px;
+    font-weight: bold;
+  }
+  .card-content-unnormal {
+    min-height: 200px;
+    border: 2px solid #ffcf8b;
+    border-radius: 20px;
+  }
+  .card-content-normal {
+    min-height: 200px;
+    border: 2px solid red;
+    border-radius: 20px;
+  }
+  
+  .card-header-text {
+    font-size: 16px;
+    font-weight: bold;
+    margin-top: 4px;
+    margin-left: 4px;
+  }
+  .card-content-text {
+    white-space: nowrap;
+  }
+  .card-exceptionname-text1 {
+    /*  寮傚父绔欑偣鍗犳瘮 */
+    font-size: 14px;
+    white-space: nowrap;
+  }
+  
+  .card-exceptionname-text2 {
+    /* 寮傚父鏁板崰姣旂殑澶栬竟璺� */
+    font-size: 14px;
+    white-space: nowrap;
+  }
+  .text-blank {
+    /* 閫楀彿 */
+    margin-right: 10px;
+    color: #000000;
+  }
+  .card-row {
+    margin-bottom: 10px;
+  }
+  
+  /* 寮傚父鍒嗘瀽妯″潡缁撴潫 */
+  
+  /* 闅愯棌琛ㄦ牸鎸夐挳缁勬牱寮� */
+  .el-button-group {
+    margin: 10px 0px 10px 10px;
+  }
+  .i-ep-Arrow {
+    margin-left: 6px;
+    margin-bottom: 2px;
+    font-size: 1.2em;
+  }
+  /* 闅愯棌琛ㄦ牸鎸夐挳缁勬牱寮忕粨鏉� */
+  
+  /* 琛ㄦ牸妯″潡鐨勬牱寮� */
+  .el-table {
+    color: #333333;
+  }
+  /* 琛ㄦ牸妯″潡缁撴潫 */
+  
+  
+  
+  /* 鏌ョ湅璇︽儏瀵硅瘽妗嗘ā鍧楃殑鏍峰紡 */
+  
+  .diag-head {
+    /* 瀵硅瘽妗嗗ご閮ㄥ尯鍩� */
+    min-height: 200px;
+  }
+  .diag-head-text1 {
+    /* 瀵硅瘽妗嗗ご閮ㄧ殑灞炴�у瓧娈靛姞绮� */
+    font-weight: bold;
+  }
+  
+  .diag-head-text > div {
+    /*  瀵硅瘽妗嗗紓甯告椂闂存 */
+    margin-top: 15px;
+  }
+  .diag-head-text {
+    margin: 10px;
+    padding: 10px;
+    background: linear-gradient(90deg, #00c9ff 0%, #92fe9d 100%);
+    border: 2px solid #7bc0fc;
+  }
+  .chart-jump-button {
+    display: flex;
+    justify-content: right;
+  }
+  
+  .mx-1 {
+    /* position: absolute;
+    left: 10px;
+    bottom: 10px; */
+    justify-content: flex-start;
+  }
+  .dialog-footer{
+    display: flex;
+  }
+  .dialog-footer-text {
+    justify-content: flex-end;
+    margin-left: auto;
+    font-size: 14px;
+    /* color: #333333; */
+  }
+  /* 鏌ョ湅璇︽儏瀵硅瘽妗嗘ā鍧楃粨鏉� */
+  </style>
+  
\ No newline at end of file

--
Gitblit v1.9.3