diff --git a/public/css/custom.css b/public/css/custom.css index cacca3f..1e39f5a 100644 --- a/public/css/custom.css +++ b/public/css/custom.css @@ -206,24 +206,15 @@ cursor: not-allowed !important; .custom-button:hover i { color: #ff0800; } +.custom-button:disabled { + cursor: not-allowed; + +} /* 휴가 사원프로필 */ .profile-list { - display: flex; - flex-wrap: wrap; - gap: 15px; - padding: 0; - list-style: none; - justify-content: flex-start; cursor: pointer; } -.profile-item { - display: flex; - flex-direction: column; - align-items: center; - cursor: pointer; - width: calc(33.33% - 10px); -} /* 오전/오후반차,저장버튼 */ /* 버튼 기본 스타일 */ diff --git a/src/components/modal/VacationModal.vue b/src/components/modal/VacationModal.vue index 1d2c51c..b8f3439 100644 --- a/src/components/modal/VacationModal.vue +++ b/src/components/modal/VacationModal.vue @@ -74,13 +74,17 @@ const usedVacations = computed(() => { }); // 받은 휴가 -const receivedVacations = computed(() => - props.receivedVacations.map((v) => ({ - ...v, - category: "received", - })) -); - +const receivedVacations = computed(() => { + const data = props.receivedVacations.flatMap((v) => { + const count = v.received_quota ?? 1; + return Array.from({ length: Math.ceil(count) }, (_, i) => ({ + ...v, + category: "received", + _expandIndex: globalCounter++, + })); + }); + return data; +}); // 필터링 const sortedUsedVacationsAsc = computed(() => { return [...usedVacations.value].sort((a, b) => { diff --git a/src/components/vacation/ProfileList.vue b/src/components/vacation/ProfileList.vue index 1e5a6e6..5ad55f7 100644 --- a/src/components/vacation/ProfileList.vue +++ b/src/components/vacation/ProfileList.vue @@ -10,7 +10,7 @@ data-bs-placement="top" :aria-label="user.MEMBERSEQ" > -
+