This commit is contained in:
zxcxz2002
2022-12-26 23:45:11 +09:00
parent 0b9020a4b1
commit 93cfa0be3c
581 changed files with 116324 additions and 0 deletions
@@ -0,0 +1,36 @@
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<jsp:include page="/WEB-INF/view/include/inc_head.jsp"/>
<jsp:include page="/WEB-INF/view/include/inc_head_script.jsp"/>
<style>
.error { padding:0; width:100%; height:100vh; padding:30vh 0; }
.error01 { position:relative;}
.error01 img { margin:0 auto; }
.error01 a { position:absolute; bottom:-100px; left:calc(50% - 105px); }
</style>
</head>
<body>
<div class="wrapper nopadding">
<section class="error">
<div class="container">
<div class="col-xs-12 error01">
<img src="/res/front/pub/assets/images/error.png" class="img-responsive center" alt="">
<a href="/" class="btn btn-airState">홈으로 이동</a>
</div>
</div>
</section>
</div>
<jsp:include page="/WEB-INF/view/include/inc_portal_body_footer.jsp"/>
</body>
</html>
@@ -0,0 +1,62 @@
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<jsp:include page="/WEB-INF/view/include/inc_home_head.jsp"/>
<jsp:include page="/WEB-INF/view/include/inc_head_script.jsp"/>
</head>
<body>
<!-- wrap : s -->
<div class="wrap">
<jsp:include page="/WEB-INF/view/include/inc_home_body_header.jsp"/>
<div class="container">
<div id="contents">
<!-- 상세 : s -->
<div class="inner">
<div class="topTitle">
<h2 class="bigTitle">약관 및 정책</h2>
</div>
<div class="agreeBox">
<div class="item">
<strong class="tit">서비스 이용약관</strong>
<a href="#" class="btnView" onclick="layerPop('open' , '#layerAgreeService01')">
<span>상세보기</span>
</a>
</div>
<div class="item">
<strong class="tit">개인정보 처리방침</strong>
<a href="#" class="btnView" onclick="layerPop('open' , '#layerAgreePrivacy')">
<span>상세보기</span>
</a>
</div>
<div class="item">
<strong class="tit">유료 서비스 이용약관</strong>
<a href="#" class="btnView" onclick="layerPop('open' , '#layerAgreePayService')">
<span>상세보기</span>
</a>
</div>
</div>
</div>
<!-- 상세 : e -->
</div>
</div>
<!-- footer : s -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_footer.jsp"/>
<!-- footer : e -->
</div>
<!-- wrap : e -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_popup.jsp"/>
<script src="/res/front/js/biz/home/home-common.js?v=${timestamp}"></script>
<!--약관레이어-->
<jsp:include page="/WEB-INF/view/include/inc_home_police_layer.jsp"/>
</body>
</html>
+218
View File
@@ -0,0 +1,218 @@
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<jsp:include page="/WEB-INF/view/include/inc_head.jsp"/>
<jsp:include page="/WEB-INF/view/include/inc_head_script.jsp"/>
<link rel="stylesheet" type="text/css" href="/res/front/home/asset/css/common.css" />
<link rel="stylesheet" type="text/css" href="/res/front/home/asset/css/swiper.css" />
<script src="/res/front/js/biz/api/user-service.js?v=${timestamp}"></script>
<script>
var callbackPhoneUpdate = function() {
lanedu.front.api.user.phoneUpdate({}, function (success, message, data) {
if (!success) {
alert(message);
return false;
}
alert('휴대폰 번호를 변경했습니다.');
opener.location.reload();
self.close();
});
};
var callbackPhoneAdd = function() {
lanedu.front.api.user.phoneAdd({}, function (success, message, data) {
if (!success) {
alert(message);
return false;
}
alert('휴대폰 번호를 추가했습니다.');
opener.location.reload();
self.close();
});
};
var callbackCert = function() {
location.href = '/home/user/join';
};
</script>
<script language=javascript>
//window.name = "kmcis_web_sample";
var KMCIS_window;
function openKMCISWindow(){
var UserAgent = navigator.userAgent;
document.reqKMCISForm.target = '';
document.reqKMCISForm.action = 'https://www.kmcert.com/kmcis/web/kmcisReq.jsp';
document.reqKMCISForm.submit();
}
function __openKMCISWindow(){
var UserAgent = navigator.userAgent;
/* 모바일 접근 체크*/
// 모바일일 경우 (변동사항 있을경우 추가 필요)
if (UserAgent.match(/iPhone|iPod|Android|Windows CE|BlackBerry|Symbian|Windows Phone|webOS|Opera Mini|Opera Mobi|POLARIS|IEMobile|lgtelecom|nokia|SonyEricsson/i) != null || UserAgent.match(/LG|SAMSUNG|Samsung/) != null) {
document.reqKMCISForm.target = '';
}
// 모바일이 아닐 경우
else {
KMCIS_window = window.open('', 'KMCISWindow', 'width=425, height=550, resizable=0, scrollbars=no, status=0, titlebar=0, toolbar=0, left=435, top=250' );
if(KMCIS_window == null){
alert(" ※ 윈도우 XP SP2 또는 인터넷 익스플로러 7 사용자일 경우에는 \n 화면 상단에 있는 팝업 차단 알림줄을 클릭하여 팝업을 허용해 주시기 바랍니다. \n\n※ MSN,야후,구글 팝업 차단 툴바가 설치된 경우 팝업허용을 해주시기 바랍니다.");
}
document.reqKMCISForm.target = 'KMCISWindow';
}
document.reqKMCISForm.action = 'https://www.kmcert.com/kmcis/web/kmcisReq.jsp';
//document.reqKMCISForm.action = '/extra/cert/result';
document.reqKMCISForm.submit();
}
</script>
</head>
<body>
<c:choose>
<c:when test="${param.actionType eq 'PHONE_UPDATE'}">
<!-- 본인인증서비스 요청 form --------------------------->
<form name="reqKMCISForm" method="post" action="#">
<input type="hidden" name="tr_cert" value = "${tr_cert}">
<input type="hidden" name="tr_url" value = "${tr_url}">
<input type="hidden" name="tr_add" value = "${tr_add}">
<input type="submit" value="본인인증서비스 요청" onclick= "javascript:openKMCISWindow();">
</form>
</c:when>
<c:when test="${param.actionType eq 'PHONE_ADD'}">
<!-- 본인인증서비스 요청 form --------------------------->
<form name="reqKMCISForm" method="post" action="#">
<input type="hidden" name="tr_cert" value = "${tr_cert}">
<input type="hidden" name="tr_url" value = "${tr_url}">
<input type="hidden" name="tr_add" value = "${tr_add}">
<input type="submit" value="본인인증서비스 요청" onclick= "javascript:openKMCISWindow();">
</form>
</c:when>
<c:otherwise>
<!-- 본인인증서비스 요청 form --------------------------->
<form name="reqKMCISForm" method="post" action="#">
<input type="hidden" name="tr_cert" value = "${tr_cert}">
<input type="hidden" name="tr_url" value = "${tr_url}">
<input type="hidden" name="tr_add" value = "${tr_add}">
<input type="submit" value="본인인증서비스 요청" onclick= "javascript:openKMCISWindow();">
</form>
<!-- wrap : s -->
<div class="wrap pageSmall">
<div class="container">
<div id="contents">
<!-- 상세 : s -->
<div class="headerConts">
<h1 class="logo"><a href="/">로고</a></h1>
</div>
<div class="innerConts">
<!-- certifyWrap : s -->
<div class="certifyWrap left">
<dl class="formList">
<dt>회원정보 입력</dt>
<dd>
<ul class="inpField">
<li class="certify">
<input type="text" class="inpText" value="" disabled>
<span class="btnCertify">인증완료</span>
</li>
<li>
<input type="text" class="inpText" value="홍길동" disabled>
</li>
</ul>
</dd>
<dd class="error"><!-- 인풋 입력이 에러일 경우 클래스 'error' 추가 -->
<input type="text" class="inpText" placeholder="메일주소">
<span class="errorMsg">메일주소를 입력해 주세요.</span>
</dd>
<dd>
<input type="password" class="inpText" placeholder="비밀번호">
</dd>
<dd>
<input type="password" class="inpText" placeholder="비밀번호 확인">
</dd>
</dl>
<dl class="guideList">
<dt>비밀번호는 8-30자의 영문 대소문자, 숫자, 특수문자를 조합하여 입력해주세요.</dt>
<dd>4회 이상 반복된 문구와 숫자 사용 불가<br>계정(휴대폰 번호)과 4자리 이상 동일한 숫자 사용 불가</dd>
</dl>
<div class="agreeList">
<div class="item all">
<span class="inputCheckbox">
<input type="checkbox" name="check01" id="check01">
<label for="check01">모두 동의</label>
</span>
</div>
<div class="item">
<span class="inputCheckbox">
<input type="checkbox" name="check02" id="check02">
<label for="check02">이용약관 동의</label>
</span>
<a href="#" class="btnView">보기</a>
</div>
<div class="item">
<span class="inputCheckbox">
<input type="checkbox" name="check03" id="check03">
<label for="check03">개인정보 처리방침 동의</label>
</span>
<a href="#" class="btnView">보기</a>
</div>
</div>
<div class="btnArea">
<a href="#" class="btns btnCol01 disabled"><!-- 입력 완료시 클래스 'disabled' 제거-->
<span>회원가입 완료</span>
</a>
</div>
</div>
<!-- certifyWrap : e -->
</div>
<!-- 상세 : e -->
</div>
</div>
</div>
<!-- wrap : e -->
<!-- certifyWrap : e -->
</c:otherwise>
</c:choose>
<script>
openKMCISWindow();
</script>
<jsp:include page="/WEB-INF/view/include/inc_portal_body_footer.jsp"/>
</body>
</html>
@@ -0,0 +1,95 @@
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<jsp:include page="/WEB-INF/view/include/inc_head.jsp"/>
<jsp:include page="/WEB-INF/view/include/inc_head_script.jsp"/>
</head>
<body>
<c:if test="${resultCert.success}">
<%-- #### 성공한 경우 처리!!! --%>
<script type="text/javascript">
(function() {
var UserAgent = navigator.userAgent;
var isMobile = false;
/* 모바일 접근 체크*/
// 모바일일 경우 (변동사항 있을경우 추가 필요)
if (UserAgent.match(/iPhone|iPod|Android|Windows CE|BlackBerry|Symbian|Windows Phone|webOS|Opera Mini|Opera Mobi|POLARIS|IEMobile|lgtelecom|nokia|SonyEricsson/i) != null || UserAgent.match(/LG|SAMSUNG|Samsung/) != null) {
//document.kmcis_form.submit();
isMobile = true;
}
<c:choose>
<c:when test="${resultCert.plusInfo eq 'PHONE_UPDATE'}">
if (isMobile) {
location.href = '/portal/update-phone';
} else {
opener.callbackPhoneUpdate();
self.close();
}
</c:when>
<c:when test="${resultCert.plusInfo eq 'PHONE_ADD'}">
if (isMobile) {
location.href = '/portal/update-phone';
} else {
opener.callbackPhoneAdd();
self.close();
}
</c:when>
<c:when test="${resultCert.plusInfo eq 'FIND_UID'}">
if (isMobile) {
//TODO: 원페이지의경우 처리이슈 있음
opener.callbackCert();
self.close();
} else {
opener.callbackCert();
self.close();
}
</c:when>
<c:otherwise>
if (isMobile) {
location.href = '/home/user/join';
} else {
opener.callbackCert();
self.close();
}
</c:otherwise>
</c:choose>
})();
</script>
</c:if>
<c:if test="${resultCert.fail}">
<%-- #### 실패한 경우 처리!!! --%>
<p> 인증에 실패하였습니다. </p>
<p>${resultCert.errorMessage}</p>
<script>
alert('${resultCert.errorMessage}');
self.close();
</script>
</c:if>
<%--
<form id="kmcis_form" name="kmcis_form" method="post" action="/">
<input type="hidden" name="rec_cert" id="rec_cert" value="<%=rec_cert%>"/>
<input type="hidden" name="certNum" id="certNum" value="<%=certNum%>"/>
</form>
--%>
<jsp:include page="/WEB-INF/view/include/inc_portal_body_footer.jsp"/>
</body>
</html>
@@ -0,0 +1,148 @@
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<!DOCTYPE html>
<html lang="ko">
<head>
<jsp:include page="/WEB-INF/view/include/inc_home_head.jsp"/>
<jsp:include page="/WEB-INF/view/include/inc_head_script.jsp"/>
</head>
<body class="<c:if test="${not empty loginUser}">logined</c:if>">
<!-- wrap : s -->
<div class="wrap">
<!-- header : s -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_header.jsp"/>
<!-- header : e -->
<div class="container">
<div id="contents" >
<!-- 상세 : s -->
<div class="subVisual board bg03" >
<h2>고객센터</h2>
<c:if test="${userSiteYn}">
<p>랜선에듀On 고객센터 입니다. 무엇을 도와드릴까요?</p>
</c:if>
<c:if test="${bizSiteYn}">
<p>랜선미츠 고객센터 입니다. 무엇을 도와드릴까요?</p>
</c:if>
</div>
<div class="updiv">
<div class="toptab board">
<ul>
<a href="${siteTypeBaseUrl}/home/customer/notice"><li class="w460" id="tab1btn">공지사항</li></a>
<a href="${siteTypeBaseUrl}/home/customer/faq"><li class="foc w460" id="tab2btn">FAQ</li></a>
<!-- <a href="${siteTypeBaseUrl}/home/customer/tutorial"><li class="w460" id="tab3btn">랜선에듀 튜토리얼</li></a> -->
</ul>
</div>
<div class="searchbox">
<div class="searchinput01">
<form id="searchFm" method="post" class="fl">
<input type="hidden" id="pageIndex" name="pageIndex" value="${searchParam.pageIndex eq null ? 1 : searchParam.pageIndex}">
<input type="hidden" id="searchCtg" name="searchCtg" value="${searchParam.searchCtg}">
<input type="text" id="searchValue" name="searchValue" class="inpText w650 searchic" placeholder="검색어를 입력 하세요."
value="${searchParam.searchValue}" onkeyup="if(window.event.keyCode==13){ search() }">
</form>
<button type="button" onClick="search();" class="buttonfaq">검색</button>
</div>
<div class="searchinputtext">
<p class="fb01 fs20 fc2">고객센터 <em class="fs24 fb01">1588-2918</em></p>
<p class="fs14 fc8">운영시간 ㅣ 평일(월 ~ 금) 09:00 ~ 18:00</p>
</div>
</div>
<c:choose>
<c:when test="${searchParam.searchCtg eq 'all'}">
<div class="searchtext">‘(<em class="fcbora">${searchParam.searchValue}</em>)’ 에 대한 FAQ <em class="fcbora"><fmt:formatNumber value="${listTotalCount}" pattern="#,###" /></em>건</div>
</c:when>
<c:otherwise>
<div class="smalltab ">
<ul>
<a href="javascript:selCtg('imp');"><li <c:if test="${searchParam.searchCtg eq 'imp'}">class="foc"</c:if> >자주찾는FAQ</li></a>
<c:forEach var="c" items="${ctgList}" varStatus="i">
<a href="javascript:selCtg('${c.id}');"><li <c:if test="${searchParam.searchCtg ne 'imp' && searchParam.searchCtg eq c.id}">class="foc"</c:if> >${c.ctgName}</li></a>
</c:forEach>
</ul>
</div>
</c:otherwise>
</c:choose>
<div class="noticeboard pt20 newboard" >
<c:if test="${empty list}">
<div class="noresult">등록된 게시글이 없습니다.</div>
</c:if>
<c:forEach var="x" items="${list}">
<div class="boardcontainer">
<a href="javascript:;" onClick="detail(this);">
<ul class="list">
<li class="ntc w15p tl01 pl20">${x.ctgName}</li>
<li class="ntl w80p title002 tl01"><c:if test="${not empty x.subject}">[<c:out value="${x.subject}"/>]</c:if>
<c:choose>
<c:when test="${not empty searchParam.searchValue }">
<c:set var="span" value='<span class="fcbora">${searchParam.searchValue}</span>'></c:set>
<c:out value='${x.title.replaceAll(searchParam.searchValue,span)}' escapeXml = "false"/>
</c:when>
<c:otherwise><c:out value="${x.title}"/></c:otherwise>
</c:choose>
</li>
<li class="ntc w5p arrow fs9">▲</li>
</ul>
</a>
</div>
<div class="desc" style="display: none;">
<c:out value="${x.contents}" escapeXml="false"/>
</div>
</c:forEach>
<!--페이징-->
${pagerHtml}
</div>
</div>
</div>
<!-- 상세 : e -->
</div>
</div>
<!-- footer : s -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_footer.jsp"/>
<!-- footer : e -->
<!-- wrap : e -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_popup.jsp"/>
<script src="/res/front/js/biz/home/home-common.js?v=${timestamp}"></script>
<script>
//페이지이동
function goPage(v){
$("#pageIndex").val(v);
if( $("#searchCtg").val() != 'all'){
$("#searchValue").val("");
}
$("#searchFm").submit();
}
function selCtg(v){
$("#searchCtg").val(v);
goPage(1);
}
function detail(obj){
$(obj).parent().next(".desc").slideToggle();
if ( $(obj).find(".w5p").text() == "▲"){
$(obj).find(".w5p").text("▼");
} else {
$(obj).find(".w5p").text("▲");
}
}
function search(){
if(isEmpty($("#searchValue").val())){
alert('검색어를 입력하세요.');
return false;
}
$("#searchCtg").val('all');
goPage(1);
}
</script>
</body>
</html>
@@ -0,0 +1,116 @@
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<!DOCTYPE html>
<html lang="ko">
<head>
<jsp:include page="/WEB-INF/view/include/inc_home_head.jsp"/>
<jsp:include page="/WEB-INF/view/include/inc_head_script.jsp"/>
</head>
<body class="<c:if test="${not empty loginUser}">logined</c:if>">
<!-- wrap : s -->
<div class="wrap">
<!-- header : s -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_header.jsp"/>
<!-- header : e -->
<div class="container">
<div id="contents">
<!-- 상세 : s -->
<div class="subVisual board bg03">
<h2>고객센터</h2>
<c:if test="${userSiteYn}">
<p>랜선에듀On 고객센터 입니다. 무엇을 도와드릴까요?</p>
</c:if>
<c:if test="${bizSiteYn}">
<p>랜선미츠 고객센터 입니다. 무엇을 도와드릴까요?</p>
</c:if>
</div>
<div class="updiv">
<div class="toptab board">
<ul>
<a href="${siteTypeBaseUrl}/home/customer/notice">
<li class="w460 foc" id="tab1btn">공지사항</li>
</a>
<a href="${siteTypeBaseUrl}/home/customer/faq">
<li class="w460" id="tab2btn">FAQ</li>
</a>
<!--
<a href="${siteTypeBaseUrl}/home/customer/tutorial">
<li class="w460" id="tab3btn">랜선에듀 튜토리얼</li>
</a>
-->
</ul>
</div>
<div class="noticeboard">
<form id="searchFm" method="post">
<input type="hidden" id="pageIndex" name="pageIndex"
value="${searchParam.pageIndex eq null ? 1 : searchParam.pageIndex}">
</form>
<div class="boardcontainer">
<div class="title">
<div class="boardtitle w10p ">No</div>
<div class="boardtitle w70p ">제목</div>
<div class="boardtitle w10p ">등록일</div>
<div class="boardtitle w10p ">조회수</div>
</div>
<c:if test="${empty list}">
<ul>
<li>등록된 게시글이 없습니다.</li>
</ul>
</c:if>
<c:forEach var="x" items="${list}">
<ul class="list <c:if test="${x.impYn eq 'Y'}">important</c:if>">
<!-- 상단 중요 공지사항 important 추가 -->
<li class="ntc w10p no">
<c:choose>
<c:when test="${x.impYn eq 'Y'}">
<img src="/res/front/home/asset/images/noticeicon.png">
</c:when>
<c:otherwise> ${x.num}</c:otherwise>
</c:choose>
</li>
<a href="javascript:goDetail('${x.id}');">
<li class="ntl w70p title001"><c:if test="${not empty x.subject}">[<c:out
value="${x.subject}"/>]</c:if><c:out value="${x.title}"/></li>
</a>
<li class="ntc w10p day">${x.regDt}</li>
<li class="ntc w10p view"><span> ㅣ 조회 </span><fmt:formatNumber value="${x.viewCnt}"
pattern="#,###"/></li>
</ul>
</c:forEach>
</div>
<!--페이징-->
${pagerHtml}
</div>
</div>
</div>
<!-- 상세 : e -->
</div>
</div>
<!-- footer : s -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_footer.jsp"/>
<!-- footer : e -->
<!-- wrap : e -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_popup.jsp"/>
<script src="/res/front/js/biz/home/home-common.js?v=${timestamp}"></script>
<script>
//페이지이동
function goPage(v) {
$("#pageIndex").val(v);
$("#searchFm").submit();
}
function goDetail(v) {
$.redirect('${siteTypeBaseUrl}/home/customer/notice_detail', {
id: v,
pageIndex: $("#pageIndex").val()
}, "POST");
}
</script>
</body>
</html>
@@ -0,0 +1,101 @@
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<!DOCTYPE html>
<html lang="ko">
<head>
<jsp:include page="/WEB-INF/view/include/inc_home_head.jsp"/>
<jsp:include page="/WEB-INF/view/include/inc_head_script.jsp"/>
</head>
<body class="<c:if test="${not empty loginUser}">logined</c:if>">
<!-- wrap : s -->
<div class="wrap">
<!-- header : s -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_header.jsp"/>
<!-- header : e -->
<div class="container">
<div id="contents">
<!-- 상세 : s -->
<div class="subVisual board bg03" >
<h2>고객센터</h2>
<c:if test="${userSiteYn}">
<p>랜선에듀On 고객센터 입니다. 무엇을 도와드릴까요?</p>
</c:if>
<c:if test="${bizSiteYn}">
<p>랜선미츠 고객센터 입니다. 무엇을 도와드릴까요?</p>
</c:if>
</div>
<div class="updiv">
<div class="toptab board">
<ul>
<a href="${siteTypeBaseUrl}/home/customer/notice"><li class="w460 foc" id="tab1btn">공지사항</li></a>
<a href="${siteTypeBaseUrl}/home/customer/faq"><li class="w460" id="tab2btn">FAQ</li></a>
<!-- <a href="${siteTypeBaseUrl}/home/customer/tutorial"><li class="w460" id="tab3btn">랜선에듀 튜토리얼</li></a> -->
</ul>
</div>
<div class="noticeboard">
<div class="boardcontainer">
<ul class="list topline important">
<li class="ntc w5p no">
<c:if test="${item.impYn eq 'Y'}">
<img src="/res/front/home/asset/images/noticeicon.png">
</c:if>
</li>
<li class="ntl w79p title001"><c:if test="${not empty item.subject}">[<c:out value="${item.subject}"/>]</c:if><c:out value="${item.title}"/></li>
<li class="ntc w8p day">${item.regDt}</li>
<li class="ntc w8p view">조회수 <fmt:formatNumber value="${item.viewCnt}" pattern="#,###" /></li>
</ul>
</div>
<div class="desc">
<c:out value="${item.contents}" escapeXml="false"/>
</div>
<div class="boardbot">
<div class="predetail">
<c:if test="${item.prevId >0}">
<p>< &nbsp&nbsp<em>이전글</em></p>
<p><a href="javascript:goDetail('${item.prevId}');"><c:if test="${not empty item.prevSubject}">[<c:out value="${item.prevSubject}"/>]</c:if><c:out value="${item.prevTitle}"/></a></p>
</c:if>
</div>
<div class="nextdetail">
<c:if test="${item.nextId > 0}">
<p><em>다음글</em>&nbsp&nbsp ></p>
<p><a href="javascript:goDetail('${item.nextId}');"><c:if test="${not empty item.nextSubject}">[<c:out value="${item.nextSubject}"/>]</c:if><c:out value="${item.nextTitle}"/></a></p>
</c:if>
</div>
</div>
<div class="golist"><button class="norbutton" onClick="goList();">목록으로</button></div>
<form id="searchFm" method="post" action="${siteTypeBaseUrl}/home/customer/notice">
<input type="hidden" id="pageIndex" name="pageIndex" value="${searchParam.pageIndex eq null ? 1 : searchParam.pageIndex}">
</form>
</div>
</div>
</div>
<!-- 상세 : e -->
</div>
</div>
<!-- footer : s -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_footer.jsp"/>
<!-- footer : e -->
<!-- wrap : e -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_popup.jsp"/>
<script src="/res/front/js/biz/home/home-common.js?v=${timestamp}"></script>
<script>
//페이지이동
function goList(v){
$("#searchFm").submit();
}
function goDetail(v){
$.redirect("/home/customer/notice_detail", { id: v, pageIndex:$("#pageIndex").val(), }, "POST");
}
</script>
</body>
</html>
@@ -0,0 +1,116 @@
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<!DOCTYPE html>
<html lang="ko">
<head>
<jsp:include page="/WEB-INF/view/include/inc_home_head.jsp"/>
<jsp:include page="/WEB-INF/view/include/inc_head_script.jsp"/>
</head>
<body class="<c:if test="${not empty loginUser}">logined</c:if>">
<!-- wrap : s -->
<div class="wrap">
<!-- header : s -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_header.jsp"/>
<!-- header : e -->
<div class="container">
<div id="contents" >
<!-- 상세 : s -->
<div class="subVisual board bg03" >
<h2>고객센터</h2>
<c:if test="${userSiteYn}">
<p>랜선에듀On 고객센터 입니다. 무엇을 도와드릴까요?</p>
</c:if>
<c:if test="${bizSiteYn}">
<p>랜선미츠 고객센터 입니다. 무엇을 도와드릴까요?</p>
</c:if>
</div>
<div class="updiv">
<div class="toptab board">
<ul>
<a href="${siteTypeBaseUrl}/home/customer/notice"><li class="w460" id="tab1btn">공지사항</li></a>
<a href="${siteTypeBaseUrl}/home/customer/faq"><li class="w460" id="tab2btn">FAQ</li></a>
<a href="${siteTypeBaseUrl}/home/customer/tutorial"><li class="w460 foc" id="tab3btn">랜선에듀 튜토리얼</li></a>
</ul>
</div>
<form id="searchFm" method="post">
<input type="hidden" id="pageIndex" name="pageIndex" value="${searchParam.pageIndex eq null ? 1 : searchParam.pageIndex}">
<input type="hidden" id="searchCtg" name="searchCtg" value="${searchParam.searchCtg}">
</form>
<div class="smalltab ">
<ul>
<c:forEach var="c" items="${ctgList}" varStatus="i">
<a href="javascript:selCtg('${c.id}');"><li <c:if test="${searchParam.searchCtg eq c.id}">class="foc"</c:if> >${c.ctgName}</li></a>
</c:forEach>
</ul>
</div>
<div class="noticeboard pt20 newboard" >
<c:if test="${empty list}">
<div class="noresult">등록된 게시글이 없습니다.</div>
</c:if>
<c:forEach var="x" items="${list}">
<div class="boardcontainer">
<a href="javascript:;" onClick="detail(this);">
<ul class="list">
<li class="ntc w15p tl01 pl20">${x.ctgName}</li>
<li class="ntl w80p title002 tl01"><c:if test="${not empty x.subject}">[<c:out value="${x.subject}"/>]</c:if><c:out value="${x.title}"/></li>
<li class="ntc w5p arrow fs9">▲</li>
</ul>
</a>
</div>
<div class="desc" style="display: none;">
<c:out value="${x.contents}" escapeXml="false"/>
</div>
</c:forEach>
<!--페이징-->
${pagerHtml}
</div>
</div>
</div>
<!-- 상세 : e -->
</div>
</div>
<!-- footer : s -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_footer.jsp"/>
<!-- footer : e -->
<!-- wrap : e -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_popup.jsp"/>
<script src="/res/front/js/biz/home/home-common.js?v=${timestamp}"></script>
<script>
//페이지이동
function goPage(v){
$("#pageIndex").val(v);
if( $("#searchCtg").val() != 'all'){
$("#searchValue").val("");
}
$("#searchFm").submit();
}
function selCtg(v){
$("#searchCtg").val(v);
goPage(1);
}
function detail(obj){
$(obj).parent().next(".desc").slideToggle();
if ( $(obj).find(".w5p").text() == "▲"){
$(obj).find(".w5p").text("▼");
} else {
$(obj).find(".w5p").text("▲");
}
}
</script>
</body>
</html>
@@ -0,0 +1,236 @@
<%@ page contentType="text/html;charset=UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<jsp:include page="/WEB-INF/view/include/inc_home_head.jsp" />
<jsp:include page="/WEB-INF/view/include/inc_head_script.jsp" />
</head>
<body>
<input type="hidden" id="siteId" value="${siteId}"/>
<input type="hidden" id="phoneId" value="${phoneId}"/>
<!-- wrap : s -->
<div class="wrap"id ="vueApp">
<jsp:include page="/WEB-INF/view/include/inc_home_body_header.jsp" />
<div class="container">
<div id="contents">
<!-- 상세 : s -->
<div class="mainWrap">
<div class="container">
<div id="contents">
<div class="subpage-banner">
<div class="max-container">
<div class="aos-init aos-animate" data-aos="zoom-in-up" data-aos-duraiton="200">
<img src="http://luckyphone.kr/images/pd-tit.png" alt="">
</div>
</div>
</div>
<main class="pdList-subpage">
<section class="pd_section">
<div class="max-container">
<!-- detail start -->
<section class="pd-default-area">
<div class="fluid-container">
<div class="row">
<div class="col-md-6 pd-left">
<!-- -->
<div class="swiper-container gallery-top pd_Slider swiper-container-initialized swiper-container-horizontal" id="pd_Slider">
<div class="swiper-wrapper">
<div class="swiper-slide">
<img :src="color[0].frontImg" >
</div>
<div class="swiper-slide">
<img :src="color[0].sideImg" >
</div>
<div class="swiper-slide">
<img :src="color[0].backImg" >
</div>
</div>
<!-- Add Arrows -->
<div class="swiper-button-next swiper-button-white"
tabindex="0" role="button" aria-label="Next slide"
aria-disabled="false"></div>
<div
class="swiper-button-prev swiper-button-white swiper-button-disabled"
tabindex="-1" role="button" aria-label="Previous slide"
aria-disabled="true"></div>
<span class="swiper-notification" aria-live="assertive"
aria-atomic="true"></span>
</div>
<div class="thumbs-wrap">
<div
class="swiper-container gallery-thumbs pd_thumbs swiper-container-initialized swiper-container-horizontal swiper-container-free-mode swiper-container-thumbs"
id="pd_thumbs">
<div class="swiper-wrapper" style="transform: translate3d(0px, 0px, 0px);">
<div
class="swiper-slide swiper-slide-visible swiper-slide-active swiper-slide-thumb-active"
style="width: 123.333px; margin-right: 10px;">
<img :src="color[0].frontImg">
</div>
<div
class="swiper-slide swiper-slide-visible swiper-slide-next"
style="width: 123.333px; margin-right: 10px;">
<img :src="color[0].sideImg">
</div>
<div class="swiper-slide swiper-slide-visible"
style="width: 123.333px; margin-right: 10px;">
<img :src="color[0].backImg">
</div>
</div>
<span class="swiper-notification" aria-live="assertive"
aria-atomic="true"></span>
</div>
</div>
<!-- -->
</div>
<div class="col-md-5 offset-md-1 pd-right">
<div class="display1 pd-name pc-on">
<h1>{{phone.title}}</h1>
<p>
<span class="dash"></span>
</p>
</div>
<div class="relase-info pc-on wide-relase-info">
<p class="r-price">
출고가 <b>{{selectPrice.releasePriceToComma}}</b> 원
</p>
<p class="r-tel">
<img v-if="phone.kt && (siteId == 'kt' && phone.kt)" src="http://luckyphone.kr/wp-content/plugins/kboard/skin/wonderful-product/images/KT.png"/>
<img v-if="phone.lgu && (siteId == 'lgu' && phone.lgu)" src="http://luckyphone.kr/wp-content/plugins/kboard/skin/wonderful-product/images/LG.png"/>
<img v-if="phone.skt && (siteId == 'skt' && phone.skt)" src="http://luckyphone.kr/wp-content/plugins/kboard/skin/wonderful-product/images/SK.png"/>
</p>
</div>
<h3>
<span class="bold">1. 색상</span>선택
</h3>
<div class="pannel">
<ul class="colors" id="slider_reload">
<li v-for="(x, index) in color" class="colorItem"
data-imgurl="http://luckyphone.kr/all-pdData/slider/"
:data-colorcnt="color.length"
:data-img1="x.frontImg.substring(x.frontImg.lastIndexOf('/')+1,x.frontImg.length)"
:data-img2="x.sideImg.substring(x.sideImg.lastIndexOf('/')+1,x.sideImg.length)"
:data-img3="x.backImg.substring(x.backImg.lastIndexOf('/')+1,x.backImg.length)"
@click="onClickColor"
>
<span class="stock-datas" data-stock1="1" data-stockcnt="1"></span>
<span class="circle" :style="'background:'+ x.color">
</span>
<p>{{x.colorKr}}</p>
</li>
</ul>
</div>
<h3>
<span class="bold">2. 용량</span>선택
</h3>
<!-- <div class="pannel select-pannel">
128GB
</div> -->
<div class="input-group ">
<select name="" id="size_select" disabled="">
<option value="">용량을 선택해주세요</option>
<option v-for="(x, index) in price" :index="index" :value="x.releasePriceToComma" :data-size="x.storageString" :data-price="x.releasePrice">{{x.storageString}}</option>
</select>
</div>
</div>
</div>
<!-- pd-mid -->
<div class="pd-mid">
<div class="row">
<div class="col-md-12 r">
<h3>
<span class="bold">1.</span> 빠른 <span class="bold">기기
할인 정보</span>확인
</h3>
<div class="pannel">
<div class="pannel-flex">
<p class="content">
출고가<br> 최대할인금액 (요금할인) <br> 최대할인금액 (단말할인) <br>
</p>
<p class="content ft-right">
<!-- 공통 할부 개월 value -->
<input type="hidden" id="halbu" value="24"> <input
type="hidden" id="docu_habsan_yogum" :value="selectPrice.yogum">
<!-- end -->
<span class="midi" id="relasePrice">000,000</span> 원<br>
<span class="midi" id="dcYogum" :data-dcyogum="selectPrice.dcYogum">-
000,000</span> 원<br> <span class="midi" id="dcDanmal"
:data-dcdanmal="selectPrice.dcDanmal">- 000,000</span> 원<br>
</p>
</div>
</div>
<div class="result-pannel">
<div class="txt-flex">
<div class="l">
<h3>최저 월납부금</h3>
<p>(단말할부금 + 통신요금)</p>
</div>
<div class="r">
<strong class="num" id="monthCost">000,000</strong> <span>원</span>
</div>
</div>
</div>
</div>
<!-- -->
<div class="col-md-6">
<div class="" style="margin-top: 20px;">
<button class="btn solid wide-btn">가격 더 알아보기</button>
</div>
</div>
<!-- -->
<div class="col-md-6 l" style="">
<div class="btn-row " style="width: 100%; margin-top: 20px;">
<input type="hidden" name="model_uid" value="192">
<input type="hidden" name="model_color" value="">
<input type="hidden" name="model_size" value="">
<a href="#" class="btn border wide-btn" style="display: block; width: 100%;">상담하기</a>
</div>
</div>
<!-- -->
</div>
</div>
</div>
</section>
<section class="pd-detail">
<div class="img-wrap">
<img :src="detail.detailPcImg" class="pc-on" v-if="detail.detailPcImg != ''">
<img :src="detail.detailMobileImg" class="mobile-on" v-if="detail.detailMobileImg != ''">
<p class="content alert" style="padding: 13px 18px;" v-if="detail.detailPcImg == '' || detail.detailMobileImg == ''">상세 준비중 입니다.</p>
</div>
</section>
<jsp:include page="/WEB-INF/view/include/inc_phone_detail.jsp" />
<!-- detail end -->
<div class="kboard-control">
<div class="left">
<a href="/${siteId}/home" class="kboard-wonderful-product-button-small">목록보기</a>
</div>
</div>
</div>
</section>
</main>
</div>
</div>
</div>
<!-- 상세 : e -->
</div>
</div>
<!-- footer : s -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_footer.jsp" />
<!-- footer : e -->
</div>
<!-- wrap : e -->
<script src="/res/front/js/biz/home/detail.js?v=${timestamp}"></script>
<script src="/res/front/js/biz/home/home-common.js?v=${timestamp}"></script>
</body>
</html>
+215
View File
@@ -0,0 +1,215 @@
<%@ page contentType="text/html;charset=UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<jsp:include page="/WEB-INF/view/include/inc_home_head.jsp" />
<jsp:include page="/WEB-INF/view/include/inc_head_script.jsp" />
</head>
<body>
<input type="hidden" id="siteId" value="${siteId}"/>
<!-- wrap : s -->
<div class="wrap"id ="vueApp">
<jsp:include page="/WEB-INF/view/include/inc_home_body_header.jsp" />
<div class="container">
<div id="contents">
<!-- 상세 : s -->
<div class="mainWrap">
<div class="container">
<div id="contents">
<div class="img_wrap">
<!-- <ul class="rollimgs"> -->
<ul>
<li>
<img src="https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FRb5PG%2FbtqCjSxEdGn%2FSulgKzVr3Bdo2pnrBCGRLk%2Fimg.png"></img>
</li>
<!-- <li v-if="siteId == 'skt'">
<img src="http://luckyphone.kr/wp-content/uploads/2022/02/happy_tuniverse.jpg"></img>
</li>
<li>
<img src="http://luckyphone.kr/wp-content/uploads/2022/02/happy_galaxyz.jpg"></img>
</li> -->
</ul>
</div>
<section class="search-box">
<div class="search-heading">
<strong>CUSTOM SEARCH</strong> <span class="dash">/</span>
<p>빠르게 원하는 상품과 정보를 보세요</p>
</div>
<div class="search-body">
<div class="l">
<strong>제조사</strong>
<div class="check-row">
<div class="input-wrap">
<input id="samsung" type="radio" class="made-control" name="danmal-made" v-model="detail.producer" value="samsung" @change="producerChange(event)">
<label for="samsung">삼성</label>
</div>
<div class="input-wrap">
<input id="lg" type="radio" class="made-control" name="danmal-made" v-model="detail.producer" value="lg" @change="producerChange(event)">
<label for="lg">LG</label>
</div>
<div class="input-wrap">
<input id="apple" type="radio" class="made-control" name="danmal-made" v-model="detail.producer" value="apple" @change="producerChange(event)">
<label for="apple">애플</label>
</div>
</div>
</div>
<div class="check-row r">
<strong>가격표시</strong>
<div class="check-row">
<div class="input-wrap">
<input type="radio" class="view-control" name="danmal-prcie" v-model="detail.priceType" value="terminal" id="terminal">
<label for="terminal">단말기할부금</label>
</div>
<div class="input-wrap">
<input type="radio" class="view-control" name="danmal-prcie" v-model="detail.priceType" value="communication" id="communication">
<label for="communication">단말기할부금+통신요금</label>
</div>
</div>
</div>
</div>
</section>
<section class="pd_section">
<!-- max-container : s -->
<div class="max-container">
<div class="display-wrap">
<div class="display1">
<h1>
프리미엄<span class="small">스마트폰</span>
</h1>
<p>
<span class="dash">/</span><b>최고의 스펙!</b> 최신 모든 제조사 최신 스마트폰을 모았습니다.
</p>
</div>
</div>
<!-- pd List -->
<div>
<ul class="pd-list pd-list-main" >
<li :class="x.producer" :data-made="x.producer" v-for="(x, index) in phoneList" v-if="x.phoneType=='p' && ((siteId == 'kt' && x.kt)||(siteId == 'lgu' && x.lgu)||(siteId == 'skt' && x.skt))">
<a :href="'/'+siteId+'/home/phone/detail/'+x.id" :title="x.title">
<div class="top">
<!-- 데코 라벨 -->
<div class="labels">
<img v-if="x.mdPick" src="http://luckyphone.kr/wp-content/plugins/kboard/skin/wonderful-product/images/MDPICK.png" alt=""/>
<img v-if="x.hot" src="http://luckyphone.kr/wp-content/plugins/kboard/skin/wonderful-product/images/HOT.png" alt=""/>
</div>
<!-- 통신사 라벨 -->
<div class="tel">
<img v-if="x.kt && (siteId == 'kt' && x.kt)" src="http://luckyphone.kr/wp-content/plugins/kboard/skin/wonderful-product/images/KT.png"/>
<img v-if="x.lgu && (siteId == 'lgu' && x.lgu)" src="http://luckyphone.kr/wp-content/plugins/kboard/skin/wonderful-product/images/LG.png"/>
<img v-if="x.skt && (siteId == 'skt' && x.skt)" src="http://luckyphone.kr/wp-content/plugins/kboard/skin/wonderful-product/images/SK.png"/>
</div>
<div class="thumb">
<img :src="x.titleImg"/>
</div>
<div class="txt">
<strong>{{x.title}}</strong>
<p>{{x.subTitle}}</p>
</div>
</div>
<div class="bot">
<!-- 단순 월 요금 -->
<p class="main-price price1 danmal-price-month" v-if="detail.priceType == 'communication'">
<b>{{x.phonePriceDto.releasePriceTerminalAndCommunicationToComma}}</b><span>원~/월</span>
</p>
<!-- 단순 단말할부금액 -->
<p class="main-price price1 danmal-price" v-if="detail.priceType == 'terminal'">
<b>{{x.phonePriceDto.releasePriceTerminalToComma}}</b><span>원~/월</span>
</p>
<p class="price2">(출고가: {{x.phonePriceDto.releasePriceToComma}} 원)</p>
</div>
</a>
</li>
</ul>
</div>
<!-- pd List end -->
</div>
<!-- max-container : e -->
<!-- main-banner:s -->
<section class="main-banner">
<a href="/two-phone">
<div class="max-container aos-init aos-animate" data-aos="fade-in" data-aos-offset="300" data-aos-duration="300">
<div data-aos="zoom-in-up" data-aos-offset="300" data-aos-delay="250" class="aos-init aos-animate">
<img src="" alt="">
</div>
</div>
</a>
</section>
<!-- main-banner:e -->
<!-- max-container : s -->
<div class="max-container">
<div class="display-wrap">
<div class="display1">
<h1>
가성비<span class="small">스마트폰</span>
</h1>
<p>
<span class="dash">/</span><b>최고의 스펙!</b> 저렴하게 모든 제조사 최신 스마트폰을 모았습니다.
</p>
</div>
</div>
<!-- pd List -->
<div>
<ul class="pd-list pd-list-main" >
<li :class="x.producer" :data-made="x.producer" v-for="(x, index) in phoneList" v-if="x.phoneType=='s' && ((siteId == 'kt' && x.kt)||(siteId == 'lgu' && x.lgu)||(siteId == 'skt' && x.skt))">
<a :href="'/'+siteId+'/home/phone/detail/'+x.id" :title="x.title">
<div class="top">
<!-- 데코 라벨 -->
<div class="labels">
<img v-if="x.mdPick" src="http://luckyphone.kr/wp-content/plugins/kboard/skin/wonderful-product/images/MDPICK.png" alt=""/>
<img v-if="x.hot" src="http://luckyphone.kr/wp-content/plugins/kboard/skin/wonderful-product/images/HOT.png" alt=""/>
</div>
<!-- 통신사 라벨 -->
<div class="tel">
<img v-if="x.kt && (siteId == 'kt' && x.kt)" src="http://luckyphone.kr/wp-content/plugins/kboard/skin/wonderful-product/images/KT.png"/>
<img v-if="x.lgu && (siteId == 'lgu' && x.lgu)" src="http://luckyphone.kr/wp-content/plugins/kboard/skin/wonderful-product/images/LG.png"/>
<img v-if="x.skt && (siteId == 'skt' && x.skt)" src="http://luckyphone.kr/wp-content/plugins/kboard/skin/wonderful-product/images/SK.png"/>
</div>
<div class="thumb">
<img :src="x.titleImg"/>
</div>
<div class="txt">
<strong>{{x.title}}</strong>
<p>{{x.subTitle}}</p>
</div>
</div>
<div class="bot">
<!-- 단순 월 요금 -->
<p class="main-price price1 danmal-price-month" v-if="detail.priceType == 'communication'">
<b>{{x.phonePriceDto.releasePriceTerminalAndCommunicationToComma}}</b><span>원~/월</span>
</p>
<!-- 단순 단말할부금액 -->
<p class="main-price price1 danmal-price" v-if="detail.priceType == 'terminal'">
<b>{{x.phonePriceDto.releasePriceTerminalToComma}}</b><span>원~/월</span>
</p>
<p class="price2">(출고가: {{x.phonePriceDto.releasePriceToComma}} 원)</p>
</div>
</a>
</li>
</ul>
</div>
<!-- pd List end -->
</div>
<!-- max-container : e -->
</section>
</div>
</div>
</div>
<!-- 상세 : e -->
</div>
</div>
<!-- footer : s -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_footer.jsp" />
<!-- footer : e -->
</div>
<!-- wrap : e -->
<script src="/res/front/js/biz/home/index.js?v=${timestamp}"></script>
<script src="/res/front/js/biz/home/home-common.js?v=${timestamp}"></script>
</body>
</html>
@@ -0,0 +1,215 @@
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html lang="ko">
<head>
<jsp:include page="/WEB-INF/view/include/inc_home_head.jsp"/>
<jsp:include page="/WEB-INF/view/include/inc_head_script.jsp"/>
</head>
<body class="<c:if test="${not empty loginUser}">logined</c:if>">
<div id="planId" style="display: none;">${quickInfo.planId}</div>
<div id="cafeUserName" style="display: none;">${loginUser.cafeUserName}</div>
<!-- wrap : s -->
<div class="wrap" id="vueApp">
<!-- header : s -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_header.jsp"/>
<!-- header : e -->
<div class="container">
<div id="contents">
<!-- 상세 : s -->
<div class="inner">
<!-- meetSetupWrap : s -->
<div class="meetSetupWrap">
<div class="topCont">
<dl class="titBox">
<dt>퀵 모임이 생성되었습니다.</dt>
<dd>링크를 복사하고 공유하여 다른 사용자를 초대합니다.</dd>
</dl>
<div class="infoBox">
<dl class="infoList">
<dt>모임이름</dt>
<dd id="quickName">${quickInfo.quickName}</dd>
</dl>
<dl class="infoList">
<dt>모임링크</dt>
<dd id="quickLink">${quickLinkUrl}</dd>
<dd class="btn">
<a href="#" class="btns small btnCol04" v-on:click="copyLink">
<span>링크복사</span>
</a>
</dd>
</dl>
<dl class="infoList">
<dt>모임코드</dt>
<dd id="quickCode">${quickInfo.quickCode}</dd>
</dl>
</div>
</div>
<div class="infoCont">
<div class="meetListArea">
<div class="tabMeet">
<a href="#" class="on" id="groupTab" v-on:click="selectTab(1)">그룹 별</a>
<a href="#" id="memberTab" v-on:click="selectTab(2)">멤버 별</a>
</div>
<div class="tabMeetCont">
<div class="meetList" id="member">
<ul>
<li v-for="(x, index) in memberList">
<span class="inputCheckbox">
<input type="checkbox" :name="'chk'+index" :id="'chk'+index"
v-model="x.checked">
<label :for="'chk'+index">{{x.name}} | {{x.cafeUserName}}</label>
</span>
</li>
</ul>
</div>
<div class="meetList" id="group">
<ul>
<li v-for="(x, index) in orgGroupList">
<span class="inputCheckbox">
<input type="checkbox" :name="'chk0'+index" :id="'chk0'+index"
v-model="x.checked">
<label :for="'chk0'+index">{{x.cafeGroupName}}({{x.groupMemberList.length}})</label>
</span>
</li>
</ul>
</div>
</div>
</div>
<a href="#" class="btnPartPara" v-on:click="addUser">참가자 목록에 표시</a>
<div class="meetInfoArea">
<dl class="meetInfoList">
<dt>
<strong class="tit">${g_cafe.name}</strong>
</dt>
<dd>
<div class="groupingList">
<div class="item" v-for="(x, index) in selectMemberList">
<div class="itemInner">
<span>{{x.name}}</span>
<span>{{x.cafeUserName}}</span>
<span>{{x.phone}}</span>
<a href="#" class="btnItemDel" v-on:click="deleteMember(x.cafeUserId)">해당
멤버 삭제</a>
</div>
</div>
<div class="item" v-for="(x, index) in selectGroupList">
<a href="#none" class="selectGroup" :id="'group_'+index"
v-on:click="itemToggle(index)">{{x.cafeGroupName}}({{x.groupMemberList.length}})</a>
<div class="itemCont" id ="itemMember">
<div class="itemInner" :id="'member_'+index" v-for="(y, index) in x.groupMemberList">
<span>{{y.name}}</span>
<span>{{y.cafeUserName}}</span>
<span>{{y.phone}}</span>
<a href="#" class="btnItemDel"
v-on:click="deleteGroup(x.cafeGroupId, y.cafeUserId, index)">해당 멤버
삭제</a>
</div>
</div>
<a href="#" class="btnItemDel" v-on:click="deleteGroup(x.cafeGroupId)">해당 그룹
삭제</a>
</div>
</div>
</dd>
</dl>
<dl class="meetInfoList">
<dt>
<strong class="tit">직접입력</strong>
<div class="btn-list">
<a href="/res/doc/phone.xlsx" target="_blank" class="btns sbtn1 btnCol04"><span>서식 다운로드</span></a>
<a onclick="onClickExcelUpload()" href="#" class="btns sbtn1 btnCol04"><span>엑셀 업로드</span></a>
</div>
</dt>
<dd>
<ul class="listStyle02" style="margin-top: 10px">
<li>서비스에 가입되지 않은 참가자의 경우, 서비스 가입 후 모임 입장이 가능합니다.</li>
</ul>
<div class="inputArea">
<div class="inputList" style="height: auto; max-height:216px">
<span v-for="(x, index) in nonMemberList">
<input type="tel" class="inpText" placeholder="휴대폰번호 입력" v-model="x.phone"
@input="phoneNumberConvert(index)" maxlength="13">
</span>
</div>
</div>
<div class="btmSpaceArea">
<ul class="listStyle02">
<li>1회 최대 50건 까지 발송할 수 있습니다.</li>
</ul>
<a href="#" class="btnAdd" v-on:click="addNonUser">+ 추가</a>
</div>
<div class="btnArea right">
<a href="#" class="btns small btnCol03"
onclick="layerPop('open' , '#layerSmsPhrases')">
<span>SMS 미리보기</span>
</a>
</div>
<p id="sms"><textarea onkeyup="xSize(this)"
style="width:300px;height:200px;overflow-y:hidden"
v-model="smsStr"></textarea></p>
</dd>
</dl>
</div>
</div>
<div class="btnArea">
<a href="/home/quick/quick-meeting" class="btns btnCol02">
<span>취소</span>
</a>
<a href="#" class="btns btnCol01" v-on:click="sendSms">
<span>초대하기</span>
</a>
</div>`
</div>
<!-- meetSetupWrap : e -->
</div>
<div class="layerPop" id="layerSmsPhrases">
<div class="layerPopArea w540">
<div class="popCont">
<!-- 내용 : s -->
<div class="smsBoxWrap">
<textarea class="textarea" id="smsTextarea" v-model="smsStr" readonly="readonly">
</textarea>
<div class="btnArea right">
<a href="#" class="btns small btnCol04 edit" id="smsModify" v-on:click="modifySMS">
<span>수정</span>
</a>
<a href="#" class="btns small btnCol02 cancel" id="smsReset" v-on:click="resetSMS" style="display:none;">
<span>취소</span>
</a>
<a href="#" class="btns small btnCol03 save" id="smsSave" v-on:click="saveSMS" style="display:none;">
<span>저장</span>
</a>
</div>
</div>
<div class="btnArea">
<a href="#" class="btns btnCol01"
onclick="layerPop('close' , '#layerSmsPhrases')"><span>확인</span></a>
</div>
<!-- 내용 : e -->
</div>
<a href="#" class="btnPopClose" onclick="layerPop('close' , '#layerSmsPhrases')">해당 레이어 닫기</a>
</div>
</div>
<!-- 상세 : e -->
</div>
</div>
<!-- footer : s -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_footer.jsp"/>
<!-- footer : e -->
</div>
<!-- wrap : e -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_popup.jsp"/>
<script src="/res/front/js/biz/home/home-common.js?v=${timestamp}"></script>
<script>
var KT_EDU_ON_SERVER_URL = '${kteduServerUrl}';
</script>
<script src="/res/front/js/biz/home/quick/quick_invite.js?v="></script>
</body>
</html>
@@ -0,0 +1,430 @@
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html lang="ko">
<head>
<jsp:include page="/WEB-INF/view/include/inc_home_head.jsp"/>
<jsp:include page="/WEB-INF/view/include/inc_head_script.jsp"/>
</head>
<body class="<c:if test="${not empty loginUser}">logined</c:if>">
<div id="planId" style="display: none;">${quickInfo.planId}</div>
<div id="cafeUserName" style="display: none;">${loginUser.cafeUserName}</div>
<!-- wrap : s -->
<div class="wrap" id="vueApp">
<!-- header : s -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_header.jsp"/>
<!-- header : e -->
<div class="container">
<div id="contents">
<!-- 상세 : s -->
<div class="inner">
<!-- meetSetupWrap : s -->
<div class="meetSetupWrap">
<div class="topCont">
<dl class="titBox">
<dt>퀵 모임이 생성되었습니다.</dt>
<dd>링크를 복사하고 공유하여 다른 사용자를 초대합니다.</dd>
</dl>
<div class="infoBox">
<dl class="infoList">
<dt>모임이름</dt>
<dd id="quickName">${quickInfo.quickName}</dd>
</dl>
<!-- 2021-10-26 추가 : s -->
<dl class="infoList">
<dt>모임코드</dt>
<dd id="quickCode">${quickInfo.quickCode}</dd>
</dl>
<!-- 2021-10-26 추가 : e -->
<dl class="infoList">
<dt>모임링크</dt>
<dd id="quickLink"><c:out value="${quickLinkUrl}/${quickInfo.quickCode}"/></dd>
<dd class="btn">
<a href="javascript:;" class="btns small btnCol04" v-on:click="copyLink">
<span>링크복사</span>
</a>
</dd>
</dl>
</div>
</div>
<!-- 2021-10-26 수정 : s -->
<div class="infoCont">
<div class="meetListArea">
<div class="tabMeet">
<a href="#" class="on" id="tab1">조직 멤버 초대</a>
<a href="#" id="tab2">휴대폰번호로 초대(비회원)</a>
</div>
<!--조직 멤버 초대-->
<div class="tabMeetCont">
<div class="meetColWrap">
<div class="meetCol">
<div class="meetOrgList" id="meetOrgList">
<c:forEach var="cafe" items="${myCafeList}">
<c:if test="${cafe.lv eq 0}">
<div class="item">
<a href="javascript:;" class="itemHead" onClick="selectCafeGroup(this);" data-cafeId="${cafe.cafeId}" data-upperId="${cafe.upperId}" data-lv="${cafe.lv}" data-name="${cafe.name}" ><c:out value="${cafe.name}"></c:out></a>
<ul class="itemContList">
<c:forEach var="group" items="${myCafeList}">
<c:if test="${group.lv eq 1 && cafe.cafeId eq group.upperId}">
<li class="liMeetOrgList"><a href="javascript:;" onClick="selectCafeGroup(this);" data-cafeId="${group.cafeId}" data-upperId="${group.upperId}" data-lv="${group.lv}" data-name="${group.name}" >${group.name}</a></li>
</c:if>
</c:forEach>
</ul>
</div>
</c:if>
</c:forEach>
</div>
</div>
<div class="meetCol">
<div class="meetOrgList check">
<div class="itemHead">
<span class="inputCheckbox">
<input type="checkbox" id="CkAllMem" onClick="ckAllMem(this);">
<label for="CkAllMem"><span id="CkAllMemText">선택조직</span> (<span id="CkAllMemCnt">0</span>)</label>
</span>
</div>
<!--선택된 조직 멤버리스트 s-->
<ul class="itemContList" id="ul_memberList">
</ul>
</div>
</div>
</div>
</div>
<!--휴대폰번호로 초대(비회원)-->
<div class="tabMeetCont">
<div class="meetColWrap">
<div class="meetCol">
<div class="telInpArea">
<input type="tel" id="phoneText" class="inpText" placeholder="휴대폰번호 입력(숫자만)" maxlength="11" onKeyup="this.value=this.value.replace(/[^-0-9]/g,'');">
<a href="javascript:;" onClick="addMeetTel();" class="btnTelAdd">
<span>번호 추가하기</span>
</a>
</div>
<dl class="meetInfoList">
<dt>
<div class="count">
<span>총</span>
<span class="cur" id="meetTelCnt">0</span>
<span>명</span>
</div>
<div class="btnArea">
<a href="javascript:;" onclick="onClickExcelUpload()" class="btns small btnCol04">
<span>엑셀 업로드</span>
</a>
<a href="/res/doc/phone.xlsx" class="btns small btnCol04">
<span>서식 다운로드</span>
</a>
</div>
</dt>
<dd>
<div class="meetTelList" id="div_meetTelList">
</div>
</dd>
</dl>
</div>
</div>
</div>
<!-- 2021-10-28 수정 : s -->
</div>
<a href="javascript:;" onClick="addSendMember()" class="btnPartPara">참가자 목록에 표시</a>
<div class="meetInfoArea">
<dl class="meetInfoList">
<dt>
<div class="count">
<span class="cur" id="sendListCnt">0</span> <!--선택된 명-->
<span>/</span>
<span>50명</span>
</div>
<a href="javascript:;" onClick="resetSelectSendList();" class="btns small btnCol05 reset">
<span>초기화</span>
</a>
</dt>
<dd>
<div class="meetSelectList" id="divSelectSendList">
</div>
<div class="btmSpaceArea">
<ul class="listStyle02">
<li>1회 최대 50건 까지 발송할 수 있습니다. </li>
</ul>
<div class="btnArea right">
<a href="javascript:;" onclick="layerPop('open' , '#layerSmsPhrases')" class="btns small btnCol03">
<span>SMS 미리보기</span>
</a>
</div>
</div>
</dd>
</dl>
</div>
</div>
<div class="btnArea">
<a href="/home/quick/quick-meeting" class="btns btnCol02 w30p">
<span>취소</span>
</a>
<a href="javascript:;" class="btns btnCol01" v-on:click="sendSms">
<span>초대하고 모임 시작</span>
</a>
</div>
<!-- 2021-10-26 수정 : e -->
</div>
<!-- meetSetupWrap : e -->
</div>
<!-- 상세 : e -->
<div class="layerPop" id="layerSmsPhrases">
<div class="layerPopArea w540">
<div class="popCont">
<!-- 내용 : s -->
<div class="smsBoxWrap">
<textarea class="textarea" id="smsTextarea" v-model="smsStr" readonly="readonly">
</textarea>
<div class="btnArea right">
<a href="#" class="btns small btnCol04 edit" id="smsModify" v-on:click="modifySMS">
<span>수정</span>
</a>
<a href="#" class="btns small btnCol02 cancel" id="smsReset" v-on:click="resetSMS" style="display:none;">
<span>취소</span>
</a>
<a href="#" class="btns small btnCol03 save" id="smsSave" v-on:click="saveSMS" style="display:none;">
<span>저장</span>
</a>
</div>
</div>
<div class="btnArea">
<a href="#" class="btns btnCol01" onclick="layerPop('close' , '#layerSmsPhrases')"><span>확인</span></a>
</div>
<!-- 내용 : e -->
</div>
<a href="#" class="btnPopClose" onclick="layerPop('close' , '#layerSmsPhrases')">해당 레이어 닫기</a>
</div>
</div>
</div>
</div>
<!-- footer : s -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_footer.jsp"/>
<!-- footer : e -->
</div>
<!-- wrap : e -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_popup.jsp"/>
<script src="/res/front/js/biz/home/home-common.js?v=${timestamp}"></script>
<script>
var KT_EDU_ON_SERVER_URL = '${kteduServerUrl}';
//선택된 보낼 리스트
var selectSendList = new Array();
//비회원 추가한 폰번호 리스트
var meetTelList = new Array();
function selectCafeGroup(obj){
let cafeId = $(obj).attr("data-cafeId");
let upperId = $(obj).attr("data-upperId");
let lv = $(obj).attr("data-lv");
let name = $(obj).attr("data-name");
$(".liMeetOrgList").removeClass("on");
$("#CkAllMem").prop("checked",false);
if(lv>0){//하위..
$(obj).parent().addClass("on");
if(isEmpty(cafeId)){
//그룹 미소속
selectMemberList(upperId, '', false);
}else{
//그룹
selectMemberList(upperId, cafeId,true);
}
}else{ //cafe검색
selectMemberList(cafeId,'',true);
}
$("#CkAllMemText").text(name);
}
// 왼쪽 조직선택시 오른쪽 그룹내 맴버표시
function selectMemberList(cafeId, cafeGroupId, groupYn){
let param = {
"cafeId" : cafeId,
"cafeGroupId" : cafeGroupId,
"groupYn":groupYn,
};
$("#ul_memberList").html('');
axios.post('/api/home/selectMemberList.api', param)
.then(function (response) {
let data = response.data;
let phoneList = [];
let count = 0;
data.body.forEach(function(item) {
if(phoneList.includes(item.phone)){
count++;
}else{
phoneList.push(item.phone);
let phone = item.phone;
let shtml = '<li>';
shtml += '<span class="inputCheckbox">';
shtml += '<input type="checkbox" name="ckMem" id="chk_'+phone+'_'+item.cafeGroupId+'" value="'+phone+'"';
shtml += ' data-level="'+item.cafeUserLevelText+'"';
shtml += ' data-group="'+item.groupName+'"';
shtml += ' data-cafe="'+item.cafeName+'"';
shtml += ' data-name="'+item.userName+'"';
if(findSendMem(phone) > -1){
shtml += 'checked disabled';
}
shtml += '>';
shtml += '<label for="chk_'+phone+'_'+item.cafeGroupId+'">'+item.userName+'('+item.cafeName+' > '+item.groupName+')</label>';
shtml += '</span>';
shtml += '</li>';
$("#ul_memberList").append(shtml);
}
});
$("#CkAllMemCnt").text(data.body.length-count);
})
.catch(function (error) {
console.log(error);
});
}
//선택된 조직 전체 선택 체크박스 클릭
function ckAllMem(obj){
$("input:checkbox[name=ckMem]").prop("checked",$(obj).prop("checked"));
}
//선택된 보낼 대상자 리스트 초기화
function resetSelectSendList(){
$("#divSelectSendList").html('');
selectSendList = new Array();
$("input:checkbox[name=ckMem]").removeAttr("checked disabled");
}
//sendList멤버추가
function addSendMember(){
let dupPhoneCnt=0;
if($("#tab1").hasClass("on")){
$("input:checkbox[name=ckMem]:checked").each(function() {
let cafe = $(this).attr("data-cafe");
let group = $(this).attr("data-group");
let lv = $(this).attr("data-level").trim();
let name = $(this).attr("data-name");
let phone = this.value;
let du = $(this).prop('disabled');
if (!du && findSendMem(phone) > -1){ //있으면 중복값 체크
dupPhoneCnt++;
}else {
let shtml = '';
shtml += '<div class="item">';
shtml += ' <a href="javascript:;" onClick="delSendMem(this);" data-phone="'+phone+'" class="btnDel">해당 항목 삭제</a>';
shtml += ' <div class="itemHead">';
if (lv != "일반") {
shtml += ' <span class="manage">' + lv + '</span>';
}
shtml += name+'('+cafe+'>'+group+')';
shtml += ' </div>';
shtml += '</div>';
$("#divSelectSendList").append(shtml);
selectSendList.push({"phone":phone, "name":name});
}
});
}
if($("#tab2").hasClass("on")) { //휴대폰번호로 초대(비회원)
if(meetTelList.length>0){
meetTelList.forEach(function(phone){
if (findSendMem(phone) > -1) { //있으면 중복값 체크
dupPhoneCnt++;
}else{
let shtml = '';
shtml += '<div class="item">';
shtml += ' <a href="javascript:;" onClick="delSendMem(this);" data-phone="'+phone+'" class="btnDel">해당 항목 삭제</a>';
shtml += ' <div class="itemHead">';
shtml += formatMobile(phone);
shtml += ' </div>';
shtml += '</div>';
$("#divSelectSendList").append(shtml);
selectSendList.push({"phone":phone, "name":"비회원"})
}
});
//비회원 선택 전화번호 초기화
resetDivMeetTelList();
}else{
alert("추가할 휴대폰번호가 없습니다.");
}
}
$("#sendListCnt").text(selectSendList.length);
if(dupPhoneCnt > 0){
alert("이미 추가된 사용자가 "+dupPhoneCnt+"명 선택되었습니다.");
}
}
//send list 에 선택된 mem 삭제
function delSendMem(obj){
let val = $(obj).attr("data-phone");
let idx = findSendMem(val);
if (idx > -1) selectSendList.splice(idx, 1);
$(obj).closest('div').remove();
$("input[id^='chk_"+val+"_']").prop("checked",false);
//$("#chk_"+val).prop("checked",false);
$("#sendListCnt").text(selectSendList.length);
}
//sendList에 해당 번호 index값 조회
function findSendMem(phone){
return selectSendList.findIndex(function(item) {
return item.phone === phone
});
}
//휴대폰번호로초대 번호추가
function addMeetTel(){
let phone = $("#phoneText").val();
if(isMobile(phone)){
addMeetTelList(phone);
$("#phoneText").val('');
$("#meetTelCnt").text(meetTelList.length);
}else{
alert("휴대폰번호 형식이 아닙니다.");
$("#phoneText").focus();
}
}
//비회원 선택 리스트에 추가(휴대폰번호)
function addMeetTelList(phone){
if(isMobile(phone)){
meetTelList.push(phone);
let shtml='';
shtml+='<div class="item">';
shtml+=' <span class="tel">'+formatMobile(phone)+'</span>';
shtml+=' <a href="javascript:;" class="btnDel" onClick="delMeetTel(this);" data-phone="'+phone+'">해당 번호 삭제</a>';
shtml+='</div>';
$("#div_meetTelList").append(shtml);
}
}
// 휴대폰번호로초대 선택한 회원번호 삭제
function delMeetTel(obj){
let val = $(obj).attr("data-phone");
$(obj).closest('div').remove();
meetTelList =meetTelList.filter((o) => o != val);
$("#meetTelCnt").text(meetTelList.length);
}
//휴대폰번호로초대 선택한 회원번호들 초기화
function resetDivMeetTelList(){
$("#div_meetTelList").html('');
meetTelList = new Array();
$("#meetTelCnt").text("0");
}
</script>
<script type="text/javascript" src="/res/front/js/biz/home/quick/quick_invite_new.js?v=${timestamp}"></script>
</body>
</html>
@@ -0,0 +1,70 @@
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<jsp:include page="/WEB-INF/view/include/inc_home_head.jsp"/>
<jsp:include page="/WEB-INF/view/include/inc_head_script.jsp"/>
</head>
<body class="<c:if test="${not empty loginUser}">logined</c:if>">
<!-- wrap : s -->
<div id="vueApp" class="wrap">
<!-- header : s -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_header.jsp"/>
<!-- header : e -->
<div class="container">
<div id="contents">
<!-- 상세 : s -->
<div class="inner">
<div class="colWrap">
<div class="col">
<div class="colInner">
<div class="colCont">
<dl class="formList">
<dt class="blind">퀵모임 참여</dt>
<dd v-show="noLogin">
<input type="text" class="inpText" placeholder="휴대폰번호(숫자만)" v-model="detail.phone" maxlength="11" onKeyup="this.value=this.value.replace(/[^-0-9]/g,'');">
</dd>
<dd v-show="noLogin">
<input type="text" class="inpText" placeholder="이름" v-model="detail.name" >
</dd>
<dd class="error">
<input type="text" class="inpText" placeholder="모임코드" v-model="detail.quickCode">
<span class="errorMsg">모임 개설자가 전송한 모임코드</span>
</dd>
</dl>
<div class="btnArea">
<a href="/" class="btns btnCol02 w30p">
<span>취소</span>
</a>
<a href="javascript:;" class="btns btnCol01" v-if="!noLogin" v-on:click="entranceQuick">
<span>모임 입장하기</span>
</a>
<a href="javascript:;" class="btns btnCol01" v-else v-on:click="noLoginEntranceQuick">
<span>모임 입장하기</span>
</a>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- 상세 : e -->
</div>
</div>
<!-- footer : s -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_footer.jsp"/>
<!-- footer : e -->
</div>
<!-- wrap : e -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_popup.jsp"/>
<script src="/res/front/js/biz/home/home-common.js?v=${timestamp}"></script>
<script src="/res/front/js/biz/home/quick/quick_meeting.js?v=${timestamp}" data-planId="${planId}"></script>
</body>
</html>
@@ -0,0 +1,97 @@
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<jsp:include page="/WEB-INF/view/include/inc_home_head.jsp"/>
<jsp:include page="/WEB-INF/view/include/inc_head_script.jsp"/>
</head>
<body class="<c:if test="${not empty loginUser}">logined</c:if>">
<!-- wrap : s -->
<div id="vueApp" class="wrap">
<%--<!-- header : s -->
<header id="header" class="sub">
<div class="inner">
<h1 class="logo"><a href="/">로고</a></h1>
<a href="/home" class="btnPrevPage">
<span>이전 페이지로 이동</span>
</a>
</div>
</header>
<!-- header : e -->--%>
<!-- header : s -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_header.jsp"/>
<!-- header : e -->
<div class="container">
<div id="contents">
<!-- 상세 : s -->
<div class="inner">
<div class="colWrap">
<div class="col">
<form class="colInner" @submit.prevent="onSubmit" method="get">
<div class="topTitle">
<h2 class="defaultTitle">퀵 모임 만들기</h2>
</div>
<div class="colCont">
<div class="inputCountBox">
<input type="text" class="inpText" placeholder="모임 명" v-model="detail.quickName" maxlength="20" required>
<span class="count"><em class="cur">{{detail.quickName.length}}</em> / 20</span>
</div>
<ul class="listStyle02">
<li>최대 100명 참여 가능</li>
<li>최대 진행 시간 30분</li>
<li>30분 이상 진행 필요 시, 포탈 내 화상 라운지에서 화상을 개설해 주세요.</li>
</ul>
<!-- 2021-10-26 수정 : s -->
<div class="btnArea">
<a href="javascript:meetingStartCancle();" class="btns btnCol02 w30p">
<span>취소</span>
</a>
<c:choose>
<c:when test="${loginUser.adminOrHostYn}">
<a href="javascript:;" @click="startQuickMeeting()" type="button" class="btns btnCol01"><span>참가자 초대하기</span></a>
</c:when>
<c:otherwise>
<a href="javascript:;" onClick="g_showPopupOrgSelect('USER_SELECT', '/home/quick/quick-meeting-make');" type="button" class="btns btnCol01">
<span>관리자, HOST 권한만 시작 가능.</span>
</a>
</c:otherwise>
</c:choose>
</div>
<div class="linkGoArea">
<a href="/home/quick/quick-meeting" class="linkGo">모임코드로 참여하기</a>
</div>
<!-- 2021-10-26 수정 : e -->
</div>
</form>
</div>
</div>
</div>
</div>
<!-- 상세 : e -->
</div>
<!-- footer : s -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_footer.jsp"/>
<!-- footer : e -->
</div>
<!-- wrap : e -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_popup.jsp"/>
<script src="/res/front/js/biz/home/home-common.js?v=${timestamp}"></script>
<script src="/res/front/js/biz/home/quick/quick_meeting.js?v=${timestamp}"></script>
<script>
$(document).ready(function () {
appVueUserSelect.setPortalReturnUrl('/home/quick/quick-meeting-start');
});
function meetingStartCancle(){
appVueUserSelect.setPortalReturnUrl('');
location.href = '/';
}
</script>
</body>
</html>
@@ -0,0 +1,77 @@
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<jsp:include page="/WEB-INF/view/include/inc_home_head.jsp"/>
<jsp:include page="/WEB-INF/view/include/inc_head_script.jsp"/>
</head>
<body class="<c:if test="${not empty loginUser}">logined</c:if>">
<!-- wrap : s -->
<div id="vueApp" class="wrap">
<!-- header : s -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_header.jsp"/>
<!-- header : e -->
<div class="container">
<!-- wrap : s -->
<div class="wrap pageSmall">
<div class="container">
<div id="contents">
<!-- 상세 : s -->
<div class="headerConts">
<h1 class="logo"><a href="#">로고</a></h1>
</div>
<div class="innerConts">
<!-- accountWrap : s -->
<div class="accountWrap tissue">
<div class="accountBox">
<c:if test="${not empty loginUser && loginUser.adminOrHostYn}">
<div class="item">
<a href="/home/quick/quick-meeting-make">
<div class="middle">
<dl class="dfList">
<dt>퀵모임 만들기</dt>
<dd>Host 회원만 퀵모임을 만들 수 있습니다.</dd>
</dl>
</div>
</a>
</div>
</c:if>
<div class="item">
<a href="/home/quick/quick-meeting">
<div class="middle">
<dl class="dfList">
<dt class="col02">퀵모임 참여하기</dt>
<dd>Host로부터 전달받은 모임코드로 퀵모임에 입장합니다</dd>
</dl>
</div>
</a>
</div>
<div class="btmLinkBox">
<a href="/" class="link">취소하기</a>
</div>
</div>
</div>
<!-- accountWrap : e -->
</div>
<!-- 상세 : e -->
</div>
</div>
</div>
<!-- wrap : e -->
<!-- footer : s -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_footer.jsp"/>
<!-- footer : e -->
</div>
</div>
<jsp:include page="/WEB-INF/view/include/inc_home_body_popup.jsp"/>
<script src="/res/front/js/biz/home/home-common.js?v=${timestamp}" data-url="${returnUrl}"></script>
<script src="/res/front/js/biz/home/quick/quick_meeting.js?v=${timestamp}" data-planId="${planId}"></script>
</body>
</html>
@@ -0,0 +1,41 @@
<%@ page contentType="text/html;charset=UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<jsp:include page="/WEB-INF/view/include/inc_home_head.jsp" />
<jsp:include page="/WEB-INF/view/include/inc_head_script.jsp" />
</head>
<body>
<div class="wrap"id ="vueApp">
<div style="margin-bottom: 10px;margin-left: 10px;padding-top:10px;">
<input @change="onChangeFileInput('input_excel_file')"
type="file"
class="bind-file-input" id="input_excel_file"/>
<input type='button' value='확인' @click="onClickExcelSave" style="margin-left: 10px"/>
<a style="float:RIGHT;margin-right:10px;" href="/home/sell/list">목록으로</a>
</div>
<div style="margin-right: 10px;margin-left: 10px;padding-top:10px;">
<table border="1">
<th>구분</th>
<th>파일명</th>
<th>등록시간</th>
<th>삭제</th>
<div v-show="uploadList.length > 0">
<tr v-for="(x, index) in uploadList">
<td style="text-align: CENTER">{{index+1}}</td>
<td style="text-align: CENTER">{{x.originalFileName}}</td>
<td style="text-align: CENTER">{{x.regDtTimeText}}</td>
<td style="text-align: CENTER"><input @click="deleteClick(x.id,x.originalFileName)" type="button" value="삭제"/></td>
</tr>
</div>
</table>
</div>
<script src="/res/front/js/biz/home/sell/add.js?v=${timestamp}"></script>
</div>
</body>
</html>
@@ -0,0 +1,66 @@
<%@ page contentType="text/html;charset=UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<jsp:include page="/WEB-INF/view/include/inc_home_head.jsp" />
<jsp:include page="/WEB-INF/view/include/inc_head_script.jsp" />
</head>
<body>
<div class="wrap"id ="vueApp">
<div style="margin-bottom: 10px;margin-left: 10px;padding-top:10px;">
<select v-model="search.type" size="1" style="width: 100px">
<option value="">전체검색</option>
<option value="account">거래처</option>
<option value="newsAgency">통신사</option>
<option value="name">명의자</option>
<option value="phoneNumber">개통번호</option>
<option value="customerType">고객종류</option>
<option value="petName">펫네임</option>
<option value="serialNumber">일련번호</option>
</select>
<input type="text" v-model="search.text" @keyup.enter="bindDetail" style="margin-left: 10px"/><input type='button' value='검색' @click="bindDetail" style="margin-left: 10px"/>
<a style="float:RIGHT;margin-right:10px;" href="/home/sell/add">추가 하기</a>
</div>
<div>
<table border="1">
<th>구분</th>
<th>개통일</th>
<th>거래처</th>
<th>통신사</th>
<th>명의자</th>
<th>주민번호</th>
<th>개통번호</th>
<th>고객 종류</th>
<th>법대</th>
<th>법대 전화번호</th>
<th>할부개월</th>
<th>펫네임</th>
<th>일련번호</th>
<th>가입구분</th>
<div v-show="sellUser.length > 0">
<tr v-for="(x, index) in sellUser" >
<td>{{index+1}}</td>
<td>{{x.openingDateKor}}</td>
<td>{{x.account}}</td>
<td>{{x.newsAgency}}</td>
<td>{{x.name}}</td>
<td>{{x.socialSecurityNumber}}</td>
<td>{{x.phoneNumberText}}</td>
<td>{{x.customerType}}</td>
<td>{{x.legalRepresentativeName}}</td>
<td>{{x.legalRepresentativePhoneNumberText}}</td>
<td>{{x.installmentMonth}}</td>
<td>{{x.petName}}</td>
<td>{{x.serialNumber}}</td>
<td>{{x.subscription}}</td>
</tr>
</div>
</table>
</div>
<script src="/res/front/js/biz/home/sell/list.js?v=${timestamp}"></script>
</div>
</body>
</html>
@@ -0,0 +1,107 @@
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<jsp:include page="/WEB-INF/view/include/inc_home_head.jsp"/>
<jsp:include page="/WEB-INF/view/include/inc_head_script.jsp"/>
</head>
<body class="<c:if test="${not empty loginUser}">logined</c:if>">
<!-- wrap : s -->
<div class="wrap">
<!-- header : s -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_header.jsp"/>
<!-- header : e -->
<div class="container">
<div id="contents">
<!-- 상세 : s -->
<div class="subVisual bg04">
<h2>클라우드 용량 추가</h2>
</div>
<div class="inner">
<!-- serviceWrap : s -->
<div class="serviceWrap">
<div class="serviceData">
<div class="serviceItem">
<div class="serviceTxt">
<span class="num">01</span>
<strong class="tit">기본 제공</strong>
<p class="txt">추가 옵션 중 화상녹화 클라우드 자동저장, <br class="mHide">VOD게시판, 자료게시판 선택 시 각 <span class="gb">10GB</span>씩 제공됩니다.</p>
</div>
<div class="serviceSec">
<div class="serviceInner">
<div class="cloud01">
<ul>
<li class="item01">화상녹화<br>클라우드 자동저장</li>
<li class="item02">VOD게시판</li>
<li class="item03">자료게시판</li>
</ul>
<p>각 <span class="gb">10</span>GB 제공</p>
</div>
</div>
</div>
</div>
<div class="serviceItem">
<div class="serviceTxt">
<span class="num">02</span>
<strong class="tit">용량 추가</strong>
<p class="txt">클라우드 용량 추가를 원하시면 기본 용량 외<br class="mHide"><span class="gb">10GB</span>씩 필요한 용량을 추가할 수 있습니다.</p>
</div>
<div class="serviceSec">
<div class="serviceInner">
<div class="cloud02">
<p><img src="/res/front/home/asset/images/img_cloude_add.png" alt=""></p>
<ul>
<li>기존용량</li>
<li class="pointCol01"><span class="gb">10</span>GB </li>
</ul>
</div>
</div>
</div>
</div>
<div class="serviceItem">
<div class="serviceTxt">
<span class="num">03</span>
<strong class="tit">무료 제공</strong>
<p class="txt"><span class="gb">10GB</span> <span class="centerline">당 월 1,100원(부가세 포함)</span> <span class="gb">0원</span>으로 <br>무료로 제공해 드립니다.</p>
</div>
<div class="serviceSec">
<div class="serviceInner">
<div class="cloud03">
<img src="/res/front/home/asset/images/zerowon.png" class="suauto">
<p class="sudn">10G 사용료</p>
<p class="won sudn"><span class="num">1,100</span>원 / 월 자동</p>
</div>
</div>
</div>
</div>
</div>
<div class="btnArea">
<a href="javascript:;" onclick="g_goCloudVolumeAdd();" class="btns big btnCol03">
<span>클라우드 용량추가</span>
</a>
</div>
</div>
<!-- serviceWrap : e -->
</div>
<!-- 상세 : e -->
</div>
</div>
<!-- footer : s -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_footer.jsp"/>
<!-- footer : e -->
</div>
<!-- wrap : e -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_popup.jsp"/>
<script src="/res/front/js/biz/home/home-common.js?v=${timestamp}"></script>
</body>
</html>
@@ -0,0 +1,156 @@
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<jsp:include page="/WEB-INF/view/include/inc_home_head.jsp"/>
<jsp:include page="/WEB-INF/view/include/inc_head_script.jsp"/>
<script type="text/javascript">
$(document).ready(function(){
$('#tab1btn').click(function(){
var offset = $('#tab1').offset();
$('html').animate({scrollTop : offset.top-100}, 400);
});
$('#tab2btn').click(function(){
var offset = $('#tab2').offset();
$('html').animate({scrollTop : offset.top -100}, 400);
});
$('#tab3btn').click(function(){
var offset = $('#tab3').offset();
$('html').animate({scrollTop : offset.top-100}, 400);
});
$('#tab4btn').click(function(){
var offset = $('#tab4').offset();
$('html').animate({scrollTop : offset.top-100}, 400);
});
$('#tab1btn').click(function(){
$(".toptab li").removeClass("foc");
$(this).addClass("foc");
});
$('#tab2btn').click(function(){
$(".toptab li").removeClass("foc");
$(this).addClass("foc");
});
$('#tab3btn').click(function(){
$(".toptab li").removeClass("foc");
$(this).addClass("foc");
});
$('#tab4btn').click(function(){
$(".toptab li").removeClass("foc");
$(this).addClass("foc");
});
});
</script>
</head>
<body class="<c:if test="${not empty loginUser}">logined</c:if>">
<!-- wrap : s -->
<div class="wrap">
<!-- header : s -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_header.jsp"/>
<!-- header : e -->
<!-- header : e -->
<div class="container">
<div id="contents">
<!-- 상세 : s -->
<div class="subVisual bg05" >
<h2>실시간 화상 서비스 안내</h2>
</div>
<div class="updiv">
<div class="toptab">
<ul>
<li class="foc" id="tab1btn">상품 전체 구조</a></li>
<li id="tab2btn">서비스가입 및 이용절차</li>
<li id="tab3btn">화상포털 서비스</li>
<li id="tab4btn">화상서비스</li>
</ul>
</div>
<div class="detailcontents01" id="tab1">
<div class="title09">상품 전체 구조</div>
<div class="title10">고객별 특화된 Portal 기반 ‘실시간 화상과 조직 내 커뮤니케이션을 위한 통합 기능’을 제공합니다.</div>
</div>
<div class="detp02">
<div class="ui01">
<div class="leftbox01">실시간 화상 서비스<br><em>택1* 필수</em></div>
<div class="rightbox01"><img src="/res/front/home/asset/images/n02.png" ></div>
</div>
<div class="ui02">
<div class="leftbox02">추가 옵션 기능<br><em>(미선택 or 다중 선택 가능)</em></div>
<div class="rightbox02"><img src="/res/front/home/asset/images/n03.png" ></div>
</div>
<div class="ui03">
<div class="leftbox03">클라우드 용량 추가<br><em>(미선택 or 수량 입력)</em></div>
<div class="rightbox03"><img src="/res/front/home/asset/images/n04.png" ></div>
</div>
<div class="ui04">
<div class="leftbox04">기본 제공 기능<br><em>(서비스 가입 시 기본 제공)</em></div>
<div class="rightbox04"><img src="/res/front/home/asset/images/n05.png" ></div>
</div>
</div>
<div class="detailcontents02" id="tab2">
<div class="title09">서비스 가입 및 이용절차</div>
<div class="title10">관리자가 가입 시 입력한 조직 기준 대상으로 포털 서비스를 제공하며, 가입 시 선택한 기능들을 조직 별로 제공합니다.<br>
조직은 랜선에듀On회원이면 누구나 개설할 수 있으며 최초 조직 생성자가 관리자 권한을 가집니다.<br>
호스트는 관리자가 지정할 수 있으며 그룹을 생성하여 화상방을 개설하고 사용자들을 초대하여 교육 및 회의를 진행할 수 있습니다.
</div>
</div>
<div class="imgarea">
<img src="/res/front/home/asset/images/n06.png" >
</div>
<div class="detailcontents02" id="tab3">
<div class="title10">사용자별 이용권한</div>
<div class="title09">화상 포털 서비스</div>
</div>
<div class="imgarea">
<img src="/res/front/home/asset/images/n07.png" >
</div>
<div class="detailcontents02" id="tab4">
<div class="title10">사용자별 이용권한</div>
<div class="title09">화상 서비스</div>
</div>
<div class="imgarea">
<img src="/res/front/home/asset/images/n08.png" >
</div>
</div>
</div>
<!-- 상세 : e -->
</div>
<!-- footer : s -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_footer.jsp"/>
<!-- footer : e -->
</div>
<!-- wrap : e -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_popup.jsp"/>
<script src="/res/front/js/biz/home/home-common.js?v=${timestamp}"></script>
</body>
</html>
@@ -0,0 +1,74 @@
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<jsp:include page="/WEB-INF/view/include/inc_home_head.jsp"/>
<jsp:include page="/WEB-INF/view/include/inc_head_script.jsp"/>
</head>
<body class="<c:if test="${not empty loginUser}">logined</c:if>">
<!-- wrap : s -->
<div class="wrap">
<!-- header : s -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_header.jsp"/>
<!-- header : e -->
<div class="container">
<div id="contents">
<!-- 상세 : s -->
<div class="subVisual bg03" >
<h2>실시간 화상 서비스 안내</h2>
</div>
<div class="inner">
<!-- serviceWrap : s -->
<div class="serviceWrap">
<div class="serviceData pt40">
<img src="/res/front/home/asset/images/n09.png"></div>
<div class="serviceNotice">
<dl>
<dt>공통 제공 기능</dt>
<dd>
<span>Quick 모임</span>
<span>화상링크 공유 및 외부인 참석</span>
<span> 실시간 화상 녹화 및 로컬 저장(호스트 및 방개설자 대상)</span>
<span>화면/문서 공유 </span>
<span>화이트보드 </span>
<span>채팅</span>
<span>공지사항 등록 등</span>
</dd>
</dl>
</div>
<!-- 2021-10-18 추가 : s -->
<div class="serviceNotice">
<dl>
<dt>조직 내 개설 가능 화상 수</dt>
<dd>
<span>조직 내에서 구매한 호스트 수량 만큼 동시간대 화상 개설이 가능합니다. </span>
</dd>
</dl>
</div>
<!-- 2021-10-18 추가 : e -->
</div>
<!-- serviceWrap : e -->
</div>
<!-- 상세 : e -->
</div>
</div>
<!-- footer : s -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_footer.jsp"/>
<!-- footer : e -->
</div>
<!-- wrap : e -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_popup.jsp"/>
<script src="/res/front/js/biz/home/home-common.js?v=${timestamp}"></script>
</body>
</html>
@@ -0,0 +1,173 @@
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<jsp:include page="/WEB-INF/view/include/inc_home_head.jsp"/>
<jsp:include page="/WEB-INF/view/include/inc_head_script.jsp"/>
<script>
var tabIndex = 0;
<c:if test="${not empty param.tabIndex}">
tabIndex = ${param.tabIndex};
</c:if>
$(function() {
$('#tabMenu').find('a').on('click', function() {
event.preventDefault();
event.stopPropagation();
return false;
});
})
var goToCost = function() {
};
$(function() {
// 해당 메뉴 이동
$('.tabMenu a').on('click' , function(e){
e.preventDefault();
var idx = $(this).index();
$('#inner0').removeClass("on");
$('#inner1').removeClass("on");
$('#inner2').removeClass("on");
$('#inner3').removeClass("on");
$('#inner' + idx).addClass("on");
$('body, html').stop().animate({
scrollTop : $('.introWrap .section').eq(idx).offset().top - $('#header').outerHeight(true) - 30
});
});
$('.tabMenu a').eq(tabIndex).trigger('click');
});
</script>
</head>
<body class="<c:if test="${not empty loginUser}">logined</c:if>">
<!-- wrap : s -->
<div class="wrap">
<jsp:include page="/WEB-INF/view/include/inc_home_body_header.jsp"/>
<div class="container">
<div id="contents">
<!-- 상세 : s -->
<div class="subVisual bg02">
<h2>기본 제공 기능</h2>
<p>서비스 가입 시 선택한 기능 및 구매한 호스트 개수에 상관없이 기본 제공하는 기능입니다.</p>
<div class="tabMenu">
<div class="inner" id="inner">
<a href="#" id="inner0" class="on">화상 히스토리</a>
<a href="#" id="inner1">화상 녹화 로컬 저장</a>
<a href="#" id="inner2">공지사항 게시판</a>
<a href="#" id="inner3">관리자메뉴</a>
</div>
</div>
</div>
<div class="inner">
<!-- introWrap : s -->
<div class="introWrap ver2">
<div class="section sec01">
<div class="titBox">
<span class="bedge">기본기능</span>
<h3>화상 히스토리</h3>
</div>
<div class="conBox right">
<div class="imgObj wHide"><img src="/res/front/home/asset/images/m_img_intro0201.png" alt=""></div>
<div class="txtObj">
<ul class="listStyle">
<li>내가 참여한 화상 내역
<p>참여한 화상 내역을 한눈에 볼 수 있습니다.</p>
</li>
<li>화상 출석 로그, 노트 작성 기록
<p>출석 로그 및 화상 중 작성한 노트 기록을 확인 할 수 있습니다. </p>
</li>
<li>호스트/방개설자 대상 녹화 다운로드
<p>호스트 혹은 방개설자는 녹화된 영상을 다운로드 받을 수 있습니다.<br>(단, 실시간 화상방 내에서 녹화한 경우만)</p>
</li>
</ul>
</div>
</div>
</div>
<div class="section sec02">
<div class="titBox">
<span class="bedge">기본기능</span>
<h3>화상 녹화 로컬 저장</h3>
</div>
<div class="conBox">
<div class="imgObj wHide"><img src="/res/front/home/asset/images/m_img_intro0202.png" alt=""></div>
<div class="txtObj">
<ul class="listStyle">
<li>녹화본 다운로드 제공
<p>화상방 개설자가 녹화 선택 시, PC로 녹화본을 다운로드<br class="mHide">할 수 있습니다.</p>
</li>
<li>녹화본 히스토리 확인
<p>해당 녹화본은 ‘화상 히스토리’에서도 확인이 가능합니다.</p>
</li>
</ul>
</div>
</div>
</div>
<div class="section sec03">
<div class="titBox">
<span class="bedge">기본기능</span>
<h3>공지사항 게시판</h3>
</div>
<div class="conBox right">
<div class="imgObj wHide"><img src=/res/front/home/asset/images/m_img_intro0203.png" alt=""></div>
<div class="txtObj">
<ul class="listStyle">
<li>공지사항 전파
<p>조직 내 공지사항을 전달할 수 있습니다.</p>
</li>
<li>공개 대상 그룹 설정
<p>전체 또는 특정 그룹으로 공개대상 그룹 설정이 가능합니다. </p>
</li>
<li>조직 내 커뮤니케이션
<p>실시간 화상 외에 조직 내 손쉽게 커뮤니케이션 할 수 있습니다. </p>
</li>
</ul>
</div>
</div>
</div>
<div class="section sec04">
<div class="titBox">
<span class="bedge">기본기능</span>
<h3>관리자 메뉴</h3>
</div>
<div class="conBox">
<div class="imgObj wHide"><img src="/res/front/home/asset/images/m_img_intro0204.png" alt=""></div>
<div class="txtObj">
<ul class="listStyle">
<li>조직 내 그룹/이용자 관리
<p>조직 내 그룹 및 이용자 관리 기능을 제공합니다. </p>
</li>
<li>호스트 지정 및 관리
<p>관리자가 원하는 호스트를 지정, 관리 할 수 있습니다. </p>
</li>
<li>상품 및 결제 정보 관리
<p>이용 상품 및 결제 정보를 확인할 수 있습니다. </p>
</li>
</ul>
</div>
</div>
</div>
<!-- introWrap : e -->
</div>
</div>
<!-- 상세 : e -->
</div>
</div>
<!-- footer : s -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_footer.jsp"/>
<!-- footer : e -->
</div>
<!-- wrap : e -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_popup.jsp"/>
<script src="/res/front/js/biz/home/home-common.js?v=${timestamp}"></script>
</body>
</html>
@@ -0,0 +1,18 @@
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<jsp:include page="/WEB-INF/view/include/inc_home_head.jsp"/>
<jsp:include page="/WEB-INF/view/include/inc_head_script.jsp"/>
</head>
<body class="<c:if test="${not empty loginUser}">logined</c:if>">
<h1>서비스 소개 - 상품안내 - 요금안내</h1>
<jsp:include page="/WEB-INF/view/include/inc_home_body_popup.jsp"/>
<script src="/res/front/js/biz/home/home-common.js?v=${timestamp}"></script>
</body>
</html>
@@ -0,0 +1,196 @@
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<jsp:include page="/WEB-INF/view/include/inc_home_head.jsp"/>
<jsp:include page="/WEB-INF/view/include/inc_head_script.jsp"/>
</head>
<body class="<c:if test="${not empty loginUser}">logined</c:if>">
<script type="text/javascript">
var tabIndex = 0;
<c:if test="${not empty param.tabIndex}">
tabIndex = ${param.tabIndex};
</c:if>
$(function() {
// 해당 메뉴 이동
$('.tabMenu a').on('click' , function(e){
e.preventDefault();
var idx = $(this).index();
$('#inner0').removeClass("on");
$('#inner1').removeClass("on");
$('#inner2').removeClass("on");
$('#inner3').removeClass("on");
$('#inner' + idx).addClass("on");
$('body, html').stop().animate({
scrollTop : $('.introWrap .section').eq(idx).offset().top - $('#header').outerHeight(true) - 30
});
});
$('.tabMenu a').eq(tabIndex).trigger('click');
});
</script>
<!-- wrap : s -->
<div class="wrap">
<jsp:include page="/WEB-INF/view/include/inc_home_body_header.jsp"/>
<div class="container">
<div id="contents">
<!-- 상세 : s -->
<div class="subVisual bg01">
<h2>추가 옵션 기능</h2>
<p>실시간 화상 서비스 외 추가로 이용하고자 하는 옵션을 선택합니다. *복수선택 혹은 미선택 가능</p>
<div class="tabMenu">
<div class="inner">
<a href="#" id="inner0" >화상녹화 클라우드 자동 저장</a>
<a href="#" id="inner1" >실시간 화상 보안 솔루션</a>
<a href="#" id="inner2" >VOD 게시판</a>
<a href="#" id="inner3" >자료 게시판</a>
</div>
</div>
</div>
<div class="inner">
<!-- introWrap : s -->
<div class="introWrap">
<div class="section sec01">
<div class="titBox">
<span class="bedge">추가옵션기능</span>
<h3>화상녹화 클라우드 자동 저장</h3>
<div class="option">
<p class="price centerline">월 <span>2,000</span>원</p>
<p class="vat centerline">(VAT포함 월 2,200원 / 조직당)</p>
<p>0원</p>
</div>
</div>
<div class="conBox right">
<div class="imgObj wHide"><img src="/res/front/home/asset/images/m_img_intro0101.png" alt=""></div>
<div class="txtObj">
<ul class="listStyle">
<li>클라우드 용량 10GB 제공
<p>클라우드 용량 10GB을 추가로 드립니다. </p>
</li>
<li>녹화저장소 제공
<p>관리자 및 호스트에게는 ‘녹화저장소’를 제공합니다. </p>
</li>
<li>실시간 화상 녹화 클라우드 저장
<p>실시간 화상을 녹화할 경우 클라우드에 자동 저장됩니다.</p>
</li>
<li>녹화된 화상 영상을 게재
<p>‘VOD 게시판’을 이용할 경우 녹화된 화상 영상을 게재하여 조직 내 공유/활용 가능합니다.</p>
</li>
</ul>
</div>
</div>
</div>
<div class="section sec02">
<div class="titBox">
<span class="bedge">추가옵션기능</span>
<h3>실시간 화상 보안 솔루션</h3>
<div class="option">
<p class="price centerline">월 <span>3,000</span>원</p>
<p class="vat centerline">(VAT포함 월 3,300원 / 조직당)</p>
<p>0원</p>
</div>
</div>
<div class="conBox">
<div class="imgObj wHide"><img src="/res/front/home/asset/images/m_img_intro0102.png" alt=""></div>
<div class="txtObj">
<ul class="listStyle">
<li>실시간 화상 내 참여자 정보 워터마크 구성
<p>*유출 시 사후 추척 가능</p>
</li>
<li>실시간 녹화 방지
<p>실시간 녹화 방지 기능을 제공합니다. (2021.10 ~)</p>
</li>
<li>정보 보호
<p>강의 저작권 및 기업 정보가 보호됩니다. </p>
</li>
</ul>
</div>
</div>
</div>
<div class="section sec03">
<div class="titBox">
<span class="bedge">추가옵션기능</span>
<h3>VOD게시판</h3>
<div class="option">
<p class="price centerline">월 <span>2,000</span>원</p>
<p class="vat centerline">(VAT포함 월 2,200원 / 조직당)</p>
<p>0원</p>
</div>
</div>
<div class="conBox right">
<div class="imgObj wHide"><img src="/res/front/home/asset/images/m_img_intro0103.png" alt=""></div>
<div class="txtObj">
<ul class="listStyle">
<li>시청현황 확인/관리
<p>조직 내 이용자별 시청 현황 확인 및 관리가 가능합니다. </p>
</li>
<li>파일, 외부영상URL, 화상 녹화본 등록
<p>관리자/호스트의 경우 파일, 외부영상의 URL, 화상 녹화본을 등록할 수 있습니다. </p>
</li>
<li>클라우드 용량 10GB 제공
<p>VOD게시판 클라우드 용량 10GB을 제공합니다. </p>
</li>
<li>영상 노출 대상 선택
<p>영상을 특정한 대상 그룹에게만 노출되도록 선택할 수 있습니다. </p>
</li>
<li>다양한 교육 툴로 활용
<p>학원 VOD 수업 및 사내교육 툴로 활용 가능</p>
</li>
</ul>
</div>
</div>
</div>
<div class="section sec04">
<div class="titBox">
<span class="bedge">추가옵션기능</span>
<h3>자료 게시판</h3>
<div class="option">
<p class="price centerline">월 <span>2,000</span>원</p>
<p class="vat centerline">(VAT포함 월 2,200원 / 조직당)</p>
<p>0원</p>
</div>
</div>
<div class="conBox">
<div class="imgObj wHide"><img src="/res/front/home/asset/images/m_img_intro0104.png" alt=""></div>
<div class="txtObj">
<ul class="listStyle">
<li>공유 자료 등록/게시
<p>조직 내 공유를 목적으로 하는 자료를 등록/게시할 수 있습니다.</p>
</li>
<li>클라우드 용량 10GB 제공
<p>클라우드 용량 10GB을 제공합니다. </p>
</li>
<li>강의 및 회의 자료 공유
<p>화상 강의 또는 회의 시 필요한 자료를 공유할 수 있습니다. </p>
</li>
<li>그룹별 게시물 선택 노출
<p>조직 내 그룹별로 게시물 노출을 선택할 수 있습니다. </p>
</li>
</ul>
</div>
</div>
</div>
<!-- introWrap : e -->
</div>
</div>
<!-- 상세 : e -->
</div>
</div>
<!-- footer : s -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_footer.jsp"/>
<!-- footer : e -->
</div>
<!-- wrap : e -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_popup.jsp"/>
<script src="/res/front/js/biz/home/home-common.js?v=${timestamp}"></script>
</body>
</html>
@@ -0,0 +1,341 @@
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<jsp:include page="/WEB-INF/view/include/inc_home_head.jsp"/>
<jsp:include page="/WEB-INF/view/include/inc_head_script.jsp"/>
<script type="text/javascript">
$(function() {
// 특장점 스와이프
var featureSwiper = undefined;
function initFeatureSwiper(){
var screenWidth = window.innerWidth;
if(screenWidth <= 1023 && featureSwiper == undefined){
featureSwiper = new Swiper('.featureListArea', {
slidesPerView : 1,
spaceBetween : 15,
simulateTouch : true,
pagination: {
el: '.featureListArea .swiper-pagination',
},
});
}else if(screenWidth > 1024 && featureSwiper != undefined){
featureSwiper.destroy();
featureSwiper = undefined;
$('.featureListArea .swiper-wrapper').removeAttr('style');
$('.featureListArea .swiper-slide').removeAttr('style');
}
}
// 옵션 기능 스와이프
var funcSwiper1 = undefined;
var funcSwiper2 = undefined;
function initFuncSwiper(){
var screenWidth = window.innerWidth;
if(screenWidth <= 1023 && funcSwiper1 == undefined){
funcSwiper1 = new Swiper('.funcListArea.type01', {
slidesPerView : 1,
spaceBetween : 15,
simulateTouch : true,
pagination: {
el: '.funcListArea.type01 .swiper-pagination',
},
});
}else if(screenWidth > 1024 && funcSwiper1 != undefined){
funcSwiper1.destroy();
funcSwiper1 = undefined;
$('.funcListArea.type01 .swiper-wrapper').removeAttr('style');
$('.funcListArea.type01 .swiper-slide').removeAttr('style');
}
if(screenWidth <= 1023 && funcSwiper2 == undefined){
funcSwiper2 = new Swiper('.funcListArea.type02', {
slidesPerView : 1,
spaceBetween : 15,
simulateTouch : true,
pagination: {
el: '.funcListArea.type02 .swiper-pagination',
},
});
}else if(screenWidth > 1024 && funcSwiper2 != undefined){
funcSwiper2.destroy();
funcSwiper2 = undefined;
$('.funcListArea.type02 .swiper-wrapper').removeAttr('style');
$('.funcListArea.type02 .swiper-slide').removeAttr('style');
}
}
initFeatureSwiper();
initFuncSwiper();
$(window).on('resize', function(){
initFeatureSwiper();
initFuncSwiper();
});
// 화상 유형 스와이프
var introTypeMenu = ['<span><em>Education.</em> 교육용</span>', '<span><em>Meeting.</em> 회의용</span>', '<span><em>Webinar.</em> 웨비나용</span>'];
var introTypeSwiper = new Swiper('.introTypeSwiper', {
slidesPerView: 1,
loop : true,
simulateTouch : false,
autoplay : {
delay : 5000,
disableOnInteraction : false
},
navigation: {
nextEl: '.introTypeSwiper .btnSwiper.next',
prevEl: '.introTypeSwiper .btnSwiper.prev',
},
pagination : {
el : '.introTypeSwiper .introTypeMenu',
clickable : true,
bulletActiveClass : 'on',
renderBullet: function (index, className) {
return '<a href="#" class="' + className + '">' + (introTypeMenu[index]) + '</a>';
}
},
breakpoints : {
1380 : {
simulateTouch : true
}
}
});
});
</script>
</head>
<body class="<c:if test="${not empty loginUser}">logined</c:if>">
<!-- wrap : s -->
<div class="wrap">
<jsp:include page="/WEB-INF/view/include/inc_home_body_header.jsp"/>
<div class="container">
<div id="contents">
<!-- 상세 : s -->
<div class="inner">
<div class="topTitle">
<h2 class="bigTitle blind">요금 시뮬레이션</h2>
</div>
<!-- paymentWrap : s -->
<div class="paymentWrap">
<div class="paymentGridBox">
<div class="item">
<div class="itemHead">
<dl>
<dt>화상유형</dt>
<dd>
<div class="number"><span id="defaultProductTitle">0</span>원</div>
</dd>
</dl>
</div>
<div class="itemCont">
<div class="optionList">
<div class="optionItem">
<strong class="prod">교육 + 웨비나<br class="mHide">결합형</strong>
<div class="numArea">
<div class="number mHide"><span id="defaultProduct"></span>원</div>
</div>
</div>
</div>
<p class="etc mHide">최대 동시접속자<br>교육형 N형 / 웨비나형 N형</p>
</div>
</div>
<div class="item">
<div class="itemHead">
<dl>
<dt>호스트 권한 수</dt>
<dd>
<div class="number"><span id="hostCountTitle"></span>명</div>
</dd>
</dl>
</div>
<div class="itemCont">
<div class="optionList">
<div class="optionItem">
<div class="numArea">
<div class="number"><span>12,000</span>원 x <span id="hostCount"></span></div>
</div>
</div>
</div>
</div>
</div>
<div class="item">
<div class="itemHead">
<dl>
<dt>부가옵션</dt>
<dd>
<div class="number"><span id="subOptionTotalPrice"></span>원</div>
</dd>
</dl>
</div>
<div class="itemCont">
<div class="optionList">
<div class="optionItem" id="price21">
<strong class="prod">VOD게시판</strong>
<div class="numArea">
<div class="number"><span id="price21_1"></span>원</div>
</div>
</div>
<div class="optionItem disabled" id="price22">
<strong class="prod">자료게시판</strong>
<div class="numArea">
<div class="number"><span id="price22_1"></span>원</div>
</div>
</div>
<div class="optionItem disabled" id="price23">
<strong class="prod">Cloud 저장</strong>
<div class="numArea">
<div class="number"><span id="price23_1"></span>원</div>
</div>
</div>
<div class="optionItem" id="price24">
<strong class="prod">화상 히스토리</strong>
<div class="numArea">
<div class="number"><span id="price24_1"></span>원</div>
</div>
</div>
</div>
</div>
</div>
<div class="item">
<div class="itemHead">
<dl>
<dt>클라우드 용량</dt>
<dd>
<div class="number"><span id="price31"></span>원</div>
</dd>
</dl>
</div>
<div class="itemCont">
<div class="optionList">
<div class="optionItem">
<div class="numArea">
<div class="number"><span>1,000</span>원 x <span id="price31_1"></span></div>
<div class="number small">(<span>10GB</span> x <span id="price31_2"></span> )</div>
</div>
</div>
</div>
</div>
</div>
<div class="item total">
<div class="itemHead">
<dl>
<dt>총 결제금액</dt>
<dd>
<div class="number"><span id="priceTotal"></span>원</div>
<div class="vat" id="priceTotalVat"></div>
</dd>
</dl>
</div>
<div class="itemCont">
<div class="optionList">
<div class="optionItem">
<strong class="prod">클라우드 용량</strong>
<div class="numArea">
<div class="number"><span id="totalCloud">40GB</span></div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="resultPayment">
<p class="msg">예상 사용료는</p>
<p class="price"><em id="priceTotalB"></em>원 / 월</p>
<p class="vat" id="priceTotalVatB"></p>
</div>
<div class="btnArea">
<a href="/home#simulation" class="btns big btnCol02">
<span>다시 계산하기</span>
</a>
<a href="/home/user/org/register" class="btns big btnCol01">
<span>지금 구매하기</span>
</a>
<div class="guideTxt big">2022년 1월 31일 까지 무료 체험</div>
</div>
</div>
<!-- paymentWrap : e -->
</div>
<!-- 상세 : e -->
</div>
</div>
<!-- footer : s -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_footer.jsp"/>
<!-- footer : e -->
</div>
<!-- wrap : e -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_popup.jsp"/>
<script src="/res/front/js/biz/home/home-common.js?v=${timestamp}"></script>
<script type="text/javascript">
function numText(s)
{
var regex = /\B(?=(\d{3})+(?!\d))/g;
return s.toString().replace(regex, ",");
}
$(document).ready(function(){
var priceItem = JSON.parse(localStorage.getItem("lanEduProdectInfo"));
console.log(priceItem);
$('#defaultProductTitle').text(numText(priceItem.defaultProduct.price))
$('#defaultProduct').text(numText(priceItem.defaultProduct.price))
$('#hostCountTitle').text(numText(priceItem.hostCount.count))
$('#hostCount').text(numText(priceItem.hostCount.count))
$('#subOptionTotalPrice').text(numText(priceItem.optionProduct.totalPrice))
for (var i = 0; i < priceItem.optionProduct.data.length; i++)
{
console.log(priceItem.optionProduct.data[i].price);
console.log(priceItem.optionProduct.data[i].isSelected);
if (priceItem.optionProduct.data[i].isSelected)
{
$('#price2' + (i+1) + "_1").text(numText(priceItem.optionProduct.data[i].price));
$('#price2' + (i+1)).removeClass('disabled');
}
else
{
$('#price2' + (i+1) + "_1").text('0');
$('#price2' + (i+1)).addClass('disabled');
}
}
$('#price31').text(numText(priceItem.storageCount.totalPrice))
$('#price31_1').text(numText(priceItem.storageCount.count))
$('#price31_2').text(numText(priceItem.storageCount.count))
$('#priceTotal').text(numText(priceItem.totalPrice))
$('#totalCloud').text(numText(priceItem.storageCount.count) + "0GB")
$('#priceTotalVat').text("(VAT 포함가 " + numText(Math.floor((priceItem.totalPrice * 1.1))) + "원)")
$('#priceTotalB').text(numText(priceItem.totalPrice))
$('#priceTotalVatB').text("(VAT 포함가 " + numText(Math.floor((priceItem.totalPrice * 1.1))) + "원)")
});
</script>
</body>
</html>
@@ -0,0 +1,277 @@
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<jsp:include page="/WEB-INF/view/include/inc_home_head.jsp"/>
<jsp:include page="/WEB-INF/view/include/inc_head_script.jsp"/>
</head>
<body class="<c:if test="${not empty loginUser}">logined</c:if>">
<!-- wrap : s -->
<div class="wrap">
<jsp:include page="/WEB-INF/view/include/inc_home_body_header.jsp"/>
<div class="container">
<div id="contents">
<!-- 상세 : s -->
<div class="inner">
<div class="topTitle">
<h2 class="defaultTitle">요금 시뮬레이션</h2>
</div>
<!-- paymentWrap : s -->
<div class="paymentWrap">
<div class="paymentGridBox">
<div class="item">
<div class="itemHead">
<dl>
<dt>화상유형</dt>
<dd>
<div class="number centerline"><span id="defaultProductTitle">0</span>원</div>
<p>0원</p>
</dd>
</dl>
</div>
<div class="itemCont">
<div class="optionList">
<div class="optionItem">
<strong class="prod" id="defaultType">교육 + 웨비나<br class="mHide">결합형</strong>
<div class="numArea">
<div class="number mHide centerline"><span id="defaultProduct"></span>원</div>
<p>0원</p>
</div>
</div>
</div>
<p class="etc mHide" id="defaultTypeDetail">최대 동시접속자<br>교육형 N형 / 웨비나형 N형</p>
</div>
</div>
<div class="item">
<div class="itemHead">
<dl>
<dt>호스트 권한 수</dt>
<dd>
<div class="number"><span id="hostCountTitle"></span>명</div>
</dd>
</dl>
</div>
<div class="itemCont">
<div class="optionList">
<div class="optionItem">
<div class="numArea">
<div class="number centerline"><span id="hostPrice">12,000</span>원 x <span id="hostCount"></span></div>
<p>0원</p>
</div>
</div>
</div>
</div>
</div>
<div class="item">
<div class="itemHead">
<dl>
<dt>부가옵션</dt>
<dd>
<div class="number centerline"><span id="subOptionTotalPrice"></span>원</div>
<p>0원</p>
</dd>
</dl>
</div>
<div class="itemCont">
<div class="optionList">
<div class="optionItem" id="price21">
<strong class="prod">Cloud 저장</strong>
<div class="numArea">
<div class="number centerline"><span id="price21_1"></span>원</div>
<p>0원</p>
</div>
</div>
<div class="optionItem" id="price22">
<strong class="prod">실시간 화상 보안 솔루션</strong>
<div class="numArea">
<div class="number centerline"><span id="price22_1"></span>원</div>
<p>0원</p>
</div>
</div>
<div class="optionItem" id="price23">
<strong class="prod">VOD게시판</strong>
<div class="numArea">
<div class="number centerline"><span id="price23_1"></span>원</div>
<p>0원</p>
</div>
</div>
<div class="optionItem" id="price24">
<strong class="prod">자료게시판</strong>
<div class="numArea">
<div class="number centerline"><span id="price24_1"></span>원</div>
<p>0원</p>
</div>
</div>
</div>
</div>
</div>
<div class="item">
<div class="itemHead">
<dl>
<dt>클라우드 용량</dt>
<dd>
<div class="number centerline"><span id="price31"></span>원</div>
<p>0원</p>
</dd>
</dl>
</div>
<div class="itemCont">
<div class="optionList">
<div class="optionItem">
<div class="numArea">
<div class="number centerline"><span>1,000</span>원 x <span id="price31_1"></span></div>
<div class="number small">(<span>10GB</span> x <span id="price31_2"></span> )</div>
<p>0원</p>
</div>
</div>
</div>
</div>
</div>
<div class="item total">
<div class="itemHead">
<dl>
<dt>총 결제금액</dt>
<dd>
<div class="number centerline"><span id="priceTotal"></span>원</div>
<div class="vat centerline" id="priceTotalVat"></div>
<p>0원</p>
</dd>
</dl>
</div>
<div class="itemCont">
<div class="optionList">
<div class="optionItem">
</div>
</div>
</div>
</div>
</div>
<div class="resultPayment">
<p class="msg">예상 사용료는</p>
<p class="price centerline"><em id="priceTotalB"></em>원 / 월</p>
<p class="vat centerline" id="priceTotalVatB"></p>
<p>0원</p>
</div>
<div class="btnArea">
<a href="/home#simulation" class="btns big btnCol02">
<span>다시 계산하기</span>
</a>
<a onclick="g_goPriceSimulation()" href="#" class="btns big btnCol01">
<span>지금 이용하기</span>
</a>
</div>
</div>
</div>
<!-- paymentWrap : e -->
</div>
<!-- 상세 : e -->
</div>
<!-- footer : s -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_footer.jsp"/>
<!-- footer : e -->
</div>
<!-- wrap : e -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_popup.jsp"/>
<script src="/res/front/js/biz/home/home-common.js?v=${timestamp}"></script>
<script type="text/javascript">
//지금 구매하기
function g_goPriceSimulation(){
event.stopPropagation();
event.preventDefault();
var login = document.getElementsByClassName("logined")[0];
if (login == null) {
g_showLoginPopup('/home/user/org/register');
return false;
}
location.href = '/home/user/org/register';
}
function numText(s)
{
return s.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
}
$(document).ready(function(){
var priceItem = JSON.parse(localStorage.getItem("lanEduProdectInfo"));
console.log('-----------------');
console.log(priceItem);
//로직잘못되서 수정
priceItem.hostCount.price = parseInt(priceItem.defaultProduct.price, 10) * parseInt(priceItem.hostCount.count, 10);
var sumPrice = parseInt(priceItem.hostCount.price, 10) + parseInt(priceItem.optionProduct.totalPrice, 10)
+ parseInt(priceItem.storageCount.totalPrice, 10);
priceItem.totalPrice = sumPrice;
$('#defaultType').html(priceItem.defaultProduct.name.replace("\n", "<br>"));
$('#defaultTypeDetail').html(priceItem.defaultProduct.discription.replace("\n", "<br>"));
$('#defaultProductTitle').text(numText(priceItem.defaultProduct.price));
$('#defaultProduct').text(numText(priceItem.defaultProduct.price));
$('#hostCountTitle').text(numText(priceItem.hostCount.count));
$('#hostPrice').text( numText(priceItem.defaultProduct.price) );
$('#hostCount').text(numText(priceItem.hostCount.count));
$('#subOptionTotalPrice').text(numText(priceItem.optionProduct.totalPrice));
var cloudSize = 0;
for (var i = 0; i < priceItem.optionProduct.data.length; i++)
{
console.log(priceItem.optionProduct.data[i].price);
console.log(priceItem.optionProduct.data[i].isSelected);
var optionId = priceItem.optionProduct.data[i].id;
if (priceItem.optionProduct.data[i].isSelected)
{
$('#price2' + (i+1) + "_1").text(numText(priceItem.optionProduct.data[i].price));
$('#price2' + (i+1)).removeClass('disabled');
if(optionId == "6"||optionId == "8"||optionId == "9"){
cloudSize++;
}
}
else
{
$('#price2' + (i+1) + "_1").text('0');
$('#price2' + (i+1)).addClass('disabled');
}
}
$('#price31').text(numText(priceItem.storageCount.totalPrice));
$('#price31_1').text(numText(priceItem.storageCount.count));
$('#price31_2').text(numText(priceItem.storageCount.count));
$('#priceTotal').text(numText(priceItem.totalPrice));
if (cloudSize > 0 || priceItem.storageCount.count > 0){
$('#totalCloud').text(numText(priceItem.storageCount.count+cloudSize) + "0GB");
}
else{
$('#totalCloud').text("0GB");
}
$('#priceTotalVat').text("(VAT 포함가 " + numText(Math.floor((priceItem.totalPrice * 1.1))) + "원)");
$('#priceTotalB').text(numText(priceItem.totalPrice));
$('#priceTotalVatB').text("(VAT 포함가 " + numText(Math.floor((priceItem.totalPrice * 1.1))) + "원)");
});
</script>
</body>
</html>
@@ -0,0 +1,221 @@
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<jsp:include page="/WEB-INF/view/include/inc_home_head.jsp"/>
<jsp:include page="/WEB-INF/view/include/inc_head_script.jsp"/>
</head>
<body class="<c:if test="${not empty loginUser}">logined</c:if>">
<!-- wrap : s -->
<div class="wrap">
<jsp:include page="/WEB-INF/view/include/inc_home_body_header.jsp"/>
<div class="container">
<div id="contents">
<!-- 상세 : s -->
<div class="subVisual bg03">
<h2>실시간 화상 서비스 안내</h2>
</div>
<div class="inner">
<!-- serviceWrap : s -->
<div class="serviceWrap">
<div class="serviceData">
<div class="serviceHead">
<div class="th tit"></div>
<div class="th price">월 이용가격<br>(호스트 당)</div>
<div class="th author">화상 개설 권한</div>
<!--<div class="th count">조직 내 동시 개설 가능 화상 수</div>--><!-- 2021-10-18 삭제-->
<div class="th people">화상 내 최대 동시접속자</div>
<div class="th option">주요 특징 및 제공 기능 </div>
</div>
<div class="serviceCont">
<div class="item">
<div class="value tit">
<dl>
<dt>교육형</dt>
<dd>호스트 중심의 강의형 실시간 화상제공</dd>
</dl>
</div>
<div class="value price">
<div class="priceArea">월 <span>8,000</span>원</div>
<div class="vat">(VAT포함 월 8,800원)</div>
</div>
<div class="value author">
<div class="obj">
<span>호스트</span>
</div>
</div>
<!-- 2021-10-19 삭제
<div class="value count">조직 내 호스트 구매 개수</div>
-->
<div class="value people">
<div class="obj">
<span>100명</span>
</div>
</div>
<div class="value option">퀴즈 제출, 학습노트,<br class="mHide">미참석자 대상 SMS 발송, 출결 관리 등</div>
</div>
<div class="item">
<div class="value tit">
<dl>
<dt>회의형</dt>
<dd>소그룹 회의/ 모임형 실시간 화상제공</dd>
</dl>
</div>
<div class="value price">
<div class="priceArea">월 <span>6,000</span>원</div>
<div class="vat">(VAT포함 월 6,600원)</div>
</div>
<div class="value author">
<div class="obj">
<span>호스트, 조직 내 모든 사용자</span>
</div>
</div>
<!-- 2021-10-19 삭제
<div class="value count">조직 내 호스트 구매 개수</div>
-->
<div class="value people">
<div class="obj">
<span>100명</span>
</div>
</div>
<div class="value option">설문/투표 등록,<br class="mHide"><span>링크 공유 및 외부인 참석</span></div><!-- 2021-10-19 수정-->
</div>
<div class="item">
<div class="value tit">
<dl>
<dt>웨비나형</dt>
<dd>대형 세미나 및 이벤트형 실시간 화상제공</dd>
</dl>
</div>
<div class="value price">
<div class="priceArea">월 <span>5,000</span>원</div>
<div class="vat">(VAT포함 월 5,500원)</div>
</div>
<div class="value author">
<div class="obj">
<span>호스트</span>
</div>
</div>
<!-- 2021-10-19 삭제
<div class="value count">조직 내 호스트 구매 개수</div>
-->
<div class="value people">
<div class="obj">
<span>1,000명</span>
</div>
</div>
<div class="value option">발표자 화면만 노출,<br class="mHide"><span>링크 공유 및 외부인 참석</span></div><!-- 2021-10-19 수정-->
</div>
</div>
<div class="serviceCont next">
<div class="item">
<div class="value tit">
<dl>
<dt>교육+웨비나 결합형</dt>
<dd>교육용 및 웨비나용 실시간 화상 제공</dd>
</dl>
</div>
<div class="value price">
<div class="priceArea">월 <span>12,000</span>원</div>
<div class="vat">(VAT포함 월 13,200원)</div>
</div>
<div class="value author">
<div class="obj">
<span>호스트</span>
</div>
</div>
<!-- 2021-10-19 삭제
<div class="value count">조직 내 호스트 구매 개수</div>
-->
<div class="value people">
<div class="obj">
<span class="bedge">교육형</span>
<span>100명</span>
</div>
<div class="obj">
<span class="bedge">웨비나형</span>
<span>1,000명</span>
</div>
</div>
<div class="value option">교육/웨비나형 모두 제공<br class="mHide">(방 개설 시 유형 선택)</div>
</div>
<div class="item">
<div class="value tit">
<dl>
<dt>회의+웨비나 결합형</dt>
<dd>회의용 및 웨비나용 실시간 화상 제공</dd>
</dl>
</div>
<div class="value price">
<div class="priceArea">월 <span>10,000</span>원</div>
<div class="vat">(VAT포함 월 11,000원)</div>
</div>
<div class="value author">
<div class="obj">
<span class="bedge">회의형</span>
<span>호스트, 조직 내 모든 사용자</span>
</div>
<div class="obj">
<span class="bedge">웨비나형</span>
<span>호스트</span>
</div>
</div>
<!-- 2021-10-19 삭제
<div class="value count">조직 내 호스트 구매 개수</div>
-->
<div class="value people">
<div class="obj">
<span class="bedge">회의형</span>
<span>100명</span>
</div>
<div class="obj">
<span class="bedge">웨비나형</span>
<span>1,000명</span>
</div>
</div>
<div class="value option">교육/웨비나형 모두 제공<br class="mHide">(방 개설 시 유형 선택)</div>
</div>
</div>
</div>
<div class="serviceNotice">
<dl>
<dt>공통 제공 기능</dt>
<dd>
<span>실시간 화상 녹화 및 로컬 저장(호스트 및 방개설자 대상)</span>
<span>화면 및 문서 공유 </span>
<span>화이트보드 </span>
<span>채팅</span>
<span>화상공지사항 등록</span>
</dd>
</dl>
</div>
<!-- 2021-10-18 추가 : s -->
<div class="serviceNotice">
<dl>
<dt>조직 내 개설 가능 화상 수</dt>
<dd>
<span>조직 내에서 구매한 호스트 수량 만큼 동시간대 화상 개설이 가능합니다. </span>
</dd>
</dl>
</div>
<!-- 2021-10-18 추가 : e -->
</div>
<!-- serviceWrap : e -->
</div>
<!-- 상세 : e -->
</div>
</div>
<!-- footer : s -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_footer.jsp"/>
<!-- footer : e -->
</div>
<!-- wrap : e -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_popup.jsp"/>
<script src="/res/front/js/biz/home/home-common.js?v=${timestamp}"></script>
</body>
</html>
@@ -0,0 +1,264 @@
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<jsp:include page="/WEB-INF/view/include/inc_home_head.jsp"/>
<jsp:include page="/WEB-INF/view/include/inc_head_script.jsp"/>
</head>
<body class="<c:if test="${not empty loginUser}">logined</c:if>">
<!-- wrap : s -->
<div class="wrap">
<!-- header : s -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_header.jsp"/>
<!-- header : e -->
<div class="container">
<div id="contents">
<div id="vueApp" class="inner hidden">
<form method="post" @submit.prevent="onSubmit">
<!-- 상세 : s -->
<div class="innerWrap">
<dl class="formList">
<dt>필수 입력(조직정보)</dt>
<dd>
<input type="text" class="inpText" placeholder="조직 이름 검색" @click="openSearchPopup" :value="view.cafeName" readonly ref="cafeName">
</dd>
<dd>
<input :value="view.cafeCode" type="text" class="inpText" placeholder="조직코드" disabled>
</dd>
<dd class="error"><!-- 인풋 입력이 에러일 경우 클래스 'error' 추가 -->
<div class="inputCountBox">
<input v-model="bind.cafeUserName" type="text" class="inpText" placeholder="사용자 이름" ref="cafeUserName" maxlength="20">
<span class="count"><em class="cur">{{bind.cafeUserName.length}}</em> / 20</span>
<span class="errorMsg">조직에서 사용할 사용자의 이름</span>
</div>
</dd>
</dl>
<dl class="formList">
<dt>
선택 입력(사용자 정보)
<p class="stit">조직 내에서 사용할 사용자에 대한 추가 정보를 입력해주세요</p>
</dt>
<dd>
<ul class="inpField">
<li>
<div class="tabShapeRadio">
<span class="inputRadio tabShape">
<input type="radio" name="radioMen" id="radioGirl" v-model="bind.cafeUserGender" value="F">
<label for="radioGirl">여자</label>
</span>
<span class="inputRadio tabShape">
<input type="radio" name="radioMen" id="radioBoy" v-model="bind.cafeUserGender" value="M">
<label for="radioBoy">남자</label>
</span>
</div>
</li>
<li>
<div class="boxHorizental">
<span>
<span class="selectBoxWrap">
<select id="year" class="selectBox">
<option>생년</option>
</select>
</span>
</span>
<span>
<span class="selectBoxWrap">
<select id="month" class="selectBox">
<option>월</option>
</select>
</span>
</span>
<span>
<span class="selectBoxWrap">
<select id="day" class="selectBox">
<option>일</option>
</select>
</span>
</span>
</div>
</li>
</ul>
</dd>
<dd>
<ul class="inpField">
<li>
<div class="inpAddBtn">
<input v-model="bind.cafeUserZipcode" id="cafeUserZipcode" type="text" class="inpText" readonly>
<%-- <a href="javascript:execDaumPostcode();" class="btns btnCol04">--%>
<a @click="openPostApi" class="btns btnCol04">
<span>우편번호 검색</span>
</a>
</div>
</li>
<li>
<input v-model="bind.cafeUserAddr" id="cafeUserAddr" type="text" class="inpText" readonly>
</li>
<li>
<input v-model="bind.cafeUserAddrDetail" id="cafeUserAddrDetail" type="text" class="inpText" placeholder="상세주소" ref="addrDetail">
</li>
</ul>
</dd>
</dl>
<div class="btnArea">
<button type="submit" class="btns btnCol01">
<span>조직 가입 신청</span>
</button>
</div>
</div>
<!-- 상세 : e -->
</form>
<div class="layerPop" id="layerOrganSelect">
<div class="layerPopArea">
<div class="popCont">
<!-- 내용 : s -->
<strong class="popTit mHide">조직선택</strong>
<ul class="inpField">
<li>
<input type="text" class="inpText" placeholder="조직 이름을 검색해 주세요." ref="search" @keyup="searchCafeName">
<p style="font-size: 12px; color: red; text-align: center; margin-top:5px;" v-show="valid.keyupError">특수 문자로 검색할 수 없습니다.</p>
</li>
</ul>
<!-- 검색결과가 없을 경우 : s -->
<div class="resultBox noData" v-if="!list.length">
<div class="middle">검색 결과가 없습니다.</div>
</div>
<!-- 검색결과가 없을 경우 : e -->
<div class="resultBox" v-else>
<div class="item" v-for="(data, idx) in list">
<a @click="selectCafe(data)" href="#">
<strong class="name" v-text="data.name"></strong>
<div class="etc">
<span v-text="data.cafeTypeName"></span>
<span v-text="data.cafeAreaName"></span>
</div>
</a>
</div>
</div>
<!-- 내용 : e -->
</div>
<a href="#" class="btnPopClose" @click="closeSearchPopup">해당 레이어 닫기</a>
</div>
</div>
</div>
</div>
</div>
<!-- footer : s -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_footer.jsp"/>
<!-- footer : e -->
</div>
<!-- wrap : e -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_popup.jsp"/>
<script src="/res/front/js/biz/home/home-common.js?v=${timestamp}"></script>
<script src="/res/front/js/biz/home/user/cafe-join.js?v=${timestamp}"></script>
<!-- iOS에서는 position:fixed 버그가 있음, 적용하는 사이트에 맞게 position:absolute 등을 이용하여 top,left값 조정 필요 -->
<div id="zipcodelayer" style="display:none;position:fixed;overflow:hidden;z-index:1;-webkit-overflow-scrolling:touch;">
<img src="//t1.daumcdn.net/postcode/resource/images/close.png" id="btnCloseLayer" style="cursor:pointer;position:absolute;right:-3px;top:-3px;z-index:1" onclick="closeDaumPostcode()" alt="닫기 버튼">
<%-- <img src="//t1.daumcdn.net/postcode/resource/images/close.png" id="btnCloseLayer" style="cursor:pointer;position:absolute;right:-3px;top:-3px;z-index:1" @click="closePostApi" alt="닫기 버튼">--%>
</div>
<script src="//t1.daumcdn.net/mapjsapi/bundle/postcode/prod/postcode.v2.js"></script>
<script>
// 우편번호 찾기 화면을 넣을 element
var element_layer = document.getElementById('zipcodelayer');
function closeDaumPostcode() {
// iframe을 넣은 element를 안보이게 한다.
element_layer.style.display = 'none';
}
/*
function execDaumPostcode() {
new daum.Postcode({
oncomplete: function(data) {
// 검색결과 항목을 클릭했을때 실행할 코드를 작성하는 부분.
// 각 주소의 노출 규칙에 따라 주소를 조합한다.
// 내려오는 변수가 값이 없는 경우엔 공백('')값을 가지므로, 이를 참고하여 분기 한다.
var addr = ''; // 주소 변수
var extraAddr = ''; // 참고항목 변수
//사용자가 선택한 주소 타입에 따라 해당 주소 값을 가져온다.
if (data.userSelectedType === 'R') { // 사용자가 도로명 주소를 선택했을 경우
addr = data.roadAddress;
} else { // 사용자가 지번 주소를 선택했을 경우(J)
addr = data.jibunAddress;
}
// 사용자가 선택한 주소가 도로명 타입일때 참고항목을 조합한다.
if(data.userSelectedType === 'R'){
// 법정동명이 있을 경우 추가한다. (법정리는 제외)
// 법정동의 경우 마지막 문자가 "동/로/가"로 끝난다.
if(data.bname !== '' && /[동|로|가]$/g.test(data.bname)){
extraAddr += data.bname;
}
// 건물명이 있고, 공동주택일 경우 추가한다.
if(data.buildingName !== '' && data.apartment === 'Y'){
extraAddr += (extraAddr !== '' ? ', ' + data.buildingName : data.buildingName);
}
// 표시할 참고항목이 있을 경우, 괄호까지 추가한 최종 문자열을 만든다.
if(extraAddr !== ''){
extraAddr = ' (' + extraAddr + ')';
}
// 조합된 참고항목을 해당 필드에 넣는다.
//document.getElementById("sample2_extraAddress").value = extraAddr;
} else {
//document.getElementById("sample2_extraAddress").value = '';
}
// 우편번호와 주소 정보를 해당 필드에 넣는다.
console.log(data);
document.getElementById('cafeUserZipcode').value = data.zonecode;
document.getElementById("cafeUserAddr").value = addr;
// 커서를 상세주소 필드로 이동한다.
document.getElementById("cafeUserAddrDetail").focus();
// iframe을 넣은 element를 안보이게 한다.
// (autoClose:false 기능을 이용한다면, 아래 코드를 제거해야 화면에서 사라지지 않는다.)
element_layer.style.display = 'none';
},
width : '100%',
height : '100%',
maxSuggestItems : 5
}).embed(element_layer);
// iframe을 넣은 element를 보이게 한다.
element_layer.style.display = 'block';
// iframe을 넣은 element의 위치를 화면의 가운데로 이동시킨다.
initLayerPosition();
}
// 브라우저의 크기 변경에 따라 레이어를 가운데로 이동시키고자 하실때에는
// resize이벤트나, orientationchange이벤트를 이용하여 값이 변경될때마다 아래 함수를 실행 시켜 주시거나,
// 직접 element_layer의 top,left값을 수정해 주시면 됩니다.
function initLayerPosition(){
var width = 300; //우편번호서비스가 들어갈 element의 width
var height = 400; //우편번호서비스가 들어갈 element의 height
var borderWidth = 5; //샘플에서 사용하는 border의 두께
// 위에서 선언한 값들을 실제 element에 넣는다.
element_layer.style.width = width + 'px';
element_layer.style.height = height + 'px';
element_layer.style.border = borderWidth + 'px solid';
// 실행되는 순간의 화면 너비와 높이 값을 가져와서 중앙에 뜰 수 있도록 위치를 계산한다.
element_layer.style.left = (((window.innerWidth || document.documentElement.clientWidth) - width)/2 - borderWidth) + 'px';
element_layer.style.top = (((window.innerHeight || document.documentElement.clientHeight) - height)/2 - borderWidth) + 'px';
}
*/
</script>
</body>
</html>
@@ -0,0 +1,187 @@
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<jsp:include page="/WEB-INF/view/include/inc_home_head.jsp"/>
<jsp:include page="/WEB-INF/view/include/inc_head_script.jsp"/>
</head>
<body class="<c:if test="${not empty loginUser}">logined</c:if>">
<!-- wrap : s -->
<div class="wrap">
<!-- header : s -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_header.jsp"/>
<!-- header : e -->
<div class="container">
<div id="contents">
<!-- 상세 : s -->
<div class="inner" id="vueApp">
<div class="innerWrap">
<div class="payCompleteWrap">
<p class="topMsg">결제가 완료되었습니다.</p>
<dl class="defineList">
<dt class="tit">조직정보</dt>
<dd>
<div class="infoBox">
<dl class="infoList">
<dt>조직명</dt>
<dd><c:out value="${cafe.name}" /></dd>
</dl>
<dl class="infoList">
<dt>조직코드</dt>
<dd>
<c:out value="${cafe.cafeCode}" />
<div class="btn">
<a href="#" class="btns small btnCol04" onclick="copy_to_clipboard()">
<span>복사</span>
</a>
<a class="btns small btnCol01" @click="openPopup">
<span>멤버 초대하기</span>
</a>
</div>
</dd>
</dl>
</div>
</dd>
</dl>
<dl class="defineList">
<dt class="tit">상품정보</dt>
<dd>
<div class="infoBox">
<dl class="infoList">
<dt>화상유형</dt>
<dd><c:out value="${main.svcName}" /></dd>
</dl>
<dl class="infoList">
<dt>선택옵션</dt>
<dd><c:out value="${option}" /></dd>
</dl>
<dl class="infoList">
<dt>Host 권한 수</dt>
<dd><c:out value="${main.hostCnt}" />개</dd>
</dl>
<dl class="infoList">
<dt>클라우드 용량</dt>
<dd>제공용량 <c:out value="${capacity.totalSupplyCapacity}"/> + 추가용량 <c:out value="${capacity.totalAddCapacity}"/> = <c:out value="${capacity.totalCapacity}"/></dd>
</dl>
<dl class="infoList">
<dt>서비스 시작일</dt>
<dd><c:out value="${cafe.regDtText}" /></dd>
</dl>
</div>
</dd>
</dl>
<dl class="defineList">
<dt class="tit">결제정보</dt>
<dd>
<div class="infoBox payment">
<p class="guideMsg" v-if="${cafe.paymentType == 'auto'}">
매월 자동결제 <span>다음 결제일은 <em class="date">${cafePay.autoPayDtText}</em> 입니다.</span>
</p>
<p class="guideMsg" v-else>
단건결제
<span v-if="${cafePay.payType != 'VBANK' }">다음 결제일은
<em class="date">${cafePay.autoPayDtText}</em>
입니다.</span>
<span v-else>
<em class="date">${cafePay.autoPayDtText}</em>
까지 입금해주세요.</span>
</p>
<p class="accNumber">${cafePay.viewPayType} ${cafePay.payCardNo}</p>
<p class="accPrice"><strong>월 ${cafePay.amtToComma}원</strong> (VAT 포함 월 ${cafePay.vatAmtToComma}원)</p>
</div>
</dd>
</dl>
<div class="btnArea block">
<a href="/portal/admin/svc" class="btns btnCol01">
<span>랜선에듀On 시작하기</span>
</a>
<div class="guideTxt">2022년 1월 31일까지 무료체험</div>
</div>
</div>
</div>
<div class="layerPop" id="layerInvite">
<div class="layerPopArea w540">
<div class="popCont">
<!-- 내용 : s -->
<p class="msg left">우리 조직에 가입 초대할 멤버의 휴대폰 번호를<br>입력해 주세요. 초대메시지가 전송됩니다.</p>
<ul class="listStyle02">
<li class="textCol01">1회 최대 50건까지 발송할 수 있습니다.</li>
</ul>
<div class="topTitle">
<div class="right">
<a target="_blank" href="/res/doc/phone.xlsx" class="btns small btnCol04" style="display: inline-block">
<span>서식 다운로드</span>
</a>
<button onclick="onClickExcelUpload()" type="button" class="btns small btnCol04" style="display: inline-block">
<span>엑셀 업로드</span>
</button>
</div>
</div>
<ul class="inpFieldClone" style="display: none;">
<li>
<input type="text" class="inpText" placeholder="휴대폰번호" name="invite" value="">
</li>
</ul>
<ul class="inpField">
<li>
<input type="text" class="inpText" placeholder="휴대폰번호" name="invite" value="">
</li>
<li>
<input type="text" class="inpText" placeholder="휴대폰번호" name="invite" value="">
</li>
<li>
<input type="text" class="inpText" placeholder="휴대폰번호" name="invite" value="">
</li>
<li>
<input type="text" class="inpText" placeholder="휴대폰번호" name="invite" value="">
</li>
<li>
<input type="text" class="inpText" placeholder="휴대폰번호" name="invite" value="">
</li>
</ul>
<div class="btmSpaceArea">
<a href="#" class="btnAdd" @click="addPhoneInput">+ 추가</a>
</div>
<div class="btnArea">
<a href="#" class="btns btnCol01" @click="onInvite"><span>초대메시지 전송</span></a>
</div>
<!-- 내용 : e -->
</div>
<a href="#" class="btnPopClose" @click="closePopup">해당 레이어 닫기</a>
</div>
</div>
</div>
<!-- 상세 : e -->
</div>
</div>
<!-- footer : s -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_footer.jsp"/>
<!-- footer : e -->
</div>
<!-- wrap : e -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_popup.jsp"/>
<script src="/res/front/js/biz/home/home-common.js?v=${timestamp}"></script>
<script>
var current_cafe_id = ${param.cafeId};
localStorage.removeItem("lanEduProdectInfo");
</script>
<script src="/res/front/js/biz/home/user/cafe-register-complete.js?v=${timestamp}"></script>
<div style="position: fixed; left: -999999px; top: -999999px;">
<input id="copy_data" value="${cafe.cafeCode}">
<script>
function copy_to_clipboard() {
var copyText = document.getElementById("copy_data");
copyText.select();
document.execCommand("Copy");
alert(' 복사했습니다. ');
}
</script>
</div>
</body>
</html>
@@ -0,0 +1,76 @@
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<jsp:include page="/WEB-INF/view/include/inc_home_head.jsp"/>
<jsp:include page="/WEB-INF/view/include/inc_head_script.jsp"/>
</head>
<body class="<c:if test="${not empty loginUser}">logined</c:if>">
<!-- wrap : s -->
<div class="wrap">
<jsp:include page="/WEB-INF/view/include/inc_home_body_header.jsp"/>
<!-- 상세 : s -->
<!-- paymentWrap : s -->
<div class="paymentWrap" id="vueApp">
<input type="hidden" name="cafeId" value="${payInput.cafeId}" />
<input type="hidden" name="userId" value="${payInput.userId}" />
<input type="hidden" name="autoPayDt" value="${payInput.autoPayDt}" />
<input type="hidden" name="tid" value="${payInput.tid}" />
<input type="hidden" name="trAuthKey" value="${payInput.trAuthKey}" />
<input type="hidden" name="mallReserved" value="${payInput.mallReserved}" />
<input type="hidden" name="payType" value="${payInput.payType}" />
<input type="hidden" name="payDt" value="${payInput.payDt}" />
<input type="hidden" name="payYn" value="${payInput.payYn}" />
<input type="hidden" name="payCardNo" value="${payInput.payCardNo}" />
<input type="hidden" name="resultCode" value="${payInput.resultCode}" />
<input type="hidden" name="resultMsg" value="${payInput.resultMsg}" />
<input type="hidden" name="vbankName" value="${payInput.vbankName}" />
<input type="hidden" name="bank" value="${payInput.bank}" />
<input type="hidden" name="goodsName" value="${payInput.goodsName}" />
<input type="hidden" name="signValue" value="${payInput.signValue}" />
<input type="hidden" name="amt" value="${payInput.amt}" />
<input type="hidden" name="moid" value="${payInput.moid}" />
<input type="hidden" name="buyerName" value="${payInput.buyerName}" />
<input type="hidden" name="resultYn" value="${payInput.resultYn}" />
<input type="hidden" name="paymentType" value="${payInput.paymentType}" />
<input type="hidden" name="cardQuota" value="${payInput.cardQuota}" />
<input type="hidden" name="cardInterest" value="${payInput.cardInterest}" />
<input type="hidden" name="ediDate" value="${payInput.ediDate}" />
<input type="hidden" name="authDate" value="${payInput.authDate}" />
<input type="hidden" name="authCode" value="${payInput.authCode}" />
<input type="hidden" name="bankName" value="${payInput.bankName}" />
<input type="hidden" name="bankCode" value="${payInput.bankCode}" />
<input type="hidden" name="accntNo" value="${payInput.accntNo}" />
<input type="hidden" name="buyerAuthNum" value="${payInput.buyerAuthNum}" />
<input type="hidden" name="buyerTel" value="${payInput.buyerTel}" />
<input type="hidden" name="appCardName" value="${payInput.appCardName}" />
<input type="hidden" name="appCardCode" value="${payInput.appCardCode}" />
<input type="hidden" name="mid" value="${payInput.mid}" />
<input type="hidden" name="coNm" value="${payInput.coNm}" />
<input type="hidden" name="merchantReserved" value="${payInput.merchantReserved}" />
<input type="hidden" name="cardMerchantNo" value="${payInput.cardMerchantNo}" />
<input type="hidden" name="acquCardName" value="${payInput.acquCardName}" />
<input type="hidden" name="usePoint" value="${payInput.usePoint}" />
<input type="hidden" name="payId" value="${payInput.payId}" />
<input type="hidden" name="balancePoint" value="${payInput.balancePoint}" />
</div>
<!-- paymentWrap : e -->
<!-- 상세 : e -->
<!-- footer : s -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_footer.jsp"/>
<!-- footer : e -->
</div>
<!-- wrap : e -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_popup.jsp"/>
<script src="/res/front/js/biz/home/user/cafe-pay-payment-phone.js?v=${timestamp}"></script>
</body>
</html>
@@ -0,0 +1,90 @@
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<jsp:include page="/WEB-INF/view/include/inc_home_head.jsp"/>
<jsp:include page="/WEB-INF/view/include/inc_head_script.jsp"/>
</head>
<body class="<c:if test="${not empty loginUser}">logined</c:if>">
<!-- wrap : s -->
<div id="vueApp" class="wrap pageSmall">
<div class="container">
<div id="contents">
<!-- 상세 : s -->
<div class="headerConts">
<h1 class="logo"><a href="/">로고</a></h1>
</div>
<div class="innerConts">
<!-- accountWrap : s -->
<div class="accountWrap tissue">
<div class="accountBox">
<c:choose>
<c:when test="${userCafeStatus eq 'haveNotApproved'}">
<div class="item select wait">
<div class="box">
<div class="middle">
<p class="state"><span>${cafeUserReqs[0].cafeUserName}</span>님, 가입 승인 대기 상태입니다.</p>
<dl class="infoList">
<dt>조직명</dt>
<dd>${cafeUserReqs[0].cafeName}</dd>
</dl>
<dl class="infoList">
<dt>신청일</dt>
<dd>${cafeUserReqs[0].regDtText}</dd>
</dl>
</div>
</div>
</div>
</c:when>
<c:when test="${userCafeStatus eq 'noRegisteredCafe'}">
<div class="item select noDate">
<div class="box">
<div class="middle">
<p class="txt1">현재 소속된 조직이 없습니다.</p>
<p class="txt2">조직을 개설하거나 이미 생성된 조직에 가입하세요.</p>
</div>
</div>
</div>
</c:when>
</c:choose>
<div class="item">
<a href="/home/user/org/register">
<div class="middle">
<div class="boxMsg">2022년 1월 31일 까지 무료 체험</div>
<dl class="dfList">
<dt>관리자 회원이신가요?</dt>
<dd>조직개설 & 상품가입</dd>
</dl>
</div>
</a>
</div>
<div class="item">
<a href="/home/user/org/join">
<div class="middle">
<dl class="dfList">
<dt class="col02">일반 회원이신가요?</dt>
<dd>계정추가 & 조직가입</dd>
</dl>
</div>
</a>
</div>
</div>
</div>
<!-- accountWrap : e -->
</div>
<!-- 상세 : e -->
</div>
</div>
</div>
<!-- wrap : e -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_popup.jsp"/>
<script src="/res/front/js/biz/home/home-common.js?v=${timestamp}"></script>
<script src="/res/front/js/biz/home/user/cafe-register.js?v=${timestamp}"></script>
</body>
</html>
@@ -0,0 +1,273 @@
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<jsp:include page="/WEB-INF/view/include/inc_home_head.jsp"/>
<jsp:include page="/WEB-INF/view/include/inc_head_script.jsp"/>
</head>
<body class="<c:if test="${not empty loginUser}">logined</c:if>">
<div id="vueApp">
<!-- wrap : s -->
<div class="wrap">
<!-- header : s -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_header.jsp"/>
<!-- header : e -->
<div class="container">
<div id="contents">
<!-- 상세 : s -->
<div class="inner">
<jsp:include page="/WEB-INF/view/include/inc_home_body_step_menu.jsp"/>
<form method="post" @submit.prevent="onSubmit">
<div class="innerWrap">
<dl class="formList">
<dt>필수 입력(조직정보)</dt>
<dd class="error">
<div class="inputCountBox">
<input type="text" @blur="cafeNameCheck" v-model="cafeName" class="inpText" maxlength="30" placeholder="조직명 ex)케이티학원, 케이티회사, 케이티동호회">
<span class="count"><em class="cur">{{cafeName.length}}</em> / 30</span>
</div>
<span id="cafeNameCheckError" class="errorMsg"></span>
</dd>
<dd>
<ul class="inpField">
<li>
<div class="inputCountBox">
<textarea class="textarea" v-model="cafeIntro" maxlength="200" placeholder="조직소개(선택)"></textarea>
<span class="count"><em class="cur">{{cafeIntro.length}}</em> / 200</span>
</div>
</li>
<li>
<span class="selectBoxWrap">
<select class="selectBox" v-model="cafeType" placeholder="조직 구분 선택">
<option value="">조직 구분 선택</option>
<c:forEach var="x" items="${cafeType}">
<option value="${x.cdValue}">${x.cdName}</option>
</c:forEach>
</select>
</span>
</li>
<li>
<span class="selectBoxWrap">
<select class="selectBox" v-model="cafeArea" placeholder="지역선택">
<option value="">지역선택</option>
<c:forEach var="x" items="${cafeArea}">
<option value="${x.cdValue}">${x.cdName}</option>
</c:forEach>
</select>
</span>
</li>
<li class="error"><!-- 인풋 입력이 에러일 경우 클래스 'error' 추가 -->
<div class="inputCountBox">
<input type="text" v-model="cafeUserName" class="inpText" maxlength="20" placeholder="사용자 이름">
<span class="count"><em class="cur">{{cafeUserName.length}}</em> / 20</span>
<span class="errorMsg">조직에서 사용할 사용자의 이름</span>
</div>
</li>
</ul>
</dd>
</dl>
<dl class="formList">
<dt>
선택 입력(사용자 정보)
<p class="stit">조직 내에서 사용할 사용자에 대한 추가 정보를 입력해주세요</p>
</dt>
<dd>
<ul class="inpField">
<li>
<div class="tabShapeRadio">
<span class="inputRadio tabShape">
<input type="radio" value="M" name="radioMen" id="radioGirl" checked>
<label for="radioGirl">여자</label>
</span>
<span class="inputRadio tabShape">
<input type="radio" value="F" name="radioMen" id="radioBoy">
<label for="radioBoy">남자</label>
</span>
</div>
</li>
<li>
<div class="boxHorizental">
<span>
<span class="selectBoxWrap">
<select id="year" class="selectBox">
<option value="">생년</option>
<%for(int i = java.time.LocalDate.now().getYear(); i >= 1900; i--) {%>
<option value="<%=i%>"><%=i%></option>
<%}%>
</select>
</span>
</span>
<span>
<span class="selectBoxWrap">
<select id="month" class="selectBox">
<option value="">월</option>
<%for(int i = 1; i <= 12; i++) {%>
<option value="<%=String.format("%02d", i)%>"><%=i%></option>
<%}%>
</select>
</span>
</span>
<span>
<span class="selectBoxWrap">
<select id="day" class="selectBox">
<option value="">일</option>
<%for(int i = 1; i <= 31; i++) {%>
<option value="<%=String.format("%02d", i)%>"><%=i%></option>
<%}%>
</select>
</span>
</span>
</div>
</li>
</ul>
</dd>
<dd>
<ul class="inpField">
<li>
<div class="inpAddBtn">
<input type="text" id="cafeUserZipcode" class="inpText">
<a href="javascript:execDaumPostcode()" class="btns btnCol04">
<span>우편번호 검색</span>
</a>
</div>
</li>
<li>
<input type="text" id="cafeUserAddr" class="inpText">
</li>
<li>
<input type="text" id="cafeUserAddrDetail" class="inpText" placeholder="상세주소">
</li>
</ul>
</dd>
<dd>
<input type="text"
oninput="this.value = this.value.replace(/[^0-9]/g, '').replace(/(\..*)\./g, '$1');"
maxlength="8"
class="inpText" placeholder="추천인 코드(선택)">
</dd>
</dl>
<div class="btnArea">
<button type="submit" class="btns btnCol01">
<span>다음</span>
</button>
</div>
</div>
</form>
</div>
<!-- 상세 : e -->
</div>
</div>
<!-- wrap : e -->
</div>
<!-- footer : s -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_footer.jsp"/>
<!-- footer : e -->
</div>
<jsp:include page="/WEB-INF/view/include/inc_home_body_popup.jsp"/>
<script src="/res/front/js/biz/home/home-common.js?v=${timestamp}"></script>
<script src="/res/front/js/biz/home/user/cafe-register.js?v=${timestamp}"></script>
<!-- iOS에서는 position:fixed 버그가 있음, 적용하는 사이트에 맞게 position:absolute 등을 이용하여 top,left값 조정 필요 -->
<div id="zipcodelayer" style="display:none;position:fixed;overflow:hidden;z-index:1;-webkit-overflow-scrolling:touch;">
<img src="//t1.daumcdn.net/postcode/resource/images/close.png" id="btnCloseLayer" style="cursor:pointer;position:absolute;right:-3px;top:-3px;z-index:1" onclick="closeDaumPostcode()" alt="닫기 버튼">
</div>
<script src="//t1.daumcdn.net/mapjsapi/bundle/postcode/prod/postcode.v2.js"></script>
<script>
// 우편번호 찾기 화면을 넣을 element
var element_layer = document.getElementById('zipcodelayer');
function closeDaumPostcode() {
// iframe을 넣은 element를 안보이게 한다.
element_layer.style.display = 'none';
}
function execDaumPostcode() {
new daum.Postcode({
oncomplete: function(data) {
// 검색결과 항목을 클릭했을때 실행할 코드를 작성하는 부분.
// 각 주소의 노출 규칙에 따라 주소를 조합한다.
// 내려오는 변수가 값이 없는 경우엔 공백('')값을 가지므로, 이를 참고하여 분기 한다.
var addr = ''; // 주소 변수
var extraAddr = ''; // 참고항목 변수
//사용자가 선택한 주소 타입에 따라 해당 주소 값을 가져온다.
if (data.userSelectedType === 'R') { // 사용자가 도로명 주소를 선택했을 경우
addr = data.roadAddress;
} else { // 사용자가 지번 주소를 선택했을 경우(J)
addr = data.jibunAddress;
}
// 사용자가 선택한 주소가 도로명 타입일때 참고항목을 조합한다.
if(data.userSelectedType === 'R'){
// 법정동명이 있을 경우 추가한다. (법정리는 제외)
// 법정동의 경우 마지막 문자가 "동/로/가"로 끝난다.
if(data.bname !== '' && /[동|로|가]$/g.test(data.bname)){
extraAddr += data.bname;
}
// 건물명이 있고, 공동주택일 경우 추가한다.
if(data.buildingName !== '' && data.apartment === 'Y'){
extraAddr += (extraAddr !== '' ? ', ' + data.buildingName : data.buildingName);
}
// 표시할 참고항목이 있을 경우, 괄호까지 추가한 최종 문자열을 만든다.
if(extraAddr !== ''){
extraAddr = ' (' + extraAddr + ')';
}
// 조합된 참고항목을 해당 필드에 넣는다.
//document.getElementById("sample2_extraAddress").value = extraAddr;
} else {
//document.getElementById("sample2_extraAddress").value = '';
}
// 우편번호와 주소 정보를 해당 필드에 넣는다.
document.getElementById('cafeUserZipcode').value = data.zonecode;
document.getElementById("cafeUserAddr").value = addr;
// 커서를 상세주소 필드로 이동한다.
document.getElementById("cafeUserAddrDetail").focus();
// iframe을 넣은 element를 안보이게 한다.
// (autoClose:false 기능을 이용한다면, 아래 코드를 제거해야 화면에서 사라지지 않는다.)
element_layer.style.display = 'none';
},
width : '100%',
height : '100%',
maxSuggestItems : 5
}).embed(element_layer);
// iframe을 넣은 element를 보이게 한다.
element_layer.style.display = 'block';
// iframe을 넣은 element의 위치를 화면의 가운데로 이동시킨다.
initLayerPosition();
}
// 브라우저의 크기 변경에 따라 레이어를 가운데로 이동시키고자 하실때에는
// resize이벤트나, orientationchange이벤트를 이용하여 값이 변경될때마다 아래 함수를 실행 시켜 주시거나,
// 직접 element_layer의 top,left값을 수정해 주시면 됩니다.
function initLayerPosition(){
var width = 300; //우편번호서비스가 들어갈 element의 width
var height = 400; //우편번호서비스가 들어갈 element의 height
var borderWidth = 5; //샘플에서 사용하는 border의 두께
// 위에서 선언한 값들을 실제 element에 넣는다.
element_layer.style.width = width + 'px';
element_layer.style.height = height + 'px';
element_layer.style.border = borderWidth + 'px solid';
// 실행되는 순간의 화면 너비와 높이 값을 가져와서 중앙에 뜰 수 있도록 위치를 계산한다.
element_layer.style.left = (((window.innerWidth || document.documentElement.clientWidth) - width)/2 - borderWidth) + 'px';
element_layer.style.top = (((window.innerHeight || document.documentElement.clientHeight) - height)/2 - borderWidth) + 'px';
}
</script>
</body>
</html>
@@ -0,0 +1,198 @@
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<jsp:include page="/WEB-INF/view/include/inc_home_head.jsp"/>
<jsp:include page="/WEB-INF/view/include/inc_head_script.jsp"/>
</head>
<body class="<c:if test="${not empty loginUser}">logined</c:if>">
<!-- wrap : s -->
<div class="wrap">
<!-- header : s -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_header.jsp"/>
<!-- header : e -->
<div class="container">
<div id="contents">
<!-- 상세 : s -->
<div class="inner" id="vueApp">
<!-- 단계 메뉴 : s -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_step_menu.jsp"/>
<!-- 단계 메뉴 : e -->
<div class="innerWrap">
<div class="payCompleteWrap">
<p class="topMsg">서비스 등록 완료</p>
<dl class="defineList">
<dt class="tit">조직정보</dt>
<dd>
<div class="infoBox">
<dl class="infoList">
<dt>조직명</dt>
<dd><c:out value="${cafe.name}" /></dd>
</dl>
<dl class="infoList">
<dt>조직코드</dt>
<dd>
<c:out value="${cafe.cafeCode}" />
<div class="btn">
<a href="#" class="btns small btnCol04" onclick="copy_to_clipboard()">
<span>복사</span>
</a>
<a class="btns small btnCol01" @click="openPopup">
<span>멤버 초대하기</span>
</a>
</div>
</dd>
</dl>
</div>
</dd>
</dl>
<dl class="defineList">
<dt class="tit">상품정보</dt>
<dd>
<div class="infoBox">
<dl class="infoList">
<dt>화상유형</dt>
<dd><c:out value="${main.svcName}" /></dd>
</dl>
<dl class="infoList">
<dt>선택옵션</dt>
<dd><c:out value="${option}" /></dd>
</dl>
<dl class="infoList">
<dt>Host 권한 수</dt>
<dd><c:out value="${main.hostCnt}" />개</dd>
</dl>
<dl class="infoList">
<dt>클라우드 용량</dt>
<dd>제공용량 <c:out value="${capacity.totalSupplyCapacity}"/> + 추가용량 <c:out value="${capacity.totalAddCapacity}"/> = <c:out value="${capacity.totalCapacity}"/></dd>
</dl>
<dl class="infoList">
<dt>서비스 시작일</dt>
<dd><c:out value="${cafe.regDtText}" /></dd>
</dl>
</div>
</dd>
</dl>
<%-- <dl class="defineList">
<dt class="tit">결제정보</dt>
<dd>
<div class="infoBox payment">
<c:choose>
<c:when test="${!paymentYn}">
<p class="guideMsg">
<span>2022년 2월 1일 부터 유료화 예정입니다.</span>
</p>
</c:when>
<c:otherwise>
<p class="guideMsg" v-if="${cafe.paymentType == 'auto'}">
매월 자동결제 <span>다음 결제일은 <em class="date">${cafePay.autoPayDtText}</em> 입니다.</span>
</p>
<p class="guideMsg" v-else>
단건결제
<span v-if="${cafePay.payType != 'VBANK' }">다음 결제일은
<em class="date">${cafePay.autoPayDtText}</em>
입니다.</span>
<span v-else>
<em class="date">${cafePay.autoPayDtText}</em>
까지 입금해주세요.</span>
</p>
</c:otherwise>
</c:choose>
<p class="accNumber">${cafePay.viewPayType} ${cafePay.payCardNo}</p>
<p class="accPrice"><strong>월 ${cafePay.amtToComma}원</strong> (VAT 포함 월 ${cafePay.vatAmtToComma}원)</p>
</div>
</dd>
</dl> --%>
<div class="btnArea block">
<a href="/home/user/gocafe/${cafeUserId}" class="btns btnCol01">
<span>랜선에듀On 시작하기</span>
</a>
</div>
</div>
</div>
<div class="layerPop" id="layerInvite">
<div class="layerPopArea w540">
<div class="popCont">
<!-- 내용 : s -->
<p class="msg left">우리 조직에 가입 초대할 멤버의 휴대폰 번호를<br>입력해 주세요. 초대메시지가 전송됩니다.</p>
<ul class="listStyle02">
<li class="textCol01">1회 최대 50건까지 발송할 수 있습니다.</li>
</ul>
<div class="topTitle">
<div class="right">
<a target="_blank" href="/res/doc/phone.xlsx" class="btns small btnCol04" style="display: inline-block">
<span>서식 다운로드</span>
</a>
<button onclick="onClickExcelUpload()" type="button" class="btns small btnCol04" style="display: inline-block">
<span>엑셀 업로드</span>
</button>
</div>
</div>
<ul class="inpFieldClone" style="display: none;">
<li>
<input type="text" class="inpText" placeholder="휴대폰번호" name="invite" value="">
</li>
</ul>
<ul class="inpField">
<li>
<input type="text" class="inpText" placeholder="휴대폰번호" name="invite" value="">
</li>
<li>
<input type="text" class="inpText" placeholder="휴대폰번호" name="invite" value="">
</li>
<li>
<input type="text" class="inpText" placeholder="휴대폰번호" name="invite" value="">
</li>
<li>
<input type="text" class="inpText" placeholder="휴대폰번호" name="invite" value="">
</li>
<li>
<input type="text" class="inpText" placeholder="휴대폰번호" name="invite" value="">
</li>
</ul>
<div class="btmSpaceArea">
<a href="#" class="btnAdd" @click="addPhoneInput">+ 추가</a>
</div>
<div class="btnArea">
<a href="#" class="btns btnCol01" @click="onInvite"><span>초대메시지 전송</span></a>
</div>
<!-- 내용 : e -->
</div>
<a href="#" class="btnPopClose" @click="closePopup">해당 레이어 닫기</a>
</div>
</div>
</div>
<!-- 상세 : e -->
</div>
</div>
<!-- footer : s -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_footer.jsp"/>
<!-- footer : e -->
</div>
<!-- wrap : e -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_popup.jsp"/>
<script src="/res/front/js/biz/home/home-common.js?v=${timestamp}"></script>
<script>
var current_cafe_id = ${param.cafeId};
localStorage.removeItem("lanEduProdectInfo");
</script>
<script src="/res/front/js/biz/home/user/cafe-register-complete.js?v=${timestamp}"></script>
<div style="position: fixed; left: -999999px; top: -999999px;">
<input id="copy_data" value="${cafe.cafeCode}">
<script>
function copy_to_clipboard() {
var copyText = document.getElementById("copy_data");
copyText.select();
document.execCommand("Copy");
alert(' 복사했습니다. ');
}
</script>
</div>
</body>
</html>
@@ -0,0 +1,286 @@
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<jsp:include page="/WEB-INF/view/include/inc_home_head.jsp"/>
<jsp:include page="/WEB-INF/view/include/inc_head_script.jsp"/>
<%-- <jsp:include page="/WEB-INF/view/include/inc_head_pay.jsp"/> --%>
</head>
<body class="<c:if test="${not empty loginUser}">logined</c:if>">
<!-- wrap : s -->
<div class="wrap">
<jsp:include page="/WEB-INF/view/include/inc_home_body_header.jsp"/>
<div class="container">
<div id="contents">
<!-- 상세 : s -->
<div class="inner">
<!-- 단계 메뉴 : s -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_step_menu.jsp"/>
<!-- 단계 메뉴 : e -->
<div id="submitForm">
<input type="hidden" name="paymentYn" value="${paymentYn}"/>
</div>
<div class="topTitle">
<h2 class="defaultTitle">서비스 이용 상세</h2>
</div>
<!-- paymentWrap : s -->
<div class="paymentWrap" id="vueApp">
<div class="paymentGridBox">
<div class="item">
<div class="itemHead">
<dl>
<dt>화상유형</dt>
<dd>
<div class="number centerline"><span id="defaultProductTitle">0</span>원</div>
<p>0원</p>
</dd>
</dl>
</div>
<div class="itemCont">
<div class="optionList">
<div class="optionItem">
<strong class="prod" id="defaultType">교육 + 웨비나<br class="mHide">결합형</strong>
<div class="numArea">
<div class="number mHide centerline"><span id="defaultProduct"></span>원</div>
<p>0원</p>
</div>
</div>
</div>
<p class="etc mHide" id="defaultTypeDetail">최대 동시접속자<br>교육형 N형 / 웨비나형 N형</p>
</div>
</div>
<div class="item">
<div class="itemHead">
<dl>
<dt>호스트 권한 수</dt>
<dd>
<div class="number"><span id="hostCountTitle"></span>명</div>
</dd>
</dl>
</div>
<div class="itemCont">
<div class="optionList">
<div class="optionItem">
<div class="numArea">
<div class="number centerline"><span id="hostPrice">12,000</span>원 x <span id="hostCount"></span></div>
<p>0원</p>
</div>
</div>
</div>
</div>
</div>
<div class="item">
<div class="itemHead">
<dl>
<dt>부가옵션</dt>
<dd>
<div class="number centerline"><span id="subOptionTotalPrice"></span>원</div>
<p>0원</p>
</dd>
</dl>
</div>
<div class="itemCont">
<div class="optionList">
<div class="optionItem" id="price21">
<strong class="prod">Cloud 저장</strong>
<div class="numArea">
<div class="number centerline"><span id="price21_1"></span>원</div>
<p>0원</p>
</div>
</div>
<div class="optionItem" id="price22">
<strong class="prod">실시간 화상 보안 솔루션</strong>
<div class="numArea">
<div class="number centerline"><span id="price22_1"></span>원</div>
<p>0원</p>
</div>
</div>
<div class="optionItem" id="price23">
<strong class="prod">VOD게시판</strong>
<div class="numArea">
<div class="number centerline"><span id="price23_1"></span>원</div>
<p>0원</p>
</div>
</div>
<div class="optionItem" id="price24">
<strong class="prod">자료게시판</strong>
<div class="numArea">
<div class="number centerline"><span id="price24_1"></span>원</div>
<p>0원</p>
</div>
</div>
</div>
</div>
</div>
<div class="item">
<div class="itemHead">
<dl>
<dt>클라우드 용량</dt>
<dd>
<div class="number centerline"><span id="price31"></span>원</div>
<p>0원</p>
</dd>
</dl>
</div>
<div class="itemCont">
<div class="optionList">
<div class="optionItem">
<div class="numArea">
<div class="number centerline"><span>1,000</span>원 x <span id="price31_1"></span></div><p>0원</p>
<div class="number small">(<span>10GB</span> x <span id="price31_2"></span> )</div>
</div>
</div>
</div>
</div>
</div>
<div class="item total">
<div class="itemHead">
<dl>
<dt>총 결제금액</dt>
<dd>
<div class="number centerline"><span id="priceTotal"></span>원</div>
<div class="vat centerline" id="priceTotalVat"></div>
<p>0원</p>
</dd>
</dl>
</div>
<div class="itemCont">
<div class="optionList">
<div class="optionItem">
<!-- <p class="noti">무료이용 기간동안 요금이<br class="mHide">결제되지 않습니다.</p> -->
</div>
</div>
</div>
</div>
</div>
<div class="paymentGuideBox">
<%-- <dl>
<dt><span id="paymentType"></span></dt>
<c:choose>
<c:when test="${!paymentYn}">
<dd>무료이용 기간 종료 시, <span>2022년 2월 1일</span> 부터 유료화 예정입니다.</dd>
</c:when>
<c:otherwise>
<dd>오늘 결제 시, <span>매월 ${currentDate}일</span> 자동 결제 됩니다.</dd>
</c:otherwise>
</c:choose>
</dl> --%>
<dl>
<dt>서비스 시작일</dt>
<dd><span>${currentMonth}월 ${currentDate}일</span></dd>
</dl>
<dl>
<dt>클라우드 용량</dt>
<dd><span id="totalCloud"></span></dd>
</dl>
</div>
<div class="btnArea block">
<button type="button" class="btns btnCol01" @click="startPay">
<span>서비스 신청하기</span>
</button>
<%-- <c:choose>
<c:when test="${currentYear == 2022 && currentMonth <= 1 }">
<div class="guideTxt">2022년 1월 31일 까지 무료 체험</div>
</c:when>
</c:choose> --%>
</div>
</div>
<!-- paymentWrap : e -->
</div>
<!-- 상세 : e -->
</div>
</div>
<!-- footer : s -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_footer.jsp"/>
<!-- footer : e -->
</div>
<!-- wrap : e -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_popup.jsp"/>
<script src="/res/front/js/biz/home/home-common.js?v=${timestamp}"></script>
<script src="/res/front/js/biz/home/user/cafe-register-payment.js?v=${timestamp}"></script>
<script type="text/javascript">
function numText(s)
{
var regex = /\B(?=(\d{3})+(?!\d))/g;
return s.toString().replace(regex, ",");
}
$(document).ready(function(){
var priceItem = JSON.parse(localStorage.getItem("lanEduProdectInfo"));
console.log('-----------------');
console.log(priceItem);
//로직잘못되서 수정
priceItem.hostCount.price = parseInt(priceItem.defaultProduct.price, 10) * parseInt(priceItem.hostCount.count, 10);
var sumPrice = parseInt(priceItem.hostCount.price, 10) + parseInt(priceItem.optionProduct.totalPrice, 10)
+ parseInt(priceItem.storageCount.totalPrice, 10);
priceItem.totalPrice = sumPrice;
$('#defaultType').html(priceItem.defaultProduct.name.replace("\n", "<br>"));
$('#defaultTypeDetail').html(priceItem.defaultProduct.discription.replace("\n", "<br>"));
$('#defaultProductTitle').text(numText(priceItem.defaultProduct.price));
$('#defaultProduct').text(numText(priceItem.defaultProduct.price));
$('#hostCountTitle').text(numText(priceItem.hostCount.count));
$('#hostPrice').text( numText(priceItem.defaultProduct.price) );
$('#hostCount').text(numText(priceItem.hostCount.count));
$('#subOptionTotalPrice').text(numText(priceItem.optionProduct.totalPrice));
var cloudSize = 0;
for (var i = 0; i < priceItem.optionProduct.data.length; i++)
{
console.log(priceItem.optionProduct.data[i].price);
console.log(priceItem.optionProduct.data[i].isSelected);
var optionId = priceItem.optionProduct.data[i].id;
if (priceItem.optionProduct.data[i].isSelected)
{
$('#price2' + (i+1) + "_1").text(numText(priceItem.optionProduct.data[i].price));
$('#price2' + (i+1)).removeClass('disabled');
if(optionId == "6"||optionId == "8"||optionId == "9"){
cloudSize++;
}
}
else
{
$('#price2' + (i+1) + "_1").text('0');
$('#price2' + (i+1)).addClass('disabled');
}
}
$('#price31').text(numText(priceItem.storageCount.totalPrice));
$('#price31_1').text(numText(priceItem.storageCount.count));
$('#price31_2').text(numText(priceItem.storageCount.count));
$('#priceTotal').text(numText(priceItem.totalPrice));
if (cloudSize > 0 || priceItem.storageCount.count > 0){
$('#totalCloud').text(numText(priceItem.storageCount.count+cloudSize) + "0GB");
}
else{
$('#totalCloud').text("0GB");
}
$('#priceTotalVat').text("(VAT 포함가 " + numText(Math.floor((priceItem.totalPrice * 1.1))) + "원)");
$('#priceTotalB').text(numText(priceItem.totalPrice));
$('#priceTotalVatB').text("(VAT 포함가 " + numText(Math.floor((priceItem.totalPrice * 1.1))) + "원)");
if(priceItem.paymentType == "auto"){
$('#paymentType').text("자동결제");
}else{
$('#paymentType').text("단건결제");
}
});
</script>
</body>
</html>
@@ -0,0 +1,40 @@
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<jsp:include page="/WEB-INF/view/include/inc_home_head.jsp"/>
<jsp:include page="/WEB-INF/view/include/inc_head_script.jsp"/>
<%-- <jsp:include page="/WEB-INF/view/include/inc_head_pay.jsp"/> --%>
</head>
<body class="<c:if test="${not empty loginUser}">logined</c:if>">
<!-- wrap : s -->
<div class="wrap">
<jsp:include page="/WEB-INF/view/include/inc_home_body_header.jsp"/>
<!-- 상세 : s -->
<!-- paymentWrap : s -->
<div class="paymentWrap" id="vueApp">
<input type="hidden" name="cafeId" value="${cafeBill.cafeId}" />
<input type="hidden" name="userId" value="${cafeBill.userId}" />
<input type="hidden" name="billTokenKey" value="${cafeBill.billTokenKey}" />
<input type="hidden" name="displayCardNo" value="${cafeBill.displayCardNo}" />
<input type="hidden" name="buyerName" value="${cafeBill.buyerName}" />
<input type="hidden" name="mallReserved" value="${cafeBill.mallReserved}" />
<input type="hidden" name="issuerCardCd" value="${cafeBill.issuerCardCd}" />
<input type="hidden" name="issuerCardNm" value="${cafeBill.issuerCardNm}" />
</div>
<!-- paymentWrap : e -->
<!-- 상세 : e -->
<!-- footer : s -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_footer.jsp"/>
<!-- footer : e -->
</div>
<!-- wrap : e -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_popup.jsp"/>
<script src="/res/front/js/biz/home/user/cafe-register-payment-bill.js?v=${timestamp}"></script>
</body>
</html>
@@ -0,0 +1,79 @@
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<jsp:include page="/WEB-INF/view/include/inc_home_head.jsp"/>
<jsp:include page="/WEB-INF/view/include/inc_head_script.jsp"/>
<%-- <jsp:include page="/WEB-INF/view/include/inc_head_pay.jsp"/> --%>
</head>
<body class="<c:if test="${not empty loginUser}">logined</c:if>">
<!-- wrap : s -->
<div class="wrap">
<jsp:include page="/WEB-INF/view/include/inc_home_body_header.jsp"/>
<!-- 상세 : s -->
<!-- paymentWrap : s -->
<div class="paymentWrap" id="vueApp">
<input type="hidden" name="cafeId" value="${payInput.cafeId}" />
<input type="hidden" name="userId" value="${payInput.userId}" />
<input type="hidden" name="autoPayDt" value="${payInput.autoPayDt}" />
<input type="hidden" name="tid" value="${payInput.tid}" />
<input type="hidden" name="trAuthKey" value="${payInput.trAuthKey}" />
<input type="hidden" name="mallReserved" value="${payInput.mallReserved}" />
<input type="hidden" name="payType" value="${payInput.payType}" />
<input type="hidden" name="payDt" value="${payInput.payDt}" />
<input type="hidden" name="payYn" value="${payInput.payYn}" />
<input type="hidden" name="payCardNo" value="${payInput.payCardNo}" />
<input type="hidden" name="resultCode" value="${payInput.resultCode}" />
<input type="hidden" name="resultMsg" value="${payInput.resultMsg}" />
<input type="hidden" name="vbankName" value="${payInput.vbankName}" />
<input type="hidden" name="bank" value="${payInput.bank}" />
<input type="hidden" name="goodsName" value="${payInput.goodsName}" />
<input type="hidden" name="signValue" value="${payInput.signValue}" />
<input type="hidden" name="amt" value="${payInput.amt}" />
<input type="hidden" name="moid" value="${payInput.moid}" />
<input type="hidden" name="buyerName" value="${payInput.buyerName}" />
<input type="hidden" name="resultYn" value="${payInput.resultYn}" />
<input type="hidden" name="paymentType" value="${payInput.paymentType}" />
<input type="hidden" name="cardQuota" value="${payInput.cardQuota}" />
<input type="hidden" name="cardInterest" value="${payInput.cardInterest}" />
<input type="hidden" name="ediDate" value="${payInput.ediDate}" />
<input type="hidden" name="authDate" value="${payInput.authDate}" />
<input type="hidden" name="authCode" value="${payInput.authCode}" />
<input type="hidden" name="bankName" value="${payInput.bankName}" />
<input type="hidden" name="bankCode" value="${payInput.bankCode}" />
<input type="hidden" name="accntNo" value="${payInput.accntNo}" />
<input type="hidden" name="buyerAuthNum" value="${payInput.buyerAuthNum}" />
<input type="hidden" name="buyerTel" value="${payInput.buyerTel}" />
<input type="hidden" name="appCardName" value="${payInput.appCardName}" />
<input type="hidden" name="appCardCode" value="${payInput.appCardCode}" />
<input type="hidden" name="mid" value="${payInput.mid}" />
<input type="hidden" name="coNm" value="${payInput.coNm}" />
<input type="hidden" name="merchantReserved" value="${payInput.merchantReserved}" />
<input type="hidden" name="cardMerchantNo" value="${payInput.cardMerchantNo}" />
<input type="hidden" name="acquCardName" value="${payInput.acquCardName}" />
<input type="hidden" name="usePoint" value="${payInput.usePoint}" />
<input type="hidden" name="payId" value="${payInput.payId}" />
<input type="hidden" name="balancePoint" value="${payInput.balancePoint}" />
</div>
<!-- paymentWrap : e -->
<!-- 상세 : e -->
<!-- footer : s -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_footer.jsp"/>
<!-- footer : e -->
</div>
<!-- wrap : e -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_popup.jsp"/>
<script src="/res/front/js/biz/home/user/cafe-register-payment-phone.js?v=${timestamp}"></script>
</body>
</html>
@@ -0,0 +1,543 @@
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<jsp:include page="/WEB-INF/view/include/inc_home_head.jsp"/>
<jsp:include page="/WEB-INF/view/include/inc_head_script.jsp"/>
</head>
<script type="text/javascript">
function changeOption(v)
{
$('.bind-price').removeClass('on');
v.toggleClass('on');
totalPriceCalculate();
return false;
}
function changePayment(v)
{
$('.bind-payment').removeClass('on');
v.toggleClass('on');
totalPriceCalculate();
return false;
}
function totalPriceCalculate()
{
var lanEduProdectInfo = new Object();
var totalPrice = 0;
var p1 = $("a.bind-price.on"); //스탭1 옵션
if (p1 != null && p1.length > 0)
{
// var pId = p1[0].id;
// if (pId == "price1") { totalPrice += 8000; }
// else if (pId == "price2") { totalPrice += 6000; }
// else if (pId == "price3") { totalPrice += 5000; }
// else if (pId == "price4") { totalPrice += 12000; }
// else if (pId == "price5") { totalPrice += 10000; }
try
{
var ob = getProduct(p1[0].id);
totalPrice += ob.price;
lanEduProdectInfo.defaultProduct = ob;
}
catch(err){}
}
var p2 = $("a.bind-price2"); //스탭3 옵션
if (p2 != null && p2.length > 0)
{
var subOption = new Object();
subOption.totalPrice = 0;
console.log(subOption.totalPrice)
var subOptionVal = [];
var cnt = 0;
var optionSize = 0;
for (var i = 0; i < p2.length; i++)
{
var ob = getProduct(p2[i].id);
subOptionVal[i] = ob;
totalPrice += ob.price;
if ($("#"+p2[i].id).hasClass('on'))
{
cnt++;
subOptionVal[i].isSelected = true;
subOption.totalPrice += ob.price;
if(p2[i].id!='7'){
optionSize+=10;
}
}
else
{
subOptionVal[i].isSelected = false;
}
// var pId = p2[i].id;
// console.log(pId);
//
// if (pId == "price11") { totalPrice += 2000; }
// else if (pId == "price12") { totalPrice += 3000; }
// else if (pId == "price13") { totalPrice += 2000; }
// else if (pId == "price14") { totalPrice += 2000; }
}
var ss = Number($('#strageSize').text());
$('#cloudSize').text(ss*10);
$('#optionSize').text(optionSize);
$('#totalCloudSize').text(ss*10+optionSize);
subOption.totalCnt = cnt;
subOption.data = subOptionVal;
lanEduProdectInfo.optionProduct = subOption;
}
try {
var p3 = Number($("#price21").val()); //스텝2 옵션, 호스트 개수
if(p3 > 5){
p3 = 5;
$("#price21").val(5);
}
totalPrice += (p3 * 12000)
var ob = new Object();
ob.id = "price21";
ob.name = "호스트 권한 수";
ob.price = (p3 * 12000);
ob.count = p3;
lanEduProdectInfo.hostCount = ob;
}
catch(err)
{
console.log(err);
}
console.log(totalPrice);
try {
var p4 = Number($('#strageSize').text()); //스텝2 옵션, 호스트 개수
totalPrice += (p4 * 1000)
var ob = new Object();
ob.id = "price31";
ob.name = "클라우드 용량";
ob.totalPrice = (p4 * 1000);
ob.count = p4;
lanEduProdectInfo.storageCount = ob;
}
catch(err)
{
console.log(err);
}
console.log(totalPrice);
var paymentYn = $('#submitForm').find('input[name=paymentYn]').val();
if(!JSON.parse(paymentYn)){
lanEduProdectInfo.paymentType = 'one';
}
var p5 = $("a.bind-payment.on"); //스탭5 옵션
if (p5 != null && p5.length > 0)
{
try
{
lanEduProdectInfo.paymentType = p5[0].id;
}
catch(err){}
}
lanEduProdectInfo.totalPrice = totalPrice;
var jsonData = JSON.stringify(lanEduProdectInfo);
console.log(jsonData);
try {
localStorage.setItem("lanEduProdectInfo", jsonData);
}
catch(er)
{
}
return false;
}
function cleanStrageSize(){
$('#strageSize').text(0);
totalPriceCalculate();
}
function addStorage(v)
{
var ss = Number($('#strageSize').text());
ss += v;
if (ss < 0)
{
ss = 0;
}
$('#strageSize').text(ss);
totalPriceCalculate();
}
function getProduct(pId)
{
var obj = new Object();
obj.id = pId;
if (pId == "1") {
obj.name = "교육형";
obj.price = 8000;
obj.discription = "최대 동시 접속자 100명 ";
}
else if (pId == "2") {
obj.name = "회의형";
obj.price = 6000;
obj.discription = "최대 동시 접속자 100명 ";
}
else if (pId == "3") {
obj.name = "웨비나형";
obj.price = 5000;
obj.discription = "최대 동시 접속자 1,000명";
}
else if (pId == "4") {
obj.name = "교육+웨비나 결합형";
obj.price = 12000;
obj.discription = "최대 동시 접속자\n교육형 100명 / 웨비나형 1,000명";
}
else if (pId == "5") {
obj.name = "회의+웨비나 결합형";
obj.price = 10000;
obj.discription = "최대 동시 접속자\n회의형 100명 / 웨비나형 1,000명";
}
else if (pId == "6") {
obj.name = "화상 녹화 Cloud 저장";
obj.price = 2000;
}
else if (pId == "7") {
obj.name = "실시간 화상 보안 솔루션";
obj.price = 3000;
}
else if (pId == "8") {
obj.name = "VOD 게시판";
obj.price = 2000;
}
else if (pId == "9") {
obj.name = "자료 게시판";
obj.price = 2000;
}
return obj;
}
</script>
<body class="<c:if test="${not empty loginUser}">logined</c:if>">
<div id="vueApp">
<!-- wrap : s -->
<div class="wrap">
<jsp:include page="/WEB-INF/view/include/inc_home_body_header.jsp"/>
<div class="container">
<div id="contents">
<!-- 상세 : s -->
<div class="inner">
<!-- 단계 메뉴 : s -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_step_menu.jsp"/>
<!-- 단계 메뉴 : e -->
<div id="submitForm">
<input type="hidden" name="cafeId" value="${cafeId}"/>
<input type="hidden" name="hostCnt" value="${hostCnt}"/>
<input type="hidden" name="cloudSize" value="${cloudSize}"/>
<input type="hidden" name="videoLimitCnt" value="${videoLimitCnt}"/>
<input type="hidden" name="classSelect" value="${classSelect}"/>
<input type="hidden" name="optionSelects" value="${optionSelects}"/>
<input type="hidden" name="paymentYn" value="${paymentYn}"/>
</div>
<div class="topTitle">
<h2 class="defaultTitle">상품선택</h2>
</div>
<div class="stepSimulation type02">
<div class="item">
<div class="stepTitle">
<span class="num">Step 1.</span>
<strong class="tit">화상 서비스 유형을 선택해 보세요.</strong>
</div>
<div class="stepCont">
<!-- checkOptionBox : s -->
<div class="checkOptionBox">
<div class="checkItem">
<a href="#none" id="1" class="checkBlock bind-price" onclick="changeOption($(this));"><!-- 체크는 클래스 'on' 추가 -->
<div class="topBox">
<strong class="tit">교육형</strong>
<span class="stit">호스트 중심의 강의형 화상<br class="mHide"><em>(최대 100명)</em></span>
</div>
<div class="midBox">
<p class="price">월 <em>8,000</em>원</p>
<p class="etc">(VAT 포함 월 8,800원)</p>
<p>0원</p>
</div>
</a>
</div>
<div class="checkItem">
<a href="#none" id="2" class="checkBlock bind-price" onclick="changeOption($(this));">
<div class="topBox">
<strong class="tit">회의형</strong>
<span class="stit">소그룹 회의/모임형<br class="mHide"><em>(최대 100명)</em></span>
</div>
<div class="midBox">
<p class="price">월 <em>6,000</em>원</p>
<p class="etc">(VAT 포함 월 6,600원)</p>
<p>0원</p>
</div>
</a>
</div>
<div class="checkItem">
<a href="#none" id="3" class="checkBlock bind-price" onclick="changeOption($(this));">
<div class="topBox">
<strong class="tit">웨비나형</strong>
<span class="stit">대형 세미나 및 이벤트형<br class="mHide"><em>(최대 1,000명, 발표자 화면만 노출)</em></span>
</div>
<div class="midBox">
<p class="price">월 <em>5,000</em>원</p>
<p class="etc">(VAT 포함 월 5,500원)</p>
<p>0원</p>
</div>
</a>
</div>
<div class="checkItem">
<a href="#none" id="4" class="checkBlock bind-price" onclick="changeOption($(this));">
<div class="topBox">
<strong class="tit">교육형 +<br>웨비나형</strong>
</div>
<div class="midBox">
<p class="price">월 <em>12,000</em>원</p>
<p class="etc">(VAT 포함 월 13,200원)</p>
<p>0원</p>
</div>
</a>
</div>
<div class="checkItem">
<a href="#none" id="5" class="checkBlock bind-price" onclick="changeOption($(this));">
<div class="topBox">
<strong class="tit">회의형 +<br>웨비나형</strong>
</div>
<div class="midBox">
<p class="price">월 <em>10,000</em>원</p>
<p class="etc">(VAT 포함 월 11,000원)</p>
<p>0원</p>
</div>
</a>
</div>
</div>
<!-- checkOptionBox : s -->
</div>
</div>
<div class="item count">
<div class="stepTitle">
<span class="num">Step 2.</span>
<strong class="tit">화상을 진행할 Host는 몇 명인가요?</strong>
</div>
<div class="stepCont">
<div class="inputArea">
<input type="text" id="price21" class="inpText" @focus="focusClear(this)" onchange="totalPriceCalculate()" maxlength="1" onKeyup="this.value=this.value.replace(/[^0-9]/g,'');" placeholder="0" value="5" readonly/>
<span class="number">명</span>
</div>
<p class="noti">* 조직 내에서 신청한 HOST 수량만큼 동시에 화상방을 개설할 수 있습니다.<b>(무료체험기간 동안에는 5명으로 제한되어 있습니다)</b> <br>(예시 : 학원 내 강사 수, 기업 내 부서 수 등)</p>
</div>
</div>
<div class="item">
<div class="stepTitle">
<span class="num">Step 3.</span>
<strong class="tit">필요한 추가 옵션을 선택해 보세요.</strong>
<span class="stit">
<!-- <em>(유료)</em> -->
*복수 선택 가능
</span>
</div>
<div class="stepCont">
<!-- checkOptionBox : s -->
<div class="checkOptionBox add">
<div class="checkItem">
<a href="#none" id="6" class="checkBlock bind-price2" onclick="$(this).toggleClass('on');totalPriceCalculate();"><!-- 체크는 클래스 'on' 추가 -->
<div class="topBox">
<strong class="tit">화상 녹화 Cloud 저장</strong>
<ul class="listStyle03">
<li>실시간 화상 녹화 시 클라우드 자동 저장</li>
<li>관리자/호스트 대상 ‘화상 녹화 저장소’ 제공</li>
<li>VOD 게시판 이용 시, 녹화본 VOD 게재 가능</li>
<li><strong>Cloud 용량 10 GB 제공</strong></li>
</ul>
</div>
<div class="midBox">
<p class="price">월 <em>2,000</em>원</p>
<p class="etc">(VAT 포함 월 2,200원)</p>
<p>0원</p>
</div>
</a>
</div>
<div class="checkItem">
<a href="#none" id="7" class="checkBlock bind-price2" onclick="$(this).toggleClass('on');totalPriceCalculate();"><!-- 체크는 클래스 'on' 추가 -->
<div class="topBox">
<strong class="tit">실시간 화상 보안 솔루션 </strong>
<ul class="listStyle03">
<li>실시간 화상 내 워터마크 제공</li>
<li>실시간 녹화 방지 기능(제공 예정)</li>
<li>강의 저작권 및 기업정보 보호 가능</li>
</ul>
</div>
<div class="midBox">
<p class="price">월 <em>3,000</em>원</p>
<p class="etc">(VAT 포함 월 3,300원)</p>
<p>0원</p>
</div>
</a>
</div>
<div class="checkItem">
<a href="#none" id="8" class="checkBlock bind-price2" onclick="$(this).toggleClass('on');totalPriceCalculate();"><!-- 체크는 클래스 'on' 추가 -->
<div class="topBox">
<strong class="tit">VOD 게시판</strong>
<ul class="listStyle03">
<li>이용자별 시청 현황 확인</li>
<li>파일, 로컬영상, 외부 URL 등록 가능</li>
<li>그룹별 노출 대상 선택 가능</li>
<li><strong>Cloud 용량 10 GB 제공</strong></li>
</ul>
</div>
<div class="midBox">
<p class="price">월 <em>2,000</em>원</p>
<p class="etc">(VAT 포함 월 2,200원)</p>
<p>0원</p>
</div>
</a>
</div>
<div class="checkItem">
<a href="#none" id="9" class="checkBlock bind-price2" onclick="$(this).toggleClass('on');totalPriceCalculate();"><!-- 체크는 클래스 'on' 추가 -->
<div class="topBox">
<strong class="tit">자료 게시판 </strong>
<ul class="listStyle03">
<li>조직 내 공유 목적 자료 등록/게시 가능</li>
<li>그룹별 게시물 노출 여부 선택 가능</li>
<li><strong>Cloud 용량 10 GB 제공</strong></li>
</ul>
</div>
<div class="midBox">
<p class="price">월 <em>2,000</em>원</p>
<p class="etc">(VAT 포함 월 2,200원)</p>
<p>0원</p>
</div>
</a>
</div>
</div>
<!-- checkOptionBox : s -->
</div>
</div>
<div class="item">
<div class="stepTitle">
<span class="num">Step 4.</span>
<strong class="tit">용량이 부족하시다면 클라우드 용량을 추가로 요청해서 사용해 보세요.</strong>
<span class="stit">
<!-- <em>(유료)</em> -->
</span>
</div>
<div class="stepCont">
<!-- boxLineGray : s -->
<div class="boxLineGray">
<!-- 2021-10-20 수정 : s -->
<div class="addCapacity">
<div class="topBox">
<strong class="tit"><span>10GB</span>단위로 추가 가능</strong>
<p class="price">
<span>월 1,000원 </span>(VAT 포함 월 1,100원)
</p>
<p>0원</p>
</div>
<div class="capacityBox">
<div class="box">
<dl>
<dt>추가를 원하는 수량을 입력해 주세요.</dt>
<dd class="qtyArea">
<div class="qtyNum">
<a href="#none" onclick="addStorage(-1)" class="numDel"><span>-</span></a>
<span id="strageSize" class="num">0</span>
<a href="#none" onclick="addStorage(1)" class="numAdd"><span>+</span></a>
</div>
</dd>
</dl>
<a href="#none" onclick="cleanStrageSize()" class="btnCapaityDel">해당 항목 삭제</a>
</div>
<div class="boxTotal">
<dl>
<dt>옵션기능 기본 제공 용량</dt>
<dd class="volume"><span id="optionSize">0</span>GB</dd>
</dl>
<dl>
<dt>클라우드 용량 추가</dt>
<dd class="volume"><span id="cloudSize">0</span>GB</dd>
</dl>
<dl class="total">
<dt>사용 가능 클라우드 총 용량</dt>
<dd class="volume"><span id="totalCloudSize">0</span>GB</dd>
</dl>
</div>
</div>
</div>
</div>
<!-- boxLineGray : e -->
<div class="item" v-if="${paymentYn}">
<div class="stepTitle">
<span class="num">Step 5.</span>
<strong class="tit">요금 결제 방법을 선택해 주세요.</strong>
</div>
<div class="stepCont">
<!-- checkOptionBox : s -->
<div class="checkOptionBox payment">
<div class="checkItem">
<a href="#none" id="auto" class="checkBlock bind-payment" onclick="changePayment($(this))"><!-- 체크는 클래스 'on' 추가 -->
<div class="topBox">
<strong class="tit">매월 자동결제(카드 자동 납부)</strong>
<span class="stit">등록한 결제 수단에서 매월 자동으로 결제 </span>
</div>
</a>
</div>
<div class="checkItem">
<a href="#none" id="one" class="checkBlock bind-payment" onclick="changePayment($(this))"><!-- 체크는 클래스 'on' 추가 -->
<div class="topBox">
<strong class="tit">매월 단건결제</strong>
<span class="stit">매월 직접 결제</span>
</div>
</a>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="btnArea block">
<button @click="onSubmit" class="btns btnCol01">
<span>다음</span>
</button>
</div>
</div>
<!-- 상세 : e -->
</div>
</div>
</div>
<!-- footer : s -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_footer.jsp"/>
<!-- footer : e -->
</div>
<jsp:include page="/WEB-INF/view/include/inc_home_body_popup.jsp"/>
<script src="/res/front/js/biz/home/home-common.js?v=${timestamp}"></script>
<script src="/res/front/js/biz/api/user-service.js?v=${timestamp}"></script>
<script src="/res/front/js/biz/home/user/cafe-svc-register.js?v=${timestamp}"></script>
</body>
</html>
@@ -0,0 +1,627 @@
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<jsp:include page="/WEB-INF/view/include/inc_home_head.jsp"/>
<jsp:include page="/WEB-INF/view/include/inc_head_script.jsp"/>
</head>
<script type="text/javascript">
function changeOption(v)
{
$('.bind-price').removeClass('on');
v.toggleClass('on');
if(v[0].id != $('#submitForm').find('input[name=classSelect]').val()){
layerPop('open' , '#layerReservationDel');
}
totalPriceCalculate();
return false;
}
function changeOption2(v)
{
if(v.hasClass('on')){
v.removeClass('on');
}else{
v.toggleClass('on');
}
totalPriceCalculate();
var totalCloud = $('#totalCloudSize').text();
if(totalCloud * 1073741824 < $('#submitForm').find('input[name=usageCloudSize]').val()){
layerPop('open' , '#layerCloudeVolume');
v.toggleClass('on');
totalPriceCalculate();
}
return false;
}
function totalPriceCalculate()
{
var lanEduProdectInfo = new Object();
var totalPrice = 0;
var p1 = $("a.bind-price.on"); //스탭1 옵션
if (p1 != null && p1.length > 0)
{
// var pId = p1[0].id;
// if (pId == "price1") { totalPrice += 8000; }
// else if (pId == "price2") { totalPrice += 6000; }
// else if (pId == "price3") { totalPrice += 5000; }
// else if (pId == "price4") { totalPrice += 12000; }
// else if (pId == "price5") { totalPrice += 10000; }
try
{
var ob = getProduct(p1[0].id);
//totalPrice += ob.price;
lanEduProdectInfo.defaultProduct = ob;
}
catch(err){}
}
var p2 = $("a.bind-price2"); //스탭3 옵션
if (p2 != null && p2.length > 0)
{
var subOption = new Object();
subOption.totalPrice = 0;
var subOptionVal = [];
var cnt = 0;
var optionSize = 0;
for (var i = 0; i < p2.length; i++)
{
var ob = getProduct(p2[i].id);
subOptionVal[i] = ob;
if ($("#"+p2[i].id).hasClass('on'))
{
cnt++;
subOptionVal[i].isSelected = true;
subOption.totalPrice += ob.price;
totalPrice += ob.price;
if(p2[i].id!='7'){
optionSize+=10;
}
}
else
{
subOptionVal[i].isSelected = false;
}
// var pId = p2[i].id;
// console.log(pId);
//
// if (pId == "price11") { totalPrice += 2000; }
// else if (pId == "price12") { totalPrice += 3000; }
// else if (pId == "price13") { totalPrice += 2000; }
// else if (pId == "price14") { totalPrice += 2000; }
}
var ss = Number($('#strageSize').text());
var defaultCloudSize = Number($('#defaultCloudSize').text());
var defaultOptionSize = Number($('#defaultOptionSize').text());
$('#cloudSize').text(ss*10);
$('#optionSize').text(optionSize);
$('#totalCloudSize').text(ss*10+optionSize);
$('#defaultTotalCloudSize').text(defaultCloudSize+defaultOptionSize);
subOption.totalCnt = cnt;
subOption.data = subOptionVal;
lanEduProdectInfo.optionProduct = subOption;
}
console.log(totalPrice);
try {
var p3 = Number($("#price21").text()); //스텝2 옵션, 호스트 개수
totalPrice += (p3 * lanEduProdectInfo.defaultProduct.price)
var ob = new Object();
ob.id = "price21";
ob.name = "호스트 권한 수";
ob.price = (p3 * lanEduProdectInfo.defaultProduct.price);
ob.count = p3;
lanEduProdectInfo.hostCount = ob;
}
catch(err)
{
console.log(err);
}
console.log(totalPrice);
try {
var p4 = Number($('#strageSize').text()); //클라우드 용량
totalPrice += (p4 * 1000)
var ob = new Object();
ob.id = "price31";
ob.name = "클라우드 용량";
ob.totalPrice = (p4 * 1000);
ob.count = p4;
lanEduProdectInfo.storageCount = ob;
}
catch(err)
{
console.log(err);
}
try
{
lanEduProdectInfo.paymentType = $('input[name=paymentType]').val();
}
catch(err){}
lanEduProdectInfo.totalPrice = totalPrice;
var jsonData = JSON.stringify(lanEduProdectInfo);
console.log(jsonData);
try {
localStorage.setItem("lanEduProdectInfo", jsonData);
}
catch(er)
{
}
return false;
}
function cleanStrageSize(){
var ss = Number($('#strageSize').text());
$('#strageSize').text(0);
totalPriceCalculate();
var totalCloud = $('#totalCloudSize').text();
if(totalCloud * 1073741824 < $('#submitForm').find('input[name=usageCloudSize]').val()){
layerPop('open' , '#layerCloudeVolume');
addStorage(ss);
}
}
function addStorage(v)
{
var ss = Number($('#strageSize').text());
ss += v;
if (ss < 0)
{
ss = 0;
}
$('#strageSize').text(ss);
totalPriceCalculate();
var totalCloud = $('#totalCloudSize').text();
if(totalCloud * 1073741824 < $('#submitForm').find('input[name=usageCloudSize]').val()){
layerPop('open' , '#layerCloudeVolume');
addStorage(1);
}
}
function addHost(v)
{
var ss = Number($('#price21').text());
ss += v;
if (ss < 0)
{
ss = 0;
}
if ( ss > 5)
{
ss = 5;
}
$('#price21').text(ss);
appVue.getHostCnt(ss);
totalPriceCalculate();
}
function getProduct(pId)
{
var obj = new Object();
obj.id = pId;
if (pId == "1") {
obj.name = "교육형";
obj.price = 8000;
obj.discription = "최대 동시 접속자 100명 ";
}
else if (pId == "2") {
obj.name = "회의형";
obj.price = 6000;
obj.discription = "최대 동시 접속자 100명 ";
}
else if (pId == "3") {
obj.name = "웨비나형";
obj.price = 5000;
obj.discription = "최대 동시 접속자 1,000명";
}
else if (pId == "4") {
obj.name = "교육+웨비나 결합형";
obj.price = 12000;
obj.discription = "최대 동시 접속자\n교육형 100명 / 웨비나형 1,000명";
}
else if (pId == "5") {
obj.name = "회의+웨비나 결합형";
obj.price = 10000;
obj.discription = "최대 동시 접속자\n회의형 100명 / 웨비나형 1,000명";
}
else if (pId == "6") {
obj.name = "화상 녹화 Cloud 저장";
obj.price = 2000;
}
else if (pId == "7") {
obj.name = "실시간 화상 보안 솔루션";
obj.price = 3000;
}
else if (pId == "8") {
obj.name = "VOD 게시판";
obj.price = 2000;
}
else if (pId == "9") {
obj.name = "자료 게시판";
obj.price = 2000;
}
return obj;
}
</script>
<body class="<c:if test="${not empty loginUser}">logined</c:if>">
<div id="vueApp">
<!-- wrap : s -->
<div class="wrap">
<jsp:include page="/WEB-INF/view/include/inc_home_body_header.jsp"/>
<div class="container">
<div id="contents">
<!-- 상세 : s -->
<div class="inner">
<!-- 단계 메뉴 : s -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_step_menu.jsp"/>
<!-- 단계 메뉴 : e -->
<div id="submitForm">
<input type="hidden" name="cafeId" value="${cafeId}"/>
<input type="hidden" name="paymentType" value="${paymentType}"/>
<input type="hidden" name="hostCnt" value="${hostCnt}"/>
<input type="hidden" name="cloudSize" value="${cloudSize}"/>
<input type="hidden" name="videoLimitCnt" value="${videoLimitCnt}"/>
<input type="hidden" name="classSelect" value="${classSelect}"/>
<input type="hidden" name="optionSelects" value="${optionSelects}"/>
<input type="hidden" name="usageCloudSize" value="${cloud.vodBoardFileSize + cloud.pdsBoardFileSize}"/>
</div>
<div class="topTitle">
<h2 class="defaultTitle">옵션변경</h2>
</div>
<div class="stepSimulation type02">
<div class="item">
<div class="stepTitle">
<strong class="tit">화상 서비스 유형을 선택해 보세요.</strong>
<!-- 2021-11-03 추가 : s -->
<span class="stit"><em class="smsg block">*화상 유형 변경 시, 개설된 화상 예약은 삭제됩니다.</em></span>
<!-- 2021-11-03 추가 : e -->
</div>
<div class="stepCont">
<!-- checkOptionBox : s -->
<div class="checkOptionBox">
<div id="1ing" class="checkItem">
<span v-show="${classSelect} == '1'" class="sticker">현재 이용 중</span>
<a href="#none" id="1" class="checkBlock bind-price" onclick="changeOption($(this));"><!-- 체크는 클래스 'on' 추가 -->
<div class="topBox">
<strong class="tit">교육형</strong>
<span class="stit">호스트 중심의 강의형 화상<br class="mHide"><em>(최대 100명)</em></span>
</div>
<div class="midBox">
<p class="price">월 <em>8,000</em>원</p>
<p class="etc">(VAT 포함 월 8,800원)</p>
<p>0원</p>
</div>
</a>
</div>
<div id="2ing" class="checkItem">
<span v-show="${classSelect} == '2'" class="sticker">현재 이용 중</span>
<a href="#none" id="2" class="checkBlock bind-price" onclick="changeOption($(this));">
<div class="topBox">
<strong class="tit">회의형</strong>
<span class="stit">소그룹 회의/모임형<br class="mHide"><em>(최대 100명)</em></span>
</div>
<div class="midBox">
<p class="price">월 <em>6,000</em>원</p>
<p class="etc">(VAT 포함 월 6,600원)</p>
<p>0원</p>
</div>
</a>
</div>
<div id="3ing" class="checkItem">
<span v-show="${classSelect} == '3'" class="sticker">현재 이용 중</span>
<a href="#none" id="3" class="checkBlock bind-price" onclick="changeOption($(this));">
<div class="topBox">
<strong class="tit">웨비나형</strong>
<span class="stit">대형 세미나 및 이벤트형<br class="mHide"><em>(최대 1,000명, 발표자 화면만 노출)</em></span>
</div>
<div class="midBox">
<p class="price">월 <em>5,000</em>원</p>
<p class="etc">(VAT 포함 월 5,500원)</p>
<p>0원</p>
</div>
</a>
</div>
<div id="4ing" class="checkItem">
<span v-show="${classSelect} == '4'" class="sticker">현재 이용 중</span>
<a href="#none" id="4" class="checkBlock bind-price" onclick="changeOption($(this));">
<div class="topBox">
<strong class="tit">교육형 +<br>웨비나형</strong>
</div>
<div class="midBox">
<p class="price">월 <em>12,000</em>원</p>
<p class="etc">(VAT 포함 월 13,200원)</p>
<p>0원</p>
</div>
</a>
</div>
<div id="5ing" class="checkItem">
<span v-show="${classSelect} == '5'" class="sticker">현재 이용 중</span>
<a href="#none" id="5" class="checkBlock bind-price" onclick="changeOption($(this));">
<div class="topBox">
<strong class="tit">회의형 +<br>웨비나형</strong>
</div>
<div class="midBox">
<p class="price">월 <em>10,000</em>원</p>
<p class="etc">(VAT 포함 월 11,000원)</p>
<p>0원</p>
</div>
</a>
</div>
</div>
<!-- checkOptionBox : s -->
</div>
</div>
<div class="item count">
<div class="stepTitle">
<strong class="tit">화상을 진행할 Host는 몇 명인가요?</strong>
<p class="smsg">* 기존에 개설된 화상예약 개수 이하로 축소 불가</p>
</div>
<div class="stepCont">
<div class="qtyArea">
<!-- <input type="text" id="price21" class="inpText" onchange="totalPriceCalculate()" maxlength="10" onKeyup="this.value=this.value.replace(/[^0-9]/g,'');" placeholder="0"> -->
<div class="qtyNum">
<!-- <a href="#none" onclick="addHost(-1)" class="numDel"><span>-</span></a> -->
<span class="num"><em id="price21">5</em>명</span>
<!-- <a href="#none" onclick="addHost(1)" class="numAdd"><span>+</span></a> -->
</div>
</div>
</div>
</div>
<div class="item">
<div class="stepTitle">
<strong class="tit">필요한 추가 옵션을 선택해 보세요.</strong>
<span class="stit">
<!-- <em>(유료)</em> -->
*복수 선택 가능
</span>
</div>
<div class="stepCont">
<!-- checkOptionBox : s -->
<div class="checkOptionBox add">
<div id="6ing" class="checkItem">
<span id="6sticker" class="sticker">현재 이용 중</span>
<a href="#none" id="6" class="checkBlock bind-price2" onclick="changeOption2($(this))"><!-- 체크는 클래스 'on' 추가 -->
<div class="topBox">
<strong class="tit">화상 녹화 Cloud 저장</strong>
<ul class="listStyle03">
<li>실시간 화상 녹화 시 클라우드 자동 저장</li>
<li>관리자/호스트 대상 ‘화상 녹화 저장소’ 제공</li>
<li>VOD 게시판 이용 시, 녹화본 VOD 게재 가능</li>
<li><strong>Cloud 용량 10 GB 제공</strong></li>
</ul>
</div>
<div class="midBox">
<p class="price">월 <em>2,000</em>원</p>
<p class="etc">(VAT 포함 월 2,200원)</p>
<p>0원</p>
</div>
</a>
</div>
<div id="7ing" class="checkItem">
<span id="7sticker" class="sticker">현재 이용 중</span>
<a href="#none" id="7" class="checkBlock bind-price2" onclick="changeOption2($(this))"><!-- 체크는 클래스 'on' 추가 -->
<div class="topBox">
<strong class="tit">실시간 화상 보안 솔루션 </strong>
<ul class="listStyle03">
<li>실시간 화상 내 워터마크 제공</li>
<li>실시간 녹화 방지 기능(제공 예정)</li>
<li>강의 저작권 및 기업정보 보호 가능</li>
</ul>
</div>
<div class="midBox">
<p class="price">월 <em>3,000</em>원</p>
<p class="etc">(VAT 포함 월 3,300원)</p>
<p>0원</p>
</div>
</a>
</div>
<div id="8ing" class="checkItem">
<span id="8sticker" class="sticker">현재 이용 중</span>
<a href="#none" id="8" class="checkBlock bind-price2" onclick="changeOption2($(this))"><!-- 체크는 클래스 'on' 추가 -->
<div class="topBox">
<strong class="tit">VOD 게시판</strong>
<ul class="listStyle03">
<li>이용자별 시청 현황 확인</li>
<li>파일, 로컬영상, 외부 URL 등록 가능</li>
<li>그룹별 노출 대상 선택 가능</li>
<li><strong>Cloud 용량 10 GB 제공</strong></li>
</ul>
</div>
<div class="midBox">
<p class="price">월 <em>2,000</em>원</p>
<p class="etc">(VAT 포함 월 2,200원)</p>
<p>0원</p>
</div>
</a>
</div>
<div id="9ing" class="checkItem">
<span id="9sticker" class="sticker">현재 이용 중</span>
<a href="#none" id="9" class="checkBlock bind-price2" onclick="changeOption2($(this))"><!-- 체크는 클래스 'on' 추가 -->
<div class="topBox">
<strong class="tit">자료 게시판 </strong>
<ul class="listStyle03">
<li>조직 내 공유 목적 자료 등록/게시 가능</li>
<li>그룹별 게시물 노출 여부 선택 가능</li>
<li><strong>Cloud 용량 10 GB 제공</strong></li>
</ul>
</div>
<div class="midBox">
<p class="price">월 <em>2,000</em>원</p>
<p class="etc">(VAT 포함 월 2,200원)</p>
<p>0원</p>
</div>
</a>
</div>
</div>
<!-- checkOptionBox : s -->
</div>
</div>
<div class="item">
<div class="stepTitle">
<strong class="tit">용량이 부족하시다면 클라우드 용량을 추가로 요청해서 사용해 보세요.</strong>
<span class="stit">
<!-- <em>(유료)</em> -->
</span>
</div>
<div class="stepCont">
<!-- boxLineGray : s -->
<div class="boxLineGray">
<!-- 2021-10-20 수정 : s -->
<div class="addCapacity">
<div class="topBox">
<strong class="tit"><span>10GB</span>단위로 변경</strong>
<p class="price">
<span>용량 추가 시, 10GB당 월 1,000원 </span>(VAT 포함 월 1,100원)
<p>0원</p>
</p>
</div>
<div class="capacityBox">
<div class="capacityBoxColWrap">
<!-- <div class="box">
<a href="#none" onclick="cleanStrageSize()" class="btnCapaityDel">해당 항목 삭제</a>
</div> -->
<div class="capacityBoxCol">
<div class="capacityBoxColInner">
<strong class="tit">기존 클라우드 용량</strong>
<div class="boxRateWrap">
<dl>
<dt>옵션기능 기본 제공 용량</dt>
<dd><em><span id="defaultOptionSize">0</span></em>GB</dd>
</dl>
<dl>
<dt>클라우드 추가 용량</dt>
<dd><em><span id="defaultCloudSize">0</span></em>GB</dd>
</dl>
<dl class="total">
<dt>사용가능 클라우드 총 용량</dt>
<dd><em><span id="defaultTotalCloudSize">0</span></em>GB</dd>
</dl>
</div>
</div>
</div>
<div class="capacityBoxCol change">
<div class="capacityBoxColInner">
<strong class="tit">변경 클라우드 용량</strong>
<div class="boxRateWrap">
<dl>
<dt>옵션기능 기본 제공 용량</dt>
<dd><em><span id="optionSize">0</span></em>GB</dd>
</dl>
<dl class="add">
<dt>클라우드 추가 용량</dt>
<dd>
<div class="qtyArea">
<div class="qtyNum">
<a href="#none" onclick="addStorage(-1)" class="numDel"><span>-</span></a>
<span id="strageSize" class="num">0</span>
<a href="#none" onclick="addStorage(1)" class="numAdd"><span>+</span></a>
</div>
</div>
<em id="cloudSize">0</em>GB
</dd>
</dl>
<dl class="total">
<dt>사용가능 클라우드 총 용량</dt>
<dd><em><span id="totalCloudSize">0</span></em>GB</dd>
</dl>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- boxLineGray : e -->
</div>
</div>
</div>
<div class="btnArea">
<button @click="onSubmit" class="btns btnCol01">
<span>다음</span>
</button>
</div>
</div>
<!-- 상세 : e -->
</div>
</div>
</div>
<!-- footer : s -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_footer.jsp"/>
<!-- footer : e -->
</div>
<!--[레] 화상예약 삭제안내 : s -->
<div class="layerPop alert" id="layerReservationDel">
<div class="layerPopArea">
<div class="popCont">
<!-- 내용 : s -->
<p class="msg">화상 유형 변경 시,<br>기존에 개설되어 있는 화상예약은 모두 삭제됩니다.</p>
<div class="btnArea">
<a href="#" onclick="layerPop('close' , '#layerReservationDel')" class="btns btnCol01"><span>확인</span></a>
</div>
<!-- 내용 : e -->
</div>
</div>
</div>
<!--[레] 화상예약 삭제안내 : e -->
<!--[레] 개수 확인 : s -->
<div class="layerPop alert" id="layerCountConfirm">
<div class="layerPopArea">
<div class="popCont">
<!-- 내용 : s -->
<strong class="popTitImp">개설된 화상 개수 확인 필요!</strong>
<p class="msg">현재 <span id="nowOpenHostCnt">A</span>개의 HOST 이용 중이며,<br>축소하려는 HOST 수량보다 개설된 화상의 개수가 많습니다.<br>기존에 개설된 화상을 삭제 후 다시 시도해 주세요.</p>
<div class="btnArea">
<a href="#" onclick="layerPop('close' , '#layerCountConfirm')" class="btns btnCol01"><span>확인</span></a>
</div>
<!-- 내용 : e -->
</div>
</div>
</div>
<!--[레] 개수 확인 : e -->
<!--[레] 클라우드 잔여용량 확인 : s -->
<div class="layerPop alert" id="layerCloudeVolume">
<div class="layerPopArea">
<div class="popCont">
<!-- 내용 : s -->
<strong class="popTitImp">클라우드 잔여 용량 확인 필요!</strong>
<p class="msg">추가 옵션 해제 시, 클라우드 용량 10GB가 축소됩니다.<br>축소되는 용량만큼 잔여 용량이 남아있어야<br> 추가 옵션 해제가 가능합니다. <br>데이터를 삭제한 후 다시 시도해 주세요.</p>
<div class="btnArea">
<a href="#" onclick="layerPop('close' , '#layerCloudeVolume')" class="btns btnCol01"><span>확인</span></a>
</div>
<!-- 내용 : e -->
</div>
</div>
</div>
<!--[레] 클라우드 잔여용량 확인 : e -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_popup.jsp"/>
<script src="/res/front/js/biz/home/home-common.js?v=${timestamp}"></script>
<script src="/res/front/js/biz/api/user-service.js?v=${timestamp}"></script>
<script src="/res/front/js/biz/home/user/cafe-svc-update.js?v=${timestamp}"></script>
</body>
</html>
@@ -0,0 +1,200 @@
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<jsp:include page="/WEB-INF/view/include/inc_home_head.jsp"/>
<jsp:include page="/WEB-INF/view/include/inc_head_script.jsp"/>
</head>
<body class="<c:if test="${not empty loginUser}">logined</c:if>">
<!-- wrap : s -->
<div class="wrap">
<!-- header : s -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_header.jsp"/>
<!-- header : e -->
<div class="container">
<div id="contents">
<!-- 상세 : s -->
<div class="inner" id="vueApp">
<!-- 단계 메뉴 : s -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_step_menu.jsp"/>
<!-- 단계 메뉴 : e -->
<div class="innerWrap">
<div class="payCompleteWrap">
<p class="topMsg">서비스 변경 완료</p>
<dl class="defineList">
<dt class="tit">조직정보</dt>
<dd>
<div class="infoBox">
<dl class="infoList">
<dt>조직명</dt>
<dd><c:out value="${cafe.name}" /></dd>
</dl>
<dl class="infoList">
<dt>조직코드</dt>
<dd>
<c:out value="${cafe.cafeCode}" />
<div class="btn">
<a href="#" class="btns small btnCol04" onclick="copy_to_clipboard()">
<span>복사</span>
</a>
<a class="btns small btnCol01" @click="openPopup">
<span>멤버 초대하기</span>
</a>
</div>
</dd>
</dl>
</div>
</dd>
</dl>
<dl class="defineList">
<dt class="tit">상품정보</dt>
<dd>
<div class="infoBox">
<dl class="infoList">
<dt>화상유형</dt>
<dd><c:out value="${main.svcName}" /></dd>
</dl>
<dl class="infoList">
<dt>선택옵션</dt>
<dd><c:out value="${option}" /></dd>
</dl>
<dl class="infoList">
<dt>Host 권한 수</dt>
<dd><c:out value="${main.hostCnt}" />개</dd>
</dl>
<dl class="infoList">
<dt>클라우드 용량</dt>
<dd>제공용량 <c:out value="${capacity.totalSupplyCapacity}"/> + 추가용량 <c:out value="${capacity.totalAddCapacity}"/> = <c:out value="${capacity.totalCapacity}"/></dd>
</dl>
<dl class="infoList">
<dt>서비스 시작일</dt>
<dd>${cafePay.nowText}</dd>
</dl>
</div>
</dd>
</dl>
<%-- <dl class="defineList">
<dt class="tit">결제정보</dt>
<dd>
<div class="infoBox payment">
<c:choose>
<c:when test="${!paymentYn}">
<p class="guideMsg">
<span>2022년 2월 1일 부터 유료화 예정입니다.</span>
</p>
</c:when>
<c:otherwise>
<p class="guideMsg" v-if="${cafe.paymentType == 'auto'}">
매월 자동결제 <span>다음 결제일은 <em class="date">${cafePay.autoPayDtText}</em> 입니다.</span>
</p>
<p class="guideMsg" v-else>
단건결제
<span v-if="${cafePay.payType != 'VBANK' }">다음 결제일은
<em class="date">${cafePay.autoPayDtText}</em>
입니다.</span>
<span v-else>
<em class="date">${cafePay.autoPayDtText}</em>
까지 입금해주세요.</span>
</p>
</c:otherwise>
</c:choose>
<p class="accNumber">${cafePay.viewPayType} ${cafePay.payCardNo}</p>
<p class="accPrice centerline"><strong>월 ${cafe.amtToComma}원</strong> (VAT 포함 월 ${cafe.vatAmtToComma}원)</p>
<p>0원</p>
</div>
</dd>
</dl> --%>
<div class="btnArea block">
<a href="/portal" class="btns btnCol01">
<span>랜선에듀On 시작하기</span>
</a>
</div>
</div>
</div>
<div class="layerPop" id="layerInvite">
<div class="layerPopArea w540">
<div class="popCont">
<!-- 내용 : s -->
<p class="msg left">우리 조직에 가입 초대할 멤버의 휴대폰 번호를<br>입력해 주세요. 초대메시지가 전송됩니다.</p>
<ul class="listStyle02">
<li class="textCol01">1회 최대 50건까지 발송할 수 있습니다.</li>
</ul>
<div class="topTitle">
<div class="right">
<a target="_blank" href="/res/doc/phone.xlsx" class="btns small btnCol04" style="display: inline-block">
<span>서식 다운로드</span>
</a>
<button onclick="onClickExcelUpload()" type="button" class="btns small btnCol04" style="display: inline-block">
<span>엑셀 업로드</span>
</button>
</div>
</div>
<ul class="inpFieldClone" style="display: none;">
<li>
<input type="text" class="inpText" placeholder="휴대폰번호" name="invite" value="">
</li>
</ul>
<ul class="inpField">
<li>
<input type="text" class="inpText" placeholder="휴대폰번호" name="invite" value="">
</li>
<li>
<input type="text" class="inpText" placeholder="휴대폰번호" name="invite" value="">
</li>
<li>
<input type="text" class="inpText" placeholder="휴대폰번호" name="invite" value="">
</li>
<li>
<input type="text" class="inpText" placeholder="휴대폰번호" name="invite" value="">
</li>
<li>
<input type="text" class="inpText" placeholder="휴대폰번호" name="invite" value="">
</li>
</ul>
<div class="btmSpaceArea">
<a href="#" class="btnAdd" @click="addPhoneInput">+ 추가</a>
</div>
<div class="btnArea">
<a href="#" class="btns btnCol01" @click="onInvite"><span>초대메시지 전송</span></a>
</div>
<!-- 내용 : e -->
</div>
<a href="#" class="btnPopClose" @click="closePopup">해당 레이어 닫기</a>
</div>
</div>
</div>
<!-- 상세 : e -->
</div>
</div>
<!-- footer : s -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_footer.jsp"/>
<!-- footer : e -->
</div>
<!-- wrap : e -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_popup.jsp"/>
<script src="/res/front/js/biz/home/home-common.js?v=${timestamp}"></script>
<script>
var current_cafe_id = ${param.cafeId};
localStorage.removeItem("lanEduProdectInfo");
</script>
<script src="/res/front/js/biz/home/user/cafe-update-complete.js?v=${timestamp}"></script>
<div style="position: fixed; left: -999999px; top: -999999px;">
<input id="copy_data" value="${cafe.cafeCode}">
<script>
function copy_to_clipboard() {
var copyText = document.getElementById("copy_data");
copyText.select();
document.execCommand("Copy");
alert(' 복사했습니다. ');
}
</script>
</div>
</body>
</html>
@@ -0,0 +1,279 @@
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<jsp:include page="/WEB-INF/view/include/inc_home_head.jsp"/>
<jsp:include page="/WEB-INF/view/include/inc_head_script.jsp"/>
</head>
<body class="<c:if test="${not empty loginUser}">logined</c:if>">
<!-- wrap : s -->
<div class="wrap">
<jsp:include page="/WEB-INF/view/include/inc_home_body_header.jsp"/>
<div class="container">
<div id="contents">
<!-- 상세 : s -->
<div class="inner">
<!-- 단계 메뉴 : s -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_step_menu.jsp"/>
<!-- 단계 메뉴 : e -->
<div id="submitForm">
<input type="hidden" name="paymentYn" value="${paymentYn}"/>
</div>
<div class="topTitle">
<h2 class="defaultTitle">서비스 이용 상세</h2>
</div>
<!-- paymentWrap : s -->
<div class="paymentWrap history" id="vueApp">
<div class="paymentGridBox">
<div class="item">
<div class="itemHead">
<dl>
<dt>화상유형</dt>
<dd>
<div class="number centerline"><span id="defaultProductTitle">0</span>원</div>
<p>0원</p>
</dd>
</dl>
</div>
<div class="itemCont">
<div class="optionList">
<div class="optionItem">
<strong class="prod" id="defaultType">교육 + 웨비나<br class="mHide">결합형</strong>
<div class="numArea">
<div class="number mHide centerline"><span id="defaultProduct"></span>원</div>
<p>0원</p>
</div>
</div>
</div>
<p class="etc mHide" id="defaultTypeDetail">최대 동시접속자<br>교육형 N형 / 웨비나형 N형</p>
</div>
</div>
<div class="item">
<div class="itemHead">
<dl>
<dt>호스트 권한 수</dt>
<dd>
<div class="number"><span id="hostCountTitle"></span>명</div>
</dd>
</dl>
</div>
<div class="itemCont">
<div class="optionList">
<div class="optionItem">
<div class="numArea">
<div class="number centerline"><span id="hostPrice">12,000</span>원 x <span id="hostCount"></span></div>
<p>0원</p>
</div>
</div>
</div>
</div>
</div>
<div class="item">
<div class="itemHead">
<dl>
<dt>부가옵션</dt>
<dd>
<div class="number centerline"><span id="subOptionTotalPrice"></span>원</div>
<p>0원</p>
</dd>
</dl>
</div>
<div class="itemCont">
<div class="optionList">
<div class="optionItem" id="price21">
<strong class="prod">Cloud 저장</strong>
<div class="numArea">
<div class="number centerline"><span id="price21_1"></span>원</div>
<p>0원</p>
</div>
</div>
<div class="optionItem" id="price22">
<strong class="prod">실시간 화상 보안 솔루션</strong>
<div class="numArea">
<div class="number centerline"><span id="price22_1"></span>원</div>
<p>0원</p>
</div>
</div>
<div class="optionItem" id="price23">
<strong class="prod">VOD게시판</strong>
<div class="numArea">
<div class="number centerline"><span id="price23_1"></span>원</div>
<p>0원</p>
</div>
</div>
<div class="optionItem" id="price24">
<strong class="prod">자료게시판</strong>
<div class="numArea">
<div class="number centerline"><span id="price24_1"></span>원</div>
<p>0원</p>
</div>
</div>
</div>
</div>
</div>
<div class="item">
<div class="itemHead">
<dl>
<dt>클라우드 용량</dt>
<dd>
<div class="number centerline"><span id="price31"></span>원</div>
<p>0원</p>
</dd>
</dl>
</div>
<div class="itemCont">
<div class="optionList">
<div class="optionItem">
<div class="numArea">
<div class="number centerline"><span>1,000</span>원 x <span id="price31_1"></span></div><p>0원</p>
<div class="number small">(<span>10GB</span> x <span id="price31_2"></span> )</div>
</div>
</div>
</div>
</div>
</div>
<div class="item total">
<div class="itemHead" style="padding-top:29px">
<dl>
<dt>총 결제금액</dt>
<dd>
<div class="number centerline"><span id="priceTotal"></span>원</div>
<div class="vat centerline" id="priceTotalVat"></div>
<p>0원</p>
</dd>
</dl>
</div>
<div class="itemCont">
<div class="optionList">
<div class="optionItem">
<!-- <p class="noti">무료이용 기간동안 요금이<br class="mHide">결제되지 않습니다.</p> -->
</div>
</div>
</div>
</div>
</div>
<div class="paymentGuideBox">
<%-- <dl>
<dt><span id="paymentType"></span></dt>
<c:choose>
<c:when test="${!paymentYn}">
<dd>무료이용 기간 종료 시, 2022년 2월 1일 부터 유료화 예정입니다.</dd>
</c:when>
<c:otherwise>
<dd>다음 달 ${currentDate}일부터 변경된 요금으로 결제됩니다.</dd>
</c:otherwise>
</c:choose>
</dl> --%>
<dl>
<dt>서비스 시작일</dt>
<dd><span>${currentMonth}월 ${currentDate}일</span></dd>
</dl>
<dl>
<dt>클라우드 용량</dt>
<dd><span id="totalCloud"></span></dd>
</dl>
</div>
<div class="btnArea block">
<a class="btns btnCol01" @click="onRegister">
<span>서비스 신청하기</span>
</a>
<div class="guideTxt">최근 옵션 변경일 기준으로 1개월 이후 옵션 변경 가능<br>오늘 변경 시, ${cafeSvc.nextUdtDtText} 이후 변경 가능</div>
</div>
</div>
<!-- paymentWrap : e -->
</div>
<!-- 상세 : e -->
</div>
</div>
<!-- footer : s -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_footer.jsp"/>
<!-- footer : e -->
</div>
<!-- wrap : e -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_popup.jsp"/>
<script src="/res/front/js/biz/home/home-common.js?v=${timestamp}"></script>
<script src="/res/front/js/biz/home/user/cafe-update-payment.js?v=${timestamp}"></script>
<script type="text/javascript">
function numText(s)
{
var regex = /\B(?=(\d{3})+(?!\d))/g;
return s.toString().replace(regex, ",");
}
$(document).ready(function(){
var priceItem = JSON.parse(localStorage.getItem("lanEduProdectInfo"));
console.log('-----------------');
console.log(numText(1000));
//로직잘못되서 수정
priceItem.hostCount.price = parseInt(priceItem.defaultProduct.price, 10) * parseInt(priceItem.hostCount.count, 10);
var sumPrice = parseInt(priceItem.hostCount.price, 10) + parseInt(priceItem.optionProduct.totalPrice, 10)
+ parseInt(priceItem.storageCount.totalPrice, 10);
priceItem.totalPrice = sumPrice;
$('#defaultType').html(priceItem.defaultProduct.name.replace("\n", "<br>"));
$('#defaultTypeDetail').html(priceItem.defaultProduct.discription.replace("\n", "<br>"));
$('#defaultProductTitle').text(numText(priceItem.defaultProduct.price));
$('#defaultProduct').text(numText(priceItem.defaultProduct.price));
$('#hostCountTitle').text(numText(priceItem.hostCount.count));
$('#hostPrice').text( numText(priceItem.defaultProduct.price) );
$('#hostCount').text(numText(priceItem.hostCount.count));
$('#subOptionTotalPrice').text(numText(priceItem.optionProduct.totalPrice));
var cloudSize = 0;
for (var i = 0; i < priceItem.optionProduct.data.length; i++)
{
console.log(priceItem.optionProduct.data[i].price);
console.log(priceItem.optionProduct.data[i].isSelected);
var optionId = priceItem.optionProduct.data[i].id;
if (priceItem.optionProduct.data[i].isSelected)
{
$('#price2' + (i+1) + "_1").text(numText(priceItem.optionProduct.data[i].price));
$('#price2' + (i+1)).removeClass('disabled');
if(optionId == "6"||optionId == "8"||optionId == "9"){
cloudSize++;
}
}
else
{
$('#price2' + (i+1) + "_1").text('0');
$('#price2' + (i+1)).addClass('disabled');
}
}
$('#price31').text(numText(priceItem.storageCount.totalPrice));
$('#price31_1').text(numText(priceItem.storageCount.count));
$('#price31_2').text(numText(priceItem.storageCount.count));
$('#priceTotal').text(numText(priceItem.totalPrice));
if (cloudSize > 0 || priceItem.storageCount.count > 0){
$('#totalCloud').text(numText(priceItem.storageCount.count+cloudSize) + "0GB");
}
else{
$('#totalCloud').text("0GB");
}
$('#priceTotalVat').text("(VAT 포함가 " + numText(Math.floor((priceItem.totalPrice * 1.1))) + "원)");
$('#priceTotalB').text(numText(priceItem.totalPrice));
$('#priceTotalVatB').text("(VAT 포함가 " + numText(Math.floor((priceItem.totalPrice * 1.1))) + "원)");
if(priceItem.paymentType == "auto"){
$('#paymentType').text("자동결제");
}else{
$('#paymentType').text("단건결제");
}
});
</script>
</body>
</html>
@@ -0,0 +1,286 @@
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html lang="ko">
<head>
<jsp:include page="/WEB-INF/view/include/inc_home_head.jsp"/>
<jsp:include page="/WEB-INF/view/include/inc_head_script.jsp"/>
</head>
<body class="<c:if test="${not empty loginUser}">logined</c:if>">
<input type="hidden" id="RSAModulus" value="${RSAModulus}" readonly/>
<input type="hidden" id="RSAExponent" value="${RSAExponent}" readonly/>
<!-- wrap : s -->
<div class="wrap pageSmall">
<div class="container">
<div id="contents">
<!-- 상세 : s -->
<div class="headerConts">
<h1 class="logo"><a href="/">로고</a></h1>
</div>
<div id="selectCertification" class="innerConts">
<form method="get">
<dl class="formList type02">
<dt>비밀번호가 기억나지 않으세요?<br>원하시는 방법을 선택해 새 비밀번호를 설정하세요!.</dt>
<dd>
<input type="tel" id="tel" class="inpText" placeholder="휴대폰번호" maxlength="11">
</dd>
</dl>
<div class="btnArea block">
<a href="javascript:checkAndSubmit(1)" class="btns btnCol01 disabledChecker disabled">
<span>휴대폰 본인인증으로 찾기</span>
<em>본인명의의 휴대폰으로 본인확인</em>
</a>
<a href="javascript:checkAndSubmit(2)" class="btns btnCol03 disabledChecker disabled">
<span>임시 비밀번호 발급받기</span>
<em>가입 시 등록된 이메일로 임시 비밀번호 발송</em>
</a>
</div>
</form>
</div>
<!-- 상세 : e -->
<div id="inputPassword" class="innerConts" style="display: none;">
<dl class="formList">
<dt>비밀번호 재설정</dt>
<dd>
<input type="password" id="pwd1" maxlength="30" class="inpText" placeholder="새 비밀번호">
</dd>
<dd>
<input type="password" id="pwd2" maxlength="30" class="inpText" placeholder=" 새 비밀번호 확인">
</dd>
</dl>
<dl class="guideList">
<dt>비밀번호는 8-30자의 영문 대소문자, 숫자, 특수문자를 조합하여 입력해주세요.</dt>
<dd>4회 이상 반복된 문구와 숫자 사용 불가<br>계정(휴대폰 번호)과 4자리 이상 동일한 숫자 사용 불가</dd>
</dl>
<div class="btnArea">
<!-- a href="javascript:checkPassword('id', 'pwd1', 'pwd2')" class="btns btnCol01 disabled"><! -- 입력 완료시 클래스 'disabled' 제거-->
<a href="javascript:checkPasswordById();" class="btns btnCol01"><!-- 입력 완료시 클래스 'disabled' 제거-->
<span>비밀번호 변경하기</span>
</a>
</div>
</div>
</div>
</div>
</div>
<!-- wrap : e -->
<!--[레] 비밀번호 인증메일 발송 : s -->
<div class="layerPop alert" id="layerPwdCertify">
<div class="layerPopArea">
<div class="popCont">
<!-- 내용 : s -->
<div class="pwdCertifyWrap">
<p class="msg">가입 시 등록한 메일주소로<br class="wHide">임시비밀번호를 보내드렸습니다.</p>
<p class="mailTxt">abc****@naver.com(받아온 아이디를 넣어주세요)</p>
<p class="stxt">로그인 후, 마이페이지에서<br>사용하고자 하는 비밀번호로 수정해 주세요.</p>
</div>
<div class="btnArea">
<a href="#" class="btns btnCol01" onclick="popCloseAndRedirection()"><span>확인</span></a>
</div>
<!-- 내용 : e -->
</div>
</div>
</div>
<div class="layerPop alert" id="layerPwdChange">
<div class="layerPopArea">
<div class="popCont">
<!-- 내용 : s -->
<p class="msg">비밀번호가 변경되었습니다.<br>로그인 페이지로 이동합니다.</p>
<div class="btnArea">
<a href="#" class="btns btnCol01" onclick="popCloseAndRedirection()"><span>확인</span></a>
</div>
<!-- 내용 : e -->
</div>
</div>
</div>
<jsp:include page="/WEB-INF/view/include/inc_home_body_popup.jsp"/>
<script>
function checkAndSubmit(t) {
let phone = $("#tel").val();
if (phone == "") {
alert(" 휴대폰 번호를 입력해 주세요. ");
return false;
}
if (t == 1) {
/*
입력받은 전화번호를 인증 완료 후 쿼리하여 해당 유저에게 비번 재 설정
*/
var url = '/extra/cert?actionType=FIND_UID';
openPopup(url, 400, 600);
} else {
lanedu.front.api.user.setTempPassword({
siteType: g_siteType,
siteId: g_siteId,
phone: phone
}, function (result, message, data) {
if (!data.result) {
alert(data.message);
return;
}
layerPop('open', '#layerPwdCertify');
$('.mailTxt').text(data.detail.email);
})
}
}
function callbackCert() {
certificationCallback();
}
//휴대폰 인증 후 콜백 펑션
function certificationCallback() {
$("#selectCertification").hide();
$("#inputPassword").show();
}
function popCloseAndRedirection() {
layerPop('close', '#layerPwdCertify');
window.location.href = "/home/user/login"
}
function checkPasswordById() {
var id = $("#tel").val(); // id
var pw1 = $("#pwd1").val(); //비밀번호
var pw2 = $("#pwd2").val(); //비밀번호 확인
var msg = checkPassword(id, pw1, pw2);
if (msg != null) {
alert(msg);
return false;
}
let pp = encRSA(pw1);
let apiData = {
siteId: g_siteId,
phone: id,
password: pp,
};
lanedu.front.api.user.setNewPassword(apiData, function (result, message, data) {
if (!result) {
alert(message);
return false;
}
layerPop('open', '#layerPwdChange');
})
return true;
}
$("#tel").on("propertychange change keyup paste input", function () {
//입력받은 전화번호로 회원DB검색 후 버튼 활성화
if ($("#tel").val().length >= 10) {
$('.disabledChecker').removeClass('disabled');
} else {
$('.disabledChecker').addClass('disabled');
}
});
function checkPassword(idField, pw1, pw2) {
var pattern1 = /[0-9]/;
var pattern2 = /[a-z]/;
var pattern22 = /[A-Z]/;
var pattern3 = /[~!@\#$%<>^&*]/; // 원하는 특수문자 추가 제거
if (pw1.length == 0) {
return "비밀번호를 입력해 주세요";
} else {
if (pw1 != pw2) {
return "비밀번호 확인이 틀립니다.";
}
}
if (!pattern1.test(pw1)) {
return "비밀번호에 숫자가 포함되어 있어야 합니다.";
} else if (!pattern2.test(pw1) || !pattern22.test(pw1)) {
return "비밀번호에 영문 대소문자가 포함되어야 합니다.";
} else if (!pattern3.test(pw1)) {
return "비밀번호에 특수문자가 포함되어야 합니다.";
} else if (pw1.length < 8 || pw1.length > 30) {
return "비밀번호는 8자 이상, 30자 이하로 작성하셔야 합니다.";
}
if (pw1.indexOf(idField) > -1) {
return "비밀번호는 ID를 포함할 수 없습니다.";
}
var cnt = 0, cnt2 = 1, cnt3 = 1;
var temp = "";
var temp_id = 0;
for (var i = 0; i < idField.length; i++) {
temp_id = idField.charAt(i);
for (var j = 0; j < pw1.length; j++) {
if (cnt > 0)
j = tmp_pass_no + 1;
if (temp == "r") {
j = 0;
temp = "";
}
temp_pass = pw1.charAt(j);
if (temp_id == temp_pass) {
cnt = cnt + 1;
tmp_pass_no = j;
break;
} else if (cnt > 0 && j > 0) {
temp = "r";
cnt = 0;
} else {
cnt = 0;
}
}
if (cnt > 3) break;
}
if (cnt > 3) {
return "비밀번호가 ID와 4자 이상 중복되거나, \n연속된 문자나 순차적인 숫자를 4개이상 사용해서는 안됩니다.";
}
for (i = 0; i < pw1.length; i++) {
temp_pass1 = pw1.charAt(i);
next_pass = (parseInt(temp_pass1.charCodeAt(0))) + 1;
temp_p = pw1.charAt(i + 1);
temp_pass2 = (parseInt(temp_p.charCodeAt(0)));
if (temp_pass2 == next_pass)
cnt2 = cnt2 + 1;
else
cnt2 = 1;
if (temp_pass1 == temp_p)
cnt3 = cnt3 + 1;
else
cnt3 = 1;
if (cnt2 > 3) break;
if (cnt3 > 3) break;
}
if (cnt2 > 3) {
return "비밀번호에 연속된 문자나 순차적인 숫자를 4개이상 사용해서는 안됩니다.";
}
if (cnt3 > 3) {
return "비밀번호에 반복된 문자/숫자를 4개이상 사용해서는 안됩니다.";
}
return null;
}
function encRSA(pw) {
var rsa = new RSAKey();
rsa.setPublic($('#RSAModulus').val(), $('#RSAExponent').val());
return rsa.encrypt(String(pw));
}
</script>
</body>
</html>
@@ -0,0 +1,406 @@
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<jsp:include page="/WEB-INF/view/include/inc_home_head.jsp"/>
<jsp:include page="/WEB-INF/view/include/inc_head_script.jsp"/>
</head>
<body class="<c:if test="${not empty loginUser}">logined</c:if>">
<input type="hidden" id="RSAModulus" value="${RSAModulus}" readonly/>
<input type="hidden" id="RSAExponent" value="${RSAExponent}" readonly/>
<!-- wrap : s -->
<div class="wrap pageSmall" id="vueApp">
<div class="container">
<div id="contents">
<!-- 상세 : s -->
<div class="headerConts">
<h1 class="logo"><a href="/">로고</a></h1>
</div>
<div class="innerConts">
<!-- certifyWrap : s -->
<form name="frm" method="post">
<div class="certifyWrap left">
<dl class="formList">
<dt>회원정보 입력</dt>
<dd>
<ul class="inpField">
<li class="certify">
<input type="text" class="inpText" id="phoneNumber" value="${certPhone}" disabled>
<span class="btnCertify">인증완료</span>
</li>
<li>
<input type="text" id="userName" placeholder="이름" required class="inpText" value="${certName}" disabled>
</li>
</ul>
</dd>
<dd class="error"><!-- 인풋 입력이 에러일 경우 클래스 'error' 추가 -->
<input v-model="detail.email" type="text" @change="checkField()" class="inpText" placeholder="메일주소">
<span class="errorMsg">메일주소를 입력해 주세요.</span>
</dd>
<dd>
<input v-model="detail.password" type="password" @change="checkField()" class="inpText" placeholder="비밀번호">
</dd>
<dd>
<input v-model="rePassword" type="password" @change="checkField()" class="inpText" placeholder="비밀번호 확인">
</dd>
</dl>
<dl class="guideList">
<dt>비밀번호는 8-30자의 영문 대소문자, 숫자, 특수문자를 조합하여 입력해주세요.</dt>
<dd>4회 이상 반복된 문구와 숫자 사용 불가<br>계정(휴대폰 번호)과 4자리 이상 동일한 숫자 사용 불가</dd>
</dl>
<!-- 2021-12-24 수정 : s -->
<!-- <div class="agreeList">
<div class="item all">
<span class="inputCheckbox">
<input type="checkbox" name="check01" id="check01" class="allok" >
<label for="check01" class="allok" >모두 동의</label>
</span>
<a href="#" class="btnView sudn">보기</a>
</div>
<div class="item">
<span class="inputCheckbox">
<input type="checkbox" name="check02" id="check02" >
<label for="check02" >서비스 이용약관(필수)</label>
</span>
<a href="#" class="btnView" onclick="layerPop('open' , '#layerAgreeService01')">보기</a>
</div>
<div class="item">
<span class="inputCheckbox">
<input type="checkbox" name="check03" id="check03">
<label for="check03">개인정보 수집/이용 동의(필수)</label>
</span>
<a href="#" class="btnView" onclick="layerPop('open' , '#layerAgreePrivacy02')">보기</a>
</div>
<div class="item">
<span class="inputCheckbox">
<input type="checkbox" name="check04" id="check04">
<label for="check04">고객혜택 제공을 위한 개인정보 수집 및 이용동의(선택)</label>
</span>
<a href="#" class="btnView" onclick="layerPop('open' , '#layerAgreePrivacy03')">보기</a>
</div>
<div class="item">
<span class="inputCheckbox">
<input type="checkbox" name="check05" id="check05">
<label for="check05">고객혜택 제공을 위한 광고 수신 동의(선택)</label>
</span>
<a href="#" class="btnView" onclick="layerPop('open' , '#layerAgreePrivacy04')">보기</a>
</div>
</div> -->
<!-- 2021-12-24 수정 : e -->
<!-- 2021-12-24 수정 : s -->
<div class="agreeList">
<div class="item all">
<span class="inputCheckbox">
<input type="checkbox" name="check01" id="check01" @change="agreeChange('a');checkField();" v-model="detail.agreeAll">
<label for="check01">모두 동의</label>
</span>
</div>
<div class="item">
<span class="inputCheckbox">
<input type="checkbox" v-model="detail.agree1" @change="agreeChange('b');checkField();" name="check02" id="check02">
<label for="check02" >서비스 이용약관(필수)</label>
</span>
<a href="#" class="btnView" onclick="layerPop('open' , '#layerAgreeService01')">보기</a>
</div>
<div class="item">
<span class="inputCheckbox">
<input type="checkbox" v-model="detail.agree2" @change="agreeChange();checkField();" name="check03" id="check03">
<label for="check03">개인정보 수집/이용 동의(필수)</label>
</span>
<a href="#" class="btnView" onclick="layerPop('open' , '#layerAgreePrivacy02')">보기</a>
</div>
<div class="item">
<span class="inputCheckbox">
<input type="checkbox" v-model="detail.agree3" @change="agreeChange();checkField();" name="check04" id="check04">
<label for="check04">고객혜택 제공을 위한 개인정보 수집 및 이용동의(선택)</label>
</span>
<a href="#" class="btnView" onclick="layerPop('open' , '#layerAgreePrivacy03')">보기</a>
</div>
<div class="item">
<span class="inputCheckbox">
<input type="checkbox" v-model="detail.agree4" @change="agreeChange();checkField();" name="check05" id="check05">
<label for="check05">고객혜택 제공을 위한 광고 수신 동의(선택)</label>
</span>
<a href="#" class="btnView" onclick="layerPop('open' , '#layerAgreePrivacy04')">보기</a>
</div>
</div>
<!-- 2021-12-24 수정 : e -->
<%-- <div class="agreeList">
<div class="item all">
<span class="inputCheckbox">
<input type="checkbox" name="check01" id="check01" @change="agreeChange('a');checkField();" v-model="detail.agreeAll">
<label for="check01">모두 동의</label>
</span>
</div>
<div class="item">
<span class="inputCheckbox">
<input type="checkbox" v-model="detail.agree1" @change="agreeChange('b');checkField();" name="check02" id="check02">
<label for="check02">개인정보 수집이용안내</label>
</span>
<a href="#" class="btnView" onclick="layerPop('open' , '#layerAgreePrivacy02')">보기</a><!-- 2021-09-24 수정 -->
<div class="itemInner">
<div class="itemObj">
<dl>
<dt>(필수)</dt>
<!-- 2021-09-24 수정 : s -->
<dd>
<span class="inputCheckbox">
<input type="checkbox" v-model="detail.agreePhone" @change="agreeChange();checkField();" name="check0101" id="check0101" value="check001">
<label for="check0101">휴대전화번호</label>
</span>
</dd>
<dd>
<span class="inputCheckbox">
<input type="checkbox" v-model="detail.agreeName" @change="agreeChange();checkField();" name="check0102" id="check0102" value="check002">
<label for="check0102">이름</label>
</span>
</dd>
<dd>
<span class="inputCheckbox">
<input type="checkbox" v-model="detail.agreeMail" @change="agreeChange();checkField();" name="check0103" id="check0103" value="check003">
<label for="check0103">이메일주소</label>
</span>
</dd>
<dd>
<span class="inputCheckbox">
<input type="checkbox" v-model="detail.agreeUserName" @change="agreeChange();checkField();" name="check0104" id="check0104" value="check004">
<label for="check0104">사용자명</label>
</span>
</dd>
<!-- 2021-09-24 수정 : e -->
</dl>
</div>
<div class="itemObj">
<dl>
<dt>(선택)</dt>
<dd>
<span class="inputCheckbox">
<input type="checkbox" v-model="detail.agreeGender" name="check0201" id="check0201" value="check005">
<label for="check0201">성별</label>
</span>
</dd>
<dd>
<span class="inputCheckbox">
<input type="checkbox" v-model="detail.agreeBirthDay" name="check0202" id="check0202" value="check006">
<label for="check0202">생년월일</label>
</span>
</dd>
<dd>
<span class="inputCheckbox">
<input type="checkbox" v-model="detail.agreeAddress" name="check0203" id="check0203" value="check007">
<label for="check0203">주소</label>
</span>
</dd>
</dl>
</div>
</div>
</div>
<div class="item">
<span class="inputCheckbox">
<input type="checkbox" v-model="detail.agree2" @change="agreeChange();checkField();" name="check03" id="check03">
<label for="check03">개인정보 처리방침</label>
</span>
<a href="#" onclick="layerPop('open' , '#layerAgreePrivacy')" class="btnView">보기</a>
</div>
<div class="item">
<span class="inputCheckbox">
<input type="checkbox" v-model="detail.agree3" @change="agreeChange();checkField();" name="check04" id="check04">
<label for="check04">서비스 이용약관</label>
</span>
<a href="#" onclick="layerPop('open' , '#layerAgreeService')" class="btnView">보기</a>
</div>
1차 유료서비스 미오픈으로 숨김처리 20210916
<div class="item">
<span class="inputCheckbox">
<input type="checkbox" v-model="detail.agree4" @change="agreeChange();checkField();" name="check05" id="check05">
<label for="check05">유료 서비스 이용약관</label>
</span>
<a href="#" onclick="layerPop('open' , '#layerAgreePayService')" class="btnView">보기</a>
</div>
</div> --%>
<div class="btnArea">
<button type="button" id="submitBtn" @click="submit" class="btns btnCol01 disabled"><!-- 입력 완료시 클래스 'disabled' 제거-->
<span>회원가입 완료</span>
</button>
</div>
</div>
</form>
<!-- certifyWrap : e -->
</div>
<!-- 상세 : e -->
</div>
</div>
<!-- 2021-09-24 추가 : s -->
<!--[레] 개인정보 수집이용안내 : s -->
<div class="layerPop" id="layerAgreePrivacy02">
<div class="layerPopArea w540">
<div class="popCont">
<!-- 내용 : s -->
<strong class="popTit mHide">개인정보 수집·이용에 대한 동의</strong>
<div class="termBox selectAdd">
<strong class="title01 first">개인 정보 수집∙이용에 대한 동의]</strong>
<p>KT 랜선에듀On과 관련하여, 아래와 같이 주식회사 케이티가 본인의 개인정보를 수집·이용함에 동의합니다.</p>
<ol>
<li>1. 수집∙이용 목적 : KT 랜선에듀On 로그인, 이용권한 부여, 사용자 식별, 고지사항 전달, 이용요금 청구 등의 서비스 제공</li>
<li>2. 수집 항목 : 휴대전화번호, 이름, 이메일 주소, 사용자명, 성별, 생년월일, 주소</li>
<li>3. 이용 및 보유 기간 : 서비스 가입 기간 (가입일 ~ 해지일)</li>
<li>4. 본인은 위 개인정보의 수집이용에 대해 동의를 거부할 수 있으며, 다만, 동의를 해 주셔야 서비스 이용이 가능합니다.</li>
<li>5. 개인정보 제공자가 동의한 내용 이외의 다른 목적으로는 절대 활용되지 않습니다. </li>
</ol>
<div class="tblData">
<table>
<colgroup>
<col style="width:50%">
<col style="width:50%">
</colgroup>
<thead>
<tr>
<th scope="col">수집 항목</th>
<th scope="col">수집∙이용 동의 여부</th>
</tr>
</thead>
<tbody>
<tr>
<td>[필수] 휴대전화번호</td>
<td class="tal">
<div class="boxHorizental">
<span class="inputCheckbox">
<input type="checkbox" name="check001" v-model="detail.agreePhone" @change="agreeChange();checkField();" id="check0011" value="check001">
<label for="check0011">예</label>
</span>
<span class="inputCheckbox">
<input type="checkbox" name="check001" v-model="detail.agreePhone" :true-value="false" :false-value="true" @change="agreeChange();checkField();" id="check0012" value="check001">
<label for="check0012">아니오</label>
</span>
</div>
</td>
</tr>
<tr>
<td>[필수] 이름</td>
<td class="tal">
<div class="boxHorizental">
<span class="inputCheckbox">
<input type="checkbox" name="check002" v-model="detail.agreeName" @change="agreeChange();checkField();" id="check0021" value="check002">
<label for="check0021">예</label>
</span>
<span class="inputCheckbox">
<input type="checkbox" name="check002" v-model="detail.agreeName" :true-value="false" :false-value="true" @change="agreeChange();checkField();" id="check0022" value="check002">
<label for="check0022">아니오</label>
</span>
</div>
</td>
</tr>
<tr>
<td>[필수] 이메일주소</td>
<td class="tal">
<div class="boxHorizental">
<span class="inputCheckbox">
<input type="checkbox" name="check003" v-model="detail.agreeMail" @change="agreeChange();checkField();" id="check0031" value="check003">
<label for="check0031">예</label>
</span>
<span class="inputCheckbox">
<input type="checkbox" name="check003" v-model="detail.agreeMail" :true-value="false" :false-value="true" @change="agreeChange();checkField();" id="check0032" value="check003">
<label for="check0032">아니오</label>
</span>
</div>
</td>
</tr>
<tr>
<td>[필수] 사용자명</td>
<td class="tal">
<div class="boxHorizental">
<span class="inputCheckbox">
<input type="checkbox" name="check004" v-model="detail.agreeUserName" @change="agreeChange();checkField();" id="check0041" value="check004">
<label for="check0041">예</label>
</span>
<span class="inputCheckbox">
<input type="checkbox" name="check004" v-model="detail.agreeUserName" :true-value="false" :false-value="true" @change="agreeChange();checkField();" id="check0042" value="check004">
<label for="check0042">아니오</label>
</span>
</div>
</td>
</tr>
<tr>
<td>[선택] 성별</td>
<td class="tal">
<div class="boxHorizental">
<span class="inputCheckbox">
<input type="checkbox" name="check005" v-model="detail.agreeGender" id="check0051" value="check005">
<label for="check0051">예</label>
</span>
<span class="inputCheckbox">
<input type="checkbox" name="check005" v-model="detail.agreeGender" :true-value="false" :false-value="true" @change="agreeChange();checkField();" id="check0052" value="check005">
<label for="check0052">아니오</label>
</span>
</div>
</td>
</tr>
<tr>
<td>[선택] 생년월일</td>
<td class="tal">
<div class="boxHorizental">
<span class="inputCheckbox">
<input type="checkbox" name="check006" v-model="detail.agreeBirthDay" id="check0061" value="check006">
<label for="check0061">예</label>
</span>
<span class="inputCheckbox">
<input type="checkbox" name="check006" v-model="detail.agreeBirthDay" :true-value="false" :false-value="true" @change="agreeChange();checkField();" id="check0062" value="check006">
<label for="check0062">아니오</label>
</span>
</div>
</td>
</tr>
<tr>
<td>[선택] 주소</td>
<td class="tal">
<div class="boxHorizental">
<span class="inputCheckbox">
<input type="checkbox" name="check007" v-model="detail.agreeAddress" id="check0071" value="check007">
<label for="check0071">예</label>
</span>
<span class="inputCheckbox">
<input type="checkbox" name="check007" v-model="detail.agreeAddress" :true-value="false" :false-value="true" @change="agreeChange();checkField();" id="check0072" value="check007">
<label for="check0072">아니오</label>
</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<p>※ 자세한 내용은 ‘개인정보처리방침’ 전문에서 확인하실 수 있습니다. </p>
<p>※ 정보통신서비스의 제공을 위한 개인정보의 수집·이용 관련 세부 내역은 홈페이지(www.kt.com)의 ‘개인정보처리방침’에 공개합니다.</p>
</div>
<!-- 내용 : e -->
</div>
<a href="#" class="btnPopClose" onclick="layerPop('close' , '#layerAgreePrivacy02')">해당 레이어 닫기</a>
</div>
</div>
<!--[레] 개인정보 수집이용안내 : e -->
<!-- 2021-09-24 추가 : e -->
</div>
<jsp:include page="/WEB-INF/view/include/inc_home_body_popup.jsp"/>
<script src="/res/front/js/biz/home/home-common.js?v=${timestamp}"></script>
<script src="/res/front/js/biz/home/user/join.js?v=${timestamp}"></script>
<!-- footer : s -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_footer.jsp"/>
<!-- footer : e -->
<!--약관레이어-->
<jsp:include page="/WEB-INF/view/include/inc_home_police_layer.jsp"/>
</body>
</html>
@@ -0,0 +1,99 @@
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<jsp:include page="/WEB-INF/view/include/inc_home_head.jsp"/>
<jsp:include page="/WEB-INF/view/include/inc_head_script.jsp"/>
<script>
var callbackCert = function() {
location.href = '/home/user/join';
};
</script>
<script>
var KMCIS_window;
function openKMCISWindow(){
var UserAgent = navigator.userAgent;
/* 모바일 접근 체크*/
// 모바일일 경우 (변동사항 있을경우 추가 필요)
if (UserAgent.match(/iPhone|iPod|Android|Windows CE|BlackBerry|Symbian|Windows Phone|webOS|Opera Mini|Opera Mobi|POLARIS|IEMobile|lgtelecom|nokia|SonyEricsson/i) != null || UserAgent.match(/LG|SAMSUNG|Samsung/) != null) {
document.reqKMCISForm.target = '';
}
// 모바일이 아닐 경우
else {
KMCIS_window = window.open('', 'KMCISWindow', 'width=425, height=550, resizable=0, scrollbars=no, status=0, titlebar=0, toolbar=0, left=435, top=250' );
if(KMCIS_window == null){
alert(" ※ 윈도우 XP SP2 또는 인터넷 익스플로러 7 사용자일 경우에는 \n 화면 상단에 있는 팝업 차단 알림줄을 클릭하여 팝업을 허용해 주시기 바랍니다. \n\n※ MSN,야후,구글 팝업 차단 툴바가 설치된 경우 팝업허용을 해주시기 바랍니다.");
}
document.reqKMCISForm.target = 'KMCISWindow';
}
document.reqKMCISForm.action = 'https://www.kmcert.com/kmcis/web/kmcisReq.jsp';
//document.reqKMCISForm.action = '/extra/cert/result';
document.reqKMCISForm.submit();
}
var isCert = false;
if (!isCert)
{
}
</script>
</head>
<body class="<c:if test="${not empty loginUser}">logined</c:if>">
<div id="vueApp" class="wrap pageSmall">
<div class="container">
<div id="contents">
<!-- 상세 : s -->
<div class="headerConts">
<h1 class="logo"><a href="/">로고</a></h1>
</div>
<div class="innerConts">
<!-- certifyWrap : s -->
<div class="certifyWrap">
<p class="paragraph sudn">회원가입하시고<br><span>1월 31일까지 무료</span>로<br class="wHide"> 이용해 보세요!</p>
<form name="reqKMCISForm" method="post" action="#">
<input type="hidden" name="tr_cert" value = "${tr_cert}">
<input type="hidden" name="tr_url" value = "${tr_url}">
<input type="hidden" name="tr_add" value = "${tr_add}">
<div class="btnArea">
<button onclick="javascript:openKMCISWindow()" class="btns btnCol01">
<span>휴대폰 인증하기</span>
</button>
</div>
<p class="txt">본인명의 휴대폰이 없는 미성년자의 경우,<br>보호자 명의로 본인인증을 진행해 주세요.</p>
</form>
</div>
<!-- certifyWrap : e -->
</div>
<!-- 상세 : e -->
</div>
</div>
</div>
<%--<button type="button" onclick="onpen('extra/cert', 640, 480)">인증요청!</button>--%>
<%--
<form action="/home/user/join/certresult">
<input type="text" name="certPhone" value="">
<button type="submit">인증</button>
</form>
--%>
<jsp:include page="/WEB-INF/view/include/inc_home_body_popup.jsp"/>
<script src="/res/front/js/biz/home/home-common.js?v=${timestamp}"></script>
<script src="/res/front/js/biz/home/user/join.js?v=${timestamp}"></script>
</body>
</html>
@@ -0,0 +1,66 @@
<%@ page contentType="text/html;charset=UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<jsp:include page="/WEB-INF/view/include/inc_home_head.jsp" />
<jsp:include page="/WEB-INF/view/include/inc_head_script.jsp" />
</head>
<body class="<c:if test="${not empty loginUser}">logined</c:if>">
<div id="vueApp">
<!-- 상세 : s -->
<div class="headerConts">
<h1 class="logo">
<a href="/home">로고</a>
</h1>
</div>
<div class="innerConts">
<!-- accountWrap : s -->
<div class="accountWrap tissue">
<p class="topMsg">회원가입이 완료되었습니다.</p>
<div class="accountBox">
<div class="item select noDate">
<div class="box">
<div class="middle">
<p class="txt1">현재 소속된 조직이 없습니다.</p>
<p class="txt2">조직을 개설하거나 이미 생성된 조직에 가입하세요.</p>
</div>
</div>
</div>
<div class="item">
<a href="/home/user/org/register">
<div class="middle">
<div class="boxMsg">2022년 1월 31일 까지 무료 체험</div>
<dl class="dfList">
<dt>관리자 회원이신가요?</dt>
<dd>조직개설 & 상품가입</dd>
</dl>
</div>
</a>
</div>
<div class="item">
<a href="/home/user/org/join">
<div class="middle">
<dl class="dfList">
<dt class="col02">일반 회원이신가요?</dt>
<dd>계정추가 & 조직가입</dd>
</dl>
</div>
</a>
</div>
</div>
<div class="btmLinkBox center">
<a href="/home" class="link">나중에 등록 할게요</a>
</div>
</div>
</div>
</div>
<jsp:include page="/WEB-INF/view/include/inc_home_body_popup.jsp" />
<script src="/res/front/js/biz/home/home-common.js?v=${timestamp}"></script>
<script src="/res/front/js/biz/home/user/join.js?v=${timestamp}"></script>
</body>
</html>
@@ -0,0 +1,113 @@
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<jsp:include page="/WEB-INF/view/include/inc_home_head.jsp"/>
<jsp:include page="/WEB-INF/view/include/inc_head_script.jsp"/>
</head>
<body class="<c:if test="${not empty loginUser}">logined</c:if>">
<!-- wrap : s -->
<div class="wrap pageSmall">
<div class="container">
<div id="contents">
<div id="vueApp">
<!-- 상세 : s -->
<div class="headerConts">
<h1 class="logo"><a href="/">로고</a></h1>
</div>
<div id="LOGIN_FORM" class="innerConts">
<!-- loginWrap : s -->
<div class="loginWrap">
<form method="post" @submit.prevent="onSubmit">
<ul class="loginField">
<li>
<input v-model="detail.phone" type="tel" class="inpText" placeholder="휴대폰번호" required>
</li>
<li>
<input v-model="detail.password" type="password" class="inpText" placeholder="비밀번호" required >
</li>
</ul>
<div class="btmPwdArea">
<span class="inputCheckbox">
<input type="checkbox" name="chk1_1" id="chk1_1" >
<label for="chk1_1">로그인 상태 유지</label>
</span>
<a href="/home/user/find/password" class="btnPwdFind">비밀번호 찾기</a>
</div>
<div class="btnArea">
<button type="submit" class="btns btnCol01">
<span>로그인</span>
</button>
</div>
<p class="txt">*아직 회원이 아니신가요?</p>
<div class="btnArea">
<a href="/home/user/join/cert" class="btns btnCol03">
<span>회원가입</span>
</a>
</div>
</form>
</div>
<!-- loginWrap : e -->
</div>
<!-- 상세 : e -->
<div id="LOGIN_FAIL_NOTHING_ACCOUNT" style="display: none; border: solid 10px red;">
<h2>가입된 조직이 한개도 없는 경우</h2>
<a href="/home/user/org/register">
<p>관리자 회원이신가요?<br/>조직생성 + 상품가입</p>
</a>
<a href="/home/user/org/join">
<p>일반 회원이신가요?<br/>조직가입</p>
</a>
</div>
<div id="LOGIN_FAIL_SELECT_ACCOUNT" style="display: none;">
<div class="accountWrap">
<div class="accountBox">
<div v-for="(x, index) in cafeList" :class="index==0?'item select':'item'">
<strong v-if="index==0" class="tit">최근 접속</strong>
<a @click="onClickCafe(x)" :class="index==0?'checked':''"><!-- 선택시 클래스 'checked' 추가 -->
<div class="middle">
<strong class="name">
<em>{{x.cafeUserLevelText}}</em>
<span>{{x.cafeUserName}}</span>
</strong>
<div class="option">
<span> {{x.cafeName}}</span>
<span>{{x.cafeId}} </span>
</div>
</div>
</a>
</div>
</div>
<div class="btmLinkBox">
<a href="/home/user/org/select" class="link">조직/계정 추가</a>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- wrap : e -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_popup.jsp"/>
<script src="/res/front/js/biz/home/home-common.js?v=${timestamp}"></script>
<script src="/res/front/js/biz/home/user/login.js?v=${timestamp}"></script>
</body>
</html>
@@ -0,0 +1,372 @@
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<!DOCTYPE html>
<html lang="ko">
<head>
<jsp:include page="/WEB-INF/view/include/inc_home_head.jsp"/>
<jsp:include page="/WEB-INF/view/include/inc_head_script.jsp"/>
</head>
<body class="<c:if test="${not empty loginUser}">logined</c:if>">
<div class="wrap">
<jsp:include page="/WEB-INF/view/include/inc_home_body_header.jsp"/>
<div class="container newpadding">
<div id="contents">
<div id="vueApp">
<!-- 상세 : s -->
<div class=" myInfo">
<div class=" title">
<h3>내 정보 관리</h3>
<!--@@ 기존 이미지 숨기기/지우기 추가 s-->
<img src="${pubImageUrl}/toogleMenu.png" class="toggleMenu" alt="" style="display: none;">
<!--@@ 기존 이미지 숨기기/지우기 추가 e-->
</div>
<div class=" myInfoMobile">
<div class=" content">
<div class="contentTitle">
<h5>이름</h5>
</div>
<div class="contentDetail">
<h4><c:out value="${fn:substring(user.name, 0, fn:length(user.name) - 2)}" /> **</h4>
</div>
</div>
<div class=" content">
<div class="contentTitle">
<h5>휴대폰 번호</h5>
</div>
<div class="contentDetail">
<h4>${fn:split(user.phoneText,'-')[0]} - ${fn:substring(fn:split(user.phoneText,'-')[1],0,2)}** - *${fn:substring(fn:split(user.phoneText,'-')[2],1,4)}</h4>
</div>
</div>
<div class=" content">
<div class="contentTitle">
<h5>이메일</h5>
</div>
<div class="contentDetail">
<h4>${user.email}</h4>
</div>
</div>
<div class=" content">
<div class="contentTitle">
<h5>비밀번호</h5>
</div>
<div class="contentDetail">
<a href="javascript:openPop('popupPasswordCheck');" class="btn btn-profileChange pcLayer mr10 passChange">변경</a>
<h4 class="mobile"><c:if test="${user.pwdUpdateDt ne null}"><span>최근 비밀번호 변경일 </span>${user.pwdUpdateDtTimeText}</c:if></h4>
</div>
</div>
<div class="hidden-xs col-sm-12 content">
<div class="col-sm-3 col-md-2 contentTitle">
<h5>광고성 정보 수신동의</h5>
</div>
<div class="col-sm-9 col-md-10 contentDetail">
<h4 class="count fl" ><input type="radio" name="agree1" value="Y" checked>수신</h4>
<h4 class="count fl"><input type="radio" name="agree1" value="N" <c:if test="${user.agree1 eq 'N'}">checked</c:if>>비 수신</h4>
<a href="javascript:updateAgree('1');" class="btn btn-profileChange pcLayer mr10">저장</a>
</div>
</div>
<div class="hidden-xs col-sm-12 content">
<div class="col-sm-3 col-md-2 contentTitle">
<h5>개인정보 수집 및 이용안내</h5>
</div>
<div class="col-sm-9 col-md-10 contentDetail">
<h4 class="count fl" ><input type="radio" name="agree2" value="Y" checked>동의</h4>
<h4 class="count fl"><input type="radio" name="agree2" value="N" <c:if test="${user.agree2 eq 'N'}">checked</c:if>>비 동의</h4>
<a href="javascript:updateAgree('2');" class="btn btn-profileChange pcLayer mr10">저장</a>
</div>
</div>
</div>
</div>
<!-- 상세 : e -->
<div class="myGroup">
<ul class="nav nav-tabs">
<li class="smalltab01 active" onClick="clickTab(this);" id="tab01"><a href="#" >가입승인 대기 중인 조직 ( ${fn:length(cafeReqList)} )</a></li>
<li class="smalltab02" id="tab02" onClick="clickTab(this);"><a href="#">가입승인 거절 (${fn:length(cafeRejactList)})</a></li>
</ul>
<div class="tab-content tab001 ">
<div class="tab-pane">
<div class="slimScrollDiv" >
<div class="groupList" >
<div class="groupCard">
<c:forEach var="i" items="${cafeReqList}">
<div class="groupTitle">
<div><h5><span class="admin">${i.cafeName}</span>${i.cafeUserName}</h5></div>
<div><h6>가입 신청일 ${i.regDtText}</h6></div>
<a href="javascript:cafeJoinCancle('${i.id}','${i.cafeId}');" class="btn btn-profileChange pcLayer mr10">가입 신청 취소</a>
</div>
</c:forEach>
</div>
</div>
</div>
</div>
</div>
<div class="tab-content tab002" style="display: none;">
<div class="tab-pane">
<div class="slimScrollDiv" style="position: relative; overflow: hidden; width: 100%; height: 450px;">
<div class="groupList" style=" overflow-x: hidden; width: 100%; height: 450px;">
<div class="groupCard">
<c:forEach var="j" items="${cafeRejactList}">
<div class="groupTitle">
<div><h5><span class="admin">${j.cafeName}</span>${j.cafeUserName}</h5></div>
<div><h6>가입 신청일 ${j.regDtText}</h6></div>
</div>
</c:forEach>
</div>
</div>
</div>
</div>
</div>
<!--@@ 신규추가 s-->
<div class="memberOut" onClick="openWithdrawConfirm();">
<em class="underline">랜선 에듀 서비스 탈퇴</em><br>
<em class="bora"><em class="noneline">* 관리자 권한 보유 시, 랜선에듀 서비스를 탈퇴하실 수 없습니다.</em></em>
</div>
<!--@@ 신규추가 e-->
</div>
</div>
<!-- wrap : e -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_popup.jsp"/>
<!-- @@경과 팝업 추가 s -->
<div class="layerPop alert memberoutpopup" id="layerReservationDel" style="z-index: 10000; display: none;">
<div class="layerPopArea" >
<div class="popCont">
<!-- 내용 : s -->
<p class="msg">탈퇴시, 회원정보 복원이 되지 않으며, <br>랜선에듀 서비스를 이용하실수 없습니다.<br><br>정말로 탈퇴하시겠습니까?.<br></p>
<div class="btnArea col2">
<a href="javascript:serviceWithdraw();" class="btns btnCol01"><span>확인</span></a>
<a href="javascript:layerPop('close' , '#layerReservationDel');" class="btns btnCol02"><span>취소</span></a>
</div>
<!-- 내용 : e -->
</div>
</div>
</div>
<!-- @@경과 팝업 추가 e -->
<!-- @@비밀번호 진입 비밀번호 팝업 s -->
<div id="popupPasswordCheck" class="pcLayer modal layerPop gopassword" tabindex="-1" role="dialog" style="display: none; padding-right: 17px; ">
<div class="modal-dialog" role="document">
<div class="modal-content reposition">
<div class="modal-header">
<div class="process01">
<h2>1단계 비밀번호 재확인</h2><a href="javascript:closePop('popupPasswordCheck');" class="btn-layerClose" data-dismiss="modal" aria-label="Close"><img src="${pubImageUrl}/layerClose.png" width="22" height="22"></a>
</div>
</div>
<div class="modal-body">
<div class="row">
<div class="process01">
<div class="passwordChange">
<div class="col-xs-12 notice mb20"><h6>회원님의 소중한 정보보호를 위해 비밀번호를 재확인 합니다.</h6></div>
<div class="col-xs-12 certification form-group">
<input type="password" name="password" id="checkPw" class="form-control" placeholder="비밀번호 입력" required autocomplete="off" >
</div>
<div class="col-xs-12 layerBtn"><button type="button" class="btn btn-layerConfirm step01Confirm passwordokbtn" onClick="ckPassword();">확인</button></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- @@비밀번호 진입 비밀번호 팝업 e -->
<!-- 비밀번호 변경 s-->
<div class="pcLayer modal fade in adddark popupPasswordUpdate01" id="popupPasswordUpdate" tabindex="-1" role="dialog" style="display: none;">
<div class="modal-dialog popupPasswordUpdate02" role="document">
<div class="modal-content">
<div class="modal-header">
<div class="process02">
<h2>2단계 비밀번호 변경</h2>
<a href="javascript:closePop('popupPasswordUpdate');" class="btn-layerClose popupPasswordUpdatecloseBtn" data-dismiss="modal" aria-label="Close"><img src="${pubImageUrl}/layerClose.png" alt=""></a>
</div>
</div>
<div class="modal-body">
<div class="row">
<div class="process02">
<form method="post">
<div class="passwordChange">
<div class="col-xs-12 certification form-group">
<input type="password" id="pw" class="form-control" placeholder="새 비밀번호" required="" >
</div>
<div class="col-xs-12 notice">
<h6><span>8~30자의 영문 대소문자, 숫자, 특수문자를 조합하여 입력해주세요.</span></h6>
</div>
<div class="col-xs-12 notice">
<h6>- 4회 이상 반복된 문구와 숫자 사용 불가</h6>
</div>
<div class="col-xs-12 notice">
<h6>- 계정(휴대폰 번호)과 4자리 이상 동일한 숫자 사용 불가</h6>
</div>
<div class="col-xs-12 certification form-group">
<input type="password" id="rePw" class="form-control" placeholder="새 비밀번호 입력" required="" >
</div>
<div class="col-xs-12 layerBtn">
<button type="button" class="btn btn-layerConfirm" disabled='disabled' id="btnUpdatePw">변경</button>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- 비밀번호 변경 e-->
<script src="/res/front/js/biz/home/home-common.js?v=${timestamp}"></script>
<script src="/res/front/js/biz/home/user/login.js?v=${timestamp}"></script>
<script type="text/javascript">
//레이어팝업열기
function openPop(id){
$("#"+id).fadeIn();
}
//레이어팝업닫기
function closePop(id){
$("#"+id).fadeOut();
}
//개인정보수집,수신 동의여부
function updateAgree(gubun) {
let v =$("input[name='agree"+gubun+"']:checked").val();
if(isEmpty(v)){
alert('동의여부를 선택후 이용해주세요.');
$("input[name='agree"+gubun+"']").focus();
return false;
}
let parameter = new Object();
parameter['agree'+gubun] = v;
lanedu.front.api.user.updateAgree(parameter, function (success, message, body, data) {
if(success){
alert("동의여부가 변경되었습니다.");
}else{
alert(message);
}
});
}
//조직 리스트 탭 클릭
function clickTab(obj){
$(obj).addClass("active");
let key = $(obj).attr("id");
if(key =='tab01'){
$("#tab02").removeClass("active");
$(".tab001").show();
$(".tab002").hide();
}else{
$("#tab01").removeClass("active");
$(".tab001").hide();
$(".tab002").show();
}
}
//조직신청취소
function cafeJoinCancle(p1,p2){
if(confirm("정말로 조직신청을 취소하시겠습니까?")){
let parameter = {
id: p1,
cafeId: p2,
};
lanedu.front.api.user.cafeJoinCancle(parameter, function (success, message, body, data) {
if(success){
alert("조직가입신청이 취소되었습니다.");
location.reload();
}else{
alert(message);
}
});
}
}
//랜선에듀탈퇴 클릭시
function openWithdrawConfirm(){
$("#layerReservationDel").fadeIn();
}
//탈퇴
function serviceWithdraw(){
lanedu.front.api.user.serviceWithdraw({}, function (success, message, data) {
if (!success) {
alert(message);
return false;
}
alert(' 서비스 탈퇴 처리가 되었습니다. ');
location.href = '/';
});
return false;
}
//체크 비밀번호
function ckPassword(){
if(isEmpty($("#checkPw").val())){
alert("비밀번호를 입력하세요.");
$("#checkPw").focus();
return false;
}
let parameter = {
password: encRSA($("#checkPw").val()),
}
lanedu.front.api.user.checkUserPassword(parameter, function (success, message, data) {
if (!success) {
alert(message);
return false;
$("#btnUpdatePw").attr('disabled',true);
$("#btnUpdatePw").addClass('disabled');
}
$("#checkPw").val("");
closePop('popupPasswordCheck');
openPop('popupPasswordUpdate');
$("#btnUpdatePw").attr('disabled',false);
$("#btnUpdatePw").removeClass('disabled');
});
}
//비밀번호 변경
$("#btnUpdatePw").click( function() {
let pw = $("#pw").val();
let re = $("#rePw").val();
if(isEmpty(pw)){
alert("변경할 비밀번호를 입력하세요.");
$("#pw").focus();
return false;
}
if(isEmpty(re)){
alert("비밀번호 확인값을 입력하세요.");
$("#rePw").focus();
return false;
}
if (pw != re) {
alert(' 비밀번호 값과 비밀번호 확인 값이 일치하지 않습니다. ');
return false;
}
let parameter = {
password: encRSA($("#pw").val()),
};
lanedu.front.api.user.changePassword(parameter, function (success, message, data) {
if (!success) {
alert(message);
return false;
}
alert('비밀번호를 변경하였습니다.');
location.reload();
});
return false;
});
</script>
</body>
</html>
@@ -0,0 +1,81 @@
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<jsp:include page="/WEB-INF/view/include/inc_home_head.jsp"/>
<jsp:include page="/WEB-INF/view/include/inc_head_script.jsp"/>
</head>
<body class="<c:if test="${not empty loginUser}">logined</c:if>">
<!-- wrap : s -->
<div class="wrap pageSmall">
<div class="container">
<div id="contents">
<!-- 상세 : s -->
<div class="headerConts">
<h1 class="logo"><a href="/">로고</a></h1>
</div>
<div class="innerConts">
<!-- accountWrap : s -->
<div class="accountWrap">
<div class="accountBox">
<div class="item select">
<strong class="tit">최근 접속</strong>
<a href="#" class="checked"><!-- 선택시 클래스 'checked' 추가 -->
<div class="middle">
<strong class="name">
<em>관리자</em>
<span>홍길동</span>
</strong>
<div class="option">
<span>가나다학원</span>
<span>1234567890</span>
</div>
</div>
</a>
</div>
<div class="item">
<a href="#"><!-- 선택시 클래스 'checked' 추가 -->
<div class="middle">
<strong class="name">
<em>HOST</em>
<span>고길동</span>
</strong>
<div class="option">
<span>ABC세미나</span>
<span>1234567890</span>
</div>
</div>
</a>
</div>
<div class="item">
<a href="#"><!-- 선택시 클래스 'checked' 추가 -->
<div class="middle">
<strong class="name">
<span>고길동</span>
</strong>
<div class="option">
<span>DEFG아카데미</span>
<span>1234567890</span>
</div>
</div>
</a>
</div>
</div>
<div class="btmLinkBox">
<a onclick="g_showPopupOrgSelect()" href="#" class="link">조직/계정 추가</a>
</div>
</div>
<!-- accountWrap : e -->
</div>
<!-- 상세 : e -->
</div>
</div>
</div>
<!-- wrap : e -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_popup.jsp"/>
<script src="/res/front/js/biz/home/home-common.js?v=${timestamp}"></script>
</body>
</html>
@@ -0,0 +1,163 @@
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<!DOCTYPE html>
<html lang="ko">
<head>
<jsp:include page="/WEB-INF/view/include/inc_home_head.jsp"/>
<jsp:include page="/WEB-INF/view/include/inc_head_script.jsp"/>
</head>
<body class="<c:if test="${not empty loginUser}">logined</c:if>">
<!-- wrap : s -->
<div class="wrap">
<!-- header : s -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_header.jsp"/>
<!-- header : e -->
<div class="container">
<div id="contents">
<!-- 상세 : s -->
<div class="inner" id="vueApp">
<div class="topTitle">
<h2 class="defaultTitle">사용용량</h2>
</div>
<div class="boxLineGray">
<div class="prodVolume">
<strong class="name"><c:out value="${loginUser.cafeName}"></c:out></strong>
<div class="infoMsg"><span>${cloud.totalFileSizeText}</span> 중 <span class="remain">${cloud.emptySizeText}</span> 남음</div>
<div class="volumeBox">
<div class="usage" style="width:<fmt:formatNumber value="${cloud.emptySize/cloud.totalSpace}" type="percent"/>">${cloud.useFileSizeText} 사용</div><!-- style width값으로 조절-->
</div>
</div>
</div>
<!-- 2021-10-20 수정 : s -->
<!-- stepSimulation: s -->
<div class="stepSimulation type02">
<div class="item">
<div class="stepCont">
<!-- boxLineGray : s -->
<div class="boxLineGray">
<div class="addCapacity">
<div class="topBox">
<strong class="tit"><span>10GB</span>단위로 추가</strong>
<p class="price">
<span>월 1,000원 </span>(VAT 포함 월 1,100원)
</p>
<p>0원</p>
</div>
<div class="capacityBox">
<div class="box">
<dl>
<dt>추가를 원하는 수량을 입력해 주세요.</dt>
<dd class="qtyArea">
<div class="qtyNum">
<a href="javascript:addStorage(-1);" class="numDel"><span>-</span></a>
<span id="addSize" class="num">1</span>
<a href="javascript:addStorage(1);" class="numAdd"><span>+</span></a>
</div>
</dd>
</dl>
<a href="javascript:cancelAddStorage();" class="btnCapaityDel">해당 항목 삭제</a>
</div>
<div class="boxTotal">
<div class="item">
<dl>
<dt>기존 사용 클라우드 용량</dt>
<dd class="volume"><span id="usedVolume"><fmt:formatNumber value="${cloud.totalSpace/1073741824}"/></span>GB</dd>
</dl>
<dl>
<dt>옵션기능 기본 제공 용량</dt>
<dd class="volume"><span id="optionVolume"><fmt:formatNumber value="${cloud.optionSize/1073741824 - cafeSvc.cloudSize/1073741824}"/></span>GB</dd>
</dl>
</div>
<div class="item">
<dl>
<dt>추가 클라우드 용량</dt>
<dd class="volume"><span id="addVolume">10</span>GB</dd>
</dl>
<dl>
<dt>10GB x <span id="addSize1" class="num">1</span></dt>
<dd class="volume"><span id="addVolume1">10</span>GB</dd>
</dl>
</div>
<div class="item total">
<dl class="total">
<dt>사용 가능 클라우드 총 용량</dt>
<dd class="volume"><span id="totalSize"><fmt:formatNumber value="${(cloud.totalSpace/1073741824)+10}"/></span>GB</dd>
</dl>
</div>
</div>
</div>
</div>
</div>
<!-- boxLineGray : e -->
</div>
</div>
</div>
<!-- stepSimulation: e -->
<!--2021-10-21 Todo 한강욱대리님 클라우드 용량 변경하기 결제 모듈 작업 필요 s-->
<div class="btnArea block">
<input type="hidden" id="paymentType" value="${cafe.paymentType}">
<button class="btns btnCol01" @click="onRegister">
<span>클라우드 용량 변경하기</span>
</button>
</div>
<!--2021-10-21 Todo 한강욱대리님 클라우드 용량 변경하기 결제 모듈 작업 필요 e-->
<!-- 2021-10-20 수정 : e -->
</div>
<!-- 상세 : e -->
</div>
</div>
<!-- footer : s -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_footer.jsp"/>
<!-- footer : e -->
</div>
<!-- wrap : e -->
<script src="/res/front/js/biz/home/user/storage_add.js?v=${timestamp}"></script>
<script>
function addStorage(v)
{
var ss = Number($('#addSize').text());
ss += v;
if (ss < 1){
alert("추가구매 수량이 0이 될수는 없습니다.");
ss = 1;
}
$('#addSize').text(ss);
$("#addSize1").text(ss);
let addVolume = ss*10;//1개당 10GB곱
$("#addVolume").text(addVolume);
$("#addVolume1").text(addVolume);
let usedVolume = Number($("#usedVolume").text());
let optionVolume = Number($("#optionVolume").text());
$("#totalSize").text(usedVolume+addVolume);
}
function cancelAddStorage(){
$('#addSize').text(1);
var ss = Number($('#addSize').text());
addStorage(-(ss)+1);
}
</script>
<jsp:include page="/WEB-INF/view/include/inc_home_body_popup.jsp"/>
<script src="/res/front/js/biz/home/home-common.js?v=${timestamp}"></script>
</body>
</html>
@@ -0,0 +1,106 @@
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<!DOCTYPE html>
<html lang="ko">
<head>
<jsp:include page="/WEB-INF/view/include/inc_home_head.jsp"/>
<jsp:include page="/WEB-INF/view/include/inc_head_script.jsp"/>
</head>
<body class="<c:if test="${not empty loginUser}">logined</c:if>">
<!-- wrap : s -->
<div class="wrap">
<!-- header : s -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_header.jsp"/>
<!-- header : e -->
<div class="container">
<div id="contents">
<!-- 상세 : s -->
<div class="inner" id="vueApp">
<input type="hidden" id="svcPrice" value="${cafeSvc.svcPrice}">
<input type="hidden" id="addCloudSize" value="${addCloudSize}">
<div class="innerWrap">
<div class="payCompleteWrap">
<dl class="defineList">
<dt class="blind">총 용량</dt>
<dd>
<div class="infoBox volume">
<dl class="infoList">
<dt>추가 전</dt>
<dd>
<div class="volumeBox before">
<span class="total">${beforeTotal}</span>
<div class="useage">${cloud.useFileSizeText}</div>
</div>
</dd>
</dl>
<dl class="infoList">
<dt>추가 후</dt>
<dd>
<div class="volumeBox after">
<span class="total">${cloud.totalFileSizeText}</span>
<div class="useage">${cloud.useFileSizeText}</div>
<div class="add">${addCloudSizeText}</div>
</div>
</dd>
</dl>
</div>
</dd>
</dl>
<dl class="defineList">
<dt class="tit">상품정보</dt>
<dd>
<div class="infoBox">
<dl class="infoList">
<dt>추가용량</dt>
<dd>${addCloudSizeText} (추가 후 총 용량 ${cloud.totalFileSizeText})</dd>
</dl>
<dl class="infoList">
<dt>서비스 시작일</dt>
<dd>${cafe.nowText}</dd>
</dl>
</div>
</dd>
</dl>
<dl class="defineList">
<dt class="tit">결제정보</dt>
<!-- 2021-10-26 수정 : s -->
<dd>
<div class="infoBox">
<p class="pricePayment centerline">추가 요금 <span id = "addPriceAmt"></span>원 <em class="vat" id="addPriceVatAmt">(VAT 포함 월 1,100원) </em></p>
<p class="howPayment centerline">추가된 요금은 다음 달 결제일부터 반영됩니다. </p>
</div>
</dd>
<!-- 2021-10-26 수정 : e -->
</dl>
<div class="btnArea block">
<a href="#" @click="goPage()" class="btns btnCol01">
<span>확인</span>
</a>
</div>
</div>
</div>
</div>
<!-- 상세 : e -->
</div>
</div>
<!-- footer : s -->
<jsp:include page="/WEB-INF/view/include/inc_home_body_footer.jsp"/>
<!-- footer : e -->
</div>
<!-- wrap : e -->
<script src="/res/front/js/biz/home/user/storage_add_complete.js?v=${timestamp}"></script>
<jsp:include page="/WEB-INF/view/include/inc_home_body_popup.jsp"/>
<script src="/res/front/js/biz/home/home-common.js?v=${timestamp}"></script>
</body>
</html>
@@ -0,0 +1,65 @@
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<jsp:include page="/WEB-INF/view/include/inc_home_head.jsp"/>
<jsp:include page="/WEB-INF/view/include/inc_head_script.jsp"/>
<%-- <script type="text/javascript" src="/res/front/home/asset/js/plugins.min.js"></script>
<script type="text/javascript" src="/res/front/home/asset/js/default.js?v=${timestamp}"></script> --%>
</head>
<body class="<c:if test="${not empty loginUser}">logined</c:if>">
<!-- wrap : s -->
<div class="wrap" id="vueApp">
<input type="hidden" id="meetingCode" value="${meetingCode}"/>
<input type="hidden" id="phone" value="${loginUser.phone}"/>
<div class="container">
<div id="contents">
<div class="headerConts">
<h1 class="logo"><a href="#" <c:if test="${bizSiteYn}">style="background-image: url('/res/front/home/asset/images/logo_page_meets.png');"</c:if>>로고</a></h1>
</div>
<div class="innerConts">
<p class="msg"><span>${user.name}</span> 님이 진행하는 <span>‘${quickDto.quickName}’</span><br> 화상에 참여하세요.</p>
<div class="colWrap type02">
<div class="col">
<div class="colInner">
<dl class="defaultList">
<dt><c:if test="${userSiteYn}">랜선에듀On</c:if><c:if test="${bizSiteYn}">랜선미츠</c:if> 조직에 <em>가입된 멤버라면</em></dt>
<dd>
<div class="btnArea block">
<a href="#" @Click="LoginEntranceVod()" class="btns btnCol01">
<span><c:if test="${userSiteYn}">랜선에듀On</c:if><c:if test="${bizSiteYn}">랜선미츠</c:if> 로그인</span>
<em>화상입장</em>
</a>
</div>
</dd>
</dl>
</div>
</div>
<div class="col">
<div class="colInner">
<dl class="defaultList">
<dt><c:if test="${userSiteYn}">랜선에듀On</c:if><c:if test="${bizSiteYn}">랜선미츠</c:if> 조직에 <em>가입되지 않으셨다면</em></dt>
<dd>
<input type="tel" class="inpText" v-model="detail.phone" placeholder="휴대폰번호">
<div class="btnArea block">
<a href="#" class="btns btnCol03" @Click="noLoginEntranceVod()">
<span>화상입장</span>
</a>
</div>
</dd>
</dl>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<jsp:include page="/WEB-INF/view/include/inc_home_body_popup.jsp"/>
<script src="/res/front/js/biz/home/home-common.js?v=${timestamp}"></script>
<script src="/res/front/js/biz/home/vod/meeting.js?v=${timestamp}"></script>
</body>
</html>
@@ -0,0 +1,37 @@
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<jsp:include page="/WEB-INF/view/include/inc_head.jsp"/>
<jsp:include page="/WEB-INF/view/include/inc_head_script.jsp"/>
</head>
<body class="<c:if test="${not empty loginUser}">logined</c:if>">
<!-- wrap : s -->
<div class="wrapper homePage">
<div class="homeWrap">
<div class="headerCont">
<h1 class="logo"><a href="#">로고</a></h1>
<p class="msg"><span>화상이 종료되었습니다.</p>
<p class="date">${day} ${startDate} ~ ${endDate}</p>
</div>
<div class="colWrap solo">
<div class="col">
<div class="colInner">
<div class="btnArea block">
<a href="/home" class="btns btnCol01">
<span>랜선에듀On 홈페이지로</span>
</a>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- wrap : e -->
<%-- <script src="/res/front/js/biz/home/quick/quick_meeting.js?v=${timestamp}"></script> --%>
</body>
</html>
@@ -0,0 +1,65 @@
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<meta charset="UTF-8">
<meta name="google-site-verification" content="hrz51pmLMmCkJgS6xJn_a3Ra96du9JfO74d-eQD7O10">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no, initial-scale=1">
<!-- 위 3개의 메타 태그는 *반드시* head 태그의 처음에 와야합니다; 어떤 다른 콘텐츠들은 반드시 이 태그들 *다음에* 와야 합니다 -->
<meta name="bootstrap,Responsive web,html5" content="aircode - Responsive HTML5" />
<meta name="description" content="NS Mobile">
<meta name="keywords" content=NS Mobile">
<meta name="description" content="NS Mobile">
<meta property="og:title" content="NS Mobile">
<meta property="og:description" content="NS Mobile">
<meta property="og:image" content="">
<title>NS Mobile</title>
<!-- Icon Fonts -->
<link rel="stylesheet" href="/res/front/pub/css/fontium.css">
<!-- Favicon
<link rel="shortcut icon" href="assets/images/favicon.ico" type="image/x-icon">
<link rel="apple-touch-icon" href="assets/images/apple-touch-icon.png">
-->
<!-- Core CSS -->
<link rel="stylesheet" type="text/css" href="/res/front/pub/css/bootstrap.min.css?v=<%=java.time.LocalDateTime.now()%>">
<link rel="stylesheet" type="text/css" href="/res/front/pub/css/aircode.css?v=<%=java.time.LocalDateTime.now()%>">
<link rel="stylesheet" type="text/css" href="/res/front/pub/css/helper.css?v=<%=java.time.LocalDateTime.now()%>">
<link rel="stylesheet" type="text/css" href="/res/front/pub/css/jquery-ui.min.css?v=<%=java.time.LocalDateTime.now()%>">
<!-- Theme Custom CSS -->
<link rel="stylesheet" type="text/css" href="/res/front/pub/css/custom.css?v=<%=java.time.LocalDateTime.now()%>">
<link rel="stylesheet" type="text/css" href="/res/front/pub/css/custom-dev.css?v=<%=java.time.LocalDateTime.now()%>">
<link rel="stylesheet" type="text/css" href="/res/front/pub/css/board.css?v=<%=java.time.LocalDateTime.now()%>">
<link rel="stylesheet" type="text/css" href="/res/front/pub/css/bootstrap-select.min.css?v=<%=java.time.LocalDateTime.now()%>">
<link rel="stylesheet" type="text/css" href="/res/front/pub/css/bootstrap-datetimepicker.min.css?v=<%=java.time.LocalDateTime.now()%>">
<link rel="stylesheet" type="text/css" href="/res/front/pub/css/bootstrap-datepicker.min.css?v=<%=java.time.LocalDateTime.now()%>">
<link rel="stylesheet" type="text/css" href="/res/front/pub/css/spinner.css?v=<%=java.time.LocalDateTime.now()%>">
<!-- Core js -->
<script type="text/javascript" src="/res/front/pub/js/jquery.min.js"></script>
<script type="text/javascript" src="/res/front/pub/js/bootstrap.min.js"></script>
<script type="text/javascript" src="/res/front/pub/js/aircode.js?v=<%=java.time.LocalDateTime.now()%>"></script>
<script type="text/javascript" src="/res/front/pub/js/aircode-dev.js?v=<%=java.time.LocalDateTime.now()%>"></script>
<!-- Theme Custom js -->
<!-- <script type="text/javascript" src="js/includeHtml.js"></script>-->
<script type="text/javascript" src="/res/front/pub/js/jquery-ui.min.js"></script>
<script type="text/javascript" src="/res/front/pub/js/bootstrap-select.min.js"></script>
<script type="text/javascript" src="/res/front/pub/js/jquery.slimscroll.min.js"></script>
<script type="text/javascript" src="/res/front/pub/assets/vendor/jQuery-ScrollTabs-2.0.0/js/jquery.scrolltabs.js"></script>
<script type="text/javascript" src="/res/front/pub/js/moment.min.js"></script>
<script type="text/javascript" src="/res/front/pub/js/ko.js"></script>
<script type="text/javascript" src="/res/front/pub/js/bootstrap-datetimepicker.min.js"></script>
<script type="text/javascript" src="/res/front/pub/js/bootstrap-datepicker.min.js"></script>
<script type="text/javascript" src="/res/front/pub/js/bootstrap-datepicker.ko.min.js"></script>
<script type="text/javascript" src="/res/front/pub/js/jquery.fitvids.js"></script>
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script type="text/javascript" src="/res/front/pub/js/html5shiv.js"></script>
<script type="text/javascript" src="/res/front/pub/js/respond.min.js"></script>
<![endif]-->
@@ -0,0 +1,66 @@
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<meta charset="UTF-8">
<meta name="google-site-verification" content="hrz51pmLMmCkJgS6xJn_a3Ra96du9JfO74d-eQD7O10">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no, initial-scale=1">
<!-- 위 3개의 메타 태그는 *반드시* head 태그의 처음에 와야합니다; 어떤 다른 콘텐츠들은 반드시 이 태그들 *다음에* 와야 합니다 -->
<meta name="bootstrap,Responsive web,html5" content="aircode - Responsive HTML5" />
<meta name="description" content="AIRCODE - LANSEON EDU">
<meta name="Aircode" content="aircode.com">
<meta name="keywords" content="KT 랜선 에듀">
<meta name="description" content="학원/기업에서 필요한 기능만 골라 우리만의 포털 구성! 비대면수업/회의/사내교육/웨비나 등 실시간화상서비스를 원하는대로, KT 커뮤니케이션서비스">
<meta property="og:title" content="<c:if test="${userSiteYn}">KT랜선에듀ON</c:if><c:if test="${bizSiteYn}">랜선미츠</c:if>">
<meta property="og:description" content="학원/기업에서 필요한 기능만 골라 우리만의 포털 구성! 비대면수업/회의/사내교육/웨비나 등 실시간화상서비스를 원하는대로, KT 커뮤니케이션서비스">
<meta property="og:image" content="">
<title>[${siteType}-${siteId}] <c:if test="${userSiteYn}">KT랜선에듀ON</c:if><c:if test="${bizSiteYn}">랜선미츠</c:if></title>
<!-- Icon Fonts -->
<link rel="stylesheet" href="/res/front/pub/css/fontium.css">
<!-- Favicon
<link rel="shortcut icon" href="assets/images/favicon.ico" type="image/x-icon">
<link rel="apple-touch-icon" href="assets/images/apple-touch-icon_meets.png">
-->
<!-- Core CSS -->
<link rel="stylesheet" type="text/css" href="/res/front/pub/css/bootstrap.min.css?v=<%=java.time.LocalDateTime.now()%>">
<link rel="stylesheet" type="text/css" href="/res/front/pub/css/aircode.css?v=<%=java.time.LocalDateTime.now()%>">
<link rel="stylesheet" type="text/css" href="/res/front/pub/css/helper.css?v=<%=java.time.LocalDateTime.now()%>">
<link rel="stylesheet" type="text/css" href="/res/front/pub/css/jquery-ui.min.css?v=<%=java.time.LocalDateTime.now()%>">
<!-- Theme Custom CSS -->
<link rel="stylesheet" type="text/css" href="/res/front/pub/css/custom.css?v=<%=java.time.LocalDateTime.now()%>">
<link rel="stylesheet" type="text/css" href="/res/front/pub/css/custom-dev.css?v=<%=java.time.LocalDateTime.now()%>">
<link rel="stylesheet" type="text/css" href="/res/front/pub/css/board.css?v=<%=java.time.LocalDateTime.now()%>">
<link rel="stylesheet" type="text/css" href="/res/front/pub/css/bootstrap-select.min.css?v=<%=java.time.LocalDateTime.now()%>">
<link rel="stylesheet" type="text/css" href="/res/front/pub/css/bootstrap-datetimepicker.min.css?v=<%=java.time.LocalDateTime.now()%>">
<link rel="stylesheet" type="text/css" href="/res/front/pub/css/bootstrap-datepicker.min.css?v=<%=java.time.LocalDateTime.now()%>">
<link rel="stylesheet" type="text/css" href="/res/front/pub/css/spinner.css?v=<%=java.time.LocalDateTime.now()%>">
<!-- Core js -->
<script type="text/javascript" src="/res/front/pub/js/jquery.min.js"></script>
<script type="text/javascript" src="/res/front/pub/js/bootstrap.min.js"></script>
<script type="text/javascript" src="/res/front/pub/js/aircode.js?v=<%=java.time.LocalDateTime.now()%>"></script>
<script type="text/javascript" src="/res/front/pub/js/aircode-dev.js?v=<%=java.time.LocalDateTime.now()%>"></script>
<!-- Theme Custom js -->
<!-- <script type="text/javascript" src="js/includeHtml.js"></script>-->
<script type="text/javascript" src="/res/front/pub/js/jquery-ui.min.js"></script>
<script type="text/javascript" src="/res/front/pub/js/bootstrap-select.min.js"></script>
<script type="text/javascript" src="/res/front/pub/js/jquery.slimscroll.min.js"></script>
<script type="text/javascript" src="/res/front/pub/assets/vendor/jQuery-ScrollTabs-2.0.0/js/jquery.scrolltabs.js"></script>
<script type="text/javascript" src="/res/front/pub/js/moment.min.js"></script>
<script type="text/javascript" src="/res/front/pub/js/ko.js"></script>
<script type="text/javascript" src="/res/front/pub/js/bootstrap-datetimepicker.min.js"></script>
<script type="text/javascript" src="/res/front/pub/js/bootstrap-datepicker.min.js"></script>
<script type="text/javascript" src="/res/front/pub/js/bootstrap-datepicker.ko.min.js"></script>
<script type="text/javascript" src="/res/front/pub/js/jquery.fitvids.js"></script>
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script type="text/javascript" src="/res/front/pub/js/html5shiv.js"></script>
<script type="text/javascript" src="/res/front/pub/js/respond.min.js"></script>
<![endif]-->
@@ -0,0 +1,52 @@
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%--
<script src="/res/front/js/lib/jquery-1.11.0.js"></script>
--%>
<!-- PC 연동 시 script. 캐시방지를 위해 ?version=today를 추가 -->
<!-- 운영 전환 시 "https://pay.smartropay.co.kr/asset/js/SmartroPAY-1.0.min.js?version=${timestamp}" 로 변경 -->
<script id="smartroJs" src="${payData.smartroJsUrl}?version=${timestamp}"></script>
<!-- 모바일 연동 시 script. 캐시방지를 위해 ?version=today를 추가 -->
<!-- 운영 전환 시 "https://mpay.smartropay.co.kr/asset/js/SmartroPAY-1.0.min.js?version=${timestamp}" 로 변경 -->
<script id="smartroMjs" src="${payData.smartroMjsUrl}?version=${timestamp}"></script>
<form id="tranMgr" name="tranMgr" method="post">
<!-- 각 값들을 가맹점에 맞게 설정해 주세요. -->
<input type="hidden" name="GoodsCnt" maxlength="2" value="1" placeholder=""/>
<input type="hidden" name="TaxAmt" maxlength="9" value="${payData.taxAmt}" placeholder=""/>
<input type="hidden" name="TaxFreeAmt" maxlength="9" value="${payData.taxFreeAmt}" placeholder=""/>
<input type="hidden" name="VatAmt" maxlength="9" value="${payData.vatAmt}" placeholder=""/>
<input type="hidden" name="GoodsCl" value="0" placeholder="가맹점 설정에 따라 0 또는 1, 핸드폰결제 시 필수"/>
<input type="hidden" name="MallIp" maxlength="20" value="${payData.mallIp}" placeholder=""/>
<input type="hidden" name="PayMethod" value="${payData.payMethod}" placeholder=""/>
<input type="hidden" name="GoodsName" maxlength="40" value="${payData.goodsName}" placeholder=""/>
<input type="hidden" name="Amt" maxlength="12" value="${payData.amt}" placeholder=""/>
<input type="hidden" name="Moid" maxlength="40" value="${payData.moid}" placeholder="특수문자 포함 불가"/>
<input type="hidden" name="Mid" maxlength="10" value="${payData.mid}" placeholder=""/>
<input type="hidden" name="ReturnUrl" size="100" class="input" value="${payData.returnUrl}">
<input type="hidden" name="BillReturnUrl" size="100" class="input" value="${payData.billReturnUrl}">
<input type="hidden" name="StopUrl" size="100" class="input" value="${payData.stopUrl}" placeholder="Mobile 연동 시 필수"/>
<input type="hidden" name="BuyerName" maxlength="30" value="${payData.buyerName}" placeholder=""/>
<input type="hidden" name="BuyerTel" maxlength="30" value="${payData.buyerTel}" placeholder=""/>
<input type="hidden" name="BuyerEmail" maxlength="30" value="${payData.buyerEmail}" placeholder=""/>
<input type="hidden" name="VbankExpDate" maxlength="8" value="${payData.vbankExpDate}" placeholder="가상계좌 이용 시 필수"/>
<input type="hidden" name="EncryptData" value="${payData.encryptData}" placeholder="위/변조방지 HASH 데이터"/>
<input type="hidden" name="EdiDate" maxlength="14" value="${payData.ediDate}" placeholder=""/>
<input type="hidden" name="MallUserId" value="${payData.cafeId}" />
<input type="hidden" name="MallReserved" value="" />
<input type="hidden" name="UserIp" maxlength="20" value="${payData.userIp}" placeholder=""/>
<input type="hidden" name="VerifyValue" maxlength="100" class="input" value="${payData.verifyValue}" placeholder="위/변조방지 HASH 데이터">
<input type="hidden" name="SspMallId" maxlength="20" value="${payData.sspMallId}" placeholder="테스트용 SspMallId"/>
<!-- <td colspan="4" class="text-center"><button type="button" class="btn btn-primary" onclick="goPay();">결제하기</button></td> -->
</form>
<!-- PC 연동의 경우에만 아래 승인폼이 필요합니다. (Mobile은 제외) -->
<form id="approvalForm" name="approvalForm" method="post">
<input type="hidden" id="Tid" name="Tid" />
<input type="hidden" id="TrAuthKey" name="TrAuthKey" />
<input type="hidden" id="cafeId" name="cafeId" />
</form>
<script src="/res/front/js/biz/common/pay.js?v=${timestamp}"></script>
@@ -0,0 +1,31 @@
<%@ page contentType="text/html;charset=UTF-8" trimDirectiveWhitespaces="true" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%--
<script src="/res/front/js/lib/jquery-1.11.0.js"></script>
--%>
<script type="text/javascript" src="/res/front/js/lib/axios.min.js"></script>
<script type="text/javascript" src="/res/front/js/lib/axios-config.js?v=1"></script>
<script type="text/javascript" src="/res/front/js/lib/es6-promise.auto.min.js"></script>
<script type="text/javascript" src="/res/front/js/lib/es6-promise.min.js"></script>
<script type="text/javascript" src="/res/front/js/lib/vue.min.js"></script>
<script type="text/javascript" src="/res/front/js/lib/vue.common.js"></script>
<script type="text/javascript" src="/res/front/js/lib/jquery.twbsPagination.min.js"></script>
<script type="text/javascript" src="/res/front/js/lib/rsa.js"></script>
<script type="text/javascript" src="/res/front/js/lib/jsbn.js"></script>
<script type="text/javascript" src="/res/front/js/lib/prng4.js"></script>
<script type="text/javascript" src="/res/front/js/lib/rng.js"></script>
<script type="text/javascript" src="/res/front/js/lib/jquery.redirect.js"></script>
<script tpye="text/javascript" src="/res/front/js/lib/swiper.min.js"></script>
<script tpye="text/javascript" src="/res/front/js/lib/slider.js"></script>
<script src="/res/front/js/biz/common/common.js"></script>
<script src="/res/front/js/biz/api/phone-service.js?v=${timestamp}"></script>
<%-- <script src="/res/front/js/biz/api/bbs-service.js?v=${timestamp}"></script>
<script src="/res/front/js/biz/api/cafe-service.js?v=${timestamp}"></script>
<script src="/res/front/js/biz/api/user-service.js?v=${timestamp}"></script>
<script src="/res/front/js/biz/api/cms-service.js?v=${timestamp}"></script>
<script src="/res/front/js/biz/api/license-service.js?v=${timestamp}"></script> --%>
<c:set var="pubImageUrl" value="/res/front/pub/assets/images" scope="request"/>
@@ -0,0 +1,54 @@
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ taglib prefix="sec" uri="http://www.springframework.org/security/tags"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!-- footer : s -->
<footer id="footer">
<div class="inner" style="position: center; width: 1400px;">
<div style=" float:left;">
<div class="footerMenu">
<a href="#footer">개인정보 처리방침</a>
<a href="#footer">이용약관</a>
</div>
<c:choose>
<c:when test="${siteId == 'skt'}">
<div class="footerOpt">
<span>서프라이즈 </span>
<span>서울특별시 성동구 마장로39길 44, 104동 501호(마장동, 에덴캐슬)</span>
<span>사업자 등록 번호 : 620-18-74387</span>
<!-- <span>통신판매업신고 2019-부산남구-0209</span>-->
<span class="block">고객센터 010-6646-7825</span>
</div>
<p class="copyright">Copyright© 2022 Surprise. All rights reserved.</p>
</c:when>
<c:otherwise>
<div class="footerOpt">
<span>엔에스컴퍼니 한지아 </span>
<span>부산광역시 남구 고동골로 68(문현동)</span>
<span>사업자 등록 번호 : 644-19-00985</span>
<span>통신판매업신고 2019-부산남구-0209</span>
<span class="block">고객센터 010-6646-7825</span>
</div>
<p class="copyright">Copyright© 2022 NS Company. All rights reserved.</p>
</c:otherwise>
</c:choose>
</div>
<c:choose>
<c:when test="${siteId == 'skt'}">
<div style=" float:right;">
<a href="https://www.ictmarket.or.kr:8443/ajax/ajax3.do?id=PRE0000162179&seq=1&yn=1"target="_blank">
<img style="cursor:pointer; "src="https://www.ictmarket.or.kr:8443/getCertIcon.do?cert_icon=KP19041542880L001">
</a>
</div>
</c:when>
<c:otherwise>
<div style=" float:right;">
<a href="https://www.ictmarket.or.kr:8443/precon/pop_CertIcon.do?PRECON_REQ_ID=PRE0000113557"target="_blank">
<img style="cursor:pointer; "src="https://www.ictmarket.or.kr:8443/getCertIcon.do?cert_icon=KP19041542880L001">
</a>
</div>
</c:otherwise>
</c:choose>
</div>
</footer>
<!-- footer : e -->
@@ -0,0 +1,92 @@
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ taglib prefix="sec" uri="http://www.springframework.org/security/tags"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<c:set var="urlPath" value="${requestScope['javax.servlet.forward.servlet_path']}" />
<!-- header : s -->
<header id="header" class="sub">
<div class="inner">
<h1 class="logo" di><a href="/${siteId}/home" style="background:url('');display: inline;"><c:if test="${siteId == 'skt'}">Surprise</c:if><c:if test="${siteId != 'skt'}">NS Company</c:if></a></h1>
<div id="gnb">
<h2 class="blind">주메뉴</h2>
<c:if test="${!fn:contains(urlPath,'/home/quick')}"> <!-- quick 모임일 때 숨김 -->
<!-- <a href="#header" class="newmenu09">프리미엄</a> 딱히 href 기능 동작 안함
<a href="#header" class="newmenu09">가성비</a> -->
</c:if>
</div>
<div class="new_menu01" style="display:none">
<!-- <div class="submenu01"><a href="#header" >프리미엄</a></div>
<div class="submenu01"><a href="#header" >가성비</a></div> -->
</div>
<div class="btnHeadWrap"style="display:none">
<c:choose>
<c:when test="${empty loginUser}">
<a href="#" class="btnHead" onclick="g_showLoginPopup()">
<span ><c:if test="${bizSiteYn}">로그인</c:if><c:if test="${userSiteYn}">로그인/회원가입</c:if></span>
<div class="threeline"></div>
</a>
</c:when>
<c:otherwise>
<div class="btnHeadAfter">
<!-- 로그인 후 계정선택 이후 : s -->
<c:if test="${loginUser.cafeId > 0}">
<div class="myInfo <c:if test="${bizSiteYn}"> btbdn </c:if> <c:if test="${loginUser.cafeCnt > 0}">add</c:if>"><!-- 계정 복수일 경우 클래스 'add' 추가 -->
<a href="/portal/mypage">
<div class="box">
<div class="option"><c:out value="${loginUser.cafeName}"></c:out></div>
<strong class="name">
<em><c:out value="${loginUser.cafeUserLevelText}"></c:out></em>
<span><c:out value="${loginUser.cafeUserName}"></c:out></span>
</strong>
</div>
</a>
</div>
</c:if>
<div class="new_btnHeadAfter">
<a href="#" class="new_profile"></a>
<div class="threeline"></div>
<c:if test="${loginUser.cafeStatusCnt > 0}">
<div class="redball"></div> <!-- 조직가입거절 여부 -->
</c:if>
<div class="new_menu" style="top: 60px;">
<c:if test="${userSiteYn}">
<a href="javascript:g_showPopupOrgSelect('USER_SELECT');" class="submenu">조직선택/계정추가</a>
</c:if>
<c:if test="${bizSiteYn}">
<a href="javascript:g_showPopupOrgSelect('USER_SELECT');" class="submenu btbdn">조직선택/계정추가</a>
</c:if>
<c:if test="${bizSiteYn}">
<div class="submenu"><img src="/res/front/home/asset/images/btbimg_01_b2b.png" class="showimg" ><c:out value="${loginUser.cafeUserName}"></c:out></div>
</c:if>
<a href="javascript:goMyPage('${loginUser.cafeCnt}');" class="submenu">회원정보</a> <!-- 선택되었을때 foc -->
<a href="javascript:logout();" class="submenu">로그아웃</a>
</div>
</div>
</div>
</c:otherwise>
</c:choose>
</div>
</div>
</header>
<script>
//헤더 div토글버튼
$(document).on("click", ".new_btnHeadAfter .new_profile" , function(){
$(".new_btnHeadAfter .new_menu").toggleClass("show");
$(".ui-m .new_menu01").toggle();
});
// 햄버거 버튼
$(document).on("click", ".threeline", function() {
$(".new_btnHeadAfter .new_menu").toggleClass("show");
$(".ui-m .new_menu01").toggle();
});
</script>
<!-- header : e -->
@@ -0,0 +1,98 @@
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ taglib prefix="sec" uri="http://www.springframework.org/security/tags"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<c:set var="urlPath" value="${requestScope['javax.servlet.forward.servlet_path']}" />
<!-- header : s -->
<!-- Favicon
<link rel="shortcut icon" href="assets/images/favicon.ico" type="image/x-icon">
<link rel="apple-touch-icon" href="assets/images/apple-touch-icon_meets.png">
-->
<header id="header" class="sub">
<div class="inner">
<h1 class="logo meets"><a href="${siteTypeBaseUrl}/home"></a></h1>
<div id="gnb">
<h2 class="blind">주메뉴</h2>
<c:if test="${!fn:contains(urlPath,'/home/quick')}"> <!-- quick 모임일 때 숨김 -->
<a href="${siteTypeBaseUrl}/home/service/intro" class="newmenu09">서비스 소개</a> <!-- 딱히 href 기능 동작 안함 -->
<a href="${siteTypeBaseUrl}/home/service/guide" class="newmenu09">서비스 이용절차</a>
<a href="${siteTypeBaseUrl}/home/customer/notice" class="newmenu09">고객센터</a>
</c:if>
</div>
<div class="new_menu01" style="display:none">
<div class="submenu01"><a href="${siteTypeBaseUrl}/home/service/intro" >서비스 소개@@</a></div>
<div class="submenu01"><a href="${siteTypeBaseUrl}/home/service/guide" >서비스 이용절차</a></div>
<div class="submenu01"><a href="${siteTypeBaseUrl}/home/customer/notice" >고객센터</a></div>
</div>
<div class="btnHeadWrap" style="display:none">
<c:choose>
<c:when test="${empty loginUser}">
<a href="#" class="btnHead" onclick="g_showLoginPopup()">
<span ><c:if test="${bizSiteYn}">로그인</c:if><c:if test="${userSiteYn}">로그인/회원가입</c:if></span>
<div class="threeline"></div>
</a>
</c:when>
<c:otherwise>
<div class="btnHeadAfter">
<!-- 로그인 후 계정선택 이후 : s -->
<c:if test="${loginUser.cafeId > 0}">
<div class="myInfo <c:if test="${bizSiteYn}"> btbdn </c:if> <c:if test="${loginUser.cafeCnt > 0}">add</c:if>"><!-- 계정 복수일 경우 클래스 'add' 추가 -->
<a href="/portal/mypage">
<div class="box">
<div class="option"><c:out value="${loginUser.cafeName}"></c:out></div>
<strong class="name">
<em><c:out value="${loginUser.cafeUserLevelText}"></c:out></em>
<span><c:out value="${loginUser.cafeUserName}"></c:out></span>
</strong>
</div>
</a>
</div>
</c:if>
<div class="new_btnHeadAfter">
<a href="#" class="new_profile"></a>
<div class="threeline"></div>
<c:if test="${loginUser.cafeStatusCnt > 0}">
<div class="redball"></div> <!-- 조직가입거절 여부 -->
</c:if>
<div class="new_menu" style="top: 60px;">
<c:if test="${userSiteYn}">
<a href="javascript:g_showPopupOrgSelect('USER_SELECT');" class="submenu">조직선택/계정추가</a>
</c:if>
<c:if test="${bizSiteYn}">
<a href="javascript:g_showPopupOrgSelect('USER_SELECT');" class="submenu btbdn">조직선택/계정추가</a>
</c:if>
<c:if test="${bizSiteYn}">
<div class="submenu"><img src="/res/front/home/asset/images/btbimg_01_b2b.png" class="showimg" ><c:out value="${loginUser.cafeUserName}"></c:out></div>
</c:if>
<a href="javascript:goMyPage('${loginUser.cafeCnt}');" class="submenu">회원정보</a> <!-- 선택되었을때 foc -->
<a href="javascript:logout();" class="submenu">로그아웃</a>
</div>
</div>
</div>
</c:otherwise>
</c:choose>
</div>
</div>
</header>
<script>
//헤더 div토글버튼
$(document).on("click", ".new_btnHeadAfter .new_profile" , function(){
$(".new_btnHeadAfter .new_menu").toggleClass("show");
$(".ui-m .new_menu01").toggle();
});
// 햄버거 버튼
$(document).on("click", ".threeline", function() {
$(".new_btnHeadAfter .new_menu").toggleClass("show");
$(".ui-m .new_menu01").toggle();
});
</script>
<!-- header : e -->
@@ -0,0 +1,274 @@
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ taglib prefix="sec" uri="http://www.springframework.org/security/tags"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ page import="com.ns.mobile.website.common.util.RSASecureUtils" %>
<input type="hidden" id="RSAModulus" value="${RSAModulus}" readonly/>
<input type="hidden" id="RSAExponent" value="${RSAExponent}" readonly/>
<!--[레] 로그인 : s -->
<div class="layerPop" id="layerLogin">
<div class="layerPopArea w540" style="height: auto;top: 0;padding: 0 0 20px 0;">
<div class="popCont">
<!-- 내용 : s -->
<!-- loginWrap : s -->
<form id="popupLoginForm" method="post">
<!-- <img src="${siteInfo.loginFileIdUrl}" alt="${siteInfo.siteName}"> 기존 개발 코드 백업 하드 코딩한 이미지로 요청 -->
<!-- b2b -->
<c:if test="${bizSiteYn}">
<div class="loginWrap" style="padding-top: 158px !important;">
<div class="btblogo">
<%-- <img src="/res/front/home/asset/images/login_title_b2b.png" alt="${siteInfo.siteName}"> --%>
<img src="${siteInfo.loginFileIdUrl}" alt="${siteInfo.siteName}" onerror="this.src='/res/front/home/asset/images/login_title_b2b.png'">
</div>
</c:if>
<!-- b2b -->
<!-- b2c -->
<c:if test="${userSiteYn}">
<div class="loginWrap" style="padding-top: 40px !important;">
</c:if>
<!-- b2c -->
<ul class="loginField">
<li>
<input type="tel" name="phone" class="inpText" placeholder="휴대폰번호" required>
</li>
<li>
<input type="password" name="password" class="inpText" placeholder="비밀번호" required>
</li>
</ul>
<div class="btmPwdArea">
<span class="inputCheckbox">
<input type="checkbox" name="savedLoginId" id="savedLoginId" >
<label for="savedLoginId">로그인 아이디 저장</label>
</span>
<a href="${siteTypeBaseUrl}/home/user/find/password" class="btnPwdFind">비밀번호 찾기</a>
</div>
<!-- 자동인증 방지 문자 영역 : s -->
<!-- 2021-08-30 수정 : s -->
<div class="autoPreventArea">
<div class="txtBox"><strong>자동인증 방지문자</strong> - 좌측 이미지에 보이는 문자를 입력해 주세요.</div>
<div class="autoPrevent">
<div class="numbering" id="captcha" ><</div>
<div class="btnArea" style="margin-top:0px;">
<input type="hidden" id="captchaInsId" value=""/>
<input type="hidden" id="captchaSoundUrl" value="" />
<a onclick="captchaReload()" href="#" class="btns small">
<span>다시받기</span>
</a>
<a onclick="captchaPlaySound()" href="#" class="btns small">
<span>음성듣기</span>
</a>
</div>
<div class="inputArea">
<input name="captchaValue" type="text" class="inpText" required>
</div>
</div>
</div>
<!-- 2021-08-30 수정 : e -->
<!-- 자동인증 방지 문자 영역 : e -->
<div class="btnArea">
<button type="submit" href="#" class="btns btnCol01">
<span>로그인</span>
</button>
</div>
<c:if test="${userSiteYn}">
<p class="txt">*아직 회원이 아니신가요?</p>
<div class="btnArea">
<a href="/home/user/join" class="btns btnCol03">
<span>회원가입</span>
</a>
</div>
</c:if>
</div>
</form>
<!-- loginWrap : e -->
<!-- 내용 : e -->
</div>
<a href="#" class="btnPopClose" onclick="layerPop('close' , '#layerLogin')">해당 레이어 닫기</a>
</div>
</div>
<!--[레] 로그인 : e -->
<!--[레] 계정 목록 : s -->
<div class="layerPop" id="POPUP_USER_SELECT">
<div class="layerPopArea w540" style="height: auto;top: 0;padding: 0 0 20px 0;">
<div class="popCont">
<!-- 내용 : s -->
<!-- accountWrap : s -->
<div class="accountWrap tissue">
<div class="logoArea">
<strong class="logo"><a href="/">로고</a></strong>
</div>
<div v-show="isViewModeAddOrg" class="accountBox">
<div v-show="allList.length < 1" class="item select noDate bind-login-nothing-org">
<div class="box">
<div class="middle">
<p class="txt1">현재 소속된 조직이 없습니다.</p>
<p class="txt2">조직을 개설하거나 이미 생성된 조직에 가입하세요.</p>
</div>
</div>
</div>
<div class="item">
<a href="/home/user/org/register">
<div class="middle">
<dl class="dfList">
<dt>관리자 회원이신가요?</dt>
<dd>조직개설 & 상품가입</dd>
</dl>
</div>
</a>
</div>
<div class="item">
<a href="/home/user/org/join">
<div class="middle">
<dl class="dfList">
<dt class="col02">일반 회원이신가요?</dt>
<dd>계정추가 & 조직가입</dd>
</dl>
</div>
</a>
</div>
</div>
<div v-show="isViewModeUserSelect" class="accountBox">
<div v-if="ingFirst.id > 0" class="item select">
<strong class="tit">최근 접속</strong>
<a @click="onClickCafeUserIdLogin(ingFirst)" href="#" class="checked"><!-- 선택시 클래스 'checked' 추가 -->
<div class="middle">
<strong class="name">
<em>{{ingFirst.cafeUserLevelText}}</em>
<span>{{ingFirst.cafeUserName}}</span>
</strong>
<div class="option">
<span>{{ingFirst.cafeName}}</span>
<span>{{ingFirst.cafeCode}}</span>
</div>
</div>
</a>
</div>
<div v-show="ingMoreList.length > 0" class="accountBoxList">
<div v-for="(x, index) in ingList" class="item">
<a @click="onClickCafeUserIdLogin(x)" href="#"><!-- 선택시 클래스 'checked' 추가 -->
<div class="middle">
<strong class="name">
<em>{{x.cafeUserLevelText}}</em>
<span>{{x.cafeUserName}}</span>
</strong>
<div class="option">
<span>{{x.cafeName}}</span>
<span>{{x.cafeCode}}</span>
</div>
</div>
</a>
</div>
</div>
</div>
<div v-show="reqList.length > 0 && (isViewModeUserSelect || isViewModeAddOrg)" class="btmLinkBox">
<div class="left">
<a href="#" class="mark" onclick="$(this).next('.layerAble').toggleClass('on')">가입신청 대기 중</a>
<div class="layerAble"><!-- 클래스 'on' 추가시 오픈 -->
<div class="ableList">
<div v-for="(x, index) in reqList" class="obj">
<dl>
<dt>조직명</dt>
<dd>{{x.cafeName}}</dd>
</dl>
<dl>
<dt>신청일</dt>
<dd>{{x.regDtText}}</dd>
</dl>
</div>
</div>
</div>
</div>
</div>
<div v-show="isViewModeUserSelect" class="right">
<a @click="viewMode='ADD_ORG'" href="#" class="link">조직/계정 추가</a>
</div>
</div>
<!-- accountWrap : e -->
<!-- 내용 : e -->
</div>
<a href="#" class="btnPopClose" onclick="layerPop('close' , '#POPUP_USER_SELECT')">해당 레이어 닫기</a>
</div>
</div>
<!--[레] 계정 목록 : e -->
<!--[레] 계정 목록 : s -->
<div class="layerPop" id="POPUP_ADD_CAFE_OR_SELECT">
<div class="layerPopArea w540" style="height: auto;top: 0;padding: 0 0 20px 0;">
<div class="popCont">
<!-- 내용 : s -->
<!-- accountWrap : s -->
<div class="accountWrap tissue">
<div class="logoArea">
<strong class="logo"><a href="/">로고</a></strong>
</div>
<div class="accountBox">
<div class="item">
<a href="/home/user/org/register">
<div class="middle">
<dl class="dfList">
<dt>관리자 회원이신가요?</dt>
<dd>조직개설 & 상품가입</dd>
</dl>
</div>
</a>
</div>
<div class="item">
<a href="/home/user/org/join">
<div class="middle">
<dl class="dfList">
<dt class="col02">일반 회원이신가요?</dt>
<dd>계정추가 & 조직가입</dd>
</dl>
</div>
</a>
</div>
</div>
</div>
<!-- accountWrap : e -->
<!-- 내용 : e -->
</div>
<a href="javascript:return false;" class="btnPopClose" onclick="layerPop('close' , '#POPUP_ADD_CAFE_OR_SELECT')">해당 레이어 닫기</a>
</div>
</div>
<!--[레] 계정 목록 : e -->
<!-- S : spinner -->
<div class="load-wrap">
<div class="load-item">
<div class="spinner">
<div class="bubble-1"></div>
<div class="bubble-2"></div>
</div>
</div>
</div>
<!-- E : spinner -->
@@ -0,0 +1,14 @@
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ taglib prefix="sec" uri="http://www.springframework.org/security/tags"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<c:set var="urlPath" value="${requestScope['javax.servlet.forward.servlet_path']}" />
<div class="stepMenu">
<span <c:if test="${urlPath == '/home/user/org/register' }"> class="on"</c:if>>조직 및 관리자<br class="wHide">정보 입력</span><!-- 활성화시 클래스 'on' 추가 -->
<span <c:if test="${urlPath == '/home/user/org/register-svc' || urlPath == '/home/user/org/update-svc'}"> class="on"</c:if>>상품 선택 및<br class="wHide">수량 입력</span>
<span <c:if test="${urlPath == '/home/user/org/register-payment' || urlPath == '/home/user/org/update-payment'}"> class="on"</c:if>>선택 상품<br class="wHide">확인</span>
<span <c:if test="${urlPath == '/home/user/org/register-complete'}"> class="on"</c:if>>조직 개설<br class="wHide">완료</span>
</div>
<!-- header : e -->
@@ -0,0 +1,32 @@
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="keywords" content="<c:if test="${siteId == 'skt'}">Surprise</c:if><c:if test="${siteId != 'skt'}">NS Company</c:if>">
<meta name="description" content="<c:if test="${siteId == 'skt'}">Surprise</c:if><c:if test="${siteId != 'skt'}">NS Company</c:if>">
<meta property="og:title" content="<c:if test="${siteId == 'skt'}">Surprise</c:if><c:if test="${siteId != 'skt'}">NS Company</c:if>">
<meta property="og:description" content="<c:if test="${siteId == 'skt'}">Surprise</c:if><c:if test="${siteId != 'skt'}">NS Company</c:if>">
<meta property="og:image" content="">
<title><c:if test="${siteId == 'skt'}">Surprise</c:if><c:if test="${siteId != 'skt'}">NS Company</c:if></title>
<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no">
<meta name="description" content="">
<meta name="format-detection" content="telephone=no">
<link rel="stylesheet" type="text/css" href="/res/front/home/asset/css/common.css?v=${timestamp}" />
<link rel="stylesheet" type="text/css" href="/res/front/home/asset/css/common-dev.css?v=${timestamp}" />
<link rel="stylesheet" type="text/css" href="/res/front/home/asset/css/utill.css?v=${timestamp}" />
<link rel="stylesheet" type="text/css" href="/res/front/home/asset/css/style.css?v=${timestamp}" />
<link rel="stylesheet" type="text/css" href="/res/front/home/asset/css/bootstrap-grid.css?v=${timestamp}" />
<link rel="stylesheet" type="text/css" href="/res/front/home/asset/css/swiper.css?v=${timestamp}" />
<link rel="stylesheet" type="text/css" href="/res/front/home/asset/css/spinner.css?v=<%=java.time.LocalDateTime.now()%>">
<script type="text/javascript" src="/res/front/home/asset/js/jquery-3.5.1.min.js"></script>
<script type="text/javascript" src="/res/front/home/asset/js/plugins.min.js"></script>
<script type="text/javascript" src="/res/front/home/asset/js/jquery.cookie-1.4.1.min.js"></script>
<script type="text/javascript" src="/res/front/home/asset/js/default.js?v=${timestamp}"></script>
<script type="text/javascript">
$(function() {
});
</script>
@@ -0,0 +1,729 @@
<%@ page contentType="text/html;charset=UTF-8" %>
<!--[레] 서비스 이용약관 : s -->
<div class="layerPop" id="layerAgreeService01">
<div class="layerPopArea w540">
<div class="popCont">
<!-- 내용 : s -->
<strong class="popTit mHide" id="termType_T1">서비스 이용약관</strong>
<div class="selectBoxWrap">
<select class="selectBox" id="termVer_T1" onchange="selTermsVer('T1', this.value)">
<option>서비스 이용약관</option>
</select>
</div>
<div class="termBox" id="termCont_T1">
<strong class="title01 first">제 1 장 총칙</strong>
<strong class="title02">제 1 조 목적</strong>
<p>본 약관은 주식회사 케이티(이하 "회사”라 합니다.)가 웹사이트를 통해 온라인으로 제공하는 KT 랜선에듀On 서비스의 이용과 관련하여 회사와 회원과의 권리, 의무 및 책임사항, 기타 필요한 사항을 규정함을 목적으로 합니다.</p>
<strong class="title02">제 2 조 용어의 정의</strong>
<p>본 약관에서 사용하는 용어의 정의는 다음 각 호와 같습니다.</p>
<ol>
<li>1. KT 랜선에듀On 서비스 (이하, “서비스”라 합니다.): KT 및 제휴업체가 사이트를 통해 실시간 화상 회의, VOD게시판, 교육자료 공유 등의 통합 기능을 제공하는 비대면 온라인 교육 서비스를 말합니다. </li>
<li>2. 회원: “KT 랜선에듀On 서비스 이용약관”에 동의하여 “회사”와 이용계약을 체결하고 “회사”가 제공하는 “서비스”를 이용할 수 있는 자를 말합니다.</li>
<li>3. 계약: “회원”의 본 약관에 대한 동의 및 “회사”가 제공하는 결제수단을 이용한 결제를 통한 이용신청과 이에 대한 “회사”의 승낙을 말합니다.</li>
<li>4. 사이트: KT 랜선에듀 On을 제공하기 위해 운영하는 웹사이트 (kteduon.co.kr)를 말합니다.</li>
<li>5. 아이디(ID) : “회원”의 식별과 서비스 이용을 위하여 “회원”이 정하고 “회사”가 승인한 문자 또는 숫자의 조합을 말합니다.</li>
<li>6. 비밀번호(PASSWORD) : 회원이 입력한 아이디와 일치되는 회원임을 확인하고 비밀보호를 위해 회원 자신이 정한 문자 또는 숫자의 조합을 말합니다.</li>
<li>7. 유료 서비스 : “회원”의 “KT 랜선에듀On 유료 이용약관”에 대한 동의 및 회사가 제공하는 결제수단을 이용한 결제를 통한 이용신청과 회사의 승낙을 통해 “회원”이 이용할 수 있는 서비스를 말합니다.</li>
<li>8. 무료 서비스 : “회원”이 서비스 이용을 위해 대금을 지불하지 않고 이용할 수 있는 서비스를 말합니다.</li>
<li>② 이 약관에서 사용하는 용어의 정의는 제1항에서 정하는 것을 제외하고는 관계 법령 및 서비스별 안내에서 정하는 바, 그 외에는 일반적인 상거래관행에 의합니다.</li>
</ol>
<strong class="title02">제 3 조 약관의 게시와 개정</strong>
<ol>
<li>① 회사는 본 약관의 내용을 회원이 알 수 있도록 웹사이트(kteduon.co.kr) 내에 게시 합니다. </li>
<li>② 본 약관은 회사가 필요하다고 인정되는 경우 약관의 규제에 관한 법률, 개인정보 보호법, 정보통신망 이용촉진 및 정보보호 등에 관한 법률 등 관련 법령을 위배하지 않는 범위에서 개정할 수 있습니다. </li>
<li>③ 회사가 약관을 개정할 경우에는 적용 예정일 및 개정 사유를 명시하여 현행 약관과 함께 서비스 초기화면에 그 적용 예정일 7일전부터 공지합니다. 다만, 회원에게 불리하게 약관 내용을 개정하는 경우에는 최소한 30일 이상의 유예기간을 두고 공지합니다.</li>
<li>④ 회원은 개정된 약관에 대해 동의하지 않을 권리가 있으며, 개정된 약관에 동의하지 않을 경우 이용계약을 해지할 수 있습니다. </li>
<li>⑤ 회사가 동조 제3항에 따라 개정된 약관을 공지 하면서, 공지기간 내에 회원이 명시적으로 거부 의사 표시를 하지 않으면 개정 약관에 동의한 것으로 간주한다는 뜻을 명확하게 공지 또는 통지하였음에도 회원이 명시적으로 거부 의사표시를 하지 아니한 경우, 회원이 개정약관을 동의한 것으로 봅니다. </li>
</ol>
<strong class="title02">제 4 조 약관의 해석 </strong>
<ol>
<li>① “회사”는 개별 서비스에 대하여 별도의 이용약관 및 정책을 둘 수 있으며, 해당 내용이 본 약관과 상충할 경우에는 별도의 이용 약관 등이 본 약관에 우선하여 적용됩니다.</li>
<li>② 본 약관에 명시되지 않은 사항은 전기통신기본법, 전기통신사업법, 개인정보 보호법, 정보통신망 이용촉진 및 정보보호 등에 관한 법률, 전자상거래 등에서의 소비자보호에 관한 법률 등 관계법령 및 상관례에 따릅니다. </li>
</ol>
<strong class="title02">제 5 조 개인정보의 수집 </strong>
<ol>
<li>① 회사는 서비스를 제공하기 위하여 관련 법령의 규정에 따라 회원으로부터 필요한 개인정보를 수집할 수 있으며, 회사는 개인정보 보호법, 정보통신망 이용촉진 및 정보보호 등에 관한 법률/시행령/시행규칙 등 관계 법령이 정하는 바에 따라서 회원 등록정보를 포함한 회원의 개인정보를 보호하기 위하여 노력합니다. </li>
<li>② 회원의 개인정보보호 및 사용에 대해서는 관계 법령 및 회사의 개인정보취급방침이 적용됩니다. 단, 회사는 회원의 귀책사유로 인해 노출된 정보에 대해서 일체의 책임을 지지 않습니다.</li>
<li>③ 회사는 필요한 경우 수집된 개인정보의 처리 업무의 일부 또는 전부를 회사가 선정한 회사에 위탁할 수 있습니다. 회원의 개인정보 처리 위탁에 대해서는 회사의 개인정보처리방침이 적용됩니다. </li>
</ol>
<strong class="title01">제 5 조 개인정보의 수집 </strong>
<strong class="title02">제 6 조 회원가입 신청 및 승낙</strong>
<ol>
<li>① 회원가입은 이용자가 웹페이지(kteduon.co.kr)에서 회원가입 시 필요한 개인 정보를 입력하고 본 약관의 내용에 동의를 한 경우, 이에 대하여 회사가 승낙함으로써 이루어집니다. </li>
<li>② 본 서비스는 만 15세 이상만 가입이 가능합니다</li>
</ol>
<strong class="title02">제 7 조 회원가입 신청에 대한 승낙의 제한</strong>
<p>회사는 회원의 가입신청이 다음 각호에 해당하는 경우에는 회원가입을 승낙하지 않거나 승낙을 유보할 수 있으며, 승낙한 이후에도 이용을 제한할 수 있습니다. </p>
<ol>
<li>① 실명이 아니거나, 다른 사람의 명의를 이용한 경우</li>
<li>② 허위의 정보를 기재하거나, 회사가 제시하는 내용을 기재하지 않은 경우</li>
<li>③ 회원이 되고자 하는 자의 귀책사유로 인하여 승인이 불가능하거나 기타 본 약관에 규정한 제반 사항을 위반하여 신청하는 경우</li>
<li>④ 기술상 또는 업무상 서비스 제공이 불가능하거나 서비스 관련 설비용량이 부족한 경우 </li>
<li>⑤ 기타 회사가 합리적인 판단에 의하여 필요하다고 인정하는 경우</li>
</ol>
<strong class="title02">제 8 조 회원에 대한 통지</strong>
<ol>
<li>① 회사가 회원에 대한 통지를 하는 경우 본 약관에 별도 규정이 없는 한 이메일, SMS/MMS 등으로 할 수 있습니다. </li>
<li>② 회사는 회원의 연락처를 알 수 없어 개별 통지가 불가능한 경우, 또는 불특정 다수 또는 회원 전체에 대하여 통지를 하는 경우에는 15 일 이상 회사의 서비스 화면 또는 회사 홈페이지에 게시함으로써 제1항의 통지를 갈음할 수 있습니다. </li>
</ol>
<strong class="title02">제 9 조 회원 탈퇴 및 자격의 상실 등 </strong>
<ol>
<li>① “회원”은 “회사”에 언제든지 본 약관 동의 철회를 통한 회원탈퇴를 요청할 수 있으며, “회사”는 즉시 회원탈퇴를 처리합니다.</li>
<li>② 회원탈퇴 시, “서비스”의 로그인이 불가능 하며 “서비스” 이용이 불가 합니다.</li>
<li>③ 회원탈퇴 시, 이용 중이던 "유료서비스" 상품에 대한 정책은 "KT 랜선에듀On 유료 이용약관"을 따릅니다.</li>
<li>④ “회원”이 다음 각 호의 사유에 해당하는 경우, “회사”는 회원자격을 제한 및 정지시킬 수 있습니다.
<ol>
<li>1. “회사”의 서비스 이용대금, 기타 “회사”의 서비스 이용에 관련하여 “회원”이 부담하는 채무를 기일에 이행하지 않는 경우</li>
<li>2. 제 3자의 “서비스” 이용을 방해하거나 그 정보를 도용하는 등 전자상거래 질서를 위협하는 경우</li>
<li>3. 악성 프로그램 및 버그를 이용하거나 시스템 취약점을 악용하는 등 부정한 방법으로 “서비스”를 이용한 경우</li>
<li>4. “서비스”를 이용하여 법령 또는 본 약관이 금지하거나 공서양속에 반하는 행위를 하는 경우 </li>
</ol>
</li>
</ol>
<strong class="title01">제 3 장 서비스 이용에 관한 사항</strong>
<strong class="title02">제 10 조 서비스의 내용</strong>
<p>회사가 제공하는 서비스는 아래와 같습니다.</p>
<ol>
<li>1. KT 랜선에듀On 홈페이지 (서비스 소개, 요금 시뮬레이션, 회원가입, 로그인 등)</li>
<li>2. KT 랜선에듀On 서비스 포털 (화상라운지, 공지사항, 관리자메뉴 등)</li>
<li>3. 실시간 화상 회의 (교육용, 회의용, 웨비나용, Quick모임)</li>
<li>4. 화상 라운지 및 히스토리</li>
<li>5. 공지사항 게시판</li>
<li>6. 관리자 메뉴</li>
<li>7. 화상녹화 클라우드 자동 저장 (옵션 선택 시)</li>
<li>8. 실시간 화상 보안 솔루션 (옵션 선택 시)</li>
<li>9. VOD 게시판 (옵션 선택 시)</li>
<li>10. 자료 게시판 (옵션 선택 시)</li>
</ol>
<strong class="title02">제 11 조 서비스의 이용 개시</strong>
<ol>
<li>① “회사”는 “회원”의 가입신청을 승낙한 때로부터 “서비스”의 제공을 개시합니다. 다만, 일부 “서비스”의 경우 회사가 지정한 날로부터 “서비스”를 개시할 수 있습니다.</li>
<li>② 회사가 업무상ㆍ기술상의 장애로 인하여 “서비스”를 개시하지 못하는 경우에는 이를 회원에게 통지합니다.</li>
<li>③ ”서비스”를 휴대전화 또는 태블릿 등에서 이용 시 무선 데이터 트래픽으로 인하여 데이터 요금이 발생될 수 있습니다.</li>
<li>④ “회사“는 “서비스“ 내의 특정 서비스를 제공하기 위해 “회원”에게 별도 또는 추가적인 가입절차를 요청할 수 있으며, 이러한 특정 서비스를 이용할 경우 해당 서비스에 대한 이용약관, 규정 또는 세칙 등이 본 약관보다 우선 적용됩니다.</li>
<li>⑤ “회원”이 “유료서비스”를 이용하기 위해서는 “유료서비스” 이용 계약을 체결해야 합니다. “유료서비스”를 이용함에 있어 필요한 “회사”와 “회원”의 권리, 의무 및 책임사항 등은 “KT 랜선에듀On 유료 이용약관”에 규정합니다.</li>
</ol>
<strong class="title02">제 12 조 서비스의 이용 시간</strong>
<p>서비스의 이용은 연중무휴, 1일 24시간을 원칙으로 합니다. 다만, 회사의 업무상ㆍ기술상의 이유 또는 서비스 운영 상의 이유로 회사는 서비스를 일시 중지하거나 서비스 이용시간을 제한할 수 있습니다. 이러한 경우 회사는 사전에 이를 공지하되 사전 공지가 어려운 경우에는 사후에 이를 공지합니다. </p>
<strong class="title02">제 13 조 서비스의 제공 및 중단</strong>
<ol>
<li>① 회사는 서비스를 제공함에 있어서 필요한 경우 회원에게 별도의 프로그램을 설치할 수 있으며, 회원은 원하지 않는 경우 프로그램의 설치를 거부할 수 있습니다. 다만, 회원이 프로그램 설치를 거부할 경우 서비스 이용이 제한될 수 있습니다. </li>
<li>② 회사는 다음 각호의 하나의 사유를 비롯하여 서비스를 중단하여야 하는 사유가 있는 경우에 운영상, 기술상의 필요에 따라 제공하고 있는 서비스의 전부 또는 일부를 제한하거나 중단할 수 있습니다.
<ol>
<li>1. 긴급한 시스템 점검, 증설, 교체, 시설의 보수 또는 공사 등으로 인한 부득이한 경우 </li>
<li>2. 새로운 서비스 시스템으로 교체, 업그레이드, 사이트 이전, 유지보수 등 회사의 서비스 운영정책상 필요하다고 판단되는 경우 </li>
<li>3. 시스템 또는 기타 서비스 및 네트워크 장애, 서비스 이용량의 폭주 등으로 정상적인 서비스 제공이 불가능할 경우 </li>
<li>4. 사업환경 또는 기술의 변화, 제휴업체와의 계약종료 등과 같은 사정으로 인하여 서비스 제공을 계속할 수 없는 경우 </li>
<li>5. 천재지변, 국가비상사태, 법령 개정, 규제기관의 명령, 정전 등 회사가 통제할 수 없는 불가항력적 사유로 인한 경우 </li>
<li>6. 제휴업체, 서비스 제공업자와의 계약종료 등 회사의 제반 사정으로 서비스를 유지할 수 없는 경우</li>
<li>7. 회사의 경영상 판단 등 기타 본 서비스를 지속할 수 없는 중대한 사유가 발생하였을 경우</li>
</ol>
</li>
<li>③ 회사는 서비스 제공에 필요할 경우 정기점검을 실시할 수 있으며, 정기점검 동안 서비스 제공을 일시적으로 중단할 수 있습니다. 정기점검시간은 서비스 제공화면에 공지한 내용을 따릅니다. </li>
<li>④ 회사는 본조의 사유로 서비스의 제공이 중단됨으로 인하여 회원 또는 제3자가 입은 손해에 대해 배상하지 않음을 원칙으로 합니다. 단, 회사에 고의 또는 중과실이 있는 경우에는 그러하지 아니합니다. </li>
</ol>
<strong class="title02">제 14 조 서비스의 변경 및 종료</strong>
<ol>
<li>① 회사는 수시로 서비스의 향상을 위하여 기존 서비스의 전부 또는 일부 내용을 별도의 통지 없이 변경 할 수 있으며, 서비스 내용 변경 시 이로 인하여 회원이 입은 손해에 대해서 배상의 책임이 없습니다. 단, 회사에 고의 또는 중과실이 있는 경우에는 예외로 합니다. </li>
<li>② 회사는 사업환경의 변화 또는 기술 발전 등으로 인하여 서비스의 전부 또는 일부를 계속 제공하는 것이 현저히 곤란한 경우 서비스 종료 사유 및 종료 일자 등을 60일 전에 우편, SMS, 전자우편, 유무선전화 등 회원이 명확히 인식할 수 있는 방법으로 통지함으로써 서비스의 제공을 중단 또는 종료할 수 있습니다. 단, 회사의 귀책 없이 회원의 개별 연락처를 알기 어려운 경우에는 홈페이지와 어플리케이션에 공지함으로써 이를 갈음할 수 있습니다.</li>
</ol>
<strong class="title02">제 15 조 서비스의 이용 제한</strong>
<ol>
<li>① 회원이 다음 각 호의 사유에 해당하거나 본 약관상의 의무를 이행하지 않은 경우 해당 사유 및 정도에 따라 회사는 “회원”에 경고, 일시정지, 재가입금지 등으로 서비스 이용을 단계적으로 제한 또는 정지하거나 즉시 서비스 이용계약을 해지할 수 있습니다.
<ol>
<li>1. 서비스 계약 시 타인의 명의를 도용하거나 허위 내용을 등록한 경우 </li>
<li>2. 회원가입 시 등록한 개인정보의 전부 또는 일부가 허위임이 밝혀지는 경우 </li>
<li>3. 회사의 시스템이나 네트워크 등에 심각한 장애를 초래하거나 운용을 방해한 경우 </li>
<li>4. 타인의 저작권을 침해하거나, 서비스를 개인적 용도 이외에 상업적인 목적으로 이용하거나 제3자에게 해당 서비스를 임의로 제공하는 경우 </li>
<li>5. 만19세 미만의 미성년자가 법정대리인의 동의 없이 서비스를 신청한 경우 </li>
<li>6. 타인의 신용정보, 결제정보를 도용하거나 부정한 행위로써 거래하는 경우 </li>
<li>7. 서비스에 대한 권리를 회사의 승인 없이 제3자에 양도, 매매하는 경우 </li>
<li>8. 해킹, 악성 프로그램 배포, 불법프로그램의 제공, 운영방해 등으로 회사의 시스템에 피해를 주거나 서비스의 정상적인 운영을 방해하는 행위를 하는 경우 </li>
<li>9. 접속권한을 초과하여 서비스 등을 이용하는 경우 </li>
<li>10. 기타 이용약관 및 관련 법령에 위배되거나 회사의 업무를 방해하는 행위를 하는 경우 </li>
</ol>
</li>
<li>② 본 조의 이용제한 조건 및 범위에 대한 세부내용은 회사의 이용 제한 정책(전기통신서비스 이용기본약관 제3장 제3절 제25조) 에서 정하는 바에 의합니다. </li>
<li>③ 회사는 본 조에 따른 경고, 일시정지, 영구이용정지 등 이용제한 및 계약해지 시 제8조의 방법으로 미리 통지하며, 회원은 회사가 정한 절차에 따라 이의신청을 할 수 있습니다. 이 때 이의가 정당하다고 인정되는 경우 회사는 즉시 서비스의 이용을 재개합니다. </li>
</ol>
<strong class="title02">제 16 조 회사의 의무</strong>
<ol>
<li>① 회사는 관련 법령과 본 약관에서 금지하거나 미풍양속에 반하는 행위를 하지 않으며, 계속적이고 안정적으로 서비스를 제공하기 위하여 최선을 다하여 노력합니다.</li>
<li>② 회사는 회원이 안전하게 서비스를 이용할 수 있도록 개인정보(신용정보 포함)보호를 위한 보안시스템을 갖추어야 하며 개인정보처리방침을 공시하고 준수합니다.</li>
<li>③ 회사는 서비스 이용과 관련하여 회원이 제기한 의견이나 불만이 정당하다고 인정할 경우에는 이를 처리합니다. 회원이 제기한 의견이나 불만사항에 대해서는 게시판 또는 전자우편 등을 통하여 회원에게 그 처리과정 및 결과를 전달합니다.</li>
<li>④ 회사는 서비스 제공과 관련하여 알고 있는 회원의 신상정보를 본인의 승낙 없이 제3자에게 누설, 배포하지 않습니다. 단, 관계법령에 의한 수사상의 목적으로 관계 기관으로부터 요구 받은 경우나 방송통신심의위원회의 요청이 있는 경우 등 법률의 규정에 따른 적법한 절차에 의한 경우에는 그러하지 않습니다.</li>
</ol>
<strong class="title02">제 17 조 회원의 의무</strong>
<ol>
<li>① 회원은 다음 각 호의 행위를 하여서는 아니 됩니다.
<ol>
<li>1. 이용 신청 또는 변경 시 허위 사실을 기재하거나, 다른 회원의 ID 및 비밀번호를 도용, 부정하게 사용하는 행위 </li>
<li>2. 회사의 서비스 정보를 이용하여 얻은 정보를 회사의 사전 승낙 없이 복제 또는 유통시키거나 상업적으로 이용하는 행위</li>
<li>3. 타인의 명예를 손상시키거나 불이익을 주는 행위</li>
<li>4. 게시판 등에 음란물을 게재하거나 음란사이트를 연결(링크)하는 행위</li>
<li>5. 회사의 저작권, 제3자의 저작권 등 기타 권리를 침해하는 행위</li>
<li>6. 공공질서 및 미풍양속에 위반되는 내용의 정보, 문장, 도형, 음성 등을 타인에게 유포하는 행위</li>
<li>7. 서비스와 관련된 설비의 오 동작이나 정보 등의 파괴 및 혼란을 유발시키는 컴퓨터 바이러스 감염 자료를 등록 또는 유포하는 행위</li>
<li>8. 서비스 운영을 고의로 방해하거나 서비스의 안정적 운영을 방해할 수 있는 정보 및 수신자의 명시적인 수신거부의사에 반하여 광고성 정보를 전송하는 행위</li>
<li>9. 타인으로 가장하는 행위 및 타인과의 관계를 허위로 명시하는 행위 </li>
<li>10. 다른 회원의 개인정보를 수집, 저장, 공개하는 행위</li>
<li>11. 자기 또는 타인에게 재산상의 이익을 주거나 타인에게 손해를 가할 목적으로 허위의 정보를 유통시키는 행위 </li>
<li>12. 재물을 걸고 도박하거나 사행 행위를 하는 행위</li>
<li>13. 윤락행위를 알선하거나 음행을 매개하는 내용의 정보를 유통시키는 행위.</li>
<li>14. 수치심이나 혐오감 또는 공포심을 일으키는 말이나 음향, 글이나 화상 또는 영상을 계속하여 상대방에게 도달하게 하여 상대방의 일상적 생활을 방해하는 행위 </li>
<li>15. 서비스에 게시된 정보를 변경하는 행위</li>
<li>16. 관련 법령에 의하여 그 전송 또는 게시가 금지되는 정보(컴퓨터 프로그램 포함)의 전송 또는 게시 행위 </li>
<li>17. 회사의 직원이나 운영자를 가장하거나 사칭하여 또는 타인의 명의를 도용하여 글을 게시하거나 메일을 발송하는 행위 </li>
<li>18. 컴퓨터 소프트웨어, 하드웨어, 전기통신 장비의 정상적인 가동을 방해, 파괴할 목적으로 고안된 소프트웨어 바이러스, 기타 다른 컴퓨터 코드, 파일, 프로그램을 포함하고 있는 자료를 게시하거나 e-mail으로 발송하는 행위</li>
<li>19. 스토킹(stalking) 등 다른 회원을 괴롭히는 행위</li>
<li>20. 다른 사람의 사이트 이용을 방해하거나 그 정보를 도용하는 등 전자거래 질서를 위협하는 행위 </li>
<li>21. 기타 불법적이거나 부당한 행위 </li>
</ol>
</li>
<li>② 회원은 관계 법령, 본 약관의 규정, 이용안내 및 서비스상에 공지한 주의사항, 회사가 통지하는 사항 등을 준수하여야 하며, 기타 회사의 업무에 방해되는 행위를 하여서는 아니됩니다.</li>
<li>③ 회원은 회사에서 공식적으로 인정한 경우를 제외하고는 서비스를 이용하여 상품을 판매하는 영업 활동을 할 수 없으며 특히 해킹, 광고를 통한 수익, 음란사이트를 통한 상업행위, 상용소프트웨어 불법배포 등을 할 수 없습니다. 이를 위반하여 발생한 영업 활동의 결과 및 손실, 관계기관에 의한 구속 등 법적 조치 등에 관해서는 회사가 책임을 지지 않으며, 회원은 이와 같은 행위와 관련하여 회사에 대하여 손해배상 의무를 집니다.</li>
<li>④ 회원은 시스템 장애로 인한 훼손에 대비하여 웹페이지 게재 자료, 이메일 등 중요한 자료의 복제본을 마련하여야 하며, 백신 프로그램의 정기적 업데이트 및 점검을 통해 바이러스 등 유해환경의 노출을 예방하여야 하며 이를 통하여 발생한 손해에 대하여 회사는 책임지지 않습니다.</li>
<li>⑤ 회원은 정보통신망 이용촉진 및 정보보호 등에 관한 법률에 규정된 광고성 정보 전송 시 의무사항을 준수하여야 합니다.</li>
<li>⑥ 회원은 불법스팸을 전송함으로써 발생하는 모든 민·형사상 책임을 부담합니다.</li>
<li>⑦ 회원의 아이디와 비밀번호의 관리 소홀, 부정 사용에 의하여 발생하는 모든 결과에 대한 책임은 회원 본인에게 있습니다. 다만, 시스템 고장 등 회사의 책임 있는 사유로 발생하는 문제에 대해서는 회사가 책임을 집니다.</li>
<li>⑧ 회원은 본인의 아이디 및 비밀번호를 제3자에게 노출하거나 이용하도록 해서는 안되며, 노출 및 도용 시 제3자의 이용에 따라 개인정보 노출, 부정 사용에 따른 민·형사 책임 및 이용 요금 부과 등이 발생할 수 있으므로, 회원은 회원 아이디 및 비밀번호 관리를 철저히 하여야 합니다.</li>
<li>⑨ 아이디 및 비밀번호를 도난 당하거나 제3자가 사용하고 있음을 인지하는 경우에는 바로 회사에 통지하고 회사의 안내가 있는 경우 그에 따라야 합니다.</li>
<li>⑩ 제 9항의 경우에 해당 회원이 회사에 그 사실을 통지하지 않거나, 통지한 경우에도 회사의 안내에 따르지 않아 발생한 불이익에 대하여 회사는 책임지지 않습니다.</li>
<li>⑪ 회사는 회원의 아이디가 개인정보 유출 우려가 있거나, 반사회적 또는 미풍양속에 어긋나거나 회사 및 회사의 운영자로 오인할 우려가 있는 경우, 해당 아이디의 이용을 제한할 수 있습니다.</li>
<li>⑫ 회원은 아이디, 연락처, 거주지 등 계약시의 회원정보가 변경된 경우 이를 회사에게 즉시 알려 이를 변경하여야 합니다. 회사는 회원이 회원정보를 변경하지 아니하여 발생한 손해에 대하여 책임을 부담하지 아니하며 이로 인한 불이익은 회원의 책임으로 합니다. </li>
</ol>
<strong class="title02">제 18 조 정보의 제공 및 광고 게재</strong>
<ol>
<li>① 회사는 서비스를 운영함에 있어 적절하다고 판단되거나 활용 가능성이 있는 각종 정보를 서비스 화면에 게재하거나 메일, SMS 및 (모바일) 애플리케이션의 알람, Push 등의 방법으로 회원에게 제공할 수 있습니다. 다만, 상업적 광고를 포함한 정보는 회원의 마케팅수신동의 여부에 따라 제공하며 회원은 소정의 절차를 통해 제한적으로 이를 거부할 수 있습니다.</li>
<li>② 회사는 서비스 운영과 관련하여 서비스 화면 등에 광고를 게재할 수 있습니다.</li>
</ol>
<strong class="title02">제 19 조 회사 게시물 또는 저작물의 저작권</strong>
<ol>
<li>① 회사가 작성한 저작물에 대한 저작권 등 제반 지식재산권은 회사에 귀속합니다. </li>
<li>② 회사가 제공하는 서비스 중 제휴 계약에 의해 제공되는 저작물에 대한 저작권 기타 지적재산권은 해당 제휴업체에 귀속합니다. </li>
<li>③ 회원은 회사가 제공하는 서비스를 이용함으로써 얻은 정보 중 회사 또는 제공업체에 지적재산권이 귀속된 정보를 회사 또는 제휴업체의 사전승낙 없이 복제, 전송, 출판, 배포, 방송 기타 방법에 의하여 영리목적으로 이용하거나 제3자에게 이용하게 하여서는 안됩니다. </li>
</ol>
<strong class="title02">제 20 조 게시물 또는 내용물의 삭제</strong>
<ol>
<li>① 회사는 회원이 게시하거나 전달하는 서비스 내의 모든 내용물(회원간 전달 포함)이 다음 각 호의 경우에 해당한다고 판단되는 경우 사전통지 없이 삭제할 수 있으며, 이에 대해 회사는 어떠한 책임도 지지 않습니다.
<ol>
<li>1. 회사의 서비스 정보를 이용하여 얻은 정보를 회사의 사전 승낙 없이 복제 또는 유통시키거나 상업적으로 이용하는 내용인 경우</li>
<li>2. 회사, 다른 회원 또는 제3자를 비방하거나 중상모략으로 명예를 손상시키는 내용인 경우</li>
<li>3. 음란물을 게재, 공개 하거나 음란사이트를 연결(링크)하는 경우</li>
<li>4. 공공질서 및 미풍양속에 위반되는 내용의 정보, 문장, 도형 등의 유포에 해당하는 경우 </li>
<li>5. 범죄적 행위에 결부된다고 인정되는 내용인 경우 </li>
<li>6. 회사의 저작권, 제3자의 저작권 등 기타 권리를 침해하는 내용인 경우</li>
<li>7. 제2항 소정의 세부이용지침을 통하여 회사에서 규정한 게시기간을 초과한 경우 </li>
<li>8. 서비스와 관련된 설비의 오동작이나 정보 등의 파괴 및 혼란을 유발시키는 내용이거나 컴퓨터 바이러스 감염 자료를 등록 또는 유포하는 경우</li>
<li>9. 회사에서 공식적으로 인정한 경우를 제외한 서비스를 이용하여 상품을 판매하는 영업 활동 및 해킹, 광고를 통한 수익, 음란사이트를 통한 상업행위, 상용소프트웨어 불법배포를 하는 경우</li>
<li>10. 법률에 의하거나 계약상 또는 위임에 의하여 전송할 수 있는 권리가 없는 내용을 게시, 게재, 전자메일 또는 여하한의 방법으로 전송하거나 공개하는 경우</li>
<li>11. 회사에서 제공하는 서비스와 관련 없는 내용인 경우</li>
<li>12. 불필요하거나 승인되지 않은 광고, 판촉물을 게재하는 경우 </li>
<li>13. 기타 관계 법령 및 회사의 지침 등에 위반된다고 판단되는 경우 </li>
</ol>
</li>
<li>② 회사는 게시물에 관련된 세부 이용지침을 별도로 정하여 시행할 수 있으며, 회원은 그 지침에 따라 각종 게시물(회원간 전달 포함)을 등록하거나 삭제하여야 합니다.</li>
<li>③ 서비스 게시물 또는 내용물이 타인의 사생활 침해, 명예 훼손, 저작권 침해 등 타인의 권리를 침해하는 경우, 침해를 받은 자는 침해사실에 대한 소명 및 신고를 통하여 회사에 침해 중단에 필요한 조치를 요구할 수 있습니다.</li>
<li>④ 전항의 요구가 있을 경우, 회사는 관련 법규에 따라 반박내용의 게재, 삭제, 임시조치 등의 필요한 조치를 취할 수 있으며 신청인 및 정보 게재자에게 이메일 등의 방법으로 조치사항을 통보하며, 해당 게시판에 공지하는 등의 방법으로 이용자가 알 수 있도록 하여야 합니다.</li>
<li>⑤ 권리의 침해 여부를 판단하기 어렵거나 이해당사자 간에 다툼이 예상되는 경우, 회사는 해당 정보에 대한 접근을 임시적으로 차단하는 조치(이하 “임시조치”라 한다)를 취할 수 있으며, 임시조치의 기간은 30일 이내로 합니다.</li>
</ol>
<strong class="title02">제 21 조 서비스의 재판매 금지</strong>
<p>회원은 상업적인 목적을 위하여 본 서비스 자체, 서비스 이용 또는 서비스 내용의 일부 또는 전부를 복사, 복제, 판매, 재판매 또는 이용할 수 없습니다. </p>
<strong class="title01">제 4 장 기타</strong>
<strong class="title02">제 22 조 손해배상</strong>
<ol>
<li>① 회사의 고의 또는 과실로 인하여 손해를 입게 될 경우 관련 법령에 따라 회원의 손해를 배상합니다. 단, 천재지변 또는 이에 준하는 불가항력으로 인하여 회사가 서비스를 제공할 수 없거나 이용자의 고의 또는 과실로 인하여 서비스를 이용할 수 없어 발생한 손해에 대해서 회사는 책임을 부담하지 않습니다. </li>
<li>② 회원이 본 약관의 규정을 위반함으로 인하여 회사 또는 제3자(다른 회원을 포함합니다.)에게 손해가 발생하는 경우, 회원은 회사 또는 제3자에게 발생하는 모든 손해를 배상하여야 합니다. </li>
<li>③ 회원의 불법행위나 이 약관 위반행위로 인하여 손해를 입은 제3자가 회사를 상대로 손해배상 등을 청구하는 경우, 당해 회원은 자신의 책임과 비용으로 회사를 면책시켜야 하고, 회사가 면책되지 못한 경우 당해 회원은 그로 인하여 회사에게 발생한 모든 손해를 배상하여야 합니다. </li>
<li>④ 본 조는 회원이 스스로 서비스 이용계약을 해지를 하거나 회사가 본 약관에 근거하여 이용 중지를 한 이후에도 계속하여 효력을 가집니다.</li>
</ol>
<strong class="title02">제 23 조 면책조항</strong>
<ol>
<li>① 회사는 다음 각 호 중 하나의 사유에 해당하는 경우에는 손해배상 책임이 없습니다.
<ol>
<li>1. 외부에서 발생한 침해사고로 인하여 회사에 심각한 장애가 발생한 경우 </li>
<li>2. 전시, 사변, 천재지변 또는 이에 준하는 국가비상사태 등 불가항력으로 인한 경우 </li>
<li>3. 회원의 고의나 과실로 인해 단말장치 등이 파손되어 서비스가 불가한 경우 </li>
<li>4. 서비스 불가 지역으로의 전출 등 회원의 사유로 서비스 제공이 불가한 경우 </li>
</ol>
</li>
<li>② 회사는 회원의 귀책사유로 인한 서비스 이용의 장애에 대해서는 책임을 지지 않습니다. </li>
<li>③ 회사는 회원이 서비스와 관련하여 게재 또는 전송한 정보 및 자료의 사실성, 신뢰도, 정확성 등에 관하여는 책임을 지지 않으며, 서비스에 게재된 어떠한 의견이나 정보에 대해 확인이나 대표할 의무가 없습니다. 아울러 회사는 회원이나 제3자에 의해 표출된 의견을 승인, 반대 또는 수정하지 않습니다. </li>
<li>④ 회사가 서비스 보안과 안정을 위하여 성실히 노력하였음에도 불구하고 제3자의 해킹, 바이러스 유포 등 불법행위로 인하여 발생하는 피해에 대하여 회사는 책임을 지지 않습니다. </li>
<li>⑤ 회사는 서비스를 매개로 하여 광고가 이루어진 제품 또는 용역의 내용과 품질에 대하여 어떤 책임도 지지 아니하며, 서비스를 활용하여 이루어진 회원 간 또는 회원과 제3자 간의 거래에 관하여 책임을 지지 아니하고, 그러한 거래에 대한 모니터링을 할 의무도 지지 않습니다. </li>
<li>⑥ 회사는 대한민국 내에 설치된 서버 및 시스템을 기반으로 서비스를 제공, 관리하고 있으므로 대한민국 영토 이외의 지역에서 서비스를 이용하는 경우 서비스의 안정성, 호환성 등의 품질과 이용자에 대한 의무에 대해서 일체의 책임을 지지 않습니다. 또한 대한민국 영토 이외의 지역에서 서비스를 이용하고자 하는 회원은 현지 법령을 준수할 책임과 의무에 따라 스스로의 판단과 책임으로 서비스를 이용하여야 하며, 회사는 이에 대하여 일체의 책임을 지지 않습니다. </li>
</ol>
<strong class="title02">제 24 조 준거법 및 관할법원</strong>
<ol>
<li>① 서비스 이용과 관련하여 회사와 회원 사이에 분쟁이 발생한 경우, 회사와 회원은 분쟁의 해결을 위해 성실히 협의합니다.</li>
<li>② 본 조 제1항의 협의에서도 분쟁이 해결되지 않을 경우 양 당사자는 민사소송법상의 관할 법원에 소를 제기할 수 있습니다.</li>
<li>③ 회사와 회원 간의 분쟁은 대한민국의 법을 준거법으로 하여 해결합니다. </li>
<li>④ 대한민국 이외의 지역에서의 재판권은 인정되지 아니하며, 서비스와 관련하여 법률적 분쟁이 발생하는 경우 그 해결의 국지적 범위는 대한민국 영토 내를 전속적 관할로 합니다. </li>
</ol>
<strong class="title02">부칙</strong>
<ol>
<li>1. (시행일) 이 약관은 2021년 9월 15일 부터 시행합니다.</li>
</ol>
</div>
<!-- 내용 : e -->
</div>
<a href="#" class="btnPopClose" onclick="layerPop('close' , '#layerAgreeService01')">해당 레이어 닫기</a>
</div>
</div>
<!--[레] 서비스 이용약관 : e -->
<!--[레] 개인정보 수집이용안내 : s -->
<div class="layerPop" id="layerAgreePrivacy02">
<div class="layerPopArea w540">
<div class="popCont">
<!-- 내용 : s -->
<strong class="popTit mHide">개인정보 수집이용 동의(필수)</strong>
<div class="termBox selectAdd">
<strong class="title01 first">개인 정보 수집∙이용에 대한 동의(필수)</strong>
<div class="tblData">
<div class="tblData">
<pre class="newagree">
<table >
<colgroup>
<col style="width:33%">
<col style="width:33%">
<col style="width:34%">
</colgroup>
<thead>
<tr>
<th scope="col">목적</th>
<th scope="col">수집 항목</th>
<th scope="col">보유기간</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tal suvt">서비스 이용에 따른 로그인, 이용권한 부여, 사용자 식별</td>
<td class="tal suvt">휴대전화번호, 이름, 이메일주소, 사용자명</td>
<td rowspan="2">해지 또는 요금완납 후 6개월까지
※요금관련 분쟁 등 서비스 이용과 관련된 민원/분쟁이 계속될 경우에는 민원/분쟁 해결 시까지 보유(단, 관계 법령에 특별한 규정이 있을 경우 관련 법령에 따라 보관)</td>
</tr>
<tr>
<td>고지사항전달, 이용요금 청구, 할인, 결제 및 추심, 명의도용 방지를 위한 등록된 이동전화로 가입사실 통보, 상품 가입/해지 정보 고지</td>
<td>휴대전화번호, 이메일주소</td>
</tr>
</tbody>
</table>
※ 서비스 제공 등 계약의 이행에 필요한 경우 해당 위탁업무와 수탁자(증감, 변동 가능)를 서비스 홈페이지 (www.kteduon.co.kr)의 ‘개인정보처리방침’에 공개함으로써, 처리위탁 동의에 갈음합니다.
</div>
</div>
</div>
<!-- 내용 : e -->
</div>
<a href="#" class="btnPopClose" onclick="layerPop('close' , '#layerAgreePrivacy02')">해당 레이어 닫기</a>
</div>
</div>
<!--[레] 개인정보 수집이용안내 : e -->
<!--고객혜택 제공을 위한 개인정보 수집 및 이용동(선택) : s -->
<div class="layerPop" id="layerAgreePrivacy03">
<div class="layerPopArea w540">
<div class="popCont">
<!-- 내용 : s -->
<strong class="popTit mHide">고객혜택 제공을 위한 개인정보 수집 및 이용동의(선택)</strong>
<div class="termBox selectAdd">
<strong class="title01 first">고객혜택 제공을 위한 개인정보 수집 및 이용동의(선택)</strong>
<div class="tblData">
<pre class="newagree">
<table >
<colgroup>
<col style="width:33%">
<col style="width:33%">
<col style="width:34%">
</colgroup>
<thead>
<tr>
<th scope="col">목적</th>
<th scope="col">수집 항목</th>
<th scope="col">보유기간</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tal suvt">· KT 통신 서비스와 KT가 제공하는 다른 상품·서비스간 개인정보의 결합·분석 및 이를 통한 개인맞춤·연계 서비스 제공
· KT 및 제 3자(kt그룹사, 협력사, 제휴사 등)의 상품·서비스·혜택에 대한 개인맞춤 추천, 정보 제공과 안내, 할인제도와 소개·가입의사 확인, 리텐션, 이벤트 안내 등 마케팅
· 신규 서비스 개발, 서비스 개선
· 고객 세분화, 선호도·라이프스타일·사회적관계 추정, 우량 등급 고객 선정
· 상기 목적을 위한 개인정보 분석
</td>
<td class="tal suvt">개인정보 수집/이용동의(필수) 대상 개인정보 항목
· 서비스 이용기록, 접속IP주소(도메인 및 URL 포함), 과금서비스 거래정보(결제정보, 상품정보, 금액 등),
· 고객 본인 명의로 가입한 KT 제공 서비스(이동전화, 인터넷, 일반전화, tv, 부가서비스, KT 멤버십 등) 신청 시 수집 및 이용에 동의한 모든 항목
· 상기 본 항의 정보들을 조합하여 생성된 정보
</td>
<td rowspan="2">서비스 이용 기간</td>
</tr>
<tr>
<td>조직 내 사용자 관리</td>
<td>성별, 생년월일, 주소</td>
</tr>
</tbody>
</table>
※ 본인은 상기 내용과 같이 귀사가 본인의 개인정보를 수집 ∙ 이용함에 동의합니다.
※ (동의를 거부할 수 있으며, 거부에 따른 불이익은 없습니다.
</div>
<p>※ 자세한 내용은 ‘개인정보처리방침’ 전문에서 확인하실 수 있습니다. </p>
<p>※ 정보통신서비스의 제공을 위한 개인정보의 수집·이용 관련 세부 내역은 홈페이지(www.kt.com)의 ‘개인정보처리방침’에 공개합니다.</p>
</div>
<!-- 내용 : e -->
</div>
<a href="#" class="btnPopClose" onclick="layerPop('close' , '#layerAgreePrivacy03')">해당 레이어 닫기</a>
</div>
</div>
<!--[레] 고객혜택 제공을 위한 개인정보 수집 및 이용동(선택) : e -->
<!--고객혜택 제공을 위한 광고 수신 동의(선택) : s -->
<div class="layerPop" id="layerAgreePrivacy04">
<div class="layerPopArea w540">
<div class="popCont">
<!-- 내용 : s -->
<strong class="popTit mHide">고객혜택 제공을 위한 광고 수신 동의(선택)</strong>
<div class="termBox selectAdd">
<strong class="title01 first">고객혜택 제공을 위한 광고 수신 동의(선택)</strong>
<div class="tblData">
<pre class="newagree">
본인이 수집 및 이용에 동의한 개인정보(필수동의 및 선택동의 항목 포함) 를 활용하여, KT 및 제 3자의 상품 및 서비스에 대한 광고ㆍ홍보ㆍ프로모션ㆍ이벤트 제공 및 고객관리와 관련한 개인정보 처리 업무를 KT의 수탁사(ktIS/ktCS/ktAlpha 등 상담채널, 넥스브레인 등 광고/마케팅 대행사 등)에 위탁하는 것과 전자적 전송매체(전화, 우편, SMS, LMS, MMS, 이메일 등 포함)를 통해 정보/광고를 전송하는 데 동의합니다.
※ 본 동의를 거부할 시, 제휴 상품 할인 정보 등 고객 맞춤형 혜택 정보를 수신할 수 없습니다.
※ 본 동의를 거부할 수 있으며, 거부에 따른 불이익은 없습니다. 동의를 철회하고자 하는 경우 고객센터(1588-2918)를 통해 상담원으로부터 철회할 수 있습니다.
※ 서비스 제공 등 계약의 이행에 필요한 경우는 해당 위탁업무와 수탁자(증감, 변동 가능)를 서비스 홈페이지 (www.kteduon.co.kr)의 ‘개인정보처리방침’에 공개함으로써, 처리위탁 동의에 갈음합니다.
</pre>
</div>
<p>※ 자세한 내용은 ‘개인정보처리방침’ 전문에서 확인하실 수 있습니다. </p>
<p>※ 정보통신서비스의 제공을 위한 개인정보의 수집·이용 관련 세부 내역은 홈페이지(www.kt.com)의 ‘개인정보처리방침’에 공개합니다.</p>
</div>
<!-- 내용 : e -->
</div>
<a href="#" class="btnPopClose" onclick="layerPop('close' , '#layerAgreePrivacy04')">해당 레이어 닫기</a>
</div>
</div>
<!--[레] 고객혜택 제공을 위한 광고 수신 동의(선택) : e -->
<!--[레] 유료 서비스 이용약관 : s -->
<div class="layerPop" id="layerAgreePayService">
<div class="layerPopArea w540">
<div class="popCont">
<!-- 내용 : s -->
<strong class="popTit mHide" id="termType_T3">유료 서비스 이용약관</strong>
<div class="selectBoxWrap">
<select class="selectBox" id="termVer_T3" onchange="selTermsVer('T3', this.value);">
<option>유료 서비스 이용약관</option>
</select>
</div>
<div class="termBox" id="termCont_T3">
<strong class="title01 first">제 1 장 총칙</strong>
<strong class="title02">제 1 조 목적</strong>
<p>본 약관은 주식회사 케이티(이하 "회사”라 합니다)가 운영하는 KT 랜선에듀On이 제공하는 유료서비스를 이용함에 있어 "회사"와 "회원"과의 권리, 의무 및 책임사항, 기타 필요한 사항을 규정함을 목적으로 합니다.</p>
<strong class="title02">제 2 조 용어의 정의</strong>
<p>본 약관에서 사용하는 용어의 정의는 다음 각 호와 같습니다.</p>
<ol>
<li>1. KT 랜선에듀On 서비스 (이하, “서비스”라 합니다.): KT 및 제휴업체가 사이트를 통해 실시간 화상 회의, VOD게시판, 교육자료 공유 등의 통합 기능을 제공하는 비대면 온라인 교육 서비스를 말합니다. </li>
<li>2. 회원: “KT 랜선에듀On 서비스 이용약관”에 동의하여 “회사”와 이용계약을 체결하고 “회사”가 제공하는 “서비스”를 이용할 수 있는 자를 말합니다.</li>
<li>3. 계약: “회원”의 본 약관에 대한 동의 및 “회사”가 제공하는 결제수단을 이용한 결제를 통한 이용신청과 이에 대한 “회사”의 승낙을 말합니다.</li>
<li>4. 사이트: KT 랜선에듀 On을 제공하기 위해 운영하는 웹사이트 (kteduon.co.kr)를 말합니다.</li>
<li>5. 유료 서비스 : “회원”의 “KT 랜선에듀On 유료 이용약관”에 대한 동의 및 회사가 제공하는 결제수단을 이용한 결제를 통한 이용신청과 회사의 승낙을 통해 “회원”이 이용할 수 있는 서비스를 말합니다.</li>
<li>6. 상품 : "회사"가 제공하고자 하는 서비스에 대해 고객에게 매월 단위로 접근권한을 부여하면 "회원"은 해지 의사를 밝히기 전까지 그 이용에 대한 대가로 매월 단위로 정해진 금액을 지급 결제하는 상품을 말하며, “별첨”의 내용에 따릅니다.</li>
<li>7. 결제 : “회원”이 “유료 서비스”를 이용하기 위하여 TV포인트 및 회사에서 별도로 제공하는 결제수단을 통하여 “유료 서비스”에 대한 이용요금을 회사에 지불하는 것을 말합니다.</li>
<li>8. 구매 : “회원”이 결제를 통하여 “유료 서비스”에 대한 이용권한을 취득하는 행위를 말합니다.</li>
</ol>
<strong class="title02">제 3 조 약관의 게시와 개정</strong>
<ol>
<li>① 회사는 본 약관의 내용을 회원이 알 수 있도록 웹사이트(kteduon.co.kr) 내에 게시 합니다. </li>
<li>② 본 약관은 회사가 필요하다고 인정되는 경우 약관의 규제에 관한 법률, 개인정보 보호법, 정보통신망 이용촉진 및 정보보호 등에 관한 법률 등 관련 법령을 위배하지 않는 범위에서 개정할 수 있습니다. </li>
<li>③ 회사가 약관을 개정할 경우에는 적용 예정일 및 개정 사유를 명시하여 현행 약관과 함께 서비스 초기화면에 그 적용 예정일 7일전부터 공지합니다. 다만, 회원에게 불리하게 약관 내용을 개정하는 경우에는 최소한 30일 이상의 유예기간을 두고 공지합니다.</li>
<li>④ 회원은 개정된 약관에 대해 동의하지 않을 권리가 있으며, 개정된 약관에 동의하지 않을 경우 이용계약을 해지할 수 있습니다. “회사”가 동조 제3항에 따라 개정된 약관을 공지 하면서, 공지기간내에 회원이 명시적으로 거부의 의사표시를 하지 않으면 개정약관에 동의한 것으로 간주한다는 뜻을 명확하게 공지 또는 통지하였음에도 회원이 명시적으로 거부의 의사표시를 하지 아니한 경우, ”회원”이 개정약관에 동의한 것으로 봅니다.</li>
</ol>
<strong class="title02">제 4 조 약관의 해석 </strong>
<p>본 약관에서 정하지 아니한 사항과 본 약관의 해석에 관하여는 "KT 랜선에듀On 서비스 이용약관", 전자상거래 등에서의 소비자보호에 관한 법률, 약관의 규제에 관한 법률, 정보통신망 이용촉진 및 정보보호 등에 관한 법률, 기타 관계법령 또는 상관례에 따릅니다.</p>
<strong class="title02">제 5 조 개인정보의 수집 등</strong>
<ol>
<li>① “회사”는 서비스를 제공하기 위하여 관련 법령의 규정에 따라 “회원”으로부터 필요한 개인정보를 수집할 수 있으며, “회사”는 “정보통신망 이용촉진 및 정보보호 등에 관한 법률/시행령/시행규칙” 등 관계 법령이 정하는 바에 따라서 “회원” 등록정보를 포함한 “회원”의 개인정보를 보호하기 위하여 노력합니다. “회원”의 개인정보보호 및 사용에 대해서는 관계 법령 및 “회사”의 개인정보취급방침이 적용됩니다. 단, “회사”는 “회원”의 귀책사유로 인해 노출된 정보에 대해서 일체의 책임을 지지 않습니다.</li>
<li>② “회사”는 필요한 경우 수집된 개인정보의 취급 및 관리 등의 업무의 일부 또는 전부를 “회사”가 선정한 회사에 위탁 또는 제공할 수 있습니다. “회원”의 개인정보 위탁 또는 제공에 대해서는 “회사”의 개인정보취급방침이 적용됩니다.</li>
</ol>
<strong class="title02">제 6 조 회원에 대한 통지</strong>
<ol>
<li>① “회사”가 “회원”에 대한 통지를 하는 경우 본 약관에 별도 규정이 없는 한 전자우편, SMS/MMS 등으로 할 수 있습니다.</li>
<li>② “회사”는 회원의 연락처를 알 수 없어 개별 통지가 불가능한 경우, 또는 불특정 다수 또는 ”회원” 전체에 대하여 통지를 하는 경우 15 일 이상 ”회사”의 서비스 화면 또는 회사 홈페이지에 게시함으로써 제1항의 통지를 갈음할 수 있습니다.</li>
</ol>
<strong class="title02">제 7 조 유료 서비스 이용계약의 성립, 신청, 계약사항의 변경 등</strong>
<ol>
<li>① 유료서비스 이용계약은 ”회원”의 본 약관에 대한 동의 및 “회사“가 제공하는 결제수단을 이용한 “결제“를 통한 이용신청과 “회사“의 승낙으로 성립합니다.</li>
<li>② “회원“은 “회사“가 제공하는 다음 또는 이와 유사한 절차에 의하여 유료 서비스 이용신청을 합니다. “회사“는 유료 서비스 이용 신청 전에 다음 각 호의 사항에 관하여 “회원“이 정확하게 이해하고 실수 또는 착오 없이 거래할 수 있도록 설명하거나 정보를 제공합니다.
<ol>
<li>1. “유료서비스“의 확인 및 선택</li>
<li>2. 결제방법의 선택 및 결제정보의 입력</li>
<li>3. “유료서비스“의 이용신청에 관한 확인 또는 “회사“의 확인에 대한 동의</li>
<li>4. “상품“ 등의 결제취소 및 환불 안내</li>
</ol>
</li>
<li>③ “회사“는 “회원“의 이용신청이 다음 각 호에 해당하는 경우에는 승낙하지 않거나 승낙을 유보할 수 있습니다.
<ol>
<li>1. 실명이 아니거나 타인의 명의를 이용한 경우</li>
<li>2. 허위의 정보를 기재하거나, “회사“가 제시하는 내용을 기재하지 않은 경우</li>
<li>3. 미성년자가 청소년보호법 등 관련법에 의해서 이용이 금지되는 “유료서비스“를 이용하고자 하는 경우</li>
<li>4. 서비스 관련 설비의 여유가 없거나, 기술상 또는 업무상 문제가 있는 경우</li>
<li>5. 신용정보의 이용 및 보호에 관한 법률, 신용정보집중기관의 신용정보관리규약, 신용정보사의 신용정보공통관리규약 등에 따라 채무불이행정보(정보통신 요금 체납자로 등록된 경우 포함), 공공기록 정보, 금융질서 문란자 정보 등에 등록되어 있는 경우</li>
<li>6. 기타 회사가 합리적인 판단에 의하여 필요하다고 인정하는 경우</li>
</ol>
</li>
<li>④ “계약“ 의 성립시기는 “회사”가 “회원”의 “유료서비스” 이용 신청이 완료되었음을 신청절차 상에서 표시하여 고지한 시점으로 합니다.</li>
</ol>
<strong class="title02">제 8 조 미성년자의 유료서비스 이용계약에 관한 특칙</strong>
<ol>
<li>① 만 19세 미만의 “회원“이 “회사“가 제공하는 “유료 서비스“를 결제하기 위해서는 “회사“가 정하는 절차에 따라 법정대리인의 사전 동의를 받아야 하며, 미성년자가 부모님 등 법정대리인의 동의를 받지 아니하는 경우 “유료 서비스“를 이용할 수 없습니다. 법정대리인이 소액결제 한도를 정하여 유료 서비스 결제에 동의한 경우, 만 19세 미만의 “회원”은 법정대리인이 사용을 허락한 한도 내에서 유료서비스 결제가 가능하며, 법정대리인의 동의를 확인할 수 없는 결제수단은 사용이 제한될 수 있습니다. </li>
<li>② 법정대리인의 동의를 받지 않은 만 19세 미만 미성년자의 “결제“는 법정대리인이 취소할 수 있습니다. 이 경우 법정대리인은 “회사“에 대하여 당해 이용자의 법정대리인임을 증명하는 서류를 첨부하여 서면 또는 e-mail로 취소의 의사표시를 하여야 합니다.</li>
</ol>
<strong class="title02">제 9 조 (유료서비스의 종류)</strong>
<p>“회사“는 “회원“에게 “별첨”에 정해진 “유료서비스“를 제공합니다.</p>
<strong class="title02">제 10 조 (유료서비스의 변경 및 중단)</strong>
<ol>
<li>① 유료서비스에 대한 변경 및 중단은 "KT랜선에듀On 서비스 이용약관" 제14조를 준용합니다.</li>
<li>② 유료서비스에 대해 변경 및 중단하는 경우 ”회사”는 제6조에 정한 방법으로 ”회원”에게 통지합니다.</li>
<li>③ 유료서비스에 대해 변경 및 중단으로 "회원"에게 명백한 손해가 발생하는 경우, “회사”는 "KT 랜선에듀On 서비스 이용약관" 제4장을 준용하여 배상합니다.</li>
</ol>
<strong class="title02">제 11 조 (결제방식)</strong>
<ol>
<li>① 결제방식은 정기결제방식으로 진행하며 결제의 도구로는 아래와 같은 수단이 있습니다. 각 상품별 사용 가능한 결제수단은 결제페이지에 명시된 수단에 한합니다. 단, 결제수단은 관련업체와의 협의에 따라 변동될 수 있습니다.
<ol>
<li>1. 신용카드</li>
<li>2. 계좌이체</li>
<li>3. 가상계좌</li>
<li>4. 휴대폰소액결제</li>
<li>5. 카카오페이, 머니</li>
<li>6. 네이버페이, 포인트</li>
</ol>
</li>
</ol>
<strong class="title02">제 12 조 (청약의 철회 및 결제 취소)</strong>
<ol>
<li>① ”회원”은 최초 결제일부터 7일 이내에 청약을 철회하거나 결제취소 할 수 있습니다. </li>
<li>② 제1항에도 불구하고 “회원”은 다음 각 호의 사유가 있을 때에는 “유료서비스“의 이용을 시작한 날로부터 3월 이내 또는 그 사실을 안 날 또는 알 수 있었던 날로부터 30일 이내에 “유료서비스“ 이용계약의 청약을 철회하거나 결제취소 할 수 있습니다.
<ol>
<li>1. "회사"가 안내한 방법으로 "회원"이 이용을 시도하였음에도 정상적인 이용이 불가능한 경우 등 약정한 “유료서비스“가 제공되지 않는 경우</li>
<li>2. 제공되는 “유료서비스“가 표시/광고 등과 상이하거나 현저히 차이가 나는 경우</li>
<li>3. “회사“의 시스템 장애 및 기타 "회사"의 귀책사유로 인해 유료서비스의 정상적인 이용이 현저히 불가능한 경우</li>
</ol>
</li>
<li>③ “회원“은 제2항의 사유로 청약 철회의 의사표시를 하기 전에 상당한 기간을 정하여 “유료서비스“ 이용의 하자에 대한 치유를 요구할 수 있습니다.</li>
<li>④ 제1,2항의 이용신청의 철회는 ”회원”이 ”회사”의 고객센터를 통해 의사표시를 한 때에 효력이 발생합니다.</li>
<li>⑤ ”회사”는 제4항에 따라 ”회원”이 표시한 이용신청 철회의 의사표시를 수신한 후 지체 없이 이러한 사실을 ”회원”에게 회신합니다.</li>
<li>⑥ ”회원”은 이용신청을 철회한 경우 “회원“이 선택한 각각의 결제방식에 따라 “회사“에 해당 결제취소처리를 신청할 수 있습니다. 다만, 다음 각 호의 경우에는 결제취소처리가 불가능합니다.
<ol>
<li>1. 이벤트, 보상 등 결제수단이 무료로 지급된 경우</li>
<li>2. 해당 결제수단에 따른 결제취소 가능기간을 경과한 경우</li>
<li>3. 결제취소처리가 불가능한 결제방식을 이용해서 “유료서비스“ “결제“를 한 경우</li>
</ol>
</li>
<li>⑦ 각각의 결제방식에 따른 결제취소 가능기간은 아래 각 호와 다음과 같습니다(관련업체의 사정에 따라 변경 가능). 결제취소 가능기간이 경과한 경우 결제취소처리가 불가능하고, 본 약관 제 14조에 따른 환불처리만 가능합니다.
<ol>
<li>1. 신용카드 : 결제 당월 말일까지 결제취소가 가능합니다. 단, 각각의 해당 신용카드사의 정책에 따라 취소가능기간이 다를 수 있습니다.</li>
<li>2. 계좌이체 : 결제 당월 말일까지 결제취소가 가능합니다. 단, 각각의 해당 은행의 정책에 따라 취소가능기간이 다를 수 있습니다.</li>
<li>3. 가상계좌 : 결제 당월 말일까지 결제취소가 가능합니다. 단, 각각의 해당 은행의 정책에 따라 취소가능기간이 다를 수 있습니다.</li>
<li>4. 휴대폰소액결제 : 결제 당월 말일 하루 전까지 결제취소가 가능합니다. 단, 각각의 해당 이동통신업체의 정책에 따라 취소가능기간이 다를 수 있습니다.</li>
<li>5. 카카오페이,머니 : 결제 당월 말일 하루 전까지 결제취소가 가능합니다. 단, 각각의 해당 사업자의 정책에 따라 취소가능기간이 다를 수 있습니다.</li>
<li>6. 네이버페이,포인트 : 결제 당월 말일 하루 전까지 결제취소가 가능합니다. 단, 각각의 해당 사업자의 정책에 따라 취소가능기간이 다를 수 있습니다.</li>
</ol>
</li>
</ol>
<strong class="title02">제 13 조 (계약의 중도해제ㆍ해지)</strong>
<ol>
<li>① "회원"의 변심 등 "회원"의 귀책사유로 해제ㆍ해지하는 경우, "회원"의 이용내역이 없으면 결제일로부터 7일 이내에 계약을 해제ㆍ해지할 수 있습니다. 다만, "별첨" 내용에 따라 일부 결제 수단(신용카드, 간편결제)에 대한 결제주기 내 계약의 해제ㆍ해지는, 서비스 이용 내역이 있는 경우 또는 정상적인 이용이 가능한 상태에서 결제일로부터 7일이 도과한 경우 제한되며, 이 경우 결제주기 동안 이용기간이 유지되고 결제주기에 따른 요금이 청구되며, 해지효과는 당해 결제주기 종료 즉시 발생합니다. </li>
<li>② "회원"은 시스템 오류 등 "회사"의 귀책사유가 있는 경우, "회사"가 안내한 방법으로 "회원"이 이용을 시도하였음에도 정상적인 이용이 불가능한 경우 등 약정한 "유료서비스"가 정상적으로 제공되지 않는 경우 해제ㆍ해지할 수 있습니다.</li>
</ol>
<strong class="title02">제 14 조 (환불정책)</strong>
<ol>
<li>① “회사“는 “회원“이 본 약관 제12조, 13조에 의하여 “유료서비스“ 이용계약을 철회, 또는 해제ㆍ해지하거나, “회사“의 판단에 의해 “회원“의 자격을 상실한 경우 결제취소 처리를 원칙으로 합니다. </li>
<li>② “회사“는 환불 시 “회원“이 서비스 이용으로부터 얻은 이익 및 결제 수수료 등 부대비용을 공제("회사"의 귀책으로 환불 시 부대비용은 공제 하지 아니함)하고 ‘전체 금액- (기 이용일수 * 일할 이용금액)’만큼 환불 조치합니다.</li>
<li>③ “회사”는 환불할 경우 ”회원”이 신용카드 또는 전자화폐 등의 결제수단으로 이용요금을 지불한 경우에는 지체 없이 당해 결제수단을 제공한 사업자로 하여금 이용요금의 청구를 정지 또는 취소하도록 요청합니다.</li>
<li>④ 기결제된 결제금액 또는 결제취소가 불가능한 결제금액의 환불 신청 시에는 해당 요금의 정상납입 확인 후 환불조치가 가능하며, 결제취소기간 내 환불 의사를 밝힌 경우에는 결제취소처리를 우선적으로 고려하여 처리할 수 있습니다.</li>
<li>⑤ 환불 받을 금융기관 계좌의 예금주 명의와 ”회사”에 등록된 ”회원”의 명의가 동일한 경우에만 환불이 가능하며, 해외금융기관의 계좌인 경우에는 환불이 불가능합니다. 또한, 등록된 계좌 정보가 없을 경우, 계좌 정보를 추가 입력 받아 환불을 진행합니다.</li>
<li>⑥ 개인정보 도용 및 결제정보 도용 또는 부정결제 등으로 인한 경우에는 환불되지 않으며, 해당 경우의 결제자 개인정보 요구 및 확인은 관계법령에 근거한 수사기관의 정당한 요청을 통해서만 확인이 가능합니다.</li>
<li>⑦ 회원탈퇴로 인한 정보확인 불가 및 환불요청 시 ”회원”의 오기(誤記) 등의 귀책사유로 인해 발생하는 불이익에 대해서 ”회사”는 책임을 지지 않습니다.</li>
</ol>
<strong class="title02">제 15 조 (손해 배상 의무)</strong>
<p>”회사”와 ”회원”의 손해 배상 의무는 "KT 랜선에듀On 서비스 이용약관" 제22조, 제23조를 따릅니다.</p>
<strong class="title02">제 16조 (“유료서비스”의 이용제한 및 “회사”에 의한 계약 해지)</strong>
<p>유료서비스의 이용제한 및 회사에 의한 계약해지는 “KT 랜선에듀On 서비스 이용약관” 제15조를 준용합니다.</p>
<strong class="title02">제 17 조 (과오금)</strong>
<ol>
<li>① “회사“는 “회사“의 책임 있는 사유로 과오금이 발생한 경우 계약비용, 수수료 등에 관계없이 과오금 전액을 결제 취소 또는 환불하는 것을 원칙으로 합니다. 단, 동일한 방법으로 환불이 불가능할 경우 이를 회원에게 사전 고지합니다.</li>
<li>② “회원“의 책임 있는 사유로 과오금이 발생한 경우, “회사“가 과오금을 환불하는 데 소요되는 비용은 합리적인 범위 내에서 “회원“이 부담하여야 합니다.</li>
<li>③ “회사“는 “회원“이 주장하는 과오금에 대해 환불을 거부할 경우에 정당하게 이용대금이 부과되었음을 입증할 책임을 집니다.</li>
</ol>
<strong class="title02">제 18 조 (준거법 및 재판관할)</strong>
<ol>
<li>① “회사“와 “회원“ 간의 분쟁은 대한민국의 법을 준거법으로 하여 해결합니다.</li>
<li>② 서비스의 이용과 관련하여 “회사“와 “회원“ 간에 발생한 분쟁에 대해서는 민사소송법에 따라 관할 법원을 정하는 것을 원칙으로 합니다.</li>
<li>③ 대한민국 이외의 지역에서의 재판권은 인정되지 아니하며, 서비스와 관련하여 법률적 분쟁이 발생하는 경우 그 해결의 국지적 범위는 대한민국 영토 내를 전속적 관할로 합니다.</li>
</ol>
<strong class="title02">부칙</strong>
<ol>
<li>1. (시행일) 이 약관은 2022년 1월 1일 부터 시행합니다. </li>
</ol>
<strong class="title02">[별첨] 유료서비스의 종류 및 상품 정책</strong>
<ol>
<li>1. 상품 구성
<ol>
<li>① “정기결제 상품”은 상품 가입 후 고객이 해지 의사를 밝히기 전까지 매월 정해진 금액이 결제되는 방식으로, 자세한 상품의 종류는 아래의 표와 같습니다.</li>
<li>② 매월 결제 요금은 “(기본 화상 서비스*호스트 인원) + 추가 옵션 서비스 + 클라우드 용량 추가 구매” 금액으로 구성되며, 조직 단위로 과금 및 결제됩니다.
<div class="tblData">
<table>
<colgroup>
<col style="width:10%">
<col style="width:15%">
<col style="width:auto">
<col style="width:10%">
<col style="width:10%">
</colgroup>
<thead>
<tr>
<th scope="col">구분</th>
<th scope="col">상품명</th>
<th scope="col">서비스 내용</th>
<th scope="col">기본 요금<br>(VAT 별도)</th>
<th scope="col">비고</th>
</tr>
</thead>
<tbody>
<tr>
<td rowspan="5">기본 화상 서비스</td>
<td>교육용</td>
<td>호스트 중심 강의형 실시간 화상 제공</td>
<td>월 8,000원</td>
<td rowspan="5">Host 당 부과</td>
</tr>
<tr>
<td>회의용</td>
<td>소그룹 회의/모임형 실시간 화상 제공</td>
<td>월 6,000원</td>
</tr>
<tr>
<td>웨비나용</td>
<td>대형 세미나 및 이벤트형 실시간 화상 제공</td>
<td>월 5,000원</td>
</tr>
<tr>
<td>교육+웨비나용</td>
<td>교육용 및 웨비나용 실시간 화상 제공</td>
<td>월 12,000원</td>
</tr>
<tr>
<td>회의+웨비나용</td>
<td>회의용 및 웨비나용 실시간 화상 제공</td>
<td>월 10,000원</td>
</tr>
<tr>
<td rowspan="4">추가 옵션 서비스</td>
<td>화상녹화 클라우드 저장</td>
<td>실시간 화상 녹화 시, 클라우드 자동 저장 및 관리</td>
<td>월 2,000원</td>
<td rowspan="5">조직 당 부과</td>
</tr>
<tr>
<td>실시간 화상 보안 솔루션</td>
<td>실시간 화상 내 참여자 정보 워터마크<br>(녹화방지 기능 제공 예정)</td>
<td>월 3,000원</td>
</tr>
<tr>
<td>VOD 게시판</td>
<td>조직 내 VOD 업로드 및 이용자별 시청 현황 관리</td>
<td>월 2,000원</td>
</tr>
<tr>
<td>자료 게시판</td>
<td>조직 내 자료 공유 및 그룹별 관리</td>
<td>월 62,000원</td>
</tr>
<tr>
<td>클라우드 용량추가</td>
<td>10GB 당</td>
<td>조직 내 클라우드 용량 부족 시,10GB 단위로 추가 구매 가능</td>
<td>월 1,000원</td>
</tr>
</tbody>
</table>
</div>
</li>
</ol>
</li>
<li>2. 상품 선택
<ol>
<li>① 기본 화상 서비스에서 택1 필수이며, Host 수량을 입력하여 구매합니다.</li>
<li>② 추가 옵션 서비스와 클라우드 용량 추가는 미선택 또는 다중 선택 가능하며, 조직 단위로 구매 가능합니다.</li>
<li>
③ 상품 구매 시, 아래의 기능은 기본으로 제공됩니다.
<div class="tblData">
<table>
<colgroup>
<col style="width:10%">
<col style="width:20%">
<col style="width:auto">
<col style="width:10%">
</colgroup>
<thead>
<tr>
<th scope="col">구분</th>
<th scope="col">기능명</th>
<th scope="col">서비스 내용</th>
<th scope="col">비고</th>
</tr>
</thead>
<tbody>
<tr>
<td rowspan="4">기본 제공 기능</td>
<td>화상히스토리</td>
<td>화상 내역 및 출석 로그, 노트 등 관리 기능 </td>
<td rowspan="4"></td>
</tr>
<tr>
<td>화상녹화 로컬 저장</td>
<td>실시간 화상 녹화 시, PC 로컬에 저장</td>
</tr>
<tr>
<td>공지사항</td>
<td>간단 게시글 업로드 및 관리 (첨부파일 게시물당 파일 최대 3개, 파일당 1MB 이하 제한)</td>
</tr>
<tr>
<td>관리자 메뉴</td>
<td>조직 내 그룹/이용자, 상품/결제 관리</td>
</tr>
</tbody>
</table>
</div>
</li>
</ol>
</li>
</ol>
</div>
<!-- 내용 : e -->
</div>
<a href="#" class="btnPopClose" onclick="layerPop('close' , '#layerAgreePayService')">해당 레이어 닫기</a>
</div>
</div>
<!--[레] 유료 서비스 이용약관 : e -->
<script>
$(function() {
//서비스 이용 약관
selectTerms("T1");
//유료 서비스 이용 약관
selectTerms("T3");
});
</script>
@@ -0,0 +1,122 @@
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<meta charset="UTF-8">
<section class="pd-buy">
<h2>
<span class="bold">신청 및 구매</span> 절차
</h2>
<ul class="order-steps">
<li>
<div class="pannel">
<div class="pannel-heading">
<strong>1.상품주문</strong>
</div>
<p class="pannel-body">
선택하신 휴대폰을 사이트에서 신청해주세요.<br> 통신사의 온라인신청서까지 꼭 작성해주세요.
</p>
</div> <span class="down-arrow"> <img
src="http://luckyphone.kr/images/pannel-arrow.png" alt="">
</span>
</li>
<li>
<div class="pannel">
<div class="pannel-heading">
<strong>2. 확인전화 수신</strong>
</div>
<p class="pannel-body">
개통을 위해 꼭 필요한 본인인증과 주문내역확인을 위해<br> 확인전화를 드립니다. 꼭 받아주세요!
</p>
</div> <span class="down-arrow"> <img
src="http://luckyphone.kr/images/pannel-arrow.png" alt="">
</span>
</li>
<li>
<div class="pannel">
<div class="pannel-heading">
<strong>3.배송</strong>
</div>
<p class="pannel-body">
휴대폰은 택배배송되고, 근무일 기준 1~2일 소요됩니다.<br> (제품수급, 택배급증 등으로 조금
지연될 수 있어요.)
</p>
</div> <span class="down-arrow"> <img
src="http://luckyphone.kr/images/pannel-arrow.png" alt="">
</span>
</li>
<li>
<div class="pannel">
<div class="pannel-heading">
<strong>1.수령 및 개통</strong>
</div>
<p class="pannel-body">
동봉된 안내문에 따라 개통요청 해주세요.<br> 개통작업이 끝나면 유심을 장착하고 사용할 수
있어요.
</p>
</div> <span class="down-arrow"></span>
</li>
</ul>
</section>
<section class="buy-notice">
<h3 class="bold">구매시 유의사항</h3>
<ul class="buy-nav tab-nav">
<li data-idx="0"><button class="btn under-btn active">상품</button></li>
<li data-idx="1"><button class="btn">배송</button></li>
<li data-idx="2"><button class="btn">반품</button></li>
<li data-idx="3"><button class="btn">교환</button></li>
<li data-idx="4"><button class="btn">취소안내</button></li>
</ul>
<div class="content">
<div class="article tab-content active">
<p>
<strong>[ 상품 ]</strong><br> ㆍ교환은 파손/오발송 상품에 한하여 동일상품으로
교환해 드립니다.<br> ㆍ휴대폰 교환은 상품을 구매하신 발송주소로 재발송되며, 만약 주소를 변경하실
경우 고객센터로 연락바랍니다.<br> (고객센터 : ☎ 010-6646-7825 평일 10:00 ~
18:00)<br> ㆍ교환상품 확인 시 교환상품에 문제가 있다 판단되었을 경우에는 교환취소할 수
있으므로 이 점 유의하시기 바랍니다.<br> ㆍApple사 제품의 경우 제조사 정책에 따라 교환이
불가능합니다.<br>
</p>
</div>
<div class="article tab-content">
<p>
<strong>[ 배송 ]</strong><br> ㆍ배송은 “당일 택배 발송"을 기준으로 합니다.<br>
ㆍ택배 배송은 오후 4시까지의 해피콜 완료건을 기준으로 배송을 하여, 고객님께 전달해 드리고 있습니다.<br>
ㆍ사은품은 휴대폰과 별도로 배송될 수 있습니다.<br> ㆍ배송관련 문의는 고객센터로 연락주시기
바랍니다.<br> (고객센터 : ☎ 010-6646-7825 평일 10:00 ~ 18:00)
</p>
</div>
<div class="article tab-content">
<p>
<strong>[ 반품안내 ]</strong><br> ㆍ반품은 단말기 초기불량 또는 상품
오발송/통화품질 불량에 한하며, 고객센터를 통하여 진행하실 수 있습니다.<br> (고객센터 : ☎
010-6646-7825 평일 10:00 ~ 18:00)<br> ㆍ단말기 초기불량으로 인한 반품은 해당
제조사 A/S센터에서 발행한 불량 확인서를 발급받으신 후 접수하시면 정상처리가 가능합니다.<br>
ㆍApple사 제품의 경우 최초 전원을 켜서 활성화 한 이후 30일 이전에는 새 제품으로, 30일 이후에는
리퍼폰으로 교환이 가능합니다.<br> ㆍ반품 단말기 회수는 고객센터로 반품 접수를 먼저 하신 후
지정된 택배사를 통해 배송 부탁드립니다.<br> (반품접수를 하지 않고 임의발송하시는 경우 정상적으로
반품처리가 되지 않습니다.)<br> ㆍ반품 처리 결과는 고객님의 메일이나 유선전화(SMS)등을 통해
별도 안내해드립니다.<br>
</p>
</div>
<div class="article tab-content">
<p>
<strong>[ 교환안내 ]</strong><br> 교환은 파손/오발송 상품에 한하여 동일상품으로
교환해 드립니다.<br> ㆍ휴대폰 교환은 상품을 구매하신 발송주소로 재발송되며, 만약 주소를 변경하실
경우 고객센터로 연락바랍니다.<br> (고객센터 : ☎ 010-6646-7825 평일 10:00 ~
18:00)<br> ㆍ교환상품 확인 시 교환상품에 문제가 있다 판단되었을 경우에는 교환취소할 수
있으므로 이 점 유의하시기 바랍니다.<br> ㆍApple사 제품의 경우 제조사 정책에 따라 교환이
불가능합니다.<br>
</p>
</div>
<div class="article tab-content">
<p>
<strong>[ 취소안내 ]</strong><br> ㆍ주문취소는 상품 개통 전에만 가능하고 개통
후에는 반품진행으로만 처리가능하오니 유의하시기 바랍니다.<br> ㆍ주문취소 시에는 고객센터로
문의주시면 정확한 안내가 가능하오니 연락바랍니다.<br> (고객센터 : ☎ 010-6646-7825 평일
10:00 ~ 18:00)<br> ㆍ주문하신 상품 중 배송이 불가능한 사유(통신사의 휴대폰 정책축소
및 삭제, 제품 재고소진 등)가 발생할 경우,<br> 전자상거래 등에서의 소비자 보호에 관한 법률 제
15조 2항에 의거하여 자동으로 취소될 수 있으며, 별도 전화 또는 SMS로 안내드리오니 양지 바랍니다.
</p>
</div>
</div>
</section>
@@ -0,0 +1,20 @@
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ taglib prefix="sec" uri="http://www.springframework.org/security/tags"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<div id="appVue">
<div class="timeAlarm active" v-for> <!-- active 클래스를 붙이면 노출됨 -->
<div class="alarmTitle">
<img src="/res/front/pub/assets/images/clock.png" alt=""><h5>회의 시작 5분 전</h5>
</div>
<div class="alarmTime"><h5>오후 05:30 ~</h5></div>
<div class="alarmTxt"><h4>TOEIC Reading RC 실정 모의고사 대비</h4>
</div>
</div>
</div>
<script>
$(function() {
$('.timeAlarm').fadeOut(5000, 'linear');
});
</script>
@@ -0,0 +1,11 @@
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ taglib prefix="sec" uri="http://www.springframework.org/security/tags"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<footer class="hidden-xs">
<div class="container">
<h6>Copyright© 2021 KT Corp. All rights reserved.
</h6>
</div>
</footer>
@@ -0,0 +1,230 @@
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<c:set var="urlPath" value="${requestScope['javax.servlet.forward.servlet_path']}" />
<div class="sidebar-wrapper">
<div class="leftSidebar">
<div class="lnbInner" >
<div class="profile">
<img onclick="location.href='/portal';" style="cursor: pointer;" src="${siteInfo.portalFileIdUrl}" alt="">
<div class="profileDetail">
<div class="profileDetailL">
<!-- 관리자 admin / 호스트 host / 일반회원 클래스 없음으로 클래스 처리 -->
<div class="title ${loginUser.cafeUserLevel}"><h5>${loginUser.cafeUserLevelText}</h5></div>
<div class="companyName"><h3>${g_cafe.name}</h3></div>
<div class="memberName"><h2>${loginUser.cafeUserName}</h2></div>
</div>
<div class="profileDetailR">
<img src="${g_cafe.photoUrl}" onerror="this.src='/res/front/pub/assets/images/profileThumb.png'"alt="profile thumbnail">
<c:if test="${loginUser.adminYn}">
<a href="javascript:void(0)" class="biLayer" data-toggle="modal" data-target="#biLayer">
<img src="/res/front/pub/assets/images/profileThumbSetting.png" class="setting active" alt="profile thumbnail setting">
</a><!-- 관리자인 경우 active 클래스 추가 하면 노출 -->
</c:if>
</div>
</div>
</div>
<ul class="gw-nav gw-nav-list" id="mainMenu">
<c:forEach var="x" items="${menuList}">
<c:set var="showMenu" value="false"/>
<c:if test="${(x.authMenuAdminYn and loginUser.adminYn) or (x.authMenuHostYn and loginUser.hostOnlyYn) or (x.authMenuGuestYn)}">
<c:set var="showMenu" value="true"/>
</c:if>
<c:if test="${showMenu}">
<c:if test="${x.existSubMenuYn}">
<li class="mainbtn init-arrow-down <c:if test="${fn:contains(urlPath, x.activeUrl)}"> active</c:if>">
<a href="javascript:void(0)">
<img src="/res/front/pub/assets/images/${x.menuIcon}.png" alt="">
<div class="mobile"><img src="/res/front/pub/assets/images/${x.menuIcon}m.png" alt=""></div>
<span class="gw-menu-text">${x.name}</span>
</a>
<ul class="subbtn gw-submenu" style="<c:if test="${fn:contains(urlPath, x.activeUrl)}"> display: block; </c:if>">
<c:forEach var="y" items="${x.menuDtl}">
<c:set var="showSubMenu" value="false"/>
<c:set var="showLoungeCount" value="false"/>
<c:choose>
<c:when test="${y.name eq '상품관리'}">
<c:if test="${userSiteYn}">
<c:set var="showSubMenu" value="true"/>
</c:if>
</c:when>
<c:when test="${y.name eq '화상 라운지'}">
<c:set var="showSubMenu" value="true"/>
<c:if test="${loungeCount > 0}">
<c:set var="showLoungeCount" value="true"/>
</c:if>
</c:when>
<c:otherwise>
<c:if test="${(y.authMenuAdminYn and loginUser.adminYn) or (y.authMenuHostYn and loginUser.hostOnlyYn) or (y.authMenuGuestYn)}">
<c:set var="showSubMenu" value="true"/>
</c:if>
</c:otherwise>
</c:choose>
<c:if test="${showSubMenu}">
<li>
<a href="${y.url}" class="<c:if test="${fn:contains(urlPath, y.url)}"> active</c:if>" >${y.name} <c:if test="${showLoungeCount}"><span class="label label-danger">${loungeCount}</span></c:if></a>
</li>
</c:if>
</c:forEach>
</ul>
</li>
</c:if>
<c:if test="${not x.existSubMenuYn}">
<c:set var="showMenu2" value="false"/>
<c:choose>
<c:when test="${x.name eq '그룹관리'}">
<c:if test="${loginUser.hostOnlyYn}">
<c:set var="showMenu2" value="true"/>
</c:if>
</c:when>
<c:otherwise>
<c:set var="showMenu2" value="true"/>
</c:otherwise>
</c:choose>
<c:if test="${showMenu2}">
<li class="norbtn init-un-active <c:if test="${fn:contains(urlPath, x.activeUrl)}"> active</c:if>">
<a href="${x.url}">
<img src="/res/front/pub/assets/images/${x.menuIcon}.png" alt="">
<div class="mobile"><img src="/res/front/pub/assets/images/${x.menuIcon}m.png" alt=""></div>
<span class="gw-menu-text">${x.name}</span>
</a>
</li>
</c:if>
</c:if>
</c:if>
<div class="cloudalert" style="display:none"><img src="/res/front/pub/assets/images/warning_b2b.png" alt=""><div class="mm5"><h5>남은 용량을 확인해 주세요.<br>남은용량 400MB</h5></div></div>
</c:forEach>
</ul>
<div class="goHome">
<a href="${siteTypeBaseUrl}/home"><img src="/res/front/pub/assets/images/gohome.png" alt=""><img src="/res/front/pub/assets/images/gohomeHover.png" alt=""></a>
</div>
</div>
</div>
</div>
<div class="sideNav">
<div class="leftSidebar">
<div class="lnbInner" >
<div class="profile">
<div class="sideHead">
<div class="closeBtn toggleMenu"><img src="/res/front/pub/assets/images/mmenuClose.png" alt=""></div>
<div class="mAlarm" data-toggle="modal" data-target="#alarmLayer" ><img src="/res/front/pub/assets/images/alarm.png" alt=""><img src="/res/front/pub/assets/images/alarmDot.png" alt="" class="alarmOverlay"></div>
<div class="mgoHome"><img src="/res/front/pub/assets/images/mgoHome.png" alt="" onclick="location.href='${siteTypeBaseUrl}/';" style="cursor: pointer;"></div>
</div>
<div class="profileDetail">
<div class="mobile"><!-- mobile에서만 block -->
<div class="mobileL">
<img src="/res/front/pub/assets/images/profileThumb.png" alt="profile thumbnail">
</div>
<div class="mobileC">
<div class="companyName"><h3><span class="${loginUser.cafeUserLevel}">${loginUser.cafeUserLevelText}</span>${g_cafe.name}</h3></div> <!-- 관리자 admin / 호스트 host / 일반회원 클래스 없음으로 클래스 처리 -->
<div class="memberName"><h2>${loginUser.cafeUserName}</h2></div>
</div>
<div class="mobileR">
<a href="javascript:void(0);" data-toggle="modal" data-target="#accountLayer"><img src="/res/front/pub/assets/images/profileRight.png" alt=""></a>
</div>
</div>
</div>
</div>
<ul class="gw-nav gw-nav-list">
<c:forEach var="x" items="${menuList}">
<c:set var="showMenu" value="false"/>
<c:if test="${(x.authMenuAdminYn and loginUser.adminYn) or (x.authMenuHostYn and loginUser.hostOnlyYn) or (x.authMenuGuestYn)}">
<c:set var="showMenu" value="true"/>
</c:if>
<c:if test="${showMenu}">
<c:if test="${x.existSubMenuYn}">
<li class="mainbtn arrow-down <c:if test="${fn:contains(urlPath, x.activeUrl)}"> active</c:if>">
<a href="javascript:void(0)">
<img src="/res/front/pub/assets/images/${x.menuIcon}.png" alt="">
<div class="mobile"><img src="/res/front/pub/assets/images/${x.menuIcon}m.png" alt=""></div>
<span class="gw-menu-text">${x.name}</span>
</a>
<ul class="subbtn gw-submenu" style="<c:if test="${fn:contains(urlPath, x.activeUrl)}"> display: block; </c:if>">
<c:forEach var="y" items="${x.menuDtl}">
<c:set var="showSubMenu" value="false"/>
<c:set var="showLoungeCount" value="false"/>
<c:choose>
<c:when test="${y.name eq '상품관리'}">
<c:if test="${userSiteYn}">
<c:set var="showSubMenu" value="true"/>
</c:if>
</c:when>
<c:when test="${y.name eq '화상 라운지'}">
<c:set var="showSubMenu" value="true"/>
<c:if test="${loungeCount > 0}">
<c:set var="showLoungeCount" value="true"/>
</c:if>
</c:when>
<c:otherwise>
<c:if test="${(y.authMenuAdminYn and loginUser.adminYn) or (y.authMenuHostYn and loginUser.hostOnlyYn) or (y.authMenuGuestYn)}">
<c:set var="showSubMenu" value="true"/>
</c:if>
</c:otherwise>
</c:choose>
<c:if test="${showSubMenu}">
<li>
<a href="${y.url}" class="<c:if test="${fn:contains(urlPath, y.url)}"> active</c:if>">${y.name} <c:if test="${showLoungeCount}"><span class="label label-danger">${loungeCount}</span></c:if></a>
</li>
</c:if>
</c:forEach>
</ul>
</li>
</c:if>
<c:if test="${not x.existSubMenuYn}">
<c:set var="showMenu2" value="false"/>
<c:choose>
<c:when test="${x.name eq '그룹관리'}">
<c:if test="${loginUser.hostOnlyYn}">
<c:set var="showMenu2" value="true"/>
</c:if>
</c:when>
<c:otherwise>
<c:set var="showMenu2" value="true"/>
</c:otherwise>
</c:choose>
<c:if test="${showMenu2}">
<li class="init-un-active <c:if test="${fn:contains(urlPath, x.activeUrl)}"> active</c:if>">
<a href="${x.url}">
<img src="/res/front/pub/assets/images/${x.menuIcon}.png" alt="">
<div class="mobile"><img src="/res/front/pub/assets/images/${x.menuIcon}m.png" alt=""></div>
<span class="gw-menu-text">${x.name}</span>
</a>
</li>
</c:if>
</c:if>
</c:if>
</c:forEach>
</ul>
</div>
</div>
</div>
@@ -0,0 +1,33 @@
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<c:set var="urlPath" value="${requestScope['javax.servlet.forward.servlet_path']}" />
<div class="dim-layer00 bind-popup-profile"> <!-- 대표 이미지 등록-->
<div class="dimBg00"></div>
<div id="biLayer" class="pop-layer biInner">
<form method="post">
<div class="popHeader">
<h2>조직 대표 이미지 등록</h2><a href="#" class="btn-layerClose"><img src="/res/front/pub/assets/images/layerClose.png" alt=""></a>
</div>
<div class="biReg">
<div class="input-file form-group">
<input type="file" name="" id="portalProfilePhotoFile" class="file-upload" />
<input type="text" readonly="readonly" class="file-name form-control bind-originalfilename" />
<label for="portalProfilePhotoFile" class="file-label btn btn-add01">첨부하기</label>
</div>
<div class="imgNotice"><h6>100px * 100px / 350MB미만 / .png</h6></div>
<div class="previewArea">
<img id="preview" class="bind-photourl" align="middle" src="http://www.clker.com/cliparts/c/W/h/n/P/W/generic-image-file-icon-hi.png" alt="your image" title=''/>
</div>
</div>
<button type="submit" class="btn btn-confirm">확인</button>
</form>
</div>
</div>
@@ -0,0 +1,158 @@
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ taglib prefix="sec" uri="http://www.springframework.org/security/tags"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<div class="modal fade bind-popup-profile" id="biLayer" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<form method="post">
<input type="hidden" id="profile_file_id" name="fileId" value="${g_cafe.photoFileId}"/>
<div class="modal-content">
<div class="modal-header">
<h2>조직 대표 이미지 등록</h2><a href="#" class="btn-layerClose" data-dismiss="modal" aria-label="Close"><img src="/res/front/pub/assets/images/layerClose.png" alt=""></a>
</div>
<div class="modal-body">
<div class="row">
<h6>${g_cafe.name} 모든 멤버에게 보여지는 이미지 입니다.</h6>
<div class="biReg">
<div class="input-file form-group">
<input type="file" name="" id="portalProfilePhotoFile" class="file-upload bnd-photo-file" />
<input type="text" readonly="readonly" class="file-name form-control bind-originalfilename" />
<label for="portalProfilePhotoFile" class="file-label btn btn-add01">첨부하기</label>
</div>
<div class="imgNotice"><h6>최대 500KB 까지 등록 가능 / PNG, JPG, GIF</h6></div>
<div class="previewArea">
<img class="bind-photourl" src="${g_cafe.photoUrl}" onerror="this.src='/res/front/pub/assets/images/previewImg.png'" alt="">
<button onclick="document.getElementsByClassName('bind-photourl')[0].src=''; document.getElementById('profile_file_id').value = ''" type="button"><img src="/res/front/pub/assets/images/previewImgDelete.png" alt=""></button>
</div>
<!--
<div class="previewArea">
<img id="preview" class="bind-photourl" align="middle" src="http://www.clker.com/cliparts/c/W/h/n/P/W/generic-image-file-icon-hi.png" alt="your image" title=''/>
<img src="/res/front/pub/assets/images/previewImg.png" alt="">
<a><img src="/res/front/pub/assets/images/previewImgDelete.png" alt=""></a>
</div>
-->
<button type="submit" class="btn btn-confirm">확인</button>
</div>
</div>
</div>
</div>
</form>
</div>
</div>
<!-- 공통 모바일 알람 레이어 -->
<div class="modal fade" id="alarmLayer" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h2>알림</h2><a href="#" class="btn-layerClose" data-dismiss="modal" aria-label="Close"><img src="/res/front/pub/assets/images/layerClose.png" alt=""></a>
</div>
<div class="modal-body">
<div class="row">
<ul class="col-xs-12 alarmArea00">
<li class="menu alarmArea">
<ul class="nav nav-tabs">
<li class="active"><a href="#top_alarm_1" data-toggle="tab">미확인알림</a></li>
<li><a href="#top_alarm_2" data-toggle="tab">전체알림</a></li>
</ul>
<div class="tab-content ">
<div class="tab-pane active" id="top_alarm_1">
<div class="col-xs-12 alarmContent bind-alarm-list"></div>
</div>
<div class="tab-pane" id="top_alarm_2">
<div class="col-xs-12 alarmContent bind-alert-listall"></div>
</div>
</div>
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
<!-- 공통 모바일 계정 레이어 -->
<div class="modal fade" id="accountLayer" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h2>계정정보</h2><a href="#" class="btn-layerClose" data-dismiss="modal" aria-label="Close"><img src="/res/front/pub/assets/images/layerClose.png" alt=""></a>
</div>
<div class="modal-body">
<div class="row">
<ul>
<li class="menu" id="profileScroll">
<c:forEach var="x" items="${myCafeUserList}">
<c:if test="${x.loginYn}">
<div class="viewCard">
<div class="viewCardL"><img style="width: 32px; height: 32px; border-radius: 32px;" src="${x.photoUrl}" onerror="this.src = '/res/front/pub/assets/images/profile.png'"></div>
<div class="viewCardR"><h6><span>${x.cafeUserLevelText}</span> ${x.cafeName}</h6><h5>${x.cafeUserName}</h5></div>
</div>
</c:if>
</c:forEach>
<c:forEach var="x" items="${myCafeUserList}">
<c:if test="${x.loginYn eq false}">
<a href="/portal/cafe/user/change/${x.id}">
<div class="viewCard">
<div class="viewCardL"><img style="width: 32px; height: 32px; border-radius: 32px;" src="${x.photoUrl}" onerror="this.src = '/res/front/pub/assets/images/profile.png'"></div>
<div class="viewCardR"><h6><span>${x.cafeUserLevelText}</span> ${x.cafeName}</h6><h5>${x.cafeUserName}</h5></div>
</div>
</a>
</c:if>
</c:forEach>
</li>
<div class="addAccount"><a href="/home/user/org/register"><h6>+ 계정추가</h6></a></div>
<div class="balloonBtn">
<!--p01100.html-->
<a href="/portal/mypage" class="balloonBtn01 btn btn-myPage">마이페이지</a >
<a href="/home/user/logout" class="balloonBtn02 btn btn-logout">로그아웃</a >
</div>
</ul>
</div>
</div>
</div>
</div>
</div>
<!-- S : spinner -->
<div class="load-wrap">
<div class="load-item">
<div class="load-spinner">
<div class="bubble-1"></div>
<div class="bubble-2"></div>
</div>
</div>
</div>
<!-- E : spinner -->
@@ -0,0 +1,266 @@
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ taglib prefix="sec" uri="http://www.springframework.org/security/tags"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<div class="header <c:if test="${param.headerYn ne 'Y'}">hidden-xs</c:if>"> <!-- 모바일에서 header이 필요 없는 경우 hidden-xs 추가 -->
<nav class="navbar navbar-default" role="navigation">
<div id="navbar-no-collapse" class="navbar-no-collapse">
<ul class="nav navbar-right">
<li class="dropdown">
<a class="alarm bind-alert-button"><img src="/res/front/pub/assets/images/alarm.png"><img src="/res/front/pub/assets/images/alarmDot.png" class="alarmOverlay"></a>
<div id="alert_content_clone" style="display: none;">
<div class="col-xs-12 alarmItem">
<div class="col-xs-2">
<img src="/res/front/pub/assets/images/alarmEnvelope.png">
</div>
<div class="col-xs-10 nopadding">
<div class="col-xs-12 alarmItem01">
<h5>클라우드용량이 100MB 남았어요.<br>용량을 확인해 주세요.</h5>
</div>
<div class="col-xs-12 alarmItem01">
<div class="col-xs-9 alarmItemL"><a href="#" class="btn btn-cloud">바로가기&nbsp;&nbsp;<img src="/res/front/pub/assets/images/alarmRight.png"></a></div>
<div class="col-xs-3 alarmItemR"><h6><!--2021.07.01--></h6></div>
</div>
</div>
</div>
</div>
<ul class="dropdown-menu right alarmArea00">
<li class="menu alarmArea">
<ul class="nav nav-tabs">
<li class="active"><a href="#top_alarm_1" data-toggle="tab">미확인알림</a></li>
<li><a href="#top_alarm_2" data-toggle="tab">전체알림</a></li>
</ul>
<div class="tab-content ">
<div class="tab-pane active" id="top_alarm_1">
<div class="col-xs-12 alarmContent bind-alarm-list" id="alarmScroll">
<%--
<div class="col-xs-12 alarmItem">
<div class="col-xs-2">
<img src="/res/front/pub/assets/images/alarmEnvelope.png">
</div>
<div class="col-xs-10 nopadding">
<div class="col-xs-12 alarmItem01">
<h5>클라우드용량이 100MB 남았어요.<br>용량을 확인해 주세요.</h5>
</div>
<div class="col-xs-12 alarmItem01">
<div class="col-xs-9 alarmItemL"><a href="#" class="btn btn-cloud">클라우드 관리 바로가기&nbsp;&nbsp;<img src="/res/front/pub/assets/images/alarmRight.png"></a></div>
<div class="col-xs-3 alarmItemR"><h6>2021.07.01</h6></div>
</div>
</div>
</div>
<div class="col-xs-12 alarmItem">
<div class="col-xs-2">
<img src="/res/front/pub/assets/images/alarmEnvelope.png">
</div>
<div class="col-xs-10 nopadding">
<div class="col-xs-12 alarmItem01">
<h5>클라우드용량이 100MB 남았어요.<br>용량을 확인해 주세요.</h5>
</div>
<div class="col-xs-12 alarmItem01">
<div class="col-xs-9 alarmItemL"><a href="#" class="btn btn-cloud">클라우드 관리 바로가기&nbsp;&nbsp;<img src="/res/front/pub/assets/images/alarmRight.png"></a></div>
<div class="col-xs-3 alarmItemR"><h6>2021.07.01</h6></div>
</div>
</div>
</div>
<div class="col-xs-12 alarmItem">
<div class="col-xs-2">
<img src="/res/front/pub/assets/images/sysetmAlert.png">
</div>
<div class="col-xs-10 nopadding">
<div class="col-xs-12 alarmItem01">
<h5>시스템 작업예정</h5>
</div>
<div class="col-xs-12 alarmItem01">
<div class="col-xs-9 alarmItemL"><a href="#" class="btn btn-cloud">클라우드 관리 바로가기&nbsp;&nbsp;<img src="/res/front/pub/assets/images/alarmRight.png"></a></div>
<div class="col-xs-3 alarmItemR"><h6>2021.07.01</h6></div>
</div>
</div>
</div>
<div class="col-xs-12 alarmItem">
<div class="col-xs-2">
<img src="/res/front/pub/assets/images/alarmEnvelope.png">
</div>
<div class="col-xs-10 nopadding">
<div class="col-xs-12 alarmItem01">
<h5>클라우드용량이 100MB 남았어요.<br>용량을 확인해 주세요.</h5>
</div>
<div class="col-xs-12 alarmItem01">
<div class="col-xs-9 alarmItemL"><a href="#" class="btn btn-cloud">클라우드 관리 바로가기&nbsp;&nbsp;<img src="/res/front/pub/assets/images/alarmRight.png"></a></div>
<div class="col-xs-3 alarmItemR"><h6>2021.07.01</h6></div>
</div>
</div>
</div>
--%>
</div>
</div>
<div class="tab-pane" id="top_alarm_2">
<div class="col-xs-12 alarmContent bind-alert-listall" id="alarmScroll01">
<%--
<div class="col-xs-12 alarmItem">
<div class="col-xs-2">
<img src="/res/front/pub/assets/images/alarmEnvelope.png">
</div>
<div class="col-xs-10 nopadding">
<div class="col-xs-12 alarmItem01">
<h5>클라우드용량이 100MB 남았어요.<br>용량을 확인해 주세요.</h5>
</div>
<div class="col-xs-12 alarmItem01">
<div class="col-xs-9 alarmItemL"><a href="#" class="btn btn-cloud">클라우드 관리 바로가기&nbsp;&nbsp;<img src="/res/front/pub/assets/images/alarmRight.png"></a></div>
<div class="col-xs-3 alarmItemR"><h6>2021.07.01</h6></div>
</div>
</div>
</div>
<div class="col-xs-12 alarmItem">
<div class="col-xs-2">
<img src="/res/front/pub/assets/images/alarmEnvelope.png">
</div>
<div class="col-xs-10 nopadding">
<div class="col-xs-12 alarmItem01">
<h5>클라우드용량이 100MB 남았어요.<br>용량을 확인해 주세요.</h5>
</div>
<div class="col-xs-12 alarmItem01">
<div class="col-xs-9 alarmItemL"><a href="#" class="btn btn-cloud">클라우드 관리 바로가기&nbsp;&nbsp;<img src="/res/front/pub/assets/images/alarmRight.png"></a></div>
<div class="col-xs-3 alarmItemR"><h6>2021.07.01</h6></div>
</div>
</div>
</div>
<div class="col-xs-12 alarmItem">
<div class="col-xs-2">
<img src="/res/front/pub/assets/images/sysetmAlert.png">
</div>
<div class="col-xs-10 nopadding">
<div class="col-xs-12 alarmItem01">
<h5>시스템 작업예정</h5>
</div>
<div class="col-xs-12 alarmItem01">
<div class="col-xs-9 alarmItemL"><a href="#" class="btn btn-cloud">클라우드 관리 바로가기&nbsp;&nbsp;<img src="/res/front/pub/assets/images/alarmRight.png"></a></div>
<div class="col-xs-3 alarmItemR"><h6>2021.07.01</h6></div>
</div>
</div>
</div>
<div class="col-xs-12 alarmItem">
<div class="col-xs-2">
<img src="/res/front/pub/assets/images/alarmEnvelope.png">
</div>
<div class="col-xs-10 nopadding">
<div class="col-xs-12 alarmItem01">
<h5>클라우드용량이 100MB 남았어요.<br>용량을 확인해 주세요.</h5>
</div>
<div class="col-xs-12 alarmItem01">
<div class="col-xs-9 alarmItemL"><a href="#" class="btn btn-cloud">클라우드 관리 바로가기&nbsp;&nbsp;<img src="/res/front/pub/assets/images/alarmRight.png"></a></div>
<div class="col-xs-3 alarmItemR"><h6>2021.07.01</h6></div>
</div>
</div>
</div>
--%>
</div>
</div>
</div>
</li>
</ul>
</li>
<li class="dropdown">
<!-- b2b + 아이콘 삭제-->
<c:if test="${bizSiteYn}">
<a href="#" class="" data-toggle="dropdown"><img src="/res/front/pub/assets/images/profile_b2b.png" alt=""></a>
</c:if>
<!-- b2b -->
<!-- b2c -->
<c:if test="${userSiteYn}">
<a href="#" class="" data-toggle="dropdown"><img src="/res/front/pub/assets/images/profile.png" alt=""></a>
</c:if>
<!-- b2c -->
<c:if test="${userSiteYn}">
<ul class="dropdown-menu right">
<li class="menu" id="profileScroll">
<c:forEach var="x" items="${myCafeUserList}">
<c:if test="${x.loginYn}">
<div class="viewCard">
<div class="viewCardL"><img style="width: 32px; height: 22px; margin: 10px 0 0 0;" src="${x.photoUrl}" onerror="this.src = '/res/front/pub/assets/images/profile.png'"></div>
<div class="viewCardR"><h6><span>${x.cafeUserLevelText}</span> ${x.cafeName}</h6><h5>${x.cafeUserName}</h5></div>
</div>
</c:if>
</c:forEach>
<c:forEach var="x" items="${myCafeUserList}">
<c:if test="${x.loginYn eq false}">
<a href="/portal/cafe/user/change/${x.id}">
<div class="viewCard">
<div class="viewCardL"><img style="width: 32px; height: 22px; margin: 10px 0 0 0;" src="${x.photoUrl}" onerror="this.src = '/res/front/pub/assets/images/profile.png'"></div>
<div class="viewCardR"><h6><span>${x.cafeUserLevelText}</span> ${x.cafeName}</h6><h5>${x.cafeUserName}</h5></div>
</div>
</a>
</c:if>
</c:forEach>
</li>
<c:if test="${userSiteYn}">
<div class="addAccount"><a href="/home?flag=popup-cafe"><h6>+ 계정추가</h6></a></div>
</c:if>
<div class="balloonBtn">
<a href="/portal/mypage" class="balloonBtn01 btn btn-myPage">마이페이지</a >
<a href="/home/user/logout" class="balloonBtn02 btn btn-logout">로그아웃</a >
</div>
</ul>
</c:if>
<!-- b2b 개발 코드 필요-->
<c:if test="${bizSiteYn}">
<ul class="dropdown-menu right h124px">
<div class="icon01"><img src="/res/front/pub/assets/images/btbimg_01_b2b.png"></div>
<li class="menu" id="profileScroll">
<c:forEach var="x" items="${myCafeUserList}">
<c:if test="${x.loginYn}">
<div class="myInfo01 ">
<a href="#">
<div class="box">
<div class="option">${x.cafeName}</div>
<strong class="name">
<em>${x.cafeUserLevelText}</em>
<span>${x.cafeUserName}</span>
</strong>
</div>
</a>
</div>
</c:if>
</c:forEach>
</li>
<div class="balloonBtn mybtn09">
<a href="/portal/mypage" class="balloonBtn01 btn btn-myPage">마이페이지</a >
<a href="/home/user/logout" class="balloonBtn02 btn btn-logout">로그아웃</a >
</div>
</ul>
</c:if>
</li>
<li><img src="/res/front/pub/assets/images/toogleMenu.png" class="toggleMenu" alt=""></li>
</ul>
<div class="mobileBi">
<a href="#biLayer" class="biLayer"><img src="/res/front/pub/assets/images/biG.png" alt=""></a>
</div>
</div>
</nav>
</div>
@@ -0,0 +1,251 @@
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ taglib prefix="sec" uri="http://www.springframework.org/security/tags"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<div class="header <c:if test="${param.headerYn ne 'Y'}">hidden-xs</c:if>"> <!-- 모바일에서 header이 필요 없는 경우 hidden-xs 추가 -->
<nav class="navbar navbar-default" role="navigation">
<div id="navbar-no-collapse" class="navbar-no-collapse">
<ul class="nav navbar-right">
<li class="dropdown">
<a class="alarm bind-alert-button"><img src="/res/front/pub/assets/images/alarm.png"><img src="/res/front/pub/assets/images/alarmDot.png" class="alarmOverlay"></a>
<div id="alert_content_clone" style="display: none;">
<div class="col-xs-12 alarmItem">
<div class="col-xs-2">
<img src="/res/front/pub/assets/images/alarmEnvelope.png">
</div>
<div class="col-xs-10 nopadding">
<div class="col-xs-12 alarmItem01">
<h5>클라우드용량이 100MB 남았어요.<br>용량을 확인해 주세요.</h5>
</div>
<div class="col-xs-12 alarmItem01">
<div class="col-xs-9 alarmItemL"><a href="#" class="btn btn-cloud">바로가기&nbsp;&nbsp;<img src="/res/front/pub/assets/images/alarmRight.png"></a></div>
<div class="col-xs-3 alarmItemR"><h6><!--2021.07.01--></h6></div>
</div>
</div>
</div>
</div>
<ul class="dropdown-menu right alarmArea00">
<li class="menu alarmArea">
<ul class="nav nav-tabs">
<li class="active"><a href="#top_alarm_1" data-toggle="tab">미확인알림</a></li>
<li><a href="#top_alarm_2" data-toggle="tab">전체알림</a></li>
</ul>
<div class="tab-content ">
<div class="tab-pane active" id="top_alarm_1">
<div class="col-xs-12 alarmContent bind-alarm-list" id="alarmScroll">
<%--
<div class="col-xs-12 alarmItem">
<div class="col-xs-2">
<img src="/res/front/pub/assets/images/alarmEnvelope.png">
</div>
<div class="col-xs-10 nopadding">
<div class="col-xs-12 alarmItem01">
<h5>클라우드용량이 100MB 남았어요.<br>용량을 확인해 주세요.</h5>
</div>
<div class="col-xs-12 alarmItem01">
<div class="col-xs-9 alarmItemL"><a href="#" class="btn btn-cloud">클라우드 관리 바로가기&nbsp;&nbsp;<img src="/res/front/pub/assets/images/alarmRight.png"></a></div>
<div class="col-xs-3 alarmItemR"><h6>2021.07.01</h6></div>
</div>
</div>
</div>
<div class="col-xs-12 alarmItem">
<div class="col-xs-2">
<img src="/res/front/pub/assets/images/alarmEnvelope.png">
</div>
<div class="col-xs-10 nopadding">
<div class="col-xs-12 alarmItem01">
<h5>클라우드용량이 100MB 남았어요.<br>용량을 확인해 주세요.</h5>
</div>
<div class="col-xs-12 alarmItem01">
<div class="col-xs-9 alarmItemL"><a href="#" class="btn btn-cloud">클라우드 관리 바로가기&nbsp;&nbsp;<img src="/res/front/pub/assets/images/alarmRight.png"></a></div>
<div class="col-xs-3 alarmItemR"><h6>2021.07.01</h6></div>
</div>
</div>
</div>
<div class="col-xs-12 alarmItem">
<div class="col-xs-2">
<img src="/res/front/pub/assets/images/sysetmAlert.png">
</div>
<div class="col-xs-10 nopadding">
<div class="col-xs-12 alarmItem01">
<h5>시스템 작업예정</h5>
</div>
<div class="col-xs-12 alarmItem01">
<div class="col-xs-9 alarmItemL"><a href="#" class="btn btn-cloud">클라우드 관리 바로가기&nbsp;&nbsp;<img src="/res/front/pub/assets/images/alarmRight.png"></a></div>
<div class="col-xs-3 alarmItemR"><h6>2021.07.01</h6></div>
</div>
</div>
</div>
<div class="col-xs-12 alarmItem">
<div class="col-xs-2">
<img src="/res/front/pub/assets/images/alarmEnvelope.png">
</div>
<div class="col-xs-10 nopadding">
<div class="col-xs-12 alarmItem01">
<h5>클라우드용량이 100MB 남았어요.<br>용량을 확인해 주세요.</h5>
</div>
<div class="col-xs-12 alarmItem01">
<div class="col-xs-9 alarmItemL"><a href="#" class="btn btn-cloud">클라우드 관리 바로가기&nbsp;&nbsp;<img src="/res/front/pub/assets/images/alarmRight.png"></a></div>
<div class="col-xs-3 alarmItemR"><h6>2021.07.01</h6></div>
</div>
</div>
</div>
--%>
</div>
</div>
<div class="tab-pane" id="top_alarm_2">
<div class="col-xs-12 alarmContent bind-alert-listall" id="alarmScroll01">
<%--
<div class="col-xs-12 alarmItem">
<div class="col-xs-2">
<img src="/res/front/pub/assets/images/alarmEnvelope.png">
</div>
<div class="col-xs-10 nopadding">
<div class="col-xs-12 alarmItem01">
<h5>클라우드용량이 100MB 남았어요.<br>용량을 확인해 주세요.</h5>
</div>
<div class="col-xs-12 alarmItem01">
<div class="col-xs-9 alarmItemL"><a href="#" class="btn btn-cloud">클라우드 관리 바로가기&nbsp;&nbsp;<img src="/res/front/pub/assets/images/alarmRight.png"></a></div>
<div class="col-xs-3 alarmItemR"><h6>2021.07.01</h6></div>
</div>
</div>
</div>
<div class="col-xs-12 alarmItem">
<div class="col-xs-2">
<img src="/res/front/pub/assets/images/alarmEnvelope.png">
</div>
<div class="col-xs-10 nopadding">
<div class="col-xs-12 alarmItem01">
<h5>클라우드용량이 100MB 남았어요.<br>용량을 확인해 주세요.</h5>
</div>
<div class="col-xs-12 alarmItem01">
<div class="col-xs-9 alarmItemL"><a href="#" class="btn btn-cloud">클라우드 관리 바로가기&nbsp;&nbsp;<img src="/res/front/pub/assets/images/alarmRight.png"></a></div>
<div class="col-xs-3 alarmItemR"><h6>2021.07.01</h6></div>
</div>
</div>
</div>
<div class="col-xs-12 alarmItem">
<div class="col-xs-2">
<img src="/res/front/pub/assets/images/sysetmAlert.png">
</div>
<div class="col-xs-10 nopadding">
<div class="col-xs-12 alarmItem01">
<h5>시스템 작업예정</h5>
</div>
<div class="col-xs-12 alarmItem01">
<div class="col-xs-9 alarmItemL"><a href="#" class="btn btn-cloud">클라우드 관리 바로가기&nbsp;&nbsp;<img src="/res/front/pub/assets/images/alarmRight.png"></a></div>
<div class="col-xs-3 alarmItemR"><h6>2021.07.01</h6></div>
</div>
</div>
</div>
<div class="col-xs-12 alarmItem">
<div class="col-xs-2">
<img src="/res/front/pub/assets/images/alarmEnvelope.png">
</div>
<div class="col-xs-10 nopadding">
<div class="col-xs-12 alarmItem01">
<h5>클라우드용량이 100MB 남았어요.<br>용량을 확인해 주세요.</h5>
</div>
<div class="col-xs-12 alarmItem01">
<div class="col-xs-9 alarmItemL"><a href="#" class="btn btn-cloud">클라우드 관리 바로가기&nbsp;&nbsp;<img src="/res/front/pub/assets/images/alarmRight.png"></a></div>
<div class="col-xs-3 alarmItemR"><h6>2021.07.01</h6></div>
</div>
</div>
</div>
--%>
</div>
</div>
</div>
</li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="" data-toggle="dropdown">
<!-- b2b -->
<c:if test="${bizSiteYn}">
<img src="/res/front/pub/assets/images/profile_b2b.png" alt="">
</c:if>
<!-- b2b -->
<!-- b2c -->
<c:if test="${userSiteYn}">
<img src="/res/front/pub/assets/images/profile.png" alt="">
</c:if>
<!-- b2c -->
</a>
<ul class="dropdown-menu right <c:if test="${bizSiteYn}"> h124px </c:if>">
<!-- b2b 개발 코드 필요-->
<c:if test="${bizSiteYn}">
<div class="myInfo01 ">
<div class="icon01"><img src="/res/front/pub/assets/images/btbimg_01_b2b.png"></div>
<a href="#">
<div class="box">
<div class="option">인천자전거연합</div>
<strong class="name">
<em>관리자</em>
<span>인천자전거연합이름</span>
</strong>
</div>
</a>
</div>
<div class="balloonBtn">
<!--p01100.html-->
<a href="/portal/mypage" class="balloonBtn01 btn btn-myPage">마이페이지</a >
<a href="/home/user/logout" class="balloonBtn02 btn btn-logout">로그아웃</a >
</div>
<li><a href="/portal/admin/user">멤버 수(${cafe.cafeUserCount})</a></li>
</c:if>
<c:if test="${userSiteYn}">
<li class="menu " id="profileScroll">
<c:forEach var="x" items="${myCafeUserList}">
<c:if test="${x.loginYn}">
<div class="viewCard">
<div class="viewCardL <c:if test="${bizSiteYn}"> btbdn </c:if>"><img style="width: 32px; height: 32px; border-radius: 32px;" src="${x.photoUrl}" onerror="this.src = '/res/front/pub/assets/images/profile.png'"></div>
<div class="viewCardR"><h6><span>${x.cafeUserLevelText}</span> ${x.cafeName}</h6><h5>${x.cafeUserName}</h5></div>
</div>
</c:if>
</c:forEach>
<c:forEach var="x" items="${myCafeUserList}">
<c:if test="${x.loginYn eq false}">
<a href="/portal/cafe/user/change/${x.id}">
<div class="viewCard">
<div class="viewCardL"><img style="width: 32px; height: 32px; border-radius: 32px;" src="${x.photoUrl}" onerror="this.src = '/res/front/pub/assets/images/profile.png'"></div>
<div class="viewCardR"><h6><span>${x.cafeUserLevelText}</span> ${x.cafeName}</h6><h5>${x.cafeUserName}</h5></div>
</div>
</a>
</c:if>
</c:forEach>
</li>
<div class="addAccount <c:if test="${bizSiteYn}"> btbdn </c:if>"><a href="/home?flag=popup-cafe"><h6>+ 계정추가</h6></a></div>
<li><a href="/portal/admin/user">조직 멤버 (${cafe.cafeUserCount})</a></li>
<div class="balloonBtn">
<a href="/portal/mypage" class="balloonBtn01 btn btn-myPage">마이페이지</a >
<a href="/home/user/logout" class="balloonBtn02 btn btn-logout">로그아웃</a >
</div>
</c:if>
</ul>
</li>
<li><img src="/res/front/pub/assets/images/toogleMenu.png" class="toggleMenu" alt=""></li>
</ul>
<div class="mobileBi">
<a href="#biLayer" class="biLayer"><img src="/res/front/pub/assets/images/biG.png" alt=""></a>
</div>
</div>
</nav>
</div>
+17
View File
@@ -0,0 +1,17 @@
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<jsp:include page="/WEB-INF/view/include/inc_home_head.jsp"/>
<jsp:include page="/WEB-INF/view/include/inc_head_script.jsp"/>
</head>
<body>
<h1> INDEX </h1>
<jsp:include page="/WEB-INF/view/include/inc_portal_body_footer.jsp"/>
<jsp:include page="/WEB-INF/view/include/inc_home_body_popup.jsp"/>
</body>
</html>