From 41a833418eeaffd4c97762b72fd9372361a2d604 Mon Sep 17 00:00:00 2001 From: Net <93821485+somnetsak123@users.noreply.github.com> Date: Tue, 9 Jul 2024 14:38:22 +0700 Subject: [PATCH] =?UTF-8?q?refactor:=20=E0=B9=80=E0=B8=9E=E0=B8=B4?= =?UTF-8?q?=E0=B9=88=E0=B8=A1=20=20list=20=E0=B8=82=E0=B8=AD=E0=B8=87=20?= =?UTF-8?q?=E0=B8=81=E0=B8=A5=E0=B8=B8=E0=B9=88=E0=B8=A1=20=E0=B8=AA?= =?UTF-8?q?=E0=B8=B4=E0=B8=99=E0=B8=84=E0=B9=89=E0=B8=B2=20=E0=B9=81?= =?UTF-8?q?=E0=B8=A5=E0=B8=B0=20=E0=B8=9A=E0=B8=A3=E0=B8=B4=E0=B8=81?= =?UTF-8?q?=E0=B8=B2=E0=B8=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/04_product-service/MainPage.vue | 693 ++++++++++++++++++++-- 1 file changed, 629 insertions(+), 64 deletions(-) diff --git a/src/pages/04_product-service/MainPage.vue b/src/pages/04_product-service/MainPage.vue index b2220029..8dffc7cb 100644 --- a/src/pages/04_product-service/MainPage.vue +++ b/src/pages/04_product-service/MainPage.vue @@ -204,6 +204,39 @@ 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', + } + + + + + ], + product: [ { name: 'productName', align: 'left', label: 'productName', field: 'name' }, { @@ -241,11 +274,17 @@ const tbColumn = { }, ], } satisfies { + groupAndType: QTableProps['columns']; product: QTableProps['columns']; service: QTableProps['columns']; }; const tbControl = reactive({ + + groupAndType: { + fieldDisplay: ['name', 'detail', 'formDialogInputRemark', 'createdAt'], + fieldSelected: ['name', 'detail', 'formDialogInputRemark', 'createdAt'], + }, product: { fieldDisplay: [ 'productName', @@ -1235,88 +1274,544 @@ watch(inputSearchProductAndService, async () => {
-
-
- {{ $t('productAndServiceType') }} -
-
- {{ $t('productAndServiceAll') }} -
+
- - - - - {{ $t('all') }} - - - {{ $t('statusACTIVE') }} - - - {{ $t('statusINACTIVE') }} - - - - + +
+ + + + + {{ $t('all') }} + + + {{ $t('statusACTIVE') }} + + + {{ $t('statusINACTIVE') }} + + + + + + + + + + + +
-
-
-
+
+ + + + + + + + +
@@ -2758,4 +3253,74 @@ watch(inputSearchProductAndService, async () => { cursor: pointer; text-decoration: underline; } + +.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(0.5); + opacity: 0.5; +} + +.icon-color-purple { + --_color: var(--violet-11-hsl); +} + +.icon-color-pink { + --_color: var(--pink-6-hsl); +} + +.icon-color-orange { + --_color: var(--orange-5-hsl); +} + +.icon-color-green { + --_color: var(--teal-10-hsl); +} + +.dark .icon-color-purple { + --_color: var(--violet-10-hsl); +} + +.dark .icon-color-green { + --_color: var(--teal-8-hsl); +} + +.dark .icon-color-orange { + --_color: var(--orange-6-hsl); +} + +.branch-card__icon { + + background-color: hsla(var(--_color) / 0.15); + color: hsla(var(--_color) / 1); + + 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.1rem; + top: calc(50% - 0.25rem); + bottom: calc(50% - 0.25rem); + background-color: hsla(var(--_branch-status-color) / 1); + } + + & :deep(.q-avatar) { + transform: rotate(-45deg); + color: hsla(var(--_branch-card-bg) / 1); + } +} + + toggleStatusGroup(props.row