index.jsx 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. import { Pagination } from 'antd';
  2. import React, { useEffect, useState } from 'react';
  3. import { connect } from 'umi';
  4. import styles from './index.less';
  5. import { treeFilter } from 'enzyme/src/RSTTraversal';
  6. const BugTreeList = (props) => {
  7. const { dispatch, commonId, bugTreeList, bugSingleList, page } = props;
  8. const [currentTreeItem, setCurrentTreeItem] = useState([]);
  9. const [currPage, setCurrPage] = useState(1);
  10. const onPageChange = (num) => {
  11. setCurrPage(num);
  12. };
  13. const handleTreeItemClick = (item) => {
  14. const currItem = bugTreeList.TreeRoot.filter(i => i[0] === item[0]);
  15. setCurrentTreeItem(currItem[0]);
  16. };
  17. useEffect(() => {
  18. bugTreeList.TreeRoot && setCurrentTreeItem(bugTreeList.TreeRoot[0]);
  19. }, [bugTreeList]);
  20. useEffect(() => {
  21. if (currentTreeItem&&JSON.stringify(currentTreeItem) !== '[]') {
  22. console.log(currentTreeItem)
  23. //获取bug详情信息用于展示
  24. dispatch({
  25. type: 'editReport/getBugDetail',
  26. payload: {
  27. id: currentTreeItem[0],
  28. },
  29. }).then(res => {
  30. dispatch({
  31. type: 'allBugs/saveBugItemDetail',
  32. payload: {
  33. ...res,
  34. },
  35. });
  36. });
  37. }
  38. }, [currentTreeItem]);
  39. const getBugTreeList = ()=>{
  40. dispatch({
  41. type: 'allBugs/getTreeList',
  42. payload: {
  43. case_take_id: `${commonId.caseId}-${commonId.examId}`,
  44. start: 10*(currPage-1),
  45. count: '10',
  46. page,
  47. roleId:commonId.roleId
  48. },
  49. });
  50. }
  51. useEffect(() => {
  52. getBugTreeList();
  53. }, [currPage,page]);
  54. return (
  55. <div>
  56. <div className={styles.bugList}>
  57. {
  58. bugTreeList && bugTreeList.TreeRoot && bugTreeList.TreeRoot.map((item, index) => {
  59. return (
  60. <div key={item[0]}
  61. className={`${styles.bugListItem} ${currentTreeItem[0] === item[0] ? styles.bugListItemActive : ''}`}
  62. onClick={() => {
  63. handleTreeItemClick(item);
  64. }}>
  65. <span className={styles.bugListItemNum}>
  66. 树{index + 1}:
  67. </span>
  68. <div className={styles.bugListItemInfo}>
  69. <span className={styles.bugListItemSummary}>
  70. 高:{item[2]} 宽:{item[1]} 个数:{item[3]}</span>
  71. <div className={styles.bugListItemTitle}>
  72. {item[5]}
  73. </div>
  74. </div>
  75. </div>
  76. );
  77. })
  78. }
  79. </div>
  80. <div className={styles.pagination}>
  81. <Pagination showQuickJumper defaultCurrent={1} total={bugTreeList.Count} onChange={onPageChange} />
  82. </div>
  83. </div>
  84. );
  85. };
  86. export default connect(({ allBugs, editReport }) => ({
  87. data: allBugs.step,
  88. bugTreeList: allBugs.bugTreeList,
  89. reportCommonInfo: editReport.reportCommonInfo,
  90. commonId: editReport.commonId,
  91. }))(BugTreeList);