From 677a5fa9accf86d9407060ebbea22b21cc5c7f6c Mon Sep 17 00:00:00 2001 From: Zzc <1373857752@qq.com> Date: Fri, 21 Nov 2025 18:16:29 +0800 Subject: [PATCH] =?UTF-8?q?feat(screen):=20=E6=B7=BB=E5=8A=A0=E5=8F=AF?= =?UTF-8?q?=E7=BC=96=E8=BE=91=E7=9A=84=E8=AE=A1=E5=88=92=E6=AD=A5=E9=AA=A4?= =?UTF-8?q?=E5=92=8C=E5=9F=BA=E4=BA=8E=E7=AB=99=E7=82=B9=E7=9A=84=E8=B0=83?= =?UTF-8?q?=E5=BA=A6=E8=AE=A1=E5=88=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 使用el-input将静态计划步骤和后续文本转换为可编辑输入框 - 使清场步骤和调度计划具有响应性,支持动态站点分配 - 添加用于添加和删除调度计划的UI元素(当前已禁用) - 为新的交互组件更新样式并改善布局 - 从父组件集成stations属性以实现站点名称的自动分配 --- .../shared/EmergencyPlanContent.vue | 236 ++++++++++++++++-- .../3DSituationalAwarenessRefactor/index.vue | 2 +- 2 files changed, 218 insertions(+), 20 deletions(-) diff --git a/packages/screen/src/views/3DSituationalAwarenessRefactor/components/shared/EmergencyPlanContent.vue b/packages/screen/src/views/3DSituationalAwarenessRefactor/components/shared/EmergencyPlanContent.vue index 7f9ff39..917003b 100644 --- a/packages/screen/src/views/3DSituationalAwarenessRefactor/components/shared/EmergencyPlanContent.vue +++ b/packages/screen/src/views/3DSituationalAwarenessRefactor/components/shared/EmergencyPlanContent.vue @@ -144,7 +144,12 @@
-
{{ step.content }}
+
@@ -159,7 +164,10 @@ class="title-icon" />

力量调派方案

- +
@@ -168,9 +176,10 @@ :key="plan.id" class="dispatch-card" > +

- {{ plan.name }} + 基地{{ plan.id }}:{{ plan.stationName || 'xxxxx名称' }}

后续处治
- +
@@ -374,6 +475,15 @@ const handleAddPlan = () => { font-family: SourceHanSansCN-Medium, sans-serif; cursor: pointer; transition: all 0.3s ease; + display: flex; + align-items: center; + gap: vw(6); + + .add-icon { + font-size: fs(18); + font-weight: bold; + line-height: 1; + } &:hover { background: var(--primary-light); @@ -591,6 +701,35 @@ const handleAddPlan = () => { background: #052044; border-radius: vw(4); } + + .step-content-input { + flex: 1; + + :deep(.el-textarea__inner) { + background: #052044 !important; + border: 1px solid rgba(28, 161, 255, 0.3) !important; + border-radius: vw(4); + color: var(--text-white); + font-size: fs(13); + font-family: SourceHanSansCN-Regular, sans-serif; + line-height: 1.6; + padding: vh(8) vw(12); + transition: border-color 0.3s ease; + + &:hover { + border-color: var(--primary-color) !important; + } + + &:focus { + border-color: var(--primary-color) !important; + box-shadow: none !important; + } + + &::placeholder { + color: rgba(255, 255, 255, 0.3); + } + } + } } /* 调派预案 */ @@ -605,13 +744,45 @@ const handleAddPlan = () => { border: 1px solid rgba(28, 161, 255, 0.2); border-radius: vw(8); padding: vh(12) vw(14); + position: relative; + + .close-btn { + position: absolute; + top: vh(12); + right: vw(14); + width: vw(24); + height: vw(24); + border-radius: 50%; + border: 1px solid rgba(255, 255, 255, 0.3); + background: transparent; + color: rgba(255, 255, 255, 0.6); + font-size: fs(20); + line-height: 1; + cursor: pointer; + display: flex; + align-items: center; + justify-content: center; + transition: all 0.3s ease; + + &:hover { + background: rgba(255, 77, 79, 0.2); + border-color: #ff4d4f; + color: #ff4d4f; + transform: rotate(90deg); + } + + &:active { + transform: rotate(90deg) scale(0.95); + } + } .plan-name { font-size: fs(15); font-family: SourceHanSansCN-Bold, sans-serif; font-weight: bold; color: var(--text-white); - margin: 0 0 vh(10) 0; + margin: 0 vw(30) vh(10) 0; + .plan-icon { display: inline-block; width: 9px; @@ -660,6 +831,33 @@ const handleAddPlan = () => { background: #052044; border-radius: vw(4); } + +.follow-up-textarea { + :deep(.el-textarea__inner) { + background: #052044 !important; + border: 1px solid rgba(28, 161, 255, 0.3) !important; + border-radius: vw(4); + color: var(--text-white); + font-size: fs(13); + font-family: SourceHanSansCN-Regular, sans-serif; + line-height: 1.8; + padding: vh(10) vw(14); + transition: border-color 0.3s ease; + + &:hover { + border-color: var(--primary-color) !important; + } + + &:focus { + border-color: var(--primary-color) !important; + box-shadow: none !important; + } + + &::placeholder { + color: rgba(255, 255, 255, 0.3); + } + } +}