A2Dict.ts 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import { A5TableType } from "@/types";
  2. import { A2Tab1Type, A2Tab2Type } from "@/types/api/A2Dict";
  3. // 初始化状态
  4. const initState = {
  5. // 项目属性的数据 职能,状态
  6. A2Tab1_1Obj: {
  7. status: [],
  8. job: [],
  9. main: [],
  10. dept: [],
  11. projectBusiness: [],
  12. projectScope: [],
  13. projectApp: [],
  14. } as A2Tab1Type,
  15. // 阶段
  16. A2Tab1_2Arr: [] as A5TableType[],
  17. // -------内控文件属性----------
  18. A2Tab2Arr: [] as A2Tab2Type[],
  19. };
  20. // 定义 action 类型
  21. type Props =
  22. | { type: "A2/getInfo1_1"; payload: A2Tab1Type }
  23. | { type: "A2/getInfo1_2"; payload: A5TableType[] }
  24. | { type: "A2/getInfo2"; payload: A2Tab2Type[] };
  25. // 频道 reducer
  26. export default function A2Reducer(state = initState, action: Props) {
  27. switch (action.type) {
  28. // 项目属性的数据
  29. case "A2/getInfo1_1":
  30. return { ...state, A2Tab1_1Obj: action.payload };
  31. case "A2/getInfo1_2":
  32. return { ...state, A2Tab1_2Arr: action.payload };
  33. // 内控文件属性
  34. case "A2/getInfo2":
  35. return { ...state, A2Tab2Arr: action.payload };
  36. default:
  37. return state;
  38. }
  39. }