diff --git a/public/personnel-info-bg-dark.png b/public/personnel-info-bg-dark.png new file mode 100644 index 00000000..c804aa9b Binary files /dev/null and b/public/personnel-info-bg-dark.png differ diff --git a/public/personnel-info-bg-light.png b/public/personnel-info-bg-light.png new file mode 100644 index 00000000..ecf25c97 Binary files /dev/null and b/public/personnel-info-bg-light.png differ diff --git a/src/pages/02_personnel-management/person-info/MainPage.vue b/src/pages/02_personnel-management/person-info/MainPage.vue index c6b02e31..1a621b58 100644 --- a/src/pages/02_personnel-management/person-info/MainPage.vue +++ b/src/pages/02_personnel-management/person-info/MainPage.vue @@ -2,6 +2,7 @@ import { useRoute } from 'vue-router'; import { onMounted, ref, watch } from 'vue'; import { storeToRefs } from 'pinia'; +import { useRouter } from 'vue-router'; import useUserStore from 'stores/user'; import useBranchStore from 'stores/branch'; @@ -20,6 +21,7 @@ import { reactive } from 'vue'; const route = useRoute(); +const router = useRouter(); const userStore = useUserStore(); const addrStore = useAddressStore(); const branchStore = useBranchStore(); @@ -115,6 +117,9 @@ onMounted(async () => { getCurrentUser(); getHQ(); getProvince(); + if (userStore.userOption.roleOpts.length === 0) { + userStore.fetchRoleOption(); + } }); watch(() => route.params.id, getCurrentUser); @@ -125,209 +130,358 @@ watch(() => currentUser.value?.districtId, getSubDistrict); @@ -350,4 +504,24 @@ watch(() => currentUser.value?.districtId, getSubDistrict); grid-template-columns: 1fr 4fr; } } + +.info-bg { + background-color: var(--surface-1); + height: 45vw; + background-repeat: no-repeat; + background-size: cover; +} + +.btn-edt { + color: white; + background-color: hsl(var(--info-bg)); + border-radius: var(--radius-2); +} + +.btn-delete { + color: hsl(var(--info-bg)); + background-color: var(--surface-1); + border-radius: var(--radius-2); + border: 1px solid hsl(var(--info-bg)); +}