베스트문자샘플 (메인)화면 기능 추가
This commit is contained in:
parent
06fe04fbde
commit
baa9ee6143
@ -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 ;
|
||||
}
|
||||
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@ -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 {
|
||||
|
||||
@ -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>
|
||||
|
||||
222
src/main/webapp/WEB-INF/jsp/letter/messages/BastMsgTagInfo.jsp
Normal file
222
src/main/webapp/WEB-INF/jsp/letter/messages/BastMsgTagInfo.jsp
Normal 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>
|
||||
|
||||
<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>
|
||||
271
src/main/webapp/WEB-INF/jsp/letter/messages/BastMsgTagList.jsp
Normal file
271
src/main/webapp/WEB-INF/jsp/letter/messages/BastMsgTagList.jsp
Normal 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>
|
||||
Loading…
Reference in New Issue
Block a user