This commit is contained in:
myname 2024-01-09 09:55:22 +09:00
commit b6d75077c1
28 changed files with 603 additions and 184 deletions

View File

@ -541,20 +541,24 @@ public class EgovCryptoUtil {
//
//CndtnTrgtMngVO - 암호화
// 240108 담당검사 이름 추가
public CndtnTrgtMngVO encryptCndtnTrgtMngVOInfo(CndtnTrgtMngVO p_cndtnTrgtInfoMngVO){
if (!"".equals(p_cndtnTrgtInfoMngVO.getTrgtNm())) p_cndtnTrgtInfoMngVO.setTrgtNm(this.encrypt(p_cndtnTrgtInfoMngVO.getTrgtNm()));
if (!"".equals(p_cndtnTrgtInfoMngVO.getClphone())) p_cndtnTrgtInfoMngVO.setClphone(this.encrypt(p_cndtnTrgtInfoMngVO.getClphone()));
if (!"".equals(p_cndtnTrgtInfoMngVO.getPrsctrNm())) p_cndtnTrgtInfoMngVO.setPrsctrNm(this.encrypt(p_cndtnTrgtInfoMngVO.getPrsctrNm()));
//if (!"".equals(p_cndtnTrgtInfoMngVO.getPrsctrNm())) p_cndtnTrgtInfoMngVO.setPrsctrNm(this.encrypt(p_cndtnTrgtInfoMngVO.getPrsctrNm()));
return p_cndtnTrgtInfoMngVO;
}
//CndtnTrgtMngVO - 복호화
// 240108 담당검사 이름 추가
public CndtnTrgtMngVO decryptCndtnTrgtMngVOInfo(CndtnTrgtMngVO p_cndtnTrgtInfoMngVO){
if (!"".equals(p_cndtnTrgtInfoMngVO.getTrgtNm())) p_cndtnTrgtInfoMngVO.setTrgtNm(this.decrypt(p_cndtnTrgtInfoMngVO.getTrgtNm()));
if (!"".equals(p_cndtnTrgtInfoMngVO.getClphone())) p_cndtnTrgtInfoMngVO.setClphone(this.decrypt(p_cndtnTrgtInfoMngVO.getClphone()));
if (!"".equals(p_cndtnTrgtInfoMngVO.getPrsctrNm())) p_cndtnTrgtInfoMngVO.setPrsctrNm(this.decrypt(p_cndtnTrgtInfoMngVO.getPrsctrNm()));
//if (!"".equals(p_cndtnTrgtInfoMngVO.getPrsctrNm())) p_cndtnTrgtInfoMngVO.setPrsctrNm(this.decrypt(p_cndtnTrgtInfoMngVO.getPrsctrNm()));
return p_cndtnTrgtInfoMngVO;

View File

@ -25,6 +25,8 @@ import kcc.com.cmm.service.impl.CmmUseDAO;
import kcc.com.cmm.util.StringUtil;
import kcc.com.utl.user.service.CheckFileUtil;
import kcc.com.utl.user.service.CheckLoginUtil;
import kcc.let.cop.bbs.service.BoardVO;
import kcc.let.cop.bbs.service.EgovBBSManageService;
import kcc.let.uat.uia.service.SsoLoginVO;
import kcc.let.uss.notify.service.NotifyManageService;
import kcc.let.uss.olp.qri.service.QustnrRespondInfoVO;
@ -165,6 +167,9 @@ public class SspnIdtmtController {
@Resource(name = "NotifyManageService")
private NotifyManageService notifyManageService;
@Resource(name = "EgovBBSManageService")
private EgovBBSManageService bbsMngService;
/**
* 대시보드 임시
*/
@ -928,6 +933,42 @@ public class SspnIdtmtController {
}
/**
* 교육문의
*/
@RequestMapping("/web/ve/aplct/sspnIdtmt/eduFAQList.do")
public String eduFAQList(
@ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO
, ModelMap model
, HttpServletRequest request ) throws Exception {
//로그인 처리====================================
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
if (loginVO == null || ssoLoginVO == null) {
//이전 url 처리(beforeSiteUrl)_이준호_220228추가
return checkLoginUtil.getUserLoginPage(model, request); //로그인 정보가 없으면 로그인 페이지로 이동한다.
}
//로그인 처리====================================
//FAQ 조회
BoardVO boardVO = new BoardVO();
boardVO.setBbsId("BBSMSTR_000000000030"); //기소유예 FAQ bbsID
boardVO.setFirstIndex(0); //페이징 미처리
boardVO.setRecordCountPerPage(1000); //페이징 미처리
Map<String, Object> map = bbsMngService.selectBoardArticlesWeb(boardVO, null);
List<BoardVO> resultList = (List<BoardVO>)map.get("resultList");
model.addAttribute("FAQList", resultList);
//Q&A 조회
vEPrcsDetailVO.setQnaRegist(loginVO.getUniqId());
vEPrcsDetailVO.setLctrDivCd("60"); //기소유예 구분값
List<VEPrcsDetailVO> vEPrcsDetailQnaVOList = fndtnEnhanceTrnService.selectVeEduQna(vEPrcsDetailVO);
model.addAttribute("qnaList", vEPrcsDetailQnaVOList);
return "/web/ve/aplct/sspnIdtmt/eduFAQList";
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
//

View File

@ -519,15 +519,16 @@ public class CndtnTrgtMngController {
cndtnTrgtInfoMngVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id
//암호화
cndtnTrgtInfoMngVO = egovCryptoUtil.decryptCndtnTrgtMngVOInfo(cndtnTrgtInfoMngVO);
cndtnTrgtInfoMngVO = egovCryptoUtil.encryptCndtnTrgtMngVOInfo(cndtnTrgtInfoMngVO);
cndtnTrgtInfoMngService.insert(cndtnTrgtInfoMngVO);
modelAndView.addObject("result", "success");
}catch(Exception ex) {
ex.printStackTrace();
modelAndView.addObject("result", "fail");
}
modelAndView.addObject("result", "success");
return modelAndView;
@ -727,6 +728,7 @@ public class CndtnTrgtMngController {
*/
List<CndtnTrgtMngVO> cndtnTrgtInfoMngVOList = this._getMergeSearchList(model, cndtnTrgtInfoMngVO);
System.out.println("==========================================");
//복호화
cndtnTrgtInfoMngVOList = egovCryptoUtil.decryptCndtnTrgtMngVOList(cndtnTrgtInfoMngVOList);
@ -1320,7 +1322,145 @@ public class CndtnTrgtMngController {
}
//수료자 관리 엑셀 다운로드
@RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/trgtCmpltExcel.do")
public ModelAndView trgtCmpltExcel(
@ModelAttribute("cndtnTrgtInfoMngVO") CndtnTrgtMngVO cndtnTrgtInfoMngVO
, ModelMap model
, HttpServletRequest request
) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("excelDownloadView");
//로그인 처리====================================
//로그인 정보 가져오기
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
System.out.println("loginVO.getAuthority() :: "+ loginVO.getAuthority());
String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model);
if (!"".equals(s_oprtnLoginCheckNInfo)) {
modelAndView.addObject(model);
return modelAndView;
}
//로그인 처리====================================
List<CndtnTrgtMngVO> cndtnTrgtInfoMngVOList = null;
try {
//1.pageing step1
PaginationInfo paginationInfo = this.setCndtnPagingStep1(cndtnTrgtInfoMngVO);
//임시로 페이징 처리를 안하기 위해서 RecordCountPerPage 수를 10000 으로 셋팅함
//paginationInfo.setRecordCountPerPage(10000);
//2. pageing step2
cndtnTrgtInfoMngVO = this.setCndtnPagingStep2(cndtnTrgtInfoMngVO, paginationInfo);
// 이수 조건 추가
cndtnTrgtInfoMngVO.setEduStateCd("20");
cndtnTrgtInfoMngVOList = cndtnTrgtInfoMngService.selectPagingList(cndtnTrgtInfoMngVO);
ComDefaultCodeVO vo = new ComDefaultCodeVO();
for(CndtnTrgtMngVO tmp : cndtnTrgtInfoMngVOList) {
//의뢰읠
tmp.setReqPnttm(tmp.getReqPnttm().substring(0, 10));
//이름 복호화
tmp.setTrgtNm(egovCryptoUtil.decrypt(tmp.getTrgtNm()));
//생년월일 - VO에 dbirth와 Dbirth 둘다 있음
if(StringUtil.isNotEmpty(tmp.getdBirth())) {
tmp.setDBirth(tmp.getdBirth());
}
//성별
if(StringUtil.isNotEmpty(tmp.getSex())) {
vo.setCodeId("COM014");
vo.setCode(tmp.getSex());
CmmnDetailCode cmmnDetailCodeSex= egovCmmUseService.selectCmmCodeDetailValue(vo);
if (cmmnDetailCodeSex!=null) tmp.setSex((StringUtil.escapeXml(cmmnDetailCodeSex.getCodeNm())));
}
//의뢰상태
if(StringUtil.isNotEmpty(tmp.getReqStateCd())) {
if (tmp.getPrcsAplctPrdOrdCmplt()==null) {
vo.setCodeId("VEA005");
vo.setCode(tmp.getReqStateCd());
CmmnDetailCode cmmnDetailCodeReqState= egovCmmUseService.selectCmmCodeDetailValue(vo);
if (cmmnDetailCodeReqState!=null) tmp.setReqStateCd((StringUtil.escapeXml(cmmnDetailCodeReqState.getCodeNm())));
}else {
tmp.setReqStateCd("병합처리");
}
}
//교육상태
if(StringUtil.isNotEmpty(tmp.getEduStateCd())) {
vo.setCodeId("VEA002");
vo.setCode(tmp.getEduStateCd());
CmmnDetailCode cmmnDetailCodeEduState= egovCmmUseService.selectCmmCodeDetailValue(vo);
if (cmmnDetailCodeEduState!=null) tmp.setEduStateCd((StringUtil.escapeXml(cmmnDetailCodeEduState.getCodeNm())));
}
//주소
if(StringUtil.isNotEmpty(tmp.getAddr()) && StringUtil.isNotEmpty(tmp.getAddrDetail())) {
tmp.setAddr(tmp.getAddr()+" "+tmp.getAddrDetail());
}
}
}catch(Exception ex) {
ex.printStackTrace();
}
int[] width = {
4000, 5000, 5000, 5000, 3000
, 3000, 5000, 4000, 5000, 13000
, 3500
}; // 너비
String[] header = {
"의뢰일", "사건번호", "관할청", "생년월일", "성명"
, "성별" , "의뢰번호", "의뢰상태", "교육상태", "주소"
, "검사명"
}; // 헤더에 들어갈 이름
String[] order = {
"ReqPnttm", "VntNmbr", "CmptntAthrt", "DBirth", "TrgtNm"
, "Sex", "ReqNmbr", "ReqStateCd", "EduStateCd", "Addr"
, "PrsctrNm"
}; // vo 내부의 필드 이름 (첫글자 대문자, 낙타체 사용)
excelDown(
cndtnTrgtInfoMngVOList,
"수료자 목록",
width,
header,
order,
model
);
//3.pageing step3
// paginationInfo = this.setCndtnPagingStep3(cndtnTrgtInfoMngVOList, paginationInfo);
//
// model.addAttribute("paginationInfo", paginationInfo);
//
//
// //대상 리스트, 페이징 정보 전달
// model.addAttribute("list", cndtnTrgtInfoMngVOList);
//
// ComDefaultCodeVO codeParam = new ComDefaultCodeVO();
// codeParam.setCodeId("VEA008");
// List<CmmnDetailCode> CmmnDetailCodeList = egovCmmUseService.selectCmmCodeDetailOrderByCode(codeParam);
// model.addAttribute("CmmnDetailCodeList", CmmnDetailCodeList);
modelAndView.addObject(model);
return modelAndView;
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////

View File

@ -190,7 +190,7 @@
NTCE_ENDDE=#ntceEndde#,
STOPVEW_SETUP_AT=#stopVewAt#,
NTCE_AT=#ntceAt#,
LAST_UPDT_PNTTM= NOW(),
LAST_UPDT_PNTTM= SYSDATE,
LAST_UPDUSR_ID=#lastUpdusrId#,
POPUP_TYPE=#popupType#,
SCROLL_TYPE=#scrollType#,
@ -264,9 +264,9 @@
#ntceEndde#,
#stopVewAt#,
#ntceAt#,
NOW(),
SYSDATE,
#frstRegisterId#,
NOW(),
SYSDATE,
#lastUpdusrId#,
#popupType#,
#scrollType#,
@ -439,7 +439,7 @@
POPUPZONE_IMAGE_FILE = #popupzoneImageFile#,
USE_YN = #useYn#,
POZ_NM = #pozNm# ,
MODDT = now()
MODDT = SYSDATE
WHERE POZ_ID=#pozId#
</update>
@ -482,8 +482,8 @@
#content#,
#mlink#,
#istarget#,
now(),
now(),
SYSDATE,
SYSDATE,
#del#,
#sort#,
#popupzoneImage#,
@ -602,8 +602,8 @@
#content#,
#mlink#,
#istarget#,
now(),
now(),
SYSDATE,
SYSDATE,
#del#,
#sort#,
#mainzoneImage#,
@ -696,7 +696,7 @@
<isNotEmpty property="deviceType">
DEVICETYPE = #deviceType# ,
</isNotEmpty>
MODDT = now()
MODDT = SYSDATE
WHERE MAZ_ID=#mazId#
</update>
@ -855,7 +855,7 @@
REGISTER_ID = #registerId#,
USE_YN = #useYn#,
SE_CD = #seCd#,
MODDT = now()
MODDT = SYSDATE
WHERE SOCIAL_ID=#socialId#
</update>
@ -906,8 +906,8 @@
#mlink#,
#istarget#,
#sort#,
now(),
now(),
SYSDATE,
SYSDATE,
#del#,
#socialImageFile#,
#registerId#,

View File

@ -102,6 +102,8 @@
, #prsctrNm#
, #reqStateCd#
, #atchFileId#
, ''
, ''
)
</insert>

View File

@ -260,6 +260,7 @@
AND a.use_yn = 'Y'
AND a.aprvl_cd != '40' /* 취소된 내역 안 보여줌 */
AND le.MBER_NM IS NOT NULL
</select>
@ -317,6 +318,7 @@
</isNotEmpty>
AND a.use_yn = 'Y'
AND le.MBER_NM IS NOT NULL
/* 취소된 내역 안 보여줌 */
/*

View File

@ -362,9 +362,12 @@
, (SELECT COUNT(*)
FROM ve_edu_aplct x
JOIN LETTNGNRLMBER le ON
x.USER_ID = le.ESNTL_ID
WHERE x.prcs_ord = a.prcs_aplct_prd_ord
AND x.sbmt_yn='Y'
AND x.aprvl_cd != 40 /*취소된 신청자 제거*/
AND le.MBER_NM IS NOT NULL
) AS nosCnt1
/*
신청자 정보
@ -433,10 +436,13 @@
, (SELECT COUNT(*)
FROM ve_edu_aplct x
JOIN LETTNGNRLMBER le ON
x.USER_ID = le.ESNTL_ID
WHERE x.prcs_ord = a.prcs_aplct_prd_ord
AND x.sbmt_yn='Y'
AND x.aprvl_cd != 40 /*취소된 신청자 제거*/
AND x.aprvl_cd != 30 /*취소된 신청자 제거*/
AND le.MBER_NM IS NOT NULL
) AS nosCnt1
/*
신청자 정보

View File

@ -128,7 +128,7 @@
<%-- <a href="#" onclick="fn_egov_pdfView('<c:out value="${fileVO.atchFileId}"/>','<c:out value="${fileVO.fileSn}"/>' , '<c:out value="${fileVO.fileExtsn}"/>' )"> --%>
<!-- pdf 보기 -->
<!-- </a> -->
<button type="button" class="btnType06" onclick="fn_egov_pdfView('<c:out value="${fileVO.atchFileId}"/>','<c:out value="${fileVO.fileSn}"/>' , '<c:out value="${fileVO.fileExtsn}"/>' )" title="파일 다운로드">pdf 보기</button>
<button type="button" class="btnType06 pdf_bt" onclick="fn_egov_pdfView('<c:out value="${fileVO.atchFileId}"/>','<c:out value="${fileVO.fileSn}"/>' , '<c:out value="${fileVO.fileExtsn}"/>' )" title="파일 다운로드">pdf 보기</button>
</c:if>
</c:if>
</li>

View File

@ -40,48 +40,8 @@
$(document).ready(function(){
searchInit();
// 검색 select box
$('#searchStatus').change(function(){
$('#searchKeyword').val('');
$('#searchSmbtStartDt').val('');
$('#searchSmbtEndDt').val('');
if($(this).val() == 'frstRegistPnttm'){
$('#searchKeyword').hide();
$('#calendar').show();
}
if($(this).val() == 'trgt_nm'){
$('#searchKeyword').attr('placeholder', '이름을 입력해 주세요.');
$('#calendar').hide();
$('#searchKeyword').show();
}
if($(this).val() == 'd_birth'){
$('#searchKeyword').attr('placeholder', '생년월일을 입력해 주세요.');
$('#calendar').hide();
$('#searchKeyword').show();
}
});
});
function searchInit(){
var selecedTxt = $('#searchStatus option:checked').val();
console.log('selecedTxt : ', selecedTxt);
if(selecedTxt == 'trgt_nm' || selecedTxt == 'd_birth'){
$('#calendar').hide();
}else{
$('#searchKeyword').hide();
}
}
function fncGoList(){
linkPage(1);
}
@ -89,7 +49,6 @@
function linkPage(pageNo){
var listForm = document.listForm ;
listForm.pageIndex.value = pageNo ;
//listForm.searchKeyword.value = $('#searchKeyword').val();
listForm.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/trgtCmpltList.do'/>";
listForm.submit();
}
@ -102,81 +61,6 @@
detailForm.submit();
}
function fncDelete(prcsOrd){
document.listForm.prcsOrd.value = prcsOrd ;
var pageIndex = document.listForm.pageIndex.value;
if($(".listCount").length == '1'){
pageIndex = pageIndex -1;
}
var data = new FormData(document.getElementById("listForm"));
if(confirm("삭제하시겠습니까?")){
var url = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsMngDeleteAjax.do'/>";
console.log(data);
$.ajax({
type:"POST",
url: url,
data: data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success:function(returnData){
if(returnData.result == "success"){
alert("삭제되었습니다.");
document.listForm.prcsOrd.value = ""; //리스트 이동시 prcsOrd 초기화
linkPage(pageIndex);
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
event.stopImmediatePropagation();
}
function fncSaveSort(prcsOrd, count){
var sortNo = $('#prcsSortNo'+count).val();
if(sortNo == ''){
alert("표시순서를 입력해 주세요.");
return false;
}
$('#prcsOrd').val(prcsOrd);
$('#prcsSortNo').val(sortNo);
var data = new FormData(document.getElementById("listForm"));
var url = "<c:url value='/kccadr/oprtn/otsdCprtnPrcs/eduPrcsSortUpdateAjax.do'/>";
$.ajax({
type:"POST",
url: url,
data: data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success:function(returnData){
if(returnData.result == "success"){
alert("저장되었습니다.");
document.listForm.prcsOrd.value = ""; //리스트 이동시 prcsOrd 초기화
fncGoList();
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
function fncReset(thisObj){
var targetObj = $(thisObj).closest('.list_top').find('select,input');
$.each(targetObj, function(){
@ -184,6 +68,11 @@
});
}
function fncExcel(){
var listForm = document.listForm ;
listForm.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/trgtCmpltExcel.do'/>";
listForm.submit();
}
</script>
<title>교육과정관리</title>
</head>
@ -261,6 +150,14 @@
</div>
</div>
</div>
<div class="list_top_4">
<div class="util_left">
<p>엑셀 다운로드</p>
</div>
<div class="util_right">
<button type="button" class="btn_type08" onclick="fncExcel();">엑셀 다운로드</button>
</div>
</div>
</div>
<div class="list_util">

View File

@ -72,7 +72,8 @@
console.log('returnData :: ', returnData);
if(returnData.result == "success"){
alert("저장되었습니다.");
//fncGoList();
// fncGoList();
//
}else if(returnData.result == "fail"){
alert(returnData.message);
$('#cmptntAthrt').prop('disabled', true);

View File

@ -379,7 +379,7 @@ function fncPopupListDelete() {
<button type="button" class="btnType03" onclick="fncPopupListDelete(); return false;">삭제</button>
</div>
<div class="area_right">
<button type="button" class="btnType02" onclick="location.href='/uss/ion/pwm/egovPopupRegist.do'; return false;">등록</button>
<button type="button" class="btnType02" onclick="location.href='${pageContext.request.contextPath}/uss/ion/pwm/egovPopupRegist.do'; return false;">등록</button>
</div>
</div>
<!-- //btn_wrap -->

View File

@ -55,7 +55,7 @@ function footerSiteLinkPageGo (){
</ul>
</div>
<div class="area_top">
<h1 class="logo"><a href="/offedu" title="메인으로 이동"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/common/ci.png" alt="한국저작권위원회 저작권 교육 시스템"></a></h1>
<h1 class="logo"><a href="/offedu" title="메인으로 이동"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/common/ci.png" alt="한국저작권위원회 저작권배움터"></a></h1>
<address>
<p>진주 [52852] 경상남도 진주시 충의로 19, 1/2/5층 ☎ 055-792-0000</p>
<p style=" margin-bottom: 8px">☎ 찾교(청소년) 055.792.0224 / 찾교(성인) 02.2669.0083 / 체험교실 055.792.0234 / 교육콘텐츠 055.792.0228</p>

View File

@ -244,10 +244,10 @@ function usrJoin(){
<li><a href="https://edu-copyright.or.kr/user/main/main.do">저작권e배움터</a></li>
<li><a href="https://edu-copyright.or.kr/dsprUser/main/main.do">장애인e배움터</a></li>
<li class="on"><a href="https://www.edu-copyright.or.kr/offedu/web/main/mainPage.do">저작권배움터</a></li> -->
<li><a href="#goLink" onclick="goLink('portal');return false;" onkeypress="this.onclick;">포털사이트</a></li>
<li><a href="#goLink" onclick="goLink('user');return false;" onkeypress="this.onclick;">저작권e배움터</a></li>
<li><a href="#goLink" onclick="goLink('dsprUser');return false;" onkeypress="this.onclick;">장애인e배움터</a></li>
<li class="on"><a href="#goLink" onclick="goLink('offedu');return false;" onkeypress="this.onclick;">저작권배움터</a></li>
<li><a href="#goLink" onclick="goLink('portal');return false;" onkeypress="this.onclick;" title="새창열림" target="_blank">포털사이트</a></li>
<li><a href="#goLink" onclick="goLink('user');return false;" onkeypress="this.onclick;" title="새창열림" target="_blank">저작권e배움터</a></li>
<li><a href="#goLink" onclick="goLink('dsprUser');return false;" onkeypress="this.onclick;" title="새창열림" target="_blank">장애인e배움터</a></li>
<li class="on"><a href="#goLink" onclick="goLink('offedu');return false;" onkeypress="this.onclick;" title="새창열림" target="_blank">저작권배움터</a></li>
</ul>
</div>
<!-- <div class="area_left">
@ -364,7 +364,7 @@ function usrJoin(){
<div class="header_top">
<div class="header_inner">
<div class="area_left">
<h1 class="logo"><a href="${pageContext.request.contextPath}/web/main/mainPage.do" title="메인으로 이동"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/common/ci.png" alt="한국저작권위원회 저작권 교육 시스템"></a></h1>
<h1 class="logo"><a href="${pageContext.request.contextPath}/web/main/mainPage.do" title="메인으로 이동"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/common/ci.png" alt="한국저작권위원회 저작권배움터"></a></h1>
<div class="edumark"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/common/edu_mark_1.png" alt="교육기부 우수기관">교육기부 우수기관</div>
</div>
<div class="area_right">

View File

@ -86,6 +86,7 @@
<div class="tb_list01">
<table>
<caption>찾아가는 교육 성인 신청목록표</caption>
<colgroup>
<col style="width: 10%;">
<col style="width: 18%;">

View File

@ -568,6 +568,7 @@
</div>
<div class="tb_type01 tb_write tb_input">
<table>
<caption>찾아가는 저작권 교육 신청표</caption>
<colgroup>
<col style="width: 220px;">
<col style="width: auto;">
@ -967,7 +968,7 @@
</c:when>
<c:otherwise>
<tr>
<th class="calendar_th">
<th scope="row" class="calendar_th">
<div class="calendar_wrap">
<!-- <input type="text" name="eduHopeDt" style="width: 80%;" class="calendar" title="시작일 선택" size="8"> -->
<duet-date-picker identifier="date" class="startDate" name="eduHopeDt"></duet-date-picker>

View File

@ -109,6 +109,7 @@
<div class="tb_list01">
<table>
<caption>찾아가는 교육 성인 완료목록표</caption>
<colgroup>
<col style="width: 8%;">
<col style="width: 12%;">

View File

@ -78,6 +78,7 @@
<div class="tb_list01">
<table>
<caption>체험교실 운영목록표</caption>
<colgroup>
<col style="width: 10%;">
<col style="width: 15%;">

View File

@ -143,6 +143,7 @@
</div>
<div class="tb_type01 tb_write">
<table>
<caption>신청자 정보표</caption>
<colgroup>
<col style="width: 220px;">
<col style="width: auto;">

View File

@ -409,6 +409,7 @@ $(document).ready(function(){
<!-- list -->
<div class="tb_list01">
<table>
<caption>실무역량강화 전체과정표</caption>
<colgroup>
<%-- <col style="width: 5%"> --%>
<col style="width: 10%">
@ -424,14 +425,14 @@ $(document).ready(function(){
<thead>
<tr>
<!-- <th>NO</th> -->
<th>교육구분</th>
<th>과정명</th>
<th>신청기간</th>
<th>교육일자</th>
<th>신청자/정원</th>
<th scope="col">교육구분</th>
<th scope="col">과정명</th>
<th scope="col">신청기간</th>
<th scope="col">교육일자</th>
<th scope="col">신청자/정원</th>
<c:if test="${loginVO != null }">
<th>상태</th>
<th>교육신청</th>
<th scope="col">상태</th>
<th scope="col">교육신청</th>
</c:if>
</tr>
</thead>

View File

@ -241,19 +241,25 @@
</div>
<ul class="edu_process">
<li class="edu_apply" style="cursor: pointer;" onclick="fn_goListForm(10)"><i></i>
<div class="text_area">신청중 강의<p><span><c:out value="${countMap['COUNT_APRVL_CD_10']}" /></span>건</p></div>
<a href="#none">
<div class="text_area">신청중 강의<p><span><c:out value="${countMap['COUNT_APRVL_CD_10']}" /></span>건</p></div>
</a>
</li>
<li class="edu_register" style="cursor: pointer;" onclick="fn_goListForm(15)"><i></i>
<div class="text_area">수강중 강의<p><span><c:out value="${countMap['COUNT_APRVL_CD_20']}" /></span>건</p></div>
<a href="#none">
<div class="text_area">수강중 강의<p><span><c:out value="${countMap['COUNT_APRVL_CD_20']}" /></span>건</p></div>
</a>
</li>
<li class="edu_close" style="cursor: pointer;" onclick="fn_goListForm(20)"><i></i>
<div class="text_area">종료된 강의<p><span><c:out value="${countMap['COUNT_END_CD']}" /></span>건</p></div>
<a href="#none">
<div class="text_area">종료된 강의<p><span><c:out value="${countMap['COUNT_END_CD']}" /></span>건</p></div>
</a>
</li>
</ul>
<div class="tb_tit02">
<div class="tb_tit02_left">
<div class="t_best">최근 교육 목록</div>
<div class="t_best">최근 교육 목록22222</div>
</div>
<div class="btn_wrap1">
<button type="button" title="최근 교육 목록 더보기" class="con_more" onclick="location.href='<c:url value="/web/ve/aplct/fndtnEnhanceTrn/fndtnEduAplctList.do" />'">더보기</button>
@ -272,11 +278,11 @@
</colgroup>
<thead>
<tr>
<th>교육과정</th>
<th>교육기간</th>
<th>신청결과</th>
<th>설문조사</th>
<th>이수증</th>
<th scope="col">교육과정</th>
<th scope="col">교육기간</th>
<th scope="col">신청결과</th>
<th scope="col">설문조사</th>
<th scope="col">이수증</th>
</tr>
</thead>
<tbody>
@ -361,7 +367,7 @@
<c:when test="${empty list.qestnrId10Cnt or list.qestnrId10Cnt eq 0}">
<!-- 작성된 설문이 없다 -->
<button type="button" class="btnType01" data-tooltip="sub37_pop20"
<button type="button" class="btnType01 sur_bt" data-tooltip="sub37_pop20"
onclick="fncQustnrList('${list.eduAplctOrd}','${list.eduChasiOrd}','10','insert'
,'${list.qustnrTmplatId}','${list.qestnrId10}',''
)" title="팝업 열림">설문등록</button>
@ -396,8 +402,7 @@
<c:choose>
<c:when test="${list.aplctStateCd eq 20 and list.qestnrId10Cnt gt 0}">
<button type="button" title="이수증"
style="height:30px;width:73px;"
class="btnType01" onclick="fncCmpltCrtfc('<c:out value="${list.prcsAplctPrdOrd}"/>', '<c:out value="${list.eduAplctOrd}"/>');">이수증</button>
class="btnType01 cer_bt" onclick="fncCmpltCrtfc('<c:out value="${list.prcsAplctPrdOrd}"/>', '<c:out value="${list.eduAplctOrd}"/>');">이수증</button>
</c:when>
<c:when test="${list.aplctStateCd eq 20 and not(list.qestnrId10Cnt gt 0)}">
설문등록 후 발급

View File

@ -0,0 +1,306 @@
<%@ 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="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %>
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<un:useConstants var="VeConstants" className="kcc.ve.cmm.VeConstants" />
<title>교육신청 목록 > 성인 찾아가는 저작권 교육 > 한국저작권위원회 저작권 교육 시스템</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<script type="text/javaScript" language="javascript">
function linkPage(pageNo){
var listForm = document.listForm ;
listForm.pageIndex.value = pageNo ;
listForm.action = "<c:url value='/web/ve/aplct/adultVisitEdu/eduAplct/eduAplctList.do'/>";
listForm.submit();
}
function goWrite(){
$("#listForm").attr("action","${pageContext.request.contextPath}/web/ve/aplct/adultVisitEdu/eduAplct/eduAplctReg.do").submit();
}
function fncGoDetail(prcsAplctPrdOrd){
var viewForm = document.viewForm ;
viewForm.prcsAplctPrdOrd.value = prcsAplctPrdOrd ;
viewForm.action = "<c:url value='/web/ve/aplct/sspnIdtmt/eduAplctDetail.do'/>";
viewForm.submit();
}
function fncGoList(){
linkPage(1);
}
function fncReset(thisObj){
var targetObj = $(thisObj).closest('.list_top').find('select,input');
$.each(targetObj, function(){
$(this).val('');
});
}
//FAQ 답변 open&close
function faqOpen(item) {
if($(item).is(".slide_open") == true) {
$(item).removeClass("slide_open");
$(item).next(".answer").slideUp(300);
$(item).attr("title","답변 열기");
} else {
$(item).addClass("slide_open");
$(item).next(".answer").slideDown(300);
$(item).attr("title","답변 닫기");
$(item).closest("li").siblings("li").children(".question").removeClass("slide_open");
$(item).closest("li").siblings("li").children(".answer").slideUp(300);
$(item).closest("li").siblings("li").children(".question").attr("title","답변 열기");
}
}
function fn_qnaReg(){
if(!confirm("문의 등록을 하시겠습니까?")){
$('#qnaCn').val('');
$('.btn_popup_close').click();
return false;
}
var data = new FormData(document.getElementById("qnaForm"));
var url = "${pageContext.request.contextPath}/web/ve/aplct/sspnIdtmt/qnaRegAjax.do";
$.ajax({
type:"POST",
url: url,
data: data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success:function(returnData){
console.log('returnData : ', returnData);
if(returnData.result == "success"){
// 대상자 테이블 pk 값
var sspnIdtmtTrgtOrd = returnData.id;
alert(returnData.msg);
}else{
alert(returnData.msg);
}
// fn_target_confirm_clean();
location.reload();
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
$('#target_confirm_popup-close').click();
}
function fn_goListForm(data){
var form = document.goListForm ;
form.searchStatus.value = data ;
form.submit();
}
//설문 팝업
function fncQustnrList(
id //aplctOrd
, chId //chasiOrd
, p_site_id_cd //10,20,30
, p_action //select, insert
, p_qustnrTmplatId //select, insert
, p_qestnrId //select, insert
, p_qustnrRespondId //select, insert
) {
paramObj = {
"eduAplctOrd" : id
,"eduChasiOrd" : chId
,"siteIdCd" : p_site_id_cd
,"siteId" : "60" //설문정보를 위해서 설문지의 대상값을 넣는다. VE0011 10-청소년, 20-성인,30-체험, 40-외부, 50-기반, 60-기소
,"action" : p_action
,"qustnrTmplatId" : p_qustnrTmplatId
,"qestnrId" : p_qestnrId
,"qustnrRespondId" : p_qustnrRespondId
};
commonPopLayeropen(
//"${pageContext.request.contextPath}/web/ve/aplct/cpyrgExprnClsrm/scholInfo/popup/qustnrPopList.do"
"${pageContext.request.contextPath}/web/ve/aplct/cpyrgExprnClsrm/scholInfo/popup/qustnrFndtnPopList.do"
, 800
, 700
, paramObj
, "Y"
, "QustnrList"
);
}
</script>
<!-- content -->
<div class="cont_wrap" id="sub">
<form id="goListForm" name="goListForm" action="<c:url value="/web/ve/aplct/sspnIdtmt/sspnIdtmtEduAplctList.do" />" method="post">
<input type="hidden" id="searchStatus" name="searchStatus" />
</form>
<form name="viewForm" id="viewForm">
<input type="hidden" name="prcsAplctPrdOrd">
</form>
<form:form id="listForm" name="listForm" commandName="vEEduAplctVO">
<input type="hidden" name="pageIndex" value="<c:out value='${vEEduAplctVO.pageIndex}' default='1' />"/>
<input type="hidden" name="searchSortCnd" value="<c:out value="${vEEduAplctVO.searchSortCnd}" />" />
<input type="hidden" name="searchSortOrd" value="<c:out value="${vEEduAplctVO.searchSortOrd}" />" />
<!--FAQ 내용 있을때-->
<div class="q_wrap">
<div class="btn_wrap btn_layout01">
<div class="tb_tit02">
<div class="tb_tit02_left">
<div class="t_best q_title">FAQ</div>
</div>
</div>
</div>
<c:if test="${not empty FAQList}">
<div class="tb_list02">
<div class="faq_wrap">
<ul class="faq">
<c:forEach var="FAQList" items="${FAQList}" varStatus="status">
<li <c:if test="${status.index == 0}"> class='first' </c:if>>
<button type="button" title="답변 열기" class="question" onclick="faqOpen(this);">
<p class="qst_text"><span>질문</span>Q</p>
<div>
<p class="qst_cont">${FAQList.nttSj}</p>
<p class="date">${FAQList.frstRegisterPnttm}</p>
</div>
</button>
<div class="answer">
<div class="answer_in">
<p class="qst_text"><span>답변</span>A</p>
<div>
<p class="awr_cont">${FAQList.nttCn }</p>
</div>
</div>
</div>
</li>
</c:forEach>
</ul>
</div>
</div>
</c:if>
<c:if test="${empty FAQList}">
<div class="q_text">
- 내용이 없습니다.
</div>
</c:if>
</div>
<!--Q&A 내용 있을때-->
<div class="q_wrap">
<div class="btn_wrap btn_layout01">
<div class="tb_tit02">
<div class="tb_tit02_left">
<div class="t_best q_title">Q&amp;A</div>
</div>
</div>
<div class="btn_right">
<button type="button" class="btnType04" data-tooltip="target_confirm_popup">교육문의</button>
</div>
</div>
<c:if test="${not empty qnaList}">
<div class="tb_list02">
<div class="faq_wrap">
<ul class="faq">
<c:forEach var="list" items="${qnaList}" varStatus="status">
<li <c:if test="${status.index == 0}"> class='first' </c:if>>
<button type="button" title="답변 열기" class="question" onclick="faqOpen(this);">
<p class="qst_text"><span>질문</span>Q</p>
<div>
<p class="qst_cont">${list.qnaCn }</p>
<p class="date">${list.frstRegistPnttm }</p>
</div>
</button>
<div class="answer">
<div class="answer_in">
<p class="qst_text"><span>답변</span>A</p>
<c:choose>
<c:when test="${not empty list.qnaAnswerCn }">
<div>
<p class="awr_cont">${list.qnaAnswerCn }</p>
<p class="date">${list.lastUpdtPnttm }</p>
</div>
</c:when>
<c:otherwise>
<p class="awr_cont">내용이 없습니다.</p>
</c:otherwise>
</c:choose>
</div>
</div>
</li>
</c:forEach>
</ul>
</div>
</div>
</c:if>
<c:if test="${empty qnaList}">
<div class="q_text">
- 내용이 없습니다.
</div>
</c:if>
</div>
</form:form>
</div>
<form id="qnaForm" name="qnaForm" method="post">
<!-- 교육대상자 확인 -->
<div class="tooltip-wrap q_pop">
<div class="popup_wrap popType01" tabindex="0" data-tooltip-con="target_confirm_popup" data-focus="target_confirm_popup" data-focus-prev="target_confirm_popup_close">
<div class="popup_tit">
<p>교육문의하기</p>
<button class="btn_popup_close tooltip-close" data-focus="target_confirm_popup_close" title="팝업 닫기"><i></i></button>
</div>
<div class="popup_cont">
<div class="cont_body">
<div class="pop_tb_type01" style="overflow:visible;">
<table>
<thead>
<tr>
<th>문의내용</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<textarea type="text" id="qnaCn" name="qnaCn" style="height: 220px;width: 100%;"></textarea>
</td>
</tr>
</tbody>
</table>
</div>
<div class="pop_btn_wrap btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
<button type="button" class="btnType05" onclick="fn_qnaReg()">문의</button>
<button type="button" class="btnType02 tooltip-close" id="target_confirm_popup-close" data-focus="target_confirm_popup-close" data-focus-next="target_confirm_popup">취소</button>
</div>
<div class="btn_right">
</div>
</div>
</div>
</div>
</div>
</div>
<!--// 신청 클릭 > 기소유예 대상자 확인 팝업 -->
</form>

View File

@ -169,16 +169,16 @@
<div class="tb_tit02">
<div class="tb_tit02_left">
<div class="t_best">최근 교육 목록</div>
<div class="t_best">교육 신청 목록</div>
</div>
<div class="btn_wrap1">
<button type="button" title="최근 교육 목록 더보기" class="con_more" onclick="location.href='<c:url value="/web/ve/aplct/sspnIdtmt/sspnIdtmtEduAplctList.do"/>'">더보기</button>
<button type="button" title="교육 신청 목록 더보기" class="con_more" onclick="location.href='<c:url value="/web/ve/aplct/sspnIdtmt/sspnIdtmtEduAplctList.do"/>'">더보기</button>
</div>
</div>
<div class="tb_list02">
<table>
<caption>최근 교육 목록표</caption>
<caption>교육 신청 목록표</caption>
<colgroup>
<col style="width:35%;">
<col style="width:;">
@ -301,9 +301,6 @@
<div class="tb_tit02_left">
<div class="t_best q_title">Q&amp;A</div>
</div>
<div class="btn_wrap1">
<button type="button" title="최근 교육 목록 더보기" class="con_more" onclick="location.href='/offedu/web/ve/aplct/fndtnEnhanceTrn/fndtnEduAplctList.do'">더보기</button>
</div>
</div>
<div class="btn_right">
<button type="button" class="btnType04" data-tooltip="target_confirm_popup">교육문의</button>

View File

@ -91,6 +91,7 @@
<div class="tb_list01">
<table>
<caption>찾아가는 교육 청소년 신청목록표</caption>
<colgroup>
<col style="width: 10%;">
<col style="width: 18%;">

View File

@ -1219,6 +1219,7 @@ function _chkChasiTime(p_this){
</div>
<div class="tb_type01 tb_write tb_input">
<table>
<caption>찾아가는 저작권 교육 신청표</caption>
<colgroup>
<col style="width: 220px;">
<col style="width: auto;">
@ -1478,6 +1479,7 @@ function _chkChasiTime(p_this){
</div>
<div class="tb_type02 tb_type02_write">
<table class="addClassRow" rowLimit="1" >
<caption>교육차시 정보를 입력하는 표</caption>
<colgroup>
<col style="width: 20%;">
<col style="width: auto;">
@ -1658,7 +1660,7 @@ function _chkChasiTime(p_this){
<c:otherwise>
<c:forEach var="list" begin="1" end="1" varStatus="status">
<tr>
<th class="calendar_th">
<th scope="row" class="calendar_th">
<div class="calendar_wrap">
<duet-date-picker identifier="date" class="startDate" name="eduHopeDt" onblur="_chkChasiDate(this); return false;"></duet-date-picker>
</div>

View File

@ -110,6 +110,7 @@
<div class="tb_list01">
<table>
<caption>찾아가는 교육 청소년 완료목록표</caption>
<colgroup>
<col style="width: 10%;">
<col style="width: 18%;">

View File

@ -56,8 +56,8 @@ header.scroll{box-shadow: 0 5px 8px rgba(0,0,0,0.15);}
.gnb_wrap .top_link ul{display: inline-block;}
.gnb_wrap .top_link ul li{display: inline-block;width: auto;}
.gnb_wrap .top_link ul li a{display:block;font-size:15px;padding: 0 30px;line-height: 46px;text-align: center;color: #555555;transition: 0.1s;}
.gnb_wrap .top_link ul li.on::after{content: '';display: block;width: 100%;height: 3px;background-color: #e95504;}
.gnb_wrap .top_link ul li.on a, .gnb_wrap .top_link ul li a:hover{color: #e95504;font-weight: 500;}
.gnb_wrap .top_link ul li.on::after{content: '';display: block;width: 100%;height: 3px;background-color: #d64309;}
.gnb_wrap .top_link ul li.on a, .gnb_wrap .top_link ul li a:hover{color: #d64309;font-weight: 500;}
.header{padding: 0; box-sizing: border-box;}
.header .header_top{width:100%; border-bottom:2px solid #f1f1f1;}
@ -83,15 +83,15 @@ header.scroll{box-shadow: 0 5px 8px rgba(0,0,0,0.15);}
.header .dep_li_07 .depth01_li{width: auto;}
.header .menu_link{font-size: 20px; font-weight: 300; letter-spacing: -0.5px; display: flex; align-items: center; justify-content: center;/* height: 100%; */position: relative;font-family: 'GmarketSansMedium'; line-height: 1.25;}
.header .menu_link::before{position: absolute; content: " "; display: block; width: 0; /*height: 2px; background-color: #E95504; left: 50%; transform: translateX(-50%); transition: width .4s ease-in-out; top: 32px;*/ z-index: 1;}
.header .menu_link .menu_link_br {color: #E95504;font-family: 'GmarketSansMedium'; padding:0 0 0 5px;}
.header .on .menu_link{color: #E95504;}
.header .menu_link .menu_link_br {color: #d64309;font-family: 'GmarketSansMedium'; padding:0 0 0 5px;}
.header .on .menu_link{color: #d64309;}
.on .nav_wrap .on .menu_link::before{width: 100%;}
.header .depth02{position: absolute; top:53px; text-align: center; padding: 15px 0; width: 100%; left: 50%; transform: translateX(-50%);border-right: 1px solid #d5d5d5;}
.header .depth01_li:first-child .depth02{border-left: 1px solid #d5d5d5;}
.header .depth01_li:hover .depth02::after{position:absolute;content:"";width:calc(100% + 4px); height:100%; background-color:#fff8f4;left:-2px;top:0;}
.header .depth01_li:hover .depth02 li{ position:relative;z-index:1;}
.header .depth02 a{font-size: 17px; font-weight: 300; line-height: 1.3; height: 45px; display: flex; align-items: center; justify-content: center; word-break: keep-all;white-space:nowrap;}
.header .depth02 a:hover,.header .depth02 a:focus{color: #E95504;font-weight:500;}
.header .depth02 a:hover,.header .depth02 a:focus{color: #d64309;font-weight:500;}
.header_inner button{width: 27px; height: 26px; background-repeat: no-repeat;}
.header_inner .btn_search{background-image: url(../images/common/btn_search.png); margin-right: 25px; margin-top: -2px;}
@ -124,7 +124,7 @@ header.scroll{box-shadow: 0 5px 8px rgba(0,0,0,0.15);}
.full_menu .depth01_li:first-child{padding: 0 0 20px 0;}
.full_menu .depth01_li:last-child{border-bottom: 0;}
.full_menu .depth01_li .menu_link{width:350px;font-size: 20px; font-weight: 500; color: #222;}
.full_menu .depth01_li:hover .menu_link,.full_menu .depth01_li .depth02 li:hover{color: #e95504;}
.full_menu .depth01_li:hover .menu_link,.full_menu .depth01_li .depth02 li:hover{color: #d64309;}
.full_menu .depth01_li .depth02 li:hover{font-weight: 500;}
.full_menu .depth01_li .depth02{display: flex; width: calc(100% - 138px); font-size: 18px; font-weight: 300; color: #666; justify-content:flex-start; flex-wrap: wrap;}
.full_menu .depth01_li .depth02 li{width:calc(100% / 4); height:40px;}
@ -177,7 +177,7 @@ header.scroll{box-shadow: 0 5px 8px rgba(0,0,0,0.15);}
.navigation .list > li .navi_depth {display:none;position:absolute;left:-1px;top:50px;width:100%;border:1px solid #d5d5d5;background:#fff;z-index:2;}
.navigation .list > li .navi_depth li a {display:block;height:40px;padding:0 20px;font-size:16px;line-height:40px;}
.navigation .list > li .navi_depth li a:hover,
.navigation .list > li .navi_depth li a:focus {font-weight:500;color:#ff6009;background:#fff3ec;}
.navigation .list > li .navi_depth li a:focus {font-weight:500;color:#d64309;background:#fff3ec;}
/* footer */
/* footer{width: 100%; background-color: #eef0f3; position: relative; padding: 0 10px; box-sizing: border-box; color: #666; position: relative; margin: 80px auto 0 auto;} */

View File

@ -825,6 +825,14 @@ select.selType1 {height: 40px; border: 1px solid #d5d5d5; border-radius: 5px; pa
/*나의 강의실 > Q&A 내용 없을때 추가*/
.q_wrap .q_text{padding: 25px 35px; border-top: 2px solid #222; border-bottom: 1px solid #d5d5d5; font-size: 18px; color: #666;}
/*2024년 웹접근성 > 추가한것들*/
/*체험교실 > 운영신청 > 운영신청 안내 > 표안에 pdf버튼 추가*/
.list_view .pdf_bt{padding: 5px 10px; border-radius: 5px;}
/*나의강의실 > 최근 교육 목록 > 설문등록, 이수증 버튼 추가*/
.tb_list02 .sur_bt{padding: 5px 10px; border-radius: 5px;}
.tb_list02 .cer_bt{padding: 5px 10px; border-radius: 5px;}
@media all and (max-width: 1300px){
/*교육소개 추가*/
.edu_wrap .tb_type01 table tbody .edu_sus_num li{width: 55%;}

View File

@ -41,7 +41,7 @@
.container .main_banner_link .banner_link_03 i{background-image:url(/offedu/visitEdu/usr/publish/images/main/icon_main_visual_03.png);}
.container .main_banner_link .banner_link_04 i{background-image:url(/offedu/visitEdu/usr/publish/images/main/icon_main_visual_04.png);}
.container .main_banner_link .banner_link_05 i{background-image:url(/offedu/visitEdu/usr/publish/images/main/icon_main_visual_05.png);}
.container .main_banner_link li span{color:#e95504;font-weight:500;}
.container .main_banner_link li span{color:#d64309;font-weight:500;}
/* 하단콘텐츠 공통 */
.wrap .content_wrap{width:calc((100% - 72px)/3);}
@ -50,34 +50,34 @@
.wrap .content_wrap>.title h3{position:relative;font-size:28px;font-weight:bold;padding:0 0 0 20px;}
.wrap .content_wrap>.title h3::after{position:absolute;content:" ";width:6px;height:6px;border:3px solid #e95504;border-radius:100%;left:0;top:9px;}
.wrap .content_wrap .title .btn_plus{display:flex;width:65px;height:30px;background:#fff url(/offedu/visitEdu/usr/publish/images/main/btn_plus.png) no-repeat calc(100% + 4px) center;padding:0 4px 0 8px;overflow:hidden;text-align:left;color:#666;line-height:1.6;border:1px solid #d5d5d5;border-radius:5px;justify-content:flex-start;align-items:center;transition:all 0.1s ease-in;}
.wrap .content_wrap .title .btn_plus:hover{border:1px solid #e95504;background:#fff url(/offedu/visitEdu/usr/publish/images/main/btn_plus_hover.png) no-repeat calc(100% + 4px) center;color:#e95504;}
.wrap .content_wrap .title .btn_plus:hover{border:1px solid #d64309;background:#fff url(/offedu/visitEdu/usr/publish/images/main/btn_plus_hover.png) no-repeat calc(100% + 4px) center;color:#d64309;}
/* 공지사항 */
.wrap .notice .content{padding:15px 45px;background-color:#fff;border:1px solid #d5d5d5;border-radius: 5px;box-shadow:0 0 5px rgba(0,0,0,0.15);box-sizing:border-box;}
.wrap .notice .emphasis{display: inline-flex;width:40px;height:20px;justify-content:center;align-items:center;background-color:#e95504;font-size:14px;font-weight:400;color:#fff;border-radius:5px;margin:0 8px 0 0;}
.wrap .notice .emphasis{display: inline-flex;width:40px;height:20px;justify-content:center;align-items:center;background-color:#d64309;font-size:14px;font-weight:400;color:#fff;border-radius:5px;margin:0 8px 0 0;}
.wrap .notice .notice_list li{border-bottom: 1px solid #d5d5d5;}
.wrap .notice .notice_list li:last-child{border:0;}
.wrap .notice .notice_list li a{display:flex;height:50px;justify-content:space-between;align-items:center;transition:all 0.1s ease-in;}
.wrap .notice .notice_list li:hover a{color:#e95504;transition:all 0.15s ease-in-out;}
.wrap .notice .notice_list li:hover a{color:#d64309;transition:all 0.15s ease-in-out;}
.wrap .notice .date{display:flex;min-width:110px;font-size:16px;color:#666;align-items:center;font-weight:300;}
.wrap .notice .notice_list li:hover .date{color:#e95504;}
.wrap .notice .notice_list li:hover .date{color:#d64309;}
.wrap .notice .date i{display:inline-block;width:4px;height:4px;background:#e95504;margin:2px 6px 0 0;border-radius:100%;}
.wrap .notice .notice_list .title{width: calc(100% - 115px);font-size:18px;font-weight:500;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;line-height: 1.4;}
/* 자료실 */
.wrap .data_notice .notice_list{display:flex;height:100%;align-items:stretch;flex-flow:wrap;justify-content:space-between;flex-direction:column;}
.wrap .data_notice .notice_list li{width:100%;padding:15.5px 45px;background-color:#fff;border:1px solid #d5d5d5;border-radius: 5px;box-shadow:0 0 5px rgba(0,0,0,0.15);box-sizing:border-box;transition:all 0.05s ease-in-out;}
.wrap .data_notice .notice_list li:hover{border:1px solid #e95504;transition:all 0.05s ease-in-out;}
.wrap .data_notice .notice_list li:hover{border:1px solid #d64309;transition:all 0.05s ease-in-out;}
.wrap .data_notice .notice_list li .title{font-size: 18px;font-weight:500;align-items:center;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;line-height:1.2;transition:all 0.05s ease-in-out;}
.wrap .data_notice .notice_list li .title i{display:inline-block;width:4px;height:4px;background:#e95504;margin:0 6px 5px 0;border-radius:100%;}
.wrap .data_notice .notice_list li .date{margin:4.5px 0 0 8px;color:#666;font-weight:300;transition:all 0.05s ease-in-out;}
.wrap .data_notice .notice_list li:hover .title,.wrap .data_notice .notice_list li:hover .date{color:#e95504;transition:all 0.05s ease-in-out;}
.wrap .data_notice .notice_list li:hover .title,.wrap .data_notice .notice_list li:hover .date{color:#d64309;transition:all 0.05s ease-in-out;}
/* 알림판 */
.wrap .notify .notify_slide{height:100%;}
.wrap .notify .notify_slide .swiper-slide img{width:100%;height:100%;}
.wrap .notify .notify_control{display:flex;height:30px;background-color:#fff;border:1px solid #d5d5d5;border-radius:5px;padding:0 4px 0 0;}
.wrap .notify .notify_control>*{position:unset;width:23px;height:30px;font-size:16px;color:#888;text-align:center;line-height:28px;letter-spacing:-1.7px;margin: 0 0 0 -1px;}
.wrap .notify .notify_control>*{position:unset;width:23px;height:30px;font-size:16px;color:#666;text-align:center;line-height:28px;letter-spacing:-1.7px;margin: 0 0 0 -1px;}
.wrap .notify .notify_control .slide_number{width:35px;}
.wrap .notify .notify_control .swiper-button-prev,.wrap .notify .notify_control .swiper-button-next{background-size:auto;}
.wrap .notify .notify_control .swiper-button-prev::after,.wrap .notify .notify_control .swiper-button-next::after{display: none;}