smartOps.js 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. import {
  2. queryAnalysisDict,
  3. queryProcessSection,
  4. } from '@/services/OperationManagement';
  5. import { queryList, queryListNew } from '@/services/diagnosticTec';
  6. export default {
  7. namespace: 'smartOps',
  8. state: {
  9. list: [],
  10. processList: [],
  11. },
  12. effects: {
  13. *queryList({ payload, callback }, { call, put, select }) {
  14. if (!payload.ids) {
  15. yield put({
  16. type: 'save',
  17. payload: {
  18. list: {
  19. list: [],
  20. pagenation: { total: 0 },
  21. },
  22. },
  23. });
  24. return;
  25. }
  26. if (payload.isNewRole) {
  27. const analysisDict = yield call(queryAnalysisDict, { pageSize: 9999 });
  28. const response = yield call(queryListNew, payload);
  29. if (response) {
  30. response?.data?.list?.map((item,index) => {
  31. item.index = index;
  32. var reason = analysisDict?.data?.find(
  33. (reason) => reason.id == item.Reason,
  34. );
  35. if (reason) {
  36. item.Reason = reason.content;
  37. }
  38. var FixPlanArr = item.FixPlan.split(',');
  39. if (FixPlanArr.length > 0) {
  40. item.FixPlan = [];
  41. FixPlanArr.map((fixItem) => {
  42. var fixPlan = analysisDict?.data?.find(
  43. (reason) => reason.id == fixItem,
  44. );
  45. if (fixPlan) item.FixPlan.push(fixPlan);
  46. });
  47. }
  48. });
  49. yield put({
  50. type: 'save',
  51. payload: { list: response.data },
  52. });
  53. callback && callback?.(response.data);
  54. }
  55. } else {
  56. const response = yield call(queryList, payload);
  57. if (response) {
  58. yield put({
  59. type: 'save',
  60. payload: { list: response.data },
  61. });
  62. }
  63. callback && callback?.(response.data);
  64. }
  65. },
  66. *queryProcessSection({ payload }, { call, put }) {
  67. const list = yield call(queryProcessSection, payload);
  68. if (list) {
  69. yield put({
  70. type: 'save',
  71. payload: { processList: list.data },
  72. });
  73. }
  74. },
  75. },
  76. reducers: {
  77. save(state, action) {
  78. return {
  79. ...state,
  80. ...action.payload,
  81. };
  82. },
  83. },
  84. };