From 792403d97b0b0e06b9faba5c18c4886bf9f7586b Mon Sep 17 00:00:00 2001
From: 张含笑 <zhx18749296735@163.com>
Date: Wed, 21 Jan 2026 15:48:47 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 applications/drone-command/src/views/detectionCountermeasure/taskSchedule/FormDiaLog.vue |   89 ++++++++++++++++++++++++++------------------
 1 files changed, 53 insertions(+), 36 deletions(-)

diff --git a/applications/drone-command/src/views/detectionCountermeasure/taskSchedule/FormDiaLog.vue b/applications/drone-command/src/views/detectionCountermeasure/taskSchedule/FormDiaLog.vue
index 1fcc76a..df25975 100644
--- a/applications/drone-command/src/views/detectionCountermeasure/taskSchedule/FormDiaLog.vue
+++ b/applications/drone-command/src/views/detectionCountermeasure/taskSchedule/FormDiaLog.vue
@@ -12,12 +12,12 @@
 					<div class="val">{{ formData.deviceSn }}</div>
 				</el-col>
 				<el-col :span="12">
-					<div class="label">场景</div>
-					<div class="val">{{ formData.defenseSceneName }}</div>
-				</el-col>
-				<el-col :span="12">
 					<div class="label">区域</div>
 					<div class="val">{{ formData.areaDivideName }}</div>
+				</el-col>
+				<el-col :span="12">
+					<div class="label">场景</div>
+					<div class="val">{{ formData.defenseSceneName }}</div>
 				</el-col>
 				<el-col :span="12">
 					<div class="label">调度人员</div>
@@ -71,39 +71,30 @@
 						</el-select>
 					</el-form-item>
 				</el-col>
-				<el-col :span="12">
-					<el-form-item label="场景" prop="defenseSceneId">
-						<el-select class="command-select" popper-class="command-select-popper"
-							v-model="formData.defenseSceneId" placeholder="请选择" clearable @change="handleSceneChange">
-							<el-option v-for="item in sceneList" :key="item.id" :label="item.sceneName"
-								:value="item.id" />
-						</el-select>
-					</el-form-item>
-				</el-col>
+
 				<el-col :span="12">
 					<el-form-item label="区域" prop="areaDivideId">
 						<el-select class="command-select" popper-class="command-select-popper"
-							v-model="formData.areaDivideId" placeholder="请先选择场景" clearable
-							:disabled="!formData.defenseSceneId" @change="handleAreaChange">
+							v-model="formData.areaDivideId" placeholder="请选择" clearable
+							 @change="handleAreaChange">
 							<el-option v-for="item in areaList" :key="item.id" :label="item.areaName"
 								:value="item.id" />
 						</el-select>
 					</el-form-item>
 				</el-col>
+
 				<el-col :span="12">
-					<el-form-item label="调度人员" prop="dispatchUser">
-						<el-input class="command-input" v-model="formData.dispatchUser" maxlength="50" placeholder="请输入"
-							clearable />
+					<el-form-item label="场景" prop="defenseSceneId">
+						<el-select class="command-select" popper-class="command-select-popper"
+							v-model="formData.defenseSceneId" placeholder="请先选择区域" clearable
+							:disabled="!formData.areaDivideId" @change="handleSceneChange">
+							<el-option v-for="item in sceneList" :key="item.id" :label="item.sceneName"
+								:value="item.id" />
+						</el-select>
 					</el-form-item>
 				</el-col>
+
 				<el-col :span="12">
-					<el-form-item label="调度日期" prop="dispatchDateRange">
-						<el-date-picker class="command-date-picker" popper-class="command-date-picker-popper"
-							v-model="formData.dispatchDateRange" type="datetimerange" range-separator="至"
-							start-placeholder="开始日期" end-placeholder="结束日期" value-format="YYYY-MM-DD HH:mm:ss" />
-					</el-form-item>
-				</el-col>
-				<el-col :span="24">
 					<el-form-item label="调度位置" prop="longitude">
 						<!--						<el-button @click="selectLocation" style="width: 100%">-->
 						<el-button style="width: 100%">
