diff --git a/src/pages/master/sparepart/component/DetailSparepart.jsx b/src/pages/master/sparepart/component/DetailSparepart.jsx
index b58ab26..3a13fc0 100644
--- a/src/pages/master/sparepart/component/DetailSparepart.jsx
+++ b/src/pages/master/sparepart/component/DetailSparepart.jsx
@@ -226,10 +226,8 @@ const DetailSparepart = (props) => {
payload.sparepart_merk = formData.sparepart_merk;
}
// sparepart_qty disimpan sebagai angka kuantitas
- // Untuk menghindari error validasi, jika qty 0, kita tetap kirim 1 ke backend tapi statusnya "Not Available"
const qty = parseInt(formData.sparepart_qty) || 0;
- const actualQty = qty > 0 ? qty : 1; // Kirim minimal 1 ke backend
- payload.sparepart_qty = actualQty;
+ payload.sparepart_qty = qty;
// sparepart_stok ditentukan otomatis berdasarkan qty sebenarnya
payload.sparepart_stok = qty > 0 ? 'Available' : 'Not Available';
@@ -292,7 +290,9 @@ const DetailSparepart = (props) => {
const fileName = props.selectedData.sparepart_foto.split('/').pop();
const token = localStorage.getItem('token');
const baseURL = import.meta.env.VITE_API_SERVER || '';
- const fullUrl = `${baseURL}/file-uploads/images/${encodeURIComponent(fileName)}${token ? `?token=${encodeURIComponent(token)}` : ''}`;
+ const fullUrl = `${baseURL}/file-uploads/images/${encodeURIComponent(fileName)}${
+ token ? `?token=${encodeURIComponent(token)}` : ''
+ }`;
setFileList([
{
@@ -508,6 +508,7 @@ const DetailSparepart = (props) => {
placeholder="Enter quantity"
readOnly={props.readOnly}
type="number"
+ min="0"
/>
@@ -524,13 +525,20 @@ const DetailSparepart = (props) => {
Status
0 ? 'Available' : 'Not Available'}
+ value={
+ parseInt(formData.sparepart_qty) > 0
+ ? 'Available'
+ : 'Not Available'
+ }
readOnly={true}
placeholder="Auto calculated"
style={{
backgroundColor: '#f5f5f5',
cursor: 'not-allowed',
- color: parseInt(formData.sparepart_qty) > 0 ? '#52c41a' : '#ff4d4f'
+ color:
+ parseInt(formData.sparepart_qty) > 0
+ ? '#52c41a'
+ : '#ff4d4f',
}}
/>
@@ -576,7 +584,12 @@ const DetailSparepart = (props) => {
)}
-
+
diff --git a/src/pages/master/sparepart/component/SparepartCardList.jsx b/src/pages/master/sparepart/component/SparepartCardList.jsx
index d97d7f6..663d548 100644
--- a/src/pages/master/sparepart/component/SparepartCardList.jsx
+++ b/src/pages/master/sparepart/component/SparepartCardList.jsx
@@ -46,13 +46,10 @@ const SparepartCardList = ({
setLoadingQuantities((prev) => ({ ...prev, [item.sparepart_id]: true }));
- // sparepart_qty disimpan sebagai angka kuantitas
- // sparepart_stok ditentukan otomatis berdasarkan qty
- // Untuk menghindari error validasi, jika newQty 0, kita tetap kirim 1 ke backend tapi statusnya "Not Available"
- const actualQty = newQty > 0 ? newQty : 1; // Kirim minimal 1 ke backend
+ // sparepart_qty disimpan sebagai angka kuantitas (update boleh 0 sesuai validasi update schema)
const payload = {
- sparepart_qty: actualQty,
- sparepart_stok: newQty > 0 ? 'Available' : 'Not Available', // Otomatis tentukan status berdasarkan newQty asli
+ sparepart_qty: newQty,
+ sparepart_stok: newQty > 0 ? 'Available' : 'Not Available', // Otomatis tentukan status
};
// Hanya tambahkan field jika nilainya tidak kosong untuk menghindari validasi error