From 93d7aa4eb71d5788648d0dfe60bd42ebe891bec4 Mon Sep 17 00:00:00 2001 From: puriphatt Date: Thu, 17 Oct 2024 13:23:53 +0700 Subject: [PATCH] refactor(05): receipt dialog --- public/images/upload.png | Bin 0 -> 9655 bytes src/pages/05_quotation/MainPage.vue | 10 +- src/pages/05_quotation/ReceiptDialog.vue | 326 +++++++++++++++++++++++ 3 files changed, 335 insertions(+), 1 deletion(-) create mode 100644 public/images/upload.png create mode 100644 src/pages/05_quotation/ReceiptDialog.vue diff --git a/public/images/upload.png b/public/images/upload.png new file mode 100644 index 0000000000000000000000000000000000000000..e735a946e5c03c030f4efe541f9275b82209d3da GIT binary patch literal 9655 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 literal 0 HcmV?d00001 diff --git a/src/pages/05_quotation/MainPage.vue b/src/pages/05_quotation/MainPage.vue index ac627068..e0997d25 100644 --- a/src/pages/05_quotation/MainPage.vue +++ b/src/pages/05_quotation/MainPage.vue @@ -16,6 +16,7 @@ import { CustomerBranchCreate } from 'stores/customer/types'; import { Employee } from 'src/stores/employee/types'; // NOTE: Import Components +import ReceiptDialog from './ReceiptDialog.vue'; import QuotationCard from 'src/components/05_quotation/QuotationCard.vue'; import PaginationComponent from 'src/components/PaginationComponent.vue'; import StatCardComponent from 'src/components/StatCardComponent.vue'; @@ -76,6 +77,7 @@ const pageState = reactive({ addModal: false, quotationModal: false, employeeModal: false, + receiptModal: false, }); const CUSTOMER_BRANCH_DEFAULT: CustomerBranchCreate & { @@ -208,6 +210,10 @@ function triggerQuotationDialog(opts: { window.open(url.toString(), '_blank'); } +function triggerReceiptDialog() { + pageState.receiptModal = true; +} + const quotationStore = useQuotationStore(); const { data: quotationData, @@ -544,7 +550,7 @@ watch(() => pageState.currentTab, fetchQuotationList); branchId: v.customerBranch.customer.registeredBranchId, }) " - @link="console.log('link')" + @link="triggerReceiptDialog()" @upload="console.log('upload')" @delete="triggerDialogDeleteQuottaion(v.id)" @change-status="console.log('change')" @@ -911,6 +917,8 @@ watch(() => pageState.currentTab, fetchQuotationList); + + diff --git a/src/pages/05_quotation/ReceiptDialog.vue b/src/pages/05_quotation/ReceiptDialog.vue new file mode 100644 index 00000000..2d052067 --- /dev/null +++ b/src/pages/05_quotation/ReceiptDialog.vue @@ -0,0 +1,326 @@ + + +