2023-07-28 16:12 조건부기소유예, 기반강화연수 과정 관리 페이지
This commit is contained in:
parent
8670e65a9a
commit
1c20b3dde9
@ -17,6 +17,10 @@ public class VeConstants {
|
||||
public static final String LCTR_DIV_CD_30 = "30";
|
||||
|
||||
public static final String LCTR_DIV_CD_40 = "40";
|
||||
|
||||
public static final String LCTR_DIV_CD_50 = "50";
|
||||
|
||||
public static final String LCTR_DIV_CD_60 = "60";
|
||||
|
||||
public static final String STATUS_CD_SBMT = "10"; // 요청
|
||||
|
||||
|
||||
@ -3,6 +3,8 @@ package kcc.ve.oprtn.cndtnSspnIdtmt.prcsInfoMng.web;
|
||||
import java.util.List;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpSession;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
@ -10,11 +12,16 @@ import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.ModelMap;
|
||||
import org.springframework.web.bind.annotation.ModelAttribute;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
|
||||
|
||||
import egovframework.rte.fdl.idgnr.EgovIdGnrService;
|
||||
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
|
||||
import kcc.com.cmm.LoginVO;
|
||||
import kcc.com.cmm.util.StringUtil;
|
||||
import kcc.com.utl.user.service.CheckLoginUtil;
|
||||
import kcc.let.uat.uia.service.SsoLoginVO;
|
||||
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsCntntVO;
|
||||
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO;
|
||||
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsOnlnCntntService;
|
||||
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsService;
|
||||
@ -101,10 +108,6 @@ public class CndtnPrcsInfoMngController {
|
||||
@Resource(name = "checkAdrProcessUtil")
|
||||
private CheckAdrProcessUtil checkAdrProcessUtil;
|
||||
*/
|
||||
|
||||
/**
|
||||
* 조건부기소유예 과정 관리 목록 화면
|
||||
*/
|
||||
|
||||
@RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsMngList.do")
|
||||
public String cndtnEduPrcsMngList(
|
||||
@ -124,13 +127,13 @@ public class CndtnPrcsInfoMngController {
|
||||
PaginationInfo paginationInfo = this.setPagingStep1(vEPrcsDetailVO);
|
||||
|
||||
//임시로 페이징 처리를 안하기 위해서 RecordCountPerPage 수를 10000 으로 셋팅함
|
||||
paginationInfo.setRecordCountPerPage(10000);
|
||||
//paginationInfo.setRecordCountPerPage(10000);
|
||||
|
||||
//2. pageing step2
|
||||
vEPrcsDetailVO = this.setPagingStep2(vEPrcsDetailVO, paginationInfo);
|
||||
|
||||
//교육콘텐츠 조회
|
||||
vEPrcsDetailVO.setLctrDivCd("40");
|
||||
//기반강화 조회
|
||||
vEPrcsDetailVO.setLctrDivCd("60"); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부
|
||||
|
||||
if(StringUtil.isNotEmpty(vEPrcsDetailVO.getSearchKeyword())){
|
||||
String selectCondition = "AND a.PRCS_NM LIKE CONCAT ('%', '" +vEPrcsDetailVO.getSearchKeyword() + "', '%')";
|
||||
@ -145,7 +148,7 @@ public class CndtnPrcsInfoMngController {
|
||||
|
||||
if(StringUtil.isEmpty(vEPrcsDetailVO.getPrcsDiv())) {
|
||||
|
||||
vEPrcsDetailVO.setPrcsDiv("10");
|
||||
vEPrcsDetailVO.setPrcsDiv("10");// 과정구분 VE0015 10-산업종사자, 20-대학생, 30-공무원, 40-일반인, 50-청소년, 60-학부모
|
||||
|
||||
}
|
||||
List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsService.selectPagingList(vEPrcsDetailVO);
|
||||
@ -163,9 +166,212 @@ public class CndtnPrcsInfoMngController {
|
||||
|
||||
return "oprtn/cndtnSspnIdtmt/cndtnEduPrcsMngList";
|
||||
///kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsMngList.do
|
||||
//cndtnSspnIdtmt/cndtnEduPrcsMngList
|
||||
}
|
||||
|
||||
/**
|
||||
* 조건부기소유예과정 등록 화면
|
||||
*/
|
||||
//@RequestMapping("eduPrcsMngReg.do")
|
||||
@RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsMngReg.do")
|
||||
public String cndtnEduPrcsMngReg(
|
||||
@ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO
|
||||
, ModelMap model
|
||||
) throws Exception {
|
||||
|
||||
//로그인 처리====================================
|
||||
//로그인 정보 가져오기
|
||||
|
||||
String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model);
|
||||
if (!"".equals(s_oprtnLoginCheckNInfo)) return s_oprtnLoginCheckNInfo;
|
||||
|
||||
//로그인 처리====================================
|
||||
|
||||
|
||||
return "oprtn/cndtnSspnIdtmt/cndtnEduPrcsMngReg";
|
||||
}
|
||||
|
||||
/**
|
||||
* 조건부기소유예과정 등록
|
||||
*/
|
||||
@RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsMngRegAjax.do")
|
||||
public ModelAndView cndtnEduPrcsMngRegAjax(
|
||||
@ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO
|
||||
, ModelMap model
|
||||
//, RedirectAttributes redirectAttributes
|
||||
, 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 로그인 정보 가져오기
|
||||
|
||||
|
||||
String prcsOrd = prcsGnrService.getNextStringId(); // 고유ID
|
||||
vEPrcsDetailVO.setPrcsOrd(prcsOrd);
|
||||
vEPrcsDetailVO.setLctrDivCd("60"); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부
|
||||
vEPrcsDetailVO.setUseYn("Y");
|
||||
vEPrcsDetailVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id
|
||||
vEPrcsService.insert(vEPrcsDetailVO);
|
||||
|
||||
|
||||
//세부과정 생성하기
|
||||
String[] s_detailPrcsNm = request.getParameterValues("detailPrcsNm");
|
||||
for (int i=0;i<s_detailPrcsNm.length;i++) {
|
||||
String prcsOnlnOrd = prcsOnlnGnrService.getNextStringId(); // 고유ID
|
||||
VEPrcsCntntVO vEPrcsCntntVO = new VEPrcsCntntVO();
|
||||
vEPrcsCntntVO.setPrcsOrd(prcsOrd);
|
||||
vEPrcsCntntVO.setPrcsOnlnCntntOrd(prcsOnlnOrd);
|
||||
// vEPrcsCntntVO.setPrcsNm(s_detailPrcsNm[i]);
|
||||
vEPrcsCntntVO.setDetailPrcsNm(s_detailPrcsNm[i]);
|
||||
vEPrcsCntntVO.setChasi(String.valueOf(i+1));
|
||||
vEPrcsCntntVO.setUseYn("Y");
|
||||
vEPrcsCntntVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id
|
||||
vEPrcsOnlnCntntService.insert(vEPrcsCntntVO);
|
||||
}
|
||||
|
||||
|
||||
modelAndView.addObject("result", "success");
|
||||
|
||||
return modelAndView;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 조건부기소유예과정 상세화면
|
||||
*/
|
||||
@RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsMngDetail.do")
|
||||
public String cndtnEduPrcsMngDetail(
|
||||
@ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO
|
||||
|
||||
, ModelMap model
|
||||
, RedirectAttributes redirectAttributes
|
||||
, HttpSession session
|
||||
, HttpServletRequest request
|
||||
) throws Exception {
|
||||
|
||||
//로그인 처리====================================
|
||||
//로그인 정보 가져오기
|
||||
|
||||
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
|
||||
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
|
||||
|
||||
//로그인 처리====================================
|
||||
|
||||
//과정 조회
|
||||
VEPrcsDetailVO vEPrcsDetailVODetail = vEPrcsService.selectDetail(vEPrcsDetailVO);
|
||||
model.addAttribute("info", vEPrcsDetailVODetail);
|
||||
//세부과정 목록 조회
|
||||
VEPrcsCntntVO vePrcsCntntVO = new VEPrcsCntntVO();
|
||||
vePrcsCntntVO.setPrcsOrd(vEPrcsDetailVO.getPrcsOrd());
|
||||
List<VEPrcsCntntVO> vEPrcsCntntList = vEPrcsOnlnCntntService.selectList(vePrcsCntntVO);
|
||||
model.addAttribute("vEPrcsCntntList", vEPrcsCntntList);
|
||||
|
||||
return "/oprtn/cndtnSspnIdtmt/cndtnEduPrcsMngDetail";
|
||||
}
|
||||
|
||||
/**
|
||||
* 조건부기소유예과정 수정화면
|
||||
*/
|
||||
@RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsMngMdfy.do")
|
||||
public String cndtnEduPrcsMngMdfy(
|
||||
@ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO
|
||||
|
||||
, ModelMap model
|
||||
, RedirectAttributes redirectAttributes
|
||||
, HttpSession session
|
||||
, HttpServletRequest request
|
||||
) throws Exception {
|
||||
|
||||
//로그인 처리====================================
|
||||
//로그인 정보 가져오기
|
||||
|
||||
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
|
||||
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
|
||||
|
||||
//로그인 처리====================================
|
||||
|
||||
//과정 조회
|
||||
VEPrcsDetailVO vEPrcsDetailVODetail = vEPrcsService.selectDetail(vEPrcsDetailVO);
|
||||
model.addAttribute("info", vEPrcsDetailVODetail);
|
||||
//세부과정 목록 조회
|
||||
VEPrcsCntntVO vePrcsCntntVO = new VEPrcsCntntVO();
|
||||
vePrcsCntntVO.setPrcsOrd(vEPrcsDetailVO.getPrcsOrd());
|
||||
List<VEPrcsCntntVO> vEPrcsCntntList = vEPrcsOnlnCntntService.selectList(vePrcsCntntVO);
|
||||
model.addAttribute("vEPrcsCntntList", vEPrcsCntntList);
|
||||
|
||||
return "oprtn/cndtnSspnIdtmt/cndtnEduPrcsMngMdfy";
|
||||
}
|
||||
|
||||
/**
|
||||
* 조건부기소유예과정 화면
|
||||
*/
|
||||
@RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsMngMdfyAjax.do")
|
||||
public ModelAndView cndtnEduPrcsMngMdfyAjax(
|
||||
@ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO
|
||||
, ModelMap model
|
||||
//, RedirectAttributes redirectAttributes
|
||||
, 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 로그인 정보 가져오기
|
||||
|
||||
vEPrcsDetailVO.setLastUpdusrId(loginVO.getUniqId()); //esntl_id
|
||||
vEPrcsService.update(vEPrcsDetailVO);
|
||||
|
||||
|
||||
//세부과정 지우고 다시 생성
|
||||
VEPrcsCntntVO vEPrcsCntntVO = new VEPrcsCntntVO();
|
||||
vEPrcsCntntVO.setPrcsOrd(vEPrcsDetailVO.getPrcsOrd());
|
||||
int iv = vEPrcsOnlnCntntService.deleteAll(vEPrcsCntntVO);
|
||||
String[] s_detailPrcsNm = request.getParameterValues("detailPrcsNm");
|
||||
for (int i=0;i<s_detailPrcsNm.length;i++) {
|
||||
String prcsOnlnOrd = prcsOnlnGnrService.getNextStringId(); // 고유ID
|
||||
vEPrcsCntntVO.setPrcsOnlnCntntOrd(prcsOnlnOrd);
|
||||
//vEPrcsCntntVO.setPrcsNm(s_detailPrcsNm[i]);
|
||||
vEPrcsCntntVO.setDetailPrcsNm(s_detailPrcsNm[i]);
|
||||
vEPrcsCntntVO.setChasi(String.valueOf(i+1));
|
||||
vEPrcsCntntVO.setUseYn("Y");
|
||||
vEPrcsCntntVO.setLastUpdusrId(loginVO.getUniqId()); //esntl_id
|
||||
vEPrcsOnlnCntntService.insert(vEPrcsCntntVO);
|
||||
}
|
||||
|
||||
|
||||
modelAndView.addObject("result", "success");
|
||||
|
||||
return modelAndView;
|
||||
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
//
|
||||
|
||||
@ -4,6 +4,7 @@ import java.util.List;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpSession;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
@ -12,15 +13,23 @@ import org.springframework.ui.ModelMap;
|
||||
import org.springframework.web.bind.annotation.ModelAttribute;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
|
||||
|
||||
import egovframework.rte.fdl.idgnr.EgovIdGnrService;
|
||||
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
|
||||
import kcc.com.cmm.LoginVO;
|
||||
import kcc.com.cmm.service.EgovFileMngService;
|
||||
import kcc.com.cmm.service.EgovFileMngUtil;
|
||||
import kcc.com.cmm.util.StringUtil;
|
||||
import kcc.com.utl.user.service.CheckLoginUtil;
|
||||
import kcc.let.uat.uia.service.SsoLoginVO;
|
||||
import kcc.let.utl.fcc.service.EgovCryptoUtil;
|
||||
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctService;
|
||||
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduChasiService;
|
||||
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsCmpltDetailService;
|
||||
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsCntntVO;
|
||||
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO;
|
||||
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsMIXService;
|
||||
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsOnlnCntntService;
|
||||
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsService;
|
||||
|
||||
@ -69,6 +78,33 @@ public class FndthPrcsInfoMngController {
|
||||
@Resource(name="prcsOnlnGnrService")
|
||||
private EgovIdGnrService prcsOnlnGnrService;
|
||||
|
||||
//교육신청
|
||||
@Resource(name = "vEEduAplctService")
|
||||
private VEEduAplctService vEEduAplctService;
|
||||
|
||||
//교육과정신청
|
||||
@Resource(name = "vEPrcsMIXService")
|
||||
private VEPrcsMIXService vEPrcsMIXService;
|
||||
|
||||
//차시
|
||||
@Resource(name = "vEEduChasiService")
|
||||
private VEEduChasiService vVEEduChasiService;
|
||||
|
||||
//첨부파일 경로, realPath 설정
|
||||
@Resource(name="EgovFileMngUtil")
|
||||
private EgovFileMngUtil fileUtil;
|
||||
|
||||
//암복호화 유틸
|
||||
@Resource(name = "egovCryptoUtil")
|
||||
EgovCryptoUtil egovCryptoUtil;
|
||||
|
||||
//교육과정신청
|
||||
@Resource(name = "vEPrcsCmpltDetailService")
|
||||
private VEPrcsCmpltDetailService vEPrcsCmpltDetailService;
|
||||
|
||||
@Resource(name = "EgovFileMngService")
|
||||
private EgovFileMngService fileService;
|
||||
|
||||
/*
|
||||
|
||||
// 교육신청 서비스단
|
||||
@ -129,13 +165,13 @@ public class FndthPrcsInfoMngController {
|
||||
PaginationInfo paginationInfo = this.setPagingStep1(vEPrcsDetailVO);
|
||||
|
||||
//임시로 페이징 처리를 안하기 위해서 RecordCountPerPage 수를 10000 으로 셋팅함
|
||||
paginationInfo.setRecordCountPerPage(10000);
|
||||
//paginationInfo.setRecordCountPerPage(10000);
|
||||
|
||||
//2. pageing step2
|
||||
vEPrcsDetailVO = this.setPagingStep2(vEPrcsDetailVO, paginationInfo);
|
||||
|
||||
//교육콘텐츠 조회
|
||||
vEPrcsDetailVO.setLctrDivCd("40");
|
||||
//기반강화 조회
|
||||
vEPrcsDetailVO.setLctrDivCd("50"); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부
|
||||
|
||||
if(StringUtil.isNotEmpty(vEPrcsDetailVO.getSearchKeyword())){
|
||||
String selectCondition = "AND a.PRCS_NM LIKE CONCAT ('%', '" +vEPrcsDetailVO.getSearchKeyword() + "', '%')";
|
||||
@ -150,7 +186,7 @@ public class FndthPrcsInfoMngController {
|
||||
|
||||
if(StringUtil.isEmpty(vEPrcsDetailVO.getPrcsDiv())) {
|
||||
|
||||
vEPrcsDetailVO.setPrcsDiv("10");
|
||||
vEPrcsDetailVO.setPrcsDiv("10");// 과정구분 VE0015 10-산업종사자, 20-대학생, 30-공무원, 40-일반인, 50-청소년, 60-학부모
|
||||
|
||||
}
|
||||
List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsService.selectPagingList(vEPrcsDetailVO);
|
||||
@ -224,7 +260,7 @@ public class FndthPrcsInfoMngController {
|
||||
|
||||
String prcsOrd = prcsGnrService.getNextStringId(); // 고유ID
|
||||
vEPrcsDetailVO.setPrcsOrd(prcsOrd);
|
||||
vEPrcsDetailVO.setLctrDivCd("40");
|
||||
vEPrcsDetailVO.setLctrDivCd("50"); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부
|
||||
vEPrcsDetailVO.setUseYn("Y");
|
||||
vEPrcsDetailVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id
|
||||
vEPrcsService.insert(vEPrcsDetailVO);
|
||||
@ -246,6 +282,128 @@ public class FndthPrcsInfoMngController {
|
||||
}
|
||||
|
||||
|
||||
modelAndView.addObject("result", "success");
|
||||
|
||||
return modelAndView;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 기반강화연수과정 상세화면
|
||||
*/
|
||||
@RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsMngDetail.do")
|
||||
public String fndthEduPrcsMngDetail(
|
||||
@ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO
|
||||
|
||||
, ModelMap model
|
||||
, RedirectAttributes redirectAttributes
|
||||
, HttpSession session
|
||||
, HttpServletRequest request
|
||||
) throws Exception {
|
||||
|
||||
//로그인 처리====================================
|
||||
//로그인 정보 가져오기
|
||||
|
||||
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
|
||||
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
|
||||
|
||||
//로그인 처리====================================
|
||||
|
||||
//과정 조회
|
||||
VEPrcsDetailVO vEPrcsDetailVODetail = vEPrcsService.selectDetail(vEPrcsDetailVO);
|
||||
model.addAttribute("info", vEPrcsDetailVODetail);
|
||||
//세부과정 목록 조회
|
||||
VEPrcsCntntVO vePrcsCntntVO = new VEPrcsCntntVO();
|
||||
vePrcsCntntVO.setPrcsOrd(vEPrcsDetailVO.getPrcsOrd());
|
||||
List<VEPrcsCntntVO> vEPrcsCntntList = vEPrcsOnlnCntntService.selectList(vePrcsCntntVO);
|
||||
model.addAttribute("vEPrcsCntntList", vEPrcsCntntList);
|
||||
|
||||
return "/oprtn/fndthEnhanceTrn/fndthEduPrcsMngDetail";
|
||||
}
|
||||
|
||||
/**
|
||||
* 기반강화연수과정 수정화면
|
||||
*/
|
||||
@RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsMngMdfy.do")
|
||||
public String fndthEduPrcsMngMdfy(
|
||||
@ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO
|
||||
|
||||
, ModelMap model
|
||||
, RedirectAttributes redirectAttributes
|
||||
, HttpSession session
|
||||
, HttpServletRequest request
|
||||
) throws Exception {
|
||||
|
||||
//로그인 처리====================================
|
||||
//로그인 정보 가져오기
|
||||
|
||||
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
|
||||
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
|
||||
|
||||
//로그인 처리====================================
|
||||
|
||||
//과정 조회
|
||||
VEPrcsDetailVO vEPrcsDetailVODetail = vEPrcsService.selectDetail(vEPrcsDetailVO);
|
||||
model.addAttribute("info", vEPrcsDetailVODetail);
|
||||
//세부과정 목록 조회
|
||||
VEPrcsCntntVO vePrcsCntntVO = new VEPrcsCntntVO();
|
||||
vePrcsCntntVO.setPrcsOrd(vEPrcsDetailVO.getPrcsOrd());
|
||||
List<VEPrcsCntntVO> vEPrcsCntntList = vEPrcsOnlnCntntService.selectList(vePrcsCntntVO);
|
||||
model.addAttribute("vEPrcsCntntList", vEPrcsCntntList);
|
||||
|
||||
return "oprtn/fndthEnhanceTrn/fndthEduPrcsMngMdfy";
|
||||
}
|
||||
|
||||
/**
|
||||
* 기반강화연수과정 화면
|
||||
*/
|
||||
@RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsMngMdfyAjax.do")
|
||||
public ModelAndView fndthEduPrcsMngMdfyAjax(
|
||||
@ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO
|
||||
, ModelMap model
|
||||
//, RedirectAttributes redirectAttributes
|
||||
, 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 로그인 정보 가져오기
|
||||
|
||||
vEPrcsDetailVO.setLastUpdusrId(loginVO.getUniqId()); //esntl_id
|
||||
vEPrcsService.update(vEPrcsDetailVO);
|
||||
|
||||
|
||||
//세부과정 지우고 다시 생성
|
||||
VEPrcsCntntVO vEPrcsCntntVO = new VEPrcsCntntVO();
|
||||
vEPrcsCntntVO.setPrcsOrd(vEPrcsDetailVO.getPrcsOrd());
|
||||
int iv = vEPrcsOnlnCntntService.deleteAll(vEPrcsCntntVO);
|
||||
String[] s_detailPrcsNm = request.getParameterValues("detailPrcsNm");
|
||||
for (int i=0;i<s_detailPrcsNm.length;i++) {
|
||||
String prcsOnlnOrd = prcsOnlnGnrService.getNextStringId(); // 고유ID
|
||||
vEPrcsCntntVO.setPrcsOnlnCntntOrd(prcsOnlnOrd);
|
||||
//vEPrcsCntntVO.setPrcsNm(s_detailPrcsNm[i]);
|
||||
vEPrcsCntntVO.setDetailPrcsNm(s_detailPrcsNm[i]);
|
||||
vEPrcsCntntVO.setChasi(String.valueOf(i+1));
|
||||
vEPrcsCntntVO.setUseYn("Y");
|
||||
vEPrcsCntntVO.setLastUpdusrId(loginVO.getUniqId()); //esntl_id
|
||||
vEPrcsOnlnCntntService.insert(vEPrcsCntntVO);
|
||||
}
|
||||
|
||||
|
||||
modelAndView.addObject("result", "success");
|
||||
|
||||
return modelAndView;
|
||||
|
||||
@ -0,0 +1,158 @@
|
||||
<!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="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
|
||||
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
|
||||
<%
|
||||
/**
|
||||
* @Class Name : cndtnEduPrcsMngDetail.jsp
|
||||
* @Description : 조건부기소유예 상세화면
|
||||
* @Modification Information
|
||||
* @
|
||||
* @ 수정일 수정자 수정내용
|
||||
* @ ------- -------- ---------------------------
|
||||
* @ 2021.12.16 조용준 최초 생성
|
||||
* @author 조용주
|
||||
* @since 2021.12.16
|
||||
* @version 1.0
|
||||
* @see
|
||||
*
|
||||
*/
|
||||
%>
|
||||
<html lang="ko">
|
||||
<head>
|
||||
<title>교육과정관리</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<script type="text/javascript">
|
||||
|
||||
|
||||
|
||||
function fncGoList(){
|
||||
var listForm = document.listForm ;
|
||||
listForm.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsMngList.do'/>";
|
||||
listForm.submit();
|
||||
}
|
||||
function fncMdfy(){
|
||||
var detailForm = document.detailForm ;
|
||||
detailForm.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsMngMdfy.do'/>";
|
||||
detailForm.submit();
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<form:form id="listForm" name="listForm" commandName="vEPrcsDetailVO" method="post">
|
||||
</form:form>
|
||||
<form:form id="detailForm" name="detailForm" commandName="vEPrcsDetailVO" method="post">
|
||||
<input type="hidden" name="prcsOrd" value="<c:out value='${vEPrcsDetailVO.prcsOrd}' default='1' />"/>
|
||||
<!-- cont -->
|
||||
<div class="cont_wrap">
|
||||
<div class="box">
|
||||
|
||||
<!-- cont_tit -->
|
||||
<div class="cont_tit">
|
||||
<h2>교육 과정 등록</h2>
|
||||
<ul class="cont_nav">
|
||||
<li class="home"><a href="/"><i></i></a></li>
|
||||
<li>
|
||||
<p>교육콘텐츠</p>
|
||||
</li>
|
||||
<li><span class="cur_nav">교육 과정 관리</span></li>
|
||||
<li><span class="cur_nav">교육 과정 등록</span></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- //cont_tit -->
|
||||
|
||||
<div class="cont">
|
||||
<!-- list_상세 -->
|
||||
<div class="tb_tit01">
|
||||
<p>교육과정관리</p>
|
||||
</div>
|
||||
<div class="tb_type02">
|
||||
<table>
|
||||
<colgroup>
|
||||
<col style="width: 210px;">
|
||||
<col style="width: auto;">
|
||||
<col style="width: 210px;">
|
||||
<col style="width: auto;">
|
||||
</colgroup>
|
||||
|
||||
<tbody>
|
||||
<tr>
|
||||
<th scope="row">구분</th>
|
||||
<td>
|
||||
<ve:code codeId="VE0015" code="${info.prcsDiv}"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">종류</th>
|
||||
<td>
|
||||
<input type="checkbox" id="prcsKind01" name="prcsKind" value="01" disabled="disabled"; <c:if test="${fn:contains(info.prcsKind, '01')}">checked="checked"</c:if>>
|
||||
<label class="" for="prcsKind01">신규</label>
|
||||
<input type="checkbox" id="prcsKind012" name="prcsKind" value="02" disabled="disabled"; <c:if test="${fn:contains(info.prcsKind, '02')}">checked="checked"</c:if>>
|
||||
<label class="" for="prcsKind012">갱신</label>
|
||||
<input type="checkbox" id="prcsKind0123" name="prcsKind" value="03" disabled="disabled"; <c:if test="${fn:contains(info.prcsKind, '03')}">checked="checked"</c:if>>
|
||||
<label class="" for="prcsKind0123">의무</label>
|
||||
<%-- 1<ve:checkbox codeId="VE0033" id="prcsKind" name="prcsKind" selectedJoinValue="${info.prcsKind}" warp="span" css="disabled"/>2
|
||||
<br/>
|
||||
3<ve:checkbox codeId="VE0033" id="prcsKind" name="prcsKind" selectedJoinValue="${info.prcsKind}" warp="span"/>4
|
||||
<br/>
|
||||
5<ve:checkbox codeId="VE0033" id="prcsKind" name="prcsKind" selectedJoinValue="${info.prcsKind}" css="disabled"/>6
|
||||
<br/>
|
||||
7<ve:checkbox codeId="VE0033" id="prcsKind" name="prcsKind" selectedJoinValue="${info.prcsKind}"/>8 --%>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">과정명</th>
|
||||
<td>
|
||||
<c:out value='${info.prcsNm}' />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">세부과정</th>
|
||||
<td class="addPro_wrap">
|
||||
<c:forEach var="list" items="${vEPrcsCntntList}" varStatus="status">
|
||||
<div class="tbody_one">
|
||||
<span><span class="span_num3">${status.count}</span>.</span>
|
||||
<div>
|
||||
<c:out value='${list.detailPrcsNm}' />
|
||||
</div>
|
||||
</div>
|
||||
</c:forEach>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">표시순서</th>
|
||||
<td>
|
||||
<c:out value='${info.prcsSortNo}' />
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- //list_상세 -->
|
||||
|
||||
<!-- btn_wrap -->
|
||||
<div class="btn_wrap btn_layout01">
|
||||
<div class="btn_left">
|
||||
</div>
|
||||
<div class="btn_center">
|
||||
</div>
|
||||
<div class="btn_right">
|
||||
<button type="button" class="btn_type02" onclick="fncMdfy(); return false;">수정</button>
|
||||
<button type="button" class="btn_type03" onclick="fncGoList(); return false;">목록</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form:form>
|
||||
<!-- //cont -->
|
||||
</body>
|
||||
</html>
|
||||
@ -44,7 +44,7 @@
|
||||
var listForm = document.listForm ;
|
||||
listForm.pageIndex.value = pageNo ;
|
||||
listForm.searchKeyword.value = $('#searchKeyword').val();
|
||||
listForm.action = "<c:url value='/kccadr/oprtn/otsdCprtnPrcs/eduPrcsMngList.do'/>";
|
||||
listForm.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsMngList.do'/>";
|
||||
listForm.submit();
|
||||
}
|
||||
|
||||
@ -52,14 +52,14 @@
|
||||
function fncGoDetail(prcsOrd){
|
||||
var listForm = document.listForm ;
|
||||
listForm.prcsOrd.value = prcsOrd ;
|
||||
listForm.action = "<c:url value='/kccadr/oprtn/otsdCprtnPrcs/eduPrcsMngDetail.do'/>";
|
||||
listForm.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsMngDetail.do'/>";
|
||||
listForm.submit();
|
||||
}
|
||||
|
||||
|
||||
function fncCreate() {
|
||||
var listForm = document.listForm ;
|
||||
listForm.action = "<c:url value='/kccadr/oprtn/otsdCprtnPrcs/eduPrcsMngReg.do'/>";
|
||||
listForm.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsMngReg.do'/>";
|
||||
listForm.submit();
|
||||
}
|
||||
|
||||
@ -72,7 +72,7 @@
|
||||
}
|
||||
var data = new FormData(document.getElementById("listForm"));
|
||||
if(confirm("삭제하시겠습니까?")){
|
||||
var url = "<c:url value='/kccadr/oprtn/otsdCprtnPrcs/eduPrcsMngDeleteAjax.do'/>";
|
||||
var url = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsMngDeleteAjax.do'/>";
|
||||
console.log(data);
|
||||
$.ajax({
|
||||
type:"POST",
|
||||
|
||||
@ -0,0 +1,242 @@
|
||||
<!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="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
|
||||
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
|
||||
<%
|
||||
/**
|
||||
* @Class Name : cndtnEduPrcsMngMdfy.jsp
|
||||
* @Description : 조건부기소유예 수정
|
||||
* @Modification Information
|
||||
* @
|
||||
* @ 수정일 수정자 수정내용
|
||||
* @ ------- -------- ---------------------------
|
||||
* @ 2021.12.16 조용준 최초 생성
|
||||
* @author 조용주
|
||||
* @since 2021.12.16
|
||||
* @version 1.0
|
||||
* @see
|
||||
*
|
||||
*/
|
||||
%>
|
||||
<html lang="ko">
|
||||
<head>
|
||||
<title>교육과정관리</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<script type="text/javascript">
|
||||
//세부과정 추가 버튼 클릭 시 세부과정 추가
|
||||
function addPro() {
|
||||
var addQuest = $(".addPro_wrap");
|
||||
var questLen = addQuest.children("div").length;
|
||||
questLen = Number(questLen+1);
|
||||
var trHtml="";
|
||||
|
||||
trHtml += '<div class="tbody_one">';
|
||||
trHtml += '<span><span class="span_num3">'+ questLen +'</span>.</span>';
|
||||
trHtml += '<div>';
|
||||
trHtml += '<input type="text" name="detailPrcsNm" id="detailPrcsNm"> ';
|
||||
trHtml += '<button type="button" class="table_del3" onclick="delPro(this)"><img src="${pageContext.request.contextPath}/visitEdu/adm/publish/image/content/btn_del.png"></button>';
|
||||
trHtml += '</div>';
|
||||
trHtml += '</div>';
|
||||
|
||||
addQuest.append(trHtml);
|
||||
}
|
||||
|
||||
//삭제 버튼 클릭 시 현재 div 삭제 후 지문 숫자 재선언
|
||||
function delPro(item) {
|
||||
var bodyThis = $(item).closest('.tbody_one');
|
||||
var tb = $(item).closest('.addPro_wrap').find('.tbody_one');
|
||||
var len = $(item).closest('.addPro_wrap').children('.tbody_one').length;
|
||||
var idx = bodyThis.index();
|
||||
|
||||
if(len == 1){
|
||||
alert("세부과정은 최소1개가 존재해야합니다.");
|
||||
return false;
|
||||
}else{
|
||||
bodyThis.remove();
|
||||
|
||||
for(var i=0;i<len;i++){
|
||||
if(idx>i){
|
||||
tb.eq(i).find('.span_num3').text(i+1);
|
||||
}else{
|
||||
tb.eq(i).find('.span_num3').text(i);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function fncAddUser(){
|
||||
var obj = $(".memList:first").clone(true);
|
||||
obj.children('input').val('')
|
||||
/*
|
||||
var len = $(".memList").length;
|
||||
$.each(obj.find("input"), function(idx, objInput){
|
||||
objInput.name = objInput.name.replace(/\[.*\]/,'['+(len+1)+']');
|
||||
console.log(objInput.name);
|
||||
if(objInput.name.indexOf("memGrade") < 0){
|
||||
objInput.value = '';
|
||||
}
|
||||
});
|
||||
obj.find("button").attr("id", obj.find("button").attr("id").replace(/[0-9]/gi, len+2));
|
||||
obj.find("tr:last > td").text("");
|
||||
*/
|
||||
$(".memList:last").after(obj);
|
||||
}
|
||||
|
||||
function fncDelUser(obj){
|
||||
if($(".memList").length <= 1){
|
||||
alert("담당자은 최소1개가 존재해야합니다.");
|
||||
}else{
|
||||
$(obj).closest("td").remove();
|
||||
}
|
||||
}
|
||||
|
||||
function fncSave(){
|
||||
|
||||
var data = new FormData(document.getElementById("createForm"));
|
||||
if(confirm("저장하시겠습니까?")){
|
||||
var url = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsMngMdfyAjax.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();
|
||||
}
|
||||
},
|
||||
error:function(request , status, error){
|
||||
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function fncGoList(){
|
||||
var listForm = document.listForm ;
|
||||
listForm.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsMngList.do'/>";
|
||||
listForm.submit();
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<form:form id="listForm" name="listForm" commandName="vEPrcsDetailVO" method="post">
|
||||
</form:form>
|
||||
<form:form id="createForm" name="createForm" commandName="vEPrcsDetailVO" method="post">
|
||||
<input type="hidden" name="prcsOrd" value="<c:out value='${vEPrcsDetailVO.prcsOrd}' default='1' />"/>
|
||||
<!-- cont -->
|
||||
<div class="cont_wrap">
|
||||
<div class="box">
|
||||
|
||||
<!-- cont_tit -->
|
||||
<div class="cont_tit">
|
||||
<h2>교육 과정 등록</h2>
|
||||
<ul class="cont_nav">
|
||||
<li class="home"><a href="/"><i></i></a></li>
|
||||
<li>
|
||||
<p>교육콘텐츠</p>
|
||||
</li>
|
||||
<li><span class="cur_nav">교육 과정 관리</span></li>
|
||||
<li><span class="cur_nav">교육 과정 등록</span></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- //cont_tit -->
|
||||
|
||||
<div class="cont">
|
||||
<!-- list_상세 -->
|
||||
<div class="tb_tit01">
|
||||
<p>교육과정관리</p>
|
||||
</div>
|
||||
<div class="tb_type02">
|
||||
<table>
|
||||
<colgroup>
|
||||
<col style="width: 210px;">
|
||||
<col style="width: auto;">
|
||||
<col style="width: 210px;">
|
||||
<col style="width: auto;">
|
||||
</colgroup>
|
||||
|
||||
<tbody>
|
||||
<tr>
|
||||
<th scope="row">구분</th>
|
||||
<td>
|
||||
<ve:select codeId="VE0015" name="prcsDiv" id="prcsDiv" css="class='sel_type1'" selectedValue="${info.prcsDiv}" defaultValue='10'/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">종류</th>
|
||||
<td>
|
||||
|
||||
<input type="checkbox" id="prcsKind01" name="prcsKind" value="01" <c:if test="${fn:contains(info.prcsKind, '01')}">checked="checked"</c:if>>
|
||||
<label class="" for="prcsKind01">신규</label>
|
||||
<input type="checkbox" id="prcsKind012" name="prcsKind" value="02" <c:if test="${fn:contains(info.prcsKind, '02')}">checked="checked"</c:if>>
|
||||
<label class="" for="prcsKind012">갱신</label>
|
||||
<input type="checkbox" id="prcsKind0123" name="prcsKind" value="03" <c:if test="${fn:contains(info.prcsKind, '03')}">checked="checked"</c:if>>
|
||||
<label class="" for="prcsKind0123">의무</label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">과정명</th>
|
||||
<td>
|
||||
<input type="text" placeholder="과정명을 입력해주세요." name="prcsNm" id="prcsNm" value="<c:out value='${info.prcsNm}'/>" style="width: 56%;">
|
||||
<button type="button" class="btn_type06" onclick="addPro(); return false;">세부과정 추가</button>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">세부과정</th>
|
||||
<td class="addPro_wrap">
|
||||
<c:forEach var="list" items="${vEPrcsCntntList}" varStatus="status">
|
||||
<div class="tbody_one">
|
||||
<span><span class="span_num3">${status.count}</span>.</span>
|
||||
<div>
|
||||
<input type="text" name="detailPrcsNm" id="detailPrcsNm" value="${list.detailPrcsNm}">
|
||||
<button type="button" class="table_del3" onclick="delPro(this)"><img src="${pageContext.request.contextPath}/visitEdu/adm/publish/image/content/btn_del.png"></button>
|
||||
</div>
|
||||
</div>
|
||||
</c:forEach>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">표시순서</th>
|
||||
<td>
|
||||
<input type="text" name="prcsSortNo" id="prcsSortNo" value="<c:out value='${info.prcsSortNo}'/>" style="width: 50px;" maxLength="3">
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- //list_상세 -->
|
||||
|
||||
<!-- btn_wrap -->
|
||||
<div class="btn_wrap btn_layout01">
|
||||
<div class="btn_left">
|
||||
</div>
|
||||
<div class="btn_center">
|
||||
</div>
|
||||
<div class="btn_right">
|
||||
<button type="button" class="btn_type02" onclick="fncSave(); return false;">저장</button>
|
||||
<button type="button" class="btn_type03" onclick="fncGoList(); return false;">취소</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form:form>
|
||||
<!-- //cont -->
|
||||
</body>
|
||||
</html>
|
||||
@ -0,0 +1,240 @@
|
||||
<!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="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
|
||||
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
|
||||
<%
|
||||
/**
|
||||
* @Class Name : cndtnEduPrcsMngReg.jsp
|
||||
* @Description : 조건부기소유예 과정 등록
|
||||
* @Modification Information
|
||||
* @
|
||||
* @ 수정일 수정자 수정내용
|
||||
* @ ------- -------- ---------------------------
|
||||
* @ 2021.12.16 조용준 최초 생성
|
||||
* @author 조용주
|
||||
* @since 2021.12.16
|
||||
* @version 1.0
|
||||
* @see
|
||||
*
|
||||
*/
|
||||
%>
|
||||
<html lang="ko">
|
||||
<head>
|
||||
<title>교육과정관리</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<script type="text/javascript">
|
||||
//세부과정 추가 버튼 클릭 시 세부과정 추가
|
||||
function addPro() {
|
||||
var addQuest = $(".addPro_wrap");
|
||||
var questLen = addQuest.children("div").length;
|
||||
questLen = Number(questLen+1);
|
||||
var trHtml="";
|
||||
|
||||
trHtml += '<div class="tbody_one">';
|
||||
trHtml += '<span><span class="span_num3">'+ questLen +'</span>.</span>';
|
||||
trHtml += '<div>';
|
||||
trHtml += '<input type="text" name="detailPrcsNm" id="detailPrcsNm"> ';
|
||||
trHtml += '<button type="button" class="table_del3" onclick="delPro(this)"><img src="${pageContext.request.contextPath}/visitEdu/adm/publish/image/content/btn_del.png"></button>';
|
||||
trHtml += '</div>';
|
||||
trHtml += '</div>';
|
||||
|
||||
addQuest.append(trHtml);
|
||||
}
|
||||
|
||||
//삭제 버튼 클릭 시 현재 div 삭제 후 지문 숫자 재선언
|
||||
function delPro(item) {
|
||||
var bodyThis = $(item).closest('.tbody_one');
|
||||
var tb = $(item).closest('.addPro_wrap').find('.tbody_one');
|
||||
var len = $(item).closest('.addPro_wrap').children('.tbody_one').length;
|
||||
var idx = bodyThis.index();
|
||||
|
||||
if(len == 1){
|
||||
alert("세부과정은 최소1개가 존재해야합니다.");
|
||||
return false;
|
||||
}else{
|
||||
bodyThis.remove();
|
||||
|
||||
for(var i=0;i<len;i++){
|
||||
if(idx>i){
|
||||
tb.eq(i).find('.span_num3').text(i+1);
|
||||
}else{
|
||||
tb.eq(i).find('.span_num3').text(i);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function fncAddUser(){
|
||||
var obj = $(".memList:first").clone(true);
|
||||
obj.children('input').val('')
|
||||
/*
|
||||
var len = $(".memList").length;
|
||||
$.each(obj.find("input"), function(idx, objInput){
|
||||
objInput.name = objInput.name.replace(/\[.*\]/,'['+(len+1)+']');
|
||||
console.log(objInput.name);
|
||||
if(objInput.name.indexOf("memGrade") < 0){
|
||||
objInput.value = '';
|
||||
}
|
||||
});
|
||||
obj.find("button").attr("id", obj.find("button").attr("id").replace(/[0-9]/gi, len+2));
|
||||
obj.find("tr:last > td").text("");
|
||||
*/
|
||||
$(".memList:last").after(obj);
|
||||
}
|
||||
|
||||
function fncDelUser(obj){
|
||||
if($(".memList").length <= 1){
|
||||
alert("담당자은 최소1개가 존재해야합니다.");
|
||||
}else{
|
||||
$(obj).closest("td").remove();
|
||||
}
|
||||
}
|
||||
|
||||
function fncSave(){
|
||||
|
||||
var data = new FormData(document.getElementById("createForm"));
|
||||
if(confirm("저장하시겠습니까?")){
|
||||
var url = "${pageContext.request.contextPath}/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsMngRegAjax.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();
|
||||
}
|
||||
},
|
||||
error:function(request , status, error){
|
||||
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function fncGoList(){
|
||||
var listForm = document.listForm ;
|
||||
listForm.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsMngList.do'/>";
|
||||
listForm.submit();
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<form:form id="listForm" name="listForm" commandName="vEPrcsDetailVO" method="post">
|
||||
</form:form>
|
||||
<form:form id="createForm" name="createForm" commandName="adjustDeptManageVO" method="post">
|
||||
<!-- cont -->
|
||||
<div class="cont_wrap">
|
||||
<div class="box">
|
||||
|
||||
<!-- cont_tit -->
|
||||
<div class="cont_tit">
|
||||
<h2>교육 과정 등록</h2>
|
||||
<ul class="cont_nav">
|
||||
<li class="home"><a href="/"><i></i></a></li>
|
||||
<li>
|
||||
<p>교육콘텐츠</p>
|
||||
</li>
|
||||
<li><span class="cur_nav">교육 과정 관리</span></li>
|
||||
<li><span class="cur_nav">교육 과정 등록</span></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- //cont_tit -->
|
||||
|
||||
<div class="cont">
|
||||
<!-- list_상세 -->
|
||||
<div class="tb_tit01">
|
||||
<p>교육과정관리</p>
|
||||
</div>
|
||||
<div class="tb_type02">
|
||||
<table>
|
||||
<colgroup>
|
||||
<col style="width: 210px;">
|
||||
<col style="width: auto;">
|
||||
<col style="width: 210px;">
|
||||
<col style="width: auto;">
|
||||
</colgroup>
|
||||
|
||||
<tbody>
|
||||
<tr>
|
||||
<th scope="row">구분</th>
|
||||
<td>
|
||||
<ve:select codeId="VE0015" name="prcsDiv" id="prcsDiv" css="class='sel_type1'" selectedValue="<c:out value='${info.prcsDiv}'/>" defaultValue='10'/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">종류</th>
|
||||
<td>
|
||||
|
||||
<input type="checkbox" id="prcsKind01" name="prcsKind" value="01" <c:if test="${fn:contains(info.prcsKind, '01')}">checked="checked"</c:if>>
|
||||
<label class="" for="prcsKind01">신규</label>
|
||||
<input type="checkbox" id="prcsKind012" name="prcsKind" value="02" <c:if test="${fn:contains(info.prcsKind, '02')}">checked="checked"</c:if>>
|
||||
<label class="" for="prcsKind012">갱신</label>
|
||||
<input type="checkbox" id="prcsKind0123" name="prcsKind" value="03" <c:if test="${fn:contains(info.prcsKind, '03')}">checked="checked"</c:if>>
|
||||
<label class="" for="prcsKind0123">의무</label>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">과정명</th>
|
||||
<td>
|
||||
<input type="text" placeholder="과정명을 입력해주세요." name="prcsNm" id="prcsNm" value="<c:out value='${info.prcsNm}'/>" style="width: 56%;">
|
||||
<button type="button" class="btn_type06" onclick="addPro(); return false;">세부과정 추가</button>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">세부과정</th>
|
||||
<td class="addPro_wrap">
|
||||
<div class="tbody_one">
|
||||
<span><span class="span_num3">1</span>.</span>
|
||||
<div>
|
||||
<input type="text" name="detailPrcsNm" id="detailPrcsNm" value="${info.detailPrcsNm}">
|
||||
<button type="button" class="table_del3" onclick="delPro(this)"><img src="${pageContext.request.contextPath}/visitEdu/adm/publish/image/content/btn_del.png"></button>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">표시순서</th>
|
||||
<td class="addPro_wrap">
|
||||
<input type="text" name="prcsSortNo" id="prcsSortNo" value="${info.prcsSortNo}" style="width:50px;" maxLength="3">
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- //list_상세 -->
|
||||
|
||||
<!-- btn_wrap -->
|
||||
<div class="btn_wrap btn_layout01">
|
||||
<div class="btn_left">
|
||||
</div>
|
||||
<div class="btn_center">
|
||||
</div>
|
||||
<div class="btn_right">
|
||||
<button type="button" class="btn_type02" onclick="fncSave(); return false;">저장</button>
|
||||
<button type="button" class="btn_type03" onclick="fncGoList(); return false;">목록</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form:form>
|
||||
<!-- //cont -->
|
||||
</body>
|
||||
</html>
|
||||
@ -0,0 +1,158 @@
|
||||
<!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="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
|
||||
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
|
||||
<%
|
||||
/**
|
||||
* @Class Name : fndthEduPrcsMngDetail.jsp
|
||||
* @Description : 기반강화연수 상세화면
|
||||
* @Modification Information
|
||||
* @
|
||||
* @ 수정일 수정자 수정내용
|
||||
* @ ------- -------- ---------------------------
|
||||
* @ 2021.12.16 조용준 최초 생성
|
||||
* @author 조용주
|
||||
* @since 2021.12.16
|
||||
* @version 1.0
|
||||
* @see
|
||||
*
|
||||
*/
|
||||
%>
|
||||
<html lang="ko">
|
||||
<head>
|
||||
<title>교육과정관리</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<script type="text/javascript">
|
||||
|
||||
|
||||
|
||||
function fncGoList(){
|
||||
var listForm = document.listForm ;
|
||||
listForm.action = "<c:url value='/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsMngList.do'/>";
|
||||
listForm.submit();
|
||||
}
|
||||
function fncMdfy(){
|
||||
var detailForm = document.detailForm ;
|
||||
detailForm.action = "<c:url value='/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsMngMdfy.do'/>";
|
||||
detailForm.submit();
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<form:form id="listForm" name="listForm" commandName="vEPrcsDetailVO" method="post">
|
||||
</form:form>
|
||||
<form:form id="detailForm" name="detailForm" commandName="vEPrcsDetailVO" method="post">
|
||||
<input type="hidden" name="prcsOrd" value="<c:out value='${vEPrcsDetailVO.prcsOrd}' default='1' />"/>
|
||||
<!-- cont -->
|
||||
<div class="cont_wrap">
|
||||
<div class="box">
|
||||
|
||||
<!-- cont_tit -->
|
||||
<div class="cont_tit">
|
||||
<h2>교육 과정 등록</h2>
|
||||
<ul class="cont_nav">
|
||||
<li class="home"><a href="/"><i></i></a></li>
|
||||
<li>
|
||||
<p>교육콘텐츠</p>
|
||||
</li>
|
||||
<li><span class="cur_nav">교육 과정 관리</span></li>
|
||||
<li><span class="cur_nav">교육 과정 등록</span></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- //cont_tit -->
|
||||
|
||||
<div class="cont">
|
||||
<!-- list_상세 -->
|
||||
<div class="tb_tit01">
|
||||
<p>교육과정관리</p>
|
||||
</div>
|
||||
<div class="tb_type02">
|
||||
<table>
|
||||
<colgroup>
|
||||
<col style="width: 210px;">
|
||||
<col style="width: auto;">
|
||||
<col style="width: 210px;">
|
||||
<col style="width: auto;">
|
||||
</colgroup>
|
||||
|
||||
<tbody>
|
||||
<tr>
|
||||
<th scope="row">구분</th>
|
||||
<td>
|
||||
<ve:code codeId="VE0015" code="${info.prcsDiv}"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">종류</th>
|
||||
<td>
|
||||
<input type="checkbox" id="prcsKind01" name="prcsKind" value="01" disabled="disabled"; <c:if test="${fn:contains(info.prcsKind, '01')}">checked="checked"</c:if>>
|
||||
<label class="" for="prcsKind01">신규</label>
|
||||
<input type="checkbox" id="prcsKind012" name="prcsKind" value="02" disabled="disabled"; <c:if test="${fn:contains(info.prcsKind, '02')}">checked="checked"</c:if>>
|
||||
<label class="" for="prcsKind012">갱신</label>
|
||||
<input type="checkbox" id="prcsKind0123" name="prcsKind" value="03" disabled="disabled"; <c:if test="${fn:contains(info.prcsKind, '03')}">checked="checked"</c:if>>
|
||||
<label class="" for="prcsKind0123">의무</label>
|
||||
<%-- 1<ve:checkbox codeId="VE0033" id="prcsKind" name="prcsKind" selectedJoinValue="${info.prcsKind}" warp="span" css="disabled"/>2
|
||||
<br/>
|
||||
3<ve:checkbox codeId="VE0033" id="prcsKind" name="prcsKind" selectedJoinValue="${info.prcsKind}" warp="span"/>4
|
||||
<br/>
|
||||
5<ve:checkbox codeId="VE0033" id="prcsKind" name="prcsKind" selectedJoinValue="${info.prcsKind}" css="disabled"/>6
|
||||
<br/>
|
||||
7<ve:checkbox codeId="VE0033" id="prcsKind" name="prcsKind" selectedJoinValue="${info.prcsKind}"/>8 --%>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">과정명</th>
|
||||
<td>
|
||||
<c:out value='${info.prcsNm}' />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">세부과정</th>
|
||||
<td class="addPro_wrap">
|
||||
<c:forEach var="list" items="${vEPrcsCntntList}" varStatus="status">
|
||||
<div class="tbody_one">
|
||||
<span><span class="span_num3">${status.count}</span>.</span>
|
||||
<div>
|
||||
<c:out value='${list.detailPrcsNm}' />
|
||||
</div>
|
||||
</div>
|
||||
</c:forEach>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">표시순서</th>
|
||||
<td>
|
||||
<c:out value='${info.prcsSortNo}' />
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- //list_상세 -->
|
||||
|
||||
<!-- btn_wrap -->
|
||||
<div class="btn_wrap btn_layout01">
|
||||
<div class="btn_left">
|
||||
</div>
|
||||
<div class="btn_center">
|
||||
</div>
|
||||
<div class="btn_right">
|
||||
<button type="button" class="btn_type02" onclick="fncMdfy(); return false;">수정</button>
|
||||
<button type="button" class="btn_type03" onclick="fncGoList(); return false;">목록</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form:form>
|
||||
<!-- //cont -->
|
||||
</body>
|
||||
</html>
|
||||
@ -44,7 +44,7 @@
|
||||
var listForm = document.listForm ;
|
||||
listForm.pageIndex.value = pageNo ;
|
||||
listForm.searchKeyword.value = $('#searchKeyword').val();
|
||||
listForm.action = "<c:url value='/kccadr/oprtn/otsdCprtnPrcs/eduPrcsMngList.do'/>";
|
||||
listForm.action = "<c:url value='/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsMngList.do'/>";
|
||||
listForm.submit();
|
||||
}
|
||||
|
||||
@ -52,7 +52,7 @@
|
||||
function fncGoDetail(prcsOrd){
|
||||
var listForm = document.listForm ;
|
||||
listForm.prcsOrd.value = prcsOrd ;
|
||||
listForm.action = "<c:url value='/kccadr/oprtn/otsdCprtnPrcs/eduPrcsMngDetail.do'/>";
|
||||
listForm.action = "<c:url value='/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsMngDetail.do'/>";
|
||||
listForm.submit();
|
||||
}
|
||||
|
||||
@ -72,7 +72,7 @@
|
||||
}
|
||||
var data = new FormData(document.getElementById("listForm"));
|
||||
if(confirm("삭제하시겠습니까?")){
|
||||
var url = "<c:url value='/kccadr/oprtn/otsdCprtnPrcs/eduPrcsMngDeleteAjax.do'/>";
|
||||
var url = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsMngDeleteAjax.do'/>";
|
||||
console.log(data);
|
||||
$.ajax({
|
||||
type:"POST",
|
||||
@ -189,6 +189,20 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="list_util">
|
||||
<p class="list_util_p"><span><c:out value="${paginationInfo.totalRecordCount}" /></span>건의 접수가 검색되었습니다.</p>
|
||||
<div>
|
||||
<select class="sel_type1" name="pageUnit" id="pageUnit" onchange="linkPage(1);" title="줄 선택" style="width: 140px" class="sel_type1">
|
||||
<option value='10' <c:if test="${vEPrcsDetailVO.pageUnit == '10' or vEPrcsDetailVO.pageUnit == ''}">selected</c:if>>10줄</option>
|
||||
<option value='20' <c:if test="${vEPrcsDetailVO.pageUnit == '20'}">selected</c:if>>20줄</option>
|
||||
<option value='30' <c:if test="${vEPrcsDetailVO.pageUnit == '30'}">selected</c:if>>30줄</option>
|
||||
<option value='100' <c:if test="${vEPrcsDetailVO.pageUnit == '100'}">selected</c:if>>100줄</option>
|
||||
</select>
|
||||
<%--<button type="button" class="btn_down_excel">엑셀 다운로드</button>--%>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- //list_top -->
|
||||
|
||||
<!-- list_top -->
|
||||
@ -263,9 +277,9 @@
|
||||
<!-- //list -->
|
||||
|
||||
<!-- page -->
|
||||
<%-- <div class="page">
|
||||
<div class="page">
|
||||
<ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" />
|
||||
</div> --%>
|
||||
</div>
|
||||
<div class="btn_wrap btn_layout01">
|
||||
<div class="btn_left">
|
||||
</div>
|
||||
|
||||
@ -0,0 +1,242 @@
|
||||
<!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="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
|
||||
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
|
||||
<%
|
||||
/**
|
||||
* @Class Name : fndthEduPrcsMngMdfy.jsp
|
||||
* @Description : 기반강화연수 수정
|
||||
* @Modification Information
|
||||
* @
|
||||
* @ 수정일 수정자 수정내용
|
||||
* @ ------- -------- ---------------------------
|
||||
* @ 2021.12.16 조용준 최초 생성
|
||||
* @author 조용주
|
||||
* @since 2021.12.16
|
||||
* @version 1.0
|
||||
* @see
|
||||
*
|
||||
*/
|
||||
%>
|
||||
<html lang="ko">
|
||||
<head>
|
||||
<title>교육과정관리</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<script type="text/javascript">
|
||||
//세부과정 추가 버튼 클릭 시 세부과정 추가
|
||||
function addPro() {
|
||||
var addQuest = $(".addPro_wrap");
|
||||
var questLen = addQuest.children("div").length;
|
||||
questLen = Number(questLen+1);
|
||||
var trHtml="";
|
||||
|
||||
trHtml += '<div class="tbody_one">';
|
||||
trHtml += '<span><span class="span_num3">'+ questLen +'</span>.</span>';
|
||||
trHtml += '<div>';
|
||||
trHtml += '<input type="text" name="detailPrcsNm" id="detailPrcsNm"> ';
|
||||
trHtml += '<button type="button" class="table_del3" onclick="delPro(this)"><img src="${pageContext.request.contextPath}/visitEdu/adm/publish/image/content/btn_del.png"></button>';
|
||||
trHtml += '</div>';
|
||||
trHtml += '</div>';
|
||||
|
||||
addQuest.append(trHtml);
|
||||
}
|
||||
|
||||
//삭제 버튼 클릭 시 현재 div 삭제 후 지문 숫자 재선언
|
||||
function delPro(item) {
|
||||
var bodyThis = $(item).closest('.tbody_one');
|
||||
var tb = $(item).closest('.addPro_wrap').find('.tbody_one');
|
||||
var len = $(item).closest('.addPro_wrap').children('.tbody_one').length;
|
||||
var idx = bodyThis.index();
|
||||
|
||||
if(len == 1){
|
||||
alert("세부과정은 최소1개가 존재해야합니다.");
|
||||
return false;
|
||||
}else{
|
||||
bodyThis.remove();
|
||||
|
||||
for(var i=0;i<len;i++){
|
||||
if(idx>i){
|
||||
tb.eq(i).find('.span_num3').text(i+1);
|
||||
}else{
|
||||
tb.eq(i).find('.span_num3').text(i);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function fncAddUser(){
|
||||
var obj = $(".memList:first").clone(true);
|
||||
obj.children('input').val('')
|
||||
/*
|
||||
var len = $(".memList").length;
|
||||
$.each(obj.find("input"), function(idx, objInput){
|
||||
objInput.name = objInput.name.replace(/\[.*\]/,'['+(len+1)+']');
|
||||
console.log(objInput.name);
|
||||
if(objInput.name.indexOf("memGrade") < 0){
|
||||
objInput.value = '';
|
||||
}
|
||||
});
|
||||
obj.find("button").attr("id", obj.find("button").attr("id").replace(/[0-9]/gi, len+2));
|
||||
obj.find("tr:last > td").text("");
|
||||
*/
|
||||
$(".memList:last").after(obj);
|
||||
}
|
||||
|
||||
function fncDelUser(obj){
|
||||
if($(".memList").length <= 1){
|
||||
alert("담당자은 최소1개가 존재해야합니다.");
|
||||
}else{
|
||||
$(obj).closest("td").remove();
|
||||
}
|
||||
}
|
||||
|
||||
function fncSave(){
|
||||
|
||||
var data = new FormData(document.getElementById("createForm"));
|
||||
if(confirm("저장하시겠습니까?")){
|
||||
var url = "<c:url value='/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsMngMdfyAjax.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();
|
||||
}
|
||||
},
|
||||
error:function(request , status, error){
|
||||
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function fncGoList(){
|
||||
var listForm = document.listForm ;
|
||||
listForm.action = "<c:url value='/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsMngList.do'/>";
|
||||
listForm.submit();
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<form:form id="listForm" name="listForm" commandName="vEPrcsDetailVO" method="post">
|
||||
</form:form>
|
||||
<form:form id="createForm" name="createForm" commandName="vEPrcsDetailVO" method="post">
|
||||
<input type="hidden" name="prcsOrd" value="<c:out value='${vEPrcsDetailVO.prcsOrd}' default='1' />"/>
|
||||
<!-- cont -->
|
||||
<div class="cont_wrap">
|
||||
<div class="box">
|
||||
|
||||
<!-- cont_tit -->
|
||||
<div class="cont_tit">
|
||||
<h2>교육 과정 등록</h2>
|
||||
<ul class="cont_nav">
|
||||
<li class="home"><a href="/"><i></i></a></li>
|
||||
<li>
|
||||
<p>교육콘텐츠</p>
|
||||
</li>
|
||||
<li><span class="cur_nav">교육 과정 관리</span></li>
|
||||
<li><span class="cur_nav">교육 과정 등록</span></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- //cont_tit -->
|
||||
|
||||
<div class="cont">
|
||||
<!-- list_상세 -->
|
||||
<div class="tb_tit01">
|
||||
<p>교육과정관리</p>
|
||||
</div>
|
||||
<div class="tb_type02">
|
||||
<table>
|
||||
<colgroup>
|
||||
<col style="width: 210px;">
|
||||
<col style="width: auto;">
|
||||
<col style="width: 210px;">
|
||||
<col style="width: auto;">
|
||||
</colgroup>
|
||||
|
||||
<tbody>
|
||||
<tr>
|
||||
<th scope="row">구분</th>
|
||||
<td>
|
||||
<ve:select codeId="VE0015" name="prcsDiv" id="prcsDiv" css="class='sel_type1'" selectedValue="${info.prcsDiv}" defaultValue='10'/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">종류</th>
|
||||
<td>
|
||||
|
||||
<input type="checkbox" id="prcsKind01" name="prcsKind" value="01" <c:if test="${fn:contains(info.prcsKind, '01')}">checked="checked"</c:if>>
|
||||
<label class="" for="prcsKind01">신규</label>
|
||||
<input type="checkbox" id="prcsKind012" name="prcsKind" value="02" <c:if test="${fn:contains(info.prcsKind, '02')}">checked="checked"</c:if>>
|
||||
<label class="" for="prcsKind012">갱신</label>
|
||||
<input type="checkbox" id="prcsKind0123" name="prcsKind" value="03" <c:if test="${fn:contains(info.prcsKind, '03')}">checked="checked"</c:if>>
|
||||
<label class="" for="prcsKind0123">의무</label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">과정명</th>
|
||||
<td>
|
||||
<input type="text" placeholder="과정명을 입력해주세요." name="prcsNm" id="prcsNm" value="<c:out value='${info.prcsNm}'/>" style="width: 56%;">
|
||||
<button type="button" class="btn_type06" onclick="addPro(); return false;">세부과정 추가</button>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">세부과정</th>
|
||||
<td class="addPro_wrap">
|
||||
<c:forEach var="list" items="${vEPrcsCntntList}" varStatus="status">
|
||||
<div class="tbody_one">
|
||||
<span><span class="span_num3">${status.count}</span>.</span>
|
||||
<div>
|
||||
<input type="text" name="detailPrcsNm" id="detailPrcsNm" value="${list.detailPrcsNm}">
|
||||
<button type="button" class="table_del3" onclick="delPro(this)"><img src="${pageContext.request.contextPath}/visitEdu/adm/publish/image/content/btn_del.png"></button>
|
||||
</div>
|
||||
</div>
|
||||
</c:forEach>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">표시순서</th>
|
||||
<td>
|
||||
<input type="text" name="prcsSortNo" id="prcsSortNo" value="<c:out value='${info.prcsSortNo}'/>" style="width: 50px;" maxLength="3">
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- //list_상세 -->
|
||||
|
||||
<!-- btn_wrap -->
|
||||
<div class="btn_wrap btn_layout01">
|
||||
<div class="btn_left">
|
||||
</div>
|
||||
<div class="btn_center">
|
||||
</div>
|
||||
<div class="btn_right">
|
||||
<button type="button" class="btn_type02" onclick="fncSave(); return false;">저장</button>
|
||||
<button type="button" class="btn_type03" onclick="fncGoList(); return false;">취소</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form:form>
|
||||
<!-- //cont -->
|
||||
</body>
|
||||
</html>
|
||||
Loading…
Reference in New Issue
Block a user