이벤트 예약기간 설정

This commit is contained in:
pjs
2026-03-02 12:19:19 +09:00
parent d590a3ad48
commit f73751497a
7 changed files with 71 additions and 2 deletions

View File

@@ -66,6 +66,17 @@ body {
margin-bottom: 18px;
}
.event-period {
font-size: 1.05em;
font-weight: 600;
color: #e74c3c;
background: #fef2f2;
border: 1px solid #fecaca;
border-radius: 8px;
padding: 10px 14px;
margin-bottom: 14px;
}
.info-price {
font-size: 1.2em;
font-weight: 700;

View File

@@ -431,11 +431,28 @@ let repeatHolidayDates = new Set();
let openScheduleDates = new Set();
function initFlatpickr() {
// 이벤트 기간 제한 설정
let calendarMinDate = "today";
let calendarMaxDate = undefined;
if (typeof event_start_dt !== 'undefined' && event_start_dt &&
typeof event_end_dt !== 'undefined' && event_end_dt) {
// 이벤트 시작일이 오늘 이후이면 시작일을, 오늘 이전이면 오늘을 minDate로 설정
const today = new Date();
today.setHours(0, 0, 0, 0);
const eventStart = new Date(event_start_dt);
eventStart.setHours(0, 0, 0, 0);
calendarMinDate = eventStart > today ? event_start_dt : "today";
calendarMaxDate = event_end_dt;
}
fp = flatpickr("#inline-calendar", {
inline: true,
locale: "ko",
dateFormat: "Y-m-d",
minDate: "today",
minDate: calendarMinDate,
maxDate: calendarMaxDate,
disableMobile: "true",
onChange: function (selectedDates, dateStr, instance) {
if (selectedDates.length > 0) {
@@ -468,6 +485,16 @@ function initFlatpickr() {
}
}
});
// 이벤트 기간 안내 표시
if (typeof event_start_dt !== 'undefined' && event_start_dt && event_end_dt) {
const calendarBox = document.querySelector('.calendar-box');
const eventPeriodHtml = `
<div class="event-period-info" style="text-align:center; padding:8px 0 4px; color:#e74c3c; font-size:0.92em; font-weight:600;">
📅 이벤트 기간: ${event_start_dt} ~ ${event_end_dt}
</div>`;
calendarBox.insertAdjacentHTML('afterbegin', eventPeriodHtml);
}
}
// 공휴일 + 병원휴일 목록 로드

View File

@@ -57,6 +57,27 @@ function fn_SelectDetail(category_div_cd, category_no, post_no) {
$('#contents_path').attr('src', CDN_URL + data.rows.CONTENTS_PATH);
// 이벤트 기간 정보 저장
window.eventStartDt = data.rows.EVENT_START_DT || '';
window.eventEndDt = data.rows.EVENT_END_DT || '';
// 이벤트 기간 표시
if (window.eventStartDt || window.eventEndDt) {
const periodEl = document.getElementById('event-period');
if (periodEl) {
let periodText = '📅 이벤트 기간: ';
if (window.eventStartDt && window.eventEndDt) {
periodText += window.eventStartDt + ' ~ ' + window.eventEndDt;
} else if (window.eventEndDt) {
periodText += '~ ' + window.eventEndDt;
} else {
periodText += window.eventStartDt + ' ~';
}
periodEl.textContent = periodText;
periodEl.style.display = 'block';
}
}
// 시술 목록 데이터 처리
updateProcedureOptions(data.price || []);
} else {
@@ -261,7 +282,9 @@ function fn_moveReservation(category_div, category_no, post_no) {
const params = [
{ name: 'CATEGORY_DIV_CD', value: category_div },
{ name: 'CATEGORY_NO', value: category_no },
{ name: 'POST_NO', value: post_no }
{ name: 'POST_NO', value: post_no },
{ name: 'EVENT_START_DT', value: window.eventStartDt || '' },
{ name: 'EVENT_END_DT', value: window.eventEndDt || '' }
];
params.forEach(param => {