Merge branch 'JIWOO'

This commit is contained in:
JIWOO 2024-09-23 09:40:01 +09:00
commit 887c684c94
9 changed files with 1006 additions and 0 deletions

View File

@ -0,0 +1,14 @@
package seed.com.gtm.dao;
import java.util.List;
import java.util.Map;
public interface TeamBoardDao {
public void boardInsert(Map<String,Object> paramMap);
public List<Map<String,Object>> boardList(Map<String,Object> paramMap);
public int boardListCnt(Map<String, Object> paramMap);
public Map<String,Object> boardView(Map<String, Object> paramMap);
public void boardUpdate(Map<String, Object> paramMap);
public void boardDel(Map<String, Object> paramMap);
public void cntUpdate(Map<String, Object> paramMap);
}

View File

@ -0,0 +1,49 @@
package seed.com.gtm.dao;
import java.util.List;
import java.util.Map;
import org.apache.ibatis.session.SqlSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
@Repository
public class TeamBoardDaoImpl implements TeamBoardDao {
@Autowired
private SqlSession sqlSession;
@Override
public void boardInsert(Map<String, Object> paramMap) {
sqlSession.insert("team.insert", paramMap);
}
@Override
public List<Map<String, Object>> boardList(Map<String, Object> paramMap) {
return sqlSession.selectList("team.select", paramMap);
}
@Override
public int boardListCnt(Map<String, Object> paramMap) {
return sqlSession.selectOne("team.selectCnt", paramMap);
}
@Override
public Map<String, Object> boardView(Map<String, Object> paramMap) {
return sqlSession.selectOne("team.selectOne", paramMap);
}
@Override
public void boardUpdate(Map<String, Object> paramMap) {
sqlSession.update("team.update", paramMap);
}
@Override
public void boardDel(Map<String, Object> paramMap) {
sqlSession.update("team.delete", paramMap);
}
@Override
public void cntUpdate(Map<String, Object> paramMap) {
sqlSession.update("team.cntUpdate", paramMap);
}
}

View File

@ -0,0 +1,132 @@
package seed.com.gtm.team;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import seed.com.gtm.seedfile.SeedFileService;
import seed.com.gtm.util.SeedCriteria;
import seed.com.gtm.util.PageMaker;
@Controller
@RequestMapping("/gtm/case")
public class TeamBoardController {
@Autowired
private TeamBoardService service;
@Autowired
private SeedFileService fileService;
@RequestMapping(value="/team/board/write.do", method=RequestMethod.GET)
public String teamWrite(ModelMap model, @RequestParam Map<String,Object> paramMap){
return "/seed/_extra/gtm/team/write";
}
@RequestMapping(value="/team/board/write.do", method=RequestMethod.POST)
public String teamWrite(HttpServletRequest request ,HttpSession session, @RequestParam Map<String,Object> paramMap, Map<String, Object> map){
paramMap.put("memberName", session.getAttribute("memberName"));
paramMap.put("memberId", session.getAttribute("memberId"));
paramMap.put("memberDept", session.getAttribute("memberDept"));
paramMap.put("memberPosition", session.getAttribute("memberPosition"));
service.boardInsert(paramMap);
//현제 등록된 게시글의 시퀀스 불러와 맵에 저장
paramMap.put("dataIdx", paramMap.get("seq"));
fileService.fileInsert(paramMap, request, session);
map.put("message", "common.message.reg");
map.put("url", "/gtm/case/team/board/list.do");
return "/_common/jsp/message";
}
@RequestMapping("/team/board/list.do")
public String teamList(ModelMap model, HttpSession session, SeedCriteria cri,@RequestParam Map<String,Object> paramMap){
//로그인페이지로 튕겨나가지 않게 우선은 임시방편
session.setAttribute("siteIdx", "case");
//페이징 관련
paramMap.put("pageStart", cri.getPageStart());
paramMap.put("perPageNum", cri.getPerPageNum());
paramMap.put("memberDept", session.getAttribute("memberDept"));
List<Map<String,Object>> bbsList = service.boardList(paramMap);
PageMaker pageMaker = new PageMaker();
pageMaker.setCri(cri);
pageMaker.setTotalCount(service.boardListCnt(paramMap));
model.addAttribute("bbsList", bbsList);
model.addAttribute("pageMaker", pageMaker);
return "/seed/_extra/gtm/team/list";
}
@RequestMapping("/team/board/view.do")
public String teamView(ModelMap model, @RequestParam Map<String,Object> paramMap){
paramMap.put("dataIdx", paramMap.get("teamNo"));
model.addAttribute("bbsView", service.boardView(paramMap));
model.addAttribute("fileList", fileService.fileList(paramMap));
service.cntUpdate(paramMap);
return "/seed/_extra/gtm/team/view";
}
@RequestMapping(value="/team/board/edit.do", method=RequestMethod.GET)
public String teamEdit(ModelMap model, @RequestParam Map<String,Object> paramMap){
paramMap.put("dataIdx", paramMap.get("teamNo"));
List<Map<String, Object>> fileList = fileService.fileList(paramMap);
model.addAttribute("bbsView", service.boardView(paramMap));
model.addAttribute("fileList", fileList);
model.addAttribute("fileListSize", fileList.size());
return "/seed/_extra/gtm/team/edit";
}
@RequestMapping(value="/team/board/edit.do", method=RequestMethod.POST)
public String teamEdit(HttpSession session, HttpServletRequest request, @RequestParam Map<String,Object> paramMap, Map<String, Object> map){
paramMap.put("memberId", session.getAttribute("memberId"));
paramMap.put("dataIdx", paramMap.get("teamNo"));//fileInsert에서 필요
service.boardUpdate(paramMap);
fileService.fileInsert(paramMap, request, session);
fileService.fileDel(paramMap);
map.put("message", "common.message.mod");
map.put("url", "/gtm/case/team/board/view.do?teamNo=" + paramMap.get("teamNo") +
"&searchType=" + paramMap.get("searchType") + "&searchTilte=" + paramMap.get("searchTilte") + "&page=" + paramMap.get("page")+
"&fileFuncType=" + paramMap.get("fileFuncType")
);
return "/_common/jsp/message";
}
@RequestMapping("team/board/bbsDel.do")
public String teamDel(HttpSession session, @RequestParam Map<String,Object> paramMap, Map<String, Object> map){
paramMap.put("dataIdx", paramMap.get("teamNo"));
service.boardDel(paramMap);
fileService.fileDelAll(paramMap);
map.put("message", "common.message.del");
map.put("url", "/gtm/case/team/board/list.do?searchType=" + paramMap.get("searchType") +
"&searchTilte=" + paramMap.get("searchTilte") + "&page=" + paramMap.get("page")
);
return "/_common/jsp/message";
}
}

