diff --git a/src/components/shared/TreeView.vue b/src/components/shared/TreeView.vue index 8fc1106b..d77d0796 100644 --- a/src/components/shared/TreeView.vue +++ b/src/components/shared/TreeView.vue @@ -30,7 +30,7 @@ const dec = props.decoration?.find((v) => v.level === (props.level || 0)); @@ -78,7 +89,7 @@ const dec = props.decoration?.find((v) => v.level === (props.level || 0)); display: flex; flex-direction: column; user-select: none; - gap: 1rem; + gap: 8px; & .tree-item { & .item__content { @@ -97,11 +108,13 @@ const dec = props.decoration?.find((v) => v.level === (props.level || 0)); & .item__icon { margin-right: 1rem; + width: 1.5rem; + height: 1.5rem; + border-radius: 50%; } & .item__title { font-weight: 600; - color: var(--brand-1); } & .item__subtitle { @@ -110,4 +123,18 @@ const dec = props.decoration?.find((v) => v.level === (props.level || 0)); } } } + +.slide-enter-active { + transition: all 0.1s ease-out; +} + +.slide-leave-active { + transition: all 0.1s cubic-bezier(1, 0.5, 0.8, 1); +} + +.slide-enter-from, +.slide-leave-to { + transform: translateY(-20px); + opacity: 0; +} diff --git a/src/layouts/DrawerComponent.vue b/src/layouts/DrawerComponent.vue index e9011550..0d7cccbf 100644 --- a/src/layouts/DrawerComponent.vue +++ b/src/layouts/DrawerComponent.vue @@ -80,7 +80,7 @@ onMounted(async () => { { label: 'menu.quotation', icon: 'mdi-file-document', - route: '', + route: '/quotation', disabled: true, }, { diff --git a/src/layouts/ProfileMenu.vue b/src/layouts/ProfileMenu.vue index a5addb3a..9c2a39fa 100644 --- a/src/layouts/ProfileMenu.vue +++ b/src/layouts/ProfileMenu.vue @@ -141,7 +141,7 @@ onMounted(async () => { filterRole.value = userRoles .filter( (role) => - role !== 'default-roles-' + getRealm() && + !role.includes('default-roles') && role !== 'offline_access' && role !== 'uma_authorization', ) diff --git a/src/pages/05_quotation/MainPage.vue b/src/pages/05_quotation/MainPage.vue index 2f998f0b..aed5ae2b 100644 --- a/src/pages/05_quotation/MainPage.vue +++ b/src/pages/05_quotation/MainPage.vue @@ -4,14 +4,88 @@ import QuatationForm from './QuatationForm.vue'; import SideMenu from 'components/SideMenu.vue'; import ImageUploadDialog from 'components/ImageUploadDialog.vue'; import { watch } from 'vue'; +import TreeView from 'src/components/shared/TreeView.vue'; const isOpen = ref(true); const imageUploadDialog = ref>(); const file = ref(null); + +const nodes = ref([ + { + title: 'กลุ่มสินค้าและบริการที่ 1', + subtitle: 'TG01000000001', + selected: false, + children: [ + { + title: 'งานที่ 1', + subtitle: 'TG01000000001', + selected: false, + children: [ + { + title: 'สินค้า 1', + subtitle: 'TG01000000001', + selected: false, + }, + { + title: 'สินค้า 2', + subtitle: 'TG01000000001', + selected: false, + }, + { + title: 'สินค้า 3', + subtitle: 'TG01000000001', + selected: false, + }, + { + title: 'สินค้า 4', + subtitle: 'TG01000000001', + selected: false, + }, + { + title: 'สินค้า 5', + subtitle: 'TG01000000001', + selected: false, + }, + { + title: 'สินค้า 6', + subtitle: 'TG01000000001', + selected: false, + }, + ], + }, + ], + }, +]);