날짜 min 수정

This commit is contained in:
yoon 2025-03-13 21:45:18 +09:00
parent 946e3441e3
commit 2ec81f274d
2 changed files with 35 additions and 20 deletions

View File

@ -128,7 +128,7 @@
title="종료일"
type="date"
name="endDay"
:min="todays"
:min="selectedProject.PROJCTSTR"
:modelValue="selectedProject.PROJCTEND"
@update:modelValue="selectedProject.PROJCTEND = $event"
/>
@ -161,7 +161,7 @@
</template>
<script setup>
import { defineProps, onMounted, ref, computed, watch, inject } from 'vue';
import { defineProps, onMounted, ref, computed, watch } from 'vue';
import UserList from '@c/user/UserList.vue';
import CenterModal from '@c/modal/CenterModal.vue';
import $api from '@api';
@ -256,11 +256,6 @@ const isProjectCreator = computed(() => {
return user.value?.id === props.projctCreatorId;
});
// dayjs
const dayjs = inject('dayjs');
// YYYY-MM-DD
const todays = dayjs().format('YYYY-MM-DD');
// ( )
const isProjectExpired = computed(() => {
@ -332,6 +327,19 @@ const closeModal = () => {
//
const openEditModal = () => {
selectedProject.value = {
PROJCTSEQ: props.projctSeq,
PROJCTNAM: props.title,
PROJCTSTR: props.strdate,
PROJCTEND: props.enddate,
PROJCTZIP: props.addressZip,
PROJCTARR: props.address,
PROJCTDTL: props.addressdtail,
PROJCTDES: props.description,
PROJCTCOL: props.projctCol,
projctcolor: props.projctColor,
};
isEditModalOpen.value = true;
originalColor.value = props.projctCol;
};
@ -366,6 +374,18 @@ const hasChanges = computed(() => {
selectedProject.value.PROJCTCOL !== props.projctCol;
});
//
watch(
() => selectedProject.value.PROJCTSTR, // (strdate)
(newStartDate) => {
if (newStartDate && new Date(newStartDate) > new Date(selectedProject.value.PROJCTEND)) {
//
selectedProject.value.PROJCTEND = newStartDate;
}
}
);
//
const handleUpdate = () => {
nameAlert.value = selectedProject.value.PROJCTNAM.trim() === '';
@ -395,7 +415,7 @@ const handleUpdate = () => {
if (res.status === 200) {
toastStore.onToast('수정이 완료 되었습니다.', 's');
closeEditModal();
//
emit('update');
}
});

View File

@ -69,7 +69,7 @@
:type="'date'"
name="endDay"
:modelValue="endDay"
:min = "today"
:min = "startDay"
@update:modelValue="endDay = $event"
/>
@ -207,19 +207,14 @@
// ::
const handleAddressUpdate = (data) => {
addressData.value = data;
};
} ;
//
watch([startDay, endDay], () => {
if (startDay.value && endDay.value) {
const start = new Date(startDay.value);
const end = new Date(endDay.value);
if (end < start) {
endDay.value = startDay.value;
}
//
watch(startDay, (newStartDate) => {
if (new Date(newStartDate) > new Date(endDay.value)) {
endDay.value = '';
}
}, { flush: 'post' });
});
//
const handleCreate = async () => {