From 9c50b5921bc3c6e1a65f16203ceb1c3ecefac8bb Mon Sep 17 00:00:00 2001 From: jingrow Date: Sat, 1 Nov 2025 21:37:12 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=B5=81=E7=A8=8B=E7=BC=96?= =?UTF-8?q?=E6=8E=92=E7=95=8C=E9=9D=A2=E7=9A=84=E4=BF=9D=E5=AD=98=E6=8C=89?= =?UTF-8?q?=E9=92=AE=E6=A0=B7=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../features/flows/FlowBuilderContainer.vue | 83 ++++++++++++++++++- 1 file changed, 82 insertions(+), 1 deletion(-) diff --git a/apps/jingrow/frontend/src/core/features/flows/FlowBuilderContainer.vue b/apps/jingrow/frontend/src/core/features/flows/FlowBuilderContainer.vue index 8f1423e..5e1b6e1 100644 --- a/apps/jingrow/frontend/src/core/features/flows/FlowBuilderContainer.vue +++ b/apps/jingrow/frontend/src/core/features/flows/FlowBuilderContainer.vue @@ -12,7 +12,14 @@ {{ t('Back') }} - {{ t('Save') }} + + + {{ t('Save') }} + @@ -122,4 +129,78 @@ const handleBack = () => { .flow-builder-header { display: flex; justify-content: space-between; align-items: center; padding: 6px 16px; border-bottom: 1px solid #e5e7eb; background: white; min-height: 40px; } .header-left .title { margin: 0; font-size: 18px; font-weight: 600; color: #1f2937; } .flow-builder-content { flex: 1; overflow: hidden; } + +/* 保存按钮 - 使用柔和的品牌色系,与详情页保存按钮一致 */ +.save-btn-brand { + background: #e6f8f0 !important; + border: 1px solid #1fc76f !important; + color: #0d684b !important; +} + +.save-btn-brand :deep(.n-button__border) { + border: none !important; + border-color: transparent !important; +} + +.save-btn-brand :deep(.n-button__state-border) { + border: none !important; + border-color: transparent !important; +} + +.save-btn-brand:hover { + background: #dcfce7 !important; + border-color: #1fc76f !important; + border: 1px solid #1fc76f !important; + color: #166534 !important; + box-shadow: 0 2px 8px rgba(31, 199, 111, 0.15) !important; +} + +.save-btn-brand:hover :deep(.n-button__border), +.save-btn-brand:hover :deep(.n-button__state-border) { + border: none !important; + border-color: transparent !important; +} + +.save-btn-brand:focus { + background: #dcfce7 !important; + border-color: #1fc76f !important; + border: 1px solid #1fc76f !important; + color: #166534 !important; + box-shadow: 0 0 0 2px rgba(31, 199, 111, 0.2) !important; +} + +.save-btn-brand:focus :deep(.n-button__border), +.save-btn-brand:focus :deep(.n-button__state-border) { + border: none !important; + border-color: transparent !important; +} + +.save-btn-brand:active { + background: #1fc76f !important; + border-color: #1fc76f !important; + border: 1px solid #1fc76f !important; + color: white !important; + box-shadow: 0 1px 4px rgba(31, 199, 111, 0.2) !important; +} + +.save-btn-brand:active :deep(.n-button__border), +.save-btn-brand:active :deep(.n-button__state-border) { + border: none !important; + border-color: transparent !important; +} + +.save-btn-brand:disabled { + background: #f1f5f9 !important; + border: 1px solid #e2e8f0 !important; + border-color: #e2e8f0 !important; + color: #94a3b8 !important; + opacity: 0.6 !important; + cursor: not-allowed !important; +} + +.save-btn-brand:disabled :deep(.n-button__border), +.save-btn-brand:disabled :deep(.n-button__state-border) { + border: none !important; + border-color: transparent !important; +}