From 2162dec5e0acc98f8e22fa9907cdc5f70eba6dcc Mon Sep 17 00:00:00 2001
From: zmc <zmc_li@foxmail.com>
Date: 星期四, 23 十一月 2023 17:57:39 +0800
Subject: [PATCH] 1.修改了风险模型页面有效率,在线率的展示百分比 2.站点审核辅助页面增加了标识

---
 src/views/exception/SiteAuditAssistance.vue | 1939 ++++++++++++++++++++++++++++++---------------------------
 1 files changed, 1,022 insertions(+), 917 deletions(-)

diff --git a/src/views/exception/SiteAuditAssistance.vue b/src/views/exception/SiteAuditAssistance.vue
index 303f548..c56b980 100644
--- a/src/views/exception/SiteAuditAssistance.vue
+++ b/src/views/exception/SiteAuditAssistance.vue
@@ -1,25 +1,34 @@
 <script>
-import InputSearch from '../../sfc/InputSearch.vue';
-import ExceptionType from '../../sfc/ExceptionType.vue';
-import TimeSelectWithShortCuts from '../../sfc/TimeSelectWithShortCuts.vue';
-import { useFetch } from '../../utils/fetch.js';
-import { useCommonFunction } from '../../utils/common.js';
-import AreaAndmonitorType from '../../sfc/AreaAndmonitorType.vue'
-
+import InputSearch from '@/sfc/InputSearch.vue'
+import ExceptionType from '@/sfc/ExceptionType.vue'
+import TimeShortCuts from '@/sfc/TimeShortCuts.vue'
+import { useCommonFunction } from '../../utils/common.js'
+import AreaAndmonitorType from '@/sfc/AreaAndmonitorType.vue'
+import { defineAsyncComponent } from 'vue'
 //  寮傚父鍥惧舰寮傛缁勪欢
