이지우 - 일반사용자 청소년 교육 상세에 필요양식 추가, 사용자 기반강화 상세 작업 중
This commit is contained in:
parent
d1308abfd6
commit
c2fa56c3cc
@ -37,6 +37,7 @@ public class AdrInnorixFileVO extends ComDefaultVO implements Serializable {
|
||||
// 파일 등록 후 리턴 메세지 jsp에서 넘겨줌
|
||||
public String successMsg = "";
|
||||
public String eduAplctOrd = "";
|
||||
public String prcsAplctPrdOrd = ""; //기반강화 강의계획서용
|
||||
|
||||
// 컨트롤 엘리먼트 ID - 멀티 업로드 시 jsp에서 사용하는 el 값
|
||||
public String controlId = "";
|
||||
@ -131,6 +132,14 @@ public class AdrInnorixFileVO extends ComDefaultVO implements Serializable {
|
||||
this.trgtPrsnlReal = trgtPrsnlReal;
|
||||
}
|
||||
|
||||
public String getPrcsAplctPrdOrd() {
|
||||
return prcsAplctPrdOrd;
|
||||
}
|
||||
|
||||
public void setPrcsAplctPrdOrd(String prcsAplctPrdOrd) {
|
||||
this.prcsAplctPrdOrd = prcsAplctPrdOrd;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -31,4 +31,7 @@ public interface InnorixFileService {
|
||||
|
||||
RestResponse updateRprtInnorixFile(AdrInnorixFileVO adrInnorixFileVO);
|
||||
|
||||
//기반강화 강의계획서 저장
|
||||
RestResponse insertInnorixLctrPlanFile(AdrInnorixFileVO adrInnorixFileVO);
|
||||
|
||||
}
|
||||
|
||||
@ -30,6 +30,8 @@ import kcc.let.utl.fcc.service.EgovStringUtil;
|
||||
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctService;
|
||||
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
|
||||
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduMIXService;
|
||||
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEAPrcsAplctPrdInstrAsgnmService;
|
||||
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEAPrcsAplctPrdInstrAsgnmVO;
|
||||
|
||||
/**
|
||||
* @Class Name : EgovCmmUseServiceImpl.java
|
||||
@ -72,6 +74,10 @@ public class InnorixFileServiceImpl extends EgovAbstractServiceImpl implements I
|
||||
//교육과정신청
|
||||
@Resource(name = "vEEduMIXService")
|
||||
private VEEduMIXService vEEduMIXService;
|
||||
|
||||
//과정차시 관리
|
||||
@Resource(name = "vEAPrcsAplctPrdInstrAsgnmService")
|
||||
private VEAPrcsAplctPrdInstrAsgnmService vEAPrcsAplctPrdInstrAsgnmService;
|
||||
/**
|
||||
* @methodName : fileDataUpload
|
||||
* @author : 이호영
|
||||
@ -366,4 +372,33 @@ public class InnorixFileServiceImpl extends EgovAbstractServiceImpl implements I
|
||||
|
||||
return new RestResponse(HttpStatus.OK, adrInnorixFileVO.getSuccessMsg(), LocalDateTime.now());
|
||||
}
|
||||
|
||||
@Override
|
||||
public RestResponse insertInnorixLctrPlanFile(AdrInnorixFileVO adrInnorixFileVO) {
|
||||
|
||||
List<FileVO> result = null;
|
||||
try {
|
||||
// 파일 저장 후 저장할 file 정보를 받아옴
|
||||
result = this.insertFileData(adrInnorixFileVO);
|
||||
|
||||
// 파일 정보 insert
|
||||
String atchFileId = fileManageDAO.insertFileInfs(result);
|
||||
|
||||
|
||||
VEAPrcsAplctPrdInstrAsgnmVO vEAPrcsAplctPrdInstrAsgnmVO = new VEAPrcsAplctPrdInstrAsgnmVO();
|
||||
vEAPrcsAplctPrdInstrAsgnmVO.setLctrPlanAtchFileId(atchFileId);
|
||||
|
||||
vEAPrcsAplctPrdInstrAsgnmVO.setLastUpdusrId(adrInnorixFileVO.getUniqId());
|
||||
vEAPrcsAplctPrdInstrAsgnmVO.setPrcsAplctPrdOrd(adrInnorixFileVO.getPrcsAplctPrdOrd());
|
||||
|
||||
//저장
|
||||
vEAPrcsAplctPrdInstrAsgnmService.updatLctrPlanAtchFileId(vEAPrcsAplctPrdInstrAsgnmVO);
|
||||
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
return new RestResponse(HttpStatus.BAD_REQUEST, "등록에 실패하였습니다.", LocalDateTime.now());
|
||||
}
|
||||
|
||||
return new RestResponse(HttpStatus.OK, adrInnorixFileVO.getSuccessMsg(), LocalDateTime.now());
|
||||
}
|
||||
}
|
||||
|
||||
@ -136,4 +136,27 @@ public class InnorixFileController {
|
||||
return ResponseEntity.ok(innorixService.updateRprtInnorixFile(adrInnorixFileVO));
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : insertInnorixFile
|
||||
* @author : 이호영
|
||||
* @date : 2023.07.20
|
||||
* @description : 파일 insert 전용
|
||||
* @param adrInnorixFileVO
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
@RequestMapping(value = {"/web/common/insertInnorixLctrPlanFileAjax.do"}, method = RequestMethod.POST)
|
||||
public ResponseEntity<RestResponse> insertInnorixLctrPlanFile(@RequestBody AdrInnorixFileVO adrInnorixFileVO) throws Exception {
|
||||
|
||||
//로그인 권한정보 불러오기
|
||||
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
|
||||
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getUniqId());
|
||||
|
||||
if(userId.equals("")) {
|
||||
return ResponseEntity.ok(new RestResponse(HttpStatus.UNAUTHORIZED, "로그인이 필요합니다.", LocalDateTime.now()));
|
||||
}
|
||||
adrInnorixFileVO.setUniqId(userId);
|
||||
|
||||
return ResponseEntity.ok(innorixService.insertInnorixLctrPlanFile(adrInnorixFileVO));
|
||||
}
|
||||
}
|
||||
@ -113,6 +113,7 @@ public class VEFndtnAsgnmController {
|
||||
vEPrcsDetailVO.setUserId(loginVO.getUniqId());
|
||||
vEPrcsDetailVO.setInstrDiv("20");
|
||||
vEPrcsDetailVO.setAprvlCd("20");
|
||||
vEPrcsDetailVO.setLctrDivCd("50"); //기반강화50. 기소유예 60
|
||||
vEPrcsDetailVO.setSearchDiv("ING"); // 강의내역 END 종료내역
|
||||
|
||||
try {
|
||||
|
||||
@ -148,6 +148,8 @@ public class VEInstrAsgnmVO extends ComDefaultVO implements Serializable {
|
||||
|
||||
private String eduPlace; //교육장소
|
||||
|
||||
private String prcsAplctPrdOrd; //과정신청기간순번
|
||||
|
||||
|
||||
public String getMemoCn() {
|
||||
return memoCn;
|
||||
@ -734,6 +736,12 @@ public class VEInstrAsgnmVO extends ComDefaultVO implements Serializable {
|
||||
public String getPnltyOrd() {
|
||||
return pnltyOrd;
|
||||
}
|
||||
public String getPrcsAplctPrdOrd() {
|
||||
return prcsAplctPrdOrd;
|
||||
}
|
||||
public void setPrcsAplctPrdOrd(String prcsAplctPrdOrd) {
|
||||
this.prcsAplctPrdOrd = prcsAplctPrdOrd;
|
||||
}
|
||||
public void setPnltyOrd(String pnltyOrd) {
|
||||
this.pnltyOrd = pnltyOrd;
|
||||
}
|
||||
|
||||
@ -2,8 +2,6 @@ package kcc.ve.instr.tngrVisitEdu.prcsInfo.service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO;
|
||||
|
||||
public interface VEAPrcsAplctPrdInstrAsgnmService {
|
||||
|
||||
void instrInsert(VEAPrcsAplctPrdInstrAsgnmVO vEAPrcsAplctPrdInstrAsgnmVO);
|
||||
@ -19,4 +17,6 @@ public interface VEAPrcsAplctPrdInstrAsgnmService {
|
||||
void updateAprvlCdEduAplctDetail(VEPrcsDetailVO vEDetailVO);
|
||||
|
||||
void updateAplctStateCdListAjax(VEPrcsDetailVO vEPrcsDetailVO);
|
||||
|
||||
void updatLctrPlanAtchFileId(VEAPrcsAplctPrdInstrAsgnmVO vEAPrcsAplctPrdInstrAsgnmVO);
|
||||
}
|
||||
|
||||
@ -41,6 +41,11 @@ public class VEAPrcsAplctPrdInstrAsgnmDAO extends EgovAbstractDAO {
|
||||
public void updateAplctStateCdListAjax(VEPrcsDetailVO vEPrcsDetailVO) {
|
||||
update("VEAPrcsAplctPrdInstrAsgnmDAO.updateAplctStateCdListAjax", vEPrcsDetailVO);
|
||||
|
||||
}
|
||||
|
||||
public void updatLctrPlanAtchFileId(VEAPrcsAplctPrdInstrAsgnmVO vEAPrcsAplctPrdInstrAsgnmVO) {
|
||||
update("VEAPrcsAplctPrdInstrAsgnmDAO.updatLctrPlanAtchFileId", vEAPrcsAplctPrdInstrAsgnmVO);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -64,4 +64,10 @@ public class VEAPrcsAplctPrdInstrAsgnmServiceImpl implements VEAPrcsAplctPrdInst
|
||||
vEAPrcsAplctPrdInstrAsgnmDAO.updateAplctStateCdListAjax(vEPrcsDetailVO);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updatLctrPlanAtchFileId(VEAPrcsAplctPrdInstrAsgnmVO vEAPrcsAplctPrdInstrAsgnmVO) {
|
||||
vEAPrcsAplctPrdInstrAsgnmDAO.updatLctrPlanAtchFileId(vEAPrcsAplctPrdInstrAsgnmVO);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@ -4904,12 +4904,12 @@
|
||||
vpap.prcs_aplct_prd_ord = a.prcs_aplct_prd_ord
|
||||
LEFT JOIN ve_prcs vp ON
|
||||
vp.prcs_ord = vpap.prcs_ord
|
||||
WHERE
|
||||
WHERE
|
||||
1 = 1
|
||||
AND vid.aprvl_cd = #aprvlCd# /* 강의 승인 20 */
|
||||
AND vid.instr_div = #instrDiv# /* 성인 20 */
|
||||
AND vid.use_yn = 'Y'
|
||||
|
||||
AND vpap.lctr_div_cd = #lctrDivCd#
|
||||
/*진행 중 : 진행 예정*/
|
||||
<isEqual property="searchDiv" compareValue="ING">
|
||||
AND TO_CHAR(CURRENT_DATE, 'YYYYMMDD') <![CDATA[ <= ]]> REPLACE(vpap.edu_ddln_pnttm, '.' , '')
|
||||
|
||||
@ -158,7 +158,16 @@
|
||||
AND vid.use_yn ='Y'
|
||||
</select>
|
||||
|
||||
|
||||
<!-- 강의계획서 update -->
|
||||
<update id="VEAPrcsAplctPrdInstrAsgnmDAO.updatLctrPlanAtchFileId" parameterClass="vEAPrcsAplctPrdInstrAsgnmVO">
|
||||
/* VEAPrcsAplctPrdInstrAsgnmDAO.updatLctrPlanAtchFileId */
|
||||
|
||||
UPDATE VEA_PRCS_APLCT_PRD_INSTR_ASGNM
|
||||
SET lctr_plan_atch_file_id = #lctrPlanAtchFileId#
|
||||
, last_updusr_id = #lastUpdusrId#
|
||||
, last_updt_pnttm = sysdate
|
||||
WHERE prcs_aplct_prd_ord = #prcsAplctPrdOrd#
|
||||
</update>
|
||||
|
||||
|
||||
|
||||
|
||||
@ -13,6 +13,9 @@
|
||||
<% pageContext.setAttribute("replaceChar", "\n"); %>
|
||||
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<spring:eval expression="@property['Globals.Innorix.License']" var="license"/>
|
||||
<script src="<c:url value='/innorix/innorix_${license}.js' />"></script>
|
||||
<script src="<c:url value='/js/kccadr/innorixCommon.js' />"></script>
|
||||
<style>
|
||||
input:disabled {
|
||||
background-color: #f9f9f9 !important;
|
||||
@ -179,6 +182,16 @@
|
||||
});
|
||||
}
|
||||
|
||||
function filePopupLayer(type){
|
||||
commonPopLayeropen(
|
||||
"${pageContext.request.contextPath}/web/ve/comm/popup/fileUploadPop.do"
|
||||
, 650
|
||||
, 464
|
||||
, {'eduAplctOrd' : '<c:out value='${info.eduAplctOrd}'/>','fileType' : type}
|
||||
, "Y"
|
||||
, "fileUploadPop"
|
||||
);
|
||||
}
|
||||
</script>
|
||||
|
||||
<form:form id="listForm" name="listForm" commandName="vEEduAplctVO" onsubmit="return false;" method="post">
|
||||
@ -773,8 +786,64 @@
|
||||
</c:if>
|
||||
</tbody>
|
||||
</table>
|
||||
<p style="color:gray;font-size:14px;padding-top:30px;">* 확정된 교육에 대한 변경은 위원회를 통해 진행 부탁드립니다.</p>
|
||||
</div>
|
||||
|
||||
<c:set var="instrYn" value="N"/>
|
||||
<c:forEach items="${chasiList}" var="list">
|
||||
<c:if test="${not empty list.instrNm}">
|
||||
<c:set var="instrYn" value="Y" />
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
<c:if test="${instrYn eq 'Y'}">
|
||||
<div class="tb_tit01">
|
||||
<div class="tb_tit01_left">
|
||||
<p>필요양식</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="btn_wrap"><input type="text" /> <button type="button" class="btnType05 data-tooltip="sub35_pop01" id="OATH" onclick="filePopupLayer('OATH')" title="팝업 열림">필요양식 업로드</button></div>
|
||||
<div class="tb_type02">
|
||||
<table>
|
||||
<%-- <caption>교육차시 정보 교육희망일, 시간, 구분, 대상, 배정강사, 인원 을/를 제공하는 표</caption> --%>
|
||||
<colgroup>
|
||||
<col style="width: 18%;">
|
||||
<col style="width: auto;">
|
||||
<col style="width: 11%;">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">파일</th>
|
||||
<th scope="col">강사명</th>
|
||||
<th scope="col">제출여부</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>
|
||||
범죄경력조회 동의서
|
||||
</th>
|
||||
<td>
|
||||
청소년강사1
|
||||
</td>
|
||||
<td>
|
||||
동의서.zip
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
범죄경력조회 동의서
|
||||
</th>
|
||||
<td>
|
||||
청소년강사2
|
||||
</td>
|
||||
<td>
|
||||
미제출
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p style="color:gray;font-size:14px;padding-top:30px;">* 확정된 교육에 대한 변경은 위원회를 통해 진행 부탁드립니다.</p>
|
||||
</div>
|
||||
</c:if>
|
||||
|
||||
<div class="btn_wrap btn_layout01">
|
||||
<div class="btn_left">
|
||||
|
||||
@ -11,8 +11,20 @@
|
||||
<head>
|
||||
<title>강사프로필 목록</title>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
|
||||
<spring:eval expression="@property['Globals.Innorix.License']" var="license"/>
|
||||
<script src="<c:url value='/innorix/innorix_${license}.js' />"></script>
|
||||
<script src="<c:url value='/js/kccadr/innorixCommon.js' />"></script>
|
||||
<link rel="stylesheet" href="<c:url value='/innorix/innorix.css'/>" type="text/css">
|
||||
<style>
|
||||
#lctrPlan{margin: 8px 0 0 0; border: 1px solid #d5d5d5; border-radius: 5px; height: 150px !important; background-color: #fafafa;}
|
||||
.innorix_basic div.irx_filetree.empty-uploader{background: url(/offeduadvc/visitEdu/usr/publish/images/content/dropzone_file_before.png) no-repeat center; height: 150px !important;}
|
||||
.irx_filetree,.innorix_basic div.irx_infoBox{height: 150px !important;}
|
||||
</style>
|
||||
<script type="text/javaScript" language="javascript">
|
||||
//강의계획서 업로드
|
||||
var control1 = new Object();
|
||||
var urlBase = "<c:url value='/innorix/exam/'/>"
|
||||
|
||||
$( document ).ready(function() {
|
||||
|
||||
$(".btn_add_file").on('click', function(){
|
||||
@ -31,6 +43,54 @@
|
||||
}
|
||||
});
|
||||
|
||||
//강의계획서 컨트롤 생성
|
||||
control1 = innorix.create({
|
||||
el : '#lctrPlan', // 컨트롤 출력 객체 ID
|
||||
installUrl: '<c:url value="/innorix/install/install.html" />', // Agent 설치 페이지
|
||||
uploadUrl: '<c:url value="/innorix/exam/upload.jsp?el=lctrPlan" />', // 업로드 URL
|
||||
maxFileCount : 1, // 첨부가능 파일 전체 개수
|
||||
width : 870, // 컨트롤 출력 너비(pixel)
|
||||
height : 80, // 컨트롤 출력 높이(pixel)
|
||||
allowExtension : ["txt","xls","xlsx","png","jpg","jpeg","doc","ppt","hwp","pdf","zip"],
|
||||
useContextMenu : 'false' //우클릭을 이용한 개별 업로드 방지
|
||||
});
|
||||
|
||||
//파일 추가 이벤트
|
||||
control1.on('afterAddFiles', function (p) {
|
||||
$('.lctrPlan_totalfileSize').text(getStrFileSize(p[0].fileSize)) ;
|
||||
$('.lctrPlan_totalfileCount').text(p.length);
|
||||
});
|
||||
//파일 삭제 이벤트
|
||||
control1.on('removeFiles', function (p) {
|
||||
$('.lctrPlan_totalfileSize').text('0MB') ;
|
||||
$('.lctrPlan_totalfileCount').text('0');
|
||||
if(control1Tmprr == 'Y'){
|
||||
if(confirm("삭제하시겠습니까?")){
|
||||
innorixDelRprtAtchFile(p[0].uniqueFileName, 'lctrPlan_rslt_atch_file_id')
|
||||
control1Tmprr = 'N';
|
||||
control1Chg = 'Y';
|
||||
$("#control1DownBtn").css('display', 'none');
|
||||
}else{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
//첨부파일 업로드 후속조치
|
||||
control1.on('uploadComplete', function (p) {
|
||||
/* fn_callBackInnorixInsert(p.files); */
|
||||
var data = p.files;
|
||||
var url = "<c:url value='/web/common/insertInnorixLctrPlanFileAjax.do' />";
|
||||
var sendData = {
|
||||
"prcsAplctPrdOrd": $('#prcsAplctPrdOrd').val()
|
||||
, "innorixFileListVO": data
|
||||
, "successMsg" : "제출 완료되었습니다."
|
||||
}
|
||||
if(fn_innorixCmmAjax(sendData, url) == "OK")
|
||||
{
|
||||
alert("업로드 완료");
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
@ -40,48 +100,20 @@
|
||||
detailForm.submit();
|
||||
}
|
||||
|
||||
function fncSave(){
|
||||
//첨부파일 등록 처리
|
||||
$('#file_temp').val(""); //첨부파일 중복 등록 방지를 위해 추가
|
||||
//var data = new FormData(form);
|
||||
var data = new FormData(document.getElementById("detailForm"));
|
||||
|
||||
//첨부파일 등록 처리-step1
|
||||
//if(!data.get("fileSize")){
|
||||
if($('#tbody_fiielist tr').length*1<=0){
|
||||
alert("첨부파일을 등록해 주세요");
|
||||
function fileSave(){
|
||||
|
||||
if(control1.getFileCount() == 0){
|
||||
alert("강의계획서를 첨부해주세요.")
|
||||
return false;
|
||||
}
|
||||
|
||||
//첨부파일 등록 처리-step2
|
||||
_fileForm2.forEach(function(obj, idx) {
|
||||
if (obj) data.append("file"+idx, obj.fileObj);
|
||||
|
||||
});
|
||||
|
||||
if(confirm("강의계획서를 제출 하시겠습니까?")){
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
enctype: 'multipart/form-data',
|
||||
url: "${pageContext.request.contextPath}/web/ve/instr/adultVisitEdu/asgnmInfo/lctrPlanRegAjax.do",
|
||||
data: data,
|
||||
dataType:'json',
|
||||
async: false,
|
||||
processData: false,
|
||||
contentType: false,
|
||||
cache: false,
|
||||
success: function (returnData, status) {
|
||||
if(status == 'success'){
|
||||
alert("등록 되었습니다.");
|
||||
location.reload();
|
||||
} else if(status== 'fail'){
|
||||
alert("등록에 실패하였습니다.");
|
||||
}
|
||||
},
|
||||
error: function (e) { alert("저장에 실패하였습니다."); console.log("ERROR : ", e); }
|
||||
});
|
||||
}
|
||||
//upload.jsp에서 /app/doc/offedu/sht/로 다시 set. context-properties.xml에서 파일 경로도 /app/doc/offedu/sht/
|
||||
var postObj = new Object();
|
||||
postObj.innoDirPath = $('#innoDirPath').val();
|
||||
control1.setPostData(postObj); // 업로드시 함께 전달될 POST Param 추가
|
||||
control1.upload();
|
||||
}
|
||||
|
||||
|
||||
</script>
|
||||
</head>
|
||||
@ -99,6 +131,8 @@
|
||||
<input type="hidden" name="eduChasiOrd" id="eduChasiOrd" value="<c:out value='${info.eduChasiOrd}'/>"/> <!-- 교육차시 순번 -->
|
||||
<input type="hidden" name="hstryCd" id="hstryCd" value=""/> <!-- 배정내역 코드 -->
|
||||
<input type="hidden" name="limitcount" id="limitcount" value="1" /><!-- 최대 업로드 파일갯수 -->
|
||||
<input type="hidden" name="prcsAplctPrdOrd" id="prcsAplctPrdOrd" value="<c:out value='${info.prcsAplctPrdOrd}'/>"/> /><!-- 최대 업로드 파일갯수 -->
|
||||
<input type="hidden" id="innoDirPath" value="<spring:eval expression="@globalSettings['Globals.Innorix.FilePath']"/>" />
|
||||
<div class="cont_tit">
|
||||
<h2>강의내역상세</h2>
|
||||
<div class="sns_go">
|
||||
@ -155,7 +189,7 @@
|
||||
<p>기간</p>
|
||||
</th>
|
||||
<td>
|
||||
<c:out value="${info.strtPnttm}"/>~<c:out value="${info.endPnttm}"/>
|
||||
<c:out value="${info.eduStrtPnttm}"/>~<c:out value="${info.eduDdlnPnttm}"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="trLength2">
|
||||
@ -211,13 +245,14 @@
|
||||
<p>신청자수</p>
|
||||
</th>
|
||||
<td>
|
||||
<c:out value="${info.nosCnt1}"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="trLength2">
|
||||
<th scope="row">
|
||||
<p>신청자수</p>
|
||||
</th>
|
||||
<td colspan="3"></td>
|
||||
<td colspan="3"><c:out value="${info.nosCnt1}"/></td>
|
||||
</tr>
|
||||
<tr class="trLength4">
|
||||
<th scope="row">
|
||||
@ -233,6 +268,28 @@
|
||||
</th>
|
||||
<td colspan="3"><ve:code codeId="VEA004" code="${info.ddlnCd}"/></td>
|
||||
</tr>
|
||||
<tr class="trLength4">
|
||||
<th scope="row"><p>강의계획서</p></th>
|
||||
<td>
|
||||
<div class="btn_wrap">
|
||||
<button type="button" onclick="control1.openFileDialogSingle();" class="btnType01 lctrPlan_btn_add_file">강의계획서 파일찾기</button>
|
||||
<button type="button" onclick="fileSave();" class="btnType01 lctrPlan_btn_add_file">제출</button>
|
||||
<%-- <c:if test="${info.lctrPlanRsltAtchFileId != null && info.lctrPlanRsltAtchFileId != ''}">
|
||||
<button type="button" id="control1DownBtn" onclick="control1.download();" class="btnType01 cpy_btn_add_file">다운로드</button>
|
||||
</c:if> --%>
|
||||
</div>
|
||||
<div id="lctrPlan"></div><br/>
|
||||
<div class="file_cf">
|
||||
<div class="cf_left">
|
||||
<p>최대 <span class="lctrPlan_limitFileCount">1</span>개</p>
|
||||
</div>
|
||||
<div class="cf_right">
|
||||
<p>등록된 파일 <span class="upload_number lctrPlan_totalfileCount">0</span>개</p>
|
||||
<span class="upload_number lctrPlan_totalfileSize">0MB</span>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
@ -242,118 +299,51 @@
|
||||
|
||||
<div class="tb_tit01">
|
||||
<div class="tb_tit01_left">
|
||||
<p>강사정보</p>
|
||||
<p>강사 배치 정보</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="tb_type01 tb_write">
|
||||
<table>
|
||||
<colgroup>
|
||||
<col style="width: 220px;">
|
||||
<col style="width: auto;">
|
||||
<col style="width: 220px;">
|
||||
<col style="width: auto;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr class="trLength4">
|
||||
<th scope="row">
|
||||
<p>성명</p>
|
||||
</th>
|
||||
<td>
|
||||
성인강사2
|
||||
</td>
|
||||
<th scope="row">
|
||||
<p>구분</p>
|
||||
</th>
|
||||
<td>
|
||||
성인 강사
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="trLength2">
|
||||
<th scope="row">
|
||||
<p>성명</p>
|
||||
</th>
|
||||
<td colspan="3">
|
||||
성인강사2
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="trLength2">
|
||||
<th scope="row">
|
||||
<p>구분</p>
|
||||
</th>
|
||||
<td colspan="3">
|
||||
성인 강사
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>거주지</p>
|
||||
</th>
|
||||
<td colspan="3">
|
||||
광주광역시(동구 계림동)
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr class="trLength4">
|
||||
<th scope="row">
|
||||
<p>강사료(a)</p>
|
||||
</th>
|
||||
<td>
|
||||
0
|
||||
</td>
|
||||
<th scope="row">
|
||||
<p>출장비(b)</p>
|
||||
</th>
|
||||
<td>
|
||||
0
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="trLength2">
|
||||
<th scope="row">
|
||||
<p>강사료(a)</p>
|
||||
</th>
|
||||
<td colspan="3">0</td>
|
||||
</tr>
|
||||
<tr class="trLength2">
|
||||
<th scope="row">
|
||||
<p>출장비(b)</p>
|
||||
</th>
|
||||
<td colspan="3">0</td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr class="trLength4">
|
||||
<th scope="row">
|
||||
<p>여비(c)</p>
|
||||
</th>
|
||||
<td>
|
||||
0
|
||||
</td>
|
||||
<th scope="row">
|
||||
<p>총액(a)+(b)+(c)</p>
|
||||
</th>
|
||||
<td>
|
||||
0
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="trLength2">
|
||||
<th scope="row">
|
||||
<p>여비(c)</p>
|
||||
</th>
|
||||
<td colspan="3">0</td>
|
||||
</tr>
|
||||
<tr class="trLength2">
|
||||
<th scope="row">
|
||||
<p>총액(a)+(b)+(c)</p>
|
||||
</th>
|
||||
<td colspan="3">0</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="t_dashboard_btm">
|
||||
<div class="tb_list01" style="width:100%;">
|
||||
<table>
|
||||
<colgroup>
|
||||
<col style="width: 220px;">
|
||||
<col style="width: auto;">
|
||||
<col style="width: 220px;">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<th>강사명</th>
|
||||
<th>연락처</th>
|
||||
<th>확정여부</th>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:choose>
|
||||
<c:when test="${!empty instrAsgnmList }">
|
||||
<c:forEach var="list" items="${instrAsgnmList}" varStatus="status">
|
||||
<tr>
|
||||
<td>
|
||||
<c:out value="${list.instrNm }"/>
|
||||
</td>
|
||||
<td>
|
||||
<c:out value="${list.phone }"/>
|
||||
</td>
|
||||
<td>
|
||||
<ve:code codeId="VE0019" code="${list.asgnmAprvlCd}"/>
|
||||
</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<tr>
|
||||
<td colspan="4">강사 배치 정보가 없습니다.</td>
|
||||
</tr>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@ -361,92 +351,6 @@
|
||||
|
||||
|
||||
|
||||
<dl class="filewrap_div">
|
||||
<c:if test="${empty fileList}">
|
||||
<dt><p class="req_text"><span>필수입력 항목</span>*</p>강의계획서</dt>
|
||||
<dd colspan="3" class="upload_area">
|
||||
<div class="btn_wrap">
|
||||
<button type="button" class="btnType01 btn_add_file">강의계획서 업로드</button>
|
||||
<input type="file" id="file_temp" name="file_temp" class="uploadFile" style="display:none"/>
|
||||
</div>
|
||||
<div class="file_wrap file_upload_box no_img_box">
|
||||
<table>
|
||||
<caption>첨부파일 파일 명, 종류, 크기 정보 제공</caption>
|
||||
<colgroup>
|
||||
<col style="width: auto;">
|
||||
<col style="width: 15%;">
|
||||
<col style="width: 15%;">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<th scope="col">파일 명</th>
|
||||
<th scope="col">종류</th>
|
||||
<th scope="col">크기</th>
|
||||
</thead>
|
||||
<tbody class="tb_file_before">
|
||||
<tr>
|
||||
<td colspan="3">
|
||||
<p>첨부하실 파일을 <span>마우스끌어서</span> 넣어주세요.</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="file_wrap fileAfter file_list_div">
|
||||
<table>
|
||||
<caption>첨부파일 파일 명, 종류, 크기, 삭제 정보 제공</caption>
|
||||
<colgroup>
|
||||
<col style="width: auto;">
|
||||
<col style="width: 15%;">
|
||||
<col style="width: 15%;">
|
||||
<col style="width: 100px;">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<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_${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>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="file_cf">
|
||||
<div class="cf_left">
|
||||
<p>최대 <span>1</span>개</p>
|
||||
<p><span>500MB</span>제한</p>
|
||||
</div>
|
||||
<div class="cf_right btn_wrap">
|
||||
<button type="button" onclick="fncSave(); return false;" class="btnType05" style="height: 40px;">제출</button>
|
||||
</div>
|
||||
</div>
|
||||
</dd>
|
||||
</c:if>
|
||||
<c:if test="${not empty fileList}">
|
||||
<td class="file_download">
|
||||
<c:import url="/cmm/fms/selectScholSealInfs.do" charEncoding="utf-8">
|
||||
<c:param name="param_atchFileId" value="${info.lctrPlanAtchFileId}" />
|
||||
</c:import>
|
||||
</td>
|
||||
</c:if>
|
||||
</dl>
|
||||
|
||||
<div class="btn_wrap btn_layout01">
|
||||
<div class="btn_left">
|
||||
</div>
|
||||
|
||||
@ -112,7 +112,7 @@
|
||||
</tr>
|
||||
</c:forEach>
|
||||
<c:if test="${empty vEPrcsDetailVOList}">
|
||||
<tr><td colspan="5"><spring:message code="common.nodata.msg" /></td></tr>
|
||||
<tr><td colspan="4"><spring:message code="common.nodata.msg" /></td></tr>
|
||||
</c:if>
|
||||
</tbody>
|
||||
</table>
|
||||
@ -183,7 +183,7 @@
|
||||
</ul>
|
||||
</c:forEach>
|
||||
<c:if test="${empty vEPrcsDetailVOList}">
|
||||
<ul><li colspan="5"><spring:message code="common.nodata.msg" /></li></ul>
|
||||
<ul><li colspan="4"><spring:message code="common.nodata.msg" /></li></ul>
|
||||
</c:if>
|
||||
</div>
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user