145 lines
4.8 KiB
HTML
145 lines
4.8 KiB
HTML
{% macro strategy(value, fallback='未分類策略') -%}
|
|
{%- set labels = {
|
|
'product_pick': '選品攻擊',
|
|
'price_recommendation': '價格建議',
|
|
'price_adjustment': '價格調整',
|
|
'price_reduction': '降價攻擊',
|
|
'price_drop': '降價攻擊',
|
|
'discount_attack': '降價攻擊',
|
|
'price_increase': '漲價防守',
|
|
'margin_repair': '毛利修復',
|
|
'inventory_clearance': '庫存去化',
|
|
'competitor_response': '競品回應',
|
|
'competitor_check': '競品複核',
|
|
'promotion': '活動促銷',
|
|
'stockout': '缺貨處理',
|
|
'repricing': '價格重定',
|
|
'watch': '觀察',
|
|
'maintain': '維持價格',
|
|
'unknown': '未分類策略'
|
|
} -%}
|
|
{%- if value -%}{{ labels.get(value, value|replace('_', ' ')) }}{%- else -%}{{ fallback }}{%- endif -%}
|
|
{%- endmacro %}
|
|
|
|
{% macro status(value, fallback='未分類') -%}
|
|
{%- set labels = {
|
|
'pending': '待處理',
|
|
'awaiting_review': '待審核',
|
|
'approved': '已核准',
|
|
'rejected': '已拒絕',
|
|
'rejected_quality': '品質拒絕',
|
|
'rejected_hallucination': '幻覺拒絕',
|
|
'rejected_duplicate': '重複拒絕',
|
|
'rejected_human': '人工拒絕',
|
|
'expired': '已過期',
|
|
'done': '已完成',
|
|
'completed': '已完成',
|
|
'running': '執行中',
|
|
'success': '成功',
|
|
'failed': '失敗',
|
|
'matched': '已比對',
|
|
'unmatched': '未比對',
|
|
'ok': '正常',
|
|
'cache_only': '只用快取',
|
|
'passed': '已通過',
|
|
'error': '錯誤',
|
|
'skipped': '已跳過',
|
|
'unknown': '未分類'
|
|
} -%}
|
|
{%- if value -%}{{ labels.get(value, value|replace('_', ' ')) }}{%- else -%}{{ fallback }}{%- endif -%}
|
|
{%- endmacro %}
|
|
|
|
{% macro verdict(value, fallback='未分類') -%}
|
|
{%- set labels = {
|
|
'effective': '有效',
|
|
'success': '成功',
|
|
'positive': '正向',
|
|
'backfired': '反效果',
|
|
'negative': '負向',
|
|
'failed': '失敗',
|
|
'neutral': '中性',
|
|
'pending': '待回收',
|
|
'inconclusive': '尚未定論',
|
|
'no_data': '無資料',
|
|
'unknown': '未分類'
|
|
} -%}
|
|
{%- if value -%}{{ labels.get(value, value|replace('_', ' ')) }}{%- else -%}{{ fallback }}{%- endif -%}
|
|
{%- endmacro %}
|
|
|
|
{% macro plan_type(value, fallback='未分類計畫') -%}
|
|
{%- set labels = {
|
|
'action_plan': '行動計畫',
|
|
'price_adjustment': '價格調整',
|
|
'product_pick': '選品攻擊',
|
|
'promotion_review': '活動複核',
|
|
'stockout_followup': '缺貨跟進',
|
|
'competitor_check': '競品複核',
|
|
'margin_repair': '毛利修復',
|
|
'strategy_review': '策略複核',
|
|
'quality_review': '品質複核'
|
|
} -%}
|
|
{%- if value -%}{{ labels.get(value, value|replace('_', ' ')) }}{%- else -%}{{ fallback }}{%- endif -%}
|
|
{%- endmacro %}
|
|
|
|
{% macro metric(value, fallback='未分類指標') -%}
|
|
{%- set labels = {
|
|
'sales': '銷售',
|
|
'revenue': '業績',
|
|
'margin': '毛利',
|
|
'profit': '毛利',
|
|
'conversion': '轉換',
|
|
'price': '價格',
|
|
'stock': '庫存',
|
|
'orders': '訂單',
|
|
'unknown': '未分類指標'
|
|
} -%}
|
|
{%- if value -%}{{ labels.get(value, value|replace('_', ' ')) }}{%- else -%}{{ fallback }}{%- endif -%}
|
|
{%- endmacro %}
|
|
|
|
{% macro insight(value, fallback='未分類洞察') -%}
|
|
{%- set labels = {
|
|
'product_pick': '選品攻擊',
|
|
'price_recommendation': '價格建議',
|
|
'competitor_price': '競品價格',
|
|
'sales_anomaly': '業績異常',
|
|
'budget_strategy': '預算策略',
|
|
'rag_feedback': '知識反饋',
|
|
'ppt_audit': 'PPT 審核',
|
|
'quality_issue': '品質問題',
|
|
'promotion': '活動促銷',
|
|
'market_signal': '市場訊號',
|
|
'strategy': '策略洞察',
|
|
'unknown': '未分類洞察'
|
|
} -%}
|
|
{%- if value -%}{{ labels.get(value, value|replace('_', ' ')) }}{%- else -%}{{ fallback }}{%- endif -%}
|
|
{%- endmacro %}
|
|
|
|
{% macro provider(value, fallback='未分類供應商') -%}
|
|
{%- set labels = {
|
|
'gcp_ollama': '主力建議路徑',
|
|
'ollama_secondary': '備援建議路徑',
|
|
'ollama_111': '第三建議路徑',
|
|
'nim_via_elephant': 'NIM Elephant',
|
|
'gemini': '雲端備援',
|
|
'claude': 'Claude',
|
|
'nim': 'NIM',
|
|
'openrouter': 'OpenRouter',
|
|
'unknown': '未分類供應商'
|
|
} -%}
|
|
{%- if value -%}{{ labels.get(value, value|replace('_', ' ')) }}{%- else -%}{{ fallback }}{%- endif -%}
|
|
{%- endmacro %}
|
|
|
|
{% macro source(value, fallback='未分類來源') -%}
|
|
{%- set labels = {
|
|
'ai_insights': 'AI 知識庫',
|
|
'ai_learning_episodes': '學習片段',
|
|
'ai_price_recommendations': 'AI 價格建議',
|
|
'action_plans': '行動計畫',
|
|
'action_outcomes': '實際結果',
|
|
'competitor_match_attempts': '競品比對',
|
|
'competitor_price_history': '競品價格歷史',
|
|
'ppt_audit_results': 'PPT 審核結果'
|
|
} -%}
|
|
{%- if value -%}{{ labels.get(value, value|replace('_', ' ')) }}{%- else -%}{{ fallback }}{%- endif -%}
|
|
{%- endmacro %}
|