-const DustLineChart = defineAsyncComponent(() =>
-  import('../../sfc/DustLineChart.vue')
-);
+const DustLineChart = defineAsyncComponent(() => import('./components/DustLineChart.vue'))
+import submitApi from '@/api/audit/submitApi.js'
+import dayjs from 'dayjs'
+import { ElMessage, ElMessageBox } from 'element-plus'
+import ButtonClick from '@/sfc/ButtonClick.vue'
+import index from '@/utils/exception_common_function/index.js'
+import DaySelect from '@/sfc/DaySelect.vue';
+// import {useLoginUserStore} from '@/stores/user.js'
+import { useLoginUserStore } from '@/stores/user'
+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 dayjs from 'dayjs';
 export default {
   components: {
     ExceptionType,
     InputSearch,
-    TimeSelectWithShortCuts,
-  
+    TimeShortCuts,
     DustLineChart,
-    AreaAndmonitorType
+    AreaAndmonitorType,
+    ButtonClick,
+    DaySelect
   },
   data() {
     return {
@@ -28,15 +37,19 @@
         // 绔欑偣鍚嶇О
         name: '',
         // 閫夋嫨鐨勫紓甯哥被鍨�
-        exceptionName: [],
-       
+        exceptionName: []
       },
+      // 鏃ユ湡閫夋嫨
+      day:'',
+      // 鏃ユ湡鏃堕棿閫夋嫨
       beginTime: '',
       endTime: '',
       // 杩斿洖鐨勬暟鎹�
       tableData: [],
       // 琛ㄦ牸灞曠ず鐨勬暟鎹�
       displayData: [],
+      // 琛ㄦ牸鍒楀閫�
+      multipleSelection: [],
       // 琛ㄦ牸楂樺害
       tableHeight: 400,
       // 琛ㄦ牸鏁版嵁
@@ -45,64 +58,30 @@
       // 姣忛〉鏉℃暟
       pageSize: 20,
       total: 0,
-  
+
       // 琛ㄦ牸鏌ヨ鏃犳暟鎹椂
       isNoData: false,
       // 瀵硅瘽妗嗘樉绀�
       dialogTableVisible: false,
       // 淇濆瓨寮傚父瀵瑰簲鐨勫簵閾哄悕绉板拰璁惧缂栧彿
-      exception: {
-        // 鏂數鎴栨柇缃�
-        exception0: [],
-        // 鏁版嵁瓒呬綆
-        exception1: [],
-        // 瓒呮爣
-        exception2: [],
-        // 鏁版嵁闀挎椂娈垫棤娉㈠姩
-        exception3: [],
-        // 閲忕骇绐佸彉寮傚父
-        exception4: [],
-        // 涓磋繎瓒呮爣寮傚父
-        exception5: [],
-        // 鍗曟棩瓒呮爣娆℃暟涓寸晫寮傚父
-        exception6: [],
-        // 婊戝姩骞冲潎鍊煎紓甯�
-        exception7: [],
-        
-
-        // 璇ユ椂娈电殑寮傚父鏁伴噺
-        exception0Num: 0,
-        exception1Num: 0,
-        exception2Num: 0,
-        exception3Num: 0,
-        exception4Num: 0,
-        exception5Num: 0,
-        exception6Num: 0,
-        exception7Num: 0,
-      },
-      // 绔欑偣鎬绘暟閲�
-      siteTotal: 0,
-
-      // 寮傚父鐨勭珯鐐规�绘暟閲�
-      // exceptionSiteNum:0,
 
       // 閫変腑琛ㄦ牸褰撳墠琛岀殑鏁版嵁
       tableCurrentRowData: null,
       // 閫変腑琛ㄦ牸褰撳墠琛岀殑绱㈠紩
-      selectedRowIndex:-2,
+      selectedRowIndex: -2,
       // 椤甸潰涓婄殑鎸夐挳鍔犺浇鐘舵��
       loading: {
+        submitAudit: false,
         // 鏌ヨ鎸夐挳
-        queryButton:false,
-            // 琛ㄦ牸鍔犺浇涓�
-       tableLoading: false,
+        queryButton: false,
+        // 琛ㄦ牸鍔犺浇涓�
+        tableLoading: false,
         // 涓婁竴鏉℃寜閽�
         preButton: false,
         // 涓嬩竴鏉℃寜閽�
         afterButton: false,
         // 鎶樼嚎鍥�
-        lineChart: false,
-        
+        lineChart: false
       },
 
       dialog: {
@@ -121,79 +100,417 @@
       },
 
       // 鏍囪浣�
-      flag:{
+      flag: {
         // 鍔犺浇鏃� 涓婁笅鏉℃寜閽笉鑳藉啀鐐瑰嚮
-        banTouch:0,
+        banTouch: 0,
         // 0浠h〃鍒嗛〉锛�1浠h〃涓嶅垎椤�
-        originClick:0
-      }
-
-    };
+        originClick: 0
+      },
+      auditDialog: {
+        visible: false,
+        // 瀹℃牳浜�
+        checker: 'admin',
+        checkDate: '',
+        checkerNotes: '',
+        enterpriseNotes: ''
+      },
+      auditTableData: [],
+      // 瀹℃牳鐘舵�佷笉涓�0
+      auditData: []
+    }
   },
   setup() {
-    // provide('search',readonly(form))
-    const { backData, error, request } = useFetch();
-    const { isExceedOneMonth } = useCommonFunction();
+    const { isExceedOneMonth } = useCommonFunction()
+    const userName = useLoginUserStore()
+
     return {
-      backData,
-      error,
-      request,
-      isExceedOneMonth
-    };
+      isExceedOneMonth,userName
+    }
   },
   // 鐩戝惉  鍒ゆ柇鎸夐挳鏄惁鍙偣鍑�
   watch: {
     selectedRowIndex(newVaue) {
-      // 澶勪簬琛ㄦ牸鐨勬渶鍚庝竴鏉℃暟鎹� 璁剧疆鈥樹笂涓�鏉♀�欐寜閽笉鍙偣
-      if (newVaue === this.displayData.length - 1) {
-        this.dialog.isPreCantouch = true;
+        // 澶勪簬琛ㄦ牸鐨勬渶鍚庝竴鏉℃暟鎹� 璁剧疆鈥樹笂涓�鏉♀�欐寜閽笉鍙偣
+        if (newVaue === 0) {
+          this.dialog.isPreCantouch = true
         //鐢ㄦ埛鍏堢偣浜嗙涓�鏉★紝pre涓簍rue,鐒跺悗鐐瑰嚮鏈�鍚庝竴鏉�,next涓簍rue銆傛鏃朵袱涓寜閽兘琚皝閿�
         if (this.dialog.isNextCantouch == true) {
-          this.dialog.isNextCantouch = false;
+          this.dialog.isNextCantouch = false
         }
       }
-      // 澶勪簬琛ㄦ牸绗竴鏉℃暟鎹� 璁剧疆鈥樹笅涓�鏉♀�欐寜閽笉鍙偣
-      else if (newVaue === 0) {
-        this.dialog.isNextCantouch = true;
+      // 澶勪簬琛ㄦ牸绗竴鏉℃暟鎹� 璁剧疆鈥樹笂涓�鏉♀�欐寜閽笉鍙偣
+      else if (newVaue === this.displayData.length - 1) {
+        this.dialog.isNextCantouch = true
         //鐢ㄦ埛鍏堢偣浜嗚〃鏍兼渶鍚庝竴鏉�,next涓簍rue,鐒跺悗鐐瑰嚮绗竴鏉★紝pre涓簍rue銆傛鏃朵袱涓寜閽兘琚皝閿�
         if (this.dialog.isPreCantouch == true) {
-          this.dialog.isPreCantouch = false;
+          this.dialog.isPreCantouch = false
         }
       }
       // 澶勪簬琛ㄦ牸鐨勪腑闂磋 灏嗘寜閽缃负鍙偣鍑荤姸鎬�
       else {
-        this.dialog.isPreCantouch = false;
-        this.dialog.isNextCantouch = false;
+        this.dialog.isPreCantouch = false
+        this.dialog.isNextCantouch = false
       }
+
     },
 
-    // 褰撻�夋嫨鐨勬椂闂村彂鐢熷彉鍖栨椂锛屽紓甯稿垎鏋愰儴鍒嗙殑寮傚父搴楅摵鏁伴噺鍚屾鍙樺寲
-
-        beginTime() {
-          this.getShopNames();
-      },
-      endTime() {
-        this.getShopNames();
-      },
     dialogTableVisible() {
-      window.addEventListener('resize', this.updateChart);
+      window.addEventListener('resize', this.updateChart)
+    }
+  },
+  computed: {
+    // 瀹¤鎬绘暟锛堝寘鎷儴鍒嗗鏍革級
+    auditTotal() {
+      return this.auditData.length
+    },
+    // 瑙勮寖瀹¤鎬绘暟
+    auditedRegular() {
+      let count = 0
+      this.auditData.forEach((item) => {
+        if (item.auditStatus == 3) {
+          count++
+        }
+      })
+      return count
+    },
+    // 閮ㄥ垎瀹℃牳鏁伴噺
+    auditPart() {
+      let count = 0
+      this.auditData.forEach((item) => {
+        if (item.auditStatus == 1 || item.auditStatus == 2) {
+          count++
+        }
+      })
+      return count
+    },
+    // 寰呭鏍告暟
+    unCheckedNUm() {
+      return this.total - this.auditedRegular
+    },
+    // 瀹℃牳姣斾緥
+    checkedRate() {
+      if (this.total == 0) {
+        return 0
+      } else {
+        return ((this.auditedRegular / this.total) * 100).toFixed(1)
+      }
     }
   },
   mounted() {
-
-
-    this.backExceptionDataAWeekAgo();
-    this.calTableHeight();
-    // 鏌ヨ鏃堕棿娈电殑鍚勫紓甯哥殑绔欑偣锛屾煡璇㈣鏃堕棿鍖洪棿鐨勫悇寮傚父鏁伴噺
-    this.getShopNames();
-
+    this.backExceptionDataAWeekAgo()
+    this.calTableHeight()
+ 
   },
 
   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, '寮傚父')
+
+      // 浼犲叆鍙傛暟
+      this.dialog.option = exceptionOption.setExceptionChartOption(
+        xList,
+        yList,
+        '',
+        '',
+        '',
+        '',
+        this.tableCurrentRowData.exception,
+        areaObj,
+        '',
+        this.tableCurrentRowData.exceptionType
+      )
+    },
+
+    giveDay(val){
+      // 灏嗕腑鍥芥爣鍑嗘椂闂磋浆涓烘寚瀹氭牸寮�(璇ョ粍浠惰繑鍥炵殑鏍囧噯鏃堕棿鐨勬牸寮忥紝鎵�浠ュ繀椤荤殑鍔犺繖涓嚱鏁�)
+
+        this.beginTime = dayjs(val).format('YYYY-MM-DD 00:00:00');
+        this.endTime = dayjs(val).format('YYYY-MM-DD 23:59:59');
+    },
+
+    /**
+     * 瀹¤鍐呭淇濆瓨涓鸿崏绋�
+     * @param锛�
+     * @returns锛�
+     */
+    saveAudit() {
+      // 灏嗚緭鍏ユ鍊肩粰褰撳墠琛�
+      this.tableCurrentRowData.checkerContent = this.auditDialog.checkerNotes
+      this.tableCurrentRowData.enterpriseContent = this.auditDialog.enterpriseNotes
+      ElMessage.success('淇濆瓨鎴愬姛')
+    },
+    /**
+     * 鏌ョ湅璇ユ鏃堕棿鍐呭凡瀹℃牳鐨勬暟鎹�
+     * @param锛�
+     * @returns锛�
+     */
+    gethasCheckedNumByTime() {
+      submitApi.getAuditNumByTime(this.beginTime, this.endTime).then((res) => {
+        this.auditData = res.data.data
+      })
+    },
+
+    /**
+     * 澶氶�夊垪锛堝凡瀹℃牳鐨勮涓嶄細鍔犲叆鍏朵腑锛�
+     * @param
+     * @returns
+     */
+    handleSelectionChange(val) {
+      this.multipleSelection = val.filter((row) => row.auditStatus != 3)
+    },
+    /**
+     * 瑙﹀彂鎵归噺瀹℃牳
+     * @param锛�
+     * @returns锛�
+     */
+    quickReview() {
+      if (this.multipleSelection.length != 0) {
+        ElMessageBox.confirm('纭畾瑕佹壒閲忓鏍稿悧?', {
+          confirmButtonText: '纭',
+          cancelButtonText: '鍙栨秷',
+          type: 'warning',
+          center: true
+        }).then(() => {
+          this.noNoteCheck(this.multipleSelection)
+          setTimeout(() => {
+            this.gethasCheckedNumByTime()
+            ElMessage.success('鎵归噺瀹℃牳瀹屾垚')
+          }, 1500)
+        })
+      } else {
+        ElMessage('鏈�変腑琛ㄦ牸鐨勮')
+      }
+    },
+    /**
+     * 娓呴櫎宸查�変腑鐨勮〃鏍艰锛�
+     * @param锛�
+     * @returns锛�
+     */
+    clearSelected() {
+      this.$refs.table.clearSelection()
+    },
+    toggleSelection() {
+      this.$refs.table.clearSelection()
+    },
+    /**
+     *鎻愪氦鎵归噺瀹℃牳銆傞粯璁ゅ鏍镐汉锛岀┖澶囨敞
+     * @param锛� 闇�瑕佸揩閫熷鏍哥殑琛�
+     * @returns锛�
+     */
+    noNoteCheck(rows) {
+      rows.forEach((item) => {
+        submitApi.submitAudit('admin', '鏃�', '鏃�', item.id, 3)
+        item.auditStatus = 3
+      })
+    },
+    close() {
+      
+      this.auditDialog.visible = false
+    },
+    // 琛ㄦ牸琛岀殑棰滆壊
+    tableRowClassName({ row }) {
+      if (row.auditStatus == 0) {
+        return 'black-row'
+      } else if (row.auditStatus == 1 || row.auditStatus == 2) {
+        return 'deep-gray-row'
+      } else {
+        return 'complete--gray-row'
+      }
+    },
+    /**
+     * 鍙戣姹�
+     * @param锛氬鏍镐汉锛屽鏍镐汉澶囨敞锛屼紒涓氬娉紝寮傚父璁板綍缂栧彿 璇ユ潯寮傚父鐨勫鏍哥姸鎬�
+     * @returns锛�
+     */
+    sendAudit(user, checker, enterprise, exceptionId, status) {
+      submitApi
+        .submitAudit(
+          user,
+          this.auditDialog.checkerNotes,
+          this.auditDialog.enterpriseNotes,
+          exceptionId,
+          status
+        )
+        .then((res) => {
+          if (res.data.code == 1) {
+            ElMessage.success('鎻愪氦鎴愬姛')
+            this.tableCurrentRowData.auditStatus = status
+            this.tableCurrentRowData.checker = user
+            if (checker) {
+              this.tableCurrentRowData.checkerContent = checker
+            }
+            if (enterprise) {
+              this.tableCurrentRowData.enterpriseContent = enterprise
+            }
+
+            // 鏇存柊鍒嗘瀽鐨勬暟鎹�
+            setTimeout(() => {
+              this.gethasCheckedNumByTime()
+            }, 1500)
+          } else {
+            ElMessage.warning('鎻愪氦澶辫触')
+          }
+          this.loading.submitAudit = false
+          this.auditDialog.visible = false
+        })
+    },
+    // 鏇存柊瀹℃牳鍐呭
+    updateAud(exceptionId, checkerContent, enterpriseContent, auditStatus) {
+      submitApi
+        .updateAudit(exceptionId, checkerContent, enterpriseContent, auditStatus)
+        .then((res) => {
+          if (res.data.code == 1) {
+            ElMessage.success('鎻愪氦鎴愬姛')
+            this.tableCurrentRowData.auditStatus = auditStatus
+
+            if (checkerContent) {
+              this.tableCurrentRowData.checkerContent = checkerContent
+            }
+            if (enterpriseContent) {
+              this.tableCurrentRowData.enterpriseContent = enterpriseContent
+            }
+
+            // 鏇存柊鍒嗘瀽鐨勬暟鎹�
+            setTimeout(() => {
+              this.gethasCheckedNumByTime()
+            }, 1500)
+          } else {
+            ElMessage.warning('鎻愪氦澶辫触')
+          }
+          this.loading.submitAudit = false
+          this.auditDialog.visible = false
+        })
+    },
+    /**
+     * 鎻愪氦瀹℃牳
+     * @param锛�
+     * @returns锛�
+     */
+    submitAudit() {
+      // 鍚屾椂濉啓浜嗗鏍镐汉鍛樺拰浼佷笟鐨勫娉�
+      this.loading.submitAudit = true
+      // 鎶婄櫥闄嗙殑鐢ㄦ埛濮撳悕缁欏鏍镐汉
+      if(this.userName.getUserName != '-1'){
+        this.auditDialog.checker = this.userName.getUserName
+      }
+      if (this.auditDialog.checkerNotes && this.auditDialog.enterpriseNotes) {
+        this.sendAudit(
+          this.auditDialog.checker,
+          this.auditDialog.checkerNotes,
+          this.auditDialog.enterpriseNotes,
+          this.tableCurrentRowData.id,
+          3
+        )
+      }
+      // 鍙~浜嗗鏍镐汉鍛樺娉�
+      else if (this.auditDialog.checkerNotes && !this.auditDialog.enterpriseNotes) {
+        // 绗竴娆″垱寤�
+        if (this.tableCurrentRowData.auditStatus == 0) {
+          this.sendAudit(
+            this.auditDialog.checker,
+            this.auditDialog.checkerNotes,
+            this.auditDialog.enterpriseNotes,
+            this.tableCurrentRowData.id,
+            1
+          )
+        }
+        // 鍙洿鏂�
+        else {
+          this.updateAud(
+            this.tableCurrentRowData.id,
+            this.auditDialog.checkerNotes,
+            this.auditDialog.enterpriseNotes,
+            3
+          )
+        }
+      }
+      // 鍙~浜嗕紒涓氬娉ㄥ娉�
+      else if (this.auditDialog.enterpriseNotes && !this.auditDialog.checkerNotes) {
+        // 绗竴娆″垱寤�
+        if (this.tableCurrentRowData.auditStatus == 0) {
+          this.sendAudit(
+            this.auditDialog.checker,
+            this.auditDialog.checkerNotes,
+            this.auditDialog.enterpriseNotes,
+            this.tableCurrentRowData.id,
+            2
+          )
+        } else {
+          // 鍙洿鏂�
+          this.updateAud(
+            this.tableCurrentRowData.id,
+            this.auditDialog.checkerNotes,
+            this.auditDialog.enterpriseNotes,
+            3
+          )
+        }
+      } else {
+        ElMessage.warning('璇峰~鍐欏畬鏁存墠鑳芥彁浜�')
+      }
+
+      this.loading.submitAudit = false
+      // 娓呴櫎
+      this.auditDialog.checkerNotes = ''
+      this.auditDialog.enterpriseNotes = ''
+    },
+
+    /**
+     * 寮瑰嚭瀵硅瘽妗嗗苟涓斾繚瀛樺綋鍓嶈鏁版嵁
+     * @param锛�
+     * @createTime:2023-08-17
+     * @returns锛�
+     */
+    openAuditDiag(row) {
+      this.auditDialog.visible = true
+      this.tableCurrentRowData = row
+      // 杩涘叆瀹℃牳椤垫椂锛屽皢琛ㄦ牸褰撳墠琛岀殑瀹℃牳淇℃伅缁欒緭鍏ユ
+      this.auditDialog.checkerNotes = this.tableCurrentRowData.checkerContent
+      this.auditDialog.enterpriseNotes = this.tableCurrentRowData.enterpriseContent
+      
+      // // 鏈鏍�  灏辨妸褰撳墠鐧婚檰鍚嶇粰瀹℃牳浜�
+      // if(this.tableCurrentRowData.uiRealName == null){
+      //   this.auditDialog.checker = this.userName.getUserName
+      // }
+      // // 宸插鏍�
+      // else{
+      //   this.auditDialog.checker = this.tableCurrentRowData.uiRealName
+      // }
+
+    },
+
 
     /**
      * description锛氱偣鍑诲紓甯哥珯鐐瑰悕瀛楁椂 杩斿洖鐨勬暟鎹�
-     * @param锛� 
+     * @param锛�
      * @createTime:2023-08-17
      * @returns锛�
      */
