From 77f9843ad5072583cb1797d7ecf5ac80394bad3f Mon Sep 17 00:00:00 2001 From: it-fixcomart Date: Mon, 2 Dec 2024 09:31:44 +0700 Subject: pengajuan tempo --- .../elements/Navbar/NavbarUserDropdown.jsx | 7 +++- src/lib/auth/components/Menu.jsx | 21 ++++++++--- src/lib/pengajuan-tempo/api/editAuthTempo.js | 13 +++++++ src/lib/pengajuan-tempo/component/FinishTempo.jsx | 27 ++++++++------ .../pengajuan-tempo/component/PengajuanTempo.jsx | 43 ++++++++++++++++------ src/lib/transaction/components/Transaction.jsx | 2 +- src/pages/my/menu.jsx | 25 +++++++------ 7 files changed, 95 insertions(+), 43 deletions(-) create mode 100644 src/lib/pengajuan-tempo/api/editAuthTempo.js (limited to 'src') diff --git a/src/core/components/elements/Navbar/NavbarUserDropdown.jsx b/src/core/components/elements/Navbar/NavbarUserDropdown.jsx index 83bf4a66..b2abe80f 100644 --- a/src/core/components/elements/Navbar/NavbarUserDropdown.jsx +++ b/src/core/components/elements/Navbar/NavbarUserDropdown.jsx @@ -13,7 +13,7 @@ const NavbarUserDropdown = () => { router.push('/login'); }); }; - + console.log('atuh', atuh); return (
@@ -22,7 +22,10 @@ const NavbarUserDropdown = () => { Daftar Transaksi Daftar Pengiriman Invoice & Faktur Pajak - Pembayaran Tempo + {(atuh?.partnerTempo.toLowerCase().includes('tempo') || + atuh.tempoProgres == 'review') && ( + Pembayaran Tempo + )} Wishlist Daftar Alamat {!atuh?.external && ( diff --git a/src/lib/auth/components/Menu.jsx b/src/lib/auth/components/Menu.jsx index 18d8df91..466b793e 100644 --- a/src/lib/auth/components/Menu.jsx +++ b/src/lib/auth/components/Menu.jsx @@ -3,8 +3,10 @@ import { useRouter } from 'next/router'; import ImageNext from 'next/image'; import whatsappUrl from '@/core/utils/whatsappUrl'; import { deleteAuth } from '@/core/utils/auth'; +import useAuth from '@/core/hooks/useAuth'; const Menu = () => { const router = useRouter(); + const auth = useAuth(); const routeStartWith = (route) => router.pathname.startsWith(route); @@ -60,12 +62,19 @@ const Menu = () => {

Invoice & Faktur Pajak

- -
- -

Pembayaran Tempo

-
-
+ {(atuh?.partnerTempo.toLowerCase().includes('tempo') || + atuh.tempoProgres == 'review') && ( + +
+ +

Pembayaran Tempo

+
+
+ )}
{ + const auth = getAuth(); + const dataProfile = await odooApi( + 'PUT', + `/api/v1/user/${auth.id}/after_request_tempo` + ); + return dataProfile; +}; + +export default editAuthTempo; diff --git a/src/lib/pengajuan-tempo/component/FinishTempo.jsx b/src/lib/pengajuan-tempo/component/FinishTempo.jsx index 2b6f69d0..612b502a 100644 --- a/src/lib/pengajuan-tempo/component/FinishTempo.jsx +++ b/src/lib/pengajuan-tempo/component/FinishTempo.jsx @@ -61,12 +61,21 @@ const FinishTempo = ({ query }) => { : 'Form Pengajuan Tempo kamu Telah Berhasil Didaftarkan Mohon menunggu hingga Proses Selesai'}
- Checkout Pesanan + {query?.status != 'switch-account' ? ( + Registrasi Tempo + ) : ( + Registrasi Tempo + )}
{ : 'Mohon menunggu untuk verifikasi dokumen dan kelengkapan data yang telah anda berikan. Proses approval pembayaran tempo kamu berhasil atau tidak akan diinfokan melalui email perusahaan / email yang mendaftar'}
{query?.status == 'switch-account' diff --git a/src/lib/pengajuan-tempo/component/PengajuanTempo.jsx b/src/lib/pengajuan-tempo/component/PengajuanTempo.jsx index ab66f94f..97e64030 100644 --- a/src/lib/pengajuan-tempo/component/PengajuanTempo.jsx +++ b/src/lib/pengajuan-tempo/component/PengajuanTempo.jsx @@ -8,6 +8,8 @@ import Referensi from './Referensi'; import Dokumen from './Dokumen'; import Konfirmasi from './Konfirmasi'; import { getAuth } from '~/libs/auth'; +import { setAuth } from '@/core/utils/auth'; +import useAuth from '@/core/hooks/useAuth'; import { useRouter } from 'next/router'; import { Controller, useForm } from 'react-hook-form'; import { @@ -24,6 +26,7 @@ import clsxm from '~/libs/clsxm'; import { toast } from 'react-hot-toast'; import useDevice from '@/core/hooks/useDevice'; import odooApi from '~/libs/odooApi'; +import editAuthTempo from '../api/editAuthTempo'; const PengajuanTempo = () => { const { isDesktop, isMobile } = useDevice(); const [currentStep, setCurrentStep] = React.useState(0); @@ -33,7 +36,7 @@ const PengajuanTempo = () => { const [idTempo, setIdTempo] = useState(0); const { form, errors, validate, updateForm } = usePengajuanTempoStore(); const { control, watch, setValue } = useForm(); - const auth = getAuth(); + const auth = useAuth(); const router = useRouter(); const { formDokumen, errorsDokumen, validateDokumen, updateFormDokumen } = usePengajuanTempoStoreDokumen(); @@ -363,6 +366,7 @@ const PengajuanTempo = () => { console.error(error); } }; + const handleDaftarTempo = async () => { for (const error of stepDivsError) { if (error.length > 0) { @@ -386,46 +390,55 @@ const PengajuanTempo = () => { }, })); - const data2 = { - user_id: auth.id, - ...form, - ...formKontakPerson, - ...formPengiriman, - formDocs: JSON.stringify(formattedDokumen), - formSupplier: JSON.stringify(productOrder), - }; + // const data2 = { + // user_id: auth.id, + // ...form, + // ...formKontakPerson, + // ...formPengiriman, + // formDocs: JSON.stringify(formattedDokumen), + // formSupplier: JSON.stringify(productOrder), + // }; const toastId = toast.loading('Mengirimkan formulir pengajuan tempo...'); setIsLoading(true); try { let address5; + console.log('MASUK SINI'); const address = await createPengajuanTempoApi({ id: 0, + partner_id: auth.partnerId, user_id: auth.parentId, - tempo_request: tempoRequest, + tempo_request: false, ...form, }); console.log('address', address); if (address.id) { const address2 = await createPengajuanTempoApi({ id: address.id, + partner_id: auth.partnerId, user_id: address.userId, + tempo_request: false, ...formKontakPerson, }); if (address2.id) { const address3 = await createPengajuanTempoApi({ id: address2.id, + partner_id: auth.partnerId, user_id: address2.userId, + tempo_request: false, ...formPengiriman, }); if (address3.id) { const address4 = await createPengajuanTempoApi({ id: address3.id, + partner_id: auth.partnerId, user_id: address3.userId, + tempo_request: false, formDocs: JSON.stringify(formattedDokumen), }); if (address4.id) { address5 = await createPengajuanTempoApi({ id: address4.id, + partner_id: auth.partnerId, user_id: address4.userId, tempo_request: true, formSupplier: JSON.stringify(productOrder), @@ -439,8 +452,14 @@ const PengajuanTempo = () => { if (address5.id) { toast.success('Pengajuan tempo berhasil dilakukan'); - removeFromLocalStorage(); - router.push('/pengajuan-tempo/finish?tempo_id=SO-2023-06480'); + const isUpdated = await editAuthTempo(); + if (isUpdated?.user) { + setAuth(isUpdated.user); + toast.success('Berhasil mengubah status akun', { duration: 1000 }); + removeFromLocalStorage(); + router.push('/pengajuan-tempo/finish?tempo_id=SO-2023-06480'); + return; + } } } catch (error) { toast.dismiss(toastId); diff --git a/src/lib/transaction/components/Transaction.jsx b/src/lib/transaction/components/Transaction.jsx index f5dc507a..751d4e39 100644 --- a/src/lib/transaction/components/Transaction.jsx +++ b/src/lib/transaction/components/Transaction.jsx @@ -89,7 +89,7 @@ const Transaction = ({ id }) => { const [continueTransaction, setContinueTransaction] = useState(false); const openCancelTransaction = () => setCancelTransaction(true); const openContinueTransaction = () => { - if (auth.partnerTempo) { + if (auth.partnerTempo.toLowerCase().includes('tempo')) { checkout(); } else { if (!transaction.data?.purchaseOrderFile) { diff --git a/src/pages/my/menu.jsx b/src/pages/my/menu.jsx index 407e400f..4099a935 100644 --- a/src/pages/my/menu.jsx +++ b/src/pages/my/menu.jsx @@ -90,17 +90,20 @@ export default function Menu() {

Invoice & Faktur Pajak

- - {' '} -
- -

Pembayaran Tempo

-
-
+ {(atuh?.partnerTempo.toLowerCase().includes('tempo') || + atuh.tempoProgres == 'review') && ( + + {' '} +
+ +

Pembayaran Tempo

+
+
+ )}