From ccc970e575ef3f3e5c67af8da210263f4ac549f9 Mon Sep 17 00:00:00 2001
From: feiyu02 <risaku@163.com>
Date: 星期五, 10 四月 2026 16:44:55 +0800
Subject: [PATCH] 2026.4.10

---
 src/views/monitor/DataException.vue |  577 ++++++++++++++++++++++++++++++++-------------------------
 1 files changed, 327 insertions(+), 250 deletions(-)

diff --git a/src/views/monitor/DataException.vue b/src/views/monitor/DataException.vue
index b678d8a..ebcddaf 100644
--- a/src/views/monitor/DataException.vue
+++ b/src/views/monitor/DataException.vue
@@ -2,264 +2,281 @@
   <div class="data-exception-container">
     <!-- 鎼滅储鍖哄煙 -->
     <div ref="h1" class="search-container">
-      <!-- <div class="search-header">
-        <h3>鏌ヨ琛ㄦ牸</h3>
-      </div> -->
-      <el-row>
-        <div class="search-form">
-          <div class="form-row">
-            <div class="form-item">
-              <span class="form-label">搴楅摵璁惧锛�</span>
-              <ShopNameAndID @submit-id="(n) => (deviceId[1] = n)"></ShopNameAndID>
-            </div>
-            <div class="form-item">
-              <ExceptionType @submitExceptionType="(val) => (exceptionValue = val)">
-              </ExceptionType>
-            </div>
-          </div>
-          <div class="form-row">
-            <div class="form-item full-width">
-              <TimeSelect @submit-time="giveTime" :useNewStyle="true"></TimeSelect>
-            </div>
-          </div>
-        </div>
-        <div class="form-actions">
-          <el-button type="primary" :loading="button.queryButton" @click="showTable"
-            >鏌ヨ</el-button
-          >
-          <el-tooltip
-            class="box-item"
-            effect="dark"
-            content="鐐瑰嚮鍙鍑篍xcel鏂囦欢"
-            placement="top-start"
-          >
-            <el-icon class="iconExcel clickable" title="瀵煎嚭Excel鏂囦欢" @click="exportDom">
-              <i-ep-Download />
-            </el-icon>
-          </el-tooltip>
-        </div>
-      </el-row>
-      <div class="summary-info">
-        <span>{{ beginTime }} 鈥斺�� {{ endTime }} 娌圭儫鐩戞祴寮傚父淇℃伅姹囨��</span>
-      </div>
-    </div>
-
-    <!-- 寮傚父鍒嗘瀽 -->
-    <div class="analysis-container">
-      <el-collapse v-model="activeNames">
+      <el-collapse v-model="activeSearchNames" @change="handleSearchCollapseChange">
         <el-collapse-item name="1">
           <template #title>
-            <div class="collapse-title">
-              <h4 class="collapse-header">寮傚父鍒嗘瀽</h4>
-              <el-icon class="header-icon">
-                <i-ep-info-filled />
-              </el-icon>
+            <div class="search-header">
+              <h3>棰勮鑼冨洿</h3>
+              <span v-if="!isSearchExpanded" class="search-summary">
+                {{ getSearchSummary() }}
+              </span>
             </div>
           </template>
