summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorit-fixcomart <it@fixcomart.co.id>2025-01-10 16:34:43 +0700
committerit-fixcomart <it@fixcomart.co.id>2025-01-10 16:34:43 +0700
commitfb04f8d327aafa2eb5440ade12919e1f07c2c1c1 (patch)
tree3a32aa24c8baa894ab177c52ed8a14a171073e2a /src
parentc42e3256fa8f059a937629b1e44a2dc50d736928 (diff)
<iman> update merchant
Diffstat (limited to 'src')
-rw-r--r--src/lib/merchant/components/Dokumen.jsx51
-rw-r--r--src/lib/merchant/components/InformasiVendor.jsx95
-rw-r--r--src/lib/merchant/components/Merchant.jsx2
-rw-r--r--src/lib/merchant/components/SyaratDagang.jsx190
4 files changed, 79 insertions, 259 deletions
diff --git a/src/lib/merchant/components/Dokumen.jsx b/src/lib/merchant/components/Dokumen.jsx
index c03c5eec..d9b53e82 100644
--- a/src/lib/merchant/components/Dokumen.jsx
+++ b/src/lib/merchant/components/Dokumen.jsx
@@ -277,37 +277,6 @@ const Dokumen = () => {
const toastId = toast.loading('Mengirimkan formulir merchant...');
const data = {
...values,
- name_merchant: 'Form Merchant - ' + values.company,
- pic_merchant: values.PICName,
- partner_id: auth.partnerId,
- address: values.address,
- state: values.state,
- city: values.city,
- district: values.district,
- subDistrict: values.subDistrict,
- zip: values.zip,
- bank_name: values.bank,
- rekening_name: values.rekening,
- account_number: values.accountNumber,
- email_company: values.email,
- email_sales: values.emailSales,
- email_finance: values.emailFinance,
- phone: values.phone,
- mobile: values.mobile,
- harga_tayang: values.hargaTayang,
- description:
- 'Nama Perusahaan : ' +
- values.company +
- ' \r\n Alamat : ' +
- values.address +
- ' \r\n Kota : ' +
- values.city +
- ' \r\n Telepon: ' +
- values.phone +
- ' \r\n Email : ' +
- values.email +
- ' \r\n No Hp : ' +
- values.mobile,
file_dokumenKtpDirut: dokumenKtpDirut ? dokumenKtpDirut : '',
file_kartuNama: kartuNama ? kartuNama : '',
file_npwp: npwp ? npwp : '',
@@ -319,16 +288,16 @@ const Dokumen = () => {
};
// const formData = new FormData();
// formData.append('npwp', values.npwp[0]);
- const create_leads = await createMerchantApi({ data });
- if (create_leads) {
- toast.dismiss(toastId);
- toast.success('Berhasil menambahkan data');
- reset();
- router.push('/');
- } else {
- toast.dismiss(toastId);
- toast.error('Gagal menambahkan data');
- }
+ // const create_leads = await createMerchantApi({ data });
+ // if (create_leads) {
+ // toast.dismiss(toastId);
+ // toast.success('Berhasil menambahkan data');
+ // reset();
+ // router.push('/');
+ // } else {
+ // toast.dismiss(toastId);
+ // toast.error('Gagal menambahkan data');
+ // }
};
// const DownLoadSurat = () => {
diff --git a/src/lib/merchant/components/InformasiVendor.jsx b/src/lib/merchant/components/InformasiVendor.jsx
index 9aea7811..6e57eade 100644
--- a/src/lib/merchant/components/InformasiVendor.jsx
+++ b/src/lib/merchant/components/InformasiVendor.jsx
@@ -149,6 +149,7 @@ const InformasiVendor = ({ handleIsError }) => {
});
setKreditLimitFormat(formattedValue1);
+ setValue('kreditLimit', formattedValue1);
};
const [selectedIds, setSelectedIds] = useState(
@@ -326,6 +327,7 @@ const InformasiVendor = ({ handleIsError }) => {
loadZip();
}
}, [watchsubDistrict, subDistricts]);
+ console.log('errors', errors);
const onSubmitHandler = async (values) => {
const toastId = toast.loading('Mengirimkan formulir merchant...');
const data = {
@@ -336,35 +338,12 @@ const InformasiVendor = ({ handleIsError }) => {
is_pengajuan_tempo: values.isPengajuanTempo,
tempo_duration: values.tempoDuration,
kredit_limit: values.kreditLimit,
- name_merchant: 'Form Merchant - ' + values.company,
- partner_id: auth.partnerId,
- state: values.state,
- city: values.city,
- district: values.district,
- subDistrict: values.subDistrict,
- zip: values.zip,
- bank_name: values.bank,
- rekening_name: values.rekening,
- account_number: values.accountNumber,
- email_company: values.email,
- email_sales: values.emailSales,
- email_finance: values.emailFinance,
- phone: values.phone,
- mobile: values.mobile,
- description:
- 'Nama Perusahaan : ' +
- values.company +
- ' \r\n Alamat : ' +
- values.address +
- ' \r\n Kota : ' +
- values.city +
- ' \r\n Telepon: ' +
- values.phone +
- ' \r\n Email : ' +
- values.email +
- ' \r\n No Hp : ' +
- values.mobile,
+ waktu_pengiriman: values.waktuPengiriman,
+ terhitung_sejak: values.terhitungSejak,
};
+ isError(true);
+ toast.dismiss(toastId);
+ toast.success('Berhasil menambahkan data');
// const formData = new FormData();
// formData.append('npwp', values.npwp[0]);
// const create_leads = await createMerchantApi({ data });
@@ -422,6 +401,7 @@ const InformasiVendor = ({ handleIsError }) => {
[fieldName]: file ? file.name : '', // Tambahkan atau perbarui file di state
}));
};
+ console.log("watch('isPengajuanTempo')", watch('kreditLimit'));
return (
<>
@@ -1336,59 +1316,22 @@ const InformasiVendor = ({ handleIsError }) => {
);
};
const validationSchema = Yup.object().shape({
- categoryProduk: Yup.string().required('Harus di-isi'),
+ categoryProduk: Yup.string().required('Harus di-pilih'),
merkDagang: Yup.string().required('Harus di-isi'),
- tempoDuration: Yup.string().required('Harus di-isi'),
+ isPengajuanTempo: Yup.string().required('Harus di-pilih'),
+ tempoDuration: Yup.string().required('Harus di-pilih'),
kreditLimit: Yup.string().required('Harus di-isi'),
waktuPengiriman: Yup.string().required('Harus di-isi'),
- terhitungSejak: Yup.string().required('Harus di-isi'),
- pejabatName: Yup.string().required('Harus di-isi'),
- PICName: Yup.string().required('Harus di-isi'),
- PICPosition: Yup.string().required('Harus di-isi'),
- email: Yup.string()
- .email('Format harus seperti contoh@email.com')
- .required('Harus di-isi'),
- emailSales: Yup.string()
- .email('Format harus seperti contoh@email.com')
- .required('Harus di-isi'),
- emailFinance: Yup.string()
- .email('Format harus seperti contoh@email.com')
- .required('Harus di-isi'),
- phone: Yup.string().required('Harus di-isi'),
- state: Yup.string().required('Harus dipilih'),
- bisnisType: Yup.string().required('Harus dipilih'),
- categoryPerusahaan: Yup.string().required('Harus dipilih'),
- city: Yup.string().required('Harus dipilih'),
- district: Yup.string().required('Harus dipilih'),
- subDistrict: Yup.string().required('Harus dipilih'),
- zip: Yup.string().required('Harus di-isi'),
- bank: Yup.string().required('Harus di-isi'),
- rekening: Yup.string().required('Harus di-isi'),
- accountNumber: Yup.string().required('Harus di-isi'),
- address: Yup.string().required('Harus di-isi'),
- mobile: Yup.string().required('Harus di-isi'),
- npwp: Yup.mixed().required('File is required'),
- pricelist: Yup.mixed().required('File is required'),
+ terhitungSejak: Yup.string().required('Harus di-pilih'),
});
const defaultValues = {
- company: '',
- pejabatName: '',
- PICName: '',
- PICPosition: '',
- email: '',
- emailSales: '',
- emailFinance: '',
- phone: '',
- state: '',
- city: '',
- district: '',
- subDistrict: '',
- zip: '',
- bank: '',
- rekening: '',
- accountNumber: '',
- address: '',
- mobile: '',
+ categoryProduk: '',
+ merkDagang: '',
+ isPengajuanTempo: '',
+ tempoDuration: '',
+ kreditLimit: '',
+ waktuPengiriman: '',
+ terhitungSejak: '',
};
export default InformasiVendor;
diff --git a/src/lib/merchant/components/Merchant.jsx b/src/lib/merchant/components/Merchant.jsx
index c4661d46..60c1b751 100644
--- a/src/lib/merchant/components/Merchant.jsx
+++ b/src/lib/merchant/components/Merchant.jsx
@@ -40,9 +40,9 @@ const Merchant = () => {
setError(value); // Memperbarui state berdasarkan isError
};
const stepDivs = [
+ <SyaratDagang handleIsError={handleIsError}/>,
<InformasiVendor handleIsError={handleIsError} />,
<InformasiPerusahaan handleIsError={handleIsError} />,
- <SyaratDagang />,
<Dokumen />,
];
diff --git a/src/lib/merchant/components/SyaratDagang.jsx b/src/lib/merchant/components/SyaratDagang.jsx
index c09db65d..36c6e0a9 100644
--- a/src/lib/merchant/components/SyaratDagang.jsx
+++ b/src/lib/merchant/components/SyaratDagang.jsx
@@ -24,7 +24,13 @@ import MobileView from '@/core/components/views/MobileView';
import DesktopView from '@/core/components/views/DesktopView';
import getFileBase64 from '@/core/utils/getFileBase64';
import odooApi from '~/libs/odooApi';
-const SyaratDagang = () => {
+const SyaratDagang = ({ handleIsError }) => {
+ const isError = (value) => {
+ // Logika menentukan error
+ const result = value ? true : false;
+ handleIsError(result); // Panggil handleIsError dari Merchant
+ return result;
+ };
const {
register,
handleSubmit,
@@ -302,89 +308,35 @@ const SyaratDagang = () => {
}
}, [watchsubDistrict, subDistricts]);
const onSubmitHandler = async (values) => {
- const npwp = DeatailFile.npwp;
- const sppkp = DeatailFile.sppkp;
- const dokumenKtpDirut = DeatailFile.dokumenKtpDirut;
- const kartuNama = DeatailFile.kartuNama;
- const suratPernyataan = DeatailFile.suratPernyataan;
- const fotoKantor = DeatailFile.fotoKantor;
- const dataProduk = DeatailFile.dataProduk;
- const pricelist = DeatailFile.pricelist;
- if (!npwp && isPkp) {
- toast.error('NPWP wajib di tambahkan');
- return;
- }
- if (!sppkp && isPkp) {
- toast.error('SPPKP wajib di tambahkan');
- return;
- }
- if (!dokumenKtpDirut && !isPkp) {
- toast.error('KTP Dirut/Direktur wajib di tambahkan');
- return;
- }
- if (!fotoKantor) {
- toast.error('Foto Gudang / Kantor Bagian Depan wajib di tambahkan');
- return;
- }
- if (!pricelist) {
- toast.error('Pricelist wajib di tambahkan');
- return;
- }
const toastId = toast.loading('Mengirimkan formulir merchant...');
const data = {
...values,
- name_merchant: 'Form Merchant - ' + values.company,
- pic_merchant: values.PICName,
- partner_id: auth.partnerId,
- address: values.address,
- state: values.state,
- city: values.city,
- district: values.district,
- subDistrict: values.subDistrict,
- zip: values.zip,
- bank_name: values.bank,
- rekening_name: values.rekening,
- account_number: values.accountNumber,
- email_company: values.email,
- email_sales: values.emailSales,
- email_finance: values.emailFinance,
- phone: values.phone,
- mobile: values.mobile,
- harga_tayang: values.hargaTayang,
- description:
- 'Nama Perusahaan : ' +
- values.company +
- ' \r\n Alamat : ' +
- values.address +
- ' \r\n Kota : ' +
- values.city +
- ' \r\n Telepon: ' +
- values.phone +
- ' \r\n Email : ' +
- values.email +
- ' \r\n No Hp : ' +
- values.mobile,
- file_dokumenKtpDirut: dokumenKtpDirut ? dokumenKtpDirut : '',
- file_kartuNama: kartuNama ? kartuNama : '',
- file_npwp: npwp ? npwp : '',
- file_sppkp: sppkp ? sppkp : '',
- file_suratPernyataan: suratPernyataan ? suratPernyataan : '',
- file_fotoKantor: fotoKantor ? fotoKantor : '',
- file_dataProduk: dataProduk ? dataProduk : '',
- file_pricelist: pricelist ? pricelist : '',
+ is_kembali_barang: values.isKembaliBarang,
+ text_return: values.textReturn,
+ tenggat_waktu: values.tenggatWaktu,
+ custom_tenggat_waktu: values.customTenggatWaktu,
+ sertifikat_produk: values.sertifikatProduk,
+ custom_sertifikat_produk: values.customSertifikatProduk,
+ tempo_garansi: values.tempoGaransi,
+ explain_garansi: values.explainGaransi,
+ is_order_quantity: values.isOrderQuantity,
+ minimum_pembelian: values.minimumPembelian,
};
+ isError(true);
+ toast.dismiss(toastId);
+ toast.success('Berhasil menambahkan data');
// const formData = new FormData();
// formData.append('npwp', values.npwp[0]);
- const create_leads = await createMerchantApi({ data });
- if (create_leads) {
- toast.dismiss(toastId);
- toast.success('Berhasil menambahkan data');
- reset();
- router.push('/');
- } else {
- toast.dismiss(toastId);
- toast.error('Gagal menambahkan data');
- }
+ // const create_leads = await createMerchantApi({ data });
+ // if (create_leads) {
+ // toast.dismiss(toastId);
+ // toast.success('Berhasil menambahkan data');
+ // reset();
+ // router.push('/');
+ // } else {
+ // toast.dismiss(toastId);
+ // toast.error('Gagal menambahkan data');
+ // }
};
// const DownLoadSurat = () => {
@@ -491,10 +443,9 @@ const SyaratDagang = () => {
</Radio>
</Stack>
</RadioGroup>
- </div>
-
- <div className='text-caption-2 text-danger-500 mt-1'>
- {errors.isKembaliBarang?.message}
+ <div className='text-caption-2 text-danger-500 mt-1'>
+ {errors.isKembaliBarang?.message}
+ </div>
</div>
</div>
</div>
@@ -531,10 +482,9 @@ const SyaratDagang = () => {
</div>
</Stack>
</RadioGroup>
- </div>
-
- <div className='text-caption-2 text-danger-500 mt-1'>
- {errors.tenggatWaktu?.message}
+ <div className='text-caption-2 text-danger-500 mt-1'>
+ {errors.tenggatWaktu?.message}
+ </div>
</div>
</div>
</div>
@@ -690,10 +640,9 @@ const SyaratDagang = () => {
</Radio>
</Stack>
</RadioGroup>
- </div>
-
- <div className='text-caption-2 text-danger-500 mt-1'>
- {errors.isOrderQuantity?.message}
+ <div className='text-caption-2 text-danger-500 mt-1'>
+ {errors.isOrderQuantity?.message}
+ </div>
</div>
</div>
</div>
@@ -1371,60 +1320,19 @@ const SyaratDagang = () => {
);
};
const validationSchema = Yup.object().shape({
- tenggatWaktu: Yup.string().required('Harus di-isi'),
- sertifikatProduk: Yup.string().required('Harus di-isi'),
- merkDagang: Yup.string().required('Harus di-isi'),
- tempoGaransi: Yup.string().required('Harus di-isi'),
+ isKembaliBarang: Yup.string().required('Harus di-pilih'),
+ tenggatWaktu: Yup.string().required('Harus di-pilih'),
+ sertifikatProduk: Yup.string().required('Harus di-pilih'),
+ tempoGaransi: Yup.string().required('Harus di-pilih'),
explainGaransi: Yup.string().required('Harus di-isi'),
- waktuPengiriman: Yup.string().required('Harus di-isi'),
- terhitungSejak: Yup.string().required('Harus di-isi'),
- pejabatName: Yup.string().required('Harus di-isi'),
- PICName: Yup.string().required('Harus di-isi'),
- PICPosition: Yup.string().required('Harus di-isi'),
- email: Yup.string()
- .email('Format harus seperti contoh@email.com')
- .required('Harus di-isi'),
- emailSales: Yup.string()
- .email('Format harus seperti contoh@email.com')
- .required('Harus di-isi'),
- emailFinance: Yup.string()
- .email('Format harus seperti contoh@email.com')
- .required('Harus di-isi'),
- phone: Yup.string().required('Harus di-isi'),
- state: Yup.string().required('Harus dipilih'),
- bisnisType: Yup.string().required('Harus dipilih'),
- categoryPerusahaan: Yup.string().required('Harus dipilih'),
- city: Yup.string().required('Harus dipilih'),
- district: Yup.string().required('Harus dipilih'),
- subDistrict: Yup.string().required('Harus dipilih'),
- zip: Yup.string().required('Harus di-isi'),
- bank: Yup.string().required('Harus di-isi'),
- rekening: Yup.string().required('Harus di-isi'),
- accountNumber: Yup.string().required('Harus di-isi'),
- address: Yup.string().required('Harus di-isi'),
- mobile: Yup.string().required('Harus di-isi'),
- npwp: Yup.mixed().required('File is required'),
- pricelist: Yup.mixed().required('File is required'),
+ isOrderQuantity: Yup.string().required('Harus di-isi'),
});
const defaultValues = {
- company: '',
- pejabatName: '',
- PICName: '',
- PICPosition: '',
- email: '',
- emailSales: '',
- emailFinance: '',
- phone: '',
- state: '',
- city: '',
- district: '',
- subDistrict: '',
- zip: '',
- bank: '',
- rekening: '',
- accountNumber: '',
- address: '',
- mobile: '',
+ isKembaliBarang: '',
+ tenggatWaktu: '',
+ sertifikatProduk: '',
+ explainGaransi: '',
+ isOrderQuantity: '',
};
export default SyaratDagang;