이준호 전자조정시스템 커밋

- 용어해설 수정
This commit is contained in:
leejunho 2023-11-06 16:34:02 +09:00
parent b72fb5e919
commit 6b6b960196
18 changed files with 432 additions and 128 deletions

View File

@ -10,10 +10,10 @@ public interface GlossaryService {
public GlossaryVO selectGlossaryDetail(GlossaryVO glossaryVO) throws Exception;
public void updateGlossaryStatus(GlossaryVO glossaryVO) throws Exception;
public void updateGlossaryModify(GlossaryVO glossaryVO) throws Exception;
public void deleteGlossary(GlossaryVO glossaryVO) throws Exception;
public List<GlossaryVO> selectGlossaryListForWeb(GlossaryVO glossaryVO) throws Exception;
}

View File

@ -16,6 +16,7 @@ public class GlossaryVO extends ComDefaultVO implements Serializable{
private String lastUpdusrId;
private String lastUpdtPnttm;
private String useYn;
private int cnt;
public String getGlssrSeq() {
@ -66,4 +67,11 @@ public class GlossaryVO extends ComDefaultVO implements Serializable{
public void setUseYn(String useYn) {
this.useYn = useYn;
}
public int getCnt() {
return cnt;
}
public void setCnt(int cnt) {
this.cnt = cnt;
}
}

View File

@ -6,39 +6,40 @@ import org.springframework.stereotype.Repository;
import egovframework.rte.psl.dataaccess.EgovAbstractDAO;
import kcc.kccadr.glossary.service.GlossaryVO;
import kcc.kccadr.textsense.service.TextSenseVO;
@Repository("GlossaryDAO")
public class GlossaryDAO extends EgovAbstractDAO{
public int insertGlossary(GlossaryVO glossaryVO) throws Exception {
return (int) insert("glossaryDAO.insertGlossary", glossaryVO);
return (int) update("glossaryDAO.insertGlossary", glossaryVO);
}
@SuppressWarnings("unchecked")
public List<GlossaryVO> selectGlossaryList(GlossaryVO glossaryVO) throws Exception {
// TODO Auto-generated method stub
return null;
return (List<GlossaryVO>) list("glossaryDAO.selectGlossaryList", glossaryVO);
}
public GlossaryVO selectGlossaryDetail(GlossaryVO glossaryVO) throws Exception {
// TODO Auto-generated method stub
return null;
return (GlossaryVO) select("glossaryDAO.selectGlossaryDetail", glossaryVO);
}
public void updateGlossaryStatus(GlossaryVO glossaryVO) throws Exception {
// TODO Auto-generated method stub
}
public void updateGlossaryModify(GlossaryVO glossaryVO) throws Exception {
// TODO Auto-generated method stub
update("glossaryDAO.updateGlossaryModify", glossaryVO);
}
public void deleteGlossary(GlossaryVO glossaryVO) throws Exception {
// TODO Auto-generated method stub
update("glossaryDAO.deleteGlossary", glossaryVO);
}
@SuppressWarnings("unchecked")
public List<GlossaryVO> selectGlossaryListForWeb(GlossaryVO glossaryVO) throws Exception {
return (List<GlossaryVO>) list("glossaryDAO.selectGlossaryListForWeb", glossaryVO);
}
}

View File

@ -6,51 +6,53 @@ import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import egovframework.rte.fdl.idgnr.EgovIdGnrService;
import kcc.kccadr.glossary.service.GlossaryService;
import kcc.kccadr.glossary.service.GlossaryVO;
@Service("GlossaryService")
public class GlossaryServiceImpl implements GlossaryService{
/** ID Generation */
@Resource(name="glssrIdgenService")
private EgovIdGnrService glssrIdgenService;
@Resource(name = "GlossaryDAO")
private GlossaryDAO glossaryDAO;
@Override
public int insertGlossary(GlossaryVO glossaryVO) throws Exception {
glossaryVO.setGlssrSeq(glssrIdgenService.getNextStringId());
return glossaryDAO.insertGlossary(glossaryVO);
}
@Override
public List<GlossaryVO> selectGlossaryList(GlossaryVO glossaryVO) throws Exception {
// TODO Auto-generated method stub
return null;
return glossaryDAO.selectGlossaryList(glossaryVO);
}
@Override
public GlossaryVO selectGlossaryDetail(GlossaryVO glossaryVO) throws Exception {
// TODO Auto-generated method stub
return null;
}
@Override
public void updateGlossaryStatus(GlossaryVO glossaryVO) throws Exception {
// TODO Auto-generated method stub
return glossaryDAO.selectGlossaryDetail(glossaryVO);
}
@Override
public void updateGlossaryModify(GlossaryVO glossaryVO) throws Exception {
// TODO Auto-generated method stub
glossaryDAO.updateGlossaryModify(glossaryVO);
}
@Override
public void deleteGlossary(GlossaryVO glossaryVO) throws Exception {
// TODO Auto-generated method stub
glossaryDAO.deleteGlossary(glossaryVO);
}
@Override
public List<GlossaryVO> selectGlossaryListForWeb(GlossaryVO glossaryVO) throws Exception {
return glossaryDAO.selectGlossaryListForWeb(glossaryVO);
}
}

View File

@ -1,6 +1,5 @@
package kcc.kccadr.glossary.web;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.Resource;
@ -16,7 +15,6 @@ import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
import kcc.com.cmm.LoginVO;
import kcc.kccadr.glossary.service.GlossaryService;
import kcc.kccadr.glossary.service.GlossaryVO;
import kcc.kccadr.textsense.service.TextSenseVO;
@Controller
public class GlossaryController {
@ -66,10 +64,11 @@ public class GlossaryController {
glossaryVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
glossaryVO.setFrstRegisterId(user.getUniqId());
// paginationInfo.setTotalRecordCount(glossaryService.selectTextSenseListCount(textSenseVO));
model.addAttribute("paginationInfo", paginationInfo);
// List<GlossaryVO> list = glossaryService.selectTextSenseList(textSenseVO);
List<GlossaryVO> list = new ArrayList<GlossaryVO>();
List<GlossaryVO> list = glossaryService.selectGlossaryList(glossaryVO);
if(list.size() > 0) {
paginationInfo.setTotalRecordCount(list.get(0).getCnt());
}
model.addAttribute("list", list);
return "kccadr/glossary/glossaryList";
@ -91,6 +90,7 @@ public class GlossaryController {
}
@SuppressWarnings("unused")
@RequestMapping(value="/kccadr/glossary/glossaryRegistAjax.do")
public ModelAndView glossaryRegistAjax(GlossaryVO glossaryVO) throws Exception{
@ -99,7 +99,7 @@ public class GlossaryController {
LoginVO user = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser();
glossaryVO.setFrstRegisterId(user.getId());
glossaryVO.setFrstRegisterId(user.getUniqId());
if(user == null) {
modelAndView.addObject("result", "FAIL");
@ -118,8 +118,89 @@ public class GlossaryController {
}
return modelAndView;
}
@RequestMapping(value="/kccadr/glossary/gossaryDetail.do")
public String gossaryDetail(@ModelAttribute("searchVO") GlossaryVO glossaryVO, ModelMap model) throws Exception{
LoginVO user = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser();
if(user == null) {
return "redirect:/uat/uia/EgovLoginUsr.do";
}
GlossaryVO detailVO = glossaryService.selectGlossaryDetail(glossaryVO);
model.addAttribute("glossaryVO", detailVO);
if("N".equals(detailVO.getUseYn())) {
return "redirect:/kccadr/glossary/glossaryList.do";
}
return "kccadr/glossary/glossaryDetail";
}
@SuppressWarnings("unused")
@RequestMapping(value="/kccadr/glossary/glossaryModifyAjax.do")
public ModelAndView glossaryModifyAjax(GlossaryVO glossaryVO) throws Exception{
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
LoginVO user = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser();
glossaryVO.setLastUpdusrId(user.getUniqId());
if(user == null) {
modelAndView.addObject("result", "FAIL");
modelAndView.addObject("message", "다시 로그인 해주세요.");
return modelAndView;
}
try {
glossaryService.updateGlossaryModify(glossaryVO);
modelAndView.addObject("result", "SUCCESS");
modelAndView.addObject("message", "저장되었습니다.");
} catch (Exception e) {
modelAndView.addObject("result", "FAIL");
modelAndView.addObject("message", "저장에 실패했습니다.");
}
return modelAndView;
}
@SuppressWarnings("unused")
@RequestMapping(value="/kccadr/glossary/glossaryDeleteAjax.do")
public ModelAndView glossaryDeleteAjax(GlossaryVO glossaryVO) throws Exception{
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
LoginVO user = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser();
glossaryVO.setLastUpdusrId(user.getUniqId());
if(user == null) {
modelAndView.addObject("result", "FAIL");
modelAndView.addObject("message", "다시 로그인 해주세요.");
return modelAndView;
}
try {
glossaryService.deleteGlossary(glossaryVO);
modelAndView.addObject("result", "SUCCESS");
modelAndView.addObject("message", "저장되었습니다.");
} catch (Exception e) {
modelAndView.addObject("result", "FAIL");
modelAndView.addObject("message", "저장에 실패했습니다.");
}
return modelAndView;
}
}

View File

@ -77,6 +77,8 @@ import kcc.com.uss.ion.pwm.service.PopupManageVO;
import kcc.com.uss.ion.pwm.service.PopupzoneVO;
import kcc.com.utl.fcc.service.EgovStringUtil;
import kcc.kccadr.accdnt.ai.service.AdjstIncidentVO;
import kcc.kccadr.glossary.service.GlossaryService;
import kcc.kccadr.glossary.service.GlossaryVO;
import kcc.let.cop.bbs.service.BoardMasterVO;
import kcc.let.cop.bbs.service.BoardVO;
import kcc.let.cop.bbs.service.EgovBBSAttributeManageService;
@ -180,6 +182,9 @@ public class MainController {
@Resource(name="EgovFileMngUtil")
private EgovFileMngUtil fileUtil;
@Resource(name = "GlossaryService")
private GlossaryService glossaryService;
@Value("#{globalSettings['Globals.email.host']}")
private String Globals_email_host;
@Value("#{globalSettings['Globals.email.port']}")
@ -1954,9 +1959,28 @@ public class MainController {
//용어해설 팝업
@RequestMapping(value = "/web/com/popup/quickWrapGlossaryPop.do")
public String quickWrapGlossaryPop(@ModelAttribute("adjstIncidentVO") AdjstIncidentVO adjstIncidentVO, ModelMap model) throws Exception {
public String quickWrapGlossaryPop(@ModelAttribute("searchVO") GlossaryVO glossaryVO, ModelMap model) throws Exception {
return "web/com/pop/quickWrapGlossaryPop";
}
//용어해설 팝업 상세
@RequestMapping(value = "/web/com/popup/quickWrapGlossaryPopDetail.do")
public String quickWrapGlossaryPopDetail(@ModelAttribute("searchVO") GlossaryVO glossaryVO, ModelMap model) throws Exception {
model.addAttribute("list", glossaryService.selectGlossaryListForWeb(glossaryVO));
return "web/com/pop/quickWrapGlossaryPopDetail";
}
//용어해설 팝업 상세
@RequestMapping(value = "/web/com/popup/quickWrapGlossaryPopDetailCn.do")
public String quickWrapGlossaryPopDetailCn(@ModelAttribute("searchVO") GlossaryVO glossaryVO, ModelMap model) throws Exception {
model.addAttribute("glossaryVO", glossaryService.selectGlossaryDetail(glossaryVO));
return "web/com/pop/quickWrapGlossaryPopDetailCn";
}
// 파일을 로컬로 부터 읽어와서 BodyPart 클래스로 만든다. (바운더리 변환)
private BodyPart getFileAttachment(String realFile, String filename) throws MessagingException {

View File

@ -2,15 +2,18 @@
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="Glossary">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="GlossaryVO" type="kcc.kccadr.Glossary.service.GlossaryVO"/>
<typeAlias alias="GlossaryVO" type="kcc.kccadr.glossary.service.GlossaryVO"/>
<select id="" parameterClass="GlossaryVO" resultClass="GlossaryVO">
SELECT a.glssr_seq AS glssrSeq,
<select id="glossaryDAO.selectGlossaryList" parameterClass="GlossaryVO" resultClass="GlossaryVO">
SELECT COUNT(1) over() AS cnt,
a.glssr_seq AS glssrSeq,
a.glssr_subject AS glssrSubject,
a.glssr_cn AS glssrCn,
a.frst_register_id AS frstRegisterId,
DATE_FORMAT(a.frst_regist_pnttm,'%Y-%m-%d %T') AS frstRegistPnttm
DATE_FORMAT(a.frst_regist_pnttm,'%Y-%m-%d %H:%i') AS frstRegistPnttm
FROM adr_glossary a
LEFT JOIN comvnusermaster b
ON a.frst_register_id = b.esntl_id
WHERE 1 = 1
AND a.use_yn = 'Y'
<isNotEmpty property="searchKeyword">
@ -21,7 +24,7 @@
ORDER BY A.FRST_REGIST_PNTTM DESC LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
<select id="" parameterClass="GlossaryVO" resultClass="GlossaryVO">
<select id="glossaryDAO.selectGlossaryDetail" parameterClass="GlossaryVO" resultClass="GlossaryVO">
SELECT a.glssr_seq AS glssrSeq,
a.glssr_subject AS glssrSubject,
a.glssr_cn AS glssrCn,
@ -33,7 +36,7 @@
AND a.glssr_seq = #glssrSeq#
</select>
<insert id="glossaryDAO.insertGlossary" parameterClass="GlossaryVO">
<update id="glossaryDAO.insertGlossary" parameterClass="GlossaryVO">
INSERT
INTO adr_glossary
(
@ -41,8 +44,7 @@
glssr_subject,
glssr_cn,
frst_register_id,
frst_regist_pnttm,
use_yn
frst_regist_pnttm
)
VALUES
(
@ -50,26 +52,144 @@
#glssrSubject#,
#glssrCn#,
#frstRegisterId#,
now(),
#useYn#
now()
)
</insert>
</update>
<update id="" parameterClass="GlossaryVO">
<update id="glossaryDAO.updateGlossaryModify" parameterClass="GlossaryVO">
UPDATE adr_glossary
SET glssr_subject = '',
glssr_cn = '',
last_updusr_id = '',
SET glssr_subject = #glssrSubject#,
glssr_cn = #glssrCn#,
last_updusr_id = #lastUpdusrId#,
last_updt_pnttm = now()
WHERE glssr_seq = #glssrSeq#
</update>
<update id="" parameterClass="GlossaryVO">
<update id="glossaryDAO.deleteGlossary" parameterClass="GlossaryVO">
UPDATE adr_glossary
SET last_updusr_id = '',
SET last_updusr_id = #lastUpdusrId#,
last_updt_pnttm = now(),
use_yn = 'N'
WHERE glssr_seq = #glssrSeq#
</update>
<select id="glossaryDAO.selectGlossaryListForWeb" parameterClass="GlossaryVO" resultClass="GlossaryVO">
SELECT COUNT(1) over() AS cnt,
a.glssr_seq AS glssrSeq,
a.glssr_subject AS glssrSubject,
a.glssr_cn AS glssrCn,
b.searchKeyword AS searchKeyword
FROM adr_glossary a
<![CDATA[
LEFT JOIN
(SELECT tt1.glssr_seq,
CASE
WHEN
(
tt2.subject >= '가'
AND tt2.subject < '나'
)
THEN '가'
WHEN
(
tt2.subject >= '나'
AND tt2.subject < '다'
)
THEN '나'
WHEN
(
tt2.subject >= '다'
AND tt2.subject < '라'
)
THEN '다'
WHEN
(
tt2.subject >= '라'
AND tt2.subject < '마'
)
THEN '라'
WHEN
(
tt2.subject >= '마'
AND tt2.subject < '바'
)
THEN '마'
WHEN
(
tt2.subject >= '바'
AND tt2.subject < '사'
)
THEN '바'
WHEN
(
tt2.subject >= '사'
AND tt2.subject < '아'
)
THEN '사'
WHEN
(
tt2.subject >= '아'
AND tt2.subject < '자'
)
THEN '아'
WHEN
(
tt2.subject >= '자'
AND tt2.subject < '차'
)
THEN '자'
WHEN
(
tt2.subject >= '차'
AND tt2.subject < '카'
)
THEN '차'
WHEN
(
tt2.subject >= '카'
AND tt2.subject < '타'
)
THEN '카'
WHEN
(
tt2.subject >= '타'
AND tt2.subject < '파'
)
THEN '타'
WHEN
(
tt2.subject >= '파'
AND tt2.subject < '하'
)
THEN '파'
WHEN
(
tt2.subject >= '하'
AND tt2.subject < '힣'
)
THEN '하'
ELSE '기타'
END searchKeyword
FROM adr_glossary tt1
LEFT JOIN
(SELECT t1.glssr_seq,
SUBSTRING(t1.glssr_subject, 0, 1) AS subject
FROM adr_glossary t1
)
tt2
ON tt1.glssr_seq = tt2.glssr_seq
)
b
ON a.glssr_seq = b.glssr_seq
]]>
WHERE 1 = 1
AND a.use_yn = 'Y'
<isNotEmpty property="searchKeyword">
<isNotEqual prepend="AND" property="searchKeyword" compareValue="전체">
b.searchKeyword = #searchKeyword#
</isNotEqual>
</isNotEmpty>
ORDER BY A.GLSSR_SUBJECT ASC
</select>
</sqlMap>

View File

@ -66,7 +66,7 @@
<pattern>/web/kccadr/adjPgrMgr/cclt/membDeptDetailPop.do</pattern><!-- 팝업 적용안함 -->
<pattern>*/web/kccadr/pdf/pdfview.do*</pattern>
<pattern>/web/com/popup/quickWrapGlossaryPop.do*</pattern>
<pattern>/web/com/popup/quickWrapGlossaryPop*.do*</pattern>
</excludes>

View File

@ -14,12 +14,7 @@
<script type="text/javascript">
function fnListPage(){
document.glossaryVO.action = "<c:url value='/kccadr/glossary/glossaryList.do'/>";
document.glossaryVO.submit();
}
function fnSave(){
function fnModify(){
var data = new FormData(document.glossaryVO);
$.ajax({
@ -35,6 +30,7 @@
console.log(returnData.result);
if(returnData.result == 'SUCCESS'){
alert("저장되었습니다.");
location.reload();
}else{
alert(returnData.message);
}
@ -63,7 +59,7 @@
console.log(returnData.result);
if(returnData.result == 'SUCCESS'){
alert("삭제되었습니다.");
fnListPage();
goList();
}else{
alert(returnData.message);
}
@ -86,11 +82,11 @@
<form id="glossaryVO" name="glossaryVO" method="post">
<input type="hidden" name="pageIndex" value="${searchVO.pageIndex}"/>
<input type="hidden" name="searchKeyword" value="${searchVO.searchKeyword}"/>
<input type="hidden" name="searchCondition" value="${searchVO.searchCondition}"/>
<input type="hidden" name="pageIndex" value="<c:out value='${searchVO.pageIndex}'/>"/>
<input type="hidden" name="searchKeyword" value="<c:out value='${searchVO.searchKeyword}'/>"/>
<input type="hidden" name="searchCondition" value="<c:out value='${searchVO.searchCondition}'/>"/>
<input type="hidden" id="glssrSeq" name="glssrSeq" value=""/>
<input type="hidden" id="glssrSeq" name="glssrSeq" value="<c:out value='${glossaryVO.glssrSeq}'/>"/>
<!-- cont -->
<div class="cont_wrap">
@ -120,9 +116,8 @@
<tbody>
<tr>
<th><span class="reqArea">
<span class="reqArea">용어명</span>
</span>
<th class="req_text">
<p>용어명</p>
</th>
<td colspan="3">
<input type="text" id="glssrSubject" name="glssrSubject" value="<c:out value='${glossaryVO.glssrSubject}'/>" style="width:250px;"/>
@ -147,7 +142,7 @@
</div>
<div class="area_right">
<button class="btnType03" onclick="goList(); return false;">목 록</button>
<button class="btnType02" onclick="fnModifyPop(); return false;">수 정</button>
<button class="btnType02" onclick="fnModify(); return false;">수 정</button>
<button class="btnType04" onclick="fnDelete(); return false;">삭 제</button>
</div>
</div>

View File

@ -97,7 +97,6 @@ function goTextSenseDetail(glssrSeq){
<p class="tit_text">구분</p>
<select name="searchCondition" id="searchCondition">
<option value="1" ${searchVO.searchCondition eq '1' ? 'selected' : '' }>용어명</option>
<option value="2" ${searchVO.searchCondition eq '2' ? 'selected' : '' }>등록자</option>
</select>
<input type="text" id="searchKeyword" name="searchKeyword" class="search_input" placeholder="검색어를 입력하세요" value="<c:out value='${searchVO.searchKeyword}'/>">
<button class="btn_search" onclick="fncGoList(); return false;">검색</button>
@ -114,14 +113,14 @@ function goTextSenseDetail(glssrSeq){
<colgroup>
<col style="width: 10%">
<col style="width: auto">
<col style="width: 20%">
<%-- <col style="width: 20%"> --%>
<col style="width: 30%">
</colgroup>
<thead>
<tr>
<th>번호<button class="sort btn_sort" id="sort_glssrSeq"></button></th>
<th>용어명<button type="button" class="sort sortBtn" id="sort_glssrSubject"></button></th>
<th>등록자<button type="button" class="sort sortBtn" id="sort_frstRegisterId"></button></th>
<!-- <th>등록자<button type="button" class="sort sortBtn" id="sort_frstRegisterId"></button></th> -->
<th>등록일자<button type="button" class="sort sortBtn" id="sort_frstRegistPnttm"></button></th>
</tr>
</thead>
@ -139,9 +138,9 @@ function goTextSenseDetail(glssrSeq){
<td onclick="javascript:goTextSenseDetail('<c:out value="${list.glssrSeq}"/>');" style="cursor:pointer;">
<c:out value="${list.glssrSubject}"/>
</td>
<td onclick="javascript:goTextSenseDetail('<c:out value="${list.glssrSeq}"/>');" style="cursor:pointer;">
<c:out value="${list.frstRegisterId}"/>
</td>
<%-- <td onclick="javascript:goTextSenseDetail('<c:out value="${list.glssrSeq}"/>');" style="cursor:pointer;"> --%>
<%-- <c:out value="${list.frstRegisterId}"/> --%>
<!-- </td> -->
<td onclick="javascript:goTextSenseDetail('<c:out value="${list.glssrSeq}"/>');" style="cursor:pointer;">
<c:out value="${list.frstRegistPnttm}"/>
</td>

View File

@ -24,12 +24,12 @@ function validation(){
alert('용어설명을 입력해 주세요.');
return false;
}
return true;
}
function glossaryRegist() {
var form = document.regForm;
var form = document.glossaryVO;
var data = new FormData(form);
var url = "<c:url value='/kccadr/glossary/glossaryRegistAjax.do'/>";

View File

@ -65,6 +65,7 @@ function validation(){
alert('작업명을 입력해 주세요.');
return false;
}
return true;
}

View File

@ -8,12 +8,12 @@
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>저작권 용어해설</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>저작권 전자조정시스템 > 전자조정 신청 > 조정신청</title>
<!-- css -->
<link rel="stylesheet" href="/kccadrPb/usr/css/reset.css">
@ -27,26 +27,54 @@
<script src="/kccadrPb/usr/script/jquery-3.5.0.js"></script>
<script src="/kccadrPb/usr/script/common.js"></script>
<script src="/kccadrPb/usr/script/content.js"></script>
<script src="/kccadrPb/usr/script/popup.js?test=test"></script>
<script src="/kccadrPb/usr/script/popup.js"></script>
<style>
.popup_wrap{display:block !important;}
</style>
</head>
<body>
<script type="text/javaScript" language="javascript">
$(document).ready(function(){
$(".tooltip-close").click(function(){
var activeTarget = $('[data-tooltip-con="glossary_popup"]');
activeTarget.hide();
$('[data-tooltip="glossary_popup"]').focus();
window.close();
});
$('.popup_tab_wrap .tab_ul .tab_li, ul li').on('click',function(){
$(this).addClass('on').siblings().removeClass('on');
});
$("#tab_ul li > button").on("click", function(e) {
var searchKeyword = $(this).text();
tabPageLoad2(searchKeyword);
});
tabPageLoad2('전체');
});
function tabPageLoad2(searchKeyword) {
var url = '/web/com/popup/quickWrapGlossaryPopDetail.do';
$('#glssryDetail').load(url, {
"searchKeyword" : searchKeyword
}, function(res, status, xhr) {
console.log(status);
});
}
</script>
</head>
<body>
<div class="mask"></div>
<!-- 저작권 용어사전 -->
<div class="tooltip-wrap">
<div class="popup_wrap glossary_popup" tabindex="0" data-tooltip-con="glossary_popup" data-focus="glossary_popup" data-focus-prev="glossary_popup_close">
<div class="popup_wrap glossary_popup">
<div class="popup_tit">
<p>저작권 용어해설</p> <button class="btn_popup_close tooltip-close" data-focus="glossary_popup_close" title="팝업 닫기"><i></i></button>
<p>저작권 용어해설</p>
</div>
<div class="popup_cont">
<div class="popup_search type02">
@ -55,8 +83,9 @@
<button type="button" class="btnTYpe01">조회</button>
</div>
<div class="popup_tab_wrap">
<ul class="tab_ul">
<li class="tab_li on"><button type="button" class="tab">가</button></li>
<ul class="tab_ul" id="tab_ul">
<li class="tab_li on"><button type="button" class="tab">전체</button></li>
<li class="tab_li"><button type="button" class="tab">가</button></li>
<li class="tab_li"><button type="button" class="tab">나</button></li>
<li class="tab_li"><button type="button" class="tab">다</button></li>
<li class="tab_li"><button type="button" class="tab">라</button></li>
@ -73,28 +102,7 @@
<li class="tab_li"><button type="button" class="tab">기타</button></li>
</ul>
</div>
<div class="popup_tab_content">
<div class="glossary_left_area">
<p class="result_text">전체 : <span class="t_bold">6,178</span>건</p>
<ul>
<li class="on"><button type="button">조정절차</button></li>
<li><button type="button">조정절차</button></li>
<li><button type="button">조정절차</button></li>
<li><button type="button">조정절차</button></li>
<li><button type="button">조정절차</button></li>
<li><button type="button">조정절차</button></li>
<li><button type="button">조정절차</button></li>
<li><button type="button">조정절차</button></li>
</ul>
</div>
<div class="glossary_right_area">
<dl>
<dt>
<p>조정제도</p>
</dt>
<dd><p>저작권 분쟁 당사자의 조정 신청이 있는 경우 전문가로 구성된 조정부가 분쟁을 신속하고 공정하게 해결해 주는 제도로서, 판결을 대신하여 분쟁을 종국적으로 해결하는 대체적 분쟁해결제도(ADR, Alternative Dispute Resolution) 중 하나입니다. 한국저작권위원회는 1988년부터 조정업무를 수행하여 왔으며, 저작물 이용 등으로 발생하는 다양한 저작권 침해 관련 분쟁을 해결하고 있습니다. 2020.08.05.부터 시행된 개정 저작권법에 의하여 한국저작권위원회 조정부는 ①“조정부가 제시한 조정안을 어느 한쪽 당사자가 합리적인 이유 없이 거부한 경우” 또는 ② “분쟁조정 예정가액이 1천만원 미만인 경우”에 해당할 때, 직권으로 조정을 갈음하는 결정(직권조정결정)을 할 수 있습니다.</p></dd>
</dl>
</div>
<div class="popup_tab_content" id="glssryDetail">
</div>
<div class="btn_wrap">
<button type="button" class="btnType03 tooltip-close">닫기</button>

View File

@ -0,0 +1,44 @@
<%@ 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"%>
<script type="text/javaScript" language="javascript">
$(document).ready(function(){
$('.glossary_left_area ul li').on('click',function(){
$(this).addClass('on').siblings().removeClass('on');
tabPageLoad3($(this).children('button').attr('value'));
});
// $("#tab_ul li > button").on("click", function(e) {
// var searchKeyword = $(this).text();
// tabPageLoad2(searchKeyword);
// });
tabPageLoad3('${list[0].glssrSeq}');
});
function tabPageLoad3(glssrSeq) {
var url = '/web/com/popup/quickWrapGlossaryPopDetailCn.do';
$('#glssryDetailCn').load(url, {
"glssrSeq" : glssrSeq
}, function(res, status, xhr) {
console.log(status);
});
}
</script>
<div class="glossary_left_area" >
<p class="result_text">전체 : <span class="t_bold"><c:out value="${list[0].cnt}"/></span>건</p>
<ul>
<c:forEach var="list" items="${list}" varStatus="status">
<li><button type="button" value="<c:out value='${list.glssrSeq}'/>"><c:out value="${list.glssrSubject}"/></button></li>
</c:forEach>
</ul>
</div>
<div class="glossary_right_area" id="glssryDetailCn">
</div>

View File

@ -0,0 +1,20 @@
<%@ 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"%>
<dl>
<dt>
<p>
<c:out value="${glossaryVO.glssrSubject}"/>
</p>
</dt>
<dd>
<p>
<c:out value="${glossaryVO.glssrCn}"/>
</p>
</dd>
</dl>

View File

@ -4,26 +4,27 @@
<script type="text/javascript">
function glossaryPop() {
commonPopLayeropen(
function glossaryPop2() {
commonPopWindowopenForm(
"/web/com/popup/quickWrapGlossaryPop.do"
, 740
, 713
, {} // parameter
, "Y"
, "glossaryPop"
, "740"
, "713"
, ""
, $('#glossaryPop')
);
}
</script>
<form id="glossaryPop" name="glossaryPop" method="post"></form>
<div class="quick_menu_wrap">
<div class="quick_title">
<p>퀵메뉴</p>
</div>
<ul class="quick_ul">
<li class="quick_li">
<a href="#none" data-tooltip="glossary_popup" onclick="glossaryPop()" ><i class="icon_quickmenu_glossary"></i>용어해설</a>
<a href="#none" onclick="glossaryPop2(); return false;" ><i class="icon_quickmenu_glossary"></i>용어해설</a>
</li>
<li class="quick_li">
<a href="/web/cop/bbsWeb/selectBoardList.do?bbsId=BBSMSTR_000000000651"><i class="icon_quickmenu_adj_case"></i>조정사례</a>

View File

@ -111,16 +111,16 @@
.loading_info_popup .info_wrap p:last-child{margin-bottom: 0;}
/* 저작권 용어사전 */
.glossary_popup{width:740px;}
.glossary_popup{width:740px;height:700px;}
.glossary_popup .tab_li{width: calc((100% - 60px)/10);}
.glossary_popup .popup_tab_content{display:flex;max-height:400px;justify-content:space-between;align-items:stretch;}
.glossary_popup .glossary_left_area{width:150px;}
.glossary_popup .popup_tab_content{display:flex;max-height:400px;height:100%;justify-content:space-between;align-items:stretch;}
.glossary_popup .glossary_left_area{width:150px;height:400px;}
.glossary_popup .glossary_left_area ul{max-height:372px;height:100%;border:2px solid #dbdcdd;margin:8px 0 0 0;padding:0 10px;border-radius:5px;box-sizing:border-box;overflow-y:auto;}
.glossary_popup .glossary_left_area ul button{position:relative;width:100%;height:40px;border-bottom:1px dashed #e5e5e5;text-align:left;font-size:15px;padding:0 0 0 10px;}
.glossary_popup .glossary_left_area ul li:last-child button{border-bottom: 0;}
.glossary_popup .glossary_left_area ul .on button{color:#0352a9;font-weight:600;}
.glossary_popup .glossary_left_area ul button::after{position:absolute;content:"";width:5px;height:5px;border-radius:100%;background-color:#0352a9;left:0;top:18px;}
.glossary_popup .glossary_right_area{width:calc(100% - 170px);height:100%;max-height:400px;margin:25px 0 0 0;}
.glossary_popup .glossary_right_area{width:calc(100% - 170px);height:100%;height:400px;margin:25px 0 0 0;}
.glossary_popup .glossary_right_area dl{height:365px;border-top:2px solid #000;border-bottom:1px solid #e5e5e5;}
.glossary_popup .glossary_right_area dl dt{display:flex;height:45px;padding:0 20px;background-color:#f3f3f3;font-size:18px;font-weight:500;align-items:center;line-height:1.4;}
.glossary_popup .glossary_right_area dl dt p{position:relative;}