-          <el-card class="analysis-card">
-            <el-row :gutter="24">
-              <el-col :span="8">
-                <div class="analysis-item">
-                  <div class="item-header">
-                    <img src="@/assets/exceed.jpg" class="item-icon" />
-                    <span class="item-title">娌圭儫娴撳害瓒呮爣</span>
-                  </div>
-                  <div class="item-content">
-                    <div class="item-stats">
-                      <span class="stats-label">寮傚父搴楅摵鍗犳瘮锛�</span>
-                      <span class="stats-value">{{ exception0.length }} /{{ shopsTotal }}</span>
-                      <span class="stats-percent"
-                        >({{ ((exception0.length / shopsTotal) * 100).toFixed(1) }}%)</span
-                      >
-                    </div>
-                    <div class="item-percent">
-                      寮傚父鏁板崰姣旓細{{ ((exception0Num / exceptionAllNum) * 100).toFixed(1) }}%
-                    </div>
-                  </div>
-                  <hr class="item-divider" />
-                  <div class="item-shops">
-                    <el-scrollbar max-height="80px">
-                      <ExceptionText
-                        v-for="(item, index) in exception0"
-                        :key="item"
-                        :devId="item.devId"
-                        exception-value="0"
-                        :begin-time="beginTime"
-                        :end-time="endTime"
-                        @submit-exception-data="getAbnormalDataByClick"
-                      >
-                        {{ item.diName }}
-                        <span v-if="index < exception0.length - 1" class="text-blank">,</span>
-                      </ExceptionText>
-                    </el-scrollbar>
-                  </div>
+          <el-row>
+            <div class="search-form">
+              <div class="form-row">
+                <div class="form-item">
+                  <span class="form-label">搴楅摵璁惧锛�</span>
+                  <ShopNameAndID @submit-id="(n) => (deviceId[1] = n)"></ShopNameAndID>
                 </div>
-              </el-col>
-              <el-col :span="8">
-                <div class="analysis-item">
-                  <div class="item-header">
-                    <img src="@/assets/exception.jpg" class="item-icon" />
-                    <span class="item-title">渚涚數寮傚父</span>
-                  </div>
-                  <div class="item-content">
-                    <div class="item-stats">
-                      <span class="stats-label">寮傚父搴楅摵鍗犳瘮锛�</span>
-                      <span class="stats-value">{{ exception1.length }} /{{ shopsTotal }}</span>
-                      <span class="stats-percent"
-                        >({{ ((exception1.length / shopsTotal) * 100).toFixed(1) }}%)</span
-                      >
-                    </div>
-                    <div class="item-percent">
-                      寮傚父鏁板崰姣旓細{{ ((exception1Num / exceptionAllNum) * 100).toFixed(1) }}%
-                    </div>
-                  </div>
-                  <hr class="item-divider" />
-                  <div class="item-shops">
-                    <el-scrollbar max-height="80px">
-                      <ExceptionText
-                        v-for="(item, index) in exception1"
-                        :key="item"
-                        :devId="item.devId"
-                        exception-value="1"
-                        :begin-time="beginTime"
-                        :end-time="endTime"
-                        @submit-exception-data="getAbnormalDataByClick"
-                      >
-                        {{ item.diName }}
-                        <span v-if="index < exception1.length - 1" class="text-blank">,</span>
-                      </ExceptionText>
-                    </el-scrollbar>
-                  </div>
+                <div class="form-item">
+                  <ExceptionType @submitExceptionType="(val) => (exceptionValue = val)">
+                  </ExceptionType>
                 </div>
-              </el-col>
-              <el-col :span="8">
-                <div class="analysis-item">
-                  <div class="item-header">
-                    <img src="@/assets/offline.jpg" class="item-icon" />
-                    <span class="item-title">璁惧鎴栫綉缁滃紓甯�</span>
-                  </div>
-                  <div class="item-content">
-                    <div class="item-stats">
-                      <span class="stats-label">寮傚父搴楅摵鍗犳瘮锛�</span>
-                      <span class="stats-value">{{ exception2.length }} /{{ shopsTotal }}</span>
-                      <span class="stats-percent"
-                        >({{ ((exception2.length / shopsTotal) * 100).toFixed(1) }}%)</span
-                      >
-                    </div>
-                    <div class="item-percent">寮傚父鏁板崰姣旓細{{ connectException }}%</div>
-                  </div>
-                  <hr class="item-divider" />
-                  <div class="item-shops">
-                    <el-scrollbar max-height="80px">
-                      <ExceptionText
-                        v-for="(item, index) in exception2"
-                        :key="item"
-                        :devId="item.devId"
-                        exception-value="2"
-                        :begin-time="beginTime"
-                        :end-time="endTime"
-                        @submit-exception-data="getAbnormalDataByClick"
-                      >
-                        {{ item.diName }}
-                        <span v-if="index < exception2.length - 1" class="text-blank">,</span>
-                      </ExceptionText>
-                    </el-scrollbar>
-                  </div>
+              </div>
+              <div class="form-row">
+                <div class="form-item full-width">
+                  <TimeSelect @submit-time="giveTime" :useNewStyle="false"></TimeSelect>
                 </div>