@@ -203,120 +520,41 @@
       this.tableData = val
       this.total = this.tableData.length
       // 榛樿鏄剧ず绗竴椤�
-      this.handleCurrentChange(1);
+      this.handleCurrentChange(1)
     },
-     // 鐐瑰嚮琛ㄦ牸鐨勮鏃�
-     selectTableRow() {
+    // 鐐瑰嚮琛ㄦ牸鐨勮鏃�
+    selectTableRow() {
       // 鑾峰彇褰撳墠琛岀殑绱㈠紩
-      this.selectedRowIndex = this.displayData.indexOf(this.tableCurrentRowData);
-
+      this.selectedRowIndex = this.displayData.indexOf(this.tableCurrentRowData)
     },
 
-    /**
-     * 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(){
+    setOfflineTbleData() {
       // 鏃犳暟鎹椂鐨勬椂闂存暟缁� 鏃堕棿鐩稿樊15鍒嗛挓
-      const abnormalTimeTenMinute = this.descTenTime(
+      const abnormalTimeTenMinute = index.descFiftyTime(
         this.tableCurrentRowData.beginTime,
         this.tableCurrentRowData.endTime
-      );
+      )
+
+      // 淇濆瓨鏃犳暟鎹椂琛ㄦ牸鏉℃暟
+      this.dialog.exceptionTotal = abnormalTimeTenMinute.length
+
       // 鍘婚櫎渚涚數寮傚父鍜屾帀绾垮尯闂寸殑绗竴涓湁鍏冪礌鐨勫��
-      this.dialog.historyData = [];
+      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,
+          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;
-    },
     // 娈电數鎴栨柇缃戝尯闂存棤鏁版嵁锛岄渶瑕佽ˉ鍏呫�傚叾浠栫殑閮芥湁鏁版嵁锛岀洿鎺ヤ竴娆¤姹傚叏閮ㄦ椂娈靛氨濂�
 
     // 鏍规嵁寮傚父鍖洪棿鏋勯�犲墠鍚庣棣栧熬 鍓嶅尯闂� 涓棿鍖洪棿 鍚庡尯闂�
@@ -328,118 +566,59 @@
      * description锛氫竴娆¤姹傚洖鍓嶄腑鍚庡尯闂寸殑鏁版嵁,瀵规暟鎹繘琛屽垎鏋�
      * @param锛� 鍓嶄腑鍚庡尯闂寸殑璇锋眰鍙傛暟锛屽墠涓悗鐨勬�诲尯闂存椂闂达紝寮傚父寮�濮嬫椂闂达紝涓�鍦虹粨鏉熸椂闂�
      */
-     otherExceptionRequest(allTimeArgs,allTime,exceptionBT,exceptionET) {
-       // 鎶樼嚎鍥惧姞杞戒腑鏁堟灉
+    otherExceptionRequest(allTimeArgs, allTime, exceptionBT, exceptionET) {
+      // 鎶樼嚎鍥惧姞杞戒腑鏁堟灉
       this.loading.lineChart = true
-      this.$http
-        .get('/dust/history', { params: allTimeArgs })
-        .then((result) => {
-          this.dialog.allExceptionTimeData = result.data.data;
+      this.$http.get('/dust/history', { params: allTimeArgs }).then((result) => {
+        this.dialog.allExceptionTimeData = result.data.data
         //  鏂數鎴栨柇缃戞椂閲嶆柊璁剧疆琛ㄦ牸
-        if(this.tableCurrentRowData.exceptionType == '0'){
-            this.setOfflineTbleData()
+        if (this.tableCurrentRowData.exceptionType == '0') {
+          this.setOfflineTbleData()
         }
 
-            // x杞存棩鏈熸椂闂�
-        let dateList = [];
+        // x杞存棩鏈熸椂闂�
+        let dateList = []
         // y杞� 瓒呮爣娌圭儫娴撳害
-        let dustValue = [];
-        let timeAndValue = {};
+        let dustValue = []
+        let timeAndValue = {}
 
         // 浠庢坊鍔犱簡棣栦綅鍖洪棿鐨勫紑濮嬪拰缁撴潫鏃堕棿杩涜閬嶅巻 淇濊瘉鏃堕棿浠�10鍒嗛挓涓洪棿闅�
-        timeAndValue = this.keepContinuousByEachFiftyMinutes(
-            allTime[0],
-            allTime[3],
-            this.dialog.allExceptionTimeData
-        );
-        dateList = timeAndValue['xAxis'];
-        dustValue = timeAndValue['yAxis'];
-        
+        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);
+        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;
+        this.reSetChart(dateList, dustValue, exceptionBT, exceptionET, startIndex, endIndex)
+        this.loading.lineChart = false
+      })
     },
 
     /**
      * description锛氱粯鍒舵姌绾垮浘
      * @param锛� x杞存椂闂达紝 y杞存补鐑熸祿搴︼紝 寮傚父寮�濮嬫椂闂达紝寮傚父缁撴潫鏃堕棿锛屽紓甯稿紑濮嬫椂闂村湪鏁翠釜鍖洪棿鐨勭储寮曚笅鏍囷紝寮傚父缁撴潫鏃堕棿鍦ㄦ暣涓尯闂寸殑绱㈠紩涓嬫爣
      */
-    reSetChart(
-      xData,
-      yData,
-      exceptionBeginTime,
-      exceptionEndTime,
-      beginIndex,
-      endIndex
-    ) {
-      this.dialog.option = {};
+    reSetChart(xData, yData, exceptionBeginTime, exceptionEndTime, beginIndex, endIndex) {
+      this.dialog.option = {}
       switch (this.tableCurrentRowData.exceptionType) {
         // 鏂數鎴栨柇缃�  鏃堕棿娈�
         case '0':
           this.dialog.option = {
+            title: {
+            text: this.tableCurrentRowData.exception,
+            left: '1%',
+            textStyle:{
+              fontSize:14
+            }
+          },
+         
             tooltip: {},
             toolbox: {
               // 宸ュ叿鏍�
@@ -458,7 +637,7 @@
               name: '鏃堕棿',
               axisLabel: {
                 formatter: function (value) {
-                  return value.slice(11, -3);
+                  return value.slice(11, -3)
                 }
               }
             },
@@ -489,11 +668,20 @@
                 }
               }
             ]
-          };
-          break;
-        // 瓒呮爣  
+          }
+          break
+        // 瓒呮爣
         case '2':
+        case '5':
+        case '6':
           this.dialog.option = {
+            title: {
+            text: this.tableCurrentRowData.exception,
+            left: '1%',
+            textStyle:{
+              fontSize:14
+            }
+          },
             tooltip: {},
             toolbox: {
               // 宸ュ叿鏍�
@@ -511,7 +699,7 @@
               name: '鏃堕棿',
               axisLabel: {
                 formatter: function (value) {
-                  return value.slice(11, -3);
+                  return value.slice(11, -3)
                 }
               }
             },
@@ -530,9 +718,9 @@
                       itemStyle: {
                         color: 'red'
                       }
-                    };
+                    }
                   }
-                  return item;
+                  return item
                 }),
                 // 鍙樻崲鎸囧畾鏃堕棿鍖洪棿鐨勮儗鏅鑹�
                 markArea: {
@@ -601,11 +789,18 @@
                 }
               ]
             }
