YNICTE/FO/Views/CRoom/Index.cshtml

267 lines
14 KiB
Plaintext
Raw Normal View History

2020-10-12 14:39:23 +09:00
@model NP.Model.VMCRoom
@{
}
<div class="lctcScore">
2020-11-30 14:13:00 +09:00
<input type="hidden" id="mobile" name="mobile" value="@(ViewBag.Mobile)" />
2021-11-03 15:19:08 +09:00
<div class="lctCont" style="padding-bottom:0px;">
2020-10-12 14:39:23 +09:00
<h5>나의성적</h5>
<table>
<thead>
<tr>
<th>구분</th>
<th>진도율</th>
2021-07-07 10:32:05 +09:00
@*<th>진행평가</th>*@
2020-10-12 14:39:23 +09:00
<th>최종평가</th>
<th>과제평가</th>
2021-07-07 10:32:05 +09:00
@*<th>토론평가</th>*@
2020-10-12 14:39:23 +09:00
<th>총점</th>
</tr>
</thead>
<tbody>
<tr>
<td>나의성적</td>
2021-06-28 14:32:12 +09:00
<td>@(Model.Lect.attrate)%</td>
2021-07-07 10:32:05 +09:00
@*<td>@(Model.Lect.ex0lectpoint)점</td>*@
2021-01-27 17:23:51 +09:00
<td>@(Model.Lect.ex1lectpoint)점</td>
<td>@(Model.Lect.sd0lectpoint)점</td>
2021-07-07 10:32:05 +09:00
@*<td>@(Model.Lect.sd1lectpoint)점</td>*@
2021-01-27 17:23:51 +09:00
<td style="color:#ff0000;">@(Model.Lect.apoint + Model.Lect.mpoint + Model.Lect.fpoint + Model.Lect.spoint + Model.Lect.dpoint)점</td>
2021-07-07 10:32:05 +09:00
2020-10-12 14:39:23 +09:00
@*<td>@(Model.Lect.attrate)%(@(Model.Lect.apoint)점)</td>
2020-11-30 14:13:00 +09:00
<td>@(Model.Lect.mpoint)점</td>
<td>@(Model.Lect.fpoint)점</td>
<td>@(Model.Lect.spoint)점</td>
<td>@(Model.Lect.dpoint)점</td>
<td style="color:#ff0000;">@(Model.Lect.apoint + Model.Lect.mpoint + Model.Lect.fpoint + Model.Lect.spoint + Model.Lect.dpoint)점</td>*@
2020-10-12 14:39:23 +09:00
</tr>
<tr>
<td>수료기준</td>
<td>@(Model.Lect.acut)%이상</td>
2021-07-07 10:32:05 +09:00
@*<td>@(Model.Lect.mcut)점이상</td>*@
2020-10-12 14:39:23 +09:00
<td>@(Model.Lect.fcut)점이상</td>
<td>@(Model.Lect.scut)점이상</td>
2021-07-07 10:32:05 +09:00
@*<td>@(Model.Lect.dcut)점이상</td>*@
2020-10-12 14:39:23 +09:00
<td style="color:#ff0000;">@(Model.Lect.cut)점이상</td>
</tr>
<tr style="display:none;">
2021-01-27 17:23:51 +09:00
@if (Model.Lect.iscomplete == null)
{
2021-07-07 10:32:05 +09:00
<td colspan="5" >※ 나의성적이 수료기준을 충족하였을 경우 성적 화면에서 수료요청을 해주셔야 합니다.</td>
2021-01-27 17:23:51 +09:00
}
</tr>
2020-10-12 14:39:23 +09:00
</tbody>
</table>
</div>
<div style="text-align:center;">
<span style="color:red;">※ 관련 규정에 의거 동시접속방지 기능으로 인해 다른 환경에서 접속 시 기존 환경에서는 로그아웃 되어 동영상 시청 진도율이 반영되지 않습니다.</span><br/>
<span style="color:red;">※ 관련 법령에 의해 일일 최대 학습시간은 학습중인 모든 과정에 대하여 10시간(10차시)입니다.</span>
</div>
2020-10-12 14:39:23 +09:00
</div>
2021-11-03 15:19:08 +09:00
@if(Model.Lect.isoffabs == 1)
{
<div class="lctcScore">
<div class="lctCont">
<h5>집합교육 안내</h5>
<table>
<thead>
<tr>
<th>집체일정</th>
<th>교육장소</th>
<th>준비물</th>
<th>출석여부</th>
</tr>
</thead>
<tbody>
<tr>
<td>@(string.Format("{0} {1}"+":"+"{2} ~ {3}"+":"+"{4}",Model.Lect.estart.ToString("yyyy-MM-dd"),Model.Lect.estart.ToString("HH"), Model.Lect.estart.ToString("mm"), Model.Lect.eend.ToString("HH"), Model.Lect.eend.ToString("mm")))</td>
<td>@Model.Lect.studyplacename</td>
<td>신분증,필기도구,과제</td>
<td>@Model.Lect.istatusname</td>
</tr>
</tbody>
</table>
</div>
</div>
}
2020-10-12 14:39:23 +09:00
<div class="lctCont" style="padding-left:0px;">
<div class="lctcHalf">
<div>
<div class="lctcList" style="height:200px;">
<h5>최근게시글 @*<a href="#">더보기</a>*@</h5>
<ul>
2020-11-30 14:13:00 +09:00
@foreach (var d in Model.Datas.Where(w => w.dtype == 100))
{
<li><a href="/CRoom/BoardView?@Model.croomparam&croombmno=@d.intval&BNo=@d.longval"><p>[@d.strval] @d.strval2 </p><em>@d.time.ToString("yy-MM-dd")</em></a></li>
}
@if (Model.Datas.Where(w => w.dtype == 100).Count() < 1)
{
<li>게시글이 없습니다.</li>
}
2020-10-12 14:39:23 +09:00
</ul>
</div>
</div>
<div>
2020-11-30 14:13:00 +09:00
<div class="lctcList" style="height:200px;">
2020-10-12 14:39:23 +09:00
<h5>나의 할일 Top 3</h5>
<ul>
2020-11-30 14:13:00 +09:00
@foreach (var d in Model.Datas.Where(w => w.dtype < 100))
{
if (d.intval == 2)
{
<li><a href="#" style="cursor: default"><p>[출석] @(d.intval2)차시<span>(@(d.strval3)까지)</span></p></a></li>
}
else
{
<li><a href="#" style="cursor: default"><p>[@(d.intval == 3 ? (d.intval4 == 0 ? "진행평가" : "최종평가") : d.intval == 4 ? "과제" : "토론")] @(d.intval == 3 ? "응시" : d.intval == 4 ? "제출" : "참여")<span>(@d.time2.ToString("MM/dd")까지)</span></p></a></li>
}
}
@if (Model.Datas.Where(w => w.dtype < 100).Count() < 1)
{
<li>아직 할 일이 없습니다.</li>
}
2020-10-12 14:39:23 +09:00
</ul>
</div>
</div>
</div>
<div class="lctcWeek">
<h5>오늘 시청 가능한 10개 차시 중 (@Model.intval/@Model.intval2)를 수강하셨습니다. <a href="/CRoom/Innings?@Model.croomparam">수강 중인 강의 모두 보기</a></h5>
2020-10-12 14:39:23 +09:00
<table>
<tbody>
2020-11-30 14:13:00 +09:00
@foreach (var d in Model.LectInnings)
{
<tr>
2020-12-16 13:11:04 +09:00
<th style="display:none"><em style="background:url(@(d.isonline == 0 ? "/img/lecture/week_thumb02.jpg" : (string.IsNullOrEmpty(d.tasteurl)?"/img/lecture/week_thumb01.jpg":(Model.Files + d.tasteurl))))no-repeat center center"></em></th>
2020-11-30 14:13:00 +09:00
<td>
<h5>[@(d.iseq)회] @d.ititle</h5>
@if (d.cshape == 2 && d.isonline == 0)
{
<dl></dl>
}
else
{
<dl>
2021-08-23 15:10:15 +09:00
<dt>@(d.edate < DateTime.Now ? "학습기간종료" : d.isonline == 0 && d.istatus == 2 ? "출석완료" : d.isonline == 0 && d.idate < DateTime.Now ? "결석" : d.isonline == 0 ? "출석전" : d.stime == null ? "학습전(0%)" : d.istatus == 2 ? "학습완료" : string.Format("학습중({0}%)", d.sttime > 0 ? (d.totstudy * 100 / (d.sttime * 60)) : 0))</dt>
<dt style="color:#888888"><span style="color:red;">@(d.isonline == 0 ? (d.cshape != 2 ? "강의시작일" : "집체교육") : "교육기간")</span> : @(d.isonline == 0 ? (d.cshape != 2 ? string.Format("{0} {1}:{2}", d.idate.ToString("MM/dd"), d.ist.Substring(0, 2), d.ist.Substring(2, 2)) : d.eend.ToString("MM/dd")) :d.cshape != 1 ? d.cdt.ToString("MM/dd")+" ~ "+d.estart.ToString("MM/dd") : (d.sdate.ToString("MM/dd") + " ~ " + d.edate.ToString("MM/dd")))</dt>
@if(d.cshape != 1 && d.isonline == 1)
{
<dd><span>복습기간</span> : @(d.edate.AddYears(1).ToString("yy-MM-dd"))</dd>
}
@if (d.isonline == 0)
2021-01-22 15:06:01 +09:00
{
if (d.cshape != 2)
{
2021-08-23 15:10:15 +09:00
<dd><span style="color:#222">강의실</span> : @(d.icontent ?? "-")</dd>
}
else
{
2021-08-23 15:10:15 +09:00
<dd><span style="color:#222">장소</span> : @(d.cname ?? "-")</dd>
}
2021-01-22 15:06:01 +09:00
}
</dl>
}
2020-11-30 14:13:00 +09:00
</td>
<td>
<ul>
<li class="lctc1">
@if (d.fileno > 0)
{
<a href="/focommon/downfile?fno=@d.fileno" class="lctcBook">교안보기</a>
}
@if (d.fileno < 1 && !string.IsNullOrEmpty(d.tfurl))
{
<a href="@d.tfurl" target="_blank" class="lctcBook">교안보기</a>
}
</li>
2020-12-24 08:21:34 +09:00
<li class="lctc2">
@if (d.isonline == 1)
{
2021-01-26 10:17:53 +09:00
//학습기간 종료후에도 시청은 가능하고, 출석인정은 되지않도록 변경 2021-01-25
<a href="#" onclick="playerOpen(@d.cmino, @(d.sdate < DateTime.Now && d.edate.AddYears(1) > DateTime.Now ? 1 : 0), @(d.isseq == 1 &&d.iseq != 1 && d.preistatus < 2 ? 0 : 1), @(d.istatus != 2 && Model.intval >= d.daylectinninglimit ? 0 : 1), @(d.daylectinninglimit));" class="lctcStdy">학습하기</a>
2020-12-24 08:21:34 +09:00
}
</li>
2020-11-30 14:13:00 +09:00
</ul>
</td>
</tr>
}
2020-10-12 14:39:23 +09:00
</tbody>
</table>
</div><!-- lctcWeek -->
</div>
2020-11-30 14:13:00 +09:00
@Html.Partial("./Partial/MobileChk", null, new ViewDataDictionary { { "bindmethod", "cbchkmobile" } })
@Html.Partial("./Partial/OkCert3", null, new ViewDataDictionary { })
2020-10-12 14:39:23 +09:00
@section scriptsHeader{
}
@section scripts{
<script>
2020-11-26 13:49:56 +09:00
var _cmino = 0;
var _authplatform = 0;
2020-10-12 14:39:23 +09:00
$(document).ready(function () {
2020-11-30 14:13:00 +09:00
2020-10-12 14:39:23 +09:00
});
function playerOpen(cmino, timeflag, preflag, notoverflag, daylectinninglimit) {
2020-10-12 14:39:23 +09:00
if (timeflag < 1) {
msg("학습기간이 아닙니다.");
} else if (preflag < 1) {
msg("이전 회차 학습을 완료한 이후 학습이 가능합니다.");
} else if (notoverflag < 1) {
2021-11-03 15:19:08 +09:00
msg("관련 법령에 의해 일일 최대 학습가능한 시간은 10시간(10차시)입니다.");
2020-10-12 14:39:23 +09:00
} else {
2020-11-26 13:49:56 +09:00
_cmino = cmino;
chkcontent();
@*viewcontents(cmino, false, @Model.croomlectno);*@
2020-10-12 14:39:23 +09:00
}
}
2020-11-26 13:49:56 +09:00
function chkcontent() {
capp("/fcommon/attcertcheckforlectinning", {lectno : @Model.croomlectno, cmino : _cmino}, "cbchkcontent");
2020-11-26 13:49:56 +09:00
}
function cbchkcontent() {
if (capResult.code == 1000) {
if (capResult.obj == 1) {
viewcontents(_cmino, false,@Model.croomlectno);
} else if (capResult.obj == 2) {
viewcontents(_cmino, false,@Model.croomlectno);
} else {
_authplatform = capResult.msg;
2021-06-09 10:10:57 +09:00
if(_authplatform == "0"){
msg("학습인증수단이 없는 회원입니다. 정보수정을 통해 학습인증수단을 입력해주세요.");
} else if (_authplatform == "1") {
confirmtoggle(true, "학습을 처음 시작할 때 본인인증이 필요합니다. 본인인증은 회차 당 1회에 한 해 진행됩니다.<br/> 본인인증을 하시겠습니까?", "chkipin()");
2021-06-09 10:10:57 +09:00
} else if (_authplatform == "2") {
confirmtoggle(true, "학습을 처음 시작할 때 본인인증이 필요합니다. 본인인증은 회차 당 1회에 한 해 진행됩니다.<br/> 본인인증을 하시겠습니까?", "chkmobile()");
2021-06-09 10:10:57 +09:00
}
2020-11-26 13:49:56 +09:00
}
} else {
msg("휴대폰 번호가 공란입니다.<br/>정보수정을 통해 번호를 입력해주세요.");
}
}
function chkipin() {
certok3reqview('IPIN', 'LectinningAuth', @Model.croomlectno, _cmino);
bglayer(false);
}
2020-11-30 14:13:00 +09:00
function chkmobile() {
setv("mobile", val("mobile").replace(/ /, '').replace(/ /, ''));
setv("mobile", formatmobile(val("mobile")));
if (!ismobilenumber(val("mobile"))) {
focus("mobile");
msg("핸드폰번호를 확인해주세요.");
} else {
capp("/focommon/sendlakey", { lectno: @Model.croomlectno, mobile: $("#mobile").val()}, "sendkey");
}
}
function cbchkmobile() {
if (capResult.code == 1000) {
//msg("인증이 성공하였습니다.\n 확인 버튼을 클릭하시면 학습이 가능합니다.");
$("#mobile").css("background", "#ddd");
mobilechkclose();
viewcontents(_cmino, false,@Model.croomlectno);
} else if (capResult.code == 1) {
msg("유효시간이 만료되었습니다.\n 창을 닫고 인증을 다시 진행해주세요.");
} else {
msg("인증이 실패하였습니다.\n 다시 확인해주세요.");
}
2020-11-26 13:49:56 +09:00
}
2020-10-12 14:39:23 +09:00
</script>
}