feat: pms-#3266 "배정강사 클릭시 레이어 팝업으로 강사 정보 노출해주세요" 완료

This commit is contained in:
hylee 2023-07-14 12:50:19 +09:00
commit 6073e72a84
4 changed files with 322 additions and 84 deletions

View File

@ -38,6 +38,8 @@ import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduChasiService; import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduChasiService;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduChasiVO; import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduChasiVO;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduMIXService; import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduMIXService;
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailService;
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsCntntVO; import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsCntntVO;
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.VEPrcsMIXService;
@ -133,6 +135,10 @@ public class EduEndTngrController {
@Resource(name = "egovQustnrRespondManageService") @Resource(name = "egovQustnrRespondManageService")
private EgovQustnrRespondManageService egovQustnrRespondManageService; private EgovQustnrRespondManageService egovQustnrRespondManageService;
//강사상세 정보
@Resource(name="vEInstrDetailService")
private VEInstrDetailService vEInstrDetailService;
/* /*
@ -505,6 +511,31 @@ public class EduEndTngrController {
return modelAndView; return modelAndView;
} }
/**
* 배정강사 정보 조회
*/
@RequestMapping(value="/selectInstrInfo.do")
public ModelAndView selectInstrInfo( HttpServletRequest request
, ModelMap model
, @ModelAttribute("vEInstrDetailVO") VEInstrDetailVO vEInstrDetailVO) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
System.out.println("vEInstrDetailVO.getUserId() :: "+ vEInstrDetailVO.getUserId());
vEInstrDetailVO.setUserId(vEInstrDetailVO.getUserId());
vEInstrDetailVO.setInstrDiv("10");
vEInstrDetailVO.setUseYn("Y");
VEInstrDetailVO info = vEInstrDetailService.selectDetail(vEInstrDetailVO);
// 강사 정보 select
info = egovCryptoUtil.decryptVEInstrDetailVO(info);
modelAndView.addObject("info", info);
modelAndView.addObject("result", "success");
return modelAndView;
}
/** /**
* 교육 설문 결과 정보 조회 * 교육 설문 결과 정보 조회
*/ */

View File

