index.tsx 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. import React, { useCallback, useEffect, useState } from "react";
  2. import styles from "./index.module.scss";
  3. import { useDispatch } from "react-redux";
  4. import { A2_APIgetList1 } from "@/store/action/A2Dict";
  5. import A2Table1 from "../A2Tab1/A2Table1";
  6. import { Button } from "antd";
  7. import { A2Tab1_1 } from "@/types/api/A2Dict";
  8. import A2Tab1Add from "../A2Tab1/A2Tab1Add";
  9. function A2Tab3() {
  10. const dispatch = useDispatch();
  11. const getListFu1 = useCallback(() => {
  12. dispatch(A2_APIgetList1());
  13. }, [dispatch]);
  14. useEffect(() => {
  15. getListFu1();
  16. }, [getListFu1]);
  17. const [addInfo1, setAddInfo1] = useState({} as A2Tab1_1);
  18. return (
  19. <div className={styles.A2Tab1}>
  20. <div className="A2tableBox">
  21. <div className="A2tableBoxBtn">
  22. <h3>业务类型</h3>
  23. <Button
  24. type="primary"
  25. onClick={() => setAddInfo1({ id: -1, type: "projectBusiness" } as A2Tab1_1)}
  26. >
  27. 新增
  28. </Button>
  29. </div>
  30. <A2Table1
  31. editFu={(item) => setAddInfo1(item)}
  32. upTaleFu={() => getListFu1()}
  33. type="projectBusiness"
  34. />
  35. </div>
  36. <div className="A2tableBox">
  37. <div className="A2tableBoxBtn">
  38. <h3>项目范围</h3>
  39. <Button
  40. type="primary"
  41. onClick={() => setAddInfo1({ id: -1, type: "projectScope" } as A2Tab1_1)}
  42. >
  43. 新增
  44. </Button>
  45. </div>
  46. <A2Table1
  47. editFu={(item) => setAddInfo1(item)}
  48. upTaleFu={() => getListFu1()}
  49. type="projectScope"
  50. />
  51. </div>
  52. <div className="A2tableBox">
  53. <div className="A2tableBoxBtn">
  54. <h3>客户端</h3>
  55. <Button
  56. type="primary"
  57. onClick={() => setAddInfo1({ id: -1, type: "projectApp" } as A2Tab1_1)}
  58. >
  59. 新增
  60. </Button>
  61. </div>
  62. <A2Table1
  63. editFu={(item) => setAddInfo1(item)}
  64. upTaleFu={() => getListFu1()}
  65. type="projectApp"
  66. />
  67. </div>
  68. {/* 新增功能弹窗 */}
  69. {addInfo1.id ? (
  70. <A2Tab1Add
  71. info={addInfo1}
  72. closeFu={() => setAddInfo1({} as A2Tab1_1)}
  73. addFu={() => getListFu1()}
  74. />
  75. ) : null}
  76. </div>
  77. );
  78. }
  79. const MemoA2Tab3 = React.memo(A2Tab3);
  80. export default MemoA2Tab3;