Merge branch 'advc' of http://yongjoon.cho@vcs.iten.co.kr:9999/hylee/offedu into advc
This commit is contained in:
commit
9a0e69afa7
@ -68,6 +68,23 @@ public class AdrInnorixFileVO extends ComDefaultVO implements Serializable {
|
||||
|
||||
public String instrDetailOrd = "";//강사 고유PK
|
||||
|
||||
public String lctrSbjct; //강의주제
|
||||
public String lctrPlace; //강의장소
|
||||
public String lctrTrgt; //교육대상
|
||||
public String nos; //인원
|
||||
public String instrNm; //강사명(소속)
|
||||
|
||||
public String lctrDay;
|
||||
public String lctrStrtH;
|
||||
public String lctrStrtM;
|
||||
public String lctrEndH;
|
||||
public String lctrEndM;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//강의활동확인서 컬럼 추가
|
||||
private String sex = ""; //성별
|
||||
@ -237,6 +254,86 @@ public class AdrInnorixFileVO extends ComDefaultVO implements Serializable {
|
||||
this.docuNmbr = docuNmbr;
|
||||
}
|
||||
|
||||
public String getLctrSbjct() {
|
||||
return lctrSbjct;
|
||||
}
|
||||
|
||||
public void setLctrSbjct(String lctrSbjct) {
|
||||
this.lctrSbjct = lctrSbjct;
|
||||
}
|
||||
|
||||
public String getLctrPlace() {
|
||||
return lctrPlace;
|
||||
}
|
||||
|
||||
public void setLctrPlace(String lctrPlace) {
|
||||
this.lctrPlace = lctrPlace;
|
||||
}
|
||||
|
||||
public String getLctrTrgt() {
|
||||
return lctrTrgt;
|
||||
}
|
||||
|
||||
public void setLctrTrgt(String lctrTrgt) {
|
||||
this.lctrTrgt = lctrTrgt;
|
||||
}
|
||||
|
||||
public String getNos() {
|
||||
return nos;
|
||||
}
|
||||
|
||||
public void setNos(String nos) {
|
||||
this.nos = nos;
|
||||
}
|
||||
|
||||
public String getInstrNm() {
|
||||
return instrNm;
|
||||
}
|
||||
|
||||
public void setInstrNm(String instrNm) {
|
||||
this.instrNm = instrNm;
|
||||
}
|
||||
|
||||
public String getLctrDay() {
|
||||
return lctrDay;
|
||||
}
|
||||
|
||||
public void setLctrDay(String lctrDay) {
|
||||
this.lctrDay = lctrDay;
|
||||
}
|
||||
|
||||
public String getLctrStrtH() {
|
||||
return lctrStrtH;
|
||||
}
|
||||
|
||||
public void setLctrStrtH(String lctrStrtH) {
|
||||
this.lctrStrtH = lctrStrtH;
|
||||
}
|
||||
|
||||
public String getLctrStrtM() {
|
||||
return lctrStrtM;
|
||||
}
|
||||
|
||||
public void setLctrStrtM(String lctrStrtM) {
|
||||
this.lctrStrtM = lctrStrtM;
|
||||
}
|
||||
|
||||
public String getLctrEndH() {
|
||||
return lctrEndH;
|
||||
}
|
||||
|
||||
public void setLctrEndH(String lctrEndH) {
|
||||
this.lctrEndH = lctrEndH;
|
||||
}
|
||||
|
||||
public String getLctrEndM() {
|
||||
return lctrEndM;
|
||||
}
|
||||
|
||||
public void setLctrEndM(String lctrEndM) {
|
||||
this.lctrEndM = lctrEndM;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -42,4 +42,6 @@ public interface InnorixFileService {
|
||||
|
||||
RestResponse insertInnorixInstrActvtAjax(AdrInnorixFileVO adrInnorixFileVO);
|
||||
|
||||
RestResponse insertInnorixReqRsltAjax(AdrInnorixFileVO adrInnorixFileVO);
|
||||
|
||||
}
|
||||
|
||||
@ -88,6 +88,10 @@ public class InnorixFileServiceImpl extends EgovAbstractServiceImpl implements I
|
||||
@Resource(name="docReqOrdGnrService")
|
||||
private EgovIdGnrService docReqOrdGnrService;
|
||||
|
||||
//성인 결과보고 테이블
|
||||
@Resource(name="veaRsltRprtOrdGnrService")
|
||||
private EgovIdGnrService veaRsltRprtOrdGnrService;
|
||||
|
||||
//서류요청 순번
|
||||
@Resource(name="instrActvtHstryOrdGnrService")
|
||||
private EgovIdGnrService instrActvtHstryOrdGnrService;
|
||||
@ -562,4 +566,43 @@ public class InnorixFileServiceImpl extends EgovAbstractServiceImpl implements I
|
||||
|
||||
return new RestResponse(HttpStatus.OK, adrInnorixFileVO.getSuccessMsg(), LocalDateTime.now());
|
||||
}
|
||||
|
||||
@Override
|
||||
public RestResponse insertInnorixReqRsltAjax(AdrInnorixFileVO adrInnorixFileVO) {
|
||||
|
||||
List<FileVO> result = null;
|
||||
try {
|
||||
// 파일 저장 후 저장할 file 정보를 받아옴
|
||||
result = this.insertFileData(adrInnorixFileVO);
|
||||
|
||||
// 파일 정보 insert
|
||||
String atchFileId = fileManageDAO.insertFileInfs(result);
|
||||
|
||||
VEEduAplctVO vEEduAplctVO = new VEEduAplctVO();
|
||||
vEEduAplctVO.setVeaRsltRprtOrd(veaRsltRprtOrdGnrService.getNextStringId());
|
||||
vEEduAplctVO.setEduAplctOrd(adrInnorixFileVO.getEduAplctOrd());
|
||||
vEEduAplctVO.setLctrSbjct(adrInnorixFileVO.getLctrSbjct());
|
||||
|
||||
vEEduAplctVO.setLctrDay(adrInnorixFileVO.getLctrDay());
|
||||
vEEduAplctVO.setLctrStrtH(adrInnorixFileVO.getLctrStrtH());
|
||||
vEEduAplctVO.setLctrStrtM(adrInnorixFileVO.getLctrStrtM());
|
||||
vEEduAplctVO.setLctrEndH(adrInnorixFileVO.getLctrEndH());
|
||||
vEEduAplctVO.setLctrEndM(adrInnorixFileVO.getLctrEndM());
|
||||
|
||||
vEEduAplctVO.setLctrPlace(adrInnorixFileVO.getLctrPlace());
|
||||
vEEduAplctVO.setLctrTrgt(adrInnorixFileVO.getLctrTrgt());
|
||||
vEEduAplctVO.setNos(adrInnorixFileVO.getNos());
|
||||
vEEduAplctVO.setInstrNm(adrInnorixFileVO.getInstrNm());
|
||||
vEEduAplctVO.setAtchFileId(atchFileId);
|
||||
vEEduAplctVO.setFrstRegisterId(adrInnorixFileVO.getUniqId());
|
||||
|
||||
vEEduAplctService.insertRslt(vEEduAplctVO);
|
||||
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
return new RestResponse(HttpStatus.BAD_REQUEST, "등록에 실패하였습니다.", LocalDateTime.now());
|
||||
}
|
||||
|
||||
return new RestResponse(HttpStatus.OK, adrInnorixFileVO.getSuccessMsg(), LocalDateTime.now());
|
||||
}
|
||||
}
|
||||
|
||||
@ -185,6 +185,30 @@ public class InnorixFileController {
|
||||
return ResponseEntity.ok(innorixService.insertInnorixReqFile(adrInnorixFileVO));
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : insertInnorixReqFileAjax
|
||||
* @author : 이호영
|
||||
* @date : 2023.12.21
|
||||
* @description : 성인 찾교 > 완료상세 > 결과보고 업로드 버튼 팝업에 등록
|
||||
* @param adrInnorixFileVO
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
@RequestMapping(value = {"/web/common/insertInnorixReqRsltAjax.do"}, method = RequestMethod.POST)
|
||||
public ResponseEntity<RestResponse> insertInnorixReqRsltAjax(@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.insertInnorixReqRsltAjax(adrInnorixFileVO));
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : insertInnorixSspnCnClAjax
|
||||
* @author : 이호영
|
||||
|
||||
@ -225,6 +225,13 @@ public class VEAStngVO extends ComDefaultVO implements Serializable {
|
||||
private boolean allDay;
|
||||
|
||||
|
||||
|
||||
private String atchFileId;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public String getYr() {
|
||||
return yr;
|
||||
}
|
||||
@ -1031,5 +1038,11 @@ public class VEAStngVO extends ComDefaultVO implements Serializable {
|
||||
public void setDdlnDt(String ddlnDt) {
|
||||
this.ddlnDt = ddlnDt;
|
||||
}
|
||||
public String getAtchFileId() {
|
||||
return atchFileId;
|
||||
}
|
||||
public void setAtchFileId(String atchFileId) {
|
||||
this.atchFileId = atchFileId;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -59,4 +59,6 @@ public interface VEEduAplctService {
|
||||
|
||||
//요청서류 제출
|
||||
void updateSbmtAtchFileId(VEEduAplctVO paramVO) throws Exception;
|
||||
|
||||
void insertRslt(VEEduAplctVO vEEduAplctVO);
|
||||
}
|
||||
|
||||
@ -428,6 +428,20 @@ public class VEEduAplctVO extends ComDefaultVO implements Serializable {
|
||||
private String cmmNotifyOrd; // 알림 PK
|
||||
|
||||
|
||||
private String veaRsltRprtOrd;
|
||||
private String lctrSbjct;
|
||||
private String lctrPnttm;
|
||||
private String lctrPlace;
|
||||
private String lctrTrgt;
|
||||
private String nos;
|
||||
|
||||
public String lctrDay;
|
||||
public String lctrStrtH;
|
||||
public String lctrStrtM;
|
||||
public String lctrEndH;
|
||||
public String lctrEndM;
|
||||
|
||||
|
||||
public String getSpecialWorkAllow() {
|
||||
return specialWorkAllow;
|
||||
}
|
||||
@ -1857,6 +1871,72 @@ public class VEEduAplctVO extends ComDefaultVO implements Serializable {
|
||||
public void setCmmNotifyOrd(String cmmNotifyOrd) {
|
||||
this.cmmNotifyOrd = cmmNotifyOrd;
|
||||
}
|
||||
public String getLctrSbjct() {
|
||||
return lctrSbjct;
|
||||
}
|
||||
public void setLctrSbjct(String lctrSbjct) {
|
||||
this.lctrSbjct = lctrSbjct;
|
||||
}
|
||||
public String getLctrPnttm() {
|
||||
return lctrPnttm;
|
||||
}
|
||||
public void setLctrPnttm(String lctrPnttm) {
|
||||
this.lctrPnttm = lctrPnttm;
|
||||
}
|
||||
public String getLctrPlace() {
|
||||
return lctrPlace;
|
||||
}
|
||||
public void setLctrPlace(String lctrPlace) {
|
||||
this.lctrPlace = lctrPlace;
|
||||
}
|
||||
public String getLctrTrgt() {
|
||||
return lctrTrgt;
|
||||
}
|
||||
public void setLctrTrgt(String lctrTrgt) {
|
||||
this.lctrTrgt = lctrTrgt;
|
||||
}
|
||||
public String getNos() {
|
||||
return nos;
|
||||
}
|
||||
public void setNos(String nos) {
|
||||
this.nos = nos;
|
||||
}
|
||||
public String getVeaRsltRprtOrd() {
|
||||
return veaRsltRprtOrd;
|
||||
}
|
||||
public void setVeaRsltRprtOrd(String veaRsltRprtOrd) {
|
||||
this.veaRsltRprtOrd = veaRsltRprtOrd;
|
||||
}
|
||||
public String getLctrDay() {
|
||||
return lctrDay;
|
||||
}
|
||||
public void setLctrDay(String lctrDay) {
|
||||
this.lctrDay = lctrDay;
|
||||
}
|
||||
public String getLctrStrtH() {
|
||||
return lctrStrtH;
|
||||
}
|
||||
public void setLctrStrtH(String lctrStrtH) {
|
||||
this.lctrStrtH = lctrStrtH;
|
||||
}
|
||||
public String getLctrStrtM() {
|
||||
return lctrStrtM;
|
||||
}
|
||||
public void setLctrStrtM(String lctrStrtM) {
|
||||
this.lctrStrtM = lctrStrtM;
|
||||
}
|
||||
public String getLctrEndH() {
|
||||
return lctrEndH;
|
||||
}
|
||||
public void setLctrEndH(String lctrEndH) {
|
||||
this.lctrEndH = lctrEndH;
|
||||
}
|
||||
public String getLctrEndM() {
|
||||
return lctrEndM;
|
||||
}
|
||||
public void setLctrEndM(String lctrEndM) {
|
||||
this.lctrEndM = lctrEndM;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -169,5 +169,9 @@ public class VEEduAplctDAO extends EgovAbstractDAO {
|
||||
return (List<VEPrcsDetailVO>) list("VEEduAplctDAO.selectVeEduQna", vEPrcsDetailVO);
|
||||
}
|
||||
|
||||
public void insertRslt(VEEduAplctVO paramVO) {
|
||||
insert("VEEduAplctDAO.insertRslt", paramVO);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -192,4 +192,9 @@ public class VEEduAplctServiceImpl implements VEEduAplctService {
|
||||
vo.setClphone(egovCryptoUtil.decrypt(vo.getClphone()));
|
||||
vo.setEmail(egovCryptoUtil.decrypt(vo.getEmail()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void insertRslt(VEEduAplctVO paramVO) {
|
||||
vEEduAplctDAO.insertRslt(paramVO);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1813,6 +1813,62 @@ public class OprtnInstrAdultPrflContoller {
|
||||
return modelAndView;
|
||||
}
|
||||
|
||||
/**
|
||||
* 2. 강사신청 수정
|
||||
*/
|
||||
@RequestMapping("/ve/oprtn/instr/adultVisitEdu/instrInfo/instrAplctMngDetailUpdateAjax.do")
|
||||
public ModelAndView instrAplctMngDetailUpdateAjax(
|
||||
@ModelAttribute("vEInstrDetailVO") VEInstrDetailVO vEInstrDetailVO
|
||||
, final MultipartHttpServletRequest multiRequest
|
||||
, ModelMap model
|
||||
, RedirectAttributes redirectAttributes
|
||||
, HttpSession session
|
||||
, HttpServletRequest request
|
||||
) throws Exception {
|
||||
|
||||
ModelAndView modelAndView = new ModelAndView();
|
||||
modelAndView.setViewName("jsonView");
|
||||
|
||||
//로그인 처리====================================
|
||||
//로그인 정보 가져오기
|
||||
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
|
||||
|
||||
String atchFileId = "";
|
||||
final Map<String, MultipartFile> files = multiRequest.getFileMap();
|
||||
|
||||
if (!files.isEmpty()) {
|
||||
//XXX_로 첨부파일 네이밍
|
||||
List<FileVO> result = egovFileMngUtil.parseFileInf(files, "PHT_", 0, "", "", "");
|
||||
atchFileId = fileMngService.insertFileInfs(result);
|
||||
}
|
||||
//첨부파일Id(atchFileId)를 해당 VO atchFileId변수에 저장
|
||||
vEInstrDetailVO.setPhtAtchFileId(atchFileId);
|
||||
|
||||
//세션 ID 가져오기
|
||||
vEInstrDetailVO.setLastUpdusrId(loginVO.getUniqId());
|
||||
|
||||
//제출, 승인요청 일시
|
||||
SimpleDateFormat format1 = new SimpleDateFormat ( "yyyy-MM-dd HH:mm:ss");
|
||||
Date time = new Date();
|
||||
String now = format1.format(time);
|
||||
if("Y".equals(vEInstrDetailVO.getSbmtYn())) {
|
||||
vEInstrDetailVO.setSbmtPnttm(now);
|
||||
}
|
||||
|
||||
vEInstrService.update(vEInstrDetailVO);
|
||||
//등록 요청, 재요청일 시 반려사유 삭제
|
||||
if("10".equals(vEInstrDetailVO.getAprvlCd())) {
|
||||
vEInstrDetailVO.setAprvlCn("");
|
||||
}
|
||||
|
||||
//암호화
|
||||
vEInstrDetailVO = egovCryptoUtil.encryptVEInstrDetailVO(vEInstrDetailVO);/*이름, 번호 복호화*/
|
||||
vEInstrDetailService.update(vEInstrDetailVO);
|
||||
modelAndView.addObject("result", "success");
|
||||
|
||||
return modelAndView;
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// private function
|
||||
|
||||
@ -2728,6 +2728,7 @@ public class OprtnInstrTngrPrflContoller {
|
||||
public ModelAndView instrHstryMngPopupAjax(
|
||||
ModelMap model
|
||||
, HttpServletRequest request
|
||||
, final MultipartHttpServletRequest multiRequest
|
||||
) throws Exception {
|
||||
|
||||
ModelAndView modelAndView = new ModelAndView();
|
||||
@ -2749,12 +2750,37 @@ public class OprtnInstrTngrPrflContoller {
|
||||
//System.out.println(request.getParameter("ddlnStateCd"));
|
||||
|
||||
try {
|
||||
|
||||
|
||||
|
||||
//step2.파일 처리====================================
|
||||
//파일 정상 처리 여부와 첨부 파일 정보
|
||||
//String atchFileId = this.takeFile(multiRequest, modelAndView, bmVO);
|
||||
//파일 제한 수량 가져오기, 없으면 기본값 사용
|
||||
int i_file_limit = checkFileUtil.getLimitCount(request); // file count
|
||||
int i_limit_size = checkFileUtil.getLimitSize(request); // file MB
|
||||
String s_file_exts = checkFileUtil.getS_exts(); // file exts
|
||||
|
||||
String atchFileId = checkFileUtil.fileValCheckNdbInsert(
|
||||
multiRequest, modelAndView
|
||||
, "InstrH_" //file_name_prefix
|
||||
, s_file_exts
|
||||
, i_limit_size
|
||||
, i_file_limit
|
||||
); //EXT, MB size and ea
|
||||
|
||||
if ("ERROR".equals(atchFileId)) return modelAndView;
|
||||
|
||||
|
||||
|
||||
|
||||
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
|
||||
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
|
||||
|
||||
String s_ord = instrHstryOrdGnrService.getNextStringId();
|
||||
|
||||
VEAStngVO vEAStngVO = new VEAStngVO();
|
||||
System.out.println("atchFileId : "+ atchFileId);
|
||||
|
||||
vEAStngVO.setInstrHstryOrd(s_ord);
|
||||
vEAStngVO.setUserId(request.getParameter("userId"));
|
||||
@ -2763,6 +2789,7 @@ public class OprtnInstrTngrPrflContoller {
|
||||
vEAStngVO.setStrtDt(request.getParameter("rgstrStrtPnttm_dt"));
|
||||
vEAStngVO.setDdlnDt(request.getParameter("rgstrDdlnPnttm_dt"));
|
||||
vEAStngVO.setFrstRegisterId(loginVO.getUniqId());
|
||||
vEAStngVO.setAtchFileId(atchFileId);
|
||||
|
||||
vEAStngService.insert_VEAIHM(vEAStngVO);
|
||||
|
||||
|
||||
@ -3060,4 +3060,20 @@
|
||||
<property name="fillChar" value="0" />
|
||||
</bean>
|
||||
|
||||
<!-- 결과보고 테이블 -->
|
||||
|
||||
<bean name="veaRsltRprtOrdGnrService" class="egovframework.rte.fdl.idgnr.impl.EgovTableIdGnrServiceImpl" destroy-method="destroy">
|
||||
<property name="dataSource" ref="dataSource" />
|
||||
<property name="strategy" ref="veaRsltRprtOrdStrategy" /><!-- strategy 값 수정 -->
|
||||
<property name="blockSize" value="10"/>
|
||||
<property name="table" value="IDS"/>
|
||||
<property name="tableName" value="VEA_RSLT_RPRT"/><!-- tableName 값 수정 -->
|
||||
</bean>
|
||||
<!-- 과정신청기간 ID Generation Strategy Config -->
|
||||
<bean name="veaRsltRprtOrdStrategy" class="egovframework.rte.fdl.idgnr.impl.strategy.EgovIdGnrStrategyImpl"><!-- bean name 값에 strategy 값 입력 -->
|
||||
<property name="prefix" value="veaRslt_" /><!-- prefix 값 수정 -->
|
||||
<property name="cipers" value="12" /><!-- 일련번호(순번) 전체 길이(prefix길이 미포함) -->
|
||||
<property name="fillChar" value="0" />
|
||||
</bean>
|
||||
|
||||
</beans>
|
||||
|
||||
@ -475,7 +475,19 @@
|
||||
<select id="VEEduAplctDAO.selectDetail" parameterClass="VEEduAplctVO" resultClass="VEEduAplctVO">
|
||||
/* VEEduAplctDAO.selectDetail */
|
||||
SELECT
|
||||
<include refid="VEEduAplctDAO.select_column_name"/>
|
||||
C.VEA_RSLT_RPRT_ORD as veaRsltRprtOrd
|
||||
, C.LCTR_SBJCT as lctrSbjct
|
||||
, C.LCTR_DAY as lctrDay
|
||||
, C.LCTR_PLACE as lctrPlace
|
||||
, C.LCTR_TRGT as lctrTrgt
|
||||
, C.NOS as nos
|
||||
, C.INSTR_NM as instrNm
|
||||
, C.ATCH_FILE_ID as atchFileId
|
||||
, C.LCTR_STRT_H as lctrStrtH
|
||||
, C.LCTR_STRT_M as lctrStrtM
|
||||
, C.LCTR_END_H as lctrEndH
|
||||
, C.LCTR_END_M as lctrEndM
|
||||
, <include refid="VEEduAplctDAO.select_column_name"/>
|
||||
, NVL(B.ISLTN_YN,'N') AS isltnYn
|
||||
, NVL(B.ISLTN2_YN,'N') AS isltn2Yn
|
||||
, NVL(B.ISLTN3_YN,'N') AS isltn3Yn
|
||||
@ -484,6 +496,8 @@
|
||||
FROM <include refid="VEEduAplctDAO.table_name"/> A
|
||||
LEFT OUTER JOIN VE_SCHOL B
|
||||
ON(A.STNDRD_SCHOL_CD=B.STNDRD_SCHOL_CD)
|
||||
LEFT OUTER JOIN VEA_RSLT_RPRT C
|
||||
ON (A.EDU_APLCT_ORD = C.EDU_APLCT_ORD)
|
||||
WHERE A.EDU_APLCT_ORD = #eduAplctOrd#
|
||||
|
||||
</select>
|
||||
@ -1446,6 +1460,44 @@
|
||||
)
|
||||
</insert>
|
||||
|
||||
<insert id="VEEduAplctDAO.insertRslt" parameterClass="VEEduAplctVO">
|
||||
/* VEEduAplctDAO.insertRslt */
|
||||
INSERT INTO VEA_RSLT_RPRT
|
||||
(
|
||||
VEA_RSLT_RPRT_ORD
|
||||
, EDU_APLCT_ORD
|
||||
, LCTR_SBJCT
|
||||
, LCTR_DAY
|
||||
, LCTR_STRT_H
|
||||
, LCTR_STRT_M
|
||||
, LCTR_END_H
|
||||
, LCTR_END_M
|
||||
, LCTR_PLACE
|
||||
, LCTR_TRGT
|
||||
, NOS
|
||||
, INSTR_NM
|
||||
, ATCH_FILE_ID
|
||||
, FRST_REGIST_PNTTM
|
||||
, FRST_REGISTER_ID
|
||||
)VALUES(
|
||||
#veaRsltRprtOrd#
|
||||
, #eduAplctOrd#
|
||||
, #lctrSbjct#
|
||||
, #lctrDay#
|
||||
, #lctrStrtH#
|
||||
, #lctrStrtM#
|
||||
, #lctrEndH#
|
||||
, #lctrEndM#
|
||||
, #lctrPlace#
|
||||
, #lctrTrgt#
|
||||
, #nos#
|
||||
, #instrNm#
|
||||
, #atchFileId#
|
||||
, SYSDATE
|
||||
, #frstRegisterId#
|
||||
)
|
||||
</insert>
|
||||
|
||||
<select id="VEEduAplctDAO.selectVeEduQna" parameterClass="VEPrcsDetailVO" resultClass="VEPrcsDetailVO">
|
||||
/* VEEduAplctDAO.selectVeEduQna */
|
||||
SELECT
|
||||
|
||||
@ -1517,11 +1517,11 @@
|
||||
</isNotEmpty>
|
||||
|
||||
<isNotEmpty property="searchStartDt">
|
||||
AND CC.EDU_HOPE_DT <![CDATA[ >= ]]> REPLACE(#searchStartDt#, '.' , '')
|
||||
AND REPLACE(CC.EDU_HOPE_DT, '.', '') <![CDATA[ >= ]]> REPLACE(#searchStartDt#, '.' , '')
|
||||
</isNotEmpty>
|
||||
|
||||
<isNotEmpty property="searchEndDt">
|
||||
AND CC.EDU_HOPE_DT <![CDATA[ <= ]]> REPLACE(#searchEndDt#, '.' , '')
|
||||
AND REPLACE(CC.EDU_HOPE_DT, '.', '') <![CDATA[ <= ]]> REPLACE(#searchEndDt#, '.' , '')
|
||||
</isNotEmpty>
|
||||
<isNotEmpty property="searchStartSbmtPnttm">
|
||||
AND TO_CHAR(A.SBMT_PNTTM,'YYYYMMDD') <![CDATA[ >= ]]> REPLACE(#searchStartSbmtPnttm#, '.' , '')
|
||||
@ -1625,7 +1625,7 @@
|
||||
</isNotEmpty>
|
||||
|
||||
<isNotEmpty property="searchChrgNm">
|
||||
AND A.CHRG_NM LIKE '%' || #searchChrgNm# , '%')
|
||||
AND A.CHRG_NM LIKE '%' || #searchChrgNm# || '%'
|
||||
</isNotEmpty>
|
||||
|
||||
<isNotEmpty property="searchStatusArr">
|
||||
|
||||
@ -21,7 +21,9 @@
|
||||
ddln_dt,
|
||||
|
||||
frst_regist_pnttm,
|
||||
frst_register_id
|
||||
frst_register_id,
|
||||
|
||||
atch_file_id
|
||||
|
||||
|
||||
</sql>
|
||||
@ -38,7 +40,8 @@
|
||||
|
||||
|
||||
TO_CHAR(a.frst_regist_pnttm,'YYYY-MM-DD') AS frstRegistPnttm,
|
||||
a.frst_register_id AS frstRegisterId
|
||||
a.frst_register_id AS frstRegisterId ,
|
||||
a.atch_file_id AS atchFileId
|
||||
|
||||
</sql>
|
||||
|
||||
@ -64,7 +67,8 @@
|
||||
#ddlnDt#,
|
||||
|
||||
SYSDATE,
|
||||
#frstRegisterId#
|
||||
#frstRegisterId#,
|
||||
#atchFileId#
|
||||
)
|
||||
WHEN MATCHED THEN
|
||||
UPDATE
|
||||
@ -76,6 +80,7 @@
|
||||
, ddln_dt = #ddlnDt#
|
||||
, frst_regist_pnttm = SYSDATE
|
||||
, frst_register_id = #frstRegisterId#
|
||||
, atch_file_id = #atchFileId#
|
||||
</insert>
|
||||
|
||||
<!-- 강사 정보 R -->
|
||||
@ -111,7 +116,8 @@
|
||||
#ddlnDt#,
|
||||
|
||||
SYSDATE,
|
||||
#frstRegisterId#
|
||||
#frstRegisterId#,
|
||||
#atchFileId#
|
||||
)
|
||||
WHEN MATCHED THEN
|
||||
UPDATE
|
||||
@ -123,6 +129,7 @@
|
||||
, ddlnDt = #ddlnDt#
|
||||
, frst_regist_pnttm = SYSDATE
|
||||
, frst_register_id = #frstRegisterId#
|
||||
, atch_file_id = #atchFileId#
|
||||
</update>
|
||||
|
||||
<!-- 강사 정보 U -->
|
||||
|
||||
@ -192,7 +192,7 @@
|
||||
$('input:checkbox[name="chk"]:checked').each(function() {
|
||||
sendSms(
|
||||
$(this).data('instrphone'),
|
||||
"교육운영 관리 시스템입니다." + $(this).data('instrnm')+"님의 " + $(this).data('date') + " 교육 강사료는 " + $(this).data('instrfeesum') +"입니다.",
|
||||
"교육운영 관리 시스템입니다." + $(this).data('instrnm')+"님의 " + $(this).data('date') + " 교육 강사료는 " + $(this).data('instrfeesum') +"원입니다.",
|
||||
$(this).val().split('@')[0],
|
||||
$(this).data('userid'),
|
||||
"N"
|
||||
|
||||
@ -34,6 +34,7 @@
|
||||
background-color: #ededed;
|
||||
}
|
||||
</style>
|
||||
<script src="${pageContext.request.contextPath}/js/ve/sendSmsEmailUtil.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function(){
|
||||
|
||||
@ -194,6 +195,35 @@
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function chkSendSmsEmail(){
|
||||
var chkLen = $(listForm).find("input[name=chk]:checked").length;
|
||||
|
||||
if(chkLen == 0){
|
||||
alert("선택된 항목이 없습니다.");
|
||||
return;
|
||||
}
|
||||
|
||||
$('input:checkbox[name="chk"]:checked').each(function() {
|
||||
sendSms(
|
||||
$(this).data('phone'),
|
||||
"교육운영 관리 시스템입니다.\n" + $(this).data('chrgnm')+"님의 " + $(this).data('date') + " 교육 강의만족도 제출 바랍니다.",
|
||||
$(this).val().split('@')[0],
|
||||
$(this).data('userid'),
|
||||
"N"
|
||||
);
|
||||
sendEmail(
|
||||
$(this).data('email'),
|
||||
"교육운영 관리 시스템입니다. \n" + $(this).data('chrgnm')+"님의 " + $(this).data('date') + " 교육 강의만족도 제출 바랍니다.",
|
||||
$(this).val().split('@')[0],
|
||||
$(this).data('userid'),
|
||||
"S",
|
||||
"N"
|
||||
);
|
||||
});
|
||||
alert("발송되었습니다.");
|
||||
|
||||
}
|
||||
</script>
|
||||
<title>신청관리</title>
|
||||
</head>
|
||||
@ -308,7 +338,10 @@
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<td>
|
||||
<input name="chk" class="${list.userId}" value="${list.eduAplctOrd}@${list.eduChasiOrd}" data-phone="<c:out value='${list.clphone}' />" data-cnt="<c:out value='${list.cnt}' />" title="Check" type="checkbox"/>
|
||||
<input name="chk" class="${list.userId}" value="${list.eduAplctOrd}@${list.eduChasiOrd}" data-phone="<c:out value='${list.clphone}' />" data-cnt="<c:out value='${list.cnt}' />"
|
||||
data-date="<c:out value='${list.eduHopeDt}' /> <c:out value='${list.strtTm}' /> ~ <c:out value='${list.endTm}' />"
|
||||
data-email="<c:out value='${list.email}' />" data-chrgnm="<c:out value='${list.chrgNm}' />" data-userId="<c:out value='${list.userId}' />"
|
||||
title="Check" type="checkbox"/>
|
||||
</td>
|
||||
<td onclick="fncGoDetail('${list.eduAplctOrd}','${list.eduChasiOrd}');" style="cursor:pointer">
|
||||
<fmt:parseDate value="${list.eduHopeDt}" var="eduHopeDt" pattern="yyyy.MM.dd"/>
|
||||
@ -357,6 +390,7 @@
|
||||
<!-- <button type="button" class="btn_type04" onclick="fncSndSms();return false;">결과보고제출요청</button> -->
|
||||
</div>
|
||||
<div class="btn_right">
|
||||
<button type="button" class="btn_type06" onclick="chkSendSmsEmail(); return false;">강의만족도 제출요청 </button>
|
||||
<%-- <ve:select codeId="VE0016" name="pnltyCd" id="pnltyCd" css="class='sel_type1'" --%>
|
||||
<%-- selectedValue="<c:out value='${info.eduSlctAreaCd}'/>" --%>
|
||||
<%-- /> --%>
|
||||
|
||||
@ -28,7 +28,114 @@
|
||||
<head>
|
||||
<meta http-equiv="Content-Language" content="ko" >
|
||||
<title>전자교육신청 상세</title>
|
||||
<script type="text/javascript" src="<c:url value="/validator.do"/>"></script>
|
||||
<validator:javascript formName="vEInstrDetailVO" staticJavascript="false" xhtml="true" cdata="false" />
|
||||
<script type="text/javaScript" language="javascript">
|
||||
$(document).ready(function(){
|
||||
|
||||
//핸드폰 번호 넣어주기
|
||||
var phoneAll = "${info.phone}"
|
||||
var phoneReplace = phoneAll.replace(/(^02.{0}|^01.{1}|[0-9]{3})([0-9]+)([0-9]{4})/,"$1-$2-$3");
|
||||
var phone_arr = phoneReplace.split("-");
|
||||
for(var i=0; i<phoneReplace.split("-").length; i++){
|
||||
$("#phone"+(i+1)).val(phone_arr[i]);
|
||||
};
|
||||
|
||||
//이메일 넣어주기
|
||||
var emailAll = "${info.email}"
|
||||
var email_arr = emailAll.split("@");
|
||||
for(var i=0; i<emailAll.split("@").length; i++){
|
||||
$("#email"+(i+1)).val(email_arr[i]);
|
||||
};
|
||||
|
||||
//이메일과 selectbox의 이메일이 동일하다면 selected
|
||||
$('#emailSelect option').each(function(){
|
||||
if (this.value == email_arr[1] && this.value != "") {
|
||||
$(this).attr("selected","selected");
|
||||
$("#email2").attr("readonly", true);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
//현재년도
|
||||
var date = new Date();
|
||||
var year = date.getFullYear();
|
||||
|
||||
//생년월일, 위촉년도 selectbox
|
||||
getYears(year);
|
||||
|
||||
//생년월일 selected 처리
|
||||
/* 941024 형태(엑셀등록) or 19941024 형태 둘다 처리 */
|
||||
var dBirth = "${info.dBirth}"
|
||||
if(dBirth.length == '6'){
|
||||
var dBirth1 = dBirth.substring(0,2);
|
||||
var dBirth2 = dBirth.substring(2,4);
|
||||
var dBirth3 = dBirth.substring(4,6);
|
||||
if(dBirth1.substring(0,1) == "0"){
|
||||
dBirth1 = "20"+dBirth1
|
||||
}else{
|
||||
dBirth1 = "19"+dBirth1
|
||||
}
|
||||
if(dBirth2.substring(0,1) == "0"){
|
||||
dBirth2 = dBirth2.substring(1,2);
|
||||
}
|
||||
if(dBirth3.substring(0,1) == "0"){
|
||||
dBirth3 = dBirth3.substring(1,2);
|
||||
}
|
||||
|
||||
$('#dBirth1 option').each(function(){
|
||||
if (this.value == dBirth1) {
|
||||
$(this).attr("selected","selected");
|
||||
}
|
||||
});
|
||||
$('#dBirth2 option').each(function(){
|
||||
if (this.value == dBirth2) {
|
||||
$(this).attr("selected","selected");
|
||||
}
|
||||
});
|
||||
$('#dBirth3 option').each(function(){
|
||||
if (this.value == dBirth3) {
|
||||
$(this).attr("selected","selected");
|
||||
}
|
||||
});
|
||||
}else{
|
||||
var dBirth1 = dBirth.substring(0,4);
|
||||
var dBirth2 = dBirth.substring(4,6);
|
||||
var dBirth3 = dBirth.substring(6,8);
|
||||
if(dBirth2.substring(0,1) == "0"){
|
||||
dBirth2 = dBirth2.substring(1,2);
|
||||
}
|
||||
if(dBirth3.substring(0,1) == "0"){
|
||||
dBirth3 = dBirth3.substring(1,2);
|
||||
}
|
||||
|
||||
$('#dBirth1 option').each(function(){
|
||||
if (this.value == dBirth1) {
|
||||
$(this).attr("selected","selected");
|
||||
}
|
||||
});
|
||||
$('#dBirth2 option').each(function(){
|
||||
if (this.value == dBirth2) {
|
||||
$(this).attr("selected","selected");
|
||||
}
|
||||
});
|
||||
$('#dBirth3 option').each(function(){
|
||||
if (this.value == dBirth3) {
|
||||
$(this).attr("selected","selected");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
//위촉년도 selected 처리
|
||||
var apptYr = "${info.apptYr}"
|
||||
|
||||
$('#apptYr option').each(function(){
|
||||
if (this.value == apptYr) {
|
||||
$(this).attr("selected","selected");
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
function fn_egov_downFile(atchFileId, fileSn){
|
||||
window.open("<c:url value='/cmm/fms/FileDown.do?atchFileId="+atchFileId+"&fileSn="+fileSn+"'/>");
|
||||
}
|
||||
@ -138,7 +245,106 @@
|
||||
commonPopWindowopenForm("${pageContext.request.contextPath}/ve/oprtn/instr/adultVisitEdu/instrInfo/instrAplctCmpnnPopup.do", "750", "660", "instrMdfyRqstPop", $('#detailForm'));
|
||||
}
|
||||
|
||||
function fncAreaList(paramObj) {
|
||||
commonPopWindowopenForm("${pageContext.request.contextPath}/ve/oprtn/instr/tngrVisitEdu/popup/instrInfo/rsdncPopList.do", "750", "660", "securityPop", $('#detailForm'));
|
||||
}
|
||||
|
||||
//위촉년도 최근년도 뿌려주기
|
||||
function getYears(getYear){
|
||||
|
||||
var startY = Number(getYear)- 99;
|
||||
var endY = Number(getYear);
|
||||
|
||||
for(var y=endY; y>=startY; y--){
|
||||
$("#apptYr").append("<option value='" + y + "'>" + y + "</option>");
|
||||
$("#dBirth1").append("<option value='" + y + "'>" + y + "</option>");
|
||||
}
|
||||
|
||||
for(var m=1; m<=12; m++){
|
||||
$("#dBirth2").append("<option value='" + m + "'>" + m + "</option>");
|
||||
}
|
||||
|
||||
for(var d=1; d<=31; d++){
|
||||
$("#dBirth3").append("<option value='" + d + "'>" + d + "</option>");
|
||||
}
|
||||
}
|
||||
|
||||
function fncUpdate(){
|
||||
//핸드폰번호 하이푼 추가
|
||||
var phoneAll = document.getElementById("phone1").value + "-"+ document.getElementById("phone2").value + "-"+ document.getElementById("phone3").value;
|
||||
$("#phone").val(phoneAll)
|
||||
//이메일 합치기
|
||||
var emailAll = document.getElementById("email1").value + "@"+ document.getElementById("email2").value ;
|
||||
$("#email").val(emailAll)
|
||||
//생년월일합치기, 8자리 맞추기
|
||||
var dBirth1 = $("#dBirth1 option:selected").val()
|
||||
var dBirth2 = $("#dBirth2 option:selected").val()
|
||||
var dBirth3 = $("#dBirth3 option:selected").val()
|
||||
if(dBirth2.length == 1){
|
||||
dBirth2 = "0"+dBirth2;
|
||||
}
|
||||
if(dBirth3.length == 1){
|
||||
dBirth3 = "0"+dBirth3;
|
||||
}
|
||||
var dBirthAll = dBirth1 + dBirth2 + dBirth3
|
||||
$("#dBirth").val(dBirthAll)
|
||||
/*
|
||||
<!-- for validator #3 -->
|
||||
*/
|
||||
if (!validateVEInstrDetailVO(document.detailForm)) return;
|
||||
/*
|
||||
<!-- for validator #3 -->
|
||||
*/
|
||||
|
||||
/* value에 기본적으로 - 또는 @ 들어가서 필수 값 체크 따로 */
|
||||
if($("#phone1").val() == '' || $("#phone2").val() == '' || $("#phone3").val() == ''){
|
||||
alert("연락처는 필수입니다.");
|
||||
return false;
|
||||
}
|
||||
if($("#email1").val() == '' || $("#email2").val() == ''){
|
||||
alert("이메일은 필수입니다.");
|
||||
return false;
|
||||
}
|
||||
|
||||
/* 청소년 강사와 다른 성인 강사 항목. 공통 validator에 없음 */
|
||||
if($("#prfsnFld").val() == ''){
|
||||
alert("전문분야는 필수입니다.");
|
||||
return false;
|
||||
}
|
||||
|
||||
var data = new FormData(document.getElementById("detailForm"));
|
||||
if(confirm("수정 하시겠습니까?")){
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
enctype: 'multipart/form-data',
|
||||
url: "${pageContext.request.contextPath}/ve/oprtn/instr/adultVisitEdu/instrInfo/instrAplctMngDetailUpdateAjax.do",
|
||||
data: data,
|
||||
dataType:'json',
|
||||
async: false,
|
||||
processData: false,
|
||||
contentType: false,
|
||||
cache: false,
|
||||
success: function (returnData, status) {
|
||||
if(status == 'success'){
|
||||
alert("수정 처리 완료하였습니다.");
|
||||
fncGoList();
|
||||
} else if(status== 'fail'){
|
||||
alert("수정 처리 실패하였습니다.");
|
||||
}
|
||||
},
|
||||
error: function (e) { alert("수정 처리에 실패하였습니다."); console.log("ERROR : ", e); }
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function emailChange(email){
|
||||
if(email.value != ""){
|
||||
document.getElementById("email2").readOnly = true;
|
||||
}else{
|
||||
document.getElementById("email2").readOnly = false;
|
||||
}
|
||||
document.getElementById("email2").value = email.value;
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
@ -160,6 +366,9 @@
|
||||
<input type="hidden" name="aprvlCd" id="aprvlCd" value=""/> <!-- 승인코드 -->
|
||||
<input type="hidden" name="aprvlCn" id="aprvlCn" value="<c:out value='${info.instrDiv}'/>"/> <!-- 승인내용(반려사유) -->
|
||||
<input type="hidden" name="rqstType" id="rqstType" value=""/> <!-- 요청유형 -->
|
||||
<input type="hidden" name="phone" id="phone" value=""/> <!-- 연락처 -->
|
||||
<input type="hidden" name="email" id="email" value=""/> <!-- 이메일 -->
|
||||
<input type="hidden" name="dBirth" id="dBirth" value=""/> <!-- 생년월일 -->
|
||||
<!-- cont -->
|
||||
<div class="cont_wrap">
|
||||
<div class="box">
|
||||
@ -196,7 +405,8 @@
|
||||
<p>강사명</p>
|
||||
</th>
|
||||
<td colspan="3" style="position: relative;">
|
||||
<c:out value='${info.instrNm}' />
|
||||
<label for="instrNm" class="label">강사명</label>
|
||||
<input type="text" name="instrNm" id="instrNm" size="25" value="<c:out value='${info.instrNm}'/>" maxLength="20" placeholder="홍길동">
|
||||
<div class="put_photo">
|
||||
<div class="put_photo_in">
|
||||
<div class="put_photo_box">
|
||||
@ -215,69 +425,121 @@
|
||||
<th scope="row">
|
||||
<p>연락처(핸드폰)</p>
|
||||
</th>
|
||||
<td class="input_phone" colspan="3"><c:out value='${info.phone}' /></td>
|
||||
<td class="input_phone" colspan="3">
|
||||
<input type="text" title="휴대폰 앞자리" id="phone1" placeholder="" oninput="this.value = this.value.replace(/[^0-9.]/g, '').replace(/(\..*)\./g, '$1');" maxLength="4">
|
||||
-
|
||||
<input type="text" title="휴대폰 중간자리" id="phone2" placeholder="" oninput="this.value = this.value.replace(/[^0-9.]/g, '').replace(/(\..*)\./g, '$1');" maxLength="4">
|
||||
-
|
||||
<input type="text" title="휴대폰 마지막자리" id="phone3" placeholder="" oninput="this.value = this.value.replace(/[^0-9.]/g, '').replace(/(\..*)\./g, '$1');" maxLength="4">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>e-mail</p>
|
||||
</th>
|
||||
<td colspan="3"><c:out value='${info.email}' /></td>
|
||||
<td colspan="3">
|
||||
<label for="email" class="label">e-mail</label>
|
||||
<%-- <input type="text" size="50" name="email" id="email" value="<c:out value='${info.email}'/>" maxLength="50"> --%>
|
||||
<input type="text" id="email1" size="20" title="이메일 주소 입력" placeholder="">
|
||||
@
|
||||
<input type="text" id="email2" size="20" title="이메일 직접 입력" placeholder="">
|
||||
<label for="emailSelect" class="label">이메일 선택</label>
|
||||
<select name="emailSelect" id="emailSelect" class="sel_type1" onchange="emailChange(this)">
|
||||
<option value="">직접입력</option>
|
||||
<option value="naver.com">naver.com</option>
|
||||
<option value="daum.net">daum.net</option>
|
||||
<option value="gmail.com">gmail.com</option>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="input_adress">
|
||||
<th scope="row">
|
||||
<p>주소</p>
|
||||
</th>
|
||||
<td colspan="3">
|
||||
<c:out value='${info.post}' /></br>
|
||||
<c:out value='${info.addr}' /> <c:out value='${info.addrDetail}' />
|
||||
<label for="post" class="label">우편번호 입력</label>
|
||||
<input type="text" size="20" name="post" id="post" class="adr_input" style="background-color: #eee;" value="<c:out value='${info.post}'/>" readonly>
|
||||
<button class="btn_type08 btn_adr_search" onclick="fn_postCode(this); return false;">우편번호 검색</button>
|
||||
<div class="detail_address">
|
||||
<label for="addr" class="label">주소 입력</label>
|
||||
<input type="text" size="60" name="addr" id="addr" class="searchResultAddr" value="<c:out value='${info.addr}'/>" readonly>
|
||||
<label for="addrDetail" class="label">나머지 주소 입력</label>
|
||||
<input type="text" size="20" name="addrDetail" id="addrDetail" class="usrInsertAddr" value="<c:out value='${info.addrDetail}'/>" maxLength="100" placeholder="나머지 주소">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>거주지</p>
|
||||
</th>
|
||||
<td colspan="3"><c:out value='${info.rsdne}'/></td>
|
||||
<td colspan="3">
|
||||
<input type="text" title="거주지" size="25" placeholder="ex) 경기(군포시 용포동)" readonly="readonly"
|
||||
value="<c:out value='${info.rsdne}'/>" maxLength="20" name="rsdne" id="rsdne">
|
||||
<button type="button" class="btn_type01" data-tooltip="sub26_pop01" onclick="fncAreaList();return false;">선택</button>
|
||||
<input type="hidden" name="rsdneId" id="rsdneId" value=""/><!-- 거주지ID -->
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>생년월일</p>
|
||||
</th>
|
||||
<td colspan="3"><c:out value='${info.dBirth}'/></td>
|
||||
<td colspan="3">
|
||||
<label for="dBirth1" class="label">생년월일 년입력</label>
|
||||
<select name="dBirth1" id="dBirth1" class="sel_type1">
|
||||
</select>
|
||||
<label for="dBirth2" class="label">생년월일 월입력</label>
|
||||
<select name="dBirth2" id="dBirth2" class="sel_type1">
|
||||
</select>
|
||||
<label for="dBirth3" class="label">생년월일 일입력</label>
|
||||
<select name="dBirth3" id="dBirth3" class="sel_type1">
|
||||
<%-- <input type="text" name="dBirth" id="dBirth" size="20" maxlength="6" placeholder="예) 951028" value="<c:out value='${info.dBirth}'/>" oninput="this.value = this.value.replace(/[^0-9.]/g, '').replace(/(\..*)\./g, '$1');"> --%>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>소속</p>
|
||||
</th>
|
||||
<td><c:out value='${info.blng}' /></td>
|
||||
<td>
|
||||
<input type="text" name="blng" id="blng" size="20" value="<c:out value='${info.blng}'/>" maxLength="20">
|
||||
</td>
|
||||
<th scope="row">
|
||||
<p>직위</p>
|
||||
</th>
|
||||
<td><c:out value='${info.pstn}' /></td>
|
||||
<td>
|
||||
<input type="text" name="pstn" id="pstn" size="20" maxlength="20" placeholder="" value="<c:out value='${info.pstn}'/>">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>위촉년도</p>
|
||||
</th>
|
||||
<td><c:out value='${info.apptYr}' /></td>
|
||||
<td>
|
||||
<select name="apptYr" id="apptYr" class="sel_type1">
|
||||
</select>
|
||||
</td>
|
||||
<th scope="row">
|
||||
<p>구분</p>
|
||||
</th>
|
||||
<td><ve:code codeId="VE0018" code="${info.divCd}"/></td>
|
||||
<td>
|
||||
<ve:select codeId="VE0018" name="divCd" id="divCd" selectedValue="${info.divCd}" styleClass="sel_type1"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<%-- <tr>
|
||||
<th scope="row">
|
||||
<p>위촉구분${info.apptDiv}</p>
|
||||
</th>
|
||||
<td colspan="3">
|
||||
<ve:code codeId="VE0032" code="${info.apptDiv}"/>
|
||||
</td>
|
||||
</tr>
|
||||
</tr> --%>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>전문분야</p>
|
||||
</th>
|
||||
<td colspan="3">
|
||||
<c:out value='${info.prfsnFld}' />
|
||||
<textarea name="prfsnFld" id="prfsnFld" placeholder="ex)예문
|
||||
- SW코딩, 사물인터넷,인공지능,인성, 비젼, 캠프, 인터넷중독, 가족치료, 저작권 개론 등"><c:out value='${info.prfsnFld}'/></textarea>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
@ -299,6 +561,7 @@
|
||||
<button type="button" class="btn_type02" onclick="fncSave(); return false;">위촉확인</button>
|
||||
</c:if>
|
||||
<!-- <button type="button" class="btn_type02" onclick="fncPopup('30', 'RR'); return false;">반려</button> -->
|
||||
<button type="button" class="btn_type03" onclick="fncUpdate(); return false;">수정</button>
|
||||
<button type="button" class="btn_type03" onclick="fncDelete(); return false;">삭제</button>
|
||||
<button type="button" class="btn_type03" onclick="fncGoList(); return false;">취소</button>
|
||||
<!--
|
||||
|
||||
@ -251,11 +251,13 @@ $( document ).ready(function(){
|
||||
|
||||
function fncRsdnePopup() { //거주지 팝업
|
||||
|
||||
document.createForm.action = "<c:url value='/ve/oprtn/instr/adultVisitEdu/popup/instrRsdnePopup.do'/>";
|
||||
/* document.createForm.action = "<c:url value='/ve/oprtn/instr/adultVisitEdu/popup/instrRsdnePopup.do'/>";
|
||||
window.open("#", "_rsdnePopup", "scrollbars = no, top=100px, left=100px, height=450px, width=450px");
|
||||
document.createForm.target = "_rsdnePopup";
|
||||
document.createForm.formId.value = "createForm";
|
||||
document.createForm.submit();
|
||||
document.createForm.submit(); */
|
||||
|
||||
commonPopWindowopenForm("${pageContext.request.contextPath}/ve/oprtn/instr/tngrVisitEdu/popup/instrRsdnePopup.do", "750", "660", "rsdnePopup", $('#createForm'));
|
||||
}
|
||||
|
||||
function fncPhotoPopup() {
|
||||
|
||||
@ -486,7 +486,7 @@ $( document ).ready(function(){
|
||||
<button type="button" class="btnType btnType9"
|
||||
onclick="document.all.file.click(); return false;"
|
||||
>파일첨부</button>
|
||||
<span class="reqTxt6">※ 컴퓨터 파일(엑셀)만 등록 가능합니다.<a href="https://www.copyright.or.kr/offedu/cmm/fms/FileDown.do?atchFileId=FILE_000000000018233&fileSn=0" target="_blank">sample</a></span>
|
||||
<span class="reqTxt6">※ 컴퓨터 파일(엑셀)만 등록 가능합니다.<a href="${pageContext.request.contextPath}/cmm/fms/FileDown.do?atchFileId=FILE_000000000001280&fileSn=0" target="_blank">sample</a></span>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
|
||||
@ -943,6 +943,7 @@ function getYears(getYear){
|
||||
<col style="width: 18%;">
|
||||
<col style="width: 18%;">
|
||||
<col style="width: 18%;">
|
||||
<col style="width: 18%;">
|
||||
<col style="width: 10%;">
|
||||
</colgroup>
|
||||
<thead>
|
||||
@ -953,6 +954,7 @@ function getYears(getYear){
|
||||
<th scope="col">비고</th>
|
||||
<th scope="col">등록자</th>
|
||||
<th scope="col">등록일</th>
|
||||
<th scope="col">첨부파일</th>
|
||||
<th scope="col">삭제</th>
|
||||
|
||||
|
||||
@ -966,7 +968,12 @@ function getYears(getYear){
|
||||
<td><c:out value="${pList.cn}" /></td>
|
||||
<td><c:out value="${pList.userNm}" /></td>
|
||||
<td><c:out value="${pList.frstRegistPnttm}" /></td>
|
||||
|
||||
<td>
|
||||
<c:import url="/cmm/fms/selectBBSFileInfs.do" charEncoding="utf-8">
|
||||
<c:param name="param_atchFileId" value="${pList.atchFileId}" />
|
||||
<c:param name="pdf_view" value="Y" />
|
||||
</c:import>
|
||||
</td>
|
||||
<td>
|
||||
<button type="button" class="btn_type04" onclick="fnInstrHstryDelete('<c:out value="${pList.instrHstryOrd}" />'); return false;">삭제</button>
|
||||
</td>
|
||||
|
||||
@ -252,7 +252,7 @@
|
||||
$('input:checkbox[name="chk"]:checked').each(function() {
|
||||
sendSms(
|
||||
$(this).data('instrphone'),
|
||||
"교육운영 관리 시스템입니다." + $(this).data('instrnm')+"님의 " + $(this).data('date') + " 교육 강사료는 " + $(this).data('instrfeesum') +"입니다.",
|
||||
"교육운영 관리 시스템입니다." + $(this).data('instrnm')+"님의 " + $(this).data('date') + " 교육 강사료는 " + $(this).data('instrfeesum') +"원입니다.",
|
||||
$(this).val().split('@')[0],
|
||||
$(this).data('userid'),
|
||||
"N"
|
||||
|
||||
@ -252,7 +252,7 @@
|
||||
$('input:checkbox[name="chk"]:checked').each(function() {
|
||||
sendSms(
|
||||
$(this).data('instrphone'),
|
||||
"교육운영 관리 시스템입니다." + $(this).data('instrnm')+"님의 " + $(this).data('date') + " 교육 강사료는 " + $(this).data('instrfeesum') +"입니다.",
|
||||
"교육운영 관리 시스템입니다." + $(this).data('instrnm')+"님의 " + $(this).data('date') + " 교육 강사료는 " + $(this).data('instrfeesum') +"원입니다.",
|
||||
$(this).val().split('@')[0],
|
||||
$(this).data('userid'),
|
||||
"N"
|
||||
|
||||
@ -34,6 +34,7 @@
|
||||
background-color: #ededed;
|
||||
}
|
||||
</style>
|
||||
<script src="${pageContext.request.contextPath}/js/ve/sendSmsEmailUtil.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function(){
|
||||
|
||||
@ -180,6 +181,26 @@
|
||||
});
|
||||
}
|
||||
|
||||
function chkSendSms(){
|
||||
var chkLen = $(listForm).find("input[name=chk]:checked").length;
|
||||
|
||||
if(chkLen == 0){
|
||||
alert("선택된 항목이 없습니다.");
|
||||
return;
|
||||
}
|
||||
|
||||
$('input:checkbox[name="chk"]:checked').each(function() {
|
||||
sendSms(
|
||||
$(this).data('instrphone'),
|
||||
"교육운영 관리 시스템입니다." + $(this).data('instrnm')+"님의 " + $(this).data('date') + " 교육 강사료는 " + $(this).data('instrfeesum') +"원입니다.",
|
||||
$(this).val().split('@')[0],
|
||||
$(this).data('userid'),
|
||||
"N"
|
||||
);
|
||||
});
|
||||
alert("발송되었습니다.");
|
||||
|
||||
}
|
||||
</script>
|
||||
<title>신청관리</title>
|
||||
</head>
|
||||
@ -310,7 +331,11 @@
|
||||
<c:forEach var="list" items="${list}" varStatus="status">
|
||||
<tr>
|
||||
<td>
|
||||
<input name="chk" class="${list.atchFileId}" value="${list.eduAplctOrd}@${list.eduChasiOrd}" title="Check" type="checkbox"/>
|
||||
<input name="chk" class="${list.atchFileId}" value="${list.eduAplctOrd}@${list.eduChasiOrd}"
|
||||
data-instrphone="<c:out value='${list.instrPhone}' />" data-userid="<c:out value='${list.userId}' />"
|
||||
data-date="<c:out value='${list.eduHopeDt}' /> <c:out value='${list.strtTm}' /> ~ <c:out value='${list.endTm}' />"
|
||||
data-instrnm="<c:out value='${list.instrNm}' />" data-instrfeesum="<c:out value='${list.instrFeeSum}' />"
|
||||
title="Check" type="checkbox"/>
|
||||
</td>
|
||||
<td>
|
||||
<c:if test="${list.cnt eq 0}">미제출</c:if><c:if test="${list.cnt gt 0}">제출</c:if>
|
||||
@ -383,6 +408,7 @@
|
||||
<div class="btn_left">
|
||||
<!-- <button type="button" class="btn_type06" onclick="fnAcmdtFileZipDownload(); return false;">숙박영수증다운로드</button> -->
|
||||
<button type="button" class="btn_type06" onclick="excelDownLoad();">지급내역다운로드</button>
|
||||
<button type="button" class="btn_type06" onclick="chkSendSms();">강사료 안내 문자발송</button>
|
||||
</div>
|
||||
<div class="btn_center">
|
||||
</div>
|
||||
|
||||
@ -34,6 +34,7 @@
|
||||
background-color: #ededed;
|
||||
}
|
||||
</style>
|
||||
<script src="${pageContext.request.contextPath}/js/ve/sendSmsEmailUtil.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function(){
|
||||
|
||||
@ -314,6 +315,35 @@
|
||||
frm.action="${pageContext.request.contextPath}/cmm/fms/fileDownZip.do?atchFileId="+checkboxId+"&fileSn="+checkboxSn;
|
||||
frm.submit();
|
||||
}
|
||||
|
||||
function chkSendSmsEmail(){
|
||||
var chkLen = $(listForm).find("input[name=chk]:checked").length;
|
||||
|
||||
if(chkLen == 0){
|
||||
alert("선택된 항목이 없습니다.");
|
||||
return;
|
||||
}
|
||||
|
||||
$('input:checkbox[name="chk"]:checked').each(function() {
|
||||
sendSms(
|
||||
$(this).data('phone'),
|
||||
"교육운영 관리 시스템입니다.\n" + $(this).data('chrgnm')+"님의 " + $(this).data('date') + " 교육 강의만족도 제출 바랍니다.",
|
||||
$(this).val().split('@')[0],
|
||||
$(this).data('userid'),
|
||||
"N"
|
||||
);
|
||||
sendEmail(
|
||||
$(this).data('email'),
|
||||
"교육운영 관리 시스템입니다. \n" + $(this).data('chrgnm')+"님의 " + $(this).data('date') + " 교육 강의만족도 제출 바랍니다.",
|
||||
$(this).val().split('@')[0],
|
||||
$(this).data('userid'),
|
||||
"C",
|
||||
"N"
|
||||
);
|
||||
});
|
||||
alert("발송되었습니다.");
|
||||
|
||||
}
|
||||
</script>
|
||||
<title>신청관리</title>
|
||||
</head>
|
||||
@ -448,7 +478,10 @@
|
||||
<td>
|
||||
<input name="chk"
|
||||
class="${list.atchFileId}"
|
||||
data-lctr="${list.userId}" value="${list.eduAplctOrd}@${list.eduChasiOrd}" data-phone="<c:out value='${list.clphone}' />" data-cnt="<c:out value='${list.cnt}' />" title="Check" type="checkbox"/>
|
||||
data-lctr="${list.userId}" value="${list.eduAplctOrd}@${list.eduChasiOrd}" data-phone="<c:out value='${list.clphone}' />" data-cnt="<c:out value='${list.cnt}' />"
|
||||
data-date="<c:out value='${list.eduHopeDt}' /> <c:out value='${list.strtTm}' /> ~ <c:out value='${list.endTm}' />"
|
||||
data-email="<c:out value='${list.email}' />" data-chrgnm="<c:out value='${list.chrgNm}' />" data-userId="<c:out value='${list.userId}' />"
|
||||
title="Check" type="checkbox"/>
|
||||
</td>
|
||||
<td onclick="fncGoDetail('${list.eduAplctOrd}','${list.eduChasiOrd}');" style="cursor:pointer">
|
||||
<fmt:parseDate value="${list.eduHopeDt}" var="eduHopeDt" pattern="yyyy.MM.dd"/>
|
||||
@ -519,6 +552,7 @@
|
||||
|
||||
</div>
|
||||
<div class="btn_right">
|
||||
<button type="button" class="btn_type06" onclick="chkSendSmsEmail(); return false;">강의만족도 제출요청 </button>
|
||||
<button type="button" class="btn_type06" onclick="fnAcmdtFileZipDownload(); return false;">숙박영수증다운로드</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -28,6 +28,8 @@
|
||||
<head>
|
||||
<meta http-equiv="Content-Language" content="ko" >
|
||||
<title>강사정보 상세</title>
|
||||
<script type="text/javascript" src="<c:url value="/validator.do"/>"></script>
|
||||
<validator:javascript formName="vEInstrDetailVO" staticJavascript="false" xhtml="true" cdata="false" />
|
||||
<script type="text/javaScript" language="javascript">
|
||||
$( document ).ready(function(){
|
||||
$(".put_photo_box").on("DOMSubtreeModified", function(){
|
||||
@ -65,7 +67,9 @@
|
||||
getYears(year);
|
||||
|
||||
//생년월일 selected 처리
|
||||
/* 941024 형태(엑셀등록) or 19941024 형태 둘다 처리 */
|
||||
var dBirth = "${info.dBirth}"
|
||||
if(dBirth.length == '6'){
|
||||
var dBirth1 = dBirth.substring(0,2);
|
||||
var dBirth2 = dBirth.substring(2,4);
|
||||
var dBirth3 = dBirth.substring(4,6);
|
||||
@ -96,6 +100,34 @@
|
||||
$(this).attr("selected","selected");
|
||||
}
|
||||
});
|
||||
}else{
|
||||
var dBirth1 = dBirth.substring(0,4);
|
||||
var dBirth2 = dBirth.substring(4,6);
|
||||
var dBirth3 = dBirth.substring(6,8);
|
||||
if(dBirth2.substring(0,1) == "0"){
|
||||
dBirth2 = dBirth2.substring(1,2);
|
||||
}
|
||||
if(dBirth3.substring(0,1) == "0"){
|
||||
dBirth3 = dBirth3.substring(1,2);
|
||||
}
|
||||
|
||||
$('#dBirth1 option').each(function(){
|
||||
if (this.value == dBirth1) {
|
||||
$(this).attr("selected","selected");
|
||||
}
|
||||
});
|
||||
$('#dBirth2 option').each(function(){
|
||||
if (this.value == dBirth2) {
|
||||
$(this).attr("selected","selected");
|
||||
}
|
||||
});
|
||||
$('#dBirth3 option').each(function(){
|
||||
if (this.value == dBirth3) {
|
||||
$(this).attr("selected","selected");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
//위촉년도 selected 처리
|
||||
var apptYr = "${info.apptYr}"
|
||||
@ -180,6 +212,53 @@
|
||||
|
||||
|
||||
function fncUpdate(){
|
||||
//핸드폰번호 하이푼 추가
|
||||
var phoneAll = document.getElementById("phone1").value + "-"+ document.getElementById("phone2").value + "-"+ document.getElementById("phone3").value;
|
||||
$("#phone").val(phoneAll)
|
||||
//이메일 합치기
|
||||
var emailAll = document.getElementById("email1").value + "@"+ document.getElementById("email2").value ;
|
||||
$("#email").val(emailAll)
|
||||
//생년월일합치기, 8자리 맞추기
|
||||
var dBirth1 = $("#dBirth1 option:selected").val()
|
||||
var dBirth2 = $("#dBirth2 option:selected").val()
|
||||
var dBirth3 = $("#dBirth3 option:selected").val()
|
||||
if(dBirth2.length == 1){
|
||||
dBirth2 = "0"+dBirth2;
|
||||
}
|
||||
if(dBirth3.length == 1){
|
||||
dBirth3 = "0"+dBirth3;
|
||||
}
|
||||
var dBirthAll = dBirth1 + dBirth2 + dBirth3
|
||||
$("#dBirth").val(dBirthAll)
|
||||
/*
|
||||
<!-- for validator #3 -->
|
||||
*/
|
||||
if (!validateVEInstrDetailVO(document.detailForm)) return;
|
||||
/*
|
||||
<!-- for validator #3 -->
|
||||
*/
|
||||
|
||||
/* value에 기본적으로 - 또는 @ 들어가서 필수 값 체크 따로 */
|
||||
if($("#phone1").val() == '' || $("#phone2").val() == '' || $("#phone3").val() == ''){
|
||||
alert("연락처는 필수입니다.");
|
||||
return false;
|
||||
}
|
||||
if($("#email1").val() == '' || $("#email2").val() == ''){
|
||||
alert("이메일은 필수입니다.");
|
||||
return false;
|
||||
}
|
||||
|
||||
/* 청소년 강사와 다른 성인 강사 항목. 공통 validator에 없음 */
|
||||
if($("#finalSchol").val() == ''){
|
||||
alert("최종학교는 필수입니다.");
|
||||
return false;
|
||||
}
|
||||
|
||||
if($("#mjr").val() == ''){
|
||||
alert("전공는 필수입니다.");
|
||||
return false;
|
||||
}
|
||||
|
||||
var data = new FormData(document.getElementById("detailForm"));
|
||||
if(confirm("수정 하시겠습니까?")){
|
||||
$.ajax({
|
||||
@ -247,7 +326,7 @@
|
||||
}
|
||||
|
||||
function fncAreaList(paramObj) {
|
||||
if(paramObj == undefined || paramObj == ''){
|
||||
/* if(paramObj == undefined || paramObj == ''){
|
||||
paramObj = {
|
||||
pageIndex : 1,
|
||||
searchKeyword : "",
|
||||
@ -258,9 +337,11 @@
|
||||
}
|
||||
// 학교 리스트 팝업 호출
|
||||
document.detailForm.action = "<c:url value='/ve/oprtn/instr/tngrVisitEdu/popup/instrInfo/rsdncPopList.do'/>";
|
||||
window.open("", "_securityPop", "scrollbars = no, top=100px, left=100px, height=538px, width=690px");
|
||||
window.open('', "_securityPop", "scrollbars = no, top=100px, left=100px, height=538px, width=690px");
|
||||
document.detailForm.target = "_securityPop";
|
||||
document.detailForm.submit();
|
||||
document.detailForm.submit(); */
|
||||
|
||||
commonPopWindowopenForm("${pageContext.request.contextPath}/ve/oprtn/instr/tngrVisitEdu/popup/instrInfo/rsdncPopList.do", "750", "660", "securityPop", $('#detailForm'));
|
||||
}
|
||||
|
||||
</script>
|
||||
@ -284,6 +365,10 @@
|
||||
<input type="hidden" name="aprvlCd" id="aprvlCd" value=""/> <!-- 승인코드 -->
|
||||
<input type="hidden" name="aprvlCn" id="aprvlCn" value=""/> <!-- 승인내용(반려사유) -->
|
||||
<input type="hidden" name="rqstType" id="rqstType" value=""/> <!-- 요청유형 -->
|
||||
<input type="hidden" name="phone" id="phone" value=""/> <!-- 연락처 -->
|
||||
<input type="hidden" name="email" id="email" value=""/> <!-- 이메일 -->
|
||||
<input type="hidden" name="dBirth" id="dBirth" value=""/> <!-- 생년월일 -->
|
||||
|
||||
<!-- cont -->
|
||||
<div class="cont_wrap">
|
||||
<div class="box">
|
||||
@ -450,7 +535,7 @@
|
||||
<p>구분</p>
|
||||
</th>
|
||||
<td>
|
||||
<ve:select codeId="VE0018" selectedValue="${info.divCd}" styleClass="sel_type1"/>
|
||||
<ve:select codeId="VE0018" name="divCd" id="divCd" selectedValue="${info.divCd}" styleClass="sel_type1"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@ -459,7 +544,7 @@
|
||||
<p>위촉구분</p>
|
||||
</th>
|
||||
<td colspan="3">
|
||||
<ve:select codeId="VE0002" selectedValue="${info.apptDiv}" styleClass="sel_type1"/>
|
||||
<ve:select codeId="VE0002" name="apptDiv" id="apptDiv" selectedValue="${info.apptDiv}" styleClass="sel_type1"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
||||
@ -251,11 +251,13 @@ $( document ).ready(function(){
|
||||
|
||||
function fncRsdnePopup() { //거주지 팝업
|
||||
|
||||
document.createForm.action = "<c:url value='/ve/oprtn/instr/tngrVisitEdu/popup/instrRsdnePopup.do'/>";
|
||||
window.open("#", "_rsdnePopup", "scrollbars = no, top=200px, left=2500px, height=500px, width=700px");
|
||||
/* document.createForm.action = "<c:url value='/ve/oprtn/instr/tngrVisitEdu/popup/instrRsdnePopup.do'/>";
|
||||
window.open('', "_rsdnePopup", "scrollbars = no, top=200px, left=2500px, height=500px, width=700px");
|
||||
document.createForm.target = "_rsdnePopup";
|
||||
document.createForm.formId.value = "createForm";
|
||||
document.createForm.submit();
|
||||
document.createForm.submit(); */
|
||||
|
||||
commonPopWindowopenForm("${pageContext.request.contextPath}/ve/oprtn/instr/tngrVisitEdu/popup/instrRsdnePopup.do", "750", "660", "rsdnePopup", $('#createForm'));
|
||||
}
|
||||
|
||||
function fncPhotoPopup() {
|
||||
|
||||
@ -410,7 +410,7 @@ $( document ).ready(function(){
|
||||
<button type="button" class="btnType btnType9"
|
||||
onclick="document.all.file.click(); return false;"
|
||||
>파일첨부</button>
|
||||
<span class="reqTxt6">※ 컴퓨터 파일(엑셀)만 등록 가능합니다.<a href="https://www.copyright.or.kr/offedu/cmm/fms/FileDown.do?atchFileId=FILE_000000000018232&fileSn=0" target="_blank">sample</a></span>
|
||||
<span class="reqTxt6">※ 컴퓨터 파일(엑셀)만 등록 가능합니다.<a href="${pageContext.request.contextPath}/cmm/fms/FileDown.do?atchFileId=FILE_000000000001269&fileSn=0" target="_blank">sample</a></span>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
|
||||
@ -410,7 +410,7 @@ $( document ).ready(function(){
|
||||
<button type="button" class="btnType btnType9"
|
||||
onclick="document.all.file.click(); return false;"
|
||||
>파일첨부</button>
|
||||
<span class="reqTxt6">※ 컴퓨터 파일(엑셀)만 등록 가능합니다.<a href="https://www.copyright.or.kr/offedu/cmm/fms/FileDown.do?atchFileId=FILE_000000000018231&fileSn=0" target="_blank">sample</a></span>
|
||||
<span class="reqTxt6">※ 컴퓨터 파일(엑셀)만 등록 가능합니다.<a href="${pageContext.request.contextPath}/cmm/fms/FileDown.do?atchFileId=FILE_000000000001268&fileSn=0" target="_blank">sample</a></span>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
|
||||
@ -922,6 +922,7 @@
|
||||
<col style="width: 18%;">
|
||||
<col style="width: 18%;">
|
||||
<col style="width: 18%;">
|
||||
<col style="width: 18%;">
|
||||
<col style="width: 10%;">
|
||||
</colgroup>
|
||||
<thead>
|
||||
@ -932,6 +933,7 @@
|
||||
<th scope="col">비고</th>
|
||||
<th scope="col">등록자</th>
|
||||
<th scope="col">등록일</th>
|
||||
<th scope="col">첨부파일</th>
|
||||
<th scope="col">삭제</th>
|
||||
|
||||
|
||||
@ -945,7 +947,12 @@
|
||||
<td><c:out value="${pList.cn}" /></td>
|
||||
<td><c:out value="${pList.userNm}" /></td>
|
||||
<td><c:out value="${pList.frstRegistPnttm}" /></td>
|
||||
|
||||
<td>
|
||||
<c:import url="/cmm/fms/selectBBSFileInfs.do" charEncoding="utf-8">
|
||||
<c:param name="param_atchFileId" value="${pList.atchFileId}" />
|
||||
<c:param name="pdf_view" value="Y" />
|
||||
</c:import>
|
||||
</td>
|
||||
<td>
|
||||
<button type="button" class="btn_type04" onclick="fnInstrHstryDelete('<c:out value="${pList.instrHstryOrd}" />'); return false;">삭제</button>
|
||||
</td>
|
||||
|
||||
@ -46,13 +46,20 @@
|
||||
$("input[type=checkbox],textarea").not("textarea[name=rejtReson]").attr("disabled" , true);
|
||||
}
|
||||
|
||||
$("#filebutton").on('click', function(){
|
||||
$("#file_temp").click();
|
||||
});
|
||||
});
|
||||
|
||||
function fncAprooval(){
|
||||
//var msg = "강의가능시간 변경";
|
||||
|
||||
var data1 = new FormData(document.getElementById("createForm"));
|
||||
//첨부파일 등록 처리-step2
|
||||
_fileForm2.forEach(function(obj, idx) {
|
||||
if (obj) data1.append("file"+idx, obj.fileObj);
|
||||
|
||||
});
|
||||
//console.log(data);
|
||||
console.log(data1);
|
||||
|
||||
@ -391,6 +398,85 @@
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<!-- <p class="req_text"><span>필수입력 항목</span>*</p> -->
|
||||
<p>첨부파일</p>
|
||||
</th>
|
||||
<td class="upload_area" colspan="3">
|
||||
<!-- <input type="text" id="fileNm" size="30" class="file_input" readonly> --><!-- <button type="button" class="btnType01 btn_add_file">파일 첨부하기</button> -->
|
||||
<input type="file" id="file_temp" name="file_temp" class="uploadFile" style="display:none"/>
|
||||
<button type="button" id="filebutton" class="btn_type01">파일 첨부하기</button>
|
||||
<p style="padding-left:30px;">첨부파일 가능 용량은 20MB입니다. </p><!-- <p style="color:red;font-weight:500">업로드 순서는 1.신청서 2.안내문 입니다.</p> -->
|
||||
<div class="file_wrap file_upload_box no_img_box">
|
||||
<table class="tbType02">
|
||||
<caption>첨부파일 리스트 : 파일명, 종류, 크기, 삭제</caption>
|
||||
<colgroup>
|
||||
<col style="width: 60%;">
|
||||
<col style="width: auto;">
|
||||
<col style="width: 20%;">
|
||||
<col style="width: 10%;">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<!-- <th>
|
||||
<input type="checkbox" id="all_check"><label for="all_check"></label>
|
||||
</th> -->
|
||||
<th scope="col">파일 명</th>
|
||||
<th scope="col">종류</th>
|
||||
<th scope="col">크기</th>
|
||||
<th scope="col">삭제</th>
|
||||
</thead>
|
||||
<tbody class="tb_file_before">
|
||||
<tr>
|
||||
<td colspan="4">
|
||||
<p>첨부하실 파일을 <span>마우스로 끌어서</span> 넣어주세요.</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="file_wrap fileAfter file_list_div">
|
||||
<table class="tbType02">
|
||||
<caption>첨부파일 리스트 : 파일명, 종류, 크기, 삭제</caption>
|
||||
<colgroup>
|
||||
<col style="width: 60%">
|
||||
<col style="width: 10%">
|
||||
<col style="width: 20%">
|
||||
<col style="width: 10%">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<!-- <th>
|
||||
<input type="checkbox" id="all_check"><label for="all_check"></label>
|
||||
</th> -->
|
||||
<th scope="col">파일 명</th>
|
||||
<th scope="col">종류</th>
|
||||
<th scope="col">크기</th>
|
||||
<th scope="col">삭제</th>
|
||||
</thead>
|
||||
<tbody id="tbody_fiielist" class="tb_file_after">
|
||||
<c:forEach var="fileList" items="${fileList}" varStatus="status">
|
||||
<tr class="item_<c:out value='${fileList.atchFileId}' />_<c:out value='${fileList.fileSn}' /> uploaded_obj">
|
||||
<input type="hidden" name="fileSize" class="item_file_size" value="${fileList.fileSize}">
|
||||
<td class="td_filename">
|
||||
<!-- <img src="/direct/img/upload_hwp_img.png" alt="" /> -->
|
||||
<span class="file_name_text"><c:out value='${fileList.orignlFileNm}' /></span>
|
||||
</td>
|
||||
<td class="td_filesort">
|
||||
<span class="file_filesort_text" value="<c:out value="${fileList.fileExtsn}"/>"><c:out value="${fileList.fileExtsn}"/></span>
|
||||
</td>
|
||||
<td class="td_filesize">
|
||||
<span class="file_size_text" value="<c:out value="${fileList.fileMg}"/>"><c:out value="${fileList.fileMg}"/></span>
|
||||
</td>
|
||||
<td>
|
||||
<button type="button" class="btn_del" onclick="delAtchFile('<c:out value='${fileList.atchFileId}' />', '<c:out value='${fileList.fileSn}' />'); return false;" title="파일삭제"><i></i></button>
|
||||
</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
@ -31,6 +31,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">
|
||||
|
||||
<!-- for validator #2 -->
|
||||
<script type="text/javascript" src="<c:url value="/validator.do"/>"></script>
|
||||
@ -44,6 +45,13 @@
|
||||
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;
|
||||
}
|
||||
tbody#rsltId input {
|
||||
width: 100%;
|
||||
}
|
||||
</style>
|
||||
<script type="text/javaScript" language="javascript">
|
||||
|
||||
@ -57,6 +65,35 @@
|
||||
}else{
|
||||
$(fileList).css("margin-bottom","0px");
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* ==================================================================
|
||||
* 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 : 2 // 첨부파일 최대 갯수
|
||||
, allowExtension : ["png","jpg","jpeg"]
|
||||
// , 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 setNumberOnly(){ //숫자만 입력
|
||||
@ -482,6 +519,106 @@
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
//결과 보고
|
||||
function insetDocReq(){
|
||||
|
||||
|
||||
//강사 선택 체크
|
||||
// if(chkLen == 0){
|
||||
// alert("강사를 선택해주세요.");
|
||||
// return false;
|
||||
// }
|
||||
// //서류명 체크
|
||||
|
||||
if($('#lctrSbjct').val() == ''){
|
||||
alert("강의주제를 입력해주세요");
|
||||
return false;
|
||||
}
|
||||
if($("input[name=lctrDay]").val() == ''){
|
||||
alert("날짜를 입력해주세요");
|
||||
return false;
|
||||
}
|
||||
if($('#lctrStrtH').val() == ''){
|
||||
alert("시작시간을 입력해주세요");
|
||||
return false;
|
||||
}
|
||||
if($('#lctrStrtM').val() == ''){
|
||||
alert("시작 분을 입력해주세요");
|
||||
return false;
|
||||
}
|
||||
if($('#lctrEndH').val() == ''){
|
||||
alert("시작시간을 입력해주세요");
|
||||
return false;
|
||||
}
|
||||
if($('#lctrEndM').val() == ''){
|
||||
alert("시작 분을 입력해주세요");
|
||||
return false;
|
||||
}
|
||||
if($('#lctrPlace').val() == ''){
|
||||
alert("장소를 입력해주세요");
|
||||
return false;
|
||||
}
|
||||
if($('#lctrTrgt').val() == ''){
|
||||
alert("교육장소를 입력해주세요");
|
||||
return false;
|
||||
}
|
||||
if($('#nos').val() == ''){
|
||||
alert("인원을 입력해주세요");
|
||||
return false;
|
||||
}
|
||||
if($('#instrNm').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/insertInnorixReqRsltAjax.do' />";
|
||||
|
||||
// 강의 일시
|
||||
var lctrDay = $('input[name=lctrDay]').val().replaceAll('.', '-');
|
||||
|
||||
var sendData = {
|
||||
"eduAplctOrd": '<c:out value='${info.eduAplctOrd}'/>'
|
||||
, "lctrDay": lctrDay
|
||||
, "lctrStrtH": $('#lctrStrtH').val()
|
||||
, "lctrStrtM": $('#lctrStrtM').val()
|
||||
, "lctrEndH": $('#lctrEndH').val()
|
||||
, "lctrEndM": $('#lctrEndM').val()
|
||||
, "innorixFileListVO": data
|
||||
, "lctrSbjct" : $('#lctrSbjct').val()
|
||||
, "lctrPlace" : $('#lctrPlace').val()
|
||||
, "lctrTrgt" : $('#lctrTrgt').val()
|
||||
, "nos" : $('#nos').val()
|
||||
, "instrNm" : $('#instrNm').val()
|
||||
, "successMsg" : "등록이 완료되었습니다."
|
||||
}
|
||||
|
||||
/*
|
||||
* 공통 : innorixCommon.js
|
||||
* fn_innorixCmmAjax() 호출 후 status가 성공(OK)이면 실행
|
||||
*/
|
||||
if(fn_innorixCmmAjax(sendData, url) == "OK")
|
||||
{
|
||||
location.reload(true);
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
|
||||
@ -1161,6 +1298,15 @@
|
||||
<th scope="row"><p>결과보고</p></th>
|
||||
<td colspan="3">
|
||||
|
||||
<c:choose>
|
||||
<c:when test="${info.veaRsltRprtOrd ne null}">
|
||||
<button type="button" class="btnType01 updownRoad" data-tooltip="sub37_pop04" title="팝업 열림">결과보고 확인</button>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<button type="button" class="btnType01 updownRoad" data-tooltip="sub37_pop03" title="팝업 열림">결과보고 업로드</button>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<%--
|
||||
<c:choose>
|
||||
<c:when test="${info.rsltAtchFileId ne null}">
|
||||
<c:import url="/cmm/fms/selectSimpleDownInfs.do" charEncoding="utf-8">
|
||||
@ -1171,7 +1317,7 @@
|
||||
<c:otherwise>
|
||||
<button type="button" class="btnType01 updownRoad" data-tooltip="sub35_pop01" id="PHT" onclick="filePopupLayer('RSLT')" title="팝업 열림">결과보고 업로드</button>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</c:choose> --%>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@ -1345,3 +1491,289 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<!-- 서류요청 팝업 -->
|
||||
<div class="tooltip-wrap">
|
||||
<div class="popup_wrap popType05" tabindex="0" data-tooltip-con="sub37_pop03" data-focus="sub37_pop03" data-focus-prev="sub37_pop03_close">
|
||||
<div class="popup_tit">
|
||||
<p>결과 보고</p>
|
||||
<button class="btn_popup_close tooltip-close" data-focus="sub37_pop03_close" title="팝업 닫기"><i></i></button>
|
||||
</div>
|
||||
<div class="popup_cont">
|
||||
<div class="cont_body">
|
||||
|
||||
|
||||
<div class="tb_tit01">
|
||||
<div class="tb_tit01_left">
|
||||
<p>강의 개요</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tb_type01 tb_write">
|
||||
<table>
|
||||
<caption>교육신청 내용 (th 명)을 보여주는 표</caption>
|
||||
<colgroup>
|
||||
<col style="width: 150px;">
|
||||
<col style="width: auto;">
|
||||
</colgroup>
|
||||
<tbody id="rsltId">
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>강의주제</p>
|
||||
</th>
|
||||
<td colspan="3">
|
||||
<input type="text" id="lctrSbjct" name="lctrSbjct" placeholder="대학생이 알아야할 저작권">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>강의날짜</p>
|
||||
</th>
|
||||
<td colspan="3">
|
||||
<div class="btn_wrap">
|
||||
<div class="calendar_wrap">
|
||||
<%-- <input type="text" class="calendar" id="searchStartDt" name="searchStartDt" title="시작일 선택" value="${vEEduAplctVO.searchStartDt}"> --%>
|
||||
<duet-date-picker identifier="date" name="lctrDay" class="startDate" value=""></duet-date-picker>
|
||||
</div>
|
||||
<script src="${pageContext.request.contextPath}/visitEdu/usr/publish/script/duetdatepicker.js"></script>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>강의시간</p>
|
||||
</th>
|
||||
<td colspan="3">
|
||||
<div class="btn_wrap">
|
||||
<!-- Hours (시) Dropdown -->
|
||||
<select id="lctrStrtH" name="lctrStrtH" class="selType1">
|
||||
<c:forEach var="hour" begin="0" end="23">
|
||||
<option value="${hour < 10 ? '0' : ''}${hour}">${hour < 10 ? '0' : ''}${hour}시</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
:
|
||||
<!-- Minutes (분) Dropdown -->
|
||||
<select id="lctrStrtM" name="lctrStrtM" class="selType1">
|
||||
<c:forEach var="minute" begin="0" end="59" step="1">
|
||||
<option value="${minute < 10 ? '0' : ''}${minute}">${minute < 10 ? '0' : ''}${minute}분</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
~
|
||||
<!-- Hours (시) Dropdown -->
|
||||
<select id="lctrEndH" name="lctrEndH" class="selType1">
|
||||
<c:forEach var="hour" begin="0" end="23">
|
||||
<option value="${hour < 10 ? '0' : ''}${hour}">${hour < 10 ? '0' : ''}${hour}시</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
:
|
||||
<!-- Minutes (분) Dropdown -->
|
||||
<select id="lctrEndM" name="lctrEndM" class="selType1">
|
||||
<c:forEach var="minute" begin="0" end="59" step="1">
|
||||
<option value="${minute < 10 ? '0' : ''}${minute}">${minute < 10 ? '0' : ''}${minute}분</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>장 소</p>
|
||||
</th>
|
||||
<td colspan="3">
|
||||
<input type="text" id="lctrPlace" name="lctrPlace" placeholder="서울~, 온라인 실시간 교육(ZOOM) 등">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>교육대상</p>
|
||||
</th>
|
||||
<td colspan="3">
|
||||
<input type="text" id="lctrTrgt" name="lctrTrgt" placeholder="예) 대학 교수">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>인 원</p>
|
||||
</th>
|
||||
<td colspan="3">
|
||||
<input type="text" id="nos" name="nos" numberOnly placeholder="30">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>강사명(소속)</p>
|
||||
</th>
|
||||
<td colspan="3">
|
||||
<input type="text" id="instrNm" name="instrNm" placeholder="창작이교수(저작권대학교)">
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="tb_tit01">
|
||||
<div class="tb_tit01_left">
|
||||
<p>강의 결과</p>
|
||||
</div>
|
||||
</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_pop03_close" data-focus-next="sub37_pop03">닫기</button>
|
||||
</div>
|
||||
<div class="btn_right">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!--// 서류요청 팝업-->
|
||||
|
||||
<!-- 서류요청 팝업 -->
|
||||
<div class="tooltip-wrap">
|
||||
<div class="popup_wrap popType05" tabindex="0" data-tooltip-con="sub37_pop04" data-focus="sub37_pop04" data-focus-prev="sub37_pop04_close">
|
||||
<div class="popup_tit">
|
||||
<p>결과 보고 확인</p>
|
||||
<button class="btn_popup_close tooltip-close" data-focus="sub37_pop04_close" title="팝업 닫기"><i></i></button>
|
||||
</div>
|
||||
<div class="popup_cont">
|
||||
<div class="cont_body">
|
||||
|
||||
|
||||
<div class="tb_tit01">
|
||||
<div class="tb_tit01_left">
|
||||
<p>강의 개요</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tb_type01 tb_write">
|
||||
<table>
|
||||
<caption>교육신청 내용 (th 명)을 보여주는 표</caption>
|
||||
<colgroup>
|
||||
<col style="width: 150px;">
|
||||
<col style="width: auto;">
|
||||
</colgroup>
|
||||
<tbody id="rsltId">
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>강의주제</p>
|
||||
</th>
|
||||
<td colspan="3">
|
||||
<c:out value="${info.lctrSbjct }" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>강의날짜</p>
|
||||
</th>
|
||||
<td colspan="3">
|
||||
<c:out value="${info.lctrDay }" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>강의시간</p>
|
||||
</th>
|
||||
<td colspan="3">
|
||||
<div class="btn_wrap">
|
||||
<!-- Hours (시) Dropdown -->
|
||||
<c:out value="${info.lctrStrtH }" />
|
||||
:
|
||||
<c:out value="${info.lctrStrtM }" />
|
||||
~
|
||||
<!-- Hours (시) Dropdown -->
|
||||
<c:out value="${info.lctrEndH }" />
|
||||
:
|
||||
<c:out value="${info.lctrEndM }" />
|
||||
<!-- Minutes (분) Dropdown -->
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>장 소</p>
|
||||
</th>
|
||||
<td colspan="3">
|
||||
<c:out value="${info.lctrPlace }" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>교육대상</p>
|
||||
</th>
|
||||
<td colspan="3">
|
||||
<c:out value="${info.lctrTrgt }" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>인 원</p>
|
||||
</th>
|
||||
<td colspan="3">
|
||||
<c:out value="${info.nos }" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>강사명(소속)</p>
|
||||
</th>
|
||||
<td colspan="3">
|
||||
<c:out value="${info.instrNm }" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>첨부파일</p>
|
||||
</th>
|
||||
<td colspan="3">
|
||||
<c:import url="/cmm/fms/selectSimpleDownInfs.do" charEncoding="utf-8">
|
||||
<c:param name="param_atchFileId" value="${info.atchFileId}" />
|
||||
</c:import>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="pop_btn_wrap btn_layout01">
|
||||
<div class="btn_left">
|
||||
</div>
|
||||
<div class="btn_center">
|
||||
|
||||
<!-- <button type="button" class="btnType05" id="popupSubmin" onclick="insetDocReq();">요청</button> -->
|
||||
|
||||
<button type="button" class="btnType02 tooltip-close" data-focus="sub37_pop04_close" data-focus-next="sub37_pop04">닫기</button>
|
||||
</div>
|
||||
<div class="btn_right">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!--// 서류요청 팝업-->
|
||||
|
||||
|
||||
|
||||
@ -982,6 +982,7 @@
|
||||
<col style="width: 18%;">
|
||||
<col style="width: auto;">
|
||||
<col style="width: 18%;">
|
||||
<col style="width: 22%;">
|
||||
<col style="width: 18%;">
|
||||
</colgroup>
|
||||
<thead>
|
||||
@ -990,6 +991,7 @@
|
||||
<th scope="col">교육기간</th>
|
||||
<th scope="col">비고</th>
|
||||
<th scope="col">등록자</th>
|
||||
<th scope="col">첨부파일</th>
|
||||
<th scope="col">등록일</th>
|
||||
</tr>
|
||||
</thead>
|
||||
@ -1000,6 +1002,14 @@
|
||||
<td><c:out value="${pList.strtDt}" />~<c:out value="${pList.ddlnDt}" /></td>
|
||||
<td><c:out value="${pList.cn}" /></td>
|
||||
<td><c:out value="${pList.userNm}" /></td>
|
||||
<td>
|
||||
<c:if test="${pList.atchFileId ne null}">
|
||||
<c:import url="/cmm/fms/selectScholSealInfs.do" charEncoding="utf-8">
|
||||
<c:param name="param_atchFileId" value="${pList.atchFileId}" />
|
||||
</c:import>
|
||||
<!-- <button type="button" class="btnType01" data-tooltip="sub35_pop01" id="OATH" onclick="filePopupLayer('OATH')" title="팝업 열림">서약서 파일 변경</button> -->
|
||||
</c:if>
|
||||
</td>
|
||||
<td><c:out value="${pList.frstRegistPnttm}" /></td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
|
||||
@ -13,8 +13,6 @@
|
||||
<link rel="stylesheet" href="<c:url value='/innorix/innorix.css'/>" type="text/css">
|
||||
<script type="text/javascript">
|
||||
function fncInfoChk(){
|
||||
//# sourceURL=foo.coffee
|
||||
|
||||
if($("#instrNm").val() == ''){
|
||||
alert('성명을 입력해주세요.');
|
||||
return false;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user