瀏覽代碼

feat: 完成分页

ZhaoJun 1 年之前
父節點
當前提交
88f434f0ae

+ 13 - 1
src/pages/PurchaseAdmin/PurchaseList/DailyRecord/components/WriteRecordModal.js

@@ -52,7 +52,19 @@ const WriteRecordModal = ({
   };
 
   const handleOk = () => {
-    onOk(list);
+    // 新建的不需要传id字段
+    const params = list.map(item => {
+      if (item.id === '') {
+        return {
+          code_id: item.code_id,
+          title: item.title,
+          content: item.content,
+        };
+      } else {
+        return item;
+      }
+    });
+    onOk(params);
   };
 
   return (

+ 35 - 6
src/pages/PurchaseAdmin/PurchaseList/DailyRecord/index.js

@@ -22,7 +22,8 @@ const { confirm } = Modal;
 const DailyRecord = props => {
   const { currentUser, projects, loading: propsLoading, dispatch } = props;
 
-  const [date, setDate] = useState('');
+  const [date, setDate] = useState({});
+  const [pageInfo, setPageInfo] = useState({ current: 1, pageSize: 10, total: 999 });
   const [writeVisible, setWriteVisible] = useState(false);
   const [detailVisible, setDetailVisible] = useState(false);
   const [editMode, setEditMode] = useState(false);
@@ -31,7 +32,14 @@ const DailyRecord = props => {
   const [mockLogDetail, setMockLogDetail] = useState([]);
 
   // 请求列表
-  const { data, run, loading: listLoading } = useRequest(date => approvalLogOwnList(date));
+  const { data, run, loading: listLoading } = useRequest(approvalLogOwnList, {
+    defaultParams: [{ ...date, ...pageInfo }],
+    onSuccess: data => {
+      if (data?.pagination) {
+        setPageInfo(data.pagination);
+      }
+    },
+  });
 
   // 查询日志详情
   const { data: logDetail, run: runDetail, loading: detailLoading } = useRequest(
@@ -162,15 +170,32 @@ const DailyRecord = props => {
     }
   }, []);
 
-  const onChange = (date, dateString) => {
-    run({ s_time: `${dateString} 00:00:00`, e_time: `${dateString} 23:59:59` });
+  const handleDataPicked = (_date, dateString) => {
+    let params = '';
+    if (dateString) {
+      params = { ...pageInfo, s_time: `${dateString} 00:00:00`, e_time: `${dateString} 23:59:59` };
+    }
+    run(params);
+    setDate(params);
+  };
+
+  const handlePageChange = (page, pageSize) => {
+    console.log(page, pageSize);
+    let params = '';
+    if (date) {
+      params = date;
+    }
+    params.page = page;
+    params.pageSize = pageSize;
+    run(params);
+    setPageInfo({ ...pageInfo, current: page, pageSize: pageSize });
   };
 
   return (
     <div>
       <div style={{ display: 'flex', justifyContent: 'space-between', marginBottom: '20px' }}>
         <Space size={24}>
-          <DatePicker onChange={onChange} />
+          <DatePicker onChange={handleDataPicked} />
           <Button type="primary" onClick={() => {}}>
             查询
           </Button>
@@ -186,7 +211,11 @@ const DailyRecord = props => {
         </Button>
       </div>
       <Spin spinning={allLoading}>
-        <Table columns={columns} dataSource={data?.list} pagination={data?.pagination} />
+        <Table
+          columns={columns}
+          dataSource={data?.list}
+          pagination={{ ...pageInfo, onChange: handlePageChange }}
+        />
       </Spin>
       <WriteRecordModal
         defaultLogList={mockLogDetail}