From 2da944b30e0c628ad7eb819c412b18284ee60c01 Mon Sep 17 00:00:00 2001 From: Thanaphon Frappet Date: Thu, 10 Oct 2024 13:23:30 +0700 Subject: [PATCH] refactor: edit branchId can is null --- src/pages/05_quotation/MainPage.vue | 34 +++++++++++++++++++---------- 1 file changed, 23 insertions(+), 11 deletions(-) diff --git a/src/pages/05_quotation/MainPage.vue b/src/pages/05_quotation/MainPage.vue index 29a844cd..9c0041b5 100644 --- a/src/pages/05_quotation/MainPage.vue +++ b/src/pages/05_quotation/MainPage.vue @@ -217,22 +217,26 @@ function triggerAddQuotationDialog() { // TODO: form and state controll } -function triggerQuotationDialog( - statusDialog: 'info' | 'edit' | 'create', - quotationId?: string, -) { +function triggerQuotationDialog(opts: { + statusDialog: 'info' | 'edit' | 'create'; + quotationId?: string; + branchId?: string; +}) { const url = new URL('/quotation/add-quotation', window.location.origin); - url.searchParams.set('branchId', branchId.value); + url.searchParams.set( + 'branchId', + opts.branchId !== undefined ? opts.branchId : branchId.value, + ); url.searchParams.set( 'customerBranchId', quotationFormData.value.customerBranchId, ); url.searchParams.set('agentPrice', agentPrice.value.toString()); url.searchParams.set('special', special.value.toString()); - url.searchParams.set('statusDialog', statusDialog); + url.searchParams.set('statusDialog', opts.statusDialog); - if (quotationId !== undefined) { - url.searchParams.set('quotationId', quotationId); + if (opts.quotationId !== undefined) { + url.searchParams.set('quotationId', opts.quotationId); } window.open(url.toString(), '_blank'); @@ -618,10 +622,18 @@ watch(() => pageState.currentTab, fetchQuotationList); :total-price="v.totalPrice" @view=" () => { - triggerQuotationDialog('info', v.id); + triggerQuotationDialog({ + statusDialog: 'info', + quotationId: v.id, + }); } " - @edit="triggerQuotationDialog('edit', v.id)" + @edit=" + triggerQuotationDialog({ + statusDialog: 'edit', + quotationId: v.id, + }) + " @link="console.log('link')" @upload="console.log('upload')" @delete="triggerDialogDeleteQuottaion(v.id)" @@ -699,7 +711,7 @@ watch(() => pageState.currentTab, fetchQuotationList); :submit=" () => { quotationFormState.mode = 'create'; - triggerQuotationDialog('create'); + triggerQuotationDialog({ statusDialog: 'create' }); } " :close="