-          };
-          break;
+          }
+          break
         // 鏁版嵁瓒呬綆 鍙湁鏃堕棿鐐�
         case '1':
-        this.dialog.option = {
+          this.dialog.option = {
+            title: {
+            text: this.tableCurrentRowData.exception,
+            left: '1%',
+            textStyle:{
+              fontSize:14
+            }
+          },
             tooltip: {},
             toolbox: {
               // 宸ュ叿鏍�
@@ -623,7 +818,7 @@
               name: '鏃堕棿',
               axisLabel: {
                 formatter: function (value) {
-                  return value.slice(11, -3);
+                  return value.slice(11, -3)
                 }
               }
             },
@@ -642,11 +837,11 @@
                       itemStyle: {
                         color: 'red'
                       }
-                    };
+                    }
                   }
-                  return item;
+                  return item
                 }),
-               
+
                 markLine: {
                   symbol: 'none',
                   itemStyle: {
@@ -697,10 +892,17 @@
                 }
               ]
             }
-          };
-          break;
-        case '3' :
+          }
+          break
+        case '3':
           this.dialog.option = {
+            title: {
+            text: this.tableCurrentRowData.exception,
+            left: '1%',
+            textStyle:{
+              fontSize:14
+            }
+          },
             tooltip: {},
             toolbox: {
               // 宸ュ叿鏍�
@@ -718,7 +920,7 @@
               name: '鏃堕棿',
               axisLabel: {
                 formatter: function (value) {
-                  return value.slice(11, -3);
+                  return value.slice(11, -3)
                 }
               }
             },
@@ -737,9 +939,9 @@
                       itemStyle: {
                         color: 'red'
                       }
-                    };
+                    }
                   }
-                  return item;
+                  return item
                 }),
                 // 鍙樻崲鎸囧畾鏃堕棿鍖洪棿鐨勮儗鏅鑹�
                 markArea: {
@@ -781,17 +983,23 @@
                 }
               ]
             }
