فهرست منبع

fix(compiler): 菜单管理修改结构

shylock 2 سال پیش
والد
کامیت
c5beac9629
1فایلهای تغییر یافته به همراه35 افزوده شده و 35 حذف شده
  1. 35 35
      src/pages/MenuManagement/index.tsx

+ 35 - 35
src/pages/MenuManagement/index.tsx

@@ -30,32 +30,54 @@ const MenuManagement: React.FC = () => {
   const [editData, setEditData] = useState(null);
   const [form] = Form.useForm();
   const [visible, setVisible] = useState(false);
-  const [pagination, setPagination] = useState({ total: 0, current: 1, pageSize: 10 });
+  const [pagination, setPagination] = useState({ current: 1, pageSize: 10 });
   const [dataList, setDataList] = useState([]);
   const [tag] = useState('web');
   const [checkVisible, setCheckVisible] = useState(false);
   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 params = {
+    const params: any = {
       q: 'page',
       current: pagination.current,
       pageSize: pagination.pageSize,
       ...searchData,
     };
     queryMenu(params).then((res) => {
-      if (res.code === 0) {
-        res.data.list.forEach((el: { children: any[] }) => {
-          el.children = [];
-        });
-        setDataList(res.data.list);
+      if (res && res.code === 0) {
+        const data: any = getTreeData(res.data.list);
+        setDataList(data);
         setPagination(res.data.pagination);
         setLoading(false);
       }
     });
   };
 
+  // 初始化数据
   useEffect(() => {
     setLoading(true);
     getList();
@@ -72,13 +94,18 @@ const MenuManagement: React.FC = () => {
     };
     queryMenu(params).then((res) => {
       if (res.code === 0) {
-        setDataList(res.data.list);
+        const data: any = getTreeData(res.data.list);
+        setDataList(data);
         setPagination(res.data.pagination);
         setLoading(false);
       }
     });
   };
 
+  useEffect(() => {
+    getList();
+  }, [searchData]);
+
   //  搜索
   const onFinish = () => {
     form.validateFields().then((data) => {
@@ -86,9 +113,6 @@ const MenuManagement: React.FC = () => {
       setSearchData(data);
     });
   };
-  useEffect(() => {
-    getList();
-  }, [searchData]);
   // 重置
   const onReset = () => {
     form.resetFields();
@@ -144,27 +168,6 @@ const MenuManagement: React.FC = () => {
     setCheckVisible(false);
   };
 
-  // const getChildrenList = () =>{
-  //   const params = {
-  //     q:'page',
-  //
-  //   };
-  //   queryMenu(params).then(res =>{
-  //     if(res.code === 0){
-  //       setDataList(res.data.list);
-  //       setPagination(res.data.pagination);
-  //       setLoading(false);
-  //     }
-  //   })
-  // }
-
-  // 异步展开树table
-  const areaExpandedRowsChange = (expanded: any, record: any) => {
-    // 做一下限制,如果已经有数据,不再重复请求数据
-    if (expanded && record.children && record.children.length >= 0) {
-    }
-  };
-
   const columns: ColumnsType<DataType> = [
     {
       title: '序号',
@@ -287,9 +290,6 @@ const MenuManagement: React.FC = () => {
             pagination={paginationProps}
             loading={loading}
             onChange={tableChange}
-            expandable={{
-              onExpand: areaExpandedRowsChange,
-            }}
           />
           {visible && <Edit visible={visible} editCallback={handleEdit} params={editData} />}
           {checkVisible && (