Compare commits

...

15 Commits

Author SHA1 Message Date
f0492581c8 Chore: remove helper list reduced-files.txt 2025-10-29 14:36:06 +09:00
3c59329a8b Restore reduced files to 73017623 snapshot 2025-10-29 14:34:37 +09:00
5e18163bd3 Restore reduced files to 73017623 snapshot 2025-10-29 14:34:12 +09:00
5087d7b50d Restore files lost by merge beb276ac (from 73017623) 2025-10-29 14:33:56 +09:00
beb276acac Merge branch 'master_tolag3' 2025-10-29 13:59:47 +09:00
ff1a3089bf Merge branch 'master_tolag3'
권한, 메뉴 정리
2025-10-29 13:59:24 +09:00
JIWOO
80ececb39e Merge branch 'jiwoo' 2025-10-29 12:53:30 +09:00
JIWOO
10298022fc 이지우 - 관리자 과정관리/과정기간관리 > 과정 조회 조건 수정(use_yn) 2025-10-29 12:52:52 +09:00
myname
517c2195eb Merge branch 'master' of http://yongjoon.cho@vcs.iten.co.kr:9999/itnAdmin/koipa_edu_2025-1 2025-10-29 12:44:01 +09:00
myname
73017623c1 2025-10-29 12:43 대상자 등록 버튼 수정 2025-10-29 12:43:45 +09:00
subsub
a463da77da * → ● 수정 2025-10-29 12:27:03 +09:00
subsub
d3fdc340f0 기소유예 > 교육신청 > 신청팝업 생년월일 수정, 성별 삭제 2025-10-29 12:14:56 +09:00
subsub
c2d918f022 (사용자) header부분 모바일 인증해제 추가,duet.js 필요없는 스크립트 삭제 2025-10-29 11:09:40 +09:00
subsub
1a67655492 Merge branch 'master' into sub
임시 커밋 - 정수빈
2025-10-29 10:33:43 +09:00
subsub
c8ad04a401 (사용자) 이수증 도장 추가, 교육문의 추가, 모바일화면 인증해제 추가 / (관리자) 메인대시보드 타이틀 추가 2025-10-29 10:18:59 +09:00
47 changed files with 3774 additions and 820 deletions

View File