-              </el-col>
-            </el-row>
-          </el-card>
+              </div>
+            </div>
+            <div class="form-actions">
+              <el-button type="primary" :loading="button.queryButton" @click="showTable"
+                >鏌ヨ</el-button
+              >
+              <el-tooltip
+                class="box-item"
+                effect="dark"
+                content="鐐瑰嚮鍙鍑篍xcel鏂囦欢"
+                placement="top-start"
+              >
+                <el-icon class="iconExcel clickable" title="瀵煎嚭Excel鏂囦欢" @click="exportDom">
+                  <i-ep-Download />
+                </el-icon>
+              </el-tooltip>
+            </div>
+          </el-row>
+          <div class="summary-info">
+            <span>{{ beginTime }} 鈥斺�� {{ endTime }} 娌圭儫鐩戞祴寮傚父淇℃伅姹囨��</span>
+          </div>
         </el-collapse-item>
       </el-collapse>
     </div>
 
+    <!-- 寮傚父鍒嗘瀽 -->
+    <div class="analysis-container">
+      <el-space>
+        <h4 class="collapse-header">鐩戞祴棰勮</h4>
+        <el-icon class="header-icon">
+          <i-ep-info-filled />
+        </el-icon>
+      </el-space>
+      <el-card class="analysis-card">
+        <el-row :gutter="24">
+          <el-col :span="8">
+            <div class="analysis-item">
+              <div class="item-header">
+                <img src="@/assets/exceed.jpg" class="item-icon" />
+                <span class="item-title">娌圭儫娴撳害瓒呮爣</span>
+              </div>
+              <div class="item-content">
+                <div class="item-stats">
+                  <span class="stats-label">寮傚父搴楅摵鍗犳瘮锛�</span>
+                  <span class="stats-value">{{ exception0.length }} /{{ shopsTotal }}</span>
+                  <span class="stats-percent"
+                    >({{ ((exception0.length / shopsTotal) * 100).toFixed(1) }}%)</span
+                  >
+                </div>
+                <div class="item-percent">
+                  寮傚父鏁板崰姣旓細{{ ((exception0Num / exceptionAllNum) * 100).toFixed(1) }}%
+                </div>
+              </div>
+              <hr class="item-divider" />
+              <div class="item-shops">
+                <el-scrollbar :height="scrollbarHeight">
+                  <el-space wrap>
+                    <ExceptionText
+                      v-for="(item, index) in exception0"
+                      :key="item"
+                      :devId="item.devId"
+                      exception-value="0"
+                      :begin-time="beginTime"
+                      :end-time="endTime"
+                      @submit-exception-data="getAbnormalDataByClick"
+                    >
+                      {{ item.diName }}
+                      <span v-if="index < exception0.length - 1" class="text-blank"></span>
+                    </ExceptionText>
+                  </el-space>
+                </el-scrollbar>
+              </div>
+            </div>
+          </el-col>
+          <el-col :span="8">
+            <div class="analysis-item">
+              <div class="item-header">
+                <img src="@/assets/exception.jpg" class="item-icon" />
+                <span class="item-title">渚涚數寮傚父</span>
+              </div>
+              <div class="item-content">
+                <div class="item-stats">
+                  <span class="stats-label">寮傚父搴楅摵鍗犳瘮锛�</span>
+                  <span class="stats-value">{{ exception1.length }} /{{ shopsTotal }}</span>
+                  <span class="stats-percent"
+                    >({{ ((exception1.length / shopsTotal) * 100).toFixed(1) }}%)</span
+                  >
+                </div>
+                <div class="item-percent">
+                  寮傚父鏁板崰姣旓細{{ ((exception1Num / exceptionAllNum) * 100).toFixed(1) }}%
+                </div>
+              </div>
+              <hr class="item-divider" />
+              <div class="item-shops">
+                <el-scrollbar :height="scrollbarHeight">
+                  <el-space wrap>
+                    <ExceptionText
+                      v-for="(item, index) in exception1"
+                      :key="item"
+                      :devId="item.devId"
+                      exception-value="1"
+                      :begin-time="beginTime"
+                      :end-time="endTime"
+                      @submit-exception-data="getAbnormalDataByClick"
+                    >
+                      {{ item.diName }}
+                      <span v-if="index < exception1.length - 1" class="text-blank"></span>
+                    </ExceptionText>
+                  </el-space>
+                </el-scrollbar>
+              </div>
+            </div>
+          </el-col>
+          <el-col :span="8">
+            <div class="analysis-item">
+              <div class="item-header">
+                <img src="@/assets/offline.jpg" class="item-icon" />
+                <span class="item-title">璁惧鎴栫綉缁滃紓甯�</span>
+              </div>
+              <div class="item-content">
+                <div class="item-stats">
+                  <span class="stats-label">寮傚父搴楅摵鍗犳瘮锛�</span>
+                  <span class="stats-value">{{ exception2.length }} /{{ shopsTotal }}</span>
+                  <span class="stats-percent"
+                    >({{ ((exception2.length / shopsTotal) * 100).toFixed(1) }}%)</span
+                  >
+                </div>
+                <div class="item-percent">寮傚父鏁板崰姣旓細{{ connectException }}%</div>
+              </div>
+              <hr class="item-divider" />
+              <div class="item-shops">
+                <el-scrollbar :height="scrollbarHeight">
+                  <el-space wrap>
+                    <ExceptionText
+                      v-for="(item, index) in exception2"
+                      :key="item"
+                      :devId="item.devId"
+                      exception-value="2"
+                      :begin-time="beginTime"
+                      :end-time="endTime"
+                      @submit-exception-data="getAbnormalDataByClick"
+                    >
+                      {{ item.diName }}
+                      <span v-if="index < exception2.length - 1" class="text-blank"></span>
+                    </ExceptionText>
+                  </el-space>
+                </el-scrollbar>
+              </div>
+            </div>
+          </el-col>
+        </el-row>
+      </el-card>
+    </div>
+
     <!-- 寮傚父鏁版嵁琛ㄦ牸 -->
     <div class="table-container">
