From b7c8eeabe7f6b703a5f4468e64dfe36736222df5 Mon Sep 17 00:00:00 2001
From: 罗广辉 <guanghui.luo@foxmail.com>
Date: Wed, 14 Jan 2026 10:07:48 +0800
Subject: [PATCH] feat: 带筛选

---
 applications/drone-command/src/views/areaManage/sceneConfig/FormDiaLog.vue |   43 ++++++++++++++++++++++++++-----------------
 1 files changed, 26 insertions(+), 17 deletions(-)

diff --git a/applications/drone-command/src/views/areaManage/sceneConfig/FormDiaLog.vue b/applications/drone-command/src/views/areaManage/sceneConfig/FormDiaLog.vue
index 8d6b6ac..cc8f386 100644
--- a/applications/drone-command/src/views/areaManage/sceneConfig/FormDiaLog.vue
+++ b/applications/drone-command/src/views/areaManage/sceneConfig/FormDiaLog.vue
@@ -72,22 +72,29 @@
 							</el-form-item>
 						</el-col>
 						<el-col :span="24">
-							<el-form-item label="关联区域" prop="areaDivideIds">
-								<el-table
-									ref="areaTableRef"
-									:data="areaList"
-									row-key="id"
-									@selection-change="handleAreaSelectionChange"
-								>
-									<el-table-column type="selection" width="55" />
-									<el-table-column prop="areaName" label="区域名称" />
-									<el-table-column prop="areaType" label="区域类型">
-										<template v-slot="{ row }">
-											{{ getDictLabel(row.areaType, dictObj.areaType) }}
-										</template>
-									</el-table-column>
-								</el-table>
-							</el-form-item>
+							<div>
+								<div>
+									关联区域
+									<el-input v-model="searchName" placeholder="请输入" clearable></el-input>
+								</div>
+
+								<el-form-item prop="areaDivideIds" label-width="0">
+									<el-table
+										ref="areaTableRef"
+										:data="areaList.filter(item => item.areaName.includes(searchName))"
+										row-key="id"
+										@selection-change="handleAreaSelectionChange"
+									>
+										<el-table-column type="selection" width="55" :reserve-selection="true" />
+										<el-table-column prop="areaName" label="区域名称" />
+										<el-table-column prop="areaType" label="区域类型">
+											<template v-slot="{ row }">
+												{{ getDictLabel(row.areaType, dictObj.areaType) }}
+											</template>
+										</el-table-column>
+									</el-table>
+								</el-form-item>
+							</div>
 						</el-col>
 					</el-row>
 				</el-form>
@@ -134,6 +141,7 @@
 const readonly = computed(() => dialogMode.value === 'view')
 const titleEnum = ref({ edit: '编辑', view: '查看', add: '新增' })
 const areaTableRef = ref(null)
+const searchName = ref('')
 const areaList = ref([]) // 关联区域列表
 const selectedAreaRows = ref([]) //选中列表
 const dictObj = inject('dictObj')
@@ -229,8 +237,9 @@
 	if (!areaTableRef.value) return
 	areaTableRef.value.clearSelection()
 	const rows = []
+	const arr = formData.value.areaDivideIds.split(',')
 	areaList.value.forEach(row => {
-		if (formData.value.areaDivideIds.includes(row.id)) {
+		if (arr.includes(row.id)) {
 			areaTableRef.value.toggleRowSelection(row, true)
 			rows.push(row)
 		}

--
Gitblit v1.9.3