View File

@ -0,0 +1,43 @@
package seed.com.gtm.team;
import java.util.List;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import seed.com.gtm.dao.TeamBoardDao;
@Service
public class TeamBoardService {
@Autowired
private TeamBoardDao dao;
public void boardInsert(Map<String,Object> paramMap){
dao.boardInsert(paramMap);
}
public List<Map<String, Object>> boardList(Map<String,Object> paramMap){
return dao.boardList(paramMap);
}
public int boardListCnt(Map<String, Object> paramMap){
return dao.boardListCnt(paramMap);
}
public Map<String, Object> boardView(Map<String, Object> paramMap){
return dao.boardView(paramMap);
}
public void boardUpdate(Map<String, Object> paramMap){
dao.boardUpdate(paramMap);
}
public void boardDel(Map<String, Object> paramMap){
dao.boardDel(paramMap);
}
public void cntUpdate(Map<String, Object> paramMap){
dao.cntUpdate(paramMap);
}
}

View File

@ -0,0 +1,135 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="team">
<insert id="insert" parameterType="java.util.HashMap" useGeneratedKeys="false">
<selectKey keyProperty="seq" resultType="int" order="BEFORE">
select C_TEAMBOARD_SEQ.NEXTVAL FROM DUAL
</selectKey>
INSERT INTO C_TEAMBOARD(
TEAM_NO,
TEAM_TITLE,
TEAM_CONTENT,
TEAM_CNT,
TEAM_REGID,
TEAM_REGNM,
TEAM_REGDATE,
TEAM_MODID,
TEAM_MODDATE,
TEAM_GUBUN,
DEL_YN,
TEAM_PART
) VALUES (
${seq},
#{teamTitle},
#{editorParam_teamContent},
0,
#{memberId},
#{memberName},
SYSDATE,
#{memberId},
SYSDATE,
#{memberDept},
'N',
#{memberPosition}
)
</insert>
<select id="select" parameterType="java.util.HashMap" resultType="java.util.HashMap">
SELECT * FROM
(
SELECT ROW_.*, ROWNUM AS RNUM FROM
(
SELECT TEAM_NO,
TEAM_TITLE,
TEAM_CONTENT,
TEAM_CNT,
TEAM_REGID,
TEAM_REGNM,
TEAM_REGDATE,
TEAM_MODID,
TEAM_MODDATE,
TEAM_GUBUN,
DEL_YN,
(SELECT CODE_NAME FROM C_CODE WHERE CODE_IDXS = TEAM_GUBUN) AS TEAM_GUBUN_NM
FROM C_TEAMBOARD
WHERE DEL_YN = 'N'
<!-- <if test="memberDept != '1001000000' and memberDept != '1003000000'">
AND TEAM_GUBUN = #{memberDept}
</if> -->
<if test="searchTeam != null and searchTeam != ''">
<choose>
<when test="searchTeam == '1001000000'">AND TEAM_GUBUN = '1001000000'</when>
<when test="searchTeam == '1002000000'">AND TEAM_GUBUN = '1002000000'</when>
<when test="searchTeam == '1003000000'">AND TEAM_GUBUN = '1003000000'</when>
<when test="searchTeam == '1004000000'">AND TEAM_GUBUN = '1004000000'</when>
<when test="searchTeam == '1005000000'">AND TEAM_GUBUN = '1005000000'</when>
<when test="searchTeam == '1006000000'">AND TEAM_GUBUN = '1006000000'</when>
<when test="searchTeam == '1007000000'">AND TEAM_GUBUN = '1007000000'</when>
<when test="searchTeam == '1008000000'">AND TEAM_GUBUN = '1008000000'</when>
<when test="searchTeam == '1009000000'">AND TEAM_GUBUN = '1009000000'</when>
<when test="searchTeam == '1010000000'">AND TEAM_GUBUN = '1010000000'</when>
<when test="searchTeam == '1030000000'">AND TEAM_GUBUN = '1030000000'</when>
</choose>
</if>
<if test="searchTilte != null and searchTilte != ''">
<choose>
<when test="searchType == 'title'">AND TEAM_TITLE LIKE '%' || #{searchTilte} || '%'</when>
<when test="searchType == 'content'">AND TEAM_CONTENT LIKE '%' || #{searchTilte} || '%'</when>
</choose>
</if>
ORDER BY TEAM_NO DESC
) ROW_
)
WHERE RNUM > #{pageStart} AND #{perPageNum} >= ROWNUM
</select>
<select id="selectCnt" parameterType="java.util.HashMap" resultType="int">
SELECT COUNT(*)
FROM C_TEAMBOARD
WHERE DEL_YN = 'N'
<!-- <if test="memberDept != '1001000000' and memberDept != '1003000000'">
AND TEAM_GUBUN = #{memberDept}
</if> -->
<if test="searchTilte != null and searchTilte != ''">
<choose>
<when test="searchType == 'title'">AND TEAM_TITLE LIKE '%' || #{searchTilte} || '%'</when>
<when test="searchType == 'content'">AND TEAM_CONTENT LIKE '%' || #{searchTilte} || '%'</when>
</choose>
</if>
</select>
<select id="selectOne" parameterType="java.util.HashMap" resultType="java.util.HashMap">
SELECT TEAM_TITLE,
TEAM_REGNM,
dbms_lob.substr(TEAM_CONTENT, dbms_lob.getlength(TEAM_CONTENT), 1) AS TEAM_CONTENT,
TEAM_REGDATE,
TEAM_CNT,
(SELECT CODE_NAME FROM C_CODE WHERE CODE_IDXS = TEAM_GUBUN) AS TEAM_GUBUN_NM
FROM C_TEAMBOARD
WHERE TEAM_NO = #{teamNo}
</select>
<update id="update">
UPDATE C_TEAMBOARD
SET TEAM_TITLE = #{teamTitle},
TEAM_CONTENT = #{editorParam_teamContent},
TEAM_MODID = #{memberId},
TEAM_MODDATE = SYSDATE
WHERE TEAM_NO = #{teamNo}
</update>
<delete id="delete">
UPDATE C_TEAMBOARD
SET DEL_YN = 'Y'
WHERE TEAM_NO = #{teamNo}
</delete>
<delete id="cntUpdate">
UPDATE C_TEAMBOARD
SET TEAM_CNT = TEAM_CNT+1
WHERE TEAM_NO = #{teamNo}
</delete>
</mapper>

