diff --git a/packages/toolkits/pro/template/server/nestJs/src/menu/dto/delete-menu.dto.ts b/packages/toolkits/pro/template/server/nestJs/src/menu/dto/delete-menu.dto.ts deleted file mode 100644 index fba71a0f..00000000 --- a/packages/toolkits/pro/template/server/nestJs/src/menu/dto/delete-menu.dto.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { IsNotEmpty } from 'class-validator'; - -export class DeleteMenuDto { - @IsNotEmpty() - id: number; - @IsNotEmpty() - name: string; -} diff --git a/packages/toolkits/pro/template/server/nestJs/src/menu/dto/update-menu.dto.ts b/packages/toolkits/pro/template/server/nestJs/src/menu/dto/update-menu.dto.ts index a8de5514..13a859e8 100644 --- a/packages/toolkits/pro/template/server/nestJs/src/menu/dto/update-menu.dto.ts +++ b/packages/toolkits/pro/template/server/nestJs/src/menu/dto/update-menu.dto.ts @@ -1,6 +1,8 @@ import { PartialType } from '@nestjs/mapped-types'; import { CreateMenuDto } from './create-menu.dto'; +import {IsNotEmpty} from "class-validator"; export class UpdateMenuDto extends PartialType(CreateMenuDto) { + @IsNotEmpty() id: number; } diff --git a/packages/toolkits/pro/template/server/nestJs/src/menu/menu.controller.ts b/packages/toolkits/pro/template/server/nestJs/src/menu/menu.controller.ts index 5913c059..acbc9b7a 100644 --- a/packages/toolkits/pro/template/server/nestJs/src/menu/menu.controller.ts +++ b/packages/toolkits/pro/template/server/nestJs/src/menu/menu.controller.ts @@ -4,22 +4,27 @@ import { Post, Body, Patch, - Req, - Delete, + Query, + Delete, Param, } from '@nestjs/common'; import { MenuService } from './menu.service'; import { CreateMenuDto } from './dto/create-menu.dto'; import { Permission } from '../public/permission.decorator'; import { UpdateMenuDto } from './dto/update-menu.dto'; -import { DeleteMenuDto } from './dto/delete-menu.dto'; @Controller('menu') export class MenuController { constructor(private readonly menuService: MenuService) {} + @Get('/role/:email') + async getMenus(@Param('email') email: string) { + return this.menuService.findRoleMenu(email); + } + @Get() - async getMenus(@Req() req) { - return this.menuService.findAll(req.user); + @Permission('menu::query') + async getAllMenus() { + return this.menuService.findAllMenu(); } @Post() @@ -36,7 +41,7 @@ export class MenuController { @Delete() @Permission('menu::remove') - async deleteMenu(@Body() dto: DeleteMenuDto) { - return this.menuService.deleteMenu(dto); + async deleteMenu(@Query('id') id: number, @Query('parentId') parentId: number) { + return this.menuService.deleteMenu(id, parentId); } } diff --git a/packages/toolkits/pro/template/server/nestJs/src/menu/menu.service.ts b/packages/toolkits/pro/template/server/nestJs/src/menu/menu.service.ts index 8609f651..67b474bc 100644 --- a/packages/toolkits/pro/template/server/nestJs/src/menu/menu.service.ts +++ b/packages/toolkits/pro/template/server/nestJs/src/menu/menu.service.ts @@ -4,7 +4,6 @@ import { Menu, User } from '@app/models'; import { Repository } from 'typeorm'; import { CreateMenuDto } from './dto/create-menu.dto'; import { UpdateMenuDto } from './dto/update-menu.dto'; -import { DeleteMenuDto } from './dto/delete-menu.dto'; export interface ITreeNodeData { // node-key='id' 设置节点的唯一标识 @@ -17,6 +16,14 @@ export interface ITreeNodeData { url: string; //组件 component: string; + //图标 + icon: string; + //类型 + menuType: string; + //父节点 + parentId: number; + //排序 + order: number; } interface MenuMap { @@ -30,6 +37,10 @@ const toNode = (menu: Menu): ITreeNodeData => { children: [], url: menu.path, component: menu.component, + icon: menu.icon, + menuType: menu.menuType, + parentId: menu.parentId, + order: menu.order, }; }; @@ -58,13 +69,13 @@ export class MenuService { @InjectRepository(Menu) private menu: Repository ) {} - async findAll(user: User) { + async findRoleMenu(email: string) { const userInfo = await this.user .createQueryBuilder('user') .leftJoinAndSelect('user.role', 'role') .leftJoinAndSelect('role.menus', 'menus') .where({ - email: user.email, + email: email, }) .orderBy('menus.order', 'ASC') .getOne(); @@ -75,6 +86,12 @@ export class MenuService { }); return convertToTree(menus); } + + async findAllMenu(){ + const menu = this.menu.find(); + return convertToTree(await menu) + } + async createMenu(dto: CreateMenuDto) { const { order, @@ -107,13 +124,23 @@ export class MenuService { }); return true; } - async deleteMenu(dto: DeleteMenuDto) { + async deleteMenu(id: number, parentId: number) { const menu = this.menu.findOne({ where: { - id: dto.id, - name: dto.name, + id: id, }, }); + const allMenu = await this.menu.find(); + for (const tmp of allMenu){ + if(Number(tmp.parentId) === Number(id)){ + if(Number(parentId) === -1){ + tmp.parentId = null; + }else { + tmp.parentId = parentId; + } + await this.updateMenu(tmp) + } + } return this.menu.remove(await menu); } } diff --git a/packages/toolkits/pro/template/server/nestJs/src/role/dto/delete-role.dto.ts b/packages/toolkits/pro/template/server/nestJs/src/role/dto/delete-role.dto.ts deleted file mode 100644 index a53480b0..00000000 --- a/packages/toolkits/pro/template/server/nestJs/src/role/dto/delete-role.dto.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { IsNotEmpty } from 'class-validator'; - -export class DeleteRoleDto { - @IsNotEmpty() - name: string; -} diff --git a/packages/toolkits/pro/template/server/nestJs/src/role/role.controller.ts b/packages/toolkits/pro/template/server/nestJs/src/role/role.controller.ts index b65bd3e4..0b1dd3db 100644 --- a/packages/toolkits/pro/template/server/nestJs/src/role/role.controller.ts +++ b/packages/toolkits/pro/template/server/nestJs/src/role/role.controller.ts @@ -10,7 +10,6 @@ import { import { RoleService } from './role.service'; import { CreateRoleDto } from './dto/create-role.dto'; import { UpdateRoleDto } from './dto/update-role.dto'; -import { DeleteRoleDto } from './dto/delete-role.dto'; import { Permission } from '../public/permission.decorator'; @Controller('role') @@ -29,16 +28,22 @@ export class RoleController { return this.roleService.findAll(); } + @Permission('role::get') + @Get('/detail') + getAllRoleDetail() { + return this.roleService.findAllDetail(); + } + @Patch() @Permission('role::update') updateRole(@Body() dto: UpdateRoleDto) { return this.roleService.update(dto); } - @Delete() + @Delete('/:id') @Permission('role::remove') - deleteRole(@Body() dto: DeleteRoleDto) { - return this.roleService.delete(dto); + deleteRole(@Param('id') id: number) { + return this.roleService.delete(id); } @Permission('role::get') diff --git a/packages/toolkits/pro/template/server/nestJs/src/role/role.service.ts b/packages/toolkits/pro/template/server/nestJs/src/role/role.service.ts index 564c17b9..0fdacd93 100644 --- a/packages/toolkits/pro/template/server/nestJs/src/role/role.service.ts +++ b/packages/toolkits/pro/template/server/nestJs/src/role/role.service.ts @@ -1,10 +1,10 @@ import { HttpException, HttpStatus, Injectable } from '@nestjs/common'; import { CreateRoleDto } from './dto/create-role.dto'; import { UpdateRoleDto } from './dto/update-role.dto'; -import { DeleteRoleDto } from './dto/delete-role.dto'; import { InjectRepository } from '@nestjs/typeorm'; import { Menu, Permission, Role } from '@app/models'; import { DataSource, In, Repository } from 'typeorm'; +import { convertToTree } from "../menu/menu.service"; @Injectable() export class RoleService { @@ -42,7 +42,25 @@ export class RoleService { return this.role.save({ name, permission: permissions, menus }); } findAll() { - return this.role.find(); + return this.role.find() + } + + async findAllDetail() { + const roleInfo = await this.role + .createQueryBuilder('role') + .leftJoinAndSelect('role.menus', 'menus') + .leftJoinAndSelect('role.permission', 'permission') + .getMany(); + const menuTree = [] as any; + for(const item of roleInfo){ + const temp = convertToTree(item.menus); + menuTree.push(temp) + } + + return { + roleInfo: roleInfo, + menuTree: menuTree, + } } async findOne(id: string) { @@ -83,10 +101,10 @@ export class RoleService { role.menus = menus.length ? menus : undefined; return this.role.save(role); } - async delete(data: DeleteRoleDto) { + async delete(id: number) { const role = await this.role.find({ where: { - name: data.name, + id: id, }, }); return this.role.remove(role); diff --git a/packages/toolkits/pro/template/tinyvue/src/api/menu.ts b/packages/toolkits/pro/template/tinyvue/src/api/menu.ts new file mode 100644 index 00000000..1cb247cb --- /dev/null +++ b/packages/toolkits/pro/template/tinyvue/src/api/menu.ts @@ -0,0 +1,23 @@ +import axios from "axios"; + + + +export function getAllMenu() { + return axios.get('/api/menu'); +} + +export function getRoleMenu(email: string) { + return axios.get(`/api/menu/role/${email}`); +} + +export function updateMenu(data: any) { + return axios.patch(`/api/menu`, data); +} + +export function deleteMenu(id: number, parentId: number) { + return axios.delete(`/api/menu?id=${id}&parentId=${parentId}`); +} + +export function createMenu(data: any) { + return axios.post(`/api/menu`, data); +} diff --git a/packages/toolkits/pro/template/tinyvue/src/api/role.ts b/packages/toolkits/pro/template/tinyvue/src/api/role.ts index 089039c5..6e57f754 100644 --- a/packages/toolkits/pro/template/tinyvue/src/api/role.ts +++ b/packages/toolkits/pro/template/tinyvue/src/api/role.ts @@ -2,6 +2,22 @@ import axios from "axios"; -export function getRoles() { +export function getAllRole() { return axios.get('/api/role'); } + +export function getAllRoleDetail() { + return axios.get('/api/role/detail'); +} + +export function updateRole(data: any) { + return axios.patch(`/api/role`, data); +} + +export function deleteRole(id: number) { + return axios.delete(`/api/role/${id}`); +} + +export function createRole(data: any) { + return axios.post(`/api/role`, data); +} diff --git a/packages/toolkits/pro/template/tinyvue/src/components/menu/index.vue b/packages/toolkits/pro/template/tinyvue/src/components/menu/index.vue index b53081d4..70fd6f21 100644 --- a/packages/toolkits/pro/template/tinyvue/src/components/menu/index.vue +++ b/packages/toolkits/pro/template/tinyvue/src/components/menu/index.vue @@ -35,6 +35,8 @@ IconApplication, IconGroup, IconFolderOpened, + IconActivation, + IconGrade, } from '@opentiny/vue-icon'; import { TreeMenu as tinyTreeMenu } from '@opentiny/vue'; import router from '@/router'; @@ -52,6 +54,8 @@ const iconApplication = IconApplication(); const iconFolderOpened = IconFolderOpened(); const iconGroup = IconGroup(); + const iconActivation = IconActivation(); + const iconGrade = IconGrade(); const tree = ref(); const expandeArr = ref(); const routerTitle = [ @@ -230,14 +234,26 @@ bold: 'title', }, { - value: 'PermissionSetting', - name: 'menu.permission.setting', + value: 'Role', + name: 'menu.role', + icon: iconActivation, + bold: 'main-title', + }, + { + value: 'AllRole', + name: 'menu.role.info', icon: null, bold: 'title', }, { - value: 'PermissionAdd', - name: 'menu.permission.permissionAdd', + value: 'Menu', + name: 'menu.menu', + icon: iconGrade, + bold: 'main-title', + }, + { + value: 'AllMenu', + name: 'menu.menu.info', icon: null, bold: 'title', }, @@ -311,6 +327,9 @@ 'User', 'Cloud', 'UserManager', + 'Permission', + 'Role', + 'Menu', ]; if (filter.indexOf(data.id) === -1) { router.push({ name: data.id }); diff --git a/packages/toolkits/pro/template/tinyvue/src/components/navbar/index.vue b/packages/toolkits/pro/template/tinyvue/src/components/navbar/index.vue index 3f07cd3e..16310fdb 100644 --- a/packages/toolkits/pro/template/tinyvue/src/components/navbar/index.vue +++ b/packages/toolkits/pro/template/tinyvue/src/components/navbar/index.vue @@ -76,7 +76,7 @@ show-header show-footer mask-closable="true" - height="350" + height="auto" width="600" :title="$t('userInfo.modal.title.pwdUpdate')" > @@ -213,8 +213,8 @@ const state = reactive<{ { label: 'messageBox.switchRoles', value: 1 }, { label: 'messageBox.userCenter', value: 2 }, { label: 'messageBox.userSettings', value: 3 }, - { label: 'messageBox.logout', value: 4 }, - { label: 'messageBox.updatePwd',value: 5 }, + { label: 'messageBox.updatePwd',value: 4 }, + { label: 'messageBox.logout', value: 5 }, ]; const switchRoles = async () => { @@ -238,10 +238,10 @@ const state = reactive<{ router.push({ name: 'Setting' }); break; case 4: - logout(); + handlePwdUpdate(); break; case 5: - handlePwdUpdate(); + logout(); break; default: // eslint-disable-next-line no-console diff --git a/packages/toolkits/pro/template/tinyvue/src/locale/en-US.ts b/packages/toolkits/pro/template/tinyvue/src/locale/en-US.ts index 750d6e04..bd60f659 100644 --- a/packages/toolkits/pro/template/tinyvue/src/locale/en-US.ts +++ b/packages/toolkits/pro/template/tinyvue/src/locale/en-US.ts @@ -32,6 +32,10 @@ import localeUserManagerUserAdd from '@/views/userManager/useradd/locale/en-US'; import localePermission from '@/views/permission/info/locale/en-US'; +import localeRole from '@/views/role/info/locale/en-US'; + +import localeMenu from '@/views/menu/info/locale/en-US'; + import localeSettings from './en-US/settings'; import localeHttpError from './en-US/httpError'; @@ -56,6 +60,10 @@ export default { 'menu.permission.info':'All Permission Info', 'menu.permission.setting':'Permission Setting', 'menu.permission.permissionAdd':'Add Permission', + 'menu.role': 'Role Manager', + 'menu.role.info':'All Role Info', + 'menu.menu': 'Menu Manager', + 'menu.menu.info': 'All Menu Info', 'navbar.docs': 'Docs', 'navbar.action.locale': 'Switch to English', 'messageBox.switchRoles': 'Switch Roles', @@ -86,4 +94,6 @@ export default { ...localeUserManagerSetting, ...localeUserManagerUserAdd, ...localePermission, + ...localeRole, + ...localeMenu, }; diff --git a/packages/toolkits/pro/template/tinyvue/src/locale/zh-CN.ts b/packages/toolkits/pro/template/tinyvue/src/locale/zh-CN.ts index 09ae2408..c2c49b48 100644 --- a/packages/toolkits/pro/template/tinyvue/src/locale/zh-CN.ts +++ b/packages/toolkits/pro/template/tinyvue/src/locale/zh-CN.ts @@ -32,6 +32,10 @@ import localeUserManagerUserAdd from '@/views/userManager/useradd/locale/zh-CN'; import localePermission from '@/views/permission/info/locale/zh-CN'; +import localeRole from '@/views/role/info/locale/zh-CN'; + +import localeMenu from '@/views/menu/info/locale/zh-CN'; + import localeSettings from './zh-CN/settings'; import localeHttpError from './zh-CN/httpError'; @@ -57,6 +61,10 @@ export default { 'menu.permission.info':'查看权限', 'menu.permission.setting':'修改权限', 'menu.permission.permissionAdd':'添加权限', + 'menu.role': '角色管理', + 'menu.role.info':'查看角色', + 'menu.menu': '菜单管理', + 'menu.menu.info': '查看菜单', 'navbar.docs': '文档中心', 'navbar.action.locale': '切换为中文', 'messageBox.switchRoles': '切换角色', @@ -87,4 +95,6 @@ export default { ...localeUserManagerSetting, ...localeUserManagerUserAdd, ...localePermission, + ...localeRole, + ...localeMenu, }; diff --git a/packages/toolkits/pro/template/tinyvue/src/router/routes/modules/menu.ts b/packages/toolkits/pro/template/tinyvue/src/router/routes/modules/menu.ts new file mode 100644 index 00000000..8f645538 --- /dev/null +++ b/packages/toolkits/pro/template/tinyvue/src/router/routes/modules/menu.ts @@ -0,0 +1,29 @@ +import { RoleType } from '@/types/roleType'; + +export default { + path: 'menu', + name: 'Menu', + id: 'Menu', + label: 'Menu', + component: () => import('@/views/menu/index.vue'), + meta: { + locale: 'menu.menu', + requiresAuth: true, + order: 9, + roles: [RoleType.admin], + }, + children: [ + { + path: 'allMenu', + name: 'AllMenu', + id: 'AllMenu', + label: 'AllMenu', + component: () => import('@/views/menu/info/index.vue'), + meta: { + locale: 'menu.menu.info', + requiresAuth: true, + roles: [RoleType.admin], + }, + }, + ], +}; diff --git a/packages/toolkits/pro/template/tinyvue/src/router/routes/modules/role.ts b/packages/toolkits/pro/template/tinyvue/src/router/routes/modules/role.ts new file mode 100644 index 00000000..d6e1f749 --- /dev/null +++ b/packages/toolkits/pro/template/tinyvue/src/router/routes/modules/role.ts @@ -0,0 +1,29 @@ +import { RoleType } from '@/types/roleType'; + +export default { + path: 'role', + name: 'Role', + id: 'Role', + label: 'Role', + component: () => import('@/views/role/index.vue'), + meta: { + locale: 'menu.role', + requiresAuth: true, + order: 9, + roles: [RoleType.admin], + }, + children: [ + { + path: 'allRole', + name: 'AllRole', + id: 'AllRole', + label: 'AllRole', + component: () => import('@/views/role/info/index.vue'), + meta: { + locale: 'menu.role.info', + requiresAuth: true, + roles: [RoleType.admin], + }, + }, + ], +}; diff --git a/packages/toolkits/pro/template/tinyvue/src/views/menu/index.vue b/packages/toolkits/pro/template/tinyvue/src/views/menu/index.vue new file mode 100644 index 00000000..6c71efda --- /dev/null +++ b/packages/toolkits/pro/template/tinyvue/src/views/menu/index.vue @@ -0,0 +1,5 @@ + + + diff --git a/packages/toolkits/pro/template/tinyvue/src/views/menu/info/components/info-tab.vue b/packages/toolkits/pro/template/tinyvue/src/views/menu/info/components/info-tab.vue new file mode 100644 index 00000000..e625bc9a --- /dev/null +++ b/packages/toolkits/pro/template/tinyvue/src/views/menu/info/components/info-tab.vue @@ -0,0 +1,603 @@ + + + + + diff --git a/packages/toolkits/pro/template/tinyvue/src/views/menu/info/index.vue b/packages/toolkits/pro/template/tinyvue/src/views/menu/info/index.vue new file mode 100644 index 00000000..4164be0e --- /dev/null +++ b/packages/toolkits/pro/template/tinyvue/src/views/menu/info/index.vue @@ -0,0 +1,61 @@ + + + + + diff --git a/packages/toolkits/pro/template/tinyvue/src/views/menu/info/locale/en-US.ts b/packages/toolkits/pro/template/tinyvue/src/views/menu/info/locale/en-US.ts new file mode 100644 index 00000000..4c7a69a0 --- /dev/null +++ b/packages/toolkits/pro/template/tinyvue/src/views/menu/info/locale/en-US.ts @@ -0,0 +1,20 @@ +export default { + 'menu.allMenu.info': 'All Menu Info', + 'menuInfo.table.id': 'ID', + 'menuInfo.table.name': 'Name', + 'menuInfo.table.order': 'Order', + 'menuInfo.table.parentId': 'ParentID', + 'menuInfo.table.menuType': 'MenuType', + 'menuInfo.table.icon': 'Icon', + 'menuInfo.table.component': 'Component', + 'menuInfo.table.path': 'Path', + 'menuInfo.table.operations': 'Operation', + 'menuInfo.table.operations.info': 'Detail', + 'menuInfo.table.operations.update': 'Update', + 'menuInfo.table.operations.delete': 'Delete', + 'menuInfo.modal.title.info': 'Menu Detail', + 'menuInfo.modal.title.update': 'Update Menu', + 'menuInfo.modal.title.add': 'Add Menu', + 'menuInfo.modal.message.error': 'ParentId is not as same as id', + 'menuInfo.modal.message.notNull': 'Not Null', +}; diff --git a/packages/toolkits/pro/template/tinyvue/src/views/menu/info/locale/zh-CN.ts b/packages/toolkits/pro/template/tinyvue/src/views/menu/info/locale/zh-CN.ts new file mode 100644 index 00000000..13e42383 --- /dev/null +++ b/packages/toolkits/pro/template/tinyvue/src/views/menu/info/locale/zh-CN.ts @@ -0,0 +1,21 @@ +export default { + 'menu.allMenu.info': '查看菜单', + 'menuInfo.table.id': 'ID', + 'menuInfo.table.name': '名称', + 'menuInfo.table.order': '优先级', + 'menuInfo.table.parentId': '父菜单ID', + 'menuInfo.table.menuType': '菜单类型', + 'menuInfo.table.icon': '图标', + 'menuInfo.table.component': '组件', + 'menuInfo.table.path': '路径', + 'menuInfo.table.operations': '操作', + 'menuInfo.table.operations.info': '查看', + 'menuInfo.table.operations.update': '修改', + 'menuInfo.table.operations.delete': '删除', + 'menuInfo.modal.title.info': '查看菜单', + 'menuInfo.modal.title.update': '修改菜单', + 'menuInfo.modal.title.add': '添加菜单', + 'menuInfo.modal.message.error': 'parentId不能和id相同', + 'menuInfo.modal.message.notNull': '不能为空', + +}; diff --git a/packages/toolkits/pro/template/tinyvue/src/views/permission/info/components/info-tab.vue b/packages/toolkits/pro/template/tinyvue/src/views/permission/info/components/info-tab.vue index 88f53dfb..81cd69bb 100644 --- a/packages/toolkits/pro/template/tinyvue/src/views/permission/info/components/info-tab.vue +++ b/packages/toolkits/pro/template/tinyvue/src/views/permission/info/components/info-tab.vue @@ -2,7 +2,7 @@
- 添加权限 + {{ $t('permissionInfo.modal.title.add') }}
@@ -114,7 +114,7 @@ show-header show-footer mask-closable="true" - height="350" + height="auto" width="600" :title="$t('permissionInfo.modal.title.add')" > @@ -237,6 +237,7 @@ async function handleDelete (id: string){ }); state.isPermissionUpdate = false; state.permissionUpdData = {} as any; + await fetchData(); } catch (error) { if (error.response && error.response.data) { const errorMessage = error.response.data.message || '未知错误'; @@ -273,6 +274,7 @@ async function handlePermissionUpdateSubmit(){ }); state.isPermissionUpdate = false; state.permissionUpdData = {} as any; + await fetchData(); } catch (error) { if (error.response && error.response.data) { const errorMessage = error.response.data.message || '未知错误'; @@ -291,7 +293,6 @@ function handleAddPermission() { async function handlePermissionAddSubmit() { let data = state.permissionAddData; let newTemp = { - id: data.id, name: data.name, desc: data.desc, }; @@ -303,6 +304,7 @@ async function handlePermissionAddSubmit() { }); state.isPermissionAdd = false; state.permissionAddData = {} as any; + await fetchData(); } catch (error) { if (error.response && error.response.data) { const errorMessage = error.response.data.message || '未知错误'; diff --git a/packages/toolkits/pro/template/tinyvue/src/views/role/index.vue b/packages/toolkits/pro/template/tinyvue/src/views/role/index.vue new file mode 100644 index 00000000..6c71efda --- /dev/null +++ b/packages/toolkits/pro/template/tinyvue/src/views/role/index.vue @@ -0,0 +1,5 @@ + + + diff --git a/packages/toolkits/pro/template/tinyvue/src/views/role/info/components/info-tab.vue b/packages/toolkits/pro/template/tinyvue/src/views/role/info/components/info-tab.vue new file mode 100644 index 00000000..c94674ef --- /dev/null +++ b/packages/toolkits/pro/template/tinyvue/src/views/role/info/components/info-tab.vue @@ -0,0 +1,529 @@ + + + + + diff --git a/packages/toolkits/pro/template/tinyvue/src/views/role/info/index.vue b/packages/toolkits/pro/template/tinyvue/src/views/role/info/index.vue new file mode 100644 index 00000000..5ceec97d --- /dev/null +++ b/packages/toolkits/pro/template/tinyvue/src/views/role/info/index.vue @@ -0,0 +1,61 @@ + + + + + diff --git a/packages/toolkits/pro/template/tinyvue/src/views/role/info/locale/en-US.ts b/packages/toolkits/pro/template/tinyvue/src/views/role/info/locale/en-US.ts new file mode 100644 index 00000000..c5e62c6d --- /dev/null +++ b/packages/toolkits/pro/template/tinyvue/src/views/role/info/locale/en-US.ts @@ -0,0 +1,18 @@ +export default { + 'menu.allRole.info': 'All Role Info', + 'roleInfo.table.id': 'ID', + 'roleInfo.table.name': 'Name', + 'roleInfo.table.desc': 'Desc', + 'roleInfo.table.menu': 'Menu', + 'roleInfo.table.operations': 'Operation', + 'roleInfo.table.operations.update': 'Update', + 'roleInfo.table.operations.delete': 'Delete', + 'roleInfo.modal.title.update': 'Update Role', + 'roleInfo.modal.title.add': 'Add Role', + 'roleInfo.modal.input.id': 'ID', + 'roleInfo.modal.input.name': 'Name', + 'roleInfo.modal.input.desc': 'Desc', + 'roleInfo.modal.input.menu': 'Menu', + 'roleInfo.modal.message.error': 'Error', + 'roleInfo.modal.message.notNull': 'Not Null', +}; diff --git a/packages/toolkits/pro/template/tinyvue/src/views/role/info/locale/zh-CN.ts b/packages/toolkits/pro/template/tinyvue/src/views/role/info/locale/zh-CN.ts new file mode 100644 index 00000000..9c48c5e1 --- /dev/null +++ b/packages/toolkits/pro/template/tinyvue/src/views/role/info/locale/zh-CN.ts @@ -0,0 +1,18 @@ +export default { + 'menu.allRole.info': '查看权限', + 'roleInfo.table.id': 'ID', + 'roleInfo.table.name': '名称', + 'roleInfo.table.desc': '权限', + 'roleInfo.table.menu': '菜单', + 'roleInfo.table.operations': '操作', + 'roleInfo.table.operations.update': '修改', + 'roleInfo.table.operations.delete': '删除', + 'roleInfo.modal.title.update': '修改角色', + 'roleInfo.modal.title.add': '添加角色', + 'roleInfo.modal.input.id': 'ID', + 'roleInfo.modal.input.name': '名称', + 'roleInfo.modal.input.desc': '权限', + 'roleInfo.modal.input.menu': '菜单', + 'roleInfo.modal.message.error': '错误', + 'roleInfo.modal.message.notNull': '不能为空', +}; diff --git a/packages/toolkits/pro/template/tinyvue/src/views/userManager/info/components/info-tab.vue b/packages/toolkits/pro/template/tinyvue/src/views/userManager/info/components/info-tab.vue index 4ed20dd4..b669f356 100644 --- a/packages/toolkits/pro/template/tinyvue/src/views/userManager/info/components/info-tab.vue +++ b/packages/toolkits/pro/template/tinyvue/src/views/userManager/info/components/info-tab.vue @@ -167,7 +167,7 @@ show-header show-footer mask-closable="true" - height="350" + height="auto" width="600" :title="$t('userInfo.modal.title.pwdUpdate')" > diff --git a/packages/toolkits/pro/template/tinyvue/src/views/userManager/setting/index.vue b/packages/toolkits/pro/template/tinyvue/src/views/userManager/setting/index.vue index 4286f560..fff3f3f2 100644 --- a/packages/toolkits/pro/template/tinyvue/src/views/userManager/setting/index.vue +++ b/packages/toolkits/pro/template/tinyvue/src/views/userManager/setting/index.vue @@ -169,7 +169,7 @@ import { import {getSimpleDate} from '@/utils/time'; import {useRoute, useRouter} from 'vue-router'; import {getAllUser, getUserInfo, updateUserInfo} from '@/api/user' -import {getRoles} from '@/api/role' +import {getAllRole} from '@/api/role' import headtop from './components/head.vue'; import setFrom from './components/set-from.vue'; @@ -307,7 +307,7 @@ async function fetchData() { } async function fetchRole(){ - const {data} = await getRoles(); + const {data} = await getAllRole(); state.roleData = data; } diff --git a/packages/toolkits/pro/template/tinyvue/src/views/userManager/useradd/index.vue b/packages/toolkits/pro/template/tinyvue/src/views/userManager/useradd/index.vue index 98b0c394..4561fc74 100644 --- a/packages/toolkits/pro/template/tinyvue/src/views/userManager/useradd/index.vue +++ b/packages/toolkits/pro/template/tinyvue/src/views/userManager/useradd/index.vue @@ -180,7 +180,7 @@ import { import {getSimpleDate} from '@/utils/time'; import {useRoute, useRouter} from 'vue-router'; import {getUserInfo, registerUser, updateUserInfo} from '@/api/user' -import {getRoles} from '@/api/role' +import {getAllRole} from '@/api/role' const route = useRoute(); @@ -295,7 +295,7 @@ async function handleSubmit() { } async function fetchRole(){ - const {data} = await getRoles(); + const {data} = await getAllRole(); state.roleData = data; }