@@ -114,6 +105,21 @@
 						</el-button>
 					</el-form-item>
 				</el-col>
+
+				<el-col :span="12">
+					<el-form-item label="调度人员" prop="dispatchUser">
+						<el-input class="command-input" v-model="formData.dispatchUser" maxlength="50" placeholder="请输入"
+							clearable />
+					</el-form-item>
+				</el-col>
+				<el-col :span="12">
+					<el-form-item label="调度日期" prop="dispatchDateRange">
+						<el-date-picker class="command-date-picker" popper-class="command-date-picker-popper"
+							v-model="formData.dispatchDateRange" type="daterange" range-separator="至"
+							start-placeholder="开始日期" end-placeholder="结束日期" value-format="YYYY-MM-DD HH:mm:ss" />
+					</el-form-item>
+				</el-col>
+				
 				<el-col :span="24">
 					<el-form-item label="调度内容" prop="dispatchContent">
 						<el-input class="command-input" v-model="formData.dispatchContent" type="textarea" :rows="3"
@@ -158,6 +164,7 @@
 import { ElMessage } from 'element-plus'
 import { fwTaskScheduleDetailApi, fwTaskScheduleSubmitApi } from './taskScheduleApi'
 import { fwAreaDivideListApi } from '@/views/areaManage/partition/partitionApi'
+import { fwDefenseSceneListApi } from '@/views/areaManage/sceneConfig/sceneConfigApi'
 import { fieldRules } from '@ztzf/utils'
 import { PublicCesium } from '@/utils/cesium/publicCesium'
 import * as Cesium from 'cesium'
@@ -186,7 +193,6 @@
 })
 
 const props = defineProps({
-	sceneList: { type: Array, default: () => [] },
 	deviceList: { type: Array, default: () => [] },
 })
 
@@ -203,6 +209,7 @@
 const titleEnum = ref({ edit: '编辑', view: '查看', add: '新增' })
 const tempLocation = ref({ longitude: null, latitude: null })
 const areaList = ref([]) // 区域列表
+const sceneList = ref([]) // 场景列表
 const deviceStatus = ref('')
 
 const rules = {
@@ -229,26 +236,32 @@
 	}
 }
 
-// 场景选择变化处理
-async function handleSceneChange (sceneId) {
-	formData.value.areaDivideId = ''
-	if (sceneId) {
-		await loadAreaList(sceneId)
+async function handleAreaChange (areaId) {
+	formData.value.defenseSceneId = ''
+	if (areaId) {
+		await loadSceneList(areaId)
 	} else {
-		areaList.value = []
+		sceneList.value = []
 	}
 }
 
-function handleAreaChange (areaId) {
-	const find = areaList.value.find(item => item.id === areaId)
+// 场景选择变化处理
+async function handleSceneChange (sceneId) {
+	const find = sceneList.value.find(item => item.id === sceneId)
 	formData.value.longitude = find?.longitude
 	formData.value.latitude = find?.latitude
 }
 
 // 加载区域列表
-async function loadAreaList (sceneId) {
-	const res = await fwAreaDivideListApi({ sceneId })
+async function loadAreaList () {
+	const res = await fwAreaDivideListApi()
 	areaList.value = res?.data?.data ?? []
+}
+
+// 加载场景列表
+async function loadSceneList(areaId) {
+	const res = await fwDefenseSceneListApi({areaId})
+	sceneList.value = res?.data?.data ?? []
 }
 
 // 关闭弹框
@@ -385,6 +398,10 @@
 }
 
 defineExpose({ open })
+
+onMounted(() => {
+	loadAreaList()
+})
 </script>
 <style scoped lang="scss">
 #mapContainer {

--
Gitblit v1.9.3