alert for approval transaction

This commit is contained in:
wayanrivan
2025-04-28 15:24:20 +07:00
parent 99f2cd14ac
commit 99687023a3
3 changed files with 41 additions and 25 deletions

View File

@ -22,6 +22,7 @@ import { doSaveLogActivity } from '@/actions/GlobalActions';
import { toast } from 'sonner';
import { Input } from '@/components/ui/input';
import { DefaultTooltip, KeenIcon, useDataGrid } from '@/components';
import Swal from 'sweetalert2'; // ✅ IMPORT sweetalert2
const API_URL = apiConfig.transaction;
@ -63,34 +64,48 @@ const ApprovalDialog = () => {
return;
}
const response = await PostData(`${API_URL}/transaction/set-approval`, {
id_transaction: transactionDetails.id,
notes: formField.notes,
status: formField.status,
pin: formField.pin,
// ✅ TUTUP Dialog sebelum munculkan SweetAlert
setShowApprovalDialog(false);
// ✅ TAMPILKAN SWEETALERT
const result = await Swal.fire({
title: 'Are you sure?',
text: "You want to save changes?",
icon: 'warning',
showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33',
confirmButtonText: 'Yes, save it!',
cancelButtonText: 'Cancel'
});
if (response?.status === false) {
setAlert({
show: true,
message: response?.message?.error?.message || 'Approval failed',
if (result.isConfirmed) {
// ✅ Kalau tekan YES, baru tembak API
const response = await PostData(`${API_URL}/transaction/set-approval`, {
id_transaction: transactionDetails.id,
notes: formField.notes,
status: formField.status,
pin: formField.pin,
});
return;
}
if (response?.status) {
setAlert({ show: false, message: '' });
toast.success('Success Update Approval');
const createActivity = {
module: 'Approval Transaction',
description: `Change status approve for transaction => ${transactionDetails.code}`,
action: 'U',
};
doSaveLogActivity(createActivity);
setShowApprovalDialog(false);
reload();
if (response?.status === false) {
toast.error(response?.message?.error?.message || 'Approval failed');
return;
}
if (response?.status) {
toast.success('Success Update Approval');
const createActivity = {
module: 'Approval Transaction',
description: `Change status approve for transaction => ${transactionDetails.code}`,
action: 'U',
};
doSaveLogActivity(createActivity);
reload();
}
} else {
setAlert({ show: true, message: response?.message });
// ✅ Kalau tekan Cancel
console.log('User cancelled');
}
},
[formField, transactionDetails]
@ -102,7 +117,7 @@ const ApprovalDialog = () => {
transaction_code: '',
notes: '',
status: '',
pin:''
pin: ''
});
setTransactionDetails(null);
setAlert({ show: false, message: '' });
@ -171,7 +186,6 @@ const ApprovalDialog = () => {
</div>
</div>
<div className="flex items-center flex-wrap gap-2.5 mt-3 mb-3">
<label className="form-label max-w-56">PIN</label>
<div className="grow">
<Input