feat: update QuotationForm and RequestListView to enhance navigation and data handling

This commit is contained in:
puriphatt 2024-12-26 09:25:01 +07:00
parent 7071ecbf5c
commit cc916b663d
2 changed files with 81 additions and 15 deletions

View file

@ -331,12 +331,12 @@ async function fetchStatus() {
title: 'Issued',
status: getStatus(quotationFormData.value.quotationStatus, 0, -1),
active: () => view.value === View.Quotation,
handler: () => (
(view.value = View.Quotation),
(code.value = ''),
(selectedInstallmentNo.value = []),
(selectedInstallment.value = [])
),
handler: () => {
view.value = View.Quotation;
code.value = '';
selectedInstallmentNo.value = [];
selectedInstallment.value = [];
},
},
{
title: 'Accepted',
@ -353,6 +353,7 @@ async function fetchStatus() {
active: () =>
view.value === View.Invoice || view.value === View.InvoicePre,
handler: () => {
code.value = '';
selectedInstallmentNo.value = [];
selectedInstallment.value = [];
view.value =
@ -375,6 +376,7 @@ async function fetchStatus() {
active: () =>
view.value === View.Payment || view.value === View.PaymentPre,
handler: () => {
code.value = '';
view.value =
quotationFormData.value.payCondition === 'Full' ||
quotationFormData.value.payCondition === 'BillFull'
@ -1009,14 +1011,40 @@ onMounted(async () => {
pageState.isLoaded = true;
if (route.query['tab'] === 'invoice') {
if (route.query['id']) {
const queryInvoiceId = route.query['id'] as string;
const queryInvoiceAmount = Number(route.query['amount']) || 0;
await getInvoiceCode(queryInvoiceId);
selectedInstallmentNo.value =
quotationFormState.value.source?.paySplit
.filter((v) => v.invoiceId === queryInvoiceId)
.map((v) => v.no) || [];
installmentAmount.value = queryInvoiceAmount;
view.value = View.Invoice;
return;
}
selectedInstallmentNo.value = [];
selectedInstallment.value = [];
view.value =
quotationFormData.value.payCondition === 'Full' ||
quotationFormData.value.payCondition === 'BillFull'
? View.Invoice
: View.InvoicePre;
if (
quotationFormData.value.payCondition === 'Full' ||
quotationFormData.value.payCondition === 'BillFull'
) {
getInvoiceCodeFullPay();
}
}
if (route.query['tab'] === 'receipt') {
await fetchReceipt();
view.value = View.Receipt;
code.value = '';
}
});