2020-10-12 14:39:23 +09:00
|
|
|
@model NP.Model.VMCRoom
|
|
|
|
|
@{
|
2025-12-31 10:17:15 +09:00
|
|
|
/*
|
|
|
|
|
* -- Model.Datas의 Dtype
|
|
|
|
|
* -1 : lect만 쿼리하고 attrate만 intval5에 담아놓음
|
|
|
|
|
* 1 : 최종평가
|
|
|
|
|
* 2 : 과제
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
// 1. 하단 문구에서 사용
|
|
|
|
|
// 1-1)최종평가 일때 cm.studytime 값 intval6
|
|
|
|
|
//int dType1CmStudyTime = Model.Datas
|
|
|
|
|
//.Where(w => w.dtype == 1)
|
|
|
|
|
//.Select(s => s.intval6)
|
|
|
|
|
//.SingleOrDefault();
|
|
|
|
|
|
|
|
|
|
// 1-2)최종평가 일때 lect.sdate
|
|
|
|
|
//DateTime dType1LectSDate = Model.Datas
|
|
|
|
|
// .Where(w => w.dtype == 1)
|
|
|
|
|
// .Select(s => s.time2)
|
|
|
|
|
// .SingleOrDefault();
|
|
|
|
|
|
|
|
|
|
//2025-12-30 / KHJ / 추가개발건
|
|
|
|
|
//집체교육이 선택된 시험이 1개도 없을 경우->강좌에 등록된 모든 시험 출력
|
|
|
|
|
//집체교육이 선택된 시험이 1개 이상이나, 내가 선택한 일정에 맞는 시험이 없을 경우 -> 집체교육이 선택되지 않은 모든 시험 출력
|
|
|
|
|
//집체교육이 선택된 시험이 1개 이상이며, 내가 선택한 일정에 맞는 시험이 있을 경우 -> 내 일정에 맞는 시험 출력
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 현재 진도율
|
|
|
|
|
int currentProgresRate = Model.Datas.Where(w => w.dtype == -1).FirstOrDefault().intval5;
|
|
|
|
|
|
|
|
|
|
// 현재 과정 수료여부
|
|
|
|
|
int currentLectIsComplete = Model.Datas.Where(w => w.dtype == -1).FirstOrDefault().intval7;
|
|
|
|
|
|
|
|
|
|
// 시험응시가능여부
|
|
|
|
|
bool isExCheck = ViewBag.exCheck != null ? (bool)ViewBag.exCheck : false;
|
2025-01-24 15:41:39 +09:00
|
|
|
|
2020-10-12 14:39:23 +09:00
|
|
|
}
|
2021-11-03 15:19:08 +09:00
|
|
|
<ul class="lctpTab col3">
|
2025-04-04 14:59:40 +09:00
|
|
|
<li class="@(Model.tabidx == 0 ? "current" : "")"><a onclick="gotab(0, this)" style="@(Model.tabidx == 0 ? "cursor: default;" : "")" href="javascript:;">전체</a></li>
|
|
|
|
|
<li class="@(Model.tabidx == 1 ? "current" : "")"><a onclick="gotab(1, this)" style="@(Model.tabidx == 1 ? "cursor: default;" : "")" href="javascript:;">시험</a></li>
|
|
|
|
|
<li class="@(Model.tabidx == 2 ? "current" : "")"><a onclick="gotab(2, this)" style="@(Model.tabidx == 2 ? "cursor: default;" : "")" href="javascript:;">과제</a></li>
|
2020-10-12 14:39:23 +09:00
|
|
|
</ul>
|
|
|
|
|
<div class="evaList">
|
2025-12-31 10:17:15 +09:00
|
|
|
<input type="hidden" id="hdndType1StudyTime" value="0" />@*@dType1CmStudyTime*@
|
|
|
|
|
<input type="hidden" id="hdnlectSDate" value="0" /> @*@dType1LectSDate*@
|
2025-01-23 09:27:39 +09:00
|
|
|
<input type="hidden" id="hdnCurrentProgresRate" value="@currentProgresRate" />
|
2025-01-24 15:41:39 +09:00
|
|
|
<input type="hidden" id="hdnExCheck" value="@isExCheck.ToString()" />
|
2020-10-12 14:39:23 +09:00
|
|
|
<table>
|
|
|
|
|
<tbody>
|
2025-01-23 09:27:39 +09:00
|
|
|
@foreach (var d in Model.Datas.Where(w => w.dtype > -1))
|
2025-07-17 16:28:51 +09:00
|
|
|
{
|
2025-01-23 09:27:39 +09:00
|
|
|
<tr>
|
|
|
|
|
<th>
|
|
|
|
|
@*
|
|
|
|
|
// 당구장 설명
|
|
|
|
|
/*
|
2025-01-24 15:41:39 +09:00
|
|
|
① 16시간 교육O or 신청일이 2024-08-19 이전: 참여조건 표기
|
2025-01-23 09:27:39 +09:00
|
|
|
② 16시간 교육X or 신청일이 2024-08-19 이후: ※ 집체교육일에 교육장에서 평가진행
|
|
|
|
|
|
|
|
|
|
// 3월이후에 아래 내용으로 복원한다 (dtype = 1 안에 if 문 조정)
|
|
|
|
|
<p>※ 참여조건 : 진도율 90% 이상 / 집체교육 참석 완료 (집체교육일 : @d.time.ToShortDateString())</p>
|
|
|
|
|
*/
|
|
|
|
|
*@
|
|
|
|
|
<h5>
|
|
|
|
|
<b>@(d.dtype == 0 ? "진행평가" : d.dtype == 1 ? "최종평가" : d.dtype == 2 ? "과제" : d.dtype == 3 ? "토론" : "")</b><span> @d.strval</span>
|
|
|
|
|
</h5>
|
|
|
|
|
|
2025-07-17 16:28:51 +09:00
|
|
|
@{
|
|
|
|
|
|
2026-01-06 08:58:17 +09:00
|
|
|
//string trainingDateText = d.intval6 != 16 ? string.Format("/ 집체교육 참석일 ({0}) 전 까지", d.time.ToShortDateString()) : "";
|
|
|
|
|
string trainingDateText = "";
|
|
|
|
|
if (d.intval6 != 16 && d.intval6 != 14) {
|
|
|
|
|
trainingDateText = string.Format("/ 집체교육 참석일 ({0}) 전 까지", d.time.ToShortDateString());
|
|
|
|
|
} else {
|
|
|
|
|
trainingDateText = "";
|
|
|
|
|
}
|
2025-07-17 16:28:51 +09:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
2025-01-24 15:41:39 +09:00
|
|
|
@if (d.dtype == 1)
|
|
|
|
|
{ // 최종평가
|
2026-01-06 08:58:17 +09:00
|
|
|
if ((d.intval6 == 16 || d.intval6 == 14) || (d.time2 < Convert.ToDateTime("2024-08-19")))
|
2025-01-23 09:27:39 +09:00
|
|
|
{
|
2025-07-17 16:28:51 +09:00
|
|
|
<p>참여조건 : 진도율 @(d.intval2)% 이상 @trainingDateText</p>
|
2025-01-23 09:27:39 +09:00
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
<p>※ 집체교육일에 교육장에서 평가진행</p>
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else if (d.dtype > 1)
|
|
|
|
|
{ // 기타
|
2025-07-17 16:28:51 +09:00
|
|
|
<p>참여조건 : 진도율 @(d.intval2)% 이상 @trainingDateText</p>
|
2025-01-23 09:27:39 +09:00
|
|
|
}
|
|
|
|
|
</th>
|
|
|
|
|
|
|
|
|
|
@*
|
|
|
|
|
// 시험 응시 버튼
|
|
|
|
|
/*
|
|
|
|
|
시험응시가능조건(①, ② 필수 / ③or④)
|
|
|
|
|
① 관리자가 시험등록 시 설정한 진도율 조건 만족 < -현재 되어 있음
|
|
|
|
|
② lect.sdate ~lect.edate 기간 내일 경우(현재 없음.어딘가 기능은 있을텐데.....)
|
|
|
|
|
③ 집합교육이 출석 상태
|
|
|
|
|
④ 16시간 교육
|
|
|
|
|
|
|
|
|
|
// 3월이후에 아래 내용으로 복원한다 (dtype = 1 안에 if 문 조정)
|
|
|
|
|
<a href="javascript:;" onclick="msg('시험 응시 조건이 충족되지 않아 시험평가 진행이 불가합니다. <br>진도율 90% 이상, 집체교육 출석 완료')"
|
|
|
|
|
class="evaType@(d.intval4==1?"04":d.intval3==1?"03":d.intval3==0 && d.intval >=d.intval2?"02":"01")">@(d.intval4 == 1 ? "[평가완료]" : d.intval3 == 1 ? "[참여완료]" : d.intval3 == 0 && d.intval >=d.intval2 ? "[참여가능]" : "[참여불가]")</a>
|
|
|
|
|
*/
|
|
|
|
|
*@
|
2024-08-26 15:49:05 +09:00
|
|
|
|
2025-12-31 10:17:15 +09:00
|
|
|
@if (d.dtype == 1) {
|
|
|
|
|
// 최총 평가일 때(시험응시)
|
|
|
|
|
//if ((currentProgresRate >= d.intval2) // 조건 ①
|
|
|
|
|
// && IsDateInRange(d.testsdate, d.testedate) // 조건 ②
|
|
|
|
|
// && (ViewBag.exCheck || dType1CmStudyTime == 16)) // 조건 ③ 또는 조건 ④ <-- 요 부분을 다시 물어보자
|
2025-12-26 23:11:05 +09:00
|
|
|
|
2025-12-31 10:17:15 +09:00
|
|
|
// 2025-12-30 / KHJ / 추가개발건
|
|
|
|
|
// currentProgresRate(현재 진도율) >= intval2(제한시간) && 시험 응시 시작일 ~ 시험 응시 종료일
|
2026-01-02 14:05:48 +09:00
|
|
|
// testsdate(시험응시 시작일), testedate(시험응시 종료일), inval11(교육일정코드_cmisno), strval2(강의시작일), strval3(강의종료일)
|
|
|
|
|
if (d.intval11 > 0) { // 교육일정코드_cmisno 있을 시
|
|
|
|
|
if ((currentProgresRate >= d.intval2) && IsDateInRange(d.testsdate, d.testedate)) {
|
|
|
|
|
<td>
|
|
|
|
|
<input type="hidden" name="cmEcondition" value="@d.intval2" />
|
|
|
|
|
@*<input type="hidden" name="lectSDate" value="@d.time2" />
|
|
|
|
|
<input type="hidden" name="lectEDate" value="@d.time" />*@
|
|
|
|
|
@*<input type="hidden" name="isDateInRange" value="@IsDateInRange(d.time2, d.time).ToString()" />*@
|
|
|
|
|
<input type="hidden" name="lectSDate" value="@d.testsdate" />
|
|
|
|
|
<input type="hidden" name="lectEDate" value="@d.testedate" />
|
|
|
|
|
<input type="hidden" name="isDateInRange" value="@IsDateInRange(d.testsdate, d.testedate).ToString()" />
|
|
|
|
|
<a href="javascript:;" onclick="eva(@d.dtype, @d.intval10, @(d.intval4 == 1 ? 4 : d.intval3 == 1 ? 3 : d.intval3 == 0 && d.intval >= d.intval2 ? 2 : 1))"
|
|
|
|
|
class="@GetEvaTypeClass(d.intval, d.intval2, d.intval3, d.intval4, currentLectIsComplete)">@GetEvaStatusText(d.intval, d.intval2, d.intval3, d.intval4, currentLectIsComplete)
|
|
|
|
|
</a>
|
|
|
|
|
</td>
|
|
|
|
|
} else {
|
|
|
|
|
<td>
|
|
|
|
|
<input type="hidden" name="cmEcondition" value="@d.intval2" />
|
|
|
|
|
<input type="hidden" name="lectSDate" value="@d.time2" />
|
|
|
|
|
<input type="hidden" name="lectEDate" value="@d.time" />
|
|
|
|
|
<input type="hidden" name="isDateInRange" value="@IsDateInRange(d.time2, d.time).ToString()" />
|
|
|
|
|
@*onclick="msg('24년 8월 22일 부터 건설기술진흥법 변경으로 <br>집체교육 당일 교육장에서 시험평가가 진행됩니다.')"*@
|
|
|
|
|
<a href="javascript:;" class="evaType@(d.intval4 == 1 ? "04" : d.intval3 == 1 ? "03" : d.intval3 == 0 && d.intval >= d.intval2 ? "02" : "01")">
|
|
|
|
|
@(d.intval4 == 1 ? "[평가완료]" : d.intval3 == 1 ? "[참여완료]" : d.intval3 == 0 && d.intval >= d.intval2 ? "[참여가능]" : "[참여불가]")
|
|
|
|
|
</a>
|
|
|
|
|
</td>
|
|
|
|
|
}
|
2025-12-31 10:17:15 +09:00
|
|
|
} else {
|
2026-01-06 08:58:17 +09:00
|
|
|
if ((currentProgresRate >= d.intval2) && IsDateInRange(d.time3, d.time4) && (ViewBag.exCheck || (d.intval6 == 16 || d.intval6 == 14))) {
|
2026-01-02 14:05:48 +09:00
|
|
|
<td>
|
|
|
|
|
<input type="hidden" name="cmEcondition" value="@d.intval2" />
|
|
|
|
|
@*<input type="hidden" name="lectSDate" value="@d.time2" />
|
|
|
|
|
<input type="hidden" name="lectEDate" value="@d.time" />*@
|
|
|
|
|
@*<input type="hidden" name="isDateInRange" value="@IsDateInRange(d.time2, d.time).ToString()" />*@
|
|
|
|
|
<input type="hidden" name="lectSDate" value="@d.time3" />
|
|
|
|
|
<input type="hidden" name="lectEDate" value="@d.time4" />
|
|
|
|
|
<input type="hidden" name="isDateInRange" value="@IsDateInRange(d.time3, d.time4).ToString()" />
|
|
|
|
|
<a href="javascript:;" onclick="eva(@d.dtype, @d.intval10, @(d.intval4 == 1 ? 4 : d.intval3 == 1 ? 3 : d.intval3 == 0 && d.intval >= d.intval2 ? 2 : 1))"
|
|
|
|
|
class="@GetEvaTypeClass(d.intval, d.intval2, d.intval3, d.intval4, currentLectIsComplete)">@GetEvaStatusText(d.intval, d.intval2, d.intval3, d.intval4, currentLectIsComplete)
|
|
|
|
|
</a>
|
|
|
|
|
</td>
|
|
|
|
|
} else {
|
|
|
|
|
<td>
|
|
|
|
|
<input type="hidden" name="cmEcondition" value="@d.intval2" />
|
|
|
|
|
<input type="hidden" name="lectSDate" value="@d.time2" />
|
|
|
|
|
<input type="hidden" name="lectEDate" value="@d.time" />
|
|
|
|
|
<input type="hidden" name="isDateInRange" value="@IsDateInRange(d.time2, d.time).ToString()" />
|
|
|
|
|
@*onclick="msg('24년 8월 22일 부터 건설기술진흥법 변경으로 <br>집체교육 당일 교육장에서 시험평가가 진행됩니다.')"*@
|
|
|
|
|
<a href="javascript:;" class="evaType@(d.intval4 == 1 ? "04" : d.intval3 == 1 ? "03" : d.intval3 == 0 && d.intval >= d.intval2 ? "02" : "01")">
|
|
|
|
|
@(d.intval4 == 1 ? "[평가완료]" : d.intval3 == 1 ? "[참여완료]" : d.intval3 == 0 && d.intval >= d.intval2 ? "[참여가능]" : "[참여불가]")
|
|
|
|
|
</a>
|
|
|
|
|
</td>
|
|
|
|
|
}
|
2025-01-23 09:27:39 +09:00
|
|
|
}
|
2025-12-31 10:17:15 +09:00
|
|
|
} else {
|
2025-04-03 13:57:19 +09:00
|
|
|
// 과제 등...
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 조건 분리 @(d.intval4 == 1 ? 4 : d.intval3 == 1 ? 3 : d.intval3 == 0 && d.intval >= d.intval2 ? 2 : 1)
|
|
|
|
|
int evaStatus;
|
|
|
|
|
if (d.intval4 == 1)
|
|
|
|
|
{
|
|
|
|
|
evaStatus = 4;
|
|
|
|
|
}
|
|
|
|
|
else if (d.intval3 == 1)
|
|
|
|
|
{
|
|
|
|
|
evaStatus = 3;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
evaStatus = (d.intval3 == 0 && d.intval >= d.intval2) ? 2 : 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 조건 분리 evaType@(d.intval4 == 1 ? "04" : d.intval3 == 1 ? "03" : d.intval3 == 0 && d.intval >= d.intval2 ? "02" : "01")
|
|
|
|
|
string evaTypeCss;
|
|
|
|
|
if (d.intval4 == 1)
|
|
|
|
|
{
|
|
|
|
|
evaTypeCss = "evaType04";
|
|
|
|
|
}
|
|
|
|
|
else if (d.intval3 == 1)
|
|
|
|
|
{
|
|
|
|
|
evaTypeCss = "evaType03";
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
evaTypeCss = (d.intval3 == 0 && d.intval >= d.intval2) ? "evaType02" : "evaType01";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 조건 분리 @(d.intval4 == 1 ? "[평가완료]" : d.intval3 == 1 ? "[참여완료]" : d.intval3 == 0 && d.intval >= d.intval2 ? "[참여가능]" : "[참여불가]")
|
|
|
|
|
string statusText;
|
|
|
|
|
if (d.intval4 == 1)
|
|
|
|
|
{
|
|
|
|
|
statusText = "[평가완료]";
|
|
|
|
|
}
|
|
|
|
|
else if (d.intval3 == 1)
|
|
|
|
|
{
|
|
|
|
|
statusText = "[참여완료]";
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
statusText = (d.intval3 == 0 && d.intval >= d.intval2) ? "[참여가능]" : "[참여불가]";
|
|
|
|
|
}
|
|
|
|
|
|
2025-01-23 09:27:39 +09:00
|
|
|
<td>
|
2025-04-03 13:57:19 +09:00
|
|
|
<a href="javascript:;" onclick="eva(@d.dtype, @d.intval10, @evaStatus)" class="@evaTypeCss">
|
|
|
|
|
<text>@statusText</text>
|
|
|
|
|
</a>
|
2025-01-23 09:27:39 +09:00
|
|
|
</td>
|
2024-09-04 13:10:55 +09:00
|
|
|
}
|
2025-01-23 09:27:39 +09:00
|
|
|
</tr>
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@*
|
2025-01-24 15:41:39 +09:00
|
|
|
// 하단 문구
|
2025-01-23 09:27:39 +09:00
|
|
|
*@
|
2021-11-10 08:51:13 +09:00
|
|
|
@if (Model.Datas.Where(w => w.dtype > -1).Count() < 1)
|
2020-10-12 14:39:23 +09:00
|
|
|
{
|
2025-01-20 13:38:03 +09:00
|
|
|
<tr>
|
|
|
|
|
<th colspan="2" style="text-align: center; font-weight: normal; height: 100px;">
|
2025-01-23 09:27:39 +09:00
|
|
|
<p>- 평가할 항목이 없습니다.</p>
|
2025-01-20 13:38:03 +09:00
|
|
|
</th>
|
|
|
|
|
</tr>
|
2020-10-12 14:39:23 +09:00
|
|
|
}
|
|
|
|
|
else
|
2025-01-24 15:41:39 +09:00
|
|
|
{
|
2025-01-20 13:38:03 +09:00
|
|
|
<tr>
|
|
|
|
|
<th colspan="2" style="text-align: center; font-weight: normal; height: 100px;">
|
|
|
|
|
@if (Model.tabidx == 0 || Model.tabidx == 1)
|
2025-01-23 09:27:39 +09:00
|
|
|
{ // 전체, 시험 탭
|
2025-12-31 10:17:15 +09:00
|
|
|
@*if (dType1CmStudyTime == 16 || dType1LectSDate < Convert.ToDateTime("2024-08-19"))
|
2025-01-24 15:41:39 +09:00
|
|
|
{
|
|
|
|
|
// 기준이 애매해서 if와 else를 바꿈 (임시사용)
|
|
|
|
|
}
|
|
|
|
|
else
|
2025-01-23 09:27:39 +09:00
|
|
|
{
|
|
|
|
|
<p><b>※ 24년 8월 22일 부터 건설기술진흥법 변경으로 집체교육 당일 교육장에서 시험평가가 진행됩니다.</b></p>
|
2025-12-31 10:17:15 +09:00
|
|
|
}*@
|
2025-01-20 13:38:03 +09:00
|
|
|
}
|
2025-01-23 09:27:39 +09:00
|
|
|
<p>현재 진도율: @currentProgresRate <text>%</text></p>
|
2025-01-20 13:38:03 +09:00
|
|
|
</th>
|
|
|
|
|
</tr>
|
2020-10-12 14:39:23 +09:00
|
|
|
}
|
|
|
|
|
</tbody>
|
|
|
|
|
</table>
|
2025-01-23 09:27:39 +09:00
|
|
|
|
2020-10-12 14:39:23 +09:00
|
|
|
</div>
|
2025-01-23 09:27:39 +09:00
|
|
|
|
2020-10-12 14:39:23 +09:00
|
|
|
<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>
|
2025-01-23 09:27:39 +09:00
|
|
|
|
2025-01-24 15:41:39 +09:00
|
|
|
@section scriptsHeader{ }
|
2025-01-23 09:27:39 +09:00
|
|
|
|
2020-10-12 14:39:23 +09:00
|
|
|
@section scripts{
|
|
|
|
|
<script>
|
2025-01-23 09:27:39 +09:00
|
|
|
|
2020-10-12 14:39:23 +09:00
|
|
|
$(document).ready(function () {
|
|
|
|
|
|
|
|
|
|
});
|
2025-01-23 09:27:39 +09:00
|
|
|
|
2025-04-04 14:59:40 +09:00
|
|
|
@*
|
2025-01-23 09:27:39 +09:00
|
|
|
/**
|
|
|
|
|
* 탭 변경
|
2025-04-04 14:59:40 +09:00
|
|
|
* @param idx {int} - 탭번호 (0:전체, 1:평가, 2:과제)
|
|
|
|
|
* @param a {event} - e
|
|
|
|
|
*/ *@
|
2020-10-12 14:39:23 +09:00
|
|
|
function gotab(idx, a) {
|
2025-04-03 13:57:19 +09:00
|
|
|
if (!$(a).parent().hasClass("current")) {
|
2020-10-12 14:39:23 +09:00
|
|
|
setv("tabidx", idx);
|
|
|
|
|
submit();
|
|
|
|
|
}
|
|
|
|
|
}
|
2025-01-23 09:27:39 +09:00
|
|
|
|
2025-04-03 13:57:19 +09:00
|
|
|
@*
|
|
|
|
|
/**
|
|
|
|
|
* 평가, 과제 참여
|
|
|
|
|
* @param type {number} - 유형 (과제,시험)
|
|
|
|
|
* @param no
|
|
|
|
|
* @param status {number} - 상태
|
|
|
|
|
*/ *@
|
|
|
|
|
function eva(type, no, status) {
|
2020-10-12 14:39:23 +09:00
|
|
|
if (status == 1) {
|
2021-01-27 17:23:51 +09:00
|
|
|
msg("진도율 조건에 맞지않거나 수강일이 종료되어 참여하실 수 없습니다.");
|
2025-01-23 09:27:39 +09:00
|
|
|
}
|
|
|
|
|
else {
|
2025-04-03 13:57:19 +09:00
|
|
|
let typeString;
|
|
|
|
|
|
|
|
|
|
if (type < 2) {
|
|
|
|
|
typeString = "Exam";
|
|
|
|
|
}
|
|
|
|
|
else if (type == 2) {
|
|
|
|
|
typeString = "Subject";
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
typeString = "Discuss";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
let submitUrl = `/CRoom/Estimation${typeString}`;
|
|
|
|
|
|
2020-10-12 14:39:23 +09:00
|
|
|
setv("estno", no);
|
2025-04-03 13:57:19 +09:00
|
|
|
$("#mform").attr("action", submitUrl).submit();
|
2020-10-12 14:39:23 +09:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
</script>
|
2025-01-23 09:27:39 +09:00
|
|
|
}
|
|
|
|
|
@functions {
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 시작일~종료일이 범위내에 속해있는지 확인
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="startDate">시작일</param>
|
|
|
|
|
/// <param name="endDate">종료일</param>
|
|
|
|
|
/// <returns>true/false</returns>
|
|
|
|
|
public bool IsDateInRange(DateTime startDate, DateTime endDate)
|
2025-04-04 14:59:40 +09:00
|
|
|
{
|
2025-01-23 09:27:39 +09:00
|
|
|
// 현재일자가 시작일 이상 && 종료일 이하인지 확인
|
2025-01-24 15:41:39 +09:00
|
|
|
return startDate <= DateTime.Now && DateTime.Now <= endDate;
|
2025-01-23 09:27:39 +09:00
|
|
|
}
|
|
|
|
|
|
2025-04-04 14:59:40 +09:00
|
|
|
/// <summary>
|
|
|
|
|
/// 평가 상태에 따른 css class를 반환
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="intval">수강기간 내 출석률(없으면 -1)</param>
|
|
|
|
|
/// <param name="intval2">참여조건(출석률)</param>
|
|
|
|
|
/// <param name="intval3">평가종료여부(0:종료일자없음, 1:종료)</param>
|
|
|
|
|
/// <param name="intval4">시험일때는 null 과제일때는 (0:제출하지않음, 1:제출)</param>
|
|
|
|
|
/// <param name="currentLectIsComplete">현재 과정 수료여부 (0: 미수료, 1:수료)</param>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
public string GetEvaTypeClass(int intval, int intval2, int intval3, int intval4, int currentLectIsComplete)
|
|
|
|
|
{
|
|
|
|
|
// todo currentLectIsComplete 는 평가완료인가 참여불가인가 확인
|
|
|
|
|
|
|
|
|
|
if (intval4 == 1)
|
|
|
|
|
// 과제 제출 여부가 1(제출 완료)이면 "evaType04" 반환
|
|
|
|
|
return "evaType04";
|
|
|
|
|
else if (intval3 == 1)
|
|
|
|
|
// 평가 종료 여부가 1(종료)인 경우 "evaType03" 반환
|
|
|
|
|
return "evaType03";
|
|
|
|
|
else if (intval3 == 0 && intval >= intval2)
|
|
|
|
|
// 평가가 종료되지 않았고(종료 여부가 0), 출석률이 참여 조건을 만족하거나 초과하면 "evaType02" 반환
|
|
|
|
|
return "evaType02";
|
|
|
|
|
else
|
|
|
|
|
// 위 조건에 해당하지 않는 모든 경우에 "evaType01" 반환
|
|
|
|
|
return "evaType01";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 평가 상태에 따른 문구를 반환
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="intval"></param>
|
|
|
|
|
/// <param name="intval2"></param>
|
|
|
|
|
/// <param name="intval3"></param>
|
|
|
|
|
/// <param name="intval4"></param>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
public string GetEvaStatusText(int intval, int intval2, int intval3, int intval4, int currentLectIsComplete)
|
|
|
|
|
{
|
|
|
|
|
if (intval4 == 1)
|
|
|
|
|
return "[평가완료]";
|
|
|
|
|
else if (intval3 == 1)
|
|
|
|
|
return "[참여완료]";
|
|
|
|
|
else if (intval3 == 0 && intval >= intval2)
|
|
|
|
|
return "[참여가능]";
|
|
|
|
|
else
|
|
|
|
|
return "[참여불가]";
|
|
|
|
|
}
|
|
|
|
|
|
2020-10-12 14:39:23 +09:00
|
|
|
}
|