이지우 - 저작권체험교실 작업중
This commit is contained in:
parent
a7f8cbd561
commit
db2a329644
@ -127,5 +127,7 @@ public interface EgovUserManageService {
|
|||||||
|
|
||||||
public UserManageVO selectOffeduUser(UserManageVO userManageVO) throws Exception;
|
public UserManageVO selectOffeduUser(UserManageVO userManageVO) throws Exception;
|
||||||
|
|
||||||
|
public List<UserManageVO> selectOffeduUserList(UserManageVO userManageVO) throws Exception;
|
||||||
|
|
||||||
public void insertOffeduUser(UserManageVO userManageVO) throws Exception;
|
public void insertOffeduUser(UserManageVO userManageVO) throws Exception;
|
||||||
}
|
}
|
||||||
@ -176,6 +176,8 @@ public class UserManageVO extends UserDefaultVO{
|
|||||||
|
|
||||||
private String mberId; //회원 Id
|
private String mberId; //회원 Id
|
||||||
|
|
||||||
|
private int totCnt = 0; //회원 Id
|
||||||
|
|
||||||
public String getAuthorCode() {
|
public String getAuthorCode() {
|
||||||
return authorCode;
|
return authorCode;
|
||||||
}
|
}
|
||||||
@ -707,6 +709,12 @@ public class UserManageVO extends UserDefaultVO{
|
|||||||
public void setMberId(String mberId) {
|
public void setMberId(String mberId) {
|
||||||
this.mberId = mberId;
|
this.mberId = mberId;
|
||||||
}
|
}
|
||||||
|
public int getTotCnt() {
|
||||||
|
return totCnt;
|
||||||
|
}
|
||||||
|
public void setTotCnt(int totCnt) {
|
||||||
|
this.totCnt = totCnt;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -312,6 +312,11 @@ public class EgovUserManageServiceImpl extends EgovAbstractServiceImpl implement
|
|||||||
return userManageVO;
|
return userManageVO;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<UserManageVO> selectOffeduUserList(UserManageVO userManageVO) throws Exception{
|
||||||
|
return userManageDAO.selectOffeduUserList(userManageVO);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
// @Transactional(rollbackFor = Exception.class)
|
// @Transactional(rollbackFor = Exception.class)
|
||||||
public void insertOffeduUser(UserManageVO userManageVO) throws Exception {
|
public void insertOffeduUser(UserManageVO userManageVO) throws Exception {
|
||||||
|
|||||||
@ -189,6 +189,9 @@ public class UserManageDAO extends EgovAbstractDAO{
|
|||||||
return (UserManageVO)select("userManageDAO.selectOffeduUser", userManageVO);
|
return (UserManageVO)select("userManageDAO.selectOffeduUser", userManageVO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<UserManageVO> selectOffeduUserList(UserManageVO userManageVO) throws Exception{
|
||||||
|
return (List<UserManageVO>)list("userManageDAO.selectOffeduUserList", userManageVO);
|
||||||
|
}
|
||||||
public void insertOffeudUser(UserManageVO userManageVO){
|
public void insertOffeudUser(UserManageVO userManageVO){
|
||||||
insert("userManageDAO.insertOffeduUser", userManageVO);
|
insert("userManageDAO.insertOffeduUser", userManageVO);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -14,8 +14,9 @@ import org.springframework.web.servlet.ModelAndView;
|
|||||||
import egovframework.rte.fdl.idgnr.EgovIdGnrService;
|
import egovframework.rte.fdl.idgnr.EgovIdGnrService;
|
||||||
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
|
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
|
||||||
import kcc.com.cmm.LoginVO;
|
import kcc.com.cmm.LoginVO;
|
||||||
import kcc.com.cmm.util.StringUtil;
|
|
||||||
import kcc.com.utl.user.service.CheckLoginUtil;
|
import kcc.com.utl.user.service.CheckLoginUtil;
|
||||||
|
import kcc.let.uss.umt.service.EgovUserManageService;
|
||||||
|
import kcc.let.uss.umt.service.UserManageVO;
|
||||||
import kcc.ve.aplct.cpyrgExprnClsrm.exprnClsrmAplct.service.ScholInfoMIXService;
|
import kcc.ve.aplct.cpyrgExprnClsrm.exprnClsrmAplct.service.ScholInfoMIXService;
|
||||||
import kcc.ve.aplct.cpyrgExprnClsrm.exprnClsrmAplct.service.ScholInfoService;
|
import kcc.ve.aplct.cpyrgExprnClsrm.exprnClsrmAplct.service.ScholInfoService;
|
||||||
import kcc.ve.aplct.cpyrgExprnClsrm.exprnClsrmAplct.service.ScholInfoVO;
|
import kcc.ve.aplct.cpyrgExprnClsrm.exprnClsrmAplct.service.ScholInfoVO;
|
||||||
@ -54,6 +55,11 @@ public class CommonManageWebController {
|
|||||||
@Resource(name = "vEEduAplctSndHstryService")
|
@Resource(name = "vEEduAplctSndHstryService")
|
||||||
private VEEduAplctSndHstryService vEEduAplctSndHstryService;
|
private VEEduAplctSndHstryService vEEduAplctSndHstryService;
|
||||||
|
|
||||||
|
|
||||||
|
//회원조회
|
||||||
|
@Resource(name = "userManageService")
|
||||||
|
private EgovUserManageService userManageService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 학교정보 검색 팝업 리스트
|
* 학교정보 검색 팝업 리스트
|
||||||
*/
|
*/
|
||||||
@ -78,13 +84,26 @@ public class CommonManageWebController {
|
|||||||
//검색 조건
|
//검색 조건
|
||||||
String selectCondition = new String();
|
String selectCondition = new String();
|
||||||
if (!"".equals(scholInfoVO.getSearchKeyword())) {
|
if (!"".equals(scholInfoVO.getSearchKeyword())) {
|
||||||
selectCondition += "AND a.SCHOL_NM LIKE CONCAT ('%', '" +scholInfoVO.getSearchKeyword() + "', '%')";
|
selectCondition += " AND A.SCHOL_NM LIKE '%"+scholInfoVO.getSearchKeyword()+"%' ";
|
||||||
}
|
}
|
||||||
|
|
||||||
//2.2 학교종류
|
//2.2 학교종류
|
||||||
if(StringUtil.isNotEmpty(scholInfoVO.getSearchCondition())){
|
/*if(StringUtil.isNotEmpty(scholInfoVO.getSearchCondition())){
|
||||||
selectCondition += "AND DECODE(schol_grade_nm, '초등학교','10', '중학교','20', '고등학교','30',IF (INSTR(schol_grade_nm,'각종학교')>0,'40','50')) IN ('"+scholInfoVO.getSearchCondition()+"')";
|
selectCondition += "AND DECODE(schol_grade_nm, '초등학교','10', '중학교','20', '고등학교','30',IF (INSTR(schol_grade_nm,'각종학교')>0,'40','50')) IN ('"+scholInfoVO.getSearchCondition()+"')";
|
||||||
}
|
}*/
|
||||||
|
if (!"".equals(scholInfoVO.getSearchCondition())) {
|
||||||
|
if(scholInfoVO.getSearchCondition().equals("10")) {
|
||||||
|
selectCondition += " AND A.SCHOL_GRADE_NM LIKE '%초등%' ";
|
||||||
|
}else if(scholInfoVO.getSearchCondition().equals("20")) {
|
||||||
|
selectCondition += " AND A.SCHOL_GRADE_NM LIKE '%중학%' ";
|
||||||
|
}else if(scholInfoVO.getSearchCondition().equals("30")) {
|
||||||
|
selectCondition += " AND A.SCHOL_GRADE_NM LIKE '%고등%' ";
|
||||||
|
}else if(scholInfoVO.getSearchCondition().equals("40")) {
|
||||||
|
selectCondition += " AND A.SCHOL_GRADE_NM LIKE '%특수%' ";
|
||||||
|
}else if(scholInfoVO.getSearchCondition().equals("50")) {
|
||||||
|
selectCondition += " AND A.SCHOL_GRADE_NM LIKE '%각종%' ";
|
||||||
|
}
|
||||||
|
}
|
||||||
scholInfoVO.setSelectPagingListQuery(selectCondition);
|
scholInfoVO.setSelectPagingListQuery(selectCondition);
|
||||||
|
|
||||||
|
|
||||||
@ -198,5 +217,35 @@ public class CommonManageWebController {
|
|||||||
return "/web/ve/comm/selectPrcsDetailList";
|
return "/web/ve/comm/selectPrcsDetailList";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 회원 검색 팝업 리스트
|
||||||
|
*/
|
||||||
|
@RequestMapping("popup/userPopList.do")
|
||||||
|
public String userPopList(@ModelAttribute("searchVO") UserManageVO userManageVO , ModelMap model , HttpServletRequest request ) throws Exception {
|
||||||
|
PaginationInfo paginationInfo = new PaginationInfo();
|
||||||
|
paginationInfo.setCurrentPageNo(userManageVO.getPageIndex());
|
||||||
|
paginationInfo.setRecordCountPerPage(userManageVO.getPageUnit());
|
||||||
|
paginationInfo.setPageSize(10);
|
||||||
|
|
||||||
|
// paging step2
|
||||||
|
userManageVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
|
||||||
|
userManageVO.setLastIndex(paginationInfo.getLastRecordIndex());
|
||||||
|
userManageVO.setRecordCountPerPage(10);
|
||||||
|
|
||||||
|
if("".equals(userManageVO.getSearchSortCnd())){ //최초조회시 최신것 조회List
|
||||||
|
userManageVO.setSearchSortCnd("mber_id");
|
||||||
|
userManageVO.setSearchSortOrd("asc");
|
||||||
|
}
|
||||||
|
|
||||||
|
List<UserManageVO> userList = userManageService.selectOffeduUserList(userManageVO);
|
||||||
|
//3.paging step3
|
||||||
|
int totCnt = 0;
|
||||||
|
if(userList.size() > 0) totCnt = userList.get(0).getTotCnt();
|
||||||
|
paginationInfo.setTotalRecordCount(totCnt);
|
||||||
|
|
||||||
|
model.addAttribute("paginationInfo", paginationInfo);
|
||||||
|
//학교정보 리스트, 페이징 정보 전달
|
||||||
|
model.addAttribute("userList", userList);
|
||||||
|
return "oprtn/cmm/userPopListBower";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -24,8 +24,10 @@ import kcc.com.cmm.service.FileVO;
|
|||||||
import kcc.com.cmm.util.DateUtil;
|
import kcc.com.cmm.util.DateUtil;
|
||||||
import kcc.com.utl.user.service.CheckFileUtil;
|
import kcc.com.utl.user.service.CheckFileUtil;
|
||||||
import kcc.com.utl.user.service.CheckLoginUtil;
|
import kcc.com.utl.user.service.CheckLoginUtil;
|
||||||
|
import kcc.ve.cmm.VeConstants;
|
||||||
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsAplctPrdService;
|
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsAplctPrdService;
|
||||||
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO;
|
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO;
|
||||||
|
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsMIXService;
|
||||||
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsOnlnCntntService;
|
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsOnlnCntntService;
|
||||||
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsService;
|
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsService;
|
||||||
|
|
||||||
@ -91,6 +93,9 @@ public class OprtnAplctAnncmMngController {
|
|||||||
@Resource(name = "checkFileUtil")
|
@Resource(name = "checkFileUtil")
|
||||||
private CheckFileUtil checkFileUtil;
|
private CheckFileUtil checkFileUtil;
|
||||||
|
|
||||||
|
//교육과정신청
|
||||||
|
@Resource(name = "vEPrcsMIXService")
|
||||||
|
private VEPrcsMIXService vEPrcsMIXService;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
||||||
@ -174,6 +179,21 @@ public class OprtnAplctAnncmMngController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 저작권체험교실 등록 화면
|
||||||
|
*/
|
||||||
|
@RequestMapping("oprtnAplctAnncmMngReg.do")
|
||||||
|
public String oprtnAplctMgrReg( @ModelAttribute("modelVO") VEPrcsDetailVO vEPrcsDetailVO , ModelMap model) throws Exception {
|
||||||
|
vEPrcsDetailVO.setMode(VeConstants.MODE_CRT);
|
||||||
|
//온라인차시 리스트
|
||||||
|
vEPrcsDetailVO.setUseYn("Y");
|
||||||
|
vEPrcsDetailVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_30);
|
||||||
|
List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsMIXService.selectPrcsList(vEPrcsDetailVO);
|
||||||
|
//대상 리스트, 페이징 정보 전달
|
||||||
|
model.addAttribute("list", vEPrcsDetailVOList);
|
||||||
|
return "oprtn/cpyrgExprnClsrm/oprtnAplctAnncmMngReg";
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 교육과정관리 상세 화면
|
* 교육과정관리 상세 화면
|
||||||
@ -402,29 +422,7 @@ public class OprtnAplctAnncmMngController {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 교육과정관리 등록 화면
|
|
||||||
*/
|
|
||||||
@RequestMapping("oprtnAplctAnncmMngReg.do")
|
|
||||||
public String OprtnAplctAnncmMngReg(
|
|
||||||
@ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO
|
|
||||||
, ModelMap model
|
|
||||||
) throws Exception {
|
|
||||||
|
|
||||||
//로그인 처리====================================
|
|
||||||
//로그인 정보 가져오기
|
|
||||||
|
|
||||||
String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model);
|
|
||||||
if (!"".equals(s_oprtnLoginCheckNInfo)) return s_oprtnLoginCheckNInfo;
|
|
||||||
|
|
||||||
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
|
|
||||||
model.addAttribute("loginVO", loginVO);
|
|
||||||
|
|
||||||
//로그인 처리====================================
|
|
||||||
|
|
||||||
|
|
||||||
return "oprtn/cpyrgExprnClsrm/oprtnAplctAnncmMngReg";
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 교육과정관리 등록
|
* 교육과정관리 등록
|
||||||
|
|||||||
@ -1,21 +1,36 @@
|
|||||||
package kcc.ve.oprtn.cpyrgExprnClsrm.oprtnAplctMng.web;
|
package kcc.ve.oprtn.cpyrgExprnClsrm.oprtnAplctMng.web;
|
||||||
|
|
||||||
|
import java.io.BufferedInputStream;
|
||||||
|
import java.io.BufferedOutputStream;
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.FileInputStream;
|
||||||
|
import java.io.FileNotFoundException;
|
||||||
|
import java.io.FileOutputStream;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.PrintWriter;
|
||||||
|
import java.net.URLEncoder;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
|
import java.util.Map;
|
||||||
import java.util.Properties;
|
import java.util.Properties;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
import javax.servlet.http.HttpSession;
|
import javax.servlet.http.HttpSession;
|
||||||
|
|
||||||
|
import org.apache.commons.compress.archivers.zip.ZipArchiveEntry;
|
||||||
|
import org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream;
|
||||||
import org.apache.poi.xssf.streaming.SXSSFWorkbook;
|
import org.apache.poi.xssf.streaming.SXSSFWorkbook;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.stereotype.Controller;
|
import org.springframework.stereotype.Controller;
|
||||||
import org.springframework.ui.ModelMap;
|
import org.springframework.ui.ModelMap;
|
||||||
|
import org.springframework.util.FileCopyUtils;
|
||||||
import org.springframework.web.bind.annotation.ModelAttribute;
|
import org.springframework.web.bind.annotation.ModelAttribute;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
import org.springframework.web.multipart.MultipartHttpServletRequest;
|
import org.springframework.web.multipart.MultipartHttpServletRequest;
|
||||||
import org.springframework.web.servlet.ModelAndView;
|
import org.springframework.web.servlet.ModelAndView;
|
||||||
|
|
||||||
@ -153,19 +168,27 @@ public class OprtnAplctMngController {
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 저작권체험교실 등록 화면
|
* 교육과정관리 등록 화면
|
||||||
*/
|
*/
|
||||||
@RequestMapping("oprtnAplctMngReg.do")
|
@RequestMapping("oprtnAplctMngReg.do")
|
||||||
public String oprtnAplctMgrReg( @ModelAttribute("modelVO") VEPrcsDetailVO vEPrcsDetailVO , ModelMap model) throws Exception {
|
public String OprtnAplctAnncmMngReg(
|
||||||
vEPrcsDetailVO.setMode(VeConstants.MODE_CRT);
|
@ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO
|
||||||
//온라인차시 리스트
|
, ModelMap model
|
||||||
vEPrcsDetailVO.setUseYn("Y");
|
) throws Exception {
|
||||||
vEPrcsDetailVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_30);
|
|
||||||
List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsMIXService.selectPrcsList(vEPrcsDetailVO);
|
|
||||||
//대상 리스트, 페이징 정보 전달
|
|
||||||
model.addAttribute("list", vEPrcsDetailVOList);
|
|
||||||
return "oprtn/cpyrgExprnClsrm/oprtnAplctMngReg";
|
|
||||||
|
|
||||||
|
//로그인 처리====================================
|
||||||
|
//로그인 정보 가져오기
|
||||||
|
|
||||||
|
String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model);
|
||||||
|
if (!"".equals(s_oprtnLoginCheckNInfo)) return s_oprtnLoginCheckNInfo;
|
||||||
|
|
||||||
|
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
|
||||||
|
model.addAttribute("loginVO", loginVO);
|
||||||
|
|
||||||
|
//로그인 처리====================================
|
||||||
|
|
||||||
|
|
||||||
|
return "oprtn/cpyrgExprnClsrm/oprtnAplctMngReg";
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -459,7 +482,222 @@ String[] order = {
|
|||||||
return modelAndView;
|
return modelAndView;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 저작권 체험교실 운영신청 목록 업로드 파일 일괄 다운로드
|
||||||
|
* @param model
|
||||||
|
* @return
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
@RequestMapping(value = "oprtnAplctFileAllDownLoad.do")
|
||||||
|
public void oprtnAplctFileAllDownLoad(@RequestParam Map<String, Object> commandMap
|
||||||
|
, HttpServletRequest request, HttpServletResponse response) throws Exception {
|
||||||
|
|
||||||
|
//파일 SN을 리스트에 담기
|
||||||
|
List<String> atchFileIdList = new ArrayList<String>();
|
||||||
|
//파일 SN을 리스트에 담기
|
||||||
|
List<String> atchFileSnList = new ArrayList<String>();
|
||||||
|
|
||||||
|
//split을 이용해 아이디를 각자 배열에 담기
|
||||||
|
String[] splitIdStr = commandMap.get("atchFileId").toString().split(",");
|
||||||
|
String[] splitSnStr = commandMap.get("fileSn").toString().split(",");
|
||||||
|
//zip파일 이름
|
||||||
|
String orgnZipNm = commandMap.get("orgnZipNm").toString();
|
||||||
|
//downloadType (A:ID가 여러개고 fileSn이 1개인 경우 || B:ID는 하나이고 fileSn이 여러개인 경우)
|
||||||
|
String downloadType = commandMap.get("downloadType").toString();
|
||||||
|
|
||||||
|
String atchFileId = new String();
|
||||||
|
String fileSn = new String();
|
||||||
|
|
||||||
|
|
||||||
|
//ID가 여러개고 fileSn이 1개인 경우
|
||||||
|
if("A".equals(downloadType)) {
|
||||||
|
fileSn = "0";
|
||||||
|
for(int i=0; i<splitIdStr.length; i++) {
|
||||||
|
atchFileIdList.add(splitIdStr[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//ID는 하나이고 fileSn이 여러개인 경우
|
||||||
|
if("B".equals(downloadType)) {
|
||||||
|
atchFileId = splitIdStr[0];
|
||||||
|
for(int i=0; i<splitSnStr.length; i++) {
|
||||||
|
atchFileSnList.add(splitSnStr[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
FileVO fileVO = new FileVO();
|
||||||
|
fileVO.setDownloadType(downloadType);
|
||||||
|
|
||||||
|
if("A".equals(downloadType)) {
|
||||||
|
fileVO.setAtchFileIdList(atchFileIdList);
|
||||||
|
fileVO.setFileSn(fileSn);
|
||||||
|
} else if("B".equals(downloadType)) {
|
||||||
|
fileVO.setAtchFileId(atchFileId);
|
||||||
|
fileVO.setAtchFileSnList(atchFileSnList);
|
||||||
|
}
|
||||||
|
|
||||||
|
List<FileVO> fvoList = fileService.selectZipFileList(fileVO); // 해당 기능에 맞게 파일 조회
|
||||||
|
|
||||||
|
if(fvoList.size() == 0){
|
||||||
|
response.setContentType("application/x-msdownload");
|
||||||
|
PrintWriter printwriter = response.getWriter();
|
||||||
|
printwriter.println("<html>");
|
||||||
|
printwriter.println("<br><br><br><h2>Could not get file name:<br></h2>");
|
||||||
|
printwriter.println("<br><br><br><center><h3><a href='javascript: history.go(-1)'>Back</a></h3></center>");
|
||||||
|
printwriter.println("<br><br><br>© webAccess");
|
||||||
|
printwriter.println("</html>");
|
||||||
|
printwriter.flush();
|
||||||
|
printwriter.close();
|
||||||
|
return ;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// buffer size
|
||||||
|
int size = 1024;
|
||||||
|
byte[] buf = new byte[size];
|
||||||
|
|
||||||
|
String outZipNm = fvoList.get(0).getFileStreCours()+File.separator + orgnZipNm;
|
||||||
|
FileInputStream fis = null;
|
||||||
|
ZipArchiveOutputStream zos = null;
|
||||||
|
BufferedInputStream bis = null;
|
||||||
|
|
||||||
|
try {
|
||||||
|
// Zip 파일생성
|
||||||
|
zos = new ZipArchiveOutputStream(new BufferedOutputStream(new FileOutputStream(outZipNm)));
|
||||||
|
|
||||||
|
for ( FileVO vo : fvoList ){
|
||||||
|
zos.setEncoding("UTF-8");
|
||||||
|
|
||||||
|
//buffer에 해당파일의 stream을 입력한다.
|
||||||
|
fis = new FileInputStream(vo.getFileStreCours() + "/" + vo.getStreFileNm());
|
||||||
|
bis = new BufferedInputStream(fis,size);
|
||||||
|
|
||||||
|
//zip에 넣을 다음 entry 를 가져온다.
|
||||||
|
zos.putArchiveEntry(new ZipArchiveEntry(vo.getOrignlFileNm()));
|
||||||
|
|
||||||
|
//준비된 버퍼에서 집출력스트림으로 write 한다.
|
||||||
|
int len;
|
||||||
|
while((len = bis.read(buf,0,size)) != -1) zos.write(buf,0,len);
|
||||||
|
|
||||||
|
bis.close();
|
||||||
|
fis.close();
|
||||||
|
zos.closeArchiveEntry();
|
||||||
|
}
|
||||||
|
|
||||||
|
zos.close();
|
||||||
|
|
||||||
|
} catch (FileNotFoundException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}finally{
|
||||||
|
if( zos != null ) zos.close();
|
||||||
|
if( fis != null ) fis.close();
|
||||||
|
if( bis != null ) bis.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
File uFile = new File(fvoList.get(0).getFileStreCours(), orgnZipNm);
|
||||||
|
long fSize = uFile.length();
|
||||||
|
|
||||||
|
if (fSize > 0) {
|
||||||
|
String mimetype = "application/x-msdownload";
|
||||||
|
|
||||||
|
response.setContentType(mimetype);
|
||||||
|
setDisposition(orgnZipNm, request, response);
|
||||||
|
//response.setContentLength(fSize);
|
||||||
|
|
||||||
|
BufferedInputStream in = null;
|
||||||
|
BufferedOutputStream out = null;
|
||||||
|
|
||||||
|
try {
|
||||||
|
in = new BufferedInputStream(new FileInputStream(uFile));
|
||||||
|
out = new BufferedOutputStream(response.getOutputStream());
|
||||||
|
|
||||||
|
FileCopyUtils.copy(in, out);
|
||||||
|
out.flush();
|
||||||
|
} catch (Exception ex) {
|
||||||
|
LOGGER.debug("IGNORED: {}", ex.getMessage());
|
||||||
|
} finally {
|
||||||
|
if (in != null) {
|
||||||
|
try {
|
||||||
|
in.close();
|
||||||
|
} catch (Exception ignore) {
|
||||||
|
LOGGER.debug("IGNORED: {}", ignore.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (out != null) {
|
||||||
|
try {
|
||||||
|
out.close();
|
||||||
|
} catch (Exception ignore) {
|
||||||
|
LOGGER.debug("IGNORED: {}", ignore.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//파일 다운로드 후 파일 삭제
|
||||||
|
File delFile = new File(outZipNm);
|
||||||
|
delFile.delete();
|
||||||
|
} else {
|
||||||
|
response.setContentType("application/x-msdownload");
|
||||||
|
PrintWriter printwriter = response.getWriter();
|
||||||
|
printwriter.println("<html>");
|
||||||
|
printwriter.println("<br><br><br><h2>Could not get file name:<br>" + orgnZipNm + "</h2>");
|
||||||
|
printwriter.println("<br><br><br><center><h3><a href='javascript: history.go(-1)'>Back</a></h3></center>");
|
||||||
|
printwriter.println("<br><br><br>© webAccess");
|
||||||
|
printwriter.println("</html>");
|
||||||
|
printwriter.flush();
|
||||||
|
printwriter.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setDisposition(String filename, HttpServletRequest request, HttpServletResponse response) throws Exception {
|
||||||
|
String browser = getBrowser(request);
|
||||||
|
|
||||||
|
String dispositionPrefix = "attachment; filename=";
|
||||||
|
String encodedFilename = null;
|
||||||
|
|
||||||
|
if (browser.equals("MSIE")) {
|
||||||
|
encodedFilename = URLEncoder.encode(filename, "UTF-8").replaceAll("\\+", "%20");
|
||||||
|
} else if (browser.equals("Trident")) { // IE11 문자열 깨짐 방지
|
||||||
|
encodedFilename = URLEncoder.encode(filename, "UTF-8").replaceAll("\\+", "%20");
|
||||||
|
} else if (browser.equals("Firefox")) {
|
||||||
|
encodedFilename = "\"" + new String(filename.getBytes("UTF-8"), "8859_1") + "\"";
|
||||||
|
} else if (browser.equals("Opera")) {
|
||||||
|
encodedFilename = "\"" + new String(filename.getBytes("UTF-8"), "8859_1") + "\"";
|
||||||
|
} else if (browser.equals("Chrome")) {
|
||||||
|
StringBuffer sb = new StringBuffer();
|
||||||
|
for (int i = 0; i < filename.length(); i++) {
|
||||||
|
char c = filename.charAt(i);
|
||||||
|
if (c > '~') {
|
||||||
|
sb.append(URLEncoder.encode("" + c, "UTF-8"));
|
||||||
|
} else {
|
||||||
|
sb.append(c);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
encodedFilename = sb.toString();
|
||||||
|
} else {
|
||||||
|
//throw new RuntimeException("Not supported browser");
|
||||||
|
throw new IOException("Not supported browser");
|
||||||
|
}
|
||||||
|
|
||||||
|
// response.setHeader("Content-Disposition", dispositionPrefix + encodedFilename); // 파일명에 콤마 포함시 오류
|
||||||
|
response.setHeader("Content-Disposition", dispositionPrefix + "\"" + encodedFilename + "\"");
|
||||||
|
|
||||||
|
if ("Opera".equals(browser)) {
|
||||||
|
response.setContentType("application/octet-stream;charset=UTF-8");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private String getBrowser(HttpServletRequest request) {
|
||||||
|
String header = request.getHeader("User-Agent");
|
||||||
|
if (header.indexOf("MSIE") > -1) {
|
||||||
|
return "MSIE";
|
||||||
|
} else if (header.indexOf("Trident") > -1) { // IE11 문자열 깨짐 방지
|
||||||
|
return "Trident";
|
||||||
|
} else if (header.indexOf("Chrome") > -1) {
|
||||||
|
return "Chrome";
|
||||||
|
} else if (header.indexOf("Opera") > -1) {
|
||||||
|
return "Opera";
|
||||||
|
}
|
||||||
|
return "Firefox";
|
||||||
|
}
|
||||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
//
|
//
|
||||||
|
|||||||
@ -927,4 +927,16 @@
|
|||||||
)
|
)
|
||||||
|
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
|
<select id="userManageDAO.selectOffeduUserList" parameterClass="userVO" resultClass="userVO">
|
||||||
|
/* 임시.*NOT_SQL_LOG.* userManageDAO.selectOffeduUser */
|
||||||
|
SELECT COUNT(mber_id) OVER() AS totCnt,
|
||||||
|
a.mber_id AS mberId
|
||||||
|
FROM lettngnrlmber a
|
||||||
|
WHERE 1=1
|
||||||
|
<isNotEmpty property="searchWord" prepend="AND">
|
||||||
|
a.mber_id LIKE '%'||#searchWord#||'%'
|
||||||
|
</isNotEmpty>
|
||||||
|
OFFSET #firstIndex# ROWS FETCH NEXT #recordCountPerPage# ROWS ONLY;
|
||||||
|
</select>
|
||||||
</sqlMap>
|
</sqlMap>
|
||||||
|
|||||||
@ -53,6 +53,7 @@
|
|||||||
|
|
||||||
<!-- 강사 정보 L page -->
|
<!-- 강사 정보 L page -->
|
||||||
<select id="ScholInfoMIXDAO.selectPagingList" parameterClass="ScholInfoVO" resultClass="ScholInfoVO">
|
<select id="ScholInfoMIXDAO.selectPagingList" parameterClass="ScholInfoVO" resultClass="ScholInfoVO">
|
||||||
|
/* 임시.*NOT_SQL_LOG.* ScholInfoDAO.selectPagingList*/
|
||||||
SELECT
|
SELECT
|
||||||
COUNT(1) OVER() AS totCnt ,
|
COUNT(1) OVER() AS totCnt ,
|
||||||
a.SCHOL_ID AS scholId
|
a.SCHOL_ID AS scholId
|
||||||
@ -81,25 +82,27 @@
|
|||||||
,a.ESTBS_DT AS estbsDt
|
,a.ESTBS_DT AS estbsDt
|
||||||
,a.SCHOL_ANVSRY AS scholAnvsry
|
,a.SCHOL_ANVSRY AS scholAnvsry
|
||||||
,a.LAST_UPDT_PNTTM AS lastUpdtPnttm
|
,a.LAST_UPDT_PNTTM AS lastUpdtPnttm
|
||||||
, IF(b.stndrd_schol_cd IS null,'N','Y') AS isltnScholYn
|
/* , IF(b.stndrd_schol_cd IS null,'N','Y') AS isltnScholYn */
|
||||||
, DECODE(schol_grade_nm, '초등학교','10', '중학교','20', '고등학교','30',if (INSTR(schol_grade_nm,'각종학교')>0,'40','50')) AS scholDivCd
|
, CASE WHEN b.schol_isltn_ord is null THEN 'N' ELSE 'Y' END isltnScholYn
|
||||||
|
/* , DECODE(schol_grade_nm, '초등학교','10', '중학교','20', '고등학교','30',if (INSTR(schol_grade_nm,'각종학교')>0,'40','50')) AS scholDivCd */
|
||||||
|
, DECODE(schol_grade_nm, '초등학교','10', '중학교','20', '고등학교','30',CASE WHEN INSTR(schol_grade_nm, '각종학교') > 0 THEN '40' ELSE '50' END) AS scholDivCd
|
||||||
|
|
||||||
FROM <include refid="ScholInfoMIXDAO.table_name"/> a
|
FROM <include refid="ScholInfoMIXDAO.table_name"/> a
|
||||||
|
|
||||||
LEFT OUTER JOIN ve_schol_isltn b
|
LEFT OUTER JOIN ve_schol_isltn b
|
||||||
ON(a.schol_id=b.schol_id)
|
ON(a.schol_id=b.schol_isltn_ord)
|
||||||
WHERE 1=1
|
WHERE 1=1
|
||||||
<isNotEmpty property="selectPagingListQuery">
|
<isNotEmpty property="selectPagingListQuery">
|
||||||
$selectPagingListQuery$
|
$selectPagingListQuery$
|
||||||
</isNotEmpty>
|
</isNotEmpty>
|
||||||
ORDER BY 1=1
|
ORDER BY 1
|
||||||
<isEmpty property="orderByQuery">
|
<isEmpty property="orderByQuery">
|
||||||
, a.schol_nm asc
|
, a.schol_nm asc
|
||||||
</isEmpty>
|
</isEmpty>
|
||||||
<isNotEmpty property="orderByQuery">
|
<isNotEmpty property="orderByQuery">
|
||||||
, $orderByQuery$
|
, $orderByQuery$
|
||||||
</isNotEmpty>
|
</isNotEmpty>
|
||||||
LIMIT #recordCountPerPage# OFFSET #firstIndex#
|
OFFSET #firstIndex# ROWS FETCH NEXT #recordCountPerPage# ROWS ONLY;
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
</sqlMap>
|
</sqlMap>
|
||||||
|
|||||||
84
src/main/webapp/WEB-INF/jsp/oprtn/cmm/userPopListBower.jsp
Normal file
84
src/main/webapp/WEB-INF/jsp/oprtn/cmm/userPopListBower.jsp
Normal file
@ -0,0 +1,84 @@
|
|||||||
|
<%@ page contentType="text/html; charset=utf-8"%>
|
||||||
|
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||||
|
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
|
||||||
|
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||||
|
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||||
|
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
|
||||||
|
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||||
|
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
|
||||||
|
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="ko">
|
||||||
|
<head>
|
||||||
|
<title>학교명 검색</title>
|
||||||
|
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||||
|
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
|
||||||
|
<script type="text/javascript" src="${pageContext.request.contextPath}/kccadrPb/usr/script/popup.js"></script>
|
||||||
|
<script type="text/javaScript" language="javascript">
|
||||||
|
$(document).ready(function(){
|
||||||
|
});
|
||||||
|
|
||||||
|
function fncGoList(){
|
||||||
|
linkPage(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
function linkPage(pageNo){
|
||||||
|
var popList = document.popList ;
|
||||||
|
popList.pageIndex.value = pageNo ;
|
||||||
|
popList.action = "<c:url value='/kccadr/oprtn/comm/popup/userPopList.do'/>";
|
||||||
|
popList.submit();
|
||||||
|
}
|
||||||
|
|
||||||
|
function fncUserDataSlct(obj){
|
||||||
|
opener.$("#userId").val(obj.getAttribute('data-value'));
|
||||||
|
self.close();
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<!-- 일정 상세 -->
|
||||||
|
<form:form commandName="userManageVO" id="popList" name="popList" method="post" onsubmit="return false;">
|
||||||
|
<input type="hidden" name="pageIndex" value="<c:out value='${searchVO.pageIndex}' default='1' />"/>
|
||||||
|
<input type="hidden" name="pageUnit" value="<c:out value='${searchVO.pageUnit}' default='1' />"/>
|
||||||
|
<input type="hidden" name="searchSortCnd" value="<c:out value="${searchVO.searchSortCnd}" />" />
|
||||||
|
<input type="hidden" name="searchSortOrd" value="<c:out value="${searchVO.searchSortOrd}" />" />
|
||||||
|
|
||||||
|
<div class="area_popup">
|
||||||
|
<div class="cont_popup">
|
||||||
|
<div class="pop_list_top">
|
||||||
|
<input type="text" name="searchWord" id="searchWord" style="width: 450px;" value="<c:out value='${searchVO.searchWord}' />" placeholder="아이디 입력" size="20">
|
||||||
|
<button type="button" class="btn_type08" onclick="fncGoList(); return false;">검색</button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="pop_tb_type01 list2">
|
||||||
|
<table>
|
||||||
|
<colgroup>
|
||||||
|
<col style="width: auto;">
|
||||||
|
</colgroup>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th scope="col">아이디</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<c:forEach var="row" items="${userList}" varStatus="status">
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<a href="#" onclick="fncUserDataSlct(this); return false;" data-value="${row.mberId}"><c:out value="${row.mberId}" /></a>
|
||||||
|
<input type="hidden" name="userId" value="${row.mberId}"/>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</c:forEach>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="page">
|
||||||
|
<ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form:form>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@ -139,6 +139,20 @@ input:read-only {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function fileDownLoad() {
|
||||||
|
alert("개발전");
|
||||||
|
return;
|
||||||
|
var listForm = document.listForm;
|
||||||
|
listForm.action = "<c:url value='/kccadr/oprtn/cpyrgExprnClsrm/oprtnAplctFileAllDownLoad.do'/>";
|
||||||
|
listForm.submit();
|
||||||
|
}
|
||||||
|
|
||||||
|
function fncCreate() {
|
||||||
|
var listForm = document.listForm ;
|
||||||
|
listForm.action = "<c:url value='/kccadr/oprtn/cpyrgExprnClsrm/oprtnAplctMngReg.do'/>";
|
||||||
|
listForm.submit();
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
<title>신청관리</title>
|
<title>신청관리</title>
|
||||||
</head>
|
</head>
|
||||||
@ -279,7 +293,7 @@ input:read-only {
|
|||||||
<c:if test="${vEEduAplctVO.pageUnit == '100'}">selected</c:if>>100줄</option>
|
<c:if test="${vEEduAplctVO.pageUnit == '100'}">selected</c:if>>100줄</option>
|
||||||
</select>
|
</select>
|
||||||
<button type="button"
|
<button type="button"
|
||||||
onclick="excelDownLoad();">첨부파일 다운로드</button>
|
onclick="fileDownLoad();">첨부파일 다운로드</button>
|
||||||
<button type="button" class="btn_down_excel"
|
<button type="button" class="btn_down_excel"
|
||||||
onclick="excelDownLoad();">엑셀 다운로드</button>
|
onclick="excelDownLoad();">엑셀 다운로드</button>
|
||||||
</div>
|
</div>
|
||||||
@ -385,10 +399,6 @@ input:read-only {
|
|||||||
<!-- //list -->
|
<!-- //list -->
|
||||||
<div class="btn_wrap btn_layout01">
|
<div class="btn_wrap btn_layout01">
|
||||||
<div class="btn_left">
|
<div class="btn_left">
|
||||||
</div>
|
|
||||||
<div class="btn_center">
|
|
||||||
</div>
|
|
||||||
<div class="btn_right">
|
|
||||||
<select name="aprvlCdSelect" id="aprvlCdSelect"class="sel_type1">
|
<select name="aprvlCdSelect" id="aprvlCdSelect"class="sel_type1">
|
||||||
<option value="">선택</option>
|
<option value="">선택</option>
|
||||||
<option value="10">운영신청</option>
|
<option value="10">운영신청</option>
|
||||||
@ -397,7 +407,13 @@ input:read-only {
|
|||||||
<option value="60">운영확정</option>
|
<option value="60">운영확정</option>
|
||||||
<option value="90">운영미확정</option>
|
<option value="90">운영미확정</option>
|
||||||
</select>
|
</select>
|
||||||
<button class="btn_type06" onclick="fncStatusChangeAll(); return false;" >일괄변경</button>
|
<button class="btn_type04" onclick="fncStatusChangeAll(); return false;" >일괄변경</button>
|
||||||
|
</div>
|
||||||
|
<div class="btn_center">
|
||||||
|
</div>
|
||||||
|
<div class="btn_right">
|
||||||
|
|
||||||
|
<button class="btn_type06" onclick="fncCreate(); return false;" >등록</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- page -->
|
<!-- page -->
|
||||||
|
|||||||
@ -1,44 +1,123 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
|
<%@ 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="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||||
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
|
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
|
||||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
|
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
|
||||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||||
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
|
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
|
||||||
|
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
|
||||||
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
|
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
|
||||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
<%@ 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" />
|
* @Class Name : oprtnAplctAnncmMngReg.jsp
|
||||||
|
* @Description : 운영신청안내관리 등록
|
||||||
|
* @Modification Information
|
||||||
|
* @
|
||||||
|
* @ 수정일 수정자 수정내용
|
||||||
|
* @ ------- -------- ---------------------------
|
||||||
|
* @ 2021.12.16 조용준 최초 생성
|
||||||
|
* @author 조용주
|
||||||
|
* @since 2021.12.16
|
||||||
|
* @version 1.0
|
||||||
|
* @see
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
%>
|
||||||
<c:set var="now" value="<%=new java.util.Date()%>" />
|
<c:set var="now" value="<%=new java.util.Date()%>" />
|
||||||
<c:set var="sysYear"><fmt:formatDate value="${now}" pattern="yyyy" /></c:set>
|
<c:set var="sysYear">
|
||||||
|
<fmt:formatDate value="${now}" pattern="yyyy" />
|
||||||
|
</c:set>
|
||||||
<html lang="ko">
|
<html lang="ko">
|
||||||
<head>
|
<head>
|
||||||
<title>교육신청 수정</title>
|
<title>교육과정관리</title>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
$( document ).ready(function(){
|
$(document).ready(function() {
|
||||||
$(".btn_add_file").on('click', function(){
|
/* 학교구분 라이도버튼 비활성화 */
|
||||||
|
$("input[name=scholDivCd]").attr("onclick", "return(false);")
|
||||||
|
$(".btn_type01").on('click', function(){
|
||||||
$("#file_temp").click();
|
$("#file_temp").click();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
function fncSave(){
|
||||||
|
|
||||||
|
if($("#title").val() == ""){
|
||||||
|
alert("제목을 입력해주세요.");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if($("#strtPnttm").val() == ""){
|
||||||
|
alert("시작일을 입력해주세요.");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if($("#endPnttm").val() == ""){
|
||||||
|
alert("종료일을 입력해주세요.");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
/* if($("#anncmCn").val() == ""){
|
||||||
|
alert("안내내용을 입력해주세요.");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if($("#popupCn").val() == ""){
|
||||||
|
alert("팝업내용을 입력해주세요.");
|
||||||
|
return false;
|
||||||
|
} */
|
||||||
|
|
||||||
|
//첨부파일 등록 처리
|
||||||
|
$('#file_temp').val(""); //첨부파일 중복 등록 방지를 위해 추가
|
||||||
|
//var data = new FormData(form);
|
||||||
|
var data = new FormData(document.getElementById("createForm"));
|
||||||
|
|
||||||
|
//첨부파일 등록 처리-step1
|
||||||
|
//if(!data.get("fileSize")){
|
||||||
|
if($('#tbody_fiielist tr').length*1<=0){
|
||||||
|
alert("첨부파일을 등록해 주세요");
|
||||||
|
return false;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//첨부파일 등록 처리-step2
|
||||||
|
_fileForm2.forEach(function(obj, idx) {
|
||||||
|
if (obj) data.append("file"+idx, obj.fileObj);
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
if(confirm("저장하시겠습니까?")){
|
||||||
|
var url = "${pageContext.request.contextPath}/kccadr/oprtn/cpyrgExprnClsrm/oprtnAplctAnncmMngRegAjax.do";
|
||||||
|
|
||||||
|
console.log(data);
|
||||||
|
$.ajax({
|
||||||
|
type:"POST",
|
||||||
|
enctype: 'multipart/form-data',
|
||||||
|
url: url,
|
||||||
|
data: data,
|
||||||
|
dataType:'json',
|
||||||
|
async: false,
|
||||||
|
processData: false,
|
||||||
|
contentType: false,
|
||||||
|
cache: false,
|
||||||
|
success:function(returnData){
|
||||||
|
//if(returnData.result == "success" && returnData.rsCnt > 0 ){
|
||||||
|
if(returnData.result == "success"){
|
||||||
|
alert("저장되었습니다.");
|
||||||
|
fncGoList();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error:function(request , status, error){
|
||||||
|
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function fncGoList(){
|
function fncGoList(){
|
||||||
var listForm = document.listForm ;
|
var listForm = document.listForm ;
|
||||||
listForm.action = "<c:url value='/kccadr/oprtn/cpyrgExprnClsrm/oprtnAplctMngList.do'/>";
|
listForm.action = "<c:url value='/kccadr/oprtn/cpyrgExprnClsrm/oprtnAplctMngList.do'/>";
|
||||||
listForm.submit();
|
listForm.submit();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function fncGoDetail(){
|
|
||||||
var createForm = document.createForm ;
|
|
||||||
createForm.action = "<c:url value='/kccadr/oprtn/cpyrgExprnClsrm/oprtnAplctMngDetail.do'/>";
|
|
||||||
createForm.submit();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
function fncScholList() {
|
function fncScholList() {
|
||||||
commonPopWindowopenForm(
|
commonPopWindowopenForm(
|
||||||
"${pageContext.request.contextPath}/kccadr/oprtn/comm/popup/scholPopList.do"
|
"${pageContext.request.contextPath}/kccadr/oprtn/comm/popup/scholPopList.do"
|
||||||
@ -48,6 +127,15 @@
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function fncUserList() {
|
||||||
|
commonPopWindowopenForm(
|
||||||
|
"${pageContext.request.contextPath}/kccadr/oprtn/comm/popup/userPopList.do"
|
||||||
|
, "700"
|
||||||
|
, "750"
|
||||||
|
, "UserListPop",$("#popupForm")
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
function callBackSchPop(schData){
|
function callBackSchPop(schData){
|
||||||
if(emptyObject(schData)){
|
if(emptyObject(schData)){
|
||||||
alert("오류가 발생하였습니다. 관리자에게 문의해주세요 [ERR-SCH-POP]")
|
alert("오류가 발생하였습니다. 관리자에게 문의해주세요 [ERR-SCH-POP]")
|
||||||
@ -63,288 +151,85 @@
|
|||||||
$('input[name=isltnScholYn][value='+schData.isltnScholYn+']').prop('checked', true);
|
$('input[name=isltnScholYn][value='+schData.isltnScholYn+']').prop('checked', true);
|
||||||
}
|
}
|
||||||
|
|
||||||
function fncSave(type){
|
function oprtnYn(){
|
||||||
|
var radioVal = $('input[name="exprnClsrnCd"]:checked').val();
|
||||||
if(type == 'S'){
|
if(radioVal == "01"){
|
||||||
if (!validCheck()) return;
|
$('input[name="eClsrnYear"]').attr('disabled',false);
|
||||||
}
|
}else{
|
||||||
|
$('input[name="eClsrnYear"]').attr('disabled',true);
|
||||||
var url = '${pageContext.request.contextPath}/kccadr/oprtn/cpyrgExprnClsrm/oprtnAplctMngRegAjax.do';
|
$('input[name="eClsrnYear"]').prop('checked',false);
|
||||||
if(VeConstants.MODE_UPT == $("#mode").val()){
|
|
||||||
url = '${pageContext.request.contextPath}/kccadr/oprtn/cpyrgExprnClsrm/oprtnAplctMngMdfyAjax.do';
|
|
||||||
}
|
|
||||||
|
|
||||||
fncDataReplace();
|
|
||||||
|
|
||||||
var data = new FormData(document.getElementById("createForm"));
|
|
||||||
if(confirm("교육신청을 "+(type == 'I'? '임시저장' : '등록')+"하시겠습니까?")){
|
|
||||||
_fileForm2.forEach(function(obj, idx) {
|
|
||||||
if (obj) data.append("file"+idx, obj.fileObj);
|
|
||||||
});
|
|
||||||
|
|
||||||
//첨부파일 등록 처리
|
|
||||||
$('#file_temp').val(""); //첨부파일 중복 등록 방지를 위해 추가
|
|
||||||
|
|
||||||
$.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 fncDataReplace(){
|
|
||||||
if($("#email1").val() != '' && $("#email2").val() != '') {
|
|
||||||
var emailAll = document.getElementById("email1").value + "@" + document.getElementById("email2").value;
|
|
||||||
$("#email").val(emailAll)
|
|
||||||
}
|
|
||||||
|
|
||||||
if($("#birthYear").val() != '' && $("#birthMonth").val() != '' && $("#birthDay").val() != ''){
|
|
||||||
$("#dBirth").val($("#birthYear").val()+$("#birthMonth").val()+$("#birthDay").val());
|
|
||||||
}
|
|
||||||
|
|
||||||
if($("#cmpltNum").val() != ''){
|
|
||||||
$('#cmpltNum').val($('#cmpltNum').val().replace(/-/gi, ''));
|
|
||||||
}
|
|
||||||
|
|
||||||
if($("input[name=eClsrnYear]:checked").length != 0){
|
|
||||||
var arr = $.map($("input[name=eClsrnYear]:checked"), function(elm,idx){return [elm.value]});
|
|
||||||
|
|
||||||
$('#exprnClsrnYear').val(arr);
|
|
||||||
}
|
|
||||||
$('#rprtSbmt').val($('#rprtSbmt').val().replace(/-/gi, ''));
|
|
||||||
$('#oprtnStrtDt').val($('#oprtnStrtDt').val().replace(/[.]/gi, ''));
|
|
||||||
$('#oprtnEndDt').val($('#oprtnEndDt').val().replace(/[.]/gi, ''));
|
|
||||||
}
|
|
||||||
|
|
||||||
function validCheck(){
|
|
||||||
|
|
||||||
if($("#scholInsttNm").val() == ''){
|
|
||||||
alert('학교(기관)명을 선택해주세요.');
|
|
||||||
$("#scholInsttNm").focus();
|
|
||||||
return false;
|
|
||||||
};
|
|
||||||
|
|
||||||
if($("#chrgNm").val() == ''){
|
|
||||||
alert('교사명을 입력해주세요.');
|
|
||||||
$("#chrgNm").focus();
|
|
||||||
return false;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
if($("#chrgSexCd").val() == ''){
|
|
||||||
alert('성별을 선택해주세요.');
|
|
||||||
$("#chrgSexCd").focus();
|
|
||||||
return false;
|
|
||||||
};
|
|
||||||
|
|
||||||
if($("#email1").val() == '' || $("#email2").val() == ''){
|
|
||||||
alert('이메일을 입력해주세요.');
|
|
||||||
$("#email1").focus();
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if($("#post").val() == ''){
|
|
||||||
alert('주소를 입력해주세요.');
|
|
||||||
$("#post").focus();
|
|
||||||
return false;
|
|
||||||
};
|
|
||||||
|
|
||||||
if($("#addrDetail").val() == ''){
|
|
||||||
alert('상세주소를 입력해주세요.');
|
|
||||||
$("#addrDetail").focus();
|
|
||||||
return false;
|
|
||||||
};
|
|
||||||
|
|
||||||
if($("#chrgMjr").val() == ''){
|
|
||||||
alert('담당교과를 입력해주세요.');
|
|
||||||
$("#chrgMjr").focus();
|
|
||||||
return false;
|
|
||||||
};
|
|
||||||
|
|
||||||
if($("#birthYear").val() == ''){
|
|
||||||
alert('생년월일 년도를 선택해주세요.');
|
|
||||||
$("#birthYear").focus();
|
|
||||||
return false;
|
|
||||||
};
|
|
||||||
if($("#birthMonth").val() == ''){
|
|
||||||
alert('생년월일 월를 선택해주세요.');
|
|
||||||
$("#birthMonth").focus();
|
|
||||||
return false;
|
|
||||||
};
|
|
||||||
if($("#birthDay").val() == ''){
|
|
||||||
alert('생년월일 일자를 선택해주세요.');
|
|
||||||
$("#birthDay").focus();
|
|
||||||
return false;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
if($("#cmpltYear").val() == ''){
|
|
||||||
alert('이수년도를 입력해주세요.');
|
|
||||||
$("#cmpltYear").focus();
|
|
||||||
return false;
|
|
||||||
};
|
|
||||||
|
|
||||||
if($("#cmpltNum").val() == ''){
|
|
||||||
alert('이수번호를 입력해주세요.');
|
|
||||||
$("#cmpltNum").focus();
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if($("#exprnClsrnCd").val() == ''){
|
|
||||||
alert('체험교실운영여부 구분을 선택해주세요.');
|
|
||||||
$("#exprnClsrnCd").focus();
|
|
||||||
return false;
|
|
||||||
};
|
|
||||||
|
|
||||||
if($("input[name=eClsrnYear]:checked").length == 0){
|
|
||||||
alert('체험교실운영여부 년도를 하나이상 선택하셔야합니다.');
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if($("#exprnClsrnAplct").val() == ''){
|
|
||||||
alert('신청경로을 선택해주세요.');
|
|
||||||
$("#exprnClsrnAplct").focus();
|
|
||||||
return false;
|
|
||||||
};
|
|
||||||
|
|
||||||
if($("#exprnClsrnAplct").val() == '04'){
|
|
||||||
if($("#exprnClsrnAplctCn").val() == '') {
|
|
||||||
alert('신청경로 기타 내용을 입력해주세요.');
|
|
||||||
$("#exprnClsrnAplctCn").focus();
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
};
|
|
||||||
|
|
||||||
if($("#trgtGrade").val() == ''){
|
|
||||||
alert('대학년수를 입력해주세요.');
|
|
||||||
$("#trgtGrade").focus();
|
|
||||||
return false;
|
|
||||||
};
|
|
||||||
if($("#trgtClsrm").val() == ''){
|
|
||||||
alert('대상반을 입력해주세요.');
|
|
||||||
$("#trgtClsrm").focus();
|
|
||||||
return false;
|
|
||||||
};
|
|
||||||
|
|
||||||
if($("#trgtPrsnl").val() == ''){
|
|
||||||
alert('대학생수를 입력해주세요.');
|
|
||||||
$("#trgtPrsnl").focus();
|
|
||||||
return false;
|
|
||||||
};
|
|
||||||
|
|
||||||
if($("#rprtSbmt").val() == ''){
|
|
||||||
alert('보고서제출일을 입력해주세요.');
|
|
||||||
$("#rprtSbmt").focus();
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function fncEtcInputEnable(thisObj){
|
||||||
if($("#oprtnStrtDt").val() == ''){
|
$("#exprnClsrnAplctCn").val('');
|
||||||
alert('운영시기 시작일을 입력해주세요.');
|
if($(thisObj).val() == '04'){
|
||||||
$("#oprtnStrtDt").focus();
|
$("#exprnClsrnAplctCn").prop('disabled' , false);
|
||||||
return false;
|
}else{
|
||||||
|
$("#exprnClsrnAplctCn").prop('disabled' , true);
|
||||||
}
|
}
|
||||||
|
|
||||||
if($("#oprtnEndDt").val() == ''){c
|
|
||||||
alert('운영시기 종료일을 입력해주세요.');
|
|
||||||
$("#oprtnEndDt").focus();
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if($(".uploaded_obj").length == 0){
|
|
||||||
alert("파일을 첨부해 주세요.");
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div class="mask2" onclick="timeLayerUtil()"></div>
|
<form:form id="listForm" name="listForm" method="post">
|
||||||
|
<input type="hidden" name="pageIndex" value="<c:out value='${vEPrcsDetailVO.pageIndex}' />"/>
|
||||||
|
<input type="hidden" name="searchSortCnd" value="<c:out value="${vEPrcsDetailVO.searchSortCnd}" />" />
|
||||||
|
<input type="hidden" name="searchSortOrd" value="<c:out value="${vEPrcsDetailVO.searchSortOrd}" />" />
|
||||||
|
</form:form>
|
||||||
|
|
||||||
<form id="popupForm" name="popupForm" method="post">
|
<form id="popupForm" name="popupForm" method="post">
|
||||||
<input type="hidden" name="openType" id="openType" value="callBackSchPop" />
|
<input type="hidden" name="openType" id="openType" value="callBackSchPop" />
|
||||||
<input type="hidden" name="pageIndex" id="pageIndex" value="1" />
|
<input type="hidden" name="pageIndex" id="pageIndex" value="1" />
|
||||||
<input type="hidden" name="pageUnit" id="pageUnit" value="5" />
|
<input type="hidden" name="pageUnit" id="pageUnit" value="5" />
|
||||||
<input type="hidden" name="callBackFnc" id="callBackFnc" value="callBackSchPop" />
|
<input type="hidden" name="callBackFnc" id="callBackFnc" value="callBackSchPop" />
|
||||||
</form>
|
</form>
|
||||||
<form:form id="listForm" name="listForm" commandName="modelVO" method="post" onsubmit="return false;">
|
<form:form id="createForm" name="createForm" commandName="vEPrcsDetailVO" method="post">
|
||||||
<input type="hidden" name="pageIndex" value="<c:out value='${modelVO.pageIndex}' default='1' />"/>
|
<input type="hidden" name="lctrDivCd" value="30"/>
|
||||||
<input type="hidden" name="searchSortCnd" value="<c:out value="${modelVO.searchSortCnd}" />" />
|
<input type="hidden" name="limitcount" id="limitcount" value="3" /><!-- 최대 업로드 파일갯수 -->
|
||||||
<input type="hidden" name="searchSortOrd" value="<c:out value="${modelVO.searchSortOrd}" />" />
|
<!-- cont -->
|
||||||
</form:form>
|
<div class="cont_wrap">
|
||||||
<form:form id="createForm" name="createForm" commandName="modelVO" onsubmit="return false;">
|
<div class="box">
|
||||||
<input type="hidden" name="userId" id="userId" 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" name="sbmtYn" id="sbmtYn" value=""/><!-- 제출여부 -->
|
|
||||||
<input type="hidden" name="aprvlCd" id="aprvlCd" value=""/><!-- 승인코드 -->
|
|
||||||
<input type="hidden" name="dBirth" id="dBirth" value=""/><!-- dBirth -->
|
|
||||||
<input type="hidden" name="exprnClsrnYear" id="exprnClsrnYear" value=""/><!-- exprnClsrnYear -->
|
|
||||||
<input type="hidden" name="limitcount" id="limitcount" value="3" /><!-- 최대 업로드 파일갯수 -->
|
|
||||||
<input type="hidden" name="allrowFileExtsn" id="allrowFileExtsn" value="gif,jpg,jpeg,png" /><!-- 최대 업로드 파일갯수 -->
|
|
||||||
<input type="hidden" name="mode" id="mode" value="${modelVO.mode}" />
|
|
||||||
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="${info.eduAplctOrd}" />
|
|
||||||
<input type="hidden" name="oprtnFileId" id="oprtnFileId" value="${info.oprtnFileId}" />
|
|
||||||
|
|
||||||
<!-- cont -->
|
|
||||||
<div class="cont_wrap">
|
|
||||||
<div class="box">
|
|
||||||
<!-- cont_tit -->
|
<!-- cont_tit -->
|
||||||
<div class="cont_tit">
|
<div class="cont_tit">
|
||||||
<h2>교육신청 내용 변경</h2>
|
<h2>운영신청서 등록</h2>
|
||||||
<ul class="cont_nav">
|
<ul class="cont_nav">
|
||||||
<li class="home"><a href="/"><i></i></a></li>
|
<li class="home"><a href="/"><i></i></a></li>
|
||||||
<li>
|
<li>
|
||||||
<p>교육신청관리</p>
|
<p>저작권 체험교실</p>
|
||||||
</li>
|
</li>
|
||||||
<li><span class="cur_nav">교육신청 내용 변경</span></li>
|
<li>
|
||||||
|
<p>운영신청 관리</p>
|
||||||
|
</li>
|
||||||
|
<li><span class="cur_nav">운영신청서 등록</span></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<!-- //cont_tit -->
|
<!-- //cont_tit -->
|
||||||
|
|
||||||
<div class="cont">
|
<div class="cont">
|
||||||
<!-- list_상세 -->
|
<div class="tb_tit01">
|
||||||
<div class="tb_tit01">
|
<p>저작권 체험교실 운영 신청 등록</p>
|
||||||
<p>교육신청 내용</p>
|
</div>
|
||||||
</div>
|
<!-- list_상세 -->
|
||||||
<div class="tb_type02">
|
<div class="tb_type02 wirte">
|
||||||
<table>
|
<table>
|
||||||
<colgroup>
|
<colgroup>
|
||||||
<col style="width: 220px;">
|
<col style="width: 210px;">
|
||||||
<col style="width: auto;">
|
<col style="width: auto;">
|
||||||
</colgroup>
|
</colgroup>
|
||||||
<tbody>
|
|
||||||
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
<th scope="row">
|
<th scope="row">
|
||||||
<p class="req_text"><span>필수입력 항목</span>*</p>
|
<p class="req_text"><span>필수입력 항목</span>*</p>
|
||||||
<p>학교(기관)명</p>
|
<p>교사 아이디</p>
|
||||||
</th>
|
</th>
|
||||||
<td colspan="3">
|
<td>
|
||||||
<input type="text" value="${info.scholInsttNm}" size="25" readonly id="scholInsttNm" name="scholInsttNm" title="학교(기관)명">
|
<input type="text" value="${info.userId}" style="min-width:400px;" size="25" readonly id="userId" name="userId" title="교사아이디">
|
||||||
<button type="button" class="btn_type06" data-tooltip="sub01_pop02" onclick="fncScholList();">학교검색</button>
|
<button type="button" class="btn_type06" onclick="fncUserList();">사용자 검색</button>
|
||||||
<input type="hidden" size="25" title="학교명코드" id="stndrdScholCd" name="stndrdScholCd" value="${info.stndrdScholCd}">
|
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
@ -353,8 +238,10 @@
|
|||||||
<p>교사명</p>
|
<p>교사명</p>
|
||||||
</th>
|
</th>
|
||||||
<td>
|
<td>
|
||||||
<input type="text" value="${info.chrgNm}" size="25" id="chrgNm" name="chrgNm" title="담당자명">
|
<input type="text" value="${info.chrgNm}" style="min-width:400px;" size="25" id="chrgNm" name="chrgNm" title="교사명">
|
||||||
</td>
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
<th scope="row">
|
<th scope="row">
|
||||||
<p class="req_text"><span>필수입력 항목</span>*</p>
|
<p class="req_text"><span>필수입력 항목</span>*</p>
|
||||||
<p>성별</p>
|
<p>성별</p>
|
||||||
@ -366,17 +253,64 @@
|
|||||||
<tr>
|
<tr>
|
||||||
<th scope="row">
|
<th scope="row">
|
||||||
<p class="req_text"><span>필수입력 항목</span>*</p>
|
<p class="req_text"><span>필수입력 항목</span>*</p>
|
||||||
<p>이메일</p>
|
<p>휴대폰</p>
|
||||||
</th>
|
</th>
|
||||||
<td class="input_mail" colspan="3">
|
<td class="input_phone">
|
||||||
<c:set var="email" value="${fn:split(info.email,'@')}"/>
|
<c:set var="clphone" value="${fn:split(info.clphone,'-')}"/>
|
||||||
<input type="text" value="${email[0]}" name="email1" id="email1" size="20" maxlength="30" title="이메일 주소 입력">
|
<kc:select codeId="ADR020" id="clphone1" name="clphone1" selectedValue="${clphone[0]}" defaultValue="010" styleClass="sel_type1"/>
|
||||||
@
|
-
|
||||||
<input type="text" value="${email[1]}" name="email2" id="email2" size="20" maxlength="30" title="이메일 직접 입력">
|
<input type="text" value="${clphone[1]}" id="clphone2" onkeyup="onlyNumber(this);" name="clphone2" maxlength="4" title="휴대폰 중간자리">
|
||||||
<kc:select codeId="ADR030" id="emailType" name="emailType" styleClass="sel_type1" defaultValue="" defaultText="직접입력" onChange="emailSelect(this);"/>
|
-
|
||||||
<span class="table_req_text">
|
<input type="text" value="${clphone[2]}" id="clphone3" onkeyup="onlyNumber(this);" name="clphone3" maxlength="4" title="휴대폰 마지막자리">
|
||||||
※ 교내에서 확인 가능한 메일 계정 입력 (예) 교육청 도메인
|
</td>
|
||||||
</span>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">
|
||||||
|
<p class="req_text"><span>필수입력 항목</span>*</p>
|
||||||
|
<p>전화</p>
|
||||||
|
</th>
|
||||||
|
<td class="input_phone">
|
||||||
|
<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>
|
||||||
|
<label for="eduSlctAreaCd" class="label">지역 선택</label>
|
||||||
|
<kc:select codeId="VE0008" selectedValue="${info.eduSlctAreaCd}" id="eduSlctAreaCd" name="eduSlctAreaCd" styleClass="selType1" css="readonly" defaultText="지역" defaultValue=""
|
||||||
|
script="onFocus='this.initialSelect = this.selectedIndex;' onChange='this.selectedIndex = this.initialSelect;'"/>
|
||||||
|
<input type="text" value="${info.scholInsttNm}" style="min-width:400px;" size="25" readonly id="scholInsttNm" name="scholInsttNm" title="학교(기관)명">
|
||||||
|
<button type="button" class="btn_type06" onclick="fncScholList();">학교검색</button>
|
||||||
|
<input type="hidden" size="25" title="학교명코드" id="stndrdScholCd" name="stndrdScholCd" value="${info.stndrdScholCd}">
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">
|
||||||
|
<p class="req_text"><span>필수입력 항목</span>*</p>
|
||||||
|
<p>학교구분</p>
|
||||||
|
</th>
|
||||||
|
<td>
|
||||||
|
<kc:radio codeId="VE0009" id="scholDivCd" name="scholDivCd" selectedValue="${empty info.scholDivCd ? '10' : info.scholDivCd}" />
|
||||||
|
</td>
|
||||||
|
<!-- </tr> -->
|
||||||
|
<tr>
|
||||||
|
<th scope="row">
|
||||||
|
<p class="req_text"><span>필수입력 항목</span>*</p>
|
||||||
|
<p>학교지역특성</p>
|
||||||
|
</th>
|
||||||
|
<td>
|
||||||
|
<input type="checkbox" id="islandsYn" name="islandsYn" value="Y"><label for="islandsYn"> 도서지역</label>
|
||||||
|
<input type="checkbox" id="remoteYn" name="remoteYn" value="Y"><label for="remoteYn"> 벽지지역</label>
|
||||||
|
<input type="checkbox" id="clsCmbtYn" name="clsCmbtYn" value="Y"><label for="clsCmbtYn"> 접적지역</label>
|
||||||
|
<input type="checkbox" id="ppulDclnYn" name="ppulDclnYn" value="Y"><label for="ppulDclnYn"> 인구감소지역</label>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="input_adress">
|
<tr class="input_adress">
|
||||||
@ -384,129 +318,127 @@
|
|||||||
<p class="req_text"><span>필수입력 항목</span>*</p>
|
<p class="req_text"><span>필수입력 항목</span>*</p>
|
||||||
<p>주소</p>
|
<p>주소</p>
|
||||||
</th>
|
</th>
|
||||||
<td colspan="3">
|
|
||||||
<input type="text" class="adressFst adr_input" value="${info.post}" id="post" name="post" title="우편번호" readonly />
|
|
||||||
<%--<button type="button" class="btnType01" 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="상세주소" readonly>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<th scope="row">
|
|
||||||
<p class="req_text"><span>필수입력 항목</span>*</p>
|
|
||||||
<p>담당교과</p>
|
|
||||||
</th>
|
|
||||||
<td colspan="3">
|
|
||||||
<input type="text" name="chrgMjr" id="chrgMjr" value="${info.chrgMjr}" size="25">
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<th scope="row">
|
|
||||||
<p class="req_text"><span>생년월일</span>*</p>
|
|
||||||
<p>생년월일</p>
|
|
||||||
</th>
|
|
||||||
<td colspan="3">
|
|
||||||
<c:if test="${not empty info.dBirth}">
|
|
||||||
<c:set var="birthYear" value="${fn:substring(info.dBirth, 0, 4)}"/>
|
|
||||||
<c:set var="birthMonth" value="${fn:substring(info.dBirth, 4, 6)}"/>
|
|
||||||
<c:set var="birthDay" value="${fn:substring(info.dBirth, 6, 8)}"/>
|
|
||||||
</c:if>
|
|
||||||
<select name="birthYear" id="birthYear" class="sel_type1 birthYear" selectValue="${birthYear}"></select>
|
|
||||||
<select name="birthMonth" id="birthMonth" class="sel_type1 birthMonth" selectValue="${birthMonth}"></select>
|
|
||||||
<select name="birthDay" id="birthDay" class="sel_type1 birthDay" selectValue="${birthDay}"></select>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<th scope="row">
|
|
||||||
<p class="req_text"><span>필수입력 항목</span>*</p>
|
|
||||||
<p>저작권 오프라인<br/>교원연수</p>
|
|
||||||
</th>
|
|
||||||
<td colspan="3">
|
|
||||||
<span class="t_bold">이수년도</span>
|
|
||||||
<select id="cmpltYear" name="cmpltYear" class="sel_type1 yearSelect"
|
|
||||||
selectValue="${info.cmpltYear}" start="${sysYear}" emptyOption="true" selected="" order="asc"></select>
|
|
||||||
<span class="t_bold">이수번호</span> <input type="text" value="${info.cmpltNum}" size="15" id="cmpltNum" name="cmpltNum" maxlength="12" onkeyup="cmpltNoFormat(this);" title="이수번호">
|
|
||||||
<span class="table_req_text">
|
|
||||||
※ 교내에서 확인 가능한 메일 계정 입력 (예) 교육청 도메인
|
|
||||||
</span>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<th scope="row">
|
|
||||||
<p class="req_text"><span>필수입력 항목</span>*</p>
|
|
||||||
<p>체험교실운영여부</p>
|
|
||||||
</th>
|
|
||||||
<td colspan="3">
|
|
||||||
<kc:radio codeId="VE0031" name="exprnClsrnCd" id="exprnClsrnCd" selectedValue="${empty info.exprnClsrnCd ? '01' : info.exprnClsrnCd}"/><br/>
|
|
||||||
<c:forEach var="year" begin="2009" end="${sysYear}" varStatus="status">
|
|
||||||
<input type="checkbox" id="exprnClsrnYear${status.count}" name="eClsrnYear" title="${year}" value="${year}" ${fn:contains(info.exprnClsrnYear, year) ? 'checked' : ''}>
|
|
||||||
<label for="exprnClsrnYear${status.count}">${year}</label>
|
|
||||||
<c:if test="${status.count % 10 eq 0}">
|
|
||||||
<br/>
|
|
||||||
</c:if>
|
|
||||||
</c:forEach>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<th scope="row">
|
|
||||||
<p class="req_text"><span>필수입력 항목</span>*</p>
|
|
||||||
<p>신청경로</p>
|
|
||||||
</th>
|
|
||||||
<td colspan="3">
|
|
||||||
<kc:radio codeId="VE0030" name="exprnClsrnAplct" id="exprnClsrnAplct" selectedValue="${empty info.exprnClsrnAplct ? '01' : info.exprnClsrnAplct}" onChange="fncEtcInputEnable(this)"/>
|
|
||||||
<input type="text" value="${info.exprnClsrnAplctCn}" size="25" id="exprnClsrnAplctCn" name="exprnClsrnAplctCn" title="신청경로기타설명" ${info.exprnClsrnAplct eq '04' ? '' : 'disabled'}>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="tb_tit01">
|
|
||||||
<div class="tb_tit01_left">
|
|
||||||
<p>운영 계획</p>
|
|
||||||
<span class="cf_text">* 항목은 필수 입력 사항입니다.</span>
|
|
||||||
</div>
|
|
||||||
</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>
|
<td>
|
||||||
<input type="text" name="trgtGrade" id="trgtGrade" onkeyup="onlyNumber(this);" maxlength="3" value="${info.trgtGrade}" title="교육대상" size="20"> 학년
|
<input type="text" value="${info.post}" class="adressFst" id="post" name="post" title="우편번호" readonly><br/><%--<button type="button" class="btnType01">주소찾기</button>--%>
|
||||||
</td>
|
<input type="text" value="${info.addr}" class="adressMid" id="addr" name="addr" title="중간주소" readonly><br/>
|
||||||
<th scope="row">
|
<input type="text" value="${info.addrDetail}" class="adressLst" id="addrDetail" name="addrDetail" title="상세주소" readonly>
|
||||||
<p class="req_text"><span>필수입력 항목</span>*</p>
|
|
||||||
<p>대상 반</p>
|
|
||||||
</th>
|
|
||||||
<td>
|
|
||||||
<input type="text" name="trgtClsrm" id="trgtClsrm" onkeyup="onlyNumber(this);" maxlength="3" value="${info.trgtClsrm}" title="교육인원" size="20"> 반
|
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th scope="row">
|
<th scope="row">
|
||||||
<p class="req_text"><span>필수입력 항목</span>*</p>
|
<p class="req_text"><span>필수입력 항목</span>*</p>
|
||||||
<p>대학생수</p>
|
<p>이메일</p>
|
||||||
</th>
|
</th>
|
||||||
<td>
|
<td class="input_mail">
|
||||||
<input type="text" name="trgtPrsnl" id="trgtPrsnl" onkeyup="onlyNumber(this);" maxlength="4" value="${info.trgtPrsnl}" title="교육대상" size="20"> 명
|
<c:set var="email" value="${fn:split(info.email,'@')}"/>
|
||||||
|
<input type="text" value="${email[0]}" onkeyup="onlyAlphabetNumber(this);" 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);"/>
|
||||||
</td>
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
<th scope="row">
|
<th scope="row">
|
||||||
<p class="req_text"><span>필수입력 항목</span>*</p>
|
<p class="req_text"><span>필수입력 항목</span>*</p>
|
||||||
<p>보고서제출일</p>
|
<p>담당교과</p>
|
||||||
</th>
|
</th>
|
||||||
<td>
|
<td colspan="3">
|
||||||
<div class="calendar_wrap">
|
<label for="chrgMjr" class="label">담당교과 입력</label>
|
||||||
<fmt:parseDate value="${info.rprtSbmt}" var="rprtSbmt" pattern="yyyyMMdd"/>
|
<input type="text" name="chrgMjr" id="chrgMjr" value="${info.chrgMjr}" size="25">
|
||||||
<input type="text" value="<fmt:formatDate value="${rprtSbmt}" pattern="yyyy.MM.dd"/>" name="rprtSbmt" id="rprtSbmt" class="calendar" title="시작일 선택">
|
</td>
|
||||||
</div>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">
|
||||||
|
<p class="req_text"><span>생년월일</span>*</p>
|
||||||
|
<p>생년월일</p>
|
||||||
|
</th>
|
||||||
|
<td colspan="3">
|
||||||
|
<c:if test="${not empty info.dBirth}">
|
||||||
|
<c:set var="birthYear" value="${fn:substring(info.dBirth, 0, 4)}"/>
|
||||||
|
<c:set var="birthMonth" value="${fn:substring(info.dBirth, 4, 6)}"/>
|
||||||
|
<c:set var="birthDay" value="${fn:substring(info.dBirth, 6, 8)}"/>
|
||||||
|
</c:if>
|
||||||
|
<label for="birthYear" class="label">년도 선택</label>
|
||||||
|
<select name="birthYear" id="birthYear" class="selType1 birthYear" selectValue="${birthYear}"></select>
|
||||||
|
<label for="birthMonth" class="label">월 선택</label>
|
||||||
|
<select name="birthMonth" id="birthMonth" class="selType1 birthMonth" selectValue="${birthMonth}"></select>
|
||||||
|
<label for="birthDay" class="label">일 선택</label>
|
||||||
|
<select name="birthDay" id="birthDay" class="selType1 birthDay" selectValue="${birthDay}"></select>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">
|
||||||
|
<p class="req_text"><span>필수입력 항목</span>*</p>
|
||||||
|
<p>체험교실운영여부</p>
|
||||||
|
</th>
|
||||||
|
<td colspan="3">
|
||||||
|
<kc:radio codeId="VE0031" name="exprnClsrnCd" id="exprnClsrnCd"
|
||||||
|
selectedValue="${empty info.exprnClsrnCd ? '01' : info.exprnClsrnCd}"
|
||||||
|
onChange="oprtnYn()"/><br/>
|
||||||
|
<c:forEach var="year" begin="2009" end="${sysYear-1}" varStatus="status">
|
||||||
|
<input type="checkbox" id="exprnClsrnYear${status.count}" name="eClsrnYear" title="${year}" value="${year}" ${fn:contains(info.exprnClsrnYear, year) ? 'checked' : ''}>
|
||||||
|
<label for="exprnClsrnYear${status.count}">${year}</label>
|
||||||
|
<c:if test="${status.count % 10 eq 0}">
|
||||||
|
<br/>
|
||||||
|
</c:if>
|
||||||
|
</c:forEach>
|
||||||
|
</br>
|
||||||
|
<span>※ 소속학교 변동 여부와는 관계없이 기운영 여부를 체크.</span>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">
|
||||||
|
<p class="req_text"><span>필수입력 항목</span>*</p>
|
||||||
|
<p>신청경로</p>
|
||||||
|
</th>
|
||||||
|
<td colspan="3">
|
||||||
|
<kc:radio codeId="VE0030" name="exprnClsrnAplct" id="exprnClsrnAplct" selectedValue="${empty info.exprnClsrnAplct ? '01' : info.exprnClsrnAplct}" onChange="fncEtcInputEnable(this)"/>
|
||||||
|
<label for="exprnClsrnAplctCn" class="label">신청경로 기타설명</label>
|
||||||
|
<input type="text" value="${info.exprnClsrnAplctCn}" size="25" id="exprnClsrnAplctCn" name="exprnClsrnAplctCn" ${info.exprnClsrnAplct eq '04' ? '' : 'disabled'}>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
</tbody>
|
||||||
|
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<div class="tb_tit01">
|
||||||
|
<p>운영계획</p>
|
||||||
|
</div>
|
||||||
|
<div class="tb_type02 wirte">
|
||||||
|
<table>
|
||||||
|
<colgroup>
|
||||||
|
<col style="width: 210px;">
|
||||||
|
<col style="width: auto;">
|
||||||
|
</colgroup>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">
|
||||||
|
<p class="req_text"><span>필수입력 항목</span>*</p>
|
||||||
|
<p>학년수 </p>
|
||||||
|
</th>
|
||||||
|
<td colspan="3">
|
||||||
|
<label for="trgtGrade" class="label">대상 학년 입력</label>
|
||||||
|
<input type="text" name="trgtGrade" id="trgtGrade" onkeyup="onlyNumber(this);" maxlength="3" value="${info.trgtGrade}" size="20"> 학년
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">
|
||||||
|
<p class="req_text"><span>필수입력 항목</span>*</p>
|
||||||
|
<p>대상 반</p>
|
||||||
|
</th>
|
||||||
|
<td colspan="3">
|
||||||
|
<label for="trgtClsrm" class="label">대상 반 입력</label>
|
||||||
|
<input type="text" name="trgtClsrm" id="trgtClsrm" value="${info.trgtClsrm}" title="교육인원" size="20"> 반
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">
|
||||||
|
<p class="req_text"><span>필수입력 항목</span>*</p>
|
||||||
|
<p>학생수</p>
|
||||||
|
</th>
|
||||||
|
<td colspan="3">
|
||||||
|
<label for="trgtPrsnl" class="label">학생 수 입력</label>
|
||||||
|
<input type="text" name="trgtPrsnl" id="trgtPrsnl" onkeyup="onlyNumber(this);" maxlength="4" value="${info.trgtPrsnl}" size="20"> 명
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
@ -515,15 +447,9 @@
|
|||||||
<p>운영시기</p>
|
<p>운영시기</p>
|
||||||
</th>
|
</th>
|
||||||
<td colspan="3">
|
<td colspan="3">
|
||||||
<div class="calendar_wrap">
|
<kc:radio codeId="VE0030" name="exprnClsrnAplct" id="exprnClsrnAplct" selectedValue="${empty info.exprnClsrnAplct ? '01' : info.exprnClsrnAplct}" onChange="fncEtcInputEnable(this)"/>
|
||||||
<fmt:parseDate value="${info.oprtnStrtDt}" var="oprtnStrtDt" pattern="yyyyMMdd"/>
|
<label for="exprnClsrnAplctCn" class="label">신청경로 기타설명</label>
|
||||||
<input type="text" value="<fmt:formatDate value="${oprtnStrtDt}" pattern="yyyy.MM.dd"/>" name="oprtnStrtDt" id="oprtnStrtDt" class="calendar" title="시작일 선택">
|
<input type="text" value="${info.exprnClsrnAplctCn}" size="25" id="exprnClsrnAplctCn" name="exprnClsrnAplctCn" ${info.exprnClsrnAplct eq '04' ? '' : 'disabled'}>
|
||||||
</div>
|
|
||||||
~
|
|
||||||
<div class="calendar_wrap">
|
|
||||||
<fmt:parseDate value="${info.oprtnEndDt}" var="oprtnEndDt" pattern="yyyyMMdd"/>
|
|
||||||
<input type="text" value="<fmt:formatDate value="${oprtnEndDt}" pattern="yyyy.MM.dd"/>" name="oprtnEndDt" id="oprtnEndDt" class="calendar" title="종료일 선택">
|
|
||||||
</div>
|
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
@ -531,93 +457,97 @@
|
|||||||
<p class="req_text"><span>필수입력 항목</span>*</p>
|
<p class="req_text"><span>필수입력 항목</span>*</p>
|
||||||
<p>첨부파일</p>
|
<p>첨부파일</p>
|
||||||
</th>
|
</th>
|
||||||
<td class="upload_area" colspan="3">
|
<td class="upload_area">
|
||||||
<div class="btn_wrap">
|
<!-- <input type="text" id="fileNm" size="30" class="file_input" readonly> --><!-- <button type="button" class="btnType01 btn_add_file">파일 첨부하기</button> -->
|
||||||
<button type="button" class="btnType01 btn_add_file">파일찾기</button>
|
<input type="file" id="file_temp" name="file_temp" class="uploadFile" style="display:none"/>
|
||||||
<input type="file" id="file_temp" name="file_temp" class="uploadFile" style="display:none"/>
|
<button type="button" id="filebutton" class="btn_type01">파일 첨부하기</button>
|
||||||
</div>
|
<p style="padding-left:30px;">첨부파일 가능 용량은 20MB입니다. </p><p style="color:red;font-weight:500">업로드 순서는 1.신청서 2.안내문 입니다.</p>
|
||||||
<div class="file_wrap">
|
<div class="file_wrap file_upload_box no_img_box">
|
||||||
<table>
|
<table class="tbType02">
|
||||||
|
<caption>첨부파일 리스트 : 파일명, 종류, 크기, 삭제</caption>
|
||||||
<colgroup>
|
<colgroup>
|
||||||
|
<col style="width: 60%;">
|
||||||
<col style="width: auto;">
|
<col style="width: auto;">
|
||||||
<col style="width: 15%;">
|
<col style="width: 20%;">
|
||||||
<col style="width: 15%;">
|
<col style="width: 10%;">
|
||||||
</colgroup>
|
</colgroup>
|
||||||
<thead>
|
<thead>
|
||||||
<th>파일 명</th>
|
<!-- <th>
|
||||||
<th>종류</th>
|
<input type="checkbox" id="all_check"><label for="all_check"></label>
|
||||||
<th>크기</th>
|
</th> -->
|
||||||
|
<th scope="col">파일 명</th>
|
||||||
|
<th scope="col">종류</th>
|
||||||
|
<th scope="col">크기</th>
|
||||||
|
<th scope="col">삭제</th>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody class="tb_file_before">
|
<tbody class="tb_file_before">
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan="3">
|
<td colspan="4">
|
||||||
<p>첨부하실 파일을 <span>마우스끌어서</span> 넣어주세요.</p>
|
<p>첨부하실 파일을 <span>마우스로 끌어서</span> 넣어주세요.</p>
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<div class="file_wrap">
|
|
||||||
<table>
|
|
||||||
<colgroup>
|
|
||||||
<col style="width: auto;">
|
|
||||||
<col style="width: 15%;">
|
|
||||||
<col style="width: 15%;">
|
|
||||||
<col style="width: 100px;">
|
|
||||||
</colgroup>
|
|
||||||
<thead>
|
|
||||||
<th>파일 명</th>
|
|
||||||
<th>종류</th>
|
|
||||||
<th>크기</th>
|
|
||||||
<th>삭제</th>
|
|
||||||
</thead>
|
|
||||||
<tbody id="tbody_fiielist" class="tb_file_after">
|
|
||||||
<c:forEach var="fileList" items="${fileList}" varStatus="status">
|
|
||||||
<tr class="item_${fileList.atchFileId}_${fileList.fileSn} uploaded_obj">
|
|
||||||
<input type="hidden" name="fileSize" class="item_file_size" value="${fileList.fileSize}">
|
|
||||||
<td class="td_filename">
|
|
||||||
<span class="file_name_text">${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('${fileList.atchFileId}', '${fileList.fileSn}'); return false;"><i></i></button>
|
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</c:forEach>
|
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
<div class="file_cf">
|
<div class="file_wrap fileAfter file_list_div">
|
||||||
<div class="cf_left">
|
<table class="tbType02">
|
||||||
<p>최대 <span>3</span>개</p>
|
<caption>첨부파일 리스트 : 파일명, 종류, 크기, 삭제</caption>
|
||||||
<p><span>50MB</span>제한</p>
|
<colgroup>
|
||||||
</div>
|
<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>
|
</div>
|
||||||
<span class="table_req_text">
|
|
||||||
※ 신청서(공문)양식 다운로드 후, 직인을 포함하여 업로드 해주세요.
|
|
||||||
</span>
|
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<!-- //list_상세 -->
|
||||||
|
|
||||||
|
<!-- btn_wrap -->
|
||||||
<div class="btn_wrap btn_layout01">
|
<div class="btn_wrap btn_layout01">
|
||||||
<div class="btn_left">
|
<div class="btn_left">
|
||||||
</div>
|
</div>
|
||||||
<div class="btn_center">
|
<div class="btn_center">
|
||||||
</div>
|
</div>
|
||||||
<div class="btn_right">
|
<div class="btn_right">
|
||||||
<button type="button" class="btn_type01" onclick="fncSave('S');">저장</button>
|
<button type="button" class="btn_type05" onclick="fncSave(); return false;">등록</button>
|
||||||
<button type="button" class="btn_type03" onclick="fncGoList();">취소</button>
|
<button type="button" class="btn_type03" onclick="fncGoList(); return false;">취소</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user