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:
@@ -169,6 +169,11 @@ const local: App.I18n.Schema = {
|
||||
function_request: '请求',
|
||||
'function_toggle-auth': '切换权限',
|
||||
'function_super-page': '超级管理员可见',
|
||||
product: '产品管理',
|
||||
product_list: '产品列表',
|
||||
product_dashboard: '产品仪表盘',
|
||||
product_requirement: '需求池',
|
||||
product_setting: '产品设置',
|
||||
system: '系统管理',
|
||||
system_user: '用户管理',
|
||||
'system_user-detail': '用户详情',
|
||||
@@ -343,6 +348,14 @@ const local: App.I18n.Schema = {
|
||||
status: {
|
||||
enable: '启用',
|
||||
disable: '禁用'
|
||||
},
|
||||
scopeType: {
|
||||
global: '全域',
|
||||
object: '对象域'
|
||||
},
|
||||
objectType: {
|
||||
product: '产品',
|
||||
project: '项目'
|
||||
}
|
||||
},
|
||||
role: {
|
||||
@@ -358,7 +371,7 @@ const local: App.I18n.Schema = {
|
||||
roleStatus: '角色状态',
|
||||
roleDesc: '角色描述',
|
||||
remark: '备注',
|
||||
sort: '显示顺序',
|
||||
sort: '排序',
|
||||
createTime: '创建时间',
|
||||
menuAuth: '菜单权限',
|
||||
buttonAuth: '按钮权限',
|
||||
@@ -366,6 +379,13 @@ const local: App.I18n.Schema = {
|
||||
selectedCount: '已选资源',
|
||||
disabledTip: '禁用角色不允许分配菜单权限',
|
||||
emptyRole: '请先选择角色',
|
||||
currentRoleCount: '当前角色数',
|
||||
globalRoleTitle: '全域角色',
|
||||
objectRoleTitle: '对象域角色模板',
|
||||
globalRoleSummary: '当前维护登录态全域角色及其资源授权关系。',
|
||||
objectRoleSummary: '当前维护对象域角色模板及其可授权资源关系,不参与登录态全局菜单导航。',
|
||||
objectRoleSummaryProduct: '当前维护产品域角色模板及其可授权资源关系,不参与登录态全局菜单导航。',
|
||||
objectRoleSummaryProject: '当前维护项目域角色模板及其可授权资源关系,不参与登录态全局菜单导航。',
|
||||
lastAuthSave: '最近一次授权保存',
|
||||
unsavedTip: '授权变更后请记得保存',
|
||||
form: {
|
||||
@@ -374,7 +394,7 @@ const local: App.I18n.Schema = {
|
||||
roleStatus: '请选择角色状态',
|
||||
roleDesc: '请输入角色描述',
|
||||
remark: '请输入备注',
|
||||
sort: '请输入显示顺序',
|
||||
sort: '请输入排序',
|
||||
resourceKeyword: '输入资源名称过滤权限树',
|
||||
startTime: '开始时间',
|
||||
endTime: '结束时间'
|
||||
@@ -491,6 +511,7 @@ const local: App.I18n.Schema = {
|
||||
routeKind: '路由类型',
|
||||
routePropsJson: '路由参数 JSON',
|
||||
pageResource: '页面资源',
|
||||
boundRoute: '绑定路由',
|
||||
component: '组件路径',
|
||||
componentName: '组件名称',
|
||||
iframeUrl: 'iframe 地址',
|
||||
@@ -520,6 +541,36 @@ const local: App.I18n.Schema = {
|
||||
alwaysShow: '总是显示子菜单',
|
||||
createTime: '创建时间',
|
||||
topLevel: '顶级菜单',
|
||||
scopeType: '作用域',
|
||||
objectType: '对象类型',
|
||||
resourceCode: '资源编码',
|
||||
contextEyebrow: '菜单配置上下文',
|
||||
contextTitle: '统一作用域资源配置',
|
||||
contextDescription: '用同一套菜单页同时承接全域路由资源与对象域权限资源,避免为产品和项目再拆多套重复页面。',
|
||||
currentContext: '当前上下文',
|
||||
currentResourceCount: '当前资源数',
|
||||
editorMode: '编辑模式',
|
||||
editorModeGlobal: '路由型资源编辑器',
|
||||
editorModeObject: '对象导航编辑器',
|
||||
globalResourceTitle: '全域菜单资源',
|
||||
objectResourceTitle: '对象域资源',
|
||||
globalResourceSummary: '当前维护登录态菜单、路由映射与全局按钮权限资源。',
|
||||
objectResourceSummary: '当前维护对象域导航项与操作按钮。导航项绑定真实页面路由,操作按钮用于对象内权限点。',
|
||||
objectResourceSummaryProduct:
|
||||
'当前维护产品域导航项与操作按钮。导航项绑定真实页面路由,操作按钮用于产品对象内权限点。',
|
||||
objectResourceSummaryProject:
|
||||
'当前维护项目域导航项与操作按钮。导航项绑定真实页面路由,操作按钮用于项目对象内权限点。',
|
||||
scopeHintGlobal: '全域模式下保留现有路由型资源编辑方式,用于登录态菜单与全局按钮权限链路。',
|
||||
scopeHintObject: '对象域模式下维护导航项和操作按钮。导航项绑定真实页面资源,操作按钮只维护权限标识。',
|
||||
objectTypePlaceholder: '请选择对象类型',
|
||||
contextReady: '已选定配置范围',
|
||||
contextPending: '等待选择对象类型',
|
||||
objectTypeRequiredTitle: '请先选择对象类型',
|
||||
objectTypeRequiredDescription:
|
||||
'对象域资源必须先明确配置范围,例如产品或项目。选定后再加载树形资源列表和编辑弹层。',
|
||||
objectModeTipTitle: '对象域当前配置的是对象导航项和操作按钮',
|
||||
objectModeTipDescription:
|
||||
'第一版对象域菜单页只开放导航项和操作按钮。导航项通过绑定真实页面路由建立对象内头部导航,操作按钮只维护权限标识;暂不开放目录配置。',
|
||||
sections: {
|
||||
basic: '基础信息',
|
||||
route: '路由信息',
|
||||
@@ -531,6 +582,7 @@ const local: App.I18n.Schema = {
|
||||
parentId: '请选择父级菜单',
|
||||
menuName: '请输入菜单名称',
|
||||
permission: '请输入权限标识',
|
||||
resourceCode: '请输入资源编码',
|
||||
routeName: '请输入路由名称',
|
||||
routePath: '请输入路由路径',
|
||||
path: '请输入路由地址',
|
||||
@@ -538,6 +590,7 @@ const local: App.I18n.Schema = {
|
||||
componentName: '请输入组件名称',
|
||||
routeKind: '请选择路由类型',
|
||||
pageResource: '请选择页面资源',
|
||||
boundRoute: '请选择绑定路由',
|
||||
pageResourceParentMismatch: '所选页面资源与当前父级菜单层级不匹配',
|
||||
routePropsJson: '请输入合法的 JSON 字符串',
|
||||
routePropsJsonHint: '例如 {"url":"https://example.com"}',
|
||||
@@ -581,6 +634,8 @@ const local: App.I18n.Schema = {
|
||||
routePath: '路由地址填写访问路径中的末级段。以“角色管理”为例,完整地址是 /system/role,这里通常填写 role。',
|
||||
pageResource:
|
||||
'普通页面请从前端页面资源白名单中选择。例如角色管理对应 /system/role,与组件键 view.system_role。',
|
||||
boundRoute:
|
||||
'对象域导航项请绑定真实对象页面路由。例如产品域可绑定 /product/dashboard、/product/requirement 等页面。',
|
||||
component:
|
||||
'组件路径填写前端页面资源白名单中的组件键,不是 src 下的文件路径。以“角色管理”为例,可填写或选择 view.system_role。'
|
||||
},
|
||||
@@ -590,7 +645,9 @@ const local: App.I18n.Schema = {
|
||||
type: {
|
||||
directory: '目录',
|
||||
menu: '菜单',
|
||||
button: '按钮'
|
||||
button: '按钮',
|
||||
navigation: '导航项',
|
||||
actionButton: '操作按钮'
|
||||
},
|
||||
iconType: {
|
||||
iconify: 'iconify图标',
|
||||
|
||||
Reference in New Issue
Block a user