diff --git a/public/js/main.js b/public/js/main.js
index 7937823..b1dcbc9 100644
--- a/public/js/main.js
+++ b/public/js/main.js
@@ -4,8 +4,8 @@
'use strict'
-let menu, animate
-;(function () {
+var menu, animate;
+(function () {
// Initialize menu
//-----------------
diff --git a/src/components/modal/VacationGrantModal.vue b/src/components/modal/VacationGrantModal.vue
index 206879a..333810e 100644
--- a/src/components/modal/VacationGrantModal.vue
+++ b/src/components/modal/VacationGrantModal.vue
@@ -5,7 +5,7 @@
-
해당 직원에게 부여할 연차 개수를 선택하세요. (남은 개수: {{ availableQuota }}개)
+
선물할 연차 개수를 선택하세요.
@@ -129,7 +129,7 @@
background: white;
padding: 20px;
border-radius: 12px;
- width: 400px;
+ width: 300px;
box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.15);
text-align: center;
position: relative;
diff --git a/src/components/modal/VacationModal.vue b/src/components/modal/VacationModal.vue
index d447ebf..c8e22f2 100644
--- a/src/components/modal/VacationModal.vue
+++ b/src/components/modal/VacationModal.vue
@@ -151,7 +151,7 @@ const closeModal = () => {
background: white;
padding: 20px;
border-radius: 12px;
- width: 400px;
+ width: 300px;
box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.15);
text-align: center;
position: relative;
@@ -222,4 +222,10 @@ const closeModal = () => {
color: gray;
margin-top: 10px;
}
+
+ /* 모달 본문 스크롤: 높이가 300px 이상이면 스크롤바 표시 */
+.modal-body {
+ max-height: 130px;
+ overflow-y: auto;
+}
diff --git a/src/components/vacation/ProfileList.vue b/src/components/vacation/ProfileList.vue
index ae2d257..fb483c4 100644
--- a/src/components/vacation/ProfileList.vue
+++ b/src/components/vacation/ProfileList.vue
@@ -1,6 +1,6 @@
-
+
- {
- await userStore.userInfo();
- if (userStore.user) {
- employeeId.value = userStore.user.id;
- } else {
- console.error("❌ 로그인한 사용자 정보를 불러오지 못했습니다.");
- }
+ await userStore.userInfo();
+ if (userStore.user) {
+ employeeId.value = userStore.user.id;
+ } else {
+ console.error("❌ 로그인한 사용자 정보를 불러오지 못했습니다.");
+ }
- await userListStore.fetchUserList();
- userList.value = userListStore.userList;
+ await userListStore.fetchUserList();
+ userList.value = userListStore.userList;
- // 사용자별 색상 저장
- userList.value.forEach(user => {
- userColors.value[user.MEMBERSEQ] = user.usercolor || "#ccc";
- });
+ // 사용자별 색상 저장
+ userList.value.forEach(user => {
+ userColors.value[user.MEMBERSEQ] = user.usercolor || "#ccc";
+ });
- nextTick(() => {
- const tooltips = document.querySelectorAll('[data-bs-toggle="tooltip"]');
- tooltips.forEach(tooltip => {
- new bootstrap.Tooltip(tooltip);
+ nextTick(() => {
+ const tooltips = document.querySelectorAll('[data-bs-toggle="tooltip"]');
+ tooltips.forEach(tooltip => {
+ new bootstrap.Tooltip(tooltip);
+ });
});
});
-});
const sortedUserList = computed(() => {
if (!employeeId.value) return userList.value; // 로그인한 사용자가 없으면 기존 리스트 반환
@@ -78,6 +78,7 @@
return myProfile ? [myProfile, ...otherUsers] : userList.value;
});
+ // 프로필 이미지 URL 반환
const getUserProfileImage = (profilePath) => {
return profilePath && profilePath.trim()
? `${baseUrl}upload/img/profile/${profilePath}`
@@ -92,14 +93,12 @@
event.target.style.visibility = "visible";
};
- // 프로필 크기 동적 조정
+ // 프로필 크기 동적 조정: 사이드바 영역에 맞게 조금 더 축소
const profileSize = computed(() => {
const totalUsers = userList.value.length;
-
- if (totalUsers <= 7) return "100px"; // 7명 이하
- if (totalUsers <= 10) return "80px"; // ~10명
- if (totalUsers <= 20) return "60px"; // ~20명
- return "40px"; // 20명 이상
+ if (totalUsers <= 10) return "68px"; // ~10명
+ if (totalUsers <= 15) return "50px"; // ~20명
+ return "30px"; // 20명 이상
});
// 개별 유저 스타일 적용
@@ -109,18 +108,29 @@
height: profileSize.value,
borderWidth: "4px",
borderColor: user.usercolor || "#ccc",
- borderStyle: "solid",
+ borderStyle: "solid",
};
};
diff --git a/src/components/wordDict/DictWrite.vue b/src/components/wordDict/DictWrite.vue
index 12d057c..2de9ee1 100644
--- a/src/components/wordDict/DictWrite.vue
+++ b/src/components/wordDict/DictWrite.vue
@@ -17,7 +17,7 @@
-
+
@@ -83,12 +83,12 @@ const addCategoryAlert = ref(false);
const selectCategory = ref('');
// 제목 상태
-const computedTitle = computed(() =>
+const computedTitle = computed(() =>
wordTitle.value === '' ? props.titleValue : wordTitle.value
);
// 카테고리 상태
-const selectedCategory = computed(() =>
+const selectedCategory = computed(() =>
selectCategory.value === '' ? props.formValue : selectCategory.value
);
@@ -138,8 +138,16 @@ const onChange = (newValue) => {
//용어 등록
const saveWord = () => {
+
+ // if(addCategory.value == ''){
+ // addCategoryAlert.value = true;
+ // return;
+ // }else {
+ // addCategoryAlert.value = false;
+ // }
+
//validation
-
+
// 용어 체크
if(computedTitle.value == '' || computedTitle.length == 0){
wordTitleAlert.value = true;
@@ -158,8 +166,7 @@ const saveWord = () => {
category: selectedCategory.value,
content: content.value,
};
-
- emit('addWord', wordData);
+ emit('addWord', wordData ,addCategory.value );
};
@@ -173,4 +180,4 @@ const saveWord = () => {
margin-top: 2.5rem
}
}
-
\ No newline at end of file
+
diff --git a/src/views/vacation/VacationManagement.vue b/src/views/vacation/VacationManagement.vue
index 4ffa1f8..a9b56e4 100644
--- a/src/views/vacation/VacationManagement.vue
+++ b/src/views/vacation/VacationManagement.vue
@@ -1,43 +1,51 @@
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
@@ -46,8 +54,9 @@
+