-      <h4 class="table-title">寮傚父鏁版嵁</h4>
-      <el-card v-show="!isNoData">
-        <el-table
-          ref="tableH"
-          v-loading="loading"
-          :data="displayData"
-          style="width: 100%"
-          border
-          :height="tableHeight"
-          :cell-class-name="tableCellClassName"
-        >
-          <el-table-column prop="diName" label="搴楅摵鍚嶇О" align="center">
-            <template #default="{ row }">
-              <el-tooltip effect="dark" :content="row.diName">
-                <div class="cell ellipsis">{{ row.diName }}</div>
-              </el-tooltip>
-            </template>
-          </el-table-column>
-          <el-table-column prop="devId" label="璁惧缂栧彿" align="center">
-            <template #default="{ row }">
-              <el-tooltip effect="dark" :content="row.devId">
-                <div class="cell ellipsis">{{ row.devId }}</div>
-              </el-tooltip>
-            </template>
-          </el-table-column>
-          <el-table-column prop="diSupplier" label="渚涘簲鍟�" align="center">
-            <template #default="{ row }">
-              <el-tooltip effect="dark" :content="row.diSupplier">
-                <div class="cell ellipsis">{{ row.diSupplier }}</div>
-              </el-tooltip>
-            </template>
-          </el-table-column>
-          <el-table-column prop="exception" label="寮傚父鍒嗙被" align="center">
-            <template #default="{ row }">
-              <el-tooltip effect="dark" :content="row.exception">
-                <div class="cell ellipsis">{{ row.exception }}</div>
-              </el-tooltip>
-            </template>
-          </el-table-column>
-          <el-table-column label="寮傚父绫诲瀷" align="center">
-            <template #default="{ row }">
-              <span v-if="row.exceptionType == '0'">娌圭儫鏁版嵁瓒呮爣</span>
-              <span v-else-if="row.exceptionType == '1'">鐤戜技渚涚數寮傚父</span>
-              <span v-else-if="row.exceptionType == '2'">鎺夌嚎</span>
-            </template>
-          </el-table-column>
-          <el-table-column prop="region" label="鍦板尯" align="center">
-            <template #default="{ row }">
-              <el-tooltip effect="dark" :content="row.region">
-                <div class="cell ellipsis">{{ row.region }}</div>
-              </el-tooltip>
-            </template>
-          </el-table-column>
-          <el-table-column prop="beginTime" label="寮�濮嬫椂闂�" align="center">
-            <template #default="{ row }">
-              <el-tooltip effect="dark" :content="row.beginTime">
-                <div class="cell ellipsis">{{ row.beginTime }}</div>
-              </el-tooltip>
-            </template>
-          </el-table-column>
-          <el-table-column prop="endTime" label="缁撴潫鏃堕棿" align="center">
-            <template #default="{ row }">
-              <el-tooltip effect="dark" :content="row.endTime">
-                <div class="cell ellipsis">{{ row.endTime }}</div>
-              </el-tooltip>
-            </template>
-          </el-table-column>
-          <el-table-column label="鎿嶄綔" align="center" width="120">
-            <template #default="{ row }">
-              <el-button type="primary" size="small" @click="showDrawer(row)">鏌ョ湅</el-button>
-            </template>
-          </el-table-column>
-        </el-table>
-        <div class="pagination-container">
-          <el-pagination
-            ref="h4"
-            @size-change="handleSizeChange"
-            @current-change="handleCurrentChange"
-            :total="total"
-            :page-size="pageSize"
-            layout="total, prev, pager, next, jumper"
-          />
-        </div>
-      </el-card>
-      <el-empty v-show="isNoData" :image-size="200" />
+      <el-collapse v-model="activeNames">
+        <el-collapse-item name="1">
+          <template #title>
+            <div class="collapse-title">
+              <h4 class="table-title">棰勮璁板綍</h4>
+            </div>
+          </template>
+          <el-card v-show="!isNoData">
+            <el-table
+              ref="tableH"
+              v-loading="loading"
+              :data="displayData"
+              style="width: 100%"
+              border
+              :cell-class-name="tableCellClassName"
+              :show-overflow-tooltip="true"
+            >
+              <el-table-column prop="diName" label="搴楅摵鍚嶇О" align="center">
+                <!-- <template #default="{ row }">
+                  <el-tooltip effect="dark" :content="row.diName">
+                    <div class="cell ellipsis">{{ row.diName }}</div>
+                  </el-tooltip>
+                </template> -->
+              </el-table-column>
+              <el-table-column prop="devId" label="璁惧缂栧彿" align="center">
+                <!-- <template #default="{ row }">
+                  <el-tooltip effect="dark" :content="row.devId">
+                    <div class="cell ellipsis">{{ row.devId }}</div>
+                  </el-tooltip>
+                </template> -->
+              </el-table-column>
+              <el-table-column prop="diSupplier" label="渚涘簲鍟�" align="center">
+                <!-- <template #default="{ row }">
+                  <el-tooltip effect="dark" :content="row.diSupplier">
+                    <div class="cell ellipsis">{{ row.diSupplier }}</div>
+                  </el-tooltip>
+                </template> -->
+              </el-table-column>
+              <el-table-column prop="exception" label="寮傚父鍒嗙被" align="center" width="90">
+                <!-- <template #default="{ row }">
+                  <el-tooltip effect="dark" :content="row.exception">
+                    <div class="cell ellipsis">{{ row.exception }}</div>
+                  </el-tooltip>
+                </template> -->
+              </el-table-column>
+              <el-table-column label="寮傚父绫诲瀷" align="center" width="120">
+                <template #default="{ row }">
+                  <span v-if="row.exceptionType == '0'">娌圭儫鏁版嵁瓒呮爣</span>
+                  <span v-else-if="row.exceptionType == '1'">鐤戜技渚涚數寮傚父</span>
+                  <span v-else-if="row.exceptionType == '2'">鎺夌嚎</span>
+                </template>
+              </el-table-column>
+              <el-table-column prop="region" label="鍦板尯" align="center" width="80">
+                <!-- <template #default="{ row }">
+                  <el-tooltip effect="dark" :content="row.region">
+                    <div class="cell ellipsis">{{ row.region }}</div>
+                  </el-tooltip>
+                </template> -->
+              </el-table-column>
+              <el-table-column prop="beginTime" label="寮�濮嬫椂闂�" align="center">
+                <!-- <template #default="{ row }">
+                  <el-tooltip effect="dark" :content="row.beginTime">
+                    <div class="cell ellipsis">{{ row.beginTime }}</div>
+                  </el-tooltip>
+                </template> -->
+              </el-table-column>
+              <el-table-column prop="endTime" label="缁撴潫鏃堕棿" align="center">
+                <!-- <template #default="{ row }">
+                  <el-tooltip effect="dark" :content="row.endTime">
+                    <div class="cell ellipsis">{{ row.endTime }}</div>
+                  </el-tooltip>
+                </template> -->
+              </el-table-column>
+              <el-table-column label="鎿嶄綔" align="center" width="120">
+                <template #default="{ row }">
+                  <el-button type="primary" size="small" @click="showDrawer(row)">鏌ョ湅</el-button>
+                </template>
+              </el-table-column>
+            </el-table>
+            <div class="pagination-container">
+              <el-pagination
+                ref="h4"
+                @size-change="handleSizeChange"
+                @current-change="handleCurrentChange"
+                :total="total"
+                :page-size="pageSize"
+                layout="total, prev, pager, next, jumper"
+              />
+            </div>
+          </el-card>
+          <el-empty v-show="isNoData" :image-size="200" />
+        </el-collapse-item>
+      </el-collapse>
     </div>
 
     <!-- 瀵硅瘽妗� -->