View File

@ -0,0 +1,162 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
<!doctype html>
<html lang="ko">
<head>
<title>정보 관리</title>
<link href='/css/space.css' rel='stylesheet' type='text/css'/>
<link href='/css/seed.contents.css' rel='stylesheet' type='text/css'/>
<link href='/css/seed.mediaquery.css' rel='styleGsheet' type='text/css'/>
<link href='/site/ntcc/css/gtmCustom.css' rel='stylesheet' type='text/css'/>
<script src="/editor/webnote.js"></script>
</head>
<body>
<div class="page-title-wrap clear">
<div class="page-title-inner">
<h3 class="page-title">팀 게시판</h3>
<div class="tooltipBox type01">
<button type="button" class="page-tip">페이지안내</button>
<div class="tooltipText">
<p>팀 게시판을 수정 할 수 있는 페이지 입니다.</p>
</div>
</div>
</div>
</div>
<form:form name="writeFrm" id="writeFrm" action="/gtm/case/team/board/edit.do" method="post">
<input type="hidden" name="teamNo" value="${param.teamNo}">
<input type="hidden" name="searchType" value="${param.searchType}">
<input type="hidden" name="searchTeam" value="${param.searchTeam}">
<input type="hidden" name="searchTilte" value="${param.searchTilte}">
<input type="hidden" name="page" id="page" value="${param.page}">
<fieldset>
<div class="bbs-view-layout">
<div class="bbs-view-item">
<p class="item-title">제목</p>
<div class="item-box">
<input type="text" name="teamTitle" id="teamTitle" maxlength="250" value="${bbsView.TEAM_TITLE}">
</div>
</div>
<div class="bbs-view-item">
<p class="item-title">작성자</p>
<div class="item-box">
${memberName}
</div>
</div>
<div class="bbs-view-item">
<p class="item-title">첨부자료</p>
<div class="item-box">
<div class="temp-file-area">
<label for="upFile" class="temp-file-button">첨부파일</label>
</div>
<ul class="upFileHtml" id="upFileHtml">
<c:forEach items="${fileList}" var="list" varStatus="status">
<li id="fileUploadP${status.count}" class="bbsFileHtml">
<img src="/img/user/bbs/icon_file.gif" alt="gif">&nbsp;&nbsp;<span>${list.EXTRA_FILE_NAME}</span>
<a href="javascript:;" onclick="javascript:jf_delete_file('${status.count}', '${list.EXTRA_FILE_SIZE}');" class="del ml7"><img src="/img/user/bbs/btn_file_del.png" alt="삭제"></a>
<input type="hidden" name="fileIdx" value="${list.EXTRA_FILE_IDX}" class="fileIdxClass"/>
</li>
</c:forEach>
</ul>
<input type="hidden" name="fileFuncType" value="team" />
<input type="hidden" name="uploadFileCnt" value="${fileListSize}" id="uploadFileCntId" />
<input type="hidden" name="deleteFileData" value="" id="deleteFileDataId" />
</div>
</div>
<div class="bbs-view-item">
<p class="item-title">내용</p>
<div class="item-box">
<textarea class="bg_essential " name="editorParam_teamContent" id="content" title="내용을 입력하세요" style="width:99%; height:300px;" editor="webnote" tools="deny:images,emoticon,special_chars">${bbsView.TEAM_CONTENT}</textarea>
</div>
</div>
</div>
<div class="btn-area">
<button type="submit" class="btn-normal violet mb10">저장</button>
<a href="javascript:goList()" class="btn-normal lightgray">목록</a>
</div>
</fieldset>
</form:form>
<!-- 파일 입시저장을 위한 폼 -->
<form id="fileTempUpFrm" action="/seed/extra/temp/file.do" method="post" enctype="multipart/form-data">
<input type="hidden" name="fileFuncType" value="team" />
<div class="temp-file-area">
<input type="file" name="upFile" id="upFile" class="essential temp-file-hideen" onchange="fileTempUp();" required title="첨부파일" value="" style="ime-mode: disabled;" >
</div>
</form>
<form name="paramFrm" id="paramFrm" action="/gtm/case/team/board/list.do" method="get">
<input type="hidden" name="searchType" value="${param.searchType}">
<input type="hidden" name="searchTeam" value="${param.searchTeam}">
<input type="hidden" name="searchTilte" value="${param.searchTilte}">
<input type="hidden" name="page" id="page" value="${param.page}">
</form>
<script type="text/javascript">
webnote.setConfig({
auto_start: true, //페이지로딩시 페이지에 웹노트 에디터를 자동으로 생성할것인지(true: 자동생성, false: 생성안함)
lang: "ko", //언어셋(lang 디렉토리내에 언어셋.txt 파일이 있어야 함(ex: ko.txt)
base_dir: "/editor", //웹노트 설치디렉토리를 직접 지정
css_url: "/editor/webnote.css", //기본 css 파일을 직접 지정
icon_dir: "/editor/icon", //기본 아이콘 디렉토리를 직접 지정
emoticon_dir: "/editor/emoticon", //기본 이모티콘 디렉토리를 직접 지정
attach_proc: "/common/proc/case/editor/editorFileReg.do", //에디터에 이미지 즉시 업로드를 처리하는 서버스크립트를 직접 지정
delete_proc: "/common/proc/case/editor/editorFileDel.do", //에디터에 즉시 업로드된 이미지 삭제를 처리하는 서버스크립트를 직접 지정(attach_proc 과 같을경우 설정 불필요)
use_blind: true, //팝업메뉴 출력 시 반투명 배경 스크린 사용여부(true:사용(기본), false: 미사용)
allow_dndupload: false, //드래그&드롭을 통한 이미지 파일 업로드 허용 여부
allow_dndresize: false, //드래그&드롭을 통한 에디터 사이즈(높이) 조절 허용 여부
//fonts: ["굴림체","궁서체"], //선택할 수 있는 폰트종류를 직접 정의
//fontsizes: ["9pt","10pt"], //선택할 수 있는 폰트사이즈를 직접 정의(단위포함)
lineheights: ["120%","150%","180%"], //선택할 수 있는 줄간격을 직접 정의(단위포함)
//emoticons: ["Nerd"], //선택할 수 있는 이모티콘들을 직접 정의(png파일은 확장자 생략 가능하며, 그외에는 확장자까지 입력 : PNG, GIF, JPG 만 가능)
//specialchars: ["§","☆"], //선택할 수 있는 특수문자를 직접 정의
code_highlight: true,
fade_popup: true, //팝업 열리기/닫히기 시 fade in/out 기능 적용 여부(사용pc 사용이 낮은경우 false로 )
attach_list_view: false
});
$(window).load(function(){
$("#idx_toolbar_webnote_content_imagecenter").hide();
$("#idx_toolbarcontainer_webnote_content img").each(function(index, item) {
if($(item).attr("class") != "webnote_seperator"){
var event = $(item).attr("onclick");
$(item).wrap("<a href='javascript:;' onclick="+event+">");
$(item).attr("onclick", "");
}
});
});
$(document).ready(function(){
$("#writeFrm").submit(function(){
if($("#examSubj").val().trim() == ""){
alert("제목을 입력해 주세요.");
$("#examSubj").focus();
return false;
}
/* if($("#regMberNm").val().trim() == ""){
alert("작성자를 입력해 주세요.");
$("#regMberNm").focus();
return false;
} */
/* if($("#content").val() == ""){
alert("내용을 입력해 주세요.");
$("#content").focus();
return false;
} */
});
});
function goList(){
$("#paramFrm").submit();
}
</script>
<script src="/js/jquery.form.js"></script>
<script src="/js/seedFileUtil.js"></script>
</body>
</html>

