From 40b5f33c4ef3bc59095fb1352a3e53d52cfbcce4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A9=99=E5=AD=90?= <454313500@qq.com> Date: Sat, 7 Sep 2024 13:43:00 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=AE=8C=E6=88=90=E8=8F=9C=E5=8D=95?= =?UTF-8?q?=E6=8E=A5=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Dtos/Menu/MenuCreateInputVo.cs | 2 ++ .../Dtos/Menu/MenuGetListInputVo.cs | 3 ++- .../Dtos/Menu/MenuUpdateInputVo.cs | 3 +-- .../Services/System/MenuService.cs | 11 +++++++++++ Yi.Pure.Vue3/mock/asyncRoutes.ts | 4 ++-- Yi.Pure.Vue3/src/router/utils.ts | 2 +- Yi.Pure.Vue3/src/views/system/menu/form.vue | 8 +++++--- Yi.Pure.Vue3/src/views/system/menu/utils/hook.tsx | 13 ++++++++----- Yi.Pure.Vue3/src/views/system/menu/utils/types.ts | 4 +++- Yi.Pure.Vue3/src/views/system/post/utils/hook.tsx | 3 ++- Yi.Pure.Vue3/src/views/system/role/utils/hook.tsx | 4 +++- Yi.Pure.Vue3/src/views/system/user/utils/hook.tsx | 2 +- 12 files changed, 41 insertions(+), 18 deletions(-) diff --git a/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts/Dtos/Menu/MenuCreateInputVo.cs b/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts/Dtos/Menu/MenuCreateInputVo.cs index 823f2710..e93697ca 100644 --- a/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts/Dtos/Menu/MenuCreateInputVo.cs +++ b/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts/Dtos/Menu/MenuCreateInputVo.cs @@ -24,5 +24,7 @@ namespace Yi.Framework.Rbac.Application.Contracts.Dtos.Menu public string? Component { get; set; } public string? Query { get; set; } public int OrderNum { get; set; } + public MenuSourceEnum MenuSource { get; set; } = MenuSourceEnum.Ruoyi; + public string? RouterName { get; set; } } } diff --git a/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts/Dtos/Menu/MenuGetListInputVo.cs b/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts/Dtos/Menu/MenuGetListInputVo.cs index 376aefa7..e25cb266 100644 --- a/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts/Dtos/Menu/MenuGetListInputVo.cs +++ b/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts/Dtos/Menu/MenuGetListInputVo.cs @@ -1,4 +1,5 @@ using Volo.Abp.Application.Dtos; +using Yi.Framework.Rbac.Domain.Shared.Enums; namespace Yi.Framework.Rbac.Application.Contracts.Dtos.Menu { @@ -7,6 +8,6 @@ namespace Yi.Framework.Rbac.Application.Contracts.Dtos.Menu public bool? State { get; set; } public string? MenuName { get; set; } - + public MenuSourceEnum MenuSource { get; set; } = MenuSourceEnum.Ruoyi; } } diff --git a/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts/Dtos/Menu/MenuUpdateInputVo.cs b/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts/Dtos/Menu/MenuUpdateInputVo.cs index 70bf6c29..3ba9f924 100644 --- a/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts/Dtos/Menu/MenuUpdateInputVo.cs +++ b/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts/Dtos/Menu/MenuUpdateInputVo.cs @@ -20,7 +20,6 @@ namespace Yi.Framework.Rbac.Application.Contracts.Dtos.Menu public string? Component { get; set; } public string? Query { get; set; } public int OrderNum { get; set; } - - //public List? Children { get; set; } + public string? RouterName { get; set; } } } diff --git a/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application/Services/System/MenuService.cs b/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application/Services/System/MenuService.cs index 0dfbf38e..324ae02c 100644 --- a/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application/Services/System/MenuService.cs +++ b/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application/Services/System/MenuService.cs @@ -28,6 +28,7 @@ namespace Yi.Framework.Rbac.Application.Services.System var entities = await _repository._DbQueryable.WhereIF(!string.IsNullOrEmpty(input.MenuName), x => x.MenuName.Contains(input.MenuName!)) .WhereIF(input.State is not null, x => x.State == input.State) + .Where(x=>x.MenuSource==input.MenuSource) .OrderByDescending(x => x.OrderNum) .ToListAsync(); //.ToPageListAsync(input.SkipCount, input.MaxResultCount, total); @@ -45,5 +46,15 @@ namespace Yi.Framework.Rbac.Application.Services.System return await MapToGetListOutputDtosAsync(entities); } + + public override Task UpdateAsync(Guid id, MenuUpdateInputVo input) + { + return base.UpdateAsync(id, input); + } + + public override Task CreateAsync(MenuCreateInputVo input) + { + return base.CreateAsync(input); + } } } diff --git a/Yi.Pure.Vue3/mock/asyncRoutes.ts b/Yi.Pure.Vue3/mock/asyncRoutes.ts index 15d5f973..52ffb1e1 100644 --- a/Yi.Pure.Vue3/mock/asyncRoutes.ts +++ b/Yi.Pure.Vue3/mock/asyncRoutes.ts @@ -40,7 +40,7 @@ const testRouter = [ frameLoading: null, keepAlive: null, showLink: true - }, + } }, { path: "/monitor/operation-logs", @@ -50,7 +50,7 @@ const testRouter = [ title: "操作日志", component: "monitor/logs/operation/index", showLink: true - }, + } }, { id: "580a7b97-15ab-6d43-d011-3a14dab3cadc", diff --git a/Yi.Pure.Vue3/src/router/utils.ts b/Yi.Pure.Vue3/src/router/utils.ts index 007c7ee6..5a027c54 100644 --- a/Yi.Pure.Vue3/src/router/utils.ts +++ b/Yi.Pure.Vue3/src/router/utils.ts @@ -28,7 +28,7 @@ const modulesRoutes = import.meta.glob("/src/views/**/*.{vue,tsx}"); // 动态路由 // getAsyncRoutes -import { getRoutes,getAsyncRoutes } from "@/api/routes"; +import { getRoutes } from "@/api/routes"; function handRank(routeInfo: any) { const { name, path, parentId, meta } = routeInfo; diff --git a/Yi.Pure.Vue3/src/views/system/menu/form.vue b/Yi.Pure.Vue3/src/views/system/menu/form.vue index 40488942..c00a71e1 100644 --- a/Yi.Pure.Vue3/src/views/system/menu/form.vue +++ b/Yi.Pure.Vue3/src/views/system/menu/form.vue @@ -28,11 +28,13 @@ const props = withDefaults(defineProps(), { router: "", component: "", orderNum: 0, - icon: "", + menuIcon: "", permissionCode: "", isShow: true, isLink: false, - state: true + state: true, + routerName: "", + menuSource: "Pure" }) }); @@ -93,7 +95,7 @@ defineExpose({ getRef }); :sm="24" > - + diff --git a/Yi.Pure.Vue3/src/views/system/menu/utils/hook.tsx b/Yi.Pure.Vue3/src/views/system/menu/utils/hook.tsx index 4e81a86a..e8c0675f 100644 --- a/Yi.Pure.Vue3/src/views/system/menu/utils/hook.tsx +++ b/Yi.Pure.Vue3/src/views/system/menu/utils/hook.tsx @@ -18,7 +18,8 @@ import { menuTypeOptions } from "@/views/system/menu/utils/enums"; export function useMenu() { const form = reactive({ - menuName: "" + menuName: "", + menuSource: "Pure" }); const formRef = ref(); @@ -44,7 +45,7 @@ export function useMenu() { cellRenderer: ({ row }) => ( <> - {h(useRenderIcon(row.icon), { + {h(useRenderIcon(row.menuIcon), { style: { paddingTop: "1px" } })} @@ -137,7 +138,7 @@ export function useMenu() { async function openDialog(title = "新增", row?: FormItemProps) { let data: any = null; if (title == "修改") { - data = await getMenu(row.id); + data = (await getMenu(row.id)).data; } addDialog({ title: `${title}菜单`, @@ -156,11 +157,13 @@ export function useMenu() { router: data?.router ?? "", component: data?.component ?? "", orderNum: data?.orderNum ?? 0, - icon: data?.icon ?? "", + menuIcon: data?.menuIcon ?? "", permissionCode: data?.permissionCode ?? "", showLink: data?.isShow ?? true, isLink: data?.isLink ?? false, - state: data?.state ?? true + state: data?.state ?? true, + routerName: data?.routerName ?? "", + menuSource: data?.menuSource ?? "Pure" } }, width: "45%", diff --git a/Yi.Pure.Vue3/src/views/system/menu/utils/types.ts b/Yi.Pure.Vue3/src/views/system/menu/utils/types.ts index a3fdf2ea..7544e8fc 100644 --- a/Yi.Pure.Vue3/src/views/system/menu/utils/types.ts +++ b/Yi.Pure.Vue3/src/views/system/menu/utils/types.ts @@ -8,11 +8,13 @@ interface FormItemProps { router: string; component: string; orderNum: number; - icon: string; + menuIcon: string; permissionCode: string; isShow: boolean; isLink: boolean; state: boolean; + routerName: string; + menuSource: string; } interface FormProps { formInline: FormItemProps; diff --git a/Yi.Pure.Vue3/src/views/system/post/utils/hook.tsx b/Yi.Pure.Vue3/src/views/system/post/utils/hook.tsx index 4cb88611..1aafdb69 100644 --- a/Yi.Pure.Vue3/src/views/system/post/utils/hook.tsx +++ b/Yi.Pure.Vue3/src/views/system/post/utils/hook.tsx @@ -48,7 +48,8 @@ export function usePost() { const columns: TableColumnList = [ { label: "岗位编号", - prop: "id" + prop: "id", + width: 300 }, { label: "岗位名称", diff --git a/Yi.Pure.Vue3/src/views/system/role/utils/hook.tsx b/Yi.Pure.Vue3/src/views/system/role/utils/hook.tsx index 8ea4b233..6945190a 100644 --- a/Yi.Pure.Vue3/src/views/system/role/utils/hook.tsx +++ b/Yi.Pure.Vue3/src/views/system/role/utils/hook.tsx @@ -66,7 +66,9 @@ export function useRole(treeRef: Ref) { const columns: TableColumnList = [ { label: "角色编号", - prop: "id" + prop: "id", + width: "300", + fixed: true }, { label: "角色名称", diff --git a/Yi.Pure.Vue3/src/views/system/user/utils/hook.tsx b/Yi.Pure.Vue3/src/views/system/user/utils/hook.tsx index 84292afa..f1ca112b 100644 --- a/Yi.Pure.Vue3/src/views/system/user/utils/hook.tsx +++ b/Yi.Pure.Vue3/src/views/system/user/utils/hook.tsx @@ -84,7 +84,7 @@ export function useUser(tableRef: Ref, treeRef: Ref) { { label: "用户编号", prop: "id", - width: 200 + width: 300 }, { label: "用户头像",