@@ -448,7 +465,11 @@
       selectedRowIndex: -1,
 
       // 榛樿閫夋嫨鐨勬姌鍙犻潰鏉跨紪鍙�
-      activeNames: ['1'],
+      activeNames: [],
+      // 鎼滅储鍖哄煙鎶樺彔鐘舵��
+      activeSearchNames: [],
+      // 鎼滅储鍖哄煙鏄惁灞曞紑
+      isSearchExpanded: false,
       // 寮傚父鏃剁殑琛ㄦ牸
       abnormalTb: [],
       // 寮傚父鐨勮捣姝㈡椂闂�
@@ -462,6 +483,8 @@
       exception1: [],
       // 淇濆瓨鐫�寮傚父绫诲瀷2瀵瑰簲鐨勫簵閾哄悕绉板拰璁惧缂栧彿
       exception2: [],
+      // 寮傚父搴楅摵婊氬姩鍖哄煙楂樺害
+      scrollbarHeight: 250,
       // 鍔犺浇鍔ㄧ敾
       loading: false,
       // 鎶藉眽鍔犺浇鍔ㄧ敾
@@ -534,7 +557,6 @@
         this.isNextCantouch = false
       }
     },
-
     // 褰撻�夋嫨鐨勬椂闂村彂鐢熷彉鍖栨椂锛屽紓甯稿垎鏋愰儴鍒嗙殑寮傚父搴楅摵鏁伴噺鍚屾鍙樺寲
     beginTime() {
       this.getShopNames()
@@ -573,8 +595,39 @@
     window.addEventListener('resize', this.updateChart)
   },
   methods: {
+    // 澶勭悊鎼滅储鍖哄煙鎶樺彔鍙樺寲
+    handleSearchCollapseChange(val) {
+      this.isSearchExpanded = val.length > 0
+    },
+    // 鑾峰彇鎼滅储鏉′欢鎽樿
+    getSearchSummary() {
+      let summary =
+        '鏃堕棿: ' +
+        (this.beginTime ? this.beginTime.substring(0, 10) : '鍏ㄩ儴') +
+        ' 鑷� ' +
+        (this.endTime ? this.endTime.substring(0, 10) : '鍏ㄩ儴')
+      summary +=
+        ' | 搴楅摵: ' +
+        (this.deviceId[1]
+          ? this.deviceInfo.find((item) => item.diCode === this.deviceId[1])?.diName || '宸查�夋嫨'
+          : '鍏ㄩ儴')
+      if (this.exceptionValue && this.exceptionValue.length > 0) {
+        const exceptionTypes = {
+          0: '娌圭儫娴撳害瓒呮爣',
+          1: '渚涚數寮傚父',
+          2: '璁惧鎴栫綉缁滃紓甯�',
+        }
+        const selectedTypes = this.exceptionValue
+          .map((val) => exceptionTypes[val] || val)
+          .join(', ')
+        summary += ' | 寮傚父绫诲瀷: ' + selectedTypes
+      } else {
+        summary += ' | 寮傚父绫诲瀷: 鍏ㄩ儴'
+      }
+      return summary
+    },
     // 鍔熻兘锛氬璇濇琛ㄦ牸搴忓彿閫掑
-    // 鏃堕棿锛�2023-8-17
+    // 鏃堕棿锛�2025-8-17
     indexMethod(index) {
       return index + 1
     },
@@ -886,6 +939,9 @@
         // 绉婚櫎绌烘暟鎹姸鎬�
         this.isNoData = false
         this.handleCurrentChange(1)
+        // 鐐瑰嚮鏌ヨ鍚庢姌鍙犳悳绱㈠尯鍩�
+        this.activeSearchNames = []
+        this.isSearchExpanded = false
       })
     },
     handleSizeChange(val) {
@@ -1391,6 +1447,15 @@
       this.total = this.abnormalData.length
       // 榛樿鏄剧ず绗竴椤�
       this.handleCurrentChange(1)
+      this.activeNames = ['1']
+      // 婊氬姩鍒板紓甯告暟鎹〃鏍间綅缃�
+      this.$nextTick(() => {
+        if (this.$refs.tableH) {
+          setTimeout(() => {
+            this.$refs.tableH.$el.scrollIntoView({ behavior: 'smooth' })
+          }, 200)
+        }
+      })
     },
 
     // 鏍规嵁寮傚父绫诲瀷杩斿洖搴楅摵鍚嶇О鍜岃澶囩紪鍙�
@@ -1509,7 +1574,10 @@
 }
 
 .search-header {
-  margin-bottom: 20px;
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+  width: 100%;
 }
 
 .search-header h3 {
@@ -1517,6 +1585,16 @@
   font-size: 16px;
   font-weight: 600;
   color: #333;
+}
+
+.search-summary {
+  font-size: 14px;
+  color: #666;
+  flex: 1;
+  margin-left: 20px;
+  white-space: nowrap;
+  overflow: hidden;
+  text-overflow: ellipsis;
 }
 
 .search-form {
@@ -1596,7 +1674,6 @@
 }
 
 .analysis-item {
-  height: 180px;
   display: flex;
   flex-direction: column;
 }

--
Gitblit v1.9.3