menu.ts 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. import { defHttp } from '/@/utils/http/axios';
  2. import { getMenuListResultModel } from './model/menuModel';
  3. import { useUserStore } from '/@/store/modules/user';
  4. import { RoleEnum } from '/@/enums/roleEnum';
  5. import menu from '/@/mock/menu.json'
  6. import menu_get_ids from '/@/mock/menu_get_ids.json'
  7. import tool from '/@/utils/Tool';
  8. enum Api {
  9. BaseMenuUrl = '/menu',
  10. // BaseMenuUrl = '/menu',
  11. GetMenuList = '/menu/me/menus',
  12. SysAdminMenuList = '/admin/me/menus',
  13. GetMenuIdsByRoleId = '/menu/get_ids/',
  14. GetChildDepartment = '/user-center/department/getChildDepartment'
  15. }
  16. /**
  17. * @description: 新增机构
  18. */
  19. export const saveStructure = (params) => {
  20. params.parentGid = session.getItem("adminRole").groupid
  21. const formData = new FormData();
  22. Object.keys(params).forEach((key) => formData.append(key, params[key]))
  23. return new Promise<void>((resolve, reject) => {
  24. defHttp.post({ url: Api.SaveOrUpdateRoleInfoWithMenu, params: formData }).then((res) => {
  25. resolve(res.datas)
  26. })
  27. })
  28. };
  29. /**
  30. * @description: 获取机构列表
  31. */
  32. export const structureList = () => {
  33. return new Promise<void>((resolve, reject) => {
  34. defHttp.post({ url: Api.GetChildDepartment }).then((res) => {
  35. var a = tool.structureTree([res.datas]);
  36. console.log(a)
  37. resolve(a)
  38. })
  39. })
  40. };
  41. /**
  42. * @description: Get user menu based on id
  43. */
  44. export const getMenuList = (args?: number) => {
  45. const userStore = useUserStore();
  46. let url = Api.GetMenuList;
  47. try {
  48. if (userStore.getRoleList.find((v) => v == RoleEnum.SYS_ADMIN)) {
  49. url = Api.SysAdminMenuList;
  50. }
  51. return new Promise<void>((resolve, reject) => {
  52. resolve(menu)
  53. })
  54. } catch (e) { }
  55. };
  56. /**
  57. * @description: Get user menu based on id
  58. */
  59. export const getMenuList2 = (args?: number) => {
  60. const userStore = useUserStore();
  61. let url = Api.GetMenuList;
  62. try {
  63. if (userStore.getRoleList.find((v) => v == RoleEnum.SYS_ADMIN)) {
  64. url = Api.SysAdminMenuList;
  65. }
  66. return defHttp.get<getMenuListResultModel>({
  67. url,
  68. params: {
  69. needButton: args == 1 ? false : null,
  70. },
  71. });
  72. } catch (e) { }
  73. };
  74. export const delMenu = (menuIds: string[]) => {
  75. const url = Api.BaseMenuUrl;
  76. return defHttp.delete({ url: url, data: menuIds });
  77. };
  78. export const getMenusIdsByRoleId = (roleId: string) => {
  79. const url = Api.GetMenuIdsByRoleId + roleId;
  80. // return defHttp.get<Array<string>>({ url });
  81. return new Promise<void>((resolve, reject) => {
  82. resolve(menu_get_ids);
  83. })
  84. };