From 8c450d784fe7bab2b27e3345ef9263e9f295ecaa Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Fri, 30 Jan 2026 10:38:40 +0800
Subject: [PATCH] feat:数据驾驶舱地图渲染及区域划分、场景配置部分逻辑公用

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

diff --git a/applications/drone-command/src/views/areaManage/sceneConfig/FormDiaLog.vue b/applications/drone-command/src/views/areaManage/sceneConfig/FormDiaLog.vue
index 16ca5b4..63d49aa 100644
--- a/applications/drone-command/src/views/areaManage/sceneConfig/FormDiaLog.vue
+++ b/applications/drone-command/src/views/areaManage/sceneConfig/FormDiaLog.vue
@@ -162,6 +162,7 @@
 import { buildEllipsePositions } from '@/utils/cesium/shapeTools'
 import { saveOperationLog } from '@ztzf/apis'
 import { useRoute } from 'vue-router'
+import { AREA_TYPE_STYLE_MAP, BUFFER_LEVEL_STYLES, DEFAULT_AREA_STYLE } from '@ztzf/constants'
 
 const initForm = () => ({
 	sceneName: '', // 场景名称
@@ -188,20 +189,6 @@
 const route = useRoute()
 let viewer
 let areaDisplaySource
-const areaTypeStyleMap = {
-	'1': {
-		fill: Cesium.Color.fromBytes(25, 178, 230, 128),
-		outline: Cesium.Color.fromBytes(0, 251, 255, 255),
-	},
-	'2': {
-		fill: Cesium.Color.fromBytes(255, 235, 59, 128),
-		outline: Cesium.Color.fromBytes(255, 235, 59, 255),
-	},
-	'3': {
-		fill: Cesium.Color.fromBytes(247, 20, 20, 128),
-		outline: Cesium.Color.fromBytes(255, 0, 0, 255),
-	},
-}
 
 const rules = {
 	sceneName: fieldRules(true, 50),
@@ -298,10 +285,7 @@
 }
 
 function getAreaTypeStyle(areaType) {
-	return areaTypeStyleMap?.[String(areaType)] || {
-		fill: Cesium.Color.fromBytes(45, 140, 240, 99),
-		outline: Cesium.Color.fromBytes(45, 140, 240, 255),
-	}
+	return AREA_TYPE_STYLE_MAP?.[String(areaType)] || DEFAULT_AREA_STYLE
 }
 
 function parseGeomJson(geomJson) {
@@ -365,22 +349,8 @@
 				const radii = shape.meta.bufferRadii
 					.map(radius => Number(radius))
 					.filter(radius => Number.isFinite(radius) && radius > 0)
-				const styles = [
-					{
-						fill: Cesium.Color.fromBytes(247, 20, 20, 128),
-						outline: Cesium.Color.fromBytes(255, 0, 0, 255),
-					},
-					{
-						fill: Cesium.Color.fromBytes(255, 235, 59, 128),
-						outline: Cesium.Color.fromBytes(255, 235, 59, 255),
-					},
-					{
-						fill: Cesium.Color.fromBytes(25, 178, 230, 128),
-						outline: Cesium.Color.fromBytes(0, 251, 255, 255),
-					},
-				]
 				radii.forEach((radius, index) => {
-					const style = styles[index] || styles[styles.length - 1]
+					const style = BUFFER_LEVEL_STYLES[index] || BUFFER_LEVEL_STYLES[BUFFER_LEVEL_STYLES.length - 1]
 					dataSource.entities.add({
 						name: 'scene-area-display',
 						customData: { drawType: shape.drawType, level: index + 1 },

--
Gitblit v1.9.3