diff --git a/Yi.Pure.Vue3/src/api/system/menu.ts b/Yi.Pure.Vue3/src/api/system/menu.ts index 006c154e..a808153b 100644 --- a/Yi.Pure.Vue3/src/api/system/menu.ts +++ b/Yi.Pure.Vue3/src/api/system/menu.ts @@ -12,8 +12,8 @@ export const getListMenu = query => { }; /** 查询菜单详细 */ -export const getMenu = menuId => { - return http.request("get", `/menu/${menuId}`, {}); +export const getMenu = id => { + return http.request("get", `/menu/${id}`, {}); }; /** 新增菜单 */ diff --git a/Yi.Pure.Vue3/src/views/system/menu/form.vue b/Yi.Pure.Vue3/src/views/system/menu/form.vue index 711e297f..f08f31f3 100644 --- a/Yi.Pure.Vue3/src/views/system/menu/form.vue +++ b/Yi.Pure.Vue3/src/views/system/menu/form.vue @@ -22,24 +22,24 @@ const props = withDefaults(defineProps(), { menuType: 0, higherMenuOptions: [], parentId: 0, - title: "", + menuName: "", name: "", - path: "", + router: "", component: "", - rank: 99, + orderNum: 99, redirect: "", icon: "", extraIcon: "", enterTransition: "", leaveTransition: "", activePath: "", - auths: "", + permissionCode: "", frameSrc: "", frameLoading: true, keepAlive: false, hiddenTag: false, fixedTag: false, - showLink: true, + isShow: true, showParent: false }) }); @@ -88,7 +88,7 @@ defineExpose({ getRef }); placeholder="请选择上级菜单" > @@ -98,7 +98,7 @@ defineExpose({ getRef }); @@ -115,9 +115,9 @@ defineExpose({ getRef }); - + @@ -222,9 +222,9 @@ defineExpose({ getRef }); - + @@ -268,11 +268,11 @@ defineExpose({ getRef }); > diff --git a/Yi.Pure.Vue3/src/views/system/menu/index.vue b/Yi.Pure.Vue3/src/views/system/menu/index.vue index c27e3a81..f6620de3 100644 --- a/Yi.Pure.Vue3/src/views/system/menu/index.vue +++ b/Yi.Pure.Vue3/src/views/system/menu/index.vue @@ -39,7 +39,7 @@ const { > ( <> @@ -43,7 +43,7 @@ export function useMenu() { style: { paddingTop: "1px" } })} - {transformI18n(row.title)} + {transformI18n(row.menuName)} ) }, @@ -63,7 +63,7 @@ export function useMenu() { }, { label: "路由路径", - prop: "path" + prop: "router" }, { label: "组件路径", @@ -73,17 +73,17 @@ export function useMenu() { }, { label: "权限标识", - prop: "auths" + prop: "permissionCode" }, { label: "排序", - prop: "rank", + prop: "orderNum", width: 100 }, { - label: "隐藏", - prop: "showLink", - formatter: ({ showLink }) => (showLink ? "否" : "是"), + label: "显示", + prop: "isShow", + formatter: ({ isShow }) => (isShow ? "否" : "是"), width: 100 }, { @@ -106,18 +106,16 @@ export function useMenu() { async function onSearch() { loading.value = true; - const { data } = await getMenuList(); // 这里是返回一维数组结构,前端自行处理成树结构,返回格式要求:唯一id加父节点parentId,parentId取父节点id + const data = (await getListMenu(form)).data.items; // 这里是返回一维数组结构,前端自行处理成树结构,返回格式要求:唯一id加父节点parentId,parentId取父节点id let newData = data; - if (!isAllEmpty(form.title)) { + if (!isAllEmpty(form.menuName)) { // 前端搜索菜单名称 newData = newData.filter(item => - transformI18n(item.title).includes(form.title) + transformI18n(item.title).includes(form.menuName) ); } dataList.value = handleTree(newData); // 处理成树结构 - setTimeout(() => { - loading.value = false; - }, 500); + loading.value = false; } function formatHigherMenuOptions(treeList) { @@ -139,24 +137,24 @@ export function useMenu() { menuType: row?.menuType ?? 0, higherMenuOptions: formatHigherMenuOptions(cloneDeep(dataList.value)), parentId: row?.parentId ?? 0, - title: row?.title ?? "", + title: row?.menuName ?? "", name: row?.name ?? "", - path: row?.path ?? "", + router: row?.router ?? "", component: row?.component ?? "", - rank: row?.rank ?? 99, + orderNum: row?.orderNum ?? 99, redirect: row?.redirect ?? "", icon: row?.icon ?? "", extraIcon: row?.extraIcon ?? "", enterTransition: row?.enterTransition ?? "", leaveTransition: row?.leaveTransition ?? "", activePath: row?.activePath ?? "", - auths: row?.auths ?? "", + permissionCode: row?.permissionCode ?? "", frameSrc: row?.frameSrc ?? "", frameLoading: row?.frameLoading ?? true, keepAlive: row?.keepAlive ?? false, hiddenTag: row?.hiddenTag ?? false, fixedTag: row?.fixedTag ?? false, - showLink: row?.showLink ?? true, + showLink: row?.isShow ?? true, showParent: row?.showParent ?? false } }, @@ -171,7 +169,7 @@ export function useMenu() { const curData = options.props.formInline as FormItemProps; function chores() { message( - `您${title}了菜单名称为${transformI18n(curData.title)}的这条数据`, + `您${title}了菜单名称为${transformI18n(curData.menuName)}的这条数据`, { type: "success" } diff --git a/Yi.Pure.Vue3/src/views/system/menu/utils/rule.ts b/Yi.Pure.Vue3/src/views/system/menu/utils/rule.ts index 90b35489..c167256e 100644 --- a/Yi.Pure.Vue3/src/views/system/menu/utils/rule.ts +++ b/Yi.Pure.Vue3/src/views/system/menu/utils/rule.ts @@ -3,8 +3,10 @@ import type { FormRules } from "element-plus"; /** 自定义表单规则校验 */ export const formRules = reactive({ - title: [{ required: true, message: "菜单名称为必填项", trigger: "blur" }], + menuName: [{ required: true, message: "菜单名称为必填项", trigger: "blur" }], name: [{ required: true, message: "路由名称为必填项", trigger: "blur" }], - path: [{ required: true, message: "路由路径为必填项", trigger: "blur" }], - auths: [{ required: true, message: "权限标识为必填项", trigger: "blur" }] + router: [{ required: true, message: "路由路径为必填项", trigger: "blur" }], + permissionCode: [ + { required: true, message: "权限标识为必填项", trigger: "blur" } + ] }); 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 f07d1f71..2af85424 100644 --- a/Yi.Pure.Vue3/src/views/system/menu/utils/types.ts +++ b/Yi.Pure.Vue3/src/views/system/menu/utils/types.ts @@ -3,24 +3,24 @@ interface FormItemProps { menuType: number; higherMenuOptions: Record[]; parentId: number; - title: string; + menuName: string; name: string; - path: string; + router: string; component: string; - rank: number; + orderNum: number; redirect: string; icon: string; extraIcon: string; enterTransition: string; leaveTransition: string; activePath: string; - auths: string; + permissionCode: string; frameSrc: string; frameLoading: boolean; keepAlive: boolean; hiddenTag: boolean; fixedTag: boolean; - showLink: boolean; + isShow: boolean; showParent: boolean; } interface FormProps {