This commit is contained in:
myname 2023-10-18 14:11:39 +09:00
commit d9e9cb90ef
70 changed files with 3814 additions and 428 deletions

View File

@ -37,6 +37,7 @@ public class AdrInnorixFileVO extends ComDefaultVO implements Serializable {
// 파일 등록 리턴 메세지 jsp에서 넘겨줌
public String successMsg = "";
public String eduAplctOrd = "";
public String prcsAplctPrdOrd = ""; //기반강화 강의계획서용
// 컨트롤 엘리먼트 ID - 멀티 업로드 jsp에서 사용하는 el
public String controlId = "";
@ -131,6 +132,14 @@ public class AdrInnorixFileVO extends ComDefaultVO implements Serializable {
this.trgtPrsnlReal = trgtPrsnlReal;
}
public String getPrcsAplctPrdOrd() {
return prcsAplctPrdOrd;
}
public void setPrcsAplctPrdOrd(String prcsAplctPrdOrd) {
this.prcsAplctPrdOrd = prcsAplctPrdOrd;
}

View File

@ -31,4 +31,7 @@ public interface InnorixFileService {
RestResponse updateRprtInnorixFile(AdrInnorixFileVO adrInnorixFileVO);
//기반강화 강의계획서 저장
RestResponse insertInnorixLctrPlanFile(AdrInnorixFileVO adrInnorixFileVO);
}

View File

@ -30,6 +30,8 @@ import kcc.let.utl.fcc.service.EgovStringUtil;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctService;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduMIXService;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEAPrcsAplctPrdInstrAsgnmService;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEAPrcsAplctPrdInstrAsgnmVO;
/**
* @Class Name : EgovCmmUseServiceImpl.java
@ -72,6 +74,10 @@ public class InnorixFileServiceImpl extends EgovAbstractServiceImpl implements I
//교육과정신청
@Resource(name = "vEEduMIXService")
private VEEduMIXService vEEduMIXService;
//과정차시 관리
@Resource(name = "vEAPrcsAplctPrdInstrAsgnmService")
private VEAPrcsAplctPrdInstrAsgnmService vEAPrcsAplctPrdInstrAsgnmService;
/**
* @methodName : fileDataUpload
* @author : 이호영
@ -366,4 +372,33 @@ public class InnorixFileServiceImpl extends EgovAbstractServiceImpl implements I
return new RestResponse(HttpStatus.OK, adrInnorixFileVO.getSuccessMsg(), LocalDateTime.now());
}
@Override
public RestResponse insertInnorixLctrPlanFile(AdrInnorixFileVO adrInnorixFileVO) {
List<FileVO> result = null;
try {
// 파일 저장 저장할 file 정보를 받아옴
result = this.insertFileData(adrInnorixFileVO);
// 파일 정보 insert
String atchFileId = fileManageDAO.insertFileInfs(result);
VEAPrcsAplctPrdInstrAsgnmVO vEAPrcsAplctPrdInstrAsgnmVO = new VEAPrcsAplctPrdInstrAsgnmVO();
vEAPrcsAplctPrdInstrAsgnmVO.setLctrPlanAtchFileId(atchFileId);
vEAPrcsAplctPrdInstrAsgnmVO.setLastUpdusrId(adrInnorixFileVO.getUniqId());
vEAPrcsAplctPrdInstrAsgnmVO.setPrcsAplctPrdOrd(adrInnorixFileVO.getPrcsAplctPrdOrd());
//저장
vEAPrcsAplctPrdInstrAsgnmService.updatLctrPlanAtchFileId(vEAPrcsAplctPrdInstrAsgnmVO);
} catch (Exception e) {
e.printStackTrace();
return new RestResponse(HttpStatus.BAD_REQUEST, "등록에 실패하였습니다.", LocalDateTime.now());
}
return new RestResponse(HttpStatus.OK, adrInnorixFileVO.getSuccessMsg(), LocalDateTime.now());
}
}

View File

@ -136,4 +136,27 @@ public class InnorixFileController {
return ResponseEntity.ok(innorixService.updateRprtInnorixFile(adrInnorixFileVO));
}
/**
* @methodName : insertInnorixFile
* @author : 이호영
* @date : 2023.07.20
* @description : 파일 insert 전용
* @param adrInnorixFileVO
* @return
* @throws Exception
*/
@RequestMapping(value = {"/web/common/insertInnorixLctrPlanFileAjax.do"}, method = RequestMethod.POST)
public ResponseEntity<RestResponse> insertInnorixLctrPlanFile(@RequestBody AdrInnorixFileVO adrInnorixFileVO) throws Exception {
//로그인 권한정보 불러오기
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getUniqId());
if(userId.equals("")) {
return ResponseEntity.ok(new RestResponse(HttpStatus.UNAUTHORIZED, "로그인이 필요합니다.", LocalDateTime.now()));
}
adrInnorixFileVO.setUniqId(userId);
return ResponseEntity.ok(innorixService.insertInnorixLctrPlanFile(adrInnorixFileVO));
}
}

View File

@ -396,6 +396,17 @@ public class FndtnEnhanceTrnController {
//1.pageing step1
//과정 조회
VEPrcsDetailVO vEPrcsDetailVODetail = vEPrcsAplctPrdService.selectDetailNewOne4Fndth(vEPrcsDetailVO);
VEEduAplctVO vEEduAplctReqVO = new VEEduAplctVO();
vEEduAplctReqVO.setUserId(loginVO.getUniqId());
vEEduAplctReqVO.setLctrDivCd(vEPrcsDetailVODetail.getLctrDivCd());
vEEduAplctReqVO.setPrcsAplctPrdOrd(vEPrcsDetailVODetail.getPrcsAplctPrdOrd());
vEEduAplctReqVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_50);
VEEduAplctVO vEEduAplctVO = fndtnEnhanceTrnService.findByAprvlCd(vEEduAplctReqVO);
// VO를 먼저 null 체크 진행해야 에러안남
// vEEduAplctVO != null &&
if(vEEduAplctVO != null && StringUtils.isNotEmpty(vEEduAplctVO.getAprvlCd())) {
vEPrcsDetailVODetail.setAprvlCd(vEEduAplctVO.getAprvlCd());
}
model.addAttribute("info", vEPrcsDetailVODetail);
@ -457,6 +468,45 @@ public class FndtnEnhanceTrnController {
}
/**
* 교육 list select
*/
@RequestMapping("/web/ve/aplct/fndtnEnhanceTrn/eduSelectAjax.do")
public ModelAndView eduSelectAjax(
@ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO
, ModelMap model
, HttpServletRequest request
) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
//로그인 처리====================================
//로그인 정보 가져오기
String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model);
if (!"".equals(s_oprtnLoginCheckNInfo)) {
modelAndView.addObject("result", "loginFail");
return modelAndView;
}
//로그인 처리====================================
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
// 페이징 없이 select를 하기 위한
vEPrcsDetailVO.setRecordCountPerPage(10000);
vEPrcsDetailVO.setFirstIndex(0);
List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsAplctPrdService.selectPagingList4Fndth(vEPrcsDetailVO);
modelAndView.addObject("data", vEPrcsDetailVOList);
modelAndView.addObject("result", "success");
return modelAndView;
}
private String dateChk(VEPrcsDetailVO vEPrcsDetailVO , LocalDate currentDate) {

View File

@ -392,6 +392,18 @@ public class SspnIdtmtController {
//1.pageing step1
//과정 조회
VEPrcsDetailVO vEPrcsDetailVODetail = vEPrcsAplctPrdService.selectDetailNewOne4Fndth(vEPrcsDetailVO);
VEEduAplctVO vEEduAplctReqVO = new VEEduAplctVO();
vEEduAplctReqVO.setUserId(loginVO.getUniqId());
vEEduAplctReqVO.setLctrDivCd(vEPrcsDetailVODetail.getLctrDivCd());
vEEduAplctReqVO.setPrcsAplctPrdOrd(vEPrcsDetailVODetail.getPrcsAplctPrdOrd());
vEEduAplctReqVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_60);
VEEduAplctVO vEEduAplctVO = sspnIdtmtService.findByAprvlCd(vEEduAplctReqVO);
// VO를 먼저 null 체크 진행해야 에러안남
// vEEduAplctVO != null &&
if(vEEduAplctVO != null && StringUtils.isNotEmpty(vEEduAplctVO.getAprvlCd())) {
vEPrcsDetailVODetail.setAprvlCd(vEEduAplctVO.getAprvlCd());
}
model.addAttribute("info", vEPrcsDetailVODetail);

View File

@ -0,0 +1,634 @@
package kcc.ve.instr.fndtnVisitEdu.asgnmInfo.web;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
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.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
import kcc.com.cmm.EgovMessageSource;
import kcc.com.cmm.LoginVO;
import kcc.com.cmm.service.EgovFileMngService;
import kcc.com.cmm.service.EgovFileMngUtil;
import kcc.com.cmm.service.FileVO;
import kcc.com.cmm.util.IpUtil;
import kcc.com.utl.user.service.CheckLoginUtil;
import kcc.let.uat.uia.service.SsoLoginVO;
import kcc.let.utl.fcc.service.EgovCryptoUtil;
import kcc.let.utl.fcc.service.EgovCryptoUtil4VO;
import kcc.ve.cmm.VeConstants;
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEAcmdtAplctService;
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEAsgnmMIXService;
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEInstrAsgnmVO;
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEInstrFeeAcmdtVO;
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEInstrFeeService;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduMIXService;
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailService;
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEAPrcsAplctPrdInstrAsgnmService;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEAPrcsAplctPrdInstrAsgnmVO;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsAplctPrdService;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsService;
import kcc.ve.oprtn.asgnmnoti.service.VEAsgnmNotiService;
import kcc.ve.oprtn.asgnmnoti.service.VEAsgnmNotiVO;
@Controller
public class VEFndtnAsgnmController {
// eGov 공통 메세지
@Resource(name = "egovMessageSource")
EgovMessageSource egovMessageSource;
//로그인 체크 util
@Resource(name = "checkLoginUtil")
private CheckLoginUtil checkLoginUtil;
//암복호화 유틸
@Resource(name = "egovCryptoUtil")
EgovCryptoUtil egovCryptoUtil;
//과정 관리
@Resource(name = "vEEduMIXService")
private VEEduMIXService vEEduMIXService;
//과정차시 관리
@Resource(name = "vEAPrcsAplctPrdInstrAsgnmService")
private VEAPrcsAplctPrdInstrAsgnmService vEAPrcsAplctPrdInstrAsgnmService;
//배정 MIX 정보
@Resource(name="vEAsgnmMIXService")
private VEAsgnmMIXService vEAsgnmMIXService;
//과정차시 관리
@Resource(name = "vEPrcsAplctPrdService")
private VEPrcsAplctPrdService vEPrcsAplctPrdService;
// 기반강화 강의목록(확정)
@RequestMapping("/web/ve/instr/fndtnVisitEdu/asgnmInfo/instrAsgnmList.do")
public String instrAsgnmList(
@ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO
, ModelMap model
, 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); //로그인 정보가 없으면 로그인 페이지로 이동한다.
}
model.addAttribute("ssoLoginVO", ssoLoginVO);
model.addAttribute("loginVO", loginVO);
//로그인 처리====================================
//3.pageing step1
PaginationInfo paginationInfo = this.setPagingStep1(vEPrcsDetailVO);
//4. pageing step2
vEPrcsDetailVO = this.setPagingStep2(vEPrcsDetailVO, paginationInfo);
vEPrcsDetailVO.setUserId(loginVO.getUniqId());
vEPrcsDetailVO.setInstrDiv("20");
vEPrcsDetailVO.setAprvlCd("20");
vEPrcsDetailVO.setLctrDivCd("50"); //기반강화50. 기소유예 60
vEPrcsDetailVO.setSearchDiv("ING"); // 강의내역 END 종료내역
try {
// System.out.println("session.getAttribute(menuNo).toString()");
// System.out.println(session.getAttribute("menuNo").toString());
// vEPrcsDetailVO.setMenuNo(session.getAttribute("menuNo").toString());
}catch(Exception ex) {
ex.printStackTrace();
}
//
List<VEPrcsDetailVO> vEPrcsDetailVOList = vEAsgnmMIXService.selectFndtnVisitAsgnmPagingList(vEPrcsDetailVO);
//6.pageing step3
paginationInfo = this.setPagingStep3(vEPrcsDetailVOList, paginationInfo);
model.addAttribute("paginationInfo", paginationInfo);
//대상 리스트, 페이징 정보 전달
model.addAttribute("vEPrcsDetailVOList", vEPrcsDetailVOList);
return "/web/ve/instr/fndtnVisitEdu/asgnmInfo/instrAsgnmList";
}
// 기반강화 강의목록(확정) > 상세
@RequestMapping("/web/ve/instr/fndtnVisitEdu/asgnmInfo/instrAsgnmDetail.do")
public String instrAsgnmDetail(
@ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO
, ModelMap model
, HttpServletRequest request
) throws Exception {
//로그인 처리====================================
//로그인 정보 가져오기
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
if (loginVO == null || ssoLoginVO == null) {
return checkLoginUtil.getUserLoginPage(model); //로그인 정보가 없으면 로그인 페이지로 이동한다.
}
model.addAttribute("ssoLoginVO", ssoLoginVO);
model.addAttribute("loginVO", loginVO);
//로그인 처리====================================
//과정 조회
VEPrcsDetailVO vEPrcsDetailVODetail = vEPrcsAplctPrdService.selectDetailNewOne4Fndth(vEPrcsDetailVO);
//과정 신청자 정보 가져오기
{
//해당 과정을 제출한 사용자 정보를 가져온다.
VEEduAplctVO paramVO = new VEEduAplctVO();
paramVO.setPrcsOrd(vEPrcsDetailVO.getPrcsAplctPrdOrd());
paramVO.setSbmtYn("Y");
// 검색 - 날짜
paramVO.setSearchSmbtStartDt(vEPrcsDetailVO.getSearchSmbtStartDt());
paramVO.setSearchSmbtEndDt(vEPrcsDetailVO.getSearchSmbtEndDt());
// 검색 - 검색어
paramVO.setSearchStatus(vEPrcsDetailVO.getSearchStatus());
List<VEEduAplctVO> vEPrcsDetailVOList = vEEduMIXService.selectList(paramVO);
vEPrcsDetailVOList = egovCryptoUtil.decryptVeEduAplctList(vEPrcsDetailVOList);
System.out.println("====");
//대상 리스트, 페이징 정보 전달
model.addAttribute("listPrcsAplct", vEPrcsDetailVOList);
// 신청자 반려 승인 요청 신청자 모두 포함
vEPrcsDetailVODetail.setNosCnt1(Integer.toString(vEPrcsDetailVOList.size()));
}
// 과정 조회 set
model.addAttribute("info", vEPrcsDetailVODetail);
// 강사 배치 정보
{
List<VEAPrcsAplctPrdInstrAsgnmVO> vEAPrcsAplctPrdInstrAsgnmList = vEAPrcsAplctPrdInstrAsgnmService.findByPrcsAplctPrdOrd(vEPrcsDetailVO.getPrcsAplctPrdOrd());
List<VEAPrcsAplctPrdInstrAsgnmVO> instrAsgnmList = egovCryptoUtil.decryptVEAPrcsAplctPrdInstrAsgnmVOList(vEAPrcsAplctPrdInstrAsgnmList);
model.addAttribute("instrAsgnmList", instrAsgnmList);
}
return "/web/ve/instr/fndtnVisitEdu/asgnmInfo/instrAsgnmDetail";
}
//성인강사 강의 요청 상세
/*@RequestMapping("/web/ve/instr/adultVisitEdu/asgnmInfo/instrAsgnmRqstDetail.do")
public String instrAsgnmRqstDetail(
@ModelAttribute("vEInstrAsgnmVO") VEInstrAsgnmVO vEInstrAsgnmVO
, 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); //로그인 정보가 없으면 로그인 페이지로 이동한다.
}
model.addAttribute("ssoLoginVO", ssoLoginVO);
model.addAttribute("loginVO", loginVO);
//로그인 처리====================================
VEInstrAsgnmVO vEInstrAsgnmVOInfo = vEAsgnmMIXService.selectAsgnmRqstDetail(vEInstrAsgnmVO);
vEInstrAsgnmVOInfo = egovCryptoUtil.decryptVEInstrAsgnmVO(vEInstrAsgnmVOInfo);
//대상 리스트, 페이징 정보 전달
model.addAttribute("info", vEInstrAsgnmVOInfo);
//사용자 교육신청 과정 리스트
VEPrcsDetailVO vEPrcsDetailVO = new VEPrcsDetailVO();
vEPrcsDetailVO.setUseYn("Y");
vEPrcsDetailVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_20);
List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsService.selectTngrPrcsList(vEPrcsDetailVO);
model.addAttribute("eduList", vEPrcsDetailVOList);
//강사료
VEInstrFeeAcmdtVO instrFee = new VEInstrFeeAcmdtVO();
instrFee.setEduAplctOrd(vEInstrAsgnmVO.getEduAplctOrd());
instrFee.setEduChasiOrd(vEInstrAsgnmVO.getEduChasiOrd());
instrFee = vEInstrFeeService.selectDetail(instrFee);
//강사료 제외 합계
int instrFeeSum = Integer.parseInt(instrFee.getSpecialWorkAllow())
+ Integer.parseInt(instrFee.getDistanceAllow())
+ Integer.parseInt(instrFee.getTrafficFee())
+ Integer.parseInt(instrFee.getAcmdtFee());
instrFee.setInstrFeeSum(instrFeeSum);
model.addAttribute("instrFee", instrFee);
//20220222 우영두 추가
//강의내역 NOTI 입력
VEAsgnmNotiVO vEAsgnmNotiVO = new VEAsgnmNotiVO();
vEAsgnmNotiVO.setTblUniqOrd(vEInstrAsgnmVO.getEduChasiOrd());
vEAsgnmNotiVO.setFrstRegisterId(loginVO.getUniqId());
try {
System.out.println("session.getAttribute(menuNo).toString()");
System.out.println(session.getAttribute("menuNo").toString());
vEAsgnmNotiVO.setMenuNo(session.getAttribute("menuNo").toString());
}catch(Exception ex) {
ex.printStackTrace();
}
vEAsgnmNotiVO.setUrlPath(IpUtil.getRequestURI(request));
vEAsgnmNotiService.insertAsgnmNotiInfo(vEAsgnmNotiVO);
return "/web/ve/instr/adultVisitEdu/asgnmInfo/instrAsgnmRqstDetail";
}
//성인강사 강의 추가요청 상세
@RequestMapping("/web/ve/instr/adultVisitEdu/asgnmInfo/instrAsgnmAddRqstDetail.do")
public String instrAsgnmAddRqstDetail(
@ModelAttribute("vEInstrAsgnmVO") VEInstrAsgnmVO vEInstrAsgnmVO
, 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); //로그인 정보가 없으면 로그인 페이지로 이동한다.
}
model.addAttribute("ssoLoginVO", ssoLoginVO);
model.addAttribute("loginVO", loginVO);
//로그인 처리====================================
vEInstrAsgnmVO.setUserId(loginVO.getUniqId());
VEInstrAsgnmVO vEInstrAsgnmVOInfo = vEAsgnmMIXService.selectAsgnmAddRqstDetail(vEInstrAsgnmVO);
vEInstrAsgnmVOInfo = egovCryptoUtil.decryptVEInstrAsgnmVO(vEInstrAsgnmVOInfo);
//대상 리스트, 페이징 정보 전달
model.addAttribute("info", vEInstrAsgnmVOInfo);
//사용자 교육신청 과정 리스트
VEPrcsDetailVO vEPrcsDetailVO = new VEPrcsDetailVO();
vEPrcsDetailVO.setUseYn("Y");
vEPrcsDetailVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_20);
List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsService.selectTngrPrcsList(vEPrcsDetailVO);
model.addAttribute("eduList", vEPrcsDetailVOList);
return "/web/ve/instr/adultVisitEdu/asgnmInfo/instrAsgnmAddRqstDetail";
}
//성인강사 강의확정내역 상세
@RequestMapping("/web/ve/instr/adultVisitEdu/asgnmInfo/instrAsgnmDetail.do")
public String instrAsgnmDetail(
@ModelAttribute("vEInstrAsgnmVO") VEInstrAsgnmVO vEInstrAsgnmVO
, 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); //로그인 정보가 없으면 로그인 페이지로 이동한다.
}
model.addAttribute("ssoLoginVO", ssoLoginVO);
model.addAttribute("loginVO", loginVO);
//로그인 처리====================================
vEInstrAsgnmVO.setUserId(loginVO.getUniqId());
//배정 교육 정보
VEInstrAsgnmVO vEInstrAsgnmVOInfo = vEAsgnmMIXService.selectAsgnmDetail(vEInstrAsgnmVO);
vEInstrAsgnmVOInfo = egovCryptoUtil.decryptVEInstrAsgnmVO(vEInstrAsgnmVOInfo);
//대상 리스트, 페이징 정보 전달
model.addAttribute("info", vEInstrAsgnmVOInfo);
// 강사 상세정보
VEInstrDetailVO vEInstrDetailVOInfo = new VEInstrDetailVO();
vEInstrDetailVOInfo.setInstrDiv("20");
vEInstrDetailVOInfo.setUserId(loginVO.getUniqId());
vEInstrDetailVOInfo.setUseYn("Y");
vEInstrDetailVOInfo = vEInstrDetailService.selectDetail(vEInstrDetailVOInfo);
vEInstrDetailVOInfo = egovCryptoUtil.decryptVEInstrDetailVO(vEInstrDetailVOInfo);
model.addAttribute("instrInfo", vEInstrDetailVOInfo);
//강사료 상세정보
VEInstrFeeAcmdtVO vEInstrFeeAcmdtVO = new VEInstrFeeAcmdtVO();
vEInstrFeeAcmdtVO.setEduAplctOrd(vEInstrAsgnmVO.getEduAplctOrd());
vEInstrFeeAcmdtVO.setEduChasiOrd(vEInstrAsgnmVO.getEduChasiOrd());
vEInstrFeeAcmdtVO = vEInstrFeeService.selectDetail(vEInstrFeeAcmdtVO);
//강사료 제외 합계
int instrFeeSum = Integer.parseInt(vEInstrFeeAcmdtVO.getInstrFee())
+ Integer.parseInt(vEInstrFeeAcmdtVO.getBsnsTripFee())
+ Integer.parseInt(vEInstrFeeAcmdtVO.getSpareFee());
vEInstrFeeAcmdtVO.setInstrFeeSum(instrFeeSum);
model.addAttribute("instrFee", vEInstrFeeAcmdtVO);
//강의계획서 정보 가져오기
int fileCnt = 0;
List<FileVO> result = null;
if (vEInstrAsgnmVOInfo != null) {
FileVO fileVO = new FileVO();
fileVO.setAtchFileId(vEInstrAsgnmVOInfo.getLctrPlanAtchFileId());
result = fileMngService.selectFileInfs(fileVO);
fileCnt = result.size();
}
else {
fileCnt = 0;
}
model.addAttribute("fileList", result);
model.addAttribute("fileListCnt", fileCnt);
//20220222 우영두 추가
//강의내역 NOTI 입력
VEAsgnmNotiVO vEAsgnmNotiVO = new VEAsgnmNotiVO();
vEAsgnmNotiVO.setTblUniqOrd(vEInstrAsgnmVO.getEduChasiOrd());
vEAsgnmNotiVO.setFrstRegisterId(loginVO.getUniqId());
try {
System.out.println("session.getAttribute(menuNo).toString()");
System.out.println(session.getAttribute("menuNo").toString());
vEAsgnmNotiVO.setMenuNo(session.getAttribute("menuNo").toString());
}catch(Exception ex) {
ex.printStackTrace();
vEAsgnmNotiVO.setMenuNo("9991200");
}
vEAsgnmNotiVO.setMenuNo(session.getAttribute("menuNo").toString());
vEAsgnmNotiVO.setUrlPath(IpUtil.getRequestURI(request));
vEAsgnmNotiService.insertAsgnmNotiInfo(vEAsgnmNotiVO);
return "/web/ve/instr/adultVisitEdu/asgnmInfo/instrAsgnmDetail";
}
*//**
* 강의계획서 제출 Ajax
*//*
@RequestMapping("/web/ve/instr/adultVisitEdu/asgnmInfo/lctrPlanRegAjax.do")
public ModelAndView filePopupAjax(
@ModelAttribute("vEInstrAsgnmVO") VEInstrAsgnmVO vEInstrAsgnmVO
, ModelMap model
, HttpServletRequest request
, final MultipartHttpServletRequest multiRequest
) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
//SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
//로그인 처리====================================
String atchFileId = "";
final Map<String, MultipartFile> files = multiRequest.getFileMap();
if (!files.isEmpty()) {
//XXX_로 첨부파일 네이밍
List<FileVO> result = egovFileMngUtil.parseFileInf(files, "FILE_", 0, "", "", "");
atchFileId = fileMngService.insertFileInfs(result);
}
try {
//결과 저장
vEInstrAsgnmVO.setLctrPlanAtchFileId(atchFileId);
vEAsgnmMIXService.updateLctrPlan(vEInstrAsgnmVO);
}catch(Exception ex) {
System.out.println("Exception vEAsgnmMIXService.updateLctrPlan");
}
modelAndView.addObject("result", "success");
return modelAndView;
}
*//**
* 숙박신청 등록 처리
*//*
@RequestMapping("/web/ve/instr/adultVisitEdu/asgnmInfo/acmdtRegPopAjax.do")
public ModelAndView acmdtRegPopAjax(
@ModelAttribute("vEInstrFeeAcmdtVO") VEInstrFeeAcmdtVO vEInstrFeeAcmdtVO
, ModelMap model
, HttpServletRequest request
) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
Boolean isSuccess = true;
String msg = "";
//로그인 처리====================================
//로그인 정보 가져오기
String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model);
if (!"".equals(s_oprtnLoginCheckNInfo)) {
modelAndView.addObject("result", "loginFail");
return modelAndView;
}
//로그인 처리====================================
try {
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
vEInstrFeeAcmdtVO.setFrstRegisterId(loginVO.getUniqId());
vEAcmdtAplctService.insert(vEInstrFeeAcmdtVO);
} catch (Exception ex) {
ex.printStackTrace();
isSuccess = false;
msg = ex.getMessage();
}
modelAndView.addObject("isSuccess", isSuccess);
modelAndView.addObject("msg", msg);
return modelAndView;
}
//성인강사 강의 요청 수락,거절 처리
@RequestMapping("/web/ve/instr/adultVisitEdu/asgnmInfo/instrAsgnmRqstMdfyAjax.do")
public ModelAndView instrAsgnmRqstMdfyAjax(
@ModelAttribute("vEInstrAsgnmVO") VEInstrAsgnmVO vEInstrAsgnmVO
, ModelMap model
, RedirectAttributes redirectAttributes
, HttpSession session
, HttpServletRequest request
) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
//로그인 처리====================================
//로그인 정보 가져오기
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
//로그인 처리====================================
//강사배정테이블 확정 코드 수정
vEInstrAsgnmVO.setUserId(loginVO.getUniqId());
vEAsgnmMIXService.updateAsgnmCode(vEInstrAsgnmVO);
//차시 테이블 확정 Y 업데이트 처리
if("30".equals(vEInstrAsgnmVO.getAsgnmAprvlCd())) {
vEInstrAsgnmVO.setInstrCnfrmCd("Y");
vEInstrAsgnmVO.setInstrCnfrmId(loginVO.getUniqId());
vEAsgnmMIXService.updateChasiCode(vEInstrAsgnmVO);
}else if("40".equals(vEInstrAsgnmVO.getAsgnmAprvlCd())) { //요청 거절 강사배정내역 테이블에 insert. 요청 목록에서 거절한 항목 조회를 위해(VE0025)
vEInstrAsgnmVO.setHstryCd("10"); //거절
vEAsgnmMIXService.insertAsgnmHstry(vEInstrAsgnmVO);
}else if("60".equals(vEInstrAsgnmVO.getAsgnmAprvlCd())) { //요청 거절 강사배정내역 테이블에 insert. 요청 목록에서 거절한 항목 조회를 위해(VE0025)
vEInstrAsgnmVO.setHstryCd("40"); //변경요청
vEAsgnmMIXService.insertAsgnmHstry(vEInstrAsgnmVO);
}
modelAndView.addObject("result", "success");
return modelAndView;
}
//성인강사 강의 추가요청 등록
@RequestMapping("/web/ve/instr/adultVisitEdu/asgnmInfo/instrAsgnmAddRqstAjax.do")
public ModelAndView instrAsgnmAddRqstAjax(
@ModelAttribute("vEInstrAsgnmVO") VEInstrAsgnmVO vEInstrAsgnmVO
, ModelMap model
, RedirectAttributes redirectAttributes
, HttpSession session
, HttpServletRequest request
) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
//로그인 처리====================================
//로그인 정보 가져오기
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
//로그인 처리====================================
//강사배정내역테이블 등록
vEInstrAsgnmVO.setUserId(loginVO.getUniqId());
vEAsgnmMIXService.insertAsgnmHstry(vEInstrAsgnmVO);
//차시 테이블 확정 Y 업데이트 처리
modelAndView.addObject("result", "success");
return modelAndView;
}
*/
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
//
// private function
//
//
//페이징을 위한 처리 step1 - 페이징 기본 정보 설정
private PaginationInfo setPagingStep1(
VEPrcsDetailVO p_vEPrcsDetailVO
)throws Exception{
// pageing step1
PaginationInfo paginationInfo = new PaginationInfo();
paginationInfo.setCurrentPageNo(p_vEPrcsDetailVO.getPageIndex());
paginationInfo.setRecordCountPerPage(p_vEPrcsDetailVO.getPageUnit());
paginationInfo.setPageSize(p_vEPrcsDetailVO.getPageSize());
return paginationInfo;
}
//페이징을 위한 처리 step2 - 게시물 리스트 수량 설정 검색 조건 초기화
private VEPrcsDetailVO setPagingStep2(
VEPrcsDetailVO p_vEPrcsDetailVO
, PaginationInfo p_paginationInfo
)throws Exception{
// pageing step2
p_vEPrcsDetailVO.setFirstIndex(p_paginationInfo.getFirstRecordIndex());
p_vEPrcsDetailVO.setLastIndex(p_paginationInfo.getLastRecordIndex());
p_vEPrcsDetailVO.setRecordCountPerPage(p_paginationInfo.getRecordCountPerPage());
if("".equals(p_vEPrcsDetailVO.getSearchSortCnd())){ //최초조회시 최신것 조회List
p_vEPrcsDetailVO.setSearchSortCnd("prcs_ord");
p_vEPrcsDetailVO.setSearchSortOrd("desc");
}
return p_vEPrcsDetailVO;
}
//페이징을 위한 처리 step3 - 전체 게시물 수량 설정하기
private PaginationInfo setPagingStep3(
List<VEPrcsDetailVO> p_vEPrcsDetailVOList
, PaginationInfo p_paginationInfo
)throws Exception{
// pageing step3
int totCnt = 0;
if(p_vEPrcsDetailVOList.size() > 0) totCnt = p_vEPrcsDetailVOList.get(0).getTotCnt();
p_paginationInfo.setTotalRecordCount(totCnt);
return p_paginationInfo;
}
}

