diff --git a/src/common/config/constant.ts b/src/common/config/constant.ts index f100ce5..f2df48c 100644 --- a/src/common/config/constant.ts +++ b/src/common/config/constant.ts @@ -15,5 +15,8 @@ export const GATEWAY_TIMEOUT_URL = "/500"; export const TEST_URL = "/test"; export const TEST_NAME = "test"; +export const PERMISSION_URL = "/systemset/permission"; +export const PERMISSION_NAME = "permission"; + // 移动端最大宽度 export const mobileMaxWidthMedia = "(max-width: 960px)"; diff --git a/src/common/languages/locales/zh-CN.ts b/src/common/languages/locales/zh-CN.ts index edf30ba..5b194a6 100644 --- a/src/common/languages/locales/zh-CN.ts +++ b/src/common/languages/locales/zh-CN.ts @@ -23,6 +23,7 @@ export default { SYS: "系统管理", SYSUSER: "用户管理", + PERMISSION: "权限管理", warehouse: "仓库管理", warehouse_item: "物料总表", @@ -51,18 +52,33 @@ export default { repair_record: "维修记录", systemset: "系统管理", - syschannel: "栏目管理", + syschannel: "权限管理", key_account: "客户管理", vendor: "供应商管理", store: "仓库管理", sysrecord: "日志列表", sysrole: "角色管理", + sysuser: "用户管理", }, _enum: { outStockType: { material: "物料", finishedProduct: "成品", }, + permissionType: { + menu: "菜单", + tableTopButton: "表格顶部按钮", + tableOperateButton: "表格操作按钮", + statusButton: "状态栏按钮", + }, + userType: { + normal: "普通用户", + admin: "系统管理员", + }, + }, + _common: { + yes: "是", + no: "否", }, _prop: { common: { @@ -402,10 +418,36 @@ export default { roleName: "角色名称", roleType: "角色类型", }, + sysuser: { + loginName: "登录账号", + userName: "姓名", + password: "密码", + confirmPassword: "确认密码", + userType: "用户类型", + role: "角色", + roleNames: "角色", + }, + permission: { + permissionName: "权限名称", + permissionI18n: "国际化键", + permissionType: "权限类型", + permissionCode: "权限编码", + pageLink: "页面路由", + viewLink: "组件路径", + eventName: "事件名称", + className: "样式类名", + iconName: "图标名称", + sort: "排序", + hidden: "是否隐藏", + parentId: "父级权限", + rootNode: "根节点", + selectParent: "选择父级", + }, }, }, _button: { add: "新增", + addChild: "新增子级", edit: "编辑", remove: "删除", batchRemove: "批量删除", @@ -832,6 +874,32 @@ export default { select_roleType: "请选择角色类型", delete_message: "删除角色", }, + sysuser: { + input_loginName: "请输入登录账号", + input_userName: "请输入姓名", + input_password: "请输入密码", + input_password_edit: "不修改请留空", + input_confirmPassword: "请确认密码", + password_min_length: "密码长度不能少于6位", + password_not_match: "两次输入的密码不一致", + select_userType: "请选择用户类型", + select_role: "请选择角色", + delete_message: "删除用户", + }, + permission: { + input_permissionName: "请输入权限名称", + input_permissionI18n: "请输入国际化键", + select_permissionType: "请选择权限类型", + input_permissionCode: "请输入权限编码", + input_pageLink: "请输入页面路由", + input_viewLink: "请输入组件路径", + input_eventName: "请输入事件名称", + input_className: "请输入样式类名", + input_iconName: "请输入图标名称", + input_sort: "请输入排序值", + input_parentId: "请输入父级权限ID,0表示根节点", + delete_message: "删除权限", + }, }, }, _title: { @@ -961,6 +1029,15 @@ export default { add: "添加角色", edit: "编辑角色", }, + sysuser: { + add: "添加用户", + edit: "编辑用户", + }, + permission: { + add: "添加权限", + addChild: "添加子权限", + edit: "编辑权限", + }, }, }, _tabNav: { diff --git a/src/components/base/base-multi-select/BaseMultiSelect.vue b/src/components/base/base-multi-select/BaseMultiSelect.vue new file mode 100644 index 0000000..0f62888 --- /dev/null +++ b/src/components/base/base-multi-select/BaseMultiSelect.vue @@ -0,0 +1,94 @@ + + diff --git a/src/router/routes/dynamic.ts b/src/router/routes/dynamic.ts index 448e556..d7e601b 100644 --- a/src/router/routes/dynamic.ts +++ b/src/router/routes/dynamic.ts @@ -39,7 +39,7 @@ */ import { Compass } from "@element-plus/icons-vue"; -import { HOME_URL, HOME_NAME, TEST_URL, TEST_NAME } from "@/common/config"; +import { HOME_URL, HOME_NAME } from "@/common/config"; /** * 扫描路由文件,获取默认暴露得路由信息 @@ -77,13 +77,4 @@ export const dynamicRoutes: RouterConfigRaw[] = [ tagProps: { type: "success" }, }, }, - { - path: TEST_URL, - name: TEST_NAME, - component: "/systemset/vendor/form", - meta: { - title: "总表", - icon: "ep:Compass", - }, - }, ]; diff --git a/src/router/routes/dynamic/sys.ts b/src/router/routes/dynamic/sys.ts index 737ef1c..8689a9b 100644 --- a/src/router/routes/dynamic/sys.ts +++ b/src/router/routes/dynamic/sys.ts @@ -1,22 +1,22 @@ -import { Compass, Odometer } from "@element-plus/icons-vue"; -import { $t } from "@/common/languages"; +// import { Compass, Odometer } from "@element-plus/icons-vue"; +// import { $t } from "@/common/languages"; -export const sysRoutes: RouterConfigRaw = { - path: "/sys", - name: "sys", - meta: { - title: $t("{{ _route.SYS }}"), - icon: Odometer, - }, - children: [ - { - path: "/sys/sysuser", - name: "sysuser", - component: "/sys/sysuser/index", - meta: { - title: $t("{{ _route.SYSUSER }}"), - icon: Compass, - }, - }, - ], -}; +// export const sysRoutes: RouterConfigRaw = { +// path: "/sys", +// name: "sys", +// meta: { +// title: $t("{{ _route.SYS }}"), +// icon: Odometer, +// }, +// children: [ +// { +// path: "/sys/sysuser", +// name: "sysuser", +// component: "/sys/sysuser/index", +// meta: { +// title: $t("{{ _route.SYSUSER }}"), +// icon: Compass, +// }, +// }, +// ], +// }; diff --git a/src/views/sys/sysuser/FormView.vue b/src/views/sys/sysuser/FormView.vue deleted file mode 100644 index b6300f5..0000000 --- a/src/views/sys/sysuser/FormView.vue +++ /dev/null @@ -1,40 +0,0 @@ - - - diff --git a/src/views/sys/sysuser/SysUserView.vue b/src/views/sys/sysuser/SysUserView.vue new file mode 100644 index 0000000..727c8c5 --- /dev/null +++ b/src/views/sys/sysuser/SysUserView.vue @@ -0,0 +1,121 @@ + + diff --git a/src/views/sys/sysuser/UserFormDialog.vue b/src/views/sys/sysuser/UserFormDialog.vue new file mode 100644 index 0000000..ab4c434 --- /dev/null +++ b/src/views/sys/sysuser/UserFormDialog.vue @@ -0,0 +1,172 @@ + + diff --git a/src/views/sys/sysuser/index.vue b/src/views/sys/sysuser/index.vue deleted file mode 100644 index a8aef2b..0000000 --- a/src/views/sys/sysuser/index.vue +++ /dev/null @@ -1,34 +0,0 @@ - - diff --git a/src/views/systemset/key_account/KeyAccountView.vue b/src/views/systemset/key-account/KeyAccountView.vue similarity index 100% rename from src/views/systemset/key_account/KeyAccountView.vue rename to src/views/systemset/key-account/KeyAccountView.vue diff --git a/src/views/systemset/permission/PermissionView.vue b/src/views/systemset/permission/PermissionView.vue new file mode 100644 index 0000000..ff1f9fe --- /dev/null +++ b/src/views/systemset/permission/PermissionView.vue @@ -0,0 +1,286 @@ + + + diff --git a/src/views/systemset/sysrole/SysRoleView.vue b/src/views/systemset/sysrole/SysRoleView.vue index 7396e03..56ec07f 100644 --- a/src/views/systemset/sysrole/SysRoleView.vue +++ b/src/views/systemset/sysrole/SysRoleView.vue @@ -21,7 +21,7 @@ const addUrl = "/sys/sysrole/addSysRole"; const editUrl = "/sys/sysrole/updateSysRole"; const removeUrl = "/sys/sysrole/deleteSysRole"; const statusUrl = "/sys/sysrole/setStatus"; -const treeUrl = "/sys/syschannel/getSysChannelTree"; +const treeUrl = "/sys/syspermission/getPermissionTree"; const searchers = [{ name: "roleName", type: "text" as const, placeholder: $t("_prop.systemset.sysrole.roleName") }]; const rules = reactive({ roleName: [{ required: true, message: $t("_message.systemset.sysrole.input_roleName"), trigger: "blur" }], @@ -128,7 +128,7 @@ const operateButtonClick = (eventName: string, row: any) => {
- + diff --git a/src/views/systemset/sysuser/SysUserView.vue b/src/views/systemset/sysuser/SysUserView.vue new file mode 100644 index 0000000..d42f328 --- /dev/null +++ b/src/views/systemset/sysuser/SysUserView.vue @@ -0,0 +1,288 @@ + +