Merge branch 'advc' of http://yongjoon.cho@vcs.iten.co.kr:9999/hylee/offedu into advc
This commit is contained in:
commit
ada1a22e8d
@ -59,6 +59,10 @@ public class AdrInnorixFileVO extends ComDefaultVO implements Serializable {
|
||||
// 전체 교육인원 - 저작권 체험교실 결과보고서 항목
|
||||
public String trgtPrsnlReal = "";
|
||||
|
||||
//서류요청 기능
|
||||
public String docReqNm = ""; //요청 서류명
|
||||
public String sbmtId = ""; //제출 강사 ID
|
||||
|
||||
|
||||
public String getFileType() {
|
||||
return fileType;
|
||||
@ -140,6 +144,22 @@ public class AdrInnorixFileVO extends ComDefaultVO implements Serializable {
|
||||
this.prcsAplctPrdOrd = prcsAplctPrdOrd;
|
||||
}
|
||||
|
||||
public String getDocReqNm() {
|
||||
return docReqNm;
|
||||
}
|
||||
|
||||
public void setDocReqNm(String docReqNm) {
|
||||
this.docReqNm = docReqNm;
|
||||
}
|
||||
|
||||
public String getSbmtId() {
|
||||
return sbmtId;
|
||||
}
|
||||
|
||||
public void setSbmtId(String sbmtId) {
|
||||
this.sbmtId = sbmtId;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -34,4 +34,6 @@ public interface InnorixFileService {
|
||||
//기반강화 강의계획서 저장
|
||||
RestResponse insertInnorixLctrPlanFile(AdrInnorixFileVO adrInnorixFileVO);
|
||||
|
||||
RestResponse insertInnorixReqFile(AdrInnorixFileVO adrInnorixFileVO);
|
||||
|
||||
}
|
||||
|
||||
@ -78,6 +78,10 @@ public class InnorixFileServiceImpl extends EgovAbstractServiceImpl implements I
|
||||
//과정차시 관리
|
||||
@Resource(name = "vEAPrcsAplctPrdInstrAsgnmService")
|
||||
private VEAPrcsAplctPrdInstrAsgnmService vEAPrcsAplctPrdInstrAsgnmService;
|
||||
|
||||
//서류요청 순번
|
||||
@Resource(name="docReqOrdGnrService")
|
||||
private EgovIdGnrService docReqOrdGnrService;
|
||||
/**
|
||||
* @methodName : fileDataUpload
|
||||
* @author : 이호영
|
||||
@ -401,4 +405,38 @@ public class InnorixFileServiceImpl extends EgovAbstractServiceImpl implements I
|
||||
|
||||
return new RestResponse(HttpStatus.OK, adrInnorixFileVO.getSuccessMsg(), LocalDateTime.now());
|
||||
}
|
||||
|
||||
@Override
|
||||
public RestResponse insertInnorixReqFile(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.setEduAplctOrd(adrInnorixFileVO.getEduAplctOrd());
|
||||
vEEduAplctVO.setDocReqNm(adrInnorixFileVO.getDocReqNm());
|
||||
vEEduAplctVO.setDocFormAtchFileId(atchFileId);
|
||||
vEEduAplctVO.setFrstRegisterId(adrInnorixFileVO.getUniqId());
|
||||
|
||||
String[] sbmtIdArray = adrInnorixFileVO.getSbmtId().split(",");
|
||||
for(String sbmtId : sbmtIdArray) {
|
||||
vEEduAplctVO.setSbmtId(sbmtId);
|
||||
vEEduAplctVO.setEduDocReqOrd(docReqOrdGnrService.getNextStringId());
|
||||
vEEduAplctService.insertDocReq(vEEduAplctVO);
|
||||
}
|
||||
|
||||
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
return new RestResponse(HttpStatus.BAD_REQUEST, "등록에 실패하였습니다.", LocalDateTime.now());
|
||||
}
|
||||
|
||||
return new RestResponse(HttpStatus.OK, adrInnorixFileVO.getSuccessMsg(), LocalDateTime.now());
|
||||
}
|
||||
}
|
||||
|
||||
@ -159,4 +159,29 @@ public class InnorixFileController {
|
||||
|
||||
return ResponseEntity.ok(innorixService.insertInnorixLctrPlanFile(adrInnorixFileVO));
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : insertInnorixReqFile
|
||||
* @author : 이지우
|
||||
* @date : 2023.11.03
|
||||
* @description : 파일 insert 전용
|
||||
* @param adrInnorixFileVO
|
||||
* @return
|
||||
* @throws Exception
|
||||
* 청소년교육 서류요청 양식 업로드
|
||||
*/
|
||||
@RequestMapping(value = {"/web/common/insertInnorixReqFileAjax.do"}, method = RequestMethod.POST)
|
||||
public ResponseEntity<RestResponse> insertInnorixReqFileAjax(@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.insertInnorixReqFile(adrInnorixFileVO));
|
||||
}
|
||||
}
|
||||
@ -1,6 +1,9 @@
|
||||
package kcc.ve.aplct.tngrVisitEdu.eduAplct.web;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collector;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
@ -461,6 +464,18 @@ public class EduAplctTngrController {
|
||||
vEEduChasiVOList = egovCryptoUtil.decryptVEEduChasiVOList(vEEduChasiVOList);
|
||||
|
||||
model.addAttribute("chasiList", vEEduChasiVOList);
|
||||
//강사 목록
|
||||
HashSet<String> userIds = new HashSet<>();
|
||||
List<VEEduChasiVO> instrList = vEEduChasiVOList.stream().filter(e -> userIds.add(e.getUserId())).collect(Collectors.toList());
|
||||
model.addAttribute("instrList", instrList);
|
||||
|
||||
//서류 요청 목록
|
||||
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/eduAplct/eduAplctDetail";
|
||||
|
||||
@ -48,4 +48,10 @@ public interface VEEduAplctService {
|
||||
|
||||
//사용자 진행중인 체험교실 조회하기
|
||||
String selectProceedingOrd(String userId) throws Exception;
|
||||
|
||||
//서류요청 insert
|
||||
void insertDocReq(VEEduAplctVO paramVO) throws Exception;
|
||||
|
||||
//서류요청 목록 조회
|
||||
List<VEEduAplctVO> selectDocReqList(VEEduAplctVO paramVO) throws Exception;
|
||||
}
|
||||
|
||||
@ -375,6 +375,16 @@ public class VEEduAplctVO extends ComDefaultVO implements Serializable {
|
||||
//전체 교육인원(결과보고 제출 시)
|
||||
private String trgtPrsnlReal;
|
||||
|
||||
|
||||
//VE_EDU_DOC_REQ 서류요청
|
||||
private String eduDocReqOrd; //서류요청순번
|
||||
private String docReqNm; //요청 서류명
|
||||
private String docFormAtchFileId; //요청 서류 양식 파일 아이디
|
||||
private String sbmtAtchFileId; //제출 서류 파일 아이디
|
||||
private String sbmtId; //제출자
|
||||
|
||||
|
||||
|
||||
public String getSpecialWorkAllow() {
|
||||
return specialWorkAllow;
|
||||
}
|
||||
@ -1609,6 +1619,37 @@ public class VEEduAplctVO extends ComDefaultVO implements Serializable {
|
||||
public void setStngYr(String stngYr) {
|
||||
this.stngYr = stngYr;
|
||||
}
|
||||
public String getEduDocReqOrd() {
|
||||
return eduDocReqOrd;
|
||||
}
|
||||
public void setEduDocReqOrd(String eduDocReqOrd) {
|
||||
this.eduDocReqOrd = eduDocReqOrd;
|
||||
}
|
||||
|
||||
public String getDocReqNm() {
|
||||
return docReqNm;
|
||||
}
|
||||
public void setDocReqNm(String docReqNm) {
|
||||
this.docReqNm = docReqNm;
|
||||
}
|
||||
public String getDocFormAtchFileId() {
|
||||
return docFormAtchFileId;
|
||||
}
|
||||
public void setDocFormAtchFileId(String docFormAtchFileId) {
|
||||
this.docFormAtchFileId = docFormAtchFileId;
|
||||
}
|
||||
public String getSbmtAtchFileId() {
|
||||
return sbmtAtchFileId;
|
||||
}
|
||||
public void setSbmtAtchFileId(String sbmtAtchFileId) {
|
||||
this.sbmtAtchFileId = sbmtAtchFileId;
|
||||
}
|
||||
public String getSbmtId() {
|
||||
return sbmtId;
|
||||
}
|
||||
public void setSbmtId(String sbmtId) {
|
||||
this.sbmtId = sbmtId;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -139,4 +139,12 @@ public class VEEduAplctDAO extends EgovAbstractDAO {
|
||||
return (String) select("VEEduAplctDAO.selectProceedingOrd", userId);
|
||||
}
|
||||
|
||||
public void insertDocReq(VEEduAplctVO paramVO) throws Exception {
|
||||
insert("VEEduAplctDAO.insertDocReq", paramVO);
|
||||
}
|
||||
|
||||
//L
|
||||
public List<VEEduAplctVO> selectDocReqList(VEEduAplctVO paramVO) throws Exception {
|
||||
return (List<VEEduAplctVO>) list("VEEduAplctDAO.selectDocReqList", paramVO);
|
||||
}
|
||||
}
|
||||
|
||||
@ -163,4 +163,12 @@ public class VEEduAplctServiceImpl implements VEEduAplctService {
|
||||
public String selectProceedingOrd(String userId) throws Exception {
|
||||
return vEEduAplctDAO.selectProceedingOrd(userId);
|
||||
}
|
||||
|
||||
public void insertDocReq(VEEduAplctVO paramVO) throws Exception {
|
||||
vEEduAplctDAO.insertDocReq(paramVO);
|
||||
}
|
||||
|
||||
public List<VEEduAplctVO> selectDocReqList(VEEduAplctVO paramVO) throws Exception{
|
||||
return vEEduAplctDAO.selectDocReqList(paramVO);
|
||||
}
|
||||
}
|
||||
|
||||
@ -120,7 +120,7 @@ public class EduAplctMngAdultServiceImpl implements EduAplctMngAdultService {
|
||||
vEEduAplctVO.setEduAplctOrd(eduAplctOrd);
|
||||
vEEduAplctVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_20); //강의 구분 코드 체험교실
|
||||
vEEduAplctVO.setScholSealAtchFileId(s_scholSealAtchFileId); //학교장직인 첨부파일
|
||||
vEEduAplctVO.setUserId(loginVO.getUniqId());
|
||||
//vEEduAplctVO.setUserId(loginVO.getUniqId());
|
||||
vEEduAplctVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id
|
||||
|
||||
//저장전 암호화 - VO 단위로 만들어서 사용
|
||||
|
||||
@ -175,7 +175,7 @@ public class EduAplctMngAdultController {
|
||||
List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsService.selectList(vEPrcsDetailVO);
|
||||
//대상 리스트, 페이징 정보 전달
|
||||
model.addAttribute("list", vEPrcsDetailVOList);
|
||||
return "oprtn/adultVisitEdu/eduAplctMngReg";
|
||||
return "oprtn/adultVisitEdu/eduAplctMngCreate";
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -2952,5 +2952,20 @@
|
||||
<property name="cipers" value="11" /><!-- 일련번호(순번) 전체 길이(prefix길이 미포함) -->
|
||||
<property name="fillChar" value="0" />
|
||||
</bean>
|
||||
|
||||
<!-- 22.서류요청순번 ve_edu_doc_req -->
|
||||
<bean name="docReqOrdGnrService" class="egovframework.rte.fdl.idgnr.impl.EgovTableIdGnrServiceImpl" destroy-method="destroy">
|
||||
<property name="dataSource" ref="dataSource" />
|
||||
<property name="strategy" ref="docReqOrdStrategy" /><!-- strategy 값 수정 -->
|
||||
<property name="blockSize" value="10"/>
|
||||
<property name="table" value="IDS"/>
|
||||
<property name="tableName" value="DOCREQ_ORD"/><!-- tableName 값 수정 -->
|
||||
</bean>
|
||||
<!-- 서류요청순번 ID Generation Strategy Config -->
|
||||
<bean name="docReqOrdStrategy" class="egovframework.rte.fdl.idgnr.impl.strategy.EgovIdGnrStrategyImpl"><!-- bean name 값에 strategy 값 입력 -->
|
||||
<property name="prefix" value="docReqOrd_" /><!-- prefix 값 수정 -->
|
||||
<property name="cipers" value="10" /><!-- 일련번호(순번) 전체 길이(prefix길이 미포함) -->
|
||||
<property name="fillChar" value="0" />
|
||||
</bean>
|
||||
|
||||
</beans>
|
||||
|
||||
@ -1217,4 +1217,53 @@
|
||||
AND LCTR_DIV_CD = '30'
|
||||
AND APRVL_CD = '60'
|
||||
</select>
|
||||
|
||||
<insert id="VEEduAplctDAO.insertDocReq" parameterClass="VEEduAplctVO">
|
||||
/* VEEduAplctDAO.insertDocReq */
|
||||
INSERT INTO VE_EDU_DOC_REQ
|
||||
(
|
||||
EDU_APLCT_ORD,
|
||||
EDU_DOC_REQ_ORD,
|
||||
DOC_REQ_NM,
|
||||
DOC_FORM_ATCH_FILE_ID,
|
||||
FRST_REGIST_PNTTM,
|
||||
FRST_REGISTER_ID,
|
||||
SBMT_ID
|
||||
)VALUES(
|
||||
#eduAplctOrd#,
|
||||
#eduDocReqOrd#,
|
||||
#docReqNm#,
|
||||
#docFormAtchFileId#,
|
||||
SYSDATE,
|
||||
#frstRegisterId#,
|
||||
#sbmtId#
|
||||
)
|
||||
</insert>
|
||||
|
||||
<select id="VEEduAplctDAO.selectDocReqList" parameterClass="VEEduAplctVO" resultClass="VEEduAplctVO">
|
||||
/* VEEduAplctDAO.selectDocReqList */
|
||||
SELECT
|
||||
A.EDU_APLCT_ORD AS eduAplctOrd,
|
||||
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,
|
||||
A.FRST_REGISTER_ID AS frstRegisterId,
|
||||
A.SBMT_ATCH_FILE_ID AS sbmtAtchFileId,
|
||||
A.SBMT_PNTTM AS sbmtPnttm,
|
||||
A.SBMT_ID AS sbmtId,
|
||||
B.INSTR_NM AS instrNm
|
||||
FROM
|
||||
VE_EDU_DOC_REQ A
|
||||
LEFT JOIN VE_INSTR_DETAIL B
|
||||
ON B.USER_ID = A.SBMT_ID
|
||||
AND B.USE_YN = 'Y'
|
||||
WHERE
|
||||
1=1
|
||||
<isNotEmpty property="eduAplctOrd">
|
||||
AND EDU_APLCT_ORD = #eduAplctOrd#
|
||||
</isNotEmpty>
|
||||
|
||||
|
||||
</select>
|
||||
</sqlMap>
|
||||
|
||||
@ -418,9 +418,13 @@
|
||||
hchk_dt = #hchkDt#,
|
||||
</isNotEmpty><isNotEmpty property="rmrks">
|
||||
rmrks = #rmrks#,
|
||||
</isNotEmpty><isNotEmpty property="hopeEduFld">
|
||||
hope_edu_fld = #hopeEduFld#,
|
||||
</isNotEmpty>
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- 요청 시 기존 반려 사유 삭제 -->
|
||||
<isEqual property="aprvlCd" compareValue="10">
|
||||
aprvl_cn = '',
|
||||
|
||||
@ -128,8 +128,8 @@
|
||||
a.qlfct_end_yn AS qlfctEndYn,
|
||||
a.qlfct_end_pnttm AS qlfctEndPnttm,
|
||||
a.qlfct_end_cn AS qlfctEndCn,
|
||||
a.div_cd AS divCd
|
||||
|
||||
a.div_cd AS divCd,
|
||||
a.hope_edu_fld AS hopeEduFld
|
||||
</sql>
|
||||
|
||||
<!-- 강사 정보 R -->
|
||||
|
||||
@ -0,0 +1,823 @@
|
||||
<!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="kc" 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" />
|
||||
|
||||
<html lang="ko">
|
||||
<head>
|
||||
<title>교육신청 수정</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<script type="text/javascript">
|
||||
|
||||
$( document ).ready(function(){
|
||||
//교육 선택에 따른 항목 노출
|
||||
itemChg($("#eduSlctCd").val());
|
||||
});
|
||||
|
||||
function fncGoList(){
|
||||
var listForm = document.listForm ;
|
||||
listForm.action = "<c:url value='/kccadr/oprtn/adultVisitEdu/eduAplctMngList.do'/>";
|
||||
listForm.submit();
|
||||
}
|
||||
|
||||
|
||||
function fncGoDetail(){
|
||||
var createForm = document.createForm ;
|
||||
createForm.action = "<c:url value='/kccadr/oprtn/adultVisitEdu/eduAplctMngDetail.do'/>";
|
||||
createForm.submit();
|
||||
}
|
||||
|
||||
//주소검색에 따른 지역 코드 값 가져오기
|
||||
function codeVal(pram){
|
||||
var code ='';
|
||||
|
||||
$.ajax({
|
||||
method : "GET",
|
||||
url:"<c:url value='/web/ve/aplct/adultVisitEdu/eduAplct/eduAplctRegCodeAjax.do' />",
|
||||
async : false,
|
||||
data : {
|
||||
"codeDc" : pram
|
||||
},
|
||||
|
||||
success : function(response) {
|
||||
code = response.code;
|
||||
},
|
||||
error : function(request, status, error) {
|
||||
console.log("code:"+request.status + "\n message:" + request.responseText +"\n error:" + error);
|
||||
}
|
||||
|
||||
});
|
||||
return code;
|
||||
}
|
||||
|
||||
function fncSave(type){
|
||||
if($('#eduSlctAreaCd').val() == ''){
|
||||
//주소검색에 따른 지역 코드 값 세팅
|
||||
var sigunguCode = $('#sigunguCode').val();
|
||||
var eduSlctAreaCd = codeVal(sigunguCode);
|
||||
document.createForm.eduSlctAreaCd.value = eduSlctAreaCd;
|
||||
}
|
||||
//온라인 일때는 교유선택 지역코드 불필요
|
||||
if($("#eduSlctCd").val() == "10"){
|
||||
$("#eduSlctAreaCd").attr("disabled", "disabled");
|
||||
}
|
||||
|
||||
if(type == 'S'){
|
||||
if (!validCheck()) return;
|
||||
}
|
||||
var url = '${pageContext.request.contextPath}/kccadr/oprtn/adultVisitEdu/eduAplctRegAjax.do';
|
||||
if(VeConstants.MODE_UPT == $("#mode").val()){
|
||||
url = '${pageContext.request.contextPath}/kccadr/oprtn/adultVisitEdu/eduAplctMdfyAjax.do';
|
||||
}
|
||||
if(confirm("교육신청을 "+(type == 'I'? '임시저장' : '등록')+"하시겠습니까?")){
|
||||
if(type == 'I'){
|
||||
$("#sbmtYn").val("N");
|
||||
}else{
|
||||
$("#sbmtYn").val("Y");
|
||||
$("#aprvlCd").val("10");
|
||||
}
|
||||
//핸드폰번호 하이푼 추가
|
||||
if(document.getElementById("clphone1").value != '' &&
|
||||
document.getElementById("clphone2").value != '' &&
|
||||
document.getElementById("clphone3").value != ''){
|
||||
var phoneAll = document.getElementById("clphone1").value + "-"+ document.getElementById("clphone2").value + "-"+ document.getElementById("clphone3").value;
|
||||
$("#clphone").val(phoneAll);
|
||||
}
|
||||
|
||||
var tell = document.getElementById("phone1").value + "-"+ document.getElementById("phone2").value + "-"+ document.getElementById("phone3").value;
|
||||
$("#phone").val(tell)
|
||||
//이메일 합치기
|
||||
var emailAll = document.getElementById("email1").value + "@"+ document.getElementById("email2").value ;
|
||||
$("#email").val(emailAll)
|
||||
|
||||
$("#hidUserId").val($("#userId").val())
|
||||
|
||||
var data = new FormData(document.getElementById("createForm"));
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
enctype: 'multipart/form-data',
|
||||
url: url,
|
||||
data: data,
|
||||
dataType:'json',
|
||||
async: false,
|
||||
processData: false,
|
||||
contentType: false,
|
||||
cache: false,
|
||||
success: function (returnData, status) {
|
||||
$("#eduAplctOrd").val(returnData.VO.eduAplctOrd);
|
||||
if(status == 'success'){
|
||||
alert("등록 되었습니다.");
|
||||
fncGoDetail(); //현재 메인화면 이동
|
||||
} else if(status== 'fail'){
|
||||
alert("등록에 실패하였습니다.");
|
||||
}
|
||||
},
|
||||
error: function (e) { alert("저장에 실패하였습니다."); console.log("ERROR : ", e); }
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function validCheck(){
|
||||
if($("#eduSlctCd").val() == ''){
|
||||
alert('교육선택 구분을 선택해주세요.');
|
||||
$("#eduSlctCd").focus();
|
||||
return false;
|
||||
};
|
||||
|
||||
/* if($("#eduSlctAreaCd").val() == ''){
|
||||
alert('교육선택 지역을 선택해주세요.');
|
||||
$("#eduSlctAreaCd").focus();
|
||||
return false;
|
||||
};*/
|
||||
|
||||
if($("#insttNm").val() == ''){
|
||||
alert('기관(단체)명을 입력해주세요.');
|
||||
$("#insttNm").focus();
|
||||
return false;
|
||||
};
|
||||
|
||||
if($("#insttDivCd").val() == ''){
|
||||
alert('기관구분을 선택해주세요.');
|
||||
$("#insttDivCd").focus();
|
||||
return false;
|
||||
};
|
||||
if($("#eduSlctCd").val() == "20"){
|
||||
if($("#post").val() == ''){
|
||||
alert('주소를 입력해주세요.');
|
||||
$("#post").focus();
|
||||
return false;
|
||||
};
|
||||
|
||||
if($("#addrDetail").val() == ''){
|
||||
alert('상세주소를 입력해주세요.');
|
||||
$("#addrDetail").focus();
|
||||
return false;
|
||||
};
|
||||
}
|
||||
|
||||
if($("#chrgNm").val() == ''){
|
||||
alert('담당자를 입력해주세요.');
|
||||
$("#chrgNm").focus();
|
||||
return false;
|
||||
};
|
||||
|
||||
if($("#jobNm").val() == ''){
|
||||
alert('직함을 입력해주세요.');
|
||||
$("#jobNm").focus();
|
||||
return false;
|
||||
};
|
||||
|
||||
if($("#phone1").val() == '' || $("#phone2").val() == '' || $("#phone3").val() == ''){
|
||||
alert('전화번호를 입력해주세요.');
|
||||
$("#phone1").focus();
|
||||
return false;
|
||||
};
|
||||
|
||||
if($("#email1").val() == '' || $("#email2").val() == ''){
|
||||
alert('이메일을 입력해주세요.');
|
||||
$("#email1").focus();
|
||||
return false;
|
||||
};
|
||||
|
||||
if($("#hopeSbjct").val() == ''){
|
||||
alert('희망주제를 입력해주세요.');
|
||||
$("#hopeSbjct").focus();
|
||||
return false;
|
||||
};
|
||||
|
||||
if($("#rqstCn").val() == ''){
|
||||
alert('교육 주제 관련 상세 요청사항 및 사전 질의(자유기재)를 입력해주세요.');
|
||||
$("#rqstCn").focus();
|
||||
return false;
|
||||
};
|
||||
|
||||
|
||||
var trObj = $('.addClassRow').find('tbody > tr').not('.calendar_wrap tr');
|
||||
if(trObj.length == 0){
|
||||
alert('교육차시 정보를 등록해주세요.');
|
||||
return false;
|
||||
}
|
||||
var flag = true;
|
||||
$.each(trObj , function(idx, row){
|
||||
if($(this).find('input[name=eduHopeDt]').val() == ''){
|
||||
alert('교육희망일 입력해주세요.');
|
||||
$('input[name=eduHopeDt]:eq('+idx+')').focus();
|
||||
return flag = false;
|
||||
}
|
||||
|
||||
if($(this).find('input[name=strtTm]').val() == ''){
|
||||
alert('교육시작 시간을 입력해주세요.');
|
||||
$('input[name=strtTm]:eq('+idx+')').focus();
|
||||
return flag = false;
|
||||
}
|
||||
if($(this).find('input[name=endTm]').val() == ''){
|
||||
alert('교육종료 시간을 입력해주세요.');
|
||||
$('input[name=endTm]:eq('+idx+')').focus();
|
||||
return flag = false;
|
||||
}
|
||||
|
||||
if($(this).find('select[name=divCd]').val() == ''){
|
||||
alert('구분을 선택해주세요.');
|
||||
$('select[name=divCd]:eq('+idx+')').focus();
|
||||
return flag = false;
|
||||
}
|
||||
|
||||
if($(this).find('input[name=trgt]').val() == ''){
|
||||
alert('대상을 입력해주세요.');
|
||||
$('input[name=trgt]:eq('+idx+')').focus();
|
||||
return flag = false;
|
||||
}
|
||||
|
||||
if($(this).find('input[name=prsnl]').val() == ''){
|
||||
alert('인원을 입력해주세요.');
|
||||
$('input[name=prsnl]:eq('+idx+')').focus();
|
||||
return flag = false;
|
||||
}
|
||||
});
|
||||
|
||||
if(!flag){
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
//교육 선택에 따른 항목 노출
|
||||
function itemChg(item){
|
||||
var mechae = $("#mechae");
|
||||
var juso = $("#juso");
|
||||
//온라인
|
||||
if(item == '10'){
|
||||
mechae.show();
|
||||
mechae.find("input").removeAttr("disabled", "disabled");
|
||||
juso.hide();
|
||||
juso.find("input").attr("disabled", "disabled");
|
||||
}
|
||||
//오프라인
|
||||
if(item == '20'){
|
||||
juso.show();
|
||||
juso.find("input").removeAttr("disabled", "disabled");
|
||||
mechae.hide();
|
||||
mechae.find("input").attr("disabled", "disabled");
|
||||
}
|
||||
}
|
||||
|
||||
function fncUserList() {
|
||||
commonPopWindowopenForm(
|
||||
"${pageContext.request.contextPath}/kccadr/oprtn/comm/popup/userPopList.do"
|
||||
, "700"
|
||||
, "750"
|
||||
, "UserListPop",$("#popupForm")
|
||||
);
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div class="mask2" onclick="timeLayerUtil()"></div>
|
||||
<form id="popupForm" name="popupForm" method="post">
|
||||
<input type="hidden" name="openType" id="openType" value="callBackSchPop" />
|
||||
<input type="hidden" name="pageIndex" id="pageIndex" value="1" />
|
||||
<input type="hidden" name="pageUnit" id="pageUnit" value="5" />
|
||||
<input type="hidden" name="callBackFnc" id="callBackFnc" value="callBackSchPop" />
|
||||
</form>
|
||||
<form:form id="listForm" name="listForm" commandName="modelVO" method="post" onsubmit="return false;">
|
||||
<input type="hidden" name="pageIndex" value="<c:out value='${modelVO.pageIndex}' default='1' />"/>
|
||||
<input type="hidden" name="searchSortCnd" value="<c:out value="${modelVO.searchSortCnd}" />" />
|
||||
<input type="hidden" name="searchSortOrd" value="<c:out value="${modelVO.searchSortOrd}" />" />
|
||||
</form:form>
|
||||
<form:form id="createForm" name="createForm" commandName="modelVO" onsubmit="return false;">
|
||||
<input type="hidden" name="userId" id="hidUserId" value="<c:out value='${info.userId}'/>"/> <!-- 사용자 아이디 -->
|
||||
<!-- validator 체크를 위한 핸드폰, 이메일 input -->
|
||||
<input type="hidden" name="clphone" id="clphone" value=""/><!-- 연락처(핸드폰) -->
|
||||
<input type="hidden" name="email" id="email" value=""/><!-- 이메일 -->
|
||||
<input type="hidden" id="phone" name="phone" value=""/>
|
||||
<input type="hidden" name="limitcount" id="limitcount" value="1" /><!-- 최대 업로드 파일갯수 -->
|
||||
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="${info.eduAplctOrd}" />
|
||||
<input type="hidden" name="mode" id="mode" value="${modelVO.mode}" />
|
||||
|
||||
<input type="hidden" id="eduSlctAreaCd" name="eduSlctAreaCd" value="<c:out value='${info.eduSlctAreaCd}'/>"/><!-- 오프라인 선택 시 지역 정보 -->
|
||||
<input type="hidden" id="sigunguCode" name="sigunguCode" value=""/>
|
||||
|
||||
<!-- 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>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- //cont_tit -->
|
||||
|
||||
<div class="cont">
|
||||
<!-- list_상세 -->
|
||||
<div class="tb_tit01">
|
||||
<p>교육신청 내용</p>
|
||||
</div>
|
||||
<div class="tb_type02">
|
||||
<table>
|
||||
<colgroup>
|
||||
<col style="width: 220px;">
|
||||
<col style="width: auto;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p class="req_text"><span>필수입력 항목</span>*</p>
|
||||
<p>교사 아이디</p>
|
||||
</th>
|
||||
<td>
|
||||
<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>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p class="req_text"><span>필수입력 항목</span>*</p>
|
||||
<p>교육선택</p>
|
||||
</th>
|
||||
<td colspan="3">
|
||||
<%-- <label for="eduSlctCd" class="label">교육선택 구분</label>
|
||||
<kc:select codeId="VE0007" selectedValue="${info.eduSlctCd}" id="eduSlctCd" name="eduSlctCd" styleClass="sel_type1"/>
|
||||
<label for="eduSlctAreaCd" class="label">지역 구분</label>
|
||||
<kc:select codeId="VE0008" selectedValue="${info.eduSlctAreaCd}" id="eduSlctAreaCd" name="eduSlctAreaCd" styleClass="sel_type1"/> --%>
|
||||
|
||||
<label for="eduSlctCd" class="label">교육선택 구분</label>
|
||||
<%-- 수정요청사항에 따라 온라인 -> 온라인 실시간으로 변경을 위해 ve:code 미사용_220218 --%>
|
||||
<select id="eduSlctCd" name="eduSlctCd" class="selType1" onChange="itemChg(this.value);">
|
||||
<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>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p class="req_text"><span>필수입력 항목</span>*</p>
|
||||
<p>기관(단체)명</p>
|
||||
</th>
|
||||
<td colspan="3"><input type="text" name="insttNm" id="insttNm" value="${info.insttNm}" size="25" title="기관(단체)명"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p class="req_text"><span>필수입력 항목</span>*</p>
|
||||
<p>기관 구분</p>
|
||||
</th>
|
||||
<td colspan="3">
|
||||
<kc:radio codeId="VE0012" id="insttDivCd" name="insttDivCd" selectedValue="${empty info.insttDivCd ? '10' : info.insttDivCd}"/>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr id="mechae">
|
||||
<th scope="row">
|
||||
<p class="req_text"><span>필수입력 항목</span>*</p>
|
||||
<p>교육매체</p>
|
||||
</th>
|
||||
<td colspan="3">
|
||||
<label for="eduMd" class="label">교육매체 입력</label>
|
||||
<input type="text" name="eduMd" id="eduMd" value="${info.eduMd}" size="25">
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr class="input_adress" id="juso">
|
||||
<th scope="row">
|
||||
<p class="req_text"><span>필수입력 항목</span>*</p>
|
||||
<p>주소(교육장소)</p>
|
||||
</th>
|
||||
<td colspan="3">
|
||||
<input type="text" class="adressFst adr_input" value="${info.post}" id="post" name="post" title="우편번호" readonly />
|
||||
<button type="button" class="btn_type06" onclick="fn_postCode(this);" title="팝업 열림">주소찾기</button><br/>
|
||||
<input type="text" class="adressMid searchResultAddr" value="${info.addr}" id="addr" name="addr" title="중간주소" readonly /><br/>
|
||||
<input type="text" class="adressLst usrInsertAddr" value="${info.addrDetail}" id="addrDetail" name="addrDetail" title="상세주소">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p class="req_text"><span>필수입력 항목</span>*</p>
|
||||
<p>담당자</p>
|
||||
</th>
|
||||
<td><input type="text" name="chrgNm" value="${info.chrgNm}" id="chrgNm" size="25"></td>
|
||||
<th scope="row">
|
||||
<p class="req_text"><span>필수입력 항목</span>*</p>
|
||||
<p>직함</p>
|
||||
</th>
|
||||
<td><input type="text" name="jobNm" id="jobNm" value="${info.jobNm}" size="25"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>휴대폰</p>
|
||||
</th>
|
||||
<td class="input_phone" colspan="3">
|
||||
<c:set var="clphone" value="${fn:split(info.clphone,'-')}"/>
|
||||
<kc:select codeId="ADR020" id="clphone1" name="clphone1" selectedValue="${clphone[0]}" defaultValue="010" styleClass="sel_type1"/>
|
||||
-
|
||||
<input type="text" value="${clphone[1]}" id="clphone2" onkeyup="onlyNumber(this);" name="clphone2" maxlength="4" title="휴대폰 중간자리"/>
|
||||
-
|
||||
<input type="text" value="${clphone[2]}" id="clphone3" onkeyup="onlyNumber(this);" name="clphone3" maxlength="4" title="휴대폰 마지막자리"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p class="req_text"><span>필수입력 항목</span>*</p>
|
||||
<p>전화</p>
|
||||
</th>
|
||||
<td class="input_phone" colspan="3">
|
||||
<c:set var="phone" value="${fn:split(info.phone,'-')}"/>
|
||||
<input type="text" value="${phone[0]}" name="phone1" id="phone1" onkeyup="onlyNumber(this);" maxlength="3" style="width: 87px;" title="전화번호입력">
|
||||
-
|
||||
<input type="text" value="${phone[1]}" name="phone2" id="phone2" onkeyup="onlyNumber(this);" maxlength="4" title="전화번호입력">
|
||||
-
|
||||
<input type="text" value="${phone[2]}" name="phone3" id="phone3" onkeyup="onlyNumber(this);" maxlength="4" title="전화번호입력">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p class="req_text"><span>필수입력 항목</span>*</p>
|
||||
<p>이메일</p>
|
||||
</th>
|
||||
<td class="input_mail" colspan="3">
|
||||
<c:set var="email" value="${fn:split(info.email,'@')}"/>
|
||||
<input type="text" value="${email[0]}" name="email1" id="email1" size="20" maxlength="30" title="이메일 주소 입력">
|
||||
@
|
||||
<input type="text" value="${email[1]}" name="email2" id="email2" size="20" maxlength="30" title="이메일 직접 입력">
|
||||
<kc:select codeId="ADR030" id="emailType" name="emailType" styleClass="sel_type1" defaultValue="" defaultText="직접입력" onChange="emailSelect(this);"/>
|
||||
<span class="table_req_text">
|
||||
※ 교내에서 확인 가능한 메일 계정 입력 (예) 교육청 도메인<br>
|
||||
※ 교육일정 및 강사프로필은 교육 전 주에 메일로 발송됩니다.
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p class="req_text"><span>필수입력 항목</span>*</p>
|
||||
<p>신청내용</p>
|
||||
</th>
|
||||
<td>
|
||||
<label for="jobNm" class="label">직함 입력</label>
|
||||
<kc:checkbox name="aplctCn" id="aplctCn" codeId="VEA006"/>
|
||||
|
||||
<!-- , 들어간 값을 구분해서 표시한다. -->
|
||||
<%-- <c:set var="aplctCns" value="${fn:split(info.aplctCn,',')}" />
|
||||
|
||||
<c:forEach var="aplctCn" items="${aplctCns}" varStatus="g">
|
||||
<script>
|
||||
$("input[name=aplctCn][value=${aplctCn}]").prop("checked",true);
|
||||
</script>
|
||||
</c:forEach> --%>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p class="req_text"><span>필수입력 항목</span>*</p>
|
||||
<p>희망주제</p>
|
||||
</th>
|
||||
<td colspan="3"><input type="text" name="hopeSbjct" id="hopeSbjct" value="${info.hopeSbjct}" style="width: 100%;"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p class="req_text" style="padding-bottom:22px;"><span>필수입력 항목</span>*</p>
|
||||
<p style="font-size:13px;">교육 주제 관련 상세 요청사항<br/>및 사전 질의(자유기재)</p>
|
||||
</th>
|
||||
<td colspan="3"><textarea name="rqstCn" id="rqstCn">${info.rqstCn}</textarea></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="tb_tit01">
|
||||
<div class="tb_tit01_left">
|
||||
<p>교육차시 정보</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tb_type01">
|
||||
<table class="addClassRow" rowLimit="2">
|
||||
<colgroup>
|
||||
<col style="width: 16%;">
|
||||
<col style="width: auto;">
|
||||
<col style="width: 35%;">
|
||||
<col style="width: 12%;">
|
||||
</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>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:choose>
|
||||
<c:when test="${fn:length(chasiList) ne 0}">
|
||||
<c:forEach var="list" items="${chasiList}" varStatus="status">
|
||||
<input type="hidden" name="eduChasiOrd" id="eduChasiOrd" value="${list.eduChasiOrd}" />
|
||||
<tr>
|
||||
<th>
|
||||
<div class="calendar_wrap">
|
||||
<input type="text" value="${list.eduHopeDt}" name="eduHopeDt" class="calendar" title="시작일 선택" size="8">
|
||||
</div>
|
||||
</th>
|
||||
<td>
|
||||
<div class="table_time_wrap">
|
||||
<div class="time_wrap time_select_wrap">
|
||||
<fmt:parseDate value="${list.strtTm}" var="strtTm" pattern="kkmm"/>
|
||||
<input type="text" value="<fmt:formatDate value="${strtTm}" pattern="kk:mm"/>" class="time" name="strtTm">
|
||||
<div class="time_layer">
|
||||
<div class="time_top">
|
||||
<p>시간 선택</p>
|
||||
</div>
|
||||
<div class="time_cont">
|
||||
<div class="hours">
|
||||
<select name="st_hours" class="hours_select" title="시 선택">
|
||||
<option value="선택">선택</option>
|
||||
<option value="01">01</option>
|
||||
<option value="02">02</option>
|
||||
<option value="03">03</option>
|
||||
<option value="04">04</option>
|
||||
<option value="05">05</option>
|
||||
<option value="06">06</option>
|
||||
<option value="07">07</option>
|
||||
<option value="08">08</option>
|
||||
<option value="09">09</option>
|
||||
<option value="10">10</option>
|
||||
<option value="11">11</option>
|
||||
<option value="12">12</option>
|
||||
<option value="13">13</option>
|
||||
<option value="14">14</option>
|
||||
<option value="15">15</option>
|
||||
<option value="16">16</option>
|
||||
<option value="17">17</option>
|
||||
<option value="18">18</option>
|
||||
<option value="19">19</option>
|
||||
<option value="20">20</option>
|
||||
<option value="21">21</option>
|
||||
<option value="22">22</option>
|
||||
<option value="23">23</option>
|
||||
<option value="24">24</option>
|
||||
</select>
|
||||
</div>
|
||||
:
|
||||
<div class="min">
|
||||
<select name="st_minute" class="min_select" title="분 선택">
|
||||
<option value="선택">선택</option>
|
||||
<option value="00">00</option>
|
||||
<option value="05">05</option>
|
||||
<option value="10">10</option>
|
||||
<option value="15">15</option>
|
||||
<option value="20">20</option>
|
||||
<option value="25">25</option>
|
||||
<option value="30">30</option>
|
||||
<option value="35">35</option>
|
||||
<option value="40">40</option>
|
||||
<option value="45">45</option>
|
||||
<option value="50">50</option>
|
||||
<option value="55">55</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<button type="button" class="time_close" onclick="timeLayerUtil()"><i></i>닫기</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="time_wrap time_select_wrap">
|
||||
<fmt:parseDate value="${list.endTm}" var="endTm" pattern="kkmm"/>
|
||||
<input type="text" value="<fmt:formatDate value="${endTm}" pattern="kk:mm"/>" class="time" name="endTm">
|
||||
<div class="time_layer">
|
||||
<div class="time_top">
|
||||
<p>시간 선택</p>
|
||||
</div>
|
||||
<div class="time_cont">
|
||||
<div class="hours">
|
||||
<select name="en_hours" class="hours_select" title="시 선택">
|
||||
<option value="선택">선택</option>
|
||||
<option value="01">01</option>
|
||||
<option value="02">02</option>
|
||||
<option value="03">03</option>
|
||||
<option value="04">04</option>
|
||||
<option value="05">05</option>
|
||||
<option value="06">06</option>
|
||||
<option value="07">07</option>
|
||||
<option value="08">08</option>
|
||||
<option value="09">09</option>
|
||||
<option value="10">10</option>
|
||||
<option value="11">11</option>
|
||||
<option value="12">12</option>
|
||||
<option value="13">13</option>
|
||||
<option value="14">14</option>
|
||||
<option value="15">15</option>
|
||||
<option value="16">16</option>
|
||||
<option value="17">17</option>
|
||||
<option value="18">18</option>
|
||||
<option value="19">19</option>
|
||||
<option value="20">20</option>
|
||||
<option value="21">21</option>
|
||||
<option value="22">22</option>
|
||||
<option value="23">23</option>
|
||||
<option value="24">24</option>
|
||||
</select>
|
||||
</div>
|
||||
:
|
||||
<div class="min">
|
||||
<select name="en_minute" class="min_select" title="분 선택">
|
||||
<option value="선택">선택</option>
|
||||
<option value="00">00</option>
|
||||
<option value="05">05</option>
|
||||
<option value="10">10</option>
|
||||
<option value="15">15</option>
|
||||
<option value="20">20</option>
|
||||
<option value="25">25</option>
|
||||
<option value="30">30</option>
|
||||
<option value="35">35</option>
|
||||
<option value="40">40</option>
|
||||
<option value="45">45</option>
|
||||
<option value="50">50</option>
|
||||
<option value="55">55</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<button type="button" class="time_close" onclick="timeLayerUtil()" title="팝업 닫기"><i></i>닫기</button>
|
||||
</div>
|
||||
</div>(<input type="text" readonly="readonly" value="${list.lrnTm}" class="input_time" name="lrnTm">분)
|
||||
</div>
|
||||
</td>
|
||||
<td><input type="text" style="width: 75%;" name="trgt" value="${list.trgt}"></td>
|
||||
<td><input type="text" style="width: 63%;" name="prsnl" value="${list.prsnl}" maxlength="3" onkeyup="onlyNumber(this);"><p class="input_text">명</p></td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<c:forEach var="list" begin="1" end="2" varStatus="status">
|
||||
<tr>
|
||||
<th>
|
||||
<div class="calendar_wrap">
|
||||
<input type="text" name="eduHopeDt" class="calendar" title="시작일 선택" size="8">
|
||||
</div>
|
||||
</th>
|
||||
<td>
|
||||
<div class="table_time_wrap">
|
||||
<div class="time_wrap time_select_wrap">
|
||||
<input type="text" class="time" name="strtTm">
|
||||
<div class="time_layer">
|
||||
<div class="time_top">
|
||||
<p>시간 선택</p>
|
||||
</div>
|
||||
<div class="time_cont">
|
||||
<div class="hours">
|
||||
<select name="st_hours" class="hours_select" title="시 선택">
|
||||
<option value="선택">선택</option>
|
||||
<option value="01">01</option>
|
||||
<option value="02">02</option>
|
||||
<option value="03">03</option>
|
||||
<option value="04">04</option>
|
||||
<option value="05">05</option>
|
||||
<option value="06">06</option>
|
||||
<option value="07">07</option>
|
||||
<option value="08">08</option>
|
||||
<option value="09">09</option>
|
||||
<option value="10">10</option>
|
||||
<option value="11">11</option>
|
||||
<option value="12">12</option>
|
||||
<option value="13">13</option>
|
||||
<option value="14">14</option>
|
||||
<option value="15">15</option>
|
||||
<option value="16">16</option>
|
||||
<option value="17">17</option>
|
||||
<option value="18">18</option>
|
||||
<option value="19">19</option>
|
||||
<option value="20">20</option>
|
||||
<option value="21">21</option>
|
||||
<option value="22">22</option>
|
||||
<option value="23">23</option>
|
||||
<option value="24">24</option>
|
||||
</select>
|
||||
</div>
|
||||
:
|
||||
<div class="min">
|
||||
<select name="st_minute" class="min_select" title="분 선택">
|
||||
<option value="선택">선택</option>
|
||||
<option value="00">00</option>
|
||||
<option value="05">05</option>
|
||||
<option value="10">10</option>
|
||||
<option value="15">15</option>
|
||||
<option value="20">20</option>
|
||||
<option value="25">25</option>
|
||||
<option value="30">30</option>
|
||||
<option value="35">35</option>
|
||||
<option value="40">40</option>
|
||||
<option value="45">45</option>
|
||||
<option value="50">50</option>
|
||||
<option value="55">55</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<button type="button" class="time_close" onclick="timeLayerUtil()"><i></i>닫기</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="time_wrap time_select_wrap">
|
||||
<input type="text" class="time" name="endTm">
|
||||
<div class="time_layer">
|
||||
<div class="time_top">
|
||||
<p>시간 선택</p>
|
||||
</div>
|
||||
<div class="time_cont">
|
||||
<div class="hours">
|
||||
<select name="en_hours" class="hours_select" title="시 선택">
|
||||
<option value="선택">선택</option>
|
||||
<option value="01">01</option>
|
||||
<option value="02">02</option>
|
||||
<option value="03">03</option>
|
||||
<option value="04">04</option>
|
||||
<option value="05">05</option>
|
||||
<option value="06">06</option>
|
||||
<option value="07">07</option>
|
||||
<option value="08">08</option>
|
||||
<option value="09">09</option>
|
||||
<option value="10">10</option>
|
||||
<option value="11">11</option>
|
||||
<option value="12">12</option>
|
||||
<option value="13">13</option>
|
||||
<option value="14">14</option>
|
||||
<option value="15">15</option>
|
||||
<option value="16">16</option>
|
||||
<option value="17">17</option>
|
||||
<option value="18">18</option>
|
||||
<option value="19">19</option>
|
||||
<option value="20">20</option>
|
||||
<option value="21">21</option>
|
||||
<option value="22">22</option>
|
||||
<option value="23">23</option>
|
||||
<option value="24">24</option>
|
||||
</select>
|
||||
</div>
|
||||
:
|
||||
<div class="min">
|
||||
<select name="en_minute" class="min_select" title="분 선택">
|
||||
<option value="선택">선택</option>
|
||||
<option value="00">00</option>
|
||||
<option value="05">05</option>
|
||||
<option value="10">10</option>
|
||||
<option value="15">15</option>
|
||||
<option value="20">20</option>
|
||||
<option value="25">25</option>
|
||||
<option value="30">30</option>
|
||||
<option value="35">35</option>
|
||||
<option value="40">40</option>
|
||||
<option value="45">45</option>
|
||||
<option value="50">50</option>
|
||||
<option value="55">55</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<button type="button" class="time_close" onclick="timeLayerUtil()"><i></i>닫기</button>
|
||||
</div>
|
||||
</div>(<input type="text" readonly="readonly" class="input_time" name="lrnTm">분)
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<kc:select codeId="VE0010" name="divCd" styleClass="sel_type1"/>
|
||||
</td>
|
||||
<td><input type="text" style="width: 75%;" name="trgt"></td>
|
||||
<td><input type="text" style="width: 63%;" name="prsnl" maxlength="3" onkeyup="onlyNumber(this);"><p class="input_text">명</p></td>
|
||||
<td><button type="button" class="table_del" onclick="tableDel(this)"><img src="${pageContext.request.contextPath}/visitEdu/adm/publish/image/content/btn_del.png"></button></td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- //list_상세 -->
|
||||
|
||||
<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_type01" onclick="fncSave('S');">저장</button>
|
||||
<button type="button" class="btn_type03" onclick="fncGoList();">취소</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form:form>
|
||||
<!-- //cont -->
|
||||
</body>
|
||||
</html>
|
||||
@ -334,6 +334,12 @@
|
||||
<col style="width: 220px;">
|
||||
<col style="width: auto;">
|
||||
</colgroup>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>교사 아이디</p>
|
||||
</th>
|
||||
<td colspan="3">${info.userId}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>교육구분</p>
|
||||
|
||||
@ -63,6 +63,12 @@
|
||||
listForm.submit();
|
||||
}
|
||||
|
||||
function fncCreate(){
|
||||
|
||||
location.href="<c:url value='/kccadr/oprtn/adultVisitEdu/eduAplctMngReg.do'/>"
|
||||
|
||||
}
|
||||
|
||||
</script>
|
||||
<title>신청관리</title>
|
||||
</head>
|
||||
@ -295,6 +301,17 @@
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="btn_wrap btn_layout01">
|
||||
<div class="btn_left">
|
||||
|
||||
</div>
|
||||
<div class="btn_center">
|
||||
|
||||
</div>
|
||||
<div class="btn_right">
|
||||
<button type="button" class="btn_type06" onclick="fncCreate(); return false;">등록</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="page">
|
||||
<ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" />
|
||||
</div>
|
||||
|
||||
@ -27,7 +27,7 @@
|
||||
$( document ).ready(function(){
|
||||
//배정차시계산
|
||||
//asgnmOnchange();
|
||||
|
||||
|
||||
//SSO 핸드폰 번호 넣어주기
|
||||
var phoneAll = "${info.phone}"
|
||||
var phoneReplace = phoneAll.replace(/(^02.{0}|^01.{1}|[0-9]{3})([0-9]+)([0-9]{4})/,"$1-$2-$3");
|
||||
@ -405,6 +405,25 @@ function getYears(getYear){
|
||||
</th>
|
||||
<td colspan="3"><c:out value='${info.prfsnFld}' /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>강의희망 교육분야</p>
|
||||
</th>
|
||||
<td colspan="3">
|
||||
<label for="mnLctrCn" class="label">강의희망 교육분야</label>
|
||||
<ve:checkbox name="hopeEduFldView" id="hopeEduFldView" codeId="VEA006" includes="01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20"/>
|
||||
<!-- , 들어간 값을 구분해서 표시한다. -->
|
||||
<c:set var="hopeEduFldView" value="${fn:split(info.hopeEduFld,',')}" />
|
||||
|
||||
<c:forEach var="hopeEduFld" items="${hopeEduFldView}" varStatus="g">
|
||||
<script>
|
||||
$("input[name=hopeEduFldView][value=${hopeEduFld}]").prop("checked",true);
|
||||
$("input[name=hopeEduFldView][value=${hopeEduFld}]").prop("disabled","disabled");
|
||||
</script>
|
||||
</c:forEach>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<%-- <tr>
|
||||
<th scope="row">
|
||||
<p>주요강의내용</p>
|
||||
@ -603,28 +622,44 @@ function getYears(getYear){
|
||||
<ve:select codeId="VE0018" name="divCd" id="divCd" css="class='sel_type1'" selectedValue="${info.divCd}" />
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>위촉구분${info.apptDiv}</p>
|
||||
</th>
|
||||
<td colspan="3">
|
||||
<ve:code codeId="VE0032" code="${info.apptDiv}"/>
|
||||
<ve:select codeId="VE0032" name="apptDiv" id="apptDiv" css="class='sel_type1'" selectedValue="${info.apptDiv}"/>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p class="req_text"><span>필수입력 항목</span>*</p>
|
||||
<p>전문분야</p>
|
||||
</th>
|
||||
<td colspan="3">
|
||||
<label for="mnLctrCn" class="label">주요강의내용</label>
|
||||
<textarea name="prfsnFld" id="prfsnFld" placeholder="ex)예문
|
||||
<th scope="row">
|
||||
<p>위촉구분${info.apptDiv}</p>
|
||||
</th>
|
||||
<td colspan="3">
|
||||
<ve:code codeId="VE0032" code="${info.apptDiv}"/>
|
||||
<ve:select codeId="VE0032" name="apptDiv" id="apptDiv" css="class='sel_type1'" selectedValue="${info.apptDiv}"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p class="req_text"><span>필수입력 항목</span>*</p>
|
||||
<p>전문분야</p>
|
||||
</th>
|
||||
<td colspan="3">
|
||||
<label for="mnLctrCn" class="label">주요강의내용</label>
|
||||
<textarea name="prfsnFld" id="prfsnFld" placeholder="ex)예문
|
||||
- SW코딩, 사물인터넷,인공지능,인성, 비젼, 캠프, 인터넷중독, 가족치료, 저작권 개론 등"><c:out value='${info.prfsnFld}'/></textarea>
|
||||
</td>
|
||||
</tr>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p class="req_text"><span>필수입력 항목</span>*</p>
|
||||
<p>강의희망 교육분야</p>
|
||||
</th>
|
||||
<td colspan="3">
|
||||
<label for="mnLctrCn" class="label">강의희망 교육분야</label>
|
||||
<ve:checkbox name="hopeEduFld" id="hopeEduFld" codeId="VEA006" includes="01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20"/>
|
||||
<!-- , 들어간 값을 구분해서 표시한다. -->
|
||||
<c:set var="hopeEduFld" value="${fn:split(info.hopeEduFld,',')}" />
|
||||
|
||||
<c:forEach var="hopeEduFld" items="${hopeEduFld}" varStatus="g">
|
||||
<script>
|
||||
$("input[name=hopeEduFld][value=${hopeEduFld}]").prop("checked",true);
|
||||
</script>
|
||||
</c:forEach>
|
||||
</td>
|
||||
</tr>
|
||||
<!-- <tr>
|
||||
<th scope="row">
|
||||
<p>위촉구분</p>
|
||||
|
||||
@ -227,6 +227,25 @@
|
||||
</th>
|
||||
<td colspan="3"><c:out value='${info_ori.prfsnFld}' /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>강의희망 교육분야</p>
|
||||
</th>
|
||||
<td colspan="3">
|
||||
<label for="mnLctrCn" class="label">강의희망 교육분야</label>
|
||||
<ve:checkbox name="hopeEduFld_ori" id="hopeEduFld_ori" codeId="VEA006" includes="01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20"/>
|
||||
<!-- , 들어간 값을 구분해서 표시한다. -->
|
||||
<c:set var="hopeEduFld_ori" value="${fn:split(info_ori.hopeEduFld,',')}" />
|
||||
|
||||
<c:forEach var="hopeEduFld_ori" items="${hopeEduFld_ori}" varStatus="g">
|
||||
<script>
|
||||
$("input[name=hopeEduFld_ori][value=${hopeEduFld_ori}]").prop("checked",true);
|
||||
$("input[name=hopeEduFld_ori][value=${hopeEduFld_ori}]").prop("disabled","disabled");
|
||||
</script>
|
||||
</c:forEach>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<%-- <tr>
|
||||
<th scope="row">
|
||||
<p>주요강의내용</p>
|
||||
@ -342,6 +361,24 @@
|
||||
</th>
|
||||
<td colspan="3"><c:out value='${info.prfsnFld}' /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>전문분야</p>
|
||||
</th>
|
||||
<td colspan="3">
|
||||
<label for="mnLctrCn" class="label">강의희망 교육분야</label>
|
||||
<ve:checkbox name="hopeEduFld" id="hopeEduFld" codeId="VEA006" includes="01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20"/>
|
||||
<!-- , 들어간 값을 구분해서 표시한다. -->
|
||||
<c:set var="hopeEduFld" value="${fn:split(info.hopeEduFld,',')}" />
|
||||
|
||||
<c:forEach var="hopeEduFld" items="${hopeEduFld}" varStatus="g">
|
||||
<script>
|
||||
$("input[name=hopeEduFld][value=${hopeEduFld}]").prop("checked",true);
|
||||
$("input[name=hopeEduFld][value=${hopeEduFld}]").prop("disabled","disabled");
|
||||
</script>
|
||||
</c:forEach>
|
||||
</td>
|
||||
</tr>
|
||||
<%-- <tr>
|
||||
<th scope="row">
|
||||
<p>주요강의내용</p>
|
||||
|
||||
@ -16,6 +16,7 @@
|
||||
<spring:eval expression="@property['Globals.Innorix.License']" var="license"/>
|
||||
<script src="<c:url value='/innorix/innorix_${license}.js' />"></script>
|
||||
<script src="<c:url value='/js/kccadr/innorixCommon.js' />"></script>
|
||||
<link rel="stylesheet" href="<c:url value='/innorix/innorix.css'/>" type="text/css">
|
||||
<style>
|
||||
input:disabled {
|
||||
background-color: #f9f9f9 !important;
|
||||
@ -23,9 +24,44 @@
|
||||
input:read-only {
|
||||
background-color: #f9f9f9 !important;
|
||||
}
|
||||
#fileControl{margin: 8px 0 0 0; border: 1px solid #d5d5d5; border-radius: 5px; height: 150px !important; background-color: #fafafa;}
|
||||
.innorix_basic div.irx_filetree.empty-uploader{background: url(/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>
|
||||
|
||||
<script type="text/javaScript" language="javascript">
|
||||
$( document ).ready(function(){
|
||||
$(".btn_add_file").on('click', function(){
|
||||
$("#file_temp").click();
|
||||
});
|
||||
|
||||
//대용량 업로드 세팅
|
||||
|
||||
/*
|
||||
* ==================================================================
|
||||
* 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: 650
|
||||
, maxFileCount : 1 // 첨부파일 최대 갯수
|
||||
, allowExtension : ["txt","xls","xlsx","png","jpg","jpeg","doc","ppt","hwp","pdf","zip"]
|
||||
// 가능한 확장자 txt|xls|xlsx|png|jpg|jpeg|doc|ppt|hwp|pdf|zip
|
||||
});
|
||||
|
||||
// 업로드 완료 후 이벤트
|
||||
control.on('uploadComplete', function (p) {
|
||||
console.log('uploadComplete : ', p);
|
||||
fn_callBackInnorix(p.files); // 파일 정보 DB isnert function
|
||||
});
|
||||
|
||||
});
|
||||
function noInstr(){
|
||||
alert("배정된 강사가 없습니다.")
|
||||
return false;
|
||||
@ -182,15 +218,59 @@
|
||||
});
|
||||
}
|
||||
|
||||
function filePopupLayer(type){
|
||||
commonPopLayeropen(
|
||||
"${pageContext.request.contextPath}/web/ve/comm/popup/fileUploadPop.do"
|
||||
, 650
|
||||
, 464
|
||||
, {'eduAplctOrd' : '<c:out value='${info.eduAplctOrd}'/>','fileType' : type}
|
||||
, "Y"
|
||||
, "fileUploadPop"
|
||||
);
|
||||
//서류 요청
|
||||
function insetDocReq(){
|
||||
//강사 선택 체크
|
||||
var chkLen = $("input[name=chk]:checked").length;
|
||||
if(chkLen == 0){
|
||||
alert("강사를 선택해주세요.");
|
||||
return false;
|
||||
}
|
||||
//서류명 체크
|
||||
if($("input[name=docReqNm]").val() == ''){
|
||||
alert("서류명을 입력해주세요.");
|
||||
return false;
|
||||
}
|
||||
//첨부파일 체크 및 요청
|
||||
if(confirm("서류 요청을 등록하시겠습니까?")){
|
||||
if(control.getUploadFiles().length > 0){
|
||||
var postObj = new Object();
|
||||
postObj.innoDirPath = $('#innoDirPath').val();
|
||||
control.setPostData(postObj); // 업로드시 함께 전달될 POST Param 추가
|
||||
control.upload(); // 업로드 시작
|
||||
}else{
|
||||
alert("등록된 첨부파일이 없습니다.");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
//서류 요청 양식 업로드 후 콜백
|
||||
function fn_callBackInnorix(data){
|
||||
var url = "<c:url value='/web/common/insertInnorixReqFileAjax.do' />";
|
||||
//선택된 강사 ID
|
||||
var sbmtIds = "";
|
||||
$('input[name="chk"]:checked').each(function() {
|
||||
sbmtIds += $(this).val()+ ",";
|
||||
});
|
||||
sbmtIds = sbmtIds.slice(0, -1);
|
||||
|
||||
var sendData = {
|
||||
"fileType": "docForm"
|
||||
, "eduAplctOrd": $('#eduAplctOrd').val()
|
||||
, "innorixFileListVO": data
|
||||
, "docReqNm" : $('#docReqNm').val()
|
||||
, "sbmtId" : sbmtIds
|
||||
, "successMsg" : "등록이 완료되었습니다."
|
||||
}
|
||||
|
||||
/*
|
||||
* 공통 : innorixCommon.js
|
||||
* fn_innorixCmmAjax() 호출 후 status가 성공(OK)이면 실행
|
||||
*/
|
||||
if(fn_innorixCmmAjax(sendData, url) == "OK")
|
||||
{
|
||||
location.reload(true);
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
@ -205,6 +285,11 @@
|
||||
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="${info.eduAplctOrd}" />
|
||||
</form:form>
|
||||
|
||||
<form:form id="docReqForm" name="docReqForm" commandName="vEEduAplctVO" onsubmit="return false;" method="post">
|
||||
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="${info.eduAplctOrd}" />
|
||||
<input type="hidden" id="innoDirPath" value="<spring:eval expression="@globalSettings['Globals.Innorix.FilePath']"/>" />
|
||||
</form:form>
|
||||
|
||||
<!-- 팝업을 위한 mask -->
|
||||
<div class="mask"></div>
|
||||
|
||||
@ -277,7 +362,7 @@
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:forEach var="list" items="${chasiList}" varStatus="status">
|
||||
<c:forEach var="list" items="${instrList}" varStatus="status">
|
||||
<tr>
|
||||
<td>
|
||||
${empty list.instrNm ? '-' : list.instrNm}
|
||||
@ -312,7 +397,145 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!--// 설문조사 팝업-->
|
||||
|
||||
<!-- 서류요청 팝업 -->
|
||||
<div class="tooltip-wrap">
|
||||
<div class="popup_wrap popType05" tabindex="0" data-tooltip-con="sub37_pop02" data-focus="sub37_pop02" data-focus-prev="sub37_pop02_close">
|
||||
<div class="popup_tit">
|
||||
<p>강사 연락처</p>
|
||||
<button class="btn_popup_close tooltip-close" data-focus="sub37_pop02_close" title="팝업 닫기"><i></i></button>
|
||||
</div>
|
||||
<div class="popup_cont">
|
||||
<div class="cont_body">
|
||||
<div class="pop_tb_type02">
|
||||
<table>
|
||||
<caption>강사 간략 정보 : 이름, 이메일, 연락처 </caption>
|
||||
<colgroup>
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 10%;">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">강사명</th>
|
||||
<th scope="col">핸드폰</th>
|
||||
<th scope="col">이메일</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:forEach var="list" items="${instrList}" varStatus="status">
|
||||
<tr>
|
||||
<td>
|
||||
<c:if test="${not empty list.instrNm}">
|
||||
<input name="chk" id="<c:out value="${list.userId}"/>" type="checkbox" value="<c:out value="${list.userId}"/>"/> <label for="<c:out value="${list.userId}"/>"></label>
|
||||
</c:if>
|
||||
${empty list.instrNm ? '-' : list.instrNm}
|
||||
</td>
|
||||
<td>
|
||||
|
||||
${list.phone}
|
||||
</td>
|
||||
<td>
|
||||
${list.email}
|
||||
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
</c:forEach>
|
||||
<tr>
|
||||
<td>서류명</td>
|
||||
<td colspan="2"><input name="docReqNm" id="docReqNm" size="50px;" style="height:30px;" maxlength="40" /></td>
|
||||
</tr>
|
||||
<%-- <tr>
|
||||
<td>
|
||||
<button type="button" class="btnType01 btn_add_file">파일찾기</button>
|
||||
<input type="file" id="file_temp" name="file_temp" class="uploadFile" style="display:none"/>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3" class="upload_area">
|
||||
<div class="file_wrap no_img_box file_upload_box" style="">
|
||||
<table>
|
||||
<caption>첨부파일 파일명, 종류, 크기 정보 제공</caption>
|
||||
<colgroup>
|
||||
<col style="width: auto;">
|
||||
<col style="width: 15%;">
|
||||
<col style="width: 15%;">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr><th scope="col">파일 명</th>
|
||||
<th scope="col">종류</th>
|
||||
<th scope="col">크기</th>
|
||||
</tr></thead>
|
||||
<tbody class="tb_file_before">
|
||||
<tr>
|
||||
<td colspan="3">
|
||||
<p>첨부하실 파일을 <span>마우스끌어서</span> 넣어주세요.</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="file_wrap file_list_div fileAfter" style="display: none;">
|
||||
<table>
|
||||
<caption>첨부파일 파일명, 종류, 크기, 삭제 정보 제공</caption>
|
||||
<colgroup>
|
||||
<col style="width: auto;">
|
||||
<col style="width: 15%;">
|
||||
<col style="width: 15%;">
|
||||
<col style="width: 100px;">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr><th scope="col">파일 명</th>
|
||||
<th scope="col">종류</th>
|
||||
<th scope="col">크기</th>
|
||||
<th scope="col">삭제</th>
|
||||
</tr></thead>
|
||||
<tbody id="tbody_fiielist" class="tb_file_after">
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</td>
|
||||
</tr> --%>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="popup_cont upload_area">
|
||||
<div>
|
||||
<div class="pop_search_wrap">
|
||||
<label for="fileNm" class="label">첨부파일 선택</label>
|
||||
<button type="button" onclick="control.openFileDialogSingle();" class="btnType01 btn_add_file">파일찾기</button>
|
||||
</div>
|
||||
<div id="fileControl"></div><br/>
|
||||
<div class="pop_btn_wrap btn_layout01">
|
||||
<div class="btn_left">
|
||||
</div>
|
||||
<div class="btn_center">
|
||||
</div>
|
||||
<div class="btn_right">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="pop_btn_wrap btn_layout01">
|
||||
<div class="btn_left">
|
||||
</div>
|
||||
<div class="btn_center">
|
||||
|
||||
<button type="button" class="btnType05" id="popupSubmin" onclick="insetDocReq();">요청</button>
|
||||
|
||||
<button type="button" class="btnType02 tooltip-close" data-focus="sub37_pop02_close" data-focus-next="sub37_pop02">닫기</button>
|
||||
</div>
|
||||
<div class="btn_right">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!--// 서류요청 팝업-->
|
||||
|
||||
|
||||
|
||||
@ -711,6 +934,7 @@
|
||||
</c:forEach>
|
||||
<c:choose>
|
||||
<c:when test="${instrYn eq 'Y'}">
|
||||
<button type="button" class="btnType05" data-tooltip="sub37_pop02" title="팝업 열림">서류요청</button>
|
||||
<button type="button" class="btnType05" data-tooltip="sub37_pop01" title="팝업 열림">강사정보</button>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
@ -788,57 +1012,65 @@
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<c:set var="instrYn" value="N"/>
|
||||
<c:forEach items="${chasiList}" var="list">
|
||||
<c:if test="${not empty list.instrNm}">
|
||||
<c:set var="instrYn" value="Y" />
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
<c:if test="${instrYn eq 'Y'}">
|
||||
<c:if test="${not empty docReqList}">
|
||||
<div class="tb_tit01">
|
||||
<div class="tb_tit01_left">
|
||||
<p>필요양식</p>
|
||||
<p>요청서류 목록</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="btn_wrap"><input type="text" /> <button type="button" class="btnType05 data-tooltip="sub35_pop01" id="OATH" onclick="filePopupLayer('OATH')" title="팝업 열림">필요양식 업로드</button></div>
|
||||
<div class="tb_type02">
|
||||
<table>
|
||||
<%-- <caption>교육차시 정보 교육희망일, 시간, 구분, 대상, 배정강사, 인원 을/를 제공하는 표</caption> --%>
|
||||
<colgroup>
|
||||
<col style="width: 18%;">
|
||||
<col style="width: 18%;">
|
||||
<col style="width: 18%;">
|
||||
<col style="width: auto;">
|
||||
<col style="width: 11%;">
|
||||
<col style="width: 12%;">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">파일</th>
|
||||
<th scope="col">서류명</th>
|
||||
<th scope="col">강사명</th>
|
||||
<th scope="col">양식</th>
|
||||
<th scope="col">제출여부</th>
|
||||
<th scope="col">제출일</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:forEach var="docReqList" items="${docReqList}">
|
||||
<tr>
|
||||
<th>
|
||||
범죄경력조회 동의서
|
||||
<c:out value="${docReqList.docReqNm}" />
|
||||
</th>
|
||||
<td>
|
||||
청소년강사1
|
||||
<c:out value="${docReqList.instrNm}" />
|
||||
</td>
|
||||
<td>
|
||||
동의서.zip
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
범죄경력조회 동의서
|
||||
</th>
|
||||
<td>
|
||||
청소년강사2
|
||||
</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>
|
||||
|
||||
@ -353,7 +353,25 @@
|
||||
<td colspan="3">
|
||||
<p><c:out value="${info.prfsnFld}"/></p>
|
||||
</td>
|
||||
</tr>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p class="req_text"><span>필수입력 항목</span>*</p>
|
||||
<p>강의희망 교육분야</p>
|
||||
</th>
|
||||
<td colspan="3">
|
||||
<ve:checkbox name="hopeEduFld" id="hopeEduFld" codeId="VEA006" includes="01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20"/>
|
||||
<!-- , 들어간 값을 구분해서 표시한다. -->
|
||||
<c:set var="hopeEduFld" value="${fn:split(info.hopeEduFld,',')}" />
|
||||
|
||||
<c:forEach var="hopeEduFld" items="${hopeEduFld}" varStatus="g">
|
||||
<script>
|
||||
$("input[name=hopeEduFld][value=${hopeEduFld}]").prop("checked",true);
|
||||
$("input[name=hopeEduFld][value=${hopeEduFld}]").prop("disabled","disabled");
|
||||
</script>
|
||||
</c:forEach>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user