-          };
-          break;
+          }
+          break
         case '4':
-        this.dialog.option = {
+        case '7':
+          this.dialog.option = {
+            title: {
+            text: this.tableCurrentRowData.exception,
+            left: '1%',
+            textStyle:{
+              fontSize:14
+            }
+          },
             tooltip: {},
             toolbox: {
               // 宸ュ叿鏍�
               feature: {
-                //     dataZoom: {
-                //   yAxisIndex: 'none'
-                // },
+    
                 // 淇濆瓨涓哄浘鐗�
                 saveAsImage: {}
               }
@@ -802,7 +1010,7 @@
               name: '鏃堕棿',
               axisLabel: {
                 formatter: function (value) {
-                  return value.slice(11, -3);
+                  return value.slice(11, -3)
                 }
               }
             },
@@ -831,8 +1039,7 @@
                       }
                     ]
                   ]
-                },
-           
+                }
               }
             ],
             // 鎸囧畾鏃堕棿鍖洪棿鐨勭嚎娈靛彉棰滆壊
@@ -856,10 +1063,10 @@
                 }
               ]
             }
-          };
-          break;
+          }
+          break
         default:
-          console.log('娌℃湁璁剧疆璇ュ紓甯哥被鍨嬶紒');;
+          console.log('娌℃湁璁剧疆璇ュ紓甯哥被鍨嬶紒')
       }
       this.flag.banTouch = 0
     },
@@ -867,296 +1074,142 @@
      * description锛氬垝鍒嗗嚭寮傚父璧峰鏃堕棿锛屾瀯閫犺姹傚墠涓悗鐨勫弬鏁�
      */
     timeAndDataProcessed() {
-
       //寮傚父鐨勫紑濮嬫椂闂� 缁撴潫鏃堕棿
-      let exceptionBeginTime = this.tableCurrentRowData.beginTime;
-      let exceptionEndTime = this.tableCurrentRowData.endTime;
+      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 beforeAndAfterTime = index.before45AndAfter45(exceptionBeginTime, exceptionEndTime)
 
       // 鏋勯�犲紓甯告椂闂村墠鍚庡尯闂存暟鎹姹傚弬鏁�(闄や簡鏂綉涓兘鐢ㄥ埌锛�
-      let paramsAllTime = this.requestGetParms(
+      let paramsAllTime = index.requestGetParms(
         this.tableCurrentRowData.name,
         beforeAndAfterTime[0],
         beforeAndAfterTime[3]
-      );
-    // 灏嗗紓甯告暟鎹繘琛岄澶勭悊锛岄殢鍚庡皢缁撴灉浣滀负鎶樼嚎鍥剧殑閰嶇疆椤�
+      )
+      // 灏嗗紓甯告暟鎹繘琛岄澶勭悊锛岄殢鍚庡皢缁撴灉浣滀负鎶樼嚎鍥剧殑閰嶇疆椤�
 
-      this.otherExceptionRequest(paramsAllTime,beforeAndAfterTime,exceptionBeginTime,exceptionEndTime)
+      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.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);
+        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
+        })
+        
+        // let params = index.requestGetParms(
+        //   this.tableCurrentRowData.name,
+        //   this.tableCurrentRowData.beginTime,
+        //   this.tableCurrentRowData.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()
+        //   this.loading.preButton = false
+        // })
+      }
     },
     /**
      * description锛氳幏鍙栦笅涓�鏉″紓甯镐俊鎭�
      */
     getNextRowData() {
-         // 涓嶆槸琛ㄦ牸鐨勭涓�琛�
+      // 涓嶆槸琛ㄦ牸鐨勭涓�琛�
       if (this.selectedRowIndex !== 0) {
         // 鐐瑰嚮杩囩▼涓� 閿佷綇涓婁笅鏉℃寜閽�  鍦ㄨ缃畬鍥惧舰閰嶇疆椤瑰悗瑙i攣
         this.flag.banTouch = 1
 
         //寰楀埌涓婁竴琛屾暟鎹储寮�
-        this.selectedRowIndex = this.selectedRowIndex - 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.tableCurrentRowData = this.displayData[this.selectedRowIndex]
         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;
-            // 閫昏緫澶勭悊
+
+        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()
-            this.loading.afterButton = false
-          });
+          } else {
+            this.loading.lineChart = true
+            this.validProcess()
+            this.loading.lineChart = false
+            this.flag.banTouch = 0
+          }
+          this.loading.afterButton = false
+        })
+
+
+        // let params = index.requestGetParms(
+        //   this.tableCurrentRowData.name,
+        //   this.tableCurrentRowData.beginTime,
+        //   this.tableCurrentRowData.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()
+        //   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锛氭樉绀哄璇濇,杩斿洖璇ュ紓甯告椂闂存鐨勬墍鏈夋暟鎹�
@@ -1165,78 +1218,103 @@
      */
     showDialog(row) {
       // 鎵撳紑瀵硅瘽妗�
-      this.dialogTableVisible = true;
-      
+      this.dialogTableVisible = true
+
       // 淇濆瓨褰撳墠琛屾暟鎹�
-      this.tableCurrentRowData = row;
+      this.tableCurrentRowData = row
 
       // 鑾峰彇褰撳墠琛岀殑绱㈠紩
-      this.selectedRowIndex = this.displayData.indexOf(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;
-      }
+      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
+          // 閫昏緫澶勭悊
 
-      this.$http.get('/dust/history', { params: params }).then((response) => {
-        // 淇濆瓨杩斿洖鐨勮秴鏍囨暟鎹�
-        this.dialog.historyData = response.data.data;
-        this.dialog.exceptionTotal = response.data.data.length;
-        // 閫昏緫澶勭悊
-        this.timeAndDataProcessed()
-      });
+          if (this.tableCurrentRowData.exceptionType != '8') {
+            this.timeAndDataProcessed()
+          } else {
+            this.loading.lineChart = true
+            this.validProcess()
+            this.loading.lineChart = false
+            this.flag.banTouch = 0
+          }
+        })
+
+      // 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;
+        alert('鏃堕棿璺ㄥ害涓嶈兘瓒呰繃涓�涓湀')
+        return
       }
-      this.loading.queryButton = true
       this.flag.originClick = 0
-      this.loading.tableLoading = true;
-      let params = {};
-      params['page'] = this.currentPage;
-      params['pageSize'] = this.pageSize;
+      
+      let params = {}
+      params['page'] = this.currentPage
+      params['pageSize'] = this.pageSize
+      
       if (this.form.name) {
-        params['siteName'] = this.form.name;
+        params['siteName'] = this.form.name
       }
       if (this.form.exceptionName.length != 0) {
-        params['exceptionType'] = this.form.exceptionName.join();
+        params['exceptionType'] = this.form.exceptionName.join()
       }
-      params['beginTime'] = this.beginTime;
-      params['endTime'] = this.endTime;
+      params['beginTime'] = this.beginTime
+      params['endTime'] = this.endTime
+      this.loading.tableLoading = true
+      this.loading.queryButton = true
 