@ -138,6 +138,47 @@
); );
} }
function selectInstrInfo(instrId){
$.ajax({
type:"POST"
,url:"${pageContext.request.contextPath}/web/ve/aplct/tngrVisitEdu/eduEnd/selectInstrInfo.do"
,data: {
"userId" : instrId
}
,dataType:'json'
,success:function(returnData){
console.log(returnData);
var info = returnData.info;
$('#info_instrNm').text(info.instrNm);
var appendHtml = "";
if(info.phtAtchFileId == null)
appendHtml = '<img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/img_add.png" alt="이미지를 넣어주세요">'
else
appendHtml = '<img id="instrPhoto" alt="'+info.instrNm+' 사진" src="<c:url value="/uss/ion/pwm/getImage.do"/>?atchFileId='+info.phtAtchFileId+'" />'
$('#info_instrPhoto').append(appendHtml);
$('#info_phone').text(info.phone);
$('#info_email').text(info.email);
$('#info_post').text(info.post);
$('#info_addr').text(info.addr);
$('#info_rsdne').text(info.rsdne);
$('#info_dBirth').text(info.dBirth);
$('#info_finalSchol').text(info.finalSchol);
$('#info_mjr').text(info.mjr);
$('#info_apptYr').text(info.apptYr);
$('#info_actvtCarer').text(info.actvtCarer);
$('#info_mnLctrCn').text(info.mnLctrCn);
}
,error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
</script> </script>
<form:form id="listForm" name="listForm" commandName="vEEduAplctVO" onsubmit="return false;" method="post"> <form:form id="listForm" name="listForm" commandName="vEEduAplctVO" onsubmit="return false;" method="post">
@ -226,6 +267,189 @@
</div> </div>
<!--// 설문조사 팝업--> <!--// 설문조사 팝업-->
<div class="tooltip-wrap">
<div class="popup_wrap popType05" tabindex="0" data-tooltip-con="instrInfo_pop01" data-focus="instrInfo_pop01" data-focus-prev="instrInfo_pop01_close" style="width:800px;">
<div class="popup_tit">
<p>강사 정보</p>
<button class="btn_popup_close tooltip-close" data-focus="instrInfo_pop01_close" title="팝업 닫기"><i></i></button>
</div>
<div class="popup_cont">
<div class="cont_body">
<div class="pop_tb_type01">
<table>
<caption>성인대상 강사신청 등록 (th 명)을 입력하는 표</caption>
<colgroup>
<col style="width: 145px;">
<col style="width: auto;">
<col style="width: 145px;">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<th scope="row">
<p>강사명</p>
</th>
<td colspan="3" style="position: relative;">
<!-- <label for="instrNm" class="label">강사명</label> -->
<p id="info_instrNm">원영현</p>
<div class="put_photo">
<div class="put_photo_in">
<div class="put_photo_box" id="info_instrPhoto">
</div>
</div>
</div>
</td>
</tr>
<tr>
<th scope="row">
<p>연락처(핸드폰)</p>
</th>
<td class="input_phone" colspan="3">
<p id="info_phone"></p>
</td>
</tr>
<tr>
<th scope="row">
<p>e-mail</p>
</th>
<td class="input_mail" colspan="3">
<p id="info_email"></p>
</td>
</tr>
<tr class="input_adress">
<th scope="row">
<p>주소</p>
</th>
<td colspan="3">
<p id="info_post"></p><br>
<p id="info_addr"></p>
</td>
</tr>
<tr>
<th scope="row">
<p>거주지</p>
</th>
<td>
<p id="info_rsdne"></p>
</td>
</tr>
<tr>
<th scope="row">
<p>생년월일</p>
</th>
<td>
<p id="info_dBirth"></p>
</td>
</tr>
<tr class="trLength4">
<th scope="row">
<p>최종학교</p>
</th>
<td>
<p id="info_finalSchol"></p>
</td>
<th scope="row">
<p>전공</p>
</th>
<td>
<p id="info_mjr"></p>
</td>
</tr>
<!-- <tr class="trLength2">
<th scope="row">
<p>최종학교</p>
</th>
<td colspan="3">
<p id="info_finalSchol">카이스트</p>
</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>전공</p>
</th>
<td colspan="3">
<p id="info_mjr"></p>
</td>
</tr> -->
<tr class="trLength4">
<th scope="row">
<p>위촉년도</p>
</th>
<td>
<p id="info_apptYr"></p>
</td>
<th scope="row">
<p>구분</p>
</th>
<td>
<p id="info_divCd"></p>
</td>
</tr>
<!-- <tr class="trLength2">
<th scope="row">
<p>위촉년도</p>
</th>
<td colspan="3">
<p id="info_apptYr">2022</p>
</td>
</tr><tr>
</tr><tr class="trLength2">
<th scope="row">
<p>구분</p>
</th>
<td colspan="3">
<p id="info_divCd">입문</p>
</td>
</tr>
<tr><th scope="row">
<p>위촉구분</p>
</th>
<td>
<p></p id="info_apptDiv"><p></p>
</td>
</tr> -->
<tr>
<th scope="row">
<p>활동경력</p>
</th>
<td colspan="3">
<p id="info_actvtCarer"></p>
</td>
</tr>
<tr>
<th scope="row">
<p>주요강의내용</p>
</th>
<td colspan="3">
<p id="info_mnLctrCn"></p>
</td>
</tr>
</tbody>
</table>
</div>
<div class="pop_btn_wrap btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
<button type="button" class="btnType02 tooltip-close" data-focus="instrInfo_pop01_close" data-focus-next="instrInfo_pop01">닫기</button>
</div>
<div class="btn_right">
</div>
</div>
</div>
</div>
</div>
</div>
<div class="cont_wrap" id="sub"> <div class="cont_wrap" id="sub">
<div class="cont_tit"> <div class="cont_tit">
<h2>교육신청 상세</h2> <h2>교육신청 상세</h2>
@ -494,7 +718,17 @@
</td> </td>
<td><kc:code codeId="VE0010" code="${list.divCd}"/></td> <td><kc:code codeId="VE0010" code="${list.divCd}"/></td>
<td>${list.trgt}</td> <td>${list.trgt}</td>
<td>${empty list.instrNm ? '-' : list.instrNm}</td> <%-- <td>${empty list.instrNm ? '-' : list.instrNm}</td> --%>
<td>
<c:choose>
<c:when test="${empty list.instrNm }">
-
</c:when>
<c:otherwise>
<button type="button" class="btnType04" data-tooltip="instrInfo_pop01" onclick="selectInstrInfo('${list.userId}')" title="팝업 열림">${list.instrNm }</button>
</c:otherwise>
</c:choose>
</td>
<td>${list.prsnl}</td> <td>${list.prsnl}</td>
</tr> </tr>
</c:forEach> </c:forEach>

View File

@ -131,37 +131,36 @@
function selectInstrInfo(instrId){ function selectInstrInfo(instrId){
$.ajax({ $.ajax({
type:"POST" type:"POST"
,url:"${pageContext.request.contextPath}/web/ve/aplct/tngrVisitEdu/eduEnd/selectEduChasiStatusAjax.do" ,url:"${pageContext.request.contextPath}/web/ve/aplct/tngrVisitEdu/eduEnd/selectInstrInfo.do"
,data: { ,data: {
"eduAplctOrd" : id "userId" : instrId
,"eduChasiOrd" : chId
} }
,dataType:'json' ,dataType:'json'
,success:function(returnData){ ,success:function(returnData){
console.log(returnData); console.log(returnData);
var info = returnData.chasiInfo; var info = returnData.info;
var tm = info.strtTm.replace(/(.{2})/,"$1:") +"~"+ info.endTm.replace(/(.{2})/,"$1:")+"("+info.lrnTm+"분)"
$("#popupEduHopeDt").text(info.eduHopeDt);
$("#popupTm").text(tm);
$("#popupDivCd").text(info.divCd);
$("#popupTrgt").text(info.trgt);
$("#popupInstrNm").text(info.instrNm);
$("#popupPrsnl").text(info.prsnl);
$("#eduAplctOrd").val(info.eduAplctOrd); $('#info_instrNm').text(info.instrNm);
$("#eduChasiOrd").val(info.eduChasiOrd);
$(".popupInput").removeAttr("readonly"); var appendHtml = "";
$(".popupInput").val("0"); if(info.phtAtchFileId == null)
appendHtml = '<img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/img_add.png" alt="이미지를 넣어주세요">'
else
appendHtml = '<img id="instrPhoto" alt="'+info.instrNm+' 사진" src="<c:url value="/uss/ion/pwm/getImage.do"/>?atchFileId='+info.phtAtchFileId+'" />'
if(action == "select"){ $('#info_instrPhoto').append(appendHtml);
$("#popupSubmin").hide();
$("#popupSrvyStatus").text("설문완료"); $('#info_phone').text(info.phone);
selectChasiSrvyInfo(id, chId); $('#info_email').text(info.email);
}else{ $('#info_post').text(info.post);
$("#popupSubmin").show(); $('#info_addr').text(info.addr);
$("#popupSrvyStatus").text("설문진행중"); $('#info_rsdne').text(info.rsdne);
} $('#info_dBirth').text(info.dBirth);
$('#info_finalSchol').text(info.finalSchol);
$('#info_mjr').text(info.mjr);
$('#info_apptYr').text(info.apptYr);
$('#info_actvtCarer').text(info.actvtCarer);
$('#info_mnLctrCn').text(info.mnLctrCn);
} }
,error:function(request , status, error){ ,error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error); alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
@ -606,19 +605,14 @@
<tbody> <tbody>
<tr> <tr>
<th scope="row"> <th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>강사명</p> <p>강사명</p>
</th> </th>
<td colspan="3" style="position: relative; padding-top: 20px; vertical-align: top; height: 180px;"> <td colspan="3" style="position: relative;">
<!-- <label for="instrNm" class="label">강사명</label> --> <!-- <label for="instrNm" class="label">강사명</label> -->
<p>원영현</p> <p id="info_instrNm">원영현</p>
<div class="put_photo"> <div class="put_photo">
<div class="put_photo_in"> <div class="put_photo_in">
<div class="put_photo_box"> <div class="put_photo_box" id="info_instrPhoto">
<img id="instrPhoto" alt="원영현 사진" src="/offeduadvc/uss/ion/pwm/getImage.do?atchFileId=FILE_000000000015890">
</div> </div>
</div> </div>
</div> </div>
@ -626,145 +620,127 @@
</tr> </tr>
<tr> <tr>
<th scope="row"> <th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>연락처(핸드폰)</p> <p>연락처(핸드폰)</p>
</th> </th>
<td class="input_phone" colspan="3"> <td class="input_phone" colspan="3">
<p>010-9341-4986</p> <p id="info_phone"></p>
</td> </td>
</tr> </tr>
<tr> <tr>
<th scope="row"> <th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>e-mail</p> <p>e-mail</p>
</th> </th>
<td class="input_mail" colspan="3"> <td class="input_mail" colspan="3">
<p>rosehips@naver.com</p> <p id="info_email"></p>
</td> </td>
</tr> </tr>
<tr class="input_adress"> <tr class="input_adress">
<th scope="row"> <th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>주소</p> <p>주소</p>
</th> </th>
<td colspan="3"> <td colspan="3">
<p>50445</p><br> <p id="info_post"></p><br>
<p>경상남도 밀양시 가곡동 449-4&nbsp;1층 대강장</p> <p id="info_addr"></p>
</td> </td>
</tr> </tr>
<tr> <tr>
<th scope="row"> <th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>거주지</p> <p>거주지</p>
</th> </th>
<td> <td>
<p>경기도(남양주시 화도읍)</p> <p id="info_rsdne"></p>
</td> </td>
</tr> </tr>
<tr> <tr>
<th scope="row"> <th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>생년월일</p> <p>생년월일</p>
</th> </th>
<td> <td>
<p>1980.12.01</p> <p id="info_dBirth"></p>
</td> </td>
</tr> </tr>
<tr class="trLength4"> <tr class="trLength4">
<th scope="row"> <th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>최종학교</p> <p>최종학교</p>
</th> </th>
<td> <td>
<p>카이스트</p> <p id="info_finalSchol"></p>
</td> </td>
<th scope="row"> <th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>전공</p> <p>전공</p>
</th> </th>
<td> <td>
<p></p> <p id="info_mjr"></p>
</td>
</tr>
<!-- <tr class="trLength2">
<th scope="row">
<p>최종학교</p>
</th>
<td colspan="3">
<p id="info_finalSchol">카이스트</p>
</td> </td>
</tr> </tr>
<tr class="trLength2"> <tr class="trLength2">
<th scope="row"> <th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>최종학교</p>
</th>
<td colspan="3">
<p>카이스트</p>
</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>전공</p> <p>전공</p>
</th> </th>
<td colspan="3"> <td colspan="3">
<p></p> <p id="info_mjr"></p>
</td> </td>
</tr> </tr> -->
<tr class="trLength4"> <tr class="trLength4">
<th scope="row"> <th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>위촉년도</p> <p>위촉년도</p>
</th> </th>
<td> <td>
<p>2022</p> <p id="info_apptYr"></p>
</td> </td>
<th scope="row"> <th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>구분</p> <p>구분</p>
</th> </th>
<td> <td>
<p>입문</p> <p id="info_divCd"></p>
</td> </td>
</tr> </tr>
<tr class="trLength2"> <!-- <tr class="trLength2">
<th scope="row"> <th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>위촉년도</p> <p>위촉년도</p>
</th> </th>
<td colspan="3"> <td colspan="3">
<p>2022</p> <p id="info_apptYr">2022</p>
</td> </td>
</tr><tr> </tr><tr>
</tr><tr class="trLength2"> </tr><tr class="trLength2">
<th scope="row"> <th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>구분</p> <p>구분</p>
</th> </th>
<td colspan="3"> <td colspan="3">
<p>입문</p> <p id="info_divCd">입문</p>
</td> </td>
</tr> </tr>
<tr><th scope="row"> <tr><th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>위촉구분</p> <p>위촉구분</p>
</th> </th>
<td> <td>
<p></p><p>1기</p><p></p> <p></p id="info_apptDiv"><p></p>
</td> </td>
</tr> </tr> -->
<tr> <tr>
<th scope="row"> <th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>활동경력</p> <p>활동경력</p>
</th> </th>
<td colspan="3"> <td colspan="3">
<label for="actvtCarer" class="label">활동경력 입력</label> <p id="info_actvtCarer"></p>
<textarea name="actvtCarer" id="actvtCarer" readonly="">0!!!!!!!!!!!!!</textarea>
</td> </td>
</tr> </tr>
<tr> <tr>
<th scope="row"> <th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>주요강의내용</p> <p>주요강의내용</p>
</th> </th>
<td colspan="3"> <td colspan="3">
<label for="mnLctrCn" class="label">주요강의내용 입력</label> <p id="info_mnLctrCn"></p>
<textarea name="mnLctrCn" id="mnLctrCn" readonly="">00</textarea>
</td> </td>
</tr> </tr>
</tbody> </tbody>
@ -776,10 +752,7 @@
<div class="btn_left"> <div class="btn_left">
</div> </div>
<div class="btn_center"> <div class="btn_center">
<button type="button" class="btnType02 tooltip-close" data-focus="instrInfo_pop01_close" data-focus-next="instrInfo_pop01">닫기</button>
<button type="button" class="btnType05" id="popupSubmin" onclick="srvySendSubmit();">제출</button>
<button type="button" class="btnType02 tooltip-close" data-focus="instrInfo_pop01_close" data-focus-next="instrInfo_pop01">취소</button>
</div> </div>
<div class="btn_right"> <div class="btn_right">
</div> </div>
@ -1031,7 +1004,7 @@
<td>${list.trgt}</td> <td>${list.trgt}</td>
<td> <td>
<%-- <td>${empty list.instrNm ? '-' : cryptoUtil.decrypt(list.instrNm)}</td> --%> <%-- ${empty list.instrNm ? '-' : cryptoUtil.decrypt(list.instrNm)} --%>
<c:choose> <c:choose>
<c:when test="${empty list.instrNm }"> <c:when test="${empty list.instrNm }">
- -

View File

@ -97,8 +97,8 @@
.application_wrap .list ol li span {display:block;white-space:normal;word-break:break-all;} .application_wrap .list ol li span {display:block;white-space:normal;word-break:break-all;}
.application_wrap .list ol li a {display:inline;color:#555;} .application_wrap .list ol li a {display:inline;color:#555;}
.pop_tb_type01 table tbody tr td .put_photo{position: absolute; right: 0; top: 0; border-left: 1px solid #e5e5e5} .pop_tb_type01 table tbody tr td .put_photo{position: absolute; right: 0; top: 0; border-left: 1px solid #e5e5e5; background-color: #fff;}
.pop_tb_type01 table tbody tr td .put_photo .put_photo_in {background-color: #f5f5f5; width: 128px; height: 165px; border: 1px solid #d5d5d5; border-radius: 5px; margin: 7px; box-sizing: border-box; position: relative; overflow: hidden;} .pop_tb_type01 table tbody tr td .put_photo .put_photo_in {background-color: #f5f5f5; width: 116px; height: 150px; border: 1px solid #d5d5d5; border-radius: 5px; margin: 7px; box-sizing: border-box; position: relative; overflow: hidden;}