From c92dbab96a3ef7a878fc7f23fb5a1e8100bf978a Mon Sep 17 00:00:00 2001 From: project-bot Date: Mon, 19 Oct 2026 10:23:12 +0800 Subject: [PATCH] =?UTF-8?q?feat(kb):=20KnowledgePanel=20=E6=8E=A5=E7=BA=BF?= =?UTF-8?q?=206=20=E9=A1=B5=20+=20/maps/canvas=20=E9=94=99=E9=85=8D?= =?UTF-8?q?=E6=B6=88=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - /budget /kpis /deviations /predict /maps-review /alerts 六页按 related_page 挂载 KnowledgePanel - /maps/canvas 页 prop 由 /maps 更正为 /maps/canvas(与表值一致,消除恒取空) - 匹配口径走 backend/app/utils/route_key.py(origin/main 已有,KBFF-v11c 精确等值) - 验证:本地产物 CDP 冒烟 18/18(六页 dom=api=1;/maps 命中 0 负对照) --- frontend/src/views/AlertList.vue | 3 +++ frontend/src/views/BudgetManagement.vue | 3 +++ frontend/src/views/DeviationDashboard.vue | 3 +++ frontend/src/views/KPIList.vue | 3 +++ frontend/src/views/MapCanvas.vue | 2 +- frontend/src/views/MapReview.vue | 3 +++ frontend/src/views/PredictDashboard.vue | 3 +++ 7 files changed, 19 insertions(+), 1 deletion(-) diff --git a/frontend/src/views/AlertList.vue b/frontend/src/views/AlertList.vue index 3530e009..3fe3bf4b 100644 --- a/frontend/src/views/AlertList.vue +++ b/frontend/src/views/AlertList.vue @@ -360,6 +360,8 @@ 保存 + + @@ -372,6 +374,7 @@ import BotSourceTag from '../components/BotSourceTag.vue' import RiskCell from '../components/charts/RiskCell.vue' import { sessionEntityName } from '../utils/entity' import MyDialog from '../components/MyDialog.vue' +import KnowledgePanel from '../components/KnowledgePanel.vue' const route = useRoute() const activeTab = ref((route.meta?.tab as string) || 'alerts') diff --git a/frontend/src/views/BudgetManagement.vue b/frontend/src/views/BudgetManagement.vue index 9dcf2a26..69671757 100644 --- a/frontend/src/views/BudgetManagement.vue +++ b/frontend/src/views/BudgetManagement.vue @@ -769,6 +769,8 @@ + + @@ -778,6 +780,7 @@ import { ElMessage, ElMessageBox } from 'element-plus' import { budgetApi, kpiApi, mapApi, actionPlanApi } from '../api/index' import MyDialog from '../components/MyDialog.vue' import DriverFactorBudget from '../components/DriverFactorBudget.vue' +import KnowledgePanel from '../components/KnowledgePanel.vue' const activeTab = ref('input') const currentYear = new Date().getFullYear() diff --git a/frontend/src/views/DeviationDashboard.vue b/frontend/src/views/DeviationDashboard.vue index eaf850e8..39c95e92 100644 --- a/frontend/src/views/DeviationDashboard.vue +++ b/frontend/src/views/DeviationDashboard.vue @@ -184,6 +184,8 @@ + + @@ -191,6 +193,7 @@ import { ref, computed, onMounted, watch } from 'vue' import { ElMessage } from 'element-plus' import { budgetApi, kpiApi } from '../api/index' +import KnowledgePanel from '../components/KnowledgePanel.vue' const currentYear = new Date().getFullYear() const yearOptions = computed(() => { diff --git a/frontend/src/views/KPIList.vue b/frontend/src/views/KPIList.vue index 93bd511f..26269f3d 100644 --- a/frontend/src/views/KPIList.vue +++ b/frontend/src/views/KPIList.vue @@ -398,6 +398,8 @@ 从模板创建 + + @@ -407,6 +409,7 @@ import { ElMessage, ElMessageBox } from 'element-plus' import { kpiApi, templateApi, dashboardApi, userApi, orgApi } from '../api/index' import MyDialog from '../components/MyDialog.vue' import { useFormGuard, trackDialogForm } from '../composables/useFormGuard' +import KnowledgePanel from '../components/KnowledgePanel.vue' // ── 数据 ── const kpis = ref([]) diff --git a/frontend/src/views/MapCanvas.vue b/frontend/src/views/MapCanvas.vue index cb361cad..05f51a42 100644 --- a/frontend/src/views/MapCanvas.vue +++ b/frontend/src/views/MapCanvas.vue @@ -185,7 +185,7 @@
- +
diff --git a/frontend/src/views/MapReview.vue b/frontend/src/views/MapReview.vue index c6bb9b5d..a97efade 100644 --- a/frontend/src/views/MapReview.vue +++ b/frontend/src/views/MapReview.vue @@ -340,6 +340,8 @@ + + @@ -349,6 +351,7 @@ import { useRoute, useRouter } from "vue-router" import { ElMessage } from "element-plus" import api from "../api/index" import MyDialog from '../components/MyDialog.vue' +import KnowledgePanel from '../components/KnowledgePanel.vue' const route = useRoute() const $router = useRouter() diff --git a/frontend/src/views/PredictDashboard.vue b/frontend/src/views/PredictDashboard.vue index 4e157bfb..dc97c916 100644 --- a/frontend/src/views/PredictDashboard.vue +++ b/frontend/src/views/PredictDashboard.vue @@ -434,6 +434,8 @@ + + @@ -442,6 +444,7 @@ import { ref, nextTick } from 'vue' import { ElMessage } from 'element-plus' import { predictApi } from '../api/index' import CostIntelligence from './CostIntelligence.vue' +import KnowledgePanel from '../components/KnowledgePanel.vue' const activeTab = ref('cvp')