YNICTE/FO/Views/CRoom/Innings.cshtml

279 lines
14 KiB
Plaintext
Raw Normal View History

2020-10-12 14:39:23 +09:00
@model NP.Model.VMCRoom
@{
}
<div class="lrnSch">
<a href="#" onclick="showatt()">출결이력조회</a>
</div>
<div class="lctcWeek lrnList">
2020-12-03 09:00:31 +09:00
<input type="hidden" id="mobile" name="mobile" value="@(ViewBag.Mobile)" />
2020-10-12 14:39:23 +09:00
<table>
<tbody>
@foreach (var d in Model.LectInnings)
{
<tr>
<th><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>
<td>
<h5>[@(d.iseq)회] @d.ititle</h5>
<dl>
<dt>@(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>
<dd><span>@(d.isonline == 0 ? "강의시작일" : "강의기간")</span> : @(d.isonline == 0 ? string.Format("{0} {1}:{2}", d.idate.ToString("MM/dd"), d.ist.Substring(0, 2), d.ist.Substring(2, 2)) : (d.sstime.ToString("MM/dd") + " ~ " + d.setime.ToString("MM/dd")))</dd>
@if (d.isonline == 0)
{
<dd style="margin-left:10px;"><span style="color:#222">강의실</span> : @(d.icontent ?? "-")</dd>
}
</dl>
</td>
<td>
<ul>
<li class="lctc1">
@if (d.isonline == 1)
{
<a href="#" onclick="playerOpen(@d.cmino, @(d.sstime < DateTime.Now && d.setime > DateTime.Now ? 1 : 0), @(d.isseq == 1 && d.iseq != 1 && d.preistatus < 2 ? 0 : 1), @(Model.intval > 5 && d.isrebate == 1 ? 0 : 1));" class="lctcStdy">학습하기</a>
}
</li>
<li class="lctc2">
@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>
</ul>
</td>
</tr>
}
</tbody>
</table>
</div>
<div class="lctPop lctPopFull" id="pop1" style="display: none;">
<div>
<div>
<div class="lctPopWrap wdth1140">
<div class="lctPopTitle">
<h5>개인별 출결이력조회</h5>
<a href="#" onclick="lctPopClose();"></a>
</div>
<div class="lctPopScroll">
<div class="lctPopCont">
<ul class="lctpTab col2">
<li class="current"><a href="javascript:lctpTab('01');">출결이력</a></li>
<li><a href="javascript:lctpTab('02');">활동이력</a></li>
</ul>
<div class="lctpCont" id="lctpCont01">
<table class="atdTable">
<colgroup>
<col width="60px;" />
<col width="60px;" />
<col width="200px;" />
<col width="100px;" />
<col width="130px;" />
<col width="*" />
<col width="*" />
<col width="90px;" />
</colgroup>
<thead>
<tr>
<th>회차</th>
<th>방식</th>
<th>강의주제</th>
<th>인정시간</th>
<th>학습시간</th>
<th>학습시작일(IP)</th>
<th>학습종료일(IP)</th>
<th>상태</th>
</tr>
</thead>
<tbody id="tbody1"></tbody>
</table>
</div>
<div class="lctpCont" id="lctpCont02">
<div class="atdDate">
<input type="text" class="datepicker" placeholder="yyyy-MM-dd" value="@DateTime.Now.ToString("yyyy-MM-01")" id="d1" readonly />
<span>~</span>
<input type="text" class="datepicker" placeholder="yyyy-MM-dd" value="@DateTime.Now.ToString("yyyy-MM-dd")" id="d2" readonly />
<a href="#" onclick="pagelog()">검색</a>
</div>
<table class="atdTable">
<colgroup>
<col width="200px;" />
<col width="160px;" />
<col width="*" />
</colgroup>
<thead>
<tr>
<th>접속시간</th>
<th>접속IP</th>
<th>페이지</th>
</tr>
</thead>
<tbody id="tbody2"></tbody>
</table>
</div>
</div><!-- clsPopCont -->
</div>
</div><!-- clsPopWrap -->
</div>
</div>
</div>
2020-12-03 09:00:31 +09:00
@Html.Partial("./Partial/MobileChk", null, new ViewDataDictionary { { "bindmethod", "cbchkmobile" } })
2020-10-12 14:39:23 +09:00
@section scriptsHeader{
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
2020-12-03 09:00:31 +09:00
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
}
2020-10-12 14:39:23 +09:00
@section scripts{
<script>
2020-12-03 09:00:31 +09:00
var _cmino = 0;
2020-10-12 14:39:23 +09:00
$(document).ready(function () {
$("body").on("click", ".atdOpen", function () {
var atdNum = $(this).attr('atdOpen');
if ($(this).is('.on')) {
$('.atdOpen').removeClass('on');
$('.atdDown').css('display', 'none');
} else {
$('.atdOpen').removeClass('on');
$('.atdDown').css('display', 'none');
$(this).addClass('on');
$('.atdDown' + atdNum).css('display', 'table-row');
}
});
$('.datepicker').datepicker({ dateFormat: 'yy-mm-dd' });
});
function playerOpen(cmino, timeflag, preflag, notoverflag) {
if (timeflag < 1) {
msg("학습기간이 아닙니다.");
} else if (preflag < 1) {
msg("이전 회차 학습을 완료한 이후 학습이 가능합니다.");
} else if (notoverflag < 1) {
msg("일일 최대 학습회차는 6차시입니다.");
} else {
2020-12-03 09:00:31 +09:00
_cmino = cmino;
chkcontent();
//viewcontents(cmino, false, @Model.croomlectno);
}
}
function chkcontent() {
capp("/fcommon/attcertcheck", {lectno : @Model.croomlectno}, "cbchkcontent");
}
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 {
confirmtoggle(true, "해당 과정의 학습을 처음 시작할 때 본인인증이 필요합니다. 본인인증은 1회에 한 해 진행됩니다.<br/> 본인인증을 하시겠습니까?","chkmobile()");
//confirmtoggle(true, "해당 과정의 학습을 처음 시작할 때 본인인증이 필요합니다. 본인인증은 1회에 한 해 진행됩니다.<br/> 본인인증을 하시겠습니까?","showpop()");
//confirmtoggle(true, "해당 과정의 학습을 처음 시작할 때 본인인증이 필요합니다. 본인인증은 1회에 한 해 진행됩니다.<br/> 본인인증을 하시겠습니까?","mobilechkview('MOBI')");
}
} else {
msg("휴대폰 번호가 공란입니다.<br/>정보수정을 통해 번호를 입력해주세요.");
}
}
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-10-12 14:39:23 +09:00
}
}
function lctpTab(num) {
$('.lctpCont').hide();
$('.lctpTab li').removeClass('current');
$('.lctpTab li:nth-child(' + num + ')').addClass('current');
if (num == '02') {
if ($("#tbody2 tr").length < 1) {
pagelog();
} else {
$("#lctpCont" + num).fadeIn();
}
} else {
$('#lctpCont' + num).fadeIn();
}
}
function pagelog() {
capp("/fcommon/pagelogs", { d1: val("d1"), d2: val("d2") }, "cbpagelog");
}
function cbpagelog() {
$("#tbody2").html("");
$.each(capResult.obj, function (i, d) {
$("#tbody2").append("<tr><td>" + d.cdtymdhm+"</td><td>" + d.uip + "</td><td class=\"left\">" + d.loginfo + "</td></tr>");
});
if (capResult.obj.length < 1) {
$("#tbody2").append("<tr><td colspan=\"3\">-활동이력이 없습니다.</td></tr>");
}
$("#lctpCont02").fadeIn();
}
function lctPopClose() {
$('#pop1').hide();
$('html, body').removeClass('lock');
}
function showatt() {
$("#tbody1").html("");
capp("/fcommon/getattend", { lectno: @Model.croomlectno}, "cbgetatt");
}
function cbgetatt() {
var h = capResult.obj.h;
if (h.length > 0) {
$.each(h, function (i, hd) {
if (hd.isonline == 1) {
$("#tbody1").append("" +
"<tr>"
+ "<td>" + hd.iseq + "</td>"
+ "<td>" + hd.isonlinename2 + "</td>"
+ "<td>" + hd.ititle + "</td>"
+ "<td>" + hd.atimename + "</td>"
+ (getdb(hd.istatus)=="0" || getdb(hd.istatus) != "" ? ("<td><span class=\"atdOpen\" atdOpen=\"" + i + "\">" + hd.litotstudymin + "분(" + hd.ccount + ")</span></td>"
+ "<td>" + hd.listimeymdhms + " <span class=\"atdIp\">(" + hd.liispcsname + ":" + hd.lisips + ")</span></td>"
+ "<td>" + hd.lietimeymdhms + " <span class=\"atdIp\">(" + hd.liispcename + ":" + hd.lieips + ")</span></td>") : "<td>-</td><td>-</td><td>-</td>")
+"<td>" + hd.istatusname2 + "</td></tr>");
if (getdb(hd.istatus) != "" || getdb(hd.istatus)=="0") {
$.each(capResult.obj.d, function (i2, d) {
if (d.iseq == hd.iseq) {
$("#tbody1").append("<tr class=\"atdDown atdDown" + i + "\">"
+ "<td>-</td>"
+ "<td>-</td>"
+ "<td>-</td>"
+ "<td>-</td > "
+ "<td>" + d.totstudymin2 + "(" + d.pseqname + ")</td>"
+ "<td>" + d.stimeymdhms + " <span class=\"atdIp\">(" + d.ispcsname + ":" + d.sip + ")</span></td>"
+ "<td>" + d.etimeymdhms + " <span class=\"atdIp\">(" + d.eip + ")</span></td>"
+"<td>-</td ></tr > ");
}
});
}
}
else {
$("#tbody1").append("" +
"<tr><td>" + hd.iseq + "</td><td>" + hd.isonlinename2 + "</td><td>" + hd.ititle + "</td><td>-</td>" +
"<td>-</td><td>-</td><td>-</td><td>" + hd.istatusname + "</td></tr>");
}
});
}
$('html, body').addClass('lock'); lctpTab('01'); $('#pop1').show();
}
</script>
}