관리자 기반강화 > 이미지 등록 / 수정 완료

This commit is contained in:
hylee 2023-11-15 11:31:24 +09:00
parent e5648b841c
commit 451581d70a
15 changed files with 1272 additions and 720 deletions

View File

@ -136,6 +136,8 @@ public class VEPrcsDetailVO extends ComDefaultVO implements Serializable {
private String cnclAtchFileId;
private String cnclCn;
private String imageAtchFileId;
@ -656,6 +658,12 @@ public class VEPrcsDetailVO extends ComDefaultVO implements Serializable {
public void setCnclCn(String cnclCn) {
this.cnclCn = cnclCn;
}
public String getImageAtchFileId() {
return imageAtchFileId;
}
public void setImageAtchFileId(String imageAtchFileId) {
this.imageAtchFileId = imageAtchFileId;
}
}

View File

@ -31,4 +31,6 @@ public interface VEPrcsService {
void deleteInstr(VEPrcsDetailVO vEPrcsDetailVO);
void updateImageAtchFileId(VEPrcsDetailVO vEPrcsDetailVO);
}

View File

@ -81,4 +81,8 @@ public class VEPrcsDAO extends EgovAbstractDAO {
delete("VEPrcsDAO.deleteInstr", vEPrcsDetailVO);
}
public void updateImageAtchFileId(VEPrcsDetailVO vEPrcsDetailVO) {
update("VEPrcsDAO.updateImageAtchFileId", vEPrcsDetailVO);
}
}

View File

@ -65,4 +65,9 @@ public class VEPrcsServiceImpl implements VEPrcsService {
}
@Override
public void updateImageAtchFileId(VEPrcsDetailVO vEPrcsDetailVO) {
vEPrcsDAO.updateImageAtchFileId(vEPrcsDetailVO);
}
}

View File

