auth.js 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. import { queryAuthList, queryCheckedList } from '@/services/bomAuth';
  2. import { queryClassify } from '@/services/boom';
  3. export default {
  4. namespace: 'auth',
  5. state: {
  6. authList: [],
  7. checkedList: { list: [], pagination: {} },
  8. },
  9. effects: {
  10. *queryAuthList({ payload }, { call, put }) {
  11. const responce = yield call(queryAuthList, payload);
  12. if (responce) {
  13. let data = responce.data;
  14. let ret = [];
  15. data.forEach(e => {
  16. let item = ret.find(item => item.key == `${e.template_id}_${e.project_id}`);
  17. if (!item) {
  18. item = {
  19. key: `${e.template_id}_${e.project_id}`,
  20. name: e.name,
  21. project_name: e.ding_schema,
  22. nodes: [],
  23. };
  24. ret.push(item);
  25. }
  26. item.nodes.push({
  27. template_id: e.template_id,
  28. project_id: e.project_id,
  29. version_name: e.version_name,
  30. node_name: e.TemplateNodeInfo?.label,
  31. author: e.AuthorInfo?.CName,
  32. classify_id: e.classify_id,
  33. version_id: e.version_id,
  34. id: e.id,
  35. });
  36. });
  37. yield put({
  38. type: 'save',
  39. payload: { authList: ret },
  40. });
  41. }
  42. },
  43. *queryCheckedList({ payload }, { call, put }) {
  44. const responce = yield call(queryCheckedList, payload);
  45. if (responce) {
  46. let data = responce.data.list;
  47. let ret = [];
  48. data.forEach(e => {
  49. let item = ret.find(item => item.key == `${e.template_id}_${e.project_id}`);
  50. if (!item) {
  51. item = {
  52. key: `${e.template_id}_${e.project_id}`,
  53. name: e.name,
  54. project_name: e.ding_schema,
  55. nodes: [],
  56. };
  57. ret.push(item);
  58. }
  59. item.nodes.push({
  60. template_id: e.template_id,
  61. project_id: e.project_id,
  62. version_name: e.version_name,
  63. node_name: e.TemplateNodeInfo?.label,
  64. author: e.AuthorInfo?.CName,
  65. classify_id: e.classify_id,
  66. version_id: e.version_id,
  67. id: e.id,
  68. });
  69. });
  70. yield put({
  71. type: 'save',
  72. payload: { checkedList: { list: ret, pagination: responce.data.pagination } },
  73. });
  74. }
  75. },
  76. *queryClassify({ payload, callback }, { call, put }) {
  77. const data = yield call(queryClassify, payload);
  78. if (data) {
  79. yield put({
  80. type: 'save',
  81. payload: {
  82. typeOptions: data?.map(item => {
  83. return { ...item, label: item.name, value: item.id };
  84. }),
  85. },
  86. });
  87. }
  88. },
  89. },
  90. reducers: {
  91. save(state, action) {
  92. return {
  93. ...state,
  94. ...action.payload,
  95. };
  96. },
  97. },
  98. };