fix:차량정비이력 저장 기능 디버깅 개선
- 유효성 검사 메시지 상세화 - 저장 중 버튼 비활성화 및 로딩 표시 - 콘솔 로그 추가하여 디버깅 용이하게 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -163,7 +163,9 @@ function VehicleMaintenanceManagement() {
|
||||
const handleAdd = () => { setModalMode('add'); setFormData({...initialFormState, vehicleId: vehicles[0]?.id || ''}); setShowModal(true); };
|
||||
const handleEdit = (item) => { setModalMode('edit'); setEditingItem(item); setFormData({ ...item }); setShowModal(true); };
|
||||
const handleSave = async () => {
|
||||
if (!formData.description || !formData.amount) { alert('필수 항목을 입력해주세요.'); return; }
|
||||
if (!formData.description) { alert('내용을 입력해주세요.'); return; }
|
||||
if (!formData.amount || formData.amount === '0') { alert('금액을 입력해주세요.'); return; }
|
||||
if (!formData.vehicleId) { alert('차량을 선택해주세요.'); return; }
|
||||
setSaving(true);
|
||||
try {
|
||||
const payload = {
|
||||
@@ -176,6 +178,7 @@ function VehicleMaintenanceManagement() {
|
||||
vendor: formData.vendor,
|
||||
memo: formData.memo
|
||||
};
|
||||
console.log('저장 요청:', payload);
|
||||
const url = modalMode === 'add' ? '/finance/vehicle-maintenance' : `/finance/vehicle-maintenance/${editingItem.id}`;
|
||||
const method = modalMode === 'add' ? 'POST' : 'PUT';
|
||||
const response = await fetch(url, {
|
||||
@@ -183,7 +186,9 @@ function VehicleMaintenanceManagement() {
|
||||
headers: { 'Content-Type': 'application/json', 'X-CSRF-TOKEN': document.querySelector('meta[name="csrf-token"]').content },
|
||||
body: JSON.stringify(payload)
|
||||
});
|
||||
console.log('응답 상태:', response.status);
|
||||
const result = await response.json();
|
||||
console.log('응답 데이터:', result);
|
||||
if (result.success) {
|
||||
await loadMaintenances();
|
||||
setShowModal(false);
|
||||
@@ -193,7 +198,7 @@ function VehicleMaintenanceManagement() {
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('저장 오류:', error);
|
||||
alert('저장 중 오류가 발생했습니다.');
|
||||
alert('저장 중 오류가 발생했습니다: ' + error.message);
|
||||
} finally {
|
||||
setSaving(false);
|
||||
}
|
||||
@@ -359,7 +364,7 @@ function VehicleMaintenanceManagement() {
|
||||
<div className="flex gap-3 mt-6">
|
||||
{modalMode === 'edit' && <button onClick={() => handleDelete(editingItem.id)} className="px-4 py-2 bg-red-600 hover:bg-red-700 text-white rounded-lg">삭제</button>}
|
||||
<button onClick={() => setShowModal(false)} className="flex-1 px-4 py-2 border border-gray-300 text-gray-700 rounded-lg hover:bg-gray-50">취소</button>
|
||||
<button onClick={handleSave} className="flex-1 px-4 py-2 bg-blue-600 hover:bg-blue-700 text-white rounded-lg">{modalMode === 'add' ? '등록' : '저장'}</button>
|
||||
<button onClick={handleSave} disabled={saving} className="flex-1 px-4 py-2 bg-blue-600 hover:bg-blue-700 text-white rounded-lg disabled:opacity-50">{saving ? '저장 중...' : (modalMode === 'add' ? '등록' : '저장')}</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user