diff options
| author | it-fixcomart <it@fixcomart.co.id> | 2024-12-02 09:31:44 +0700 |
|---|---|---|
| committer | it-fixcomart <it@fixcomart.co.id> | 2024-12-02 09:31:44 +0700 |
| commit | 77f9843ad5072583cb1797d7ecf5ac80394bad3f (patch) | |
| tree | 61d25d17d7c1a090112f673fabc96dd8ffceb79a /src/lib | |
| parent | ac83b0ea5afd82194f38fbc913678e16a81b5c2c (diff) | |
<iman> pengajuan tempo
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/auth/components/Menu.jsx | 21 | ||||
| -rw-r--r-- | src/lib/pengajuan-tempo/api/editAuthTempo.js | 13 | ||||
| -rw-r--r-- | src/lib/pengajuan-tempo/component/FinishTempo.jsx | 27 | ||||
| -rw-r--r-- | src/lib/pengajuan-tempo/component/PengajuanTempo.jsx | 43 | ||||
| -rw-r--r-- | src/lib/transaction/components/Transaction.jsx | 2 |
5 files changed, 76 insertions, 30 deletions
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 = () => { <p>Invoice & Faktur Pajak</p> </div> </LinkItem> - <LinkItem href='/my/tempo' active={routeStartWith('/my/tempo')}> - <div className='flex gap-x-3 items-center'> - <ImageNext src='/images/icon/icon_tempo.svg' width={18} height={20} /> - <p>Pembayaran Tempo</p> - </div> - </LinkItem> + {(atuh?.partnerTempo.toLowerCase().includes('tempo') || + atuh.tempoProgres == 'review') && ( + <LinkItem href='/my/tempo' active={routeStartWith('/my/tempo')}> + <div className='flex gap-x-3 items-center'> + <ImageNext + src='/images/icon/icon_tempo.svg' + width={18} + height={20} + /> + <p>Pembayaran Tempo</p> + </div> + </LinkItem> + )} <LinkItem href='/my/wishlist' active={routeStartWith('/my/wishlist')}> <div className='flex gap-x-3 items-center'> <ImageNext diff --git a/src/lib/pengajuan-tempo/api/editAuthTempo.js b/src/lib/pengajuan-tempo/api/editAuthTempo.js new file mode 100644 index 00000000..5fa3786b --- /dev/null +++ b/src/lib/pengajuan-tempo/api/editAuthTempo.js @@ -0,0 +1,13 @@ +import odooApi from '@/core/api/odooApi'; +import { getAuth } from '@/core/utils/auth'; + +const editAuthTempo = async () => { + 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'} </h1> </div> - <Image - src='/images/REGISTRASI-TEMPO.svg' - alt='Checkout Pesanan' - width={isMobile ? 300 : 450} - height={isMobile ? 300 : 450} - /> + {query?.status != 'switch-account' ? ( + <Image + src='/images/REGISTRASI-TEMPO.svg' + alt='Registrasi Tempo' + width={isMobile ? 300 : 450} + height={isMobile ? 300 : 450} + /> + ) : ( + <Image + src='/images/ICON TEMPO-02.svg' + alt='Registrasi Tempo' + width={isMobile ? 300 : 450} + height={isMobile ? 300 : 450} + /> + )} <div className={`mt-2 text-center opacity-75 leading-6 p-4 md:p-0 ${ @@ -78,11 +87,7 @@ const FinishTempo = ({ query }) => { : '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'} </div> <Link - href={ - query?.status == 'switch-account' - ? `/profil` - : `/my/quotations/${data?.id}` - } + href={query?.status == 'switch-account' ? `/profil` : `/my/tempo/`} className='btn-solid-red rounded-md text-base flex flex-row' > {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) { |
