From c00b60838d5cd71c45e5c0884adeb3c64a878d7d Mon Sep 17 00:00:00 2001
From: chenyao <1219716595@qq.com>
Date: Tue, 03 Feb 2026 17:18:17 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

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

diff --git a/applications/drone-command/src/views/areaManage/sceneConfig/FormDiaLog.vue b/applications/drone-command/src/views/areaManage/sceneConfig/FormDiaLog.vue
index a7dc186..f11d973 100644
--- a/applications/drone-command/src/views/areaManage/sceneConfig/FormDiaLog.vue
+++ b/applications/drone-command/src/views/areaManage/sceneConfig/FormDiaLog.vue
@@ -50,6 +50,20 @@
 							</el-table>
 						</div>
 					</div>
+					<div class="detail-title">设备列表</div>
+					<div class="command-table-container">
+						<div class="command-table-content">
+							<el-table
+								class="command-table"
+								:data="deviceList"
+								:loading="deviceLoading"
+								row-key="id"
+							>
+								<el-table-column prop="deviceName" show-overflow-tooltip label="设备名称" />
+								<el-table-column prop="deviceType" show-overflow-tooltip label="设备类型" />
+							</el-table>
+						</div>
+					</div>
 				</div>
 
 				<el-form
@@ -128,6 +142,21 @@
 							</el-table>
 						</el-form-item>
 					</div>
+
+					<div class="detail-title">设备列表</div>
+					<div class="command-table-container">
+						<div class="command-table-content">
+							<el-table
+								class="command-table"
+								:data="deviceList"
+								:loading="deviceLoading"
+								row-key="id"
+							>
+								<el-table-column prop="deviceName" show-overflow-tooltip label="设备名称" />
+								<el-table-column prop="deviceType" show-overflow-tooltip label="设备类型" />
+							</el-table>
+						</div>
+					</div>
 				</el-form>
 
 				<div class="footer">
@@ -160,6 +189,7 @@
 import CommonCesiumMap from '@/components/map-container/common-cesium-map.vue'
 import * as Cesium from 'cesium'
 import { fwAreaDivideDetailApi, fwAreaDivideListApi } from '../partition/partitionApi'
+import { fwDeviceListApi } from '@/views/basicManage/deviceStock/fwDevice'
 import {
 	addBufferRadiusLabelEntity,
 	buildEllipsePositions,
@@ -189,6 +219,8 @@
 const searchName = ref('')
 const areaList = ref([]) // 关联区域列表
 const selectedAreaRows = ref([]) //选中列表
+const deviceList = ref([]) // 设备列表
+const deviceLoading = ref(false)
 const dictObj = inject('dictObj')
 const mapRef = ref(null)
 const route = useRoute()
@@ -242,6 +274,20 @@
 	if (areaList.value.length) return
 	const res = await fwAreaDivideListApi({ filterSelected: 1, sceneId: formData.value.id })
 	areaList.value = res?.data?.data ?? []
+}
+
+async function loadDeviceListByAreaIds(areaIdsKey) {
+	if (!areaIdsKey) {
+		deviceList.value = []
+		return
+	}
+	deviceLoading.value = true
+	try {
+		const res = await fwDeviceListApi({ areaIds: areaIdsKey })
+		deviceList.value = res?.data?.data ?? []
+	} finally {
+		deviceLoading.value = false
+	}
 }
 
 // 关联区域变更
@@ -514,6 +560,15 @@
 }
 
 watch(() => selectedAreaRows.value, renderSelectedAreas)
+const deviceAreaIdsKey = computed(() =>
+	selectedAreaRows.value.map(item => item?.id).filter(Boolean).join(',')
+)
+watch(
+	() => deviceAreaIdsKey.value,
+	val => {
+		loadDeviceListByAreaIds(val)
+	}
+)
 watch(
 	() => visible.value,
 	val => {

--
Gitblit v1.9.3