View File

@ -3,6 +3,7 @@ package kcc.ve.instr.tngrVisitEdu.asgnmInfo.service;
import java.util.List;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO;
public interface VEAsgnmMIXService {
@ -120,4 +121,6 @@ public interface VEAsgnmMIXService {
//R
VEInstrAsgnmVO selectTtlMntChasiSumDetail(VEInstrAsgnmVO paramVO) throws Exception;
List<VEPrcsDetailVO> selectFndtnVisitAsgnmPagingList(VEPrcsDetailVO vEPrcsDetailVO);
}

View File

@ -148,6 +148,8 @@ public class VEInstrAsgnmVO extends ComDefaultVO implements Serializable {
private String eduPlace; //교육장소
private String prcsAplctPrdOrd; //과정신청기간순번
public String getMemoCn() {
return memoCn;
@ -734,6 +736,12 @@ public class VEInstrAsgnmVO extends ComDefaultVO implements Serializable {
public String getPnltyOrd() {
return pnltyOrd;
}
public String getPrcsAplctPrdOrd() {
return prcsAplctPrdOrd;
}
public void setPrcsAplctPrdOrd(String prcsAplctPrdOrd) {
this.prcsAplctPrdOrd = prcsAplctPrdOrd;
}
public void setPnltyOrd(String pnltyOrd) {
this.pnltyOrd = pnltyOrd;
}

View File

@ -7,6 +7,7 @@ import org.springframework.stereotype.Repository;
import egovframework.rte.psl.dataaccess.EgovAbstractDAO;
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEInstrAsgnmVO;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO;
@Repository("vEAsgnmMIXDAO")
public class VEAsgnmMIXDAO extends EgovAbstractDAO {
@ -215,4 +216,8 @@ public class VEAsgnmMIXDAO extends EgovAbstractDAO {
return (VEInstrAsgnmVO) select("VEAsgnmMIXDAO.selectTtlMntChasiSumDetail", paramVO);
}
public List<VEPrcsDetailVO> selectFndtnVisitAsgnmPagingList(VEPrcsDetailVO paramVO) {
return (List<VEPrcsDetailVO>) list("VEAsgnmMIXDAO.selectFndtnVisitAsgnmPagingList", paramVO);
}
}

View File

@ -10,6 +10,7 @@ import org.springframework.stereotype.Service;
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEAsgnmMIXService;
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEInstrAsgnmVO;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO;
@Service("vEAsgnmMIXService")
public class VEAsgnmMIXServiceImpl implements VEAsgnmMIXService {
@ -195,4 +196,9 @@ public class VEAsgnmMIXServiceImpl implements VEAsgnmMIXService {
return vEAsgnmMIXDAO.selectTtlMntChasiSumDetail(paramVO);
}
@Override
public List<VEPrcsDetailVO> selectFndtnVisitAsgnmPagingList(VEPrcsDetailVO paramVO) {
return vEAsgnmMIXDAO.selectFndtnVisitAsgnmPagingList(paramVO);
}
}

View File

@ -2,8 +2,6 @@ package kcc.ve.instr.tngrVisitEdu.prcsInfo.service;
import java.util.List;
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO;
public interface VEAPrcsAplctPrdInstrAsgnmService {
void instrInsert(VEAPrcsAplctPrdInstrAsgnmVO vEAPrcsAplctPrdInstrAsgnmVO);
@ -19,4 +17,6 @@ public interface VEAPrcsAplctPrdInstrAsgnmService {
void updateAprvlCdEduAplctDetail(VEPrcsDetailVO vEDetailVO);
void updateAplctStateCdListAjax(VEPrcsDetailVO vEPrcsDetailVO);
void updatLctrPlanAtchFileId(VEAPrcsAplctPrdInstrAsgnmVO vEAPrcsAplctPrdInstrAsgnmVO);
}

View File

@ -15,6 +15,7 @@ public class VEPrcsDetailVO extends ComDefaultVO implements Serializable {
//ve_prcs
private String searchDiv; //검색구분
private String prcsOrd; //과정순번
private String prcsDiv; //과정구분
private String prcsKind; //과정종류
@ -132,6 +133,13 @@ public class VEPrcsDetailVO extends ComDefaultVO implements Serializable {
public String getSearchDiv() {
return searchDiv;
}
public void setSearchDiv(String searchDiv) {
this.searchDiv = searchDiv;
}
public String getPrcsOrd() {
return prcsOrd;
}

View File

@ -43,4 +43,9 @@ public class VEAPrcsAplctPrdInstrAsgnmDAO extends EgovAbstractDAO {
}
public void updatLctrPlanAtchFileId(VEAPrcsAplctPrdInstrAsgnmVO vEAPrcsAplctPrdInstrAsgnmVO) {
update("VEAPrcsAplctPrdInstrAsgnmDAO.updatLctrPlanAtchFileId", vEAPrcsAplctPrdInstrAsgnmVO);
}
}

View File

@ -64,4 +64,10 @@ public class VEAPrcsAplctPrdInstrAsgnmServiceImpl implements VEAPrcsAplctPrdInst
vEAPrcsAplctPrdInstrAsgnmDAO.updateAplctStateCdListAjax(vEPrcsDetailVO);
}
@Override
public void updatLctrPlanAtchFileId(VEAPrcsAplctPrdInstrAsgnmVO vEAPrcsAplctPrdInstrAsgnmVO) {
vEAPrcsAplctPrdInstrAsgnmDAO.updatLctrPlanAtchFileId(vEAPrcsAplctPrdInstrAsgnmVO);
}
}

View File

@ -4,6 +4,7 @@
<sqlMap namespace="VEAsgnmMIX">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="VEInstrAsgnmVO" type="kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEInstrAsgnmVO"/>
<typeAlias alias="VEPrcsDetailVO" type="kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO"/>
<!-- 공통 테이블 명 -->
@ -4861,6 +4862,69 @@
</select>
<select id="VEAsgnmMIXDAO.selectFndtnVisitAsgnmPagingList" parameterClass="VEPrcsDetailVO" resultClass="VEPrcsDetailVO">
/* VEAsgnmMIXDAO.selectFndtnVisitAsgnmPagingList */
SELECT
(
SELECT
COUNT(*)
FROM
ve_edu_aplct x
WHERE
x.prcs_ord = a.prcs_aplct_prd_ord
AND x.sbmt_yn = 'Y'
) AS nosCnt1, /* 신청자 정보 */
vpap.prcs_aplct_prd_ord AS prcsAplctPrdOrd,
vpap.nos ,
vp.prcs_div AS prcsDiv,
vp.prcs_nm AS prcsNm,
vpap.edu_strt_pnttm as eduStrtPnttm,
vpap.edu_ddln_pnttm as eduDdlnPnttm,
vpap.lctr_div_cd AS lctrDivCd,
a.prcs_aplct_prd_ord AS prcsAplctPrdOrd ,
a.user_id AS userId ,
a.lctr_plan_atch_file_id AS lctrPlanAtchFileId ,
a.doc_atch_file_id AS docAtchFileId ,
a.asgnm_aprvl_cd AS asgnmAprvlCd ,
a.asgnm_aprvl_pnttm AS asgnmAprvlPnttm ,
a.asgnm_aprvl_id AS asgnmAprvlId ,
a.rmrks AS rmrks ,
a.frst_regist_pnttm AS frstRegistPnttm ,
a.frst_register_id AS frstRegisterId ,
a.last_updt_pnttm AS lastUpdtPnttm ,
a.last_updusr_id AS lastUpdusrId ,
vid.instr_nm AS instrNm ,
vid.phone
FROM
vea_prcs_aplct_prd_instr_asgnm a
LEFT JOIN ve_instr_detail vid ON
a.user_id = vid.user_id
LEFT JOIN ve_prcs_aplct_prd vpap ON
vpap.prcs_aplct_prd_ord = a.prcs_aplct_prd_ord
LEFT JOIN ve_prcs vp ON
vp.prcs_ord = vpap.prcs_ord
WHERE
1 = 1
AND vid.aprvl_cd = #aprvlCd# /* 강의 승인 20 */
AND vid.instr_div = #instrDiv# /* 성인 20 */
AND vid.use_yn = 'Y'
AND vpap.lctr_div_cd = #lctrDivCd#
/*진행 중 : 진행 예정*/
<isEqual property="searchDiv" compareValue="ING">
AND TO_CHAR(CURRENT_DATE, 'YYYYMMDD') <![CDATA[ <= ]]> REPLACE(vpap.edu_ddln_pnttm, '.' , '')
</isEqual>
/*종료*/
<isEqual property="searchDiv" compareValue="END">
AND TO_CHAR(CURRENT_DATE, 'YYYYMMDD') <![CDATA[ > ]]> REPLACE(vpap.edu_ddln_pnttm, '.' , '')
</isEqual>
OFFSET #firstIndex# ROWS FETCH NEXT #recordCountPerPage# ROWS ONLY;
</select>
<!-- //동일 일자에 강사 배정 여부 체크-->
<select id="VEAsgnmMIXDAO.selectInstrAsgnmScholCheck" parameterClass="VEInstrAsgnmVO" resultClass="VEInstrAsgnmVO">
/* VEAsgnmMIXDAO.selectInstrAsgnmScholCheck */

View File

@ -158,7 +158,16 @@
AND vid.use_yn ='Y'
</select>
<!-- 강의계획서 update -->
<update id="VEAPrcsAplctPrdInstrAsgnmDAO.updatLctrPlanAtchFileId" parameterClass="vEAPrcsAplctPrdInstrAsgnmVO">
/* VEAPrcsAplctPrdInstrAsgnmDAO.updatLctrPlanAtchFileId */
UPDATE VEA_PRCS_APLCT_PRD_INSTR_ASGNM
SET lctr_plan_atch_file_id = #lctrPlanAtchFileId#
, last_updusr_id = #lastUpdusrId#
, last_updt_pnttm = sysdate
WHERE prcs_aplct_prd_ord = #prcsAplctPrdOrd#
</update>

View File

@ -247,7 +247,7 @@
</colgroup>
<tbody>
<tr>
<th scope="row">교육부</th>
<th scope="row">교육부</th>
<td>
<ve:code codeId="VEA001" code="${info.prcsDiv}"/>
</td>

View File

@ -185,7 +185,7 @@ function instrChk(){
<div class="swiper-slide">
<div class="inner">
<div class="text_area">
<p class="sub_title">대국민 저작권 교육 서비스1</p>
<p class="sub_title">대국민 저작권 교육 서비스</p>
<p class="title">찾아가는 저작권 교육!</p>
<p class="summary">편리하고 안전한 저작권 이용환경 조성을 통해 올바른 저작권 문화 구축에 앞장서겠습니다.</p>
<a href="#none">교육신청 등록</a>
@ -195,7 +195,7 @@ function instrChk(){
<div class="swiper-slide">
<div class="inner">
<div class="text_area">
<p class="sub_title">대국민 저작권 교육 서비스2</p>
<p class="sub_title">대국민 저작권 교육 서비스</p>
<p class="title">찾아가는 저작권 교육!</p>
<p class="summary">편리하고 안전한 저작권 이용환경 조성을 통해 올바른 저작권 문화 구축에 앞장서겠습니다.</p>
<a href="#none">교육신청 등록</a>
@ -205,7 +205,7 @@ function instrChk(){
<div class="swiper-slide">
<div class="inner">
<div class="text_area">
<p class="sub_title">대국민 저작권 교육 서비스3</p>
<p class="sub_title">대국민 저작권 교육 서비스</p>
<p class="title">찾아가는 저작권 교육!</p>
<p class="summary">편리하고 안전한 저작권 이용환경 조성을 통해 올바른 저작권 문화 구축에 앞장서겠습니다.</p>
<a href="#none">교육신청 등록</a>
@ -215,7 +215,7 @@ function instrChk(){
<div class="swiper-slide">
<div class="inner">
<div class="text_area">
<p class="sub_title">대국민 저작권 교육 서비스4</p>
<p class="sub_title">대국민 저작권 교육 서비스</p>
<p class="title">찾아가는 저작권 교육!</p>
<p class="summary">편리하고 안전한 저작권 이용환경 조성을 통해 올바른 저작권 문화 구축에 앞장서겠습니다.</p>
<a href="#none">교육신청 등록</a>
@ -225,7 +225,7 @@ function instrChk(){
<div class="swiper-slide">
<div class="inner">
<div class="text_area">
<p class="sub_title">대국민 저작권 교육 서비스5</p>
<p class="sub_title">대국민 저작권 교육 서비스</p>
<p class="title">찾아가는 저작권 교육!</p>
<p class="summary">편리하고 안전한 저작권 이용환경 조성을 통해 올바른 저작권 문화 구축에 앞장서겠습니다.</p>
<a href="#none">교육신청 등록</a>
@ -258,19 +258,19 @@ function instrChk(){
<li class="banner_link_03">
<a href="#none">
<i></i>
<p>체험교실</p>
<p>저작권 체험교실</p>
</a>
</li>
<li class="banner_link_04">
<a href="#none">
<i></i>
<p>실무역량강화교육</p>
<p>기반강화연수</p>
</a>
</li>
<li class="banner_link_05">
<a href="#none">
<i></i>
<p>기소유예교육</p>
<p>기소유예</p>
</a>
</li>
</ul>

View File

@ -386,7 +386,7 @@
<input type="hidden" name="limitcount" id="limitcount" value="1" /><!-- 최대 업로드 파일갯수 -->
<div class="cont_tit">
<h2>운영신청서 작성</h2>
<h2>교육신청수정</h2>
<div class="sns_go">
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/kcccesPb/publish/images/content/facebook_icon.png" alt="페이스북 바로가기"></button>
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/kcccesPb/publish/images/content/twitter_icon.png" alt="트위터 바로가기"></button>

View File

@ -40,6 +40,11 @@
<div class="tb_tit01_left">
<p>운영신청 상세</p>
</div>
<div class="tb_tit01_right">
<div class="btn_wrap">
<button type="button" class="btnType05" onclick="nextTab('2');">다음 &#8594;</button>
</div>
</div>
</div>
<div class="tb_type01 tb_write">
<table>
@ -264,7 +269,6 @@
<div class="btn_wrap btn_layout01">
<div class="btn_left">
<button type="button" class="btnType05" onclick="location.href='<c:url value="/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmEnd/exprnClsrmEndList.do"/>'">운영 목록으로 이동</button>
</div>
<div class="btn_center">
<c:if test="${info.aprvlCd eq VeConstants.STATUS_CD_EDT_REQ or info.sbmtYn ne 'Y'}">
@ -276,7 +280,8 @@
</c:if>
</div>
<div class="btn_right">
<button type="button" class="btnType05" onclick="nextTab('2');">서류제출로 이동</button>
<button type="button" class="btnType05" onclick="location.href='<c:url value="/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmEnd/exprnClsrmEndList.do"/>'">운영 목록으로 이동</button>
<!-- <button type="button" class="btnType05" onclick="nextTab('2');">서류제출로 이동</button> -->
</div>
</div>
</div>

View File

@ -63,7 +63,7 @@
<div class="cont_wrap" id="sub">
<div class="cont_tit">
<h2>체험교실 대시보드</h2>
<h2>대시보드</h2>
</div>
<!-- 체험교실 프로세스 -->
<ul class="ex_process">

View File

@ -388,7 +388,7 @@
<input type="hidden" name="limitcount" id="limitcount" value="1" /><!-- 최대 업로드 파일갯수 -->
<div class="cont_tit">
<h2>운영신청서 작성</h2>
<h2>운영신청수정</h2>
<div class="sns_go">
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/kcccesPb/publish/images/content/facebook_icon.png" alt="페이스북 바로가기"></button>
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/kcccesPb/publish/images/content/twitter_icon.png" alt="트위터 바로가기"></button>

View File

@ -76,6 +76,12 @@
<div class="tb_tit01_left">
<p>거래선 및 서약서 정보</p>
</div>
<div class="tb_tit01_right">
<div class="btn_wrap">
<button type="button" class="btnType05" onclick="nextTab('1');">&#8592 이전</button>
<button type="button" class="btnType05" onclick="nextTab('3');">다음 &#8594;</button>
</div>
</div>
</div>
<div class="tb_type01 tb_write">
<table>
@ -119,12 +125,13 @@
</div>
<div class="btn_wrap btn_layout01">
<div class="btn_left">
<button type="button" class="btnType05" onclick="location.href='<c:url value="/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmEnd/exprnClsrmEndList.do"/>'">운영 목록으로 이동</button>
</div>
<div class="btn_center">
</div>
<div class="btn_right">
<button type="button" class="btnType05" onclick="nextTab('3');">운영계획으로 이동</button>
<button type="button" class="btnType05" onclick="location.href='<c:url value="/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmEnd/exprnClsrmEndList.do"/>'">운영 목록으로 이동</button>
<!-- <button type="button" class="btnType05" onclick="nextTab('3');">운영계획으로 이동</button> -->
</div>
</div>
</div>

View File

@ -53,6 +53,12 @@
<div class="tb_tit01_left">
<p>운영계획</p>
</div>
<div class="tb_tit01_right">
<div class="btn_wrap">
<button type="button" class="btnType05" onclick="nextTab('2');">&#8592 이전</button>
<button type="button" class="btnType05" onclick="nextTab('4');">다음 &#8594;</button>
</div>
</div>
</div>
<div class="tb_type01 tb_write">
<table>
@ -167,7 +173,7 @@
<div class="btn_wrap btn_layout01">
<div class="btn_left">
<button type="button" class="btnType05" onclick="location.href='<c:url value="/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmEnd/exprnClsrmEndList.do"/>'">운영 목록으로 이동</button>
</div>
<div class="btn_center">
<c:if test="${info.aprvlCd eq VeConstants.STATUS_CD_EDT_REQ or info.sbmtYn ne 'Y'}">
@ -179,7 +185,8 @@
</c:if>
</div>
<div class="btn_right">
<button type="button" class="btnType05" onclick="nextTab('4');">결과보고로 이동</button>
<button type="button" class="btnType05" onclick="location.href='<c:url value="/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmEnd/exprnClsrmEndList.do"/>'">운영 목록으로 이동</button>
<!-- <button type="button" class="btnType05" onclick="nextTab('4');">결과보고로 이동</button> -->
</div>
</div>
</div>

View File

@ -431,6 +431,12 @@
<div class="tb_tit01_left">
<p>결과보고</p>
</div>
<div class="tb_tit01_right">
<div class="btn_wrap">
<button type="button" class="btnType05" onclick="nextTab('3');">&#8592 이전</button>
<button type="button" class="btnType05" onclick="nextTab('5');">다음 &#8594;</button>
</div>
</div>
</div>
<c:if test="${info.exprnAprvlCd == '10'}">
<div class="tb_type01 tb_write">
@ -597,7 +603,7 @@
</c:if>
<div class="btn_wrap btn_layout01">
<div class="btn_left">
<button type="button" class="btnType05" onclick="location.href='<c:url value="/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmEnd/exprnClsrmEndList.do"/>'">운영 목록으로 이동</button>
</div>
<div class="btn_center">
<c:if test="${info.exprnAprvlCd != '10'}">
@ -609,7 +615,8 @@
<c:if test="${info.exprnAprvlCd != '10'}">
<div id="fileControl5" style="display:none"></div>
</c:if>
<button type="button" class="btnType05" onclick="nextTab('5');">최종결과로 이동</button>
<button type="button" class="btnType05" onclick="location.href='<c:url value="/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmEnd/exprnClsrmEndList.do"/>'">운영 목록으로 이동</button>
<!-- <button type="button" class="btnType05" onclick="nextTab('5');">최종결과로 이동</button> -->
</div>
</div>

View File

@ -245,6 +245,11 @@
<div class="tb_tit01_left">
<p>운영내역 상세</p>
</div>
<div class="tb_tit01_right">
<div class="btn_wrap">
<button type="button" class="btnType05" onclick="nextTab('4');">&#8592 이전</button>
</div>
</div>
</div>
<div class="tb_type01 tb_write">
<table>
@ -700,7 +705,6 @@
</c:if>
<div class="btn_wrap btn_layout01">
<div class="btn_left">
<button type="button" class="btnType05" onclick="location.href='<c:url value="/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmEnd/exprnClsrmEndList.do"/>'">운영 목록으로 이동</button>
</div>
<div class="btn_center">
<button type="button" class="btnType04" onclick="fncGoLctrAplctReg();">교육콘텐츠 신청</button>
@ -709,6 +713,7 @@
</c:if>
</div>
<div class="btn_right">
<button type="button" class="btnType05" onclick="location.href='<c:url value="/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmEnd/exprnClsrmEndList.do"/>'">운영 목록으로 이동</button>
</div>
</div>
</div>

View File

@ -34,6 +34,9 @@
function ddlnCdSttsChk(){
var $ddlnCdStts = $("#ddlnCdStts");
// 상태에따라 싱천버튼 활성화 비활성화
var regStatus = true;
// 텍스트가 비어있는지 확인
if ($ddlnCdStts.text().trim() === "") {
var dateText = $ddlnCdStts.closest('table').find("td:eq(2)").text().trim();
@ -46,10 +49,12 @@
$ddlnCdStts.text("접수전");
} else if (currentDate >= strtPnttm && currentDate <= endPnttm) {
$ddlnCdStts.text("접수중");
regStatus = false;
} else if (currentDate > endPnttm) {
$ddlnCdStts.text("접수종료");
}
}
$('#regBtn').prop('disabled', regStatus); // 버튼 비활성화
}
function fncGoList(){
@ -223,5 +228,15 @@
</tbody>
</table>
</div>
<div class="btn_wrap btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
</div>
<div class="btn_right">
<button type="button" id="regBtn" class="btnType04" onclick="fncEduReg('<c:out value="${list.prcsAplctPrdOrd}"/>');">신청</button>
</div>
</div>
</div>

View File

@ -17,6 +17,67 @@
$(document).ready(function(){
$('.tab_button').click(function(){
var type = $(this).data('info');
// list 타입이면 return;
if(type === 'list')
return false;
var data = fncEduSelect();
console.log('data : ', data);
// 월 하이라이트 체크
fn_MonthHL();
// 현재 날짜를 가져옵니다.
var today = new Date();
var currentMonth = today.getMonth() + 1;
// 데이터 추가 전 촐기화
$(".edu_program tbody").empty();
// 반복시작
$.each(data, function(index, item) {
var prcsNm = item.prcsNm;
var startDt = item.eduStrtPnttm;
// 교육 일수 구하기
var dayDiff = fn_dayDiff(item);
var newRow = $("<tr></tr>");
// prcsNm 값을 추가합니다.
newRow.append('<td class="edup_title">' + prcsNm + '</td>');
// dayDiff 값을 추가합니다.
newRow.append('<td class="edup_days">' + dayDiff + '</td>');
// 교육일정 칼럼을 초기화합니다.
for (var i = 1; i <= 12; i++) {
// 다음 월 class
var cellClass = "edup_pass"; // 기본값
// 전 월 class
if (i < currentMonth) {
cellClass = "edup_pre";
// 현재 월
} else if (i === currentMonth) {
cellClass = "edup_this";
}
if (i === parseInt(startDt.split('.')[1])) {
newRow.append('<td class="' + cellClass + '" onclick="fncGoDetail(\'' + item.prcsAplctPrdOrd + '\')" style="cursor:pointer;">' + parseInt(startDt.split('.')[2]) + '</td>');
} else {
newRow.append('<td class="' + cellClass + '"></td>');
}
}
// 테이블에 새로운 행을 추가합니다.
$(".edu_program tbody").append(newRow);
});
//-- /반복끝
});
// 상태값 확인
$(".ddlnCdStts").each(function() {
var $thisCell = $(this);
@ -38,9 +99,6 @@ $(document).ready(function(){
var ddlnCdText = '';
console.log('currentDate : ', currentDate);
console.log('strtPnttm : ', strtPnttm);
console.log('endPnttm : ', endPnttm);
console.log('');
if (currentDate < strtPnttm) {
ddlnCdText = "접수전";
@ -63,6 +121,69 @@ $(document).ready(function(){
});
function fn_dayDiff(item){
var startDt = item.eduStrtPnttm;
var endDt = item.eduDdlnPnttm;
// 날짜 문자열을 Date 객체로 변환합니다.
var startDate = new Date(startDt.split('.').join('-'));
var endDate = new Date(endDt.split('.').join('-'));
// 두 날짜 사이의 밀리초 차이를 구합니다.
var differenceInMilliseconds = endDate - startDate;
// 밀리초를 일수로 변환합니다. (1일 = 24시간 = 24 * 60분 = 24 * 60 * 60초 = 24 * 60 * 60 * 1000 밀리초)
var differenceInDays = differenceInMilliseconds / (24 * 60 * 60 * 1000);
// 시작 날짜와 종료 날짜를 모두 포함하여 계산
differenceInDays += 1;
return differenceInDays;
}
function fn_MonthHL(){
var today = new Date();
// 현재 달을 가져옵니다. (0부터 시작하므로 1을 더해줍니다.)
var currentMonth = today.getMonth() + 1;
// 해당하는 달의 <th> 요소에 'edup_this' 클래스를 추가합니다.
$("#monthTemp th:nth-child(" + currentMonth + ")").addClass("edup_this");
}
function fncEduSelect(){
var returnVal = '';
var data = new FormData(document.getElementById("selectForm"));
var url = "${pageContext.request.contextPath}/web/ve/aplct/fndtnEnhanceTrn/eduSelectAjax.do";
console.log(data);
$.ajax({
type:"POST",
url: url,
data: data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success:function(returnData){
if(returnData.result == "success"){
console.log('returnData : ', returnData);
returnVal = returnData.data;
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
return returnVal;
}
function fncEduReg(prcsAplctPrdOrd){
var regForm = document.regForm;
regForm.prcsAplctPrdOrd.value = prcsAplctPrdOrd;
@ -100,15 +221,13 @@ $(document).ready(function(){
listForm.submit();
}
function fncGoDetail(prcsAplctPrdOrd){
var viewForm = document.viewForm ;
viewForm.prcsAplctPrdOrd.value = prcsAplctPrdOrd ;
viewForm.action = "<c:url value='/web/ve/aplct/sspnIdtmt/eduAplctDetail.do'/>";
viewForm.action = "<c:url value='/web/ve/aplct/fndtnEnhanceTrn/eduAplctDetail.do'/>";
viewForm.submit();
}
function fncGoList(){
linkPage(1);
}
@ -140,6 +259,9 @@ $(document).ready(function(){
<form name="regForm" id="regForm">
<input type="hidden" name="prcsAplctPrdOrd">
</form>
<form name="selectForm" id="selectForm">
<input type="hidden" name="lctrDivCd" value="50">
</form>
<form name="viewForm" id="viewForm">
<input type="hidden" name="prcsAplctPrdOrd">
</form>
@ -151,7 +273,7 @@ $(document).ready(function(){
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="" />
<div class="cont_tit">
<h2>교육신청목록</h2>
<h2>강의목록</h2>
<div class="sns_go">
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/facebook_icon.png" alt="페이스북 바로가기"></button>
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/twitter_icon.png" alt="트위터 바로가기"></button>
@ -204,143 +326,14 @@ $(document).ready(function(){
<!-- tab -->
<ul class="tab tab_02">
<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 on"><button type="button" class="tab_button" data-info="list">리스트형</button></li>
<li class="tab_li"><button type="button" class="tab_button" data-info="cal">캘린더형</button></li>
</ul>
<div class="tab_content on">
<div class="list_top">
<div class="list_top_left">
<label for="" class="label">교육과정 선택</label>
<select class="selType1">
<option for="">전체</option>
<option for="">지난교육일정</option>
<option for="">당월교육일정</option>
<option for="">교육예정일정</option>
</select>
</div>
<div class="btn_wrap">
<div class="calendar_wrap">
<duet-date-picker identifier="date" name="searchStartDt" class="startDate hydrated" value=""></duet-date-picker>
</div>
~
<div class="calendar_wrap">
<duet-date-picker identifier="date" name="searchEndDt" class="endDate hydrated" value=""></duet-date-picker>
</div>
<script src="/offeduadvc/visitEdu/usr/publish/script/duetdatepicker.js"></script>
<button type="button" class="btnType01">검색</button>
</div>
</div>
<div class="edup_result">
<div>총 <span>6</span>개의 검색결과가 있습니다.</div>
<ul>
<li class="pass">지난교육일정</li>
<li class="this">당월교육일정</li>
<li class="pre">교육예정일정</li>
</ul>
</div>
<div class="edu_program">
<table>
<caption>교육일정표</caption>
<colgroup>
<col style="width: ;">
<col style="width: ;">
<col style="width: ;">
<col style="width:4%;">
<col style="width:4%;">
<col style="width:4%;">
<col style="width:4%;">
<col style="width:4%;">
<col style="width:4%;">
<col style="width:4%;">
<col style="width:4%;">
<col style="width:4%;">
<col style="width:4%;">
<col style="width:4%;">
<col style="width:4%;">
</colgroup>
<thead>
<tr>
<th class="first" rowspan="2">교육과정명<br/><span class="ep_text">(상세 내용을 보시려면 과정을 클릭하세요)</span></th>
<th rowspan="2">일수</th>
<th rowspan="2">시간</th>
<th colspan="12">교육일정<sapn class="ep_text">(교육 시작일)</sapn></th>
</tr>
<tr>
<th>1</th>
<th>2</th>
<th>3</th>
<th>4</th>
<th>5</th>
<th>6</th>
<th>7</th>
<th>8</th>
<th class="edup_this">9</th>
<th>10</th>
<th>11</th>
<th>12</th>
</tr>
</thead>
<tbody>
<tr>
<td class="edup_title"><a href="#">[경영기획] 경영기획기본</a></td>
<td class="edup_days">2</td>
<td class="edup_time">14</td>
<td class="edup_pass"></td>
<td class="edup_pass">15,22</td>
<td class="edup_pass"></td>
<td class="edup_pass">2</td>
<td class="edup_pass"></td>
<td class="edup_pass">24</td>
<td class="edup_pass"></td>
<td class="edup_pass">22</td>
<td class="edup_this">8</td>
<td class="edup_pre">14</td>
<td class="edup_pre">27</td>
<td class="edup_pre"></td>
</tr>
<tr>
<td class="edup_title"><a href="#">[경영기획] 경영기획기본</a></td>
<td class="edup_days">2</td>
<td class="edup_time">14</td>
<td class="edup_pass"></td>
<td class="edup_pass">15,22</td>
<td class="edup_pass"></td>
<td class="edup_pass">2</td>
<td class="edup_pass"></td>
<td class="edup_pass">24</td>
<td class="edup_pass"></td>
<td class="edup_pass">22</td>
<td class="edup_this">8</td>
<td class="edup_pre">14</td>
<td class="edup_pre">27</td>
<td class="edup_pre"></td>
</tr>
<tr>
<td class="edup_title"><a href="#">[경영기획] 경영기획기본</a></td>
<td class="edup_days">2</td>
<td class="edup_time">14</td>
<td class="edup_pass"></td>
<td class="edup_pass">15,22</td>
<td class="edup_pass"></td>
<td class="edup_pass">2</td>
<td class="edup_pass"></td>
<td class="edup_pass">24</td>
<td class="edup_pass"></td>
<td class="edup_pass">22</td>
<td class="edup_this">8</td>
<td class="edup_pre">14</td>
<td class="edup_pre">27</td>
<td class="edup_pre"></td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="tab_content">
<div class="list_top">
<div class="list_top_left">
<label for="searchStatus2" class="label">신청상태 선택</label>
@ -453,5 +446,87 @@ $(document).ready(function(){
<ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" />
</div>
</div>
<div class="tab_content">
<!--
<div class="list_top">
<div class="list_top_left">
<label for="" class="label">교육과정 선택</label>
<select class="selType1">
<option for="">전체</option>
<option for="">지난교육일정</option>
<option for="">당월교육일정</option>
<option for="">교육예정일정</option>
</select>
</div>
<div class="btn_wrap">
<div class="calendar_wrap">
<duet-date-picker identifier="date" name="searchStartDt" class="startDate hydrated" value=""></duet-date-picker>
</div>
~
<div class="calendar_wrap">
<duet-date-picker identifier="date" name="searchEndDt" class="endDate hydrated" value=""></duet-date-picker>
</div>
<script src="/offeduadvc/visitEdu/usr/publish/script/duetdatepicker.js"></script>
<button type="button" class="btnType01">검색</button>
</div>
</div>
-->
<div class="edup_result">
<div>총 <span>6</span>개의 검색결과가 있습니다.</div>
<ul>
<li class="pass">지난교육일정</li>
<li class="this">당월교육일정</li>
<li class="pre">교육예정일정</li>
</ul>
</div>
<div class="edu_program">
<table>
<caption>교육일정표</caption>
<colgroup>
<col style="width: ;">
<col style="width: ;">
<col style="width:4%;">
<col style="width:4%;">
<col style="width:4%;">
<col style="width:4%;">
<col style="width:4%;">
<col style="width:4%;">
<col style="width:4%;">
<col style="width:4%;">
<col style="width:4%;">
<col style="width:4%;">
<col style="width:4%;">
<col style="width:4%;">
</colgroup>
<thead>
<tr>
<th class="first" rowspan="2">교육과정명<br/><span class="ep_text">(상세 내용을 보시려면 과정을 클릭하세요)</span></th>
<th rowspan="2">일수</th>
<th colspan="12">교육일정<sapn class="ep_text">(교육 시작일)</sapn></th>
</tr>
<tr id="monthTemp">
<th>1</th>
<th>2</th>
<th>3</th>
<th>4</th>
<th>5</th>
<th>6</th>
<th>7</th>
<th>8</th>
<th>9</th>
<th>10</th>
<th>11</th>
<th>12</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
</div>
</form:form>
</div>

View File

@ -28,11 +28,18 @@
// 상태값 확인
ddlnCdSttsChk();
$("#regBtn").click(function(){
var regForm = document.regForm;
regForm.prcsAplctPrdOrd.value = $(this).data('info');
});
});
function ddlnCdSttsChk(){
var $ddlnCdStts = $("#ddlnCdStts");
var $ddlnCdStts = $(".ddlnCdStts");
// 상태에따라 싱천버튼 활성화 비활성화
var regStatus = true;
// 텍스트가 비어있는지 확인
if ($ddlnCdStts.text().trim() === "") {
@ -46,23 +53,21 @@
$ddlnCdStts.text("접수전");
} else if (currentDate >= strtPnttm && currentDate <= endPnttm) {
$ddlnCdStts.text("접수중");
regStatus = false;
} else if (currentDate > endPnttm) {
$ddlnCdStts.text("접수종료");
}
}
console.log('regStatus : ', regStatus);
$('#regBtn').prop('disabled', regStatus); // 버튼 비활성화
}
function fncGoList(){
var listForm = document.listForm ;
listForm.action = "<c:url value='/web/ve/aplct/adultVisitEdu/eduAplct/eduAplctList.do'/>";
listForm.action = "<c:url value='/web/ve/aplct/sspnIdtmt/eduAplctList.do'/>";
listForm.submit();
}
function fncGoEdit(){
var linkForm = document.linkForm ;
linkForm.action = "<c:url value='/web/ve/aplct/adultVisitEdu/eduAplct/eduAplctMdfy.do'/>";
linkForm.submit();
}
function fncSendSubmit(){
if(confirm("제출 하시겠습니까?")){
@ -111,6 +116,42 @@
}
}
// 대상자 이름, 생년월일, 대상자TB ID
function fncEduReg(trgtNm, dBirth, sspnIdtmtTrgtOrd){
var form = document.regForm;
form.trgtNm.value = trgtNm;
form.dBirth.value = dBirth;
form.sspnIdtmtTrgtOrd.value = sspnIdtmtTrgtOrd;
var data = new FormData(document.getElementById("regForm"));
if(confirm("신청하시겠습니까?")){
var url = "${pageContext.request.contextPath}/web/ve/aplct/sspnIdtmt/eduRegAjax.do";
console.log(data);
$.ajax({
type:"POST",
url: url,
data: data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success:function(returnData){
if(returnData.result == "success"){
alert("저장되었습니다.");
fncGoList();
}else{
alert("교육 신청에 실패하였습니다.\n담당자에게 문의해 주세요.");
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
}
function fncGoDetail(){
var linkForm = document.linkForm ;
linkForm.action = "<c:url value='/web/ve/aplct/adultVisitEdu/eduAplct/eduAplctDetail.do'/>";
@ -127,9 +168,74 @@
, "chrgInfoUpdatePop"
);
}
function fn_confirm(){
var form = document.confirmForm;
var dBirth = $('#dBirth').val().replace(/\./g, '');
var trgtNm = $('#trgtNm').val();
form.trgtNm.value = trgtNm;
form.dBirth.value = dBirth;
var data = new FormData(document.getElementById("confirmForm"));
var url = "${pageContext.request.contextPath}/web/ve/aplct/sspnIdtmt/userConfirmAjax.do";
$.ajax({
type:"POST",
url: url,
data: data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success:function(returnData){
console.log('returnData : ', returnData);
if(returnData.result == "success"){
// 대상자 테이블 pk 값
var sspnIdtmtTrgtOrd = returnData.id;
if(sspnIdtmtTrgtOrd != ''){
alert("확인되었습니다.");
// 교육 신청 ajax
// 대상자 이름, 생년월일, 대상자TB ID
fncEduReg(trgtNm, dBirth, sspnIdtmtTrgtOrd);
} else {
alert("대상자에 없습니다.");
}
}else{
alert("대상자에 없습니다.");
}
fn_target_confirm_clean();
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
$('#target_confirm_popup-close').click();
}
</script>
<form name="regForm" id="regForm">
<input type="hidden" name="prcsAplctPrdOrd">
<input type="hidden" name="sspnIdtmtTrgtOrd"> <!-- 대상자 테이블 PK -->
<input type="hidden" name="trgtNm">
<input type="hidden" name="dBirth">
</form>
<form name="confirmForm" id="confirmForm">
<input type="hidden" name="trgtNm">
<input type="hidden" name="dBirth">
</form>
<div class="cont_wrap" id="sub">
<div class="cont_tit">
<h2>교육신청 상세</h2>
@ -216,12 +322,78 @@
</tr>
<tr>
<th scope="row">상태</th>
<td id="ddlnCdStts">
<ve:code codeId="VEA004" code="${info.ddlnCd}"/>
<td class="ddlnCdStts">
<c:choose>
<c:when test="${not empty info.aprvlCd}">
<kc:code codeId="VE0003" code="${info.aprvlCd}"/>
</c:when>
<c:otherwise>
<kc:code codeId="VEA004" code="${info.ddlnCd}"/>
</c:otherwise>
</c:choose>
</td>
</tr>
</tbody>
</table>
</div>
<div class="btn_wrap btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
</div>
<div class="btn_right" class="aplctBtn">
<button type="button" class="btnType04" id="regBtn" data-info="<c:out value="${info.prcsAplctPrdOrd}"/>" data-tooltip="target_confirm_popup" >신청</button>
</div>
</div>
</div>
<!-- 교육대상자 확인 -->
<div class="tooltip-wrap">
<div class="popup_wrap popType01" tabindex="0" data-tooltip-con="target_confirm_popup" data-focus="target_confirm_popup" data-focus-prev="target_confirm_popup_close">
<div class="popup_tit">
<p>교육대상자 확인</p>
<button class="btn_popup_close tooltip-close" data-focus="target_confirm_popup_close" title="팝업 닫기"><i></i></button>
</div>
<div class="popup_cont">
<div class="cont_body">
<div class="pop_tb_type01" style="overflow:visible;">
<table>
<colgroup>
<col style="width:38%;">
<col style="width:auto;">
</colgroup>
<tr>
<th>성명</th>
<td>
<input type="text" id="trgtNm">
</td>
</tr>
<tr>
<th>주민번호앞자리</th>
<td>
<div class="calendar_wrap">
<duet-date-picker identifier="date" id="dBirth" class="startDate" id="" min="1940-01-01"></duet-date-picker>
</div>
<script src="${pageContext.request.contextPath}/visitEdu/usr/publish/script/duetdatepicker2.js"></script>
</td>
</tr>
</table>
</div>
<div class="pop_btn_wrap btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
<button type="button" class="btnType05" onclick="fn_confirm()">제출</button>
<button type="button" class="btnType02 tooltip-close" id="target_confirm_popup-close" data-focus="target_confirm_popup-close" data-focus-next="target_confirm_popup">취소</button>
</div>
<div class="btn_right">
</div>
</div>
</div>
</div>
</div>
</div>
<!--// 신청 클릭 > 기소유예 대상자 확인 팝업 -->

View File

@ -17,6 +17,65 @@
$(document).ready(function(){
$('.tab_button').click(function(){
var type = $(this).data('info');
// list 타입이면 return;
if(type === 'list')
return false;
var data = fncEduSelect();
console.log('data : ', data);
// 월 하이라이트 체크
fn_MonthHL();
// 현재 날짜를 가져옵니다.
var today = new Date();
var currentMonth = today.getMonth() + 1;
// 데이터 추가 전 촐기화
$(".edu_program tbody").empty();
// 반복시작
$.each(data, function(index, item) {
var prcsNm = item.prcsNm;
var startDt = item.eduStrtPnttm;
// 교육 일수 구하기
var dayDiff = fn_dayDiff(item);
var newRow = $("<tr></tr>");
// prcsNm 값을 추가합니다.
newRow.append('<td class="edup_title">' + prcsNm + '</td>');
// dayDiff 값을 추가합니다.
newRow.append('<td class="edup_days">' + dayDiff + '</td>');
// 교육일정 칼럼을 초기화합니다.
for (var i = 1; i <= 12; i++) {
// 다음 월 class
var cellClass = "edup_pass"; // 기본값
// 전 월 class
if (i < currentMonth) {
cellClass = "edup_pre";
// 현재 월
} else if (i === currentMonth) {
cellClass = "edup_this";
}
if (i === parseInt(startDt.split('.')[1])) {
newRow.append('<td class="' + cellClass + '" onclick="fncGoDetail(\'' + item.prcsAplctPrdOrd + '\')" style="cursor:pointer;">' + parseInt(startDt.split('.')[2]) + '</td>');
} else {
newRow.append('<td class="' + cellClass + '"></td>');
}
}
// 테이블에 새로운 행을 추가합니다.
$(".edu_program tbody").append(newRow);
});
//-- /반복끝
});
$(".aplctBtn button").click(function(){
var regForm = document.regForm;
regForm.prcsAplctPrdOrd.value = $(this).data('info');
@ -42,9 +101,6 @@ $(document).ready(function(){
var ddlnCdText = '';
console.log('currentDate : ', currentDate);
console.log('strtPnttm : ', strtPnttm);
console.log('endPnttm : ', endPnttm);
console.log('');
if (currentDate < strtPnttm) {
ddlnCdText = "접수전";
@ -102,6 +158,67 @@ $(document).ready(function(){
}
}
function fn_dayDiff(item){
var startDt = item.eduStrtPnttm;
var endDt = item.eduDdlnPnttm;
// 날짜 문자열을 Date 객체로 변환합니다.
var startDate = new Date(startDt.split('.').join('-'));
var endDate = new Date(endDt.split('.').join('-'));
// 두 날짜 사이의 밀리초 차이를 구합니다.
var differenceInMilliseconds = endDate - startDate;
// 밀리초를 일수로 변환합니다. (1일 = 24시간 = 24 * 60분 = 24 * 60 * 60초 = 24 * 60 * 60 * 1000 밀리초)
var differenceInDays = differenceInMilliseconds / (24 * 60 * 60 * 1000);
// 시작 날짜와 종료 날짜를 모두 포함하여 계산
differenceInDays += 1;
return differenceInDays;
}
function fn_MonthHL(){
var today = new Date();
// 현재 달을 가져옵니다. (0부터 시작하므로 1을 더해줍니다.)
var currentMonth = today.getMonth() + 1;
// 해당하는 달의 <th> 요소에 'edup_this' 클래스를 추가합니다.
$("#monthTemp th:nth-child(" + currentMonth + ")").addClass("edup_this");
}
function fncEduSelect(){
var returnVal = '';
var data = new FormData(document.getElementById("selectForm"));
var url = "${pageContext.request.contextPath}/web/ve/aplct/fndtnEnhanceTrn/eduSelectAjax.do";
console.log(data);
$.ajax({
type:"POST",
url: url,
data: data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success:function(returnData){
if(returnData.result == "success"){
console.log('returnData : ', returnData);
returnVal = returnData.data;
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
return returnVal;
}
function linkPage(pageNo){
var listForm = document.listForm ;
listForm.pageIndex.value = pageNo ;
@ -132,8 +249,6 @@ $(document).ready(function(){
function fn_confirm(){
console.log('??');
var form = document.confirmForm;
var dBirth = $('#dBirth').val().replace(/\./g, '');
var trgtNm = $('#trgtNm').val();
@ -195,6 +310,9 @@ $(document).ready(function(){
<!-- content -->
<div class="cont_wrap" id="sub">
<form name="selectForm" id="selectForm">
<input type="hidden" name="lctrDivCd" value="60">
</form>
<form name="confirmForm" id="confirmForm">
<input type="hidden" name="trgtNm">
<input type="hidden" name="dBirth">
@ -216,7 +334,7 @@ $(document).ready(function(){
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="" />
<div class="cont_tit">
<h2>교육신청목록1</h2>
<h2>강의목록</h2>
<div class="sns_go">
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/facebook_icon.png" alt="페이스북 바로가기"></button>
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/twitter_icon.png" alt="트위터 바로가기"></button>
@ -225,142 +343,11 @@ $(document).ready(function(){
<!-- tab -->
<ul class="tab tab_02">
<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 on"><button type="button" class="tab_button" data-info="list">리스트형</button></li>
<li class="tab_li"><button type="button" class="tab_button" data-info="cal">캘린더형</button></li>
</ul>
<div class="tab_content on">
<div class="list_top">
<div class="list_top_left">
<label for="" class="label">교육과정 선택</label>
<select class="selType1">
<option for="">전체</option>
<option for="">지난교육일정</option>
<option for="">당월교육일정</option>
<option for="">교육예정일정</option>
</select>
</div>
<div class="btn_wrap">
<div class="calendar_wrap">
<duet-date-picker identifier="date" name="searchStartDt" class="startDate hydrated" value=""></duet-date-picker>
</div>
~
<div class="calendar_wrap">
<duet-date-picker identifier="date" name="searchEndDt" class="endDate hydrated" value=""></duet-date-picker>
</div>
<button type="button" class="btnType01">검색</button>
</div>
</div>
<div class="edup_result">
<div>총 <span>6</span>개의 검색결과가 있습니다.</div>
<ul>
<li class="pass">지난교육일정</li>
<li class="this">당월교육일정</li>
<li class="pre">교육예정일정</li>
</ul>
</div>
<div class="edu_program">
<table>
<caption>교육일정표</caption>
<colgroup>
<col style="width: ;">
<col style="width: ;">
<col style="width: ;">
<col style="width:4%;">
<col style="width:4%;">
<col style="width:4%;">
<col style="width:4%;">
<col style="width:4%;">
<col style="width:4%;">
<col style="width:4%;">
<col style="width:4%;">
<col style="width:4%;">
<col style="width:4%;">
<col style="width:4%;">
<col style="width:4%;">
</colgroup>
<thead>
<tr>
<th class="first" rowspan="2">교육과정명<br/><span class="ep_text">(상세 내용을 보시려면 과정을 클릭하세요)</span></th>
<th rowspan="2">일수</th>
<th rowspan="2">시간</th>
<th colspan="12">교육일정<sapn class="ep_text">(교육 시작일)</sapn></th>
</tr>
<tr>
<th>1</th>
<th>2</th>
<th>3</th>
<th>4</th>
<th>5</th>
<th>6</th>
<th>7</th>
<th>8</th>
<th class="edup_this">9</th>
<th>10</th>
<th>11</th>
<th>12</th>
</tr>
</thead>
<tbody>
<tr>
<td class="edup_title"><a href="#">[경영기획] 경영기획기본</a></td>
<td class="edup_days">2</td>
<td class="edup_time">14</td>
<td class="edup_pass"></td>
<td class="edup_pass">15,22</td>
<td class="edup_pass"></td>
<td class="edup_pass">2</td>
<td class="edup_pass"></td>
<td class="edup_pass">24</td>
<td class="edup_pass"></td>
<td class="edup_pass">22</td>
<td class="edup_this">8</td>
<td class="edup_pre">14</td>
<td class="edup_pre">27</td>
<td class="edup_pre"></td>
</tr>
<tr>
<td class="edup_title"><a href="#">[경영기획] 경영기획기본</a></td>
<td class="edup_days">2</td>
<td class="edup_time">14</td>
<td class="edup_pass"></td>
<td class="edup_pass">15,22</td>
<td class="edup_pass"></td>
<td class="edup_pass">2</td>
<td class="edup_pass"></td>
<td class="edup_pass">24</td>
<td class="edup_pass"></td>
<td class="edup_pass">22</td>
<td class="edup_this">8</td>
<td class="edup_pre">14</td>
<td class="edup_pre">27</td>
<td class="edup_pre"></td>
</tr>
<tr>
<td class="edup_title"><a href="#">[경영기획] 경영기획기본</a></td>
<td class="edup_days">2</td>
<td class="edup_time">14</td>
<td class="edup_pass"></td>
<td class="edup_pass">15,22</td>
<td class="edup_pass"></td>
<td class="edup_pass">2</td>
<td class="edup_pass"></td>
<td class="edup_pass">24</td>
<td class="edup_pass"></td>
<td class="edup_pass">22</td>
<td class="edup_this">8</td>
<td class="edup_pre">14</td>
<td class="edup_pre">27</td>
<td class="edup_pre"></td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="tab_content">
<div class="list_top">
<div class="list_top_left">
<label for="searchStatus2" class="label">신청상태 선택</label>
@ -473,6 +460,88 @@ $(document).ready(function(){
<ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" />
</div>
</div>
<div class="tab_content">
<!-- <div class="list_top">
<div class="list_top_left">
<label for="" class="label">교육과정 선택</label>
<select class="selType1">
<option for="">전체</option>
<option for="">지난교육일정</option>
<option for="">당월교육일정</option>
<option for="">교육예정일정</option>
</select>
</div>
<div class="btn_wrap">
<div class="calendar_wrap">
<duet-date-picker identifier="date" name="searchStartDt" class="startDate hydrated" value=""></duet-date-picker>
</div>
~
<div class="calendar_wrap">
<duet-date-picker identifier="date" name="searchEndDt" class="endDate hydrated" value=""></duet-date-picker>
</div>
<button type="button" class="btnType01">검색</button>
</div>
</div> -->
<div class="edup_result">
<div>총 <span>6</span>개의 검색결과가 있습니다.</div>
<ul>
<li class="pass">지난교육일정</li>
<li class="this">당월교육일정</li>
<li class="pre">교육예정일정</li>
</ul>
</div>
<div class="edu_program">
<table>
<caption>교육일정표</caption>
<colgroup>
<col style="width: ;">
<col style="width: ;">
<col style="width:4%;">
<col style="width:4%;">
<col style="width:4%;">
<col style="width:4%;">
<col style="width:4%;">
<col style="width:4%;">
<col style="width:4%;">
<col style="width:4%;">
<col style="width:4%;">
<col style="width:4%;">
<col style="width:4%;">
<col style="width:4%;">
</colgroup>
<thead>
<tr>
<th class="first" rowspan="2">교육과정명<br/><span class="ep_text">(상세 내용을 보시려면 과정을 클릭하세요)</span></th>
<th rowspan="2">일수</th>
<th colspan="12">교육일정<sapn class="ep_text">(교육 시작일)</sapn></th>
</tr>
<tr id="monthTemp">
<th>1</th>
<th>2</th>
<th>3</th>
<th>4</th>
<th>5</th>
<th>6</th>
<th>7</th>
<th>8</th>
<th>9</th>
<th>10</th>
<th>11</th>
<th>12</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
</div>
</form:form>
</div>

View File

@ -55,7 +55,7 @@
</div> -->
<div class="cont_wrap">
<div class="cont_tit">
<h2>교육기반강화연수</h2>
<h2>기소유예</h2>
<div class="sns_go">
<button type="button" title="새창열림"><img
src="/offeduadvc/visitEdu/usr/publish/images/content/facebook_icon.png" alt="페이스북 바로가기"><a href="https://www.facebook.com/koreacopyright" target="_blank"></a></button>

View File

@ -13,6 +13,9 @@
<% pageContext.setAttribute("replaceChar", "\n"); %>
<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>
<style>
input:disabled {
background-color: #f9f9f9 !important;
@ -179,6 +182,16 @@
});
}
function filePopupLayer(type){
commonPopLayeropen(
"${pageContext.request.contextPath}/web/ve/comm/popup/fileUploadPop.do"
, 650
, 464
, {'eduAplctOrd' : '<c:out value='${info.eduAplctOrd}'/>','fileType' : type}
, "Y"
, "fileUploadPop"
);
}
</script>
<form:form id="listForm" name="listForm" commandName="vEEduAplctVO" onsubmit="return false;" method="post">
@ -773,8 +786,64 @@
</c:if>
</tbody>
</table>
</div>
<c:set var="instrYn" value="N"/>
<c:forEach items="${chasiList}" var="list">
<c:if test="${not empty list.instrNm}">
<c:set var="instrYn" value="Y" />
</c:if>
</c:forEach>
<c:if test="${instrYn eq 'Y'}">
<div class="tb_tit01">
<div class="tb_tit01_left">
<p>필요양식</p>
</div>
</div>
<div class="btn_wrap"><input type="text" /> <button type="button" class="btnType05 data-tooltip="sub35_pop01" id="OATH" onclick="filePopupLayer('OATH')" title="팝업 열림">필요양식 업로드</button></div>
<div class="tb_type02">
<table>
<%-- <caption>교육차시 정보 교육희망일, 시간, 구분, 대상, 배정강사, 인원 을/를 제공하는 표</caption> --%>
<colgroup>
<col style="width: 18%;">
<col style="width: auto;">
<col style="width: 11%;">
</colgroup>
<thead>
<tr>
<th scope="col">파일</th>
<th scope="col">강사명</th>
<th scope="col">제출여부</th>
</tr>
</thead>
<tbody>
<tr>
<th>
범죄경력조회 동의서
</th>
<td>
청소년강사1
</td>
<td>
동의서.zip
</td>
</tr>
<tr>
<th>
범죄경력조회 동의서
</th>
<td>
청소년강사2
</td>
<td>
미제출
</td>
</tr>
</tbody>
</table>
<p style="color:gray;font-size:14px;padding-top:30px;">* 확정된 교육에 대한 변경은 위원회를 통해 진행 부탁드립니다.</p>
</div>
</c:if>
<div class="btn_wrap btn_layout01">
<div class="btn_left">

View File

@ -671,7 +671,7 @@
<div class="cont_tit">
<h2>교육신청</h2>
<h2>교육신청수정</h2>
<div class="sns_go">
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/facebook_icon.png" alt="페이스북 바로가기"></button>
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/twitter_icon.png" alt="트위터 바로가기"></button>

View File

@ -791,7 +791,7 @@ var psblFlag = "Y";//학생 신청가능기간여부 체크
<div class="cont_tit">
<h2>교육신청</h2>
<h2>교육신청등록</h2>
<div class="sns_go">
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/facebook_icon.png" alt="페이스북 바로가기"></button>
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/twitter_icon.png" alt="트위터 바로가기"></button>

View File

@ -72,7 +72,7 @@
<input type="hidden" name="eduChasiOrd" id="eduChasiOrd" value="<c:out value='${info.eduChasiOrd}'/>"/> <!-- 교육차시 순번 -->
<input type="hidden" name="hstryCd" id="hstryCd" value=""/> <!-- 배정내역 코드 -->
<div class="cont_tit">
<h2>성인 강의 추가요청 상세</h2>
<h2>강의추가요청상세</h2>
<div class="sns_go">
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/facebook_icon.png" alt="페이스북 바로가기"></button>
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/twitter_icon.png" alt="트위터 바로가기"></button>

View File

@ -109,7 +109,7 @@
<input type="hidden" name="limitcount" id="limitcount" value="1" /><!-- 최대 업로드 파일갯수 -->
<div class="cont_tit">
<h2>성인 강의내역 상세</h2>
<h2>강의내역상세</h2>
<div class="sns_go">
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/facebook_icon.png" alt="페이스북 바로가기"></button>
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/twitter_icon.png" alt="트위터 바로가기"></button>

View File

@ -52,7 +52,7 @@
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="" />
<input type="hidden" name="eduChasiOrd" id="eduChasiOrd" value="" />
<div class="cont_tit">
<h2>성인 강의내역 목록</h2>
<h2>강의내역목록</h2>
<div class="sns_go">
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/facebook_icon.png" alt="페이스북 바로가기"></button>
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/twitter_icon.png" alt="트위터 바로가기"></button>

View File

@ -87,7 +87,7 @@
<input type="hidden" name="eduChasiOrd" id="eduChasiOrd" value="<c:out value='${info.eduChasiOrd}'/>"/> <!-- 교육차시 순번 -->
<input type="hidden" name="asgnmAprvlCd" id="asgnmAprvlCd" value=""/> <!-- 배정테이블의 확정코드 -->
<div class="cont_tit">
<h2>성인 강의 요청 상세</h2>
<h2>강의요청상세</h2>
<div class="sns_go">
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/facebook_icon.png" alt="페이스북 바로가기"></button>
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/twitter_icon.png" alt="트위터 바로가기"></button>

View File

@ -52,7 +52,7 @@
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="" />
<input type="hidden" name="eduChasiOrd" id="eduChasiOrd" value="" />
<div class="cont_tit">
<h2>성인 강의 요청 목록</h2>
<h2>강의요청목록</h2>
<div class="sns_go">
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/facebook_icon.png" alt="페이스북 바로가기"></button>
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/twitter_icon.png" alt="트위터 바로가기"></button>

View File

@ -142,7 +142,7 @@ $( document ).ready(function() {
<div class="cont_tit">
<h2>성인 강의 종료교육 상세</h2>
<h2>종료교육상세</h2>
<div class="sns_go">
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/facebook_icon.png" alt="페이스북 바로가기"></button>
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/twitter_icon.png" alt="트위터 바로가기"></button>

View File

@ -58,7 +58,7 @@
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="" />
<input type="hidden" name="eduChasiOrd" id="eduChasiOrd" value="" />
<div class="cont_tit">
<h2>성인 강의 종료교육 목록</h2>
<h2>종료교육목록</h2>
<div class="sns_go">
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/facebook_icon.png" alt="페이스북 바로가기"></button>
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/twitter_icon.png" alt="트위터 바로가기"></button>

View File

@ -37,7 +37,7 @@
<!-- cont -->
<div class="cont_wrap" id="sub">
<div class="cont_tit">
<h2>성인저작권강사 대시보드</h2>
<h2>강사대시보드</h2>
<div class="sns_go">
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/facebook_icon.png" alt="페이스북 바로가기"></button>
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/twitter_icon.png" alt="트위터 바로가기"></button>

View File

@ -0,0 +1,228 @@
<!DOCTYPE html>
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%
%>
<html lang="ko">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript">
</script>
<title>강의배정팝업</title>
<script type="text/javaScript" language="javascript">
function fncPopClose(){
var activeTarget = $('[data-tooltip-con="sub52_pop01"]');
activeTarget.hide();
$('[data-tooltip="sub52_pop01"]').focus();
}
// 저장
function setDataSave(){
if($("#aplctCn").val() == "") {
alert("신청사유 내용을 입력해주세요");
return;
}
if (confirm("저장 하시겠습니까?")) {
$.ajax({
type: "POST",
url: "${pageContext.request.contextPath}/kccadr/oprtn/adultVisitEdu/popup/eduAcmdtAplctPopupAjax.do",
data: $("#createForm").serialize(),
dataType:'json',
async: false,
success: function (data, status) {
if (data.isSuccess == true) {
alert("정상적으로 저장 되었습니다.");
// 닫기
location.reload();
} else {
alert("Msg : " + data.msg);
}
},
error : function(xhr, status, error) {
alert("Err : " + JSON.stringify(status));
}
});
}
}
</script>
</head>
<body>
<form:form id="createForm" name="createForm" method="post" commandName="vEEduRprtVO" onsubmit="return false;">
<input type="hidden" name="eduAplctOrd" value="<c:out value="${vEInstrAsgnmVO.eduAplctOrd}" />" />
<input type="hidden" name="eduChasiOrd" value="<c:out value="${vEInstrAsgnmVO.eduChasiOrd}" />" />
<input type="hidden" name="sbmtYn" id="sbmtYn" value="" />
<div class="popup_wrap popType02" tabindex="0" data-tooltip-con="sub52_pop01" data-focus="sub52_pop01" data-focus-prev="sub52_pop01_close">
<div class="popup_tit">
<p>숙박신청</p><button class="btn_popup_close tooltip-close" data-focus="sub52_pop01_close" onclick="fncPopClose(); return false;" title="팝업 닫기"><i></i></button>
</div>
<div class="popup_cont">
<div class="pop_tb_type01">
<table>
<caption>숙박신청 (th)를 제공하는 표</caption>
<colgroup>
<col style="width: 120px;">
<col style="width: auto">
<col style="width: 120px;">
<col style="width: auto">
</colgroup>
<tbody>
<tr class="trLength4">
<th scope="row">
<p>성명</p>
</th>
<td><c:out value='${info.instrNm}' /></td>
<th scope="row">
<p>거주지</p>
</th>
<td><c:out value='${info.rsdne}' /></td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>성명</p>
</th>
<td colspan="3"><c:out value='${info.instrNm}' /></td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>거주지</p>
</th>
<td colspan="3"><c:out value='${info.rsdne}' /></td>
</tr>
<tr>
<th scope="row">
<p>학교명</p>
</th>
<td colspan="3"><c:out value='${info.scholInsttNm}' /></td>
</tr>
<tr>
<th scope="row">
<p>학교주소</p>
</th>
<td colspan="3"><c:out value='${info.addr}' /><c:out value='${info.addrDetail}' /></td>
</tr>
<tr class="trLength4">
<th scope="row">
<p>강의일자</p>
</th>
<td><c:out value='${info.eduHopeDt}' /></td>
<th scope="row">
<p>첫 강의시간</p>
</th>
<td>
<fmt:parseDate value="${info.strtTm}" var="strtTm" pattern="kkmm"/><fmt:formatDate value="${strtTm}" pattern="kk:mm"/>
~<fmt:parseDate value="${info.endTm}" var="endTm" pattern="kkmm"/><fmt:formatDate value="${endTm}" pattern="kk:mm"/>
</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>강의일자</p>
</th>
<td colspan="3"><c:out value='${info.eduHopeDt}' /></td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>첫 강의시간</p>
</th>
<td>
<fmt:parseDate value="${info.strtTm}" var="strtTm" pattern="kkmm"/><fmt:formatDate value="${strtTm}" pattern="kk:mm"/>
~<fmt:parseDate value="${info.endTm}" var="endTm" pattern="kkmm"/><fmt:formatDate value="${endTm}" pattern="kk:mm"/>
</td>
</tr>
<c:if test="${!empty acmdtAplctYesterday}">
<tr class="trLength4">
<th scope="row">
<p>전날 강의여부</p>
</th>
<td>
Y
</td>
<th scope="row">
<p>전날 학교명</p>
</th>
<td>
<c:out value="${acmdtAplctYesterday.scholInsttNm}" />
</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>전날 강의여부</p>
</th>
<td colspan="3">
Y
</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>전날 학교명</p>
</th>
<td colspan="3">
<c:out value="${acmdtAplctYesterday.scholInsttNm}" />
</td>
</tr>
<tr>
<th scope="row">
<p>전날 학교주소</p>
</th>
<td colspan="3">
<c:out value="${acmdtAplctYesterday.addr}" />
</td>
</tr>
</c:if>
<tr>
<th scope="row">
<p>신청사유</p>
</th>
<td colspan="3">
<c:out value='${info.aplctCn}' />
</td>
</tr>
<tr>
<th scope="row">
<p>처리결과</p>
</th>
<td colspan="3">
<ve:code codeId="VE0023" code="${info.aprvlCd}"/>
</td>
</tr>
<tr>
<th scope="row">
<p>미승인 사유</p>
</th>
<td colspan="3">
<td colspan="3"><c:out value='${info.aprvlCn}' /></td>
</td>
</tr>
</tbody>
</table>
</div>
<div class="pop_btn_wrap btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
</div>
<div class="btn_right">
<button type="button" class="btnType02 tooltip-close" data-focus="sub52_pop01-close" onclick="fncPopClose(); return false;" data-focus-next="sub52_pop01">취소</button>
</div>
</div>
</div>
</div>
</form:form>
</body>
</html>

View File

@ -0,0 +1,214 @@
<!DOCTYPE html>
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%
%>
<html lang="ko">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript">
</script>
<title>강의배정팝업</title>
<script type="text/javaScript" language="javascript">
function fncPopClose(){
var activeTarget = $('[data-tooltip-con="sub51_pop01"]');
activeTarget.hide();
$('[data-tooltip="sub51_pop01"]').focus();
}
// 저장
function setDataSave(){
if($("#aplctCn").val() == "") {
alert("신청사유 내용을 입력해주세요");
return;
}
if (confirm("저장 하시겠습니까?")) {
$.ajax({
type: "POST",
url: "${pageContext.request.contextPath}/web/ve/instr/adultVisitEdu/asgnmInfo/acmdtRegPopAjax.do",
data: $("#createForm").serialize(),
dataType:'json',
async: false,
success: function (data, status) {
if (data.isSuccess == true) {
alert("정상적으로 저장 되었습니다.");
// 닫기
location.reload();
} else {
alert("Msg : " + data.msg);
}
},
error : function(xhr, status, error) {
alert("Err : " + JSON.stringify(status));
}
});
}
}
</script>
</head>
<body>
<form:form id="createForm" name="createForm" method="post" commandName="vEInstrFeeAcmdtVO" onsubmit="return false;">
<input type="hidden" name="eduAplctOrd" value="<c:out value="${vEInstrFeeAcmdtVO.eduAplctOrd}" />" />
<input type="hidden" name="eduChasiOrd" value="<c:out value="${vEInstrFeeAcmdtVO.eduChasiOrd}" />" />
<input type="hidden" name="sbmtYn" id="sbmtYn" value="" />
<div class="popup_wrap popType02" tabindex="0" data-tooltip-con="sub51_pop01" data-focus="sub51_pop01" data-focus-prev="sub51_pop01_close">
<div class="popup_tit">
<p>숙박신청</p><button class="btn_popup_close tooltip-close" data-focus="sub51_pop01_close" onclick="fncPopClose(); return false;" title="팝업 닫기"><i></i></button>
</div>
<div class="popup_cont">
<div class="pop_tb_type01">
<table>
<caption>숙박신청 (th)를 제공하는 표</caption>
<colgroup>
<col style="width: 120px;">
<col style="width: auto">
<col style="width: 120px;">
<col style="width: auto">
</colgroup>
<tbody>
<tr class="trLength4">
<th scope="row">
<p>성명</p>
</th>
<td><c:out value='${info.instrNm}' /></td>
<th scope="row">
<p>거주지</p>
</th>
<td><c:out value='${info.rsdne}' /></td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>성명</p>
</th>
<td colspan="3"><c:out value='${info.instrNm}' /></td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>거주지</p>
</th>
<td colspan="3"><c:out value='${info.rsdne}' /></td>
</tr>
<tr>
<th scope="row">
<p>학교명</p>
</th>
<td colspan="3"><c:out value='${info.scholInsttNm}' /></td>
</tr>
<tr>
<th scope="row">
<p>학교주소</p>
</th>
<td colspan="3"><c:out value='${info.addr}' /><c:out value='${info.addrDetail}' /></td>
</tr>
<tr class="trLength4">
<th scope="row">
<p>강의일자</p>
</th>
<td><c:out value='${info.eduHopeDt}' /></td>
<th scope="row">
<p>첫 강의시간</p>
</th>
<td>
<fmt:parseDate value="${info.strtTm}" var="strtTm" pattern="kkmm"/><fmt:formatDate value="${strtTm}" pattern="kk:mm"/>
~<fmt:parseDate value="${info.endTm}" var="endTm" pattern="kkmm"/><fmt:formatDate value="${endTm}" pattern="kk:mm"/>
</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>강의일자</p>
</th>
<td colspan="3"><c:out value='${info.eduHopeDt}' /></td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>첫 강의시간</p>
</th>
<td>
<fmt:parseDate value="${info.strtTm}" var="strtTm" pattern="kkmm"/><fmt:formatDate value="${strtTm}" pattern="kk:mm"/>
~<fmt:parseDate value="${info.endTm}" var="endTm" pattern="kkmm"/><fmt:formatDate value="${endTm}" pattern="kk:mm"/>
</td>
</tr>
<c:if test="${!empty acmdtAplctYesterday}">
<tr class="trLength4">
<th scope="row">
<p>전날 강의여부</p>
</th>
<td>
Y
</td>
<th scope="row">
<p>전날 학교명</p>
</th>
<td>
<c:out value="${acmdtAplctYesterday.scholInsttNm}" />
</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>전날 강의여부</p>
</th>
<td colspan="3">
Y
</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>전날 학교명</p>
</th>
<td colspan="3">
<c:out value="${acmdtAplctYesterday.scholInsttNm}" />
</td>
</tr>
<tr>
<th scope="row">
<p>전날 학교주소</p>
</th>
<td colspan="3">
<c:out value="${acmdtAplctYesterday.addr}" />
</td>
</tr>
</c:if>
<tr>
<th scope="row">
<p>신청사유</p>
</th>
<td colspan="3">
<textarea name="aplctCn" id="aplctCn" class="cmm_cmt" cols="30" rows="3" placeholder="메모를 작성해주세요"></textarea>
</td>
</tr>
</tbody>
</table>
</div>
<div class="pop_btn_wrap btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
<button type="button" class="btnType05" onclick="setDataSave(); return false;">제출</button>
</div>
<div class="btn_right">
<button type="button" class="btnType02 tooltip-close" data-focus="sub51_pop01-close" onclick="fncPopClose(); return false;" data-focus-next="sub51_pop01">취소</button>
</div>
</div>
</div>
</div>
</form:form>
</body>
</html>

View File

@ -0,0 +1,234 @@
<%@ page contentType="text/html; charset=utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<!DOCTYPE html>
<html lang="ko">
<head>
<title>강사프로필 목록</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<script type="text/javaScript" language="javascript">
function fncGoCreate() {
$("#listForm").attr("action","${pageContext.request.contextPath}/web/kccadr/accdnt/acd/adjstChangeDateCreate.do").submit();
}
function fncRqst(){
if(confirm("강의신청 하시겠습니까?")){
$("#hstryCd").val("50"); //배정내역코드 - 강의신청
var data = new FormData(document.getElementById("detailForm"));
$.ajax({
type: "POST",
enctype: 'multipart/form-data',
url: "${pageContext.request.contextPath}/web/ve/instr/adultVisitEdu/asgnmInfo/instrAsgnmAddRqstAjax.do",
data: data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success: function (returnData, status) {
if(status == 'success'){
alert("강의신청 완료하였습니다.");
fncGoList();
} else if(status== 'fail'){
alert("강의신청 실패하였습니다.");
}
},
error: function (e) { alert("강의신청 실패하였습니다."); console.log("ERROR : ", e); }
});
}
}
function fncGoList(){
var detailForm = document.detailForm;
detailForm.action = "<c:url value='/web/ve/instr/adultVisitEdu/asgnmInfo/instrAsgnmAddRqstList.do'/>";
detailForm.submit();
}
function goReqStatus(){
$("#listForm").attr("action","${pageContext.request.contextPath}/web/ve/instr/adultVisitEdu/instrInfo/instrPrflReg.do").submit();
}
</script>
</head>
<body>
<!-- cont -->
<div class="cont_wrap" id="sub">
<form:form id="detailForm" name="detailForm" commandName="vEInstrAsgnmVO" method="post" >
<input type="hidden" name="pageIndex" value="<c:out value='${vEInstrAsgnmVO.pageIndex}'/>"/>
<input type="hidden" name="searchStartDt" value="<c:out value="${vEInstrAsgnmVO.searchStartDt}" />" />
<input type="hidden" name="searchEndDt" value="<c:out value="${vEInstrAsgnmVO.searchEndDt}" />" />
<input type="hidden" name="searchKeyword" value="<c:out value="${vEInstrAsgnmVO.searchKeyword}" />" />
<input type="hidden" name="userId" id="userId" value="<c:out value='${info.userId}'/>"/> <!-- 사용자 아이디 -->
<input type="hidden" name="instrDiv" id="instrDiv" value="<c:out value='${info.instrDiv}'/>"/> <!-- 강사구분 -->
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="<c:out value='${info.eduAplctOrd}'/>"/> <!-- 교육신청 순번 -->
<input type="hidden" name="eduChasiOrd" id="eduChasiOrd" value="<c:out value='${info.eduChasiOrd}'/>"/> <!-- 교육차시 순번 -->
<input type="hidden" name="hstryCd" id="hstryCd" value=""/> <!-- 배정내역 코드 -->
<div class="cont_tit">
<h2>강의추가요청상세</h2>
<div class="sns_go">
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/facebook_icon.png" alt="페이스북 바로가기"></button>
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/twitter_icon.png" alt="트위터 바로가기"></button>
</div>
</div>
<div class="tit_box">
<i class="tit_box_icon1"></i>
<div>
<p>찾아가는 저작권 교육</p>
<span>‘찾아가는 저작권 교육’은 저작권 교육이 필요한 <span>전국 초ㆍ중ㆍ고등학교, 청소년ㆍ아동복지ㆍ노인ㆍ장애인 기관 및 단체 등</span>에 직접 방문하여 무료로 강의를 지원하는 맞춤형 교육 서비스입니다.</span>
</div>
</div>
<div class="tb_type01 tb_write">
<table>
<caption>성인 강의 추가요청 상세 (th 명)을 보여주는 표</caption>
<colgroup>
<col style="width: 220px;">
<col style="width: auto;">
<col style="width: 220px;">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<th scope="row">
<p>교육일시</p>
</th>
<td>${fn:substring(info.eduHopeDt,0,4)}년 ${fn:substring(info.eduHopeDt,4,6)}월 ${fn:substring(info.eduHopeDt,6,8)}일</td>
<th scope="row">
<p>차시</p>
</th>
<td>
<fmt:parseDate value="${info.strtTm}" var="strtTm" pattern="kkmm"/><fmt:formatDate value="${strtTm}" pattern="kk:mm"/>
~<fmt:parseDate value="${info.endTm}" var="endTm" pattern="kkmm"/><fmt:formatDate value="${endTm}" pattern="kk:mm"/>
(<c:out value='${info.lrnTm}'/>분)
</td>
</tr>
<tr class="trLength4">
<th scope="row">
<p>기관명</p>
</th>
<td>${info.scholInsttNm}</td>
<th scope="row">
<p>지역</p>
</th>
<td><ve:code codeId="VE0008" code="${info.eduSlctAreaCd}"/></td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>기관명</p>
</th>
<td colspan="3">${info.scholInsttNm}</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>지역</p>
</th>
<td colspan="3"><ve:code codeId="VE0008" code="${info.eduSlctAreaCd}"/></td>
</tr>
<tr>
<th scope="row">
<p>주소</p>
</th>
<td colspan="3">${info.addr}</td>
</tr>
<tr>
<th scope="row">
<p>교육내용</p>
</th>
<td colspan="3">
<c:forEach var="eduList" items="${eduList}" varStatus="status">
<c:if test="${fn:contains(info.eduCn, eduList.prcsOrd)}">
- ${eduList.prcsNm} <br/>
</c:if>
</c:forEach>
</td>
</tr>
<tr class="trLength4">
<th scope="row">
<p>교육대상</p>
</th>
<td>${info.trgt}</td>
<th scope="row">
<p>인원</p>
</th>
<td>${info.prsnl}</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>교육대상</p>
</th>
<td colspan="3">${info.trgt}</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>인원</p>
</th>
<td colspan="3">${info.prsnl}</td>
</tr>
<tr>
<th scope="row">
<p>신청자</p>
</th>
<td colspan="3">${info.chrgNm}</td>
</tr>
<tr class="trLength4">
<th scope="row">
<p>연락처</p>
</th>
<td>${info.phone}</td>
<th scope="row">
<p>휴대전화</p>
</th>
<td>${info.clphone}</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>연락처</p>
</th>
<td colspan="3">${info.phone}</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>휴대전화</p>
</th>
<td colspan="3">${info.clphone}</td>
</tr>
<tr>
<th scope="row">
<p>이메일</p>
</th>
<td colspan="3">${info.email}</td>
</tr>
<tr>
<th scope="row">
<p>신청마감일</p>
</th>
<td colspan="3">*미구현</td>
</tr>
</tbody>
</table>
</div>
<div class="btn_wrap btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
<c:if test="${info.asgnmAprvlCd eq '50' and (empty info.hstryCd or info.hstryCd eq '10')}">
<button type="button" class="btnType04 m_btn_block" onclick="fncRqst(); return false;">강의신청</button>
</c:if>
</div>
<div class="btn_right">
<button type="button" class="btnType02 m_btn_block" onclick="fncGoList(); return false;">목록</button>
</div>
</div>
</form:form>
</div>
</body>
</html>

View File

@ -0,0 +1,259 @@
<%@ page contentType="text/html; charset=utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<title>강사프로필 목록</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<script type="text/javaScript" language="javascript">
function fncGoDetail(eduAplctOrd,eduChasiOrd){
$("#eduAplctOrd").val(eduAplctOrd);
$("#eduChasiOrd").val(eduChasiOrd);
$("#listForm").attr("action","${pageContext.request.contextPath}/web/ve/instr/adultVisitEdu/asgnmInfo/instrAsgnmAddRqstDetail.do").submit();
}
function fncRqst(eduAplctOrd,eduChasiOrd){
if(confirm("강의신청 하시겠습니까?")){
$("#hstryCd").val("50"); //배정내역코드 - 강의신청
$("#eduAplctOrd").val(eduAplctOrd); //배정내역코드 - 강의신청
$("#eduChasiOrd").val(eduChasiOrd); //배정내역코드 - 강의신청
var data = new FormData(document.getElementById("listForm"));
$.ajax({
type: "POST",
enctype: 'multipart/form-data',
url: "${pageContext.request.contextPath}/web/ve/instr/adultVisitEdu/asgnmInfo/instrAsgnmAddRqstAjax.do",
data: data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success: function (returnData, status) {
if(status == 'success'){
alert("강의신청 완료하였습니다.");
location.reload();
} else if(status== 'fail'){
alert("강의신청 실패하였습니다.");
}
},
error: function (e) { alert("강의신청 실패하였습니다."); console.log("ERROR : ", e); }
});
}
event.stopImmediatePropagation();
}
function linkPage(pageNo){
var listForm = document.listForm ;
listForm.pageIndex.value = pageNo ;
listForm.action = "<c:url value='/web/ve/instr/adultVisitEdu/asgnmInfo/instrAsgnmAddRqstList.do'/>";
listForm.submit();
}
function goReqStatus(){
$("#listForm").attr("action","${pageContext.request.contextPath}/web/ve/instr/adultVisitEdu/instrInfo/instrPrflReg.do").submit();
}
function fncReset(thisObj){
var targetObj = $(thisObj).closest('.list_top').find('select,input');
$.each(targetObj, function(){
$(this).val('');
});
}
</script>
</head>
<body>
<!-- cont -->
<div class="cont_wrap" id="sub">
<form:form id="listForm" name="listForm" commandName="vEInstrAsgnmVO">
<input type="hidden" name="pageIndex" value="<c:out value='${vEInstrAsgnmVO.pageIndex}' default='1' />"/>
<input type="hidden" name="searchSortCnd" value="<c:out value="${vEInstrAsgnmVO.searchSortCnd}" />" />
<input type="hidden" name="searchSortOrd" value="<c:out value="${vEInstrAsgnmVO.searchSortOrd}" />" />
<input type="hidden" name="searchStatus" value="<c:out value="${vEInstrAsgnmVO.searchStatus}" />" />
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="" />
<input type="hidden" name="eduChasiOrd" id="eduChasiOrd" value="" />
<input type="hidden" name="hstryCd" id="hstryCd" value="" />
<div class="cont_tit">
<h2>성인 강의 추가요청 목록</h2>
<div class="sns_go">
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/facebook_icon.png" alt="페이스북 바로가기"></button>
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/twitter_icon.png" alt="트위터 바로가기"></button>
</div>
</div>
<div class="list_top">
<div class="list_top_left">
</div>
<div class="btn_wrap">
<div class="calendar_wrap">
<%-- <input type="text" name="searchEduHopeStartDt" value="${vEInstrAsgnmVO.searchEduHopeStartDt}" class="calendar" title="시작일 선택"> --%>
<duet-date-picker identifier="date" name="searchEduHopeStartDt" class="startDate" value="${vEInstrAsgnmVO.searchEduHopeStartDt}"></duet-date-picker>
</div>
~
<div class="calendar_wrap">
<%-- <input type="text" name="searchEduHopeEndDt" value="${vEInstrAsgnmVO.searchEduHopeEndDt}" class="calendar" title="종료일 선택"> --%>
<duet-date-picker identifier="date" name="searchEduHopeEndDt" class="endDate" value="${vEInstrAsgnmVO.searchEduHopeEndDt}"></duet-date-picker>
</div>
<script src="${pageContext.request.contextPath}/visitEdu/usr/publish/script/duetdatepicker.js"></script>
&nbsp;&nbsp;학교(기관)명 :&nbsp;
<input type="text" name="searchKeyword" id="searchKeyword" value="<c:out value='${vEInstrAsgnmVO.searchKeyword}' />" />
<button type="button" class="btnType01" onclick="linkPage(1)">검색</button>
<button type="button" class="btnType02" onclick="fncReset(this);">초기화</button>
</div>
</div>
<div class="tb_list01">
<table>
<colgroup>
<col style="width: 8%;">
<col style="width: 15%;">
<col style="width: 8%;">
<col style="width: auto">
<col style="width: 10%;">
<col style="width: 15%;">
<col style="width: 12%;">
<col style="width: 12%;">
</colgroup>
<thead>
<tr>
<th scope="col">번호</th>
<th scope="col">교육일자<!-- <button type="button">▼</button> --></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>
<c:forEach var="list" items="${vEInstrAsgnmVOList}" varStatus="status">
<fmt:parseDate value="${list.eduHopeDt}" var="eduHopeDt" pattern="yyyyMMdd"/> <!-- 요일 구하기 -->
<tr onclick="fncGoDetail('<c:out value="${list.eduAplctOrd}"/>', '<c:out value="${list.eduChasiOrd}"/>');" style="cursor:pointer;">
<th scope="row">
<p>
<c:if test="${vEInstrAsgnmVO.searchSortOrd eq 'desc' }">
<c:out value="${ ( paginationInfo.totalRecordCount - ((paginationInfo.currentPageNo -1)*paginationInfo.recordCountPerPage) ) - status.index }"/>
</c:if>
<c:if test="${vEInstrAsgnmVO.searchSortOrd eq 'asc' }">
<c:out value="${(paginationInfo.currentPageNo - 1) * paginationInfo.recordCountPerPage + status.count}"/>
</c:if>
</p>
</th>
<td><p>${fn:substring(list.eduHopeDt,0,4)}-${fn:substring(list.eduHopeDt,4,6)}-${fn:substring(list.eduHopeDt,6,8)}</p></td>
<td><p><fmt:formatDate value="${eduHopeDt}" pattern="E"/></p></td>
<td><p>
<fmt:parseDate value="${list.strtTm}" var="strtTm" pattern="kkmm"/><fmt:formatDate value="${strtTm}" pattern="kk:mm"/>
~<fmt:parseDate value="${list.endTm}" var="endTm" pattern="kkmm"/><fmt:formatDate value="${endTm}" pattern="kk:mm"/>
(<c:out value='${list.lrnTm}'/>분)
</p>
</td>
<td><p><ve:code codeId="VE0008" code="${list.eduSlctAreaCd}"/></p></td>
<td><p><c:out value='${list.scholInsttNm}'/></p></td>
<td><p><c:out value='${list.trgt}'/></p></td>
<td>
<span class="app_status1">
<c:if test="${list.asgnmAprvlCd eq '50'}"> <!-- 내역 테이블의 코드 50(추가요청)일 시 -->
<c:if test="${list.hstryCd eq '10' or empty list.hstryCd}"> <!-- 내역 코드 10(요청 강의 수락거절) or 내역 코드 없을 시(강의추가신청 전) -->
<button type="button" class="btnType06" onclick="fncRqst('<c:out value="${list.eduAplctOrd}"/>', '<c:out value="${list.eduChasiOrd}"/>'); return flase;">강의신청</button>
</c:if>
<c:if test="${list.hstryCd eq '50'}"> <!-- 내역 코드 50(강의추가신청) -->
<p>선정대기</p>
</c:if>
</c:if>
<c:if test="${list.asgnmAprvlCd ne '50'}"> <!-- 내역 테이블의 코드 50(추가요청)이 아닐 시 -->
<c:if test="${list.hstryCd eq '20'}"> <!-- 내역 코드 20(요청 강의 선정완료)) -->
<p>선정완료</p>
</c:if>
<c:if test="${list.hstryCd eq '30'}"> <!-- 내역 코드 30(요청 강의 선정제외)) -->
<p>선정제외</p>
</c:if>
</c:if>
</span>
</td>
</tr>
</c:forEach>
<c:if test="${empty vEInstrAsgnmVOList}">
<tr><td colspan="8"><spring:message code="common.nodata.msg" /></td></tr>
</c:if>
</tbody>
</table>
</div>
<div class="tb_list01_m">
<c:forEach var="list" items="${vEInstrAsgnmVOList}" varStatus="status">
<fmt:parseDate value="${list.eduHopeDt}" var="eduHopeDt" pattern="yyyyMMdd"/> <!-- 요일 구하기 -->
<ul onclick="fncGoDetail('<c:out value="${list.eduAplctOrd}"/>', '<c:out value="${list.eduChasiOrd}"/>');">
<li>
<span>번호</span>
<span><c:out value='${status.count}'/></span>
</li>
<li>
<span>교육일자</span>
<span>${fn:substring(list.eduHopeDt,0,4)}-${fn:substring(list.eduHopeDt,4,6)}-${fn:substring(list.eduHopeDt,6,8)}</span>
</li>
<li>
<span>요일</span>
<span><fmt:formatDate value="${eduHopeDt}" pattern="E"/></span>
</li>
<li>
<span>시간</span>
<span>
<fmt:parseDate value="${list.strtTm}" var="strtTm" pattern="kkmm"/><fmt:formatDate value="${strtTm}" pattern="kk:mm"/>
~<fmt:parseDate value="${list.endTm}" var="endTm" pattern="kkmm"/><fmt:formatDate value="${endTm}" pattern="kk:mm"/>
(<c:out value='${list.lrnTm}'/>분)
</span>
</li>
<li>
<span>지역</span>
<span><ve:code codeId="VE0008" code="${list.eduSlctAreaCd}"/></span>
</li>
<li>
<span>기관명</span>
<span><c:out value='${list.scholInsttNm}'/></span>
</li>
<li>
<span>교육대상</span>
<span><c:out value='${list.trgt}'/></span>
</li>
<li>
<span>신청상태</span>
<span><span class="app_status1">
<c:if test="${list.asgnmAprvlCd eq '50'}"> <!-- 내역 테이블의 코드 50(추가요청)일 시 -->
<c:if test="${list.hstryCd eq '10' or empty list.hstryCd}"> <!-- 내역 코드 10(요청 강의 수락거절) or 내역 코드 없을 시(강의추가신청 전) -->
<button type="button">강의신청</button>
</c:if>
<c:if test="${list.hstryCd eq '50'}"> <!-- 내역 코드 50(강의추가신청) -->
<p>강의신청</p>
</c:if>
</c:if>
<c:if test="${list.asgnmAprvlCd ne '50'}"> <!-- 내역 테이블의 코드 50(추가요청)이 아닐 시 -->
<c:if test="${list.hstryCd eq '20'}"> <!-- 내역 코드 20(요청 강의 선정완료)) -->
<p>선정완료</p>
</c:if>
<c:if test="${list.hstryCd eq '30'}"> <!-- 내역 코드 30(요청 강의 선정제외)) -->
<p>선정제외</p>
</c:if>
</c:if>
</span></span>
</li>
</ul>
</c:forEach>
<c:if test="${empty vEInstrAsgnmVOList}">
<ul><li colspan="8"><spring:message code="common.nodata.msg" /></li></ul>
</c:if>
</div>
<div class="page">
<ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" />
</form:form>
</div>
</body>
</html>

View File

@ -0,0 +1,366 @@
<%@ page contentType="text/html; charset=utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<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>
#lctrPlan{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(/offeduadvc/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">
//강의계획서 업로드
var control1 = new Object();
var urlBase = "<c:url value='/innorix/exam/'/>"
$( document ).ready(function() {
$(".btn_add_file").on('click', function(){
$("#file_temp").click();
});
$('#file_temp').change(function(e){
var objUpload = $(".upload_area");
var files = $('#file_temp')[0].files;
handleFileUpload(files,objUpload); //파일업로드
if($("#file_temp").length > 0){
$("#file_temp").val(""); //파일지우기
}
});
//강의계획서 컨트롤 생성
control1 = innorix.create({
el : '#lctrPlan', // 컨트롤 출력 객체 ID
installUrl: '<c:url value="/innorix/install/install.html" />', // Agent 설치 페이지
uploadUrl: '<c:url value="/innorix/exam/upload.jsp?el=lctrPlan" />', // 업로드 URL
maxFileCount : 1, // 첨부가능 파일 전체 개수
width : 870, // 컨트롤 출력 너비(pixel)
height : 80, // 컨트롤 출력 높이(pixel)
allowExtension : ["txt","xls","xlsx","png","jpg","jpeg","doc","ppt","hwp","pdf","zip"],
useContextMenu : 'false' //우클릭을 이용한 개별 업로드 방지
});
//파일 추가 이벤트
control1.on('afterAddFiles', function (p) {
$('.lctrPlan_totalfileSize').text(getStrFileSize(p[0].fileSize)) ;
$('.lctrPlan_totalfileCount').text(p.length);
});
//파일 삭제 이벤트
control1.on('removeFiles', function (p) {
$('.lctrPlan_totalfileSize').text('0MB') ;
$('.lctrPlan_totalfileCount').text('0');
if(control1Tmprr == 'Y'){
if(confirm("삭제하시겠습니까?")){
innorixDelRprtAtchFile(p[0].uniqueFileName, 'lctrPlan_rslt_atch_file_id')
control1Tmprr = 'N';
control1Chg = 'Y';
$("#control1DownBtn").css('display', 'none');
}else{
return false;
}
}
});
//첨부파일 업로드 후속조치
control1.on('uploadComplete', function (p) {
/* fn_callBackInnorixInsert(p.files); */
var data = p.files;
var url = "<c:url value='/web/common/insertInnorixLctrPlanFileAjax.do' />";
var sendData = {
"prcsAplctPrdOrd": $('#prcsAplctPrdOrd').val()
, "innorixFileListVO": data
, "successMsg" : "제출 완료되었습니다."
}
if(fn_innorixCmmAjax(sendData, url) == "OK")
{
alert("업로드 완료");
}
});
});
function fncGoList(){
var detailForm = document.detailForm;
detailForm.action = "<c:url value='/web/ve/instr/adultVisitEdu/asgnmInfo/instrAsgnmList.do'/>";
detailForm.submit();
}
function fileSave(){
if(control1.getFileCount() == 0){
alert("강의계획서를 첨부해주세요.")
return false;
}
//upload.jsp에서 /app/doc/offedu/sht/로 다시 set. context-properties.xml에서 파일 경로도 /app/doc/offedu/sht/
var postObj = new Object();
postObj.innoDirPath = $('#innoDirPath').val();
control1.setPostData(postObj); // 업로드시 함께 전달될 POST Param 추가
control1.upload();
}
</script>
</head>
<body>
<!-- cont -->
<div class="cont_wrap" id="sub">
<form:form id="detailForm" name="detailForm" commandName="vEPrcsDetailVO" method="post" >
<input type="hidden" name="pageIndex" value="<c:out value='${vEPrcsDetailVO.pageIndex}'/>"/>
<input type="hidden" name="searchEduHopeStartDt" value="<c:out value="${vEPrcsDetailVO.searchEduHopeStartDt}" />" />
<input type="hidden" name="searchEduHopeEndDt" value="<c:out value="${vEPrcsDetailVO.searchEduHopeEndDt}" />" />
<input type="hidden" name="searchKeyword" value="<c:out value="${vEPrcsDetailVO.searchKeyword}" />" />
<input type="hidden" name="userId" id="userId" value="<c:out value='${info.userId}'/>"/> <!-- 사용자 아이디 -->
<input type="hidden" name="instrDiv" id="instrDiv" value="<c:out value='${info.instrDiv}'/>"/> <!-- 강사구분 -->
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="<c:out value='${info.eduAplctOrd}'/>"/> <!-- 교육신청 순번 -->
<input type="hidden" name="eduChasiOrd" id="eduChasiOrd" value="<c:out value='${info.eduChasiOrd}'/>"/> <!-- 교육차시 순번 -->
<input type="hidden" name="hstryCd" id="hstryCd" value=""/> <!-- 배정내역 코드 -->
<input type="hidden" name="limitcount" id="limitcount" value="1" /><!-- 최대 업로드 파일갯수 -->
<input type="hidden" name="prcsAplctPrdOrd" id="prcsAplctPrdOrd" value="<c:out value='${info.prcsAplctPrdOrd}'/>"/> /><!-- 최대 업로드 파일갯수 -->
<input type="hidden" id="innoDirPath" value="<spring:eval expression="@globalSettings['Globals.Innorix.FilePath']"/>" />
<div class="cont_tit">
<h2>강의내역상세</h2>
<div class="sns_go">
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/facebook_icon.png" alt="페이스북 바로가기"></button>
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/twitter_icon.png" alt="트위터 바로가기"></button>
</div>
</div>
<div class="tb_tit01">
<div class="tb_tit01_left">
<p>교육과정 정보</p>
</div>
</div>
<div class="tb_type01 tb_write">
<table>
<caption>교육과정 정보(th 명)을 보여주는 표</caption>
<colgroup>
<col style="width: 220px;">
<col style="width: auto;">
<col style="width: 220px;">
<col style="width: auto;">
</colgroup>
<tbody>
<tr class="trLength4">
<th scope="row">
<p>교육부문</p>
</th>
<td>
<ve:code codeId="VEA001" code="${info.prcsDiv}"/>
</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>교육부문</p>
</th>
<td colspan="3"><ve:code codeId="VEA001" code="${info.prcsDiv}"/></td>
</tr>
<tr class="trLength4">
<th scope="row">
<p>과정</p>
</th>
<td>
<c:out value="${info.prcsNm}"/>
</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>과정</p>
</th>
<td colspan="3"><c:out value="${info.prcsNm}"/></td>
</tr>
<tr class="trLength4">
<th scope="row">
<p>기간</p>
</th>
<td>
<c:out value="${info.eduStrtPnttm}"/>~<c:out value="${info.eduDdlnPnttm}"/>
</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>기간</p>
</th>
<td colspan="3"><c:out value="${info.strtPnttm}"/>~<c:out value="${info.endPnttm}"/></td>
</tr>
<tr class="trLength4">
<th scope="row">
<p>교육장소</p>
</th>
<td>
<c:out value="${info.eduPlace}"/>
</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>교육장소</p>
</th>
<td colspan="3"><c:out value="${info.eduPlace}"/></td>
</tr>
<tr class="trLength4">
<th scope="row">
<p>상세교육과정</p>
</th>
<td>
<c:out value="${info.prcsCn }" />
</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>상세교육과정</p>
</th>
<td colspan="3"><c:out value="${info.prcsCn }" /></td>
</tr>
<tr class="trLength4">
<th scope="row">
<p>정원</p>
</th>
<td>
<c:out value="${info.nos}"/>
</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>정원</p>
</th>
<td colspan="3"><c:out value="${info.nos}"/></td>
</tr>
<tr class="trLength4">
<th scope="row">
<p>신청자수</p>
</th>
<td>
<c:out value="${info.nosCnt1}"/>
</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>신청자수</p>
</th>
<td colspan="3"><c:out value="${info.nosCnt1}"/></td>
</tr>
<tr class="trLength4">
<th scope="row">
<p>상태</p>
</th>
<td>
<ve:code codeId="VEA004" code="${info.ddlnCd}"/>
</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>상태</p>
</th>
<td colspan="3"><ve:code codeId="VEA004" code="${info.ddlnCd}"/></td>
</tr>
<tr class="trLength4">
<th scope="row"><p>강의계획서</p></th>
<td>
<div class="btn_wrap">
<button type="button" onclick="control1.openFileDialogSingle();" class="btnType01 lctrPlan_btn_add_file">강의계획서 파일찾기</button>
<button type="button" onclick="fileSave();" class="btnType01 lctrPlan_btn_add_file">제출</button>
<%-- <c:if test="${info.lctrPlanRsltAtchFileId != null && info.lctrPlanRsltAtchFileId != ''}">
<button type="button" id="control1DownBtn" onclick="control1.download();" class="btnType01 cpy_btn_add_file">다운로드</button>
</c:if> --%>
</div>
<div id="lctrPlan"></div><br/>
<div class="file_cf">
<div class="cf_left">
<p>최대 <span class="lctrPlan_limitFileCount">1</span>개</p>
</div>
<div class="cf_right">
<p>등록된 파일 <span class="upload_number lctrPlan_totalfileCount">0</span>개</p>
<span class="upload_number lctrPlan_totalfileSize">0MB</span>
</div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<div class="tb_tit01">
<div class="tb_tit01_left">
<p>강사 배치 정보</p>
</div>
</div>
<div class="t_dashboard_btm">
<div class="tb_list01" style="width:100%;">
<table>
<colgroup>
<col style="width: 220px;">
<col style="width: auto;">
<col style="width: 220px;">
</colgroup>
<thead>
<th>강사명</th>
<th>연락처</th>
<th>확정여부</th>
</thead>
<tbody>
<c:choose>
<c:when test="${!empty instrAsgnmList }">
<c:forEach var="list" items="${instrAsgnmList}" varStatus="status">
<tr>
<td>
<c:out value="${list.instrNm }"/>
</td>
<td>
<c:out value="${list.phone }"/>
</td>
<td>
<ve:code codeId="VE0019" code="${list.asgnmAprvlCd}"/>
</td>
</tr>
</c:forEach>
</c:when>
<c:otherwise>
<tr>
<td colspan="4">강사 배치 정보가 없습니다.</td>
</tr>
</c:otherwise>
</c:choose>
</tbody>
</table>
</div>
</div>
<div class="btn_wrap btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
</div>
<div class="btn_right">
<button type="button" class="btnType02 m_btn_block" onclick="fncGoList(); return false;">목록</button>
</div>
</div>
</form:form>
</div>
</body>
</html>

View File

@ -0,0 +1,194 @@
<%@ page contentType="text/html; charset=utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<script type="text/javaScript" language="javascript">
$( document ).ready(function(){
//성인강사인지 체크
adultInstrCheck();
});
function fncGoCreate() {
$("#listForm").attr("action","${pageContext.request.contextPath}/web/kccadr/accdnt/acd/adjstChangeDateCreate.do").submit();
}
function fncGoDetail(prcsAplctPrdOrd){
$("#prcsAplctPrdOrd").val(prcsAplctPrdOrd);
$("#listForm").attr("action","${pageContext.request.contextPath}/web/ve/instr/fndtnVisitEdu/asgnmInfo/instrAsgnmDetail.do").submit();
}
function linkPage(pageNo){
var listForm = document.listForm ;
listForm.pageIndex.value = pageNo ;
listForm.action = "<c:url value='/web/ve/instr/adultVisitEdu/asgnmInfo/instrAsgnmList.do'/>";
listForm.submit();
}
function goReqStatus(){
$("#listForm").attr("action","${pageContext.request.contextPath}/web/ve/instr/adultVisitEdu/instrInfo/instrPrflReg.do").submit();
}
function fncReset(thisObj){
var targetObj = $(thisObj).closest('.list_top').find('select,input');
$.each(targetObj, function(){
$(this).val('');
});
}
</script>
<!-- cont -->
<div class="cont_wrap" id="sub">
<form:form id="listForm" name="listForm" commandName="vEPrcsDetailVO">
<input type="hidden" name="prcsAplctPrdOrd" id="prcsAplctPrdOrd" value=""/>
<input type="hidden" name="pageIndex" value="<c:out value='${vEPrcsDetailVO.pageIndex}' default='1' />"/>
<input type="hidden" name="searchSortCnd" value="<c:out value="${vEPrcsDetailVO.searchSortCnd}" />" />
<input type="hidden" name="searchSortOrd" value="<c:out value="${vEPrcsDetailVO.searchSortOrd}" />" />
<input type="hidden" name="searchStatus" value="<c:out value="${vEPrcsDetailVO.searchStatus}" />" />
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="" />
<input type="hidden" name="eduChasiOrd" id="eduChasiOrd" value="" />
<div class="cont_tit">
<h2>강의내역목록</h2>
<div class="sns_go">
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/facebook_icon.png" alt="페이스북 바로가기"></button>
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/twitter_icon.png" alt="트위터 바로가기"></button>
</div>
</div>
<div class="list_top">
<div class="list_top_left">
</div>
<div class="btn_wrap">
<div class="calendar_wrap">
<%-- <input type="text" name="searchEduHopeStartDt" value="${vEPrcsDetailVO.searchEduHopeStartDt}" class="calendar" title="시작일 선택"> --%>
<duet-date-picker identifier="date" name="searchEduHopeStartDt" class="startDate" value="${vEPrcsDetailVO.searchEduHopeStartDt}"></duet-date-picker>
</div>
~
<div class="calendar_wrap">
<%-- <input type="text" name="searchEduHopeEndDt" value="${vEPrcsDetailVO.searchEduHopeEndDt}" class="calendar" title="종료일 선택"> --%>
<duet-date-picker identifier="date" name="searchEduHopeEndDt" class="endDate" value="${vEPrcsDetailVO.searchEduHopeEndDt}"></duet-date-picker>
</div>
<script src="${pageContext.request.contextPath}/visitEdu/usr/publish/script/duetdatepicker.js"></script>
<button type="button" class="btnType01" onclick="linkPage(1); return false;">검색</button>
<button type="button" class="btnType02" onclick="fncReset(this);">초기화</button>
</div>
</div>
<div class="tb_list01">
<table>
<colgroup>
<col style="width: 30%;">
<col style="width: 30%;">
<col style="width: 10%;">
<col style="width: 10%;">
</colgroup>
<thead>
<tr>
<th scope="col">교육과정</th>
<th scope="col">교육기간</th>
<th scope="col">정원</th>
<th scope="col">신청자수</th>
</tr>
</thead>
<tbody>
<c:forEach var="list" items="${vEPrcsDetailVOList}" varStatus="status">
<tr>
<td>
<a href="#none" onclick="fncGoDetail('<c:out value='${list.prcsAplctPrdOrd }' />')">${list.prcsNm } (${list.prcsAplctPrdOrd })</a>
</td>
<td>
${list.eduStrtPnttm } ~ ${list.eduDdlnPnttm }
</td>
<td>
${list.nos }
</td>
<td>
${list.nosCnt1 }
</td>
</tr>
</c:forEach>
<c:if test="${empty vEPrcsDetailVOList}">
<tr><td colspan="4"><spring:message code="common.nodata.msg" /></td></tr>
</c:if>
</tbody>
</table>
</div>
<div class="tb_list01_m">
<c:forEach var="list" items="${vEPrcsDetailVOList}" varStatus="status">
<ul onclick="fncGoDetail('<c:out value="${list.eduAplctOrd}"/>', '<c:out value="${list.eduChasiOrd}"/>');">
<li>
<span>교육과정</span>
<span><a href="#none" onclick="fncGoDetail('<c:out value='${list.prcsAplctPrdOrd }' />')">${list.prcsNm } (${list.prcsAplctPrdOrd })</a></span>
</li>
<li>
<span>교육기간</span>
<span>${list.eduStrtPnttm } ~ ${list.eduDdlnPnttm }</span>
</li>
<li>
<span>정원</span>
<span>${list.nos }</span>
</li>
<li>
<span>신청자수</span>
<span>${list.nosCnt1 }</span>
</li>
<%-- <li>
<span>교육일자</span>
<span>${fn:substring(list.eduHopeDt,0,4)}-${fn:substring(list.eduHopeDt,4,6)}-${fn:substring(list.eduHopeDt,6,8)}</span>
</li>
<li>
<span>요일</span>
<span><fmt:formatDate value="${eduHopeDt}" pattern="E"/></span>
</li>
<li>
<span>시간</span>
<span>
<fmt:parseDate value="${list.strtTm}" var="strtTm" pattern="kkmm"/><fmt:formatDate value="${strtTm}" pattern="kk:mm"/>
~<fmt:parseDate value="${list.endTm}" var="endTm" pattern="kkmm"/><fmt:formatDate value="${endTm}" pattern="kk:mm"/>
(<c:out value='${list.lrnTm}'/>분)
</span>
</li>
<li>
<span>지역</span>
<span><c:if test="${list.eduSlctCd eq '10'}">(온)</c:if><ve:code codeId="VE0008" code="${list.eduSlctAreaCd}"/></span>
</li>
<li>
<span>기관(단체)명</span>
<span><c:out value='${list.insttNm}'/></span>
</li>
<li>
<span>총 금액</span>
<span>
<c:set var = "fee" value="" />
<c:choose>
<c:when test="${list.instrFeeSbmtYn ne 'Y'}">
<c:set var = "fee" value="정산중" />
</c:when>
<c:when test="${list.acmdtSbmtYn eq 'Y' and empty list.acmdtAprvlCd}">
<c:set var = "fee" value="정산중" />
</c:when>
<c:otherwise>
<c:set var = "fee" value="${list.instrFee + list.specialWorkAllow + list.distanceAllow + list.trafficFee + list.acmdtFee}" />
</c:otherwise>
</c:choose>
<td><p><c:out value="${fee}" /></p></td>
</span>
</li> --%>
</ul>
</c:forEach>
<c:if test="${empty vEPrcsDetailVOList}">
<ul><li colspan="4"><spring:message code="common.nodata.msg" /></li></ul>
</c:if>
</div>
<div class="page">
<ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" />
</div>
</form:form>
</div>

View File

@ -0,0 +1,295 @@
<%@ page contentType="text/html; charset=utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<title>강사프로필 목록</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<script type="text/javaScript" language="javascript">
function fncGoCreate() {
$("#listForm").attr("action","${pageContext.request.contextPath}/web/kccadr/accdnt/acd/adjstChangeDateCreate.do").submit();
}
function fncSave(asgnmAprvlCd){
var ment = "";
if(asgnmAprvlCd == '30'){
ment = "수락";
$("#asgnmAprvlCd").val("30");
}
if(asgnmAprvlCd == '40'){
ment = "거절";
$("#asgnmAprvlCd").val("40");
}
if(asgnmAprvlCd == '60'){
ment = "변경요청";
$("#asgnmAprvlCd").val("60");
}
if(confirm(ment+"처리 하시겠습니까?")){
var data = new FormData(document.getElementById("detailForm"));
$.ajax({
type: "POST",
enctype: 'multipart/form-data',
url: "${pageContext.request.contextPath}/web/ve/instr/adultVisitEdu/asgnmInfo/instrAsgnmRqstMdfyAjax.do",
data: data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success: function (returnData, status) {
if(status == 'success'){
alert(ment+"처리 완료하였습니다.");
fncGoList();
} else if(status== 'fail'){
alert(ment+"처리 실패하였습니다.");
}
},
error: function (e) { alert(ment+"처리에 실패하였습니다."); console.log("ERROR : ", e); }
});
}
}
function fncGoList(){
var detailForm = document.detailForm;
detailForm.action = "<c:url value='/web/ve/instr/adultVisitEdu/asgnmInfo/instrAsgnmRqstList.do'/>";
detailForm.submit();
}
function goReqStatus(){
$("#listForm").attr("action","${pageContext.request.contextPath}/web/ve/instr/adultVisitEdu/instrInfo/instrPrflReg.do").submit();
}
</script>
</head>
<body>
<!-- cont -->
<div class="cont_wrap" id="sub">
<form:form id="detailForm" name="detailForm" commandName="vEInstrAsgnmVO" method="post" >
<input type="hidden" name="pageIndex" value="<c:out value='${vEInstrAsgnmVO.pageIndex}'/>"/>
<input type="hidden" name="searchAsgnmAprvlCd" value="<c:out value="${vEInstrAsgnmVO.searchAsgnmAprvlCd}" />" />
<input type="hidden" name="searchEduHopeStartDt" value="<c:out value="${vEInstrAsgnmVO.searchEduHopeStartDt}" />" />
<input type="hidden" name="searchEduHopeEndDt" value="<c:out value="${vEInstrAsgnmVO.searchEduHopeEndDt}" />" />
<input type="hidden" name="searchKeyword" value="<c:out value="${vEInstrAsgnmVO.searchKeyword}" />" />
<input type="hidden" name="userId" id="userId" value="<c:out value='${info.userId}'/>"/> <!-- 사용자 아이디 -->
<input type="hidden" name="instrDiv" id="instrDiv" value="<c:out value='${info.instrDiv}'/>"/> <!-- 강사구분 -->
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="<c:out value='${info.eduAplctOrd}'/>"/> <!-- 교육신청 순번 -->
<input type="hidden" name="eduChasiOrd" id="eduChasiOrd" value="<c:out value='${info.eduChasiOrd}'/>"/> <!-- 교육차시 순번 -->
<input type="hidden" name="asgnmAprvlCd" id="asgnmAprvlCd" value=""/> <!-- 배정테이블의 확정코드 -->
<div class="cont_tit">
<h2>성인 강의 요청 상세</h2>
<div class="sns_go">
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/facebook_icon.png" alt="페이스북 바로가기"></button>
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/twitter_icon.png" alt="트위터 바로가기"></button>
</div>
</div>
<div class="tit_box">
<i class="tit_box_icon1"></i>
<div>
<p>찾아가는 저작권 교육</p>
<span>‘찾아가는 저작권 교육’은 저작권 교육이 필요한 <span>전국 초ㆍ중ㆍ고등학교, 청소년ㆍ아동복지ㆍ노인ㆍ장애인 기관 및 단체 등</span>에 직접 방문하여 무료로 강의를 지원하는 맞춤형 교육 서비스입니다.</span>
</div>
</div>
<div class="tb_type01 tb_write">
<table>
<caption>성인 강의 요청 상세 (th 명)을 보여주는 표</caption>
<colgroup>
<col style="width: 220px;">
<col style="width: auto;">
<col style="width: 220px;">
<col style="width: auto;">
</colgroup>
<tbody>
<tr class="trLength4">
<th scope="row">
<p>교육일시</p>
</th>
<td>${fn:substring(info.eduHopeDt,0,4)}년 ${fn:substring(info.eduHopeDt,4,6)}월 ${fn:substring(info.eduHopeDt,6,8)}일</td>
<th scope="row">
<p>시간</p>
</th>
<td>
<fmt:parseDate value="${info.strtTm}" var="strtTm" pattern="kkmm"/><fmt:formatDate value="${strtTm}" pattern="kk:mm"/>
~<fmt:parseDate value="${info.endTm}" var="endTm" pattern="kkmm"/><fmt:formatDate value="${endTm}" pattern="kk:mm"/>
(<c:out value='${info.lrnTm}'/>분)
</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>교육일시</p>
</th>
<td colspan="3">${fn:substring(info.eduHopeDt,0,4)}년 ${fn:substring(info.eduHopeDt,4,6)}월 ${fn:substring(info.eduHopeDt,6,8)}일</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>시간</p>
</th>
<td colspan="3">
<fmt:parseDate value="${info.strtTm}" var="strtTm" pattern="kkmm"/><fmt:formatDate value="${strtTm}" pattern="kk:mm"/>
~<fmt:parseDate value="${info.endTm}" var="endTm" pattern="kkmm"/><fmt:formatDate value="${endTm}" pattern="kk:mm"/>
(<c:out value='${info.lrnTm}'/>분)
</td>
</tr>
<tr class="trLength4">
<th scope="row">
<p>기관(단체)명</p>
</th>
<td>${info.insttNm}</td>
<th scope="row">
<p>지역</p>
</th>
<td><c:if test="${info.eduSlctCd eq '10'}">(온)</c:if><ve:code codeId="VE0008" code="${info.eduSlctAreaCd}"/></td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>기관(단체)명</p>
</th>
<td colspan="3">${info.insttNm}</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>지역</p>
</th>
<td colspan="3"><c:if test="${info.eduSlctCd eq '10'}">(온)</c:if><ve:code codeId="VE0008" code="${info.eduSlctAreaCd}"/></td>
</tr>
<tr>
<th scope="row">
<p>교육장소</p>
</th>
<td colspan="3">${info.addr}</td>
</tr>
<tr>
<th scope="row">
<p>강의주제</p>
</th>
<td colspan="3">${info.hopeSbjct}</td>
</tr>
<tr class="trLength4">
<th scope="row">
<p>교육대상</p>
</th>
<td>${info.trgt}</td>
<th scope="row">
<p>인원</p>
</th>
<td>${info.prsnl}</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>교육대상</p>
</th>
<td colspan="3">${info.trgt}</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>인원</p>
</th>
<td colspan="3">${info.prsnl}</td>
</tr>
<tr class="trLength4">
<th scope="row">
<p>강의료</p>
</th>
<td><fmt:formatNumber value="${instrFee.instrFee}" pattern="#,###"/></td>
<th scope="row">
<p>교통비 등</p>
</th>
<td><fmt:formatNumber value="${instrFee.instrFeeSum}" pattern="#,###"/></td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>강의료</p>
</th>
<td colspan="3"><fmt:formatNumber value="${instrFee.instrFee}" pattern="#,###"/></td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>교통비 등</p>
</th>
<td colspan="3"><fmt:formatNumber value="${instrFee.instrFeeSum}" pattern="#,###"/></td>
</tr>
<tr>
<th scope="row">
<p>담당자</p>
</th>
<td colspan="3">${info.chrgNm}</td>
</tr>
<tr class="trLength4">
<th scope="row">
<p>연락처</p>
</th>
<td>${info.phone}</td>
<th scope="row">
<p>휴대전화</p>
</th>
<td>${info.clphone}</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>연락처</p>
</th>
<td colspan="3">${info.phone}</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>휴대전화</p>
</th>
<td colspan="3">${info.clphone}</td>
</tr>
<tr>
<th scope="row">
<p>이메일</p>
</th>
<td colspan="3">${info.email}</td>
</tr>
<!-- <tr>
<th scope="row">
<p>수락마감일</p>
</th>
<td colspan="3">*마감일 이후에는 자동으로 거절상태로 변경됩니다.</td>
</tr> -->
<c:if test="${info.hstryCd eq '40'}">
<tr>
<th scope="row">
<p>변경 요청 여부</p>
</th>
<td colspan="3">O</td>
</tr>
</c:if>
</tbody>
</table>
</div>
<div class="btn_wrap btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
<c:if test="${info.asgnmAprvlCd eq '20' }"> <!-- 배정 테이블 수락요청 상태 -->
<button type="button" class="btnType04 m_btn_block" onclick="fncSave('30'); return false;">요청수락</button>
</c:if>
</div>
<div class="btn_right">
<c:if test="${info.asgnmAprvlCd eq '20' }"> <!-- 배정 테이블 수락요청 상태 -->
<button type="button" class="btnType03 m_btn_block" onclick="fncSave('40'); return false;">요청거절</button>
</c:if>
<c:if test="${info.asgnmAprvlCd eq '30' and info.hstryCd ne '40' and info.hstryCnt eq '0'}"> <!-- 배정테이블 수락승인, 변경요청 내역이 없으며, 거절 등 내역이 없는 경우 : 강사가 요청을 바로 수락 한 경우만 -->
<button type="button" class="btnType03 m_btn_block" onclick="fncSave('60'); return false;">변경요청</button>
</c:if>
<button type="button" class="btnType02 m_btn_block" onclick="fncGoList(); return false;">목록</button>
</div>
</div>
</form:form>
</div>
</body>
</html>

View File

@ -0,0 +1,270 @@
<%@ page contentType="text/html; charset=utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<script type="text/javaScript" language="javascript">
$( document ).ready(function(){
//성인강사인지 체크
adultInstrCheck();
});
function fncGoCreate() {
$("#listForm").attr("action","${pageContext.request.contextPath}/web/kccadr/accdnt/acd/adjstChangeDateCreate.do").submit();
}
function fncGoDetail(eduAplctOrd,eduChasiOrd){
$("#eduAplctOrd").val(eduAplctOrd);
$("#eduChasiOrd").val(eduChasiOrd);
$("#listForm").attr("action","${pageContext.request.contextPath}/web/ve/instr/adultVisitEdu/asgnmInfo/instrAsgnmRqstDetail.do").submit();
}
function linkPage(pageNo){
var listForm = document.listForm ;
listForm.pageIndex.value = pageNo ;
listForm.action = "<c:url value='/web/ve/instr/adultVisitEdu/asgnmInfo/instrAsgnmRqstList.do'/>";
listForm.submit();
}
function goReqStatus(){
$("#listForm").attr("action","${pageContext.request.contextPath}/web/ve/instr/adultVisitEdu/instrInfo/instrPrflReg.do").submit();
}
function fncReset(thisObj){
var targetObj = $(thisObj).closest('.list_top').find('select,input');
$.each(targetObj, function(){
$(this).val('');
});
}
</script>
<!-- cont -->
<div class="cont_wrap" id="sub">
<form:form id="listForm" name="listForm" commandName="vEInstrAsgnmVO">
<input type="hidden" name="pageIndex" value="<c:out value='${vEInstrAsgnmVO.pageIndex}' default='1' />"/>
<input type="hidden" name="searchSortCnd" value="<c:out value="${vEInstrAsgnmVO.searchSortCnd}" />" />
<input type="hidden" name="searchSortOrd" value="<c:out value="${vEInstrAsgnmVO.searchSortOrd}" />" />
<input type="hidden" name="searchStatus" value="<c:out value="${vEInstrAsgnmVO.searchStatus}" />" />
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="" />
<input type="hidden" name="eduChasiOrd" id="eduChasiOrd" value="" />
<div class="cont_tit">
<h2>성인 강의 요청 목록</h2>
<div class="sns_go">
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/facebook_icon.png" alt="페이스북 바로가기"></button>
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/twitter_icon.png" alt="트위터 바로가기"></button>
</div>
</div>
<div class="list_top">
<div class="list_top_left">
<label for="searchCdtn" class="label">검색조건 선택</label>
<select class="selType1" name="searchAsgnmAprvlCd" id="searchCdtn">
<option value="" <c:if test="${vEInstrAsgnmVO.searchAsgnmAprvlCd eq ''}">selected</c:if>>전체</option>
<option value="20" <c:if test="${vEInstrAsgnmVO.searchAsgnmAprvlCd eq '20'}">selected</c:if>>대기</option>
<option value="30" <c:if test="${vEInstrAsgnmVO.searchAsgnmAprvlCd eq '30'}">selected</c:if>>수락</option>
<option value="40" <c:if test="${vEInstrAsgnmVO.searchAsgnmAprvlCd eq '40'}">selected</c:if>>거절</option>
</select>
</div>
<div class="btn_wrap">
<div class="calendar_wrap">
<%-- <input type="text" name="searchEduHopeStartDt" value="${vEInstrAsgnmVO.searchEduHopeStartDt}" class="calendar" title="시작일 선택"> --%>
<duet-date-picker identifier="date" name="searchEduHopeStartDt" class="startDate" value="${vEInstrAsgnmVO.searchEduHopeStartDt}"></duet-date-picker>
</div>
~
<div class="calendar_wrap">
<%-- <input type="text" name="searchEduHopeEndDt" value="${vEInstrAsgnmVO.searchEduHopeEndDt}" class="calendar" title="종료일 선택"> --%>
<duet-date-picker identifier="date" name="searchEduHopeEndDt" class="endDate" value="${vEInstrAsgnmVO.searchEduHopeEndDt}"></duet-date-picker>
</div>
<script src="${pageContext.request.contextPath}/visitEdu/usr/publish/script/duetdatepicker.js"></script>
<button type="button" class="btnType01" onclick="linkPage(1); return false;">검색</button>
<button type="button" class="btnType02" onclick="fncReset(this);">초기화</button>
</div>
</div>
<div class="tb_list01">
<table>
<colgroup>
<col style="width: 8%;">
<col style="width: 15%;">
<col style="width: 8%;">
<col style="width: auto">
<col style="width: 10%;">
<col style="width: 15%;">
<col style="width: 12%;">
<col style="width: 12%;">
</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>
<th scope="col">신청상태</th>
</tr>
</thead>
<tbody>
<c:forEach var="list" items="${vEInstrAsgnmVOList}" varStatus="status">
<fmt:parseDate value="${list.eduHopeDt}" var="eduHopeDt" pattern="yyyy.MM.dd"/> <!-- 요일 구하기 -->
<c:choose>
<c:when test="${list.notiCnt == 0}">
<tr class="new_cont" onclick="fncGoDetail('<c:out value="${list.eduAplctOrd}"/>', '<c:out value="${list.eduChasiOrd}"/>');" style="cursor:pointer;">
</c:when>
<c:otherwise>
<tr onclick="fncGoDetail('<c:out value="${list.eduAplctOrd}"/>', '<c:out value="${list.eduChasiOrd}"/>');" style="cursor:pointer;">
</c:otherwise>
</c:choose>
<td>
<p>
<c:if test="${vEInstrAsgnmVO.searchSortOrd eq 'desc' }">
<c:out value="${ ( paginationInfo.totalRecordCount - ((vEInstrAsgnmVO.pageIndex -1)*vEInstrAsgnmVO.pageUnit) ) - status.index }"/>
</c:if>
<c:if test="${vEInstrAsgnmVO.searchSortOrd eq 'asc' }">
<c:out value="${(vEInstrAsgnmVO.pageIndex - 1) * vEInstrAsgnmVO.pageUnit + status.count}"/>
</c:if>
</p>
</td>
<td><p>${list.eduHopeDt}</p></td>
<td><p><fmt:formatDate value="${eduHopeDt}" pattern="E"/></p></td>
<td><p>
<fmt:parseDate value="${list.strtTm}" var="strtTm" pattern="kkmm"/><fmt:formatDate value="${strtTm}" pattern="kk:mm"/>
~<fmt:parseDate value="${list.endTm}" var="endTm" pattern="kkmm"/><fmt:formatDate value="${endTm}" pattern="kk:mm"/>
(<c:out value='${list.lrnTm}'/>분)
</p></td>
<td><p><c:if test="${list.eduSlctCd eq '10'}">(온)</c:if><ve:code codeId="VE0008" code="${list.eduSlctAreaCd}"/></p></td>
<td><p><c:out value='${list.insttNm}'/></p></td>
<c:set var = "fee" value="" />
<c:choose>
<c:when test="${list.instrFeeSbmtYn ne 'Y'}">
<c:set var = "fee" value="정산중" />
</c:when>
<c:when test="${list.acmdtSbmtYn eq 'Y' and empty list.acmdtAprvlCd}">
<c:set var = "fee" value="정산중" />
</c:when>
<c:otherwise>
<c:set var = "fee" value="${list.instrFee + list.specialWorkAllow + list.distanceAllow + list.trafficFee + list.acmdtFee}" />
</c:otherwise>
</c:choose>
<td><p><c:out value='${fee}'/></p></td>
<c:set var="statCd" value="" />
<c:choose>
<c:when test="${list.asgnmAprvlCd eq '20'}">
<!-- 배정 수락 요청 상태 -->
<c:set var="statCd" value="대기" />
</c:when>
<c:when test="${(list.asgnmAprvlCd eq '40' and list.userId eq loginVO.id) or
(list.hstryUserId eq loginVO.id and (list.hstryCd eq '10' or list.hstryCd eq '40'))}">
<!-- 배정 거절 or 내역 거절 or 내열에 변경요청 -->
<c:set var="statCd" value="거절" />
</c:when>
<c:when test="${list.asgnmAprvlCd eq '30' and list.userId eq loginVO.id}">
<c:set var="statCd" value="수락" />
</c:when>
</c:choose>
<td><span class="app_status1">${statCd}</span></td>
</tr>
</c:forEach>
<c:if test="${empty vEInstrAsgnmVOList}">
<tr><td colspan="8"><spring:message code="common.nodata.msg" /></td></tr>
</c:if>
</tbody>
</table>
</div>
<div class="tb_list01_m">
<c:forEach var="list" items="${vEInstrAsgnmVOList}" varStatus="status">
<fmt:parseDate value="${list.eduHopeDt}" var="eduHopeDt" pattern="yyyy.MM.dd"/> <!-- 요일 구하기 -->
<ul onclick="fncGoDetail('<c:out value="${list.eduAplctOrd}"/>', '<c:out value="${list.eduChasiOrd}"/>');">
<li>
<span>번호</span>
<span>
<c:if test="${vEInstrAsgnmVO.searchSortOrd eq 'desc' }">
<c:out value="${ ( paginationInfo.totalRecordCount - ((vEInstrAsgnmVO.pageIndex -1)*vEInstrAsgnmVO.pageUnit) ) - status.index }"/>
</c:if>
<c:if test="${vEInstrAsgnmVO.searchSortOrd eq 'asc' }">
<c:out value="${(vEInstrAsgnmVO.pageIndex - 1) * vEInstrAsgnmVO.pageUnit + status.count}"/>
</c:if>
</span>
</li>
<li>
<span>교육일자</span>
<span>${fn:substring(list.eduHopeDt,0,4)}-${fn:substring(list.eduHopeDt,4,6)}-${fn:substring(list.eduHopeDt,6,8)}</span>
</li>
<li>
<span>요일</span>
<span><fmt:formatDate value="${eduHopeDt}" pattern="E"/></span>
</li>
<li>
<span>시간</span>
<span>
<fmt:parseDate value="${list.strtTm}" var="strtTm" pattern="kkmm"/><fmt:formatDate value="${strtTm}" pattern="kk:mm"/>
~<fmt:parseDate value="${list.endTm}" var="endTm" pattern="kkmm"/><fmt:formatDate value="${endTm}" pattern="kk:mm"/>
(<c:out value='${list.lrnTm}'/>분)
</span>
</li>
<li>
<span>지역</span>
<span><c:if test="${list.eduSlctCd eq '10'}">(온)</c:if><ve:code codeId="VE0008" code="${list.eduSlctAreaCd}"/></span>
</li>
<li>
<span>기관(단체)명</span>
<span><c:out value='${list.insttNm}'/></span>
</li>
<li>
<span>총 금액</span>
<c:set var = "fee" value="" />
<c:choose>
<c:when test="${list.instrFeeSbmtYn ne 'Y'}">
<c:set var = "fee" value="정산중" />
</c:when>
<c:when test="${list.acmdtSbmtYn eq 'Y' and empty list.acmdtAprvlCd}">
<c:set var = "fee" value="정산중" />
</c:when>
<c:otherwise>
<c:set var = "fee" value="${list.instrFee + list.specialWorkAllow + list.distanceAllow + list.trafficFee + list.acmdtFee}" />
</c:otherwise>
</c:choose>
<span><c:out value='${fee}'/></span>
</li>
<li>
<span>신청상태</span>
<c:set var="statCd" value="" />
<c:choose>
<c:when test="${list.asgnmAprvlCd eq '20'}">
<!-- 배정 수락 요청 상태 -->
<c:set var="statCd" value="대기" />
</c:when>
<c:when test="${(list.asgnmAprvlCd eq '40' and list.userId eq loginVO.id) or
(list.hstryUserId eq loginVO.id and (list.hstryCd eq '10' or list.hstryCd eq '40'))}">
<!-- 배정 거절 or 내역 거절 or 내열에 변경요청 -->
<c:set var="statCd" value="거절" />
</c:when>
<c:when test="${list.asgnmAprvlCd eq '30' and list.userId eq loginVO.id}">
<c:set var="statCd" value="수락" />
</c:when>
</c:choose>
<span><c:out value='${statCd}'/></span>
</li>
</ul>
</c:forEach>
<c:if test="${empty vEInstrAsgnmVOList}">
<ul><li colspan="8"><spring:message code="common.nodata.msg" /></li></ul>
</c:if>
</div>
<div class="page">
<ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" />
</div>
</form:form>
</div>

View File

@ -103,7 +103,7 @@
<input type="hidden" name="eduChasiOrd" id="eduChasiOrd" value="<c:out value='${info.eduChasiOrd}'/>"/> <!-- 교육차시 순번 -->
<input type="hidden" name="hstryCd" id="hstryCd" value=""/> <!-- 배정내역 코드 -->
<div class="cont_tit">
<h2>청소년 강의 추가요청 상세</h2>
<h2>강의추가요청상세</h2>
<div class="sns_go">
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/facebook_icon.png" alt="페이스북 바로가기"></button>
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/twitter_icon.png" alt="트위터 바로가기"></button>

View File

@ -193,7 +193,7 @@
<input type="hidden" name="hstryCd" id="hstryCd" value="" />
<input type="hidden" name="checkedField" id="checkedField" value="" />
<div class="cont_tit">
<h2>청소년 강의 추가요청 목록</h2>
<h2>강의추가요청목록</h2>
<div class="sns_go">
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/facebook_icon.png" alt="페이스북 바로가기"></button>
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/twitter_icon.png" alt="트위터 바로가기"></button>

View File

@ -49,7 +49,7 @@
<input type="hidden" name="eduChasiOrd" id="eduChasiOrd" value="" />
<div class="cont_tit">
<h2>청소년 강의내역 목록</h2>
<h2>강의내역목록</h2>
<div class="sns_go">
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/facebook_icon.png" alt="페이스북 바로가기"></button>
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/twitter_icon.png" alt="트위터 바로가기"></button>

View File

@ -89,7 +89,7 @@
<input type="hidden" name="eduChasiOrd" id="eduChasiOrd" value="<c:out value='${info.eduChasiOrd}'/>"/> <!-- 교육차시 순번 -->
<input type="hidden" name="asgnmAprvlCd" id="asgnmAprvlCd" value=""/> <!-- 배정테이블의 확정코드 -->
<div class="cont_tit">
<h2>청소년 강의 요청 상세</h2>
<h2>강의요청상세</h2>
<div class="sns_go">
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/facebook_icon.png" alt="페이스북 바로가기"></button>
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/twitter_icon.png" alt="트위터 바로가기"></button>

View File

@ -52,7 +52,7 @@
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="" />
<input type="hidden" name="eduChasiOrd" id="eduChasiOrd" value="" />
<div class="cont_tit">
<h2>청소년 강의 요청 목록</h2>
<h2>강의요청목록</h2>
<div class="sns_go">
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/facebook_icon.png" alt="페이스북 바로가기"></button>
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/twitter_icon.png" alt="트위터 바로가기"></button>

View File

@ -83,7 +83,7 @@ $( document ).ready(function() {
<input type="hidden" name="pageIndex" />
<div class="cont_tit">
<h2>청소년 강의 종료교육 상세</h2>
<h2>종료교육상세</h2>
<div class="sns_go">
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/facebook_icon.png" alt="페이스북 바로가기"></button>
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/twitter_icon.png" alt="트위터 바로가기"></button>

View File

@ -52,7 +52,7 @@
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="" />
<input type="hidden" name="eduChasiOrd" id="eduChasiOrd" value="" />
<div class="cont_tit">
<h2>청소년 강의 종료교육 목록</h2>
<h2>종료교육목록</h2>
<div class="sns_go">
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/facebook_icon.png" alt="페이스북 바로가기"></button>
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/twitter_icon.png" alt="트위터 바로가기"></button>

View File

@ -47,7 +47,7 @@
<!-- cont -->
<div class="cont_wrap" id="sub">
<div class="cont_tit">
<h2>청소년저작권강사 대시보드</h2>
<h2>강사대시보드</h2>
<div class="sns_go">
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/facebook_icon.png" alt="페이스북 바로가기"></button>
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/twitter_icon.png" alt="트위터 바로가기"></button>

View File

@ -289,7 +289,7 @@
</div>
<div class="cont_wrap" id="sub">
<div class="cont_tit">
<h2>청소년저작권강사정보 상세</h2>
<h2>청소년 강사 신청 상세</h2>
</div>
<div class="tit_box">
<i class="tit_box_icon1"></i>

View File

@ -10,8 +10,8 @@ body {color: #222;}
.logo img {width: 200px;}
/* header */
header{width: 100%; height: 130px; position: fixed; top: 0; left: 0; transition: height .4s ease-in-out, background-color .4s ease-in-out, margin .4s ease-in-out; overflow: hidden; box-sizing: border-box;z-index: 20; background-color: #fff; border-bottom: 1px solid #e2e4e6;max-height: 350px;}
header.on{background-color: #fff; box-shadow: 0 3px 10px rgba(0,0,0,0.1); max-height: 350px;}
header{width: 100%; height: 130px; position: fixed; top: 0; left: 0; transition: height .4s ease-in-out, background-color .4s ease-in-out, margin .4s ease-in-out; overflow: hidden; box-sizing: border-box;z-index: 20; background-color: #fff; border-bottom: 1px solid #e2e4e6;/* max-height: 350px; */}
header.on{background-color: #fff; box-shadow: 0 3px 10px rgba(0,0,0,0.1);/* max-height: 350px; */}
header::before{position: absolute; content: " "; display: block; top: 130px; left: 0; height: 1px; background-color: #ddd; opacity: 0; transition: opacity .4s ease-in-out;}
header::after{position: absolute; content: " "; display: block; width: 100%; height: 1px; background-color: #d5d5d5; top: 130px; left: 0; opacity: 0; transition: opacity .4s ease-in-out;}
header.on::after{top: 130px; opacity: 1;}
@ -52,8 +52,8 @@ header.scroll{box-shadow: 0 5px 8px rgba(0,0,0,0.15);}
.header_inner .nav_wrap{box-sizing: border-box; height: 100%; width: 100%; margin: 0 50px;}
.header_inner #menu{width: 100%; margin: 0 auto; height: 100%;}
.header_inner .depth01 {display: flex; height: 100%;}
.header_inner .dep_li_01,.header_inner .dep_li_02,.header_inner .dep_li_03 {justify-content:flex-start;}
.header_inner .dep_li_04,.header_inner .dep_li_05,.header_inner .dep_li_06,.header_inner .dep_li_07 {justify-content:space-between;}
/* .header_inner .dep_li_01,.header_inner .dep_li_02,.header_inner .dep_li_03 {justify-content:flex-start;}
.header_inner .dep_li_04,.header_inner .dep_li_05,.header_inner .dep_li_06,.header_inner .dep_li_07 {justify-content:space-between;} */
.header_inner .depth01_li{position: relative; height:100%; padding: 0; box-sizing: border-box;}
.header_inner .dep_li_04 .depth01_li{width: calc((100% - 40px)/4);}
.header_inner .dep_li_01 .depth01_li{width: 100%;}
@ -69,7 +69,7 @@ header.scroll{box-shadow: 0 5px 8px rgba(0,0,0,0.15);}
.header_inner .menu_link .menu_link_br {color: #E95504;font-family: 'nanumsquare', 'Noto Sans KR', sans-serif; }
.header_inner .on .menu_link{color: #E95504;}
.on .nav_wrap .on .menu_link::before{width: 100%;}
.header_inner .depth02{position: absolute; text-align: center; padding: 15px 0; width: 100%; left: 50%; transform: translateX(-50%);border-right: 1px solid #d5d5d5; max-height: 350px;}
.header_inner .depth02{position: absolute; text-align: center; padding: 15px 0; width: 100%; left: 50%; transform: translateX(-50%);border-right: 1px solid #d5d5d5;/* max-height: 350px; */}
.header_inner .depth01_li:first-child .depth02{border-left: 1px solid #d5d5d5;}
.header_inner .depth01_li:hover .depth02::after{position:absolute;content:"";width:calc(100% + 4px);height:100%;background-color:#fff8f4;left:-2px;top:0;}
.header_inner .depth01_li:hover .depth02 li{position:relative;z-index:1;}
@ -100,10 +100,11 @@ header.scroll{box-shadow: 0 5px 8px rgba(0,0,0,0.15);}
.full_menu .depth01_li{display: flex; border-bottom: 1px solid #d5d5d5; padding: 20px 0;}
.full_menu .depth01_li:first-child{padding: 0 0 20px 0;}
.full_menu .depth01_li:last-child{border-bottom: 0;}
.full_menu .depth01_li .menu_link{width:350px;font-size: 22px; font-weight: 500; color: #222;}
.full_menu .depth01_li .menu_link{width:350px;font-size: 20px; font-weight: 500; color: #222;}
.full_menu .depth01_li:hover .menu_link,.full_menu .depth01_li .depth02 li:hover{color: #e95504;}
.full_menu .depth01_li .depth02 li:hover{font-weight: 500;}
.full_menu .depth01_li .depth02{display: flex; width: calc(100% - 350px); font-size: 18px; font-weight: 300; color: #666; justify-content: space-between;}
.full_menu .depth01_li .depth02{display: flex; width: calc(100% - 138px); font-size: 18px; font-weight: 300; color: #666; justify-content:flex-start; flex-wrap: wrap;}
.full_menu .depth01_li .depth02 li{width:calc(100% / 4); height:40px;}
/* .full_menu .depth01 .menu_link{font-size: 20px; font-weight: 500; color: #ea5404; position: relative; padding-bottom: 25px; letter-spacing: -1px; text-align: center; height: 40px;}
.full_menu .depth01 .menu_link>span {display: block; padding-top: 5px;}

View File

@ -6,6 +6,13 @@ $(document).ready(function () {
gnbOpen();
}, 100);
if($(".full_menu .depth01_li a:contains('ZOOM 신청 게시판(청소년)')").length == "1"){
$(".full_menu .depth01_li>a").css("width","24%");
$(".full_menu .depth01_li .depth02").css("width","calc(100% - 50px)");
$(".full_menu .depth01_li a:contains('ZOOM 신청 게시판(청소년)')").html("ZOOM 신청 게시판"+"<br>"+"(청소년)")
}else{}
//ie 버그로 인하여 강제로 탭키 가도록 설정
if (ie_check()) {
$("#main").prop("tabindex", "0");
@ -155,30 +162,20 @@ function header() {
var gnb = $("#menu");
var header = $("header")
function open_gnb(item) {
var depth01 = item;
var depth01_li = depth01.closest(".depth01_li");
var depth02 = depth01_li.find(".depth02");
var height_array = gnb.find('.depth02').map(function(){
return $(this).outerHeight();
});
var h = Math.max.apply(Math, height_array)+150;
//console.log(height_array,Math.max.apply(Math, height_array)+150);
if(h+1>=Math.max.apply(Math, height_array)){
h;
h=Math.max.apply(Math, height_array)+130;
function open_gnb(item) {
var depth01 = item;
var depth01_li = depth01.closest(".depth01_li");
header.addClass("on").css('height',h + 'px');
$("header .depth02").css('height',h+'px');
//console.log("1");
}else{
header.addClass("on").css('height',h + 'px');
$("header .depth02").css('height',h+'px');
//console.log("2");
}
depth01_li.addClass("on");
$('header .depth02').css('height',h + 'px');
}
gnb.find(".menu_link").on("mouseover", function () {
open_gnb($(this));
});
@ -187,6 +184,12 @@ function header() {
var depth01 = $(this);
depth01.addClass("on").siblings().removeClass("on");
});
gnb.find(".depth02").on("mouseover", function () {
if(header.is(".on") !== true){
$('header .depth02').attr('style','');
}else{$('header .depth02').css('height',h + 'px');}
});
gnb.find(".menu_link").on("focusin", function () {
open_gnb($(this));
@ -203,9 +206,20 @@ function header() {
header.on("mouseleave", function () {
header.removeClass("on").attr('style','');
$('header .depth02').attr('style','');
$(".depth01_li").removeClass("on");
$("header .depth02").animate({height:'auto'},0);
});
gnb.on("mouseleave", function () {
header.removeClass("on").attr('style','');
$('header .depth02').attr('style','');
$(".depth01_li").removeClass("on");
$("header .depth02").animate({height:'auto'},1000);
});
$(".depth01_li").on('mouseleave',function(){
$('header .depth02').attr('style','');
})
$("#menu .depth01_li:last-child .depth02 li:last-child").on("focusout", function () {
header.removeClass("on").attr('style','');