feat(product): 新增产品管理模块与字典组件功能

- 新增产品管理相关路由和页面(dashboard、list、requirement、setting)
- 实现产品基础信息编辑弹窗组件(base-info-dialog.vue)
- 添加运行时字典功能(dict-select、dict-text、dict-tag组件)
- 集成字典管理store和API调用
- 规范ID类型定义为string避免精度丢失问题
- 完善国际化资源文件支持中英文对照
- 新增对象上下文业务域入口页导航实现说明
- 添加Vue DevTools浮动入口注释说明
- 统一权限控制支持全局和对象作用域区分
- 规范分页查询参数类型定义与使用方式
This commit is contained in:
2026-04-23 09:05:55 +08:00
parent c5911ea34b
commit 4122dfa50d
95 changed files with 9581 additions and 801 deletions

View File

@@ -47,6 +47,10 @@ export const views: Record<LastLevelRouteKey, RouteComponent | (() => Promise<Ro
plugin_tables_vtable: () => import("@/views/plugin/tables/vtable/index.vue"),
plugin_typeit: () => import("@/views/plugin/typeit/index.vue"),
plugin_video: () => import("@/views/plugin/video/index.vue"),
product_dashboard: () => import("@/views/product/dashboard/index.vue"),
product_list: () => import("@/views/product/list/index.vue"),
product_requirement: () => import("@/views/product/requirement/index.vue"),
product_setting: () => import("@/views/product/setting/index.vue"),
system_dict: () => import("@/views/system/dict/index.vue"),
system_menu: () => import("@/views/system/menu/index.vue"),
system_post: () => import("@/views/system/post/index.vue"),

View File

@@ -430,6 +430,64 @@ export const generatedRoutes: GeneratedRoute[] = [
}
]
},
{
name: 'product',
path: '/product',
component: 'layout.base',
meta: {
title: 'product',
i18nKey: 'route.product',
icon: 'carbon:product',
order: 4
},
children: [
{
name: 'product_dashboard',
path: '/product/dashboard',
component: 'view.product_dashboard',
meta: {
title: 'product_dashboard',
i18nKey: 'route.product_dashboard',
hideInMenu: true,
activeMenu: 'product_list'
}
},
{
name: 'product_list',
path: '/product/list',
component: 'view.product_list',
meta: {
title: 'product_list',
i18nKey: 'route.product_list',
icon: 'material-symbols:view-list-outline-rounded',
order: 1,
keepAlive: true
}
},
{
name: 'product_requirement',
path: '/product/requirement',
component: 'view.product_requirement',
meta: {
title: 'product_requirement',
i18nKey: 'route.product_requirement',
hideInMenu: true,
activeMenu: 'product_list'
}
},
{
name: 'product_setting',
path: '/product/setting',
component: 'view.product_setting',
meta: {
title: 'product_setting',
i18nKey: 'route.product_setting',
hideInMenu: true,
activeMenu: 'product_list'
}
}
]
},
{
name: 'system',
path: '/system',

View File

@@ -206,6 +206,11 @@ const routeMap: RouteMap = {
"plugin_tables_vtable": "/plugin/tables/vtable",
"plugin_typeit": "/plugin/typeit",
"plugin_video": "/plugin/video",
"product": "/product",
"product_dashboard": "/product/dashboard",
"product_list": "/product/list",
"product_requirement": "/product/requirement",
"product_setting": "/product/setting",
"system": "/system",
"system_dict": "/system/dict",
"system_menu": "/system/menu",