From 72085226bc9f82a9129b8fbcd17fab1edf9ef270 Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期五, 05 一月 2024 15:08:19 +0800
Subject: [PATCH] 1. 修复飞行巡检模块中有效率异常详情弹出框无法正常显示的bug; 2.优化各异常类型的折线图配置项生成逻辑;

---
 src/sfc/ExceptionType.vue |  139 +++++++++++++++++++++++++++++++++------------
 1 files changed, 101 insertions(+), 38 deletions(-)

diff --git a/src/sfc/ExceptionType.vue b/src/sfc/ExceptionType.vue
index 60b42e7..3bcfe2d 100644
--- a/src/sfc/ExceptionType.vue
+++ b/src/sfc/ExceptionType.vue
@@ -1,4 +1,3 @@
-
 <!-- 寮傚父绫诲瀷澶嶉�夋缁勪欢  
     鑷姩鑾峰彇鎵皹鍘嗗彶琛ㄤ腑涓嶅悓寮傚父绫诲瀷
     灏嗛�変腑鐨勫涓紓甯镐互鏁扮粍褰㈠紡杩斿洖缁欑埗缁勪欢 
@@ -9,60 +8,124 @@
 -->
 
 <script>
-  export default {
-    emits:['submitValue'],
-    data() {
-      return{
-        // 杩斿洖鐨勬墍鏈夊紓甯哥被鍨�
-        exceptionType:[],
-        //宸插嬀閫夌殑寮傚父
-        checkedList: []
+import exceptionApi from '@/api/exceptionApi.js'
+export default {
+  props: {
+    // 绂佺敤
+    isDisabled: {
+      type: Boolean,
+      default: false
+    },
+    // 寮傚父绫诲瀷
+    exception: {
+      type: Number,
+      default:-1
+    }
+  },
+  emits: ['submitValue'],
+  data() {
+    return {
+      // 杩斿洖鐨勬墍鏈夊紓甯哥被鍨�
+      exceptionType: [],
+      //宸插嬀閫夌殑寮傚父
+      checkedList: [],
+      // 鍏ㄩ��
+      checkAll: false,
+      isIndeterminate: false
+    }
+  },
+
+  mounted() {
+    this.$watch(() => [this.exception], () => {
+      if (this.exception != -1) {
+        this.checkedList.push(this.exception) 
       }
+      
+    });
+    this.getExceptionType()
+  },
+  methods: {
+    // 鑾峰彇涓嶅悓鐨勫紓甯稿悕绉�
+    getExceptionType() {
+      // exceptionApi.queryExceptionType().then((response) => {
+      //   response.data.data.forEach((item) => {
+      //     this.exceptionType.push(item.exceptionType)
+      //   })
+
+      //   let a = ['0', '1', '2', '3', '4', '5', '6', '7','8']
+      //   a.forEach((item) => {
+      //     if (this.exceptionType.indexOf(item) == -1) {
+      //       this.exceptionType.push(item)
+      //     }
+      //   })
+      // })
+
+        let a = ['0', '1', '2', '3', '4', '5', '6', '7','8']
+        a.forEach((item) => {
+            this.exceptionType.push(item)
+        })
     },
-    mounted() {
-        this.getExceptionType()
+    handleCheckAllChange(val) {
+      this.checkedList = val ? this.exceptionType : []
+      this.isIndeterminate = false
+      this.$emit('submitValue', this.checkedList)
     },
-    methods: {
-        // 鑾峰彇涓嶅悓鐨勫紓甯稿悕绉�
-        getExceptionType(){
-            this.$http.get('/dust/exceptiontype').then(response=>{   
-                this.exceptionType = response.data.data
-            })
-        }
-     }
+    handleCheckedExceptionChange(value) {
+      const checkedCount = value.length
+      this.checkAll = checkedCount === this.exceptionType.length
+      this.isIndeterminate = checkedCount > 0 && checkedCount < this.exceptionType.length
+      this.$emit('submitValue', this.checkedList)
+    }
+  }
 }
 </script>
 
 <template>
   <div class="excption">
-    <span class="exception-text">寮傚父绫诲瀷锛�</span>
-    <el-checkbox-group  v-model="checkedList"  @change="$emit('submitValue',checkedList)">
-    <el-checkbox :label="item.exceptionType"  v-for="item in exceptionType" :key="item">
-      <template #default>
-        <span v-if="item.exceptionType == '0'">鏂數鎴栨柇缃�</span>
-        <span v-else-if="item.exceptionType == '1'">鏁版嵁瓒呬綆</span>
-        <span v-else-if="item.exceptionType == '2'">瓒呮爣</span>
-        <span v-else-if="item.exceptionType == '3'">鏁版嵁闀挎椂娈垫棤娉㈠姩</span>
-        <span v-else-if="item.exceptionType == '4'">閲忕骇绐佸彉寮傚父</span>
-        <span v-else-if="item.exceptionType == '5'">涓磋繎瓒呮爣寮傚父</span>
-        <span v-else-if="item.exceptionType == '6'">鍗曟棩瓒呮爣娆℃暟涓寸晫寮傚父</span>
-        <span v-else-if="item.exceptionType == '7'">婊戝姩骞冲潎鍊肩獊鍙�</span>
-      </template>
-    </el-checkbox>
-  </el-checkbox-group>
+    <h1 class="exception-text">寮傚父绫诲瀷锛�</h1>
+    <el-checkbox
+      v-model="checkAll"
+      :indeterminate="isIndeterminate"
+      @change="handleCheckAllChange"
+      class="select-text"
+     :disabled="isDisabled"
+      >鍏ㄩ��</el-checkbox
+    >
+    <el-checkbox-group v-model="checkedList" @change="handleCheckedExceptionChange" :disabled="isDisabled">
+      <el-checkbox :label="item" v-for="item in exceptionType" :key="item"  >
+        <template #default>
+          <!-- <div style="display: flex; flex-flow: row wrap;">  -->
+          <span v-if="item == '0'">鏁版嵁缂哄け</span>
+          <span v-else-if="item == '1'">鏁版嵁瓒呬綆</span>
+          <span v-else-if="item == '2'">瓒呮爣</span>
+          <span v-else-if="item == '3'">鏁版嵁闀挎椂娈垫棤娉㈠姩</span>
+          <span v-else-if="item == '4'">閲忕骇绐佸彉寮傚父</span>
+          <span v-else-if="item == '5'">涓磋繎瓒呮爣寮傚父</span>
+          <span v-else-if="item == '6'">鍗曟棩瓒呮爣娆℃暟涓寸晫寮傚父</span>
+          <span v-else-if="item == '7'">鍙樺寲瓒嬪娍寮傚父</span>
+          <span v-else-if="item == '8'">鏈夋晥鐜囧紓甯�</span>
+          <!-- </div> -->
+        </template>
+      </el-checkbox>
+    </el-checkbox-group>
   </div>
 </template>
 
 <style lang="scss" scoped>
 .excption {
-    display: flex;  
+  display: flex;
 }
 .exception-text {
-  font-weight: bold;
+  font-size: 14px;
+  color: #333333;
   margin-top: 5px;
-    margin-right: 7px;
+  margin-right: 7px;
 }
 .el-checkbox-group {
   margin-top: 5px;
 }
-</style>
\ No newline at end of file
+.select-text {
+  margin-top: 5px;
+  margin-right: 5px;
+}
+</style>

--
Gitblit v1.9.3