@ -1,17 +1,21 @@
package kcc.ve.oprtn.fndtnEnhanceTrn.prcsInfoMng.web;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
@ -20,12 +24,14 @@ import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
import kcc.com.cmm.LoginVO;
import kcc.com.cmm.service.EgovFileMngService;
import kcc.com.cmm.service.EgovFileMngUtil;
import kcc.com.cmm.service.FileVO;
import kcc.com.cmm.util.StringUtil;
import kcc.com.utl.user.service.CheckLoginUtil;
import kcc.let.uat.uia.service.SsoLoginVO;
import kcc.let.utl.fcc.service.EgovCryptoUtil;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctService;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduChasiService;
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsCmpltDetailService;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsCntntVO;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO;
@ -105,6 +111,13 @@ public class FndthPrcsInfoMngController {
@Resource(name = "EgovFileMngService")
private EgovFileMngService fileService;
//파일 처리 egov
@Resource(name="EgovFileMngUtil")
private EgovFileMngUtil egovFileMngUtil;
//파일 처리 egov
@Resource(name = "EgovFileMngService")
private EgovFileMngService fileMngService;
/*
// 교육신청 서비스단
@ -325,6 +338,65 @@ public class FndthPrcsInfoMngController {
return "oprtn/fndthEnhanceTrn/fndthEduPrcsMngMdfy";
}
/**
* @methodName : instrAplctPhotoPopup
* @author : 이호영
* @date : 2023.11.14
* @description : 기반강화 과정 수정 - 이미지 등록
* @param vEInstrDetailVO
* @param model
* @param request
* @return
* @throws Exception
*/
@RequestMapping(value = "/kccadr/oprtn/fndthEnhanceTrn/popup/fndthEduPhotoPopup.do")
public String instrAplctPhotoPopup(@ModelAttribute("info") VEPrcsDetailVO vEPrcsDetailVO, ModelMap model, HttpServletRequest request) throws Exception {
//로그인 처리====================================
//로그인 정보 가져오기
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
//로그인 처리====================================
if(StringUtils.isNotBlank(vEPrcsDetailVO.getImageAtchFileId())){
FileVO fileVO = new FileVO();
fileVO.setAtchFileId(vEPrcsDetailVO.getImageAtchFileId());
List<FileVO> fileList = fileService.selectFileInfs(fileVO);
model.addAttribute("fileList", fileList);
}
return "oprtn/fndthEnhanceTrn/popup/fndthEduPhotoPopup";
}
/**
* @methodName : instrAplctPhotoPopup
* @author : 이호영
* @date : 2023.11.15
* @description : 기반강화 과정 등록 - 이미지 등록
* @param vEPrcsDetailVO
* @param model
* @param request
* @return
* @throws Exception
*/
@RequestMapping(value = "/kccadr/oprtn/fndthEnhanceTrn/popup/fndthEduPhotoRegPopup.do")
public String fndthEduPhotoRegPopup(@ModelAttribute("info") VEPrcsDetailVO vEPrcsDetailVO, ModelMap model, HttpServletRequest request) throws Exception {
//로그인 처리====================================
//로그인 정보 가져오기
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
//로그인 처리====================================
if(StringUtils.isNotBlank(vEPrcsDetailVO.getImageAtchFileId())){
FileVO fileVO = new FileVO();
fileVO.setAtchFileId(vEPrcsDetailVO.getImageAtchFileId());
List<FileVO> fileList = fileService.selectFileInfs(fileVO);
model.addAttribute("fileList", fileList);
}
return "oprtn/fndthEnhanceTrn/popup/fndthEduPhotoRegPopup";
}
/**
* 기반강화연수과정 화면
*/
@ -360,27 +432,73 @@ public class FndthPrcsInfoMngController {
//세부과정 지우고 다시 생성
VEPrcsCntntVO vEPrcsCntntVO = new VEPrcsCntntVO();
vEPrcsCntntVO.setPrcsOrd(vEPrcsDetailVO.getPrcsOrd());
// int iv = vEPrcsOnlnCntntService.deleteAll(vEPrcsCntntVO);
// String[] s_detailPrcsNm = request.getParameterValues("detailPrcsNm");
/*for (int i=0;i<s_detailPrcsNm.length;i++) {
String prcsOnlnOrd = prcsOnlnGnrService.getNextStringId(); // 고유ID
vEPrcsCntntVO.setPrcsOnlnCntntOrd(prcsOnlnOrd);
//vEPrcsCntntVO.setPrcsNm(s_detailPrcsNm[i]);
vEPrcsCntntVO.setDetailPrcsNm(s_detailPrcsNm[i]);
vEPrcsCntntVO.setChasi(String.valueOf(i+1));
vEPrcsCntntVO.setUseYn("Y");
vEPrcsCntntVO.setLastUpdusrId(loginVO.getUniqId()); //esntl_id
vEPrcsOnlnCntntService.insert(vEPrcsCntntVO);
} */
modelAndView.addObject("result", "success");
return modelAndView;
}
@RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/fndthEduPhotoPopupAjax.do")
public ModelAndView fndthEduPhotoPopupAjax(
@ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO
, final MultipartHttpServletRequest multiRequest
, ModelMap model
, HttpServletRequest request
) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
String atchFileId = "";
final Map<String, MultipartFile> files = multiRequest.getFileMap();
if (!files.isEmpty()) {
//XXX_로 첨부파일 네이밍
List<FileVO> result = egovFileMngUtil.parseFileInf(files, "fnd_", 0, "", "", "");
atchFileId = fileMngService.insertFileInfs(result);
}
//첨부파일Id(atchFileId) 해당 VO atchFileId변수에 저장
vEPrcsDetailVO.setImageAtchFileId(atchFileId);
vEPrcsService.updateImageAtchFileId(vEPrcsDetailVO);
modelAndView.addObject("result", "success");
return modelAndView;
}
/**
* @methodName : fndthEduPhotoPopupAjax
* @author : 이호영
* @date : 2023.11.15
* @description : 기반강화 과정 등록 - 이미지 등록 - ajax
* @param vEPrcsDetailVO
* @param multiRequest
* @param model
* @param request
* @return
* @throws Exception
*/
@RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/fndthEduPhotoPopupRegAjax.do")
public ModelAndView fndthEduPhotoPopupRegAjax(
@ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO
, final MultipartHttpServletRequest multiRequest
, ModelMap model
, HttpServletRequest request
) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
String atchFileId = "";
final Map<String, MultipartFile> files = multiRequest.getFileMap();
if (!files.isEmpty()) {
//XXX_로 첨부파일 네이밍
List<FileVO> result = egovFileMngUtil.parseFileInf(files, "fnd_", 0, "", "", "");
atchFileId = fileMngService.insertFileInfs(result);
}
//첨부파일Id(atchFileId) 해당 VO atchFileId변수에 저장
// vEPrcsService.updateImageAtchFileId(vEPrcsDetailVO);
modelAndView.addObject("result", "success");
modelAndView.addObject("atchFileId", atchFileId);
return modelAndView;
}

View File

