Compare commits
13 Commits
69b7df5626
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
512c4b2458 | ||
|
|
d4dc0cd46c | ||
|
|
32629ea3be | ||
|
|
0f61856d53 | ||
|
|
575471f28f | ||
|
|
07dfb40876 | ||
|
|
6076210bfb | ||
|
|
fc00a8edfc | ||
|
|
868ccf01b1 | ||
|
|
f6792f44d3 | ||
|
|
aecac1cade | ||
|
|
6b22974979 | ||
|
|
417054eaf8 |
@@ -7,7 +7,7 @@ spring:
|
||||
password: madeu12#$
|
||||
|
||||
url:
|
||||
cdn: http://dcrm.vara.co.kr/cdn/
|
||||
cdn: https://newcrm.madeu.co.kr/cdn/
|
||||
old-crm-php: http://crm.madeu.co.kr/add-booking-home.php
|
||||
|
||||
madeu:
|
||||
|
||||
@@ -2,12 +2,12 @@ spring:
|
||||
datasource:
|
||||
hikari:
|
||||
driver-class-name: org.mariadb.jdbc.Driver
|
||||
jdbc-url: jdbc:mariadb://vara.iptime.org:3306/madeu
|
||||
jdbc-url: jdbc:mariadb://183.98.184.84:3306/madeu
|
||||
username: madeu
|
||||
password: madeu12#$
|
||||
password: apdlemdb12#$
|
||||
|
||||
url:
|
||||
cdn: http://crm.vara.co.kr/cdn/
|
||||
cdn: https://newcrm.madeu.co.kr/cdn/
|
||||
old-crm-php: http://crm.madeu.co.kr/add-booking-home.php
|
||||
|
||||
madeu:
|
||||
|
||||
@@ -7,7 +7,7 @@ spring:
|
||||
password: apdlemdb12#$
|
||||
|
||||
url:
|
||||
cdn: https://crm.vara.co.kr/cdn/
|
||||
cdn: https://newcrm.madeu.co.kr/cdn/
|
||||
old-crm-php: http://crm.madeu.co.kr/add-booking-home.php
|
||||
|
||||
madeu:
|
||||
|
||||
@@ -50,4 +50,4 @@ senderPhoneNumber: 025474711
|
||||
# Instagram 설정
|
||||
instagram:
|
||||
client-id: 17841400162629727
|
||||
accesstoken: IGAAMzYDUuoLJBZAFBieGZAYWXplcjlkRGZAkenkxbDEtSWp0VDkxZA2VEOGljcndKR2NMWl9FQmNGUVlMTzZAkbWgxd0xjRXJlTjNhanB4VWxIX2tZARnhuZATUycEFoLVZAvbUtQam11blEzbDR6QmpjQVBBSm5wc0JKdnIyc2xxVVRrNAZDZD
|
||||
accesstoken: IGAAMzYDUuoLJBZAFRLMUV4V3ZA5RTdIQzNvUmdYQXd6RGpMaGgxbTFQWUJlcmpKZAGlFM29CX20tOE9iSGg4Y1hwdVVHcUVXeS1RQ3dMWVluOEdTdTY4UUh2aFVVR0tGTGhGLVMwWDdkakFtbWJtbnFhQkprMmQxcGsxQjJGZA3pUTQZDZD
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
WHERE A.USE_YN = 'Y'
|
||||
AND A.CATEGORY_DIV_CD = '04'
|
||||
AND A.CATEGORY_NO = #{category_no}
|
||||
ORDER BY A.REG_DATE DESC
|
||||
ORDER BY ORD_NO
|
||||
</select>
|
||||
|
||||
<!-- 이벤트안내 상세 조회 -->
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
WHERE A.USE_YN = 'Y'
|
||||
AND A.CATEGORY_DIV_CD = '03'
|
||||
AND A.CATEGORY_NO = #{categoryNo}
|
||||
ORDER BY ORD_NO
|
||||
</select>
|
||||
|
||||
<!-- 카테고리 상세 조회 -->
|
||||
|
||||
@@ -53,7 +53,7 @@ html { scroll-behavior:smooth; }
|
||||
|
||||
/* 세로형 드롭다운 메뉴 - 타이트한 박스, 보더 제거 */
|
||||
.project_wrap header nav ul.depth1 li ul.depth2 {
|
||||
width: 160px;
|
||||
width: 180px;
|
||||
height: auto;
|
||||
padding: 8px 0;
|
||||
position: absolute;
|
||||
|
||||
@@ -132,6 +132,10 @@
|
||||
color: #333;
|
||||
border-radius: 0;
|
||||
height: 100%;
|
||||
line-height:16px;
|
||||
word-break: keep-all;
|
||||
overflow: hidden;
|
||||
text-overflow: clip;
|
||||
}
|
||||
.popup .nav.nav-tabs li.active a,
|
||||
.popup .nav.nav-tabs li[role="presentation"].active a {
|
||||
|
||||
BIN
src/main/resources/static/image/equip/20251014/써마지.jpg
Normal file
|
After Width: | Height: | Size: 99 KiB |
BIN
src/main/resources/static/image/equip/20251014/울쎄라.jpg
Normal file
|
After Width: | Height: | Size: 92 KiB |
BIN
src/main/resources/static/image/equip/20251014/줄기세포.jpg
Normal file
|
After Width: | Height: | Size: 89 KiB |
BIN
src/main/resources/static/image/equip/20251014/튠페이스.jpg
Normal file
|
After Width: | Height: | Size: 104 KiB |
BIN
src/main/resources/static/image/equip/20251014/티타늄.jpg
Normal file
|
After Width: | Height: | Size: 100 KiB |
BIN
src/main/resources/static/image/quick_menu/event.png
Normal file
|
After Width: | Height: | Size: 6.8 KiB |
BIN
src/main/resources/static/image/signature/20251024/레이저리프팅.jpg
Normal file
|
After Width: | Height: | Size: 255 KiB |
|
After Width: | Height: | Size: 250 KiB |
BIN
src/main/resources/static/image/signature/20251024/스컬트라.jpg
Normal file
|
After Width: | Height: | Size: 234 KiB |
BIN
src/main/resources/static/image/signature/20251024/스킨부스터.jpg
Normal file
|
After Width: | Height: | Size: 271 KiB |
BIN
src/main/resources/static/image/signature/20251024/필러.jpg
Normal file
|
After Width: | Height: | Size: 221 KiB |
@@ -54,7 +54,7 @@ const cont1Urls = [
|
||||
// 필요시 추가
|
||||
];
|
||||
|
||||
const bullet1 = ['레이저리프팅','보톡스','스킨부스터','제모', '필러']
|
||||
const bullet1 = ['레이저리프팅','쉬다주사(Face)','스컬트라','스킨부스터', '필러']
|
||||
|
||||
const useCont1Loop = bullet1.length > 5; // slidesPerView(1.3)보다 많을 때만 loop
|
||||
const cont1Swiper = new Swiper('.cont1_swiper', {
|
||||
@@ -106,7 +106,7 @@ const cont2Urls = [
|
||||
,'https://petit.madeu.co.kr/webservice/selectServiceIntro.do?categoryNo=4' // 다섯 번째 슬라이드 URL
|
||||
];
|
||||
|
||||
const bullet2 = ['써마지','울세라','줄기세포', '튠페이스', '티타늄리프팅']
|
||||
const bullet2 = ['티타늄','써마지','울쎄라', '줄기세포', '튠페이스']
|
||||
|
||||
const useCont2Loop = bullet2.length > 5; // slidesPerView(1.3)보다 많을 때만 loop
|
||||
const cont2Swiper = new Swiper('.cont2_swiper', {
|
||||
|
||||
@@ -188,16 +188,17 @@ function fn_RenderServices(services) {
|
||||
}
|
||||
|
||||
let servicesHtml = '';
|
||||
services.forEach(function(service) {
|
||||
|
||||
servicesHtml += `
|
||||
<div class="service-card" onclick="fn_GoToDetail('${service.CATEGORY_DIV_CD}', '${service.CATEGORY_NO}', '${service.POST_NO}')" style="cursor: pointer;">
|
||||
<div class="service-title">${service.SERVICE_NM || service.TITLE || '서비스명 없음'}</div>
|
||||
<div class="service-description">${service.SERVICE_DESC || service.CONTENT || '설명 없음'}</div>
|
||||
<div class="service-price"><span class="cancel-price">${fn_FormatPrice(service.PRICE)}</span> ${fn_FormatPrice(service.DISCOUNT_PRICE)}</div>
|
||||
</div>
|
||||
`;
|
||||
});
|
||||
services.forEach(function(service) {
|
||||
servicesHtml += `
|
||||
<div class="service-card" onclick="fn_GoToDetail('${service.CATEGORY_DIV_CD}', '${service.CATEGORY_NO}', '${service.POST_NO}')" style="cursor: pointer;">
|
||||
<div class="service-title">${service.SERVICE_NM || service.TITLE || '서비스명 없음'}</div>
|
||||
<div class="service-description">${service.SERVICE_DESC || service.CONTENT || '설명 없음'}</div>
|
||||
<div class="service-price">
|
||||
${service.PRICE !== service.DISCOUNT_PRICE ? `<span class="cancel-price">${fn_FormatPrice(service.PRICE)}</span> ` : ''}${fn_FormatPrice(service.DISCOUNT_PRICE)}
|
||||
</div>
|
||||
</div>
|
||||
`;
|
||||
});
|
||||
|
||||
servicesGrid.innerHTML = servicesHtml;
|
||||
}
|
||||
|
||||
@@ -25,24 +25,24 @@
|
||||
<div class="swiper cont1_swiper">
|
||||
<div class="swiper-wrapper">
|
||||
<div class="swiper-slide">
|
||||
<img class="pc" src="/image/web/petit_content_lifting.JPG" alt="img">
|
||||
<img class="mb" src="/image/web/petit_content_lifting.JPG" alt="img">
|
||||
<img class="pc" src="/image/signature/20251024/레이저리프팅.jpg" alt="img">
|
||||
<img class="mb" src="/image/signature/20251024/레이저리프팅.jpg" alt="img">
|
||||
</div>
|
||||
<div class="swiper-slide">
|
||||
<img class="pc" src="/image/web/petit_content_botox.JPG" alt="img">
|
||||
<img class="mb" src="/image/web/petit_content_botox.JPG" alt="img">
|
||||
<img class="pc" src="/image/signature/20251024/쉬다주사(Face).jpg" alt="img">
|
||||
<img class="mb" src="/image/signature/20251024/쉬다주사(Face).jpg" alt="img">
|
||||
</div>
|
||||
<div class="swiper-slide">
|
||||
<img class="pc" src="/image/web/petit_content_booster.JPG" alt="img">
|
||||
<img class="mb" src="/image/web/petit_content_booster.JPG" alt="img">
|
||||
<img class="pc" src="/image/signature/20251024/스컬트라.jpg" alt="img">
|
||||
<img class="mb" src="/image/signature/20251024/스컬트라.jpg" alt="img">
|
||||
</div>
|
||||
<div class="swiper-slide">
|
||||
<img class="pc" src="/image/web/petit_content_waxing.JPG" alt="img">
|
||||
<img class="mb" src="/image/web/petit_content_waxing.JPG" alt="img">
|
||||
<img class="pc" src="/image/signature/20251024/스킨부스터.jpg" alt="img">
|
||||
<img class="mb" src="/image/signature/20251024/스킨부스터.jpg" alt="img">
|
||||
</div>
|
||||
<div class="swiper-slide">
|
||||
<img class="pc" src="/image/web/petit_content_filler.JPG" alt="img">
|
||||
<img class="mb" src="/image/web/petit_content_filler.JPG" alt="img">
|
||||
<img class="pc" src="/image/signature/20251024/필러.jpg" alt="img">
|
||||
<img class="mb" src="/image/signature/20251024/필러.jpg" alt="img">
|
||||
</div>
|
||||
</div>
|
||||
<div class="swiper-pagination cont1_swiper_pagination"></div>
|
||||
@@ -73,24 +73,24 @@
|
||||
<div class="swiper cont2_swiper">
|
||||
<div class="swiper-wrapper">
|
||||
<div class="swiper-slide">
|
||||
<img class="pc" src="/image/web/petit_machine_thermage.jpg" alt="img" style="cursor:pointer">
|
||||
<img class="mb" src="/image/web/petit_machine_thermage.jpg" alt="img" style="cursor:pointer">
|
||||
<img class="pc" src="/image/equip/20251014/티타늄.jpg" alt="img" style="cursor:pointer">
|
||||
<img class="mb" src="/image/equip/20251014/티타늄.jpg" alt="img" style="cursor:pointer">
|
||||
</div>
|
||||
<div class="swiper-slide">
|
||||
<img class="pc" src="/image/web/petit_machine_ultherapy.jpg" alt="img" style="cursor:pointer">
|
||||
<img class="mb" src="/image/web/petit_machine_ultherapy.jpg" alt="img" style="cursor:pointer">
|
||||
<img class="pc" src="/image/equip/20251014/써마지.jpg" alt="img" style="cursor:pointer">
|
||||
<img class="mb" src="/image/equip/20251014/써마지.jpg" alt="img" style="cursor:pointer">
|
||||
</div>
|
||||
<div class="swiper-slide">
|
||||
<img class="pc" src="/image/web/petit_machine_stemcell.jpg" alt="img" style="cursor:pointer">
|
||||
<img class="mb" src="/image/web/petit_machine_stemcell.jpg" alt="img" style="cursor:pointer">
|
||||
<img class="pc" src="/image/equip/20251014/울쎄라.jpg" alt="img" style="cursor:pointer">
|
||||
<img class="mb" src="/image/equip/20251014/울쎄라.jpg" alt="img" style="cursor:pointer">
|
||||
</div>
|
||||
<div class="swiper-slide">
|
||||
<img class="pc" src="/image/web/petit_machine_tuneface.jpg" alt="img" style="cursor:pointer">
|
||||
<img class="mb" src="/image/web/petit_machine_tuneface.jpg" alt="img" style="cursor:pointer">
|
||||
<img class="pc" src="/image/equip/20251014/줄기세포.jpg" alt="img" style="cursor:pointer">
|
||||
<img class="mb" src="/image/equip/20251014/줄기세포.jpg" alt="img" style="cursor:pointer">
|
||||
</div>
|
||||
<div class="swiper-slide">
|
||||
<img class="pc" src="/image/web/petit_machine_lifting.jpg" alt="img" style="cursor:pointer">
|
||||
<img class="mb" src="/image/web/petit_machine_lifting.jpg" alt="img" style="cursor:pointer">
|
||||
<img class="pc" src="/image/equip/20251014/튠페이스.jpg" alt="img" style="cursor:pointer">
|
||||
<img class="mb" src="/image/equip/20251014/튠페이스.jpg" alt="img" style="cursor:pointer">
|
||||
</div>
|
||||
</div>
|
||||
<div class="swiper-pagination cont2_swiper_pagination"></div>
|
||||
|
||||
@@ -34,9 +34,9 @@
|
||||
<li>
|
||||
<img src="/image/web/profile1.jpg" alt="profile"/>
|
||||
<div class="text_box">
|
||||
<p class="field">
|
||||
<!--<p class="field">
|
||||
<span>비만</span>
|
||||
</p>
|
||||
</p>-->
|
||||
<p class="name">
|
||||
<span class="name">박재우</span>
|
||||
대표원장 / <span>Chief Medical Director</span>
|
||||
@@ -45,14 +45,13 @@
|
||||
<span>Profile</span><br/>
|
||||
현) 메이드유의원 프랜차이즈 대표원장 <br/>
|
||||
현) 메이드유의원 강남본점 대표원장 <br/>
|
||||
현) 메이드유의원 비만센터 대표원장 <br/>
|
||||
대한미용외과학회 회원 <br/>
|
||||
대한미용성형레이저의학회 회원 <br/>
|
||||
대한비만치료학회 회원
|
||||
</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<!--<li>
|
||||
<img src="/image/web/profile2.png" alt="profile"/>
|
||||
<div class="text_box">
|
||||
<p class="field">
|
||||
@@ -74,7 +73,7 @@
|
||||
한국미용성형학회 회원
|
||||
</p>
|
||||
</div>
|
||||
</li>
|
||||
</li>-->
|
||||
<!-- <li> 2025.09.03 요구사항으로 인한 주석처리 byPJS
|
||||
<img src="/image/web/profile3.png" alt="profile"/>
|
||||
<div class="text_box">
|
||||
@@ -98,7 +97,7 @@
|
||||
</p>
|
||||
</div>
|
||||
</li> -->
|
||||
<li>
|
||||
<!--<li>
|
||||
<img src="/image/web/profile4.png" alt="profile"/>
|
||||
<div class="text_box">
|
||||
<p class="field">
|
||||
@@ -120,7 +119,7 @@
|
||||
대한미용성형레이저의학회 회원
|
||||
</p>
|
||||
</div>
|
||||
</li>
|
||||
</li>-->
|
||||
</ul>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
@@ -3,10 +3,21 @@
|
||||
xmlns:th="http://www.thymeleaf.org"
|
||||
xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout">
|
||||
<head>
|
||||
<!-- Google Tag Manager -->
|
||||
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
|
||||
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
|
||||
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
|
||||
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
|
||||
})(window,document,'script','dataLayer','GTM-N4SDGT5N');</script>
|
||||
<!-- End Google Tag Manager -->
|
||||
<th:block th:replace="/web/layout/layoutHead :: layoutHead"></th:block>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!-- Google Tag Manager (noscript) -->
|
||||
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-N4SDGT5N"
|
||||
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
|
||||
<!-- End Google Tag Manager (noscript) -->
|
||||
<!-- 상단 스크립트 타임리프 변수 선언 -->
|
||||
<th:block layout:fragment="layout_top_script"></th:block>
|
||||
|
||||
|
||||
@@ -52,7 +52,9 @@
|
||||
quickMenu.style.display = '';
|
||||
}
|
||||
}
|
||||
|
||||
function moveEvent(){
|
||||
window.location.href="https://petit.madeu.co.kr/webevent/selectListWebEventIntro.do";
|
||||
}
|
||||
// 페이지 로드와 리사이즈 이벤트 연결
|
||||
window.addEventListener('load', toggleQuickMenu);
|
||||
window.addEventListener('resize', toggleQuickMenu);
|
||||
@@ -79,7 +81,9 @@
|
||||
</header>
|
||||
<!-- 퀵메뉴 -->
|
||||
<div class="quick-menu-simple">
|
||||
|
||||
<div class="quick-item" onclick="moveEvent()">
|
||||
<img src="/image/quick_menu/event.png" alt="이벤트">
|
||||
</div>
|
||||
<!-- 다이어트센터 -->
|
||||
<div class="quick-item" onclick="moveDietCenter()">
|
||||
<img src="/image/quick_menu/diet_center.png" alt="다이어트센터">
|
||||
|
||||
@@ -28,8 +28,7 @@
|
||||
.container {
|
||||
max-width: 1280px;
|
||||
width: 100%;
|
||||
height: calc(100vh - 300px); /* 헤더/푸터 공간 확보 */
|
||||
min-height: calc(100vh - 300px);
|
||||
height: 100vh; /* 헤더/푸터 공간 확보 */
|
||||
margin: 0 auto;
|
||||
box-sizing: border-box;
|
||||
display: flex;
|
||||
|
||||
@@ -411,7 +411,7 @@ const CDN_URL = [[${@environment.getProperty('url.cdn')}]];
|
||||
<div class="content-wrapper">
|
||||
<!-- 좌측 사이드바 -->
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar-header">이달의 이벤트</div>
|
||||
<!--<div class="sidebar-header">이벤트</div>-->
|
||||
<ul class="category-list" id="category-list">
|
||||
<!-- 카테고리 JS로 렌더링 -->
|
||||
</ul>
|
||||
@@ -530,43 +530,44 @@ class EventManager {
|
||||
});
|
||||
}
|
||||
|
||||
renderEvents() {
|
||||
const html = this.events.map(event => `
|
||||
<div class="event-card" data-category-div="${event.categoryDiv}"
|
||||
data-category-no="${event.categoryNo}" data-post-no="${event.postNo}">
|
||||
<div class="event-img">
|
||||
<img src="${event.img}" alt="${event.title}">
|
||||
</div>
|
||||
<div class="event-info">
|
||||
<div class="event-title">${event.title}</div>
|
||||
<div class="event-desc">${event.desc}</div>
|
||||
${event.meta ? `<div class="event-meta">${event.meta}</div>` : ''}
|
||||
<div class="event-price">
|
||||
<span style="text-decoration:line-through; color:#9ca3af; font-size:0.95em; margin-right:8px;">
|
||||
${event.price.before.toLocaleString()}원
|
||||
</span>
|
||||
${event.price.after.toLocaleString()}원 부터
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
`).join('');
|
||||
|
||||
document.getElementById('event-grid').innerHTML = html;
|
||||
|
||||
// 카드 클릭 이벤트 추가
|
||||
document.querySelectorAll('.event-card').forEach(card => {
|
||||
card.addEventListener('click', () => {
|
||||
const categoryDiv = card.dataset.categoryDiv;
|
||||
const categoryNo = card.dataset.categoryNo;
|
||||
const postNo = card.dataset.postNo;
|
||||
this.goToDetail(categoryDiv, categoryNo, postNo);
|
||||
});
|
||||
});
|
||||
}
|
||||
renderEvents() {
|
||||
const html = this.events.map(event => `
|
||||
<div class="event-card" data-category-div="${event.categoryDiv}"
|
||||
data-category-no="${event.categoryNo}" data-post-no="${event.postNo}">
|
||||
<div class="event-img">
|
||||
<img src="${event.img}" alt="${event.title}">
|
||||
</div>
|
||||
<div class="event-info">
|
||||
<div class="event-title">${event.title}</div>
|
||||
${event.meta ? `<div class="event-meta">${event.meta}</div>` : ''}
|
||||
<div class="event-price">
|
||||
${event.price.before !== event.price.after
|
||||
? `<span style="text-decoration:line-through; color:#9ca3af; font-size:0.95em; margin-right:8px;">
|
||||
${event.price.before.toLocaleString()}원
|
||||
</span>`
|
||||
: ''}
|
||||
${event.price.after.toLocaleString()}원 부터
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
`).join('');
|
||||
|
||||
document.getElementById('event-grid').innerHTML = html;
|
||||
|
||||
// 카드 클릭 이벤트 추가
|
||||
document.querySelectorAll('.event-card').forEach(card => {
|
||||
card.addEventListener('click', () => {
|
||||
const categoryDiv = card.dataset.categoryDiv;
|
||||
const categoryNo = card.dataset.categoryNo;
|
||||
const postNo = card.dataset.postNo;
|
||||
this.goToDetail(categoryDiv, categoryNo, postNo);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
goToDetail(categoryDiv, categoryNo, postNo) {
|
||||
const form = document.createElement('form');
|
||||
form.method = 'post';
|
||||
form.method = 'get';
|
||||
form.action = '/webevent/selectEventDetailIntro.do';
|
||||
|
||||
const fields = [
|
||||
|
||||