이벤트 예약기간 설정
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
// 공휴일 + 병원휴일 목록 로드
|
||||
|
||||
@@ -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 => {
|
||||
|
||||
Reference in New Issue
Block a user