YNICTE/FO/Views/CRoom/EstimationExam.cshtml

145 lines
8.1 KiB
Plaintext

@model NP.Model.VMCRoom
@{
string exDate = "";
if (Model.LectEX.scdcmisno > 0) {
exDate = Model.LectEX.lectcdt.ToString("yyyy-MM-dd 00:00") + " ~ " + Model.LectEX.scdeend.ToString("yyyy-MM-dd hh:mm") + "까지(진도율 " + Model.LectEX.econdition + "%이상 응시가능)";
} else {
exDate = Model.LectEX.lectcdt.ToString("yyyy-MM-dd 00:00") + " ~ " + Model.LectEX.edate.Value.ToString("yyyy-MM-dd hh:mm") + "까지(진도율 " + Model.LectEX.econdition + "%이상 응시가능)";
}
}
<h3 class="lctTitle3">시험안내</h3>
<table class="evaDetail">
<tr><th>시험종류</th><td>@Model.LectEX.exname</td></tr>
<tr><th>시험제목</th><td>@Model.LectEX.exname</td></tr>
<tr><th>시험내용</th><td>@Html.Raw((Model.LectEX.edesc ?? "").Replace(System.Environment.NewLine, "<br />"))</td></tr>
<tr><th>평가점수</th><td>@(Model.LectEX.tpoint + "점")</td></tr>
<tr><th>제한시간</th><td>@(Model.LectEX.etime == 0 ? "제한없음" : string.Format("{0} 분", Model.LectEX.etime))</td></tr>
@*<tr><th>응시기간</th><td>@(Model.LectEX.sdate.Value.ToString("yy-MM-dd hh:mm")) ~ @(Model.LectEX.edate.Value.ToString("yy-MM-dd hh:mm"))까지(진도율 @(Model.LectEX.econdition)%이상 응시가능)</td></tr>*@
<tr><th>응시기간</th><td>@exDate</td></tr>
<tr><th>재응시여부</th><td>@(Model.LectEX.isreexamable == 0 ? "불가능" : "가능")</td></tr>
<tr><th>응시상태</th><td>@(Model.LectEX.estart == null ? ("응시전" + (Model.LectEX.recount > 0 ? string.Format(" (재응시승인 {0}회)", Model.LectEX.recount) : "")) : Model.LectEX.eend != null ? "응시완료" : Model.LectEX.rtime < 1 ? "응시시간초과" : ("응시시작 (남은시간 " + Model.LectEX.rtime + "분)" + (Model.LectEX.relaylimit.Value <= Model.LectEX.entercount ? ", [이어보기 초과]" : "")))</td></tr>
@if (Model.LectEX.estart != null)
{
<tr><th>응시시작</th><td>@Model.LectEX.estart</td></tr>
}
</table>
<ul class="lctBtn col1">
@if (Model.LectEX.eend == null && (Model.LectEX.estart == null || Model.LectEX.relaylimit.Value >= Model.LectEX.entercount) && Model.LectEX.iscomplete != 1)
{
<li><a href="#" class="bk" onclick="goexam()">응시하기</a></li>
}
@* [start] 아래 if문 주석은 2025 3월이후에 다시 사용 현재는 임시처리 *@
@*@if (Model.LectEX.ispass == 1)*@
@if (Model.LectEX.estart != null)
{
<li><a href="#" class="bk" onclick="showexam()">결과보기</a></li>
}
@* [end] 아래 if문 주석은 2025 3월이후에 다시 사용 현재는 임시처리 *@
@if (Model.LectEX.edate > DateTime.Now && Model.LectEX.estart != null && Model.LectEX.isreexamable == 1 && Model.LectEX.iscomplete != 1)
{
// #xodus extype 추가
<li><a href="#" class="bk" onclick="javascript:reexam(@Model.LectEX.exno,@Model.LectEX.lectno,@Model.LectEX.extype)">재응시</a></li>
}
</ul>
<form id="mform" action="/CRoom/Estimation?@Model.croomparam" method="get">
@Html.HiddenFor(m => m.croomlectno)
@Html.HiddenFor(m => m.croomcmno)
@Html.HiddenFor(m => m.tabidx)
@Html.HiddenFor(m => m.estno)
</form>
@section scriptsHeader{
}
@section scripts{
<script>
$(document).ready(function () {
});
var openedexam = false;
function goexam() {
if (@(Model.LectEX.eend == null && (Model.LectEX.estart == null || Model.LectEX.relaylimit.Value >= Model.LectEX.entercount) ? 1 : 0) == 1) {
if (@(Model.LectEX.scdcmisno) == 0) {
if (@(Model.LectEX.sdate.Value > DateTime.Now || Convert.ToDateTime(Model.LectEX.edate.Value.ToString("yyyy-MM-dd")).AddDays(1).AddSeconds(-1) < DateTime.Now?0:1)== 0) {
msg("응시기간이 아닙니다.");
} else if (@Model.LectEX.rtime < 1 && @Model.LectEX.etime > 0) {
msg("응시시간이 초과되었습니다.");
} else {
if (@((bool)(ViewBag.IsPortalAppBrowser??false)?1:0) == 1) {
msg("Naver, Daum 등의 앱브라우저는 원활한 시험 진행이 어렵습니다. 모바일 브라우저로 시험에 응시해주세요.");
} else {
openedexam = true;
if (!ismobile()) {
window.open("/CRoom/Exam?croomlectno=@Model.LectEX.lectno&estno=@(Model.LectEX.exno)", 'croomexam', 'height=' + (screen.height - 130) + ',width=' + screen.width + ',menubar=no,toolbar=no,location=no,resizable=no, status=no,scrollbars=no,top=0,left=0, fullscreen=yes');
} else {
window.open("/CRoom/Exam?croomlectno=@Model.LectEX.lectno&estno=@(Model.LectEX.exno)");
}
}
}
} else { //배포 이후 교육일정 코드가 있을 경우...
if (@(Convert.ToDateTime(Model.LectEX.testsdate) > DateTime.Now
|| Convert.ToDateTime(Convert.ToDateTime(Model.LectEX.testedate).ToString("yyyy-MM-dd")).AddDays(1).AddSeconds(-1) < DateTime.Now ? 0 : 1) == 0) {
msg("응시기간이 아닙니다.");
} else if (@Model.LectEX.rtime < 1 && @Model.LectEX.etime > 0) {
msg("응시시간이 초과되었습니다.");
} else {
if (@((bool)(ViewBag.IsPortalAppBrowser??false)?1:0) == 1) {
msg("Naver, Daum 등의 앱브라우저는 원활한 시험 진행이 어렵습니다. 모바일 브라우저로 시험에 응시해주세요.");
} else {
openedexam = true;
if (!ismobile()) {
window.open("/CRoom/Exam?croomlectno=@Model.LectEX.lectno&estno=@(Model.LectEX.exno)", 'croomexam', 'height=' + (screen.height - 130) + ',width=' + screen.width + ',menubar=no,toolbar=no,location=no,resizable=no, status=no,scrollbars=no,top=0,left=0, fullscreen=yes');
} else {
window.open("/CRoom/Exam?croomlectno=@Model.LectEX.lectno&estno=@(Model.LectEX.exno)");
}
}
}
}
}
}
// 아래 주석은 2025-03 이후에 다시 사용 예정
function showexam() {
if (@Model.LectEX.isresultopen == 1) {
$("#mform").attr("action", "/CRoom/ExamRecord").submit();
} else {
msg("운영자가 시험결과를 비공개처리하였습니다. 별도로 문의해주세요.");
}
}
@*function showexam() {
if (@Model.LectEX.ispass == 0) {
msg("수료기준을 통과하지 못하여 비공개처리되었습니다.");
} else {
//응시결과창
if (@Model.LectEX.isresultopen == 1) {
$("#mform").attr("action", "/CRoom/ExamRecord").submit();
} else {
msg("운영자가 시험결과를 비공개처리하였습니다. 별도로 문의해주세요.");
}
}
}*@
// #xodus extype 추가
function reexam(exno, lectno, extype) {
confirmtoggle(true, "이전 시험기록을 초기화하고 다시 시험에 응시하시겠습니까? ", "gogo(" + exno + "," + lectno + "," + extype + ")");
}
// #xodus extype 추가
function gogo(exno, lectno, extype) {
capp("/fcommon/reexamforuser", { exno: exno, lectno: lectno, extype: extype }, "cbreexam");
}
function cbreexam() {
if (capResult.code == 1000) {
msg("재응시 처리했습니다.", null, null, null, true);
setTimeout(function () {
refresh();
}, 1000);
}
}
</script>
}