@ -54,9 +54,9 @@
, SYSDATE
, #aplctAtchFileId#
, #cmpnnCn#
, ''
, #frstRegisterId#
, SYSDATE
, #frstRegisterId#
, ''
, #lastUpdusrId#
)
</insert>

View File

@ -24,7 +24,8 @@
last_updt_pnttm,
last_updusr_id,
lctr_div_cd,
use_yn
use_yn,
image_atch_file_id
</sql>
@ -41,7 +42,8 @@
TO_CHAR(A.LAST_UPDT_PNTTM,'YYYY-MM-DD') AS lastUpdtPnttm,
A.LAST_UPDUSR_ID AS lastUpdusrId,
A.LCTR_DIV_CD AS lctrDivCd,
A.USE_YN AS useYn
A.USE_YN AS useYn,
A.IMAGE_ATCH_FILE_ID AS imageAtchFileId
</sql>
<!-- 강사 등록 C -->
@ -62,7 +64,8 @@
SYSDATE,
#lastUpdusrId#,
#lctrDivCd#,
#useYn#
#useYn#,
#imageAtchFileId#
)
</insert>
@ -341,6 +344,16 @@
</update>
<update id="VEPrcsDAO.updateImageAtchFileId" parameterClass="VEPrcsDetailVO">
UPDATE VE_PRCS SET
IMAGE_ATCH_FILE_ID = #imageAtchFileId#
, LAST_UPDUSR_ID = #lastUpdusrId#
, LAST_UPDT_PNTTM = SYSDATE
WHERE PRCS_ORD = #prcsOrd#
</update>
<delete id="VEPrcsDAO.deleteInstr" parameterClass="VEPrcsDetailVO">
DELETE FROM VEA_PRCS_APLCT_PRD_INSTR_ASGNM
WHERE prcs_aplct_prd_ord = #prcsAplctPrdOrd#

View File

@ -421,7 +421,7 @@
<!-- <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>
<p style="padding-left:30px;">첨부파일 가능 용량은 20MB입니다. </p>
<div class="file_wrap file_upload_box no_img_box">
<table class="tbType02">
<caption>첨부파일 리스트 : 파일명, 종류, 크기, 삭제</caption>

View File

@ -57,14 +57,13 @@
<!-- cont_tit -->
<div class="cont_tit">
<h2>교육 과정 등록</h2>
<h2>교육과정상세</h2>
<ul class="cont_nav">
<li class="home"><a href="/"><i></i></a></li>
<li>
<p>교육콘텐츠</p>
<p>실무자역량강화(기반강화연수관리)</p>
</li>
<li><span class="cur_nav">교육 과정 관리</span></li>
<li><span class="cur_nav">교육 과정 등록</span></li>
<li><span class="cur_nav">기반강화연수관리</span></li>
</ul>
</div>
<!-- //cont_tit -->
@ -93,7 +92,13 @@
<div class="put_photo">
<div class="put_photo_in">
<div class="put_photo_box">
<c:if test="${empty info.imageAtchFileId}">
<img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/img_add.png" alt="이미지를 넣어주세요">
</c:if>
<c:if test="${not empty info.imageAtchFileId}">
<img id="instrPhoto" class="id_pic" alt="사진" src='<c:url value='/uss/ion/pwm/getImage.do'/>?atchFileId=<c:out value="${info.imageAtchFileId}"/>' />
</c:if>
<input type="hidden" name="imageAtchFileId" id="imageAtchFileId" value="<c:out value='${info.imageAtchFileId}'/>"/>
</div>
<!-- <button type="button" class="btnType01" onclick="fncPhotoPopup(); return false;">사진등록</button> -->
</div>

View File

@ -158,7 +158,7 @@
<ul class="cont_nav">
<li class="home"><a href="/"><i></i></a></li>
<li>
<p>기반강화연수관리</p>
<p>실무자역량강화(기반강화연수관리)</p>
</li>
<li><span class="cur_nav">과정관리목록</span></li>
</ul>

View File

