This commit is contained in:
myname 2025-10-21 16:11:09 +09:00
commit 8574ddf474
24 changed files with 290 additions and 275 deletions

View File

@ -12,7 +12,12 @@ import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import egovframework.rte.fdl.property.EgovPropertyService;
import kcc.com.cmm.ComDefaultVO;
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 클래스
@ -37,6 +42,14 @@ public class EgovComUtlController {
/** EgovPropertyService */
@Resource(name = "propertiesService")
protected EgovPropertyService propertiesService;
/** EgovProgrmManageService */
@Resource(name = "progrmManageService")
private EgovProgrmManageService progrmManageService;
/** EgovMenuManageService */
@Resource(name = "meunManageService")
private EgovMenuManageService menuManageService;
/**
* JSP 호출작업만 처리하는 공통 함수
@ -61,6 +74,52 @@ public class EgovComUtlController {
}else if(null != 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")) {
session.setAttribute("baseMenuNm", baseMenuNm);

View File

@ -249,6 +249,14 @@ public class EgovMainController {
, HttpSession session) throws Exception{
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..?
@ -1167,12 +1175,15 @@ public class EgovMainController {
if (today.before(startDate)) {
// 접수전
t.setDdlnCd(VeConstants.DDLN_CD_APP_BEFORE);
t.setDdlnCdNm("접수전");
} else if (!today.before(startDate) && !today.after(endDate)) {
// 접수중
t.setDdlnCd(VeConstants.DDLN_CD_APP_ING);
t.setDdlnCdNm("접수중");
} else if (today.after(endDate)) {
// 접수종료
t.setDdlnCd(VeConstants.DDLN_CD_APP_END);
t.setDdlnCdNm("접수종료");
}
} catch (Exception e) {
e.printStackTrace();
@ -1211,12 +1222,15 @@ public class EgovMainController {
if (today.before(startDate)) {
// 접수전
t.setDdlnCd(VeConstants.DDLN_CD_APP_BEFORE);
t.setDdlnCdNm("접수전");
} else if (!today.before(startDate) && !today.after(endDate)) {
// 접수중
t.setDdlnCd(VeConstants.DDLN_CD_APP_ING);
t.setDdlnCdNm("접수중");
} else if (today.after(endDate)) {
// 접수종료
t.setDdlnCd(VeConstants.DDLN_CD_APP_END);
t.setDdlnCdNm("접수종료");
}
} catch (Exception e) {
e.printStackTrace();

View File

@ -1855,18 +1855,16 @@ public class EgovLoginController {
if ("ROLE_ADMIN".equals(loginService.getUserAuth(user).getAuthority())) { // 수퍼관리자 경우
return "redirect:/cmm/main/mainPage.do";
// return "redirect:/kccadr/oprtn/tngrVisitEdu/areaLctrMngList.do";
} else if ("ROLE_USER_MANAGER".equals(user.getAuthority())) {
return "redirect:/web/main/mainPage.do";
} else if ("ROLE_VISIT".equals(user.getAuthority())) {
return "redirect:/cmm/main/mainPage.do";
} else if ("ROLE_ADR_JRSDC".equals(user.getAuthority())) {
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_JRSDC".equals(user.getAuthority())) { //기소유예
return "redirect:/kccadr/oprtn/cndtnSspnIdtmt/trgtList.do";
} 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())) {
System.out.println("비정상적인 사용자 redirect 임");
return "redirect:/web/main/mainPage.do";

View File

@ -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() {
}
}

View File

@ -119,6 +119,7 @@ public class VEPrcsDetailVO extends ComDefaultVO implements Serializable {
private String nos;
private String ddlnCd;
private String ddlnCdNm;
private String nosCnt1; //신청인
private String eduPlace; //교육장소
@ -1112,5 +1113,12 @@ public class VEPrcsDetailVO extends ComDefaultVO implements Serializable {
}
public void setCmdTrgtInfoOrd(String cmdTrgtInfoOrd) {
this.cmdTrgtInfoOrd = cmdTrgtInfoOrd;
}
}
public String getDdlnCdNm() {
return ddlnCdNm;
}
public void setDdlnCdNm(String ddlnCdNm) {
this.ddlnCdNm = ddlnCdNm;
}
}

View File

@ -102,7 +102,7 @@
AND B.AUTHOR_CODE IN ('ROLE_ANONYMOUS', 'ROLE_USER_MEMBER', 'ROLE_USER_MANAGER')
</isEqual>
<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>
</isNotEmpty>
LIMIT 1

View File

@ -225,9 +225,7 @@
AND a.lctr_div_cd=#lctrDivCd#
</isNotEmpty>
<isEqual property="lctrDivCd" compareValue="60">
AND COALESCE(A.USE_YN,'Y')='Y'
</isEqual>
AND COALESCE(A.USE_YN,'Y')!='D'
<isNotEmpty property="searchSmbtStartDt">
/*등록일시*/

View File

@ -96,7 +96,14 @@ function fncGoDetail(prcsAplctPrdOrd, url){
</c:choose>
</a>
<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>
</c:forEach>
</ul>
@ -105,7 +112,7 @@ function fncGoDetail(prcsAplctPrdOrd, url){
<div class="box">
<div class="box_tit">
<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 class="box_cont">
<ul class="dashboard_list">
@ -122,7 +129,14 @@ function fncGoDetail(prcsAplctPrdOrd, url){
</c:choose>
</a>
<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>
</c:forEach>
</ul>
@ -177,7 +191,14 @@ function fncGoDetail(prcsAplctPrdOrd, url){
</c:choose>
</a>
<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>
</c:forEach>
</ul>
@ -203,7 +224,14 @@ function fncGoDetail(prcsAplctPrdOrd, url){
</c:choose>
</a>
<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>
</c:forEach>
</ul>
@ -235,7 +263,14 @@ function fncGoDetail(prcsAplctPrdOrd, url){
</c:choose>
</a>
<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>
</c:forEach>
</ul>
@ -261,7 +296,14 @@ function fncGoDetail(prcsAplctPrdOrd, url){
</c:choose>
</a>
<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>
</c:forEach>
</ul>

View File

@ -509,7 +509,7 @@
<c:if test="${info.prcsDiv eq 10}">
<th scope="row">교육장소</th>
</c:if>
<c:if test="${info.prcsDiv eq 20}">
<c:if test="${info.prcsDiv ne 10}">
<th scope="row">관련URL</th>
</c:if>
<td class="addPro_wrap">
@ -547,7 +547,7 @@
</td>
</tr>
<tr>
<%-- <tr>
<th scope="row">
<p>공개여부(사용여부)</p>
</th>
@ -556,7 +556,7 @@
${info.useYn eq 'N' ? '비공개' : ''}
</td>
</tr>
</tr> --%>
<tr>
<th scope="row">
<p>첨부파일</p>

View File

@ -368,7 +368,7 @@
<ve:select codeId="VEA004" name="ddlnCd" id="ddlnCd" css="class='sel_type1'" selectedValue="${info.ddlnCd}" defaultValue="100" defaultText="기본"/>
</td>
</tr>
<tr>
<%-- <tr>
<th scope="row">
<p>공개여부(사용여부)</p>
</th>
@ -379,7 +379,7 @@
<label for="useN">아니오</label>
</td>
</tr>
</tr> --%>
<tr>
<th scope="row">

View File

@ -226,7 +226,7 @@
<tbody>
<tr>
<th scope="row">대면구분</th>
<th scope="row">교육구분</th>
<td>
<input type="text" name="prcsDiv" id="prcsDiv" readonly="readonly" value="${prcsDivNm }"/>
</td>

View File

@ -498,7 +498,7 @@
<c:if test="${info.prcsDiv eq 10}">
<th scope="row">교육장소</th>
</c:if>
<c:if test="${info.prcsDiv eq 20}">
<c:if test="${info.prcsDiv ne 10}">
<th scope="row">관련URL</th>
</c:if>
<td class="addPro_wrap">
@ -536,7 +536,7 @@
</td>
</tr>
<tr>
<%-- <tr>
<th scope="row">
<p>공개여부(사용여부)</p>
</th>
@ -545,7 +545,7 @@
${info.useYn eq 'N' ? '비공개' : ''}
</td>
</tr>
</tr> --%>
<tr>
<th scope="row">
<p>첨부파일</p>

View File

@ -366,7 +366,7 @@
<ve:select codeId="VEA004" name="ddlnCd" id="ddlnCd" css="class='sel_type1'" selectedValue="${info.ddlnCd}" defaultValue="100" defaultText="기본"/>
</td>
</tr>
<tr>
<%-- <tr>
<th scope="row">
<p>공개여부(사용여부)</p>
</th>
@ -377,7 +377,7 @@
<label for="useN">아니오</label>
</td>
</tr>
</tr> --%>
<tr>
<th scope="row">

View File

@ -226,7 +226,7 @@
<tbody>
<tr>
<th scope="row">대면구분</th>
<th scope="row">교육구분</th>
<td>
<input type="text" name="prcsDiv" id="prcsDiv" readonly="readonly" value="${prcsDivNm }"/>
</td>
@ -315,7 +315,7 @@
<p>상태</p>
</th>
<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>
</tr>

View File

@ -497,7 +497,7 @@
<c:if test="${info.prcsDiv eq 10}">
<th scope="row">교육장소</th>
</c:if>
<c:if test="${info.prcsDiv eq 20}">
<c:if test="${info.prcsDiv ne 10}">
<th scope="row">관련URL</th>
</c:if>
<td class="addPro_wrap">
@ -535,7 +535,7 @@
</td>
</tr>
<tr>
<%-- <tr>
<th scope="row">
<p>공개여부(사용여부)</p>
</th>
@ -544,7 +544,7 @@
${info.useYn eq 'N' ? '비공개' : ''}
</td>
</tr>
</tr> --%>
<tr>
<th scope="row">
<p>첨부파일</p>

View File

@ -368,7 +368,7 @@
<ve:select codeId="VEA004" name="ddlnCd" id="ddlnCd" css="class='sel_type1'" selectedValue="${info.ddlnCd}" defaultValue="100" defaultText="기본"/>
</td>
</tr>
<tr>
<%-- <tr>
<th scope="row">
<p>공개여부(사용여부)</p>
</th>
@ -379,7 +379,7 @@
<label for="useN">아니오</label>
</td>
</tr>
</tr> --%>
<tr>
<th scope="row">

View File

@ -226,7 +226,7 @@
<tbody>
<tr>
<th scope="row">대면구분</th>
<th scope="row">교육구분</th>
<td>
<input type="text" name="prcsDiv" id="prcsDiv" readonly="readonly" value="${prcsDivNm }"/>
</td>

View File

@ -157,6 +157,10 @@
<input type="hidden" name="searchSortCnd" value="<c:out value="${vEEduAplctVO.searchSortCnd}" />" />
<input type="hidden" name="searchSortOrd" value="<c:out value="${vEEduAplctVO.searchSortOrd}" />" />
<div class="cont_tit">
<h2>교육문의</h2>
</div>
<!--FAQ 내용 있을때-->
<div class="q_wrap">

View File

@ -156,7 +156,11 @@
<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}" />" />
<div class="cont_tit">
<h2>교육문의</h2>
</div>
<!--FAQ 내용 있을때-->
<div class="q_wrap">

View File

@ -157,6 +157,10 @@
<input type="hidden" name="searchSortCnd" value="<c:out value="${vEEduAplctVO.searchSortCnd}" />" />
<input type="hidden" name="searchSortOrd" value="<c:out value="${vEEduAplctVO.searchSortOrd}" />" />
<div class="cont_tit">
<h2>교육문의</h2>
</div>
<!--FAQ 내용 있을때-->
<div class="q_wrap">

View File

@ -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;}
.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 .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;}
@ -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:first-child a{color:#118be5;font-weight:700;padding:0 20px 0 0;}
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 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;}

View File

@ -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 .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 .fileView a{padding:0 0 2px 23px;background-position:left 2px;}
/* faq */
.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 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.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%);}
#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;}
#egov_file_view_table ul{display:flex;gap:8px;flex-direction:column;}
/*알림마당 > FAQ > 답변 색 수정*/
.full_faq .faq li button{background-color: #f5f5f5;}
@ -975,7 +976,7 @@ duet-date-picker *:focus{outline: auto !important;}
/* sub layout */
.container{margin:110px 0 0 0;}
.container .inner .cont_wrap {width: 100%;}
.container .inner .cont_wrap {width: 100%;}
.sub_visual{height:180px;;}
.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 .tab_button{font-size:3.8rem;}
.tab.line .tab_button{font-size:3.8rem;}
/* 기본 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;}
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.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_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;}
@ -1153,7 +1158,47 @@ duet-date-picker *:focus{outline: auto !important;}
.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 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){
@ -1185,12 +1230,14 @@ duet-date-picker *:focus{outline: auto !important;}
.tab.fill{height:60px;margin:0 0 40px 0;}
.tab.fill .tab_button{font-size:1.9rem;}
.tab.line .tab_button{font-size:1.9rem;}
/* icon */
.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;}
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;}
@ -1249,10 +1296,11 @@ duet-date-picker *:focus{outline: auto !important;}
.board_util li::before{width:5px;height:5px;top:5px;}
.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;}
/* faq */
.info_box{padding:15px 30px;}
.info_box{padding:25px 30px;}
.info_box i{width:60px;height:60px;}
.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;}
@ -1292,7 +1340,7 @@ duet-date-picker *:focus{outline: auto !important;}
/* sub latout */
.container {margin-top:60px;}
.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 .tit_box {display: block; text-align: center; padding: 15px 20px;}
.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 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 button.m_btn_block {display: inline-block;}
.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>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 .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_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 p {font-size:16px; font-weight:500; }
.edu_process .text_area p span {font-size:30px; font-weight: bold; }
.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 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::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;}
/* 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){
@ -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 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;}
.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_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 .num{margin: 10px 0 10px 5px;}
.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) {
@ -1579,7 +1660,7 @@ duet-date-picker *:focus{outline: auto !important;}
.class_m ul li{word-break:break-word;}
.class_m ul li>span:first-child{width: 63px;}
.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){
@ -1594,7 +1675,19 @@ duet-date-picker *:focus{outline: auto !important;}
}
@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;}
.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;}
}

View File

@ -8,7 +8,7 @@
.main_title .btn_plus:hover i{transform:rotate(180deg);transition:transform 0.2s;}
/* 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::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;}
@ -53,6 +53,7 @@
.section02 .inner{position:relative;min-height:488px;z-index:0;}
.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 .tab{width:144px;height:44px;font-size:2.3rem;color:#555;border-radius:44px;}
.section02 .on .tab{background:#396ac4;color:#fff;font-weight:600;}
@ -185,7 +186,8 @@
.section03 .banner i,.section03 .banner .summary{display:none;}
/* section04 */
.section04 .inner{gap:100px;}
.section04{padding:0 0 60px 0;}
.section04 .inner{gap:60px;}
.section04 .list{margin:40px 0 0 0;}
.section04 .list a{padding:46px 16px;}
.section04 .list .title{font-size:5.6rem;}
@ -210,6 +212,7 @@
.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%;}
.section01::before{background-size:33% auto;}
.section01 .main_title{font-size:3.5rem;}
.section01 .box_wrap{gap:30px;}
.section01 .box_wrap li{padding:30px;}
@ -223,6 +226,7 @@
.section01 .info p{font-size:2.6rem;width:calc(100% - 66px);}
.section01 .info b{font-size:2.6rem;}
.section02{background-image:none;}
.section02 .inner{min-height:450px;padding:0 25px;}
.section02 .main_title{gap:15px;margin:0 0 25px 0;}
.section02 .list_content{padding:7px;}

View File

@ -16,6 +16,9 @@ $(document).ready(function () {
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 () {
slideBanner.autoplay.stop();