Merge branch 'advc' of http://yongjoon.cho@vcs.iten.co.kr:9999/hylee/offedu into advc
@ -62,6 +62,7 @@ public class AdrInnorixFileVO extends ComDefaultVO implements Serializable {
|
||||
//서류요청 기능
|
||||
public String docReqNm = ""; //요청 서류명
|
||||
public String sbmtId = ""; //제출 강사 ID
|
||||
public String eduDocReqOrd = "";//서류요청 순번
|
||||
|
||||
|
||||
public String getFileType() {
|
||||
@ -160,6 +161,14 @@ public class AdrInnorixFileVO extends ComDefaultVO implements Serializable {
|
||||
this.sbmtId = sbmtId;
|
||||
}
|
||||
|
||||
public String getEduDocReqOrd() {
|
||||
return eduDocReqOrd;
|
||||
}
|
||||
|
||||
public void setEduDocReqOrd(String eduDocReqOrd) {
|
||||
this.eduDocReqOrd = eduDocReqOrd;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -36,4 +36,6 @@ public interface InnorixFileService {
|
||||
|
||||
RestResponse insertInnorixReqFile(AdrInnorixFileVO adrInnorixFileVO);
|
||||
|
||||
RestResponse insertInnorixDocFile(AdrInnorixFileVO adrInnorixFileVO);
|
||||
|
||||
}
|
||||
|
||||
@ -432,6 +432,32 @@ public class InnorixFileServiceImpl extends EgovAbstractServiceImpl implements I
|
||||
}
|
||||
|
||||
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
return new RestResponse(HttpStatus.BAD_REQUEST, "등록에 실패하였습니다.", LocalDateTime.now());
|
||||
}
|
||||
|
||||
return new RestResponse(HttpStatus.OK, adrInnorixFileVO.getSuccessMsg(), LocalDateTime.now());
|
||||
}
|
||||
|
||||
@Override
|
||||
public RestResponse insertInnorixDocFile(AdrInnorixFileVO adrInnorixFileVO) {
|
||||
|
||||
List<FileVO> result = null;
|
||||
try {
|
||||
// 파일 저장 후 저장할 file 정보를 받아옴
|
||||
result = this.insertFileData(adrInnorixFileVO);
|
||||
|
||||
// 파일 정보 insert
|
||||
String atchFileId = fileManageDAO.insertFileInfs(result);
|
||||
|
||||
//VE_EDU_DOC_REQ 서류요청테이블 insert
|
||||
VEEduAplctVO vEEduAplctVO = new VEEduAplctVO();
|
||||
vEEduAplctVO.setEduDocReqOrd(adrInnorixFileVO.getEduDocReqOrd());
|
||||
vEEduAplctVO.setSbmtAtchFileId(atchFileId);
|
||||
vEEduAplctService.updateSbmtAtchFileId(vEEduAplctVO);
|
||||
|
||||
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
return new RestResponse(HttpStatus.BAD_REQUEST, "등록에 실패하였습니다.", LocalDateTime.now());
|
||||
|
||||
@ -184,4 +184,29 @@ public class InnorixFileController {
|
||||
|
||||
return ResponseEntity.ok(innorixService.insertInnorixReqFile(adrInnorixFileVO));
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : insertReqDocInnorixFile
|
||||
* @author : 이지우
|
||||
* @date : 2023.11.06
|
||||
* @description : 파일 insert 전용
|
||||
* @param adrInnorixFileVO
|
||||
* @return
|
||||
* @throws Exception
|
||||
* 청소년 교육 강사 요청 서류 업로드
|
||||
*/
|
||||
@RequestMapping(value = {"/web/common/insertInnorixDocFileAjax.do"}, method = RequestMethod.POST)
|
||||
public ResponseEntity<RestResponse> insertReqDocInnorixFile(@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.insertInnorixDocFile(adrInnorixFileVO));
|
||||
}
|
||||
}
|
||||
@ -901,6 +901,29 @@ public class CommonWebController {
|
||||
return modelAndView;
|
||||
}
|
||||
|
||||
// 강사 요청 서류 업르도 팝업
|
||||
@RequestMapping("/popup/docFileUploadPop.do")
|
||||
public String reqFileUploadPop(@ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO, ModelMap model, HttpServletRequest request) throws Exception{
|
||||
try {
|
||||
|
||||
|
||||
//로그인 정보 가져오기
|
||||
LoginVO loginVO = checkLoginUtil.getAuthLoginVO();
|
||||
vEEduAplctVO.setUserId(loginVO.getUniqId());
|
||||
System.out.println("===================== loginVO.getUniqId() :: " + loginVO.getUniqId());
|
||||
|
||||
String fileType = request.getParameter("fileType");
|
||||
System.out.println("=====================" + fileType);
|
||||
model.addAttribute("fileType", fileType);
|
||||
|
||||
String eduDocReqOrd = request.getParameter("eduDocReqOrd");
|
||||
model.addAttribute("eduDocReqOrd", eduDocReqOrd);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
// TODO: handle exception
|
||||
}
|
||||
return "/web/ve/comm/docFileUploadPop";
|
||||
}
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
//
|
||||
|
||||
@ -484,6 +484,13 @@ public class EduEndTngrController {
|
||||
egovQustnrRespondManageService.selectQustnrRespondManageListCnt(searchVO);
|
||||
model.addAttribute("cryptoUtil", egovCryptoUtil);
|
||||
|
||||
//서류 요청 목록
|
||||
VEEduAplctVO veEduDocReqVO = new VEEduAplctVO();
|
||||
veEduDocReqVO.setEduAplctOrd(vEEduAplctVO.getEduAplctOrd());
|
||||
List<VEEduAplctVO> vEEduDocReqList = vEEduAplctService.selectDocReqList(veEduDocReqVO);
|
||||
//복호화
|
||||
vEEduDocReqList = egovCryptoUtil.decryptVEEduAplctVOList(vEEduDocReqList);
|
||||
model.addAttribute("docReqList", vEEduDocReqList);
|
||||
|
||||
return "/web/ve/aplct/tngrVisitEdu/eduEnd/eduEndDetail";
|
||||
}
|
||||
|
||||
@ -29,6 +29,8 @@ 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.VEEduAplctService;
|
||||
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
|
||||
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduChasiVO;
|
||||
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduMIXService;
|
||||
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailService;
|
||||
@ -86,6 +88,9 @@ public class VEAsgnmController {
|
||||
@Resource(name = "vEEduMIXService")
|
||||
private VEEduMIXService vEEduMIXService;
|
||||
|
||||
@Resource(name = "vEEduAplctService")
|
||||
private VEEduAplctService vEEduAplctService;
|
||||
|
||||
//청소년강사 강의 요청 목록
|
||||
@RequestMapping("/web/ve/instr/tngrVisitEdu/asgnmInfo/instrAsgnmRqstList.do")
|
||||
public String instrAsgnmRqstList(
|
||||
@ -573,6 +578,14 @@ public class VEAsgnmController {
|
||||
model.addAttribute("vEEduChasiCompanionVOList", vEEduChasiCompanionVOList);
|
||||
|
||||
|
||||
//요청서류 목록
|
||||
VEEduAplctVO veEduDocReqVO = new VEEduAplctVO();
|
||||
veEduDocReqVO.setEduAplctOrd(vEInstrAsgnmVOInfo.getEduAplctOrd());
|
||||
veEduDocReqVO.setSbmtId(loginVO.getUniqId());
|
||||
List<VEEduAplctVO> vEEduDocReqList = vEEduAplctService.selectDocReqList(veEduDocReqVO);
|
||||
//복호화
|
||||
vEEduDocReqList = egovCryptoUtil.decryptVEEduAplctVOList(vEEduDocReqList);
|
||||
model.addAttribute("docReqList", vEEduDocReqList);
|
||||
|
||||
}catch(Exception ex) {
|
||||
ex.printStackTrace();
|
||||
|
||||
@ -54,4 +54,7 @@ public interface VEEduAplctService {
|
||||
|
||||
//서류요청 목록 조회
|
||||
List<VEEduAplctVO> selectDocReqList(VEEduAplctVO paramVO) throws Exception;
|
||||
|
||||
//요청서류 제출
|
||||
void updateSbmtAtchFileId(VEEduAplctVO paramVO) throws Exception;
|
||||
}
|
||||
|
||||
@ -147,4 +147,8 @@ public class VEEduAplctDAO extends EgovAbstractDAO {
|
||||
public List<VEEduAplctVO> selectDocReqList(VEEduAplctVO paramVO) throws Exception {
|
||||
return (List<VEEduAplctVO>) list("VEEduAplctDAO.selectDocReqList", paramVO);
|
||||
}
|
||||
|
||||
public void updateSbmtAtchFileId(VEEduAplctVO paramVO) throws Exception {
|
||||
insert("VEEduAplctDAO.updateSbmtAtchFileId", paramVO);
|
||||
}
|
||||
}
|
||||
|
||||
@ -171,4 +171,8 @@ public class VEEduAplctServiceImpl implements VEEduAplctService {
|
||||
public List<VEEduAplctVO> selectDocReqList(VEEduAplctVO paramVO) throws Exception{
|
||||
return vEEduAplctDAO.selectDocReqList(paramVO);
|
||||
}
|
||||
|
||||
public void updateSbmtAtchFileId(VEEduAplctVO paramVO) throws Exception {
|
||||
vEEduAplctDAO.updateSbmtAtchFileId(paramVO);
|
||||
}
|
||||
}
|
||||
|
||||
@ -46,6 +46,7 @@ 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.VEEduAplctService;
|
||||
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
|
||||
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailService;
|
||||
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO;
|
||||
@ -112,6 +113,9 @@ public class VEEduEndController {
|
||||
@Resource(name="vEAsgnmNotiService")
|
||||
private VEAsgnmNotiService vEAsgnmNotiService;
|
||||
|
||||
@Resource(name = "vEEduAplctService")
|
||||
private VEEduAplctService vEEduAplctService;
|
||||
|
||||
private static final Logger LOGGER = LoggerFactory.getLogger(EgovFileDownloadController.class);
|
||||
|
||||
/**
|
||||
@ -324,6 +328,15 @@ public class VEEduEndController {
|
||||
vEAsgnmNotiVO.setTblUniqOrd(vEInstrAsgnmVO.getEduChasiOrd());
|
||||
vEAsgnmNotiVO.setFrstRegisterId(loginVO.getUniqId());
|
||||
|
||||
//요청서류 목록
|
||||
VEEduAplctVO veEduDocReqVO = new VEEduAplctVO();
|
||||
veEduDocReqVO.setEduAplctOrd(vEInstrAsgnmVOInfo.getEduAplctOrd());
|
||||
veEduDocReqVO.setSbmtId(loginVO.getUniqId());
|
||||
List<VEEduAplctVO> vEEduDocReqList = vEEduAplctService.selectDocReqList(veEduDocReqVO);
|
||||
//복호화
|
||||
vEEduDocReqList = egovCryptoUtil.decryptVEEduAplctVOList(vEEduDocReqList);
|
||||
model.addAttribute("docReqList", vEEduDocReqList);
|
||||
|
||||
try {
|
||||
System.out.println("session.getAttribute(menuNo).toString()");
|
||||
System.out.println(session.getId());
|
||||
|
||||
@ -463,6 +463,13 @@ public class EduAplctMngTngrController {
|
||||
System.out.println(session.toString());
|
||||
System.out.println(session.getAttribute("menuNo").toString());
|
||||
|
||||
//서류 요청 목록
|
||||
VEEduAplctVO veEduDocReqVO = new VEEduAplctVO();
|
||||
veEduDocReqVO.setEduAplctOrd(vEEduAplctVO.getEduAplctOrd());
|
||||
List<VEEduAplctVO> vEEduDocReqList = vEEduAplctService.selectDocReqList(veEduDocReqVO);
|
||||
//복호화
|
||||
vEEduDocReqList = egovCryptoUtil.decryptVEEduAplctVOList(vEEduDocReqList);
|
||||
model.addAttribute("docReqList", vEEduDocReqList);
|
||||
|
||||
return "oprtn/tngrVisitEdu/eduAplctMngDetail";
|
||||
}
|
||||
@ -964,6 +971,13 @@ public class EduAplctMngTngrController {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 교육신청관리 상세 화면
|
||||
*/
|
||||
@RequestMapping("popup/eduDocReqAlertPopup.do")
|
||||
public String eduDocReqAlertPopup( @ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO , ModelMap model , HttpServletRequest request ) throws Exception {
|
||||
return "oprtn/tngrVisitEdu/popup/eduDocReqAlertPopup";
|
||||
}
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
//
|
||||
|
||||
@ -697,6 +697,14 @@ public class EduRsltMngTngrController {
|
||||
|
||||
vEAsgnmNotiService.insertAsgnmNotiInfo(vEAsgnmNotiVO);
|
||||
|
||||
//서류 요청 목록
|
||||
VEEduAplctVO veEduDocReqVO = new VEEduAplctVO();
|
||||
veEduDocReqVO.setEduAplctOrd(vEEduAplctVO.getEduAplctOrd());
|
||||
List<VEEduAplctVO> vEEduDocReqList = vEEduAplctService.selectDocReqList(veEduDocReqVO);
|
||||
//복호화
|
||||
vEEduDocReqList = egovCryptoUtil.decryptVEEduAplctVOList(vEEduDocReqList);
|
||||
model.addAttribute("docReqList", vEEduDocReqList);
|
||||
|
||||
}catch(Exception ex) {
|
||||
ex.printStackTrace();
|
||||
}
|
||||
|
||||
@ -1247,10 +1247,10 @@
|
||||
A.EDU_DOC_REQ_ORD AS eduDocReqOrd,
|
||||
A.DOC_REQ_NM AS docReqNm,
|
||||
A.DOC_FORM_ATCH_FILE_ID AS docFormAtchFileId,
|
||||
A.FRST_REGIST_PNTTM AS frstRegistPnttm,
|
||||
TO_CHAR(A.FRST_REGIST_PNTTM, 'YYYY-MM-DD') AS frstRegistPnttm,
|
||||
A.FRST_REGISTER_ID AS frstRegisterId,
|
||||
A.SBMT_ATCH_FILE_ID AS sbmtAtchFileId,
|
||||
A.SBMT_PNTTM AS sbmtPnttm,
|
||||
TO_CHAR(A.SBMT_PNTTM,'YYYY-MM-DD') AS sbmtPnttm,
|
||||
A.SBMT_ID AS sbmtId,
|
||||
B.INSTR_NM AS instrNm
|
||||
FROM
|
||||
@ -1263,7 +1263,20 @@
|
||||
<isNotEmpty property="eduAplctOrd">
|
||||
AND EDU_APLCT_ORD = #eduAplctOrd#
|
||||
</isNotEmpty>
|
||||
<isNotEmpty property="sbmtId">
|
||||
AND SBMT_ID = #sbmtId#
|
||||
</isNotEmpty>
|
||||
|
||||
|
||||
</select>
|
||||
|
||||
<update id="VEEduAplctDAO.updateSbmtAtchFileId" parameterClass="VEEduAplctVO">
|
||||
/* VEEduAplctDAO.updateSbmtAtchFileId */
|
||||
UPDATE VE_EDU_DOC_REQ
|
||||
SET
|
||||
SBMT_ATCH_FILE_ID = #sbmtAtchFileId#,
|
||||
SBMT_PNTTM = SYSDATE
|
||||
WHERE
|
||||
EDU_DOC_REQ_ORD = #eduDocReqOrd#
|
||||
</update>
|
||||
</sqlMap>
|
||||
|
||||
@ -333,7 +333,9 @@
|
||||
<table>
|
||||
<colgroup>
|
||||
<col style="width: 220px;">
|
||||
<col style="width: auto;">
|
||||
<col style="width: calc((100% - 440px)/2);">
|
||||
<col style="width: 220px;">
|
||||
<col style="width: calc((100% - 440px)/2);">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
@ -341,7 +343,7 @@
|
||||
<p class="req_text"><span>필수입력 항목</span>*</p>
|
||||
<p>교사 아이디</p>
|
||||
</th>
|
||||
<td>
|
||||
<td colspan="3">
|
||||
<input type="text" value="" style="min-width:400px;" size="25" readonly id="userId" name="frmUserId" title="교사아이디">
|
||||
<button type="button" class="btn_type06" onclick="fncUserList();">사용자 검색</button>
|
||||
</td>
|
||||
@ -359,7 +361,7 @@
|
||||
|
||||
<label for="eduSlctCd" class="label">교육선택 구분</label>
|
||||
<%-- 수정요청사항에 따라 온라인 -> 온라인 실시간으로 변경을 위해 ve:code 미사용_220218 --%>
|
||||
<select id="eduSlctCd" name="eduSlctCd" class="selType1" onChange="itemChg(this.value);">
|
||||
<select id="eduSlctCd" name="eduSlctCd" class="sel_type1" onChange="itemChg(this.value);" style="width:220px;">
|
||||
<option value="10" <c:if test="${info.eduSlctCd == '10'}">selected="selected"</c:if>>온라인 실시간</option>
|
||||
<option value="20" <c:if test="${info.eduSlctCd == '20'}">selected="selected"</c:if>>오프라인</option>
|
||||
</select>
|
||||
@ -467,7 +469,7 @@
|
||||
<p class="req_text"><span>필수입력 항목</span>*</p>
|
||||
<p>신청내용</p>
|
||||
</th>
|
||||
<td>
|
||||
<td colspan="3">
|
||||
<label for="jobNm" class="label">직함 입력</label>
|
||||
<kc:checkbox name="aplctCn" id="aplctCn" codeId="VEA006"/>
|
||||
|
||||
@ -510,16 +512,18 @@
|
||||
<table class="addClassRow" rowLimit="2">
|
||||
<colgroup>
|
||||
<col style="width: 16%;">
|
||||
<col style="width: auto;">
|
||||
<col style="width: 35%;">
|
||||
<col style="width: 12%;">
|
||||
<col style="width: 15%;">
|
||||
<col style="width: 15%;">
|
||||
<col style="width: 15%;">
|
||||
<col style="width: auto;">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col"><p class="req_text"><span>필수입력 항목</span>*</p>교육희망일</th>
|
||||
<th scope="col"><p class="req_text"><span>필수입력 항목</span>*</p>시간</th>
|
||||
<th scope="col"><p class="req_text"><span>필수입력 항목</span>*</p>대상</th>
|
||||
<th scope="col"><p class="req_text"><span>필수입력 항목</span>*</p>인원</th>
|
||||
<th scope="col" colspan="3"><p class="req_text"><span>필수입력 항목</span>*</p>인원</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
@ -289,6 +289,13 @@
|
||||
});
|
||||
}
|
||||
|
||||
// 서류요청 SMS, EMAIL 알림 팝업
|
||||
function alertPopup(userId,type) { //메뉴생성 화면 호출
|
||||
document.popForm.action = "<c:url value='/kccadr/oprtn/tngrVisitEdu/popup/eduDocReqAlertPopup.do'/>";
|
||||
window.open("#", "_eduDocReqAlertPopup", "scrollbars = no, top=100px, left=100px, height=550px, width=750px");
|
||||
document.popForm.target = "_eduDocReqAlertPopup";
|
||||
document.popForm.submit();
|
||||
}
|
||||
</script>
|
||||
|
||||
</head>
|
||||
@ -570,6 +577,76 @@
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<!-- 서류 요청 목록 -->
|
||||
<c:if test="${not empty docReqList}">
|
||||
<div class="tb_tit01">
|
||||
<p>요청서류 목록</p>
|
||||
</div>
|
||||
<div class="tb_type01 list2">
|
||||
<table>
|
||||
<colgroup>
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 20%;">
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 20%">
|
||||
<col style="width: 10;">
|
||||
<col style="width: auto;">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">강사명</th>
|
||||
<th scope="col">서류명</th>
|
||||
<th scope="col">요청일</th>
|
||||
<th scope="col">양식</th>
|
||||
<th scope="col">제출일</th>
|
||||
<th scope="col">제출서류 및 알림</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:forEach var="docReqList" items="${docReqList}" varStatus="status">
|
||||
<tr>
|
||||
<td>
|
||||
<c:out value="${docReqList.instrNm}" />
|
||||
</td>
|
||||
<td>
|
||||
<c:out value="${docReqList.docReqNm}" />
|
||||
</td>
|
||||
<td>
|
||||
<c:out value="${docReqList.frstRegistPnttm}" />
|
||||
</td>
|
||||
<td>
|
||||
<c:import url="/cmm/fms/selectBBSFileInfs.do" charEncoding="utf-8">
|
||||
<c:param name="param_atchFileId" value="${docReqList.docFormAtchFileId}" />
|
||||
</c:import>
|
||||
</td>
|
||||
<td>
|
||||
<c:if test="${not empty docReqList.sbmtAtchFileId}">
|
||||
<c:out value="${docReqList.sbmtPnttm}" />
|
||||
</c:if>
|
||||
<c:if test="${empty docReqList.sbmtAtchFileId}">
|
||||
-
|
||||
</c:if>
|
||||
</td>
|
||||
<td>
|
||||
<c:if test="${not empty docReqList.sbmtAtchFileId}">
|
||||
<c:import url="/cmm/fms/selectBBSFileInfs.do" charEncoding="utf-8">
|
||||
<c:param name="param_atchFileId" value="${docReqList.sbmtAtchFileId}" />
|
||||
</c:import>
|
||||
</c:if>
|
||||
<c:if test="${empty docReqList.sbmtAtchFileId}">
|
||||
<button class="btn_type06" onclick="alertPopup('<c:out value="${docReqList.sbmtId}" />','SMS'); return false;">SMS</button>
|
||||
<button class="btn_type06" onclick="alertPopup('<c:out value="${docReqList.sbmtId}" />','EMAIL'); return false;">EMAIL</button>
|
||||
<%-- <button type="button" class="btnType01" data-tooltip="sub35_pop01" id="DOC" onclick="filePopupLayer('<c:out value="${docReqList.eduDocReqOrd}"/>','DOC')" title="팝업 열림">제출하기</button>
|
||||
<button type="button" class="btnType01" data-tooltip="sub35_pop01" id="DOC" onclick="filePopupLayer('<c:out value="${docReqList.eduDocReqOrd}"/>','DOC')" title="팝업 열림">제출하기</button> --%>
|
||||
</c:if>
|
||||
</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</c:if>
|
||||
|
||||
<!-- 알림 정보 상세 -->
|
||||
<div class="tb_tit01">
|
||||
<p>알림정보</p>
|
||||
|
||||
@ -271,7 +271,13 @@ function replyCalculation(){
|
||||
|
||||
|
||||
|
||||
|
||||
// 서류요청 SMS, EMAIL 알림 팝업
|
||||
function alertPopup(userId,type) { //메뉴생성 화면 호출
|
||||
document.popForm.action = "<c:url value='/kccadr/oprtn/tngrVisitEdu/popup/eduDocReqAlertPopup.do'/>";
|
||||
window.open("#", "_eduDocReqAlertPopup", "scrollbars = no, top=100px, left=100px, height=550px, width=750px");
|
||||
document.popForm.target = "_eduDocReqAlertPopup";
|
||||
document.popForm.submit();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -521,6 +527,76 @@ function replyCalculation(){
|
||||
</div>
|
||||
<!-- //list_상세 -->
|
||||
|
||||
<!-- 서류요청 목록 -->
|
||||
<c:if test="${not empty docReqList}">
|
||||
<div class="tb_tit01">
|
||||
<p>요청서류 목록</p>
|
||||
</div>
|
||||
<div class="tb_type01 list2">
|
||||
<table>
|
||||
<colgroup>
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 20%;">
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 20%">
|
||||
<col style="width: 10;">
|
||||
<col style="width: auto;">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">강사명</th>
|
||||
<th scope="col">서류명</th>
|
||||
<th scope="col">요청일</th>
|
||||
<th scope="col">양식</th>
|
||||
<th scope="col">제출일</th>
|
||||
<th scope="col">제출서류 및 알림</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:forEach var="docReqList" items="${docReqList}" varStatus="status">
|
||||
<tr>
|
||||
<td>
|
||||
<c:out value="${docReqList.instrNm}" />
|
||||
</td>
|
||||
<td>
|
||||
<c:out value="${docReqList.docReqNm}" />
|
||||
</td>
|
||||
<td>
|
||||
<c:out value="${docReqList.frstRegistPnttm}" />
|
||||
</td>
|
||||
<td>
|
||||
<c:import url="/cmm/fms/selectBBSFileInfs.do" charEncoding="utf-8">
|
||||
<c:param name="param_atchFileId" value="${docReqList.docFormAtchFileId}" />
|
||||
</c:import>
|
||||
</td>
|
||||
<td>
|
||||
<c:if test="${not empty docReqList.sbmtAtchFileId}">
|
||||
<c:out value="${docReqList.sbmtPnttm}" />
|
||||
</c:if>
|
||||
<c:if test="${empty docReqList.sbmtAtchFileId}">
|
||||
-
|
||||
</c:if>
|
||||
</td>
|
||||
<td>
|
||||
<c:if test="${not empty docReqList.sbmtAtchFileId}">
|
||||
<c:import url="/cmm/fms/selectBBSFileInfs.do" charEncoding="utf-8">
|
||||
<c:param name="param_atchFileId" value="${docReqList.sbmtAtchFileId}" />
|
||||
</c:import>
|
||||
</c:if>
|
||||
<c:if test="${empty docReqList.sbmtAtchFileId}">
|
||||
<button class="btn_type06" onclick="alertPopup('<c:out value="${docReqList.sbmtId}" />','SMS'); return false;">SMS</button>
|
||||
<button class="btn_type06" onclick="alertPopup('<c:out value="${docReqList.sbmtId}" />','EMAIL'); return false;">EMAIL</button>
|
||||
<%-- <button type="button" class="btnType01" data-tooltip="sub35_pop01" id="DOC" onclick="filePopupLayer('<c:out value="${docReqList.eduDocReqOrd}"/>','DOC')" title="팝업 열림">제출하기</button>
|
||||
<button type="button" class="btnType01" data-tooltip="sub35_pop01" id="DOC" onclick="filePopupLayer('<c:out value="${docReqList.eduDocReqOrd}"/>','DOC')" title="팝업 열림">제출하기</button> --%>
|
||||
</c:if>
|
||||
</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</c:if>
|
||||
|
||||
<!-- list_상세 -->
|
||||
<div class="tb_tit01">
|
||||
<p>결과보고</p>
|
||||
|
||||
@ -0,0 +1,112 @@
|
||||
<!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="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
|
||||
<%@ taglib prefix="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %>
|
||||
<un:useConstants var="VeConstants" className="kcc.ve.cmm.VeConstants" />
|
||||
<%
|
||||
/**
|
||||
* @Class Name : eduAplctMngDetailPopup.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">
|
||||
|
||||
<style>
|
||||
|
||||
/* Page Url Hide */
|
||||
@page {
|
||||
size: auto; /* auto is the initial value */
|
||||
margin: 0; /* this affects the margin in the printer settings */
|
||||
}
|
||||
|
||||
@media print {
|
||||
html, body {height:auto;margin: 0 !important;padding: 0 !important;overflow: hidden;page-break-after: avoid;}
|
||||
.cont_tit {page-break-before: always;}
|
||||
.page_break {page-break-inside:avoid; page-break-after:auto}
|
||||
.print_mark {page-break-before: auto;}
|
||||
form{display: none;}
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
</script>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<form:form id="linkForm" name="linkForm" commandName="vEEduAplctVO" method="post">
|
||||
<input type="hidden" id="eduAplctOrd" name="eduAplctOrd" value="<c:out value="${info.eduAplctOrd}" />" />
|
||||
</form:form>
|
||||
<form id="hiddenMemoForm" name="hiddenMemoForm" method="post">
|
||||
<input type="hidden" name="eduAplctOrd" value="<c:out value="${info.eduAplctOrd}" />" />
|
||||
<input type="hidden" name="prvtMemoCn" id="prvtMemoCn" value="" />
|
||||
</form>
|
||||
<!-- cont -->
|
||||
<div class="area_popup">
|
||||
<div class="cont_popup">
|
||||
|
||||
<div class="cont_tit" style="padding: 0 0 20px 0; margin-bottom: 30px;"><h2>SMS|EMIAL 발송 - 개발전</h2></div>
|
||||
<table class="pop_tb_type02">
|
||||
<colgroup>
|
||||
<col style="width: 140px;">
|
||||
<col style="width: auto;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>수신자</p>
|
||||
</th>
|
||||
<td>청소년강사1(010-1111-2222)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>내용</p>
|
||||
</th>
|
||||
<td colspan="3"><textarea rows="" cols=""></textarea></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
<div class="btnArea">
|
||||
<div class="btn_wrap btn_layout01">
|
||||
<div class="btn_left">
|
||||
</div>
|
||||
<div class="btn_center">
|
||||
<button type="button" class="btn_type01" onclick="" title="새창 열림">확인</button>
|
||||
|
||||
</div>
|
||||
<div class="btn_right">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@ -232,7 +232,7 @@
|
||||
return false;
|
||||
}
|
||||
//첨부파일 체크 및 요청
|
||||
if(confirm("서류 요청을 등록하시겠습니까?")){
|
||||
if(confirm("양식을 업로드 하시겠습니까?")){
|
||||
if(control.getUploadFiles().length > 0){
|
||||
var postObj = new Object();
|
||||
postObj.innoDirPath = $('#innoDirPath').val();
|
||||
@ -402,7 +402,7 @@
|
||||
<div class="tooltip-wrap">
|
||||
<div class="popup_wrap popType05" tabindex="0" data-tooltip-con="sub37_pop02" data-focus="sub37_pop02" data-focus-prev="sub37_pop02_close">
|
||||
<div class="popup_tit">
|
||||
<p>강사 연락처</p>
|
||||
<p>양식 업로드</p>
|
||||
<button class="btn_popup_close tooltip-close" data-focus="sub37_pop02_close" title="팝업 닫기"><i></i></button>
|
||||
</div>
|
||||
<div class="popup_cont">
|
||||
@ -1013,7 +1013,7 @@
|
||||
</div>
|
||||
|
||||
<c:if test="${not empty docReqList}">
|
||||
<div class="tb_tit01">
|
||||
<div class="tb_tit01" style="margin-top:40px;">
|
||||
<div class="tb_tit01_left">
|
||||
<p>요청서류 목록</p>
|
||||
</div>
|
||||
|
||||
@ -1043,6 +1043,71 @@
|
||||
</c:if>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<c:if test="${not empty docReqList}">
|
||||
<div class="tb_tit01" style="margin-top:40px;">
|
||||
<div class="tb_tit01_left">
|
||||
<p>요청서류 목록</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tb_type02">
|
||||
<table>
|
||||
<%-- <caption>교육차시 정보 교육희망일, 시간, 구분, 대상, 배정강사, 인원 을/를 제공하는 표</caption> --%>
|
||||
<colgroup>
|
||||
<col style="width: 18%;">
|
||||
<col style="width: 18%;">
|
||||
<col style="width: 18%;">
|
||||
<col style="width: auto;">
|
||||
<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>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:forEach var="docReqList" items="${docReqList}">
|
||||
<tr>
|
||||
<th>
|
||||
<c:out value="${docReqList.docReqNm}" />
|
||||
</th>
|
||||
<td>
|
||||
<c:out value="${docReqList.instrNm}" />
|
||||
</td>
|
||||
<td>
|
||||
<c:import url="/cmm/fms/selectBBSFileInfs.do" charEncoding="utf-8">
|
||||
<c:param name="param_atchFileId" value="${docReqList.docFormAtchFileId}" />
|
||||
</c:import>
|
||||
</td>
|
||||
<td>
|
||||
<c:if test="${not empty docReqList.sbmtAtchFileId}">
|
||||
<c:import url="/cmm/fms/selectBBSFileInfs.do" charEncoding="utf-8">
|
||||
<c:param name="param_atchFileId" value="${docReqList.sbmtAtchFileId}" />
|
||||
</c:import>
|
||||
</c:if>
|
||||
<c:if test="${empty docReqList.sbmtAtchFileId}">
|
||||
미제출
|
||||
</c:if>
|
||||
</td>
|
||||
<td>
|
||||
<c:if test="${not empty docReqList.sbmtAtchFileId}">
|
||||
<c:out value="${docReqList.sbmtPnttm}" />
|
||||
</c:if>
|
||||
<c:if test="${empty docReqList.sbmtAtchFileId}">
|
||||
-
|
||||
</c:if>
|
||||
</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</tbody>
|
||||
</table>
|
||||
<p style="color:gray;font-size:14px;padding-top:30px;">* 확정된 교육에 대한 변경은 위원회를 통해 진행 부탁드립니다.</p>
|
||||
</div>
|
||||
</c:if>
|
||||
</div>
|
||||
|
||||
<div class="btn_wrap btn_layout01">
|
||||
|
||||
186
src/main/webapp/WEB-INF/jsp/web/ve/comm/docFileUploadPop.jsp
Normal file
@ -0,0 +1,186 @@
|
||||
|
||||
<%@ 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="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||
<%@ 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="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %>
|
||||
<%-- <un:useConstants var="VeConstants" className="kcc.ve.cmm.VeConstants" /> --%>
|
||||
|
||||
<!--
|
||||
대용량 솔루션 license 구분 값 추가
|
||||
20230717 이호영
|
||||
-->
|
||||
<link rel="stylesheet" href="<c:url value='/innorix/innorix.css'/>" type="text/css">
|
||||
<script type="text/javascript">
|
||||
|
||||
|
||||
/*
|
||||
* ==================================================================
|
||||
* INNORIX
|
||||
* 파일 업로드 솔루션 init 셋팅
|
||||
* ==================================================================
|
||||
*/
|
||||
|
||||
var control = new Object();
|
||||
|
||||
$(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(""); //파일지우기
|
||||
}
|
||||
});
|
||||
|
||||
// 레이어팝업 포커싱 이동 수정
|
||||
/* $(".tooltip-close").click(function(){
|
||||
$('[data-tooltip="sub35_pop01"]').focus();
|
||||
}); */
|
||||
$(".tooltip-close").click(function(){
|
||||
var fileType = '${fileType}';
|
||||
$('#'+fileType).focus();
|
||||
});
|
||||
|
||||
|
||||
/*
|
||||
* ==================================================================
|
||||
* INNORIX
|
||||
* 파일전송 컨트롤 생성
|
||||
* ==================================================================
|
||||
*/
|
||||
control = innorix.create({
|
||||
el: '#fileControl' // 컨트롤 출력 HTML 객체 ID
|
||||
, transferMode: 'both' // 업로드, 다운로드 혼합사용
|
||||
, installUrl: '<c:url value="/innorix/install/install.html" />' // Agent 설치 페이지
|
||||
, uploadUrl: '<c:url value="/innorix/exam/upload.jsp" />' // 업로드 URL
|
||||
, height:80
|
||||
, width: 600
|
||||
, maxFileCount : 1 // 첨부파일 최대 갯수
|
||||
, allowExtension : ["txt","xls","xlsx","png","jpg","jpeg","doc","ppt","hwp","pdf","zip"]
|
||||
// 가능한 확장자 txt|xls|xlsx|png|jpg|jpeg|doc|ppt|hwp|pdf|zip
|
||||
});
|
||||
|
||||
// 업로드 완료 후 이벤트
|
||||
control.on('uploadComplete', function (p) {
|
||||
console.log('uploadComplete : ', p);
|
||||
fn_callBackInnorix(p.files); // 파일 정보 DB isnert function
|
||||
});
|
||||
|
||||
|
||||
});
|
||||
|
||||
function fncClose() {
|
||||
window.close();
|
||||
}
|
||||
|
||||
|
||||
|
||||
//거래선 업로드
|
||||
function fncSaveFile(type){
|
||||
var setMsg = "";
|
||||
if(type == 'DOC') {
|
||||
setMsg = "요청서류를";
|
||||
}
|
||||
|
||||
if(confirm(setMsg + " 업로드 하시겠습니까?")){
|
||||
if(control.getUploadFiles().length > 0){
|
||||
var postObj = new Object();
|
||||
postObj.innoDirPath = $('#innoDirPath').val();
|
||||
control.setPostData(postObj); // 업로드시 함께 전달될 POST Param 추가
|
||||
control.upload(); // 업로드 시작
|
||||
}else{
|
||||
alert("등록된 첨부파일이 없습니다.");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* 파일 정보 DB insert Ajax
|
||||
* */
|
||||
function fn_callBackInnorix(data){
|
||||
|
||||
|
||||
var type = $('#fileType').val();
|
||||
var setMsg = "";
|
||||
if(type == 'DOC') {
|
||||
setMsg = "요청서류";
|
||||
}
|
||||
|
||||
var url = "<c:url value='/web/common/insertInnorixDocFileAjax.do' />";
|
||||
|
||||
var filePath = location.pathname;
|
||||
var jspFileName = filePath.substring(filePath.lastIndexOf("/")+1, filePath.lastIndexOf("."));
|
||||
|
||||
var sendData = {
|
||||
"fileType": $('#fileType').val()
|
||||
, "eduDocReqOrd": $('#eduDocReqOrd').val()
|
||||
, "innorixFileListVO": data
|
||||
, "successMsg" : setMsg+" 등록이 완료되었습니다."
|
||||
}
|
||||
|
||||
/*
|
||||
* 공통 : innorixCommon.js
|
||||
* fn_innorixCmmAjax() 호출 후 status가 성공(OK)이면 실행
|
||||
*/
|
||||
if(fn_innorixCmmAjax(sendData, url) == "OK")
|
||||
{
|
||||
location.reload(true);
|
||||
location.reload(true);
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style>
|
||||
#fileControl{margin: 8px 0 0 0; border: 1px solid #d5d5d5; border-radius: 5px; height: 150px !important; background-color: #fafafa;}
|
||||
.innorix_basic div.irx_filetree.empty-uploader{background: url(/offedu/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>
|
||||
|
||||
<!-- 파일 업로드 -->
|
||||
<form name="fileForm" id="fileForm" method="post" >
|
||||
<input type="hidden" name="fileType" id="fileType" value="${fileType}" />
|
||||
<input type="hidden" name="eduDocReqOrd" id="eduDocReqOrd" value="<c:out value='${eduDocReqOrd}'/>"/> <!-- 서류요청 순번 -->
|
||||
<input type="hidden" id="innoDirPath" value="<spring:eval expression="@globalSettings['Globals.Innorix.FilePath']"/>" />
|
||||
<div class="tooltip-wrap">
|
||||
<div class="popup_wrap popType03" tabindex="0" data-tooltip-con="sub35_pop01" data-focus="sub35_pop01" data-focus-prev="sub35_pop01_close">
|
||||
<div class="popup_tit">
|
||||
<p>
|
||||
<c:if test="${fileType eq 'DOC'}">요청서류</c:if>
|
||||
업로드
|
||||
</p>
|
||||
<button class="btn_popup_close tooltip-close" data-focus="list_popup_close" title="팝업 닫기"><i></i></button>
|
||||
</div>
|
||||
<div class="popup_cont upload_area">
|
||||
<div>
|
||||
<div class="pop_search_wrap">
|
||||
<label for="fileNm" class="label">첨부파일 선택</label>
|
||||
<button type="button" onclick="control.openFileDialogSingle();" class="btnType01 btn_add_file">파일찾기</button>
|
||||
</div>
|
||||
<div id="fileControl"></div><br/>
|
||||
<div class="pop_btn_wrap btn_layout01">
|
||||
<div class="btn_left">
|
||||
</div>
|
||||
<div class="btn_center">
|
||||
<button type="button" class="btnType05" onclick="fncSaveFile('<c:out value="${fileType}" />');">확인</button>
|
||||
<button type="button" class="btnType02 tooltip-close" data-focus="sub35_pop01_close" data-focus-next="sub35_pop01">취소</button>
|
||||
</div>
|
||||
<div class="btn_right">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<!--// 파일 업로드 -->
|
||||
@ -11,6 +11,9 @@
|
||||
<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>
|
||||
|
||||
<script type="text/javaScript" language="javascript">
|
||||
$( document ).ready(function() {
|
||||
@ -71,6 +74,16 @@
|
||||
}
|
||||
}
|
||||
|
||||
function filePopupLayer(eduDocReqOrd, type){
|
||||
commonPopLayeropen(
|
||||
"${pageContext.request.contextPath}/web/ve/comm/popup/docFileUploadPop.do"
|
||||
, 650
|
||||
, 464
|
||||
, {'eduDocReqOrd' : eduDocReqOrd ,'fileType' : type}
|
||||
, "Y"
|
||||
, "fileUploadPop"
|
||||
);
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
@ -774,6 +787,71 @@
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<c:if test="${not empty docReqList}">
|
||||
<div class="tb_tit01" style="margin-top:40px;">
|
||||
<div class="tb_tit01_left">
|
||||
<p>요청서류 목록</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tb_type02">
|
||||
<table>
|
||||
<%-- <caption>교육차시 정보 교육희망일, 시간, 구분, 대상, 배정강사, 인원 을/를 제공하는 표</caption> --%>
|
||||
<colgroup>
|
||||
<col style="width: 18%;">
|
||||
<col style="width: 18%;">
|
||||
<col style="width: 18%;">
|
||||
<col style="width: auto;">
|
||||
<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>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:forEach var="docReqList" items="${docReqList}">
|
||||
<tr>
|
||||
<th>
|
||||
<c:out value="${docReqList.docReqNm}" />
|
||||
</th>
|
||||
<td>
|
||||
<c:out value="${docReqList.frstRegistPnttm}" />
|
||||
</td>
|
||||
<td>
|
||||
<c:import url="/cmm/fms/selectBBSFileInfs.do" charEncoding="utf-8">
|
||||
<c:param name="param_atchFileId" value="${docReqList.docFormAtchFileId}" />
|
||||
</c:import>
|
||||
</td>
|
||||
<td>
|
||||
<c:if test="${not empty docReqList.sbmtAtchFileId}">
|
||||
<c:import url="/cmm/fms/selectBBSFileInfs.do" charEncoding="utf-8">
|
||||
<c:param name="param_atchFileId" value="${docReqList.sbmtAtchFileId}" />
|
||||
</c:import>
|
||||
</c:if>
|
||||
<c:if test="${empty docReqList.sbmtAtchFileId}">
|
||||
<button type="button" class="btnType01" data-tooltip="sub35_pop01" id="DOC" onclick="filePopupLayer('<c:out value="${docReqList.eduDocReqOrd}"/>','DOC')" title="팝업 열림">제출하기</button>
|
||||
</c:if>
|
||||
</td>
|
||||
<td>
|
||||
<c:if test="${not empty docReqList.sbmtAtchFileId}">
|
||||
<c:out value="${docReqList.sbmtPnttm}" />
|
||||
</c:if>
|
||||
<c:if test="${empty docReqList.sbmtAtchFileId}">
|
||||
-
|
||||
</c:if>
|
||||
</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</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">
|
||||
</div>
|
||||
|
||||
@ -518,6 +518,133 @@ $( document ).ready(function() {
|
||||
</div>
|
||||
</c:if>
|
||||
|
||||
<div class="tb_tit01">
|
||||
<div class="tb_tit01_left">
|
||||
<p>동반강사리스트</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tb_list01">
|
||||
<table>
|
||||
<colgroup>
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 18%;">
|
||||
<col style="width: auto;">
|
||||
<col style="width: 15%">
|
||||
<col style="width: 15%;">
|
||||
<col style="width: 15%;">
|
||||
<col style="width: 15%;">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">번호</th>
|
||||
<th scope="col">교육일자</th>
|
||||
<th scope="col">강사명</th>
|
||||
<th scope="col">차시</th>
|
||||
<th scope="col">학교(기관)명</th>
|
||||
<th scope="col">교육장소</th>
|
||||
<th scope="col">교육대상</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:forEach var="list" items="${vEEduChasiCompanionVOList}" varStatus="status">
|
||||
<tr>
|
||||
<td>
|
||||
<c:out value='${status.count}'/>
|
||||
</td>
|
||||
<td>
|
||||
${list.eduHopeDt}
|
||||
</td>
|
||||
<td>
|
||||
${list.instrNm}
|
||||
</td>
|
||||
<td>
|
||||
<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}'/>분)
|
||||
</td>
|
||||
<td>
|
||||
<c:out value='${list.scholInsttNm}'/>
|
||||
</td>
|
||||
<td>
|
||||
<c:out value='${list.eduPlace}'/>
|
||||
</td>
|
||||
<td>
|
||||
<c:out value='${list.trgt}'/>
|
||||
</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
<c:if test="${empty vEEduChasiCompanionVOList}">
|
||||
<tr><td colspan="7"><spring:message code="common.nodata.msg" /></td></tr>
|
||||
</c:if>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<c:if test="${not empty docReqList}">
|
||||
<div class="tb_tit01" style="margin-top:40px;">
|
||||
<div class="tb_tit01_left">
|
||||
<p>요청서류 목록</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tb_type02">
|
||||
<table>
|
||||
<%-- <caption>교육차시 정보 교육희망일, 시간, 구분, 대상, 배정강사, 인원 을/를 제공하는 표</caption> --%>
|
||||
<colgroup>
|
||||
<col style="width: 18%;">
|
||||
<col style="width: 18%;">
|
||||
<col style="width: 18%;">
|
||||
<col style="width: auto;">
|
||||
<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>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:forEach var="docReqList" items="${docReqList}">
|
||||
<tr>
|
||||
<th>
|
||||
<c:out value="${docReqList.docReqNm}" />
|
||||
</th>
|
||||
<td>
|
||||
<c:out value="${docReqList.frstRegistPnttm}" />
|
||||
</td>
|
||||
<td>
|
||||
<c:import url="/cmm/fms/selectBBSFileInfs.do" charEncoding="utf-8">
|
||||
<c:param name="param_atchFileId" value="${docReqList.docFormAtchFileId}" />
|
||||
</c:import>
|
||||
</td>
|
||||
<td>
|
||||
<c:if test="${not empty docReqList.sbmtAtchFileId}">
|
||||
<c:import url="/cmm/fms/selectBBSFileInfs.do" charEncoding="utf-8">
|
||||
<c:param name="param_atchFileId" value="${docReqList.sbmtAtchFileId}" />
|
||||
</c:import>
|
||||
</c:if>
|
||||
<c:if test="${empty docReqList.sbmtAtchFileId}">
|
||||
-
|
||||
</c:if>
|
||||
</td>
|
||||
<td>
|
||||
<c:if test="${not empty docReqList.sbmtAtchFileId}">
|
||||
<c:out value="${docReqList.sbmtPnttm}" />
|
||||
</c:if>
|
||||
<c:if test="${empty docReqList.sbmtAtchFileId}">
|
||||
-
|
||||
</c:if>
|
||||
</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</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">
|
||||
|
||||
@ -91,7 +91,7 @@ input[type="text"]::placeholder {color: #999;}
|
||||
input[type="text"]:read-only {background-color: #f5f5f5; border: 1px solid #d5d5d5;}
|
||||
input[type="text"]:valid {color: #555;}
|
||||
textarea {width: 100%; border: 1px solid #d5d5d5; border-radius: 5px; font-size: 16px; color: #222; padding: 15px; box-sizing: border-box; font-family: 'Noto Sans KR', sans-serif;}
|
||||
select.sel_type1 {height: 40px; border: 1px solid #d5d5d5; border-radius: 5px; padding: 0 50px 0 15px; font-size: 16px; color: #222; background-image: url(../image/content/select.png); background-repeat: no-repeat; background-position: calc(100% - 15px) center; color: #666;}
|
||||
select.sel_type1 {height: 40px; border: 1px solid #d5d5d5; border-radius: 5px; padding: 0 50px 0 15px; font-size: 16px; color: #222; background-image: url(/offedu/visitEdu/adm/publish/image/content/select.png); background-repeat: no-repeat; background-position: calc(100% - 15px) center; color: #666;}
|
||||
table select+button{vertical-align: middle;}
|
||||
/*.btn_edit {width: 24px !important; height: 24px !important; padding: initial !important; border: 1px solid #d5d5d5; border-radius: 5px; vertical-align: middle;}*/
|
||||
.btn_edit {padding: 0 5px;}
|
||||
|
||||
@ -64,9 +64,9 @@ header.scroll{box-shadow: 0 5px 8px rgba(0,0,0,0.15);}
|
||||
.header_inner .dep_li_07 .depth01_li:nth-child(n+2):nth-child(-n+4){width: 16%;}
|
||||
.header_inner .dep_li_07 .depth01_li:nth-child(n+5){width: 12%; min-width: 85px;}
|
||||
.header_inner .dep_li_07 .depth01_li:nth-child(1),.header_inner .dep_li_07 .depth01_li:nth-child(2){width:170px;}
|
||||
.header_inner .menu_link{font-size: 18px; font-weight: 600; letter-spacing: -0.5px; display: flex; align-items: center; justify-content: center; flex-flow: column; height: 100%; position: relative;font-family: 'nanumsquare', 'Noto Sans KR', sans-serif; line-height: 1.25;}
|
||||
.header_inner .menu_link{font-size: 18px; letter-spacing: -0.5px; display: flex; align-items: center; justify-content: center; flex-flow: column; height: 100%; position: relative;line-height: 1.25;font-family: 'GmarketSansMedium';}
|
||||
.header_inner .menu_link::before{position: absolute; content: " "; display: block; width: 0; height: 4px; background-color: #E95504; left: 50%; transform: translateX(-50%); transition: width .4s ease-in-out; top: 87px; z-index: 1;}
|
||||
.header_inner .menu_link .menu_link_br {color: #E95504;font-family: 'nanumsquare', 'Noto Sans KR', sans-serif; }
|
||||
.header_inner .menu_link .menu_link_br {color: #E95504;font-family: 'GmarketSansMedium';}
|
||||
.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; */}
|
||||
@ -284,6 +284,17 @@ footer .wa_mark .wa {width: 110px;margin: 0 40px 0 0;}
|
||||
footer .area_top .site_go .btn_go {float:right;width:40px;height:35px;font-size:14px;}
|
||||
}
|
||||
|
||||
@media screen and (max-width: 767px){
|
||||
header .header .header_inner h1 a img{width:150px;height:auto;}
|
||||
}
|
||||
|
||||
@media screen and (max-width: 400px){
|
||||
footer .area_top address{margin:15px 0;}
|
||||
footer .wa_mark,footer .area_top .site_go{position:unset;}
|
||||
footer .wa_mark{margin:0 0 30px 0;}
|
||||
footer .area_top .site_go{width:100%;}
|
||||
}
|
||||
|
||||
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none){
|
||||
.header_inner .area_right{/* width: 80px; */justify-content: space-between;}
|
||||
.header_inner .btn_search{margin-right: 0;}
|
||||
|
||||
@ -26,3 +26,10 @@
|
||||
font-weight: 400;
|
||||
src: url('//cdn.jsdelivr.net/korean-webfonts/1/corps/lottemart/LotteMartHappy/LotteMartHappyMedium.woff2') format('woff2'), url('//cdn.jsdelivr.net/korean-webfonts/1/corps/lottemart/LotteMartHappy/LotteMartHappyMedium.woff') format('woff');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'yg-jalnan';
|
||||
src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_four@1.2/JalnanOTF00.woff') format('woff');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
@ -7,10 +7,10 @@
|
||||
.visual_slide .swiper-slide .inner .text_area{height:auto;padding:63px 0 0 40px;margin:0 auto;box-sizing:border-box;text-align:center;}
|
||||
.visual_slide .swiper-slide .inner .text_area *{line-height: 1.4;color:#182448;}
|
||||
.visual_slide .swiper-slide .inner .text_area .sub_title{font-size:20px;font-family:'GmarketSansMedium';}
|
||||
.visual_slide .swiper-slide .inner .text_area .title{font-size:52px;font-family:'GmarketSansBold';}
|
||||
.visual_slide .swiper-slide .inner .text_area .title{font-size:52px;font-family:'yg-jalnan';}
|
||||
.visual_slide .swiper-slide .inner .text_area .summary{font-size:18px;}
|
||||
.visual_slide .swiper-slide .inner .text_area a{display:flex;width:145px;height:38px;font-size: 18px;color:#182448;background-color:#fff;padding:0 20px;margin:33px auto 0 auto;border-radius:26px;align-items:center;justify-content:space-between;box-sizing:border-box;}
|
||||
.visual_slide .slide_control{position:relative;width:100%;bottom:20px;}
|
||||
.visual_slide .slide_control{position:relative;width:100%;bottom:32px;}
|
||||
.visual_slide .slide_control .inner{position:relative;justify-content:center;align-items:center;}
|
||||
.visual_slide .slide_control .swiper-pagination{position: relative;}
|
||||
.visual_slide .slide_control .swiper-pagination-bullet{background-color:#19222d;opacity:0.5;margin:0 4px;}
|
||||
@ -22,14 +22,14 @@
|
||||
.visual_slide .btn_prev_slide{background:url(/offedu/visitEdu/usr/publish/images/main/btn_main_visual_arrow_right.png) no-repeat;left:77px;}
|
||||
.visual_slide .btn_next_slide{background:url(/offedu/visitEdu/usr/publish/images/main/btn_main_visual_arrow_left.png) no-repeat;left:calc(100% - 97px);}
|
||||
|
||||
.visual_slide .swiper-slide[aria-label="1 / 5"]{background:url(/offedu/visitEdu/usr/publish/images/main/main_visual_01.jpg) no-repeat;}
|
||||
.visual_slide .swiper-slide[aria-label="2 / 5"]{background:url(/offedu/visitEdu/usr/publish/images/main/main_visual_02.jpg) no-repeat;}
|
||||
.visual_slide .swiper-slide[aria-label="3 / 5"]{background:url(/offedu/visitEdu/usr/publish/images/main/main_visual_03.jpg) no-repeat;}
|
||||
.visual_slide .swiper-slide[aria-label="4 / 5"]{background:url(/offedu/visitEdu/usr/publish/images/main/main_visual_04.jpg) no-repeat;}
|
||||
.visual_slide .swiper-slide[aria-label="5 / 5"]{background:url(/offedu/visitEdu/usr/publish/images/main/main_visual_05.jpg) no-repeat;}
|
||||
.visual_slide .swiper-slide[data-swiper-slide-index="0"]{background:url(/offedu/visitEdu/usr/publish/images/main/main_visual_01.jpg) no-repeat center top;}
|
||||
.visual_slide .swiper-slide[data-swiper-slide-index="1"]{background:url(/offedu/visitEdu/usr/publish/images/main/main_visual_02.jpg) no-repeat center top;}
|
||||
.visual_slide .swiper-slide[data-swiper-slide-index="2"]{background:url(/offedu/visitEdu/usr/publish/images/main/main_visual_03.jpg) no-repeat center top;}
|
||||
.visual_slide .swiper-slide[data-swiper-slide-index="3"]{background:url(/offedu/visitEdu/usr/publish/images/main/main_visual_04.jpg) no-repeat center top;}
|
||||
.visual_slide .swiper-slide[data-swiper-slide-index="4"]{background:url(/offedu/visitEdu/usr/publish/images/main/main_visual_05.jpg) no-repeat center top;}
|
||||
|
||||
/* main_banner_link */
|
||||
.container .main_banner_link{position:relative;height:130px;margin:60px auto 70px auto;}
|
||||
.container .main_banner_link{position:relative;height:130px;margin:20px auto 70px auto;}
|
||||
.container .main_banner_link li{position:relative;display:flex;width:calc((100%/5) - 12px);height:100%;background-color:#fff;border-radius:5px;box-shadow:0 0 5px rgba(45,55,90,0.2);align-items:center;transition:all 0.3s ease-in-out;}
|
||||
.container .main_banner_link li::after{position:absolute;content:" ";width: calc(100% + 10px);height:calc(100% + 10px);border:3px solid transparent;left:-8px;border-radius:10px;}
|
||||
.container .main_banner_link li:hover{z-index: 15;}
|
||||
@ -86,5 +86,46 @@
|
||||
.wrap .notify .notify_control .slide_pause,.wrap .notify .notify_control .slide_play{height: 30px;margin: 0 0 0 -0.5px;}
|
||||
.wrap .notify .notify_control .slide_pause{background:url(/offedu/visitEdu/usr/publish/images/main/btn_pause.png) no-repeat center center;}
|
||||
.wrap .notify .notify_control .slide_play{background:url(/offedu/visitEdu/usr/publish/images/main/btn_play.png) no-repeat center center;}
|
||||
.wrap .notify .content{width:100%;height:332px;overflow: hidden;border-radius:5px;}
|
||||
.wrap .notify .content{width:100%;height:332px;overflow:hidden;border-radius:5px;}
|
||||
|
||||
@media all and (max-width: 1440px){
|
||||
.main .inner{width:calc(100% - 40px);}
|
||||
.wrap .notice .content,.wrap .data_notice .notice_list li{padding:15px 25px;}
|
||||
|
||||
}
|
||||
|
||||
@media all and (max-width: 1024px){
|
||||
.main{margin-top:130px;}
|
||||
.wrap .content_wrap{width:100%;margin:0 0 30px 0;}
|
||||
|
||||
.visual_slide .swiper-slide{background-size:auto 100% !important;}
|
||||
.visual_slide .swiper-slide .inner .text_area{width:calc(100% - 40px);margin:0 auto;padding:63px 0 0 0;}
|
||||
.visual_slide .swiper-slide .inner .text_area .sub_title{font-size:1.2rem;}
|
||||
.visual_slide .swiper-slide .inner .text_area .title{font-size:2.5rem;}
|
||||
.visual_slide .swiper-slide .inner .text_area .summary{font-size:1.1rem;}
|
||||
.visual_slide .slide_control{bottom:-20px;}
|
||||
|
||||
.container .main_banner_link{height:auto;}
|
||||
.container .main_banner_link li{width:calc((100% - 20px)/2);margin:0 0 10px 0;padding:15px 0;}
|
||||
}
|
||||
|
||||
@media all and (max-width: 767px){
|
||||
.main{margin:70px 0 0 0;}
|
||||
|
||||
.visual_slide .btn_next_slide{left:calc(100% - 60px);}
|
||||
.visual_slide .btn_prev_slide{left:10px;}
|
||||
}
|
||||
|
||||
@media all and (max-width: 640px){
|
||||
.visual_slide .swiper-slide{background-size:cover !important;}
|
||||
.visual_slide .swiper-slide[data-swiper-slide-index="0"]{background:url(/offedu/visitEdu/usr/publish/images/main/main_visual_01_mob.jpg) no-repeat center bottom;}
|
||||
.visual_slide .swiper-slide[data-swiper-slide-index="1"]{background:url(/offedu/visitEdu/usr/publish/images/main/main_visual_02_mob.jpg) no-repeat center bottom;}
|
||||
.visual_slide .swiper-slide[data-swiper-slide-index="2"]{background:url(/offedu/visitEdu/usr/publish/images/main/main_visual_03_mob.jpg) no-repeat center bottom;}
|
||||
.visual_slide .swiper-slide[data-swiper-slide-index="3"]{background:url(/offedu/visitEdu/usr/publish/images/main/main_visual_04_mob.jpg) no-repeat center bottom;}
|
||||
.visual_slide .swiper-slide[data-swiper-slide-index="4"]{background:url(/offedu/visitEdu/usr/publish/images/main/main_visual_05_mob.jpg) no-repeat center bottom;}
|
||||
|
||||
.visual_slide .swiper-slide .inner .text_area .title{font-size:2rem;}
|
||||
.visual_slide .swiper-slide .inner .text_area .summary{font-size:1rem;letter-spacing:-0.5px;}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 170 KiB After Width: | Height: | Size: 190 KiB |
|
After Width: | Height: | Size: 145 KiB |
|
After Width: | Height: | Size: 148 KiB |
|
After Width: | Height: | Size: 156 KiB |
|
Before Width: | Height: | Size: 195 KiB After Width: | Height: | Size: 234 KiB |
|
After Width: | Height: | Size: 175 KiB |
|
After Width: | Height: | Size: 128 KiB |