View File

@ -0,0 +1,168 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
<!doctype html>
<html lang="ko">
<head>
<title>정보 관리</title>
<link href='/css/space.css' rel='stylesheet' type='text/css'/>
<link href='/css/seed.contents.css' rel='stylesheet' type='text/css'/>
<link href='/css/seed.mediaquery.css' rel='styleGsheet' type='text/css'/>
<link href='/site/ntcc/css/gtmCustom.css' rel='stylesheet' type='text/css'/>
<script src="/editor/webnote.js"></script>
</head>
<body>
<div class="page-title-wrap clear">
<div class="page-title-inner">
<h3 class="page-title">팀 게시판</h3>
<div class="tooltipBox type01">
<button type="button" class="page-tip">페이지안내</button>
<div class="tooltipText">
<p>팀 게시판에 대한 목록 화면 입니다.</p>
</div>
</div>
</div>
<div class="sch-content-wrap clear">
<form name="searchFrm" id="searchFrm" action="" method="get">
<input type="hidden" name="teamNo" id="teamNo" value="">
<input type="hidden" name="page" id="page" value="${pageMaker.cri.page}">
<input type="hidden" name="fileFuncType" id="fileFuncType" value="team">
<fieldset>
<select name="searchTeam" id="searchTeam" class="sch-select" title="팀검색">
<option value="">전체</option>
<option value="1001000000" <c:if test="${param.searchTeam == '1001000000'}">selected="selected"</c:if>>한국공정거래조정원</option>
<option value="1002000000" <c:if test="${param.searchTeam == '1002000000'}">selected="selected"</c:if>>운영지원팀</option>
<option value="1003000000" <c:if test="${param.searchTeam == '1003000000'}">selected="selected"</c:if>>분쟁조정실</option>
<option value="1004000000" <c:if test="${param.searchTeam == '1004000000'}">selected="selected"</c:if>>공정거래팀</option>
<option value="1005000000" <c:if test="${param.searchTeam == '1005000000'}">selected="selected"</c:if>>가맹거래팀</option>
<option value="1006000000" <c:if test="${param.searchTeam == '1006000000'}">selected="selected"</c:if>>건설하도급팀</option>
<option value="1007000000" <c:if test="${param.searchTeam == '1007000000'}">selected="selected"</c:if>>제조하도급팀</option>
<option value="1008000000" <c:if test="${param.searchTeam == '1008000000'}">selected="selected"</c:if>>약관팀</option>
<option value="1030000000" <c:if test="${param.searchTeam == '1030000000'}">selected="selected"</c:if>>유통팀</option>
<option value="1009000000" <c:if test="${param.searchTeam == '1009000000'}">selected="selected"</c:if>>대리점팀</option>
<option value="1010000000" <c:if test="${param.searchTeam == '1010000000'}">selected="selected"</c:if>>민원상담센터</option>
</select>
<select name="searchType" id="searchType" class="sch-select" title="자료유형 선택">
<option value="title" <c:if test="${param.searchType == 'title'}">selected="selected"</c:if>>제목</option>
<option value="content" <c:if test="${param.searchType == 'content'}">selected="selected"</c:if>>내용</option>
</select>
<input type="text" name="searchTilte" value="${param.searchTilte}" class="sch-text" title="제목검색">
<button type="button" class="btn-page-sch" title="검색 완료 버튼" onclick="goPage('search', '')">검색</button>
</fieldset>
</form>
</div>
</div>
<div class="form-wrap">
<div class="table-layout br-none">
<table>
<caption>분쟁조정 사례 테이블입니다.</caption>
<colgroup>
<col class="item-mobile-hidden" style="width:5%">
<col class="title">
<col class="item-mobile-hidden" style="width:10%">
</colgroup>
<thead>
<tr>
<th scope="col">번호</th>
<th scope="col">구분</th>
<th scope="col">제목</th>
<th scope="col">작성자</th>
<th scope="col">작성일</th>
<th scope="col">조회수</th>
</tr>
</thead>
<tbody>
<c:forEach items="${bbsList}" var="list" varStatus="status">
<tr>
<td class="item-mobile-hidden">${(pageMaker.totalCount - ((pageMaker.cri.page-1)*pageMaker.cri.perPageNum)) - status.index}</td>
<td>${list.TEAM_GUBUN_NM}</td>
<td><a href="javascript:goPage('view', '${list.TEAM_NO}');">${list.TEAM_TITLE}</a></td>
<td>${list.TEAM_REGNM}</td>
<td>${list.TEAM_REGDATE}</td>
<td class="item-mobile-hidden">${list.TEAM_CNT}</td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
<div class="change-state-area" style="overflow: hidden;">
<div align="right">
<button type="button" onclick="goPage('write','')" class="btn-change-state" style="background-color: #5e66ab;">글쓰기</button>
</div>
</div>
</div>
<!-- 페이징 -->
<div class="pagination-container">
<div class="pagination-inner clear">
<div class='pagination-control prev clear'>
<a class='first-btn' href="javascript:goPage('paging', '1')" title="첫페이지"></a>
<c:choose>
<c:when test="${pageMaker.prev}">
<a class='prev-btn' href="javascript:goPage('paging', '${pageMaker.cri.page - 1}')" title="이전페이지"><img src="/img/common/list_navi2.gif" alt="이전 목록으로 이동" /></a>
</c:when>
<c:otherwise>
<a class='prev-btn' href="javascript:goPage('paging', '${pageMaker.cri.page}')" title="이전페이지"><img src="/img/common/list_navi2.gif" alt="이전 목록으로 이동" /></a>
</c:otherwise>
</c:choose>
</div>
<ul class='pagination clear'>
<c:forEach begin="${pageMaker.startPage}" end="${pageMaker.endPage }" var="idx">
<c:choose>
<c:when test="${idx == pageMaker.cri.page }">
<li><a class='on' href="javascript:goPage('paging', '${idx}')" title="현재페이지">${idx}</a></li>
</c:when>
<c:otherwise>
<li><a href="javascript:goPage('paging', '${idx}')" title="${idx}페이지">${idx}</a></li>
</c:otherwise>
</c:choose>
</c:forEach>
</ul>
<div class='pagination-control next clear'>
<c:choose>
<c:when test="${pageMaker.next}">
<a class='next-btn' href="javascript:goPage('paging', '${pageMaker.cri.page + 1}')" title="다음페이지"><img src="/img/common/list_navi3.gif" alt="다음 목록으로 이동" /></a>
</c:when>
<c:otherwise>
<a class='next-btn' href="javascript:goPage('paging', '${pageMaker.cri.page}')" title="다음페이지"><img src="/img/common/list_navi3.gif" alt="다음 목록으로 이동" /></a>
</c:otherwise>
</c:choose>
<a class='last-btn' href="javascript:goPage('paging', '${pageMaker.endPage}')" title="마지막페이지"><img src="/img/common/list_navi4.gif" alt="마지막 목록으로 이동" /></a>
</div>
</div>
</div>
<!-- 페이징 END -->
<script type="text/javascript">
function goPage(type, param){
if(type == 'write'){
$("#teamNo").remove();
$("#fileFuncType").remove();
$("#searchFrm").attr("action","/gtm/case/team/board/write.do");
$("#searchFrm").submit();
}else if(type == 'search'){
$("#teamNo").remove();
$("#fileFuncType").remove();
$("#page").val("1");
$("#searchFrm").attr("action","/gtm/case/team/board/list.do");
$("#searchFrm").submit();
}else if(type == 'view'){
$("#teamNo").val(param);
$("#searchFrm").attr("action","/gtm/case/team/board/view.do");
$("#searchFrm").submit();
}else if(type == 'paging'){
$("#teamNo").remove();
$("#fileFuncType").remove();
$("#page").val(param);
$("#searchFrm").attr("action","/gtm/case/team/board/list.do");
$("#searchFrm").submit();
}
}
</script>
</body>
</html>

