|
@@ -1,4 +1,4 @@
|
|
|
-import React, { useState, useEffect } from 'react';
|
|
|
+import React, { useState, useEffect, useRef } from 'react';
|
|
|
import { Select, Radio, Card, Row, Col, Input } from 'antd';
|
|
|
import { PageContainer } from '@ant-design/pro-layout';
|
|
|
import { connect } from 'umi';
|
|
@@ -20,9 +20,9 @@ const AllBugs = (props) => {
|
|
|
const [status, setStatus] = useState('tree');
|
|
|
const [page2List, setPage2List] = useState([]);
|
|
|
const [page3List, setPage3List] = useState([]);
|
|
|
- const [page1,setPage1] = useState('')
|
|
|
- const [page2,setPage2] = useState('')
|
|
|
- const [page3,setPage3] = useState('')
|
|
|
+ const [page1, setPage1] = useState('');
|
|
|
+ const [page2, setPage2] = useState('');
|
|
|
+ const [page3, setPage3] = useState('');
|
|
|
const [page, setPage] = useState('null');
|
|
|
|
|
|
const onChange = e => {
|
|
@@ -31,29 +31,34 @@ const AllBugs = (props) => {
|
|
|
};
|
|
|
|
|
|
const handlePage1Change = (val) => {
|
|
|
- if(val !== page1){
|
|
|
- setPage1(val)
|
|
|
+ if (val !== page1) {
|
|
|
+ setPage3('');
|
|
|
+ setPage2('');
|
|
|
+ setPage1(val);
|
|
|
let item = categories.find(x => x.item === val);
|
|
|
setPage2List(item.children);
|
|
|
}
|
|
|
};
|
|
|
|
|
|
const handlePage2Change = (val) => {
|
|
|
- setPage2(val)
|
|
|
- let item = page2List.find(x => x.item === val);
|
|
|
- setPage3List(item.children);
|
|
|
+ if (val !== page2) {
|
|
|
+ setPage3('');
|
|
|
+ setPage2(val);
|
|
|
+ let item = page2List.find(x => x.item === val);
|
|
|
+ setPage3List(item.children);
|
|
|
+ }
|
|
|
};
|
|
|
+
|
|
|
const handlePage3Change = val => {
|
|
|
- setPage3(val)
|
|
|
+ setPage3(val);
|
|
|
};
|
|
|
|
|
|
- useEffect(()=>{
|
|
|
- if(page1){
|
|
|
- const newPage = `${page1}${page2?'-'+page2:''}${page3?'-'+page3:''}`
|
|
|
- console.log(newPage);
|
|
|
+ useEffect(() => {
|
|
|
+ if (page1) {
|
|
|
+ const newPage = `${page1}${page2 ? '-' + page2 : ''}${page3 ? '-' + page3 : ''}`;
|
|
|
setPage(newPage);
|
|
|
}
|
|
|
- },[page1,page2,page3])
|
|
|
+ }, [page1, page2, page3]);
|
|
|
|
|
|
const getReportReview = () => {
|
|
|
dispatch({
|
|
@@ -66,7 +71,7 @@ const AllBugs = (props) => {
|
|
|
};
|
|
|
|
|
|
useEffect(() => {
|
|
|
- if(categories&&categories.length){
|
|
|
+ if (!categories.length) {
|
|
|
dispatch({
|
|
|
type: 'editReport/getCategories',
|
|
|
payload: { examId: commonId.examId },
|
|
@@ -86,7 +91,6 @@ const AllBugs = (props) => {
|
|
|
}
|
|
|
}, [dispatch]);
|
|
|
|
|
|
-
|
|
|
return (
|
|
|
<Card bordered={false} className={styles.allBugs}>
|
|
|
<>
|
|
@@ -101,36 +105,43 @@ const AllBugs = (props) => {
|
|
|
<Radio.Button value="single"><MoreOutlined /> 单一</Radio.Button>
|
|
|
</Radio.Group>
|
|
|
</Col>
|
|
|
- <Col span={11}>
|
|
|
- {/*三级菜单*/}
|
|
|
- <div className={styles.pageSelectors}>
|
|
|
- <span>三级菜单:</span>
|
|
|
- <Select
|
|
|
- placeholder="请选择一级界面"
|
|
|
- onSelect={(val) => {handlePage1Change(val);
|
|
|
- }}>
|
|
|
- {categories.map((item) => {
|
|
|
- return <Select.Option value={item.item} key={item.item}>{item.item}
|
|
|
- </Select.Option>;
|
|
|
- })}
|
|
|
- </Select>
|
|
|
- <Select placeholder="请选择二级界面"
|
|
|
-
|
|
|
- onSelect={(val) => {
|
|
|
- handlePage2Change(val)}}>
|
|
|
- {page2List.map((item) => {
|
|
|
- return <Select.Option value={item.item} key={item.item}>{item.item}</Select.Option>;
|
|
|
- })}
|
|
|
- </Select>
|
|
|
- <Select
|
|
|
- placeholder="请选择三级界面"
|
|
|
- onSelect={(val)=>{handlePage3Change(val)}}>
|
|
|
- {page3List.map((item) => {
|
|
|
- return <Select.Option value={item.item} key={item.item}>{item.item}</Select.Option>;
|
|
|
- })}
|
|
|
- </Select>
|
|
|
- </div>
|
|
|
- </Col>
|
|
|
+ <Col span={11}>
|
|
|
+ {/*三级菜单*/}
|
|
|
+ <div className={styles.pageSelectors}>
|
|
|
+ <span>三级菜单:</span>
|
|
|
+ <Select
|
|
|
+ value={page1}
|
|
|
+ placeholder="请选择一级界面"
|
|
|
+ onSelect={(val) => {
|
|
|
+ handlePage1Change(val);
|
|
|
+ }}>
|
|
|
+ {categories.map((item) => {
|
|
|
+ return <Select.Option value={item.item} key={item.item}>{item.item}
|
|
|
+ </Select.Option>;
|
|
|
+ })}
|
|
|
+ </Select>
|
|
|
+ <Select
|
|
|
+ value={page2}
|
|
|
+ placeholder="请选择二级界面"
|
|
|
+ onSelect={(val) => {
|
|
|
+ handlePage2Change(val);
|
|
|
+ }}>
|
|
|
+ {page2List.map((item) => {
|
|
|
+ return <Select.Option value={item.item} key={item.item}>{item.item}</Select.Option>;
|
|
|
+ })}
|
|
|
+ </Select>
|
|
|
+ <Select
|
|
|
+ value={page3}
|
|
|
+ placeholder="请选择三级界面"
|
|
|
+ onSelect={(val) => {
|
|
|
+ handlePage3Change(val);
|
|
|
+ }}>
|
|
|
+ {page3List.map((item) => {
|
|
|
+ return <Select.Option value={item.item} key={item.item}>{item.item}</Select.Option>;
|
|
|
+ })}
|
|
|
+ </Select>
|
|
|
+ </div>
|
|
|
+ </Col>
|
|
|
|
|
|
<Col span={8}>
|
|
|
<span className={styles.bugInfoCount}>已点赞:{reportReview.thumsup}</span>
|
|
@@ -140,7 +151,7 @@ const AllBugs = (props) => {
|
|
|
</Row>
|
|
|
<Row>
|
|
|
<Col span={8}>
|
|
|
- {status === 'tree' ? <BugTreeList page={page}/> : <BugSingleList page={page}/>}
|
|
|
+ {status === 'tree' ? <BugTreeList page={page} /> : <BugSingleList page={page} />}
|
|
|
|
|
|
</Col>
|
|
|
<Col span={8}>
|