42 lines
1.4 KiB
JavaScript
42 lines
1.4 KiB
JavaScript
import { defineAsyncComponent } from 'vue'
|
|
import { VEHICLE_API_TITLES } from './vehicleReportRegistry'
|
|
|
|
/** 已单独实现 UI 的 apiID */
|
|
const VEHICLE_COMPONENT_LOADERS = {
|
|
QCXG7A2B: () => import('@/ui/CQCXG7A2B.vue'),
|
|
QCXG9P1C: () => import('@/ui/CQCXG9P1C.vue'),
|
|
QCXG4D2E: () => import('@/ui/CQCXG4D2E.vue'),
|
|
QCXG5F3A: () => import('@/ui/CQCXG5F3A.vue'),
|
|
QCXG5U0Z: () => import('@/ui/CQCXG5U0Z.vue'),
|
|
QCXGGB2Q: () => import('@/ui/CQCXGGB2Q.vue'),
|
|
QCXGYTS2: () => import('@/ui/CQCXGYTS2.vue'),
|
|
QCXG1H7Y: () => import('@/ui/CQCXG1H7Y.vue'),
|
|
QCXG4I1Z: () => import('@/ui/CQCXG4I1Z.vue'),
|
|
QCXG1U4U: () => import('@/ui/CQCXG1U4U.vue'),
|
|
QCXG3Y6B: () => import('@/ui/CQCXG3Y6B.vue'),
|
|
QCXG3Z3L: () => import('@/ui/CQCXG3Z3L.vue'),
|
|
QCXG6B4E: () => import('@/ui/CQCXG6B4E.vue'),
|
|
QCXGP00W: () => import('@/ui/CQCXGP00W.vue'),
|
|
QCXGY7F2: () => import('@/ui/CQCXGY7F2.vue'),
|
|
}
|
|
|
|
const fallbackLoader = () => import('@/ui/CQCXGFallback.vue')
|
|
|
|
export const vehicleFeatureMap = Object.fromEntries(
|
|
Object.entries(VEHICLE_API_TITLES).map(([apiId, name]) => {
|
|
const loader = VEHICLE_COMPONENT_LOADERS[apiId] || fallbackLoader
|
|
return [
|
|
apiId,
|
|
{
|
|
name,
|
|
component: defineAsyncComponent(loader),
|
|
},
|
|
]
|
|
}),
|
|
)
|
|
|
|
/** 车辆类模块默认低风险权重 */
|
|
export const vehicleFeatureRiskLevels = Object.fromEntries(
|
|
Object.keys(VEHICLE_API_TITLES).map(id => [id, 10]),
|
|
)
|