|
@@ -30,48 +30,21 @@ const MenuManagement: React.FC = () => {
|
|
const [editData, setEditData] = useState(null);
|
|
const [editData, setEditData] = useState(null);
|
|
const [form] = Form.useForm();
|
|
const [form] = Form.useForm();
|
|
const [visible, setVisible] = useState(false);
|
|
const [visible, setVisible] = useState(false);
|
|
- const [pagination, setPagination] = useState({ current: 1, pageSize: 10 });
|
|
|
|
const [dataList, setDataList] = useState([]);
|
|
const [dataList, setDataList] = useState([]);
|
|
const [tag] = useState('web');
|
|
const [tag] = useState('web');
|
|
const [checkVisible, setCheckVisible] = useState(false);
|
|
const [checkVisible, setCheckVisible] = useState(false);
|
|
const [checkData, setCheckData] = useState<object | null>({});
|
|
const [checkData, setCheckData] = useState<object | null>({});
|
|
|
|
|
|
- // 转换成树结构
|
|
|
|
- const getTreeData = (data: any) => {
|
|
|
|
- const temp = {};
|
|
|
|
- const treeData = [];
|
|
|
|
- data.forEach((el: any) => {
|
|
|
|
- temp[el.record_id] = el;
|
|
|
|
- });
|
|
|
|
-
|
|
|
|
- for (const i in temp) {
|
|
|
|
- if (temp[i].parent_id !== '') {
|
|
|
|
- if (temp[temp[i].parent_id]) {
|
|
|
|
- if (!('children' in temp[temp[i].parent_id])) {
|
|
|
|
- temp[temp[i].parent_id].children = [];
|
|
|
|
- }
|
|
|
|
- temp[temp[i].parent_id].children.push(temp[i]);
|
|
|
|
- }
|
|
|
|
- } else {
|
|
|
|
- treeData.push(temp[i]);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- return treeData;
|
|
|
|
- };
|
|
|
|
-
|
|
|
|
// 获取列表数据
|
|
// 获取列表数据
|
|
const getList = () => {
|
|
const getList = () => {
|
|
const params: any = {
|
|
const params: any = {
|
|
- q: 'page',
|
|
|
|
- current: pagination.current,
|
|
|
|
- pageSize: pagination.pageSize,
|
|
|
|
|
|
+ q: 'tree',
|
|
|
|
+ query_all: 1,
|
|
...searchData,
|
|
...searchData,
|
|
};
|
|
};
|
|
queryMenu(params).then((res) => {
|
|
queryMenu(params).then((res) => {
|
|
if (res && res.code === 0) {
|
|
if (res && res.code === 0) {
|
|
- const data: any = getTreeData(res.data.list);
|
|
|
|
- setDataList(data);
|
|
|
|
- setPagination(res.data.pagination);
|
|
|
|
|
|
+ setDataList(res.data.list);
|
|
setLoading(false);
|
|
setLoading(false);
|
|
}
|
|
}
|
|
});
|
|
});
|
|
@@ -83,25 +56,6 @@ const MenuManagement: React.FC = () => {
|
|
getList();
|
|
getList();
|
|
}, []);
|
|
}, []);
|
|
|
|
|
|
- // 分页切换
|
|
|
|
- const tableChange = (page: any) => {
|
|
|
|
- setLoading(true);
|
|
|
|
- const params = {
|
|
|
|
- q: 'page',
|
|
|
|
- current: page.current,
|
|
|
|
- pageSize: page.pageSize,
|
|
|
|
- ...searchData,
|
|
|
|
- };
|
|
|
|
- queryMenu(params).then((res) => {
|
|
|
|
- if (res.code === 0) {
|
|
|
|
- const data: any = getTreeData(res.data.list);
|
|
|
|
- setDataList(data);
|
|
|
|
- setPagination(res.data.pagination);
|
|
|
|
- setLoading(false);
|
|
|
|
- }
|
|
|
|
- });
|
|
|
|
- };
|
|
|
|
-
|
|
|
|
useEffect(() => {
|
|
useEffect(() => {
|
|
getList();
|
|
getList();
|
|
}, [searchData]);
|
|
}, [searchData]);
|
|
@@ -250,14 +204,6 @@ const MenuManagement: React.FC = () => {
|
|
),
|
|
),
|
|
},
|
|
},
|
|
];
|
|
];
|
|
- const paginationProps = {
|
|
|
|
- showSizeChanger: true,
|
|
|
|
- showQuickJumper: true,
|
|
|
|
- showTotal: (total: number) => {
|
|
|
|
- return <span> 共 {total}条 </span>;
|
|
|
|
- },
|
|
|
|
- ...pagination,
|
|
|
|
- };
|
|
|
|
return (
|
|
return (
|
|
<PageContainer>
|
|
<PageContainer>
|
|
<div>
|
|
<div>
|
|
@@ -287,9 +233,7 @@ const MenuManagement: React.FC = () => {
|
|
columns={columns}
|
|
columns={columns}
|
|
dataSource={dataList}
|
|
dataSource={dataList}
|
|
rowKey={(record) => record.record_id}
|
|
rowKey={(record) => record.record_id}
|
|
- pagination={paginationProps}
|
|
|
|
loading={loading}
|
|
loading={loading}
|
|
- onChange={tableChange}
|
|
|
|
/>
|
|
/>
|
|
{visible && <Edit visible={visible} editCallback={handleEdit} params={editData} />}
|
|
{visible && <Edit visible={visible} editCallback={handleEdit} params={editData} />}
|
|
{checkVisible && (
|
|
{checkVisible && (
|