From 726ba370ad2634826cfbe11077d022ae031e9108 Mon Sep 17 00:00:00 2001 From: Net <93821485+somnetsak123@users.noreply.github.com> Date: Tue, 9 Jul 2024 17:17:08 +0700 Subject: [PATCH] =?UTF-8?q?refactor:=20=E0=B8=81=E0=B8=94=E0=B8=A2?= =?UTF-8?q?=E0=B9=89=E0=B8=AD=E0=B8=99=E0=B8=81=E0=B8=A5=E0=B8=B1=E0=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/01_branch-management/MainPage.vue | 13 +- src/pages/04_product-service/MainPage.vue | 870 +++++++++++--------- 2 files changed, 479 insertions(+), 404 deletions(-) diff --git a/src/pages/01_branch-management/MainPage.vue b/src/pages/01_branch-management/MainPage.vue index a85cbea1..452f961c 100644 --- a/src/pages/01_branch-management/MainPage.vue +++ b/src/pages/01_branch-management/MainPage.vue @@ -151,7 +151,18 @@ async function calculateStats() { onMounted(async () => { utilsStore.currentTitle.title = 'branchManagement'; - utilsStore.currentTitle.path = [{ text: 'branchManagementCaption' }]; + utilsStore.currentTitle.path = [ + { + text: 'branchManagementCaption', + handler: () => { + fieldSelectedBranch.value.value = 'branchHQLabel'; + currentHq.value = { + id: '', + code: '', + }; + }, + }, + ]; await branchStore.fetchList({ pageSize: 99999 }); await calculateStats(); diff --git a/src/pages/04_product-service/MainPage.vue b/src/pages/04_product-service/MainPage.vue index c6f4ca92..8608c651 100644 --- a/src/pages/04_product-service/MainPage.vue +++ b/src/pages/04_product-service/MainPage.vue @@ -31,7 +31,7 @@ import useFlowStore from 'src/stores/flow'; import useMyBranchStore from 'src/stores/my-branch'; import { dateFormat } from 'src/utils/datetime'; -import {formatNumberDecimal} from 'src/stores/utils'; +import { formatNumberDecimal } from 'src/stores/utils'; const useMyBranch = useMyBranchStore(); @@ -207,37 +207,31 @@ const serviceTab = [ const hideStat = ref(false); const tbColumn = { - groupAndType: [ - - { - name: 'name', - align:'left', - label: 'name', - field: 'name', - }, - { - name: 'detail', - align:'left', - label: 'detail', - field: 'detail', - }, - { - name: 'formDialogInputRemark', - align:'left', - label: 'formDialogInputRemark', - field: 'remark', - }, - { - name: 'createdAt', - align:'left', - label: 'createdAt', - field: 'createdAt', - } - - - - + { + name: 'name', + align: 'left', + label: 'name', + field: 'name', + }, + { + name: 'detail', + align: 'left', + label: 'detail', + field: 'detail', + }, + { + name: 'formDialogInputRemark', + align: 'left', + label: 'formDialogInputRemark', + field: 'remark', + }, + { + name: 'createdAt', + align: 'left', + label: 'createdAt', + field: 'createdAt', + }, ], product: [ @@ -280,7 +274,7 @@ const tbColumn = { align: 'left', label: 'createdAt', field: 'createdAt', - } + }, ], } satisfies { groupAndType: QTableProps['columns']; @@ -289,7 +283,6 @@ const tbColumn = { }; const tbControl = reactive({ - groupAndType: { fieldDisplay: ['name', 'detail', 'formDialogInputRemark', 'createdAt'], fieldSelected: ['name', 'detail', 'formDialogInputRemark', 'createdAt'], @@ -309,8 +302,18 @@ const tbControl = reactive({ ], }, service: { - fieldDisplay: ['serviceName', 'serviceDetail', 'serviceWorkTotal' ,'createdAt'], - fieldSelected: ['serviceName', 'serviceDetail', 'serviceWorkTotal' ,'createdAt'], + fieldDisplay: [ + 'serviceName', + 'serviceDetail', + 'serviceWorkTotal', + 'createdAt', + ], + fieldSelected: [ + 'serviceName', + 'serviceDetail', + 'serviceWorkTotal', + 'createdAt', + ], }, }); @@ -1105,7 +1108,14 @@ function cloneData() { onMounted(async () => { utilsStore.currentTitle.title = 'mainProductTitle'; - utilsStore.currentTitle.path = [{ text: 'mainProductCaption' }]; + utilsStore.currentTitle.path = [ + { + text: 'manage', + handler: () => { + productMode.value = 'group'; + }, + }, + ]; calculateStats(); await fetchListGroups(); @@ -1115,7 +1125,15 @@ onMounted(async () => { watch(productMode, () => { inputSearch.value = ''; currentStatus.value = 'All'; - const tmp: typeof utilsStore.currentTitle.path = []; + + const tmp: typeof utilsStore.currentTitle.path = [ + { + text: 'manage', + handler: () => { + productMode.value = 'group'; + }, + }, + ]; if (productMode.value === 'type' || productMode.value === 'service') { tmp.push({ @@ -1354,21 +1372,26 @@ watch(inputSearchProductAndService, async () => { - + { -
+
{ (productMode === 'type' ? productType : productGroup) || [] " :columns="tbColumn.groupAndType" - class=" full-width " + class="full-width" card-container-class="q-gutter-md " row-key="name" :rows-per-page-options="[0]" @@ -1437,281 +1460,303 @@ watch(inputSearchProductAndService, async () => { :visible-columns="tbControl.groupAndType.fieldSelected" > - - + } + " + > + +
+
+
+ +
+
+
+
+ {{ props.row.name }} +
+
+ {{ props.row.code || '-' }} +
+
+
+
+ + {{ props.row.detail || '-' }} + + + + {{ props.row.remark || '-' }} + + + + {{ dateFormat(props.row.createdAt) }} + + + + + + + + + + + + {{ $t('viewDetail') }} + + + + + + + {{ $t('edit') }} + + + + + + {{ $t('delete') }} + + + + + +
+ +
+
+
+
+
+
+
+ +