2026-03-26 20:18:20 +08:00
|
|
|
/* eslint-disable */
|
|
|
|
|
/* prettier-ignore */
|
|
|
|
|
// Generated by elegant-router
|
|
|
|
|
// Read more: https://github.com/soybeanjs/elegant-router
|
|
|
|
|
|
|
|
|
|
declare module "@elegant-router/types" {
|
|
|
|
|
type ElegantConstRoute = import('@elegant-router/vue').ElegantConstRoute;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* route layout
|
|
|
|
|
*/
|
|
|
|
|
export type RouteLayout = "base" | "blank";
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* route map
|
|
|
|
|
*/
|
|
|
|
|
export type RouteMap = {
|
|
|
|
|
"root": "/";
|
|
|
|
|
"not-found": "/:pathMatch(.*)*";
|
|
|
|
|
"exception": "/exception";
|
|
|
|
|
"exception_403": "/exception/403";
|
|
|
|
|
"exception_404": "/exception/404";
|
|
|
|
|
"exception_500": "/exception/500";
|
|
|
|
|
"403": "/403";
|
|
|
|
|
"404": "/404";
|
|
|
|
|
"500": "/500";
|
|
|
|
|
"function": "/function";
|
|
|
|
|
"function_hide-child": "/function/hide-child";
|
|
|
|
|
"function_hide-child_one": "/function/hide-child/one";
|
|
|
|
|
"function_hide-child_three": "/function/hide-child/three";
|
|
|
|
|
"function_hide-child_two": "/function/hide-child/two";
|
|
|
|
|
"function_multi-tab": "/function/multi-tab";
|
|
|
|
|
"function_request": "/function/request";
|
|
|
|
|
"function_super-page": "/function/super-page";
|
|
|
|
|
"function_tab": "/function/tab";
|
|
|
|
|
"function_toggle-auth": "/function/toggle-auth";
|
|
|
|
|
"iframe-page": "/iframe-page/:url";
|
2026-05-14 09:05:08 +08:00
|
|
|
"infra": "/infra";
|
|
|
|
|
"infra_rd-code": "/infra/rd-code";
|
|
|
|
|
"infra_state-machine": "/infra/state-machine";
|
2026-03-26 20:18:20 +08:00
|
|
|
"login": "/login/:module(pwd-login|reset-pwd)?";
|
2026-05-14 09:05:08 +08:00
|
|
|
"metrics": "/metrics";
|
|
|
|
|
"metrics_member-efficiency": "/metrics/member-efficiency";
|
|
|
|
|
"metrics_project-progress": "/metrics/project-progress";
|
|
|
|
|
"metrics_worktime": "/metrics/worktime";
|
|
|
|
|
"personal-center": "/personal-center";
|
|
|
|
|
"personal-center_my-application": "/personal-center/my-application";
|
2026-05-19 10:59:07 +08:00
|
|
|
"personal-center_my-item": "/personal-center/my-item";
|
2026-05-14 09:05:08 +08:00
|
|
|
"personal-center_my-monthly": "/personal-center/my-monthly";
|
|
|
|
|
"personal-center_my-performance": "/personal-center/my-performance";
|
|
|
|
|
"personal-center_my-profile": "/personal-center/my-profile";
|
|
|
|
|
"personal-center_my-weekly": "/personal-center/my-weekly";
|
|
|
|
|
"personal-center_pending-approval": "/personal-center/pending-approval";
|
2026-03-26 20:18:20 +08:00
|
|
|
"plugin": "/plugin";
|
|
|
|
|
"plugin_barcode": "/plugin/barcode";
|
|
|
|
|
"plugin_charts": "/plugin/charts";
|
|
|
|
|
"plugin_charts_antv": "/plugin/charts/antv";
|
|
|
|
|
"plugin_charts_echarts": "/plugin/charts/echarts";
|
|
|
|
|
"plugin_charts_vchart": "/plugin/charts/vchart";
|
|
|
|
|
"plugin_copy": "/plugin/copy";
|
|
|
|
|
"plugin_excel": "/plugin/excel";
|
|
|
|
|
"plugin_gantt": "/plugin/gantt";
|
|
|
|
|
"plugin_gantt_dhtmlx": "/plugin/gantt/dhtmlx";
|
|
|
|
|
"plugin_gantt_vtable": "/plugin/gantt/vtable";
|
|
|
|
|
"plugin_icon": "/plugin/icon";
|
|
|
|
|
"plugin_map": "/plugin/map";
|
|
|
|
|
"plugin_pdf": "/plugin/pdf";
|
|
|
|
|
"plugin_pinyin": "/plugin/pinyin";
|
|
|
|
|
"plugin_print": "/plugin/print";
|
|
|
|
|
"plugin_swiper": "/plugin/swiper";
|
|
|
|
|
"plugin_tables": "/plugin/tables";
|
|
|
|
|
"plugin_tables_vtable": "/plugin/tables/vtable";
|
|
|
|
|
"plugin_typeit": "/plugin/typeit";
|
|
|
|
|
"plugin_video": "/plugin/video";
|
2026-04-23 09:05:55 +08:00
|
|
|
"product": "/product";
|
|
|
|
|
"product_dashboard": "/product/dashboard";
|
|
|
|
|
"product_list": "/product/list";
|
|
|
|
|
"product_requirement": "/product/requirement";
|
|
|
|
|
"product_setting": "/product/setting";
|
2026-05-09 11:30:34 +08:00
|
|
|
"project": "/project";
|
|
|
|
|
"project_list": "/project/list";
|
|
|
|
|
"project_project": "/project/project";
|
|
|
|
|
"project_project_execution": "/project/project/execution";
|
|
|
|
|
"project_project_overview": "/project/project/overview";
|
|
|
|
|
"project_project_requirement": "/project/project/requirement";
|
|
|
|
|
"project_project_setting": "/project/project/setting";
|
2026-03-26 20:18:20 +08:00
|
|
|
"system": "/system";
|
|
|
|
|
"system_dict": "/system/dict";
|
|
|
|
|
"system_menu": "/system/menu";
|
|
|
|
|
"system_post": "/system/post";
|
|
|
|
|
"system_role": "/system/role";
|
|
|
|
|
"system_user": "/system/user";
|
|
|
|
|
"system_user-detail": "/system/user-detail/:id";
|
2026-04-08 16:03:26 +08:00
|
|
|
"system_user-management-relation": "/system/user-management-relation";
|
2026-05-14 09:05:08 +08:00
|
|
|
"ticket": "/ticket";
|
|
|
|
|
"ticket_my-pending": "/ticket/my-pending";
|
|
|
|
|
"ticket_my-submitted": "/ticket/my-submitted";
|
|
|
|
|
"workbench": "/workbench";
|
2026-03-26 20:18:20 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* route key
|
|
|
|
|
*/
|
|
|
|
|
export type RouteKey = keyof RouteMap;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* route path
|
|
|
|
|
*/
|
|
|
|
|
export type RoutePath = RouteMap[RouteKey];
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* custom route key
|
|
|
|
|
*/
|
|
|
|
|
export type CustomRouteKey = Extract<
|
|
|
|
|
RouteKey,
|
|
|
|
|
| "root"
|
|
|
|
|
| "not-found"
|
|
|
|
|
| "exception"
|
|
|
|
|
| "exception_403"
|
|
|
|
|
| "exception_404"
|
|
|
|
|
| "exception_500"
|
|
|
|
|
>;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* the generated route key
|
|
|
|
|
*/
|
|
|
|
|
export type GeneratedRouteKey = Exclude<RouteKey, CustomRouteKey>;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* the first level route key, which contain the layout of the route
|
|
|
|
|
*/
|
|
|
|
|
export type FirstLevelRouteKey = Extract<
|
|
|
|
|
RouteKey,
|
|
|
|
|
| "403"
|
|
|
|
|
| "404"
|
|
|
|
|
| "500"
|
|
|
|
|
| "function"
|
|
|
|
|
| "iframe-page"
|
2026-05-14 09:05:08 +08:00
|
|
|
| "infra"
|
2026-03-26 20:18:20 +08:00
|
|
|
| "login"
|
2026-05-14 09:05:08 +08:00
|
|
|
| "metrics"
|
|
|
|
|
| "personal-center"
|
2026-03-26 20:18:20 +08:00
|
|
|
| "plugin"
|
2026-04-23 09:05:55 +08:00
|
|
|
| "product"
|
2026-05-09 11:30:34 +08:00
|
|
|
| "project"
|
2026-03-26 20:18:20 +08:00
|
|
|
| "system"
|
2026-05-14 09:05:08 +08:00
|
|
|
| "ticket"
|
|
|
|
|
| "workbench"
|
2026-03-26 20:18:20 +08:00
|
|
|
>;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* the custom first level route key
|
|
|
|
|
*/
|
|
|
|
|
export type CustomFirstLevelRouteKey = Extract<
|
|
|
|
|
CustomRouteKey,
|
|
|
|
|
| "root"
|
|
|
|
|
| "not-found"
|
|
|
|
|
| "exception"
|
|
|
|
|
>;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* the last level route key, which has the page file
|
|
|
|
|
*/
|
|
|
|
|
export type LastLevelRouteKey = Extract<
|
|
|
|
|
RouteKey,
|
|
|
|
|
| "403"
|
|
|
|
|
| "404"
|
|
|
|
|
| "500"
|
|
|
|
|
| "iframe-page"
|
|
|
|
|
| "login"
|
|
|
|
|
| "function_hide-child_one"
|
|
|
|
|
| "function_hide-child_three"
|
|
|
|
|
| "function_hide-child_two"
|
|
|
|
|
| "function_multi-tab"
|
|
|
|
|
| "function_request"
|
|
|
|
|
| "function_super-page"
|
|
|
|
|
| "function_tab"
|
|
|
|
|
| "function_toggle-auth"
|
2026-05-14 09:05:08 +08:00
|
|
|
| "infra_rd-code"
|
|
|
|
|
| "infra_state-machine"
|
|
|
|
|
| "metrics_member-efficiency"
|
|
|
|
|
| "metrics_project-progress"
|
|
|
|
|
| "metrics_worktime"
|
|
|
|
|
| "personal-center_my-application"
|
2026-05-19 10:59:07 +08:00
|
|
|
| "personal-center_my-item"
|
2026-05-14 09:05:08 +08:00
|
|
|
| "personal-center_my-monthly"
|
|
|
|
|
| "personal-center_my-performance"
|
|
|
|
|
| "personal-center_my-profile"
|
|
|
|
|
| "personal-center_my-weekly"
|
|
|
|
|
| "personal-center_pending-approval"
|
2026-03-26 20:18:20 +08:00
|
|
|
| "plugin_barcode"
|
|
|
|
|
| "plugin_charts_antv"
|
|
|
|
|
| "plugin_charts_echarts"
|
|
|
|
|
| "plugin_charts_vchart"
|
|
|
|
|
| "plugin_copy"
|
|
|
|
|
| "plugin_excel"
|
|
|
|
|
| "plugin_gantt_dhtmlx"
|
|
|
|
|
| "plugin_gantt_vtable"
|
|
|
|
|
| "plugin_icon"
|
|
|
|
|
| "plugin_map"
|
|
|
|
|
| "plugin_pdf"
|
|
|
|
|
| "plugin_pinyin"
|
|
|
|
|
| "plugin_print"
|
|
|
|
|
| "plugin_swiper"
|
|
|
|
|
| "plugin_tables_vtable"
|
|
|
|
|
| "plugin_typeit"
|
|
|
|
|
| "plugin_video"
|
2026-04-23 09:05:55 +08:00
|
|
|
| "product_dashboard"
|
|
|
|
|
| "product_list"
|
|
|
|
|
| "product_requirement"
|
|
|
|
|
| "product_setting"
|
2026-05-09 11:30:34 +08:00
|
|
|
| "project_list"
|
|
|
|
|
| "project_project_execution"
|
|
|
|
|
| "project_project_overview"
|
|
|
|
|
| "project_project_requirement"
|
|
|
|
|
| "project_project_setting"
|
2026-03-26 20:18:20 +08:00
|
|
|
| "system_dict"
|
|
|
|
|
| "system_menu"
|
|
|
|
|
| "system_post"
|
|
|
|
|
| "system_role"
|
|
|
|
|
| "system_user-detail"
|
2026-04-08 16:03:26 +08:00
|
|
|
| "system_user-management-relation"
|
2026-03-26 20:18:20 +08:00
|
|
|
| "system_user"
|
2026-05-14 09:05:08 +08:00
|
|
|
| "ticket_my-pending"
|
|
|
|
|
| "ticket_my-submitted"
|
|
|
|
|
| "workbench"
|
2026-03-26 20:18:20 +08:00
|
|
|
>;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* the custom last level route key
|
|
|
|
|
*/
|
|
|
|
|
export type CustomLastLevelRouteKey = Extract<
|
|
|
|
|
CustomRouteKey,
|
|
|
|
|
| "root"
|
|
|
|
|
| "not-found"
|
|
|
|
|
| "exception_403"
|
|
|
|
|
| "exception_404"
|
|
|
|
|
| "exception_500"
|
|
|
|
|
>;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* the single level route key
|
|
|
|
|
*/
|
|
|
|
|
export type SingleLevelRouteKey = FirstLevelRouteKey & LastLevelRouteKey;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* the custom single level route key
|
|
|
|
|
*/
|
|
|
|
|
export type CustomSingleLevelRouteKey = CustomFirstLevelRouteKey & CustomLastLevelRouteKey;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* the first level route key, but not the single level
|
|
|
|
|
*/
|
|
|
|
|
export type FirstLevelRouteNotSingleKey = Exclude<FirstLevelRouteKey, SingleLevelRouteKey>;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* the custom first level route key, but not the single level
|
|
|
|
|
*/
|
|
|
|
|
export type CustomFirstLevelRouteNotSingleKey = Exclude<CustomFirstLevelRouteKey, CustomSingleLevelRouteKey>;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* the center level route key
|
|
|
|
|
*/
|
|
|
|
|
export type CenterLevelRouteKey = Exclude<GeneratedRouteKey, FirstLevelRouteKey | LastLevelRouteKey>;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* the custom center level route key
|
|
|
|
|
*/
|
|
|
|
|
export type CustomCenterLevelRouteKey = Exclude<CustomRouteKey, CustomFirstLevelRouteKey | CustomLastLevelRouteKey>;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* the center level route key
|
|
|
|
|
*/
|
|
|
|
|
type GetChildRouteKey<K extends RouteKey, T extends RouteKey = RouteKey> = T extends `${K}_${infer R}`
|
|
|
|
|
? R extends `${string}_${string}`
|
|
|
|
|
? never
|
|
|
|
|
: T
|
|
|
|
|
: never;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* the single level route
|
|
|
|
|
*/
|
|
|
|
|
type SingleLevelRoute<K extends SingleLevelRouteKey = SingleLevelRouteKey> = K extends string
|
|
|
|
|
? Omit<ElegantConstRoute, 'children'> & {
|
|
|
|
|
name: K;
|
|
|
|
|
path: RouteMap[K];
|
|
|
|
|
component: `layout.${RouteLayout}$view.${K}`;
|
|
|
|
|
}
|
|
|
|
|
: never;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* the last level route
|
|
|
|
|
*/
|
|
|
|
|
type LastLevelRoute<K extends GeneratedRouteKey> = K extends LastLevelRouteKey
|
|
|
|
|
? Omit<ElegantConstRoute, 'children'> & {
|
|
|
|
|
name: K;
|
|
|
|
|
path: RouteMap[K];
|
|
|
|
|
component: `view.${K}`;
|
|
|
|
|
}
|
|
|
|
|
: never;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* the center level route
|
|
|
|
|
*/
|
|
|
|
|
type CenterLevelRoute<K extends GeneratedRouteKey> = K extends CenterLevelRouteKey
|
|
|
|
|
? Omit<ElegantConstRoute, 'component'> & {
|
|
|
|
|
name: K;
|
|
|
|
|
path: RouteMap[K];
|
|
|
|
|
children: (CenterLevelRoute<GetChildRouteKey<K>> | LastLevelRoute<GetChildRouteKey<K>>)[];
|
|
|
|
|
}
|
|
|
|
|
: never;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* the multi level route
|
|
|
|
|
*/
|
|
|
|
|
type MultiLevelRoute<K extends FirstLevelRouteNotSingleKey = FirstLevelRouteNotSingleKey> = K extends string
|
|
|
|
|
? ElegantConstRoute & {
|
|
|
|
|
name: K;
|
|
|
|
|
path: RouteMap[K];
|
|
|
|
|
component: `layout.${RouteLayout}`;
|
|
|
|
|
children: (CenterLevelRoute<GetChildRouteKey<K>> | LastLevelRoute<GetChildRouteKey<K>>)[];
|
|
|
|
|
}
|
|
|
|
|
: never;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* the custom first level route
|
|
|
|
|
*/
|
|
|
|
|
type CustomSingleLevelRoute<K extends CustomFirstLevelRouteKey = CustomFirstLevelRouteKey> = K extends string
|
|
|
|
|
? Omit<ElegantConstRoute, 'children'> & {
|
|
|
|
|
name: K;
|
|
|
|
|
path: RouteMap[K];
|
|
|
|
|
component?: `layout.${RouteLayout}$view.${LastLevelRouteKey}`;
|
|
|
|
|
}
|
|
|
|
|
: never;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* the custom last level route
|
|
|
|
|
*/
|
|
|
|
|
type CustomLastLevelRoute<K extends CustomRouteKey> = K extends CustomLastLevelRouteKey
|
|
|
|
|
? Omit<ElegantConstRoute, 'children'> & {
|
|
|
|
|
name: K;
|
|
|
|
|
path: RouteMap[K];
|
|
|
|
|
component?: `view.${LastLevelRouteKey}`;
|
|
|
|
|
}
|
|
|
|
|
: never;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* the custom center level route
|
|
|
|
|
*/
|
|
|
|
|
type CustomCenterLevelRoute<K extends CustomRouteKey> = K extends CustomCenterLevelRouteKey
|
|
|
|
|
? Omit<ElegantConstRoute, 'component'> & {
|
|
|
|
|
name: K;
|
|
|
|
|
path: RouteMap[K];
|
|
|
|
|
children: (CustomCenterLevelRoute<GetChildRouteKey<K>> | CustomLastLevelRoute<GetChildRouteKey<K>>)[];
|
|
|
|
|
}
|
|
|
|
|
: never;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* the custom multi level route
|
|
|
|
|
*/
|
|
|
|
|
type CustomMultiLevelRoute<K extends CustomFirstLevelRouteNotSingleKey = CustomFirstLevelRouteNotSingleKey> =
|
|
|
|
|
K extends string
|
|
|
|
|
? ElegantConstRoute & {
|
|
|
|
|
name: K;
|
|
|
|
|
path: RouteMap[K];
|
|
|
|
|
component: `layout.${RouteLayout}`;
|
|
|
|
|
children: (CustomCenterLevelRoute<GetChildRouteKey<K>> | CustomLastLevelRoute<GetChildRouteKey<K>>)[];
|
|
|
|
|
}
|
|
|
|
|
: never;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* the custom route
|
|
|
|
|
*/
|
|
|
|
|
type CustomRoute = CustomSingleLevelRoute | CustomMultiLevelRoute;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* the generated route
|
|
|
|
|
*/
|
|
|
|
|
type GeneratedRoute = SingleLevelRoute | MultiLevelRoute;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* the elegant route
|
|
|
|
|
*/
|
|
|
|
|
type ElegantRoute = GeneratedRoute | CustomRoute;
|
|
|
|
|
}
|