@ -1,9 +1,10 @@
package kcc.let.my.web;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
@ -16,6 +17,7 @@ import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
@ -24,7 +26,14 @@ import kcc.com.utl.user.service.CheckLoginUtil;
import kcc.let.cop.bbs.service.BoardMasterVO;
import kcc.let.cop.bbs.service.BoardVO;
import kcc.let.uat.uia.service.SsoLoginVO;
import kcc.let.uss.notify.service.NotifyManageService;
import kcc.let.uss.notify.service.NotifyManageVO;
import kcc.let.utl.fcc.service.EgovCryptoUtil;
import kcc.ve.aplct.fndtnEnhanceTrn.service.FndtnEnhanceTrnService;
import kcc.ve.cmm.VeConstants;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduChasiVO;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduMIXService;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsAplctPrdService;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsService;
@ -51,94 +60,277 @@ import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsService;
@Controller
public class MyPageController {
private static final Logger LOGGER = LoggerFactory.getLogger(MyPageController.class);
// 로그인 체크 util
@Resource(name = "checkLoginUtil")
private CheckLoginUtil checkLoginUtil;
// 교육과정신청
@Resource(name = "vEEduMIXService")
private VEEduMIXService vEEduMIXService;
//암복호화 유틸
@Resource(name = "egovCryptoUtil")
EgovCryptoUtil egovCryptoUtil;
//과정차시 관리
@Resource(name = "vEPrcsAplctPrdService")
private VEPrcsAplctPrdService vEPrcsAplctPrdService;
//과정 관리
@Resource(name = "vEPrcsService")
private VEPrcsService vEPrcsService;
//과정차시 관리
@Resource(name = "vEPrcsAplctPrdService")
private VEPrcsAplctPrdService vEPrcsAplctPrdService;
//온라인콘텐츠과정 관리
@Resource(name = "fndtnEnhanceTrnService")
private FndtnEnhanceTrnService fndtnEnhanceTrnService;
@Resource(name = "NotifyManageService")
private NotifyManageService notifyManageService;
private String p_lctr_div_cd = "60";
private static final Logger LOGGER = LoggerFactory.getLogger(MyPageController.class);
@RequestMapping(value = { "/web/my/myPageDashBoard.do" })
public String selectFaqListWeb(HttpServletRequest request, @ModelAttribute("vEEduAplctVO") VEPrcsDetailVO vEPrcsDetailVO,
public String selectFaqListWeb(HttpServletRequest request, @ModelAttribute("searchVO") BoardMasterVO boardMasterVO,
ModelMap model, BoardVO boardVO, RedirectAttributes redirectAttributes) throws Exception {
//로그인 처리====================================
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
if (loginVO == null || ssoLoginVO == null) {
//이전 url 처리(beforeSiteUrl)_이준호_220228추가
return checkLoginUtil.getUserLoginPage(model, request); //로그인 정보가 없으면 로그인 페이지로 이동한다.
}
vEPrcsDetailVO.setUserId(loginVO.getUniqId());
//1.pageing step1
//5개만 select을 위한 설정
vEPrcsDetailVO.setPageUnit(5);
PaginationInfo paginationInfo = this.setPagingStep1(vEPrcsDetailVO);
//로그인 처리====================================
//1.pageing step1
//임시로 페이징 처리를 안하기 위해서 RecordCountPerPage 수를 10000 으로 셋팅함
//paginationInfo.setRecordCountPerPage(10000);
//2. pageing step2
vEPrcsDetailVO = this.setPagingStep2(vEPrcsDetailVO, paginationInfo);
//기반강화 조회
vEPrcsDetailVO.setLctrDivCd(p_lctr_div_cd); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부
/*
if(StringUtil.isEmpty(vEPrcsDetailVO.getPrcsDiv())) {
vEPrcsDetailVO.setPrcsDiv("10");// 과정구분 VE0015 10-산업종사자, 20-대학생, 30-공무원, 40-일반인, 50-청소년, 60-학부모
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); // 권한에 따른 로그인 정보 가져오기
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); // SSO 로그인 정보 가져오기
if (loginVO == null || ssoLoginVO == null) {
return checkLoginUtil.getUserLoginPage(model, request); // 로그인 정보가 없으면 로그인 페이지로 이동한다.
}
*/
vEPrcsDetailVO.setSiteId(p_lctr_div_cd); //설문정보를 위해서 설문지의 대상값을 넣는다. VE0011 10-청소년, 20-성인,30-체험, 40-외부, 50-기반, 60-기소
List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsAplctPrdService.findByAprvlQustnrAllList(vEPrcsDetailVO);
//List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsAplctPrdService.findByAprvlList(vEPrcsDetailVO);
// 현재 날짜를 가져옵니다.
LocalDate currentDate = LocalDate.now();
// 날짜비교
vEPrcsDetailVOList.stream().forEach(t->{
t.setDateChk(this.dateChk(t, currentDate));
});
Map<String,Object> countMap = vEPrcsAplctPrdService.findAllSspnldtmtDashboardCnt(vEPrcsDetailVO);
// 리스트 row마다 신청 확인하기
//대상 리스트, 페이징 정보 전달
model.addAttribute("list", vEPrcsDetailVOList);
model.addAttribute("countMap", countMap);
/*
* 청소년 진행목록
*/
{
/*진행/종료 건수에서 신청/완료 건수로 변경 > 진행/종료는 차시 기준. 신청은 신청 기준이라 조회쿼리 변경*/
/*VEEduAplctVO vEEduAplctVO = new VEEduAplctVO();
// 청소년
// Q&A 영역
// vEPrcsDetailVO.setQnaRegist(loginVO.getUniqId());
// List<VEPrcsDetailVO> vEPrcsDetailQnaVOList = fndtnEnhanceTrnService.selectVeEduQna(vEPrcsDetailVO);
// model.addAttribute("qnaList", vEPrcsDetailQnaVOList);
// return "/web/ve/aplct/sspnIdtmt/main";
// 사용자 교육신청 차시 리스트
VEEduChasiVO vEEduChasiVO = new VEEduChasiVO();
vEEduChasiVO.setEduAplctOrd(vEEduAplctVO.getEduAplctOrd());
vEEduChasiVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_10);
vEEduChasiVO.setAprvlCd(VeConstants.STATUS_CD_EDU_SELCT);
vEEduChasiVO.setUserId(loginVO.getUniqId());
vEEduChasiVO.setRecordCountPerPage(1000000);
vEEduChasiVO.setFirstIndex(0);
// List<VEEduChasiVO> vEEduChasiVOList =
// vEEduMIXService.selectChasiList(vEEduChasiVO);
vEEduChasiVO.setPageIndex(vEEduAplctVO.getPageIndex());
vEEduChasiVO.setPageUnit(vEEduAplctVO.getPageUnit());
vEEduChasiVO.setPageSize(vEEduAplctVO.getPageSize());
List<VEEduChasiVO> tngrList = vEEduMIXService.selectChasiListMypage(vEEduChasiVO);
Map<String, String> tngrMap = tngrList.stream()
.collect(Collectors.partitioningBy(vo -> "30".equals(vo.getAsgnmAprvlCd()), Collectors.counting()))
//.collect(Collectors.partitioningBy(vo -> "60".equals(vo.getAprvlCd()), Collectors.counting()))
.entrySet().stream()
.collect(Collectors.toMap(
entry -> entry.getKey() ? "tngrEnd" : "tngrIng",
entry -> entry.getValue().toString()
)
);
System.out.println(tngrMap);
System.out.println(tngrMap);
model.addAttribute("tngrMap", tngrMap);
model.addAttribute("tngrList", tngrList);*/
//신청목록
VEEduAplctVO vEEduAplctVO = new VEEduAplctVO();
vEEduAplctVO.setUserId(loginVO.getUniqId());
vEEduAplctVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_10);
vEEduAplctVO.setRecordCountPerPage(10);
vEEduAplctVO.setFirstIndex(0);
List<VEEduAplctVO> vEEduAplctVOList = vEEduMIXService.selectPagingApplyList(vEEduAplctVO);
int tngrAplctCnt = 0;
if(vEEduAplctVOList != null && !vEEduAplctVOList.isEmpty()) {
tngrAplctCnt = vEEduAplctVOList.get(0).getTotCnt();
}
model.addAttribute("tngrAplctCnt", tngrAplctCnt);
//완료목록
VEEduChasiVO vEEduChasiVO = new VEEduChasiVO();
vEEduChasiVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_10);
vEEduChasiVO.setAprvlCd(VeConstants.STATUS_CD_EDU_SELCT);
vEEduChasiVO.setUserId(loginVO.getUniqId());
vEEduChasiVO.setSearchStartDt(vEEduAplctVO.getSearchStartDt());
vEEduChasiVO.setSearchEndDt(vEEduAplctVO.getSearchEndDt());
vEEduChasiVO.setRecordCountPerPage(10);
vEEduChasiVO.setFirstIndex(0);
List<VEEduChasiVO> vEEduChasiVOList = vEEduMIXService.selectChasiList(vEEduChasiVO);
int tngrEndCnt = 0;
if(vEEduChasiVOList != null && !vEEduChasiVOList.isEmpty()) {
tngrEndCnt = vEEduChasiVOList.get(0).getTotCnt();
}
model.addAttribute("tngrEndCnt", tngrEndCnt);
model.addAttribute("tngrList", vEEduChasiVOList);
}
/*
* 성인 진행목록
*/
{
/*진행/종료 건수에서 신청/완료 건수로 변경 > 진행/종료는 차시 기준. 신청은 신청 기준이라 조회쿼리 변경*/
/*VEEduAplctVO vEEduAplctVO = new VEEduAplctVO();
// 청소년
// 사용자 교육신청 차시 리스트
VEEduChasiVO vEEduChasiVO = new VEEduChasiVO();
vEEduChasiVO.setEduAplctOrd(vEEduAplctVO.getEduAplctOrd());
vEEduChasiVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_20);
vEEduChasiVO.setAprvlCd(VeConstants.STATUS_CD_EDU_SELCT);
vEEduChasiVO.setUserId(loginVO.getUniqId());
vEEduChasiVO.setRecordCountPerPage(1000000);
vEEduChasiVO.setFirstIndex(0);
// List<VEEduChasiVO> vEEduChasiVOList =
// vEEduMIXService.selectChasiList(vEEduChasiVO);
vEEduChasiVO.setPageIndex(vEEduAplctVO.getPageIndex());
vEEduChasiVO.setPageUnit(vEEduAplctVO.getPageUnit());
vEEduChasiVO.setPageSize(vEEduAplctVO.getPageSize());
List<VEEduChasiVO> adultList = vEEduMIXService.selectChasiListMypage(vEEduChasiVO);
Map<String, String> adultMap = adultList.stream()
.collect(Collectors.partitioningBy(vo -> "30".equals(vo.getAsgnmAprvlCd()), Collectors.counting()))
.entrySet().stream()
.collect(Collectors.toMap(
entry -> entry.getKey() ? "adultEnd" : "adultIng",
entry -> entry.getValue().toString()
)
);
model.addAttribute("adultMap", adultMap);
model.addAttribute("adultList", adultList);*/
//신청목록
VEEduAplctVO vEEduAplctVO = new VEEduAplctVO();
vEEduAplctVO.setUserId(loginVO.getUniqId());
vEEduAplctVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_20);
vEEduAplctVO.setRecordCountPerPage(10);
vEEduAplctVO.setFirstIndex(0);
List<VEEduAplctVO> vEEduAplctVOList = vEEduMIXService.selectPagingList(vEEduAplctVO);
int adultAplctCnt = 0;
if(vEEduAplctVOList != null && !vEEduAplctVOList.isEmpty()) {
adultAplctCnt = vEEduAplctVOList.get(0).getTotCnt();
}
model.addAttribute("adultAplctCnt", adultAplctCnt);
//완료목록
VEEduChasiVO vEEduChasiVO = new VEEduChasiVO();
vEEduChasiVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_20);
vEEduChasiVO.setAprvlCd(VeConstants.STATUS_CD_EDU_SELCT);
vEEduChasiVO.setUserId(loginVO.getUniqId());
vEEduChasiVO.setRecordCountPerPage(10);
vEEduChasiVO.setFirstIndex(0);
List<VEEduChasiVO> vEEduChasiVOList = vEEduMIXService.selectChasiList(vEEduChasiVO);
int adultEndCnt = 0;
if(vEEduChasiVOList != null && !vEEduChasiVOList.isEmpty()) {
adultEndCnt = vEEduChasiVOList.get(0).getTotCnt();
}
model.addAttribute("adultEndCnt", adultEndCnt);
model.addAttribute("adultList", vEEduChasiVOList);
}
/*
* 체험교실
* */
{
VEEduAplctVO vEEduAplctVO = new VEEduAplctVO();
// 저작권
vEEduAplctVO.setUserId(loginVO.getUniqId());
vEEduAplctVO.setRecordCountPerPage(1000000);
vEEduAplctVO.setFirstIndex(0);
vEEduAplctVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_30);
List<VEEduAplctVO> vEEduAplctVOList = vEEduMIXService.selectExprnPagingList(vEEduAplctVO);
vEEduAplctVOList = egovCryptoUtil.decryptVEEduAplctVOList(vEEduAplctVOList);
System.out.println("vEEduAplctVOList.size() :: "+vEEduAplctVOList.size());
// vEEduAplctVOList에서 10, 11, 12, 13 제거
List<VEEduAplctVO> filteredList = vEEduAplctVOList.stream()
/*
.filter(item -> !item.getAprvlCd().equals("10")
&& !item.getAprvlCd().equals("11")
&& !item.getAprvlCd().equals("12")
&& !item.getAprvlCd().equals("13"))
*/
.filter(item -> item.getAprvlCd().equals("80")
|| item.getAprvlCd().equals("20")
)
.collect(Collectors.toList());
// -- 종료 80
// -- 진행중 20~70
Map<String, String> exprnMap = filteredList.stream()
.collect(Collectors.partitioningBy(vo -> "80".equals(vo.getAprvlCd()), Collectors.counting()))
.entrySet().stream()
.collect(Collectors.toMap(
entry -> entry.getKey() ? "exprnEnd" : "exprnIng",
entry -> entry.getValue().toString()
)
);
model.addAttribute("exprnMap", exprnMap);
model.addAttribute("exprnList", filteredList);
}
/*
* 실무역량강화
* */
{
VEPrcsDetailVO vEPrcsDetailVO = new VEPrcsDetailVO();
vEPrcsDetailVO.setUserId(loginVO.getUniqId());
//기반강화 조회
vEPrcsDetailVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_50); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부
vEPrcsDetailVO.setRecordCountPerPage(1000000);
vEPrcsDetailVO.setFirstIndex(0);
List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsAplctPrdService.findByAprvlList(vEPrcsDetailVO);
// 요청
long cont = vEPrcsDetailVOList.stream().filter(t-> "10".equals(t.getAprvlCd())).count();
// 미이수
long aplctStateCd10 = vEPrcsDetailVOList.stream().filter(t-> "10".equals(t.getAplctStateCd())).count();
// 이수완료
long aplctStateCd20 = vEPrcsDetailVOList.stream().filter(t-> "20".equals(t.getAplctStateCd())).count();
Map<String, String> fndtnMap = new HashMap<>();
fndtnMap.put("fndtnEnd", String.valueOf(aplctStateCd20));
fndtnMap.put("fndtnIng", String.valueOf(aplctStateCd10+cont));
model.addAttribute("fndtnMap", fndtnMap);
model.addAttribute("fndtnList", vEPrcsDetailVOList);
//신청중, 수강중, 종료된 수량
Map<String,Object> countMap = vEPrcsAplctPrdService.findAllDashboardCnt(vEPrcsDetailVO);
model.addAttribute("countMap", countMap);
}
// 문의 목록
{
VEPrcsDetailVO vEPrcsDetailVO = new VEPrcsDetailVO();
vEPrcsDetailVO.setRecordCountPerPage(3);
vEPrcsDetailVO.setFirstIndex(0);
vEPrcsDetailVO.setQnaRegist(loginVO.getUniqId());
List<VEPrcsDetailVO> qnaList = vEPrcsService.selectQnaPagingList(vEPrcsDetailVO);
model.addAttribute("qnaList", qnaList);
}
// return "/web/cop/bbs/FaqListAjax";
return "web/my/myPageDashBoard";
}
@ -175,12 +367,140 @@ public class MyPageController {
model.addAttribute("paginationInfo", paginationInfo);
// 사용자 이름 디코딩
// vEPrcsDetailVOList.stream().forEach(t->t.setMberNm(egovCryptoUtil.decrypt(t.getMberNm())));
//대상 리스트, 페이징 정보 전달
model.addAttribute("list", vEPrcsDetailVOList);
return "web/my/myQnaMngList";
}
@RequestMapping(value = { "/web/my/myNotifyMngList.do" })
public String myNotifyMngList(
HttpServletRequest request
, @ModelAttribute("notifyManageVO") NotifyManageVO notifyManageVO
, ModelMap model
) throws Exception {
// try {
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
if (loginVO == null || ssoLoginVO == null) {
//이전 url 처리(beforeSiteUrl)_이준호_220228추가
return checkLoginUtil.getUserLoginPage(model, request); //로그인 정보가 없으면 로그인 페이지로 이동한다.
// return checkLoginUtil.getUserLoginPage(model); //로그인 정보가 없으면 로그인 페이지로 이동한다.
}
notifyManageService.updateM7DaysUseYnN();
//1.pageing step1
PaginationInfo paginationInfo = this.setNotiPagingStep1(notifyManageVO);
//2. pageing step2
notifyManageVO = this.setNotiPagingStep2(notifyManageVO, paginationInfo);
//
notifyManageVO.setToUserId(loginVO.getUniqId());
/*if(StringUtils.isNotEmpty(notifyManageVO.getSearchStatus())) {
String status = "";
if("Y".equals(notifyManageVO.getSearchStatus()))
status = "IS NOT NULL";
if("N".equals(notifyManageVO.getSearchStatus()))
status = "IS NULL";
notifyManageVO.setSearchQuery(" AND qn.QNA_ANSWER_CN "+status);
} */
List<NotifyManageVO> notifyManageVOList = notifyManageService.selectPagingList(notifyManageVO);
//3.pageing step3
paginationInfo = this.setNotiPagingStep3(notifyManageVOList, paginationInfo);
model.addAttribute("paginationInfo", paginationInfo);
// 사용자 이름 디코딩
// vEPrcsDetailVOList.stream().forEach(t->t.setMberNm(egovCryptoUtil.decrypt(t.getMberNm())));
//대상 리스트, 페이징 정보 전달
model.addAttribute("list", notifyManageVOList);
// } catch (Exception e) {
// e.printStackTrace();
// // TODO: handle exception
// }
// return "web/my/myQnaMngList";
return "web/my/myNotifyMngList";
}
@RequestMapping(value = { "/web/my/myNotifyMngDetail.do"})
public String myNotifyMngDetail(
@ModelAttribute("notifyManageVO") NotifyManageVO notifyManageVO
, ModelMap model
, RedirectAttributes redirectAttributes
, HttpSession session
, HttpServletRequest request
) throws Exception {
//로그인 처리====================================
//로그인 정보 가져오기
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
if (loginVO == null || ssoLoginVO == null) {
return checkLoginUtil.getUserLoginPage(model, request); //로그인 정보가 없으면 로그인 페이지로 이동한다.
}
//로그인 처리====================================
//과정 조회
NotifyManageVO notifyManageInfo = notifyManageService.findById(notifyManageVO);
model.addAttribute("info", notifyManageInfo);
try {
if ("30".equals(notifyManageInfo.getLctrDivCd())){ //체험교실은 다른게 바로가기를 만든다.
//eduAplctOrd:eduAplct_00000015581
List<NotifyManageVO> notifyParamList = new ArrayList<NotifyManageVO>();
NotifyManageVO tInfo = new NotifyManageVO();
tInfo.setSiteNm("eduAplctOrd");
tInfo.setParams(notifyManageInfo.getEduAplctOrd());
notifyParamList.add(tInfo);
model.addAttribute("notifyParamList", notifyParamList);
}else{
//세부과정 목록 조회
String[] a_params = notifyManageInfo.getParams().split(",");
List<NotifyManageVO> notifyParamList = new ArrayList<NotifyManageVO>();
for (int i=0;i<a_params.length;i++) {
NotifyManageVO tInfo = new NotifyManageVO();
tInfo.setSiteNm(a_params[i].split(":")[0]);
tInfo.setParams(a_params[i].split(":")[1]);
notifyParamList.add(tInfo);
}
model.addAttribute("notifyParamList", notifyParamList);
}
}catch(Exception ex) {
ex.printStackTrace();
}
return "web/my/myNotifyMngDetail";
}
@RequestMapping(value = { "/web/my/myQnaMngDetail.do"})
public String myQnaMngDetail(
@ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO
@ -211,9 +531,43 @@ public class MyPageController {
return "web/my/myQnaMngDetail";
}
@RequestMapping(value = { "/web/my/myNotifyMngDeleteAjax.do"})
public ModelAndView myNotifyMngDeleteAjax(
@ModelAttribute("notifyManageVO") NotifyManageVO notifyManageVO
, ModelMap model
, RedirectAttributes redirectAttributes
, HttpSession session
, HttpServletRequest request
, String[] chk
) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
//로그인 처리====================================
//로그인 정보 가져오기
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
if (loginVO == null || ssoLoginVO == null) {
modelAndView.addObject("result", "loginFail");
}
//로그인 처리====================================
try {
notifyManageVO.setCmmNotifyOrdArr(chk);
notifyManageService.updateChkedUseYnN(notifyManageVO);
modelAndView.addObject("result", "success");
}catch(Exception e) {
e.printStackTrace();
modelAndView.addObject("result", "fail");
}
//세부과정 목록 조회
return modelAndView;
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
//
@ -267,28 +621,41 @@ public class MyPageController {
return p_paginationInfo;
}
private String dateChk(VEPrcsDetailVO vEPrcsDetailVO , LocalDate currentDate) {
String returnDate = "";
String targetDateString = vEPrcsDetailVO.getEduStrtPnttm();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy.MM.dd");
// 문자열로부터 LocalDate 객체를 생성합니다.
LocalDate targetDate = LocalDate.parse(targetDateString, formatter);
// 교육종료 날짜와 현재날짜 비교
if (currentDate.isBefore(targetDate)) { //현재날짜가 종료날짜보다 이전이면 0
returnDate = "0";
} else if (currentDate.isAfter(targetDate)) { //현재날짜가 종료날짜 이후면 1
returnDate = "1";
} else { // 종료날짜와 같으면 2
returnDate = "2";
}
return returnDate;
private PaginationInfo setNotiPagingStep1(NotifyManageVO notifyManageVO) {
// pageing step1
PaginationInfo paginationInfo = new PaginationInfo();
paginationInfo.setCurrentPageNo(notifyManageVO.getPageIndex());
paginationInfo.setRecordCountPerPage(notifyManageVO.getPageUnit());
paginationInfo.setPageSize(notifyManageVO.getPageSize());
return paginationInfo;
}
private NotifyManageVO setNotiPagingStep2(NotifyManageVO notifyManageVO, PaginationInfo paginationInfo) {
// pageing step2
notifyManageVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
notifyManageVO.setLastIndex(paginationInfo.getLastRecordIndex());
notifyManageVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
if("".equals(notifyManageVO.getSearchSortCnd())){ //최초조회시 최신것 조회List
notifyManageVO.setSearchSortCnd("prcs_ord");
notifyManageVO.setSearchSortOrd("desc");
}
return notifyManageVO;
}
private PaginationInfo setNotiPagingStep3(List<NotifyManageVO> vEPrcsDetailVOList, PaginationInfo paginationInfo) {
// pageing step3
int totCnt = 0;
if(vEPrcsDetailVOList.size() > 0) totCnt = vEPrcsDetailVOList.get(0).getTotCnt();
paginationInfo.setTotalRecordCount(totCnt);
return paginationInfo;
}
}

View File

@ -200,11 +200,13 @@ public class VEPrcsAplctPrdServiceImpl implements VEPrcsAplctPrdService {
//ve_prcs_aplct_prd : 처리 없음
//ve_edu_aplct : 삭제
//vea_aplct_detail_info : 삭제
//vea_sspn_idmt_trgt : 처리 없음
//vea_sspn_idmt_trgt : update edu_state_cd=10,edu_aplct_ord is null
VEEduAplctVO vEEduAplctVO = new VEEduAplctVO();
vEEduAplctVO.setEduAplctOrd(vEPrcsDetailVO.getEduAplctOrd());
//vEPrcsAplctPrdDAO.delete(vEPrcsDetailVO);
vEEduAplctDAO.delete(vEEduAplctVO);
vEPrcsMIXDAO.deleteAplctDetailInfo(vEPrcsDetailVO);
vEPrcsMIXDAO.updateSspnIdmtTrgtCancelNew(vEPrcsDetailVO);
@ -212,52 +214,9 @@ public class VEPrcsAplctPrdServiceImpl implements VEPrcsAplctPrdService {
}else if ("4".equals(vEPrcsDetailVO.getReqNo())) {
//대상자 교육신청후 관리자가 반려 처리
//ve_prcs_aplct_prd : 처리 없음
//ve_edu_aplct : aprvl_cd=30
//ve_edu_aplct : update aprvl_cd=35
//vea_aplct_detail_info : 처리 없음
//vea_sspn_idmt_trgt : 처리 없음
VEEduAplctVO vEEduAplctVO = new VEEduAplctVO();
vEEduAplctVO.setEduAplctOrd(vEPrcsDetailVO.getEduAplctOrd());
//vEPrcsAplctPrdDAO.delete(vEPrcsDetailVO);
vEEduAplctDAO.updateSspnIdmtTrgtCancelNew(vEPrcsDetailVO);
vEPrcsMIXDAO.updateSspnIdmtTrgtCancelNew(vEPrcsDetailVO);
}else if ("6".equals(vEPrcsDetailVO.getReqNo())) {
//교육확정
//ve_prcs_aplct_prd : 처리 없음(앞에서 처리)
//ve_edu_aplct : aprvl_cd=60
//vea_aplct_detail_info : 처리 없음
//vea_sspn_idmt_trgt : 처리 없음
VEEduAplctVO vEEduAplctVO = new VEEduAplctVO();
vEEduAplctVO.setEduAplctOrd(vEPrcsDetailVO.getEduAplctOrd());
vEEduAplctDAO.updateSspnIdmtTrgtCancelNew(vEPrcsDetailVO);
}else if ("6-1".equals(vEPrcsDetailVO.getReqNo())) {
/* 251027 기준 - 6-1 미사용 중 */
//대상자 교육신청후 교육 취소 요청시 처리
//ve_prcs_aplct_prd : 처리 없음
//ve_edu_aplct : 처리 없음
//vea_aplct_detail_info : aplct_state_cd = 35
//vea_sspn_idmt_trgt : 처리 없음
VEEduAplctVO vEEduAplctVO = new VEEduAplctVO();
vEEduAplctVO.setEduAplctOrd(vEPrcsDetailVO.getEduAplctOrd());
vEEduAplctDAO.updateSspnIdmtTrgtCancelNew(vEPrcsDetailVO);
//vEPrcsMIXDAO.deleteAplctDetailInfo(vEPrcsDetailVO);
vEPrcsMIXDAO.updateSspnIdmtTrgtCancelNew(vEPrcsDetailVO);
}else if ("6-2".equals(vEPrcsDetailVO.getReqNo())) {
//대상자 교육 취소 신청 승인(취소 승인-교육종료)
//ve_prcs_aplct_prd : 처리 없음
//ve_edu_aplct : 처리 없음
//vea_aplct_detail_info : aplct_state_cd 60(연기)
//vea_sspn_idmt_trgt : edu_state_cd=60(연기),req_state_cd=35(미완료)
//vea_sspn_idmt_trgt : update edu_state_cd=30,req_state_cd=20
VEEduAplctVO vEEduAplctVO = new VEEduAplctVO();
vEEduAplctVO.setEduAplctOrd(vEPrcsDetailVO.getEduAplctOrd());
@ -265,21 +224,77 @@ public class VEPrcsAplctPrdServiceImpl implements VEPrcsAplctPrdService {
//vEPrcsAplctPrdDAO.delete(vEPrcsDetailVO);
//vEEduAplctDAO.delete(vEEduAplctVO);
//vEEduAplctDAO.updateSspnIdmtTrgtCancelNew(vEPrcsDetailVO);
vEPrcsMIXDAO.updateAplctDetailInfo(vEPrcsDetailVO);
vEEduAplctDAO.updateSspnIdmtTrgtCancelNew(vEPrcsDetailVO);
vEPrcsMIXDAO.updateAplctDetailInfo(vEPrcsDetailVO);
vEPrcsMIXDAO.updateSspnIdmtTrgtCancelNew(vEPrcsDetailVO);
}else if ("6".equals(vEPrcsDetailVO.getReqNo())) {
//교육확정
//ve_prcs_aplct_prd : 처리 없음(앞에서 처리)
//ve_edu_aplct : update aprvl_cd=60
//vea_aplct_detail_info : 처리 없음
//vea_sspn_idmt_trgt : update edu_state_cd=30,req_state_cd=20
VEEduAplctVO vEEduAplctVO = new VEEduAplctVO();
vEEduAplctVO.setEduAplctOrd(vEPrcsDetailVO.getEduAplctOrd());
//vEPrcsAplctPrdDAO.delete(vEPrcsDetailVO);
//vEEduAplctDAO.delete(vEEduAplctVO);
vEEduAplctDAO.updateSspnIdmtTrgtCancelNew(vEPrcsDetailVO);
//vEPrcsMIXDAO.updateAplctDetailInfo(vEPrcsDetailVO);
vEPrcsMIXDAO.updateSspnIdmtTrgtCancelNew(vEPrcsDetailVO);
}else if ("6-1".equals(vEPrcsDetailVO.getReqNo())) {
//대상자 교육신청후 교육 취소 처리
//ve_prcs_aplct_prd : 처리 없음
//ve_edu_aplct : update aprvl_cd=35
//vea_aplct_detail_info : 처리 없음
//vea_sspn_idmt_trgt : update edu_state_cd=30,req_state_cd=20
VEEduAplctVO vEEduAplctVO = new VEEduAplctVO();
vEEduAplctVO.setEduAplctOrd(vEPrcsDetailVO.getEduAplctOrd());
//vEPrcsAplctPrdDAO.delete(vEPrcsDetailVO);
//vEEduAplctDAO.delete(vEEduAplctVO);
vEEduAplctDAO.updateSspnIdmtTrgtCancelNew(vEPrcsDetailVO);
//vEPrcsMIXDAO.deleteAplctDetailInfo(vEPrcsDetailVO);
vEPrcsMIXDAO.updateSspnIdmtTrgtCancelNew(vEPrcsDetailVO);
}else if ("6-2".equals(vEPrcsDetailVO.getReqNo())) {
//대상자 교육 취소 신청 승인(취소 승인-교육종료)
//ve_prcs_aplct_prd : 처리 없음
//ve_edu_aplct : update aprvl_cd=40
//vea_aplct_detail_info : 처리 없음
//vea_sspn_idmt_trgt : update edu_state_cd=60,req_state_cd=40
VEEduAplctVO vEEduAplctVO = new VEEduAplctVO();
vEEduAplctVO.setEduAplctOrd(vEPrcsDetailVO.getEduAplctOrd());
//vEPrcsAplctPrdDAO.delete(vEPrcsDetailVO);
//vEEduAplctDAO.delete(vEEduAplctVO);
vEEduAplctDAO.updateSspnIdmtTrgtCancelNew(vEPrcsDetailVO);
//vEPrcsMIXDAO.deleteAplctDetailInfo(vEPrcsDetailVO);
vEPrcsMIXDAO.updateSspnIdmtTrgtCancelNew(vEPrcsDetailVO);
}else if ("6-3".equals(vEPrcsDetailVO.getReqNo())) {
//대상자 교육 취소 신청 반려(취소 반려-교육계속)
//ve_prcs_aplct_prd : 처리 없음
//ve_edu_aplct : 처리 없음
//vea_aplct_detail_info : aplct_state_cd = null
//ve_edu_aplct : update aprvl_cd=60
//vea_aplct_detail_info : 처리 없음
//vea_sspn_idmt_trgt : 처리 없음
VEEduAplctVO vEEduAplctVO = new VEEduAplctVO();
vEEduAplctVO.setEduAplctOrd(vEPrcsDetailVO.getEduAplctOrd());
vEPrcsMIXDAO.updateAplctDetailInfo(vEPrcsDetailVO);
//vEPrcsAplctPrdDAO.delete(vEPrcsDetailVO);
//vEEduAplctDAO.delete(vEEduAplctVO);
vEEduAplctDAO.updateSspnIdmtTrgtCancelNew(vEPrcsDetailVO);
//vEPrcsMIXDAO.deleteAplctDetailInfo(vEPrcsDetailVO);
//vEPrcsMIXDAO.updateSspnIdmtTrgtCancelNew(vEPrcsDetailVO);
}
return 1;
@ -383,10 +398,6 @@ public class VEPrcsAplctPrdServiceImpl implements VEPrcsAplctPrdService {
@Override
public List<VEPrcsDetailVO> selectTrgtList4_60(VEPrcsDetailVO paramVO) throws Exception{
return vEPrcsAplctPrdDAO.selectTrgtList4_60(paramVO);
}
public List<VEPrcsDetailVO> findByAprvlQustnrAllList(VEPrcsDetailVO vEPrcsDetailVO) {
return vEPrcsAplctPrdDAO.findByAprvlQustnrAllList(vEPrcsDetailVO);
}

View File

@ -2984,6 +2984,8 @@ public class CndtnPrcsInfoMngController {
//기반강화 조회
vEPrcsDetailVO.setLctrDivCd(LCTR_DIV_CD); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부
//사용 중인 과정만 조회
vEPrcsDetailVO.setUseYn("Y");
List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsService.selectPagingList(vEPrcsDetailVO);
//3.pageing step3

View File

@ -132,7 +132,7 @@
'' AS menuCours
/*getMenuCours(MENU_NO) AS menuCours*/
FROM LETTNMENUINFO
WHERE CAST(UPPER_MENU_NO AS VARCHAR) = #menuNo#;
WHERE UPPER_MENU_NO = #menuNo#;
]]>
</select>
</sqlMap>

View File

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

View File

@ -16,11 +16,11 @@
</Appenders>
<Loggers>
<Logger name="org.apache" level="DEBUG"></Logger>
<Logger name="org.springframework" level="DEBUG"></Logger>
<Logger name="org.apache" level="ERROR"></Logger>
<Logger name="org.springframework" level="ERROR"></Logger>
<Logger name="egovframework" level="DEBUG"></Logger>
<Logger name="egovframework.rte" level="DEBUG"></Logger>
<Logger name="egovframework" level="ERROR"></Logger>
<Logger name="egovframework.rte" level="ERROR"></Logger>
<Logger name="com.ibatis.sqlmap" level="DEBUG"></Logger>

View File

@ -386,7 +386,7 @@ function wrapWindowByMask(){
<td colspan="3">
<select name="authorCode" class="sel_type1" title="권한" onchange="authorChange(this)">
<c:forEach var="authorResult" items="${authorList}" varStatus="status">
<option value="<c:out value="${authorResult.authorCode}"/>" <c:if test="${authorResult.authorCode eq 'ROLE_ADR_ADMIN' }">selected</c:if>>
<option value="<c:out value="${authorResult.authorCode}"/>" <c:if test="${authorResult.authorCode eq 'ROLE_VISIT' }">selected</c:if>>
<c:out value="${authorResult.authorNm}"/>
</option>
</c:forEach>

View File

@ -62,7 +62,7 @@ $( document ).ready(function(){
} */
//직급 셀렉트박스 설정
if("${userManageVO.authorCode}" == "ROLE_ADR_ADMIN"){
if("${userManageVO.authorCode}" == "ROLE_VISIT"){
$("#rank1").css('display', 'block');
$("#rank2").css('display', 'none');
$("#rank1").attr('disabled', false);

View File

@ -62,7 +62,7 @@ $( document ).ready(function(){
} */
//직급 셀렉트박스 설정
if("${userManageVO.authorCode}" == "ROLE_ADR_ADMIN"){
if("${userManageVO.authorCode}" == "ROLE_VISIT"){
$("#rank1").css('display', 'block');
$("#rank2").css('display', 'none');
$("#rank1").attr('disabled', false);

View File

@ -53,6 +53,7 @@ function fncGoDetail(prcsAplctPrdOrd, url){
<%-- ===========================================
조건부 기소유예 시작
============================================ --%>
<div class="box_title">조건부기소유예</div>
<div class="box">
<div class="box_tit">
<p>조건부기소유예 대상자 목록 현황</p>
@ -148,6 +149,7 @@ function fncGoDetail(prcsAplctPrdOrd, url){
<%-- ===========================================
시정명령 시작
============================================ --%>
<div class="box_title">시정명령</div>
<div class="box">
<div class="box_tit">
<p>시정명령 대상자 정보 현황</p>
@ -243,6 +245,7 @@ function fncGoDetail(prcsAplctPrdOrd, url){
<%-- ===========================================
예방교육 시작
============================================ --%>
<div class="box_title">예방교육</div>
<div class="box">
<div class="box_tit">
<p>과정신청현황</p>

View File

@ -181,7 +181,7 @@
<tbody>
<tr>
<th scope="row">대면구분</th>
<th scope="row">교육구분</th>
<td colspan="3" style="position: relative;">
<ve:select codeId="VEA001" name="prcsDiv" id="prcsDiv" css="class='sel_type1'"
selectedValue="" defaultValue=''

View File

@ -680,7 +680,8 @@
<div class="btn_wrap btn_layout02">
<div class="btn_left">
<button type="button" class="btn_type04 btn btn_upload_excel lg" onclick="fn_excel_upload(); return false;">엑셀 업로드</button>
<button type="button" class="btn_type04 btn btn_upload_excel lg" onclick="fn_excel_upload(); return false;">대상자등록(엑셀 대량 업로드)</button>
<button type="button" class="btn_type01 btn fill blue" onclick="fncCreate(); return false;">대상자등록</button>
</div>
<div class="btn_center">
</div>
@ -689,7 +690,7 @@
<button type="button" class="btn_type05 btn line red" onclick="fn_updateReqStatus(60, 40); return false;">의뢰취소</button>
<!-- <button type="button" class="btn_type02" onclick="fn_eduAsgnm(); return false;">교육배정</button> -->
<button type="button" class="btn_type01 btn fill blue" onclick="fncCreate(); return false;">등록</button>
</div>
</div>

View File

@ -924,37 +924,37 @@
</td>
<td>
<c:choose>
<c:when test="${list.aplctStateCd eq '35'}"><!-- 취소 요청 -->
<ve:code codeId="VEA003" code="${list.aplctStateCd}"/>
<c:when test="${list.aprvlCd eq '35'}"><!-- 취소 요청 -->
<ve:code codeId="VE0003" code="${list.aprvlCd}"/>
<button type="button" class="btn_type04" onclick="fncCancelUser('${list.eduAplctOrd}', '${info.prcsAplctPrdOrd}', '6-2')">취소승인</button>
<button type="button" class="btn_type05" onclick="fncCancelUser('${list.eduAplctOrd}', '${info.prcsAplctPrdOrd}', '6-3')">취소반려</button>
<br/>
<br/>
${list.cnclCn}
${list.aplctCn}
<br/>
<c:import url="/cmm/fms/selectBBSFileInfs.do" charEncoding="utf-8">
<c:param name="param_atchFileId" value="${list.cnclAtchFileId}" />
<c:param name="param_atchFileId" value="${list.rsltAtchFileId}" />
</c:import>
</c:when>
<c:when test="${list.aplctStateCd eq '60' and not empty list.cnclCn}"><!-- 취소 승인 -->
<c:when test="${list.aprvlCd eq '40'}"><!-- 취소 승인 -->
취소승인
<br/>
<br/>
${list.cnclCn}
${list.aplctCn}
<br/>
<c:import url="/cmm/fms/selectBBSFileInfs.do" charEncoding="utf-8">
<c:param name="param_atchFileId" value="${list.cnclAtchFileId}" />
<c:param name="param_atchFileId" value="${list.rsltAtchFileId}" />
</c:import>
</c:when>
<c:when test="${list.aplctStateCd ne '60' and not empty list.cnclCn}"><!-- 취소정보가 있는데 60이면 취소 반려 처리 -->
<c:when test="${list.aprvlCd eq '60' and not empty list.aplctCn}"><!-- 취소정보가 있는데 60이면 취소 반려 처리 -->
취소반려
<br/>
<br/>
${list.cnclCn}
${list.aplctCn}
<br/>
<c:import url="/cmm/fms/selectBBSFileInfs.do" charEncoding="utf-8">
<c:param name="param_atchFileId" value="${list.cnclAtchFileId}" />
<c:param name="param_atchFileId" value="${list.rsltAtchFileId}" />
</c:import>
</c:when>
<c:otherwise>
@ -1108,51 +1108,51 @@
<div class="tb_tit01">
<p>교육 내용에 대한 전반적 만족도 평가</p>
</div>
<!-- <div class="tb_type01"> -->
<!-- <table> -->
<%-- <c:if test="${!empty chasiSrvyList}"> --%>
<%-- <colgroup> --%>
<%-- <col style="width: 120px;"> --%>
<%-- <col style="width: auto;"> --%>
<%-- <col style="width: 120px;"> --%>
<%-- <col style="width: auto;"> --%>
<%-- </colgroup> --%>
<!-- <tbody class="ta_con"> -->
<!-- <tr> -->
<!-- <th scope="row"> -->
<!-- <p>참석자</p> -->
<!-- </th> -->
<!-- <td> -->
<%-- <input type="hidden" class="popupInput" id="qestnrParticipant" name="qestnrParticipant" value="<c:out value="${qestnrParticipant}"/>"> --%>
<%-- <c:out value="${qestnrParticipant}"/> --%>
<!-- </td> -->
<!-- <th scope="row"> -->
<!-- <p>응답율</p> -->
<!-- </th> -->
<!-- <td id="responseRate">-</td> -->
<!-- </tr> -->
<!-- <tr> -->
<!-- <th scope="row"> -->
<!-- <p>응답자</p> -->
<!-- </th> -->
<!-- <td> -->
<%-- <input type="hidden" class="popupInput" id="qestnrRespondent" name="qestnrRespondent" value="<c:out value="${qestnrRespondent}"/>"> --%>
<%-- <c:out value="${qestnrRespondent}"/> --%>
<!-- </td> -->
<!-- <th scope="row"> -->
<!-- <p>무응답</p> -->
<!-- </th> -->
<!-- <td id="noResponse">-</td> -->
<!-- </tr> -->
<!-- </tbody> -->
<%-- </c:if> --%>
<%-- <c:if test="${empty chasiSrvyList}"> --%>
<!-- <tr> -->
<!-- <td colspan="2">등록된 평가문항이 없습니다.</td> -->
<!-- </tr> -->
<%-- </c:if> --%>
<!-- </table> -->
<!-- </div> -->
<div class="tb_type01">
<table>
<c:if test="${!empty chasiSrvyList}">
<colgroup>
<col style="width: 120px;">
<col style="width: auto;">
<col style="width: 120px;">
<col style="width: auto;">
</colgroup>
<tbody class="ta_con">
<tr>
<th scope="row">
<p>참석자</p>
</th>
<td>
<input type="hidden" class="popupInput" id="qestnrParticipant" name="qestnrParticipant" value="<c:out value="${qestnrParticipant}"/>">
<c:out value="${qestnrParticipant}"/>
</td>
<th scope="row">
<p>응답율</p>
</th>
<td id="responseRate">-</td>
</tr>
<tr>
<th scope="row">
<p>응답자</p>
</th>
<td>
<input type="hidden" class="popupInput" id="qestnrRespondent" name="qestnrRespondent" value="<c:out value="${qestnrRespondent}"/>">
<c:out value="${qestnrRespondent}"/>
</td>
<th scope="row">
<p>무응답</p>
</th>
<td id="noResponse">-</td>
</tr>
</tbody>
</c:if>
<c:if test="${empty chasiSrvyList}">
<tr>
<td colspan="2">등록된 평가문항이 없습니다.</td>
</tr>
</c:if>
</table>
</div>
<c:if test="${!empty chasiSrvyList}">
<div class="tb_type01 list2">
<table>
@ -1317,7 +1317,7 @@
</c:forEach>
<!-- <button type="button" class="btn_type06" onclick="fn_chasiStatusPop(); return false;">등록</button> -->
<button type="button" class="btn_type06" onclick="fn_chasiStatusPop(); return false;">등록</button>
</div>
</div>
</c:otherwise>

View File

@ -181,7 +181,7 @@
<tbody>
<tr>
<th scope="row">대면구분</th>
<th scope="row">교육구분</th>
<td colspan="3" style="position: relative;">
<ve:select codeId="VEA001" name="prcsDiv" id="prcsDiv" css="class='sel_type1'"
selectedValue="" defaultValue=''

View File

@ -674,7 +674,7 @@
<p>엑셀 다운로드</p>
</div>
<div class="util_right">
<button type="button" class="btn_type08 btn_down_excel" onclick="fncExcel();">엑셀 다운로드</button>
<button type="button" class="btn_type08 btn_down_excel" onclick="fncExcel();">대상자 엑셀 다운로드</button>
</div>
</div>
@ -682,7 +682,8 @@
<div class="btn_wrap btn_layout02">
<div class="btn_left">
<button type="button" class="btn_type04 btn btn_upload_excel lg" onclick="fn_excel_upload(); return false;">엑셀 업로드</button>
<button type="button" class="btn_type04 btn btn_upload_excel lg" onclick="fn_excel_upload(); return false;">대상자등록(엑셀 대량 업로드)</button>
<button type="button" class="btn_type01 btn fill blue" onclick="fncCreate(); return false;">대상자등록</button>
</div>
<div class="btn_center">
</div>
@ -691,7 +692,7 @@
<button type="button" class="btn_type05 btn line red" onclick="fn_updateReqStatus(60, 40); return false;">의뢰취소</button>
<!-- <button type="button" class="btn_type02" onclick="fn_eduAsgnm(); return false;">교육배정</button> -->
<button type="button" class="btn_type01 btn fill blue" onclick="fncCreate(); return false;">등록</button>
</div>
</div>

View File

@ -181,7 +181,7 @@
<tbody>
<tr>
<th scope="row">대면구분</th>
<th scope="row">교육구분</th>
<td colspan="3" style="position: relative;">
<ve:select codeId="VEA001" name="prcsDiv" id="prcsDiv" css="class='sel_type1'"
selectedValue="" defaultValue=''

View File

@ -896,7 +896,7 @@ function set_bbs(){
<span id="BBSNameSpan" style="color: blue"></span>
<span id="showUrl" style="display: none;" >
<br>
URL <input type="text" name="url" id="url" size="90"/>
URL <input type="text" name="url" id="url" size="50"/>
<input type="hidden" id="url_tmp" name="url_tmp"/>
</span>
</td>

View File

@ -91,7 +91,14 @@
</c:forEach>
</ul>
<div class="btn_area">
<button type="button" class="btn_identify mobile" title="전체메뉴 열기"><i></i></button>
<c:choose>
<c:when test="${empty LoginVO}">
<button type="button" class="btn_identify mobile" onclick="location.href='${pageContext.request.contextPath}/web/user/login/ssoLogin.do'" title="본인인증"><i></i></button>
</c:when>
<c:when test="${!empty LoginVO}">
<button type="button" class="btn_logout mobile" onclick="location.href='${pageContext.request.contextPath}/web/uat/uia/actionLogout.do'" title="인증해제"><i></i></button>
</c:when>
</c:choose>
<button type="button" class="btn_sitemap" title="전체메뉴 열기"><i></i></button>
</div>
</div>

View File

@ -76,7 +76,7 @@
<script src="<c:url value='/visitEdu/usr/publish/script/main.js'/>"></script>
<script type="module" src="<c:url value='/visitEdu/usr/datapicker/duet.esm.js'/>"></script>
<script nomodule src="<c:url value='/visitEdu/usr/datapicker/duet.js'/>"></script>
<script src="<c:url value='/visitEdu/usr/datapicker/duet.system.js'/>"></script>
<%-- <script src="<c:url value='/visitEdu/usr/datapicker/duet.system.js'/>"></script> --%>
<script>
sessionStorage.setItem("contextpath", "${pageContext.request.contextPath}");
@ -138,6 +138,7 @@
${resultListTit.menuNm }
</c:if>
</c:forEach>
<!-- 상표권 교육조건부 기소유예 -->
</strong>
<p>지식재산보호교육시스템</p>
</div>

File diff suppressed because it is too large Load Diff

View File

@ -394,16 +394,18 @@ async function makePDF() {
.estimate *{font-family: 'HYgsrB', sans-serif !important; color:#222 !important;}
.est_body{position:relative; padding:50px 0; text-align:left;}
.est_body h2{font-size:44px; -webkit-text-stroke-width:0.05px; -webkit-text-stroke-color:#222; text-align:center;}
.est_body .cont1>div p{width:100%;margin:0 0 0 30px;text-align:left;line-height: 1.5;}
.est_body .cont1>div p{width:100%;margin:0 0 8px 30px;text-align:left;line-height: 1.5;}
.est_body .cont5 div{display:block;}
.est_body .cont5 div span:first-child{font-size:18px; font-weight:700; line-height: 1.5; color:#222; margin:0 0 10px 30px; display:block;text-align:left;}
.estimate_popup .est_body .cont5.user_info{display:block;margin:50px 0 0 30px;}
.estimate_popup .est_body .cont5.user_info div{width:100%;justify-content:flex-start;font-size:18px;font-weight:700;}
.estimate_popup .est_body .cont5.user_info div{width:100%;justify-content:flex-start;font-size:18px;font-weight:700;line-height:1.5;margin:0 0 4px 0;}
.estimate_popup .est_body .cont5.user_info div span:nth-child(1){font-size:18px;font-weight:700;margin:0;}
.est_body .cont5.substance>div{margin:100px 0; text-align:center;}
.est_body .cont5.substance>div p{font-size:20px; font-weight:700; color:#222; margin:0 50px; line-height:1.5; text-align:justify; letter-spacing:1px;}
.est_body .cont5 .date{font-size:18px; font-weight:700; color:#222; display:block; text-align:center; margin-bottom:10px;}
.est_body .cont5 .date+div span{font-size:32px;text-align:center;}`;
.est_body .cont5 .date+div{text-align:center;margin:0 auto;}
.est_body .cont5 .date+div span{display:inline-block;font-size:32px;text-align:center;}
.est_body .cont5 .big_stamp{font-size:22px;margin:0 0 0 -6px;}`;
cloned.prepend(styleEl);
container.style.position = 'absolute';
@ -560,7 +562,7 @@ function loadImage(src) {
<span>한국지식재산보호원장</span>
<span class="big_stamp">
<!-- 직인 변경 예정 -->
<img src="/publish/images/content/big_stamp.png">
<img src="/ipedu/visitEdu/usr/publish/images/content/stamp.png">
</span>
</div>
<!-- <div style="height:1500px;background:skyblue;">여러장 test</div> -->

View File

@ -12,6 +12,7 @@
<title>교육신청 목록 > 기소유예 찾아가는 저작권 교육 > 한국지식재산보호원 저작권 교육 시스템</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<link rel="stylesheet" href="/ipedu/visitEdu/adm/publish/css/reset.css">
<style>
.duet-date__dialog-content,.duet-date__dialog{max-width:400px;width:364px;}
@ -269,8 +270,7 @@ $(document).ready(function(){
ο 개인정보의 수집 이용 목적 : 교육 대상자 및 이수자 관리
ο 수집하는 개인정보 항목 : 성명, 생년월일, 휴대전화, 이메일
ο 개인정보의 보유 및 이용기간 : 사업 종료시까지
ο 동의를 거부할 권리가 있다는 사실 및 동의 거부에 따른 불이익이 있는 경우에는 그 불이익의 내용 :
귀하의 개인정보 제공 및 동의를 거부할 권리가 있으며, 위 항목 동의 거부시 수강신청이 불가할 수 있음
ο 동의를 거부할 권리가 있다는 사실 및 동의 거부에 따른 불이익이 있는 경우에는 그 불이익의 내용 : 귀하의 개인정보 제공 및 동의를 거부할 권리가 있으며, 위 항목 동의 거부시 수강신청이 불가할 수 있음
</pre>
<div class="pop_btn_wrap btn_layout01">
<div class="btn_left">

View File

@ -11,6 +11,10 @@
<un:useConstants var="VeConstants" className="kcc.ve.cmm.VeConstants" />
<title>교육신청 목록 > 성인 찾아가는 저작권 교육 > 한국지식재산보호원 저작권 교육 시스템</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<spring:eval expression="@property['Globals.Innorix.License']" var="license"/>
<script src="<c:url value='/innorix/innorix_${license}.js' />"></script>
<script src="<c:url value='/js/kccadr/innorixCommon.js' />"></script>
<link rel="stylesheet" href="<c:url value='/innorix/innorix.css'/>" type="text/css">
<style>
input:disabled {
background-color: #f9f9f9 !important;
@ -18,6 +22,9 @@
input:read-only {
background-color: #f9f9f9 !important;
}
#fileControl{margin: 8px 0 0 0; border: 1px solid #d5d5d5; border-radius: 5px; height: 150px !important; background-color: #fafafa;}
.innorix_basic div.irx_filetree.empty-uploader{background: url(/ipedu/visitEdu/usr/publish/images/content/dropzone_file_before.png) no-repeat center; height: 150px !important;}
.irx_filetree,.innorix_basic div.irx_infoBox{height: 150px !important;}
</style>
<script type="text/javaScript" language="javascript">
@ -25,6 +32,31 @@
$(document).ready(function(){
//대용량 업로드 세팅
/*
* ==================================================================
* INNORIX
* 파일전송 컨트롤 생성
* ==================================================================
*/
control = innorix.create({
el: '#fileControl' // 컨트롤 출력 HTML 객체 ID
, transferMode: 'both' // 업로드, 다운로드 혼합사용
, installUrl: '<c:url value="/innorix/install/install.html" />' // Agent 설치 페이지
, uploadUrl: '<c:url value="/innorix/exam/upload.jsp" />' // 업로드 URL
, height:40
, width: 650
, maxFileCount : 1 // 첨부파일 최대 갯수
, allowExtension : ["txt","xls","xlsx","png","jpg","jpeg","doc","ppt","hwp","pdf","zip"]
// 가능한 확장자 txt|xls|xlsx|png|jpg|jpeg|doc|ppt|hwp|pdf|zip
});
// 업로드 완료 후 이벤트
control.on('uploadComplete', function (p) {
console.log('uploadComplete : ', p);
fn_callBackInnorix(p.files); // 파일 정보 DB isnert function
});
});
@ -92,14 +124,59 @@ $(document).ready(function(){
}
function fncGoDetail(prcsAplctPrdOrd, eduAplctOrd){
function fncGoDetail(prcsAplctPrdOrd){
var viewForm = document.viewForm ;
viewForm.prcsAplctPrdOrd.value = prcsAplctPrdOrd ;
viewForm.eduAplctOrd.value = eduAplctOrd ;
viewForm.action = "<c:url value='/web/ve/aplct/prevent/eduAplctDetail.do'/>";
viewForm.submit();
}
//서류 요청
function insetDocReq(){
//서류명 체크
if($("input[name=cnclCn]").val() == ''){
alert("취소사유를 입력해 주세요");
return false;
}
//첨부파일 체크 및 요청
if(confirm("제출 하시겠습니까?")){
if(control.getUploadFiles().length > 0){
var postObj = new Object();
postObj.innoDirPath = $('#innoDirPath').val();
control.setPostData(postObj); // 업로드시 함께 전달될 POST Param 추가
control.upload(); // 업로드 시작
}else{
alert("등록된 첨부파일이 없습니다.");
return false;
}
}
}
//서류 요청 양식 업로드 후 콜백
function fn_callBackInnorix(data){
var url = "<c:url value='/web/common/insertInnorixSspnCnClAjax.do' />";
//선택된 강사 ID
var sendData = {
"fileType": "sspnForm"
, "eduAplctOrd": $('#cnclForm #eduAplctOrd').val()
, "prcsAplctPrdOrd": $('#cnclForm #prcsAplctPrdOrd').val()
, "innorixFileListVO": data
, "cnclCn" : $('#cnclCn').val()
, "successMsg" : "등록이 완료되었습니다."
}
console.log('sendData : ', sendData);
/*
* 공통 : innorixCommon.js
* fn_innorixCmmAjax() 호출 후 status가 성공(OK)이면 실행
*/
if(fn_innorixCmmAjax(sendData, url) == "OK")
{
location.reload(true);
}
}
// 설문조사 버튼 클릭 이벤트
function selectQestnInfo(id, action){
@ -348,7 +425,6 @@ $(document).ready(function(){
</form>
<form name="viewForm" id="viewForm">
<input type="hidden" name="prcsAplctPrdOrd">
<input type="hidden" name="eduAplctOrd">
</form>
<form name="goEduAplctListForm" id="goEduAplctListForm">
</form>
@ -419,7 +495,7 @@ $(document).ready(function(){
<tbody>
<c:forEach var="list" items="${list}" varStatus="status">
<tr>
<td onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>', '<c:out value="${list.eduAplctOrd}"/>');" onkeypress="if(event.keyCode == 13){fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>', '<c:out value="${list.eduAplctOrd}"/>');}" style="cursor:pointer;" tabindex="0">
<td onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>');" onkeypress="if(event.keyCode == 13){fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>');}" style="cursor:pointer;" tabindex="0">
<c:choose>
<c:when test="${not empty list.title}">
<c:out value="${list.title}"/>
@ -483,13 +559,13 @@ $(document).ready(function(){
(취소-반려)
</c:if>
<c:if test="${list.aplctStateCd eq 10 }"> <!--교육 승인된 상태 (미이수)일 때만 취소버튼 노출 -->
<%-- <button type="button" title="신청취소" class="btnType02 btn small fill gray" data-tooltip="sub37_pop02" onclick="fn_cnclUpdate('${list.eduAplctOrd }','${list.prcsAplctPrdOrd }')">취소</button> --%>
<button type="button" title="신청취소" class="btnType02 btn small fill gray" data-tooltip="sub37_pop02" onclick="fn_cnclUpdate('${list.eduAplctOrd }','${list.prcsAplctPrdOrd }')">취소</button>
</c:if>
</c:when>
<c:otherwise>
<kc:code codeId="VE0003" code="${list.aprvlCd}"/>
<c:if test="${list.aprvlCd eq 10 }">
<%-- <button type="button" title="신청취소" class="btnType02 btn small fill gray" onclick="fn_veEduAplctCnclUpdate('${list.eduAplctOrd }')">취소</button> --%>
<button type="button" title="신청취소" class="btnType02 btn small fill gray" onclick="fn_veEduAplctCnclUpdate('${list.eduAplctOrd }')">취소</button>
</c:if>
</c:otherwise>
</c:choose>
@ -560,7 +636,7 @@ $(document).ready(function(){
</td>
<td>
<c:if test="${(list.aprvlCd eq '10' or list.aprvlCd eq '20') and list.ddlnCd ne '20'}">
<button type="button" class="btn small line red" onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>', '<c:out value="${list.eduAplctOrd}"/>');">교육취소</button>
<button type="button" class="btn small line red" onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>');">교육취소</button>
</c:if>
</td>
</tr>
@ -590,6 +666,76 @@ $(document).ready(function(){
</div>
<!-- 서류요청 팝업 -->
<div class="tooltip-wrap">
<div class="popup_wrap popType05" tabindex="0" data-tooltip-con="sub37_pop02" data-focus="sub37_pop02" data-focus-prev="sub37_pop02_close">
<div class="popup_tit">
<p>취소 사용 제출</p>
<button class="btn_popup_close tooltip-close" data-focus="sub37_pop02_close" title="팝업 닫기"><i></i></button>
</div>
<div class="popup_cont">
<div class="cont_body">
<div class="popup_table_top">
<button type="button" class="btnType06">취소양식 다운로드</button>
</div>
<div class="pop_tb_type01">
<table>
<caption>취소사유 작성표</caption>
<colgroup>
<col style="width: 22%;">
<col style="">
</colgroup>
<tr>
<th scope="col">취소사유</th>
<td><label for="cnclCn" class="label">취소사유 작성</label>
<textarea id="cnclCn" name="cnclCn" title="취소사유 작성하기"></textarea></td>
</tr>
</table>
</div>
<div class="popup_cont upload_area">
<div>
<div class="pop_search_wrap">
<label for="fileNm" class="label">첨부파일 선택</label>
<button type="button" onclick="control.openFileDialogSingle();" class="btnType01 btn_add_file">파일찾기</button>
</div>
<div id="fileControl"></div><br/>
<div class="pop_btn_wrap btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
</div>
<div class="btn_right">
</div>
</div>
</div>
</div>
<div class="pop_btn_wrap btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
<!-- <button type="button" class="btnType05">제출</button> -->
<button type="button" class="btnType05" id="popupSubmin" onclick="insetDocReq();">요청</button>
<button type="button" class="btnType02 tooltip-close" data-focus="sub37_pop02_close" data-focus-next="sub37_pop02">닫기</button>
</div>
<div class="btn_right">
</div>
</div>
</div>
</div>
</div>
</div>
<!--// 서류요청 팝업-->
<!-- 강의만족도 결과 등록 팝업 -->
<form id="srvyPopupForm" name="srvyPopupForm" method="post" >

View File

@ -357,9 +357,15 @@ $(document).ready(function(){
</td>
</tr>
<tr>
<th scope=“row”>생년월일 8자리 (ex.1988.01.01)</th>
<th scope=“row”>생년월일/성별</th>
<td>
<div class="calendar_wrap">
<div class="birth_wrap">
<input type="hidden" value="" id="dBirth"/>
<input type="text" class="birth_input" maxlength="6" placeholder="●●●●●●"/>
- <input type="text" class="jender_input" maxlength="1" placeholder="●"/>
<span>●●●●●●</span>
</div>
<%-- <div class="calendar_wrap">
<input type="hidden" value="" id="dBirth"/>
<select name="" id="year" class="selType1">
@ -544,7 +550,7 @@ $(document).ready(function(){
return v;
}
</script> -->
</div>
</div> --%>
<%-- <script src="${pageContext.request.contextPath}/visitEdu/usr/publish/script/duetdatepicker2.js"></script> --%>
</td>
</tr>
@ -561,13 +567,13 @@ $(document).ready(function(){
<button type="button" class="btnType06" onclick="fncChkNo();">인증하기</button>
</td>
</tr>
<tr>
<!-- <tr>
<th scope=“row”>성별</th>
<td>
<input type="radio" id="sexM" name="sex" value="M"> <label class="" for="sexM">남성</label>
<input type="radio" id="sexF" name="sex" value="F"> <label class="" for="sexF">여성</label>
</td>
</tr>
</tr> -->
</tbody>
</table>

View File

@ -11,6 +11,10 @@
<un:useConstants var="VeConstants" className="kcc.ve.cmm.VeConstants" />
<title>교육신청 목록 > 성인 찾아가는 저작권 교육 > 한국지식재산보호원 저작권 교육 시스템</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<spring:eval expression="@property['Globals.Innorix.License']" var="license"/>
<script src="<c:url value='/innorix/innorix_${license}.js' />"></script>
<script src="<c:url value='/js/kccadr/innorixCommon.js' />"></script>
<link rel="stylesheet" href="<c:url value='/innorix/innorix.css'/>" type="text/css">
<style>
input:disabled {
background-color: #f9f9f9 !important;
@ -19,6 +23,8 @@
background-color: #f9f9f9 !important;
}
#fileControl{margin: 8px 0 0 0; border: 1px solid #d5d5d5; border-radius: 5px; height: 150px !important; background-color: #fafafa;}
.innorix_basic div.irx_filetree.empty-uploader{background: url(/ipedu/visitEdu/usr/publish/images/content/dropzone_file_before.png) no-repeat center; height: 150px !important;}
.irx_filetree,.innorix_basic div.irx_infoBox{height: 150px !important;}
</style>
<script type="text/javaScript" language="javascript">
@ -26,6 +32,31 @@
$(document).ready(function(){
//대용량 업로드 세팅
/*
* ==================================================================
* INNORIX
* 파일전송 컨트롤 생성
* ==================================================================
*/
control = innorix.create({
el: '#fileControl' // 컨트롤 출력 HTML 객체 ID
, transferMode: 'both' // 업로드, 다운로드 혼합사용
, installUrl: '<c:url value="/innorix/install/install.html" />' // Agent 설치 페이지
, uploadUrl: '<c:url value="/innorix/exam/upload.jsp" />' // 업로드 URL
, height:40
, width: 650
, maxFileCount : 1 // 첨부파일 최대 갯수
, allowExtension : ["txt","xls","xlsx","png","jpg","jpeg","doc","ppt","hwp","pdf","zip"]
// 가능한 확장자 txt|xls|xlsx|png|jpg|jpeg|doc|ppt|hwp|pdf|zip
});
// 업로드 완료 후 이벤트
control.on('uploadComplete', function (p) {
console.log('uploadComplete : ', p);
fn_callBackInnorix(p.files); // 파일 정보 DB isnert function
});
});
@ -93,10 +124,9 @@ $(document).ready(function(){
}
function fncGoDetail(prcsAplctPrdOrd, eduAplctOrd){
function fncGoDetail(prcsAplctPrdOrd){
var viewForm = document.viewForm ;
viewForm.prcsAplctPrdOrd.value = prcsAplctPrdOrd ;
viewForm.eduAplctOrd.value = eduAplctOrd ;
viewForm.action = "<c:url value='/web/ve/aplct/sspnIdtmt/eduAplctDetail.do'/>";
viewForm.submit();
}
@ -124,6 +154,30 @@ $(document).ready(function(){
}
}
//서류 요청 양식 업로드 후 콜백
function fn_callBackInnorix(data){
var url = "<c:url value='/web/common/insertInnorixSspnCnClAjax.do' />";
//선택된 강사 ID
var sendData = {
"fileType": "sspnForm"
, "eduAplctOrd": $('#cnclForm #eduAplctOrd').val()
, "prcsAplctPrdOrd": $('#cnclForm #prcsAplctPrdOrd').val()
, "innorixFileListVO": data
, "cnclCn" : $('#cnclCn').val()
, "successMsg" : "등록이 완료되었습니다."
}
console.log('sendData : ', sendData);
/*
* 공통 : innorixCommon.js
* fn_innorixCmmAjax() 호출 후 status가 성공(OK)이면 실행
*/
if(fn_innorixCmmAjax(sendData, url) == "OK")
{
location.reload(true);
}
}
// 설문조사 버튼 클릭 이벤트
function selectQestnInfo(id, action){
@ -371,7 +425,6 @@ $(document).ready(function(){
</form>
<form name="viewForm" id="viewForm">
<input type="hidden" name="prcsAplctPrdOrd">
<input type="hidden" name="eduAplctOrd">
</form>
<form name="goEduAplctListForm" id="goEduAplctListForm">
</form>
@ -442,7 +495,7 @@ $(document).ready(function(){
<tbody>
<c:forEach var="list" items="${list}" varStatus="status">
<tr>
<td onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>', '<c:out value="${list.eduAplctOrd}"/>');" onkeypress="if(event.keyCode == 13){fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>', '<c:out value="${list.eduAplctOrd}"/>');}" style="cursor:pointer;" tabindex="0">
<td onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>');" onkeypress="if(event.keyCode == 13){fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>');}" style="cursor:pointer;" tabindex="0">
<c:choose>
<c:when test="${not empty list.title}">
<c:out value="${list.title}"/>
@ -506,13 +559,13 @@ $(document).ready(function(){
(취소-반려)
</c:if>
<c:if test="${list.aplctStateCd eq 10 }"> <!--교육 승인된 상태 (미이수)일 때만 취소버튼 노출 -->
<%-- <button type="button" title="신청취소" class="btnType02 btn small fill gray" data-tooltip="sub37_pop02" onclick="fn_cnclUpdate('${list.eduAplctOrd }','${list.prcsAplctPrdOrd }')">취소</button> --%>
<button type="button" title="신청취소" class="btnType02 btn small fill gray" data-tooltip="sub37_pop02" onclick="fn_cnclUpdate('${list.eduAplctOrd }','${list.prcsAplctPrdOrd }')">취소</button>
</c:if>
</c:when>
<c:otherwise>
<kc:code codeId="VE0003" code="${list.aprvlCd}"/>
<c:if test="${list.aprvlCd eq 10 }">
<%-- <button type="button" title="신청취소" class="btnType02 btn small fill gray" onclick="fn_veEduAplctCnclUpdate('${list.eduAplctOrd }')">취소</button> --%>
<button type="button" title="신청취소" class="btnType02 btn small fill gray" onclick="fn_veEduAplctCnclUpdate('${list.eduAplctOrd }')">취소</button>
</c:if>
</c:otherwise>
</c:choose>
@ -583,7 +636,7 @@ $(document).ready(function(){
</td>
<td>
<c:if test="${(list.aprvlCd eq '10' or list.aprvlCd eq '20') and list.ddlnCd ne '20'}">
<button type="button" class="btn small line red" onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>', '<c:out value="${list.eduAplctOrd}"/>');">교육취소</button>
<button type="button" class="btn small line red" onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>');">교육취소</button>
</c:if>
</td>
</tr>

View File

@ -22,6 +22,7 @@
.est_body .cont5.substance>div p{font-size:20px; font-weight:700; color:#222; margin:0 50px; line-height:1.5; text-align:justify; letter-spacing:1px; padding:0;}
.est_body .cont5 .date{font-size:18px; font-weight:700; color:#222; display:block; text-align:center; margin-bottom:10px;}
.est_body .cont5 .date+div span,.est_body .cont5 .date+div span:nth-child(1){font-size:32px;font-weight:700;text-align:center;}
.est_body .cont5 .big_stamp{font-size:22px;margin:0 0 0 -6px;}
.popup_cont .est_body::after {position: absolute;content: "";width: 100%;height: 100%;background: url(/ipedu/visitEdu/usr/publish/images/content/watermark.png) no-repeat center center;left: 0;top: 0;}

View File

@ -1,6 +1,7 @@
/* 공통 */
.dashboard .box_wrap{display: flex; flex-wrap: wrap; justify-content: space-between; padding: 40px; box-sizing: border-box;}
.dashboard .box{width: calc((100% - 60px)/3); height: 300px;border-radius: 5px; border:5px solid #EFF2F9; background-color: #fff; margin-bottom: 30px;}
.dashboard .box_title{width:100%;font-size:20px;font-weight:700;}
.dashboard .box_wrap{display: flex; flex-wrap: wrap; justify-content: flex-start; padding: 40px; box-sizing: border-box;gap:15px 30px;}
.dashboard .box{width: calc((100%/3) - 30px); height: 300px;border-radius: 5px; border:5px solid #EFF2F9; background-color: #fff; margin:0 0 20px 0;}
.dashboard .box_tit{display: flex; height: 60px; align-items: center; justify-content: space-between; padding: 0 25px; border-bottom: 1px solid #E6E8EB; box-sizing: border-box;}
.dashboard .box_tit p{font-size: 20px; font-weight: bold; letter-spacing: -0.5px; color: #333;}
.dashboard .box_tit .btn_plus{display:flex;font-size: 16px; font-weight: 300; color: #aaa; letter-spacing: -0.5px;align-items:center;gap:8px;}

View File

@ -1 +1 @@
System.register(["/ipedu/visitEdu/usr/datapicker/index-7f002a21.system.js"],(function(e,r){"use strict";var t,n,i,s,a,c;return{setters:[function(e){t=e.p;n=e.w;i=e.d;s=e.N;a=e.a;c=e.b}],execute:function(){var e=function(e){return"__sc_import_"+e.replace(/\s|-/g,"_")};var o=function(){{t.$cssShim$=n.__cssshim}var e=Array.from(i.querySelectorAll("script")).find((function(e){return new RegExp("/"+s+"(\\.esm)?\\.js($|\\?|#)").test(e.src)||e.getAttribute("data-stencil-namespace")===s}));var c=r.meta.url;var o={};if(c!==""){o.resourcesUrl=new URL(".",c).href}else{o.resourcesUrl=new URL(".",new URL(e.getAttribute("data-resources-url")||e.src,n.location.href)).href;{u(o.resourcesUrl,e)}if(!n.customElements){return r.import("./dom-9370655f.system.js").then((function(){return o}))}}return a(o)};var u=function(r,t){var a=e(s);try{n[a]=new Function("w","return import(w);//"+Math.random())}catch(e){var c=new Map;n[a]=function(e){var s=new URL(e,r).href;var o=c.get(s);if(!o){var u=i.createElement("script");u.type="module";u.crossOrigin=t.crossOrigin;u.src=URL.createObjectURL(new Blob(["import * as m from '"+s+"'; window."+a+".m = m;"],{type:"application/javascript"}));o=new Promise((function(e){u.onload=function(){e(n[a].m);u.remove()}}));c.set(s,o);i.head.appendChild(u)}return o}}};o().then((function(e){return c([["duet-date-picker.system",[[0,"duet-date-picker",{name:[1],identifier:[1],disabled:[516],role:[1],direction:[1],required:[4],value:[1537],min:[1],max:[1],firstDayOfWeek:[2,"first-day-of-week"],localization:[16],dateAdapter:[16],isDateDisabled:[16],activeFocus:[32],focusedDay:[32],open:[32],setFocus:[64],show:[64],hide:[64]},[[6,"click","handleDocumentClick"]]]]]],e)}))}}}));
System.register(["./index-7f002a21.system.js"],(function(e,r){"use strict";var t,n,i,s,a,c;return{setters:[function(e){t=e.p;n=e.w;i=e.d;s=e.N;a=e.a;c=e.b}],execute:function(){var e=function(e){return"__sc_import_"+e.replace(/\s|-/g,"_")};var o=function(){{t.$cssShim$=n.__cssshim}var e=Array.from(i.querySelectorAll("script")).find((function(e){return new RegExp("/"+s+"(\\.esm)?\\.js($|\\?|#)").test(e.src)||e.getAttribute("data-stencil-namespace")===s}));var c=r.meta.url;var o={};if(c!==""){o.resourcesUrl=new URL(".",c).href}else{o.resourcesUrl=new URL(".",new URL(e.getAttribute("data-resources-url")||e.src,n.location.href)).href;{u(o.resourcesUrl,e)}if(!n.customElements){return r.import("./dom-9370655f.system.js").then((function(){return o}))}}return a(o)};var u=function(r,t){var a=e(s);try{n[a]=new Function("w","return import(w);//"+Math.random())}catch(e){var c=new Map;n[a]=function(e){var s=new URL(e,r).href;var o=c.get(s);if(!o){var u=i.createElement("script");u.type="module";u.crossOrigin=t.crossOrigin;u.src=URL.createObjectURL(new Blob(["import * as m from '"+s+"'; window."+a+".m = m;"],{type:"application/javascript"}));o=new Promise((function(e){u.onload=function(){e(n[a].m);u.remove()}}));c.set(s,o);i.head.appendChild(u)}return o}}};o().then((function(e){return c([["duet-date-picker.system",[[0,"duet-date-picker",{name:[1],identifier:[1],disabled:[516],role:[1],direction:[1],required:[4],value:[1537],min:[1],max:[1],firstDayOfWeek:[2,"first-day-of-week"],localization:[16],dateAdapter:[16],isDateDisabled:[16],activeFocus:[32],focusedDay:[32],open:[32],setFocus:[64],show:[64],hide:[64]},[[6,"click","handleDocumentClick"]]]]]],e)}))}}}));

View File

@ -50,6 +50,9 @@
<ul class="dep01">
<li><a href="./list.html">리스트</a></li>
<li><a href="./list_view.html">리스트 상세</a></li>
<li><a href="./edu_status.html">교육현황</a></li>
<li><a href="./faq.html">자주받는 질문</a></li>
<li><a href="./inquiry_write.html">교육문의</a></li>
</ul>
<p class="menu_tit">남은내역</p>
<ul class="dep01">

View File

@ -33,6 +33,7 @@
--gray-bg-color:#f3f3f4;
--lightgray-bg-color:#f8f9fa;
}
html,body{min-width:320px;}
body {color: #222;}
@ -71,26 +72,28 @@ header nav.on{background:#fff;max-height:500px;}
header nav .inner{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;}
header nav .logo{display:flex;height:90px;align-items:center;}
header nav .logo img{margin:-20px 0 0 0;}
header nav .menu_area{display:flex;gap:100px;}
header nav .menu{display:flex;gap:60px;}
header nav .depth01{display:flex;height:90px;font-size:2.5rem;font-weight:600;color:#333;border-bottom:3px solid transparent;align-items:center;box-sizing:border-box;}
header nav .menu_area{display:flex;gap:28px;}
header nav .menu{display:flex;gap:16px;}
header nav .menu li{line-height:1.3;}
header nav .depth01{display:flex;height:90px;font-size:2.1rem;font-weight:600;color:#333;letter-spacing:-1px;padding:0 10px;border-bottom:3px solid transparent;align-items:center;box-sizing:border-box;text-align:center;justify-content:center;word-break:keep-all;}
header nav li:hover .depth01{border-bottom:3px solid var(--primary-color);color:var(--primary-color)}
.depth02_wrap{position:absolute;display:flex;width:100%;height:0;left:0;overflow:hidden;transition:height .5s;}
.on .depth02_wrap{height:220px;top:100%;margin:0 auto;}
.depth02_wrap::before{position:absolute;content:"";width:100vw;height:200px;background:#fff;border-top:1px solid #d8d8d8;border-bottom:1px solid #e8e8e8;box-shadow:0 5px 8px rgba(0,0,0,0.05);}
.depth02,.depth02_wrap .menu_title{position:relative;}
.depth02_wrap .menu_title{width:38vw;height:201px;background:#396ac4;box-sizing:border-box;}
.depth02_wrap .menu_title span{position:relative;display:block;font-size:2.7rem;font-weight:500;color:#fff;padding:0 0 0 17px;;margin:64px 0 0 18vw}
.depth02_wrap .menu_title span::before{position:absolute;content:"";width:5px;height:23px;background:#fff;left:0;}
.depth02_wrap .depth02{display:flex;padding:64px 0 0 70px;gap:30px;}
.depth02_wrap .depth02 a{position:relative;font-size:2.3rem;font-weight:400;color:#333;padding:0 0 0 20px;}
.depth02_wrap .menu_title{position:relative;width:38vw;height:201px;background:#396ac4;box-sizing:border-box;}
.depth02_wrap .menu_title span{position:relative;display:inline-block;width:calc(65% - 30px);font-size:2.7rem;font-weight:500;color:#fff;letter-spacing:-.5px;word-break:keep-all;padding:0 0 0 17px;margin:64px 0 0 0;left:65%;transform:translateX(-50%);}
.depth02_wrap .menu_title span::before{position:absolute;content:"";width:5px;height:23px;background:#fff;left:0;top:7px;}
.depth02_wrap .depth02{display:flex;padding:64px 70px 0 70px;gap:15px 30px;}
.depth02_wrap .depth02 a{position:relative;height:30px;font-size:2.3rem;font-weight:400;color:#333;padding:0 0 0 20px;}
.depth02_wrap .depth02 a::before{position:absolute;content:"";width:8px;height:8px;border-radius:100%;background:#dfdfdf;left:0;top:8px;}
nav .btn_wrap{align-items:center;}
nav .btn_sitemap,nav .btn_identify{width:40px;height:90px;padding:0 !important;}
nav .btn_sitemap,nav .btn_identify,nav .btn_logout{width:45px;height:90px;padding:0 !important;}
nav .btn_sitemap i{display:inline-block;width:100%;height:100%;background:url(/ipedu/visitEdu/usr/publish/images/common/icon_menu.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;}
nav .btn_logout i{display:inline-block;width:100%;height:100%;background:url(/ipedu/visitEdu/usr/publish/images/common/icon_logout_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;box-shadow:0 3px 10px rgba(0,0,0,0.1);}
@ -126,13 +129,24 @@ 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;}
@media (max-width: 1480px) {
header nav .menu_area{gap:60px;}
.depth02_wrap .menu_title{width:45vw;}
.depth02_wrap .menu_title span{width:auto;left:50%;}
.depth02_wrap .depth02{width:55vw;height:110px;flex-wrap:wrap;}
.depth02_wrap .depth02 li{max-width:calc((100%/2) - 30px);}
}
@media (max-width: 1280px) {
header nav .logo{height:60px;}
header nav .logo h1,header nav .logo h1 img{height:100%;margin:0;}
header nav .menu_area{gap:30px;}
header nav .menu{gap:20px;}
header nav .depth01{font-size:2.2rem;padding:0 15px;}
header nav .menu{gap:4px;}
header nav .menu>li{width:calc(100% / 5);}
header nav .depth01{font-size:2rem;padding:0 8px;justify-content:center;}
.depth02_wrap .menu_title span{font-size:2.3rem;}
.depth02_wrap .menu_title span::before{top:4px;}
.depth02_wrap .depth02 a{font-size:2rem;}
}
@media (max-width: 1023px){
@ -144,8 +158,6 @@ footer address span{font-size:2.3rem;font-weight:600;color:#c4c4c4;}
header nav{height:110px;max-height:110px;}
header nav .inner{height:110px;align-items:center;}
header nav .logo{height:60px;}
header nav .logo img{height:100%;margin:0;}
header nav .menu{display:none;}
header nav .depth01{display:none;}
header nav .btn_area{display:flex;gap:32px;}
@ -194,9 +206,10 @@ footer address span{font-size:2.3rem;font-weight:600;color:#c4c4c4;}
header nav .logo h1{height:80%;}
header nav .logo img{height:100%;}
header nav .btn_area{gap:0;}
nav .btn_sitemap, nav .btn_identify{width:60px;height:60px;}
header nav .btn_area{gap:0;align-items:center;}
nav .btn_sitemap, nav .btn_identify, nav .btn_logout{width:60px;height:60px;}
header nav .btn_sitemap i, header nav .btn_identify i{background-size:50%;}
header nav .btn_logout i{background-size:55%;}
footer .area_top{padding:50px 30px;}
footer .area_top ul:not(.sns){gap:30px;}
@ -225,4 +238,192 @@ footer address span{font-size:2.3rem;font-weight:600;color:#c4c4c4;}
footer .area_bottom .inner{gap:35px;}
footer .area_top ul:not(.sns) a,footer address p, footer address span{font-size:2rem;}
footer .area_top .sns{padding:30px 10px;gap:0;}
}
}
/* 간격 */
.p0 {padding: 0px!important;}
.p5 {padding: 5px!important;}
.pt5 {padding-top: 5px!important;}
.pt10 {padding-top: 10px!important;}
.pt15 {padding-top: 15px!important;}
.pt20 {padding-top: 20px!important;}
.pt25 {padding-top: 25px!important;}
.pt30 {padding-top: 30px!important;}
.pt35 {padding-top: 35px!important;}
.pt40 {padding-top: 40px!important;}
.pt45 {padding-top: 45px!important;}
.pt50 {padding-top: 50px!important;}
.pr0 {padding-right: 0px!important;}
.pr20 {padding-right: 20px!important;}
.pb5 {padding-bottom: 5px!important;}
.pb10 {padding-bottom: 10px!important;}
.pb15 {padding-bottom: 15px!important;}
.pb20 {padding-bottom: 20px!important;}
.pb25 {padding-bottom: 25px!important;}
.pb30 {padding-bottom: 30px!important;}
.pb35 {padding-bottom: 35px!important;}
.pb40 {padding-bottom: 40px!important;}
.pb45 {padding-bottom: 45px!important;}
.pb50 {padding-bottom: 50px!important;}
.pl0 {padding-left: 0px!important;}
.pl15 {padding-left: 15px!important;}
.pl20 {padding-left: 20px!important;}
.m20 {margin: 20px!important;}
.mt-1 {margin-top: -1px!important;}
.mt0 {margin-top: 0px!important;}
.mt5 {margin-top: 5px!important;}
.mt10 {margin-top: 10px!important;}
.mt15 {margin-top: 15px!important;}
.mt20 {margin-top: 20px!important;}
.mt25 {margin-top: 25px!important;}
.mt30 {margin-top: 30px!important;}
.mt35 {margin-top: 35px!important;}
.mt40 {margin-top: 40px!important;}
.mt45 {margin-top: 45px!important;}
.mt50 {margin-top: 50px!important;}
.mt60 {margin-top: 60px!important;}
.mt70 {margin-top: 70px!important;}
.mt80 {margin-top: 80px!important;}
.mt90 {margin-top: 90px!important;}
.mt100 {margin-top: 100px!important;}
.mr0 {margin-right: 0px!important;}
.mr3 {margin-right: 3px!important;}
.mr5 {margin-right: 5px!important;}
.mr10 {margin-right: 10px!important;}
.mr15 {margin-right: 15px!important;}
.mr20 {margin-right: 20px!important;}
.mr25 {margin-right: 25px!important;}
.mr30 {margin-right: 30px!important;}
.mr35 {margin-right: 35px!important;}
.mr40 {margin-right: 40px!important;}
.mr45 {margin-right: 45px!important;}
.mr50 {margin-right: 50px!important;}
.mr60 {margin-right: 60px!important;}
.mr70 {margin-right: 70px!important;}
.mr80 {margin-right: 80px!important;}
.mr90 {margin-right: 90px!important;}
.mr100 {margin-right: 100px!important;}
.mb-4 {margin-bottom: -4px!important;}
.mb0 {margin-bottom: 0px!important;}
.mb1 {margin-bottom: 1px!important;}
.mb5 {margin-bottom: 5px!important;}
.mb10 {margin-bottom: 10px!important;}
.mb15 {margin-bottom: 15px!important;}
.mb18 {margin-bottom: 18px!important;}
.mb20 {margin-bottom: 20px!important;}
.mb25 {margin-bottom: 25px!important;}
.mb30 {margin-bottom: 30px!important;}
.mb35 {margin-bottom: 35px!important;}
.mb40 {margin-bottom: 40px!important;}
.mb45 {margin-bottom: 45px!important;}
.mb50 {margin-bottom: 50px!important;}
.mb60 {margin-bottom: 60px!important;}
.mb70 {margin-bottom: 70px!important;}
.mb80 {margin-bottom: 80px!important;}
.mb90 {margin-bottom: 90px!important;}
.mb100 {margin-bottom: 100px!important;}
.ml0 {margin-left: 0px!important;}
.ml5 {margin-left: 5px!important;}
.ml10 {margin-left: 10px!important;}
.ml15 {margin-left: 15px!important;}
.ml20 {margin-left: 20px!important;}
.ml25 {margin-left: 25px!important;}
.ml30 {margin-left: 30px!important;}
.ml35 {margin-left: 35px!important;}
.ml40 {margin-left: 40px!important;}
.ml45 {margin-left: 45px!important;}
.ml50 {margin-left: 50px!important;}
.ml60 {margin-left: 60px!important;}
.ml70 {margin-left: 70px!important;}
.ml80 {margin-left: 80px!important;}
.ml90 {margin-left: 90px!important;}
.ml100 {margin-left: 100px!important;}
/* 너비, 높이 */
.w100per {width: 100% !important;}
.w99per {width: 99%;}
.w95per {width: 95%;}
.w90per {width: 90%;}
.w85per {width: 85%;}
.w80per {width: 80%;}
.w75per {width: 75%;}
.w70per {width: 70%;}
.w65per {width: 65%;}
.w60per {width: 60%;}
.w50per {width: 50%;}
.w55per {width: 55%;}
.w45per {width: 45%;}
.w40per {width: 40%;}
.w35per {width: 35%;}
.w33per {width: 33.3333333%;}
.w30per {width: 30%;}
.w25per {width: 25%;}
.w20per {width: 20%;}
.w19per {width: 19%;}
.w18per {width: 18%;}
.w17per {width: 17%;}
.w16per {width: 16%;}
.w15per {width: 15%;}
.w14per {width: 14%;}
.w13per {width: 13%;}
.w12per {width: 12%;}
.w11per {width: 11%;}
.w10per {width: 10%;}
.w9per {width: 9%;}
.w8per {width: 8%;}
.w7per {width: 7%;}
.w6per {width: 6%;}
.w5per {width: 5%;}
.w4per {width: 4%;}
.w3per {width: 3%;}
.w2per {width: 2%;}
.w1per {width: 1%;}
.w5 {width: 5px;}
.w10 {width: 10px;}
.w15 {width: 15px;}
.w20 {width: 20px;}
.w25 {width: 25px;}
.w30 {width: 30px;}
.w35 {width: 35px;}
.w40 {width: 40px;}
.w45 {width: 45px;}
.w50 {width: 50px;}
.w55 {width: 55px;}
.w60 {width: 60px;}
.w70 {width: 70px;}
.w80 {width: 80px;}
.w90 {width: 90px;}
.w100 {width: 100px;}
.w110 {width: 110px;}
.w120 {width: 120px;}
.w130 {width: 130px;}
.w140 {width: 140px;}
.w150 {width: 150px;}
.w160 {width: 160px;}
.w170 {width: 170px;}
.w180 {width: 180px;}
.w190 {width: 190px;}
.w200 {width: 200px;}
.w250 {width: 250px;}
.w300 {width: 300px;}
.w325 {width: 325px;}
.w350 {width: 350px;}
.w400 {width: 400px;}
.w500 {width: 500px;}
.mw100 {min-width: 100px;}
.h100 {height: 100px;}
.h100per {height: 100%;}

View File

@ -4,16 +4,16 @@
/* sub layout */
.container {width: 100%; min-height: 650px; position: relative; display: inline-block; box-sizing: border-box; margin: 145px 0 0 0; }
.container .inner{max-width: 1440px; width: 100%; padding: 0 20px; margin: 60px auto 76px auto; box-sizing: border-box; justify-content: space-between;}
.container .inner{max-width: 1440px; width: 100%; padding: 0 20px; margin: 30px auto 76px auto; box-sizing: border-box; justify-content: space-between;}
.sub_visual{position:relative;width:100%;height:140px;background:url(/ipedu/visitEdu/usr/publish/images/main/sec01_bg.jpg) no-repeat center center;background-size:cover;text-align:center;}
.sub_visual .visual_text{position:absolute;width:100%;color:#374c78;top:54%;left:50%;transform:translate(-50%,-50%);}
.sub_visual strong{font-size:2.9rem;font-family:'Gmarket Sans TTF';font-weight:bold;padding:0 20px;}
.sub_visual strong{font-size:2.9rem;font-family:'Gmarket Sans TTF';font-weight:bold;line-height:1.1;padding:0 20px;}
.sub_visual p{font-size:1.9rem;font-weight:400;padding:4px 0 0 0;}
.lnb{display:inline-block;width:100%;max-width:280px;margin:0 47px 0 0;vertical-align:top;}
.lnb_title{height:120px;padding:40px 0 0 0;background:#1e4aa4 url(/ipedu/visitEdu/usr/publish/images/common/lnb_title_obj.png) no-repeat -10px 25px;font-size:2.5rem;color:#fff;text-align:center;border-radius:20px 20px 0 0;box-sizing:border-box;}
.lnb_nav{margin:-25px 0 0 0;padding:0 25px;border:1px solid #e5e5e5;border-radius:20px;background:#fff;}
.lnb{display:inline-block;width:100%;max-width:280px;margin:0 47px 0 0;vertical-align:top;background:#1e4aa4 url(/ipedu/visitEdu/usr/publish/images/common/lnb_title_obj.png) no-repeat -10px 25px;border-radius:20px 20px 25px 25px;}
.lnb_title{display:flex;height:95px;padding:0 20px;font-size:2.2rem;color:#fff;line-height:1.2;word-break:auto-phrase;text-align:center;box-sizing:border-box;align-items:center;justify-content:center;}
.lnb_nav{padding:0 25px;border:1px solid #e5e5e5;border-radius:20px;background:#fff;}
.lnb_nav ul>li{border-bottom:1px solid #e5e5e5;}
.lnb_nav ul>li:last-child{border:0;}
.lnb_nav .depth01{display:flex;height:70px;font-size:1.7rem;font-weight:500;color:#555;align-items:center;justify-content:space-between;}
@ -23,10 +23,10 @@
.lnb_nav .depth01:hover i,.lnb_nav .on .depth01 i{background:url(/ipedu/visitEdu/usr/publish/images/common/lnb_icon.png) no-repeat left bottom;}
.container .inner>.cont_wrap {display:inline-block;width:calc(100% - 336px);max-width:100%;}
.container .cont_tit{display:flex;padding:0 0 20px 0;margin:0 0 50px 0;justify-content:space-between;align-items:flex-end;border-bottom:2px solid #d7d7d7;}
.container .cont_tit{display:flex;padding:48px 0 20px 0;margin:0 0 50px 0;justify-content:space-between;align-items:flex-end;border-bottom:2px solid #d7d7d7;}
.container .cont_tit h2{font-size:2.9rem;font-weight:500;}
.container .cont_tit .path ul{display:flex;align-items:center;gap:8px;}
.container .cont_tit .path li{position:relative;padding:0 8px;font-size:1.5rem;font-weight:400;color:#898989;}
.container .cont_tit .path li{position:relative;padding:0 8px;font-size:1.5rem;font-weight:400;color:#898989;line-height:1.2;}
.container .cont_tit .path li:not(.home)::before{position:absolute;content:"";width:6px;height:12px;background:url(/ipedu/visitEdu/usr/publish/images/content/icon_path_obj.png) no-repeat center center;left:-6px;top:3px;}
.container .cont_tit .path .home i{display:inline-block;width:19px;height:17px;background:url(/ipedu/visitEdu/usr/publish/images/content/icon_home.png) no-repeat center center;}
@ -131,6 +131,12 @@ select.selType1 {height: 40px; border: 1px solid #d5d5d5; border-radius: 5px; pa
select.selType1.read-only{background: url(/ipedu/visitEdu/usr/publish/images/content/icon_select_gray.png) no-repeat calc(100% - 15px) center; color:#888; pointer-events:none;}
.tb_type02.tb_type02_write input[type="text"].input_time {width: 50px;}
.birth_wrap{display:flex;font-size:1.5rem;font-size:700;align-items:center;gap:8px;}
.birth_wrap .birth_input{width:21%;min-width:90px;}
.birth_wrap .jender_input{width:7%;min-width:32px;}
.birth_wrap .birth_input::placeholder,.birth_wrap .jender_input::placeholder{font-size:1rem;color:#b6b6b6;letter-spacing:2px;}
.birth_wrap span{font-size:1.1rem;font-weight:700;margin:0;letter-spacing:3px;color:#666;}
.select_wrap{display:flex;gap:16px;}
.select_wrap li{display:flex;align-items:center;gap:8px;}
.select_wrap label{font-size:1.8rem;color:#666;}
@ -974,10 +980,11 @@ duet-date-picker *:focus{outline: auto !important;}
.container .cont_tit{flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:40px;border:0;}
.container .cont_tit h2{order:2;font-size:6.8rem;}
.container .cont_tit .path li{font-size:4.8rem;}
.container .cont_tit .path ul{gap:20px;}
.container .cont_tit .path li{font-size:4.8rem;letter-spacing:-1.5px;}
.container .cont_tit .path li:not(.home){padding:0 20px;}
.container .cont_tit .path .home i{width:48px;height:44px;background:url(/ipedu/visitEdu/usr/publish/images/content/icon_home_mobile.png) no-repeat center center;}
.container .cont_tit .path li:not(.home)::before{width:20px;height:32px;background:url(/ipedu/visitEdu/usr/publish/images/content/icon_path_obj_mobile.png) no-repeat center center;top:10.5px}
.container .cont_tit .path li:not(.home)::before{width:20px;height:32px;background:url(/ipedu/visitEdu/usr/publish/images/content/icon_path_obj_mobile.png) no-repeat center center;top:50%;transform:translateY(-50%);}
/* icon */
.icon.file{width:34px;height:32px;background:url(/ipedu/visitEdu/usr/publish/images/content/icon_file_mobile.png) no-repeat center center;}
@ -1222,9 +1229,10 @@ duet-date-picker *:focus{outline: auto !important;}
.container .cont_tit{gap:20px;}
.container .cont_tit h2{font-size:3.4rem;}
.container .cont_tit .path ul{gap:10px;}
.container .cont_tit .path li{font-size:2.4rem;}
.container .cont_tit .path li:not(.home){padding:0 10px;}
.container .cont_tit .path li:not(.home)::before{top:4px;}
.container .cont_tit .path li:not(.home)::before{top:7px;left:-10px;transform:none;}
.container .cont_tit .path .home i{width:24px;height:22px;background-size:100% auto;}
.container .cont_tit .path li:not(.home)::before{width:10px;height:16px;background-size:100% auto;}
@ -1248,7 +1256,7 @@ duet-date-picker *:focus{outline: auto !important;}
.btn.small{height:35px;font-size:1.5rem;}
.btn.regular{height:40px;}
.btn.large{height:45px;padding:0 30px;}
.btn.large{height:45px;font-size:1.8rem;padding:0 30px;}
.list_top .search_area{flex-wrap:wrap;}
.list_top .search_area>*:not(button){width:100%;}
@ -1360,7 +1368,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: 20px;}
.cont_wrap .cont_tit {padding:24px 0 10px 0; 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;}
@ -1392,7 +1400,7 @@ duet-date-picker *:focus{outline: auto !important;}
.list_top .calendar_wrap {width: calc(100%/2 - 13px);}
.list_top .btn_wrap input[type="text"].calendar {width: 100%; height: 36px;margin:0;box-sizing:border-box;}
.list_top button {width: 100%; height: 36px; margin-top: 10px;}
.list_top .btn_wrap button {height: 36px;margin-left:0;}
.list_top .btn_wrap button {height:36px;margin-left:0;font-size:1.7rem;}
.list_top.type2 .list_top_left {text-align: center; margin-bottom: 20px;}
.list_top.type2 .search_wrap {margin-top: 0;}
/* list_top 내용 많을 때 틀어지는 것 수정 */

View File

@ -0,0 +1,42 @@
.header_wrap{position:fixed;display:flex;width:100%;height:100px;font-size:1.6rem;font-weight:500;color:#6e6e6e;padding:0 60px;border-bottom:1px solid #e5e5e5;justify-content:space-between;align-items:center;box-sizing:border-box;left:0;top:0;background:#fff;z-index:9;}
.header_wrap .logo{height:60px;}
.header_wrap .logo img{width:auto;height:60px;}
.tabs{position:fixed;display:flex;width:300px;height:calc(100vh - 100px);color:#fff;padding:40px 20px;background:#2557B4;box-sizing:border-box;left:0;top:100px;flex-direction:column;gap:10px;}
.tab:not(.guide_list){width:100%;height:50px;font-size:2rem;color:#fff;text-align:left;padding:0 20px;border-radius:12px;box-sizing:border-box;transition:all 0.3s;}
.tab:not(.guide_list):hover,.tab.on:not(.guide_list){background:#1e4690;}
article{width:calc(100% - 300px);margin:100px 0 0 300px;padding:80px;box-sizing:border-box;}
h2{font-size:3.6rem;font-weight:bold;color:#222;}
b.title{position:Relative;display:block;font-size:2.0rem;font-weight:bold;color:#333;padding:0 0 0 15px;margin:60px 0 40px 0;}
b.title::before{position:absolute;content:"";width:5px;height:20px;background:#1e4690;left:0;top:1px;}
.cont{display:none;}
.cont.on{display:block;}
.list_wrap{display:flex;flex-wrap:wrap;}
.guide_list{display:flex;gap:40px;}
.guide_list.button{width:calc(100%/3);margin:0 0 20px 0;align-items:center;}
.guide_list.tab{gap:0;}
.guide_list.input{align-items:flex-start;flex-direction:column;gap:20px;}
.color_box{width:100px;height:100px;border-radius:12px;}
.color_code{font-size:1.8rem;color:#6e6e6e;margin:15px 0 0 0;text-align:center;}
.blue:not(.btn){background:var(--primary-color);}
.darkblue:not(.btn){background:var(--primary-color-dark);}
.mint:not(.btn){background:var(--secondary-color);}
.title1{background:#333;}
.body1{background:#555;}
.body2{background:#7c7c7c;}
.text_blue_color{background:#2e4677;}
.text_red_color{background:#dc1818;}
.c_858686{background:#858686;}
.c_e5e5e5{background:#e5e5e5;}
.c_eeeeee{background:#eeeeee;}
.c_f3f3f4{background:#f3f3f4;}
.c_f8f9fa{background:#f8f9fa;}
.guide_list.input .list_top{margin:0;}

View File

@ -32,7 +32,7 @@ form, fieldset {border: none; margin: 0; padding: 0; line-height: 1; }
.inner>form{display:inline-block;}
input[type="submit"] {-webkit-appearance: none; -moz-appearance: none; appearance: none;}
header, footer, article, section, aside, nav, main {display: block;}
textarea{color: #666;font-size: 20px;font-weight: 300; font-family: 'Noto Sans KR', sans-serif;; resize: none;}
textarea{color: #555555;font-size: 1.7rem;font-weight: 300; font-family: 'Noto Sans KR', sans-serif; resize: none;}
input[type="text"]:disabled,input[type="password"]:disabled{background-color: #f5f5f5;}

View File

@ -0,0 +1,134 @@
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>교육문의 > 고객지원 > 한국지식재산보호원 지식재산보호교육시스템</title>
<!-- css -->
<link rel="stylesheet" href="/ipedu/visitEdu/usr/publish/css/reset.css">
<link rel="stylesheet" href="/ipedu/visitEdu/usr/publish/css/common.css">
<link rel="stylesheet" href="/ipedu/visitEdu/usr/publish/css/content.css">
<!-- script -->
<script src="/ipedu/visitEdu/usr/publish/script/jquery-3.5.0.js"></script>
<script src="/ipedu/visitEdu/usr/publish/script/common.js"></script>
<script src="/ipedu/visitEdu/usr/publish/script/content.js"></script>
<!-- 달력 -->
<link rel="stylesheet" href="/ipedu/visitEdu/usr/publish/datepicker/classic.css">
<link rel="stylesheet" href="/ipedu/visitEdu/usr/publish/datepicker/classic.date.css">
<script src="/ipedu/visitEdu/usr/datapicker/duet.esm.js"></script>
<script src="/ipedu/visitEdu/usr/datapicker/duet.js"></script>
<script src="/ipedu/visitEdu/usr/datapicker/duet.system.js"></script>
</head>
<body>
<div data-include-path="/ipedu/visitEdu/usr/publish/layout/_header.html"></div>
<!-- content -->
<div class="container">
<div class="sub_visual">
<div class="visual_text">
<strong>상표권 교육조건부 기소유예</strong>
<p>지식재산보호교육시스템</p>
</div>
</div>
<div class="inner">
<div class="lnb">
<p class="lnb_title">기소유예교육</p>
<nav class="lnb_nav">
<ul>
<li>
<a href="#" class="depth01">교육안내<i></i></a>
</li>
<li>
<a href="#" class="depth01">교육신청<i></i></a>
</li>
</ul>
</nav>
</div>
<div class="cont_wrap">
<div class="cont_tit">
<h2>교육문의</h2>
<div class="path">
<ul>
<li class="home"><a href="#" title="메인으로 가기"><i></i></a></li>
<li><a href="#">기소유예교육</a></li>
<li>교육문의</li>
</ul>
</div>
</div>
<div class="info_box">
<i class="icon inquiry"></i>
<ul class="info">
<li>궁금한 점이 있으시면 문의 남겨주시기 바랍니다.</li>
<li>답변은 <span>‘메일’</span>이나 <span>‘마이페이지 > 나의 교육문의’</span>에서 확인하실 수 있습니다.</li>
</ul>
</div>
<div class="list_view">
<table>
<colgroup>
<col style="width:162px;">
<col style="width:auto;">
</colgroup>
<tbody>
<tr>
<th scope="row">제목</th>
<td><input type="text" class="w100per" placeholder="제목을 입력해주세요."></td>
</tr>
<tr>
<th scope="row">이메일</th>
<td>
<div class="email_wrap">
<input type="text" class="email">@<input type="text" class="email">
<select name="" id="" class="selType1">
<option value="">직접입력</option>
<option value="">naver.com</option>
</select>
</div>
</td>
</tr>
<tr>
<th scope="row">문의내용</th>
<td>
<textarea name="" id="" class="textarea w100per">
올해 남은 교육은 몇개인가요?
2026년 첫번째 교육은 언제인가요?
</textarea>
</td>
</tr>
</tbody>
</table>
</div>
<div class="btn_wrap">
<div class="left">
<button type="button" class="btn fill gray large">취소</button>
</div>
<div class="center"></div>
<div class="right">
<button type="button" class="btn fill blue large">등록</button>
</div>
</div>
</div>
</div>
</div>
<!--// content -->
<div data-include-path="/ipedu/visitEdu/usr/publish/layout/_footer.html"></div>
</body>

View File

@ -0,0 +1,189 @@
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>교육현황 > 마이페이지 > 한국지식재산보호원 지식재산보호교육시스템</title>
<!-- css -->
<link rel="stylesheet" href="/ipedu/visitEdu/usr/publish/css/reset.css">
<link rel="stylesheet" href="/ipedu/visitEdu/usr/publish/css/common.css">
<link rel="stylesheet" href="/ipedu/visitEdu/usr/publish/css/content.css">
<!-- script -->
<script src="/ipedu/visitEdu/usr/publish/script/jquery-3.5.0.js"></script>
<script src="/ipedu/visitEdu/usr/publish/script/common.js"></script>
<script src="/ipedu/visitEdu/usr/publish/script/content.js"></script>
<!-- 달력 -->
<link rel="stylesheet" href="/ipedu/visitEdu/usr/publish/datepicker/classic.css">
<link rel="stylesheet" href="/ipedu/visitEdu/usr/publish/datepicker/classic.date.css">
<script src="/ipedu/visitEdu/usr/datapicker/duet.js"></script>
<script src="/ipedu/visitEdu/usr/datapicker/duet.system.js"></script>
<script src="/ipedu/visitEdu/usr/datapicker/duet.esm.js"></script>
</head>
<body>
<div data-include-path="/ipedu/visitEdu/usr/publish/layout/_header.html"></div>
<!-- content -->
<div class="container">
<div class="sub_visual">
<div class="visual_text">
<strong>마이페이지</strong>
<p>지식재산보호교육시스템</p>
</div>
</div>
<div class="inner">
<div class="lnb">
<p class="lnb_title">마이페이지</p>
<nav class="lnb_nav">
<ul>
<li>
<a href="#" class="depth01">교육현황<i></i></a>
</li>
<li>
<a href="#" class="depth01">나의 교육문의의<i></i></a>
</li>
</ul>
</nav>
</div>
<div class="cont_wrap">
<div class="cont_tit">
<h2>교육현황</h2>
</div>
<ul class="tab fill tab_03">
<li class="tab_li on">
<button type="button" class="tab_button">상표권 조건부 기소유예</button>
</li>
<li class="tab_li">
<button type="button" class="tab_button">부정경쟁행위 시정명령</button>
</li>
<li class="tab_li">
<button type="button" class="tab_button">상표권 침해·부정경쟁행위 예방</button>
</li>
</ul>
<div class="tab_content on">
<ul class="edu_progress">
<li>
<a href="#">
<i class="icon progress01"></i>
<p class="text">
<strong>신청중 교육</strong>
<span class="number"><b>12</b></span>
</p>
</a>
</li>
<li>
<a href="#">
<i class="icon progress02"></i>
<p class="text">
<strong>진행중 교육</strong>
<span class="number"><b>0</b></span>
</p>
</a>
</li>
<li>
<a href="#">
<i class="icon progress03"></i>
<p class="text">
<strong>완료된 교육</strong>
<span class="number"><b>0</b></span>
</p>
</a>
</li>
</ul>
<div class="table_title">
<h3>최근 교육 목록</h3>
<a href="./edu_status_list.html" class="btn text btn_more">더보기 <i class="icon arrow"></i></a>
</div>
<div class="list edu_status_list">
<table>
<colgroup>
<col style="width:auto;">
<col style="width:10%;">
<col style="width:16%;">
<col style="width:15%;">
<col style="width:15%;">
</colgroup>
<thead>
<tr>
<th scope="col">교육과정</th>
<th scope="col">교육일자</th>
<th scope="col">신청결과</th>
<th scope="col">만족도조사</th>
<th scope="col">수료증</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="#">[2025-57] 상표권 교육조건부 기소유예교육</a></td>
<td><p><span class="mobile">교육일자</span> 2025.08.21</p></td>
<td><p><span class="mobile">신청결과</span>신청완료</p></td>
<td><button type="button" class="btn fill small lightblue">강의만족도</button></td>
<td><button type="button" class="btn fill small lightblue">수료증 출력</button></td>
</tr>
<tr>
<td><a href="#">[2025-57] 상표권 교육조건부 기소유예교육</a></td>
<td><p><span class="mobile">교육일자</span>2025.08.21</p></td>
<td><p><span class="mobile">신청결과</span> 신청완료</p><button type="button" class="btn fill small lightgray">취소</button></td>
<td><button type="button" class="btn line small blue">만족도 보기</button></td>
<td><button type="button" class="btn fill small lightblue">수료증 출력</button></td>
</tr>
<tr>
<td><a href="#">[2025-57] 상표권 교육조건부 기소유예교육</a></td>
<td><p><span class="mobile">교육일자</span>2025.08.21</p></td>
<td><p><span class="mobile">신청결과</span> 신청완료</p><button type="button" class="btn fill small lightgray">취소</button></td>
<td><p><span class="mobile">만족도조사</span>-</p></td>
<td><p><span class="mobile">수료증</span>-</p></td>
</tr>
<tr>
<td><a href="#">[2025-57] 상표권 교육조건부 기소유예교육</a></td>
<td><p><span class="mobile">교육일자</span>2025.08.21</p></td>
<td><p><span class="mobile">신청결과</span> 신청완료</p><button type="button" class="btn fill small lightgray">취소</button></td>
<td><p><span class="mobile">만족도조사</span>-</p></td>
<td><p><span class="mobile">수료증</span>-</p></td>
</tr>
<tr>
<td><a href="#">[2025-57] 상표권 교육조건부 기소유예교육</a></td>
<td><p><span class="mobile">교육일자</span>2025.08.21</p></td>
<td><p><span class="mobile">신청결과</span> 신청완료</p><button type="button" class="btn fill small lightgray">취소</button></td>
<td><p><span class="mobile">만족도조사</span>-</p></td>
<td><p><span class="mobile">수료증</span>-</p></td>
</tr>
<tr>
<td><a href="#">[2025-57] 상표권 교육조건부 기소유예교육</a></td>
<td><p><span class="mobile">교육일자</span>2025.08.21</p></td>
<td><p><span class="mobile">신청결과</span> 신청완료</p><button type="button" class="btn fill small lightgray">취소</button></td>
<td><p><span class="mobile">만족도조사</span>-</p></td>
<td><p><span class="mobile">수료증</span>-</p></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
<!--// content -->
<div data-include-path="/ipedu/visitEdu/usr/publish/layout/_footer.html"></div>
</body>

View File

@ -0,0 +1,171 @@
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>교육현황 > 마이페이지 > 한국지식재산보호원 지식재산보호교육시스템</title>
<!-- css -->
<link rel="stylesheet" href="/ipedu/visitEdu/usr/publish/css/reset.css">
<link rel="stylesheet" href="/ipedu/visitEdu/usr/publish/css/common.css">
<link rel="stylesheet" href="/ipedu/visitEdu/usr/publish/css/content.css">
<!-- script -->
<script src="/ipedu/visitEdu/usr/publish/script/jquery-3.5.0.js"></script>
<script src="/ipedu/visitEdu/usr/publish/script/common.js"></script>
<script src="/ipedu/visitEdu/usr/publish/script/content.js"></script>
<!-- 달력 -->
<link rel="stylesheet" href="/ipedu/visitEdu/usr/publish/datepicker/classic.css">
<link rel="stylesheet" href="/ipedu/visitEdu/usr/publish/datepicker/classic.date.css">
<script src="/ipedu/visitEdu/usr/datapicker/duet.js"></script>
<script src="/ipedu/visitEdu/usr/datapicker/duet.system.js"></script>
<script src="/ipedu/visitEdu/usr/datapicker/duet.esm.js"></script>
</head>
<body>
<div data-include-path="/ipedu/visitEdu/usr/publish/layout/_header.html"></div>
<!-- content -->
<div class="container">
<div class="sub_visual">
<div class="visual_text">
<strong>마이페이지</strong>
<p>지식재산보호교육시스템</p>
</div>
</div>
<div class="inner">
<div class="lnb">
<p class="lnb_title">마이페이지</p>
<nav class="lnb_nav">
<ul>
<li>
<a href="#" class="depth01">교육현황<i></i></a>
</li>
<li>
<a href="#" class="depth01">나의 교육문의의<i></i></a>
</li>
</ul>
</nav>
</div>
<div class="cont_wrap">
<div class="cont_tit">
<h2>교육현황</h2>
</div>
<ul class="tab fill tab_03">
<li class="tab_li on">
<button type="button" class="tab_button">상표권 조건부 기소유예</button>
</li>
<li class="tab_li">
<button type="button" class="tab_button">부정경쟁행위 시정명령</button>
</li>
<li class="tab_li">
<button type="button" class="tab_button">상표권 침해·부정경쟁행위 예방</button>
</li>
</ul>
<div class="tab_content on">
<div class="table_title">
<h3>최근 교육 목록</h3>
</div>
<div class="list_top right">
<div class="search_area">
<select class="selType1" title="신청상태 선택">
<option for="">전체</option>
<option for="">작성중</option>
<option for="">교육신청</option>
<option for="">교육확정</option>
<option for="">교육반려</option>
<option for="">신청취소</option>
</select>
<div class="calendar_wrap">
<duet-date-picker identifier="startDate" class="startDate"></duet-date-picker>
<!-- <input type="text" class="calendar startDate" title="시작일 선택" placeholder="시작일 선택"> -->
~
<duet-date-picker identifier="endDate" class="endDate"></duet-date-picker>
<!-- <input type="text" class="calendar endDate" title="종료일 선택" placeholder="종료일 선택"> -->
<script src="/ipedu/visitEdu/usr/publish/script/duetdatepicker.js"></script>
</div>
<button type="button" class="btnType01 btn_search" onclick="fncGoList();"><i></i></button>
</div>
</div>
<div class="list edu_status_list">
<table>
<colgroup>
<col style="width:auto;">
<col style="width:10%;">
<col style="width:16%;">
<col style="width:15%;">
<col style="width:15%;">
</colgroup>
<thead>
<tr>
<th scope="col">교육과정</th>
<th scope="col">교육일자</th>
<th scope="col">신청결과</th>
<th scope="col">만족도조사</th>
<th scope="col">수료증</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="#">[2025-57] 상표권 교육조건부 기소유예교육</a></td>
<td><p><span class="mobile">교육일자</span> 2025.08.21</p></td>
<td><p><span class="mobile">신청결과</span>신청완료</p></td>
<td><button type="button" class="btn fill small lightblue">강의만족도</button></td>
<td><button type="button" class="btn fill small lightblue">수료증 출력</button></td>
</tr>
<tr>
<td><a href="#">[2025-57] 상표권 교육조건부 기소유예교육</a></td>
<td><p><span class="mobile">교육일자</span>2025.08.21</p></td>
<td><p><span class="mobile">신청결과</span> 신청완료</p><button type="button" class="btn fill small lightgray">취소</button></td>
<td><button type="button" class="btn line small blue">만족도 보기</button></td>
<td><button type="button" class="btn fill small lightblue">수료증 출력</button></td>
</tr>
</tbody>
</table>
</div>
<div class="pagination">
<button type="button" class="btn_page_first" title="첫 페이지 이동"><i></i></button>
<button type="button" class="btn_page_prev" title="이전 페이지 이동"><i></i></button>
<button type="button" class="page_num on" title="1 페이지 이동">1</button>
<button type="button" class="page_num" title="2 페이지 이동">2</button>
<button type="button" class="page_num" title="3 페이지 이동">3</button>
<button type="button" class="page_num" title="4 페이지 이동">4</button>
<button type="button" class="page_num" title="5 페이지 이동">5</button>
<button type="button" class="page_num" title="6 페이지 이동">6</button>
<button type="button" class="page_num" title="7 페이지 이동">7</button>
<button type="button" class="page_num" title="8 페이지 이동">8</button>
<button type="button" class="page_num" title="9 페이지 이동">9</button>
<button type="button" class="page_num" title="10 페이지 이동">10</button>
<button type="button" class="btn_page_next" title="다음 페이지 이동"><i></i></button>
<button type="button" class="btn_page_last" title="마지막 페이지 이동"><i></i></button>
</div>
</div>
</div>
</div>
</div>
<!--// content -->
<div data-include-path="/ipedu/visitEdu/usr/publish/layout/_footer.html"></div>
</body>

View File

@ -0,0 +1,158 @@
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>자주 받는 질문 > 고객지원 > 한국지식재산보호원 지식재산보호교육시스템</title>
<!-- css -->
<link rel="stylesheet" href="/ipedu/visitEdu/usr/publish/css/reset.css">
<link rel="stylesheet" href="/ipedu/visitEdu/usr/publish/css/common.css">
<link rel="stylesheet" href="/ipedu/visitEdu/usr/publish/css/content.css">
<!-- script -->
<script src="/ipedu/visitEdu/usr/publish/script/jquery-3.5.0.js"></script>
<script src="/ipedu/visitEdu/usr/publish/script/common.js"></script>
<script src="/ipedu/visitEdu/usr/publish/script/content.js"></script>
<!-- 달력 -->
<link rel="stylesheet" href="/ipedu/visitEdu/usr/publish/datepicker/classic.css">
<link rel="stylesheet" href="/ipedu/visitEdu/usr/publish/datepicker/classic.date.css">
<script src="/ipedu/visitEdu/usr/datapicker/duet.js"></script>
<script src="/ipedu/visitEdu/usr/datapicker/duet.system.js"></script>
<script src="/ipedu/visitEdu/usr/datapicker/duet.esm.js"></script>
</head>
<body>
<div data-include-path="/ipedu/visitEdu/usr/publish/layout/_header.html"></div>
<!-- content -->
<div class="container">
<div class="sub_visual">
<div class="visual_text">
<strong>고객지원</strong>
<p>지식재산보호교육시스템</p>
</div>
</div>
<div class="inner">
<div class="lnb">
<p class="lnb_title">고객지원</p>
<nav class="lnb_nav">
<ul>
<li>
<a href="#" class="depth01">공지사항<i></i></a>
</li>
<li>
<a href="#" class="depth01">교육자료실<i></i></a>
</li>
<li>
<a href="#" class="depth01 active">자주 받는 질문<i></i></a>
</li>
<li>
<a href="#" class="depth01">교육문의<i></i></a>
</li>
</ul>
</nav>
</div>
<div class="cont_wrap">
<div class="cont_tit">
<h2>자주 받는 질문</h2>
</div>
<div class="info_box">
<i class="icon faq"></i>
<ul class="info">
<li>자주하는 질문들을 모았습니다. </li>
<li>원하시는 내용이 없는 경우 <span>‘교육문의’</span> 게시판을 이용해 주시기바랍니다. </li>
</ul>
</div>
<ul class="faq_list">
<li>
<button type="button" class="question">
<span>Q</span>
<p>국제특허정보박람회(PATINEX2025) 컨퍼런스는 매년 개최하나요?</p>
</button>
<div class="answer">
<span>A</span>
<p>특허청과 한국특허정보원에서 개최하는 PATINEX2025 컨퍼런스 등록이 시작되었습니다. <br>
여러분의 많은 관심과 신청부탁드립니다.<br>
<br>
ㅇ 행사명 : 제 21회 국제특허정보박람회<br>
ㅇ 주 제 : 지식재산정보, 더 나은 미래를 향한 새로운 물결<br>
ㅇ 기 간 : 2025년 9월 18일(목)~9월 19일(금)<br>
ㅇ 장 소 : 롯데호텔 월드 크리스탈볼룸, 3F
</p>
</div>
</li>
<li>
<button type="button" class="question">
<span>Q</span>
<p>국제특허정보박람회(PATINEX2025) 컨퍼런스는 매년 개최하나요?</p>
</button>
<div class="answer">
<span>A</span>
<p>특허청과 한국특허정보원에서 개최하는 PATINEX2025 컨퍼런스 등록이 시작되었습니다. <br>
여러분의 많은 관심과 신청부탁드립니다.<br>
<br>
ㅇ 행사명 : 제 21회 국제특허정보박람회<br>
ㅇ 주 제 : 지식재산정보, 더 나은 미래를 향한 새로운 물결<br>
ㅇ 기 간 : 2025년 9월 18일(목)~9월 19일(금)<br>
ㅇ 장 소 : 롯데호텔 월드 크리스탈볼룸, 3F
</p>
</div>
</li>
<li>
<button type="button" class="question">
<span>Q</span>
<p>국제특허정보박람회(PATINEX2025) 컨퍼런스는 매년 개최하나요?</p>
</button>
<div class="answer">
<span>A</span>
<p>특허청과 한국특허정보원에서 개최하는 PATINEX2025 컨퍼런스 등록이 시작되었습니다. <br>
여러분의 많은 관심과 신청부탁드립니다.<br>
<br>
ㅇ 행사명 : 제 21회 국제특허정보박람회<br>
ㅇ 주 제 : 지식재산정보, 더 나은 미래를 향한 새로운 물결<br>
ㅇ 기 간 : 2025년 9월 18일(목)~9월 19일(금)<br>
ㅇ 장 소 : 롯데호텔 월드 크리스탈볼룸, 3F
</p>
</div>
</li>
<li>
<button type="button" class="question">
<span>Q</span>
<p>국제특허정보박람회(PATINEX2025) 컨퍼런스는 매년 개최하나요?</p>
</button>
<div class="answer">
<span>A</span>
<p>특허청과 한국특허정보원에서 개최하는 PATINEX2025 컨퍼런스 등록이 시작되었습니다. <br>
여러분의 많은 관심과 신청부탁드립니다.<br>
<br>
ㅇ 행사명 : 제 21회 국제특허정보박람회<br>
ㅇ 주 제 : 지식재산정보, 더 나은 미래를 향한 새로운 물결<br>
ㅇ 기 간 : 2025년 9월 18일(목)~9월 19일(금)<br>
ㅇ 장 소 : 롯데호텔 월드 크리스탈볼룸, 3F
</p>
</div>
</li>
</ul>
</div>
</div>
</div>
<!--// content -->
<div data-include-path="/ipedu/visitEdu/usr/publish/layout/_footer.html"></div>
</body>

Binary file not shown.

After

Width:  |  Height:  |  Size: 776 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

View File

@ -13,6 +13,8 @@
<link rel="stylesheet" href="/ipedu/visitEdu/usr/publish/css/main.css">
<link rel="stylesheet" href="/ipedu/visitEdu/usr/publish/css/swiper.min.css">
<link rel="stylesheet" href="/ipedu/visitEdu/usr/publish/css/content.css">
<!-- script -->
<script src="/ipedu/visitEdu/usr/publish/script/jquery-3.5.0.js"></script>
<script src="/ipedu/visitEdu/usr/publish/script/swiper.min.js"></script>

View File

@ -0,0 +1,122 @@
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>교육문의 > 고객지원 > 한국지식재산보호원 지식재산보호교육시스템</title>
<!-- css -->
<link rel="stylesheet" href="/ipedu/visitEdu/usr/publish/css/reset.css">
<link rel="stylesheet" href="/ipedu/visitEdu/usr/publish/css/common.css">
<link rel="stylesheet" href="/ipedu/visitEdu/usr/publish/css/content.css">
<!-- script -->
<script src="/ipedu/visitEdu/usr/publish/script/jquery-3.5.0.js"></script>
<script src="/ipedu/visitEdu/usr/publish/script/common.js"></script>
<script src="/ipedu/visitEdu/usr/publish/script/content.js"></script>
<!-- 달력 -->
<link rel="stylesheet" href="/ipedu/visitEdu/usr/publish/datepicker/classic.css">
<link rel="stylesheet" href="/ipedu/visitEdu/usr/publish/datepicker/classic.date.css">
<script src="/ipedu/visitEdu/usr/datapicker/duet.esm.js"></script>
<script src="/ipedu/visitEdu/usr/datapicker/duet.js"></script>
<script src="/ipedu/visitEdu/usr/datapicker/duet.system.js"></script>
</head>
<body>
<div data-include-path="/ipedu/visitEdu/usr/publish/layout/_header.html"></div>
<!-- content -->
<div class="container">
<div class="sub_visual">
<div class="visual_text">
<strong>상표권 교육조건부 기소유예</strong>
<p>지식재산보호교육시스템</p>
</div>
</div>
<div class="inner">
<div class="lnb">
<p class="lnb_title">기소유예교육</p>
<nav class="lnb_nav">
<ul>
<li>
<a href="#" class="depth01">교육안내<i></i></a>
</li>
<li>
<a href="#" class="depth01">교육신청<i></i></a>
</li>
</ul>
</nav>
</div>
<div class="cont_wrap">
<div class="cont_tit">
<h2>교육문의</h2>
</div>
<div class="info_box">
<i class="icon inquiry"></i>
<ul class="info">
<li>교육에 대해 궁금한 점이 있으시면 문의 남겨주시기 바랍니다.</li>
<li>답변은 <span>‘마이페이지 > 나의 교육문의’</span>에서 확인하실 수 있습니다.</li>
</ul>
</div>
<div class="list_view">
<table>
<colgroup>
<col style="width:162px;">
<col style="width:auto;">
</colgroup>
<tbody>
<tr>
<th scope="row">강의구분</th>
<td>
<select name="" id="" class="selType1">
<option value="">선택</option>
<option value="">상표권 침해·부정경쟁행위 예방</option>
</select>
</td>
</tr>
<tr>
<th scope="row">문의내용</th>
<td>
<textarea name="" id="" class="textarea w100per">
올해 남은 교육은 몇개인가요?
2026년 첫번째 교육은 언제인가요?
</textarea>
</td>
</tr>
</tbody>
</table>
</div>
<div class="btn_wrap">
<div class="left">
</div>
<div class="center"></div>
<div class="right">
<button type="button" class="btn fill blue large">등록</button>
<button type="button" class="btn fill gray large">취소</button>
</div>
</div>
</div>
</div>
</div>
<!--// content -->
<div data-include-path="/ipedu/visitEdu/usr/publish/layout/_footer.html"></div>
</body>
</html>

View File

@ -74,7 +74,8 @@
</li>
</ul>
<div class="btn_wrap">
<button type="button" class="btn_identify mobile" title="전체메뉴 열기"><i></i></button>
<button type="button" class="btn_identify mobile" title="본인인증"><i></i></button>
<button type="button" class="btn_logout mobile" title="인증해제"><i></i></button>
<button type="button" class="btn_sitemap" title="전체메뉴 열기"><i></i></button>
</div>
</div>

View File

@ -0,0 +1,184 @@
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>공지사항 > 고객지원 > 한국지식재산보호원 지식재산보호교육시스템</title>
<!-- css -->
<link rel="stylesheet" href="/ipedu/visitEdu/usr/publish/css/reset.css">
<link rel="stylesheet" href="/ipedu/visitEdu/usr/publish/css/common.css">
<link rel="stylesheet" href="/ipedu/visitEdu/usr/publish/css/content.css">
<!-- script -->
<script src="/ipedu/visitEdu/usr/publish/script/jquery-3.5.0.js"></script>
<script src="/ipedu/visitEdu/usr/publish/script/common.js"></script>
<script src="/ipedu/visitEdu/usr/publish/script/content.js"></script>
<!-- 달력 -->
<link rel="stylesheet" href="/ipedu/visitEdu/usr/publish/datepicker/classic.css">
<link rel="stylesheet" href="/ipedu/visitEdu/usr/publish/datepicker/classic.date.css">
<script src="/ipedu/visitEdu/usr/datapicker/duet.js"></script>
<script src="/ipedu/visitEdu/usr/datapicker/duet.system.js"></script>
<script src="/ipedu/visitEdu/usr/datapicker/duet.esm.js"></script>
</head>
<body>
<div data-include-path="/ipedu/visitEdu/usr/publish/layout/_header.html"></div>
<!-- content -->
<div class="container">
<div class="sub_visual">
<div class="visual_text">
<strong>고객지원</strong>
<p>지식재산보호교육시스템</p>
</div>
</div>
<div class="inner">
<div class="lnb">
<p class="lnb_title">기소유예교육</p>
<nav class="lnb_nav">
<ul>
<li>
<a href="#" class="depth01">공지사항<i></i></a>
</li>
<li>
<a href="#" class="depth01">교육자료실<i></i></a>
</li>
<li>
<a href="#" class="depth01">자주 받는 질문<i></i></a>
</li>
<li>
<a href="#" class="depth01">교육문의<i></i></a>
</li>
</ul>
</nav>
</div>
<div class="cont_wrap">
<div class="cont_tit">
<h2>공지사항</h2>
<div class="path">
<ul>
<li class="home"><a href="#" title="메인으로 가기"><i></i></a></li>
<li><a href="#">고객지원</a></li>
<li>공지사항</li>
</ul>
</div>
</div>
<div class="list_top right">
<div class="search_area">
<select class="selType1" title="검색항목 선택">
<option for="">전체</option>
<option for="">작성중</option>
<option for="">교육신청</option>
<option for="">교육확정</option>
<option for="">교육반려</option>
<option for="">신청취소</option>
</select>
<input type="text">
<button type="button" class="btnType01 btn_search" onclick="fncGoList();"><i></i></button>
<button type="button" class="btnType02 btn_reset" onclick="fncReset(this);">초기화</button>
</div>
</div>
<div class="list">
<table>
<colgroup>
<col style="width: 70px;">
<col style="width: auto;">
<col style="width: 5%;">
<col style="width: 12%">
<col style="width: 12%;">
<col style="width: 8%;">
</colgroup>
<thead>
<tr>
<th scope="col">번호</th>
<th scope="col">제목</th>
<th scope="col">첨부</th>
<th scope="col">작성일</th>
<th scope="col">작성자</th>
<th scope="col">조회수</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">
<span class="notice">공지</span>
</th>
<td class="t_left">
<a href="#">[특허청/한국특허정보원] 제21회 국제특허정보박람회(PATINEX2025) 컨퍼런스 개최</a>
</td>
<td>
<p><span class="mobile">첨부</span><i class="icon file"></i></p>
</td>
<td>
<p><span class="mobile">작성일</span>2025.08.25</p>
</td>
<td>
<p><span class="mobile">작성자</span>관리자</p>
</td>
<td>
<p><span class="mobile">조회수</span>150</p>
</td>
</tr>
<tr>
<th scope="row">
<p class="num">9</p>
</th>
<td class="t_left">
<a href="#">2025년 베트남 공무원 초청 현지 진출기업 지식재산 보호 세미나</a>
</td>
<td>
<p><span class="mobile">첨부</span><i class="icon file"></i></p>
</td>
<td>
<p><span class="mobile">작성일</span>2025.08.25</p>
</td>
<td>
<p><span class="mobile">작성자</span>기소유예관리자</p>
</td>
<td>
<p><span class="mobile">조회수</span>150</p>
</td>
</tr>
</tbody>
</table>
</div>
<div class="pagination">
<button type="button" class="btn_page_first" title="첫 페이지 이동"><i></i></button>
<button type="button" class="btn_page_prev" title="이전 페이지 이동"><i></i></button>
<button type="button" class="page_num on" title="1 페이지 이동">1</button>
<button type="button" class="page_num" title="2 페이지 이동">2</button>
<button type="button" class="page_num" title="3 페이지 이동">3</button>
<button type="button" class="page_num" title="4 페이지 이동">4</button>
<button type="button" class="page_num" title="5 페이지 이동">5</button>
<button type="button" class="page_num" title="6 페이지 이동">6</button>
<button type="button" class="page_num" title="7 페이지 이동">7</button>
<button type="button" class="page_num" title="8 페이지 이동">8</button>
<button type="button" class="page_num" title="9 페이지 이동">9</button>
<button type="button" class="page_num" title="10 페이지 이동">10</button>
<button type="button" class="btn_page_next" title="다음 페이지 이동"><i></i></button>
<button type="button" class="btn_page_last" title="마지막 페이지 이동"><i></i></button>
</div>
</div>
</div>
</div>
<!--// content -->
<div data-include-path="/ipedu/visitEdu/usr/publish/layout/_footer.html"></div>
</body>

View File

@ -0,0 +1,121 @@
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>공지사항 > 고객지원 > 한국지식재산보호원 지식재산보호교육시스템</title>
<!-- css -->
<link rel="stylesheet" href="/ipedu/visitEdu/usr/publish/css/reset.css">
<link rel="stylesheet" href="/ipedu/visitEdu/usr/publish/css/common.css">
<link rel="stylesheet" href="/ipedu/visitEdu/usr/publish/css/content.css">
<!-- script -->
<script src="/ipedu/visitEdu/usr/publish/script/jquery-3.5.0.js"></script>
<script src="/ipedu/visitEdu/usr/publish/script/common.js"></script>
<script src="/ipedu/visitEdu/usr/publish/script/content.js"></script>
<!-- 달력 -->
<link rel="stylesheet" href="/ipedu/visitEdu/usr/publish/datepicker/classic.css">
<link rel="stylesheet" href="/ipedu/visitEdu/usr/publish/datepicker/classic.date.css">
<script src="/ipedu/visitEdu/usr/datapicker/duet.js"></script>
<script src="/ipedu/visitEdu/usr/datapicker/duet.system.js"></script>
<script src="/ipedu/visitEdu/usr/datapicker/duet.esm.js"></script>
</head>
<body>
<div data-include-path="/ipedu/visitEdu/usr/publish/layout/_header.html"></div>
<!-- content -->
<div class="container">
<div class="sub_visual">
<div class="visual_text">
<strong>고객지원</strong>
<p>지식재산보호교육시스템</p>
</div>
</div>
<div class="inner">
<div class="lnb">
<p class="lnb_title">기소유예교육</p>
<nav class="lnb_nav">
<ul>
<li>
<a href="#" class="depth01">공지사항<i></i></a>
</li>
<li>
<a href="#" class="depth01">교육자료실<i></i></a>
</li>
<li>
<a href="#" class="depth01">자주 받는 질문<i></i></a>
</li>
<li>
<a href="#" class="depth01">교육문의<i></i></a>
</li>
</ul>
</nav>
</div>
<div class="cont_wrap">
<div class="cont_tit">
<h2>공지사항</h2>
<div class="path">
<ul>
<li class="home"><a href="#" title="메인으로 가기"><i></i></a></li>
<li><a href="#">고객지원</a></li>
<li>공지사항</li>
</ul>
</div>
</div>
<div class="board_view">
<strong class="title">2025년 베트남 공무원 초청 현지 진출기업 지식재산 보호 세미나</strong>
<ul class="board_util">
<li>작성자 : 관리자</li>
<li>작성일 : 2025.08.21</li>
<li>조회수 : 580</li>
</ul>
<div class="board_view_content">
<p>
한국과 일본에 진출한 기업의 지재권 역량을 강화하고 협력 기반을 마련하기 위해 <br>
각국 진출 기업 관계자를 대상으로 지식재산권 교육과정을 운영합니다. <br>
<br>
ㅇ 교육 주제 : 일본진출 한국기업 지식재산권 교육과정<br>
ㅇ 교육 일시 : 2025년 9월 4일(목), 13:30~16:30<br>
ㅇ 교육 장소 : 일본 도쿄 JETRO 5A회의실 (대면강의+온라인 송출)<br>
ㅇ 신청 기간 : 2025년 8월 26일 까지<br>
<br>
많은 관심과 신청 부탁드립니다.
</p>
</div>
<ul class="file_wrap">
<li><a href="#" class="file" download="상표권 교육조건부 기소유예 교육"><i class="icon file"></i>상표권 교육조건부 기소유예 교육.hwp</a></li>
</ul>
</div>
<div class="btn_wrap">
<div class="left">
</div>
<div class="center"></div>
<div class="right">
<button type="button" class="btn fill gray large">목록</button>
</div>
</div>
</div>
</div>
</div>
<!--// content -->
<div data-include-path="/ipedu/visitEdu/usr/publish/layout/_footer.html"></div>
</body>

View File

@ -31,8 +31,15 @@ $(function(){
var titleText = "";
titleText += '<div class="path">';
titleText += '<ul><li class="home"><a href="#" title="메인으로 가기"><i></i></a></li>';
titleText += '<li><a href="#">'+menuTitle+'</a></li><li>';
titleText += contTitle+'</li></ul></div>'
if(contTitle !== "로그인"){
titleText += '<li><a href="#">'+menuTitle+'</a></li><li>';
titleText += contTitle+'</li></ul></div>'
}else{
titleText += '<li>'+contTitle+'</li></ul></div>'
}
$(".cont_tit").append(titleText);

View File

@ -449,103 +449,110 @@ var startDateNum = [];
setTimeout(function(){
for (var i = 2; i<duetdateleng; i++){
startDateNum[i] = document.querySelector(".startDate"+i);
startDateNum[i].dateAdapter = {
parse: function parse() {
var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ""
var createDate = arguments.length > 1 ? arguments[1] : undefined
var matches = value.match(DATE_FORMAT)
if (startDateNum[i]){
startDateNum[i].dateAdapter = {
parse: function parse() {
var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ""
var createDate = arguments.length > 1 ? arguments[1] : undefined
var matches = value.match(DATE_FORMAT)
if (matches) {
return createDate(matches[3], matches[2], matches[1])
if (matches) {
return createDate(matches[3], matches[2], matches[1])
}
},
format: function format(date) {
if (date.getMonth() < 9) {
if (date.getDate() < 10) {
return ""
.concat(date.getFullYear(), ".")
.concat('0', date.getMonth() + 1, ".")
.concat('0', date.getDate())
} else {
return ""
.concat(date.getFullYear(), ".")
.concat('0', date.getMonth() + 1, ".")
.concat(date.getDate())
}
} else {
if (date.getDate() < 10) {
return ""
.concat(date.getFullYear(), ".")
.concat(date.getMonth() + 1, ".")
.concat('0', date.getDate())
} else {
return ""
.concat(date.getFullYear(), ".")
.concat(date.getMonth() + 1, ".")
.concat(date.getDate())
}
}
},
}
},
format: function format(date) {
if (date.getMonth() < 9) {
if (date.getDate() < 10) {
return ""
.concat(date.getFullYear(), ".")
.concat('0', date.getMonth() + 1, ".")
.concat('0', date.getDate())
} else {
return ""
.concat(date.getFullYear(), ".")
.concat('0', date.getMonth() + 1, ".")
.concat(date.getDate())
}
} else {
if (date.getDate() < 10) {
return ""
.concat(date.getFullYear(), ".")
.concat(date.getMonth() + 1, ".")
.concat('0', date.getDate())
} else {
return ""
.concat(date.getFullYear(), ".")
.concat(date.getMonth() + 1, ".")
.concat(date.getDate())
}
}
},
}
// 달력 플러그인 실행
startDateNum[i].localization = {
placeholder: '시작날짜를 입력하세요',
selectedDateMessage: 'Selected date is',
prevMonthLabel: '이전 달 보기',
nextMonthLabel: '다음 달 보기',
monthSelectLabel: '달 선택',
yearSelectLabel: '년도 선택',
closeLabel: '달력 닫기',
dayNames: ['일', '월', '화', '수', '목', '금', '토'],
monthNames: ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월'],
monthNamesShort: ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월'],
identifier: "searchStartDt",
name: "searchStartDt"
}
// 달력 닫았을 때 input, input[type=hidden]에 value 값 넣어주기
startDateNum[i].addEventListener("duetClose", function (e) {
startDt = e.target;
startDtVal = e.target.value;
startSub = startDtVal.replace(/\-/g, '');
var inputName = $(this).attr("name");
$(".startDate").each(function(idx,itm){
$(this).find(".duet-date__input").attr("id", inputName+idx);
$(this).find(".duet-date__input").attr("name", inputName);
$(this).find(".duet-date__input").attr("value", startSub);
$(this).find(".duet-date__input").next().attr("name", inputName+i+"_submit");
$(this).find(".duet-date__input").next().attr("value", startSub);
// 달력 플러그인 실행
startDateNum[i].localization = {
placeholder: '시작날짜를 입력하세요',
selectedDateMessage: 'Selected date is',
prevMonthLabel: '이전 달 보기',
nextMonthLabel: '다음 달 보기',
monthSelectLabel: '달 선택',
yearSelectLabel: '년도 선택',
closeLabel: '달력 닫기',
dayNames: ['일', '월', '화', '수', '목', '금', '토'],
monthNames: ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월'],
monthNamesShort: ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월'],
identifier: "searchStartDt",
name: "searchStartDt"
}
// 달력 닫았을 때 input, input[type=hidden]에 value 값 넣어주기
startDateNum[i].addEventListener("duetClose", function (e) {
startDt = e.target;
startDtVal = e.target.value;
startSub = startDtVal.replace(/\-/g, '');
var inputName = $(this).attr("name");
$(".startDate").each(function(idx,itm){
$(this).find(".duet-date__input").attr("id", inputName+idx);
$(this).find(".duet-date__input").attr("name", inputName);
$(this).find(".duet-date__input").attr("value", startSub);
$(this).find(".duet-date__input").next().attr("name", inputName+i+"_submit");
$(this).find(".duet-date__input").next().attr("value", startSub);
});
});
});
//날짜 값 바꼈을 때 시작일, 종료일 찾아 alert 띄우기
startDateNum[i].addEventListener("duetChange", function (e) {
startDt = e.target;
startDtVal = e.target.value;
var n = i-1;
var endDtVal = $(".endDate"+n).find(".duet-date__input").val();
endDtVal = endDtVal.replace(/[.]/gi, '');
startDtVal = startDtVal.replace(/[.]/gi, '');
if(startDtVal > endDtVal && endDtVal != ""){
e.target.value = "";
alert("시작일이 종료일보다 클 수 없습니다.");
}else{}
});
setTimeout(function(){
//$("duet-date-picker .duet-date__input").attr("title","교육희망일을 YYYY.MM.DD 형식으로 입력해주세요11111");
$("duet-date-picker .duet-date__input").each(function(idx,itm){
idx+=1;
$(itm).attr("name","searchStartDt"+idx);
$(itm).attr("id","searchStartDt"+idx);
//날짜 값 바꼈을 때 시작일, 종료일 찾아 alert 띄우기
startDateNum[i].addEventListener("duetChange", function (e) {
startDt = e.target;
startDtVal = e.target.value;
var n = i-1;
var endDtVal = $(".endDate"+n).find(".duet-date__input").val();
endDtVal = endDtVal.replace(/[.]/gi, '');
startDtVal = startDtVal.replace(/[.]/gi, '');
if(startDtVal > endDtVal && endDtVal != ""){
e.target.value = "";
alert("시작일이 종료일보다 클 수 없습니다.");
}else{}
});
$("duet-date-picker .duet-date__input").attr('onkeydown','this.value=dateSetting(this.value);');
},100)
setTimeout(function(){
//$("duet-date-picker .duet-date__input").attr("title","교육희망일을 YYYY.MM.DD 형식으로 입력해주세요11111");
$("duet-date-picker .duet-date__input").each(function(idx,itm){
idx+=1;
$(itm).attr("name","searchStartDt"+idx);
$(itm).attr("id","searchStartDt"+idx);
});
$("duet-date-picker .duet-date__input").attr('onkeydown','this.value=dateSetting(this.value);');
},100)
startDateNum[i].addEventListener("duetFocus", function (e) {
calendarSetting();
});
startDateNum[i].addEventListener("duetFocus", function (e) {
calendarSetting();
});
}
}
},1000)
@ -554,103 +561,106 @@ var endDateNum = [];
setTimeout(function(){
for (var i = 2; i<duetdateleng; i++){
endDateNum[i] = document.querySelector(".endDate"+i);
endDateNum[i].dateAdapter = {
parse: function parse() {
var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ""
var createDate = arguments.length > 1 ? arguments[1] : undefined
var matches = value.match(DATE_FORMAT)
if (endDateNum[i]){
endDateNum[i].dateAdapter = {
parse: function parse() {
var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ""
var createDate = arguments.length > 1 ? arguments[1] : undefined
var matches = value.match(DATE_FORMAT)
if (matches) {
return createDate(matches[3], matches[2], matches[1])
if (matches) {
return createDate(matches[3], matches[2], matches[1])
}
},
format: function format(date) {
if (date.getMonth() < 9) {
if (date.getDate() < 10) {
return ""
.concat(date.getFullYear(), ".")
.concat('0', date.getMonth() + 1, ".")
.concat('0', date.getDate())
} else {
return ""
.concat(date.getFullYear(), ".")
.concat('0', date.getMonth() + 1, ".")
.concat(date.getDate())
}
} else {
if (date.getDate() < 10) {
return ""
.concat(date.getFullYear(), ".")
.concat(date.getMonth() + 1, ".")
.concat('0', date.getDate())
} else {
return ""
.concat(date.getFullYear(), ".")
.concat(date.getMonth() + 1, ".")
.concat(date.getDate())
}
}
},
}
},
format: function format(date) {
if (date.getMonth() < 9) {
if (date.getDate() < 10) {
return ""
.concat(date.getFullYear(), ".")
.concat('0', date.getMonth() + 1, ".")
.concat('0', date.getDate())
} else {
return ""
.concat(date.getFullYear(), ".")
.concat('0', date.getMonth() + 1, ".")
.concat(date.getDate())
}
} else {
if (date.getDate() < 10) {
return ""
.concat(date.getFullYear(), ".")
.concat(date.getMonth() + 1, ".")
.concat('0', date.getDate())
} else {
return ""
.concat(date.getFullYear(), ".")
.concat(date.getMonth() + 1, ".")
.concat(date.getDate())
}
// 달력 플러그인 실행
endDateNum[i].localization = {
placeholder: '종료날짜를 입력하세요',
selectedDateMessage: 'Selected date is',
prevMonthLabel: '이전 달 보기',
nextMonthLabel: '다음 달 보기',
monthSelectLabel: '달 선택',
yearSelectLabel: '년도 선택',
closeLabel: '달력 닫기',
dayNames: ['일', '월', '화', '수', '목', '금', '토'],
monthNames: ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월'],
monthNamesShort: ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월'],
identifier: "searchEndDt",
name: "searchEndDt"
}
},
// 달력 닫았을 때 input, input[type=hidden]에 value 값 넣어주기
endDateNum[i].addEventListener("duetClose", function (e) {
endDt = e.target;
endDtVal = e.target.value;
endSub = endDtVal.replace(/\-/g, '');
var inputName = $(this).attr("name");
$(".endDate").each(function(idx,itm){
$(this).find(".duet-date__input").attr("id", inputName+idx);
$(this).find(".duet-date__input").attr("name", inputName);
$(this).find(".duet-date__input").attr("value", endSub);
$(this).find(".duet-date__input").next().attr("name", inputName+i+"_submit");
$(this).find(".duet-date__input").next().attr("value", endSub);
});
});
//날짜 값 바꼈을 때 시작일, 종료일 찾아 alert 띄우기
endDateNum[i].addEventListener("duetChange", function (e) {
endDt = e.target;
endDtVal = e.target.value;
var n = i-1
var startDtVal = $(".startDate"+n).find(".duet-date__input").val();
startDtVal = startDtVal.replace(/[.]/gi, '');
endDtVal = endDtVal.replace(/[.]/gi, '');
//console.log("2",startDtVal,endDtVal);
if(endDtVal < startDtVal){
e.target.value = "";
alert("종료일이 시작일보다 작을 수 없습니다.");
}else{}
});
setTimeout(function(){
$("duet-date-picker .duet-date__input").each(function(idx,itm){
idx+=1;
$(itm).attr("name","searchEndDt"+idx);
$(itm).attr("id","searchEndDt"+idx);
});
$("duet-date-picker .duet-date__input").attr('onkeydown','this.value=dateSetting(this.value);');
},100)
endDateNum[i].addEventListener("duetFocus", function (e) {
calendarSetting();
});
}
// 달력 플러그인 실행
endDateNum[i].localization = {
placeholder: '종료날짜를 입력하세요',
selectedDateMessage: 'Selected date is',
prevMonthLabel: '이전 달 보기',
nextMonthLabel: '다음 달 보기',
monthSelectLabel: '달 선택',
yearSelectLabel: '년도 선택',
closeLabel: '달력 닫기',
dayNames: ['일', '월', '화', '수', '목', '금', '토'],
monthNames: ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월'],
monthNamesShort: ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월'],
identifier: "searchEndDt",
name: "searchEndDt"
}
// 달력 닫았을 때 input, input[type=hidden]에 value 값 넣어주기
endDateNum[i].addEventListener("duetClose", function (e) {
endDt = e.target;
endDtVal = e.target.value;
endSub = endDtVal.replace(/\-/g, '');
var inputName = $(this).attr("name");
$(".endDate").each(function(idx,itm){
$(this).find(".duet-date__input").attr("id", inputName+idx);
$(this).find(".duet-date__input").attr("name", inputName);
$(this).find(".duet-date__input").attr("value", endSub);
$(this).find(".duet-date__input").next().attr("name", inputName+i+"_submit");
$(this).find(".duet-date__input").next().attr("value", endSub);
});
});
//날짜 값 바꼈을 때 시작일, 종료일 찾아 alert 띄우기
endDateNum[i].addEventListener("duetChange", function (e) {
endDt = e.target;
endDtVal = e.target.value;
var n = i-1
var startDtVal = $(".startDate"+n).find(".duet-date__input").val();
startDtVal = startDtVal.replace(/[.]/gi, '');
endDtVal = endDtVal.replace(/[.]/gi, '');
//console.log("2",startDtVal,endDtVal);
if(endDtVal < startDtVal){
e.target.value = "";
alert("종료일이 시작일보다 작을 수 없습니다.");
}else{}
});
setTimeout(function(){
$("duet-date-picker .duet-date__input").each(function(idx,itm){
idx+=1;
$(itm).attr("name","searchEndDt"+idx);
$(itm).attr("id","searchEndDt"+idx);
});
$("duet-date-picker .duet-date__input").attr('onkeydown','this.value=dateSetting(this.value);');
},100)
endDateNum[i].addEventListener("duetFocus", function (e) {
calendarSetting();
});
}
},1000)

View File

@ -0,0 +1,535 @@
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<!-- css -->
<link rel="stylesheet" href="/ipedu/visitEdu/usr/publish/css/reset.css">
<link rel="stylesheet" href="/ipedu/visitEdu/usr/publish/css/common.css">
<link rel="stylesheet" href="/ipedu/visitEdu/usr/publish/css/content.css">
<!-- script -->
<script src="/ipedu/visitEdu/usr/publish/script/jquery-3.5.0.js"></script>
<script src="/ipedu/visitEdu/usr/publish/script/common.js"></script>
<script src="/ipedu/visitEdu/usr/publish/script/content.js"></script>
<!-- 달력 -->
<link rel="stylesheet" href="/ipedu/visitEdu/usr/publish/datepicker/classic.css">
<link rel="stylesheet" href="/ipedu/visitEdu/usr/publish/datepicker/classic.date.css">
<script src="/ipedu/visitEdu/usr/datapicker/duet.js"></script>
<script src="/ipedu/visitEdu/usr/datapicker/duet.system.js"></script>
<script src="/ipedu/visitEdu/usr/datapicker/duet.esm.js"></script>
<link rel="stylesheet" href="./css/guide.css">
<script>
$(function () {
$(".tabs>li .tab").click(function () {
var title = $(this).text();
$(".cont_title").text(title);
$(this).addClass("on");
$(this).closest("li").siblings().find(".tab").removeClass("on");
var tabIndex = $(this).closest("li").index();
tabIndex += 1;
$("#cont" + tabIndex).addClass("on").siblings().removeClass("on");
})
$(".tab_li.on .tab_button").attr("title", "선택됨");
// tab 클릭시
$('.tab_button').on('click', function () {
var tabNum = $(this).closest(".tab_li").index();
$(this).closest(".tab_li").addClass("on").siblings(".tab_li").removeClass("on");
$(this).attr("title", "선택됨");
$('.tab_content').eq(tabNum).addClass("on").siblings('.tab_content').removeClass('on');
$(this).closest(".tab_li").siblings(".tab_li").find(".tab_button").removeAttr("title");
});
})
</script>
</head>
<body>
<div class="header_wrap">
<h1 class="logo"><img src="./images/common/logo.png" alt=""></h1>
<p>최종 수정일 : 2025.09.25</p>
</div>
<section>
<ul class="tabs">
<li><button type="button" class="tab on">컬러</button></li>
<li><button type="button" class="tab">버튼</button></li>
<li><button type="button" class="tab"></button></li>
<li><button type="button" class="tab">테이블</button></li>
<li><button type="button" class="tab">Input</button></li>
</ul>
<article>
<h2 class="cont_title">컬러</h2>
<!-- 컬러 -->
<div class="cont" id="cont1">
<b class="title">Color</b>
<ul class="guide_list">
<li>
<div class="color_box blue"></div>
<p class="color_code">#396ac4</p>
</li>
<li>
<div class="color_box darkblue"></div>
<p class="color_code">#1e4aa4</p>
</li>
<li>
<div class="color_box mint"></div>
<p class="color_code">#01a3cc</p>
</li>
</ul>
<b class="title">Text Color</b>
<ul class="guide_list">
<li>
<div class="color_box title1"></div>
<p class="color_code">#333333</p>
</li>
<li>
<div class="color_box body1"></div>
<p class="color_code">#555555</p>
</li>
<li>
<div class="color_box body2"></div>
<p class="color_code">#7c7c7c</p>
</li>
<li>
<div class="color_box text_blue_color"></div>
<p class="color_code">#2e4677</p>
</li>
<li>
<div class="color_box text_red_color"></div>
<p class="color_code">#dc1818</p>
</li>
</ul>
<b class="title">Line Color</b>
<ul class="guide_list">
<li>
<div class="color_box c_858686"></div>
<p class="color_code">#858686</p>
</li>
<li>
<div class="color_box c_e5e5e5"></div>
<p class="color_code">#e5e5e5</p>
</li>
<li>
<div class="color_box c_eeeeee"></div>
<p class="color_code">#eeeeee</p>
</li>
</ul>
<b class="title">Background Color</b>
<ul class="guide_list">
<li>
<div class="color_box c_f3f3f4"></div>
<p class="color_code">#f3f3f4</p>
</li>
<li>
<div class="color_box c_f8f9fa"></div>
<p class="color_code">#f8f9fa</p>
</li>
</ul>
</div>
<!-- 버튼 -->
<div class="cont " id="cont2">
<b class="title">Button</b>
<div class="list_wrap">
<ul class="guide_list button">
<li>
<button type="button" class="btn small fill blue">버튼</button>
</li>
<li>
<button type="button" class="btn regular fill blue">버튼</button>
</li>
<li>
<button type="button" class="btn large fill blue">버튼</button>
</li>
</ul>
<ul class="guide_list button">
<li>
<button type="button" class="btn small line blue">버튼</button>
</li>
<li>
<button type="button" class="btn regular line blue">버튼</button>
</li>
<li>
<button type="button" class="btn large line blue">버튼</button>
</li>
</ul>
<ul class="guide_list button">
<li>
<button type="button" class="btn small fill lightblue">버튼</button>
</li>
<li>
<button type="button" class="btn regular fill lightblue">버튼</button>
</li>
<li>
<button type="button" class="btn large fill lightblue">버튼</button>
</li>
</ul>
<ul class="guide_list button">
<li>
<button type="button" class="btn small fill mint">버튼</button>
</li>
<li>
<button type="button" class="btn regular fill mint">버튼</button>
</li>
<li>
<button type="button" class="btn large fill mint">버튼</button>
</li>
</ul>
<ul class="guide_list button">
<li>
<button type="button" class="btn small line mint">버튼</button>
</li>
<li>
<button type="button" class="btn regular line mint">버튼</button>
</li>
<li>
<button type="button" class="btn large line mint">버튼</button>
</li>
</ul>
<ul class="guide_list button">
<li>
<button type="button" class="btn small fill lightmint">버튼</button>
</li>
<li>
<button type="button" class="btn regular fill lightmint">버튼</button>
</li>
<li>
<button type="button" class="btn large fill lightmint">버튼</button>
</li>
</ul>
<ul class="guide_list button">
<li>
<button type="button" class="btn small fill gray">버튼</button>
</li>
<li>
<button type="button" class="btn regular fill gray">버튼</button>
</li>
<li>
<button type="button" class="btn large fill gray">버튼</button>
</li>
</ul>
<ul class="guide_list button">
<li>
<button type="button" class="btn small line gray">버튼</button>
</li>
<li>
<button type="button" class="btn regular line gray">버튼</button>
</li>
<li>
<button type="button" class="btn large line gray">버튼</button>
</li>
</ul>
<ul class="guide_list button">
<li>
<button type="button" class="btn small fill lightgray">버튼</button>
</li>
<li>
<button type="button" class="btn regular fill lightgray">버튼</button>
</li>
<li>
<button type="button" class="btn large fill lightgray">버튼</button>
</li>
</ul>
<ul class="guide_list button">
<li>
<button type="button" class="btn small fill red">버튼</button>
</li>
<li>
<button type="button" class="btn regular fill red">버튼</button>
</li>
<li>
<button type="button" class="btn large fill red">버튼</button>
</li>
</ul>
<ul class="guide_list button">
<li>
<button type="button" class="btn small line red">버튼</button>
</li>
<li>
<button type="button" class="btn regular line red">버튼</button>
</li>
<li>
<button type="button" class="btn large line red">버튼</button>
</li>
</ul>
</div>
</div>
<!---->
<div class="cont" id="cont3">
<b class="title">Line tab</b>
<ul class="guide_list tab line">
<li class="tab_li on con_li"><button type="button" class="tab_button" data-info="list" title="선택됨">리스트형</button></li>
<li class="tab_li cal_li"><button type="button" class="tab_button" data-info="cal">캘린더형</button></li>
</ul>
<b class="title">Fill tab</b>
<ul class="guide_list tab fill tab_02">
<li class="tab_li on con_li"><button type="button" class="tab_button" data-info="list" title="선택됨">리스트형</button></li>
<li class="tab_li cal_li"><button type="button" class="tab_button" data-info="cal">캘린더형</button></li>
</ul>
</div>
<!-- 테이블 -->
<div class="cont" id="cont4">
<b class="title">리스트형</b>
<div class="list">
<table>
<colgroup>
<col style="width: 8%;">
<col style="width: auto;">
<col style="width: 18%;">
<col style="width: 10%">
<col style="width: 10%;">
<col style="width: 8%;">
<col style="width: 100px;">
</colgroup>
<thead>
<tr>
<th scope="col">교육구분</th>
<th scope="col">과정명</th>
<th scope="col">신청기간</th>
<th scope="col">교육일자</th>
<th scope="col">신청자/정원</th>
<th scope="col">상태</th>
<th scope="col">교육신청</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">
<p>비대면</p>
</th>
<td>
<a href="#">[2025-57] 상표권 교육조건부 기소유예 교육</a>
</td>
<td>
<p><span class="mobile">신청기간</span>2025.07.25~2025.07.31</p>
</td>
<td>
<p><span class="mobile">교육일자</span>2025.08.21</p>
</td>
<td>
<p><span class="mobile">신청자/정원</span>5/40</p>
</td>
<td>
<p><span class="mobile">상태</span>접수중</p>
</td>
<td><button type="button" class="btn blue fill regular">신청</button></td>
</tr>
<tr>
<th scope="row">
<p>비대면</p>
</th>
<td>
<a href="#">[2025-57] 상표권 교육조건부 기소유예 교육</a>
</td>
<td>
<p><span class="mobile">신청기간</span>2025.07.25~2025.07.31</p>
</td>
<td>
<p><span class="mobile">교육일자</span>2025.08.21</p>
</td>
<td>
<p><span class="mobile">신청자/정원</span>5/40</p>
</td>
<td>
<p><span class="mobile">상태</span>접수중</p>
</td>
<td><button type="button" class="btn gray fill regular disabled" disabled>마감</button></td>
</tr>
</tbody>
</table>
</div>
<b class="title">리스트 상세</b>
<div class="list_view">
<table>
<colgroup>
<col style="width:162px;">
<col style="width:auto;">
</colgroup>
<tbody>
<tr>
<th scope="row">교육구분</th>
<td>비대면</td>
</tr>
<tr>
<th scope="row">과정</th>
<td>비대면 교육</td>
</tr>
<tr>
<th scope="row">과정명</th>
<td>[2025-57] 상표권 교육조건부 기소유예 교육</td>
</tr>
<tr>
<th scope="row">신청기간</th>
<td>2025.07.21~2025.07.25</td>
</tr>
<tr>
<th scope="row">교육장소</th>
<td>서울특별시 강남구 테헤란로131 (역삼동, 한국지식재산센터 6층)</td>
</tr>
<tr>
<th scope="row">교육일자</th>
<td>2025.08.02</td>
</tr>
<tr>
<th scope="row">상세교육과정</th>
<td>
한국과 일본에 진출한 기업의 지재권 역량을 강화하고 협력 기반을 마련하기 위해
각국 진출 기업 관계자를 대상으로 지식재산권 교육과정을 운영합니다.
ㅇ 교육 주제 : 일본진출 한국기업 지식재산권 교육과정
ㅇ 교육 일시 : 2025년 9월 4일(목), 13:30~16:30
ㅇ 교육 장소 : 일본 도쿄 JETRO 5A회의실 (대면강의+온라인 송출)
ㅇ 신청 기간 : 2025년 8월 26일 까지
많은 관심과 신청 부탁드립니다.
</td>
</tr>
<tr>
<th scope="row">정원</th>
<td>40</td>
</tr>
<tr>
<th scope="row">상태</th>
<td>접수중</td>
</tr>
<tr>
<th scope="row">첨부파일</th>
<td><a href="#" class="file" download="상표권 교육조건부 기소유예 교육"><i class="icon file"></i>상표권 교육조건부 기소유예 교육.hwp</a></td>
</tr>
</tbody>
</table>
</div>
</div>
<ul class="cont on" id="cont5">
<b class="title">Input</b>
<ul class="guide_list input">
<li><input type="text" placeholder="검색어 입력"></li>
<li><input type="text" placeholder="검색어 입력" readonly></li>
<li>
<div class="list_top">
<div class="search_area">
<select name="" id="" class="selType1">
<option value="">선택</option>
<option value="">선택</option>
</select>
<input type="text" placeholder="검색어 입력"><button type="button" class="btn fill mint btnType01">검색</button>
</div>
</div>
</li>
<li>
<div class="list_top">
<div class="search_area">
<select name="" id="" class="selType1 read-only">
<option value="">선택</option>
</select>
<input type="text" placeholder="검색어 입력" readonly><button type="button" class="btn fill mint btnType01 read-only">검색</button>
</div>
</div>
</li>
<li>
<div class="list_top right">
<div class="search_area">
<select class="selType1" title="신청상태 선택">
<option for="">전체</option>
<option for="">작성중</option>
<option for="">교육신청</option>
<option for="">교육확정</option>
<option for="">교육반려</option>
<option for="">신청취소</option>
</select>
<div class="calendar_wrap">
<duet-date-picker identifier="startDate" class="startDate"></duet-date-picker>
<!-- <input type="text" class="calendar startDate" title="시작일 선택" placeholder="시작일 선택"> -->
~
<duet-date-picker identifier="endDate" class="endDate"></duet-date-picker>
<!-- <input type="text" class="calendar endDate" title="종료일 선택" placeholder="종료일 선택"> -->
<script src="/ipedu/visitEdu/usr/publish/script/duetdatepicker.js"></script>
</div>
<button type="button" class="btnType01 btn_search"><i></i></button>
<button type="button" class="btnType02 btn_reset">초기화</button>
</div>
</div>
</li>
<li>
<div class="list_top right">
<div class="search_area">
<select class="selType1 read-only" title="신청상태 선택">
<option for="">전체</option>
<option for="">작성중</option>
<option for="">교육신청</option>
<option for="">교육확정</option>
<option for="">교육반려</option>
<option for="">신청취소</option>
</select>
<div class="calendar_wrap">
<duet-date-picker identifier="startDate" class="startDate" disabled></duet-date-picker>
<!-- <input type="text" class="calendar startDate" title="시작일 선택" placeholder="시작일 선택"> -->
~
<duet-date-picker identifier="endDate" class="endDate" disabled></duet-date-picker>
<!-- <input type="text" class="calendar endDate" title="종료일 선택" placeholder="종료일 선택"> -->
<script src="/ipedu/visitEdu/usr/publish/script/duetdatepicker.js"></script>
</div>
<button type="button" class="btnType01 btn_search read-only"><i></i></button>
<button type="button" class="btnType02 btn_reset read-only">초기화</button>
</div>
</div>
</li>
</ul>
<b class="title">Select</b>
<ul class="guide_list input">
<li>
<ul class="select_wrap">
<li><input type="radio" name="gender" id="f" checked><label for="f">여성</label></li>
<li><input type="radio" name="gender" id="m"><label for="m">남성</label></li>
<li><input type="radio" name="gender" id="m" checked><label for="m">기타</label><input type="text"></li>
</ul>
</li>
<li>
<ul class="select_wrap">
<li><input type="radio" name="gender1" id="f" class="read-only"><label for="f">여성</label></li>
<li><input type="radio" name="gender1" id="m" class="read-only" checked><label for="m">남성</label></li>
<li><input type="radio" name="gender1" id="m" class="read-only" checked><label for="m">기타</label><input type="text" readonly></li>
</ul>
</li>
</ul>
</div>
<div class="cont" id="cont6"></div>
<div class="cont" id="cont7"></div>
<div class="cont" id="cont8"></div>
</article>
</section>
</body>
</html>