From 4afcf3376b4e4feecdd52c2b0af3a16e4d8ac07d Mon Sep 17 00:00:00 2001 From: OoO Date: Tue, 5 May 2026 14:09:41 +0800 Subject: [PATCH] =?UTF-8?q?fix(observability):=20=E7=B5=B1=E4=B8=80?= =?UTF-8?q?=E6=A8=99=E9=A1=8C=E5=AD=97=E5=9E=8B=E4=B8=A6=E5=8D=A1=E7=89=87?= =?UTF-8?q?=E5=8C=96=E5=95=86=E6=A5=AD=E5=BB=BA=E8=AD=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- templates/admin/agent_orchestration.html | 2 +- templates/admin/ai_calls_dashboard.html | 2 +- templates/admin/budget.html | 2 +- templates/admin/business_intel.html | 115 ++++++++++++++------ templates/admin/host_health.html | 2 +- templates/admin/observability_overview.html | 2 +- templates/admin/ppt_audit_history.html | 2 +- templates/admin/promotion_review.html | 2 +- templates/admin/quality_trend.html | 2 +- templates/admin/rag_queries.html | 2 +- 10 files changed, 91 insertions(+), 42 deletions(-) diff --git a/templates/admin/agent_orchestration.html b/templates/admin/agent_orchestration.html index 32b45f9..894c467 100644 --- a/templates/admin/agent_orchestration.html +++ b/templates/admin/agent_orchestration.html @@ -5,7 +5,7 @@ {% block ewooo_content %}
diff --git a/templates/admin/ai_calls_dashboard.html b/templates/admin/ai_calls_dashboard.html index 9a59319..22ea476 100644 --- a/templates/admin/ai_calls_dashboard.html +++ b/templates/admin/ai_calls_dashboard.html @@ -18,7 +18,7 @@ linear-gradient(135deg, rgba(255,248,239,.98), rgba(255,255,255,.72)); } .calls-kicker { color: var(--obs-accent); font-size:.76rem; letter-spacing:.13em; text-transform:uppercase; font-weight:800; } - .calls-title { margin:.45rem 0 .25rem; font-family:Georgia,'Times New Roman',serif; font-size:clamp(2rem,4vw,3.8rem); letter-spacing:-.055em; line-height:.98; } + .calls-title { margin:.45rem 0 .25rem; font-family:'Noto Sans TC','Inter',sans-serif; font-size:clamp(2rem,4vw,3.8rem); letter-spacing:-.055em; line-height:.98; } .calls-subtitle { color:var(--obs-muted); max-width:830px; line-height:1.7; } .calls-actions { display:flex; flex-wrap:wrap; gap:.6rem; margin-top:1rem; align-items:center; } .calls-filter { display:flex; flex-wrap:wrap; gap:.5rem; padding:.8rem; border:1px solid var(--obs-line); border-radius:20px; background:rgba(255,255,255,.58); } diff --git a/templates/admin/budget.html b/templates/admin/budget.html index 2569fef..fa068d6 100644 --- a/templates/admin/budget.html +++ b/templates/admin/budget.html @@ -7,7 +7,7 @@ .gov-hero, .gov-panel, .gov-table-shell { border:1px solid var(--obs-line); border-radius:26px; background:var(--obs-card); box-shadow:0 16px 38px rgba(70,46,28,.08); } .gov-hero { padding:clamp(1.2rem,2.4vw,2rem); background:radial-gradient(circle at 12% 14%, rgba(201,100,66,.18), transparent 24rem), radial-gradient(circle at 90% 8%, rgba(184,121,47,.16), transparent 22rem), linear-gradient(135deg,rgba(255,248,239,.98),rgba(255,255,255,.74)); } .gov-kicker { color:var(--obs-accent); font-size:.76rem; letter-spacing:.13em; text-transform:uppercase; font-weight:850; } - .gov-title { margin:.45rem 0 .25rem; font-family:Georgia,'Times New Roman',serif; font-size:clamp(2rem,4vw,3.8rem); letter-spacing:-.055em; line-height:.98; } + .gov-title { margin:.45rem 0 .25rem; font-family:'Noto Sans TC','Inter',sans-serif; font-size:clamp(2rem,4vw,3.8rem); letter-spacing:-.055em; line-height:.98; } .gov-subtitle { color:var(--obs-muted); max-width:850px; line-height:1.7; } .gov-actions { display:flex; flex-wrap:wrap; gap:.6rem; align-items:center; margin-top:1rem; } .gov-command { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.75rem; margin-top:1rem; } diff --git a/templates/admin/business_intel.html b/templates/admin/business_intel.html index 8b3113e..544abd7 100644 --- a/templates/admin/business_intel.html +++ b/templates/admin/business_intel.html @@ -61,11 +61,11 @@ } .biz-command h1 { - font-size: clamp(2.15rem, 5vw, 4.8rem); - line-height: .92; - letter-spacing: -.08em; + font-size: clamp(2.05rem, 4vw, 3.25rem); + line-height: 1.05; + letter-spacing: -.06em; margin: 1rem 0 .85rem; - font-weight: 950; + font-weight: 900; } .biz-command p { @@ -293,6 +293,58 @@ border-radius: 0 16px 16px 0; } +.biz-decision-list { + display: grid; + gap: .75rem; +} + +.biz-decision-card { + display: grid; + grid-template-columns: minmax(82px, .35fr) minmax(180px, 1fr) minmax(120px, .45fr) minmax(160px, .7fr); + gap: .8rem; + align-items: center; + padding: .95rem; + border: 1px solid rgba(201, 100, 66, 0.14); + border-radius: 18px; + background: + linear-gradient(135deg, rgba(255, 252, 247, 0.96), rgba(255, 248, 241, 0.86)), + radial-gradient(circle, rgba(201, 100, 66, 0.12) 1px, transparent 1.2px); + background-size: auto, 13px 13px; +} + +.biz-decision-time { + color: var(--biz-muted); + font-size: .82rem; + font-weight: 850; +} + +.biz-decision-sku, +.biz-decision-name { + color: var(--biz-ink); + font-weight: 900; +} + +.biz-decision-name { + line-height: 1.45; +} + +.biz-decision-reason { + color: var(--biz-muted); + font-size: .82rem; + line-height: 1.5; +} + +.biz-price-stack { + color: var(--biz-ink); + font-weight: 850; +} + +.biz-price-stack small { + display: block; + color: var(--biz-muted); + font-weight: 700; +} + .biz-badge { display: inline-flex; align-items: center; @@ -344,7 +396,8 @@ } .biz-signal-grid, - .biz-strategy-grid { + .biz-strategy-grid, + .biz-decision-card { grid-template-columns: 1fr; } @@ -380,7 +433,7 @@
Business Intelligence -

商業 AI
戰果室

+

商業 AI 戰果室

這一頁不再只是資料列表,而是把價格建議、未跟進警示、閉環學習與競品監測收成一個商業決策控制台。 先看 AI 是否真的推動結果,再往下追每一筆策略與市場訊號。 @@ -481,34 +534,30 @@

Latest 20
-
+
{% if latest_recommendations %} - - - - - - - - - - - - - - {% for r in latest_recommendations %} - - - - - - - - - - {% endfor %} - -
時間SKU商品策略信心momo / PChome原因
{{ r.created_at or '-' }}{{ r.sku }}{{ r.name or '-' }}{{ r.strategy or '-' }}{{ '%.0f'|format((r.confidence or 0) * 100) }}%{{ r.momo_price or '-' }} / {{ r.pchome_price or '-' }}
gap {{ '%.1f'|format(r.gap_pct or 0) }}%
{{ r.reason or '-' }}
+
+ {% for r in latest_recommendations %} +
+
+
{{ r.created_at or '-' }}
+
{{ r.sku }}
+
+
+
{{ r.name or '-' }}
+
+ {{ r.strategy or '-' }} + {{ '%.0f'|format((r.confidence or 0) * 100) }}% +
+
+
+ {{ r.momo_price or '-' }} / {{ r.pchome_price or '-' }} + gap {{ '%.1f'|format(r.gap_pct or 0) }}% +
+
{{ r.reason or '尚無原因摘要' }}
+
+ {% endfor %} +
{% else %}
目前沒有最新價格建議。
{% endif %} diff --git a/templates/admin/host_health.html b/templates/admin/host_health.html index f711f5a..3400b4f 100644 --- a/templates/admin/host_health.html +++ b/templates/admin/host_health.html @@ -18,7 +18,7 @@ linear-gradient(135deg, rgba(255, 248, 239, 0.98), rgba(255, 255, 255, 0.72)); } .runtime-kicker { color: var(--obs-accent); font-size: .76rem; letter-spacing: .13em; text-transform: uppercase; font-weight: 800; } - .runtime-title { margin: .45rem 0 .25rem; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(2rem, 4vw, 3.8rem); letter-spacing: -.055em; line-height: .98; } + .runtime-title { margin: .45rem 0 .25rem; font-family:'Noto Sans TC','Inter',sans-serif; font-size: clamp(2rem, 4vw, 3.8rem); letter-spacing: -.055em; line-height: .98; } .runtime-subtitle { color: var(--obs-muted); max-width: 820px; line-height: 1.7; } .runtime-command { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .8rem; margin-top: 1.2rem; } .runtime-signal { padding: .95rem; border: 1px solid var(--obs-line); border-radius: 20px; background: rgba(255,255,255,.62); } diff --git a/templates/admin/observability_overview.html b/templates/admin/observability_overview.html index 7ebe256..f19954b 100644 --- a/templates/admin/observability_overview.html +++ b/templates/admin/observability_overview.html @@ -59,7 +59,7 @@ .obs-title { margin: 0.85rem 0 0.4rem; max-width: 820px; - font-family: Georgia, 'Times New Roman', serif; + font-family:'Noto Sans TC','Inter',sans-serif; font-size: clamp(2rem, 4.6vw, 4.45rem); line-height: 0.95; letter-spacing: -0.055em; diff --git a/templates/admin/ppt_audit_history.html b/templates/admin/ppt_audit_history.html index 6ecea4a..bf78b4f 100644 --- a/templates/admin/ppt_audit_history.html +++ b/templates/admin/ppt_audit_history.html @@ -5,7 +5,7 @@ {% block ewooo_content %}
diff --git a/templates/admin/promotion_review.html b/templates/admin/promotion_review.html index bf33959..c5de35c 100644 --- a/templates/admin/promotion_review.html +++ b/templates/admin/promotion_review.html @@ -7,7 +7,7 @@ .gate-hero, .gate-panel, .gate-table-shell, .episode-card { border:1px solid var(--obs-line); border-radius:26px; background:var(--obs-card); box-shadow:0 16px 38px rgba(70,46,28,.08); } .gate-hero { padding:clamp(1.2rem,2.4vw,2rem); background:radial-gradient(circle at 12% 14%, rgba(201,100,66,.18), transparent 24rem), radial-gradient(circle at 88% 8%, rgba(79,111,143,.14), transparent 22rem), linear-gradient(135deg,rgba(255,248,239,.98),rgba(255,255,255,.74)); } .gate-kicker { color:var(--obs-accent); font-size:.76rem; letter-spacing:.13em; text-transform:uppercase; font-weight:850; } - .gate-title { margin:.45rem 0 .25rem; font-family:Georgia,'Times New Roman',serif; font-size:clamp(2rem,4vw,3.8rem); letter-spacing:-.055em; line-height:.98; } + .gate-title { margin:.45rem 0 .25rem; font-family:'Noto Sans TC','Inter',sans-serif; font-size:clamp(2rem,4vw,3.8rem); letter-spacing:-.055em; line-height:.98; } .gate-subtitle { color:var(--obs-muted); max-width:880px; line-height:1.7; } .gate-command { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.75rem; margin-top:1rem; } .gate-signal { padding:.95rem; border:1px solid var(--obs-line); border-radius:20px; background:rgba(255,255,255,.62); } diff --git a/templates/admin/quality_trend.html b/templates/admin/quality_trend.html index 140268f..f039d02 100644 --- a/templates/admin/quality_trend.html +++ b/templates/admin/quality_trend.html @@ -6,7 +6,7 @@