File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
<html lang="ko"><head><style class="vjs-styles-defaults">
.video-js {
width: 300px;
height: 150px;
}
.vjs-fluid {
padding-top: 56.25%
}
</style>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
<meta name="format-detection" content="telephone=no">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no">
<link href="https://online.itt.link/resources/front/site/SITE_00002/css/style.css" rel="stylesheet">
<link href="https://online.itt.link/resources/lib/mma/vjs-663.css?v=9" rel="stylesheet">
<link href="https://online.itt.link/resources/lib/mma/videojs-panorama.min.css?v=1" rel="stylesheet">
<script type="text/javascript" id="www-widgetapi-script" src="https://www.youtube.com/s/player/b0557ce3/www-widgetapi.vflset/www-widgetapi.js" async=""></script><script src="https://www.youtube.com/iframe_api"></script><script src="https://online.itt.link/resources/lib/mma/vjs-663.js"></script>
<script src="https://online.itt.link/resources/lib/mma/Youtube.min.js?v=1"></script><style type="text/css">.vjs-youtube .vjs-iframe-blocker { display: none; }.vjs-youtube.vjs-user-inactive .vjs-iframe-blocker { display: block; }.vjs-youtube .vjs-poster { background-size: contain; }.vjs-youtube-mobile .vjs-big-play-button { display: none; }</style>
<script src="https://online.itt.link/resources/lib/mma/videojs-contrib-hls.min.js"></script>
<script src="https://online.itt.link/resources/lib/mma/videojs-playlist.js"></script>
<script src="https://online.itt.link/resources/front/site/SITE_00002/js/jquery-3.6.0.min.js"></script>
<!--퍼블 layout-->
<script src="https://online.itt.link/resources/front/site/SITE_00002/js/_layout.js"></script>
<script src="https://online.itt.link/resources/front/site/SITE_00002/js/jquery-ui.min.js"></script>
<script src="https://online.itt.link/resources/front/site/SITE_00002/js/jquery.easing.1.3.js"></script>
<script src="https://online.itt.link/resources/front/site/SITE_00002/js/ssm.min.js"></script>
<script src="https://online.itt.link/resources/front/site/SITE_00002/js/TweenMax.min.js"></script>
<script src="https://online.itt.link/resources/front/site/SITE_00002/js/swiper-bundle.js"></script>
<script src="https://online.itt.link/resources/front/site/SITE_00002/js/common.js"></script>
<script src="https://cdn.jsdelivr.net/npm/clipboard@2.0.10/dist/clipboard.min.js"></script>
<script src="https://online.itt.link/resources/front/site/SITE_00000/js/script.js?v=3"></script>
<script>
var plchk = {};
var tmpGid = ""; //문항 그룹아이디 (나만의 수업설계에서 사용)
var qesList = [];
$(document).ready(function(){
if($("#viewType").val() == "myclass"){
let tmpQescnt = "3";
tmpGid = "51cdb7ffd49c4f3e90a3729103869736";
if(Number(tmpQescnt) > 1){
qesList.push("94bfda6c1b2740b8a5d091ffe72b2a90");
qesList.push("4a8948326053432486831d1b1f28219d");
qesList.push("7102cb875d744473a4d978554fd65af0");
}
}
if($("#qesitmList").length != 0){
$("#qesitmScore").text($("#qesitmList li.is-active").data("score")+ "점");
}
qesitmInit();
//정답 보기 및 다시풀기
$(document).on("click", ".showAnswer, .againQes" ,function(){
let target = $(this);
let rturnVal = "N";
$(".q-item").each(function(index, el){
if($(target).hasClass("showAnswer")) {
if ($(el).find(".qesItmType").val() == "OBJS" || $(el).find(".qesItmType").val() == "OBJM") {
if ($(el).find("input[name=answer]:checked").length == 0) {
alert("문제를 푸신 후 확인 할 수 있습니다.");
rturnVal = "Y";
return false;
}else if($(el).find(".qesItmType").val() == "OBJM" && $(el).find("input[name=answer]:checked").length < 2){
alert("2개 이상 정답을 체크해 주세요.");
rturnVal = "Y";
return false;
}else {
let tmpVal = [];
$(el).find(".answerLi > li").each(function (i, itm) {
if ($(itm).data("cnsrat") == "Y") {
tmpVal.push(i+1);
$(el).addClass("is-q-o");
/*$(itm).addClass("a-o")
$(itm).find(".answer_label").addClass("label-q-o").text("정답").show();*/
} else if ($(itm).find("input[name=answer]").is(":checked") && $(itm).data("cnsrat") == "N") {
/*$(itm).addClass("a-x")
$(itm).find(".answer_label").addClass("label-q-x").text("오답").show();*/
$(el).addClass("is-q-x");
}/* else {
$(itm).find(".answer_label").attr("class", "answer_label")
}*/
});
$(el).find(".answerTxt").text(tmpVal);
}
} else if ($(el).find(".qesItmType").val() == "SAQ") { //단답형
$(el).find(".answerText").each(function(idx,text){
if($(text).val() == ""){
rturnVal = "Y";
return false;
}
})
if(rturnVal == "Y"){
alert("문제를 푸신 후 확인 할 수 있습니다.");
return false;
}else{
$(el).find(".answerText").each(function(idx,text){
let tmpId = $(text).attr("id");
let saqArr = $.map(saqObj[tmpId], function(val, i){
return val.toLowerCase();
})
if(saqArr.indexOf(ConvertSystemSourcetoHtml($(text).val().trim().toLowerCase())) != -1){
$(el).addClass("is-q-o");
// $(text).closest("div.a-input").addClass("a-o");
// $(text).closest("div.a-input").find(".answer_label").addClass("label-q-o").text("정답").show();
}else{
$(el).addClass("is-q-x");
// $(text).closest("div.a-input").addClass("a-x");
// $(text).closest("div.a-input").find(".answer_label").addClass("label-q-x").text("오답").show();
}
})
// 정답 영역에 노출
var anText = ""
$.each(saqObj, function (key, val) {
if(Object.keys(saqObj).length == 1){
anText += val;
}else{
anText += key + " : " + val +"<br>";
}
});
$(el).find(".answerTxt").html(anText);
}
}else if ($(el).find(".qesItmType").val() == "ESQ") { //서술형
$(el).find(".answerText").each(function(idx,text){
if($(text).val() == ""){
rturnVal = "Y";
return false;
}
})
if(rturnVal == "Y"){
alert("문제를 푸신 후 확인 할 수 있습니다.");
return false;
}else{
var anText = ""
$.each(esqObj, function (key, val) {
if(Object.keys(esqObj).length == 1){
anText += val;
}else{
anText += key + " : " + val +"<br>";
}
});
$(el).find(".answerTxt").html(anText);
}
}
if(rturnVal == "N"){
//해설자료
$(".qesitmExp").show();
//추천학습
if($(".recommendSection").length != 0) {
$(".recommendSection").show();
}
$(el).find(".answerDiv").find("input").prop("disabled", true);
}
}else{
//다시 풀기시 영상,음성 파일 재시작?
if($(el).find(".qesItmType").val() == "OBJS" || $(el).find(".qesItmType").val() == "OBJM"){
$(".answerLi li").attr("class", "a-item");
}else if($(el).find(".qesItmType").val() == "SAQ"){
$(el).find(".answerText").closest("div.a-input").attr("class", "a-input");
$(el).find(".answerText").closest("div.a-input").find(".answer_label").attr("class", "answer_label").hide();
$(el).find(".answerText").val("");
}else if($(el).find(".qesItmType").val() == "ESQ"){
$(el).find(".answerText").val("");
}
$(".qesitmExp").hide();
if($(".recommendSection").length != 0) {
$(".recommendSection").hide();
}
$(el).find(".answer_label").hide();
$(el).find(".answerDiv").find("input").prop("disabled", false);
$(el).find(".answerDiv").find("input").prop("checked", false);
}
})
if($(target).hasClass("showAnswer") && rturnVal == "N") {
$(target).switchClass("showAnswer", "againQes");
$(target).text("다시 풀기");
}else if($(target).hasClass("againQes")){
$(".q-item").removeClass("is-q-o");
$(".q-item").removeClass("is-q-x");
$(target).switchClass("againQes", "showAnswer");
$(target).text("정답 및 풀이 보기");
}
});
$(document).on("click", ".btn-prev, .btn-next" ,function(){
if($(this).is(".btn-next")){
if($("#viewType").val() == "myclass"){
myclassfnGetQesitm("next");
}else{
$("#qesitmList li.is-active").next().find('a').click();
}
}else{
if($("#viewType").val() == "myclass"){
myclassfnGetQesitm("pre");
}else{
$("#qesitmList li.is-active").prev().find('a').click();
}
}
})
$(document).on("change", "#opinionPopup #sttusCode" ,function(){
if($(this).val() == "R"){
$("#opinionPopup").find(".statusR").show();
}else{
$("#opinionPopup").find(".statusR").hide();
}
})
$(document).on("click", "#submitOpinion", function(){
var groupId = '51cdb7ffd49c4f3e90a3729103869736';
var qesitmNo = '298382';
var registerNm = '이종형'
// console.log(registerNm);
if($("#opinionType").val() == "" || $("#opinionType").val() == undefined){
alert("신고 유형을 선택해주세요.");
return false;
}
if($("#opinionCntnts").val() == "" || $("#opinionCntnts").val() == undefined){
alert("오류 내용을 입력해주세요.");
return false;
}
let data = {
"qesitmGroupId" : groupId,
"qesitmNo" : qesitmNo,
"opinionType" : $("#opinionType").val(),
"opinionCntnts":$('#opinionCntnts').val(),
"qesitmRegId": 'kjhs25-h0470@gne.go.kr',
"opinionTester": '이종형',
"cntntsSj":`제시된 한시를 의미에 맞게 바르게 나열한 것은?`
}
$.ajax({
url : "/qesitm/modifyOpinionSttus.json",
data:data,
dataType :'json',
type: 'post',
success:function(result){
if(result.success){
alert("문항 오류가 등록되었습니다.");
popupClose('report');
}
}
})
})
});
function ConvertSystemSourcetoHtml(str){
str = str.replace(/</g,"<");
str = str.replace(/>/g,">");
str = str.replace(/\"/g,""");
str = str.replace(/\'/g,"'");
str = str.replace(/\n/g,"<br>");
return str;
}
function UnescapeHtml(str) {
return str
.replace(/</gi, '<')
.replace(/>/gi, '>')
.replace(/"/gi, '"')
.replace(/'/gi, "'")
.replace(/<br\s*\/?>/gi, "\n");
}
//문항 조회
function fnGetQesitm(el){
let tempSort = Number($(el).closest("li").data("qidsort"));
$("#qesitmList li").removeClass("is-active");
$(el).closest("li").addClass("is-active");
$.ajax({
url : "/popup/qesitmView.json"
, dataType: "html"
, data : {"qesitmId" : $(el).closest("li").data("qid"), "qesitmGroupId" : $(el).closest("li").data("gqid"), "eId":$("#eid").val()}
, success : function(result){ // 성공
$("#quizDetail").html(result);
$(".currentQesitm").text(tempSort);
$("#qesitmScore").text($(el).closest("li").data("score")+"점");
$(".btnqes").prop("disabled", false);
if(tempSort == 1){
$(".btn-prev").prop("disabled", true);
}else if($("#qesitmList li").length == tempSort){
$(".btn-next").prop("disabled", true);
}
$(".qesitmInfo").hide();
$("[data-qesid="+$(el).closest("li").data("qid")+"]").show();
qesitmInit();
}
, error : function(){ //실패
alert("오류가 발생했습니다.");
}
});
}
//문항 조회(나만의 수업설계용)
function myclassfnGetQesitm(pageType){
let curQesSort = qesList.indexOf($("#qesitmId").val());
$.ajax({
url : "/popup/qesitmView.json"
, dataType: "html"
, data : {"qesitmId" : pageType == "next" ? qesList[curQesSort+1] : qesList[curQesSort-1], "qesitmGroupId" : tmpGid}
, success : function(result){ // 성공
$("#quizDetail").html(result);
$(".btnqes").prop("disabled", false);
if((curQesSort -1) == 0){
$(".btn-prev").prop("disabled", true);
}else if((curQesSort+1) == (qesList.length -1)){
$(".btn-next").prop("disabled", true);
}
qesitmInit();
}
, error : function(){ //실패
alert("오류가 발생했습니다.");
}
});
}
function opinionPopupOpen(){
var sttusCode = 'C';
$('#sttusCode').val(sttusCode == "" ? "E" : sttusCode);
if(sttusCode == "R"){
$("#opinionPopup").find(".statusR").show();
}else{
$("#opinionPopup").find(".statusR").hide();
}
popupOpen('opinion');
}
function opinionReportPopupOpen(){
popupOpen('report');
}
var hyperBankDomain = "//hyperqbank.itt.link";
if (location.href.indexOf("devonline") > -1){
hyperBankDomain = "//dev-hyperqbank.itt.link";
}
function modifySttus(type) {
let ajaxUrl = "/evaluation/modifySttus.json";
// if(!($("#agree").is(":checked"))){
// alert("유의사항을 확인하고 체크해 주시기 바랍니다.");
// return ;
// }
if( $('#sttusCode').val() == 'R'){
if($('#opinion').val().length < 1){
alert('반려 사유는 필수입니다.');
return;
}
}else{
$('#opinion').val("");
}
let data = {
"acptncUserId":"tlqjach33@gne.go.kr",
"opinion":$('#opinion').val(),
}
if(type == "E"){
data.evlDsgnId = "";
data.evlDsgnSttusCode = $('#sttusCode').val();
data.evlDsgnNm = '';
data.registerId = '';
}else{
ajaxUrl = "/qesitm/modifySttus.json";
data.qesitmGroupSttusCode=$('#sttusCode').val();
data.acptncUserId = 'kjhs25-h0470@gne.go.kr';
data.qesitmGroupId = '51cdb7ffd49c4f3e90a3729103869736';
/*data.cntntsSj = `제시된 한시를 의미에 맞게 바르게 나열한 것은?`.replace(/<!--\[data-hwpjson\]{.+}-->/g, '');*/
}
$.ajax({
url : ajaxUrl,
data:data,
dataType :'json',
type: 'post',
success:function(result){
if(result.success){
alert(result.message);
popupClose('opinion');
}
},
error:function(){
alert("문제가 발생하여 작업이 실패되었습니다.");
}
})
}
function qesitmInit(){
$('.thumb-swiper').thumbSwiperSm();
$("video").each(function (index) {
if(!!!plchk[$(this).attr("id")]){
plchk[$(this).attr("id")] = $(this).attr("id");
}else{
videojs($(this).attr("id")).dispose();
}
videojs($(this).attr("id"),{
html5: {
nativeAudioTracks: false,
nativeVideoTracks: false,
hls: {
debug: false,
overrideNative: true
}
}
,techOrder:["youtube","html5"]
,ytcontrols:false
,controls: true
})
});
}
</script>
</head>
<body>
<input type="hidden" id="eid" value="">
<input type="hidden" id="viewType" value="myclass">
<input type="hidden" id="qesRegId" value="USRCNFRM_00000237497">
<section class="viewer">
<div class="viewer-body">
<div class="viewer-cont">
<div class="quiz-viewer">
<div class="quiz-viewer-body">
<div class="quiz-viewer-cont" id="quizDetail">
<div class="quiz-viewer-wrap">
<section class="q-group-area">
<header class="tit-area">
<div class="l-area">
<h3 class="q-group-tit">[1~3] 공통 제시자료 </h3>
</div>
<div class="r-area">
<button class="btn btn-q-group-toggle"><i class="ico-sm-document"></i> <span>공통 제시자료 닫기</span></button>
</div>
</header>
<div class="q-group-cont q-file-area">
<div class="q-file-txt editor-cont"><strong>(가) 別有天地非人間<br><br>(나) 桃花流水杳然去<br><br>(다) 問余何意棲碧山<br><br>(라) 笑而不答心自閑</strong></div>
</div>
</section>
<input type="hidden" id="qesitmId" value="94bfda6c1b2740b8a5d091ffe72b2a90">
<ul class="viewer-q-list ">
<li class="q-item">
<input type="hidden" class="qesItmType" value="OBJS">
<div class="q-area">
<div class="q-tit">
<div class="q-txt">
<p>제시된 한시를 의미에 맞게 바르게 나열한 것은?</p>
</div>
</div>
<div class="q-file-area">
</div>
</div>
<div class="a-area answerDiv">
<ol class="a-list answerLi">
<li class="a-item" data-cnsrat="N">
<input type="radio" id="list_0" name="answer">
<label for="list_0" class="a-input-label">선택</label>
<span class="answer_label" style="display: none"></span>
<div class="a-box">
<span class="num">1</span>
<div class="a-cont">
<div class="a-txt">
<div class="editor-cont">
(가) → (나) → (다) → (라)<br>
</div>
</div>
</div>
</div>
</li>
<li class="a-item" data-cnsrat="N">
<input type="radio" id="list_1" name="answer">
<label for="list_1" class="a-input-label">선택</label>
<span class="answer_label" style="display: none"></span>
<div class="a-box">
<span class="num">2</span>
<div class="a-cont">
<div class="a-txt">
<div class="editor-cont">
(가) → (라) → (나) → (라)
</div>
</div>
</div>
</div>
</li>
<li class="a-item" data-cnsrat="N">
<input type="radio" id="list_2" name="answer">
<label for="list_2" class="a-input-label">선택</label>
<span class="answer_label" style="display: none"></span>
<div class="a-box">
<span class="num">3</span>
<div class="a-cont">
<div class="a-txt">
<div class="editor-cont">
(나) → (라) → (가) → (나)
</div>
</div>
</div>
</div>
</li>
<li class="a-item" data-cnsrat="Y">
<input type="radio" id="list_3" name="answer">
<label for="list_3" class="a-input-label">선택</label>
<span class="answer_label" style="display: none"></span>
<div class="a-box">
<span class="num">4</span>
<div class="a-cont">
<div class="a-txt">
<div class="editor-cont">
(다) → (라) → (나) → (가)
</div>
</div>
</div>
</div>
</li>
<li class="a-item" data-cnsrat="N">
<input type="radio" id="list_4" name="answer">
<label for="list_4" class="a-input-label">선택</label>
<span class="answer_label" style="display: none"></span>
<div class="a-box">
<span class="num">5</span>
<div class="a-cont">
<div class="a-txt">
<div class="editor-cont">
(라) → (가) → (다) → (나)
</div>
</div>
</div>
</div>
</li>
</ol>
</div>
<ul class="q-comment qesitmExp" style="display: none;">
<li class="answer">
<cite>정답</cite>
<div class="txt-area"><strong class="answerTxt"></strong></div>
</li>
<li>
<cite>해설</cite>
<div class="txt-area">
<div class="q-file-area">
<div class="q-file-txt editor-cont">한시를 해석했을 때 의미에 맞게 나열된 보기는 (다) → (라) → (나) → (가)이다.</div>
</div>
</div>
</li>
</ul>
</li>
</ul>
<div class="btn-cont">
<button class="btn-lg spot2 showAnswer">정답 및 풀이 보기</button>
</div>
</div>
</div>
<div class="quiz-viewer-fnc">
<button class="btn-prev btnqes" disabled=""><span>이전 문제</span></button>
<button class="btn-next btnqes"><span>다음 문제</span></button>
</div>
</div>
</div>
</div>
<div class="viewer-fnc-cont"></div>
</div>
</section>
<!--popup-->
<div class="dim"></div>
<!-- 이미지 zoom -->
<div class="popup-zoom" data-popup="popupZoom">
<div class="pop-body">
<figure>
<img src="" alt="이미지 원본">
</figure>
</div>
<button type="button" class="pop-close wh lg"><span class="txt-hide">팝업닫기</span></button>
</div>
<div class="popup" data-popup="report" id="opinionReportPopup">
<div class="pop-header">
<h1>문항 오류 신고</h1>
</div>
<div class="pop-body">
<dl class="info-block">
<dt>신고 유형</dt>
<dd><select id="opinionType" title="문항 신고 유형" class="p10 mt10">
<option value="E">문제 수정</option>
<option value="C">정답 오류</option>
<option value="R">해설 오류</option>
<option value="I">개선 의견</option>
<option value="G">기타</option>
</select></dd>
<dt class="statusR">오류 내용<span class="required">*</span></dt>
<dd class="statusR">
<textarea id="opinionCntnts" rows="5" placeholder="오류내용을 작성해주세요"></textarea>
</dd>
</dl>
</div>
<div class="pop-footer">
<div class="btn-flex-cont">
<button type="button" class="btn spot2" id="submitOpinion">확인</button>
</div>
</div>
<button type="button" class="pop-close" onclick="popupClose('report')">팝업닫기</button>
</div>
<div class="popup" data-popup="opinion" id="opinionPopup">
<div class="pop-header">
<h1>검수 의견</h1>
</div>
<div class="pop-body">
<dl class="info-block">
<dt>검토 의견</dt>
<dd><select id="sttusCode" title="자문단 검토 의견 선택" class="p10 mt10">
<option value="E">검토</option>
<option value="C">승인</option>
<option value="R">반려</option>
</select></dd>
<dt class="statusR">반려사유<span class="required">*</span></dt>
<dd class="statusR">
<textarea id="opinion" rows="5" placeholder="반려사유를 작성해주세요"></textarea>
</dd>
</dl>
</div>
<div class="pop-footer">
<div class="btn-flex-cont">
<button type="button" class="btn spot2" onclick="modifySttus('Q')">확인</button>
</div>
</div>
<button type="button" class="pop-close"><span class="txt-hide">팝업닫기</span></button>
</div>
</body></html>