From ab16bd8b56b5558be359f2454ec09660f638de1b Mon Sep 17 00:00:00 2001 From: unknown Date: Sun, 1 Jun 2025 23:04:31 +0700 Subject: [PATCH] agent --- .../members/agent-balance/AgentBalance.tsx | 107 ++++++++++-------- 1 file changed, 61 insertions(+), 46 deletions(-) diff --git a/src/pages/members/agent-balance/AgentBalance.tsx b/src/pages/members/agent-balance/AgentBalance.tsx index df4ac80..ccb9351 100644 --- a/src/pages/members/agent-balance/AgentBalance.tsx +++ b/src/pages/members/agent-balance/AgentBalance.tsx @@ -44,6 +44,7 @@ const AgentBalance = () => { const [dataBalance, setDataBalance] = useState([]); const [formData, setFormData] = useState(initBalance); const [pageIndex, setPageIndex] = useState(1); + const [currentPage, setCurrentPage] = useState(0); const [pageSize, setPageSize] = useState(10); const [dialogType, setDialogType] = useState(''); const [dialogOpen, setDialogOpen] = useState(false); @@ -52,34 +53,42 @@ const AgentBalance = () => { // const [selectedMember, setSelectedMember] = useState(initBalance); useEffect(() => { - fetchAgentBalance(); + // fetchAgentBalance(); }, []); - async function fetchAgentBalance(): Promise { - setIsReloading(true); - try { - let balances = await axios.get(`${BASE_URL}/customer/agent-balance`, { - params: { - limit: 20, - page: 1, - with_deleted: false, - order_field: 'created_at', - order_direction: 'DESC' - } - }); - let temp = 1; - let resBalance = balances.data.data.list.map((el: any) => { - el.no = temp++; - if (!el.agent_name) el.agent_name = '' - return el; - }); - setDataBalance(resBalance); - } catch (error: any) { - alert(error.message); - console.log(error); - } finally { - setIsReloading(false); - } + const fetchAgentBalance = async ( + page: number, + limit: number, + sorting: any, + filter: any + ) => { + filter = filter.length ? filter : {}; + let balances = await axios.get(`${BASE_URL}/customer/agent-balance`, { + params: { + limit: limit, + page: page + 1, // +1 because your API uses 1-based pages + with_deleted: false, + order_field: 'created_at', + order_direction: 'DESC', + filter: JSON.stringify(filter), + } + }); + let temp = 1; + let resBalance = balances.data.data.list.map((el: any) => { + el.no = temp++; + if (!el.agent_name) el.agent_name = '' + return el; + }); + return { data: resBalance, totalCount: balances?.data.data.total_count } + // setIsReloading(true); + // try { + // // setDataBalance(resBalance); + // } catch (error: any) { + // alert(error.message); + // console.log(error); + // } finally { + // setIsReloading(false); + // } } const openDialog = () => setIsDialogOpen(true); @@ -100,9 +109,11 @@ const AgentBalance = () => { setIsDialogOpen(true); }; - const handleReload = () => { + const handleReload = async () => { setIsReloading(true); - fetchAgentBalance(); + await fetchAgentBalance(currentPage, pageSize, '',''); + setIsReloading(false); + // fetchAgentBalance(); }; async function getQrCode(customerId:any): Promise { @@ -154,24 +165,28 @@ const AgentBalance = () => { {isReloading && ( )} - - } - layout={{ card: true }} - serverSide={false} - onRowSelectionChange={(selected, table: any) => { - const selectedRow = table.getSelectedRowModel().rows[0]; - if (selectedRow) handleUpdate(selectedRow.original); - }} - /> + {!isReloading && ( + fetchAgentBalance(pageIndex, pageSize, sorting, columnFilters) + } + toolbar={ + + } + onRowSelectionChange={(selected, table: any) => { + const selectedRow = table.getSelectedRowModel().rows[0]; + if (selectedRow) handleUpdate(selectedRow.original); + }} + /> + )} {/* */}