Merge branch 'master' of http://yongjoon.cho@vcs.iten.co.kr:9999/itnAdmin/koipa_edu_2025-1
This commit is contained in:
commit
8574ddf474
@ -12,7 +12,12 @@ import org.springframework.web.bind.annotation.RequestParam;
|
|||||||
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
|
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
|
||||||
|
|
||||||
import egovframework.rte.fdl.property.EgovPropertyService;
|
import egovframework.rte.fdl.property.EgovPropertyService;
|
||||||
|
import kcc.com.cmm.ComDefaultVO;
|
||||||
import kcc.com.cmm.util.RedirectUrlMaker;
|
import kcc.com.cmm.util.RedirectUrlMaker;
|
||||||
|
import kcc.let.sym.mnu.mpm.service.EgovMenuManageService;
|
||||||
|
import kcc.let.sym.mnu.mpm.service.MenuManageVO;
|
||||||
|
import kcc.let.sym.prm.service.EgovProgrmManageService;
|
||||||
|
import kcc.let.sym.prm.service.ProgrmManageVO;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 공통유틸리티성 작업을 위한 Controller 클래스
|
* 공통유틸리티성 작업을 위한 Controller 클래스
|
||||||
@ -37,6 +42,14 @@ public class EgovComUtlController {
|
|||||||
/** EgovPropertyService */
|
/** EgovPropertyService */
|
||||||
@Resource(name = "propertiesService")
|
@Resource(name = "propertiesService")
|
||||||
protected EgovPropertyService propertiesService;
|
protected EgovPropertyService propertiesService;
|
||||||
|
|
||||||
|
/** EgovProgrmManageService */
|
||||||
|
@Resource(name = "progrmManageService")
|
||||||
|
private EgovProgrmManageService progrmManageService;
|
||||||
|
|
||||||
|
/** EgovMenuManageService */
|
||||||
|
@Resource(name = "meunManageService")
|
||||||
|
private EgovMenuManageService menuManageService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* JSP 호출작업만 처리하는 공통 함수
|
* JSP 호출작업만 처리하는 공통 함수
|
||||||
@ -61,6 +74,52 @@ public class EgovComUtlController {
|
|||||||
}else if(null != request.getAttribute("baseMenuNo")){
|
}else if(null != request.getAttribute("baseMenuNo")){
|
||||||
session.setAttribute("baseMenuNo", (String)request.getAttribute("baseMenuNo"));
|
session.setAttribute("baseMenuNo", (String)request.getAttribute("baseMenuNo"));
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
|
try {
|
||||||
|
ComDefaultVO searchVO = new ComDefaultVO();
|
||||||
|
String tempUrl = request.getRequestURI().replace(request.getContextPath(), "");
|
||||||
|
|
||||||
|
if(
|
||||||
|
tempUrl.contains("cndtnEduPrcsAplctPrdMngList.do")
|
||||||
|
|| tempUrl.contains("cndtnEduPrcsAplctCfnMngList.do")
|
||||||
|
) {
|
||||||
|
tempUrl = tempUrl.replace("cndtnEduPrcsAplctPrdMngList", "cndtnEduPrcsMngList");
|
||||||
|
tempUrl = tempUrl.replace("cndtnEduPrcsAplctCfnMngList", "cndtnEduPrcsMngList");
|
||||||
|
}
|
||||||
|
|
||||||
|
searchVO.setSearchKeyword(tempUrl);
|
||||||
|
ProgrmManageVO progrmManageVO = progrmManageService.selectProgrmUrl(searchVO);
|
||||||
|
|
||||||
|
if(progrmManageVO != null) {
|
||||||
|
|
||||||
|
MenuManageVO tempMenuManageVO = new MenuManageVO();
|
||||||
|
tempMenuManageVO.setSearchKeyword(progrmManageVO.getProgrmFileNm());
|
||||||
|
MenuManageVO resultVO = menuManageService.selectMenuManage(tempMenuManageVO) ;
|
||||||
|
|
||||||
|
session.setAttribute("baseMenuNo", String.valueOf(resultVO.getMenuNo()));
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
System.out.println("%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%");
|
||||||
|
System.out.println("%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%");
|
||||||
|
System.out.println("%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%");
|
||||||
|
System.out.println("%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%");
|
||||||
|
System.out.println("%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%");
|
||||||
|
System.out.println("%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%");
|
||||||
|
System.out.println("%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%");
|
||||||
|
System.out.println("%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%");
|
||||||
|
System.out.println("%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%");
|
||||||
|
System.out.println("%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%");
|
||||||
|
System.out.println("%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%");
|
||||||
|
System.out.println("%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%");
|
||||||
|
System.out.println("%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%");
|
||||||
|
System.out.println("%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%");
|
||||||
|
System.out.println("%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%");
|
||||||
|
System.out.println("%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%");
|
||||||
|
System.out.println("%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%");
|
||||||
|
System.out.println("%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%");
|
||||||
|
System.out.println("%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%");
|
||||||
|
}
|
||||||
|
}
|
||||||
// 선택된 메뉴정보를 상단 이름을 세션으로 등록한다.
|
// 선택된 메뉴정보를 상단 이름을 세션으로 등록한다.
|
||||||
if (baseMenuNm != null && !baseMenuNm.equals("") && !baseMenuNm.equals("null")) {
|
if (baseMenuNm != null && !baseMenuNm.equals("") && !baseMenuNm.equals("null")) {
|
||||||
session.setAttribute("baseMenuNm", baseMenuNm);
|
session.setAttribute("baseMenuNm", baseMenuNm);
|
||||||
|
|||||||
@ -249,6 +249,14 @@ public class EgovMainController {
|
|||||||
, HttpSession session) throws Exception{
|
, HttpSession session) throws Exception{
|
||||||
|
|
||||||
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
|
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
|
||||||
|
|
||||||
|
if ("ROLE_ADR_JRSDC".equals(loginVO.getAuthority())) { //기소유예
|
||||||
|
return "redirect:/kccadr/oprtn/cndtnSspnIdtmt/trgtList.do";
|
||||||
|
} else if ("ROLE_ADR_KIPO".equals(loginVO.getAuthority())) { //시정명령
|
||||||
|
return "redirect:/kccadr/oprtn/cmdTrgt/trgtList.do";
|
||||||
|
} else if ("ROLE_ADR_PREV".equals(loginVO.getAuthority())) { //예방교육
|
||||||
|
return "redirect:/kccadr/oprtn/prevent/cndtnEduPrcsMngList.do";
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* notify..?
|
* notify..?
|
||||||
@ -1167,12 +1175,15 @@ public class EgovMainController {
|
|||||||
if (today.before(startDate)) {
|
if (today.before(startDate)) {
|
||||||
// 접수전
|
// 접수전
|
||||||
t.setDdlnCd(VeConstants.DDLN_CD_APP_BEFORE);
|
t.setDdlnCd(VeConstants.DDLN_CD_APP_BEFORE);
|
||||||
|
t.setDdlnCdNm("접수전");
|
||||||
} else if (!today.before(startDate) && !today.after(endDate)) {
|
} else if (!today.before(startDate) && !today.after(endDate)) {
|
||||||
// 접수중
|
// 접수중
|
||||||
t.setDdlnCd(VeConstants.DDLN_CD_APP_ING);
|
t.setDdlnCd(VeConstants.DDLN_CD_APP_ING);
|
||||||
|
t.setDdlnCdNm("접수중");
|
||||||
} else if (today.after(endDate)) {
|
} else if (today.after(endDate)) {
|
||||||
// 접수종료
|
// 접수종료
|
||||||
t.setDdlnCd(VeConstants.DDLN_CD_APP_END);
|
t.setDdlnCd(VeConstants.DDLN_CD_APP_END);
|
||||||
|
t.setDdlnCdNm("접수종료");
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
@ -1211,12 +1222,15 @@ public class EgovMainController {
|
|||||||
if (today.before(startDate)) {
|
if (today.before(startDate)) {
|
||||||
// 접수전
|
// 접수전
|
||||||
t.setDdlnCd(VeConstants.DDLN_CD_APP_BEFORE);
|
t.setDdlnCd(VeConstants.DDLN_CD_APP_BEFORE);
|
||||||
|
t.setDdlnCdNm("접수전");
|
||||||
} else if (!today.before(startDate) && !today.after(endDate)) {
|
} else if (!today.before(startDate) && !today.after(endDate)) {
|
||||||
// 접수중
|
// 접수중
|
||||||
t.setDdlnCd(VeConstants.DDLN_CD_APP_ING);
|
t.setDdlnCd(VeConstants.DDLN_CD_APP_ING);
|
||||||
|
t.setDdlnCdNm("접수중");
|
||||||
} else if (today.after(endDate)) {
|
} else if (today.after(endDate)) {
|
||||||
// 접수종료
|
// 접수종료
|
||||||
t.setDdlnCd(VeConstants.DDLN_CD_APP_END);
|
t.setDdlnCd(VeConstants.DDLN_CD_APP_END);
|
||||||
|
t.setDdlnCdNm("접수종료");
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
|
|||||||
@ -1855,18 +1855,16 @@ public class EgovLoginController {
|
|||||||
|
|
||||||
if ("ROLE_ADMIN".equals(loginService.getUserAuth(user).getAuthority())) { // 수퍼관리자 경우
|
if ("ROLE_ADMIN".equals(loginService.getUserAuth(user).getAuthority())) { // 수퍼관리자 경우
|
||||||
return "redirect:/cmm/main/mainPage.do";
|
return "redirect:/cmm/main/mainPage.do";
|
||||||
// return "redirect:/kccadr/oprtn/tngrVisitEdu/areaLctrMngList.do";
|
|
||||||
} else if ("ROLE_USER_MANAGER".equals(user.getAuthority())) {
|
} else if ("ROLE_USER_MANAGER".equals(user.getAuthority())) {
|
||||||
return "redirect:/web/main/mainPage.do";
|
return "redirect:/web/main/mainPage.do";
|
||||||
} else if ("ROLE_VISIT".equals(user.getAuthority())) {
|
} else if ("ROLE_VISIT".equals(user.getAuthority())) {
|
||||||
return "redirect:/cmm/main/mainPage.do";
|
return "redirect:/cmm/main/mainPage.do";
|
||||||
} else if ("ROLE_ADR_JRSDC".equals(user.getAuthority())) {
|
} else if ("ROLE_ADR_JRSDC".equals(user.getAuthority())) { //기소유예
|
||||||
return "redirect:/kccadr/oprtn/cndtnSspnIdtmt/trgtList.do";
|
return "redirect:/kccadr/oprtn/cndtnSspnIdtmt/trgtList.do";
|
||||||
//return "redirect:/cmm/main/mainPage.do";
|
|
||||||
//return "redirect:/cop/bbs/selectBoardList.do?bbsId=BBSMSTR_000000000040";
|
|
||||||
} else if ("ROLE_ADR_KIPO".equals(user.getAuthority())) { //시정명령
|
} else if ("ROLE_ADR_KIPO".equals(user.getAuthority())) { //시정명령
|
||||||
return "redirect:/kccadr/oprtn/cmdTrgt/trgtList.do";
|
return "redirect:/kccadr/oprtn/cmdTrgt/trgtList.do";
|
||||||
|
} else if ("ROLE_ADR_PREV".equals(user.getAuthority())) { //예방교육
|
||||||
|
return "redirect:/kccadr/oprtn/prevent/cndtnEduPrcsMngList.do";
|
||||||
} else if ("ROLE_USER_MEMBER".equals(user.getAuthority())) {
|
} else if ("ROLE_USER_MEMBER".equals(user.getAuthority())) {
|
||||||
System.out.println("비정상적인 사용자 redirect 임");
|
System.out.println("비정상적인 사용자 redirect 임");
|
||||||
return "redirect:/web/main/mainPage.do";
|
return "redirect:/web/main/mainPage.do";
|
||||||
|
|||||||
@ -1,216 +0,0 @@
|
|||||||
package kcc.let.uat.uia.web;
|
|
||||||
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.util.HashMap;
|
|
||||||
|
|
||||||
import javax.servlet.Filter;
|
|
||||||
import javax.servlet.FilterChain;
|
|
||||||
import javax.servlet.FilterConfig;
|
|
||||||
import javax.servlet.ServletException;
|
|
||||||
import javax.servlet.ServletRequest;
|
|
||||||
import javax.servlet.ServletResponse;
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
|
||||||
import javax.servlet.http.HttpServletResponse;
|
|
||||||
import javax.servlet.http.HttpSession;
|
|
||||||
|
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
|
||||||
import org.springframework.security.core.Authentication;
|
|
||||||
import org.springframework.security.core.context.SecurityContextHolder;
|
|
||||||
import org.springframework.security.web.authentication.logout.SecurityContextLogoutHandler;
|
|
||||||
import org.springframework.stereotype.Component;
|
|
||||||
|
|
||||||
import com.bandi.oauth.BandiSSOAgent;
|
|
||||||
|
|
||||||
import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper;
|
|
||||||
import kcc.com.cmm.LoginVO;
|
|
||||||
import kcc.let.uat.uia.service.SsoLoginVO;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*public class SSOValid {
|
|
||||||
|
|
||||||
// agent 관련 설정
|
|
||||||
private static String ssoUri = "https://devsso.copyright.or.kr/oauth2/token.do"; // 개발서버 URL
|
|
||||||
private static String clientId = "해당 시스템의 클라이언트 아이디";
|
|
||||||
private static String clientId = "30354835c3684ff79e7fb1bfd3a768f6";
|
|
||||||
private static String clientSecret = "해당 시스템의 클라이언트 시크릿";
|
|
||||||
private static String clientSecret = "1ueil5ee05wr0t1gjy1ppt212";
|
|
||||||
private static String scope = "http://sso.copyright.or.kr"; // 고정
|
|
||||||
|
|
||||||
public static void main(String[] args) throws Exception {
|
|
||||||
// SSO 로그인 연계 "BandiSSOAgent 생성" 참조
|
|
||||||
BandiSSOAgent agent = new BandiSSOAgent(ssoUri, clientId, clientSecret, scope);
|
|
||||||
|
|
||||||
// 사용자 접속 ip
|
|
||||||
String client_ip = "127.0.0.1";
|
|
||||||
|
|
||||||
// 세션에서 취득한 제어 토큰
|
|
||||||
String access_token = "95i90zzd57dqvefxx37732fjifkwm00k7piajty0iwq7a....";
|
|
||||||
//==================================
|
|
||||||
// SSO 유효성 검증 (Intercepter에서 매번 실행)
|
|
||||||
//==================================
|
|
||||||
// SSO 로그인 연계 "tokenValid 함수 요청" 및 "tokenValid 함수 결과" 참조
|
|
||||||
sso 연동 tokenValid 예제
|
|
||||||
|
|
||||||
System.out.println("------------------------인터셉터 test입니다---------------------------");
|
|
||||||
|
|
||||||
HashMap<String, String> tokenValid = agent.tokenValid(access_token, client_ip);
|
|
||||||
찾교 intercepter에 포함될 내용
|
|
||||||
// ssoLoginVO = (SsoLoginVO)session.getAttribute("SsoLoginVO");
|
|
||||||
// HashMap<String, String> tokenValid = agent.tokenValid(ssoLoginVO.getAccess_token, client_ip);
|
|
||||||
|
|
||||||
if(tokenValid.get("error").equals("0000") == false) {
|
|
||||||
// 토큰이 유효하지 않는 경우
|
|
||||||
// 세션 로그아웃 처리
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
//==================================
|
|
||||||
// SSO 로그 아웃
|
|
||||||
//==================================
|
|
||||||
// SSO 로그인 연계 "logout 함수요청" 참조
|
|
||||||
agent.logout(access_token, client_ip);
|
|
||||||
// 세션 로그아웃
|
|
||||||
}
|
|
||||||
}*/
|
|
||||||
|
|
||||||
@Component
|
|
||||||
public class SSOValid implements Filter {
|
|
||||||
|
|
||||||
//SSO agent 관련 설정
|
|
||||||
|
|
||||||
private static String ssoUri;
|
|
||||||
|
|
||||||
private static String clientId;
|
|
||||||
|
|
||||||
private static String clientSecret;
|
|
||||||
|
|
||||||
private static String scope;
|
|
||||||
|
|
||||||
@Value("#{globalSettings['Globals.sso.ssoUri']}")
|
|
||||||
public void setSsoUri(String ssoUri) {
|
|
||||||
SSOValid.ssoUri = ssoUri;
|
|
||||||
}
|
|
||||||
@Value("#{globalSettings['Globals.sso.clientId']}")
|
|
||||||
public void setClientId(String clientId) {
|
|
||||||
SSOValid.clientId = clientId;
|
|
||||||
}
|
|
||||||
@Value("#{globalSettings['Globals.sso.clientSecret']}")
|
|
||||||
public void setClientSecret(String clientSecret) {
|
|
||||||
SSOValid.clientSecret = clientSecret;
|
|
||||||
}
|
|
||||||
@Value("#{globalSettings['Globals.sso.scope']}")
|
|
||||||
public void setScope(String scope) {
|
|
||||||
SSOValid.scope = scope;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*//실서버 적용시 변경
|
|
||||||
// agent 관련 설정
|
|
||||||
private static String ssoUri = "https://devsso.copyright.or.kr/oauth2/token.do"; // 개발서버 URL
|
|
||||||
private static String clientId = "해당 시스템의 클라이언트 아이디";
|
|
||||||
private static String clientId = "30354835c3684ff79e7fb1bfd3a768f6";
|
|
||||||
private static String clientSecret = "해당 시스템의 클라이언트 시크릿";
|
|
||||||
private static String clientSecret = "1ueil5ee05wr0t1gjy1ppt212";
|
|
||||||
private static String scope = "http://sso.copyright.or.kr"; // 고정
|
|
||||||
*/
|
|
||||||
// 초기화 함수
|
|
||||||
@Override
|
|
||||||
public void init(FilterConfig filterConfig) throws ServletException {
|
|
||||||
}
|
|
||||||
|
|
||||||
// 필터 함수, 브라우저에서 요청이 오면 필터 매핑에 의해 호출된다.
|
|
||||||
@Override
|
|
||||||
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
|
|
||||||
throws IOException, ServletException {
|
|
||||||
|
|
||||||
//SSO 로그인 연계 BandiSSOAgent 생성
|
|
||||||
BandiSSOAgent agent = new BandiSSOAgent(ssoUri, clientId, clientSecret, scope);
|
|
||||||
|
|
||||||
// 사용자 접속 ip
|
|
||||||
// agent.getLocalServerIp(request);
|
|
||||||
String client_ip = "127.0.0.1";
|
|
||||||
|
|
||||||
//filter에서 세션을 받아오기위해 ServletRequest -> HttpServletRequest 형변환
|
|
||||||
HttpServletRequest req = (HttpServletRequest) request;
|
|
||||||
HttpServletResponse resp = (HttpServletResponse) response;
|
|
||||||
|
|
||||||
//현재 세션 정보 받아오기
|
|
||||||
HttpSession session = req.getSession();
|
|
||||||
|
|
||||||
//SsoLoginVO 세션 정보 취득
|
|
||||||
SsoLoginVO ssoLoginVO = new SsoLoginVO();
|
|
||||||
ssoLoginVO = (SsoLoginVO)session.getAttribute("SSOLoginVO");
|
|
||||||
|
|
||||||
//LoginVO 세션 정보 취득
|
|
||||||
LoginVO loginVO = new LoginVO();
|
|
||||||
loginVO = (LoginVO)session.getAttribute("LoginVO");
|
|
||||||
|
|
||||||
try {
|
|
||||||
if(ssoLoginVO != null) {
|
|
||||||
if("N".equals(ssoLoginVO.getOtherUser())){
|
|
||||||
HashMap<String, String> tokenValid = agent.tokenValid(ssoLoginVO.getAccess_token(), client_ip);
|
|
||||||
if(tokenValid.get("error").equals("0000")) {
|
|
||||||
if(loginVO == null) {
|
|
||||||
// HttpServletResponse httpServletResponse = (HttpServletResponse) response;
|
|
||||||
// httpServletResponse.sendRedirect("/web/user/login/actionSecurityLogin.do");
|
|
||||||
}
|
|
||||||
}else {
|
|
||||||
//SSO 로그아웃 요청
|
|
||||||
agent.logout(ssoLoginVO.getAccess_token(), client_ip);
|
|
||||||
if(session.getAttribute("SSOLoginVO") != null) {
|
|
||||||
session.removeAttribute("SSOLoginVO");
|
|
||||||
}
|
|
||||||
|
|
||||||
/*Spring Security 로그아웃*/
|
|
||||||
Authentication auth = SecurityContextHolder.getContext().getAuthentication();
|
|
||||||
if (auth != null) {
|
|
||||||
new SecurityContextLogoutHandler().logout(req, resp, auth);
|
|
||||||
}
|
|
||||||
//LoginVO 세션 remove
|
|
||||||
if(session.getAttribute("LoginVO") != null) {
|
|
||||||
session.removeAttribute("LoginVO");
|
|
||||||
}
|
|
||||||
|
|
||||||
session.setAttribute("SsoLogout", "Y");
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}else {
|
|
||||||
if(loginVO != null) {
|
|
||||||
|
|
||||||
LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser();
|
|
||||||
if(! ("ROLE_ADMIN".equals(user.getAuthority())
|
|
||||||
|| "ROLE_ADR_ADMIN".equals(user.getAuthority())
|
|
||||||
|| "ROLE_VISIT".equals(user.getAuthority())
|
|
||||||
)
|
|
||||||
){
|
|
||||||
/*Spring Security 로그아웃*/
|
|
||||||
Authentication auth = SecurityContextHolder.getContext().getAuthentication();
|
|
||||||
if (auth != null) {
|
|
||||||
new SecurityContextLogoutHandler().logout(req, resp, auth);
|
|
||||||
}
|
|
||||||
//LoginVO 세션 remove
|
|
||||||
if(session.getAttribute("LoginVO") != null) {
|
|
||||||
session.removeAttribute("LoginVO");
|
|
||||||
}
|
|
||||||
|
|
||||||
session.setAttribute("SsoLogout", "Y");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}catch(Exception e) {
|
|
||||||
System.out.println("Exception Occured!!!");
|
|
||||||
}
|
|
||||||
chain.doFilter(request, response);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void destroy() {
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@ -119,6 +119,7 @@ public class VEPrcsDetailVO extends ComDefaultVO implements Serializable {
|
|||||||
|
|
||||||
private String nos;
|
private String nos;
|
||||||
private String ddlnCd;
|
private String ddlnCd;
|
||||||
|
private String ddlnCdNm;
|
||||||
|
|
||||||
private String nosCnt1; //신청인
|
private String nosCnt1; //신청인
|
||||||
private String eduPlace; //교육장소
|
private String eduPlace; //교육장소
|
||||||
@ -1112,5 +1113,12 @@ public class VEPrcsDetailVO extends ComDefaultVO implements Serializable {
|
|||||||
}
|
}
|
||||||
public void setCmdTrgtInfoOrd(String cmdTrgtInfoOrd) {
|
public void setCmdTrgtInfoOrd(String cmdTrgtInfoOrd) {
|
||||||
this.cmdTrgtInfoOrd = cmdTrgtInfoOrd;
|
this.cmdTrgtInfoOrd = cmdTrgtInfoOrd;
|
||||||
}
|
}
|
||||||
|
public String getDdlnCdNm() {
|
||||||
|
return ddlnCdNm;
|
||||||
|
}
|
||||||
|
public void setDdlnCdNm(String ddlnCdNm) {
|
||||||
|
this.ddlnCdNm = ddlnCdNm;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -102,7 +102,7 @@
|
|||||||
AND B.AUTHOR_CODE IN ('ROLE_ANONYMOUS', 'ROLE_USER_MEMBER', 'ROLE_USER_MANAGER')
|
AND B.AUTHOR_CODE IN ('ROLE_ANONYMOUS', 'ROLE_USER_MEMBER', 'ROLE_USER_MANAGER')
|
||||||
</isEqual>
|
</isEqual>
|
||||||
<isNotEqual property="authorCode" compareValue="ROLE_ANONYMOUS">
|
<isNotEqual property="authorCode" compareValue="ROLE_ANONYMOUS">
|
||||||
AND B.AUTHOR_CODE IN ('ROLE_ADMIN', 'ROLE_ADR_ADMIN', 'ROLE_VISIT')
|
AND B.AUTHOR_CODE IN ('ROLE_ADMIN', 'ROLE_ADR_ADMIN', 'ROLE_VISIT', 'ROLE_ADR_JRSDC', 'ROLE_ADR_KIPO', 'ROLE_ADR_PREV')
|
||||||
</isNotEqual>
|
</isNotEqual>
|
||||||
</isNotEmpty>
|
</isNotEmpty>
|
||||||
LIMIT 1
|
LIMIT 1
|
||||||
|
|||||||
@ -225,9 +225,7 @@
|
|||||||
AND a.lctr_div_cd=#lctrDivCd#
|
AND a.lctr_div_cd=#lctrDivCd#
|
||||||
</isNotEmpty>
|
</isNotEmpty>
|
||||||
|
|
||||||
<isEqual property="lctrDivCd" compareValue="60">
|
AND COALESCE(A.USE_YN,'Y')!='D'
|
||||||
AND COALESCE(A.USE_YN,'Y')='Y'
|
|
||||||
</isEqual>
|
|
||||||
|
|
||||||
<isNotEmpty property="searchSmbtStartDt">
|
<isNotEmpty property="searchSmbtStartDt">
|
||||||
/*등록일시*/
|
/*등록일시*/
|
||||||
|
|||||||
@ -96,7 +96,14 @@ function fncGoDetail(prcsAplctPrdOrd, url){
|
|||||||
</c:choose>
|
</c:choose>
|
||||||
</a>
|
</a>
|
||||||
<p class="list_writer">${list.nosCnt1} / ${list.nos}</p>
|
<p class="list_writer">${list.nosCnt1} / ${list.nos}</p>
|
||||||
<p class="list_date"><ve:code codeId="VEA004" code="${list.ddlnCd}"/></p>
|
<p class="list_date">
|
||||||
|
<c:if test="${list.ddlnCd lt 30}">
|
||||||
|
<ve:code codeId="VEA004" code="${list.ddlnCd}"/>
|
||||||
|
</c:if>
|
||||||
|
<c:if test="${list.ddlnCd ge 30}">
|
||||||
|
<c:out value="${list.ddlnCdNm}"/>
|
||||||
|
</c:if>
|
||||||
|
</p>
|
||||||
</li>
|
</li>
|
||||||
</c:forEach>
|
</c:forEach>
|
||||||
</ul>
|
</ul>
|
||||||
@ -105,7 +112,7 @@ function fncGoDetail(prcsAplctPrdOrd, url){
|
|||||||
<div class="box">
|
<div class="box">
|
||||||
<div class="box_tit">
|
<div class="box_tit">
|
||||||
<p>확정과정현황</p>
|
<p>확정과정현황</p>
|
||||||
<button type="button" class="btn_plus" onclick="fncGoList('<c:url value="/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctCfnMngList.do"/>');">더보기 <i class="icon plus"></i></button>
|
<button type="button" class="btn_plus" onclick="fncGoList('<c:url value="/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctCfnMngList.do"/>');">더보기 <i class="icon plus"></i></button>
|
||||||
</div>
|
</div>
|
||||||
<div class="box_cont">
|
<div class="box_cont">
|
||||||
<ul class="dashboard_list">
|
<ul class="dashboard_list">
|
||||||
@ -122,7 +129,14 @@ function fncGoDetail(prcsAplctPrdOrd, url){
|
|||||||
</c:choose>
|
</c:choose>
|
||||||
</a>
|
</a>
|
||||||
<p class="list_writer">${list.nosCnt1} / ${list.nos}</p>
|
<p class="list_writer">${list.nosCnt1} / ${list.nos}</p>
|
||||||
<p class="list_date"><ve:code codeId="VEA004" code="${list.ddlnCd}"/></p>
|
<p class="list_date">
|
||||||
|
<c:if test="${list.ddlnCd lt 30}">
|
||||||
|
<ve:code codeId="VEA004" code="${list.ddlnCd}"/>
|
||||||
|
</c:if>
|
||||||
|
<c:if test="${list.ddlnCd ge 30}">
|
||||||
|
<c:out value="${list.ddlnCdNm}"/>
|
||||||
|
</c:if>
|
||||||
|
</p>
|
||||||
</li>
|
</li>
|
||||||
</c:forEach>
|
</c:forEach>
|
||||||
</ul>
|
</ul>
|
||||||
@ -177,7 +191,14 @@ function fncGoDetail(prcsAplctPrdOrd, url){
|
|||||||
</c:choose>
|
</c:choose>
|
||||||
</a>
|
</a>
|
||||||
<p class="list_writer">${list.nosCnt1} / ${list.nos}</p>
|
<p class="list_writer">${list.nosCnt1} / ${list.nos}</p>
|
||||||
<p class="list_date"><ve:code codeId="VEA004" code="${list.ddlnCd}"/></p>
|
<p class="list_date">
|
||||||
|
<c:if test="${list.ddlnCd lt 30}">
|
||||||
|
<ve:code codeId="VEA004" code="${list.ddlnCd}"/>
|
||||||
|
</c:if>
|
||||||
|
<c:if test="${list.ddlnCd ge 30}">
|
||||||
|
<c:out value="${list.ddlnCdNm}"/>
|
||||||
|
</c:if>
|
||||||
|
</p>
|
||||||
</li>
|
</li>
|
||||||
</c:forEach>
|
</c:forEach>
|
||||||
</ul>
|
</ul>
|
||||||
@ -203,7 +224,14 @@ function fncGoDetail(prcsAplctPrdOrd, url){
|
|||||||
</c:choose>
|
</c:choose>
|
||||||
</a>
|
</a>
|
||||||
<p class="list_writer">${list.nosCnt1} / ${list.nos}</p>
|
<p class="list_writer">${list.nosCnt1} / ${list.nos}</p>
|
||||||
<p class="list_date"><ve:code codeId="VEA004" code="${list.ddlnCd}"/></p>
|
<p class="list_date">
|
||||||
|
<c:if test="${list.ddlnCd lt 30}">
|
||||||
|
<ve:code codeId="VEA004" code="${list.ddlnCd}"/>
|
||||||
|
</c:if>
|
||||||
|
<c:if test="${list.ddlnCd ge 30}">
|
||||||
|
<c:out value="${list.ddlnCdNm}"/>
|
||||||
|
</c:if>
|
||||||
|
</p>
|
||||||
</li>
|
</li>
|
||||||
</c:forEach>
|
</c:forEach>
|
||||||
</ul>
|
</ul>
|
||||||
@ -235,7 +263,14 @@ function fncGoDetail(prcsAplctPrdOrd, url){
|
|||||||
</c:choose>
|
</c:choose>
|
||||||
</a>
|
</a>
|
||||||
<p class="list_writer">${list.nosCnt1} / ${list.nos}</p>
|
<p class="list_writer">${list.nosCnt1} / ${list.nos}</p>
|
||||||
<p class="list_date"><ve:code codeId="VEA004" code="${list.ddlnCd}"/></p>
|
<p class="list_date">
|
||||||
|
<c:if test="${list.ddlnCd lt 30}">
|
||||||
|
<ve:code codeId="VEA004" code="${list.ddlnCd}"/>
|
||||||
|
</c:if>
|
||||||
|
<c:if test="${list.ddlnCd ge 30}">
|
||||||
|
<c:out value="${list.ddlnCdNm}"/>
|
||||||
|
</c:if>
|
||||||
|
</p>
|
||||||
</li>
|
</li>
|
||||||
</c:forEach>
|
</c:forEach>
|
||||||
</ul>
|
</ul>
|
||||||
@ -261,7 +296,14 @@ function fncGoDetail(prcsAplctPrdOrd, url){
|
|||||||
</c:choose>
|
</c:choose>
|
||||||
</a>
|
</a>
|
||||||
<p class="list_writer">${list.nosCnt1} / ${list.nos}</p>
|
<p class="list_writer">${list.nosCnt1} / ${list.nos}</p>
|
||||||
<p class="list_date"><ve:code codeId="VEA004" code="${list.ddlnCd}"/></p>
|
<p class="list_date">
|
||||||
|
<c:if test="${list.ddlnCd lt 30}">
|
||||||
|
<ve:code codeId="VEA004" code="${list.ddlnCd}"/>
|
||||||
|
</c:if>
|
||||||
|
<c:if test="${list.ddlnCd ge 30}">
|
||||||
|
<c:out value="${list.ddlnCdNm}"/>
|
||||||
|
</c:if>
|
||||||
|
</p>
|
||||||
</li>
|
</li>
|
||||||
</c:forEach>
|
</c:forEach>
|
||||||
</ul>
|
</ul>
|
||||||
|
|||||||
@ -509,7 +509,7 @@
|
|||||||
<c:if test="${info.prcsDiv eq 10}">
|
<c:if test="${info.prcsDiv eq 10}">
|
||||||
<th scope="row">교육장소</th>
|
<th scope="row">교육장소</th>
|
||||||
</c:if>
|
</c:if>
|
||||||
<c:if test="${info.prcsDiv eq 20}">
|
<c:if test="${info.prcsDiv ne 10}">
|
||||||
<th scope="row">관련URL</th>
|
<th scope="row">관련URL</th>
|
||||||
</c:if>
|
</c:if>
|
||||||
<td class="addPro_wrap">
|
<td class="addPro_wrap">
|
||||||
@ -547,7 +547,7 @@
|
|||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<%-- <tr>
|
||||||
<th scope="row">
|
<th scope="row">
|
||||||
<p>공개여부(사용여부)</p>
|
<p>공개여부(사용여부)</p>
|
||||||
</th>
|
</th>
|
||||||
@ -556,7 +556,7 @@
|
|||||||
${info.useYn eq 'N' ? '비공개' : ''}
|
${info.useYn eq 'N' ? '비공개' : ''}
|
||||||
|
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr> --%>
|
||||||
<tr>
|
<tr>
|
||||||
<th scope="row">
|
<th scope="row">
|
||||||
<p>첨부파일</p>
|
<p>첨부파일</p>
|
||||||
|
|||||||
@ -368,7 +368,7 @@
|
|||||||
<ve:select codeId="VEA004" name="ddlnCd" id="ddlnCd" css="class='sel_type1'" selectedValue="${info.ddlnCd}" defaultValue="100" defaultText="기본"/>
|
<ve:select codeId="VEA004" name="ddlnCd" id="ddlnCd" css="class='sel_type1'" selectedValue="${info.ddlnCd}" defaultValue="100" defaultText="기본"/>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<%-- <tr>
|
||||||
<th scope="row">
|
<th scope="row">
|
||||||
<p>공개여부(사용여부)</p>
|
<p>공개여부(사용여부)</p>
|
||||||
</th>
|
</th>
|
||||||
@ -379,7 +379,7 @@
|
|||||||
<label for="useN">아니오</label>
|
<label for="useN">아니오</label>
|
||||||
|
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr> --%>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<th scope="row">
|
<th scope="row">
|
||||||
|
|||||||
@ -226,7 +226,7 @@
|
|||||||
|
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
<th scope="row">대면구분</th>
|
<th scope="row">교육구분</th>
|
||||||
<td>
|
<td>
|
||||||
<input type="text" name="prcsDiv" id="prcsDiv" readonly="readonly" value="${prcsDivNm }"/>
|
<input type="text" name="prcsDiv" id="prcsDiv" readonly="readonly" value="${prcsDivNm }"/>
|
||||||
</td>
|
</td>
|
||||||
|
|||||||
@ -498,7 +498,7 @@
|
|||||||
<c:if test="${info.prcsDiv eq 10}">
|
<c:if test="${info.prcsDiv eq 10}">
|
||||||
<th scope="row">교육장소</th>
|
<th scope="row">교육장소</th>
|
||||||
</c:if>
|
</c:if>
|
||||||
<c:if test="${info.prcsDiv eq 20}">
|
<c:if test="${info.prcsDiv ne 10}">
|
||||||
<th scope="row">관련URL</th>
|
<th scope="row">관련URL</th>
|
||||||
</c:if>
|
</c:if>
|
||||||
<td class="addPro_wrap">
|
<td class="addPro_wrap">
|
||||||
@ -536,7 +536,7 @@
|
|||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<%-- <tr>
|
||||||
<th scope="row">
|
<th scope="row">
|
||||||
<p>공개여부(사용여부)</p>
|
<p>공개여부(사용여부)</p>
|
||||||
</th>
|
</th>
|
||||||
@ -545,7 +545,7 @@
|
|||||||
${info.useYn eq 'N' ? '비공개' : ''}
|
${info.useYn eq 'N' ? '비공개' : ''}
|
||||||
|
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr> --%>
|
||||||
<tr>
|
<tr>
|
||||||
<th scope="row">
|
<th scope="row">
|
||||||
<p>첨부파일</p>
|
<p>첨부파일</p>
|
||||||
|
|||||||
@ -366,7 +366,7 @@
|
|||||||
<ve:select codeId="VEA004" name="ddlnCd" id="ddlnCd" css="class='sel_type1'" selectedValue="${info.ddlnCd}" defaultValue="100" defaultText="기본"/>
|
<ve:select codeId="VEA004" name="ddlnCd" id="ddlnCd" css="class='sel_type1'" selectedValue="${info.ddlnCd}" defaultValue="100" defaultText="기본"/>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<%-- <tr>
|
||||||
<th scope="row">
|
<th scope="row">
|
||||||
<p>공개여부(사용여부)</p>
|
<p>공개여부(사용여부)</p>
|
||||||
</th>
|
</th>
|
||||||
@ -377,7 +377,7 @@
|
|||||||
<label for="useN">아니오</label>
|
<label for="useN">아니오</label>
|
||||||
|
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr> --%>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<th scope="row">
|
<th scope="row">
|
||||||
|
|||||||
@ -226,7 +226,7 @@
|
|||||||
|
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
<th scope="row">대면구분</th>
|
<th scope="row">교육구분</th>
|
||||||
<td>
|
<td>
|
||||||
<input type="text" name="prcsDiv" id="prcsDiv" readonly="readonly" value="${prcsDivNm }"/>
|
<input type="text" name="prcsDiv" id="prcsDiv" readonly="readonly" value="${prcsDivNm }"/>
|
||||||
</td>
|
</td>
|
||||||
@ -315,7 +315,7 @@
|
|||||||
<p>상태</p>
|
<p>상태</p>
|
||||||
</th>
|
</th>
|
||||||
<td>
|
<td>
|
||||||
<kc:select codeId="VEA004" name="ddlnCd" id="ddlnCd" defaultText="전체" defaultValue="" css="class='sel_type1'" />
|
<kc:select codeId="VEA004" name="ddlnCd" id="ddlnCd" defaultText="기본" defaultValue="" css="class='sel_type1'" />
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
|
|||||||
@ -497,7 +497,7 @@
|
|||||||
<c:if test="${info.prcsDiv eq 10}">
|
<c:if test="${info.prcsDiv eq 10}">
|
||||||
<th scope="row">교육장소</th>
|
<th scope="row">교육장소</th>
|
||||||
</c:if>
|
</c:if>
|
||||||
<c:if test="${info.prcsDiv eq 20}">
|
<c:if test="${info.prcsDiv ne 10}">
|
||||||
<th scope="row">관련URL</th>
|
<th scope="row">관련URL</th>
|
||||||
</c:if>
|
</c:if>
|
||||||
<td class="addPro_wrap">
|
<td class="addPro_wrap">
|
||||||
@ -535,7 +535,7 @@
|
|||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<%-- <tr>
|
||||||
<th scope="row">
|
<th scope="row">
|
||||||
<p>공개여부(사용여부)</p>
|
<p>공개여부(사용여부)</p>
|
||||||
</th>
|
</th>
|
||||||
@ -544,7 +544,7 @@
|
|||||||
${info.useYn eq 'N' ? '비공개' : ''}
|
${info.useYn eq 'N' ? '비공개' : ''}
|
||||||
|
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr> --%>
|
||||||
<tr>
|
<tr>
|
||||||
<th scope="row">
|
<th scope="row">
|
||||||
<p>첨부파일</p>
|
<p>첨부파일</p>
|
||||||
|
|||||||
@ -368,7 +368,7 @@
|
|||||||
<ve:select codeId="VEA004" name="ddlnCd" id="ddlnCd" css="class='sel_type1'" selectedValue="${info.ddlnCd}" defaultValue="100" defaultText="기본"/>
|
<ve:select codeId="VEA004" name="ddlnCd" id="ddlnCd" css="class='sel_type1'" selectedValue="${info.ddlnCd}" defaultValue="100" defaultText="기본"/>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<%-- <tr>
|
||||||
<th scope="row">
|
<th scope="row">
|
||||||
<p>공개여부(사용여부)</p>
|
<p>공개여부(사용여부)</p>
|
||||||
</th>
|
</th>
|
||||||
@ -379,7 +379,7 @@
|
|||||||
<label for="useN">아니오</label>
|
<label for="useN">아니오</label>
|
||||||
|
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr> --%>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<th scope="row">
|
<th scope="row">
|
||||||
|
|||||||
@ -226,7 +226,7 @@
|
|||||||
|
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
<th scope="row">대면구분</th>
|
<th scope="row">교육구분</th>
|
||||||
<td>
|
<td>
|
||||||
<input type="text" name="prcsDiv" id="prcsDiv" readonly="readonly" value="${prcsDivNm }"/>
|
<input type="text" name="prcsDiv" id="prcsDiv" readonly="readonly" value="${prcsDivNm }"/>
|
||||||
</td>
|
</td>
|
||||||
|
|||||||
@ -157,6 +157,10 @@
|
|||||||
<input type="hidden" name="searchSortCnd" value="<c:out value="${vEEduAplctVO.searchSortCnd}" />" />
|
<input type="hidden" name="searchSortCnd" value="<c:out value="${vEEduAplctVO.searchSortCnd}" />" />
|
||||||
<input type="hidden" name="searchSortOrd" value="<c:out value="${vEEduAplctVO.searchSortOrd}" />" />
|
<input type="hidden" name="searchSortOrd" value="<c:out value="${vEEduAplctVO.searchSortOrd}" />" />
|
||||||
|
|
||||||
|
|
||||||
|
<div class="cont_tit">
|
||||||
|
<h2>교육문의</h2>
|
||||||
|
</div>
|
||||||
|
|
||||||
<!--FAQ 내용 있을때-->
|
<!--FAQ 내용 있을때-->
|
||||||
<div class="q_wrap">
|
<div class="q_wrap">
|
||||||
|
|||||||
@ -156,7 +156,11 @@
|
|||||||
<input type="hidden" name="pageIndex" value="<c:out value='${vEEduAplctVO.pageIndex}' default='1' />"/>
|
<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="searchSortCnd" value="<c:out value="${vEEduAplctVO.searchSortCnd}" />" />
|
||||||
<input type="hidden" name="searchSortOrd" value="<c:out value="${vEEduAplctVO.searchSortOrd}" />" />
|
<input type="hidden" name="searchSortOrd" value="<c:out value="${vEEduAplctVO.searchSortOrd}" />" />
|
||||||
|
|
||||||
|
|
||||||
|
<div class="cont_tit">
|
||||||
|
<h2>교육문의</h2>
|
||||||
|
</div>
|
||||||
|
|
||||||
<!--FAQ 내용 있을때-->
|
<!--FAQ 내용 있을때-->
|
||||||
<div class="q_wrap">
|
<div class="q_wrap">
|
||||||
|
|||||||
@ -157,6 +157,10 @@
|
|||||||
<input type="hidden" name="searchSortCnd" value="<c:out value="${vEEduAplctVO.searchSortCnd}" />" />
|
<input type="hidden" name="searchSortCnd" value="<c:out value="${vEEduAplctVO.searchSortCnd}" />" />
|
||||||
<input type="hidden" name="searchSortOrd" value="<c:out value="${vEEduAplctVO.searchSortOrd}" />" />
|
<input type="hidden" name="searchSortOrd" value="<c:out value="${vEEduAplctVO.searchSortOrd}" />" />
|
||||||
|
|
||||||
|
|
||||||
|
<div class="cont_tit">
|
||||||
|
<h2>교육문의</h2>
|
||||||
|
</div>
|
||||||
|
|
||||||
<!--FAQ 내용 있을때-->
|
<!--FAQ 내용 있을때-->
|
||||||
<div class="q_wrap">
|
<div class="q_wrap">
|
||||||
|
|||||||
@ -93,7 +93,7 @@ nav .btn_sitemap i{display:inline-block;width:100%;height:100%;background:url(/i
|
|||||||
nav .btn_identify i{display:inline-block;width:100%;height:100%;background:url(/ipedu/visitEdu/usr/publish/images/common/icon_identify_mobile.png) no-repeat center center;}
|
nav .btn_identify i{display:inline-block;width:100%;height:100%;background:url(/ipedu/visitEdu/usr/publish/images/common/icon_identify_mobile.png) no-repeat center center;}
|
||||||
|
|
||||||
.all_menu_wrap{position:fixed;width:100%;padding:45px 0 200px 0;background:#fff;left:0;top:-100%;opacity:0;transition:top .5s;z-index:15;}
|
.all_menu_wrap{position:fixed;width:100%;padding:45px 0 200px 0;background:#fff;left:0;top:-100%;opacity:0;transition:top .5s;z-index:15;}
|
||||||
.all_menu_wrap.on{top:0;opacity:1;}
|
.all_menu_wrap.on{top:0;opacity:1;box-shadow:0 3px 10px rgba(0,0,0,0.1);}
|
||||||
.all_menu_wrap .top_area{position:relative;}
|
.all_menu_wrap .top_area{position:relative;}
|
||||||
.all_menu_wrap .btn_close{position:absolute;width:40px;height:40px;right:0;bottom:0;}
|
.all_menu_wrap .btn_close{position:absolute;width:40px;height:40px;right:0;bottom:0;}
|
||||||
.all_menu_wrap .btn_close i{display:inline-block;width:100%;height:100%;background:url(/ipedu/visitEdu/usr/publish/images/common/icon_close.png) no-repeat center center;}
|
.all_menu_wrap .btn_close i{display:inline-block;width:100%;height:100%;background:url(/ipedu/visitEdu/usr/publish/images/common/icon_close.png) no-repeat center center;}
|
||||||
@ -118,7 +118,7 @@ footer .area_top ul:not(.sns) a::after{position:absolute;content:"";width:2px;he
|
|||||||
footer .area_top ul:not(.sns) li:last-child a::after{display:none;}
|
footer .area_top ul:not(.sns) li:last-child a::after{display:none;}
|
||||||
footer .area_top ul:not(.sns) li:first-child a{color:#118be5;font-weight:700;padding:0 20px 0 0;}
|
footer .area_top ul:not(.sns) li:first-child a{color:#118be5;font-weight:700;padding:0 20px 0 0;}
|
||||||
footer .area_top .sns{gap:46px;}
|
footer .area_top .sns{gap:46px;}
|
||||||
footer .area_bottom .inner{display:flex;padding:60px 0 100px 0;gap:170px;align-items:center;}
|
footer .area_bottom .inner{display:flex;padding:60px 25px 100px 25px;gap:170px;align-items:center;}
|
||||||
footer address{color:#8a8a8a;}
|
footer address{color:#8a8a8a;}
|
||||||
footer address p{font-size:2.3rem;line-height:1.5;margin:0 0 8px 0;}
|
footer address p{font-size:2.3rem;line-height:1.5;margin:0 0 8px 0;}
|
||||||
footer address span{font-size:2.3rem;font-weight:600;color:#c4c4c4;}
|
footer address span{font-size:2.3rem;font-weight:600;color:#c4c4c4;}
|
||||||
|
|||||||
@ -283,6 +283,7 @@ duet-date-picker *:focus{outline: auto !important;}
|
|||||||
.board_view_content{padding:30px 20px;font-size:1.7rem;color:#555;line-height:1.4;border-bottom:1px solid #d8d8d8;box-sizing:border-box;}
|
.board_view_content{padding:30px 20px;font-size:1.7rem;color:#555;line-height:1.4;border-bottom:1px solid #d8d8d8;box-sizing:border-box;}
|
||||||
.board_view .file_wrap{display:flex;padding:20px;margin:-1px 0 0 0;gap:8px;border-left:0;border-right:0;border-radius:0;box-sizing:border-box;}
|
.board_view .file_wrap{display:flex;padding:20px;margin:-1px 0 0 0;gap:8px;border-left:0;border-right:0;border-radius:0;box-sizing:border-box;}
|
||||||
.board_view .file{display:flex;font-size:1.7rem;color:#555;align-items:center;gap:8px;}
|
.board_view .file{display:flex;font-size:1.7rem;color:#555;align-items:center;gap:8px;}
|
||||||
|
.board_view .fileView a{padding:0 0 2px 23px;background-position:left 2px;}
|
||||||
|
|
||||||
/* faq */
|
/* faq */
|
||||||
.info_box{display:flex;padding:20px 30px;margin:0 0 30px 0;background:#f8f9fa;border-radius:10px;align-items:center;gap:30px;}
|
.info_box{display:flex;padding:20px 30px;margin:0 0 30px 0;background:#f8f9fa;border-radius:10px;align-items:center;gap:30px;}
|
||||||
@ -553,8 +554,7 @@ duet-date-picker *:focus{outline: auto !important;}
|
|||||||
/* .tb_type01.tb_view table tbody tr td .put_photo {height: 179px;} */
|
/* .tb_type01.tb_view table tbody tr td .put_photo {height: 179px;} */
|
||||||
.tb_type01 table tbody tr td .put_photo .put_photo_in {background-color: #f5f5f5; width: 128px; height: 165px; border: 1px solid #d5d5d5; border-radius: 5px; margin: 7px; box-sizing: border-box; position: relative; overflow: hidden;}
|
.tb_type01 table tbody tr td .put_photo .put_photo_in {background-color: #f5f5f5; width: 128px; height: 165px; border: 1px solid #d5d5d5; border-radius: 5px; margin: 7px; box-sizing: border-box; position: relative; overflow: hidden;}
|
||||||
.tb_type01 table tbody tr td .put_photo .put_photo_in img {padding-top: 22px;}
|
.tb_type01 table tbody tr td .put_photo .put_photo_in img {padding-top: 22px;}
|
||||||
.tb_type01 table tbody tr td .put_photo .put_photo_in img.id_pic {padding-top: initial;position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);
|
.tb_type01 table tbody tr td .put_photo .put_photo_in img.id_pic {padding-top: initial;position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);}
|
||||||
}
|
|
||||||
.tb_type01 table tbody tr td .put_photo button {width: 90px; height: 35px; font-size: 16px; border-radius: 5px; position: absolute; bottom: 15px; left: 50%; transform: translateX(-50%);}
|
.tb_type01 table tbody tr td .put_photo button {width: 90px; height: 35px; font-size: 16px; border-radius: 5px; position: absolute; bottom: 15px; left: 50%; transform: translateX(-50%);}
|
||||||
#instrPhoto {padding-top: initial; width: 100%;}
|
#instrPhoto {padding-top: initial; width: 100%;}
|
||||||
/* 파일 다운로드 */
|
/* 파일 다운로드 */
|
||||||
@ -914,6 +914,7 @@ duet-date-picker *:focus{outline: auto !important;}
|
|||||||
|
|
||||||
/*알림마당 > 교육자료실 > 첨부파일 수정*/
|
/*알림마당 > 교육자료실 > 첨부파일 수정*/
|
||||||
.fileView a{display:flex;padding:0 0 0 23px;font-size:1.6rem;font-weight:400;color:#555;white-space:normal; background-image: url(../images/content/icon_file.png); background-repeat: no-repeat; background-position: left 4px;gap:10px;}
|
.fileView a{display:flex;padding:0 0 0 23px;font-size:1.6rem;font-weight:400;color:#555;white-space:normal; background-image: url(../images/content/icon_file.png); background-repeat: no-repeat; background-position: left 4px;gap:10px;}
|
||||||
|
#egov_file_view_table ul{display:flex;gap:8px;flex-direction:column;}
|
||||||
|
|
||||||
/*알림마당 > FAQ > 답변 색 수정*/
|
/*알림마당 > FAQ > 답변 색 수정*/
|
||||||
.full_faq .faq li button{background-color: #f5f5f5;}
|
.full_faq .faq li button{background-color: #f5f5f5;}
|
||||||
@ -975,7 +976,7 @@ duet-date-picker *:focus{outline: auto !important;}
|
|||||||
|
|
||||||
/* sub layout */
|
/* sub layout */
|
||||||
.container{margin:110px 0 0 0;}
|
.container{margin:110px 0 0 0;}
|
||||||
.container .inner .cont_wrap {width: 100%;}
|
.container .inner .cont_wrap {width: 100%;}
|
||||||
|
|
||||||
.sub_visual{height:180px;;}
|
.sub_visual{height:180px;;}
|
||||||
.sub_visual p,.lnb{display:none;}
|
.sub_visual p,.lnb{display:none;}
|
||||||
@ -997,11 +998,14 @@ duet-date-picker *:focus{outline: auto !important;}
|
|||||||
|
|
||||||
.tab.fill{height:120px;margin:0 0 80px 0;}
|
.tab.fill{height:120px;margin:0 0 80px 0;}
|
||||||
.tab.fill .tab_button{font-size:3.8rem;}
|
.tab.fill .tab_button{font-size:3.8rem;}
|
||||||
|
|
||||||
|
.tab.line .tab_button{font-size:3.8rem;}
|
||||||
|
|
||||||
/* 기본 input texarea */
|
/* 기본 input texarea */
|
||||||
select.selType1{min-width:160px;height:80px;font-size:2.8rem;background:url(/ipedu/visitEdu/usr/publish/images/content/icon_select_mobile.png) no-repeat calc(100% - 24px) center;}
|
select.selType1{min-width:160px;height:80px;font-size:2.8rem;background:url(/ipedu/visitEdu/usr/publish/images/content/icon_select_mobile.png) no-repeat calc(100% - 24px) center;}
|
||||||
input[type="text"], .duet-date__input{height:80px;}
|
input[type="text"], .duet-date__input{height:80px;}
|
||||||
|
|
||||||
|
.btn_wrap button{height:90px;font-size:3.8rem;}
|
||||||
.btn{font-size:3.4rem;padding:0 60px;}
|
.btn{font-size:3.4rem;padding:0 60px;}
|
||||||
|
|
||||||
.btn.text{padding:0;}
|
.btn.text{padding:0;}
|
||||||
@ -1079,6 +1083,7 @@ duet-date-picker *:focus{outline: auto !important;}
|
|||||||
.board_util li::before{width:10px;height:10px;top:10px;}
|
.board_util li::before{width:10px;height:10px;top:10px;}
|
||||||
|
|
||||||
.board_view_content{font-size:3.4rem;}
|
.board_view_content{font-size:3.4rem;}
|
||||||
|
.board_view .fileView a{padding:0 0 2px 46px;background-position:left 1px;}
|
||||||
.board_view .file{font-size:3.4rem;gap:16px;}
|
.board_view .file{font-size:3.4rem;gap:16px;}
|
||||||
|
|
||||||
|
|
||||||
@ -1153,7 +1158,47 @@ duet-date-picker *:focus{outline: auto !important;}
|
|||||||
.tb_list01 tbody td button{width:100%;}
|
.tb_list01 tbody td button{width:100%;}
|
||||||
.tb_list01 tbody td button.btn.regular{width:100%;height:80px;font-size:3.4rem;}
|
.tb_list01 tbody td button.btn.regular{width:100%;height:80px;font-size:3.4rem;}
|
||||||
.tb_list01 tbody td p+button{vertical-align:top;}
|
.tb_list01 tbody td p+button{vertical-align:top;}
|
||||||
|
.tb_list01 tbody td.t_left{padding:0;}
|
||||||
|
|
||||||
|
/* list */
|
||||||
|
.tb_tit02 .tb_tit02_left .t_best{height:52px;font-size:4rem;}
|
||||||
|
.tb_tit02 .btn_wrap1 button.con_more{height:60px;padding:0 30px 0 0;font-size:3rem;background-image:url(../images/content/icon_arrow_mobile.png);background-position:right 20px;}
|
||||||
|
.tb_list02{border-top:2px solid #858686;border-bottom:1px solid #535353;}
|
||||||
|
.tb_list02 table,.tb_list02 tbody{display:block;}
|
||||||
|
.tb_list02 thead{display:none;}
|
||||||
|
.tb_list02 tr{display:flex;padding:20px 16px;flex-direction:column;justify-content:flex-start;border-bottom:1px solid #e5e5e5;gap:16px;}
|
||||||
|
.tb_list02 tbody th, .tb_list02 tbody td{border:0;text-align:left;padding:0;font-size:4.8rem;line-height:1.3;}
|
||||||
|
.tb_list02 a{font-size:5.6rem;}
|
||||||
|
.tb_list02 tbody th p, .tb_list02 tbody td span{display:inline-block;width:auto;font-size:inherit;font-weight:300;vertical-align:sub;}
|
||||||
|
.tb_list02 tbody th p{font-size:inherit;font-weight:500;}
|
||||||
|
.tb_list02 tbody td span{position:relative;margin:0 32px 0 0;padding:0 32px 0 0;font-weight:400;}
|
||||||
|
.tb_list02 tbody td span::after{position:absolute;content:"";width:4px;height:50px;background:var(--gray-color-light-hover);top:9.5px;right:0}
|
||||||
|
.tb_list02 tbody td button{width:100%;}
|
||||||
|
.tb_list02 tbody td button.btn.regular{width:100%;height:80px;font-size:3.4rem;}
|
||||||
|
.tb_list02 tbody td p+button{vertical-align:top;}
|
||||||
|
|
||||||
|
.q_wrap .q_text{font-size:3.6rem;}
|
||||||
|
|
||||||
|
/* 교육소개 */
|
||||||
|
.edu_wrap .tb_type01 table tbody .edu_sus_num li{padding:8px 20px 8px 0;border-radius:100px;}
|
||||||
|
.edu_wrap .tb_type01 table tbody .edu_sus_num li .num{width:56px;height:56px;font-size:3rem;border-radius:100%;margin:20px 0 20px 20px;}
|
||||||
|
.edu_wrap .tb_type01 table tbody .edu_sus_num li p{width:calc(100% - 80px);font-size:3.2rem;margin:0 0 0 12px;}
|
||||||
|
.edu_wrap .tb_type01 table tbody .edu_sus_num li p b{padding:0 30px 0 0;margin:0 30px 0 0;}
|
||||||
|
.edu_wrap .tb_type01 table tbody .edu_sus_num li p b::after{height:30px;top:10px;}
|
||||||
|
.edu_wrap .tb_type01 table tbody .edu_sus_num .sus_te p b span{font-size:3rem;}
|
||||||
|
|
||||||
|
/* 나의 강의실 */
|
||||||
|
.edu_process li{height:auto;flex-direction:column;padding:60px 0;gap:36px;}
|
||||||
|
.edu_process i{width:124px;height:124px;}
|
||||||
|
.edu_process .edu_apply i{background:#e5e5e5 url(/ipedu/visitEdu/usr/publish/images/content/icon_progress01_mobile.png) no-repeat center center;}
|
||||||
|
.edu_process .edu_register i{background:#e5e5e5 url(/ipedu/visitEdu/usr/publish/images/content/icon_progress02_mobile.png) no-repeat center center;}
|
||||||
|
.edu_process .edu_close i{background:#e5e5e5 url(/ipedu/visitEdu/usr/publish/images/content/icon_progress03_mobile.png) no-repeat center center;}
|
||||||
|
.edu_process .text_area{font-size:3.8rem;align-items:center;gap:32px;}
|
||||||
|
.edu_process .text_area p{font-size:3.4rem;}
|
||||||
|
.edu_process .text_area p span{font-size:6.6rem;}
|
||||||
|
|
||||||
|
#egov_file_view_table ul{gap:16px;}
|
||||||
|
.fileView a{padding:0 0 0 46px;font-size:3.2rem;background-image:url(../images/content/icon_file_mobile.png);background-position:left 8px;}
|
||||||
}
|
}
|
||||||
|
|
||||||
@media all and (max-width: 860px){
|
@media all and (max-width: 860px){
|
||||||
@ -1185,12 +1230,14 @@ duet-date-picker *:focus{outline: auto !important;}
|
|||||||
|
|
||||||
.tab.fill{height:60px;margin:0 0 40px 0;}
|
.tab.fill{height:60px;margin:0 0 40px 0;}
|
||||||
.tab.fill .tab_button{font-size:1.9rem;}
|
.tab.fill .tab_button{font-size:1.9rem;}
|
||||||
|
|
||||||
|
.tab.line .tab_button{font-size:1.9rem;}
|
||||||
|
|
||||||
/* icon */
|
/* icon */
|
||||||
.icon.arrow{width:7px;height:12px;background:url(/ipedu/visitEdu/usr/publish/images/content/icon_arrow.png) no-repeat center center;}
|
.icon.arrow{width:7px;height:12px;background:url(/ipedu/visitEdu/usr/publish/images/content/icon_arrow.png) no-repeat center center;}
|
||||||
|
|
||||||
input[type="text"]{height:56px;}
|
input[type="text"]{height:56px;}
|
||||||
select.selType1{height:56px;font-size:2.8rem;}
|
select.selType1{height:56px;font-size:1.8rem;background-size:auto 20%;}
|
||||||
|
|
||||||
.btn{font-size:1.7rem;padding:0 30px;}
|
.btn{font-size:1.7rem;padding:0 30px;}
|
||||||
|
|
||||||
@ -1249,10 +1296,11 @@ duet-date-picker *:focus{outline: auto !important;}
|
|||||||
.board_util li::before{width:5px;height:5px;top:5px;}
|
.board_util li::before{width:5px;height:5px;top:5px;}
|
||||||
|
|
||||||
.board_view_content{font-size:1.7rem;padding:30px 10px;}
|
.board_view_content{font-size:1.7rem;padding:30px 10px;}
|
||||||
|
.board_view .fileView a{padding:0 0 2px 23px;background-position:left 2px;}
|
||||||
.board_view .file{font-size:1.7rem;gap:8px;}
|
.board_view .file{font-size:1.7rem;gap:8px;}
|
||||||
|
|
||||||
/* faq */
|
/* faq */
|
||||||
.info_box{padding:15px 30px;}
|
.info_box{padding:25px 30px;}
|
||||||
.info_box i{width:60px;height:60px;}
|
.info_box i{width:60px;height:60px;}
|
||||||
.info_box i::before{width:53px;height:53px;}
|
.info_box i::before{width:53px;height:53px;}
|
||||||
.info_box i::after{background:url(/ipedu/visitEdu/usr/publish/images/content/icon_faq_mobile.png) no-repeat left top;background-size:100% auto;}
|
.info_box i::after{background:url(/ipedu/visitEdu/usr/publish/images/content/icon_faq_mobile.png) no-repeat left top;background-size:100% auto;}
|
||||||
@ -1292,7 +1340,7 @@ duet-date-picker *:focus{outline: auto !important;}
|
|||||||
/* sub latout */
|
/* sub latout */
|
||||||
.container {margin-top:60px;}
|
.container {margin-top:60px;}
|
||||||
.container .inner {padding: 0 20px;}
|
.container .inner {padding: 0 20px;}
|
||||||
.cont_wrap .cont_tit {padding-bottom: 10px; margin-bottom: 30px;}
|
.cont_wrap .cont_tit {padding-bottom: 10px; margin-bottom: 20px;}
|
||||||
.cont_wrap h2 {font-size: 26px; padding-top: 10px;}
|
.cont_wrap h2 {font-size: 26px; padding-top: 10px;}
|
||||||
.cont_wrap .tit_box {display: block; text-align: center; padding: 15px 20px;}
|
.cont_wrap .tit_box {display: block; text-align: center; padding: 15px 20px;}
|
||||||
.cont_wrap .tit_box i {display: block; margin: 0 auto;}
|
.cont_wrap .tit_box i {display: block; margin: 0 auto;}
|
||||||
@ -1306,6 +1354,7 @@ duet-date-picker *:focus{outline: auto !important;}
|
|||||||
|
|
||||||
.btn_wrap {position: relative;}
|
.btn_wrap {position: relative;}
|
||||||
/*.btn_wrap button {display: none; height: 40px; padding: 0 20px; font-size: 16px;} 1123*/
|
/*.btn_wrap button {display: none; height: 40px; padding: 0 20px; font-size: 16px;} 1123*/
|
||||||
|
.btn_wrap.btn_layout01>div{width:auto;}
|
||||||
.btn_wrap.btn_layout01 button {height: 40px; padding: 0 20px; font-size: 16px;}
|
.btn_wrap.btn_layout01 button {height: 40px; padding: 0 20px; font-size: 16px;}
|
||||||
.btn_wrap button.m_btn_block {display: inline-block;}
|
.btn_wrap button.m_btn_block {display: inline-block;}
|
||||||
.btn_wrap.btn_layout01>.btn_right button.m_btn_block:nth-child(2) {margin-top: 5px;}
|
.btn_wrap.btn_layout01>.btn_right button.m_btn_block:nth-child(2) {margin-top: 5px;}
|
||||||
@ -1447,15 +1496,15 @@ duet-date-picker *:focus{outline: auto !important;}
|
|||||||
|
|
||||||
/*교육신청자대시보드*/
|
/*교육신청자대시보드*/
|
||||||
.edu_process {flex-wrap:wrap;}
|
.edu_process {flex-wrap:wrap;}
|
||||||
.edu_process>li {display: flex; border:1px solid #d5d5d5; border-radius: 20px 0; width:100%; font-size:1.8rem;}
|
.edu_process>li {display:flex;width:100%;border:1px solid #d5d5d5;border-radius:20px 0;font-size:1.8rem;padding:30px 0;gap:18px;flex-direction:row;}
|
||||||
.edu_process>li i{width:90px;height:90px;}
|
.edu_process>li i{width:90px;height:90px;}
|
||||||
.edu_process .edu_apply i{background:#e5e5e5 url(/ipedu/visitEdu/usr/publish/images/content/icon_progress01_mobile.png) no-repeat center center;background-size:90% auto;}
|
.edu_process .edu_apply i{background:#e5e5e5 url(/ipedu/visitEdu/usr/publish/images/content/icon_progress01_mobile.png) no-repeat center center;background-size:90% auto;}
|
||||||
.edu_process .edu_register i{background:#e5e5e5 url(/ipedu/visitEdu/usr/publish/images/content/icon_progress02_mobile.png) no-repeat center center;background-size:90% auto;}
|
.edu_process .edu_register i{background:#e5e5e5 url(/ipedu/visitEdu/usr/publish/images/content/icon_progress02_mobile.png) no-repeat center center;background-size:90% auto;}
|
||||||
.edu_process .edu_close i{background:#e5e5e5 url(/ipedu/visitEdu/usr/publish/images/content/icon_progress03_mobile.png) no-repeat center center;background-size:90% auto;}
|
.edu_process .edu_close i{background:#e5e5e5 url(/ipedu/visitEdu/usr/publish/images/content/icon_progress03_mobile.png) no-repeat center center;background-size:90% auto;}
|
||||||
|
|
||||||
.edu_process .text_area {font-size:20px; font-weight:500; }
|
.edu_process .text_area {font-size:20px;font-weight:500;gap:16px;align-items:flex-start;}
|
||||||
.edu_process .text_area p {font-size:16px; font-weight:500; }
|
.edu_process .text_area p {font-size:16px;font-weight:500;}
|
||||||
.edu_process .text_area p span {font-size:30px; font-weight: bold; }
|
.edu_process .text_area p span {font-size:30px;font-weight:bold;}
|
||||||
|
|
||||||
|
|
||||||
/*마이페이지 추가*/
|
/*마이페이지 추가*/
|
||||||
@ -1490,6 +1539,30 @@ duet-date-picker *:focus{outline: auto !important;}
|
|||||||
.tb_list01 tbody td span{margin:0 16px 0 0;padding:0 16px 0 0;}
|
.tb_list01 tbody td span{margin:0 16px 0 0;padding:0 16px 0 0;}
|
||||||
.tb_list01 tbody td span::after{position:absolute;content:"";width:2px;height:25px;background:var(--gray-color-light-hover);top:4.25px;right:0}
|
.tb_list01 tbody td span::after{position:absolute;content:"";width:2px;height:25px;background:var(--gray-color-light-hover);top:4.25px;right:0}
|
||||||
.tb_list01 tbody td button.btn.regular{width:100%;height:40px;font-size:1.7rem;}
|
.tb_list01 tbody td button.btn.regular{width:100%;height:40px;font-size:1.7rem;}
|
||||||
|
|
||||||
|
/* list */
|
||||||
|
.tb_tit02 .tb_tit02_left .t_best{height:26px;font-size:2rem;}
|
||||||
|
.tb_tit02 .btn_wrap1 button.con_more{height:30px;padding:0 15px 0 0;font-size:1.5rem;background-image:url(../images/content/icon_arrow.png);background-position:right 10px;}
|
||||||
|
.tb_list02 table{border-top:0;}
|
||||||
|
.tb_list02 tr{padding:10px 8px;gap:8px;}
|
||||||
|
.tb_list02 tbody th, .tb_list02 tbody td{font-size:2.4rem;}
|
||||||
|
.tb_list02 a{font-size:2.8rem;}
|
||||||
|
.tb_list02 tbody td span{margin:0 16px 0 0;padding:0 16px 0 0;}
|
||||||
|
.tb_list02 tbody td span::after{width:2px;height:25px;background:var(--gray-color-light-hover);top:5px;right:0}
|
||||||
|
.tb_list02 tbody td button.btn.regular{height:40px;font-size:1.7rem;}
|
||||||
|
|
||||||
|
.q_wrap .q_text{font-size:1.8rem;padding:12px 17px;}
|
||||||
|
|
||||||
|
/* 교육소개 */
|
||||||
|
.edu_wrap .tb_type01 table tbody .edu_sus_num li{padding:0 10px 0 0;}
|
||||||
|
.edu_wrap .tb_type01 table tbody .edu_sus_num li .num{width:28px;height:28px;font-size:1.5rem;margin:10px 0 10px 10px;}
|
||||||
|
.edu_wrap .tb_type01 table tbody .edu_sus_num li p{width:calc(100% - 40px);font-size:1.6rem;margin:0 0 0 6px;}
|
||||||
|
.edu_wrap .tb_type01 table tbody .edu_sus_num li p b{padding:0 15px 0 0;margin:0 15px 0 0;}
|
||||||
|
.edu_wrap .tb_type01 table tbody .edu_sus_num li p b::after{height:15px;top:5px;}
|
||||||
|
.edu_wrap .tb_type01 table tbody .edu_sus_num .sus_te p b span{font-size:1.5rem;}
|
||||||
|
|
||||||
|
#egov_file_view_table ul{gap:8px;}
|
||||||
|
.fileView a{padding:0 0 0 23px;font-size:1.6rem;background-image:url(../images/content/icon_file.png);background-position:left 5px;}
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (max-width: 479px){
|
@media (max-width: 479px){
|
||||||
@ -1498,7 +1571,6 @@ duet-date-picker *:focus{outline: auto !important;}
|
|||||||
.container .cont_tit .path .home i{width:20px;height:18px;margin:2px 0 0 0;}
|
.container .cont_tit .path .home i{width:20px;height:18px;margin:2px 0 0 0;}
|
||||||
.container .cont_tit .path li:not(.home)::before{width:7px;top:1.8px;}
|
.container .cont_tit .path li:not(.home)::before{width:7px;top:1.8px;}
|
||||||
|
|
||||||
select.selType1{font-size:1.8rem;background-size:auto 20%;}
|
|
||||||
.duet-date__toggle{width:56px !important;background-size:auto 25px;}
|
.duet-date__toggle{width:56px !important;background-size:auto 25px;}
|
||||||
|
|
||||||
.tab_02 li{width:calc(100%/2);}
|
.tab_02 li{width:calc(100%/2);}
|
||||||
@ -1523,7 +1595,16 @@ duet-date-picker *:focus{outline: auto !important;}
|
|||||||
.edu_process .edu_register i{background:#e5e5e5 url(/ipedu/visitEdu/usr/publish/images/content/icon_progress02_mobile.png) no-repeat center center;background-size:90% auto;}
|
.edu_process .edu_register i{background:#e5e5e5 url(/ipedu/visitEdu/usr/publish/images/content/icon_progress02_mobile.png) no-repeat center center;background-size:90% auto;}
|
||||||
.edu_process .edu_close i{background:#e5e5e5 url(/ipedu/visitEdu/usr/publish/images/content/icon_progress03_mobile.png) no-repeat center center;background-size:90% auto;}
|
.edu_process .edu_close i{background:#e5e5e5 url(/ipedu/visitEdu/usr/publish/images/content/icon_progress03_mobile.png) no-repeat center center;background-size:90% auto;}
|
||||||
|
|
||||||
.tb_list01 tbody th, .tb_list01 tbody td{font-size:2rem;}
|
.tb_list01 tbody th, .tb_list01 tbody td,.tb_list02 tbody th, .tb_list02 tbody td{font-size:1.8rem;}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* 캘린더형 */
|
||||||
|
#sub .fc .fc-toolbar{flex-direction:column-reverse;align-items:end;}
|
||||||
|
#sub .fc .fc-toolbar .fc-toolbar-chunk:first-child{margin:30px 0 0 0;}
|
||||||
|
#sub .fc .fc-toolbar .fc-toolbar-chunk:nth-child(2){display:flex;width:100%;justify-content:space-between;align-items:center;}
|
||||||
|
#sub .fc .fc-today-button{margin:0;}
|
||||||
|
#sub .fc-toolbar-title{padding:0;font-size:2.4rem !important;}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -1550,7 +1631,7 @@ duet-date-picker *:focus{outline: auto !important;}
|
|||||||
.edu_wrap .tb_type01 table tbody .edu_sus_num li p b::after{display: none;}
|
.edu_wrap .tb_type01 table tbody .edu_sus_num li p b::after{display: none;}
|
||||||
.edu_wrap .tb_type01 table tbody .edu_sus_num li .num{margin: 10px 0 10px 5px;}
|
.edu_wrap .tb_type01 table tbody .edu_sus_num li .num{margin: 10px 0 10px 5px;}
|
||||||
.edu_wrap .edu_img img{width: 100%;}
|
.edu_wrap .edu_img img{width: 100%;}
|
||||||
.btn_wrap.btn_layout01 button {padding:0 7px;}/*1123*/
|
.btn_wrap.btn_layout01 button {padding:0 15px;}/*1123*/
|
||||||
}
|
}
|
||||||
|
|
||||||
@media all and (max-width: 520px) {
|
@media all and (max-width: 520px) {
|
||||||
@ -1579,7 +1660,7 @@ duet-date-picker *:focus{outline: auto !important;}
|
|||||||
.class_m ul li{word-break:break-word;}
|
.class_m ul li{word-break:break-word;}
|
||||||
.class_m ul li>span:first-child{width: 63px;}
|
.class_m ul li>span:first-child{width: 63px;}
|
||||||
.class_m ul li>span:last-child{padding-left: 10px;}
|
.class_m ul li>span:last-child{padding-left: 10px;}
|
||||||
.q_wrap .faq li .question, .q_wrap .faq li .answer .answer_i, .q_wrap .faq li .answer .answer_in{padding: 12px 10px 12px 46px;}
|
.q_wrap .faq li .question, .q_wrap .faq li .answer .answer_i, .q_wrap .faq li .answer .answer_in{padding: 12px 18% 12px 10px;}
|
||||||
}
|
}
|
||||||
|
|
||||||
@media all and (max-width: 400px){
|
@media all and (max-width: 400px){
|
||||||
@ -1594,7 +1675,19 @@ duet-date-picker *:focus{outline: auto !important;}
|
|||||||
}
|
}
|
||||||
|
|
||||||
@media all and (max-width: 340px){
|
@media all and (max-width: 340px){
|
||||||
|
|
||||||
|
.sub_visual strong{font-size:2.2rem;}
|
||||||
|
|
||||||
/*교육소개 추가*/
|
/*교육소개 추가*/
|
||||||
.edu_wrap .tb_type01 table tbody .edu_sus_num li{width: 110%; padding: 5px;}
|
.edu_wrap .tb_type01 table tbody .edu_sus_num li{width: 100%; padding: 5px;}
|
||||||
.edu_wrap .tb_type01 table tbody .edu_sus_num li .num{width: 20px; height: 20px; font-size: 14px;}
|
.edu_wrap .tb_type01 table tbody .edu_sus_num li .num{width: 20px; height: 20px; font-size: 14px;}
|
||||||
|
.q_wrap .faq li .question, .q_wrap .faq li .answer .answer_i, .q_wrap .faq li .answer .answer_in{padding:12px 22% 12px 10px;}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* 모바일 캘린더 */
|
||||||
|
@media (max-width: 35.9375em){
|
||||||
|
.duet-date__dialog{z-index:10;}
|
||||||
|
.duet-date__dialog-content{max-width:100%;border-radius:20px 20px 0 0;padding:0 8% 20px;box-shadow:0 -8px 10px 0 rgba(0,0,0,0.1);}
|
||||||
|
.duet-date__dialog-content span{padding:0;}
|
||||||
|
.list_top .endDate .duet-date__dialog{left:0;}
|
||||||
|
}
|
||||||
@ -8,7 +8,7 @@
|
|||||||
.main_title .btn_plus:hover i{transform:rotate(180deg);transition:transform 0.2s;}
|
.main_title .btn_plus:hover i{transform:rotate(180deg);transition:transform 0.2s;}
|
||||||
|
|
||||||
/* section01 */
|
/* section01 */
|
||||||
.section01{position:relative;padding:90px 0;}
|
.section01{position:relative;padding:90px 0;background-size:cover;}
|
||||||
.section01::before{position:absolute;content:"";width:100%;height:100%;background-image: url(../images/main/sec01_left_obj.png), url(../images/main/sec01_right_obj.png);background-repeat:no-repeat;background-position: left bottom, right top;left:0;top:0;z-index:0;}
|
.section01::before{position:absolute;content:"";width:100%;height:100%;background-image: url(../images/main/sec01_left_obj.png), url(../images/main/sec01_right_obj.png);background-repeat:no-repeat;background-position: left bottom, right top;left:0;top:0;z-index:0;}
|
||||||
.section01::after{position:absolute;content:"";width:100%;height:100%;background:linear-gradient(360deg,rgba(255, 255, 255, 1) 66%, rgba(214, 229, 243, 1) 100%);;background-size:cover;left:0;top:0;z-index:-2;}
|
.section01::after{position:absolute;content:"";width:100%;height:100%;background:linear-gradient(360deg,rgba(255, 255, 255, 1) 66%, rgba(214, 229, 243, 1) 100%);;background-size:cover;left:0;top:0;z-index:-2;}
|
||||||
.section01 .inner{position:relative;background-image: url(../images/main/sec01_left_icon.png), url(../images/main/sec01_right_icon.png);background-repeat:no-repeat;background-position: 30px 15px, calc(100% - 60px) 15px;z-index:1;}
|
.section01 .inner{position:relative;background-image: url(../images/main/sec01_left_icon.png), url(../images/main/sec01_right_icon.png);background-repeat:no-repeat;background-position: 30px 15px, calc(100% - 60px) 15px;z-index:1;}
|
||||||
@ -53,6 +53,7 @@
|
|||||||
.section02 .inner{position:relative;min-height:488px;z-index:0;}
|
.section02 .inner{position:relative;min-height:488px;z-index:0;}
|
||||||
|
|
||||||
.section02 .main_title{gap:15px;justify-content:center;}
|
.section02 .main_title{gap:15px;justify-content:center;}
|
||||||
|
.section02 .btn_plus{display:none;}
|
||||||
.section02 .list_content{display:inline-flex;padding:7px;margin:0 auto;background:#fff;border-radius:50px;justify-content:center;}
|
.section02 .list_content{display:inline-flex;padding:7px;margin:0 auto;background:#fff;border-radius:50px;justify-content:center;}
|
||||||
.section02 .tab{width:144px;height:44px;font-size:2.3rem;color:#555;border-radius:44px;}
|
.section02 .tab{width:144px;height:44px;font-size:2.3rem;color:#555;border-radius:44px;}
|
||||||
.section02 .on .tab{background:#396ac4;color:#fff;font-weight:600;}
|
.section02 .on .tab{background:#396ac4;color:#fff;font-weight:600;}
|
||||||
@ -185,7 +186,8 @@
|
|||||||
.section03 .banner i,.section03 .banner .summary{display:none;}
|
.section03 .banner i,.section03 .banner .summary{display:none;}
|
||||||
|
|
||||||
/* section04 */
|
/* section04 */
|
||||||
.section04 .inner{gap:100px;}
|
.section04{padding:0 0 60px 0;}
|
||||||
|
.section04 .inner{gap:60px;}
|
||||||
.section04 .list{margin:40px 0 0 0;}
|
.section04 .list{margin:40px 0 0 0;}
|
||||||
.section04 .list a{padding:46px 16px;}
|
.section04 .list a{padding:46px 16px;}
|
||||||
.section04 .list .title{font-size:5.6rem;}
|
.section04 .list .title{font-size:5.6rem;}
|
||||||
@ -210,6 +212,7 @@
|
|||||||
.main_title .btn_plus{width:55px;height:55px;}
|
.main_title .btn_plus{width:55px;height:55px;}
|
||||||
.main_title .btn_plus i{background:url(/ipedu/visitEdu/usr/publish/images/main/icon_plus_110.png) no-repeat center center;background-size:100%;}
|
.main_title .btn_plus i{background:url(/ipedu/visitEdu/usr/publish/images/main/icon_plus_110.png) no-repeat center center;background-size:100%;}
|
||||||
|
|
||||||
|
.section01::before{background-size:33% auto;}
|
||||||
.section01 .main_title{font-size:3.5rem;}
|
.section01 .main_title{font-size:3.5rem;}
|
||||||
.section01 .box_wrap{gap:30px;}
|
.section01 .box_wrap{gap:30px;}
|
||||||
.section01 .box_wrap li{padding:30px;}
|
.section01 .box_wrap li{padding:30px;}
|
||||||
@ -223,6 +226,7 @@
|
|||||||
.section01 .info p{font-size:2.6rem;width:calc(100% - 66px);}
|
.section01 .info p{font-size:2.6rem;width:calc(100% - 66px);}
|
||||||
.section01 .info b{font-size:2.6rem;}
|
.section01 .info b{font-size:2.6rem;}
|
||||||
|
|
||||||
|
.section02{background-image:none;}
|
||||||
.section02 .inner{min-height:450px;padding:0 25px;}
|
.section02 .inner{min-height:450px;padding:0 25px;}
|
||||||
.section02 .main_title{gap:15px;margin:0 0 25px 0;}
|
.section02 .main_title{gap:15px;margin:0 0 25px 0;}
|
||||||
.section02 .list_content{padding:7px;}
|
.section02 .list_content{padding:7px;}
|
||||||
|
|||||||
@ -16,6 +16,9 @@ $(document).ready(function () {
|
|||||||
prevEl: '.section03 .btn_prev',
|
prevEl: '.section03 .btn_prev',
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
var slide03Num = $(".section03 .swiper-slide").length;
|
||||||
|
$(".slide_location").html(`<p class="slide_location"><span class="slide_num">1</span>/`+slide03Num+`</p>`);
|
||||||
|
|
||||||
$(".section03 .btn_pause").click(function () {
|
$(".section03 .btn_pause").click(function () {
|
||||||
slideBanner.autoplay.stop();
|
slideBanner.autoplay.stop();
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user