- /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 负对照)
This commit is contained in:
@@ -360,6 +360,8 @@
|
|||||||
<el-button type="primary" @click="savePlan" :loading="savingPlan">保存</el-button>
|
<el-button type="primary" @click="savePlan" :loading="savingPlan">保存</el-button>
|
||||||
</template>
|
</template>
|
||||||
</MyDialog>
|
</MyDialog>
|
||||||
|
<!-- KBFF-v1.1: 按 related_page 关联知识接线 · /alerts -->
|
||||||
|
<KnowledgePanel related-page="/alerts" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -372,6 +374,7 @@ import BotSourceTag from '../components/BotSourceTag.vue'
|
|||||||
import RiskCell from '../components/charts/RiskCell.vue'
|
import RiskCell from '../components/charts/RiskCell.vue'
|
||||||
import { sessionEntityName } from '../utils/entity'
|
import { sessionEntityName } from '../utils/entity'
|
||||||
import MyDialog from '../components/MyDialog.vue'
|
import MyDialog from '../components/MyDialog.vue'
|
||||||
|
import KnowledgePanel from '../components/KnowledgePanel.vue'
|
||||||
|
|
||||||
const route = useRoute()
|
const route = useRoute()
|
||||||
const activeTab = ref((route.meta?.tab as string) || 'alerts')
|
const activeTab = ref((route.meta?.tab as string) || 'alerts')
|
||||||
|
|||||||
@@ -769,6 +769,8 @@
|
|||||||
</el-form>
|
</el-form>
|
||||||
<template #footer><el-button @click="showDerivationRuleDialog = false">取消</el-button><el-button type="primary" @click="saveDerivationRule">保存</el-button></template>
|
<template #footer><el-button @click="showDerivationRuleDialog = false">取消</el-button><el-button type="primary" @click="saveDerivationRule">保存</el-button></template>
|
||||||
</MyDialog>
|
</MyDialog>
|
||||||
|
<!-- KBFF-v1.1: 按 related_page 关联知识接线 · /budget -->
|
||||||
|
<KnowledgePanel related-page="/budget" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@@ -778,6 +780,7 @@ import { ElMessage, ElMessageBox } from 'element-plus'
|
|||||||
import { budgetApi, kpiApi, mapApi, actionPlanApi } from '../api/index'
|
import { budgetApi, kpiApi, mapApi, actionPlanApi } from '../api/index'
|
||||||
import MyDialog from '../components/MyDialog.vue'
|
import MyDialog from '../components/MyDialog.vue'
|
||||||
import DriverFactorBudget from '../components/DriverFactorBudget.vue'
|
import DriverFactorBudget from '../components/DriverFactorBudget.vue'
|
||||||
|
import KnowledgePanel from '../components/KnowledgePanel.vue'
|
||||||
|
|
||||||
const activeTab = ref('input')
|
const activeTab = ref('input')
|
||||||
const currentYear = new Date().getFullYear()
|
const currentYear = new Date().getFullYear()
|
||||||
|
|||||||
@@ -184,6 +184,8 @@
|
|||||||
|
|
||||||
<!-- 无数据提示 -->
|
<!-- 无数据提示 -->
|
||||||
<el-empty v-if="!loading && hierarchyData.length === 0 && reportData.length === 0" description="暂无差异分析数据,请先在预算管理中录入预算" style="padding:40px 0;" />
|
<el-empty v-if="!loading && hierarchyData.length === 0 && reportData.length === 0" description="暂无差异分析数据,请先在预算管理中录入预算" style="padding:40px 0;" />
|
||||||
|
<!-- KBFF-v1.1: 按 related_page 关联知识接线 · /deviations -->
|
||||||
|
<KnowledgePanel related-page="/deviations" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -191,6 +193,7 @@
|
|||||||
import { ref, computed, onMounted, watch } from 'vue'
|
import { ref, computed, onMounted, watch } from 'vue'
|
||||||
import { ElMessage } from 'element-plus'
|
import { ElMessage } from 'element-plus'
|
||||||
import { budgetApi, kpiApi } from '../api/index'
|
import { budgetApi, kpiApi } from '../api/index'
|
||||||
|
import KnowledgePanel from '../components/KnowledgePanel.vue'
|
||||||
|
|
||||||
const currentYear = new Date().getFullYear()
|
const currentYear = new Date().getFullYear()
|
||||||
const yearOptions = computed(() => {
|
const yearOptions = computed(() => {
|
||||||
|
|||||||
@@ -398,6 +398,8 @@
|
|||||||
<el-button type="primary" :disabled="!selectedTemplate" @click="doInstantiate">从模板创建</el-button>
|
<el-button type="primary" :disabled="!selectedTemplate" @click="doInstantiate">从模板创建</el-button>
|
||||||
</template>
|
</template>
|
||||||
</MyDialog>
|
</MyDialog>
|
||||||
|
<!-- KBFF-v1.1: 按 related_page 关联知识接线 · /kpis -->
|
||||||
|
<KnowledgePanel related-page="/kpis" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -407,6 +409,7 @@ import { ElMessage, ElMessageBox } from 'element-plus'
|
|||||||
import { kpiApi, templateApi, dashboardApi, userApi, orgApi } from '../api/index'
|
import { kpiApi, templateApi, dashboardApi, userApi, orgApi } from '../api/index'
|
||||||
import MyDialog from '../components/MyDialog.vue'
|
import MyDialog from '../components/MyDialog.vue'
|
||||||
import { useFormGuard, trackDialogForm } from '../composables/useFormGuard'
|
import { useFormGuard, trackDialogForm } from '../composables/useFormGuard'
|
||||||
|
import KnowledgePanel from '../components/KnowledgePanel.vue'
|
||||||
|
|
||||||
// ── 数据 ──
|
// ── 数据 ──
|
||||||
const kpis = ref<any[]>([])
|
const kpis = ref<any[]>([])
|
||||||
|
|||||||
@@ -185,7 +185,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<!-- P1-3: 关联知识点 -->
|
<!-- P1-3: 关联知识点 -->
|
||||||
<div style="margin-top:12px;">
|
<div style="margin-top:12px;">
|
||||||
<KnowledgePanel related-page="/maps" />
|
<KnowledgePanel related-page="/maps/canvas" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|||||||
@@ -340,6 +340,8 @@
|
|||||||
</el-timeline-item>
|
</el-timeline-item>
|
||||||
</el-timeline>
|
</el-timeline>
|
||||||
</MyDialog>
|
</MyDialog>
|
||||||
|
<!-- KBFF-v1.1: 按 related_page 关联知识接线 · /maps-review -->
|
||||||
|
<KnowledgePanel related-page="/maps-review" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -349,6 +351,7 @@ import { useRoute, useRouter } from "vue-router"
|
|||||||
import { ElMessage } from "element-plus"
|
import { ElMessage } from "element-plus"
|
||||||
import api from "../api/index"
|
import api from "../api/index"
|
||||||
import MyDialog from '../components/MyDialog.vue'
|
import MyDialog from '../components/MyDialog.vue'
|
||||||
|
import KnowledgePanel from '../components/KnowledgePanel.vue'
|
||||||
|
|
||||||
const route = useRoute()
|
const route = useRoute()
|
||||||
const $router = useRouter()
|
const $router = useRouter()
|
||||||
|
|||||||
@@ -434,6 +434,8 @@
|
|||||||
<CostIntelligence />
|
<CostIntelligence />
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
</el-tabs>
|
</el-tabs>
|
||||||
|
<!-- KBFF-v1.1: 按 related_page 关联知识接线 · /predict -->
|
||||||
|
<KnowledgePanel related-page="/predict" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -442,6 +444,7 @@ import { ref, nextTick } from 'vue'
|
|||||||
import { ElMessage } from 'element-plus'
|
import { ElMessage } from 'element-plus'
|
||||||
import { predictApi } from '../api/index'
|
import { predictApi } from '../api/index'
|
||||||
import CostIntelligence from './CostIntelligence.vue'
|
import CostIntelligence from './CostIntelligence.vue'
|
||||||
|
import KnowledgePanel from '../components/KnowledgePanel.vue'
|
||||||
|
|
||||||
const activeTab = ref('cvp')
|
const activeTab = ref('cvp')
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user