View File

@ -0,0 +1,110 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
<!doctype html>
<html lang="ko">
<head>
<title>정보 관리</title>
<link href='/css/space.css' rel='stylesheet' type='text/css'/>
<link href='/css/seed.contents.css' rel='stylesheet' type='text/css'/>
<link href='/css/seed.mediaquery.css' rel='styleGsheet' type='text/css'/>
<link href='/site/ntcc/css/gtmCustom.css' rel='stylesheet' type='text/css'/>
<script src="/editor/webnote.js"></script>
</head>
<body>
<div class="page-title-wrap clear">
<div class="page-title-inner">
<h3 class="page-title">팀 게시판</h3>
<div class="tooltipBox type01">
<button type="button" class="page-tip">페이지안내</button>
<div class="tooltipText">
<p>팀 게시판 상세 페이지 입니다.</p>
</div>
</div>
</div>
</div>
<div class="bbs-view-layout">
<div class="bbs-view-item">
<p class="item-title">제목</p>
<div class="item-box">
${bbsView.TEAM_TITLE}
</div>
</div>
<div class="bbs-view-item">
<p class="item-title">구분</p>
<div class="item-box">
${bbsView.TEAM_GUBUN_NM}
</div>
</div>
<div class="bbs-view-item">
<p class="item-title">작성자</p>
<div class="item-box">
${bbsView.TEAM_REGNM}
</div>
</div>
<div class="bbs-view-item">
<p class="item-title">작성일</p>
<div class="item-box">
${bbsView.TEAM_REGDATE}
</div>
</div>
<div class="bbs-view-item">
<p class="item-title">조회수</p>
<div class="item-box">
${bbsView.TEAM_CNT}
</div>
</div>
<div class="bbs-view-item">
<p class="item-title">첨부자료</p>
<div class="item-box">
<c:forEach items="${fileList}" var="list" varStatus="status">
<div style="margin-top:10px">
<img src="/img/user/bbs/icon_file.gif" alt="gif">&nbsp;&nbsp;<a href="/seed/extra/down/file.do?dataIdx=${list.EXTRA_FILE_IDX}&funcType=${list.EXTRA_FUNC_TYPE}&pathKey1=${siteIdx}">${list.EXTRA_FILE_NAME}</a>
</div>
</c:forEach>
</div>
</div>
<div class="bbs-view-item">
<p class="item-title">내용</p>
<div class="item-box">
${bbsView.TEAM_CONTENT}
</div>
</div>
</div>
<div class="btn-area">
<button type="button" class="btn-normal violet mb10" onclick="moveFunc('del')">삭제</button>
<button type="button" class="btn-normal violet mb10" onclick="moveFunc('edit')">수정</button>
<a href="javascript:moveFunc('list')" class="btn-normal lightgray">목록</a>
</div>
<form action="" method="get" id="moveFrm">
<input type="hidden" name="teamNo" id="teamNo" value="${param.teamNo}">
<input type="hidden" name="searchType" value="${param.searchType }">
<input type="hidden" name="searchTilte" value="${param.searchTilte }">
<input type="hidden" name="searchTeam" value="${param.searchTeam }">
<input type="hidden" name="page" id="page" value="${param.page }">
<input type="hidden" name="fileFuncType" id="fileFuncType" value="team">
</form>
<script type="text/javascript">
function moveFunc(type){
if(type == "edit"){
$("#moveFrm").attr("action", "/gtm/case/team/board/edit.do");
$("#moveFrm").submit();
}else if(type == "list"){
$("#teamNo").remove();
$("#fileFuncType").remove();
$("#moveFrm").attr("action", "/gtm/case/team/board/list.do");
$("#moveFrm").submit();
}else if(type == "del"){
if(confirm("정말 삭제 하시겠습니까?")){
$("#moveFrm").attr("action", "/gtm/case/team/board/bbsDel.do");
$("#moveFrm").submit();
}
}
}
</script>
</body>
</html>

