diff --git a/src/pages/members/manage-members/CustomerDetailModal.tsx b/src/pages/members/manage-members/CustomerDetailModal.tsx index a14815c..08f4617 100644 --- a/src/pages/members/manage-members/CustomerDetailModal.tsx +++ b/src/pages/members/manage-members/CustomerDetailModal.tsx @@ -12,7 +12,7 @@ import { toast } from 'sonner'; const BASE_URL_MASTER_DATA = apiConfig.service_master_data; const BASE_URL_CUSTOMER = apiConfig.service_customer; -const CustomerDialog = ({ open, handleClose, handleSubmit, initialData, viewStats, handleReject, page }: any) => { +const CustomerDialog = ({ open, handleClose, handleSubmit, initialData, viewStats, handleReject, page, fetchCustomers }: any) => { const [formData, setFormData] = useState(initialData || initialMember); const [viewOnly, setViewOnly] = useState(viewStats || false); const [municipios, setMunicipios] = useState([]); @@ -262,7 +262,7 @@ const CustomerDialog = ({ open, handleClose, handleSubmit, initialData, viewStat - {getAdmAccess(page, formData)} + {getAdmAccess(page, formData, handleClose, fetchCustomers)} { page === 'kyc' ? ( <> @@ -327,9 +327,36 @@ function fileTextFile(label: string, value: any, name: string, handleChange: any ) } -function getAdmAccess(page: string, data: any) { +function getAdmAccess(page: string, data: any, handleClose: any, fetchCustomers: any) { const [dialogOpen, setDialogOpen] = useState(false); const [dialogType, setDialogType] = useState(''); + const [changeGroup, setChangeGroup] = useState(''); + const [changeGroupD, setChangeGroupD] = useState(false); + const [groups, setGroups] = useState([]); + + useEffect(() => { + fetchGroups() + }, []); + + const fetchGroups = async () =>{ + try { + let getGroups = await axios.get(`${BASE_URL_CUSTOMER}/groups/list`, { + params: { + limit: 50, + page: 1, + with_deleted: false, + order_field: 'name', + order_direction: 'ASC', + } + }); + setGroups(getGroups.data.data.list); + setChangeGroup(data.group_id); + } catch (error: any) { + console.error(error.message); + toast.error(error.message) + } + } + const handleYes = async () => { try { if (dialogType === "update status") { @@ -347,6 +374,7 @@ function getAdmAccess(page: string, data: any) { toast.error(error.message) } finally { setDialogOpen(false) + handleClose() } } @@ -360,6 +388,24 @@ function getAdmAccess(page: string, data: any) { setDialogOpen(true) } + async function buttonChangeGroup() { + try { + let dataObj = { + customerid: data.id, + destination_group: changeGroup + } + if (dataObj.customerid && dataObj.destination_group) { + await axios.post(`${BASE_URL_CUSTOMER}/customer/change-group`, dataObj) + } + await fetchCustomers() + toast.success('Success Change group') + } catch (error: any) { + toast.error(error.message) + } finally { + setChangeGroupD(false) + } + } + if (page !== "kyc") { return ( @@ -378,7 +424,7 @@ function getAdmAccess(page: string, data: any) { Change Group - + Edit Member @@ -386,6 +432,31 @@ function getAdmAccess(page: string, data: any) { + + setChangeGroupD(false)} fullWidth> + + Groups + + Destination Group + + + + + + + + + setDialogOpen(false)} diff --git a/src/pages/members/manage-members/ManageMembers.tsx b/src/pages/members/manage-members/ManageMembers.tsx index 1132b87..d985211 100644 --- a/src/pages/members/manage-members/ManageMembers.tsx +++ b/src/pages/members/manage-members/ManageMembers.tsx @@ -24,15 +24,15 @@ const ManageMembers = () => { useEffect(() => { setLoading(true); - fetchGroups(); + fetchCustomers(); setLoading(false); }, []); - async function fetchGroups() { + async function fetchCustomers() { try { let groups = await axios.get(`${BASE_URL}/customer/list`, { params: { - limit: 10, + limit: 20, page: 1, with_deleted: false, order_field: 'fullname', @@ -100,7 +100,7 @@ const ManageMembers = () => { if (dialogType === 'update') await axios.put(`${BASE_URL}/customer/update/${selectedMember}`, updateData); // if (dialogType === 'create') await axios.post(`${BASE_URL}/customers/create`, member) - await fetchGroups(); + await fetchCustomers(); setDialogOpen(false); setIsDialogOpen(false); toast.success('Success Update Member'); @@ -130,6 +130,7 @@ const ManageMembers = () => { handleClose={closeDialog} handleSubmit={handleSubmit} initialData={member} + fetchCustomers={fetchCustomers} />

Manage Members