메인팝업 진행중

This commit is contained in:
hehihoho3@gmail.com 2025-02-27 18:07:27 +09:00
parent 2cf806dc65
commit 3b544be5f2
9 changed files with 4478 additions and 710 deletions

View File

@ -0,0 +1,39 @@
package itn.com.uss.ion.bnr.pop.service;
import java.io.Serializable;
import itn.com.cmm.ComDefaultVO;
import lombok.Getter;
import lombok.Setter;
/**
*
* @author : 이호영
* @fileName : MainPopupLinkVO.java
* @date : 2025.02.26
* @description :
* ===========================================================
* DATE AUTHOR NOTE
* ----------------------------------------------------------- *
* 2025.02.26 이호영 최초 생성
*
*
*
*/
@Getter
@Setter
public class MainPopupLinkVO extends ComDefaultVO implements Serializable {
/**
* @description :
*/
private static final long serialVersionUID = 1998370534684278351L;
private String popId; // 메인존ID
private String mlink; // 링크
private String coords; // 링크좌표
}

View File

@ -0,0 +1,59 @@
package itn.com.uss.ion.bnr.pop.service;
import java.io.Serializable;
import java.util.List;
import itn.com.cmm.ComDefaultVO;
import lombok.Getter;
import lombok.Setter;
/**
*
* @author : 이호영
* @fileName : MainPopupVO.java
* @date : 2025.02.26
* @description :
* ===========================================================
* DATE AUTHOR NOTE
* ----------------------------------------------------------- *
* 2025.02.26 이호영 최초 생성
*
*
*
*/
@Getter
@Setter
public class MainPopupVO extends ComDefaultVO implements Serializable {
/**
* @description :
*/
private static final long serialVersionUID = 1998370534684278351L;
private String popId; // 메인존ID
private String content; // 대체택스트
private String del; // 삭제여부
private String mainzoneImageFile; // 이미지파일ID
private String mainzoneImage; // 이미지파일명
private String regdt; // 등록일
private String moddt; // 수정일
private String popNm; // 메인팝업존키
private String useYn; // 사용여부
private String registerId; // 등록자 아이디
private String deviceType; // 접근타입
private String ntceBgnde; // 게시 시작일자
private String ntceEndde; // 게시 종료일자
private String ntceBgndeHH;
private String ntceBgndeMM;
private String ntceEnddeHH;
private String ntceEnddeMM;
private String devicetype;
private List<MainPopupLinkVO> mainPopupLinkList; // 게시 종료일자
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,220 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd">
<!--
수정일 수정자 수정내용
=========== ======== =================================================
2011.10.06 이기하 보안 취약점 점검사항 반영 $->#변경
-->
<sqlMap namespace="UnityLink">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="comDefaultVO" type="itn.com.cmm.ComDefaultVO"/>
<typeAlias alias="PopupManageVO" type="itn.com.uss.ion.pwm.service.PopupManageVO" />
<typeAlias alias="popupzoneVO" type="itn.com.uss.ion.pwm.service.PopupzoneVO"/>
<typeAlias alias="mainPopupVO" type="itn.com.uss.ion.bnr.pop.service.MainPopupVO"/>
<resultMap id="MainPopupLinkResultMap" class="itn.com.uss.ion.bnr.pop.service.MainPopupLinkVO">
<result property="popId" column="POP_ID"></result>
<result property="mlink" column="MLINK"></result>
<result property="coords" column="COORDS"></result>
<result property="sort" column="SORT"></result>
</resultMap>
<resultMap id="MainPopupResultMap" class="itn.com.uss.ion.bnr.pop.service.MainPopupVO">
<result property="popId" column="POP_ID" ></result>
<result property="content" column="CONTENT"></result>
<result property="regdt" column="REGDT"></result>
<result property="del" column="DEL"></result>
<result property="sort" column="SORT"></result>
<result property="mainzoneImage" column="MAINZONE_IMAGE"></result>
<result property="mainzoneImageFile" column="MAINZONE_IMAGE_FILE"></result>
<result property="popNm" column="POP_NM"></result>
<result property="useYn" column="USE_YN"></result>
<result property="moddt" column="MODDT"></result>
<result property="registerId" column="REGISTERID"></result>
<result property="deviceType" column="DEVICETYPE"></result>
<result property="ntceBgnde" column="NTCE_BGNDE"></result>
<result property="ntceEndde" column="NTCE_ENDDE"></result>
<result property="mainPopupLinkList" column="POP_ID" select="mainPopup.selectMainPopupVOLink" />
</resultMap>
<!-- 매인이미지 관리자 리스트 -->
<select id="mainPopup.selectMainPopupList" parameterClass="mainPopupVO" resultClass="egovMap">
/* mainPopup.selectMainPopupList */
<![CDATA[
SELECT
POP_ID,
CONTENT AS IMG_ALT,
CASE WHEN
DATE(SUBDATE(NOW(), INTERVAL 7 DAY)) < DATE(REGDT)
THEN 'Y'
ELSE 'N'
END AS NEW_FLAG,
DATE_FORMAT(REGDT, '%Y-%m-%d') REGDT,
MAINZONE_IMAGE,
MAINZONE_IMAGE_FILE ,
SORT,
POP_NM,
USE_YN,
(SELECT USER_NM FROM LETTNEMPLYRINFO WHERE ESNTL_ID = REGISTER_ID) REGISTER_ID ,
DEVICETYPE,
STR_TO_DATE(NTCE_BGNDE,'%Y%m%d') AS ntceBgnde,
STR_TO_DATE(NTCE_ENDDE,'%Y%m%d') AS ntceEndde
FROM MAIN_POPUP
WHERE 1=1
]]>
<isEqual property="useYn" compareValue="Y">
AND USE_YN = 'Y'
</isEqual>
<isNotEmpty property="searchKeyword">
<isEqual property="searchCondition" compareValue="">
AND ( POP_NM LIKE CONCAT ('%', #searchKeyword#,'%')
OR CONTENT LIKE CONCAT ('%', #searchKeyword#,'%')
)
</isEqual>
<isEqual property="searchCondition" compareValue="1">
AND POP_NM LIKE CONCAT ('%', #searchKeyword#,'%')
</isEqual>
<isEqual property="searchCondition" compareValue="2">
AND CONTENT LIKE CONCAT ('%', #searchKeyword#,'%')
</isEqual>
</isNotEmpty>
<isNotEmpty property="deviceType">
<isEqual property="deviceType" compareValue="P">
AND ( DEVICETYPE IS NULL OR DEVICETYPE = #deviceType# )
</isEqual>
<isEqual property="deviceType" compareValue="M">
AND DEVICETYPE = #deviceType#
</isEqual>
</isNotEmpty>
ORDER BY SORT
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
<select id="mainPopup.selectMainPopupCount" resultClass="int">
/* mainPopup.selectMainPopupCount */
SELECT
COUNT(*) totcnt
FROM MAIN_POPUP
WHERE 1=1
<isNotEmpty property="searchKeyword">
<isEqual property="searchCondition" compareValue="">
AND ( POP_NM LIKE CONCAT ('%', #searchKeyword#,'%')
OR CONTENT LIKE CONCAT ('%', #searchKeyword#,'%')
)
</isEqual>
<isEqual property="searchCondition" compareValue="1">
AND POP_NM LIKE CONCAT ('%', #searchKeyword#,'%')
</isEqual>
<isEqual property="searchCondition" compareValue="2">
AND CONTENT LIKE CONCAT ('%', #searchKeyword#,'%')
</isEqual>
</isNotEmpty>
</select>
<select id="mainPopup.selectMainPopupVO" parameterClass="String" resultMap="MainPopupResultMap">
/* mainPopup.selectMainPopupVO */
SELECT
MP.POP_ID,
MP.CONTENT,
MP.REGDT,
MP.DEL,
MP.SORT,
MP.MAINZONE_IMAGE,
MP.MAINZONE_IMAGE_FILE,
MP.POP_NM,
MP.USE_YN,
DATE_FORMAT(MP.MODDT, '%Y-%m-%d %T') MODDT,
(SELECT USER_NM FROM LETTNEMPLYRINFO WHERE ESNTL_ID = MP.REGISTER_ID) AS REGISTERID,
MP.DEVICETYPE,
MP.NTCE_BGNDE,
MP.NTCE_ENDDE
FROM MAIN_POPUP MP
WHERE MP.POP_ID = #popId#
</select>
<select id="mainPopup.selectMainPopupVOLink" parameterClass="String" resultMap="MainPopupLinkResultMap">
/* mainPopup.selectMainPopupVO */
SELECT
POP_ID,
MLINK,
COORDS,
SORT
FROM MAIN_POPUP_LINK
WHERE POP_ID = #popId#
order by SORT asc
</select>
<select id="mainPopup.selectMainPopupListRolling" resultMap="MainPopupResultMap">
/* mainPopup.selectMainPopupListRolling */
SELECT
MP.POP_ID,
MP.CONTENT,
MP.REGDT,
MP.DEL,
MP.SORT,
MP.MAINZONE_IMAGE,
MP.MAINZONE_IMAGE_FILE,
MP.POP_NM,
MP.USE_YN,
DATE_FORMAT(MP.MODDT, '%Y-%m-%d %T') MODDT,
(SELECT USER_NM FROM LETTNEMPLYRINFO WHERE ESNTL_ID = MP.REGISTER_ID) AS REGISTERID,
MP.DEVICETYPE,
MP.NTCE_BGNDE,
MP.NTCE_ENDDE
FROM MAIN_POPUP MP
WHERE MP.NTCE_BGNDE IS NOT NULL
AND MP.NTCE_ENDDE IS NOT NULL
<![CDATA[
AND DATE_FORMAT(SYSDATE(),'%Y%m%d%H%i') >= MP.NTCE_BGNDE
AND DATE_FORMAT(SYSDATE(),'%Y%m%d%H%i') <= MP.NTCE_ENDDE
]]>
AND MP.USE_YN = 'Y'
ORDER BY MP.SORT
</select>
<delete id="mainPopup.deleteMainPopup" parameterClass="String">
DELETE FROM MAIN_POPUP WHERE POP_ID=#popId#
</delete>
<update id="mainPopup.resetMainPopupSort" parameterClass="mainPopupVO">
/*mainPopup.resetMainPopupSort*/
UPDATE MAIN_POPUP A ,
(SELECT ROW_NUMBER() OVER(ORDER BY SORT
<isEqual property="sortOver" compareValue="A">
, MODDT ASC
</isEqual>
<isEqual property="sortOver" compareValue="D">
, MODDT DESC
</isEqual>
) AS SORT1 , POP_ID FROM MAIN_POPUP
WHERE 1=1
ORDER BY SORT1
) B
SET A.SORT = B.SORT1
WHERE A.POP_ID = B.POP_ID
</update>
</sqlMap>

View File

@ -0,0 +1,236 @@
<%--
Class Name : EgovPopupList.jsp
Description : 팝업창관리 목록 페이지
Modification Information
수정일 수정자 수정내용
------- -------- ---------------------------
2009.09.16 장동한 최초 생성
author : 공통서비스 개발팀 장동한
since : 2009.09.16
Copyright (C) 2009 by MOPAS All right reserved.
--%>
<%@ page contentType="text/html; charset=utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<title>메인이미지 관리</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<script type="text/javaScript" language="javascript">
$(document).ready(function(){
$(".img_cont").click(function(e){
clickEvent = true;
});
$(".check").click(function(e){
e.stopPropagation();
});
});
/* 메인창 수정 화면*/
function fn_mainzone_view(id, pageType){
document.modiForm.selectedId.value = id;
document.modiForm.pageType.value = "Modify";
document.modiForm.action = "<c:url value='/uss/ion/bnr/pop/mainPopupModify.do'/>";
document.modiForm.submit();
}
/* 메인창 등록화면*/
function fn_mainzone_insert_view(){
document.modiForm.pageType.value = "Insert";
document.modiForm.action = "<c:url value='/uss/ion/bnr/pop/mainPopupModify.do'/>";
document.modiForm.submit();
}
function doDep3(event){
event.preventDefault();
}
function linkPage(pageNo){
<c:if test="${!empty loginId}">
if(""!= document.listForm.searchKeyword.value){
updateRecentSearch();//최근검색어 등록
}
</c:if>
var listForm = document.listForm ;
listForm.pageIndex.value = pageNo ;
listForm.searchCondition.value = $('#searchCondition').val();
listForm.submit();
}
function fnCheckAll() {
var checkField = document.listForm.del;
if(document.listForm.checkAll.checked) {
if(checkField) {
if(checkField.length > 1) {
for(var i=0; i < checkField.length; i++) {
checkField[i].checked = true;
}
} else {
checkField.checked = true;
}
}
} else {
if(checkField) {
if(checkField.length > 1) {
for(var j=0; j < checkField.length; j++) {
checkField[j].checked = false;
}
} else {
checkField.checked = false;
}
}
}
}
/* 체크된 메인배너 목록 삭제 */
function fn_mainzone_contest_delete(){
if($("input[name=del]:checked").length == 0){
alert("선택된 항목이 없습니다.");
return;
}
if (confirm("해당 메인이미지 삭제하시겠습니까?")){
frm = document.listForm;
frm.action = "<c:url value='/uss/ion/bnr/pop/mainPopupListDelete.do' />";
frm.submit();
}
}
/* 테마별 색상맞추기 */
$(window).load(function() {
$('table.bbs01_list td.subject a').hover(
function () {
$(this).css("color","#d10000");
},
function () {
$(this).css("color","#333333");
}
);
});
</script>
</head>
<body>
<form name="listForm" action="<c:url value='/uss/ion/bnr/pop/mainPopupList.do'/>" method="post">
<input name="pageIndex" type="hidden" value="<c:out value='${mainPopupVO.pageIndex}'/>"/>
<input type="hidden" name="selectedId" />
<input type="hidden" name="pageType" />
<div class="contWrap">
<div class="pageTitle">
<div class="pageIcon"><img src="/pb/img/pageTitIcon4.png" alt=""></div>
<h2 class="titType1 c_222222 fwBold">팝업 관리</h2>
<p class="tType6 c_999999">사용자 메인 팝업에 적용되는 이미지를 등록, 수정, 삭제할 수 있습니다.</p>
</div>
<div class="pageCont">
<div class="listSerch">
<c:if test="${siteId eq 'super'}">
<select name="searchConditionSite" id="searchConditionSite" title="사이트검색">
<option value="" <c:if test="${empty userSearchVO.searchConditionSite }">selected="selected"</c:if> >전체 사이트</option>
<c:forEach var="result" items="${siteManageList}" varStatus="status">
<option value="${result.siteId}" <c:if test="${result.siteId eq mainPopupVO.searchConditionSite }">selected="selected"</c:if> >${result.siteNm}</option>
</c:forEach>
</select>
</c:if>
<select name="searchCondition" id="searchCondition" class="select" title="검색조건선택">
<option value=''>전체</option>
<option value='1' <c:if test="${mainPopupVO.searchCondition == '1'}">selected</c:if>>제목</option>
<option value='2' <c:if test="${mainPopupVO.searchCondition == '2'}">selected</c:if>>대체텍스트</option>
</select>
<input id="searchKeyword" name="searchKeyword" class="recentSearch" type="text" value="<c:out value='${mainPopupVO.searchKeyword}'/>" size="40" title="검색" maxlength="100"/>
<input type="button" class="btnType1" value="검색" onclick="linkPage(1); return false;">
</div>
<div class="listTop">
<p class="tType5">총 <span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${paginationInfo.totalRecordCount}" pattern="#,###" /></span>건</p>
<div class="rightWrap">
<input type="button" class="printBtn" >
<select name="pageUnit" id="pageUnit" class="select" title="검색조건선택" onchange="linkPage(1);">
<option value='8' <c:if test="${mainPopupVO.pageUnit == '8' or searchVO.pageUnit == ''}">selected</c:if>>8개씩 보기</option>
<option value='16' <c:if test="${mainPopupVO.pageUnit == '16'}">selected</c:if>>16개씩 보기</option>
<option value='24' <c:if test="${mainPopupVO.pageUnit == '24'}">selected</c:if>>24개씩 보기</option>
</select>
</div>
</div>
<div class="galleryListWrap">
<ul class="inline">
<c:forEach var="result" items="${mainPopupList}" varStatus="status">
<li onclick="javascript:fn_mainzone_view('${result.popId}'); return false;">
<div class="check"><input type="checkbox" name="del" id="check_box${status.index}" value="${result.popId}"></div>
<%-- <div class="img_cont_check"><input type="checkbox" name="del" id="img_cont_check_box${status.index}" class="img_cont_check_box" value="${result.mazId}"><label for="img_cont_check_box${status.index}"></label></div> --%>
<ul class="listCategory">
<li class="useCg">
<c:if test="${result.useYn eq 'Y'}">
사용
</c:if>
<c:if test="${result.useYn ne 'Y'}">
미사용
</c:if>
</li>
</ul>
<div class="imgBox"><img onerror="this.src='/pb/img/noImg.png'" src="<c:url value='/cmm/fms/getImage.do'/>?atchFileId=<c:out value="${result.mainzoneImageFile}"/>" alt=""></div>
<%-- <div class="imgBox"><img onerror="this.src='/pb/img/noImg.png'" src="<c:url value='/cmm/fms/getImage.do'/>?atchFileId=<c:out value="${result.mainzoneImageFile}"/>" alt=""></div> --%>
<div class="listInfo">
<h3>${result.mazNm}</h3>
<table>
<tr>
<td colspan="2">작성자 : ${result.registerId}</td>
</tr>
<tr>
<td>노출순서 : ${result.sort}</td>
<td class="right">${result.ntceBgnde} ~ ${result.ntceEndde}</td>
</tr>
</table>
</div>
</li>
</c:forEach>
</ul>
<c:if test="${empty mainPopupList}">
<div class="board1_btn">
<ul style="text-align: center;"><spring:message code="common.nodata.msg" /></ul>
</div>
</c:if>
</div>
<div class="btnWrap">
<input type="button" class="btnType2" value="삭제" onclick="fn_mainzone_contest_delete(); return false;">
<input type="button" class="btnType1" value="등록" onclick="fn_mainzone_insert_view(); return false;">
</div>
<!-- 페이지 네비게이션 시작 -->
<c:if test="${!empty mainPopupList}">
<div class="page">
<ul class="inline">
<ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" />
</ul>
</div>
</c:if>
<!-- //페이지 네비게이션 끝 -->
</div>
</div>
</form>
<form name="modiForm" method="get" action="<c:url value='/uss/ion/bnr/pop/mainPopupModify.do'/>" >
<input name="selectedId" type="hidden" />
<input name="pageType" type="hidden" />
</form>
<form name="searchForm" method="get" action="<c:url value='/uss/ion/bnr/pop/mainPopupList.do'/>">
<input name="pageIndex" type="hidden" value="1" />
<input name="searchCondition" type="hidden" />
<input name="searchKeyword" type="hidden" />
<input name="searchConditionSite" type="hidden" />
</form>
</body>
</html>

View File

@ -0,0 +1,601 @@
<%--
Class Name : EgovPopupList.jsp
Description : 팝업창관리 목록 페이지
Modification Information
수정일 수정자 수정내용
------- -------- ---------------------------
2009.09.16 장동한 최초 생성
author : 공통서비스 개발팀 장동한
since : 2009.09.16
Copyright (C) 2009 by MOPAS All right reserved.
--%>
<%@ page contentType="text/html; charset=utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<title>팝업창관리 관리</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<script type="text/javascript" src="<c:url value='/js/EgovCalPopup.js' />"></script>
<script type="text/javascript" src="<c:url value='/js/EgovMultiFile.js'/>"></script>
<script type="text/javaScript" language="javascript">
$( document ).ready(function(){
makeDate('ntceBgndeYYYMMDD');
makeTomorrow('ntceEnddeYYYMMDD');
});
/**
* URL에서 빈 값의 파라미터를 제거하는 함수
* @param {string} url 원본 URL 문자열
* @returns {string} 불필요한 파라미터가 제거된 URL
*/
function cleanUrlParameters(url) {
try {
// URL이 절대경로 (/web/... 형태)인지 확인
let hasFullDomain = url.startsWith("http://") || url.startsWith("https://");
let urlObj;
if (hasFullDomain) {
// 도메인이 포함된 URL 처리
urlObj = new URL(url);
} else {
// 절대경로 URL 처리 (가상의 도메인 추가 후 파싱)
urlObj = new URL("https://www.munjaon.co.kr" + url);
}
let params = new URLSearchParams(urlObj.search);
// ❗ 값이 비어있는 모든 파라미터 제거
for (let [key, value] of [...params.entries()]) { // `params.entries()`를 배열로 변환하여 반복
if (!value.trim()) { // 값이 비어있는 경우 제거
params.delete(key);
}
}
// 정리된 URL 반환
let cleanedPath = urlObj.pathname + (params.toString() ? "?" + params.toString() : "");
// 정리된 URL 반환 (도메인을 제거하고 절대경로만 반환)
return cleanedPath.replace(/^https:\/\/www\.munjaon\.co\.kr/, "");
} catch (e) {
console.warn("잘못된 URL 형식:", url);
return url; // URL 파싱 실패 시 원본 유지
}
}
//게시기간이 없으면 초기 값 입력
function makeDate(id){
if($("#"+id).val()== '--'){
let today = new Date();
let formattedDate = today.toISOString().split('T')[0]; // YYYY-MM-DD 형식
$("#"+id).val(formattedDate);
}
}
function makeTomorrow(id){
if($("#"+id).val()== '--'){
// 하루 후 날짜 계산
let tomorrow = new Date();
tomorrow.setDate(new Date().getDate() + 1);
let formattedDateTomorrow = tomorrow.toISOString().split('T')[0]; // YYYY-MM-DD 형식
$("#"+id).val(formattedDateTomorrow);
}
}
/* pagination 페이지 링크 function */
function goList(){
document.searchForm.submit();
}
/* 배너 삭제 function */
function fn_mainzone_delete() {
var msg;
msg = "해당 메인이미지를 삭제하시겠습니까?";
if (confirm(msg)) {
frm = document.writeForm;
frm.del.value = frm.popId.value ;
frm.action = "<c:url value='/uss/ion/bnr/pop/mainPopupListDelete.do'/>";
frm.submit();
}
}
function validate(method_parm) {
frm = document.writeForm;
if(frm.popNm.value=="") {
alert("비주얼명을 입력해 주십시오");
frm.popNm.focus();
return false;
}
if(frm.sort.value=="") {
alert("노출순서를 입력해 주십시오");
frm.sort.focus();
return false;
}else{
var regexp = /^[0-9]*$/
if( !regexp.test(frm.sort.value) ) {
alert("노출순서에는 숫자만 입력하세요");
frm.sort.focus();
return false;
}
}
// 링크 및 순서 값 검증 추가
let linkRows = document.querySelectorAll("#linkTable tr");
for (let i = 0; i < linkRows.length; i++) {
let linkInput = document.querySelector('input[name="mainPopupLinkList['+i+'].mlink"]');
let coordInput = document.querySelector('input[name="mainPopupLinkList['+i+'].coords"]');
let sortInput = document.querySelector('input[name="mainPopupLinkList['+i+'].sort"]');
if (!linkInput.value && !coordInput.value) {
if(sortInput.value){
let trElement = sortInput.closest("tr");
if (trElement) {
trElement.remove();
}
}
continue; // 요소가 없으면 건너뛴다.
}
if (linkInput.value.trim() === "") {
alert('['+(i + 1)+']번째 링크주소를 입력해 주십시오');
linkInput.focus();
return false;
}
if (coordInput.value.trim() === "") {
alert('['+(i + 1)+']번째 링크좌표를 입력해 주십시오');
coordInput.focus();
return false;
}
if (sortInput.value.trim() === "") {
alert('['+(i + 1)+']번째 순서를 입력해 주십시오');
sortInput.focus();
return false;
}
}
console.log('isTbodyEmpty("tbody_fiielist") : ', isTbodyEmpty("tbody_fiielist"));
if(isTbodyEmpty("tbody_fiielist")){
alert("이미지를 첨부해 주세요");
return false;
}
if(frm.content.value=="") {
alert("대체텍스트를 입력해 주십시오");
frm.content.focus();
return false;
}
var ntceBgndeYYYMMDD = document.getElementById('ntceBgndeYYYMMDD').value;
var ntceEnddeYYYMMDD = document.getElementById('ntceEnddeYYYMMDD').value;
console.log("ntceBgndeYYYMMDD ::: "+ntceBgndeYYYMMDD);
console.log("ntceEnddeYYYMMDD ::: "+ntceEnddeYYYMMDD);
if(ntceBgndeYYYMMDD ==""){
alert("게시기간 시작일을 입력해 주세요.");
return false;
}else if(ntceEnddeYYYMMDD == ""){
alert("게시기간 종료일을 입력해 주세요.");
return false;
}else{
var iChkBeginDe = Number( ntceBgndeYYYMMDD.replaceAll("-","") );
var iChkEndDe = Number( ntceEnddeYYYMMDD.replaceAll("-","") );
if(iChkBeginDe > iChkEndDe || iChkEndDe < iChkBeginDe ){
alert("게시시작일자는 게시종료일자 보다 클수 없고,\n게시종료일자는 게시시작일자 보다 작을수 없습니다. ");
return;
}
frm.ntceBgnde.value = ntceBgndeYYYMMDD.replaceAll('-','') + fn_egov_SelectBoxValue('ntceBgndeHH') + fn_egov_SelectBoxValue('ntceBgndeMM');
frm.ntceEndde.value = ntceEnddeYYYMMDD.replaceAll('-','') + fn_egov_SelectBoxValue('ntceEnddeHH') + fn_egov_SelectBoxValue('ntceEnddeMM');
}
var msg = "메인 팝업을 등록하시겠습니까?";
if(method_parm == "mainzone_U"){
msg ="메인 팝업을 수정하시겠습니까?";
}
if(!confirm(msg)){
return false;
}
goSave(method_parm);
}
function fn_egov_downFile(atchFileId, fileSn){
window.open("<c:url value='/cmm/fms/FileDown.do?atchFileId="+atchFileId+"&fileSn="+fileSn+"'/>");
}
function isTbodyEmpty(tbodyId) {
const tbody = document.getElementById(tbodyId);
if (!tbody) {
console.error("해당 ID를 가진 tbody가 없습니다.");
return false;
}
// tbody 내부에 <tr> 태그가 있는지 확인
return tbody.querySelector("tr") === null;
}
/* ********************************************************
* SELECT BOX VALUE FUNCTION
******************************************************** */
function fn_egov_SelectBoxValue(sbName)
{
var FValue = "";
for(var i=0; i < document.getElementById(sbName).length; i++)
{
if(document.getElementById(sbName).options[i].selected == true){
FValue=document.getElementById(sbName).options[i].value;
}
}
return FValue;
}
function addLinkRow() {
// 링크 목록 tbody
let tbody = document.getElementById("linkTable");
let rowCount = tbody.getElementsByTagName("tr").length; // 현재 tr 개수 가져오기
// 새로운 tr 생성
let newRow = document.createElement("tr");
let rowCountP = rowCount + 1;
// 첫 번째 컬럼 (링크 주소)
let linkTh = document.createElement("th");
linkTh.innerHTML = '<span>['+rowCountP+']링크주소</span>';
let linkTd = document.createElement("td");
linkTd.innerHTML = '<input type="text" name="mainPopupLinkList['+rowCount+'].mlink" class="mlink" maxlength="200" />';
// 두 번째 컬럼 (링크 좌표)
let coordTh = document.createElement("th");
coordTh.innerHTML = '<span>링크좌표</span>';
let coordTd = document.createElement("td");
coordTd.innerHTML = '<input type="text" name="mainPopupLinkList['+rowCount+'].coords" maxlength="200" />';
// 세 번째 컬럼 (링크 좌표)
let sortTh = document.createElement("th");
sortTh.innerHTML = '<span>순서</span>';
let sortTd = document.createElement("td");
sortTd.innerHTML = '<input type="text" name="mainPopupLinkList['+rowCount+'].sort" maxlength="200" value="'+rowCountP+'" />';
// tr에 추가
newRow.appendChild(linkTh);
newRow.appendChild(linkTd);
newRow.appendChild(coordTh);
newRow.appendChild(coordTd);
newRow.appendChild(sortTh);
newRow.appendChild(sortTd);
// tbody에 추가
tbody.appendChild(newRow);
}
</script>
<style>
.date_format{width:91px !important;}
.del_file_btn{border: none;background-color: transparent;background-image: url(/direct/img/upload_delect_img.png);background-repeat: no-repeat;background-position: center center;vertical-align: middle;margin-top: -4px;margin-right: 15px;}
.file_size{color: #0388d2;font-weight: bold;}
.uploaded_obj{width: 100%;}
</style>
</head>
<body>
<form:form commandName="mainPopupVO" name="writeForm" enctype="multipart/form-data" method="post">
<input type="hidden" name="deviceType" id="deviceType" value="P"/>
<input type="hidden" name="selectedId" />
<form:input path="popId" type="hidden" />
<form:input path="del" type="hidden" />
<form:input path="mainzoneImageFile" type="hidden" />
<form:hidden path="ntceBgnde" />
<form:hidden path="ntceEndde" />
<input type="hidden" name="beSort" value="${mainPopupVO.beSort}" />
<!-- 드래그앤 드롭 파라미터 -->
<input type="hidden" name="menuName" value="mainPopup" />
<input type="hidden" name="fmsId" value="${mainPopupVO.popId}" />
<input type="hidden" name="limitcount" value="1" /><!-- 최대 업로드 파일갯수 -->
<div class="contWrap">
<div class="pageTitle">
<div class="pageIcon"><img src="/pb/img/pageTitIcon4.png" alt=""></div>
<h2 class="titType1 c_222222 fwBold">팝업 등록/수정</h2>
<p class="tType6 c_999999">사용자 메인 팝업에 적용되는 이미지를 등록, 수정, 삭제할 수 있습니다.</p>
</div>
<div class="pageNav">
<img src="/pb/img/common/homeIcon.png" alt="홈이미지">&ensp;>&ensp;<p class="topDepth">비주얼관리</p>&ensp;>&ensp;<p class="subDepth">메인비주얼관리</p>
</div>
<div class="pageCont">
<div class="tableWrap">
<p class="right fwMd"><span class="tType4 c_e40000 fwBold">*</span>는 필수입력 항목입니다.</p>
<table class="tbType2">
<colgroup>
<col style="width: 10%">
<col style="width: 30%">
<col style="width: 10%">
<col style="width: 20%">
<col style="width: 10%">
<col style="width: 20%">
</colgroup>
<tbody>
<c:if test="${not empty mainPopupVO.popId }">
<tr>
<th><span>원본이미지</span></th>
<td colspan="5">
<c:if test="${mainPopupVO.popId == ''}">
<div class="imgBox"></div>
</c:if>
<c:if test="${mainPopupVO.popId != ''}">
<img alt="${mainPopupVO.content}" onerror="this.src='/pb/img/noImg.png'" src='<c:url value='/cmm/fms/getImage.do'/>?atchFileId=<c:out value="${mainPopupVO.mainzoneImageFile}"/>' style="max-width:300px;padding: 10px;" />
<%-- <img alt="${mainPopupVO.content}" onerror="this.src='/images/no_img.jpg'" src='<c:url value='/cmm/fms/getImage.do'/>?atchFileId=<c:out value="${mainPopupVO.mainzoneImageFile}"/>' style="max-width:600px;" /> --%>
</c:if>
</td>
</tr>
</c:if>
<!-- <tr> -->
<!-- <th class="td_title1"><span class="star_t">*</span>기기종류</th> -->
<!-- <td colspan="5"> -->
<!-- <input type="radio" name="deviceType" id="deviceType" value="P" style="margin-left: 13px; margin-right: 5px;" -->
<!-- checked="checked" -->
<%-- ${mainPopupVO.deviceType eq 'P' or mainPopupVO.deviceType eq '' ? 'checked="checked"' : ''} --%>
<!-- >PC -->
<!-- <input type="radio" name="deviceType" id="deviceType" value="M" style="margin-left: 13px; margin-right: 5px;" -->
<%-- ${mainPopupVO.deviceType eq 'M' ? 'checked="checked"' : ''} --%>
<!-- >모바일 -->
<!-- </td> -->
<!-- </tr> -->
<tr>
<th><span class="reqArea">비주얼명</span></th>
<td colspan="5">
<form:input path="popNm" maxlength="30" />
</td>
</tr>
<tr>
<th><span class="reqArea">사용여부</span></th>
<td colspan="5">
<input type="radio" name="useYn" id="useY" value="Y" style="margin-left: 13px; margin-right: 5px;" ${empty mainPopupVO.useYn or mainPopupVO.useYn eq 'Y' or mainPopupVO.useYn eq '' ? 'checked="checked"' : ''} />
<label for="useY">사용</label>
<input type="radio" name="useYn" id="useN" value="N" style="margin-left: 13px; margin-right: 5px;" ${mainPopupVO.useYn eq 'N' ? 'checked="checked"' : ''} />
<label for="useN">미사용</label>
</td>
</tr>
<tr>
<th><span class="reqArea">노출순서</span></th>
<td colspan="5">
<form:input path="sort" maxlength="10" onkeyup="this.value=this.value.replace(/[^-\.0-9]/g,'')"/>
</td>
</tr>
<tr>
<th><span class="reqArea">게시기간</span></th>
<td colspan="5">
<input type="hidden" name="cal_url" id="cal_url" value="<c:url value='/sym/cmm/EgovNormalCalPopup.do'/>" >
<input type="text" class="date_format" name="ntceBgndeYYYMMDD" id="ntceBgndeYYYMMDD" size="10" maxlength="10" class="readOnlyClass" value="<c:out value="${fn:substring(mainPopupVO.ntceBgnde, 0, 4)}"/>-<c:out value="${fn:substring(mainPopupVO.ntceBgnde, 4, 6)}"/>-<c:out value="${fn:substring(mainPopupVO.ntceBgnde, 6, 8)}"/>" readonly>
<a href="#" onClick="javascript:fn_egov_NormalCalendar(document.forms.mainPopupVO, document.forms.mainPopupVO.ntceBgndeYYYMMDD);">
<input type="button" class="calBtn">
<%-- <img src="<c:url value='/images/egovframework/com/cmm/icon/bu_icon_carlendar.gif' />" align="middle" style="border:0px" alt="달력창팝업버튼이미지"> --%>
</a>
<form:select path="ntceBgndeHH" class="date_format">
<form:options items="${ntceBgndeHH}" itemValue="code" itemLabel="codeNm"/>
</form:select>시
<form:select path="ntceBgndeMM" class="date_format">
<form:options items="${ntceBgndeMM}" itemValue="code" itemLabel="codeNm"/>
</form:select>분
&nbsp&nbsp~&nbsp&nbsp
<input type="text" class="date_format" name="ntceEnddeYYYMMDD" id="ntceEnddeYYYMMDD" size="10" maxlength="10" class="readOnlyClass" value="<c:out value="${fn:substring(mainPopupVO.ntceEndde, 0, 4)}"/>-<c:out value="${fn:substring(mainPopupVO.ntceEndde, 4, 6)}"/>-<c:out value="${fn:substring(mainPopupVO.ntceEndde, 6, 8)}"/>" readonly>
<a href="#" onClick="javascript:fn_egov_NormalCalendar(document.forms.mainPopupVO, document.forms.mainPopupVO.ntceEnddeYYYMMDD);">
<input type="button" class="calBtn">
<%-- <img src="<c:url value='/images/egovframework/com/cmm/icon/bu_icon_carlendar.gif' />" align="middle" style="border:0px" alt="달력창팝업버튼이미지"> --%>
</a>
<form:select path="ntceEnddeHH" class="date_format">
<form:options items="${ntceEnddeHH}" itemValue="code" itemLabel="codeNm"/>
</form:select>시
<form:select path="ntceEnddeMM" class="date_format">
<form:options items="${ntceEnddeMM}" itemValue="code" itemLabel="codeNm"/>
</form:select>분
</td>
</tr>
<tbody id="linkTable">
<c:choose>
<c:when test="${not empty mainPopupVO.mainPopupLinkList}">
<c:forEach var="link" items="${mainPopupVO.mainPopupLinkList}" varStatus="status">
<tr>
<th><span>[${status.index + 1}]링크주소</span></th>
<td>
<form:input path="mainPopupLinkList[${status.index}].mlink" class="mlink" maxlength="200" />
</td>
<th><span>링크좌표</span></th>
<td>
<form:input path="mainPopupLinkList[${status.index}].coords" class="mlink" maxlength="200" />
</td>
<th><span>순서</span></th>
<td>
<form:input path="mainPopupLinkList[${status.index}].sort" class="mlink" maxlength="200" oninput="this.value = this.value.replace(/[^0-9]/g, '');" />
</td>
</tr>
</c:forEach>
</c:when>
<c:otherwise>
<!-- 값이 없을 때 빈 input 생성 -->
<tr>
<th><span>[1]링크주소</span></th>
<td>
<form:input path="mainPopupLinkList[0].mlink" class="mlink" maxlength="200" />
</td>
<th><span>링크좌표</span></th>
<td>
<form:input path="mainPopupLinkList[0].coords" maxlength="200" />
</td>
<th><span>순서</span></th>
<td>
<form:input path="mainPopupLinkList[0].sort" maxlength="200" value="1" oninput="this.value = this.value.replace(/[^0-9]/g, '');" />
</td>
</tr>
</c:otherwise>
</c:choose>
</tbody>
<tr>
<td colspan="4">
<button type="button" class="btnType1" onclick="addLinkRow()">링크 추가</button>
</td>
</tr>
<tr>
<th><span class="reqArea">파일 첨부</span></th>
<td class="upload_area" colspan="5">
<div class="file_upload_box no_img_box fileWrap">
<table>
<colgroup>
<col style="width: 60%">
<col style="width: 10%">
<col style="width: 20%">
<col style="width: 10%">
</colgroup>
<thead>
<tr>
<th>파일명</th>
<th>크기</th>
<th>등록일시</th>
<th>삭제</th>
</tr>
</thead>
</table>
</div>
<div class="fileWrap fileAfter file_list_div asset_no_use_pro_table" style="display:none">
<table>
<colgroup>
<col style="width: 60%">
<col style="width: 10%">
<col style="width: 20%">
<col style="width: 10%">
</colgroup>
<thead>
<tr>
<th>파일명</th>
<th>크기</th>
<th>등록일시</th>
<th>삭제</th>
</tr>
</thead>
<tbody id="tbody_fiielist">
<c:forEach var="fileList" items="${fileList}" varStatus="status">
<tr class="item_${fileList.atchFileId}_${fileList.fileSn} uploaded_obj">
<td class="file_name">
<a href="javascript:fn_egov_downFile('${fileList.atchFileId}','${fileList.fileSn}')">
<img src="/direct/img/upload_hwp_img.png" alt="" />
<span class="file_name_text">${fileList.orignlFileNm}</span>
</a>
</td>
<td><span class="file_size_text" value="${fileList.fileMg}"></span></td>
<td>${fileList.creatDt}</td>
<td>
<input type="button" class="delBtn" onclick="delAtchFile('${fileList.atchFileId}', '${fileList.fileSn}'); return false;">
</td>
<input type="hidden" name="fileSize" class="item_file_size" value="${fileList.fileMg}" >
</tr>
</c:forEach>
</tbody>
</table>
</div>
<div class="fileInfo file_list_div">
<ul class="inline">
<li>
<p><span class="c_456ded fwBold totalfileCount">0</span>개 <span class="c_456ded fwBold totalfileSize">0MB</span></p>
</li>
<li>
<p>최대 <span class="c_e40000 fwBold limitcount_li"></span>개 <span class="c_e40000 fwBold upload_number">50MB</span>제한</p>
</li>
</ul>
</div>
<div class="uploadBtm">
<input type="file" id="file_temp" name="file_temp" class="uploadFile">
<!-- <span class="uploadTtype4">메인비주얼 이미지 크기는 </span><span class="uploadTtype4" style="color: red;">1920 X 843 </span>입니다.</p> -->
</div>
</td>
</tr>
<tr>
<th><span class="reqArea">대체텍스트</span></th>
<td colspan="5">
<form:input path="content" maxlength="500" />
</td>
</tr>
<%-- <tr>
<th class="td_title1"><span class="star_t">*</span>첨부 파일</th>
<td colspan="5" class="td_txt_exist">
<c:import url="/cmm/fms/selectFileInfsForUpdate.do" charEncoding="utf-8">
<c:param name="param_atchFileId" value="${mainPopupVO.mainzoneImageFile }" />
<c:param name="img_view" value="N" />
<c:param name="img_view_w" value="200" />
<c:param name="img_view_h" value="200" />
<c:param name="updateFlag" value="N" />
<c:param name="img_change_view" value="Y" />
</c:import>
</td>
</tr> --%>
<c:if test="${!empty mainPopupVO.popId}">
<tr>
<th><span class="reqArea">최종수정일</span></th>
<td>
${mainPopupVO.moddt}
</td>
</tr>
<tr>
<th><span class="reqArea">작성자</span></th>
<td>
${mainPopupVO.registerId}
</td>
</tr>
</c:if>
</tbody>
</table>
</div>
<div class="btnWrap right">
<input type="button" class="btnType1 bg_888888" value="목 록" onclick="goList(); return false;" >
<c:if test="${!empty mainPopupVO.popId }">
<input type="button" class="btnType1 bg_ed4545" value="삭 제" onclick="fn_mainzone_delete(); return false;" >
<input type="button" class="btnType1" value="수 정" onclick="validate('mainzone_U'); return false;">
</c:if>
<c:if test="${empty mainPopupVO.popId }">
<input type="button" class="btnType1" value="저 장" onclick="validate('mainzone_I'); return false;">
</c:if>
</div>
</div>
</div>
</form:form>
<form name="searchForm" id="searchForm" method="get" action="<c:url value='/uss/ion/bnr/pop/mainPopupList.do'/>" ></form>
</body>
</html>

View File

@ -1,681 +0,0 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<!DOCTYPE html>
<html lang="ko">
<head>
<title>한국공예·디자인문화진흥원</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="description" content="한국공예·디자인문화진흥원에 대한 정보를 제공합니다.">
<meta name="keywords" content="한국공예·디자인문화진흥원">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script type="text/javascript" src="/js/tab.js"></script>
<link href="/css/style.css" rel="stylesheet">
<link rel="stylesheet" type="text/css" href="/css/style.min.css">
<link href="/js/font-awesome/css/font-awesome.min.css" rel="stylesheet">
<link href="/css/page.css" rel="stylesheet">
<link rel="stylesheet" href="/css/flexslider.css" type="text/css" media="screen" /><!-- 이미지슬라이드 -->
<script defer src="/js/jquery.flexslider.js"></script>
<link href="/css/index.css" rel="stylesheet">
<script type="text/javascript">
$(document).ready(function(){
if($(window).width() < 701){
$('.main_magazine').attr("onclick", "javascript:location.href='${popupzoneList_05[0].mlink}'");
}
// 실서버
if($(location).attr('host').indexOf("kcdf.or.kr") != -1){
if($(location).attr('host').indexOf("www") == -1){
var strurl = $(location).attr('href');
strurl = strurl.replace("kcdf.or.kr", "www.kcdf.or.kr");
window.location.replace(strurl);
}
}
//레이어 팝업 띄우기
<c:forEach var="popupListData" items="${popupList}" varStatus="status" end="10">
<c:if test="${popupListData.popupType eq 'L'}">
if(fnGetCookie('layer_${popupListData.popupId}') == null){
$("#layer_pop_${popupListData.popupId}").fadeIn();
}
</c:if>
</c:forEach>
//윈도우 팝업 띄우기
<c:forEach var="popupListData" items="${popupList}" varStatus="status" end="10">
<c:if test="${popupListData.popupType eq 'W'}">
if(fnGetCookie('${popupListData.popupId}') == null ){
fn_openPopup('${popupListData.popupId}', '${popupListData.sortNum}','${popupListData.popupWidthSize}','${popupListData.popupVrticlSize}','${popupListData.popupWidthLc}','${popupListData.popupVrticlLc}');
}
</c:if>
</c:forEach>
});
function fn_layerClose(popupId){
$("#layer_pop_"+popupId).fadeOut();
}
function fn_egov_inqire_notice(bbsId, nttId) {
document.frm.bbsId.value = bbsId;
document.frm.nttId.value = nttId;
document.frm.method = "get";
if("EXTBBSM_000000000002" == bbsId){ //입찰
document.frm.action = "/web/cop/bbs/viewExtBoard.do";
}else{
document.frm.action = "/web/cop/bbsWeb/selectBoardArticle.do";
}
//document.frm.action = "/web/cop/bbsWeb/selectBoardArticle.do";
document.frm.submit();
}
function fn_egov_inqire_notice_secd(bbsId, nttId, seCd) {
document.frmSecd.bbsId.value = bbsId;
document.frmSecd.nttId.value = nttId;
document.frmSecd.seCd.value = seCd;
document.frmSecd.method = "get";
if("EXTBBSM_000000000002" == bbsId){ //입찰
document.frmSecd.action = "/web/cop/bbs/selectExtBbsList.do";
document.frmSecd.submit();
}else{
document.frmSecd.action = "/web/cop/bbsWeb/selectBoardArticle.do";
document.frmSecd.submit();
}
}
function checkMobileDevice() {
var mobileKeyWords = new Array('Android', 'iPhone', 'iPod', 'BlackBerry', 'Windows CE', 'SAMSUNG', 'LG', 'MOT', 'SonyEricsson');
for (var info in mobileKeyWords) {
if (navigator.userAgent.match(mobileKeyWords[info]) != null) {
return true;
}
}
return false;
}
function fn_egov_addNotice() {
document.frm.method = "get";
document.frm.bbsId.value = "BBSMSTR_000000000153";
document.frm.action = "/web/cop/bbs/addBoardArticle.do";
document.frm.submit();
}
/* ********************************************************
* 팝업창 오픈 쿠키 정보 OPEN
******************************************************** */
function fnGetCookie(name) {
var prefix = name + "=";
var cookieStartIndex = document.cookie.indexOf(prefix);
if (cookieStartIndex == -1) return null;
var cookieEndIndex = document.cookie.indexOf(";", cookieStartIndex + prefix.length);
if (cookieEndIndex == -1) cookieEndIndex = document.cookie.length;
return unescape(document.cookie.substring(cookieStartIndex + prefix.length, cookieEndIndex));
}
/* ********************************************************
* 쿠키설정
******************************************************** */
function fnSetCookiePopup( name, value, expiredays ) {
var todayDate = new Date();
todayDate.setDate( todayDate.getDate() + expiredays );
document.cookie = name + "=" + escape( value ) + "; path=/; expires=" + todayDate.toGMTString() + ";"
}
/* ********************************************************
* 체크버튼 클릭시
******************************************************** */
function fnPopupCheck(popupId , typeFlag) {
fnSetCookiePopup( typeFlag+"_"+popupId , "done" , 1);
fn_layerClose(popupId);
}
function fn_openPopup(popupId,seq,width,height,x,y){
if(width < 200){
width = 200;
}
if(height < 200){
height = 200;
}
var openPopup = window.open('<c:url value='/web/main/EgovPopup.do'/>'+'?popupId='+popupId,
'pop_'+popupId,'width='+width+',height='+height+',top='+y+',left='+x);
if(openPopup != null){
if (window.focus) {openPopup.focus()}
}
}
</script>
<style>
.btn{ background: none;}
.btn:hover {background:none;}
</style>
</head>
<body>
<section class="main">
<!-- 메인비주얼 -->
<!-- <div class="visual_txt"><img src="/img/index/visual_txt.png" alt="한국공예디자인문화진흥원"></div> -->
<div id="slides" class="visual" style="cursor:pointer;">
<c:forEach var="result" items="${mainzoneList}" varStatus="status">
<img alt="${result.mazNm}" onerror="this.src='/images/no_img.jpg'" src='<c:url value='/cmm/fms/getImage.do'/>?atchFileId=<c:out value="${result.mainzoneImageFile}"/>'
<c:if test="${not empty result.mlink}" >
onclick="window.open('${result.mlink}', '_blank');"
</c:if>
/>
</c:forEach>
</div>
<script src="/js/jquery.slides.min.js"></script>
<script type="text/javascript">
$('#slides').slidesjs({
play: {
active: true,
auto: false,
interval: 9000,
navigation:false,
swap: true,
effect : "slide"
},
navigation: {
active: true
},
});
</script>
<!-- 메인 공지글 -->
<div class="main_board_pc">
<div class="main_board">
<div class="main_board_box">
<div class="board_title">공지</div>
<div class="board_more"><a href="/web/cop/bbsWeb/selectBoardList.do?bbsId=BBSMSTR_000000000122">more +</a></div>
<div class="board_list">
<ul>
<c:forEach var="result" items="${noticeMap}" varStatus="status">
<li><span class="lt_list">
<a href="javascript:fn_egov_inqire_notice('${result.bbsId}', '${result.nttId}');">
<c:out value="${result.nttSj}" />
</a>
</span><span class="lt_date">${result.frstRegisterPnttm}</span></li>
</c:forEach>
</ul>
</div>
</div>
<div class="main_board_box">
<div class="board_title">사업</div>
<div class="board_more"><a href="/web/cop/bbsWeb/selectBoardList.do?bbsId=BBSMSTR_000000000119&seCd=SE01">more +</a></div>
<div class="board_list">
<ul>
<c:forEach var="result" items="${bizMap}" varStatus="status">
<li><span class="lt_list">
<a href="javascript:fn_egov_inqire_notice_secd('${result.bbsId}', '${result.nttId}' , '${result.seCd}' );">
<c:out value="${result.nttSj}" />
</a>
</span><span class="lt_date">${result.frstRegisterPnttm}</span></li>
</c:forEach>
</ul>
</div>
</div>
<div class="main_board_box">
<div class="board_title">입찰</div>
<div class="board_more"><a href="/web/cop/bbs/selectExtBbsList.do?bbsId=EXTBBSM_000000000002">more +</a></div>
<div class="board_list">
<ul>
<c:forEach var="result" items="${bidMap}" varStatus="status">
<li><span class="lt_list">
<a href="javascript:fn_egov_inqire_notice('${result.bbsId}', '${result.nttId}');">
<c:out value="${result.nttSj}" />
</a>
</span><span class="lt_date">${result.frstRegisterPnttm}</span></li>
</c:forEach>
</ul>
</div>
</div>
<div class="main_board_box">
<div class="board_title">채용</div>
<div class="board_more"><a href="/web/cop/bbsWeb/selectBoardList.do?bbsId=BBSMSTR_000000000124&seCd=SE01">more +</a></div>
<div class="board_list">
<ul>
<c:forEach var="result" items="${hireMap}" varStatus="status">
<li><span class="lt_list">
<a href="javascript:fn_egov_inqire_notice_secd('${result.bbsId}', '${result.nttId}' , '${result.seCd}' );">
<c:out value="${result.nttSj}" />
</a>
</span><span class="lt_date">${result.frstRegisterPnttm}</span></li>
</c:forEach>
</ul>
</div>
</div>
</div>
</div>
<div class="main_board_mobile">
<ul class="tab_main">
<li class="current" data-tab="tab1">공지</li>
<li data-tab="tab2">입찰</li>
<li data-tab="tab3">사업</li>
<li data-tab="tab4">채용</li>
</ul>
<!--공지-->
<div class="tabcontent current" id="tab1">
<div class="main_board_box">
<div class="board_more"><a href="/web/cop/bbsWeb/selectBoardList.do?bbsId=BBSMSTR_000000000122">more +</a></div>
<div class="board_list">
<ul>
<c:forEach var="result" items="${noticeMap}" varStatus="status">
<li><span class="lt_list">
<a href="javascript:fn_egov_inqire_notice('${result.bbsId}', '${result.nttId}');">
<c:out value="${result.nttSj}" />
</a>
</span><span class="lt_date">${result.frstRegisterPnttm}</span></li>
</c:forEach>
</ul>
</div>
</div>
</div>
<!--입찰-->
<div class="tabcontent" id="tab2">
<div class="main_board_box">
<div class="board_more"><a href="/web/cop/bbs/selectExtBbsList.do?bbsId=EXTBBSM_000000000002">more +</a></div>
<div class="board_list">
<ul>
<c:forEach var="result" items="${bidMap}" varStatus="status">
<li><span class="lt_list">
<a href="javascript:fn_egov_inqire_notice('${result.bbsId}', '${result.nttId}' );">
<c:out value="${result.nttSj}" />
</a>
</span><span class="lt_date">${result.frstRegisterPnttm}</span></li>
</c:forEach>
</ul>
</div>
</div>
</div>
<!--사업-->
<div class="tabcontent" id="tab3">
<div class="main_board_box">
<div class="board_more"><a href="/web/cop/bbsWeb/selectBoardList.do?bbsId=BBSMSTR_000000000119&seCd=SE01">more +</a></div>
<div class="board_list">
<ul>
<c:forEach var="result" items="${bizMap}" varStatus="status">
<li><span class="lt_list">
<a href="javascript:fn_egov_inqire_notice_secd('${result.bbsId}', '${result.nttId}' , '${result.seCd}' );">
<c:out value="${result.nttSj}" />
</a>
</span><span class="lt_date">${result.frstRegisterPnttm}</span></li>
</c:forEach>
</ul>
</div>
</div>
<script>
$(function() {
$('ul.tab_main li').click(function() {
var activeTab = $(this).attr('data-tab');
$('ul.tab_main li').removeClass('current');
$('.tabcontent').removeClass('current');
$(this).addClass('current');
$('#' + activeTab).addClass('current');
})
});
</script>
</div>
<!--채용-->
<div class="tabcontent" id="tab4">
<div class="main_board_box">
<div class="board_more"><a href="/web/cop/bbsWeb/selectBoardList.do?bbsId=BBSMSTR_000000000124&seCd=SE01">more +</a></div>
<div class="board_list">
<ul>
<c:forEach var="result" items="${hireMap}" varStatus="status">
<li><span class="lt_list">
<a href="javascript:fn_egov_inqire_notice_secd('${result.bbsId}', '${result.nttId}' , '${result.seCd}' );">
<c:out value="${result.nttSj}" />
</a>
</span><span class="lt_date">${result.frstRegisterPnttm}</span></li>
</c:forEach>
</ul>
</div>
</div>
</div>
</div>
<!-- 메인 소식 -->
<div class="main_notice">
<div class="main_title_wr"><img src="/img/index/main_notice_icon.png" alt="아이콘"> 한국공예디자인문화진흥원 소식</div>
<div class="flexslider main_notice_img">
<ul class="slides">
<c:forEach var="result" items="${popupzoneList_01}" varStatus="status">
<li>
<div alt="${result.pozNm}" style="background:url(<c:url value='/cmm/fms/getImage.do'/>?atchFileId=<c:out value="${result.popupzoneImageFile}"/>); cursor:pointer;"
<c:if test="${result.istarget eq 'C'}" >
onclick="javascript:location.href='${result.mlink}';"
</c:if>
<c:if test="${result.istarget eq 'N'}" >
onclick="window.open('${result.mlink}', '_blank');"
</c:if>
>
</div>
</li>
</c:forEach>
</ul>
</div>
<!-- FlexSlider -->
<script type="text/javascript">
(function() {
// store the slider in a local variable
var $window = $(window),
flexslider = { vars:{} };
// tiny helper function to add breakpoints
function getGridSize() {
return (window.innerWidth < 600) ? 1 :
(window.innerWidth < 900) ? 2 : 3;
}
$window.load(function() {
$('.flexslider').flexslider({
slideshow: false,
animation: "slide",
animationSpeed: 400,
animationLoop: false,
itemWidth: 463,
itemMargin: 46,
minItems: getGridSize(), // use function to pull in initial value
maxItems: getGridSize(), // use function to pull in initial value
start: function(slider){
$('body').removeClass('loading');
flexslider = slider;
}
});
});
// check grid size on resize event
$window.resize(function() {
var gridSize = getGridSize();
flexslider.vars.minItems = gridSize;
flexslider.vars.maxItems = gridSize;
});
}());
</script>
</div>
<div class="main_gal_wr">
<div class="main_top_wr">
<!-- KCDF 갤러리 안내 -->
<div class="main_gal_left">
<div class="main_title_wr"><img src="/img/index/main_notice_icon.png" alt="아이콘"> KCDF 갤러리 안내</div>
<div class="main_gal_menu">
<ul>
<li><a href="/web/content.do?proFn=kcdf_gallery" target="_blank"><img src="/img/index/main_gallery_menu01.png" alt="KCDF 갤러리 소개"></a></li>
<li><a href="/web/cop/resve/selectResveList.do?viewCnd=resveList" target="_blank"><img src="/img/index/main_gallery_menu02.png" alt="KCDF 갤러리 대관신청"></a></li>
<li><a href="https://library.kcdf.kr/web/" target="_blank" ><img src="/img/index/main_gallery_menu03.png" alt="KCDF 도서관 바로가기"></a></li>
<li><a href="http://kcdfshop.kr/" target="_blank" ><img src="/img/index/main_gallery_menu04.png" alt="KCDF 온라인샵 바로가기"></a></li>
</ul>
</div>
</div>
<!-- KCDF 갤러리 전시 -->
<div class="main_gal_right">
<div class="main_title_wr"><img src="/img/index/main_gallery2_icon.png" alt="아이콘"> KCDF 갤러리 전시</div>
<div class="flexslider02 main_gal_img">
<ul class="slides">
<c:forEach var="result" items="${popupzoneList_02}" varStatus="status">
<li>
<div alt="${result.pozNm}" style="cursor:pointer; background-image:url(<c:url value='/cmm/fms/getImage.do'/>?atchFileId=<c:out value="${result.popupzoneImageFile}"/>);"
<c:if test="${result.istarget eq 'C'}" >
onclick="javascript:location.href='${result.mlink}';"
</c:if>
<c:if test="${result.istarget eq 'N'}" >
onclick="window.open('${result.mlink}', '_blank');"
</c:if>
>
</div>
</li>
</c:forEach>
</ul>
</div>
<!-- FlexSlider -->
<script type="text/javascript">
(function() {
// store the slider in a local variable
var $window = $(window),
flexslider = { vars:{} };
// tiny helper function to add breakpoints
function getGridSize() {
return (window.innerWidth < 600) ? 1 :
(window.innerWidth < 900) ? 1 : 1;
}
$window.load(function() {
$('.flexslider02').flexslider({
slideshow: false,
animation: "slide",
animationSpeed: 400,
animationLoop: false,
itemWidth: 463,
itemMargin: 10,
minItems: getGridSize(), // use function to pull in initial value
maxItems: getGridSize(), // use function to pull in initial value
start: function(slider){
$('body').removeClass('loading');
flexslider = slider;
}
});
});
// check grid size on resize event
$window.resize(function() {
var gridSize = getGridSize();
flexslider.vars.minItems = gridSize;
flexslider.vars.maxItems = gridSize;
});
}());
</script>
</div>
<div class="mobile_bottom">
<!-- KCDF 블로그 -->
<div class="main_blog">
<div class="main_title_wr"><img src="/img/index/main_blog_icon.png" alt="아이콘"> 한국공예디자인문화진흥원 블로그</div>
<ul class="main_blog_list">
<c:forEach var="result" items="${popupzoneList_03}" varStatus="status">
<li alt="${fn:substring(result.pozNm,0,7)}" style="background:url('<c:url value='/cmm/fms/getImage.do'/>?atchFileId=<c:out value="${result.popupzoneImageFile}"/>') no-repeat center #f3f3f3; background-size:cover;cursor:pointer;"
<c:if test="${result.istarget eq 'C'}" >
onclick="javascript:location.href='${result.mlink}';"
</c:if>
<c:if test="${result.istarget eq 'N'}" >
onclick="window.open('${result.mlink}', '_blank');"
</c:if>
>
<div class="blog_thum_bg" style="width: 100%;">${result.pozNm}</div></li>
</c:forEach>
</ul>
</div>
<!-- 우수문화상품지정제 190207 수정s -->
<c:if test="${not empty popupzoneList_04}" >
<div class="main_kribbon"><!-- 190207 링크추가 수정-->
<div class="kribbon_thumnail" alt="${popupzoneList_04[0].pozNm}" style="background:url('<c:url value='/cmm/fms/getImage.do'/>?atchFileId=<c:out value="${popupzoneList_04[0].popupzoneImageFile}"/>') no-repeat center; background-size:contain;"></div>
<div class="kribbon_left">
<div class="btn">
<a href="${popupzoneList_04[0].mlink}"
<c:if test="${popupzoneList_04[0].istarget ne 'C'}" >
target="_blank"
</c:if>
>바로가기</a>
</div>
</div>
<div class="kribbon_right">
<div class="title">우수문화상품지정제</div>
<div class="text">
우수문화상품 지정제도는
한국의 문화적 가치를 담은 우수문화상품을
지정하여 한복의 옷고름 모양을 딴
K-ribbon 마크를 부착하고, 체계적인
관리와 브랜드마케팅을 통해
‘코리아프리미엄’을 창출하고자 하는
제도 입니다.
<p class="maTop10">2015년 11월 부터 시행되었으며,
문화콘텐츠, 한복, 공예품, 한식·식품 등
한국을 대표할 수 있는 문화상품들을
대상으로 합니다. </p>
</div>
</div>
</div>
</c:if>
<!-- 정기구독 s 190207 수정-->
<c:if test="${not empty popupzoneList_05}" >
<div class="main_magazine"><!-- 190207 링크추가 수정-->
<div class="magazine_thumnail" alt="${popupzoneList_05[0].pozNm}" style="background:url('<c:url value='/cmm/fms/getImage.do'/>?atchFileId=<c:out value="${popupzoneList_05[0].popupzoneImageFile}"/>') no-repeat center; background-size:contain"></div>
<div class="btn">
<a href="${popupzoneList_05[0].mlink}"
<c:if test="${popupzoneList_05[0].istarget ne 'C'}" >
target="_blank"
</c:if>
><img src="/img/index/main_magazine_btn.png" alt="정기구독신청"></a></div>
<div class="text01">
「공예+디자인」은<br>
한국공예디자인문화진흥원이<br>
격월로 발행하는 공예·디자인<br>
전문간행물입니다.
</div>
<div class="text02">공예 + 디자인 격월발행</div>
</div>
</c:if>
</div>
</div>
</div>
<!-- 배너 -->
<div id="link_wrap">
<div class="link_wrap_1300">
<div class="flexslider03 banner_img">
<!--190207 수정 s-->
<ul class="slides">
<c:forEach var="banner" items="${bannerList}" varStatus="status">
<li>
<div alt="${banner.bannerNm}" style="background:url(<c:url value='/cmm/fms/getImage.do'/>?atchFileId=<c:out value="${banner.bannerImageFile}"/>) no-repeat center; background-size:contain ;cursor: pointer;";
<c:if test="${banner.istarget ne 'C'}" >
onclick="window.open('${banner.linkUrl}', '_blank');"
</c:if>
<c:if test="${banner.istarget eq 'C'}" >
onclick="window.open('${banner.linkUrl}', '_self');"
</c:if>
></div>
</li>
</c:forEach>
</ul>
<!--190207 수정 e-->
</div>
<!-- FlexSlider -->
<script type="text/javascript">
(function() {
// store the slider in a local variable
var $window = $(window),
flexslider = { vars:{} };
// tiny helper function to add breakpoints
function getGridSize() {
return (window.innerWidth < 500) ? 3 :
(window.innerWidth < 900) ? 5 : 8;
}
$window.load(function() {
$('.flexslider03').flexslider({
slideshow: false,
animation: "slide",
animationSpeed: 400,
animationLoop: false,
itemWidth: 140,
itemMargin: 30, // 190207 수정
minItems: getGridSize(), // use function to pull in initial value
maxItems: getGridSize(), // use function to pull in initial value
start: function(slider){
$('body').removeClass('loading');
flexslider = slider;
}
});
});
// check grid size on resize event
$window.resize(function() {
var gridSize = getGridSize();
flexslider.vars.minItems = gridSize;
flexslider.vars.maxItems = gridSize;
});
}());
</script>
</div>
</div>
</section>
<form name="frm" action="web/cop/bbsWeb/selectBoardArticle.do" method="get">
<input type="hidden" name="bbsId" />
<input type="hidden" name="nttId" value="0" />
</form>
<form name="frmSecd" action="web/cop/bbsWeb/selectBoardArticle.do" method="get">
<input type="hidden" name="bbsId" />
<input type="hidden" name="nttId" value="0" />
<input type="hidden" name="seCd" />
</form>
<!-- 레이어 팝업 -->
<c:if test="${fn:length(popupList) > 0}" >
<style type="text/css">
.pop-layer .pop-container {padding: 0px 0px;}
.pop-layer p.ctxt {color: #666;line-height: 25px;}
.pop-layer .btn-r {width: 100%; padding-top: 10px;border-top: 1px solid #DDD;text-align: right;}
.pop-layer {display: none;position: absolute;background-color: #fff;border: 1px solid #3571B5;z-index: 10;}
</style>
<c:forEach var="popupListData" items="${popupList}" varStatus="status" end="4">
<c:if test="${popupListData.popupType eq 'L'}">
<style type="text/css">
#layer_pop_${popupListData.popupId}{
top: ${popupListData.popupVrticlLc}px;
left: ${popupListData.popupWidthLc}px;
height: auto;
}
</style>
<div id="layer_pop_${popupListData.popupId}" class="pop-layer">
<div class="pop-container">
<div class="pop-conts">
<!--content //-->
${popupListData.nttCn}
<div class="btn-r">
<a href="#" onclick="fn_layerClose('${popupListData.popupId}'); return false;" class="btn-layerClose">Close</a>
<br/>
하루동안 창을 열지 않음 <input type="checkbox" name="chkPopup" value="" onClick="fnPopupCheck('${popupListData.popupId}' , 'layer')" title="하루동안창열지않기체크">
</div>
<!--// content-->
</div>
</div>
</div>
</c:if>
</c:forEach>
</c:if>
<!-- 레이어 팝업 끝-->
</body>
</html>

View File

@ -38,28 +38,6 @@ $(document).ready(function() {
} }
// 2단팝업 제거
var agreePrivateSDate = "2024-11-29";
var agreePrivateNow = new Date();
agreePrivateNow = leadingZeros(agreePrivateNow.getFullYear(), 4) + '-' + leadingZeros(agreePrivateNow.getMonth() + 1, 2) + '-' + leadingZeros(agreePrivateNow.getDate(), 2);
if (agreePrivateNow < agreePrivateSDate) {
$("#agreePrivatePop_20241129").show();
}else{
$("#agreePrivatePop_20241129").hide();
}
//개인정보처리방침 팝업 날짜 설정
var agreePrivateSDate = "2024-11-23";
var agreePrivateNow = new Date();
agreePrivateNow = leadingZeros(agreePrivateNow.getFullYear(), 4) + '-' + leadingZeros(agreePrivateNow.getMonth() + 1, 2) + '-' + leadingZeros(agreePrivateNow.getDate(), 2);
if (agreePrivateNow < agreePrivateSDate) {
$("#agreePrivatePop_20241121").show();
$("#agreePrivatePop_20241122").hide();
}else{
$("#agreePrivatePop_20241121").hide();
$("#agreePrivatePop_20241122").show();
}
//메인 팝업 호출 여부 //메인 팝업 호출 여부
var evntPopCk = fnGetCookie('layer_evntPayPop'); // 이벤트 쿠키 var evntPopCk = fnGetCookie('layer_evntPayPop'); // 이벤트 쿠키
@ -1038,8 +1016,8 @@ function remoteEventPayPop(payCount) {
if (fnGetCookie('layer_evntPayPop') != null) { //첫결제 이벤트 팝업 3일 안보기 체크 if (fnGetCookie('layer_evntPayPop') != null) { //첫결제 이벤트 팝업 3일 안보기 체크
console.log("이벤트 쿠키 있음 : HIDE"); console.log("이벤트 쿠키 있음 : HIDE");
$('.payEventPop').css("display","none"); // $('.payEventPop').css("display","none");
$('.payEventPop').hide(); // $('.payEventPop').hide();
}else{ }else{
console.log("이벤트 쿠키 없음 : SHOW"); console.log("이벤트 쿠키 없음 : SHOW");
@ -1255,8 +1233,8 @@ function fn_click_banner_add_stat(bannerMenuCode){
</div> </div>
<!-- 세로가 짧은 팝업 2개일때 --> <!-- 세로가 짧은 팝업 2개일때 -->
<div class="popup_range" id="agreePrivatePop_20241129"> <!-- <div class="popup_range" id="agreePrivatePop_20241129">
<!-- 20241119 보안강화 인증 수단 도입 안내 팝업 --> 20241119 보안강화 인증 수단 도입 안내 팝업
<div class="layer_popup agreePrivatePop" style="margin: 0 0 20px 30px;" id="agreePrivatePop_20241121"> <div class="layer_popup agreePrivatePop" style="margin: 0 0 20px 30px;" id="agreePrivatePop_20241121">
<div class="layer_popup_cont"> <div class="layer_popup_cont">
<img src="/publish/images/main/popup06_241119.jpg" alt="보안강화 인증수단 도입 안내 2024년11월 17일자로 보안강화를 위해 서비스 로그인시 휴대폰 본인인증 기능을 도입하였으니 서비스 이용에 참고하시기 바랍니다." usemap="#popup-user-map1" style="height:220px; width:413px;"> <img src="/publish/images/main/popup06_241119.jpg" alt="보안강화 인증수단 도입 안내 2024년11월 17일자로 보안강화를 위해 서비스 로그인시 휴대폰 본인인증 기능을 도입하였으니 서비스 이용에 참고하시기 바랍니다." usemap="#popup-user-map1" style="height:220px; width:413px;">
@ -1270,7 +1248,7 @@ function fn_click_banner_add_stat(bannerMenuCode){
</div> </div>
</div> </div>
<!-- 20241122 보안강화 인증 수단 도입 안내 팝업 --> 20241122 보안강화 인증 수단 도입 안내 팝업
<div class="layer_popup agreePrivatePop" style="margin: 0 0 20px 30px;" id="agreePrivatePop_20241122"> <div class="layer_popup agreePrivatePop" style="margin: 0 0 20px 30px;" id="agreePrivatePop_20241122">
<div class="layer_popup_cont"> <div class="layer_popup_cont">
<img src="/publish/images/main/popup06_241122.jpg" alt="보안로그인 서비스 안내 계정 보안 강화를 위해 도입한 기존 보안로그인 서비스를 2024년 11월 22일자로 개선 및 추가하오니 이용에 참고하시기 바랍니다." usemap="#popup-user-map2" style="height:220px; width:413px;"> <img src="/publish/images/main/popup06_241122.jpg" alt="보안로그인 서비스 안내 계정 보안 강화를 위해 도입한 기존 보안로그인 서비스를 2024년 11월 22일자로 개선 및 추가하오니 이용에 참고하시기 바랍니다." usemap="#popup-user-map2" style="height:220px; width:413px;">
@ -1284,7 +1262,7 @@ function fn_click_banner_add_stat(bannerMenuCode){
</div> </div>
</div> </div>
<!-- 20241119 이용약관 팝업 --> 20241119 이용약관 팝업
<div class="layer_popup agreePrivatePop"> <div class="layer_popup agreePrivatePop">
<div class="layer_popup_cont"> <div class="layer_popup_cont">
<img src="/publish/images/main/popup04_241119.jpg" alt="이용약관 개정 안내 변함없는 문자온 서비스 이용에 감사의 말씀 드립니다. 당사 이용약관이 개정되오니 서비스 이용에 참고하시기 바랍니다." usemap="#popup-use-map1" style="height:220px; width:413px;"> <img src="/publish/images/main/popup04_241119.jpg" alt="이용약관 개정 안내 변함없는 문자온 서비스 이용에 감사의 말씀 드립니다. 당사 이용약관이 개정되오니 서비스 이용에 참고하시기 바랍니다." usemap="#popup-use-map1" style="height:220px; width:413px;">
@ -1297,7 +1275,7 @@ function fn_click_banner_add_stat(bannerMenuCode){
<button type="button" class="popup_close agreePrivatePopClose"><img src="/publish/images/main/btn_popup_close01.png" alt="팝업닫기"></button> <button type="button" class="popup_close agreePrivatePopClose"><img src="/publish/images/main/btn_popup_close01.png" alt="팝업닫기"></button>
</div> </div>
</div> </div>
</div> </div> -->
<!--// 세로가 짧은 팝업 2개일때 --> <!--// 세로가 짧은 팝업 2개일때 -->

File diff suppressed because it is too large Load Diff