2023-12-12 15:17 QR 설문 페이지 작업
This commit is contained in:
parent
afee819230
commit
8f3265e636
@ -356,6 +356,76 @@ public class ScholInfoController {
|
|||||||
return "/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/popup/qustnrPopList";
|
return "/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/popup/qustnrPopList";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 설문 출력 팝업 리스트
|
||||||
|
*/
|
||||||
|
@RequestMapping("popup/qustnrPrintPopList.do")
|
||||||
|
public String qustnrPrintPopList(
|
||||||
|
@ModelAttribute("vEEduChasiVO") VEEduChasiVO vEEduChasiVO
|
||||||
|
, QustnrRespondInfoVO qustnrRespondInfoVO
|
||||||
|
, ModelMap model
|
||||||
|
, HttpServletRequest request
|
||||||
|
) throws Exception {
|
||||||
|
|
||||||
|
String s_action = request.getParameter("action"); //insert or select
|
||||||
|
System.out.println("s_action");
|
||||||
|
System.out.println("qustnrPrintPopList");
|
||||||
|
System.out.println(vEEduChasiVO.getSiteIdCd());
|
||||||
|
System.out.println(s_action);
|
||||||
|
System.out.println(vEEduChasiVO.getQustnrTmplatId());
|
||||||
|
System.out.println(vEEduChasiVO.getQestnrId());
|
||||||
|
System.out.println(vEEduChasiVO.getQustnrRespondId());
|
||||||
|
|
||||||
|
System.out.println(qustnrRespondInfoVO.getQustnrTmplatId());
|
||||||
|
System.out.println(qustnrRespondInfoVO.getQestnrId());
|
||||||
|
System.out.println(qustnrRespondInfoVO.getQustnrRespondId());
|
||||||
|
|
||||||
|
//차시 정보
|
||||||
|
try {
|
||||||
|
vEEduChasiVO.setInstrDiv(VeConstants.LCTR_DIV_CD_10); //10-청소년 강사, 20-성인강사 VE0001
|
||||||
|
|
||||||
|
VEEduChasiVO ChasiInfo = vEEduMIXService.selectChasiInfo(vEEduChasiVO);
|
||||||
|
ChasiInfo.setInstrNm(egovCryptoUtil.decrypt(ChasiInfo.getInstrNm()));
|
||||||
|
|
||||||
|
ChasiInfo.setStrtTm(ChasiInfo.getStrtTm().substring(0,2)+":"+ChasiInfo.getStrtTm().substring(2,4));
|
||||||
|
ChasiInfo.setEndTm(ChasiInfo.getEndTm().substring(0,2)+":"+ChasiInfo.getEndTm().substring(2,4));
|
||||||
|
|
||||||
|
model.addAttribute("chasiInfo", ChasiInfo);
|
||||||
|
|
||||||
|
}catch(Exception ex) {
|
||||||
|
System.out.println("Exception vEEduAplctOnlnService.updateBulk");
|
||||||
|
}
|
||||||
|
|
||||||
|
//참석 답변 정보
|
||||||
|
try {
|
||||||
|
List<QustnrRespondInfoVO> chasiSrvyList = egovQustnrRespondInfoService.selectChasiSrvyList202312(qustnrRespondInfoVO);
|
||||||
|
model.addAttribute("qestnrRespondent", chasiSrvyList.get(0).getQestnrRespondent());
|
||||||
|
model.addAttribute("qestnrParticipant", chasiSrvyList.get(0).getQestnrParticipant());
|
||||||
|
model.addAttribute("chasiSrvyList", chasiSrvyList);
|
||||||
|
}catch(Exception ex) {
|
||||||
|
System.out.println("Exception vEEduAplctOnlnService.updateBulk");
|
||||||
|
}
|
||||||
|
|
||||||
|
//설문 참여 정보
|
||||||
|
/*
|
||||||
|
try {
|
||||||
|
model = qustnrCommonUtil._qustnrQesItm(
|
||||||
|
model
|
||||||
|
, VeConstants.LCTR_DIV_CD_10 //청소년 -10, 성인-20, ...VE0012
|
||||||
|
, "10" //10-기본설문, 20-신청자설문, 30-강사설문 VEA012
|
||||||
|
, "QTMPLA_0000000000001"
|
||||||
|
, vEALettnQestnrMIXService
|
||||||
|
, egovQustnrRespondInfoService
|
||||||
|
);
|
||||||
|
|
||||||
|
}catch(Exception ex) {
|
||||||
|
ex.printStackTrace();
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
return "/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/popup/qustnrPrintPopList";
|
||||||
|
}
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
//
|
//
|
||||||
|
|||||||
@ -712,6 +712,64 @@ public class EduEndTngrController {
|
|||||||
return modelAndView;
|
return modelAndView;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 교육설문 등록 - 청소년, 성인 공통 - qr을 통한 개별 등록
|
||||||
|
*/
|
||||||
|
@RequestMapping(value="/insertNewSrvyInfoEAAjax.do")
|
||||||
|
public ModelAndView insertNewSrvyInfoEAAjax( HttpServletRequest request
|
||||||
|
, ModelMap model
|
||||||
|
, VEEduAplctVO veEduAplctVO
|
||||||
|
, QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception {
|
||||||
|
ModelAndView modelAndView = new ModelAndView();
|
||||||
|
modelAndView.setViewName("jsonView");
|
||||||
|
try {
|
||||||
|
|
||||||
|
System.out.println("qustnrRespondInfoVO");
|
||||||
|
System.out.println(qustnrRespondInfoVO);
|
||||||
|
System.out.println(qustnrRespondInfoVO);
|
||||||
|
|
||||||
|
//String
|
||||||
|
|
||||||
|
LoginVO loginVO = checkLoginUtil.getAuthLoginVO();
|
||||||
|
if (loginVO == null) {
|
||||||
|
modelAndView.addObject("result", "fail");
|
||||||
|
modelAndView.addObject("msg", "로그인 해주세요.");
|
||||||
|
return modelAndView;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 설문 참석자, 응답자, 결과 저장
|
||||||
|
QustnrRespondManageVO qustnrRespondManageVO = new QustnrRespondManageVO();
|
||||||
|
qustnrRespondManageVO.setEduAplctOrd(veEduAplctVO.getEduAplctOrd());
|
||||||
|
qustnrRespondManageVO.setEduChasiOrd(veEduAplctVO.getEduChasiOrd());
|
||||||
|
qustnrRespondManageVO.setQestnrId(qustnrRespondInfoVO.getQestnrId());
|
||||||
|
qustnrRespondManageVO.setQestnrParticipant(qustnrRespondInfoVO.getQestnrParticipant());
|
||||||
|
qustnrRespondManageVO.setQestnrRespondent(qustnrRespondInfoVO.getQestnrRespondent());
|
||||||
|
qustnrRespondManageVO.setFrstRegisterId(loginVO.getId());
|
||||||
|
qustnrRespondManageVO.setLastUpdusrId(loginVO.getId());
|
||||||
|
qustnrRespondManageVO.setQestnrTmplatId(qustnrRespondInfoVO.getQustnrTmplatId());
|
||||||
|
|
||||||
|
egovQustnrRespondManageService.insertQustnrRespondManage(qustnrRespondManageVO);
|
||||||
|
// 설문 문항 결과 등록
|
||||||
|
for(int i=0; i < qustnrRespondInfoVO.getResultList().size(); i++) {
|
||||||
|
System.out.println("qustnrRespondInfoVO.getResultList().get(i).getQustnrQesitmId()");
|
||||||
|
System.out.println(qustnrRespondInfoVO.getResultList().get(i).getQustnrQesitmId());
|
||||||
|
qustnrRespondInfoVO.getResultList().get(i).setQustnrTmplatId(qustnrRespondInfoVO.getQustnrTmplatId());
|
||||||
|
qustnrRespondInfoVO.getResultList().get(i).setQustnrQesitmId(qustnrRespondInfoVO.getQustnrQesitmId());
|
||||||
|
|
||||||
|
qustnrRespondInfoVO.getResultList().get(i).setRespondId(loginVO.getId());
|
||||||
|
qustnrRespondInfoVO.getResultList().get(i).setFrstRegisterId(loginVO.getId());
|
||||||
|
qustnrRespondInfoVO.getResultList().get(i).setLastUpdusrId(loginVO.getId());
|
||||||
|
qustnrRespondInfoVO.getResultList().get(i).setEduAplctOrd(veEduAplctVO.getEduAplctOrd());
|
||||||
|
qustnrRespondInfoVO.getResultList().get(i).setEduChasiOrd(veEduAplctVO.getEduChasiOrd());
|
||||||
|
egovQustnrRespondInfoService.insertSrvyInfo(qustnrRespondInfoVO.getResultList().get(i));
|
||||||
|
}
|
||||||
|
}catch(Exception ex) {
|
||||||
|
System.out.println("Exception vEEduAplctOnlnService.updateBulk");
|
||||||
|
}
|
||||||
|
modelAndView.addObject("result", "success");
|
||||||
|
return modelAndView;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 교육설문조사 등록 로직
|
* 교육설문조사 등록 로직
|
||||||
*/
|
*/
|
||||||
@ -1018,10 +1076,13 @@ public class EduEndTngrController {
|
|||||||
|
|
||||||
@RequestMapping("eduEndQustnrNoLoginDetail.do")
|
@RequestMapping("eduEndQustnrNoLoginDetail.do")
|
||||||
public String eduEndQustnrNoLoginDetail(
|
public String eduEndQustnrNoLoginDetail(
|
||||||
ModelMap model
|
@ModelAttribute("vEEduChasiVO") VEEduChasiVO vEEduChasiVO
|
||||||
|
, @ModelAttribute("qustnrRespondInfoVO") QustnrRespondInfoVO qustnrRespondInfoVO
|
||||||
|
, ModelMap model
|
||||||
, HttpServletRequest request
|
, HttpServletRequest request
|
||||||
) throws Exception {
|
) throws Exception {
|
||||||
|
|
||||||
|
/*
|
||||||
//설문 정보
|
//설문 정보
|
||||||
try {
|
try {
|
||||||
model = qustnrCommonUtil._qustnrQesItm(
|
model = qustnrCommonUtil._qustnrQesItm(
|
||||||
@ -1036,7 +1097,44 @@ public class EduEndTngrController {
|
|||||||
}catch(Exception ex) {
|
}catch(Exception ex) {
|
||||||
ex.printStackTrace();
|
ex.printStackTrace();
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
String s_action = request.getParameter("action"); //insert or select
|
||||||
|
System.out.println("s_action");
|
||||||
|
System.out.println(s_action);
|
||||||
|
System.out.println(vEEduChasiVO.getQustnrTmplatId());
|
||||||
|
System.out.println(vEEduChasiVO.getQestnrId());
|
||||||
|
System.out.println(vEEduChasiVO.getQustnrRespondId());
|
||||||
|
|
||||||
|
System.out.println(qustnrRespondInfoVO.getQustnrTmplatId());
|
||||||
|
System.out.println(qustnrRespondInfoVO.getQestnrId());
|
||||||
|
System.out.println(qustnrRespondInfoVO.getQustnrRespondId());
|
||||||
|
//차시 정보
|
||||||
|
try {
|
||||||
|
vEEduChasiVO.setInstrDiv(VeConstants.LCTR_DIV_CD_10); //10-청소년 강사, 20-성인강사 VE0001
|
||||||
|
|
||||||
|
VEEduChasiVO ChasiInfo = vEEduMIXService.selectChasiInfo(vEEduChasiVO);
|
||||||
|
ChasiInfo.setInstrNm(egovCryptoUtil.decrypt(ChasiInfo.getInstrNm()));
|
||||||
|
|
||||||
|
ChasiInfo.setStrtTm(ChasiInfo.getStrtTm().substring(0,2)+":"+ChasiInfo.getStrtTm().substring(2,4));
|
||||||
|
ChasiInfo.setEndTm(ChasiInfo.getEndTm().substring(0,2)+":"+ChasiInfo.getEndTm().substring(2,4));
|
||||||
|
|
||||||
|
model.addAttribute("chasiInfo", ChasiInfo);
|
||||||
|
|
||||||
|
}catch(Exception ex) {
|
||||||
|
System.out.println("Exception vEEduAplctOnlnService.updateBulk");
|
||||||
|
}
|
||||||
|
|
||||||
|
//참석 답변 정보
|
||||||
|
try {
|
||||||
|
List<QustnrRespondInfoVO> chasiSrvyList = egovQustnrRespondInfoService.selectChasiSrvyList202312(qustnrRespondInfoVO);
|
||||||
|
model.addAttribute("qestnrRespondent", chasiSrvyList.get(0).getQestnrRespondent());
|
||||||
|
model.addAttribute("qestnrParticipant", chasiSrvyList.get(0).getQestnrParticipant());
|
||||||
|
model.addAttribute("chasiSrvyList", chasiSrvyList);
|
||||||
|
}catch(Exception ex) {
|
||||||
|
System.out.println("Exception vEEduAplctOnlnService.updateBulk");
|
||||||
|
}
|
||||||
|
|
||||||
return "/web/ve/comm/eduEndQustnrNoLoginDetail";
|
return "/web/ve/comm/eduEndQustnrNoLoginDetail";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -17,7 +17,7 @@
|
|||||||
<pattern>/web/survey/jsontest.do</pattern> <!-- 사용자 설문 결과 팝업 -->
|
<pattern>/web/survey/jsontest.do</pattern> <!-- 사용자 설문 결과 팝업 -->
|
||||||
<pattern>/web/ve/aplct/tngrVisitEdu/lctrSrvy/lctrSrvyReg.do</pattern> <!-- 찾교 설문조사 화면 -->
|
<pattern>/web/ve/aplct/tngrVisitEdu/lctrSrvy/lctrSrvyReg.do</pattern> <!-- 찾교 설문조사 화면 -->
|
||||||
<pattern>*/web/ve/**/*Popup*</pattern> <!-- 찾교 팝업(강사신청 반려 팝업) -->
|
<pattern>*/web/ve/**/*Popup*</pattern> <!-- 찾교 팝업(강사신청 반려 팝업) -->
|
||||||
<pattern>*/eduEndQustnrNoLoginDetail.do</pattern>
|
<!-- <pattern>*/eduEndQustnrNoLoginDetail.do</pattern> -->
|
||||||
|
|
||||||
</decorator>
|
</decorator>
|
||||||
|
|
||||||
|
|||||||
@ -73,9 +73,10 @@ var calendar;
|
|||||||
listMonth: '일정'
|
listMonth: '일정'
|
||||||
},
|
},
|
||||||
headerToolbar: {
|
headerToolbar: {
|
||||||
left: 'prevYear nextYear today',
|
//left: 'prevYear nextYear today',
|
||||||
|
left: 'today',
|
||||||
center: 'prev title next',
|
center: 'prev title next',
|
||||||
right: ' '
|
right: 'today'
|
||||||
//right: 'dayGridMonth,listMonth'
|
//right: 'dayGridMonth,listMonth'
|
||||||
},
|
},
|
||||||
eventSources: [
|
eventSources: [
|
||||||
|
|||||||
@ -349,8 +349,7 @@
|
|||||||
<!-- cont_tit -->
|
<!-- cont_tit -->
|
||||||
<div class="cont_tit" style="padding-top: 0px;">
|
<div class="cont_tit" style="padding-top: 0px;">
|
||||||
<input type="hidden" id="searchCalendarCode" value="">
|
<input type="hidden" id="searchCalendarCode" value="">
|
||||||
<h2>교육신청가능일자현황</h2>
|
<h2>교육신청가능일자현황</h2>
|
||||||
/${scholInfoVO.rndsOrd }/
|
|
||||||
<!--
|
<!--
|
||||||
<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>
|
||||||
|
|||||||
@ -525,4 +525,5 @@ $(document).ready(function(){
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|||||||
@ -0,0 +1,527 @@
|
|||||||
|
<%--
|
||||||
|
|
||||||
|
Class Name : qustnrPrintPopList.jsp
|
||||||
|
Description : 설문출력팝업
|
||||||
|
Modification Information
|
||||||
|
|
||||||
|
1.강의 종류(청소년, 성인 ... VE0011) 및 설문 종류 (10-기본, 20-신청자, 30-강사) 및 상태(등록, 완료) 에 맞는 설문 레이어 팝업을 만든다.
|
||||||
|
|
||||||
|
수정일 수정자 수정내용
|
||||||
|
------- -------- ---------------------------
|
||||||
|
2021.12.02 조용준 내용
|
||||||
|
|
||||||
|
author : 조용준
|
||||||
|
since : 2021.12.02
|
||||||
|
|
||||||
|
--%>
|
||||||
|
<%@ 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"%>
|
||||||
|
|
||||||
|
<script type="text/javascript" src="${pageContext.request.contextPath}/kccadrPb/usr/script/popup.js"></script>
|
||||||
|
<script type="text/javaScript" language="javascript">
|
||||||
|
|
||||||
|
function fncGoScholList(){
|
||||||
|
linkPage(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
function linkPage(pageNo){
|
||||||
|
var data = {
|
||||||
|
pageIndex : pageNo,
|
||||||
|
searchKeyword : $("#searchKeyword").val(),
|
||||||
|
searchCondition : $("#searchCondition").val(),
|
||||||
|
pageUnit : 5,
|
||||||
|
formId : $("#formId").val(),
|
||||||
|
}
|
||||||
|
fncScholList(data);
|
||||||
|
}
|
||||||
|
|
||||||
|
function fncScholList(paramObj) {
|
||||||
|
if(paramObj == undefined || paramObj == ''){
|
||||||
|
paramObj = {
|
||||||
|
pageIndex : 1,
|
||||||
|
searchKeyword : "",
|
||||||
|
searchCondition : "",
|
||||||
|
pageUnit : 5,
|
||||||
|
formId : $("#formId").val(),
|
||||||
|
};
|
||||||
|
}
|
||||||
|
// 학교 리스트 팝업 호출
|
||||||
|
commonPopLayeropen(
|
||||||
|
"${pageContext.request.contextPath}/web/ve/aplct/cpyrgExprnClsrm/scholInfo/popup/scholPopList.do"
|
||||||
|
, 500
|
||||||
|
, 600
|
||||||
|
, paramObj
|
||||||
|
, "N"
|
||||||
|
, "scholPop"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
function fncScholDataSlct_back(p_code, p_nm){
|
||||||
|
var fNm = "#"+$("#formId").val();
|
||||||
|
$(fNm + " #stndrdScholCd").val(p_code);
|
||||||
|
$(fNm + " #scholInsttNm").val(p_nm);
|
||||||
|
|
||||||
|
$(".btn_popup_close").click();
|
||||||
|
}
|
||||||
|
|
||||||
|
function fncScholDataSlct(thisObj){
|
||||||
|
var inObj = $(thisObj).closest("td").find("input[type=hidden]");
|
||||||
|
var rsObj = new Object();
|
||||||
|
$.each(inObj, function(idx, value){
|
||||||
|
console.log(value.value);
|
||||||
|
rsObj[value.name] = value.value;
|
||||||
|
});
|
||||||
|
callBackSchPop(rsObj);
|
||||||
|
$(".btn_popup_close").click();
|
||||||
|
}
|
||||||
|
|
||||||
|
function replyCalculation(){
|
||||||
|
var qestnrParticipant = $("#qestnrParticipant").val(); //참석자 수량
|
||||||
|
var qestnrRespondent = $("#qestnrRespondent").val(); //응답자 수량
|
||||||
|
|
||||||
|
if(qestnrParticipant == "" || qestnrParticipant == null){
|
||||||
|
alert("참석자 수량을 넣어주세요");
|
||||||
|
$("#qestnrParticipant").focus();
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
if(qestnrRespondent == "" || qestnrRespondent == null){
|
||||||
|
alert("응답자 수량을 넣어주세요");
|
||||||
|
$("#qestnrParticipant").focus();
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
if(Number(qestnrParticipant) < Number(qestnrRespondent)){
|
||||||
|
alert("응답자 수량이 참석자 수량보다 많습니다.");
|
||||||
|
$("#qestnrParticipant").focus();
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
var responseRateTxt = (Number(qestnrRespondent) / Number(qestnrParticipant)*Number(100)).toFixed(1);
|
||||||
|
$("#responseRate").text(responseRateTxt + "%");
|
||||||
|
$("#noResponse").text(Number(qestnrParticipant) - Number(qestnrRespondent));
|
||||||
|
}
|
||||||
|
|
||||||
|
function popupSrvySendSubmit(){
|
||||||
|
|
||||||
|
var qestmSize = parseInt($("#qestmInfoSize").val()); //평가문항 수량
|
||||||
|
var qestnrParticipant = parseInt($("#qestnrParticipant").val()); //참석자 수량
|
||||||
|
var qestnrRespondent = parseInt($("#qestnrRespondent").val()); //응답자 수량
|
||||||
|
|
||||||
|
if(qestnrParticipant == null || qestnrParticipant == ""){
|
||||||
|
alert("참석자 수량을 넣어주세요");
|
||||||
|
$("#qestnrParticipant").focus();
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
if(qestnrRespondent == null || qestnrRespondent == ""){
|
||||||
|
alert("응답자 수량을 넣어주세요");
|
||||||
|
$("#qestnrRespondent").focus();
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
if(qestnrParticipant < qestnrRespondent){
|
||||||
|
alert("응답자 수량이 참석자 수보다 많습니다 확인해 주세요");
|
||||||
|
$("#qestnrRespondent").focus();
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
for(var i=0; i < qestmSize; i++){
|
||||||
|
var verySatisfied = $("#verySatisfied_"+i).val();
|
||||||
|
var satisfied = $("#satisfied_"+i).val();
|
||||||
|
var neither = $("#neither_"+i).val();
|
||||||
|
var dissatisfied = $("#dissatisfied_"+i).val();
|
||||||
|
var veryDissatisfied = $("#veryDissatisfied_"+i).val();
|
||||||
|
|
||||||
|
if(verySatisfied == null || verySatisfied == ""){
|
||||||
|
alert((i+1)+"번 [매우만족] 만족도를 정확히 넣어주세요");
|
||||||
|
$("#verySatisfied_"+i).focus();
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if(satisfied == null || satisfied == ""){
|
||||||
|
alert((i+1)+"번 [만족] 만족도를 정확히 넣어주세요");
|
||||||
|
$("#satisfied_"+i).focus();
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if(neither == null || neither == ""){
|
||||||
|
alert((i+1)+"번 [보통] 만족도를 정확히 넣어주세요");
|
||||||
|
$("#neither_"+i).focus();
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if(dissatisfied == null || dissatisfied == ""){
|
||||||
|
alert((i+1)+"번 [불만족] 만족도를 정확히 넣어주세요");
|
||||||
|
$("#dissatisfied_"+i).focus();
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if(veryDissatisfied == null || veryDissatisfied == ""){
|
||||||
|
alert((i+1)+"번 [매우불만족] 만족도를 정확히 넣어주세요");
|
||||||
|
$("#veryDissatisfied_"+i).focus();
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
var sum = Number(verySatisfied) + Number(satisfied) + Number(neither) + Number(dissatisfied) + Number(veryDissatisfied);
|
||||||
|
|
||||||
|
if(qestnrRespondent != sum ){
|
||||||
|
alert((i+1)+"문항의 합계가 응답수량과 맞지 않습니다.");
|
||||||
|
$("#verySatisfied_"+i).focus();
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(confirm("설문결과를 등록 하시겠습니까?")){
|
||||||
|
// var frm = document.newSrvyPopupForm;
|
||||||
|
var data = new FormData(document.getElementById("newSrvyPopupForm"));
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
type:"POST"
|
||||||
|
,url:"${pageContext.request.contextPath}/web/ve/aplct/tngrVisitEdu/eduEnd/insertNewSrvyInfoAjax.do"
|
||||||
|
,data: data
|
||||||
|
,dataType:'json'
|
||||||
|
,async: false
|
||||||
|
,processData: false
|
||||||
|
,contentType: false
|
||||||
|
,cache: false
|
||||||
|
,success:function(returnData){
|
||||||
|
if(returnData.result == 'success'){
|
||||||
|
alert("설문결과가 등록 되었습니다.");
|
||||||
|
window.location.reload();
|
||||||
|
}else if(returnData.result == 'fail'){
|
||||||
|
alert(returnData.msg);
|
||||||
|
location.href="/web/user/login/ssoLogin.do?test=test";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
,error:function(request , status, error){
|
||||||
|
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$(document).ready(function(){
|
||||||
|
/*
|
||||||
|
boardCaptionDetailToggle4();
|
||||||
|
|
||||||
|
// 레이어팝업 포커싱 이동 수정
|
||||||
|
$(".tooltip-close").click(function(){
|
||||||
|
var activeTarget = $('[data-tooltip-con="sub36_pop02"]');
|
||||||
|
activeTarget.hide();
|
||||||
|
$('[data-tooltip="sub01_pop02"]').focus();
|
||||||
|
});
|
||||||
|
|
||||||
|
//레이어팝업 초정 이동 시 필요한 data 값 추가
|
||||||
|
var btnLast = $('.popup_cont').find('.page').find('button:last-child');
|
||||||
|
btnLast.attr('data-focus-next','sub36_pop02');
|
||||||
|
btnLast.attr('data-focus','sub36_pop02_close');
|
||||||
|
*/
|
||||||
|
|
||||||
|
})
|
||||||
|
|
||||||
|
function onclickPrint() {
|
||||||
|
var $container = $("#srvyPopupPrintDiv").clone();
|
||||||
|
var innerHtml = $container[0].innerHTML
|
||||||
|
var popupWindow = window.open("", "_blank", "width=800,height=800")
|
||||||
|
popupWindow.document.write(
|
||||||
|
"<!DOCTYPE html>"+
|
||||||
|
"<html>"+
|
||||||
|
"<head>"+
|
||||||
|
"<link rel='stylesheet' href='<c:url value='/visitEdu/usr/publish/css/popup.css'/>'>"+
|
||||||
|
"<script src='<c:url value='/visitEdu/usr/publish/script/jquery-3.5.0.js'/>'><\/script>"+
|
||||||
|
|
||||||
|
"<style>"+
|
||||||
|
|
||||||
|
"</style>"+
|
||||||
|
"<script>"+
|
||||||
|
"$( document ).ready( function() {" +
|
||||||
|
"$('div').removeClass('popup_wrap');"+
|
||||||
|
"$('.btn_layout01').hide();"+
|
||||||
|
"$('.pop_tb_type02').addClass('popup_print');"+
|
||||||
|
"$('.pop_tb_type02').css('overflow-y','initial');"+
|
||||||
|
"});"+
|
||||||
|
"<\/script>"+
|
||||||
|
"</head>"+
|
||||||
|
"<body>"+innerHtml+"</body>"+
|
||||||
|
"</html>")
|
||||||
|
popupWindow.document.close()
|
||||||
|
popupWindow.focus()
|
||||||
|
setTimeout(() => {
|
||||||
|
popupWindow.print()
|
||||||
|
popupWindow.close()
|
||||||
|
}, 5000)
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<!-- 일정 상세 -->
|
||||||
|
<form id="newSrvyPopupForm" name="newSrvyPopupForm" method="post" >
|
||||||
|
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="${chasiInfo.eduAplctOrd}">
|
||||||
|
<input type="hidden" name="eduChasiOrd" id="eduChasiOrd" value="${chasiInfo.eduChasiOrd}">
|
||||||
|
<input type="hidden" name="qustnrTmplatId" id="qustnrTmplatId" value="${chasiSrvyList[0].qustnrTmplatId}">
|
||||||
|
<input type="hidden" name="qestnrId" id="qestnrId" value="${chasiSrvyList[0].qestnrId}">
|
||||||
|
<input type="hidden" name="qestmInfoSize" id="qestmInfoSize" value="${fn:length(chasiSrvyList)}">
|
||||||
|
|
||||||
|
<div class="tooltip-wrap srvyPopupPrintDiv" id="srvyPopupPrintDiv">
|
||||||
|
<div class="popup_wrap popType01" tabindex="0" data-tooltip-con="sub36_pop02" data-focus="sub36_pop02" data-focus-prev="sub36_pop02_close">
|
||||||
|
<div class="popup_tit">
|
||||||
|
<p>강의만족도 설문지 출력</p> <button class="btn_popup_close tooltip-close" data-focus="sub36_pop02_close" title="팝업 닫기"><i></i></button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="popup_cont">
|
||||||
|
<div class="cont_body">
|
||||||
|
|
||||||
|
<div class="pop_tb_type02">
|
||||||
|
<table>
|
||||||
|
<caption>교육일, 차시, 구분, 대상, 배정강사, 인원, 설문완료 여부 등의 정보제공</caption>
|
||||||
|
<colgroup>
|
||||||
|
<col style="width: 10%;">
|
||||||
|
<col style="width: 15%;">
|
||||||
|
<col style="width: 8%;">
|
||||||
|
<col style="width: 10%;">
|
||||||
|
<col style="width: 10%;">
|
||||||
|
<col style="width: 8%;">
|
||||||
|
<col style="width: 10%;">
|
||||||
|
</colgroup>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th scope="col">교육일</th>
|
||||||
|
<th scope="col">차시</th>
|
||||||
|
<th scope="col">구분</th>
|
||||||
|
<th scope="col">대상</th>
|
||||||
|
<th scope="col">배정강사</th>
|
||||||
|
<th scope="col">인원</th>
|
||||||
|
<th scope="col">설문완료 여부</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<th scope="row" id="popupEduHopeDt">
|
||||||
|
<c:out value="${chasiInfo.eduHopeDt}" />
|
||||||
|
</th>
|
||||||
|
<td id="popupTm">
|
||||||
|
<c:out value="${chasiInfo.strtTm}" />~<c:out value="${chasiInfo.endTm}" />
|
||||||
|
</td>
|
||||||
|
<td id="popupDivCd">
|
||||||
|
<c:out value="${chasiInfo.divCd}" />
|
||||||
|
</td>
|
||||||
|
<td id="popupTrgt">
|
||||||
|
<c:out value="${chasiInfo.trgt}" />
|
||||||
|
</td>
|
||||||
|
<td id="popupInstrNm">
|
||||||
|
<c:out value="${chasiInfo.instrNm}" />
|
||||||
|
</td>
|
||||||
|
<td id="popupPrsnl">
|
||||||
|
<c:out value="${chasiInfo.prsnl}" />
|
||||||
|
</td>
|
||||||
|
<td id="popupSrvyStatus">
|
||||||
|
<c:choose>
|
||||||
|
<c:when test="${qestnrParticipant eq '' or qestnrParticipant eq null}">
|
||||||
|
설문진행중
|
||||||
|
</c:when>
|
||||||
|
<c:otherwise>
|
||||||
|
설문완료
|
||||||
|
</c:otherwise>
|
||||||
|
</c:choose>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<br/>
|
||||||
|
<br/>
|
||||||
|
|
||||||
|
|
||||||
|
<table>
|
||||||
|
<caption>참석자, 응답율, 응답자, 무응답에 대한 정보를 제공/입력</caption>
|
||||||
|
<colgroup>
|
||||||
|
<col style="width: 120px;">
|
||||||
|
<col style="width: auto;">
|
||||||
|
<col style="width: 140px;">
|
||||||
|
<col style="width: auto;">
|
||||||
|
</colgroup>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">
|
||||||
|
<p>설문자 명</p>
|
||||||
|
</th>
|
||||||
|
<td>
|
||||||
|
<label for="qestnrParticipant" class="label">설문자명 입력</label>
|
||||||
|
<input type="text" numberOnly class="popupInput" style="width: 50%;"
|
||||||
|
id="qestnrParticipant" name="qestnrParticipant" value="<c:out value="${qestnrParticipant}" />">
|
||||||
|
</td>
|
||||||
|
<th scope="row">
|
||||||
|
<p>설문자 생년월일</p>
|
||||||
|
</th>
|
||||||
|
<td>
|
||||||
|
<label for="qestnrRespondent" class="label">설문자명생년월일 입력</label>
|
||||||
|
<input type="text" numberOnly class="popupInput" style="width: 50%;"
|
||||||
|
id="qestnrRespondent" name="qestnrRespondent" value="<c:out value="${qestnrRespondent}" />" onblur="replyCalculation(); return false;">
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<br/>
|
||||||
|
<br/>
|
||||||
|
|
||||||
|
<table>
|
||||||
|
<caption>평가문항, 매우만족, 만족, 보통, 불만족, 매우 불만족 입력</caption>
|
||||||
|
<colgroup>
|
||||||
|
<col style="width: auto;">
|
||||||
|
<col style="width: 12%;">
|
||||||
|
<col style="width: 12%;">
|
||||||
|
<col style="width: 12%;">
|
||||||
|
<col style="width: 12%;">
|
||||||
|
<col style="width: 12%;">
|
||||||
|
</colgroup>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th scope="col">평가문항</th>
|
||||||
|
<th scope="col">매우만족</th>
|
||||||
|
<th scope="col">만족</th>
|
||||||
|
<th scope="col">보통</th>
|
||||||
|
<th scope="col">불만족</th>
|
||||||
|
<th scope="col">매우불만족</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<c:forEach items="${chasiSrvyList}" var="QestmInfo" varStatus="status1">
|
||||||
|
|
||||||
|
<c:set var="setQustnrRsltId" value="${QestmInfo.qustnrRsltId}"/>
|
||||||
|
|
||||||
|
|
||||||
|
<input type="hidden" name="qustnrQesitmId" value="${QestmInfo.qustnrQesitmId}">
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<th scope="row" class="t_left">
|
||||||
|
${status1.count}) <c:out value="${QestmInfo.qestnCn}" escapeXml="false" />
|
||||||
|
<c:if test="${QestmInfo.mxmmChoiseCo > 1}">
|
||||||
|
<font color="red"><b>(최대선택건수 ${QestmInfo.mxmmChoiseCo})</b></font>
|
||||||
|
</c:if>
|
||||||
|
<input type="hidden" name="resultList[${status1.index}].qestnrId" value="${QestmInfo.qestnrId}">
|
||||||
|
<input type="hidden" name="resultList[${status1.index}].qestnrQesitmId" value="${QestmInfo.qustnrQesitmId}">
|
||||||
|
|
||||||
|
</th>
|
||||||
|
<td>
|
||||||
|
<label for="verySatisfied_${status1.index}" class="label">매우만족</label>
|
||||||
|
<input type="text" numberOnly class="popupInput" style="width: 70%;padding:0 5px;text-align:center;"
|
||||||
|
title="매우만족" id="verySatisfied_${status1.index}" name="resultList[${status1.index}].verySatisfied" value="${QestmInfo.verySatisfied}" >
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<label for="satisfied_${status1.index}" class="label">만족</label>
|
||||||
|
<input type="text" numberOnly class="popupInput" style="width: 70%;padding:0 5px;text-align:center;"
|
||||||
|
title="만족" id="satisfied_${status1.index}" name="resultList[${status1.index}].satisfied" value="${QestmInfo.satisfied}" >
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<label for="neither_${status1.index}" class="label">보통</label>
|
||||||
|
<input type="text" numberOnly class="popupInput" style="width: 70%;padding:0 5px;text-align:center;"
|
||||||
|
title="보통" id="neither_${status1.index}" name="resultList[${status1.index}].neither" value="${QestmInfo.neither}" >
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<label for="dissatisfied_${status1.index}" class="label">불만족</label>
|
||||||
|
<input type="text" numberOnly class="popupInput" style="width: 70%;padding:0 5px;text-align:center;"
|
||||||
|
title="불만족" id="dissatisfied_${status1.index}" name="resultList[${status1.index}].dissatisfied" value="${QestmInfo.dissatisfied}" >
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<label for="veryDissatisfied_${status1.index}" class="label">매우불만족</label>
|
||||||
|
<input type="text" numberOnly class="popupInput" style="width: 70%;padding:0 5px;text-align:center;"
|
||||||
|
title="매우불만족" id="veryDissatisfied_${status1.index}" name="resultList[${status1.index}].veryDissatisfied" value="${QestmInfo.veryDissatisfied}" >
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</c:forEach>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<br/>
|
||||||
|
|
||||||
|
<script src="${pageContext.request.contextPath}/visitEdu/usr/publish/script/qrCode/qrcode.js"></script>
|
||||||
|
<script src="${pageContext.request.contextPath}/visitEdu/usr/publish/script/qrCodeCustom.js"></script>
|
||||||
|
<script type="text/javaScript" language="javascript">
|
||||||
|
$(document).ready(function (){
|
||||||
|
var url = "";
|
||||||
|
url += "${pageContext.request.scheme}";
|
||||||
|
url += "://${pageContext.request.serverName}";
|
||||||
|
if("${pageContext.request.serverPort}" != '80' || "${pageContext.request.serverPort}" != '443' ){
|
||||||
|
url += ":${pageContext.request.serverPort}";
|
||||||
|
}
|
||||||
|
url += "${pageContext.request.contextPath}";
|
||||||
|
url += "/web/ve/aplct/tngrVisitEdu/eduEnd/eduEndQustnrNoLoginDetail.do";
|
||||||
|
url += "?qustnrTmplatId=${vEEduChasiVO.qustnrTmplatId}";
|
||||||
|
url += "&qestnrId=${vEEduChasiVO.qestnrId}";
|
||||||
|
url += "&qustnrRespondId=${vEEduChasiVO.qustnrRespondId}";
|
||||||
|
|
||||||
|
url += "&siteIdCd=${vEEduChasiVO.siteIdCd}";
|
||||||
|
url += "&eduAplctOrd=${vEEduChasiVO.eduAplctOrd}";
|
||||||
|
url += "&eduChasiOrd=${vEEduChasiVO.eduChasiOrd}";
|
||||||
|
|
||||||
|
makeCode(url);
|
||||||
|
|
||||||
|
console.log("url====");
|
||||||
|
console.log("${vEEduChasiVO.qustnrTmplatId}");
|
||||||
|
console.log("${vEEduChasiVO.qestnrId}");
|
||||||
|
console.log("${vEEduChasiVO.qustnrRespondId}");
|
||||||
|
console.log(url);
|
||||||
|
console.log("${vEEduChasiVO.siteIdCd}");
|
||||||
|
console.log("${vEEduChasiVO.eduAplctOrd}");
|
||||||
|
console.log("${vEEduChasiVO.eduChasiOrd}");
|
||||||
|
console.log(url);
|
||||||
|
console.log("url====");
|
||||||
|
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
<div id="qrcode"></div>
|
||||||
|
|
||||||
|
<br/>
|
||||||
|
|
||||||
|
<c:choose>
|
||||||
|
<c:when test="${setQustnrRsltId eq '' or setQustnrRsltId eq null}">
|
||||||
|
<!-- 응답이 없다. -->
|
||||||
|
|
||||||
|
<div class="pop_btn_wrap btn_layout01">
|
||||||
|
<div class="btn_left">
|
||||||
|
</div>
|
||||||
|
<div class="btn_center">
|
||||||
|
|
||||||
|
<!-- <button type="button" class="btnType05" id="popupSubmin" onclick="popupSrvySendSubmit();">제출</button> -->
|
||||||
|
<button type="button" class="btnType05" id="popupSubmin" onclick="onclickPrint();" title="새창 열림">출력</button>
|
||||||
|
|
||||||
|
<button type="button" class="btnType02 tooltip-close" data-focus="sub37_pop01_close" data-focus-next="sub37_pop01">취소</button>
|
||||||
|
</div>
|
||||||
|
<div class="btn_right">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</c:when>
|
||||||
|
<c:otherwise>
|
||||||
|
<!-- 응답이 있다. -->
|
||||||
|
|
||||||
|
<script>
|
||||||
|
replyCalculation();
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<div class="pop_btn_wrap btn_layout01">
|
||||||
|
<div class="btn_left">
|
||||||
|
</div>
|
||||||
|
<div class="btn_center">
|
||||||
|
<button type="button" class="btnType05" id="popupSubmin" onclick="onclickPrint();" title="새창 열림">출력</button>
|
||||||
|
<button type="button" class="btnType02 tooltip-close" data-focus="sub37_pop01_close" data-focus-next="sub37_pop01">닫기</button>
|
||||||
|
</div>
|
||||||
|
<div class="btn_right">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</c:otherwise>
|
||||||
|
</c:choose>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<br/>
|
||||||
|
<br/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
@ -105,7 +105,7 @@
|
|||||||
paramObj = {
|
paramObj = {
|
||||||
"eduAplctOrd" : id
|
"eduAplctOrd" : id
|
||||||
,"eduChasiOrd" : chId
|
,"eduChasiOrd" : chId
|
||||||
,"site_id_cd" : p_site_id_cd
|
,"siteIdCd" : p_site_id_cd
|
||||||
|
|
||||||
,"action" : p_action
|
,"action" : p_action
|
||||||
|
|
||||||
@ -123,6 +123,39 @@
|
|||||||
, "scholPop"
|
, "scholPop"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//설문 팝업
|
||||||
|
function fncQustnrPrintList(
|
||||||
|
id //aplctOrd
|
||||||
|
, chId //chasiOrd
|
||||||
|
, p_site_id_cd //10,20,30
|
||||||
|
, p_action //select, insert
|
||||||
|
, p_qustnrTmplatId //select, insert
|
||||||
|
, p_qestnrId //select, insert
|
||||||
|
, p_qustnrRespondId //select, insert
|
||||||
|
) {
|
||||||
|
|
||||||
|
paramObj = {
|
||||||
|
"eduAplctOrd" : id
|
||||||
|
,"eduChasiOrd" : chId
|
||||||
|
,"siteIdCd" : p_site_id_cd
|
||||||
|
|
||||||
|
,"action" : p_action
|
||||||
|
|
||||||
|
,"qustnrTmplatId" : p_qustnrTmplatId
|
||||||
|
,"qestnrId" : p_qestnrId
|
||||||
|
,"qustnrRespondId" : p_qustnrRespondId
|
||||||
|
};
|
||||||
|
|
||||||
|
commonPopLayeropen(
|
||||||
|
"${pageContext.request.contextPath}/web/ve/aplct/cpyrgExprnClsrm/scholInfo/popup/qustnrPrintPopList.do"
|
||||||
|
, 800
|
||||||
|
, 700
|
||||||
|
, paramObj
|
||||||
|
, "Y"
|
||||||
|
, "scholPrintPop"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
function selectChasiStatus(id, chId, p_site_id_cd, action){
|
function selectChasiStatus(id, chId, p_site_id_cd, action){
|
||||||
$.ajax({
|
$.ajax({
|
||||||
@ -131,7 +164,7 @@
|
|||||||
,data: {
|
,data: {
|
||||||
"eduAplctOrd" : id
|
"eduAplctOrd" : id
|
||||||
,"eduChasiOrd" : chId
|
,"eduChasiOrd" : chId
|
||||||
,"site_id_cd" : p_site_id_cd
|
,"siteIdCd" : p_site_id_cd
|
||||||
}
|
}
|
||||||
,dataType:'json'
|
,dataType:'json'
|
||||||
,success:function(returnData){
|
,success:function(returnData){
|
||||||
@ -621,6 +654,11 @@
|
|||||||
url += "/web/ve/aplct/tngrVisitEdu/eduEnd/eduEndQustnrNoLoginDetail.do";
|
url += "/web/ve/aplct/tngrVisitEdu/eduEnd/eduEndQustnrNoLoginDetail.do";
|
||||||
|
|
||||||
makeCode(url);
|
makeCode(url);
|
||||||
|
|
||||||
|
console.log("url====");
|
||||||
|
console.log(url);
|
||||||
|
console.log("url====");
|
||||||
|
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
<div id="qrcode"></div>
|
<div id="qrcode"></div>
|
||||||
@ -1114,6 +1152,11 @@
|
|||||||
onclick="fncQustnrList('${list.eduAplctOrd}','${list.eduChasiOrd}','10','insert'
|
onclick="fncQustnrList('${list.eduAplctOrd}','${list.eduChasiOrd}','10','insert'
|
||||||
,'${list.qustnrTmplatId}','${list.qestnrId10}','${list.qustnrRespondId10}'
|
,'${list.qustnrTmplatId}','${list.qestnrId10}','${list.qustnrRespondId10}'
|
||||||
)" title="팝업 열림">설문등록</button>
|
)" title="팝업 열림">설문등록</button>
|
||||||
|
|
||||||
|
<button type="button" class="btnType04" data-tooltip="sub37_pop20"
|
||||||
|
onclick="fncQustnrPrintList('${list.eduAplctOrd}','${list.eduChasiOrd}','10','print'
|
||||||
|
,'${list.qustnrTmplatId}','${list.qestnrId10}','${list.qustnrRespondId10}'
|
||||||
|
)" title="팝업 열림">설문출력</button>
|
||||||
</c:when>
|
</c:when>
|
||||||
<c:otherwise>
|
<c:otherwise>
|
||||||
해당설문없음
|
해당설문없음
|
||||||
|
|||||||
@ -1,88 +1,586 @@
|
|||||||
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
|
<%--
|
||||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
|
||||||
|
Class Name : eduEndDetail.jsp
|
||||||
|
Description : 교육완료상세
|
||||||
|
Modification Information
|
||||||
|
|
||||||
|
수정일 수정자 수정내용
|
||||||
|
------- -------- ---------------------------
|
||||||
|
2021.12.02 조용준 내용
|
||||||
|
|
||||||
|
author : 조용준
|
||||||
|
since : 2021.12.02
|
||||||
|
|
||||||
|
--%>
|
||||||
|
<%@ 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="ui" uri="http://egovframework.gov/ctl/ui"%>
|
||||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
|
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||||
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
|
|
||||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
|
||||||
<%@ 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="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||||
|
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
|
||||||
|
|
||||||
|
<!-- for validator #1 -->
|
||||||
|
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
|
||||||
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator"%>
|
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator"%>
|
||||||
<%@ taglib prefix="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %>
|
<!-- for validator #1 -->
|
||||||
<un:useConstants var="VeConstants" className="kcc.ve.cmm.VeConstants" />
|
|
||||||
<html lang="ko" class="hydrated">
|
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8">
|
<!-- for validator #2 -->
|
||||||
<style data-styles="">duet-date-picker{visibility:hidden}.hydrated{visibility:inherit}</style>
|
<script type="text/javascript" src="<c:url value="/validator.do"/>"></script>
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
<validator:javascript formName="vEEduAplctVO" staticJavascript="false" xhtml="true" cdata="false" />
|
||||||
<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,user-scalable=yes">
|
<!-- for validator #2 -->
|
||||||
<title>완료상세<<< 한국저작권위원회 저작권교육 시스템</title>
|
|
||||||
<link rel="stylesheet" href="${pageContext.request.contextPath}/visitEdu/usr/publish/css/popup.css">
|
<style>
|
||||||
<link rel="stylesheet" href="${pageContext.request.contextPath}/visitEdu/usr/publish/css/reset.css">
|
input:disabled {
|
||||||
|
background-color: #f9f9f9 !important;
|
||||||
|
}
|
||||||
<link rel="stylesheet" href="${pageContext.request.contextPath}/visitEdu/usr/publish/css/font.css">
|
input:read-only {
|
||||||
<link rel="stylesheet" href="${pageContext.request.contextPath}/visitEdu/usr/datapicker/default.css">
|
background-color: #f9f9f9 !important;
|
||||||
<link rel="stylesheet" href="${pageContext.request.contextPath}/visitEdu/usr/publish/css/common.css">
|
}
|
||||||
<link rel="stylesheet" href="${pageContext.request.contextPath}/visitEdu/usr/publish/css/content.css">
|
.tb_type01>table>tbody>tr>td>.btnType01 {margin-left:0;}
|
||||||
<link rel="stylesheet" href="${pageContext.request.contextPath}/visitEdu/usr/publish/datepicker/classic.css">
|
</style>
|
||||||
<link rel="stylesheet" href="${pageContext.request.contextPath}/visitEdu/usr/publish/datepicker/classic.date.css">
|
<script type="text/javaScript" language="javascript">
|
||||||
<link rel="stylesheet" href="${pageContext.request.contextPath}/visitEdu/usr/publish/css/swiper.min.css">
|
|
||||||
<link rel="stylesheet" href="${pageContext.request.contextPath}/visitEdu/usr/publish/css/main.css">
|
$(document).ready(function () {
|
||||||
|
setNumberOnly();
|
||||||
<script src="${pageContext.request.contextPath}/visitEdu/usr/publish/script/jquery-3.5.0.js"></script>
|
});
|
||||||
<script src="${pageContext.request.contextPath}/visitEdu/usr/publish/script/common.js"></script>
|
|
||||||
<script src="${pageContext.request.contextPath}/visitEdu/usr/publish/script/popup.js"></script>
|
function setNumberOnly(){ //숫자만 입력
|
||||||
<script src="${pageContext.request.contextPath}/visitEdu/usr/publish/script/postcode.js"></script>
|
$("input:text[numberOnly]").on("keyup", function(){
|
||||||
<script src="${pageContext.request.contextPath}/visitEdu/usr/publish/script/visitEduCom.js"></script>
|
$(this).val($(this).val().replace(/[^0-9]/g,""));
|
||||||
<script src="${pageContext.request.contextPath}/visitEdu/usr/publish/script/visitEduConstants.js"></script>
|
|
||||||
<script src="${pageContext.request.contextPath}/visitEdu/usr/publish/script/content.js"></script>
|
|
||||||
<script src="${pageContext.request.contextPath}/js/antdatepicker/moment.min.js"></script>
|
|
||||||
<script src="${pageContext.request.contextPath}/js/year-select.js"></script>
|
|
||||||
<script src="${pageContext.request.contextPath}/visitEdu/usr/publish/script/jquery.bxslider.js"></script>
|
|
||||||
<script src="${pageContext.request.contextPath}/visitEdu/usr/publish/script/swiper.min.js"></script>
|
|
||||||
<script src="${pageContext.request.contextPath}/visitEdu/usr/publish/script/main.js"></script>
|
|
||||||
<script type="module" src="${pageContext.request.contextPath}/visitEdu/usr/datapicker/duet.esm.js"></script>
|
|
||||||
<script nomodule src="${pageContext.request.contextPath}/visitEdu/usr/datapicker/duet.js"></script>
|
|
||||||
<script src="${pageContext.request.contextPath}/visitEdu/usr/datapicker/duet.system.js"></script>
|
|
||||||
|
|
||||||
<script type="text/javascript" src="<c:url value='/js/web_common.js'/>"></script>
|
|
||||||
<script type="text/javascript" src="<c:url value='/js/util.js'/>"></script>
|
|
||||||
<script type="text/javascript" src="<c:url value='/js/ve/veConstants.js'/>"></script>
|
|
||||||
|
|
||||||
<script type="text/javascript">
|
|
||||||
$(document).ready(function() {
|
|
||||||
$('#open').click()
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$("input:text[numberOnly]").on("blur", function(){
|
||||||
|
$(this).val($(this).val().replace(/[^0-9]/g,""));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function replyCalculation(){
|
||||||
|
var qestnrParticipant = $("#qestnrParticipant").val(); //참석자 수량
|
||||||
|
var qestnrRespondent = $("#qestnrRespondent").val(); //응답자 수량
|
||||||
|
|
||||||
|
if(qestnrParticipant == "" || qestnrParticipant == null){
|
||||||
|
alert("참석자 수량을 넣어주세요");
|
||||||
|
$("#qestnrParticipant").focus();
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
if(qestnrRespondent == "" || qestnrRespondent == null){
|
||||||
|
alert("응답자 수량을 넣어주세요");
|
||||||
|
$("#qestnrParticipant").focus();
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
if(Number(qestnrParticipant) < Number(qestnrRespondent)){
|
||||||
|
alert("응답자 수량이 참석자 수량보다 많습니다.");
|
||||||
|
$("#qestnrParticipant").focus();
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
var responseRateTxt = (Number(qestnrRespondent) / Number(qestnrParticipant)*Number(100)).toFixed(1);
|
||||||
|
$("#responseRate").text(responseRateTxt + "%");
|
||||||
|
$("#noResponse").text(Number(qestnrParticipant) - Number(qestnrRespondent));
|
||||||
|
}
|
||||||
|
|
||||||
</script>
|
function fncGoList(){
|
||||||
|
var listForm = document.listForm ;
|
||||||
|
listForm.action = "<c:url value='/web/ve/aplct/tngrVisitEdu/eduEnd/eduEndList.do'/>";
|
||||||
|
listForm.submit();
|
||||||
|
}
|
||||||
|
|
||||||
</head>
|
//설문 팝업
|
||||||
|
function fncQustnrList(
|
||||||
|
id //aplctOrd
|
||||||
|
, chId //chasiOrd
|
||||||
|
, p_site_id_cd //10,20,30
|
||||||
|
, p_action //select, insert
|
||||||
|
, p_qustnrTmplatId //select, insert
|
||||||
|
, p_qestnrId //select, insert
|
||||||
|
, p_qustnrRespondId //select, insert
|
||||||
|
) {
|
||||||
|
|
||||||
|
paramObj = {
|
||||||
|
"eduAplctOrd" : id
|
||||||
|
,"eduChasiOrd" : chId
|
||||||
|
,"siteIdCd" : p_site_id_cd
|
||||||
|
|
||||||
|
,"action" : p_action
|
||||||
|
|
||||||
<body style="overflow: hidden;">
|
,"qustnrTmplatId" : p_qustnrTmplatId
|
||||||
<div class="container">
|
,"qestnrId" : p_qestnrId
|
||||||
<div class="inner">
|
,"qustnrRespondId" : p_qustnrRespondId
|
||||||
<!-- 강의만족도 결과 등록 팝업 -->
|
};
|
||||||
<div class="mask" style="display: block;"></div>
|
|
||||||
|
commonPopLayeropen(
|
||||||
|
"${pageContext.request.contextPath}/web/ve/aplct/cpyrgExprnClsrm/scholInfo/popup/qustnrPopList.do"
|
||||||
|
, 800
|
||||||
|
, 700
|
||||||
|
, paramObj
|
||||||
|
, "Y"
|
||||||
|
, "scholPop"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
<!-- <div id="test" data-tooltip="instrInfo_pop01"></div> -->
|
//설문 팝업
|
||||||
<div id="open" data-tooltip="sub37_pop01" title="팝업 열림"/>
|
function fncQustnrPrintList(
|
||||||
|
id //aplctOrd
|
||||||
|
, chId //chasiOrd
|
||||||
|
, p_site_id_cd //10,20,30
|
||||||
|
, p_action //select, insert
|
||||||
|
, p_qustnrTmplatId //select, insert
|
||||||
|
, p_qestnrId //select, insert
|
||||||
|
, p_qustnrRespondId //select, insert
|
||||||
|
) {
|
||||||
|
|
||||||
|
paramObj = {
|
||||||
|
"eduAplctOrd" : id
|
||||||
|
,"eduChasiOrd" : chId
|
||||||
|
,"siteIdCd" : p_site_id_cd
|
||||||
|
|
||||||
<form id="srvyPopupForm" name="srvyPopupForm" method="post" >
|
,"action" : p_action
|
||||||
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="">
|
|
||||||
<input type="hidden" name="eduChasiOrd" id="eduChasiOrd" value="">
|
,"qustnrTmplatId" : p_qustnrTmplatId
|
||||||
<input type="hidden" name="qustnrTmplatId" id="qustnrTmplatId" value="${qustnrTmplatId}">
|
,"qestnrId" : p_qestnrId
|
||||||
<input type="hidden" name="qestnrId" id="qestnrId" value="${qestnrId}">
|
,"qustnrRespondId" : p_qustnrRespondId
|
||||||
<input type="hidden" id="qestmInfoSize" value="${fn:length(Comtnqustnrqesitm)}">
|
};
|
||||||
<div class="tooltip-wrap">
|
|
||||||
<div class="popup_wrap popType05" tabindex="0" data-tooltip-con="sub37_pop01" data-focus="sub37_pop01" data-focus-prev="sub37_pop01_close" style="width:800px;">
|
commonPopLayeropen(
|
||||||
<div class="popup_tit">
|
"${pageContext.request.contextPath}/web/ve/aplct/cpyrgExprnClsrm/scholInfo/popup/qustnrPrintPopList.do"
|
||||||
<p>강의만족도 결과 등록</p>
|
, 800
|
||||||
<button class="btn_popup_close tooltip-close" data-focus="sub37_pop01_close" title="팝업 닫기"><i></i></button>
|
, 700
|
||||||
</div>
|
, paramObj
|
||||||
<div class="popup_cont">
|
, "Y"
|
||||||
<div class="cont_body">
|
, "scholPrintPop"
|
||||||
<div class="pop_tb_type02">
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
function selectChasiStatus(id, chId, p_site_id_cd, action){
|
||||||
|
$.ajax({
|
||||||
|
type:"POST"
|
||||||
|
,url:"${pageContext.request.contextPath}/web/ve/aplct/tngrVisitEdu/eduEnd/selectEduChasiStatusAjax.do"
|
||||||
|
,data: {
|
||||||
|
"eduAplctOrd" : id
|
||||||
|
,"eduChasiOrd" : chId
|
||||||
|
,"siteIdCd" : p_site_id_cd
|
||||||
|
}
|
||||||
|
,dataType:'json'
|
||||||
|
,success:function(returnData){
|
||||||
|
console.log(returnData);
|
||||||
|
var info = returnData.chasiInfo;
|
||||||
|
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);
|
||||||
|
$("#eduChasiOrd").val(info.eduChasiOrd);
|
||||||
|
|
||||||
|
$(".popupInput").removeAttr("readonly");
|
||||||
|
$(".popupInput").val("0");
|
||||||
|
|
||||||
|
if(action == "select"){
|
||||||
|
$("#popupSubmin").hide();
|
||||||
|
$("#popupSrvyStatus").text("설문완료");
|
||||||
|
selectChasiSrvyInfo(id, chId);
|
||||||
|
}else{
|
||||||
|
$("#popupSubmin").show();
|
||||||
|
$("#popupSrvyStatus").text("설문진행중");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
,error:function(request , status, error){
|
||||||
|
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
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);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function selectChasiSrvyInfo(id, chId){
|
||||||
|
$.ajax({
|
||||||
|
type:"POST"
|
||||||
|
,url:"${pageContext.request.contextPath}/web/ve/aplct/tngrVisitEdu/eduEnd/selectChasiSrvyListAjax.do"
|
||||||
|
,data: {
|
||||||
|
"eduAplctOrd" : id
|
||||||
|
,"eduChasiOrd" : chId
|
||||||
|
}
|
||||||
|
,dataType:'json'
|
||||||
|
,success:function(returnData){
|
||||||
|
$("#qestnrParticipant").val(returnData.qestnrParticipant)
|
||||||
|
$("#qestnrRespondent").val(returnData.qestnrRespondent)
|
||||||
|
var list = returnData.chasiSrvyList;
|
||||||
|
|
||||||
|
for(var i=0; i < list.length; i++){
|
||||||
|
$("#verySatisfied_"+i).val(list[i].verySatisfied);
|
||||||
|
$("#satisfied_"+i).val(list[i].satisfied);
|
||||||
|
$("#neither_"+i).val(list[i].neither);
|
||||||
|
$("#dissatisfied_"+i).val(list[i].dissatisfied);
|
||||||
|
$("#veryDissatisfied_"+i).val(list[i].veryDissatisfied);
|
||||||
|
$(".popupInput").attr("readonly",true);
|
||||||
|
}
|
||||||
|
replyCalculation();
|
||||||
|
}
|
||||||
|
,error:function(request , status, error){
|
||||||
|
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function srvySendSubmit(){
|
||||||
|
|
||||||
|
var qestmSize = parseInt($("#qestmInfoSize").val()); //평가문항 수량
|
||||||
|
var qestnrParticipant = parseInt($("#qestnrParticipant").val()); //참석자 수량
|
||||||
|
var qestnrRespondent = parseInt($("#qestnrRespondent").val()); //응답자 수량
|
||||||
|
|
||||||
|
if(qestnrParticipant == null || qestnrParticipant == ""){
|
||||||
|
alert("참석자 수량을 넣어주세요");
|
||||||
|
$("#qestnrParticipant").focus();
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
if(qestnrRespondent == null || qestnrRespondent == ""){
|
||||||
|
alert("응답자 수량을 넣어주세요");
|
||||||
|
$("#qestnrRespondent").focus();
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
if(qestnrParticipant < qestnrRespondent){
|
||||||
|
alert("응답자 수량이 참석자 수보다 많습니다 확인해 주세요");
|
||||||
|
$("#qestnrRespondent").focus();
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
for(var i=0; i < qestmSize; i++){
|
||||||
|
var verySatisfied = $("#verySatisfied_"+i).val();
|
||||||
|
var satisfied = $("#satisfied_"+i).val();
|
||||||
|
var neither = $("#neither_"+i).val();
|
||||||
|
var dissatisfied = $("#dissatisfied_"+i).val();
|
||||||
|
var veryDissatisfied = $("#veryDissatisfied_"+i).val();
|
||||||
|
|
||||||
|
if(verySatisfied == null || verySatisfied == ""){
|
||||||
|
alert((i+1)+"번 [매우만족] 만족도를 정확히 넣어주세요");
|
||||||
|
$("#verySatisfied_"+i).focus();
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if(satisfied == null || satisfied == ""){
|
||||||
|
alert((i+1)+"번 [만족] 만족도를 정확히 넣어주세요");
|
||||||
|
$("#satisfied_"+i).focus();
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if(neither == null || neither == ""){
|
||||||
|
alert((i+1)+"번 [보통] 만족도를 정확히 넣어주세요");
|
||||||
|
$("#neither_"+i).focus();
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if(dissatisfied == null || dissatisfied == ""){
|
||||||
|
alert((i+1)+"번 [불만족] 만족도를 정확히 넣어주세요");
|
||||||
|
$("#dissatisfied_"+i).focus();
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if(veryDissatisfied == null || veryDissatisfied == ""){
|
||||||
|
alert((i+1)+"번 [매우불만족] 만족도를 정확히 넣어주세요");
|
||||||
|
$("#veryDissatisfied_"+i).focus();
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
var sum = Number(verySatisfied) + Number(satisfied) + Number(neither) + Number(dissatisfied) + Number(veryDissatisfied);
|
||||||
|
|
||||||
|
if(qestnrRespondent != sum ){
|
||||||
|
alert((i+1)+"문항의 합계가 응답수량과 맞지 않습니다.");
|
||||||
|
$("#verySatisfied_"+i).focus();
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(confirm("설문결과를 등록 하시겠습니까?")){
|
||||||
|
// var frm = document.srvyPopupForm;
|
||||||
|
var data = new FormData(document.getElementById("srvyPopupForm"));
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
type:"POST"
|
||||||
|
,url:"${pageContext.request.contextPath}/web/ve/aplct/tngrVisitEdu/eduEnd/insertSrvyInfoAjax.do"
|
||||||
|
,data: data
|
||||||
|
,dataType:'json'
|
||||||
|
,async: false
|
||||||
|
,processData: false
|
||||||
|
,contentType: false
|
||||||
|
,cache: false
|
||||||
|
,success:function(returnData){
|
||||||
|
if(returnData.result == 'success'){
|
||||||
|
alert("설문결과가 등록 되었습니다.");
|
||||||
|
window.location.reload();
|
||||||
|
}else if(returnData.result == 'fail'){
|
||||||
|
alert(returnData.msg);
|
||||||
|
location.href="/web/user/login/ssoLogin.do?test=test";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
,error:function(request , status, error){
|
||||||
|
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//개별 저장
|
||||||
|
function popupSrvySendSubmit(){
|
||||||
|
|
||||||
|
//var qestmSize = parseInt($("#qestmInfoSize").val()); //평가문항 수량
|
||||||
|
//var qestnrParticipant = parseInt($("#qestnrParticipant").val()); //참석자 수량
|
||||||
|
//var qestnrRespondent = parseInt($("#qestnrRespondent").val()); //응답자 수량
|
||||||
|
|
||||||
|
var qestnrParticipant = $("#qestnrParticipant").val(); //참석자 수량
|
||||||
|
var qestnrRespondent = $("#qestnrRespondent").val(); //응답자 수량
|
||||||
|
|
||||||
|
if(qestnrParticipant == null || qestnrParticipant == ""){
|
||||||
|
alert("설문자 명을 넣어주세요");
|
||||||
|
$("#qestnrParticipant").focus();
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
if(qestnrRespondent == null || qestnrRespondent == ""){
|
||||||
|
alert("설문자 생년월일을 넣어주세요");
|
||||||
|
$("#qestnrRespondent").focus();
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
for(var i=0; i < qestmSize; i++){
|
||||||
|
var verySatisfied = $("#verySatisfied_"+i).val();
|
||||||
|
var satisfied = $("#satisfied_"+i).val();
|
||||||
|
var neither = $("#neither_"+i).val();
|
||||||
|
var dissatisfied = $("#dissatisfied_"+i).val();
|
||||||
|
var veryDissatisfied = $("#veryDissatisfied_"+i).val();
|
||||||
|
|
||||||
|
if(verySatisfied == null || verySatisfied == ""){
|
||||||
|
alert((i+1)+"번 [매우만족] 만족도를 정확히 넣어주세요");
|
||||||
|
$("#verySatisfied_"+i).focus();
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if(satisfied == null || satisfied == ""){
|
||||||
|
alert((i+1)+"번 [만족] 만족도를 정확히 넣어주세요");
|
||||||
|
$("#satisfied_"+i).focus();
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if(neither == null || neither == ""){
|
||||||
|
alert((i+1)+"번 [보통] 만족도를 정확히 넣어주세요");
|
||||||
|
$("#neither_"+i).focus();
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if(dissatisfied == null || dissatisfied == ""){
|
||||||
|
alert((i+1)+"번 [불만족] 만족도를 정확히 넣어주세요");
|
||||||
|
$("#dissatisfied_"+i).focus();
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if(veryDissatisfied == null || veryDissatisfied == ""){
|
||||||
|
alert((i+1)+"번 [매우불만족] 만족도를 정확히 넣어주세요");
|
||||||
|
$("#veryDissatisfied_"+i).focus();
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
var sum = Number(verySatisfied) + Number(satisfied) + Number(neither) + Number(dissatisfied) + Number(veryDissatisfied);
|
||||||
|
|
||||||
|
if(qestnrRespondent != sum ){
|
||||||
|
alert((i+1)+"문항의 합계가 응답수량과 맞지 않습니다.");
|
||||||
|
$("#verySatisfied_"+i).focus();
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(confirm("설문결과를 등록 하시겠습니까?")){
|
||||||
|
// var frm = document.newSrvyPopupForm;
|
||||||
|
var data = new FormData(document.getElementById("newSrvyPopupForm"));
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
type:"POST"
|
||||||
|
,url:"${pageContext.request.contextPath}/web/ve/aplct/tngrVisitEdu/eduEnd/insertNewSrvyInfoEAAjax.do"
|
||||||
|
,data: data
|
||||||
|
,dataType:'json'
|
||||||
|
,async: false
|
||||||
|
,processData: false
|
||||||
|
,contentType: false
|
||||||
|
,cache: false
|
||||||
|
,success:function(returnData){
|
||||||
|
if(returnData.result == 'success'){
|
||||||
|
alert("설문결과가 등록 되었습니다.");
|
||||||
|
window.location.reload();
|
||||||
|
}else if(returnData.result == 'fail'){
|
||||||
|
alert(returnData.msg);
|
||||||
|
location.href="/web/user/login/ssoLogin.do?test=test";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
,error:function(request , status, error){
|
||||||
|
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<form id="listForm" name="listForm" method="post" >
|
||||||
|
<input type="hidden" name="qustnrTmplatId" id="qustnrTmplatId" value="<c:out value='${vEEduChasiVO.qustnrTmplatId}'/>"/>
|
||||||
|
<input type="hidden" name="qestnrId" id="qestnrId" value="<c:out value='${vEEduChasiVO.qestnrId}'/>"/>
|
||||||
|
<input type="hidden" name="qustnrRespondId" id="qustnrRespondId" value="<c:out value='${vEEduChasiVO.qustnrRespondId}'/>"/>
|
||||||
|
|
||||||
|
<input type="hidden" name="siteIdCd" id="siteIdCd" value="<c:out value='${vEEduChasiVO.siteIdCd}'/>"/>
|
||||||
|
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="<c:out value='${vEEduChasiVO.eduAplctOrd}'/>"/>
|
||||||
|
<input type="hidden" name="eduChasiOrd" id="eduChasiOrd" value="<c:out value='${vEEduChasiVO.eduChasiOrd}'/>"/>
|
||||||
|
|
||||||
|
<div class="cont_wrap" id="sub">
|
||||||
|
<div class="cont_tit">
|
||||||
|
<h2>개별설문</h2>
|
||||||
|
<div class="sns_go">
|
||||||
|
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/facebook_icon.png" alt="페이스북 바로가기"></button>
|
||||||
|
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/twitter_icon.png" alt="트위터 바로가기"></button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="tb_type02">
|
||||||
|
<table>
|
||||||
|
<caption>교육일, 차시, 구분, 대상, 배정강사, 인원, 설문완료 여부 등의 정보제공</caption>
|
||||||
|
<colgroup>
|
||||||
|
<col style="width: 10%;">
|
||||||
|
<col style="width: 15%;">
|
||||||
|
<col style="width: 8%;">
|
||||||
|
<col style="width: 10%;">
|
||||||
|
<col style="width: 10%;">
|
||||||
|
<col style="width: 8%;">
|
||||||
|
<col style="width: 10%;">
|
||||||
|
</colgroup>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th scope="col">교육일</th>
|
||||||
|
<th scope="col">차시</th>
|
||||||
|
<th scope="col">구분</th>
|
||||||
|
<th scope="col">대상</th>
|
||||||
|
<th scope="col">배정강사</th>
|
||||||
|
<th scope="col">인원</th>
|
||||||
|
<th scope="col">설문완료 여부</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<th scope="row" id="popupEduHopeDt">
|
||||||
|
<c:out value="${chasiInfo.eduHopeDt}" />
|
||||||
|
</th>
|
||||||
|
<td id="popupTm">
|
||||||
|
<c:out value="${chasiInfo.strtTm}" />~<c:out value="${chasiInfo.endTm}" />
|
||||||
|
</td>
|
||||||
|
<td id="popupDivCd">
|
||||||
|
<c:out value="${chasiInfo.divCd}" />
|
||||||
|
</td>
|
||||||
|
<td id="popupTrgt">
|
||||||
|
<c:out value="${chasiInfo.trgt}" />
|
||||||
|
</td>
|
||||||
|
<td id="popupInstrNm">
|
||||||
|
<c:out value="${chasiInfo.instrNm}" />
|
||||||
|
</td>
|
||||||
|
<td id="popupPrsnl">
|
||||||
|
<c:out value="${chasiInfo.prsnl}" />
|
||||||
|
</td>
|
||||||
|
<td id="popupSrvyStatus">
|
||||||
|
<c:choose>
|
||||||
|
<c:when test="${qestnrParticipant eq '' or qestnrParticipant eq null}">
|
||||||
|
설문진행중
|
||||||
|
</c:when>
|
||||||
|
<c:otherwise>
|
||||||
|
설문완료
|
||||||
|
</c:otherwise>
|
||||||
|
</c:choose>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<br/>
|
||||||
|
<br/>
|
||||||
|
|
||||||
|
|
||||||
|
<table>
|
||||||
|
<caption>참석자, 응답율, 응답자, 무응답에 대한 정보를 제공/입력</caption>
|
||||||
|
<colgroup>
|
||||||
|
<col style="width: 120px;">
|
||||||
|
<col style="width: auto;">
|
||||||
|
<col style="width: 140px;">
|
||||||
|
<col style="width: auto;">
|
||||||
|
</colgroup>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">
|
||||||
|
<p>설문자 명</p>
|
||||||
|
</th>
|
||||||
|
<td>
|
||||||
|
<label for="qestnrParticipant" class="label">설문자명 입력</label>
|
||||||
|
<input type="text" numberOnly class="popupInput" style="width: 50%;"
|
||||||
|
id="qestnrParticipant" name="qestnrParticipant" value="<c:out value="${qestnrParticipant}" />">
|
||||||
|
</td>
|
||||||
|
<th scope="row">
|
||||||
|
<p>설문자 생년월일</p>
|
||||||
|
</th>
|
||||||
|
<td>
|
||||||
|
<label for="qestnrRespondent" class="label">설문자명생년월일 입력</label>
|
||||||
|
<!--
|
||||||
|
<input type="text" numberOnly class="popupInput" style="width: 50%;"
|
||||||
|
id="qestnrRespondent" name="qestnrRespondent" value="<c:out value="${qestnrRespondent}" />" onblur="replyCalculation(); return false;">
|
||||||
|
-->
|
||||||
|
|
||||||
|
<div class="calendar_wrap">
|
||||||
|
<duet-date-picker identifier="date" class="startDate" name="eduHopeDt" onblur="_chkChasiDate(this); return false;"></duet-date-picker>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<br/>
|
||||||
|
<br/>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<caption>평가문항, 매우만족, 만족, 보통, 불만족, 매우 불만족 입력</caption>
|
<caption>평가문항, 매우만족, 만족, 보통, 불만족, 매우 불만족 입력</caption>
|
||||||
<colgroup>
|
<colgroup>
|
||||||
@ -104,10 +602,13 @@
|
|||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<c:forEach items="${Comtnqustnrqesitm}" var="QestmInfo" varStatus="status1">
|
<c:forEach items="${chasiSrvyList}" var="QestmInfo" varStatus="status1">
|
||||||
<c:if test="${status1.count eq 1}">
|
|
||||||
<input type="hidden" name="qestnrTmplatId" value="${QestmInfo.qestnrTmplatId}">
|
<c:set var="setQustnrRsltId" value="${QestmInfo.qustnrRsltId}"/>
|
||||||
</c:if>
|
|
||||||
|
|
||||||
|
<input type="hidden" name="qustnrQesitmId" value="${QestmInfo.qustnrQesitmId}">
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<th scope="row" class="t_left">
|
<th scope="row" class="t_left">
|
||||||
${status1.count}) <c:out value="${QestmInfo.qestnCn}" escapeXml="false" />
|
${status1.count}) <c:out value="${QestmInfo.qestnCn}" escapeXml="false" />
|
||||||
@ -115,51 +616,88 @@
|
|||||||
<font color="red"><b>(최대선택건수 ${QestmInfo.mxmmChoiseCo})</b></font>
|
<font color="red"><b>(최대선택건수 ${QestmInfo.mxmmChoiseCo})</b></font>
|
||||||
</c:if>
|
</c:if>
|
||||||
<input type="hidden" name="resultList[${status1.index}].qestnrId" value="${QestmInfo.qestnrId}">
|
<input type="hidden" name="resultList[${status1.index}].qestnrId" value="${QestmInfo.qestnrId}">
|
||||||
<input type="hidden" name="resultList[${status1.index}].qestnrQesitmId" value="${QestmInfo.qestnrQesitmId}">
|
<input type="hidden" name="resultList[${status1.index}].qestnrQesitmId" value="${QestmInfo.qustnrQesitmId}">
|
||||||
|
|
||||||
</th>
|
</th>
|
||||||
<td>
|
<td>
|
||||||
<label for="verySatisfied_${status1.index}" class="label">매우만족</label>
|
<label for="verySatisfied_${status1.index}" class="label">매우만족</label>
|
||||||
<input type="text" numberOnly class="popupInput" style="width: 70%;padding:0 5px;text-align:center;" title="매우만족" id="verySatisfied_${status1.index}" name="resultList[${status1.index}].verySatisfied" value="0" >
|
<input type="text" numberOnly class="popupInput" style="width: 70%;padding:0 5px;text-align:center;"
|
||||||
|
title="매우만족" id="verySatisfied_${status1.index}" name="resultList[${status1.index}].verySatisfied" value="${QestmInfo.verySatisfied}" >
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<label for="satisfied_${status1.index}" class="label">만족</label>
|
<label for="satisfied_${status1.index}" class="label">만족</label>
|
||||||
<input type="text" numberOnly class="popupInput" style="width: 70%;padding:0 5px;text-align:center;" title="만족" id="satisfied_${status1.index}" name="resultList[${status1.index}].satisfied" value="0" >
|
<input type="text" numberOnly class="popupInput" style="width: 70%;padding:0 5px;text-align:center;"
|
||||||
|
title="만족" id="satisfied_${status1.index}" name="resultList[${status1.index}].satisfied" value="${QestmInfo.satisfied}" >
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<label for="neither_${status1.index}" class="label">보통</label>
|
<label for="neither_${status1.index}" class="label">보통</label>
|
||||||
<input type="text" numberOnly class="popupInput" style="width: 70%;padding:0 5px;text-align:center;" title="보통" id="neither_${status1.index}" name="resultList[${status1.index}].neither" value="" >
|
<input type="text" numberOnly class="popupInput" style="width: 70%;padding:0 5px;text-align:center;"
|
||||||
|
title="보통" id="neither_${status1.index}" name="resultList[${status1.index}].neither" value="${QestmInfo.neither}" >
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<label for="dissatisfied_${status1.index}" class="label">불만족</label>
|
<label for="dissatisfied_${status1.index}" class="label">불만족</label>
|
||||||
<input type="text" numberOnly class="popupInput" style="width: 70%;padding:0 5px;text-align:center;" title="불만족" id="dissatisfied_${status1.index}" name="resultList[${status1.index}].dissatisfied" value="" >
|
<input type="text" numberOnly class="popupInput" style="width: 70%;padding:0 5px;text-align:center;"
|
||||||
|
title="불만족" id="dissatisfied_${status1.index}" name="resultList[${status1.index}].dissatisfied" value="${QestmInfo.dissatisfied}" >
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<label for="veryDissatisfied_${status1.index}" class="label">매우불만족</label>
|
<label for="veryDissatisfied_${status1.index}" class="label">매우불만족</label>
|
||||||
<input type="text" numberOnly class="popupInput" style="width: 70%;padding:0 5px;text-align:center;" title="매우불만족" id="veryDissatisfied_${status1.index}" name="resultList[${status1.index}].veryDissatisfied" value="" >
|
<input type="text" numberOnly class="popupInput" style="width: 70%;padding:0 5px;text-align:center;"
|
||||||
|
title="매우불만족" id="veryDissatisfied_${status1.index}" name="resultList[${status1.index}].veryDissatisfied" value="${QestmInfo.veryDissatisfied}" >
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</c:forEach>
|
</c:forEach>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
|
||||||
|
<br/>
|
||||||
<div class="pop_btn_wrap btn_layout01">
|
<br/>
|
||||||
<div class="btn_left">
|
|
||||||
</div>
|
|
||||||
<div class="btn_center">
|
<c:choose>
|
||||||
<button type="button" class="btnType05" id="popupSubmin" onclick="srvySendSubmit();">제출</button>
|
<c:when test="${setQustnrRsltId eq '' or setQustnrRsltId eq null}">
|
||||||
</div>
|
<!-- 응답이 없다. -->
|
||||||
<div class="btn_right">
|
|
||||||
</div>
|
<div class="pop_btn_wrap btn_layout01">
|
||||||
</div>
|
<div class="btn_left">
|
||||||
</div>
|
</div>
|
||||||
|
<div class="btn_center">
|
||||||
|
|
||||||
|
<button type="button" class="btnType05" id="popupSubmin" onclick="popupSrvySendSubmit();">제출</button>
|
||||||
|
|
||||||
|
<button type="button" class="btnType02 tooltip-close" data-focus="sub37_pop01_close" data-focus-next="sub37_pop01">취소</button>
|
||||||
|
</div>
|
||||||
|
<div class="btn_right">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</c:when>
|
||||||
|
<c:otherwise>
|
||||||
|
<!-- 응답이 있다. -->
|
||||||
|
|
||||||
|
<script>
|
||||||
|
replyCalculation();
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<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="sub37_pop01_close" data-focus-next="sub37_pop01">닫기</button>
|
||||||
|
</div>
|
||||||
|
<div class="btn_right">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</c:otherwise>
|
||||||
|
</c:choose>
|
||||||
|
|
||||||
|
|
||||||
|
<br/>
|
||||||
|
<br/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
</div>
|
||||||
</form>
|
</form>
|
||||||
<!--// 강의만족도 결과 등록 팝업-->
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@ -476,7 +476,7 @@ const k = ({
|
|||||||
l = n(this.max),
|
l = n(this.max),
|
||||||
u = null != s && s.getMonth() === d && s.getFullYear() === r,
|
u = null != s && s.getMonth() === d && s.getFullYear() === r,
|
||||||
c = null != l && l.getMonth() === d && l.getFullYear() === r,
|
c = null != l && l.getMonth() === d && l.getFullYear() === r,
|
||||||
h = s ? s.getFullYear() : o - 10,
|
h = s ? s.getFullYear() : o - 70,
|
||||||
p = l ? l.getFullYear() : o + 10;
|
p = l ? l.getFullYear() : o + 10;
|
||||||
return t(i, null, t("div", {
|
return t(i, null, t("div", {
|
||||||
class: "duet-date"
|
class: "duet-date"
|
||||||
|
|||||||
@ -830,7 +830,7 @@ System.register(["./index-7f002a21.system.js"], (function (e) {
|
|||||||
var u = l(this.max);
|
var u = l(this.max);
|
||||||
var c = s != null && s.getMonth() === n && s.getFullYear() === d;
|
var c = s != null && s.getMonth() === n && s.getFullYear() === d;
|
||||||
var h = u != null && u.getMonth() === n && u.getFullYear() === d;
|
var h = u != null && u.getMonth() === n && u.getFullYear() === d;
|
||||||
var p = s ? s.getFullYear() : r - 10;
|
var p = s ? s.getFullYear() : r - 70;
|
||||||
var f = u ? u.getFullYear() : r + 10;
|
var f = u ? u.getFullYear() : r + 10;
|
||||||
return t(i, null, t("div", {
|
return t(i, null, t("div", {
|
||||||
class: "duet-date"
|
class: "duet-date"
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user