depart.user.api.ts 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. import { unref } from 'vue';
  2. import { defHttp } from '/@/utils/http/axios';
  3. import { useMessage } from '/@/hooks/web/useMessage';
  4. const { createConfirm } = useMessage();
  5. enum Api {
  6. treeList = '/sys/sysDepart/queryMyDeptTreeList',
  7. queryIdTree = '/sys/sysDepart/queryIdTree',
  8. searchBy = '/sys/sysDepart/searchBy',
  9. }
  10. // 部门用户API
  11. enum DepartUserApi {
  12. list = '/sys/user/departUserList',
  13. link = '/sys/user/editSysDepartWithUser',
  14. unlink = '/sys/user/deleteUserInDepartBatch',
  15. }
  16. // 部门角色API
  17. enum DepartRoleApi {
  18. list = '/sys/sysDepartRole/list',
  19. deleteBatch = '/sys/sysDepartRole/deleteBatch',
  20. save = '/sys/sysDepartRole/add',
  21. edit = '/sys/sysDepartRole/edit',
  22. queryTreeListForDeptRole = '/sys/sysDepartPermission/queryTreeListForDeptRole',
  23. queryDeptRolePermission = '/sys/sysDepartPermission/queryDeptRolePermission',
  24. saveDeptRolePermission = '/sys/sysDepartPermission/saveDeptRolePermission',
  25. dataRule = '/sys/sysDepartRole/datarule',
  26. getDeptRoleList = '/sys/sysDepartRole/getDeptRoleList',
  27. getDeptRoleByUserId = '/sys/sysDepartRole/getDeptRoleByUserId',
  28. saveDeptRoleUser = '/sys/sysDepartRole/deptRoleUserAdd',
  29. }
  30. /**
  31. * 获取部门树列表
  32. */
  33. export const queryMyDepartTreeList = (params?) => defHttp.get({ url: Api.treeList, params }, { isTransformResponse: false });
  34. /**
  35. * 查询数据,以树结构形式加载所有部门的名称
  36. */
  37. export const queryIdTree = (params?) => defHttp.get({ url: Api.queryIdTree, params });
  38. /**
  39. * 根据关键字搜索部门
  40. */
  41. export const searchByKeywords = (params) => defHttp.get({ url: Api.searchBy, params });
  42. /**
  43. * 查询部门下的用户信息
  44. */
  45. export const departUserList = (params) => defHttp.get({ url: DepartUserApi.list, params });
  46. /**
  47. * 批量添加部门和用户的关联关系
  48. *
  49. * @param departId 部门ID
  50. * @param userIdList 用户ID列表
  51. */
  52. export const linkDepartUserBatch = (departId: string, userIdList: string[]) =>
  53. defHttp.post({ url: DepartUserApi.link, params: { depId: departId, userIdList } });
  54. /**
  55. * 批量取消部门和用户的关联关系
  56. */
  57. export const unlinkDepartUserBatch = (params, confirm = false) => {
  58. return new Promise((resolve, reject) => {
  59. const doDelete = () => {
  60. resolve(defHttp.delete({ url: DepartUserApi.unlink, params }, { joinParamsToUrl: true }));
  61. };
  62. if (confirm) {
  63. createConfirm({
  64. iconType: 'warning',
  65. title: '取消关联',
  66. content: '确定要取消关联吗?',
  67. onOk: () => doDelete(),
  68. onCancel: () => reject(),
  69. });
  70. } else {
  71. doDelete();
  72. }
  73. });
  74. };
  75. /**
  76. * 查询部门角色信息
  77. */
  78. export const departRoleList = (params) => defHttp.get({ url: DepartRoleApi.list, params });
  79. /**
  80. * 保存或者更新部门角色
  81. */
  82. export const saveOrUpdateDepartRole = (params, isUpdate) => {
  83. if (isUpdate) {
  84. return defHttp.put({ url: DepartRoleApi.edit, params });
  85. } else {
  86. return defHttp.post({ url: DepartRoleApi.save, params });
  87. }
  88. };
  89. /**
  90. * 批量删除部门角色
  91. */
  92. export const deleteBatchDepartRole = (params, confirm = false) => {
  93. return new Promise((resolve, reject) => {
  94. const doDelete = () => {
  95. resolve(defHttp.delete({ url: DepartRoleApi.deleteBatch, params }, { joinParamsToUrl: true }));
  96. };
  97. if (confirm) {
  98. createConfirm({
  99. iconType: 'warning',
  100. title: '删除',
  101. content: '确定要删除吗?',
  102. onOk: () => doDelete(),
  103. onCancel: () => reject(),
  104. });
  105. } else {
  106. doDelete();
  107. }
  108. });
  109. };
  110. /**
  111. * 用户角色授权功能,查询菜单权限树
  112. */
  113. export const queryTreeListForDeptRole = (params) => defHttp.get({ url: DepartRoleApi.queryTreeListForDeptRole, params });
  114. /**
  115. * 查询角色授权
  116. */
  117. export const queryDeptRolePermission = (params) => defHttp.get({ url: DepartRoleApi.queryDeptRolePermission, params });
  118. /**
  119. * 保存角色授权
  120. */
  121. export const saveDeptRolePermission = (params) => defHttp.post({ url: DepartRoleApi.saveDeptRolePermission, params });
  122. /**
  123. * 查询部门角色数据权限列表
  124. */
  125. export const queryDepartRoleDataRule = (functionId, departId, roleId, params?) => {
  126. let url = `${DepartRoleApi.dataRule}/${unref(functionId)}/${unref(departId)}/${unref(roleId)}`;
  127. return defHttp.get({ url, params });
  128. };
  129. /**
  130. * 保存部门角色数据权限
  131. */
  132. export const saveDepartRoleDataRule = (params) => defHttp.post({ url: DepartRoleApi.dataRule, params });
  133. /**
  134. * 查询部门角色用户授权
  135. */
  136. export const queryDepartRoleUserList = (params) => defHttp.get({ url: DepartRoleApi.getDeptRoleList, params });
  137. /**
  138. * 根据 userId 查询部门角色用户授权
  139. */
  140. export const queryDepartRoleByUserId = (params) => defHttp.get({ url: DepartRoleApi.getDeptRoleByUserId, params });
  141. /**
  142. * 保存部门角色用户授权
  143. */
  144. export const saveDepartRoleUser = (params) => defHttp.post({ url: DepartRoleApi.saveDeptRoleUser, params });