diff --git a/src/pages/05_quotation/QuotationForm.vue b/src/pages/05_quotation/QuotationForm.vue index 2466f815..60e9e8ea 100644 --- a/src/pages/05_quotation/QuotationForm.vue +++ b/src/pages/05_quotation/QuotationForm.vue @@ -270,16 +270,20 @@ async function fetchStatus() { { title: 'ใบเสนอราคา', status: getStatus(quotationFormData.value.quotationStatus, -1, -1), + active: () => view.value === View.Quotation, handler: () => (view.value = View.Quotation), }, { title: 'ลูกค้าตอบรับ', status: getStatus(quotationFormData.value.quotationStatus, 0, -1), + active: () => view.value === View.Accepted, handler: () => (view.value = View.Accepted), }, { title: 'ใบแจ้งหนี้', status: getStatus(quotationFormData.value.quotationStatus, 4, 0), + active: () => + view.value === View.Invoice || view.value === View.InvoicePre, handler: () => { view.value = quotationFormData.value.payCondition === 'Full' || @@ -291,6 +295,8 @@ async function fetchStatus() { { title: 'ชำระเงิน', status: getStatus(quotationFormData.value.quotationStatus, 4, 1), + active: () => + view.value === View.Payment || view.value === View.PaymentPre, handler: () => { view.value = quotationFormData.value.payCondition === 'Full' || @@ -302,6 +308,7 @@ async function fetchStatus() { { title: 'ใบเสร็จรับเงิน', status: getStatus(quotationFormData.value.quotationStatus, 4, 1), + active: () => view.value === View.Receipt, handler: () => { fetchReceipt(); view.value = View.Receipt; @@ -310,6 +317,7 @@ async function fetchStatus() { { title: 'เสร็จสิ้น', status: getStatus(quotationFormData.value.quotationStatus, 5, 4), + active: () => view.value === View.Complete, handler: () => { view.value = View.Complete; }, @@ -889,7 +897,12 @@ function getStatus( } const statusQuotationForm = ref< - { title: string; status: 'done' | 'doing' | 'waiting'; handler: () => void }[] + { + title: string; + status: 'done' | 'doing' | 'waiting'; + handler: () => void; + active?: () => boolean; + }[] >([]); enum View { @@ -1001,16 +1014,22 @@ const view = ref(View.Quotation);