@ -26,7 +26,7 @@
%>
<html lang="ko">
<head>
<title>교육과정관리</title>
<title>기반강화연수관리</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript">
//세부과정 추가 버튼 클릭 시 세부과정 추가
@ -130,6 +130,10 @@
listForm.action = "<c:url value='/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsMngList.do'/>";
listForm.submit();
}
function fncPhotoPopup() {
var pop = document.createForm;
commonPopWindowopenForm("${pageContext.request.contextPath}/kccadr/oprtn/fndthEnhanceTrn/popup/fndthEduPhotoPopup.do", "750", "660", "fncPhotoPopup", $('#createForm'));
}
</script>
@ -145,14 +149,13 @@
<!-- cont_tit -->
<div class="cont_tit">
<h2>교육 과정 등록</h2>
<h2>교육과정수정</h2>
<ul class="cont_nav">
<li class="home"><a href="/"><i></i></a></li>
<li>
<p>교육콘텐츠</p>
<p>실무자역량강화(기반강화연수관리)</p>
</li>
<li><span class="cur_nav">교육 과정 관리</span></li>
<li><span class="cur_nav">교육 과정 등록</span></li>
<li><span class="cur_nav">기반강화연수관리</span></li>
</ul>
</div>
<!-- //cont_tit -->
@ -185,9 +188,17 @@
<div class="put_photo">
<div class="put_photo_in">
<div class="put_photo_box">
<c:if test="${empty info.imageAtchFileId}">
<img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/img_add.png" alt="이미지를 넣어주세요">
</c:if>
<c:if test="${not empty info.imageAtchFileId}">
<img id="instrPhoto" class="id_pic" alt="사진" src='<c:url value='/uss/ion/pwm/getImage.do'/>?atchFileId=<c:out value="${info.imageAtchFileId}"/>' />
</c:if>
<input type="hidden" name="imageAtchFileId" id="imageAtchFileId" value="<c:out value='${info.imageAtchFileId}'/>"/>
</div>
<div>
<button type="button" class="btn_type01" onclick="fncPhotoPopup(); return false;">사진등록</button>
</div>
<!-- <button type="button" class="btnType01" onclick="fncPhotoPopup(); return false;">사진등록</button> -->
</div>
</div>
</div>

View File

@ -132,6 +132,11 @@
listForm.submit();
}
function fncPhotoPopup() {
var pop = document.createForm;
commonPopWindowopenForm("${pageContext.request.contextPath}/kccadr/oprtn/fndthEnhanceTrn/popup/fndthEduPhotoRegPopup.do", "750", "660", "fncPhotoPopup", $('#createForm'));
}
</script>
</head>
@ -149,10 +154,9 @@
<ul class="cont_nav">
<li class="home"><a href="/"><i></i></a></li>
<li>
<p>교육콘텐츠</p>
<p>실무자역량강화(기반강화연수관리)</p>
</li>
<li><span class="cur_nav">교육 과정 관리</span></li>
<li><span class="cur_nav">교육 과정 등록</span></li>
<li><span class="cur_nav">기반강화연수관리</span></li>
</ul>
</div>
<!-- //cont_tit -->
@ -185,7 +189,17 @@
<div class="put_photo">
<div class="put_photo_in">
<div class="put_photo_box">
<img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/img_add.png" alt="이미지를 넣어주세요">
<%-- <c:if test="${empty info.imageAtchFileId}"> --%>
<img id="emptyImg" src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/img_add.png" alt="이미지를 넣어주세요">
<%-- </c:if> --%>
<%-- <c:if test="${not empty info.imageAtchFileId}"> --%>
<%-- <img id="instrPhoto" class="id_pic" alt="사진" src='<c:url value='/uss/ion/pwm/getImage.do'/>?atchFileId=<c:out value="${info.imageAtchFileId}"/>' /> --%>
<%-- </c:if> --%>
<input type="hidden" name="imageAtchFileId" id="imageAtchFileId" value=""/>
</div>
<div>
<button type="button" class="btn_type01" onclick="fncPhotoPopup(); return false;">사진등록</button>
</div>
</div>
<!-- <button type="button" class="btnType01" onclick="fncPhotoPopup(); return false;">사진등록</button> -->
</div>

View File

