베스트문자샘플 (메인)화면 기능 추가

This commit is contained in:
name 2023-09-05 15:49:38 +09:00
parent 06fe04fbde
commit baa9ee6143
8 changed files with 777 additions and 9 deletions

View File

@ -175,4 +175,18 @@ public interface LetterService {
public List<LetterVO> selectMainTagWebList(LetterVO letterVO) throws Exception ;
// 첫번째 키워드 조회
public LetterVO selectFrsKeyword(LetterVO letterVO) throws Exception ;
// 메인베스트 태그 관리
public List<LetterVO> selectBastMsgTagList(LetterVO letterVO) throws Exception ;
// 메인베스트 태그 상세
public LetterVO selectBastMsgTagInfo(LetterVO letterVO) throws Exception ;
// 메인베스트 태그 등록
public void insertBastMsgTag(LetterVO letterVO) throws Exception ;
// 메인베스트 태그 수정
public void updateBastMsgTag(LetterVO letterVO) throws Exception ;
}

View File

@ -46,6 +46,7 @@ public class LetterVO extends UserDefaultVO{
private int chkIdsSize;
// 메인태그관리
private String mainSearchTagNo;
private String mainTagNo;
private String tagNm;
private String tagType;
@ -380,7 +381,10 @@ public class LetterVO extends UserDefaultVO{
public void setLetterAlt(String letterAlt) {
this.letterAlt = letterAlt;
}
public String getMainSearchTagNo() {
return mainSearchTagNo;
}
public void setMainSearchTagNo(String mainSearchTagNo) {
this.mainSearchTagNo = mainSearchTagNo;
}
}

View File

@ -324,4 +324,25 @@ public class LetterDAO extends EgovAbstractDAO {
return (LetterVO) select("LetterDAO.selectFrsKeyword", letterVO);
}
// 메인 베스트 태그 관리
@SuppressWarnings("unchecked")
public List<LetterVO> selectBastMsgTagList(LetterVO letterVO) throws Exception {
return (List<LetterVO>) list("LetterDAO.selectBastMsgTagList", letterVO);
}
// 메인 베스트 태그 상세
public LetterVO selectBastMsgTagInfo(LetterVO letterVO) throws Exception {
return (LetterVO) select("LetterDAO.selectBastMsgTagInfo", letterVO);
}
// 메인 베스트 태그 등록
public void insertBastMsgTag(LetterVO letterVO) throws Exception {
insert("LetterDAO.insertBastMsgTag", letterVO);
}
// 메인 베스트 태그 수정
public void updateBastMsgTag(LetterVO letterVO) throws Exception {
update("LetterDAO.updateBastMsgTag", letterVO);
}
}

View File

@ -404,5 +404,25 @@ public class LetterServiceImpl extends EgovAbstractServiceImpl implements Letter
@Override
public LetterVO selectFrsKeyword(LetterVO letterVO) throws Exception {
return letterDAO.selectFrsKeyword(letterVO);
}
}
@Override
public List<LetterVO> selectBastMsgTagList(LetterVO letterVO) throws Exception {
return letterDAO.selectBastMsgTagList(letterVO);
}
@Override
public LetterVO selectBastMsgTagInfo(LetterVO letterVO) throws Exception {
return letterDAO.selectBastMsgTagInfo(letterVO);
}
@Override
public void insertBastMsgTag(LetterVO letterVO) throws Exception {
letterDAO.insertBastMsgTag(letterVO);
}
@Override
public void updateBastMsgTag(LetterVO letterVO) throws Exception {
letterDAO.updateBastMsgTag(letterVO);
}
}

View File

