diff --git a/src/api/system/menu.ts b/src/api/system/menu.ts index a6d0dc5..ad44cda 100644 --- a/src/api/system/menu.ts +++ b/src/api/system/menu.ts @@ -1,5 +1,5 @@ import request from '@/utils/request' -import type { MenuQueryParams, SysMenu, TreeSelect, AjaxResult, RoleMenuTreeselectResult } from '@/types' +import type { MenuQueryParams, SysMenu, MenuSortParams, TreeSelect, AjaxResult, RoleMenuTreeselectResult } from '@/types' // 查询菜单列表 export function listMenu(query?: MenuQueryParams): Promise> { @@ -52,6 +52,15 @@ export function updateMenu(data: SysMenu): Promise { }) } +// 保存菜单排序 +export function updateMenuSort(data: MenuSortParams): Promise { + return request({ + url: '/system/menu/updateSort', + method: 'put', + data: data + }) +} + // 删除菜单 export function delMenu(menuId: number): Promise { return request({ diff --git a/src/types/api/system/menu.ts b/src/types/api/system/menu.ts index 6a4cbb6..adba54f 100644 --- a/src/types/api/system/menu.ts +++ b/src/types/api/system/menu.ts @@ -40,6 +40,14 @@ export interface SysMenu extends BaseEntity { visible?: '0' | '1'; /** 状态(0正常 1停用) */ status?: '0' | '1'; + /** 子菜单 */ + children?: SysMenu[]; +} + +/** 保存菜单排序参数 */ +export interface MenuSortParams { + menuIds: string + orderNums: string } export interface RoleMenuTreeselectResult extends AjaxResult { diff --git a/src/views/system/menu/index.vue b/src/views/system/menu/index.vue index ef45a4d..d10d104 100644 --- a/src/views/system/menu/index.vue +++ b/src/views/system/menu/index.vue @@ -36,6 +36,15 @@ v-hasPermi="['system:menu:add']" >新增 + + 保存排序 + - + + + @@ -289,7 +302,7 @@