From d262de819c02c1a8a110449cf93e13153d0d98d1 Mon Sep 17 00:00:00 2001 From: sd <1504629600@qq.com> Date: Wed, 21 Jan 2026 14:21:00 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E8=84=91=E8=A2=8B=E6=90=AC=E5=AE=B6?= =?UTF-8?q?=E4=BA=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ruoyi-ui/src/views/cesiumMap/index.vue | 57 +- ruoyi-ui/src/views/childRoom/BottomLeftPanel.vue | 49 +- ruoyi-ui/src/views/childRoom/TopHeader.vue | 769 +++++++++++++++++++++++ ruoyi-ui/src/views/childRoom/index.vue | 714 +++------------------ 4 files changed, 938 insertions(+), 651 deletions(-) create mode 100644 ruoyi-ui/src/views/childRoom/TopHeader.vue diff --git a/ruoyi-ui/src/views/cesiumMap/index.vue b/ruoyi-ui/src/views/cesiumMap/index.vue index a72c2b2..da95076 100644 --- a/ruoyi-ui/src/views/cesiumMap/index.vue +++ b/ruoyi-ui/src/views/cesiumMap/index.vue @@ -963,31 +963,34 @@ export default { return entity }, addCircleEntity(center, radius) { - this.entityCounter++ - const id = `circle_${this.entityCounter}` + // 确保半径有效 + const validRadius = Math.max(radius, 1) + + this.entityCounter++ + const id = `circle_${this.entityCounter}` - const entity = this.viewer.entities.add({ - id: id, - name: `圆形 ${this.entityCounter}`, - position: center, // 圆心位置 - - // 【优化】使用 ellipse (椭圆) 绘制圆形 - ellipse: { - semiMinorAxis: radius, // 半短轴 = 半径 - semiMajorAxis: radius, // 半长轴 = 半径 - material: Cesium.Color.fromCssColorString(this.defaultStyles.circle.color) - .withAlpha(this.defaultStyles.circle.opacity), - outline: true, - outlineColor: Cesium.Color.fromCssColorString(this.defaultStyles.circle.color), - outlineWidth: this.defaultStyles.circle.width - } - }) + const entity = this.viewer.entities.add({ + id: id, + name: `圆形 ${this.entityCounter}`, + position: center, // 圆心位置 - // 【重要修改】直接把 entity 推入数组 - this.allEntities.push(entity) + // 【优化】使用 ellipse (椭圆) 绘制圆形 + ellipse: { + semiMinorAxis: validRadius, // 半短轴 = 半径 + semiMajorAxis: validRadius, // 半长轴 = 半径 + material: Cesium.Color.fromCssColorString(this.defaultStyles.circle.color) + .withAlpha(this.defaultStyles.circle.opacity), + outline: true, + outlineColor: Cesium.Color.fromCssColorString(this.defaultStyles.circle.color), + outlineWidth: this.defaultStyles.circle.width + } + }) - return entity -}, + // 【重要修改】直接把 entity 推入数组 + this.allEntities.push(entity) + + return entity + }, // ================== 工具方法 ================== @@ -1379,11 +1382,17 @@ export default { break case 'circle': + // 检查半径是否有效 + const radius = entityData.data.radius || 1000 + if (radius <= 0) { + this.$message.error('圆形半径必须大于0') + return + } entity = this.viewer.entities.add({ position: Cesium.Cartesian3.fromDegrees(entityData.data.center.lng, entityData.data.center.lat), ellipse: { - semiMinorAxis: entityData.data.radius, - semiMajorAxis: entityData.data.radius, + semiMinorAxis: radius, + semiMajorAxis: radius, material: Cesium.Color.fromCssColorString(color).withAlpha(0.5), outline: true, outlineColor: Cesium.Color.fromCssColorString(color), diff --git a/ruoyi-ui/src/views/childRoom/BottomLeftPanel.vue b/ruoyi-ui/src/views/childRoom/BottomLeftPanel.vue index 177a63a..57bae6e 100644 --- a/ruoyi-ui/src/views/childRoom/BottomLeftPanel.vue +++ b/ruoyi-ui/src/views/childRoom/BottomLeftPanel.vue @@ -31,7 +31,7 @@

时间线

-
+
{{ item.time }}
@@ -78,11 +78,11 @@ export default { dialogTitle: '', activeTab: '', timelineData: [ - { time: 'K-02:00', event: '任务准备阶段' }, - { time: 'K-01:00', event: '资源调配' }, - { time: 'K时', event: '任务执行' }, - { time: 'K+01:00', event: '任务监控' }, - { time: 'K+02:00', event: '任务完成' } + { time: 'K-02:00', event: '任务准备阶段', current: false }, + { time: 'K-01:00', event: '资源调配', current: false }, + { time: 'K时', event: '任务执行', current: true }, + { time: 'K+01:00', event: '任务监控', current: false }, + { time: 'K+02:00', event: '任务完成', current: false } ], progressData: [ { label: '任务准备', percentage: 100, status: 'success' }, @@ -233,6 +233,43 @@ export default { position: relative; } +.timeline-item.current { + background: rgba(64, 158, 255, 0.1); + border-radius: 6px; + padding: 8px; +} + +.timeline-item.current .timeline-dot { + background: #ff6600; + box-shadow: 0 0 0 4px rgba(255, 102, 0, 0.3); + animation: pulse 2s infinite; +} + +.timeline-item.current .timeline-time { + color: #ff6600; + font-weight: 700; +} + +.timeline-item.current .timeline-event { + color: #333; + font-weight: 600; +} + +@keyframes pulse { + 0% { + transform: scale(1); + opacity: 1; + } + 50% { + transform: scale(1.2); + opacity: 0.7; + } + 100% { + transform: scale(1); + opacity: 1; + } +} + .timeline-item::before { content: ''; position: absolute; diff --git a/ruoyi-ui/src/views/childRoom/TopHeader.vue b/ruoyi-ui/src/views/childRoom/TopHeader.vue new file mode 100644 index 0000000..2396bd8 --- /dev/null +++ b/ruoyi-ui/src/views/childRoom/TopHeader.vue @@ -0,0 +1,769 @@ + + + + + diff --git a/ruoyi-ui/src/views/childRoom/index.vue b/ruoyi-ui/src/views/childRoom/index.vue index 924ef63..c1c8c89 100644 --- a/ruoyi-ui/src/views/childRoom/index.vue +++ b/ruoyi-ui/src/views/childRoom/index.vue @@ -23,229 +23,53 @@
- -
-
-
- - 联合任务筹划系统 -
- - -
-
- - {{ item.name }} - - - - - - 新建计划 - 打开 - 保存 - - - - 导入 - - - - 导入计划 - 导入ACD - 导入ATO - 导入图层 - 导入航线 - - - - - 导出 - - - - - - - - 航线编辑 - 军事标绘 - 图标编辑 - 属性修改 - - - - 推演编辑 - - - - 时间设置 - 机型设置 - 关键事件编辑 - 导弹发射 - - - - - - - - - - - 2D/3D切换 - 显示/隐藏标尺 - 网格 - 比例尺 - 指北针 - - - - - - - - 加载/切换地形 - 投影 - 航空图 - - - - - - - - 航线计算 - 冲突显示 - 数据资料 - 坐标换算 - - - - - - - - 设置 - 系统说明 - - - - - - - - 图层收藏 - 航线收藏 - - -
-
-
- -
- -
- -
- -
-
房间编号
-
{{ roomCode }}
-
-
- - -
- -
-
在线人数
-
{{ onlineCount }}人
-
-
- - -
- -
-
作战时间
-
{{ combatTime }}
-
-
- - -
- -
-
天文时间
-
{{ astroTime }}
-
-
-
- - -
- - -
-
-
+ + Date: Wed, 21 Jan 2026 15:25:25 +0800 Subject: [PATCH 2/2] 1 --- ruoyi-ui/src/views/childRoom/TopHeader.vue | 1 - 1 file changed, 1 deletion(-) diff --git a/ruoyi-ui/src/views/childRoom/TopHeader.vue b/ruoyi-ui/src/views/childRoom/TopHeader.vue index 2396bd8..870d0ad 100644 --- a/ruoyi-ui/src/views/childRoom/TopHeader.vue +++ b/ruoyi-ui/src/views/childRoom/TopHeader.vue @@ -249,7 +249,6 @@
-