menu.ts 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  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. SaveStructure = '/user-center/department/editDepartment',
  11. DeleteStructure = "/user-center/department/deleteDepartment",
  12. GetMenuList = '/menu/me/menus',
  13. SysAdminMenuList = '/admin/me/menus',
  14. GetMenuIdsByRoleId = '/menu/get_ids/',
  15. GetChildDepartment = '/user-center/department/getChildDepartment',
  16. GetMenuTreeData = "/base-center/menu/getMenuTreeData"
  17. }
  18. /**
  19. * 删除机构
  20. * @param ids 删除id数组
  21. */
  22. export const DeleteStructure = (params) => {
  23. return new Promise<void>((resolve, reject) => {
  24. defHttp.post({ url: Api.DeleteStructure, params: tool.objectToFormData(params) }).then((res) => {
  25. resolve(res.datas)
  26. })
  27. })
  28. }
  29. /**
  30. * @description: 新增机构
  31. */
  32. export const saveStructure = (params) => {
  33. return new Promise<void>((resolve, reject) => {
  34. defHttp.post({ url: Api.SaveStructure, params: tool.objectToFormData(params) })
  35. .then((res) => {
  36. resolve(res.datas)
  37. })
  38. })
  39. };
  40. /**
  41. * @description: 获取机构列表
  42. */
  43. export const structureList = () => {
  44. return new Promise<void>((resolve, reject) => {
  45. defHttp.post({ url: Api.GetChildDepartment }).then((res) => {
  46. var a = tool.structureTree([res.datas]);
  47. console.log(a)
  48. resolve(a)
  49. })
  50. })
  51. };
  52. /**
  53. * @description: Get user menu based on id
  54. */
  55. export const getMenuList = (args?: number) => {
  56. const userStore = useUserStore();
  57. let url = Api.GetMenuList;
  58. try {
  59. if (userStore.getRoleList.find((v) => v == RoleEnum.SYS_ADMIN)) {
  60. url = Api.SysAdminMenuList;
  61. }
  62. return new Promise<void>((resolve, reject) => {
  63. resolve(menu)
  64. })
  65. } catch (e) { }
  66. };
  67. /**
  68. * @description: 获取新菜单列表
  69. */
  70. export const menuList = (args?: number) => {
  71. try {
  72. return new Promise<void>((resolve, reject) => {
  73. return defHttp.post<getMenuListResultModel>({
  74. url: Api.GetMenuTreeData,
  75. }).then(r => {
  76. console.log("22222:", r.datas);
  77. resolve(r.datas)
  78. });
  79. })
  80. } catch (e) {
  81. };
  82. }
  83. /**
  84. * @description: Get user menu based on id
  85. */
  86. export const getMenuList2 = (args?: number) => {
  87. const userStore = useUserStore();
  88. let url = Api.GetMenuList;
  89. try {
  90. if (userStore.getRoleList.find((v) => v == RoleEnum.SYS_ADMIN)) {
  91. url = Api.SysAdminMenuList;
  92. }
  93. return defHttp.get<getMenuListResultModel>({
  94. url,
  95. params: {
  96. needButton: args == 1 ? false : null,
  97. },
  98. });
  99. } catch (e) { }
  100. };
  101. export const delMenu = (menuIds: string[]) => {
  102. const url = Api.BaseMenuUrl;
  103. return defHttp.delete({ url: url, data: menuIds });
  104. };
  105. export const getMenusIdsByRoleId = (roleId: string) => {
  106. const url = Api.GetMenuIdsByRoleId + roleId;
  107. // return defHttp.get<Array<string>>({ url });
  108. return new Promise<void>((resolve, reject) => {
  109. resolve(menu_get_ids);
  110. })
  111. };