From 0636f74c9b187b9a58eaf38a55a5da1bd0b1ffe8 Mon Sep 17 00:00:00 2001 From: dyhj625 Date: Tue, 25 Mar 2025 10:35:09 +0900 Subject: [PATCH 01/12] =?UTF-8?q?=EC=9D=B4=EB=AF=B8=20=EC=82=AC=EC=9A=A9?= =?UTF-8?q?=EB=90=9C=20=ED=83=80=EC=9E=85=ED=9C=B4=EA=B0=80=20=ED=99=9C?= =?UTF-8?q?=EC=84=B1=ED=99=94=20=EB=B0=A9=EC=A7=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/vacation/VacationManagement.vue | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/views/vacation/VacationManagement.vue b/src/views/vacation/VacationManagement.vue index 52dbbe3..43693a8 100644 --- a/src/views/vacation/VacationManagement.vue +++ b/src/views/vacation/VacationManagement.vue @@ -143,6 +143,12 @@ const calendarOptions = reactive({ dateClick: handleDateClick, datesSet: handleMonthChange, events: calendarEvents, + customButtons: { + today: { + text: 'TODAY', + click: () => fullCalendarRef.value?.getApi().today(), + }, + }, }); // 캘린더 월 변경 function handleMonthChange(viewInfo) { @@ -178,6 +184,21 @@ function handleDateClick(info) { const isMyVacation = myVacations.value.some(vac => vac.date.substring(0, 10) === clickedDateStr && !vac.receiverId); + if (!selectedDates.value.has(clickedDateStr) && isMyVacation && halfDayType.value) { + const existingVacation = myVacations.value.find(vac => vac.date.substring(0, 10) === clickedDateStr && !vac.receiverId); + const selectedType = + halfDayType.value === "AM" ? "700101" : + halfDayType.value === "PM" ? "700102" : "700103"; + if (existingVacation.type === selectedType) { + toastStore.onToast("이미 사용한 연차입니다.", "e"); + if (halfDayButtonsRef.value) { + halfDayButtonsRef.value.resetHalfDay(); + } + halfDayType.value = null; + return; + } + } + // 이미 활성화된 날짜를 한 번 더 클릭하면 비활성화 if (currentValue && currentValue !== "delete") { selectedDates.value.delete(clickedDateStr); From 33cd40038f1ebcc3fd32fccc6fa28a3b1d6da05f Mon Sep 17 00:00:00 2001 From: dyhj625 Date: Tue, 25 Mar 2025 10:44:09 +0900 Subject: [PATCH 02/12] =?UTF-8?q?=EC=BB=A4=EC=8A=A4=ED=85=80=20=EB=B2=84?= =?UTF-8?q?=ED=8A=BC=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/vacation/VacationManagement.vue | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/src/views/vacation/VacationManagement.vue b/src/views/vacation/VacationManagement.vue index 43693a8..1422758 100644 --- a/src/views/vacation/VacationManagement.vue +++ b/src/views/vacation/VacationManagement.vue @@ -127,6 +127,19 @@ const hasChanges = computed(() => { ); }); +// 캘린더 이동 함수 (이전, 다음, 오늘) +const moveCalendar = async (value = 0) => { + const calendarApi = fullCalendarRef.value?.getApi(); + + if (value === 1) { + calendarApi.prev(); // 이전 달로 이동 + } else if (value === 2) { + calendarApi.next(); // 다음 달로 이동 + } else if (value === 3) { + calendarApi.today(); // 오늘 날짜로 이동 + } +}; + /* 캘린더 설정 */ // 풀 캘린더 옵션,이벤트 const calendarOptions = reactive({ @@ -144,9 +157,17 @@ const calendarOptions = reactive({ datesSet: handleMonthChange, events: calendarEvents, customButtons: { + prev: { + text: 'PREV', + click: () => moveCalendar(1), + }, today: { text: 'TODAY', - click: () => fullCalendarRef.value?.getApi().today(), + click: () => moveCalendar(3), + }, + next: { + text: 'NEXT', + click: () => moveCalendar(2), }, }, }); From 1dceec000c03c591c5f1a191663d762a4d326413 Mon Sep 17 00:00:00 2001 From: khj0414 Date: Tue, 25 Mar 2025 11:04:08 +0900 Subject: [PATCH 03/12] =?UTF-8?q?=EC=88=98=EC=A0=95=EC=82=AC=ED=95=AD=20?= =?UTF-8?q?=EC=88=98=EC=A0=95=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/voteboard/voteBoardList.vue | 2 -- src/views/voteboard/voteboardWrite.vue | 10 +++------- src/views/wordDict/wordDict.vue | 7 ++++++- 3 files changed, 9 insertions(+), 10 deletions(-) diff --git a/src/views/voteboard/voteBoardList.vue b/src/views/voteboard/voteBoardList.vue index e1f885b..4079dad 100644 --- a/src/views/voteboard/voteBoardList.vue +++ b/src/views/voteboard/voteBoardList.vue @@ -132,7 +132,6 @@ const checkedNames = (numList) => { } //투표종료 const endVoteId = (endVoteId) => { - console.log('endVoteId',endVoteId) $api.patch('vote/updateEndData',{ endVoteId :endVoteId }).then((res)=>{ @@ -143,7 +142,6 @@ const endVoteId = (endVoteId) => { } //기한 지난 투표 종료 const voteEnded = async (id) =>{ - console.log('voteEnded',id) await endVoteId(id.id); } //투표 삭제 diff --git a/src/views/voteboard/voteboardWrite.vue b/src/views/voteboard/voteboardWrite.vue index b94450e..9b2d66f 100644 --- a/src/views/voteboard/voteboardWrite.vue +++ b/src/views/voteboard/voteboardWrite.vue @@ -34,7 +34,7 @@ - +
@@ -115,10 +115,7 @@ import { useUserStore } from '@s/userList'; import { useRoute } from "vue-router"; const userStore = useUserStore(); -// const offset = new Date().getTimezoneOffset() * 60000 -// const today = new Date(Date.now() - offset); -// today.setDate(today.getDate() + 1); -// const minDate = today.toISOString().substring(0, 16); + const toastStore = useToastStore(); const activeUserList = ref([]); const disabledUsers = ref([]); @@ -144,12 +141,11 @@ const focusDateInput = () => { const minDate = ref(''); onMounted(() => { - nextTick(() => { const offset = new Date().getTimezoneOffset() * 60000; const today = new Date(Date.now() - offset); today.setDate(today.getDate() + 1); minDate.value = today.toISOString().substring(0, 16); - }); + }); const userSet = ({ userList, userTotal }) => { diff --git a/src/views/wordDict/wordDict.vue b/src/views/wordDict/wordDict.vue index a75ff61..292cf0b 100644 --- a/src/views/wordDict/wordDict.vue +++ b/src/views/wordDict/wordDict.vue @@ -159,6 +159,9 @@ if (newAlphabet !== null) { getwordList(searchText.value, selectedAlphabet.value, selectedCategory.value); } else { + if( selectedCategory.value !== '' && selectedCategory.value !== null){ + getwordList(searchText.value, selectedAlphabet.value, selectedCategory.value); + } wordList.value = []; total.value = 0; } @@ -173,6 +176,9 @@ getwordList(searchText.value, selectedAlphabet.value, ''); } } else { + if( selectedAlphabet.value !== '' && selectedAlphabet.value !== null){ + getwordList(searchText.value, selectedAlphabet.value, selectedCategory.value); + } wordList.value = []; total.value = 0; } @@ -194,7 +200,6 @@ sendWordRequest(category, wordData, newCodName); }; const sendWordRequest = (category, wordData, data) => { - console.log(category,'category') const payload = { WRDDICCAT: category, WRDDICTTL: wordData.title, From 5082dd2de5ba7aa09b4cf5f9f1ec81d8396d7147 Mon Sep 17 00:00:00 2001 From: dyhj625 Date: Tue, 25 Mar 2025 11:19:44 +0900 Subject: [PATCH 04/12] =?UTF-8?q?=EA=B2=8C=EC=8B=9C=ED=8C=90=20=ED=94=84?= =?UTF-8?q?=EB=A1=9C=ED=95=84=20=EC=BB=A4=EC=84=9C=20=EC=95=88=EB=9C=A8?= =?UTF-8?q?=EA=B2=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/css/custom.css | 6 +++++- src/components/board/BoardProfile.vue | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/public/css/custom.css b/public/css/custom.css index bd9559d..743658b 100644 --- a/public/css/custom.css +++ b/public/css/custom.css @@ -795,4 +795,8 @@ input:checked + .slider:before { right: 20px; } -/* toast end */ \ No newline at end of file +/* toast end */ + +.cursor-none{ + cursor: none !important; +} \ No newline at end of file diff --git a/src/components/board/BoardProfile.vue b/src/components/board/BoardProfile.vue index be278f8..00a4a87 100644 --- a/src/components/board/BoardProfile.vue +++ b/src/components/board/BoardProfile.vue @@ -1,7 +1,7 @@
From 4abb705a39099fcc6e227883adec2aa6a4ecd84e Mon Sep 17 00:00:00 2001 From: khj0414 Date: Tue, 25 Mar 2025 15:03:09 +0900 Subject: [PATCH 10/12] =?UTF-8?q?=EC=B9=B4=EB=93=9C=20=ED=81=AC=EA=B8=B0?= =?UTF-8?q?=20=EC=A1=B0=EC=A0=95=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/wordDict/wordDict.vue | 1 + 1 file changed, 1 insertion(+) diff --git a/src/views/wordDict/wordDict.vue b/src/views/wordDict/wordDict.vue index 292cf0b..fada88a 100644 --- a/src/views/wordDict/wordDict.vue +++ b/src/views/wordDict/wordDict.vue @@ -31,6 +31,7 @@
    Date: Tue, 25 Mar 2025 15:21:12 +0900 Subject: [PATCH 11/12] =?UTF-8?q?=ED=88=AC=ED=91=9C=EC=A2=85=EB=A3=8C=20?= =?UTF-8?q?=EA=B0=80=EB=8A=A5=EB=8A=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/voteboard/voteCard.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/voteboard/voteCard.vue b/src/components/voteboard/voteCard.vue index 4faed53..c987a79 100644 --- a/src/components/voteboard/voteCard.vue +++ b/src/components/voteboard/voteCard.vue @@ -126,7 +126,7 @@ watch(() => props.data.localVote.total_voted, () => { // 종료 체크 함수 const checkVoteCompletion = () => { - if (props.data.localVote.total_votable === props.data.localVote.total_voted && props.data.localVote.LOCVOTDDT == '') { + if (props.data.localVote.total_votable === props.data.localVote.total_voted && props.data.localVote.LOCVOTDDT == null) { emit('voteEnded', { id: props.data.localVote.LOCVOTSEQ }); } }; From 031c5f35c644ebbbf1cd0e8691c499317708f08c Mon Sep 17 00:00:00 2001 From: nevermoregb Date: Tue, 25 Mar 2025 16:14:11 +0900 Subject: [PATCH 12/12] =?UTF-8?q?=EB=B9=84=EB=B0=80=EB=B2=88=ED=98=B8=20?= =?UTF-8?q?=EC=9E=85=EB=A0=A5=20maxlength=208=EB=A1=9C=20=EB=B3=80?= =?UTF-8?q?=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/board/BoardComment.vue | 2 +- src/components/board/BoardCommentArea.vue | 2 +- src/views/board/BoardView.vue | 1 + 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/components/board/BoardComment.vue b/src/components/board/BoardComment.vue index 2a6a469..fa13318 100644 --- a/src/components/board/BoardComment.vue +++ b/src/components/board/BoardComment.vue @@ -24,7 +24,7 @@ class="form-control" :value="password" autocomplete="new-password" - maxlength="4" + maxlength="8" placeholder="비밀번호 입력" @input="filterInput" /> diff --git a/src/components/board/BoardCommentArea.vue b/src/components/board/BoardCommentArea.vue index 57f65ec..ed522cf 100644 --- a/src/components/board/BoardCommentArea.vue +++ b/src/components/board/BoardCommentArea.vue @@ -57,7 +57,7 @@ autocomplete="new-password" v-model="password" placeholder="비밀번호" - maxlength="4" + maxlength="8" @input=" password = password.replace(/\s/g, ''); clearAlert('password'); diff --git a/src/views/board/BoardView.vue b/src/views/board/BoardView.vue index afa527d..7b4e57e 100644 --- a/src/views/board/BoardView.vue +++ b/src/views/board/BoardView.vue @@ -30,6 +30,7 @@ autocomplete="new-password" v-model="password" placeholder="비밀번호 입력" + maxlength="8" @input=" password = password.replace(/\s/g, ''); inputCheck();