From 7efdc066e80351f5d1292bdda9999fd4ea3850e9 Mon Sep 17 00:00:00 2001 From: Net <93821485+somnetsak123@users.noreply.github.com> Date: Thu, 4 Jul 2024 17:56:37 +0700 Subject: [PATCH] =?UTF-8?q?refactor:=20=E0=B8=9B=E0=B8=A3=E0=B8=B1?= =?UTF-8?q?=E0=B8=9A=20layout=20=20=E0=B8=82=E0=B8=AD=E0=B8=87=20=20branch?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/01_branch-management/MainPage.vue | 1094 ++++++++++++------- 1 file changed, 706 insertions(+), 388 deletions(-) diff --git a/src/pages/01_branch-management/MainPage.vue b/src/pages/01_branch-management/MainPage.vue index a579e02e..4ef1d80b 100644 --- a/src/pages/01_branch-management/MainPage.vue +++ b/src/pages/01_branch-management/MainPage.vue @@ -2,6 +2,8 @@ import { storeToRefs } from 'pinia'; import { ref, onMounted, computed } from 'vue'; import { Icon } from '@iconify/vue'; +import { BranchContact } from 'src/stores/branch-contact/types'; +import type { QTableProps } from 'quasar'; import useBranchStore from 'stores/branch'; @@ -28,6 +30,37 @@ import useFlowStore from 'src/stores/flow'; const { t } = useI18n(); const utilsStore = useUtilsStore(); +const labelBtnStatus = ref(t('all')); + +const columns = [ + { + name: 'name', + align: 'left', + label: 'office', + field: 'name', + sortable: true, + }, + { + name: 'address', + align: 'left', + label: 'address', + field: 'address', + sortable: true, + }, + { + name: 'telephoneNo', + align: 'left', + label: 'formDialogTelephone', + field: 'telephoneNo', + }, + { + name: 'isHeadOffice', + align: 'left', + label: 'type', + field: 'isHeadOffice', + }, +] satisfies QTableProps['columns']; + const modal = ref(false); const profileFileImg = ref(undefined); @@ -152,6 +185,10 @@ const stats = ref< { icon: string; count: number; label: string; color: 'pink' | 'purple' }[] >([]); +const modeView = ref(false); + +const splitterModel = ref(25); + const defaultFormData = { headOfficeId: null, taxNo: '', @@ -442,7 +479,7 @@ watch(locale, () => { />
@@ -1126,4 +1394,54 @@ watch(locale, () => { gap: var(--size-4); } } + +.branch-card__hq { + --_branch-card-bg: var(--pink-6-hsl); +} + +.branch-card__br { + --_branch-card-bg: var(--violet-11-hsl); + + &.branch-card__dark { + --_branch-card-bg: var(--violet-10-hsl); + } +} + +.status-active { + --_branch-status-color: var(--green-6-hsl); +} + +.status-inactive { + --_branch-status-color: var(--red-4-hsl); + --_branch-badge-bg: var(--red-4-hsl); + filter: grayscale(1); + background-color: hsl(var(--gray-6-hsl) / 0.1); + opacity: 0.5; +} + +.branch-card__icon { + background-color: hsla(var(--_branch-card-bg) / 0.15); + border-radius: 50%; + padding: var(--size-1); + position: relative; + transform: rotate(45deg); + + &::after { + content: ' '; + display: block; + block-size: 0.5rem; + aspect-ratio: 1; + position: absolute; + border-radius: 50%; + right: -0.25rem; + top: calc(50% - 0.25rem); + bottom: calc(50% - 0.25rem); + background-color: hsla(var(--_branch-status-color) / 1); + } + + & :deep(.q-icon) { + transform: rotate(-45deg); + color: hsla(var(--_branch-card-bg) / 1); + } +}