From 69fc7449941768ff82c5551a44493f186ef00d91 Mon Sep 17 00:00:00 2001 From: menghao <1584479611@qq.com> Date: Mon, 30 Mar 2026 10:53:17 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9D=90=E6=A0=87=E7=94=9F=E6=88=90=E7=A9=BA?= =?UTF-8?q?=E5=9F=9F=E3=80=81=E7=A9=BA=E5=9F=9F=E4=B8=8A=E9=94=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ruoyi-ui/src/lang/en.js | 36 +- ruoyi-ui/src/lang/zh.js | 36 +- ruoyi-ui/src/views/cesiumMap/ContextMenu.vue | 34 +- ruoyi-ui/src/views/cesiumMap/index.vue | 92 ++++- ruoyi-ui/src/views/childRoom/TopHeader.vue | 5 + ruoyi-ui/src/views/childRoom/index.vue | 33 ++ .../src/views/dialogs/GenerateAirspaceDialog.vue | 402 +++++++++++++++++++++ 7 files changed, 618 insertions(+), 20 deletions(-) create mode 100644 ruoyi-ui/src/views/dialogs/GenerateAirspaceDialog.vue diff --git a/ruoyi-ui/src/lang/en.js b/ruoyi-ui/src/lang/en.js index 30275b0..06051da 100644 --- a/ruoyi-ui/src/lang/en.js +++ b/ruoyi-ui/src/lang/en.js @@ -51,7 +51,8 @@ export default { }, airspace: { powerZone: 'Power Zone', - threatZone: 'Threat Zone' + threatZone: 'Threat Zone', + generateAirspace: 'Generate Airspace' }, options: { @@ -164,5 +165,38 @@ export default { pleaseInputMessage: 'Please enter message content', operationRollbackSuccess: 'Operation rollback successful', noLogs: 'No operation logs' + }, + generateAirspace: { + title: 'Generate Airspace', + shapeType: 'Shape', + polygon: 'Polygon', + rectangle: 'Rectangle', + circle: 'Circle', + sector: 'Sector', + name: 'Name', + namePlaceholder: 'Label on map (optional)', + color: 'Fill color', + borderWidth: 'Outline width', + vertices: 'Vertices', + polygonPlaceholder: 'At least 3 vertices, decimal degrees. One pair per line, or one line: (121.47,31.23), (120.15,30.28) separated by comma/semicolon', + rectangleSwCorner: 'SW corner (lon, lat)', + rectangleNeCorner: 'NE corner (lon, lat)', + cornerLonLatPlaceholder: '(longitude, latitude) e.g. (116.39, 39.90)', + centerLonLat: 'Center (lon, lat)', + radiusM: 'Radius', + radiusUnit: 'km', + startBearing: 'Start bearing (°)', + endBearing: 'End bearing (°)', + cancel: 'Cancel', + confirm: 'Create', + defaultLabel: 'Airspace', + errPolygonPoints: 'Polygon needs at least 3 valid lng,lat vertices', + errRectNumbers: 'Enter SW and NE corners as (longitude, latitude)', + errCircle: 'Enter center as (longitude, latitude) and radius in km', + errSector: 'Enter center as (longitude, latitude) and radius in km', + errBearing: 'Enter valid bearings', + needRoom: 'Enter a mission room first', + successMsg: 'Airspace created; it will be saved with the room', + errImport: 'Failed to create; check coordinates and parameters' } } diff --git a/ruoyi-ui/src/lang/zh.js b/ruoyi-ui/src/lang/zh.js index b948664..e9fc6fc 100644 --- a/ruoyi-ui/src/lang/zh.js +++ b/ruoyi-ui/src/lang/zh.js @@ -51,7 +51,8 @@ export default { }, airspace: { powerZone: '威力区', - threatZone: '威胁区' + threatZone: '威胁区', + generateAirspace: '生成空域' }, options: { @@ -164,5 +165,38 @@ export default { pleaseInputMessage: '请输入消息内容', operationRollbackSuccess: '操作回滚成功', noLogs: '暂无操作日志' + }, + generateAirspace: { + title: '生成空域', + shapeType: '形状类型', + polygon: '多边形', + rectangle: '矩形', + circle: '圆形', + sector: '扇形', + name: '名称', + namePlaceholder: '地图上显示的名称(可选)', + color: '填充颜色', + borderWidth: '边线宽度', + vertices: '顶点坐标', + polygonPlaceholder: '至少 3 个顶点,十进制度。可每行一对「经度,纬度」;或一行写 (121.47,31.23)、(120.15,30.28) 用顿号分隔', + rectangleSwCorner: '西南角经纬度', + rectangleNeCorner: '东北角经纬度', + cornerLonLatPlaceholder: '(经度,纬度)例如 (116.39, 39.90)', + centerLonLat: '圆心经纬度', + radiusM: '半径', + radiusUnit: '千米', + startBearing: '起始方位角(°)', + endBearing: '终止方位角(°)', + cancel: '取消', + confirm: '生成', + defaultLabel: '空域', + errPolygonPoints: '多边形至少需要 3 个有效顶点(经度,纬度)', + errRectNumbers: '请按(经度,纬度)格式填写有效的西南角与东北角', + errCircle: '请按(经度,纬度)填写有效的圆心与半径(千米)', + errSector: '请按(经度,纬度)填写有效的圆心、半径(千米)', + errBearing: '请填写有效的方位角', + needRoom: '请先进入任务房间', + successMsg: '空域已生成,将随房间自动保存', + errImport: '生成失败,请检查坐标与参数' } } diff --git a/ruoyi-ui/src/views/cesiumMap/ContextMenu.vue b/ruoyi-ui/src/views/cesiumMap/ContextMenu.vue index 9f2f7c2..a8bbd64 100644 --- a/ruoyi-ui/src/views/cesiumMap/ContextMenu.vue +++ b/ruoyi-ui/src/views/cesiumMap/ContextMenu.vue @@ -18,7 +18,7 @@ -
- -