@ -2436,7 +2436,7 @@ public class LetterController {
model.addAttribute("paginationInfo", paginationInfo);
return "letter/messages/MainTagList";
}
}
/**
* 메인태그 등록화면
@ -2528,7 +2528,118 @@ public class LetterController {
modelAndView.addObject("msg", msg);
return modelAndView;
}
}
/*-------------------------------------------*/
/**
* @Method Name : selectBastMsgTagList
* @작성일 : 2023. 9. 5.
* @작성자 : WYH
* @변경이력 :
* @Method 설명 : 배스트 문자샘플 매인화면
*/
@RequestMapping(value="/letter/messages/selectBastMsgTagList.do")
public String selectBastMsgTagList(@ModelAttribute("searchVO") LetterVO searchVO,
ModelMap model) throws Exception {
if(searchVO.getPageUnit() != 10) {
searchVO.setPageUnit(searchVO.getPageUnit());
}
/** pageing */
PaginationInfo paginationInfo = new PaginationInfo();
paginationInfo.setCurrentPageNo(searchVO.getPageIndex());
paginationInfo.setRecordCountPerPage(searchVO.getPageUnit());
paginationInfo.setPageSize(searchVO.getPageSize());
if("".equals(searchVO.getSearchSortCnd())){ //최초조회시 최신것 조회List
searchVO.setSearchSortCnd("mainSearchTagNo");
searchVO.setSearchSortOrd("desc");
}
searchVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
searchVO.setLastIndex(paginationInfo.getLastRecordIndex());
searchVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
List<LetterVO> mainTagList = letterService.selectBastMsgTagList(searchVO);
model.addAttribute("resultList", mainTagList);
paginationInfo.setTotalRecordCount(mainTagList.size() > 0 ? ((LetterVO)mainTagList.get(0)).getTotCnt() : 0);
model.addAttribute("paginationInfo", paginationInfo);
return "letter/messages/BastMsgTagList";
}
/**
* @Method Name : insertBastMsgTagView
* @작성일 : 2023. 9. 5.
* @작성자 : WYH
* @변경이력 :
* @Method 설명 : 베스트 문자샘플 등록화면
*/
@RequestMapping("/letter/messages/insertBastMsgTagView.do")
public String insertBastMsgTagView(
@ModelAttribute("searchVO") LetterVO searchVO
, Model model) throws Exception {
LetterVO letterVO = new LetterVO();
if(null != searchVO.getMainSearchTagNo() && !"".equals(searchVO.getMainSearchTagNo())) {
//수정
letterVO = letterService.selectBastMsgTagInfo(searchVO); //이전 로그인한 IP 까지 조회
}
model.addAttribute("letterVO", letterVO);
return "letter/messages/BastMsgTagInfo";
}
/**
* @Method Name : saveBastMsgTagAjax
* @작성일 : 2023. 9. 5.
* @작성자 : WYH
* @변경이력 :
* @Method 설명 : 베스트 문자샘플 등록 / 수정
*/
@RequestMapping(value = "/letter/messages/saveBastMsgTagAjax.do")
public ModelAndView saveBastMsgTagAjax(
@ModelAttribute("letterVO") LetterVO letterVO) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
boolean isSuccess = true;
String msg = "";
// 로그인VO에서 사용자 정보 가져오기
LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser();
String frstRegisterId = loginVO == null ? "" : loginVO.getId();
letterVO.setRegId(frstRegisterId); // 최초등록자ID
try{
if(null != letterVO.getMainSearchTagNo() && !"".equals(letterVO.getMainSearchTagNo())) {
//수정
letterService.updateBastMsgTag(letterVO);
}
else {
// 등록
letterService.insertBastMsgTag(letterVO);
}
}
catch(Exception e) {
isSuccess = false;
msg = e.getMessage();
}
modelAndView.addObject("isSuccess", isSuccess);
modelAndView.addObject("msg", msg);
return modelAndView;
}
@RequestMapping(value={"/letter/photo/updateMultiMjonMsgAgentStsDataAjax.do"})
public ModelAndView updateMultiMjonMsgAgentStsDataAjax(@ModelAttribute("mjonMsgAgentStsVO") MjonMsgAgentStsVO mjonMsgAgentStsVO) throws Exception {

View File

@ -1043,7 +1043,7 @@
WHERE LETTER_ID = #letterId#
</update>
<!-- 베스트 문자샘플 리스트 조회 -->
<select id="LetterDAO.selectMainTagList" parameterClass="letterVO" resultClass="letterVO">
SELECT
COUNT(A.MAIN_TAG_NO) OVER() AS totCnt,
@ -1097,14 +1097,15 @@
DATE_FORMAT(A.REG_DT,'%Y-%m-%d %H:%i:%S') AS regDt,
A.MOD_ID AS modId,
DATE_FORMAT(A.MOD_DT,'%Y-%m-%d %H:%i:%S') AS modDt
FROM mj_main_tag A
FROM
MJ_MAIN_TAG A
WHERE 1=1
AND A.MAIN_TAG_NO = #mainTagNo#
LIMIT 1
</select>
<insert id="LetterDAO.insertMainTag" parameterClass="letterVO">
INSERT INTO mj_main_tag (
INSERT INTO MJ_MAIN_TAG (
TAG_NM,
TAG_TYPE,
TAG_Div,
@ -1186,4 +1187,108 @@
ORDER BY sort asc
LIMIT 1
</select>
<!-- 메인 베스트 태그관리 리스트 -->
<select id="LetterDAO.selectBastMsgTagList" parameterClass="letterVO" resultClass="letterVO">
SELECT
COUNT(A.MAIN_SEARCH_TAG_NO) OVER() AS totCnt
, A.MAIN_SEARCH_TAG_NO AS mainSearchTagNo
, A.TAG_NM AS tagNm
, A.TAG_TYPE AS tagType
, A.TAG_Div AS tagDiv
, A.URL AS url
, A.SORT AS sort
, A.USE_YN AS useYn
, A.REG_ID AS regId
, DATE_FORMAT(A.REG_DT,'%Y-%m-%d %H:%i') AS regDt
, A.MOD_ID AS modId
, DATE_FORMAT(A.MOD_DT,'%Y-%m-%d %H:%i') AS modDt
FROM
mj_main_search_tag A
WHERE 1=1
<isNotEmpty property="searchTagDiv">
AND A.TAG_DIV = #searchTagDiv#
</isNotEmpty>
<isNotEmpty property="searchTagType">
AND A.TAG_TYPE = #searchTagType#
</isNotEmpty>
<isNotEmpty property="searchUseYn">
AND A.USE_YN = #searchUseYn#
</isNotEmpty>
<isNotEmpty property="searchKeyword">
AND A.TAG_NM LIKE CONCAT('%',#searchKeyword#,'%')
</isNotEmpty>
ORDER BY 1=1
<isNotEmpty property="searchSortCnd">
,$searchSortCnd$
</isNotEmpty>
<isNotEmpty property="searchSortOrd">
$searchSortOrd$
</isNotEmpty>
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
<select id="LetterDAO.selectBastMsgTagInfo" parameterClass="letterVO" resultClass="letterVO">
SELECT
COUNT(A.MAIN_SEARCH_TAG_NO) OVER() AS totCnt,
A.MAIN_SEARCH_TAG_NO AS mainTagNo,
A.TAG_NM AS tagNm,
A.TAG_TYPE AS tagType,
A.TAG_Div AS tagDiv,
A.URL AS url,
A.SORT AS sort,
A.USE_YN AS useYn,
A.REG_ID AS regId,
DATE_FORMAT(A.REG_DT,'%Y-%m-%d %H:%i:%S') AS regDt,
A.MOD_ID AS modId,
DATE_FORMAT(A.MOD_DT,'%Y-%m-%d %H:%i:%S') AS modDt
FROM
MJ_MAIN_SEARCH_TAG A
WHERE 1=1
AND A.MAIN_SEARCH_TAG_NO = #mainSearchTagNo#
LIMIT 1
</select>
<insert id="LetterDAO.insertBastMsgTag" parameterClass="letterVO">
INSERT INTO MJ_MAIN_SEARCH_TAG (
TAG_NM
, TAG_TYPE
, TAG_Div
, URL
, SORT
, USE_YN
, REG_ID
, REG_DT
, MOD_ID
, MOD_DT
)
VALUES (
#tagNm#
, #tagType#
, #tagDiv#
, #url#
, #sort#
, #useYn#
, #regId#
, now()
, #regId#
, now()
)
</insert>
<update id="LetterDAO.updateBastMsgTag" parameterClass="letterVO">
UPDATE
MJ_MAIN_SEARCH_TAG
SET
TAG_NM = #tagNm#
, TAG_TYPE = #tagType#
, TAG_Div = #tagDiv#
, URL = #url#
, SORT = #sort#
, USE_YN = #useYn#
, MOD_ID = #modId#
, MOD_DT = now()
WHERE 1=1
AND MAIN_SEARCH_TAG_NO = #mainSearchTagNo#
</update>
</sqlMap>

View File

@ -0,0 +1,222 @@
<%
/**
* @Class Name : EgovHpcmRegist.jsp
* @Description : EgovHpcmRegist 화면
* @Modification Information
* @
* @ 수정일 수정자 수정내용
* @ ------- -------- ---------------------------
* @ 2009.02.01 박정규 최초 생성
* 2016.06.13 김연호 표준프레임워크 v3.6 개선
*
* @author 공통서비스팀
* @since 2009.02.01
* @version 1.0
* @see
*
*/
%>
<%@ 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"%>
<%@ taglib prefix="ec" uri="/WEB-INF/tld/ecnet_tld.tld"%>
<!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/EgovMultiFile.js'/>"></script>
<script type="text/javaScript" language="javascript">
var crudMode = "${searchVO.crudMode}";
var mainTagNo = "${searchVO.mainTagNo}";
var tagDiv = "1";
$( document ).ready(function(){
// Start
init();
// change 함수
$("input[name='tagDiv']:radio").change(function () {
tagDiv = $(this).val();
if (tagDiv == "1") {
$("#tagTypeTr").show();
$("#urlTr").hide();
}
else if (tagDiv == "2") {
$("#urlTr").show();
$("#tagTypeTr").hide();
}
});
});
// Start
function init() {
tagDiv = $('input[name="tagDiv"]:checked').val();
if (tagDiv == "1") {
$("#tagTypeTr").show();
$("#urlTr").hide();
}
else if (tagDiv == "2") {
$("#urlTr").show();
$("#tagTypeTr").hide();
}
else {
$('#tagDiv1').prop('checked', true);
$("#tagTypeTr").show();
$("#urlTr").hide();
}
}
// 등록, 수정
function setDataSave(tagNo) {
var frm = document.writeForm;
tagDiv = $('input[name="tagDiv"]:checked').val();
if (tagDiv == "1") {
// 검색
if(frm.tagType.value.trim() == ""){
alert("문자구분은 필수값입니다.");
return false;
}
else if(frm.tagNm.value.trim() == ""){
alert("문자키워드는 필수값입니다.");
return false;
}
else if(frm.sort.value.trim() == ""){
alert("정렬순서는 필수값입니다.");
return false;
}
}
else if (tagDiv == "2") {
// 소개
if(frm.tagNm.value.trim() == ""){
alert("문자키워드는 필수값입니다.");
return false;
}
else if(frm.url.value.trim() == ""){
alert("URL은 필수값입니다.");
return false;
}
else if(frm.sort.value.trim() == ""){
alert("정렬순서는 필수값입니다.");
return false;
}
}
if(!confirm("저장 하시겠습니까?")) {
return;
}
$.ajax({
type: "POST"
, url: "/letter/messages/saveBastMsgTagAjax.do"
, data: $("#writeForm").serialize()
, dataType:'json'
, async: false
, success: function (data) {
if (data.isSuccess) {
alert("저장 완료했습니다.");
location.href = "/letter/messages/selectBastMsgTagList.do";
}
else {
alert("Msg : " + data.msg);
}
}
, error: function (e) {
alert("ERROR : " + JSON.stringify(e));
}
});
}
</script>
</head>
<body>
<form name="writeForm" id="writeForm" method="post">
<input type="hidden" id="mainSearchTagNo" name="mainSearchTagNo" value="${searchVO.mainSearchTagNo}" />
<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">
<table class="tbType2">
<colgroup>
<col style="width: 20%">
<col style="width: 80%">
</colgroup>
<tbody>
<tr>
<th><span class="reqArea">메뉴 분류</span></th>
<td colspan="3">
<input type="radio" name="tagDiv" id="tagDiv1" value='1' <c:if test="${letterVO.tagDiv eq '1'}"> checked="checked"</c:if> />
<label for="refundCheckF">검색</label>
&nbsp;&nbsp;
<input type="radio" name="tagDiv" id="tagDiv2" value='2' <c:if test="${letterVO.tagDiv eq '2'}"> checked="checked"</c:if> />
<label for="refundCheckF">소개</label>
</select>
</td>
</tr>
<tr id="tagTypeTr">
<th><span class="reqArea">문자 구분</span></th>
<td colspan="3">
<select id="tagType" name="tagType">
<option value="">선택</option>
<option value="S" <c:if test="${letterVO.tagType eq 'S'}">selected="selected"</c:if>>단문</option>
<option value="L" <c:if test="${letterVO.tagType eq 'L'}">selected="selected"</c:if>>장문</option>
<option value="P" <c:if test="${letterVO.tagType eq 'P'}">selected="selected"</c:if>>그림</option>
</select>
</td>
</tr>
<tr id="urlTr">
<th><span class="reqArea">URL</span></th>
<td colspan="3">
<input type="text" name="url" id="url" title="URL" maxlength="500" value="${letterVO.url}"/>
</td>
</tr>
<tr>
<th><span class="reqArea">문자 키워드</span></th>
<td colspan="3">
<input type="text" name="tagNm" id="tagNm" title="문자 키워드" maxlength="50" value="${letterVO.tagNm}"/>
</td>
</tr>
<tr>
<th><span class="reqArea">정렬순서</span></th>
<td colspan="3">
<input type="text" name="sort" id="sort" title="도움말정의" maxlength="100" value="1" value="${letterVO.sort}"/>
</td>
</tr>
<tr>
<th><span class="reqArea">사용여부</span></th>
<td colspan="3">
<select id="useYn" name="useYn">
<option value="Y" <c:if test="${letterVO.useYn eq 'Y'}">selected="selected"</c:if>>사용</option>
<option value="N" <c:if test="${letterVO.useYn eq 'N'}">selected="selected"</c:if>>미사용</option>
</select>
</td>
</tr>
</tbody>
</table>
<div class="btnWrap">
<input type="button" class="btnType1 bg_888888" value="목 록" onclick="location.href='/letter/messages/selectBastMsgTagList.do'">
<input type="button" class="btnType1" value="저 장" onclick="setDataSave('${searchVO.getMainSearchTagNo()}'); return false;">
</div>
</div>
</div>
</form>
</body>
</html>

View File

@ -0,0 +1,271 @@
<%@ 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"%>
<%@ taglib prefix="ec" uri="/WEB-INF/tld/ecnet_tld.tld"%>
<% pageContext.setAttribute("newLineChar", "\r\n"); %>
<% pageContext.setAttribute("newLineChar2", "\n"); %>
<%
response.setHeader("Cache-Control","no-store");
response.setHeader("Pragma","no-cache");
response.setDateHeader("Expires",0);
if (request.getProtocol().equals("HTTP/1.1")) response.setHeader("Cache-Control", "no-cache");
%>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<script type="text/javascript" src="<c:url value='/js/EgovMultiFile.js'/>"></script>
<script type="text/javaScript" language="javascript">
// 검색
function fn_search(){
linkPage(1);
}
// 페이지 이동
function linkPage(pageNo){
var listForm = document.listForm ;
listForm.pageIndex.value = pageNo ;
listForm.submit();
}
function infoPage(mainSearchTagNo){
var listForm = document.listForm ;
if(mainSearchTagNo != '' && mainSearchTagNo != null){
listForm.mainSearchTagNo.value = mainSearchTagNo ;
}
listForm.action = "/letter/messages/insertBastMsgTagView.do";
listForm.submit();
}
// 전체 체크 버튼
function fnCheckAll(){
var checkField = document.listForm.checkField;
if(document.listForm.checkAll.checked) {
if(checkField.length > 1) {
for(var i=0; i < checkField.length; i++) {
checkField[i].checked = true;
}
} else {
checkField.checked = true;
}
} else {
if(checkField.length > 1) {
for(var j=0; j < checkField.length; j++) {
checkField[j].checked = false;
}
} else {
checkField.checked = false;
}
}
}
//우선순위 변경 기능
function fnSortChange(){
if($("input:checkbox[name='checkField']").is(":checked")==false){
alert("선택된 항목이 없습니다.");
return;
}
var checkField = document.listForm.checkField;
var id = document.listForm.checkId;
var checkedIds = "";
var checkedCount = 0;
var chkIds = new Array();
if(checkField) {
if(checkField.length > 1) {
for(var i=0; i < checkField.length; i++) {
if(checkField[i].checked) {
chkIds.push(id[i].value);
checkedCount++;
}
}
} else {
if(checkField.checked) {
chkIds.push(id.value);
}
}
}
var url = "/letter/messages/updateMainTagSortChangeAjax.do";
//배열 직렬화
jQuery.ajaxSettings.traditional = true;
$.ajax({
type:"post"
, async:false
, url: url
, data: {
"chkIds" : chkIds,
"sort" : document.listForm.chgNum.value,
}
, dataType : "json"
, success: function (returnData, status) {
if(returnData.result == 'success'){
alert("우선순위 변경에 성공하였습니다.");
location.reload(true);
} else if(returnData.result == 'fail'){
alert("우선순위 변경에 실패하였습니다.");
} else if(returnData.result == 'auth_fail'){
alert("권한이 없습니다.");
location.reload(true);
} else{
alert("실패");
}
},
error: function (e) { alert("실패"); console.log("ERROR : ", e); }
});
}
</script>
<form name="listForm" action="<c:url value='/letter/messages/selectMainTagList.do'/>" method="post">
<input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}'/>"/>
<input type="hidden" name="mainSearchTagNo" />
<input type="hidden" name="searchSortCnd" value="<c:out value="${searchVO.searchSortCnd}" />" />
<input type="hidden" name="searchSortOrd" value="<c:out value="${searchVO.searchSortOrd}" />" />
<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">
<select id="searchTagDiv" name="searchTagDiv">
<option value="" <c:if test="${empty searchVO.searchTagDiv}">selected="selected"</c:if>>분류(전체)</option>
<option value="1" <c:if test="${searchVO.searchTagDiv == '1'}">selected="selected"</c:if>>검색</option>
<option value="2" <c:if test="${searchVO.searchTagDiv == '2'}">selected="selected"</c:if>>소개</option>
</select>
<select id="searchTagType" name="searchTagType">
<option value="" <c:if test="${empty searchVO.searchTagType}">selected="selected"</c:if>>문자구분(전체)</option>
<option value="S" <c:if test="${searchVO.searchTagType == 'S'}">selected="selected"</c:if>>단문</option>
<option value="L" <c:if test="${searchVO.searchTagType == 'L'}">selected="selected"</c:if>>장문</option>
<option value="P" <c:if test="${searchVO.searchTagType == 'P'}">selected="selected"</c:if>>그림</option>
</select>
<select id="searchUseYn" name="searchUseYn">
<option value="" <c:if test="${empty searchVO.searchUseYn}">selected="selected"</c:if>>사용여부(전체)</option>
<option value="Y" <c:if test="${searchVO.searchUseYn == 'Y'}">selected="selected"</c:if>>사용</option>
<option value="N" <c:if test="${searchVO.searchUseYn == 'N'}">selected="selected"</c:if>>미사용</option>
</select>
<input id="searchKeyword" name="searchKeyword" class="recentSearch" type="text" value="<c:out value='${searchVO.searchKeyword}'/>" size="25" title="검색" maxlength="100" />
<input type="button" class="btnType1" value="검색" onclick="fn_search(); 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='10' <c:if test="${searchVO.pageUnit == '10' or searchVO.pageUnit == ''}">selected</c:if>>10줄</option>
<option value='20' <c:if test="${searchVO.pageUnit == '20'}">selected</c:if>>20줄</option>
<option value='30' <c:if test="${searchVO.pageUnit == '30'}">selected</c:if>>30줄</option>
</select>
</div>
</div>
<div class="tableWrap">
<table class="tbType1">
<colgroup>
<col style="width: 5%">
<col style="width: 5%">
<col style="width: 5%">
<col style="width: 5%">
<col style="width: 14%">
<col style="width: auto;">
<col style="width: 6%">
<col style="width: 5%">
<col style="width: 9%">
<col style="width: 8%">
</colgroup>
<thead>
<tr>
<th><input type="checkbox" name="checkAll" id="checkAll" onclick="fnCheckAll();" /><label for="checkAll"></label></th>
<th>번호<input type="button" class="sort sortBtn" id="sort_mainSearchTagNo"></th>
<th>분류<input type="button" class="sort sortBtn" id="sort_tagDiv"></th>
<th>구분<input type="button" class="sort sortBtn" id="sort_tagType"></th>
<th>키워드<input type="button" class="sort sortBtn" id="sort_tagNm"></th>
<th>URL</th>
<th>순서<input type="button" class="sort sortBtn" id="sort_sort"></th>
<th>사용<input type="button" class="sort sortBtn" id="sort_useYn"></th>
<th>등록자</th>
<th>등록일자<input type="button" class="sort sortBtn" id="sort_regDt"></th>
</tr>
</thead>
<tbody>
<c:forEach var="result" items="${resultList}" varStatus="status">
<tr>
<td>
<input type="checkbox" name="checkField" id="<c:out value='${result.mainSearchTagNo }'/>"/>
<input name="checkId" type="hidden" value="<c:out value='${result.mainSearchTagNo}'/>"/>
</td>
<td>
<c:if test="${searchVO.searchSortOrd eq 'desc' }">
<c:out value="${ ( paginationInfo.totalRecordCount - ((paginationInfo.currentPageNo -1)*paginationInfo.recordCountPerPage) ) - status.index }"/>
</c:if>
<c:if test="${searchVO.searchSortOrd eq 'asc' }">
<c:out value="${(paginationInfo.currentPageNo - 1) * paginationInfo.recordCountPerPage + status.count}"/>
</c:if>
</td>
<td>
<c:choose>
<c:when test="${result.tagDiv == '1'}">검색</c:when>
<c:when test="${result.tagDiv == '2'}">소개</c:when>
</c:choose>
</td>
<td>
<c:choose>
<c:when test="${result.tagType == 'S'}">단문</c:when>
<c:when test="${result.tagType == 'L'}">장문</c:when>
<c:when test="${result.tagType == 'P'}">그림</c:when>
<c:otherwise>-</c:otherwise>
</c:choose>
</td>
<td>
<a href="#" onclick="infoPage('${result.mainSearchTagNo}'); return false;"><c:out value="${result.tagNm}"/></a>
</td>
<td style="text-align: left;">
<a href="#" onclick="infoPage('${result.mainSearchTagNo}'); return false;"><c:out value="${result.url}"/></a>
</td>
<td>
<c:out value="${result.sort}"/>
</td>
<td>
<c:choose>
<c:when test="${result.useYn == 'Y'}">사용</c:when>
<c:when test="${result.useYn == 'N'}">미사용</c:when>
</c:choose>
</td>
<td><c:out value="${result.regId}"/></td>
<td title="<c:out value="${result.regDt}"/>">
<fmt:parseDate value="${result.regDt}" var="regDateValue" pattern="yyyy-MM-dd HH:mm"/>
<fmt:formatDate value="${regDateValue}" pattern="MM-dd HH:mm"/>
</td>
</tr>
</c:forEach>
<c:if test="${empty resultList}">
<tr><td colspan="10"><spring:message code="common.nodata.msg" /></td></tr>
</c:if>
</tbody>
</table>
</div>
<div>
선택한 그림문자의 우선순위를 <input type="text" id="chgNum" name="chgNum" value="" maxlength="9">번으로 <button type="button" onclick="fnSortChange();" class="btnType1">변경</button>
</div>
<div class="btnWrap">
<input type="button" class="btnType1" value="등록" onclick="infoPage(''); return false;" value="등록" >
</div>
<!-- 페이지 네비게이션 시작 -->
<c:if test="${!empty resultList}">
<div class="page">
<ul class="inline">
<ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" />
</ul>
</div>
</c:if>
<!-- //페이지 네비게이션 끝 -->
</div>
</div>
</form>