@ -0,0 +1,186 @@
<!DOCTYPE html>
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator"%>
<%
/**
* @Class Name : instrAsgnmPopup.jsp
* @Description : 기반강화 교육과정등록 > 이미지 등록
* @Modification Information
* @
* @ 수정일 수정자 수정내용
* @ ------- -------- ---------------------------
* @ 2023.11.14 이호영 최초 생성
*/
%>
<html lang="ko">
<head>
<title>강사정보 수정 요청</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript" src="<c:url value='/js/EgovMultiFileItn.js'/>"></script> <!-- 파일첨부, 썸네일이미지 있으면 미리보기 -->
<!-- <script src="//t1.daumcdn.net/mapjsapi/bundle/postcode/prod/postcode.v2.js"></script> -->
<script src="${pageContext.request.contextPath}/kccadrPb/adm/script/postcode.js"></script>
<script src="${pageContext.request.contextPath}/visitEdu/usr/publish/script/jquery-3.5.0.js"></script>
<script src="<c:url value='/js/kccadr/kccadrCom.js' />"></script>
<script type="text/javascript">
$(document).ready(function(){
$(".btn_add_file").on('click', function(){
$("#file_temp").click();
});
});
function fncPopClose(){
self.close();
}
function fncSave() {
if(confirm("사진을 변경하시겠습니까?")){
var data = new FormData(document.getElementById("createForm"));
_fileForm2.forEach(function(obj, idx) {
if (obj) data.append("file"+idx, obj.fileObj);
});
$.ajax({
type: "POST",
enctype: 'multipart/form-data',
url: "${pageContext.request.contextPath}/kccadr/oprtn/fndthEnhanceTrn/fndthEduPhotoPopupAjax.do",
data: data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success: function (returnData, status) {
if(status == 'success'){
/* 부모창 상세 페이지 이동 */
/* window.opener.name = "parentPage";
document.mdfyRqstPopup.target = "parentPage";
document.mdfyRqstPopup.action = "${pageContext.request.contextPath}/ve/oprtn/instr/tngrVisitEdu/instrInfo/instrMngDetail.do";
document.mdfyRqstPopup.submit();
window.close(); */
opener.parent.location.reload();
window.close();
} else if(status== 'fail'){
alert("사진변경 처리에 실패하였습니다.");
}
},
error: function (e) { alert("사진변경 처리에 실패하였습니다."); console.log("ERROR : ", e); }
});
}
}
function fncCmpnnPopup(rpplTy, rqstType) {
$("#aprvlCd").val(rpplTy);
$("#rqstType").val(rqstType);
var pop = document.mdfyRqstPopup;
commonPopWindowopenForm("${pageContext.request.contextPath}/ve/oprtn/instr/tngrVisitEdu/instrInfo/instrAplctCmpnnPopup.do", "750", "300", "instrAplctCmpnnPop", $('#mdfyRqstPopup'));
}
</script>
</head>
<body>
<div class="area_popup supm_popup">
<div class="cont_popup">
<form:form id="createForm" name="createForm" method="post" commandName="vELctrDetailVO" onsubmit="return false;">
<input type="hidden" name="prcsOrd" value="<c:out value="${info.prcsOrd}" />" />
<div class="area_popup">
<div class="cont_popup upload_area">
<div class="pop_tb_tit01">
<p></p>
<div class="btn_wrap_pop">
<input type="file" id="file_temp" name="file_temp" class="uploadFile" style="display:none"/>
<button type="button" id="filebutton" class="btn_type01 btn_add_file">파일 찾기</button>
</div>
</div>
<div class="file_wrap file_upload_box no_img_box">
<table>
<colgroup>
<col style="width: auto;">
<col style="width: 15%;">
<col style="width: 15%;">
<col style="width: 10%;">
</colgroup>
<thead>
<th>파일 명</th>
<th>종류</th>
<th>크기</th>
<th>삭제</th>
</thead>
<tbody class="tb_file_before">
<tr>
<td colspan="4">
<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">
<p>${fileList.orignlFileNm}</p>
</td>
<td class="td_filesort">
<p><c:out value="${fileList.fileExtsn}"/></p>
</td>
<td class="td_filesize">
<p><c:out value="${fileList.fileMg}"/></p>
</td>
<td>
<button type="button" class="btn_del" onclick="delAtchFile('${fileList.atchFileId}', '${fileList.fileSn}'); return false;"><i></i></button>
</td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
<div class="btn_wrap_pop btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
<button type="button" onclick="fncSave(); return false;" class="btn_type04">확인</button>
</div>
<div class="btn_right">
<button type="button" onclick="fncPopClose(); return false;" class="btn_type02">취소</button>
</div>
</div>
</div>
</div>
</form:form>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,187 @@
<!DOCTYPE html>
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator"%>
<%
/**
* @Class Name : instrAsgnmPopup.jsp
* @Description : 기반강화 교육과정등록 > 이미지 등록
* @Modification Information
* @
* @ 수정일 수정자 수정내용
* @ ------- -------- ---------------------------
* @ 2023.11.14 이호영 최초 생성
*/
%>
<html lang="ko">
<head>
<title>강사정보 수정 요청</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript" src="<c:url value='/js/EgovMultiFileItn.js'/>"></script> <!-- 파일첨부, 썸네일이미지 있으면 미리보기 -->
<!-- <script src="//t1.daumcdn.net/mapjsapi/bundle/postcode/prod/postcode.v2.js"></script> -->
<script src="${pageContext.request.contextPath}/kccadrPb/adm/script/postcode.js"></script>
<script src="${pageContext.request.contextPath}/visitEdu/usr/publish/script/jquery-3.5.0.js"></script>
<script src="<c:url value='/js/kccadr/kccadrCom.js' />"></script>
<script type="text/javascript">
$(document).ready(function(){
$(".btn_add_file").on('click', function(){
$("#file_temp").click();
});
});
function fncPopClose(){
self.close();
}
function fncSave() {
if(confirm("사진을 변경하시겠습니까?")){
var data = new FormData(document.getElementById("createForm"));
_fileForm2.forEach(function(obj, idx) {
if (obj) data.append("file"+idx, obj.fileObj);
});
$.ajax({
type: "POST",
enctype: 'multipart/form-data',
url: "${pageContext.request.contextPath}/kccadr/oprtn/fndthEnhanceTrn/fndthEduPhotoPopupRegAjax.do",
data: data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success: function (returnData, status) {
if(status == 'success'){
console.log('returnData.atchFileId : ', returnData.atchFileId);
var atchFileId = returnData.atchFileId;
$(window.opener.document).find('#emptyImg').hide();
var imgTag = '<img id="instrPhoto" class="id_pic" alt="사진" src="${pageContext.request.contextPath}/uss/ion/pwm/getImage.do?atchFileId=' + atchFileId + '">';
$(window.opener.document).find('.put_photo_box').append(imgTag);
$(window.opener.document).find('#imageAtchFileId').val(atchFileId);
window.close();
} else if(status== 'fail'){
alert("사진변경 처리에 실패하였습니다.");
}
},
error: function (e) { alert("사진변경 처리에 실패하였습니다."); console.log("ERROR : ", e); }
});
}
}
function fncCmpnnPopup(rpplTy, rqstType) {
$("#aprvlCd").val(rpplTy);
$("#rqstType").val(rqstType);
var pop = document.mdfyRqstPopup;
commonPopWindowopenForm("${pageContext.request.contextPath}/ve/oprtn/instr/tngrVisitEdu/instrInfo/instrAplctCmpnnPopup.do", "750", "300", "instrAplctCmpnnPop", $('#mdfyRqstPopup'));
}
</script>
</head>
<body>
<div class="area_popup supm_popup">
<div class="cont_popup">
<form:form id="createForm" name="createForm" method="post" commandName="vELctrDetailVO" onsubmit="return false;">
<input type="hidden" name="prcsOrd" value="<c:out value="${info.prcsOrd}" />" />
<div class="area_popup">
<div class="cont_popup upload_area">
<div class="pop_tb_tit01">
<p></p>
<div class="btn_wrap_pop">
<input type="file" id="file_temp" name="file_temp" class="uploadFile" style="display:none"/>
<button type="button" id="filebutton" class="btn_type01 btn_add_file">파일 찾기</button>
</div>
</div>
<div class="file_wrap file_upload_box no_img_box">
<table>
<colgroup>
<col style="width: auto;">
<col style="width: 15%;">
<col style="width: 15%;">
<col style="width: 10%;">
</colgroup>
<thead>
<th>파일 명</th>
<th>종류</th>
<th>크기</th>
<th>삭제</th>
</thead>
<tbody class="tb_file_before">
<tr>
<td colspan="4">
<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">
<p>${fileList.orignlFileNm}</p>
</td>
<td class="td_filesort">
<p><c:out value="${fileList.fileExtsn}"/></p>
</td>
<td class="td_filesize">
<p><c:out value="${fileList.fileMg}"/></p>
</td>
<td>
<button type="button" class="btn_del" onclick="delAtchFile('${fileList.atchFileId}', '${fileList.fileSn}'); return false;"><i></i></button>
</td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
<div class="btn_wrap_pop btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
<button type="button" onclick="fncSave(); return false;" class="btn_type04">확인</button>
</div>
<div class="btn_right">
<button type="button" onclick="fncPopClose(); return false;" class="btn_type02">취소</button>
</div>
</div>
</div>
</div>
</form:form>
</div>
</div>
</body>
</html>

View File

@ -494,8 +494,7 @@
</th>
<td colspan="3" style="position: relative;">
<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">
<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">
<c:if test="${empty info.phtAtchFileId}">