YNICTE/FO/Views/My/Index.cshtml

402 lines
22 KiB
Plaintext
Raw Normal View History

2020-10-12 14:39:23 +09:00
@model NP.Model.VMMy
@{
ViewBag.ismypageindex = true;
2020-11-10 14:34:17 +09:00
int status0CNT = 0;
int status1CNT = 0;
2020-10-12 14:39:23 +09:00
}
@section mybanner{
@if (ViewBag.ismain)
{
<div class="mpgSlide">@Html.Raw(ViewBag.Banners)</div>
}
else
{
<div class="mpgPtnr">
<div class="lctcList">
<h5>공지사항<a href="/My/BoardList?master=my">더보기</a></h5>
2020-10-12 14:39:23 +09:00
<ul>
@if (Model.Boards.Count() < 1)
{
<li> 공지사항이 없습니다.</li>
}
@foreach (var b in Model.Boards)
{
<li><a href="/My/BoardView?master=my&BNo=@b.bno"><p>@b.opname2@b.subject</p><em>@b.cdt.ToString("yyyy-MM-dd HH:mm")</em></a></li>
}
</ul>
</div>
</div>
}
}
2020-11-04 09:26:33 +09:00
<div class="mpgCont">
@if (Model.Assign != null)
{
2022-08-03 16:50:01 +09:00
<div class="mpgDsc">
<ul>
<li><b>회사명 : </b>@Model.Assign.asname</li>
2022-08-03 16:50:01 +09:00
</ul>
@if (Model.Assign.status == 1)
{
<p>※ 정보가 변경되었을 경우 정보 수정페이지로 이동하여 정확한 정보를 변경하여 주시기 바랍니다 <a href="/My/MyAssInfo">정보수정</a></p>
}
</div>
}
2020-11-04 09:26:33 +09:00
<div class="mpgClass">
<div class="mpgcCont">
2020-11-10 14:34:17 +09:00
<div class="mpgTitle">
<h5>■ 수강 가능한 과정 (입금이 완료되어 교육진행이 가능한 과정입니다.)</h5>
2020-11-10 14:34:17 +09:00
<a href="/My/Lecture">더보기</a>
</div><!-- mpgTitle -->
<p class="mpgDesc">※ <span style="color:red;">이미 수료된 과정은 수강과정 메뉴에서</span> 확인 가능합니다.<br />※ 교육비 환불 신청은 결제관리 메뉴에서 가능합니다.</p>
2020-11-04 09:26:33 +09:00
<ul class="mpgcList">
2020-11-10 14:34:17 +09:00
@foreach (var d in Model.Datas.Where(w => w.dtype == 2))
2020-11-04 09:26:33 +09:00
{
if (status0CNT < 3 || (d.intval3 == 1 && d.intval4 == 1))
2020-11-10 14:34:17 +09:00
{
<li>
2022-08-03 16:50:01 +09:00
<a href="/CRoom/Index?croomlectno=@d.longval" data-cshape=@d.intval3 class="gocroom">
<h5>
<span class="@(d.intval3 == 0 ? "org" : d.intval3 == 1 ? "nav_grn" : "nav_blu")">@(d.intval3 == 0 ? "온라인교육" : d.intval3 == 1 ? "교육장교육" : "온라인교육")</span>
@if (d.studyplace == null)
{
<span style="display:none;">@d.studyplacename 교육장</span>
}
else if (d.studyplace != null)
{
<span style=" font-weight: 400; font-size: 11pt; line-height: 20px; vertical-align: middle; color: #0000ff; background-color: #fff; padding: 0;">@d.studyplacename 교육장</span>
}
@* @Html.Raw(d.intval6 == 1 ? "<span class=\"grn\">환급</span>" : "")*@
<b>@d.strval</b>
</h5>
<dl>
<dt class="mpglSta3">@d.lectStatus</dt>
<dt style="color:#888888">교육기간 : @(d.time.ToString("yyyy년 MM월 dd일")) ~ @(d.time2.ToString("yyyy년 MM월 dd일"))</dt>
@if (d.intval3 != 1)
{
<dt style="color:red;">교육종료일 : @(string.Format("{0}", d.time2.ToString("yyyy년 MM월 dd일")))</dt>
}
<dt style="color:black;">@d.studytime<span>시간과정</span></dt>
@Html.Raw(d.intval6 == 1 ? "<span class=\"grn\" style='color: red;'>환급과정</span>" : "<span class=\"grn\" style='color: red;'>비환급과정</span>")
</dl>
</a>
</li>
2020-11-10 14:34:17 +09:00
status0CNT++;
}
2020-11-04 09:26:33 +09:00
}
</ul>
2020-11-10 14:34:17 +09:00
@if (Model.Datas.Where(w => w.dtype == 2).Count() < 1)
2020-10-12 14:39:23 +09:00
{
2020-11-10 14:34:17 +09:00
<div style="padding: 30px; text-align: center;">수강중인 강좌가 없습니다.</div>
2020-10-12 14:39:23 +09:00
}
2020-11-04 09:26:33 +09:00
</div>
2020-11-10 14:34:17 +09:00
@if (Model.Datas.Where(w => w.dtype == 1).Count() < 1 && Model.CMs.Count() > 0)
{
<div class="mpgcCont">
<div class="mpgcEmpty"><a style="cursor:default">@(ViewBag.SSUserName)님, 이런 강의는 어떠세요?</a></div>
<ul class="mpgcList empty">
2020-11-04 09:26:33 +09:00
@foreach (var d in Model.CMs)
2020-10-12 14:39:23 +09:00
{
2020-11-04 09:26:33 +09:00
<li>
<a href="/Course/@d.cgcode.Replace("Test", "Cert")Detail?cmno=@d.cmno">
<h5>
<em>@(d.tyear)-@(d.tseq)기</em>
<span class="@(d.cshape == 0 ? "org" : d.cshape == 1 ? "nav_grn" : "nav_blu")">@(d.cshape == 0 ? "온라인교육" : d.cshape == 1 ? "교육장교육" : "온라인교육")</span>
2020-11-04 09:26:33 +09:00
@Html.Raw(d.isrefund == 1 ? "<span class=\"grn\">환급</span>" : "")
<b>@d.cname</b>
</h5>
<dl>
<dt class="mpglSta3">추천강좌</dt>
<dd>신청기간 : @d.rstime.Value.ToString("yy/MM/dd") ~ @d.retime.Value.ToString("yy/MM/dd")</dd>
</dl>
</a>
</li>
2020-10-12 14:39:23 +09:00
}
2020-11-10 14:34:17 +09:00
</ul>
</div>
}
2022-08-03 16:50:01 +09:00
<div class="mpgcCont">
<div class="mpgTitle"><h5>■ 신청중인 과정 (신청되어 있는 과정이며 입금완료 시 수강 중인 과정으로 이동합니다.)</h5><a href="/My/Ready">더보기</a></div>
<p class="mpgDesc">※ <span style="color:red;">온라인교육은 입금완료 시 바로 동영상 강의 시청이 가능합니다.</span><br />※ 교육신청 취소는 신청과정 메뉴에서 가능 합니다.</p>
2022-08-03 16:50:01 +09:00
<ul class="mpgcList">
@foreach (var d in Model.Datas.Where(w => w.dtype == 1))
2020-10-12 14:39:23 +09:00
{
2022-08-03 16:50:01 +09:00
if (status1CNT < 3)
{
2020-11-10 14:34:17 +09:00
<li>
2022-08-03 16:50:01 +09:00
@{
string strUrl = "";
if (d.intval5 != 1 && d.intval4 == 1 && d.intval8 == 1)
{
strUrl = "/CRoom/Index?croomlectno=" + d.longval + " data-cshape=" + d.intval3;
}
else if (d.intval5 != 1 && d.intval4 == 1 && d.intval8 == 0)
{
strUrl = "/My/Ready";
}
else if (d.intval5 != 1 && d.intval4 == 51)
{
strUrl = "/Course/ApplyPay";
}
else if (d.intval5 != 1 && d.intval4 == 21)
{
strUrl = "/Course/ApplyPay?payno=" + d.longval2;
}
else
{
strUrl = "/My/PayInfo?payno=" + d.longval2;
}
}
<a href="#" onclick="gopaies1()" data-cshape=@d.intval3 class="gocroom">
2020-11-10 14:34:17 +09:00
<h5>
<span class="@(d.intval3 == 0 ? "org" : d.intval3 == 1 ? "nav_grn" : "nav_blu")">@(d.intval3 == 0 ? "온라인교육" : d.intval3 == 1 ? "교육장교육" : "온라인교육")</span>
@if (d.studyplace == null)
{
<span style="display:none;">@d.studyplacename 교육장</span>
}
else if (d.studyplace != null)
{
<span style=" font-weight: 400; font-size: 11pt; line-height: 20px; vertical-align: middle; color: #0000ff; background-color: #fff; padding:0;">@d.studyplacename 교육장</span>
}
2022-08-03 16:50:01 +09:00
<b>@d.strval</b>
2020-11-10 14:34:17 +09:00
</h5>
<dl>
<dt>@d.lectStatus</dt>
@if (d.intval3 == 2)
{
<dt style="color:#888888">교육기간 : @(d.time3.ToString("yyyy년 MM월 dd일")) ~ @(d.time4.ToString("yyyy년 MM월 dd일"))</dt>
}
else
{
<dt style="color:#888888">교육기간 : @(d.time5.ToString("yyyy년 MM월 dd일")) ~ @(d.time6.ToString("yyyy년 MM월 dd일"))</dt>
}
@if (d.intval3 != 1)
{
<dt style="color:red;">교육종료일 : @(string.Format("{0}", d.time4.ToString("yyyy년 MM월 dd일")))</dt>
}
<dt style="color:black;">@d.studytime<span>시간과정</span></dt>
@Html.Raw(d.intval6 == 1 ? "<span class=\"grn\" style='color: red;'>환급과정</span>" : "<span class=\"grn\" style='color: red;'>비환급과정</span>")
2020-11-10 14:34:17 +09:00
</dl>
2020-11-10 14:34:17 +09:00
</a>
</li>
2022-08-03 16:50:01 +09:00
status1CNT++;
}
2020-10-12 14:39:23 +09:00
}
2022-08-03 16:50:01 +09:00
</ul>
@if (Model.Datas.Where(w => w.dtype == 1).Count() < 1)
{
<div style="padding: 30px; text-align: center;">신청중인 강좌가 없습니다.</div>
}
</div>
2020-11-10 14:34:17 +09:00
2020-11-04 09:26:33 +09:00
</div>
<div class="mpgNoti">
<div class="mpgnCont">
<div class="mpgTitle">
<h5>나의 할일</h5>
<span id="mpgb01"></span>
</div>
<ul class="mpgnList" id="mpgl01">
@foreach (var d in Model.Datas.Where(w => w.dtype == 3).OrderBy(o => o.intval))
{
if (d.cshape != 1)
{
string croomLink = string.Format("/CRoom/Index?croomlectno={0}", d.longval);
switch (d.intval)
{
case 1:
<li>
<div>
<a href="@croomLink" data-cshape=@d.cshape class="gocroom">
<h5><span>[학습]</span>@d.strval (@(d.intval3)반)</h5>
<h6>@(d.intval2)차시</h6>
<p>@d.time.ToString("MM/dd") 00:00 ~ <span style="color:#ff0000;">@d.time2.ToString("MM/dd") 23:59</span></p>
</a>
</div>
</li>
break;
case 2:
<li>
<div>
<a href="@croomLink" data-cshape=@d.cshape class="gocroom">
<h5><span>[출석]</span>@d.strval (@(d.intval3)반)</h5>
<h6>@(d.intval2)차시</h6>
<p>일시: @d.strval3</p>
</a>
</div>
</li>
break;
case 3:
if (d.studytime == 16)
{
<li>
<div>
<a href="@croomLink" data-cshape=@d.cshape class="gocroom">
<h5><span>[시험]</span>@d.strval (@(d.intval3)반)</h5>
<h6>@(d.intval4 == 0 ? "진행평가" : "최종평가")</h6>
<p>@d.time.ToString("MM/dd") 00:00 ~ <span style="color:#ff0000;">@d.time2.ToString("MM/dd") 23:59</span></p>
</a>
</div>
</li>
}
break;
case 4:
2025-04-04 16:24:31 +09:00
// 6709. 과제(intval 4)일 경우 링크가 달라야 한다
// 기존 쿼리에서는 sdno를 가져올 수 없어서 vm.CRoomLectSdInfo 를 추가함
// => 쿼리조건 기준은 사용자번호를 기준으로 현재 수강중인 강좌기간내의 과제들을 모두 가져와서 들고 있음
var lectsdInfo = new NP.Model.CRoomLectSdInfo();
if (Model.CRoomLectSdInfo != null)
{
lectsdInfo = Model.CRoomLectSdInfo
.Where(x => x.lectno == d.longval && x.cmno == d.intval7)
.FirstOrDefault();
2025-04-04 16:24:31 +09:00
}
if (lectsdInfo != null && lectsdInfo.lectno > 0)
{
croomLink = string.Format("/CRoom/EstimationSubject?croomlectno={0}&croomcmno={1}&estno={2}&tabidx=0", d.longval, d.intval7, lectsdInfo.sdno);
}
<li>
<div>
<a href="@croomLink" data-cshape=@d.cshape class="gocroom">
<h5><span>[과제]</span>@d.strval (@(d.intval3)반)</h5>
<h6>과제제출</h6>
<p>@d.time.ToString("MM/dd") 00:00 ~ <span style="color:#ff0000;">@d.time2.ToString("MM/dd") 23:59</span></p>
</a>
</div>
</li>
break;
case 5:
<li>
<div>
<a href="@croomLink" data-cshape=@d.cshape class="gocroom">
<h5><span>[토론]</span>@d.strval (@(d.intval3)반)</h5>
<h6>토론참여</h6>
<p>@d.time.ToString("MM/dd") 00:00 ~ <span style="color:#ff0000;">@d.time2.ToString("MM/dd") 23:59</span></p>
</a>
</div>
</li>
break;
}
@*
// 이 코드는 롤백을 대비하여 남겨둠 20250404일 이후 문제 없으면 제거한다.
<li>
<div>
<a href="@croomLink" data-cshape=@d.cshape class="gocroom">
@if (d.intval == 1)
{
<h5><span>[학습]</span>@d.strval (@(d.intval3)반)</h5>
<h6>@(d.intval2)차시</h6>
<p>@d.time.ToString("MM/dd") 00:00 ~ <span style="color:#ff0000;">@d.time2.ToString("MM/dd") 23:59</span></p>
}
else if (d.intval == 2)
{
<h5><span>[출석]</span>@d.strval (@(d.intval3)반)</h5>
<h6>@(d.intval2)차시</h6>
<p>일시: @d.strval3</p>
}
else if (d.intval == 3)
{
<h5><span>[시험]</span>@d.strval (@(d.intval3)반)</h5>
<h6>@(d.intval4 == 0 ? "진행평가" : "최종평가")</h6>
<p>@d.time.ToString("MM/dd") 00:00 ~ <span style="color:#ff0000;">@d.time2.ToString("MM/dd") 23:59</span></p>
}
else if (d.intval == 4)
{
<h5><span>[과제]</span>@d.strval (@(d.intval3)반)</h5>
<h6>과제제출</h6>
<p>@d.time.ToString("MM/dd") 00:00 ~ <span style="color:#ff0000;">@d.time2.ToString("MM/dd") 23:59</span></p>
}
else if (d.intval == 5)
{
<h5><span>[토론]</span>@d.strval (@(d.intval3)반)</h5>
<h6>토론참여</h6>
<p>@d.time.ToString("MM/dd") 00:00 ~ <span style="color:#ff0000;">@d.time2.ToString("MM/dd") 23:59</span></p>
}
</a>
</div>
</li>*@
}
2020-11-04 09:26:33 +09:00
}
</ul>
@if (Model.Datas.Where(w => w.dtype == 3).Count() < 1)
2020-10-12 14:39:23 +09:00
{
2020-11-04 09:26:33 +09:00
<div style="padding: 30px; text-align: center;">나의 할 일이 없습니다.</div>
2020-10-12 14:39:23 +09:00
}
2020-11-04 09:26:33 +09:00
</div>
<div class="mpgnCont">
<div class="mpgTitle"><h5>나의 알림</h5><span id="mpgb02"></span></div>
<ul class="mpgnList" id="mpgl02">
@foreach (var d in Model.Datas.Where(w => w.dtype == 4))
{
<li>
<div>
2022-08-03 16:50:01 +09:00
<a href="/CRoom/Index?croomlectno=@d.longval" data-cshape=@d.intval3 class="gocroom">
2020-11-04 09:26:33 +09:00
<h5>@d.strval (@(d.intval3)반)</h5>
<h6>@string.Format((d.intval < 3 ? "출석마감일이" : d.intval == 3 ? "진행평가마감일이" : d.intval == 4 ? "최종평가마감일이" : d.intval == 5 ? "과제마감일이" : d.intval == 6 ? "토론마감일이" : d.intval == 7 ? "강의평가마감일이" : d.intval == 8 ? "교육일이" : d.intval == 9 ? "시험일이" : "") + " {0}일 남았습니다.", d.intval2)</h6>
<p>(@d.time.ToString("MM/dd HH:mm"))</p>
</a>
<span class="mpgnClose" onclick="delalaram(@d.longval2, this)">닫기</span>
</div>
</li>
}
</ul>
@if (Model.Datas.Where(w => w.dtype == 4).Count() < 1)
2020-10-12 14:39:23 +09:00
{
2020-11-04 09:26:33 +09:00
<div style="padding: 30px; text-align: center;">나의 알림이 없습니다.</div>
2020-10-12 14:39:23 +09:00
}
2020-11-04 09:26:33 +09:00
</div>
2020-10-12 14:39:23 +09:00
</div>
</div>
@section scriptsHeader{
}
@section scripts{
<script>
$(document).ready(function () {
$('.mpgSlide').slick({
swipe: false,
autoplay: true,
autoplaySpeed: 4000,
speed: 600,
arrows: false,
dots: true,
fade: true,
responsive: [
{
breakpoint: 1000,
settings: {
swipe: true
}
}
]
});
});
var _a;
function delalaram(alno, a) {
_a = a;
capp("/fcommon/alarmdel", { alno: alno }, "cbdelalarm");
}
function cbdelalarm() {
if (capResult.code == 1000) {
$(_a).closest("li").fadeOut(500);
setTimeout(function () {
$(_a).closest("li").remove();
}, 500);
}
}
function gopaies1() {
msg("결제관리 메뉴로 이동합니다.", null, null, null, "location.href='" + '/My/Paies?intval=999' + "'");
}
2020-10-12 14:39:23 +09:00
</script>
}