View File

@ -0,0 +1,193 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
<!doctype html>
<html lang="ko">
<head>
<title>정보 관리</title>
<link href='/css/space.css' rel='stylesheet' type='text/css'/>
<link href='/css/seed.contents.css' rel='stylesheet' type='text/css'/>
<link href='/css/seed.mediaquery.css' rel='styleGsheet' type='text/css'/>
<link href='/site/ntcc/css/gtmCustom.css' rel='stylesheet' type='text/css'/>
<script src="/editor/webnote.js"></script>
</head>
<body>
<div class="page-title-wrap clear">
<div class="page-title-inner">
<h3 class="page-title">팀 게시판</h3>
<div class="tooltipBox type01">
<button type="button" class="page-tip">페이지안내</button>
<div class="tooltipText">
<p>팀 게시판을 등록 할 수 있는 페이지 입니다.</p>
</div>
</div>
</div>
</div>
<%-- <form:form name="writeFrm" id="writeFrm" action="${pageType}/${siteIdx}/${boardIdx}/write.do" method="post"> --%>
<form:form name="writeFrm" id="writeFrm" action="/gtm/case/team/board/write.do" method="post">
<fieldset>
<div class="bbs-view-layout">
<div class="bbs-view-item">
<p class="item-title">제목</p>
<div class="item-box">
<input type="text" name="teamTitle" id="teamTitle" maxlength="250">
</div>
</div>
<div class="bbs-view-item">
<p class="item-title">구분</p>
<div class="item-box">
<c:choose>
<c:when test="${memberDept == '1001000000' }">
한국공정거래조정원
</c:when>
<c:when test="${memberDept == '1002000000' }">
운영지원팀
</c:when>
<c:when test="${memberDept == '1003000000' }">
분쟁조정실
</c:when>
<c:when test="${memberDept == '1004000000' }">
공정거래팀
</c:when>
<c:when test="${memberDept == '1005000000' }">
가맹거래팀
</c:when>
<c:when test="${memberDept == '1006000000' }">
건설하도급팀
</c:when>
<c:when test="${memberDept == '1007000000' }">
제조하도급팀
</c:when>
<c:when test="${memberDept == '1008000000' }">
약관팀
</c:when>
<c:when test="${memberDept == '1030000000' }">
유통팀
</c:when>
<c:when test="${memberDept == '1009000000' }">
대리점팀
</c:when>
<c:when test="${memberDept == '1010000000' }">
민원상담센터
</c:when>
<c:when test="${memberDept == '1020000000' }">
관리팀
</c:when>
</c:choose>
</div>
</div>
<div class="bbs-view-item">
<p class="item-title">작성자</p>
<div class="item-box">
${memberName}
</div>
</div>
<div class="bbs-view-item">
<p class="item-title">첨부자료</p>
<div class="item-box">
<div class="temp-file-area">
<label for="upFile" class="temp-file-button">첨부파일</label>
</div>
<ul class="upFileHtml" id="upFileHtml">
</ul>
<input type="hidden" name="fileFuncType" value="team" />
<input type="hidden" name="uploadFileCnt" value="0" id="uploadFileCntId" />
<input type="hidden" name="deleteFileData" value="" id="deleteFileDataId" />
</div>
</div>
<div class="bbs-view-item">
<p class="item-title">내용</p>
<div class="item-box">
<textarea class="bg_essential " name="editorParam_teamContent" id="content" title="내용을 입력하세요" style="width:99%; height:300px;" editor="webnote" tools="deny:images,emoticon,special_chars"></textarea>
</div>
</div>
</div>
<div class="btn-area">
<button type="submit" class="btn-normal violet mb10">저장</button>
<a href="javascript:goList()" class="btn-normal lightgray">목록</a>
</div>
</fieldset>
</form:form>
<!-- 파일 입시저장을 위한 폼 -->
<form id="fileTempUpFrm" action="/seed/extra/temp/file.do" method="post" enctype="multipart/form-data">
<input type="hidden" name="fileFuncType" value="team" />
<div class="temp-file-area">
<input type="file" name="upFile" id="upFile" class="essential temp-file-hideen" onchange="fileTempUp();" required title="첨부파일" value="" style="ime-mode: disabled;" >
</div>
</form>
<form name="paramFrm" id="paramFrm" action="/gtm/case/team/board/list.do" method="get">
<input type="hidden" name="searchType" value="${param.searchType}">
<input type="hidden" name="searchTeam" value="${param.searchTeam}">
<input type="hidden" name="searchTilte" value="${param.searchTilte}">
<input type="hidden" name="page" id="page" value="${param.page}">
</form>
<script type="text/javascript">
webnote.setConfig({
auto_start: true, //페이지로딩시 페이지에 웹노트 에디터를 자동으로 생성할것인지(true: 자동생성, false: 생성안함)
lang: "ko", //언어셋(lang 디렉토리내에 언어셋.txt 파일이 있어야 함(ex: ko.txt)
base_dir: "/editor", //웹노트 설치디렉토리를 직접 지정
css_url: "/editor/webnote.css", //기본 css 파일을 직접 지정
icon_dir: "/editor/icon", //기본 아이콘 디렉토리를 직접 지정
emoticon_dir: "/editor/emoticon", //기본 이모티콘 디렉토리를 직접 지정
attach_proc: "/common/proc/case/editor/editorFileReg.do", //에디터에 이미지 즉시 업로드를 처리하는 서버스크립트를 직접 지정
delete_proc: "/common/proc/case/editor/editorFileDel.do", //에디터에 즉시 업로드된 이미지 삭제를 처리하는 서버스크립트를 직접 지정(attach_proc 과 같을경우 설정 불필요)
use_blind: true, //팝업메뉴 출력 시 반투명 배경 스크린 사용여부(true:사용(기본), false: 미사용)
allow_dndupload: false, //드래그&드롭을 통한 이미지 파일 업로드 허용 여부
allow_dndresize: false, //드래그&드롭을 통한 에디터 사이즈(높이) 조절 허용 여부
//fonts: ["굴림체","궁서체"], //선택할 수 있는 폰트종류를 직접 정의
//fontsizes: ["9pt","10pt"], //선택할 수 있는 폰트사이즈를 직접 정의(단위포함)
lineheights: ["120%","150%","180%"], //선택할 수 있는 줄간격을 직접 정의(단위포함)
//emoticons: ["Nerd"], //선택할 수 있는 이모티콘들을 직접 정의(png파일은 확장자 생략 가능하며, 그외에는 확장자까지 입력 : PNG, GIF, JPG 만 가능)
//specialchars: ["§","☆"], //선택할 수 있는 특수문자를 직접 정의
code_highlight: true,
fade_popup: true, //팝업 열리기/닫히기 시 fade in/out 기능 적용 여부(사용pc 사용이 낮은경우 false로 )
attach_list_view: false
});
$(window).load(function(){
$("#idx_toolbar_webnote_content_imagecenter").hide();
$("#idx_toolbarcontainer_webnote_content img").each(function(index, item) {
if($(item).attr("class") != "webnote_seperator"){
var event = $(item).attr("onclick");
$(item).wrap("<a href='javascript:;' onclick="+event+">");
$(item).attr("onclick", "");
}
});
});
$(document).ready(function(){
$("#writeFrm").submit(function(){
if($("#examSubj").val().trim() == ""){
alert("제목을 입력해 주세요.");
$("#examSubj").focus();
return false;
}
/* if($("#regMberNm").val().trim() == ""){
alert("작성자를 입력해 주세요.");
$("#regMberNm").focus();
return false;
} */
/* if($("#content").val() == ""){
alert("내용을 입력해 주세요.");
$("#content").focus();
return false;
} */
});
});
function goList(){
$("#paramFrm").submit();
}
</script>
<script src="/js/jquery.form.js"></script>
<script src="/js/seedFileUtil.js"></script>
</body>
</html>