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); + } +}