summaryrefslogtreecommitdiff
path: root/src/lib/pengajuan-tempo/component/Pengiriman.jsx
diff options
context:
space:
mode:
authorit-fixcomart <it@fixcomart.co.id>2024-12-17 17:07:44 +0700
committerit-fixcomart <it@fixcomart.co.id>2024-12-17 17:07:44 +0700
commitdd8a56ad12d054e121965c41bcb077158690b208 (patch)
treef49346100766651ca861f9793f68cfcb869c36f4 /src/lib/pengajuan-tempo/component/Pengiriman.jsx
parent92c6c99e3b65b1770b02c2fd63c9c943f99cfda2 (diff)
<iman> update code
Diffstat (limited to 'src/lib/pengajuan-tempo/component/Pengiriman.jsx')
-rw-r--r--src/lib/pengajuan-tempo/component/Pengiriman.jsx214
1 files changed, 122 insertions, 92 deletions
diff --git a/src/lib/pengajuan-tempo/component/Pengiriman.jsx b/src/lib/pengajuan-tempo/component/Pengiriman.jsx
index 068cf73c..11586267 100644
--- a/src/lib/pengajuan-tempo/component/Pengiriman.jsx
+++ b/src/lib/pengajuan-tempo/component/Pengiriman.jsx
@@ -34,14 +34,6 @@ const Pengiriman = ({ chekValid, buttonSubmitClick, isKonfirmasi }) => {
const [zipsInvoice, setZipsInvoice] = useState([]);
const [sameAddress, setSameAddress] = useState(false);
const [sameAddressStreet, setSameAddressStreet] = useState(false);
- const [everyWeekday, setEveryWeekday] = useState(false);
- const [everyWeek, setEveryWeek] = useState(false);
- const [tukarInvoice, setTukarInvoice] = useState(false);
- const [everyWeekdayPembayaran, setEveryWeekdayPembayaran] = useState(false);
- const [everyWeekPembayaran, setEveryWeekPembayaran] = useState(false);
- const [tukarInvoicePembayaran, setTukarInvoicePembayaran] = useState(false);
- const [selectedRadio, setSelectedRadio] = useState('');
- const [selectedRadioInvoice, setSelectedRadioInvoice] = useState('');
const [selectedIds, setSelectedIds] = useState(
formPengiriman.dokumenPengiriman
@@ -306,46 +298,6 @@ const Pengiriman = ({ chekValid, buttonSubmitClick, isKonfirmasi }) => {
updateFormPengiriman(name, value);
validatePengiriman();
};
- const handleRadioChange = (value) => {
- setSelectedRadio(value);
- if (value == 'everyWeekday') {
- setEveryWeekday(!everyWeekday);
- } else if (value == 'everyWeek') {
- setEveryWeek(!everyWeek);
- } else {
- setTukarInvoice(!tukarInvoice);
- }
- validatePengiriman();
- };
- const handleRadioChangeInvoice = (value) => {
- setSelectedRadioInvoice(value);
- if (value == 'everyWeekdayPembayaran') {
- setEveryWeekdayPembayaran(!everyWeekdayPembayaran);
- } else if (value == 'everyWeekPembayaran') {
- setEveryWeekPembayaran(!everyWeekPembayaran);
- } else {
- setTukarInvoicePembayaran(!tukarInvoicePembayaran);
- }
- validatePengiriman();
- };
- const handleEveryWeekday = () => {
- setEveryWeekday(!everyWeekday);
- };
- const handleEveryWeek = () => {
- setEveryWeek(!everyWeek);
- };
- const handleTukarInvoice = () => {
- setTukarInvoice(!tukarInvoice);
- };
- const handleEveryWeekdayPembayaran = () => {
- setEveryWeekdayPembayaran(!everyWeekdayPembayaran);
- };
- const handleEveryWeekPembayaran = () => {
- setEveryWeekPembayaran(!everyWeekPembayaran);
- };
- const handleTukarInvoicePembayaran = () => {
- setTukarInvoicePembayaran(!tukarInvoicePembayaran);
- };
const isFormValid = useMemo(
() => Object.keys(errorsPengiriman).length === 0,
@@ -842,7 +794,7 @@ const Pengiriman = ({ chekValid, buttonSubmitClick, isKonfirmasi }) => {
</div>
{chekValid && (
<div className='text-caption-2 text-danger-500 mt-1'>
- {errorsPengiriman.PICName}
+ {errorsPengiriman.PICName} {errorsPengiriman.PICTittle}
</div>
)}
</div>
@@ -968,7 +920,7 @@ const Pengiriman = ({ chekValid, buttonSubmitClick, isKonfirmasi }) => {
/>
{chekValid && (
<div className='text-caption-2 text-danger-500 mt-1'>
- {errors.subDistrictPengiriman}
+ {errorsPengiriman.subDistrictPengiriman}
</div>
)}
</div>
@@ -987,7 +939,7 @@ const Pengiriman = ({ chekValid, buttonSubmitClick, isKonfirmasi }) => {
/>
{chekValid && (
<div className='text-caption-2 text-danger-500 mt-1'>
- {errors.subDistrictPengiriman}
+ {errorsPengiriman.subDistrictPengiriman}
</div>
)}
</div>
@@ -996,19 +948,39 @@ const Pengiriman = ({ chekValid, buttonSubmitClick, isKonfirmasi }) => {
name='zipPengiriman'
control={control}
render={(props) => (
- <HookFormSelect
- {...props}
- options={zips}
- disabled={
- !watchsubDistrict || sameAddressStreet
- }
- placeholder='Zip'
- />
+ <>
+ {/* Jika zips tidak kosong, tampilkan dropdown */}
+ {zips.length > 0 ? (
+ <HookFormSelect
+ {...props}
+ options={zips}
+ disabled={
+ !watchsubDistrict || sameAddressStreet
+ }
+ placeholder='Zip'
+ />
+ ) : (
+ // Jika zips kosong, tampilkan input manual
+ <input
+ id='zipPengiriman'
+ name='zipPengiriman'
+ ref={zipRef}
+ placeholder='Kode Pos'
+ type='number'
+ disabled={
+ !watchsubDistrict || sameAddressStreet
+ }
+ value={formPengiriman.zipPengiriman}
+ className='form-input'
+ onChange={handleInputChange}
+ />
+ )}
+ </>
)}
/>
{chekValid && (
<div className='text-caption-2 text-danger-500 mt-1'>
- {errors.zipPengiriman}
+ {errorsPengiriman.zipPengiriman}
</div>
)}
</div>
@@ -1054,7 +1026,8 @@ const Pengiriman = ({ chekValid, buttonSubmitClick, isKonfirmasi }) => {
</div>
{chekValid && (
<div className='text-caption-2 text-danger-500 mt-1'>
- {errorsPengiriman.invoicePic}
+ {errorsPengiriman.invoicePic}{' '}
+ {errorsPengiriman.invoicePicTittle}
</div>
)}
</div>
@@ -1186,7 +1159,7 @@ const Pengiriman = ({ chekValid, buttonSubmitClick, isKonfirmasi }) => {
/>
{chekValid && (
<div className='text-caption-2 text-danger-500 mt-1'>
- {errors.districtInvoice}
+ {errorsPengiriman.districtInvoice}
</div>
)}
</div>
@@ -1205,7 +1178,7 @@ const Pengiriman = ({ chekValid, buttonSubmitClick, isKonfirmasi }) => {
/>
{chekValid && (
<div className='text-caption-2 text-danger-500 mt-1'>
- {errors.subDistrictsInvoice}
+ {errorsPengiriman.subDistrictsInvoice}
</div>
)}
</div>
@@ -1214,19 +1187,37 @@ const Pengiriman = ({ chekValid, buttonSubmitClick, isKonfirmasi }) => {
name='zipInvoice'
control={control}
render={(props) => (
- <HookFormSelect
- {...props}
- options={zipsInvoice}
- disabled={
- !watchsubDistrictInvoice || sameAddress
- }
- placeholder='Zip'
- />
+ <>
+ {zipsInvoice.length > 0 ? (
+ <HookFormSelect
+ {...props}
+ options={zipsInvoice}
+ disabled={
+ !watchsubDistrictInvoice || sameAddress
+ }
+ placeholder='Zip'
+ />
+ ) : (
+ <input
+ id='zipInvoice'
+ name='zipInvoice'
+ ref={zipInvoiceRef}
+ placeholder='Kode Pos'
+ type='number'
+ disabled={
+ !watchsubDistrictInvoice || sameAddress
+ }
+ value={formPengiriman.zipInvoice}
+ className='form-input'
+ onChange={handleInputChange}
+ />
+ )}
+ </>
)}
/>
{chekValid && (
<div className='text-caption-2 text-danger-500 mt-1'>
- {errors.zipInvoice}
+ {errorsPengiriman.zipInvoice}
</div>
)}
</div>
@@ -1486,7 +1477,7 @@ const Pengiriman = ({ chekValid, buttonSubmitClick, isKonfirmasi }) => {
</div>
{chekValid && (
<div className='text-caption-2 text-danger-500 mt-1'>
- {errorsPengiriman.PICName}
+ {errorsPengiriman.PICName} {errorsPengiriman.PICTittle}
</div>
)}
</div>
@@ -1607,7 +1598,7 @@ const Pengiriman = ({ chekValid, buttonSubmitClick, isKonfirmasi }) => {
/>
{chekValid && (
<div className='text-caption-2 text-danger-500 mt-1'>
- {errors.subDistrictPengiriman}
+ {errorsPengiriman.subDistrictPengiriman}
</div>
)}
</div>
@@ -1626,7 +1617,7 @@ const Pengiriman = ({ chekValid, buttonSubmitClick, isKonfirmasi }) => {
/>
{chekValid && (
<div className='text-caption-2 text-danger-500 mt-1'>
- {errors.subDistrictPengiriman}
+ {errorsPengiriman.subDistrictPengiriman}
</div>
)}
</div>
@@ -1635,17 +1626,35 @@ const Pengiriman = ({ chekValid, buttonSubmitClick, isKonfirmasi }) => {
name='zipPengiriman'
control={control}
render={(props) => (
- <HookFormSelect
- {...props}
- options={zips}
- disabled={!watchsubDistrict || sameAddressStreet}
- placeholder='Zip'
- />
+ <>
+ {/* Jika zips tidak kosong, tampilkan dropdown */}
+ {zips.length > 0 ? (
+ <HookFormSelect
+ {...props}
+ options={zips}
+ disabled={!watchsubDistrict || sameAddressStreet}
+ placeholder='Zip'
+ />
+ ) : (
+ // Jika zips kosong, tampilkan input manual
+ <input
+ id='zipPengiriman'
+ name='zipPengiriman'
+ ref={zipRef}
+ placeholder='Kode Pos'
+ type='number'
+ disabled={!watchsubDistrict || sameAddressStreet}
+ value={formPengiriman.zipPengiriman}
+ className='form-input'
+ onChange={handleInputChange}
+ />
+ )}
+ </>
)}
/>
{chekValid && (
<div className='text-caption-2 text-danger-500 mt-1'>
- {errors.zipPengiriman}
+ {errorsPengiriman.zipPengiriman}
</div>
)}
</div>
@@ -1685,7 +1694,8 @@ const Pengiriman = ({ chekValid, buttonSubmitClick, isKonfirmasi }) => {
</div>
{chekValid && (
<div className='text-caption-2 text-danger-500 mt-1'>
- {errorsPengiriman.invoicePic}
+ {errorsPengiriman.invoicePic}{' '}
+ {errorsPengiriman.invoicePicTittle}
</div>
)}
</div>
@@ -1793,7 +1803,7 @@ const Pengiriman = ({ chekValid, buttonSubmitClick, isKonfirmasi }) => {
/>
{chekValid && (
<div className='text-caption-2 text-danger-500 mt-1'>
- {errors.districtInvoice}
+ {errorsPengiriman.districtInvoice}
</div>
)}
</div>
@@ -1812,7 +1822,7 @@ const Pengiriman = ({ chekValid, buttonSubmitClick, isKonfirmasi }) => {
/>
{chekValid && (
<div className='text-caption-2 text-danger-500 mt-1'>
- {errors.subDistrictsInvoice}
+ {errorsPengiriman.subDistrictsInvoice}
</div>
)}
</div>
@@ -1821,17 +1831,37 @@ const Pengiriman = ({ chekValid, buttonSubmitClick, isKonfirmasi }) => {
name='zipInvoice'
control={control}
render={(props) => (
- <HookFormSelect
- {...props}
- options={zipsInvoice}
- disabled={!watchsubDistrictInvoice || sameAddress}
- placeholder='Zip'
- />
+ <>
+ {zipsInvoice.length > 0 ? (
+ <HookFormSelect
+ {...props}
+ options={zipsInvoice}
+ disabled={
+ !watchsubDistrictInvoice || sameAddress
+ }
+ placeholder='Zip'
+ />
+ ) : (
+ <input
+ id='zipInvoice'
+ name='zipInvoice'
+ ref={zipInvoiceRef}
+ placeholder='Kode Pos'
+ type='number'
+ disabled={
+ !watchsubDistrictInvoice || sameAddress
+ }
+ value={formPengiriman.zipInvoice}
+ className='form-input'
+ onChange={handleInputChange}
+ />
+ )}
+ </>
)}
/>
{chekValid && (
<div className='text-caption-2 text-danger-500 mt-1'>
- {errors.zipInvoice}
+ {errorsPengiriman.zipInvoice}
</div>
)}
</div>