depList.js 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. import { useRequest } from '@umijs/max';
  2. import { queryDepV2 } from '@/services/approval';
  3. const depList = () => {
  4. const { data, run, loading } = useRequest(queryDepV2, {
  5. manual: true,
  6. cacheKey: 'queryDepV2',
  7. defaultParams: [{ pageSize: 9999 }],
  8. });
  9. let depUserTree = [],
  10. depList = [];
  11. if (data) {
  12. depList = data.list.map((item) => {
  13. return getDepTree(item);
  14. });
  15. let copyData = JSON.parse(JSON.stringify(data.list));
  16. depUserTree = copyData.map((item) => {
  17. return getDepUserTree(item);
  18. });
  19. }
  20. console.log(depList);
  21. return { depUserTree, depList, loading, run };
  22. };
  23. function getDepUserTree(data) {
  24. data.title = `${data.Name}`;
  25. data.id = data.ID;
  26. data.value = data.ID;
  27. data.selectable = false;
  28. if (!data.children) data.children = new Array();
  29. if (data.children) {
  30. data.children.forEach((item) => {
  31. getDepUserTree(item);
  32. });
  33. }
  34. if (data.Users && data.Users.length !== 0) {
  35. data.Users.forEach((item) => {
  36. item.title = item.CName;
  37. item.id = item.ID + '||' + data.ID;
  38. item.value = item.ID + '||' + data.ID;
  39. // item.selectable = true;
  40. item.DepId = data.ID;
  41. data.children.push(item);
  42. });
  43. }
  44. return data;
  45. }
  46. function getDepTree(data) {
  47. data.title = `${data.Name}`;
  48. data.id = data.ID;
  49. data.value = data.ID;
  50. if (!data.children) data.children = new Array();
  51. if (data.children) {
  52. data.children.forEach((item) => {
  53. getDepTree(item);
  54. });
  55. }
  56. return data;
  57. }
  58. export default depList;