-      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;
-        });
+      console.log('绔欑偣锛�',params['siteName']);
+      console.log('绫诲瀷',params['exceptionType']);
+      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
+
+        if (response.data.data.total == 0) {
+          ElMessage('璇ユ椂娈垫棤鏁版嵁')
+          this.isNoData = true
+          return
+        }
+        this.total = response.data.data.total
+        this.loading.tableLoading = false
+        // 绉婚櫎绌烘暟鎹姸鎬�
+        this.isNoData = false
+      })
+      this.gethasCheckedNumByTime()
     },
 
     /**
@@ -1244,32 +1322,34 @@
      * @createTime:2023-08-18
      */
     backExceptionDataAWeekAgo() {
-      this.loading.tableLoading = true;
-      let params = {};
+      this.loading.tableLoading = true
+      let params = {}
       if (this.form.name) {
-        params['siteName'] = this.form.name;
+        params['siteName'] = this.form.name
       }
+
+
       if (this.form.exceptionName) {
-        params['exceptionType'] = this.form.exceptionName;
+        params['exceptionType'] = this.form.exceptionName
       }
-      params['beginTime'] = this.beginTime;
-      params['endTime'] = this.endTime;
+      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.$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;
-        });
+        if (response.data.data.total == 0) {
+          ElMessage('璇ユ椂娈垫棤鏁版嵁')
+          this.loading.tableLoading = false
+          this.isNoData = true
+          return
+        }
+        this.loading.tableLoading = false
+        this.total = response.data.data.total
+      })
+      this.gethasCheckedNumByTime()
     },
 
     /**
@@ -1277,25 +1357,26 @@
      * @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');
+      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 h4 = this.$refs.h4.$el.offsetHeight;
+      const h1 = this.$refs.h1.$el.offsetHeight
+      const h2 = this.$refs.h2.$el.offsetHeight
+      const h4 = this.$refs.h4.$el.offsetHeight
       // 鍏朵腑涓�涓�40鏄洅瀛愮殑鎬诲杈硅窛
-      this.tableHeight = `calc(100vh - ${h1}px - ${h2}px  - ${h4}px - 100px - var(--el-main-padding) * 2)`;
+      this.tableHeight = `calc(100vh - ${h1}px - ${h2}px  - ${h4}px - 20px - 10px - var(--el-main-padding) * 2)`
+      // this.tableHeight = `calc(100vh - ${h1}px  - ${h4}px - 100px - var(--el-main-padding) * 2)`;
     },
 
     // 椤靛ぇ灏忔敼鍙樻椂瑙﹀彂
     handleSizeChange(val) {
-      this.pageSize = val;
+      this.pageSize = val
 
       // 鏀瑰彉姣忛〉鏄剧ず鏁扮洰鏃惰烦鍒板綋鍓嶉〉
-      this.handleCurrentChange(1);
+      this.handleCurrentChange(1)
     },
 
     // 椤靛彿鏀瑰彉鏃惰Е鍙�
@@ -1306,79 +1387,107 @@
      * @returns锛�
      */
     handleCurrentChange(val) {
-      console.log('褰撳墠椤典负锛�', val);
       // 灏嗗綋鍓嶉〉鍙风粰currentPage
-      this.currentPage = val;
-
+      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;
+      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);
+        this.displayData = this.tableData.slice(startIndex, endIndex)
       }
     },
     // 琛ㄦ牸搴忓彿閫掑
     indexMethod1(index) {
-      return index + 1 + (this.currentPage - 1) * this.pageSize;
+      return index + 1 + (this.currentPage - 1) * this.pageSize
     },
     // 琛ㄦ牸搴忓彿閫掑
     indexMethod2(index) {
-      return index + 1;
+      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>
-            <InputSearch
-              :isNeedDefaultSite="0"
-              @submit-value="(n) => (form.name = n)"
-              @submit-site-Nums="(n) => (siteTotal = n)"
+      <el-card>
+        <el-form :inline="true">
+          <div class="head-container-text">
+            <el-form-item>
+              <AreaAndmonitorType :isHideArea="1"></AreaAndmonitorType>
+            </el-form-item>
+
+            <el-form-item>
+              <InputSearch isNeedDefaultSite="0" isNeedRealTimeAdvice="1" :exceptionType="form.exceptionName" :beginTime="beginTime" :endTime="endTime" @submit-value="(n) => (form.name = n)">
+              </InputSearch>
+            </el-form-item>
+
+            <el-form-item>
+              <DaySelect
+                @submit-time="giveDay"
+                :day-begin="beginTime"
+              ></DaySelect>
+            </el-form-item>
+
+            <el-form-item>
+              <TimeShortCuts
+                @submit-time="giveTime"
+                timeType="day"
+                :begin-and-end-time="[beginTime,endTime]"
+              ></TimeShortCuts>
+            </el-form-item>
+
+            <el-form-item>
+             
+              <ButtonClick
+                content="鎼滅储"
+                type="warning"
+                :loading="loading.queryButton"
+                @do-search="handleSubmit"
+              ></ButtonClick>
+            </el-form-item>
+            <el-form-item>
+              <ExceptionType @submit-value="(n) => (form.exceptionName = n)"></ExceptionType>
+            </el-form-item>
+          </div>
+
+          <div class="head-container-search">
+            <span class="head-describtion-text">
+              閲戝北鍖� {{ beginTime }} 鈥斺�� {{ endTime }} 鎵皹鐩戞祴寮傚父淇℃伅姹囨��</span
             >
-            </InputSearch>
-          </el-form-item>
-
-          
-
-          <el-form-item>
-            <TimeSelectWithShortCuts @submit-time="giveTime"></TimeSelectWithShortCuts>
-          </el-form-item>
-
-          <el-form-item>
-            <ExceptionType
-              @submit-value="(n) => form.exceptionName = n"
-            ></ExceptionType>
-          </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>
+          </div>
+        </el-form>
+      </el-card>
     </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="h2">
+    <el-col>
+      <div class="checknum">
+        <div class="checknum-text">
+          <el-tag>搴斿鏍告暟</el-tag><span >{{ total }} ({{ checkedRate }}%)</span>
+        </div>
 
+        <div class="checknum-text">
+          <el-tag type="success">宸插鏍告暟</el-tag><span>{{ auditTotal }}</span>
+        </div>
+        <div class="checknum-text">
+          <el-tag type="info">瑙勮寖瀹℃牳鏁�</el-tag><span>{{ auditedRegular }} </span>
+        </div>
+        <div class="checknum-text">
+          <el-tag type="warning">閮ㄥ垎瀹℃牳鏁�</el-tag><span>{{ auditPart }}</span>
+        </div>
+        <div class="checknum-text">
+          <el-tag type="danger">寰呭鏍告暟</el-tag><span>{{ unCheckedNUm }} </span>
+        </div>
+      </div>
+    </el-col>
+  </el-row>
 
   <el-row>
     <el-col v-show="!isNoData">
@@ -1386,11 +1495,14 @@
         ref="table"
         :data="displayData"
         :height="tableHeight"
-        highlight-current-row="true"
+        :highlight-current-row="true"
+        :row-class-name="tableRowClassName"
         size="default"
         v-loading="loading.tableLoading"
+        @selection-change="handleSelectionChange"
         border
       >
+        <el-table-column type="selection" width="55" align="center" />
         <el-table-column
           type="index"
           label="搴忓彿"
@@ -1399,66 +1511,63 @@
           fixed
           :index="indexMethod1"
         />
-        <el-table-column prop="name" label="绔欑偣鍚嶇О" show-overflow-tooltip />
-        <el-table-column
-          prop="mnCode"
-          label="璁惧缂栧彿"
-          align="center"
-          show-overflow-tooltip
-        />
-        <el-table-column
-          prop="exception"
-          label="寮傚父绫诲瀷"
-          align="center"
-          show-overflow-tooltip
-        />
-        <el-table-column
-          prop="region"
-          label="鍖哄煙"
-          align="center"
-          show-overflow-tooltip
-        />
-        <el-table-column
-          prop="beginTime"
-          label="寮�濮嬫椂闂�"
-          align="center"
-          show-overflow-tooltip
-        />
-        <el-table-column
-          prop="endTime"
-          label="缁撴潫鏃堕棿"
-          align="center"
-          show-overflow-tooltip
-        />
-        <el-table-column
-          prop="typename"
-          label="鍦烘櫙"
-          align="center"
-          show-overflow-tooltip
-        />
-        <el-table-column
-          prop="address"
-          label="鍦板潃"
-          align="center"
-          show-overflow-tooltip
-        />
-        <el-table-column
-          prop="dutyCompany"
-          label="杩愮淮鍟�"
-          align="center"
-          show-overflow-tooltip
-        />
-        <el-table-column label="鎿嶄綔" align="center">
+        <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" width="200" fixed="right">
           <template #default="{ row }">
+            <el-button type="primary" @click="showDialog(row)"> 鏌ョ湅璇︽儏 </el-button>
             <el-button
-              type="primary"
-              class="table-button"
-              @click="showDialog(row)"
-              >鏌ョ湅璇︽儏</el-button
+              v-if="row.auditStatus == 3"
+              size="default"
+              type="info"
+              @click="openAuditDiag(row)"
+              >宸插鏍�</el-button
             >
+            <el-button
+              type="success"
+              size="default"
+              plain
+              v-else-if="row.auditStatus == 1 || row.auditStatus == 2"
+              @click="openAuditDiag(row)"
+              >寰呭鏍�</el-button
+            >
+
+            <el-button v-else size="default" type="danger" @click="openAuditDiag(row)"
+              >寰呭鏍�</el-button
+            >
+            <!-- <span v-if="row.auditStatus == 3">宸插鏍�</span
+              ><span v-else>瀹℃牳</span> -->
           </template>
         </el-table-column>
       </el-table>
+
+      <!-- <el-row ref="h2">
+    <el-row> -->
+      <div class="check-button">
+        <el-button
+          type="primary"
+          size="small"
+          :disabled="multipleSelection.length == 0"
+          @click="quickReview"
+          >鎵归噺瀹℃牳</el-button
+        >
+        <el-button
+          type="primary"
+          size="small"
+          :disabled="multipleSelection.length == 0"
+          @click="clearSelected"
+          >娓呴櫎閫変腑</el-button
+        >
+      </div>
+      <!-- </el-row>
+  </el-row> -->
 
       <el-pagination
         ref="h4"
@@ -1477,42 +1586,80 @@
 
   <el-empty v-show="isNoData" :image-size="200" />
 
-  <el-dialog v-model="dialogTableVisible" draggable align-center height="300px">
+  <el-dialog v-model="auditDialog.visible" :show-close="false" draggable>
+    <template #header>
+      <!-- <div class="title-text">娣诲姞澶囨敞</div> -->
+      <span class="title-text">{{ tableCurrentRowData.name }}</span
+      ><span>绔欑偣寮傚父鏁版嵁瀹℃牳</span>
+    </template>
+
+    <el-form label-position="top">
+      <el-form-item label="瀹℃牳浜�">
+        <el-input v-model="userName.getUserName"></el-input>
+      </el-form-item>
+      <el-form-item label="瀹℃牳鎯呭喌">
+        <el-input
+          v-model="auditDialog.checkerNotes"
+          type="textarea"
+          :autosize="true"
+          placeholder="瀹℃牳浜哄憳濉啓"
+          :disabled="tableCurrentRowData.auditStatus == 1"
+        />
+      </el-form-item>
+      <el-form-item label="浼佷笟鍙嶉">
+        <el-input
+          v-model="auditDialog.enterpriseNotes"
+          type="textarea"
+          :autosize="true"
+          placeholder="浼佷笟濉啓"
+          :disabled="tableCurrentRowData.auditStatus == 2"
+        />
+      </el-form-item>
+    </el-form>
+
+    <el-card v-show="tableCurrentRowData.auditStatus == 3">
+      <template #header>瀹℃牳璇︽儏</template>
+      <el-form>
+        <el-form-item label="瀹℃牳浜�">{{ tableCurrentRowData.checker }}</el-form-item>
+        <el-form-item label="瀹℃牳鎯呭喌">{{ tableCurrentRowData.checkerContent }}</el-form-item>
+        <el-form-item label="瀹℃牳浜哄憳">{{ tableCurrentRowData.enterpriseContent }}</el-form-item>
+      </el-form>
+    </el-card>
+
+    <template #footer>
+      <span class="dialog-footer">
+        <el-button @click="close">鍙栨秷</el-button>
+        <el-button color="#626aef" :dark="isDark" plain @click="saveAudit">淇濆瓨</el-button>
+        <el-button
+          type="primary"
+          :loading="loading.submitAudit"
+          :disabled="tableCurrentRowData.auditStatus == 3"
+          @click="submitAudit"
+        >
+          鎻愪氦
+        </el-button>
+      </span>
+    </template>
+  </el-dialog>
+
+  <el-dialog
+    claa="exception-dialog"
+    v-model="dialogTableVisible"
+    draggable
+    align-center
+    width="700px"
+  >
     <!-- 澶� -->
     <template #header>
       <div class="diag-head">
         <div class="diag-head-text">
-          <div>
-          <span class="diag-head-text1">绔欑偣鍚嶇О锛�</span
-          >{{ tableCurrentRowData.name }}
-          </div>
+          <div><span class="diag-head-text1">鐐逛綅鍚嶇О锛�</span>{{ tableCurrentRowData.name }}</div>
+          <div><span class="diag-head-text1">璁惧缂栧彿锛�</span>{{ tableCurrentRowData.mnCode }}</div>
+          <div><span class="diag-head-text1">杩愮淮鍟嗭細</span>{{ tableCurrentRowData.dutyCompany }}</div>
+ 
 
           <div>
-          <span class="diag-head-text1">寮傚父绫诲瀷锛�</span>
-          <span v-if="tableCurrentRowData.exceptionType == '0'"
-            >鏂數鎴栨柇缃�</span
-          >
-          <span v-else-if="tableCurrentRowData.exceptionType == '1'"
-            >鏁版嵁瓒呬綆</span
-          >
-          <span v-else-if="tableCurrentRowData.exceptionType == '2'">瓒呮爣</span>
-          <span v-else-if="tableCurrentRowData.exceptionType == '3'"
-            >鏁版嵁闀挎椂闂存棤娉㈠姩</span
-          >
-          <span v-else-if="tableCurrentRowData.exceptionType == '4'"
-            >閲忕骇绐佸彉寮傚父</span
-          > <span v-else-if="tableCurrentRowData.exceptionType == '5'"
-            >涓磋繎瓒呮爣寮傚父</span
-          > <span v-else-if="tableCurrentRowData.exceptionType == '6'"
-            >鍗曟棩瓒呮爣娆℃暟涓寸晫寮傚父</span
-          > <span v-else-if="tableCurrentRowData.exceptionType == '7'"
-            >婊戝姩骞冲潎鍊煎紓甯�</span
-          >
-        </div>
-
-          <div>
-            <span class="diag-head-text1">寮傚父鏃堕棿娈碉細</span
-            >{{ tableCurrentRowData.beginTime }} ~
+            <span class="diag-head-text1">寮傚父鏃堕棿娈碉細</span>{{ tableCurrentRowData.beginTime }} ~
             {{ tableCurrentRowData.endTime }}
           </div>
         </div>
@@ -1522,28 +1669,27 @@
             type="danger"
             :loading="loading.preButton"
             :disabled="dialog.isPreCantouch || flag.banTouch"
-            @click="getPreviousRowData"
+            @click="getNextRowData"
             >涓婃潯寮傚父</el-button
           >
           <el-button
             type="danger"
             :loading="loading.afterButton"
             :disabled="dialog.isNextCantouch || flag.banTouch"
-            @click="getNextRowData"
+            @click="getPreviousRowData"
             >涓嬫潯寮傚父</el-button
           >
         </div>
       </div>
     </template>
 
-    <!-- :option="dialog.option" -->
-
     <!-- 鍥惧舰 -->
     <DustLineChart
       :option="dialog.option"
       :is-open-dialog="dialogTableVisible"
       v-loading="loading.lineChart"
-    ></DustLineChart>
+    >
+    </DustLineChart>
 
     <!-- 琛ㄦ牸 -->
     <div>
@@ -1556,79 +1702,60 @@
           fixed
           :index="indexMethod2"
         ></el-table-column>
-        <el-table-column
-          fixed
-          prop="name"
-          label="绔欑偣鍚嶇О"
-          show-overflow-tooltip
-        />
-        <el-table-column
-          prop="mnCode"
-          label="璁惧缂栧彿"
-          align="center"
-          show-overflow-tooltip
-        />
-        <el-table-column
-          prop="dutyCompany"
-          label="杩愮淮鍟�"
-          align="center"
-          show-overflow-tooltip
-        />
-        <el-table-column
-          prop="lst"
-          label="閲囬泦鏃堕棿"
-          align="center"
-          show-overflow-tooltip
-        />
+        
+        <el-table-column prop="lst" label="閲囬泦鏃堕棿" align="center" show-overflow-tooltip />
         <el-table-column
           prop="dustValue"
-          label="棰楃矑鐗╂祿搴�(mg/m鲁)"
+          label="TSP(mg/m鲁)"
           align="center"
           show-overflow-tooltip
         />
+        <el-table-column prop="flag" label="鏁版嵁鏍囪瘑" align="center" show-overflow-tooltip />
       </el-table>
     </div>
     <template #footer>
-      <el-tag type="success" class="mx-1" effect="dark" round
-        ><span
-          class="table-line-lable"
-          v-show="tableCurrentRowData.exceptionType == '0'"
-          >缂哄け鏁版嵁锛�
-        </span>
-        <span
-          v-show="
-            tableCurrentRowData.exceptionType == '1' ||
-            tableCurrentRowData.exceptionType == '2' ||
-            tableCurrentRowData.exceptionType == '3' ||
-            tableCurrentRowData.exceptionType == '4' 
-          "
-          >寮傚父鏁版嵁锛�</span
-        >
-        <span class="table-line-num">{{ dialog.exceptionTotal }}鏉�</span>
-        <span
-          v-show="
-            tableCurrentRowData.exceptionType === '0'
-          "
-        >
-          (閫昏緫璁$畻)</span
-        >
-      </el-tag>
+      <div class="dialog-footer">
+        <el-tag type="success" class="mx-1" effect="dark" round
+          ><span class="table-line-lable" v-show="tableCurrentRowData.exceptionType == '0'"
+            >缂哄け鏁版嵁锛�
+          </span>
+          <span
+            v-show="
+              tableCurrentRowData.exceptionType == '1' ||
+              tableCurrentRowData.exceptionType == '2' ||
+              tableCurrentRowData.exceptionType == '3' ||
+              tableCurrentRowData.exceptionType == '4' ||
+              tableCurrentRowData.exceptionType == '5' ||
+              tableCurrentRowData.exceptionType == '6' ||
+              tableCurrentRowData.exceptionType == '7' ||
+              tableCurrentRowData.exceptionType == '8'
+            "
+            >寮傚父鏁版嵁锛�</span
+          >
+          <span class="table-line-num">{{ dialog.exceptionTotal }}鏉�</span>
+          <span v-show="tableCurrentRowData.exceptionType == '0'"> (閫昏緫璁$畻)</span>
+        </el-tag>
+        <el-text v-show="tableCurrentRowData.exceptionType == '8'" type="warning" class="dialog-footer-text">鏁版嵁鏍囪瘑A涓烘暟鎹暱鏈熺己澶�,绯荤粺鑷姩琛ュ叏</el-text>
+        <!-- <el-text class="mx-1" type="warning">Warning</el-text> -->
+      </div>
     </template>
   </el-dialog>
 </template>
 
 <style lang="scss" scoped>
 .el-row {
-  margin-left: 10px;
+  margin-left: 20px;
 }
-
 /* 鏉′欢鏌ヨ妯″潡鐨勬牱寮� */
-.head-container-search {
-  // display: flex;
-  // justify-content: flex-end;
-  float: right;
+.el-card {
+  margin-top: 10px;
+  margin-right: 10px;
 }
-
+.head-container-search {
+  display: flex;
+  justify-content: space-between;
+  
+}
 .head-describtion-text {
   justify-content: flex-end;
   margin-bottom: 10px;
@@ -1637,125 +1764,103 @@
 }
 /* 鏉′欢鏌ヨ妯″潡缁撴潫 */
 
+/*鍒嗘瀽 */
+.checknum {
+  margin: 10px 5px 20px 20px;
+  display: flex;
+}
+.checknum-text {
+  font-size: 14px;
+  margin-right: 50px;
+}
+.el-tag {
+  font-size: 14px;
+  vertical-align: baseline;
+}
 
-
-/* 寮傚父鍒嗘瀽妯″潡鐨勬牱寮� */
-.card-text1 {
-  // 榛戜綋鐨勫紓甯稿悕瀛楅儴鍒�
-  margin: 10px;
-}
-.card-text1 + div {
-  // 榛戜綋鐨勫紓甯稿悕瀛椾笅闈㈢殑
-  margin: 12px;
-}
-.card-exception-buttom {
-  // 寮傚父绔欑偣鏂囨湰鎸夐挳鍖哄煙
-  padding: 11px;
-}
-.card-header {
+.checknum-rate {
   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;
 }
 
-.card-exceptionname-text2 {
-  // 寮傚父鏁板崰姣旂殑澶栬竟璺�
-  // margin-left: 50px;
-  font-size: 14px;
-  white-space: nowrap;
-}
-.text-blank {
-  // 閫楀彿
-  margin-right: 10px;
-  color: #000000;
-}
-.card-row {
-  margin-bottom: 10px;
-}
-
-/* 寮傚父鍒嗘瀽妯″潡缁撴潫 */
+/* 鍒嗘瀽缁撴潫 */
 
 /* 琛ㄦ牸妯″潡鐨勬牱寮� */
-
-/* 琛ㄦ牸妯″潡缁撴潫 */
-
-
-
-
-
-/* 鏌ョ湅璇︽儏瀵硅瘽妗嗘ā鍧楃殑鏍峰紡 */
-:deep(.el-dialog) {
-  // 瀵硅瘽妗嗛珮搴�
+:global(.el-table .black-row) {
+  color: black;
 }
-.diag-head {
-  // 瀵硅瘽妗嗗ご閮ㄥ尯鍩�
-  min-height: 200px;
-  // border: 1px solid #fdc2db;
+
+:global(.el-table .complete--gray-row) {
+  color: #86909c;
 }
-.diag-head-text1 {
-  // 瀵硅瘽妗嗗ご閮ㄧ殑灞炴�у瓧娈靛姞绮�
+:global(.el-table .deep-gray-row) {
+  color: #7f9fcf;
+}
+/* 瀵硅瘽妗嗘爣棰� */
+.el-form-item__labe {
   font-weight: bold;
 }
-.diag-head-text span:nth-child(2) {
-  // 瀵硅瘽妗嗗ご閮ㄢ�樺紓甯哥被鍨嬧�欏睘鎬�
-  // margin-left: 150px;
+.title-text {
+  font-weight: bold;
+  margin-right: 20px;
 }
+.check-button {
+  float: right;
+  margin-top: 10px;
+  margin-right: 20px;
+}
+.el-table {
+  color: #333333;
+}
+/* 琛ㄦ牸妯″潡缁撴潫 */
+
+/* 鏌ョ湅璇︽儏瀵硅瘽妗嗘ā鍧楃殑鏍峰紡 */
+
+
+.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 {
-  // 鈥樹笂涓�鏉♀�欙紝鈥樹笅涓�鏉♀�� 鎸夐挳
-  // border: 1px solid #fdc2db;
-  min-height: 30px;
-  width: 200px;
-  float: right;
+ 
+  display: flex;
+  justify-content: right;
 }
 
 .line-chart {
-  // 寮傚父鎶樼嚎鍥�
+  /*  寮傚父鎶樼嚎鍥� */
   width: 920px;
   height: 300px;
   margin-bottom: 20px;
   min-width: 600px;
 }
+
 .mx-1 {
   position: absolute;
   left: 10px;
   bottom: 10px;
-
 }
+.dialog-footer{
+  display: flex;
+}
+.dialog-footer-text {
+  justify-content: flex-end;
+  margin-left: auto;
+  font-size: 14px;
+  /* color: #333333; */
+}
+
 /* 鏌ョ湅璇︽儏瀵硅瘽妗嗘ā鍧楃粨鏉� */
 </style>

--
Gitblit v1.9.3