feat(platform): close AI expense value loop
Add tenant-safe value, telemetry, connector, commercial, and production-readiness foundations.
This commit is contained in:
@@ -9,6 +9,16 @@
|
||||
/>
|
||||
</div>
|
||||
<template v-else>
|
||||
<CommercialWorkspace
|
||||
v-if="activeDashboard === 'commercial'"
|
||||
:current-user="currentUser"
|
||||
/>
|
||||
<CfoValueDashboard
|
||||
v-else-if="activeDashboard === 'value'"
|
||||
:active-range="activeRange"
|
||||
:custom-range="customRange"
|
||||
/>
|
||||
<template v-else>
|
||||
<div class="kpi-grid">
|
||||
<article
|
||||
v-for="metric in activeKpiMetrics"
|
||||
@@ -31,6 +41,11 @@
|
||||
</article>
|
||||
</div>
|
||||
|
||||
<FinancialConnectorHealthPanel
|
||||
v-if="activeDashboard === 'finance'"
|
||||
:current-user="currentUser"
|
||||
/>
|
||||
|
||||
<template v-if="activeDashboard === 'finance'">
|
||||
<div class="content-grid top-grid">
|
||||
<article class="panel dashboard-card trend-panel">
|
||||
@@ -323,6 +338,7 @@
|
||||
</aside>
|
||||
</div>
|
||||
</template>
|
||||
</template>
|
||||
</template>
|
||||
</section>
|
||||
</template>
|
||||
@@ -339,7 +355,10 @@ import SystemAgentRatioBar from '../components/charts/SystemAgentRatioBar.vue'
|
||||
import SystemLoginWaveChart from '../components/charts/SystemLoginWaveChart.vue'
|
||||
import SystemTokenDailyWaveChart from '../components/charts/SystemTokenDailyWaveChart.vue'
|
||||
import SystemUserTokenPie from '../components/charts/SystemUserTokenPie.vue'
|
||||
import CommercialWorkspace from '../components/commercial/CommercialWorkspace.vue'
|
||||
import CfoValueDashboard from '../components/dashboard/CfoValueDashboard.vue'
|
||||
import DigitalEmployeeDashboard from '../components/dashboard/DigitalEmployeeDashboard.vue'
|
||||
import FinancialConnectorHealthPanel from '../components/dashboard/FinancialConnectorHealthPanel.vue'
|
||||
import RiskObservationDashboard from '../components/dashboard/RiskObservationDashboard.vue'
|
||||
import TableLoadingState from '../components/shared/TableLoadingState.vue'
|
||||
|
||||
@@ -348,6 +367,7 @@ import { useOverviewView } from '../composables/useOverviewView.js'
|
||||
const props = defineProps({
|
||||
filteredRequests: { type: Array, required: true },
|
||||
dashboard: { type: String, default: 'finance' },
|
||||
currentUser: { type: Object, default: () => ({}) },
|
||||
activeRange: { type: String, default: '近10日' },
|
||||
customRange: {
|
||||
type: Object,
|
||||
@@ -401,18 +421,24 @@ const {
|
||||
} = useOverviewView(props)
|
||||
|
||||
const activeDashboard = computed(() => {
|
||||
if (props.dashboard === 'commercial') return 'commercial'
|
||||
if (props.dashboard === 'value') return 'value'
|
||||
if (props.dashboard === 'system') return 'system'
|
||||
if (props.dashboard === 'risk') return 'risk'
|
||||
if (props.dashboard === 'digitalEmployee') return 'digitalEmployee'
|
||||
return 'finance'
|
||||
})
|
||||
const activeKpiMetrics = computed(() => {
|
||||
if (activeDashboard.value === 'commercial') return []
|
||||
if (activeDashboard.value === 'value') return []
|
||||
if (activeDashboard.value === 'system') return systemKpiMetrics.value
|
||||
if (activeDashboard.value === 'digitalEmployee') return digitalEmployeeKpiMetrics.value
|
||||
if (activeDashboard.value === 'risk') return riskKpiMetrics.value
|
||||
return kpiMetrics.value
|
||||
})
|
||||
const activeDashboardLoading = computed(() => {
|
||||
if (activeDashboard.value === 'commercial') return false
|
||||
if (activeDashboard.value === 'value') return false
|
||||
if (activeDashboard.value === 'system') {
|
||||
return systemDashboardLoading.value
|
||||
}
|
||||
@@ -425,6 +451,8 @@ const activeDashboardLoading = computed(() => {
|
||||
return financeDashboardLoading.value
|
||||
})
|
||||
const activeDashboardLoadingText = computed(() => {
|
||||
if (activeDashboard.value === 'commercial') return '正在加载商业化管理与价值证明数据'
|
||||
if (activeDashboard.value === 'value') return '正在加载经营价值看板数据'
|
||||
if (activeDashboard.value === 'system') return '正在加载系统看板数据'
|
||||
if (activeDashboard.value === 'digitalEmployee') return '正在加载数字员工看板数据'
|
||||
if (activeDashboard.value === 'risk') return '正在加载风险看板数据'
|
||||
|
||||
Reference in New Issue
Block a user