메인팝업 진행중
This commit is contained in:
parent
2cf806dc65
commit
3b544be5f2
@ -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; // 링크좌표
|
||||
|
||||
}
|
||||
@ -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; // 게시 종료일자
|
||||
|
||||
|
||||
|
||||
}
|
||||
1235
src/main/java/itn/com/uss/ion/bnr/pop/web/MainPopupController.java
Normal file
1235
src/main/java/itn/com/uss/ion/bnr/pop/web/MainPopupController.java
Normal file
File diff suppressed because it is too large
Load Diff
@ -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>
|
||||
236
src/main/webapp/WEB-INF/jsp/uss/ion/bnr/pop/mainPopupList.jsp
Normal file
236
src/main/webapp/WEB-INF/jsp/uss/ion/bnr/pop/mainPopupList.jsp
Normal 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>
|
||||
601
src/main/webapp/WEB-INF/jsp/uss/ion/bnr/pop/mainPopupModify.jsp
Normal file
601
src/main/webapp/WEB-INF/jsp/uss/ion/bnr/pop/mainPopupModify.jsp
Normal 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="홈이미지"> > <p class="topDepth">비주얼관리</p> > <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>분
|
||||
  ~  
|
||||
<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>
|
||||
@ -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>
|
||||
@ -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'); // 이벤트 쿠키
|
||||
@ -1038,8 +1016,8 @@ function remoteEventPayPop(payCount) {
|
||||
if (fnGetCookie('layer_evntPayPop') != null) { //첫결제 이벤트 팝업 3일 안보기 체크
|
||||
console.log("이벤트 쿠키 있음 : HIDE");
|
||||
|
||||
$('.payEventPop').css("display","none");
|
||||
$('.payEventPop').hide();
|
||||
// $('.payEventPop').css("display","none");
|
||||
// $('.payEventPop').hide();
|
||||
}else{
|
||||
console.log("이벤트 쿠키 없음 : SHOW");
|
||||
|
||||
@ -1255,8 +1233,8 @@ function fn_click_banner_add_stat(bannerMenuCode){
|
||||
</div>
|
||||
|
||||
<!-- 세로가 짧은 팝업 2개일때 -->
|
||||
<div class="popup_range" id="agreePrivatePop_20241129">
|
||||
<!-- 20241119 보안강화 인증 수단 도입 안내 팝업 -->
|
||||
<!-- <div class="popup_range" id="agreePrivatePop_20241129">
|
||||
20241119 보안강화 인증 수단 도입 안내 팝업
|
||||
<div class="layer_popup agreePrivatePop" style="margin: 0 0 20px 30px;" id="agreePrivatePop_20241121">
|
||||
<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;">
|
||||
@ -1270,7 +1248,7 @@ function fn_click_banner_add_stat(bannerMenuCode){
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 20241122 보안강화 인증 수단 도입 안내 팝업 -->
|
||||
20241122 보안강화 인증 수단 도입 안내 팝업
|
||||
<div class="layer_popup agreePrivatePop" style="margin: 0 0 20px 30px;" id="agreePrivatePop_20241122">
|
||||
<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;">
|
||||
@ -1284,7 +1262,7 @@ function fn_click_banner_add_stat(bannerMenuCode){
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 20241119 이용약관 팝업 -->
|
||||
20241119 이용약관 팝업
|
||||
<div class="layer_popup agreePrivatePop">
|
||||
<div class="layer_popup_cont">
|
||||
<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>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div> -->
|
||||
<!--// 세로가 짧은 팝업 2개일때 -->
|
||||
|
||||
|
||||
|
||||
2081
src/main/webapp/WEB-INF/jsp/web/main/mainPage_advc_20250227.jsp
Normal file
2081
src/main/webapp/WEB-INF/jsp/web/main/mainPage_advc_20250227.jsp
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user