YNICTE/FO/Views/Course/SmartSearch.cshtml

916 lines
43 KiB
Plaintext
Raw Normal View History

2020-10-29 15:09:30 +09:00
@model NP.Model.VMCourse
@{
var host = Request.Url.Host;
// 개발과 로컬일 때 스마트검색 결과의 검색영역 보임 처리
bool isDevSite = (host == "www.ynicte.com" || host == "ynicte.nptc.kr");
string firstSchBoxDisplayStyle = isDevSite ? "" : "display:none;";
}
<div class="container">
<div class="schBox" style="@firstSchBoxDisplayStyle">
<form id="smartSearchForm" method="post">
<input type="hidden" name="cmno" id="cmno" />
2022-08-02 13:25:57 +09:00
<input type="hidden" id="cmino" name="CM.cmino" />
<input type="hidden" id="cmisno" name="CM.cmisno" />
<input type="hidden" name="stringval" id="stringval" value="@Model.stringval" />
@if (Model.stringval == "0" || Model.stringval == null || Model.stringval == "")
{
if (isDevSite)
{
<h3>개발서버 테스트용</h3>
}
<ul class="schTab">
<li id="liTab1" class="current" style="font-size:16pt;"><a href="javascript:void(0);">건설기술진흥법교육</a></li>
<li id="liTab2" style="font-size:16pt;display:none;"><a href="javascript:void(0);">기타교육</a></li>
</ul>
<ul class="schCont">
<li>
<select name="stringval2" id="stringval2">
<option value="1" @(Model.stringval2 == "1" ? "selected" : "")>교육장교육</option>
<option value="2" @(Model.stringval2 == "2" ? "selected" : "")>온라인교육</option>
</select>
</li>
<li>
@*typeman는 데이터가 model.comcodes2임, 수정시 주의할것*@
@Html.DropDownListFor(x => x.stringval3, new SelectList(Model.ComCodes2, "ccode", "cname"), "-선택-")
</li>
<li>
@*typeedu는 데이터가 model.comcodes3임, 수정시 주의할것*@
@Html.DropDownListFor(x => x.stringval4, new SelectList(Model.ComCodes3, "ccode", "cname"), "-선택-")
</li>
<li>
@*typegrade는 데이터가 model.comcodes4임, 수정시 주의할것*@
@Html.DropDownListFor(x => x.stringval5, new SelectList(Model.ComCodes4, "ccode", "cname"), "-선택-")
</li>
<li>
@Html.DropDownListFor(x => x.stringval6, new SelectList(Model.ComCodes5, "ccode", "cname"), "-선택-")
</li>
<li>
@Html.DropDownListFor(x => x.stringval7, new SelectList(Model.ComCodes6, "ccode", "cname"), "-선택-")
</li>
<li><a href="javascript:void(0);" id="btnSearch">검색</a></li>
</ul>
}
else if (Model.stringval == "1")
{
<ul class="schTab">
<li id="liTab1"><a href="javascript:void(0);" style="font-size:16pt;">건설기술진흥법교육</a></li>
<li id="liTab2" class="current" style="font-size:16pt;"><a href="javascript:void(0);">기타교육</a></li>
</ul>
<ul class="schCont">
<li>
<select name="stringval2" id="stringval2">
<option value="1" @(Model.stringval2 == "1" ? "selected" : "")>교육장교육</option>
<option value="2" @(Model.stringval2 == "2" ? "selected" : "")>온라인교육</option>
</select>
</li>
<li>
@Html.DropDownListFor(x => x.stringval3, new SelectList(Model.CMsEtc, "cgno", "cgname"), "-선택-")
</li>
<li><a href="javascript:void(0);" id="btnSearch">검색</a></li>
</ul>
}
</form>
</div>
<br />
@if (Model.stringval2 == "2" && Model.stringval4 == "32")
{
<p class='' style="font-weight: bold; font-size: 14pt;">※ 현재 신청중인 교육은 <span style='color: red; font-weight: bold'>집체교육 참석없이</span> 교육종료일까지 수료조건을 만족하시면 됩니다.</p>
}
else if (Model.stringval2 == "2")
{
<p class='' style="font-weight: bold; font-size: 14pt;">※ 현재 신청중인 교육은 <span style='color: red; font-weight: bold'>온라인교육(동영상강의28시간 + 집체참석7시간)</span> 교육입니다.</p>
}
else
{
<p class='' style="font-weight: bold; font-size: 14pt;">※ 현재 신청중인 교육은 <span style='color: red; font-weight: bold'>교육장에 직접 오셔서</span> 진행하는 교육입니다.</p>
}
<input type="hidden" id="hidCmno" />
<ul class="smtList" style="margin-bottom:150px">
@foreach (var item in Model.CMs)
{
<li>
<div class="smtlCont">
2022-08-02 13:25:57 +09:00
<h5>
@if (!string.IsNullOrEmpty(item.cgcode))
{ // cg코드를 <span style='color:green; font-weight:bold;'>[전문분야교육]</span> 형태로 변경해주는 Helper 메서드 사용
@Html.Raw(this.GetCgLabel(item.cgcode))
}
2022-08-03 16:50:01 +09:00
@{
string strTitle = string.Format("{0} | {1}시간과정 |<span class='red' style='vertical-align: initial;'> {2}과정 </span>", item.cname, item.studytime, (item.isrefund == 1 ? "환급" : "비환급"), item.infee.ToString("#,0"));
2022-08-03 16:50:01 +09:00
}
<span style="font-size:22px">@Html.Raw(strTitle)</span>
2022-08-02 13:25:57 +09:00
</h5>
<ul class="smtlBtn">
<li>
<a onclick="javascript: openIntro(@item.cmno);" class="smtlChkBtn smtlChk01" style="right:130px;">강좌소개</a>
</li>
<li>
<a href="javascript:void(0);" class="smtlBtn02 smtlChkBtn" id=@("btnSelect" + item.cmno) onclick="javascript: getCmInning(@item.cshape, @item.cmno)">교육신청</a>
<input type="hidden" id="typeedu" name="typeedu" value="@item.typeedu">
</li>
2021-08-23 15:10:15 +09:00
</ul>
</div>
2022-08-02 13:25:57 +09:00
@*20220728온라인/오프라인 안내*@
<div id="divInfo_@item.cmno" class="smtlChk">
2022-08-02 13:25:57 +09:00
</div>
@*20220728교육 영역*@
<ul class="smtlTab" id="divPlace_@item.cmno" style="display:none">
</ul>
@*20220728교육일정 영역*@
<div id=@("divScd"+ @item.cmno) class="smtlChk">
2022-08-02 13:25:57 +09:00
</div>
<input type="hidden" id="pcmno_@(item.cmno)_cgcode" value="@(item.cgcode)" />
<ul class="smtlChk" id="ulSubCm_@item.cmno"></ul>
</li>
}
@if (Model.CMs.Count == 0)
2021-11-03 15:19:08 +09:00
{
<li style="border:0px;">
<div style="margin: 0 auto;display: table;text-align: center;">
<p style="font-size: 25px;line-height: 50px;">현재 개설된 과정이 없습니다.</p><p class="subDsc">자세한 사항은 1544-7660으로 문의 하세요.</p>
</div>
</li>
2021-11-03 15:19:08 +09:00
}
</ul>
2020-10-29 15:09:30 +09:00
<ul class="clsBtn society">
<li style="display:none;"><a href="/">뒤로가기</a></li>
<li><a href="/">뒤로가기</a></li>
</ul>
2020-10-29 15:09:30 +09:00
</div>
2020-10-30 17:30:09 +09:00
2021-08-23 15:10:15 +09:00
<div class="clsPop" id="divIntro" style="display:none;">
2020-11-02 16:59:33 +09:00
<div>
<div>
<div class="clsPopWrap">
<div class="clsPopTitle">
2020-11-04 17:04:10 +09:00
<h5>강좌소개</h5>
<a href="javascript:void(0);" onclick="javascript: closeIntro();"></a>
2020-11-02 16:59:33 +09:00
</div>
<div class="clsPopCont">
<ul class="smtList pop">
<li>
<div class="smtlCont">
2020-11-04 17:04:10 +09:00
<h5><span id="spnCmTitle"></span></h5>
2020-11-02 16:59:33 +09:00
<div class="gry">
2020-11-04 17:04:10 +09:00
<p>교육분류 : <span id="spnCmKind"></span></p>
<p>인정시간 : <span class="sky"><span id="spnCmStudyHour"></span></span>시간</p>
<p style="display:none;" id="completeStd">수료기준 : 진도 <span id="spnCmAttend"></span>% 이상, 시험 <span id="spnCmFinal"></span>점 이상, 과제 <span id="spnCmSubject"></span>점 이상<span id="spnisoffabs"></span></p>
2020-11-02 16:59:33 +09:00
</div>
</div>
</li>
</ul>
<dl class="fairIntro spnCmEduname" style="">
<dt>교육종류</dt>
<dd><span id="spnCmEduname"></span></dd>
</dl>
<dl class="fairIntro spnCmUsername" style="display:none;">
2020-11-02 16:59:33 +09:00
<dt>강사정보</dt>
2020-11-04 17:04:10 +09:00
<dd><span id="spnCmUsername"></span></dd>
2020-11-02 16:59:33 +09:00
</dl>
<dl class="fairIntro spnCmIntroHtml" style="display:none;">
2020-11-02 16:59:33 +09:00
<dt>강좌소개</dt>
2021-08-23 15:10:15 +09:00
<div id="spnCmIntroHtml"></div>
2020-11-02 16:59:33 +09:00
</dl>
<dl class="fairIntro spnCmTargetHtml" style="display:none;">
<dt>학습대상</dt>
<div id="spnCmTargetHtml"></div>
</dl>
<dl class="fairIntro spnCmGoalHtml" style="display:none;">
<dt>학습목표</dt>
<div id="spnCmGoalHtml"></div>
</dl>
<dl class="fairIntro spnCmContentHtml" style="display:none;">
<dt>학습내용</dt>
<div id="spnCmContentHtml"></div>
</dl>
2020-11-02 16:59:33 +09:00
</div><!-- clsPopCont -->
</div><!-- clsPopWrap -->
</div>
</div>
</div>
<style>
.clsPopWrap {
max-width: 655px;
}
</style>
2020-11-02 16:59:33 +09:00
2020-10-30 17:30:09 +09:00
<script type="text/javascript">
2020-11-04 17:04:10 +09:00
var _cmno;
2020-10-30 17:30:09 +09:00
$(document).ready(function () {
// 페이지 접근시 보이는 문구
var isDevSite = @isDevSite.ToString().ToLower();
msg('<b style="color:red; font-size:28px;"> ※ 안 내 ※</b><br/><br/><b style="color:blue; font-size:24px;">현재 페이지의 모든 교육과정들이 이수하고자 하는 교육목적으로 인정가능 합니다.</b>');
$("#pageTitle h3").text("교육과정선택");
2020-10-30 17:30:09 +09:00
$('#liTab1').click(function () {
2020-11-09 10:57:03 +09:00
$.when(
$("#stringval").val("0"),
$("#stringval3").val(""),
$("#stringval4").val(""),
$("#stringval5").val(""),
$("#stringval6").val("")
2020-11-09 10:57:03 +09:00
).done(function () {
2020-11-04 17:04:10 +09:00
$("#smartSearchForm").submit();
2022-08-02 13:25:57 +09:00
});
});
2020-10-30 17:30:09 +09:00
$('#liTab2').click(function () {
2020-11-09 10:57:03 +09:00
$.when(
$("#stringval").val("1"),
$("#stringval3").val(""),
$("#stringval4").val(""),
$("#stringval5").val(""),
$("#stringval6").val("")
2020-11-09 10:57:03 +09:00
).done(function () {
2020-11-04 17:04:10 +09:00
$("#smartSearchForm").submit();
2020-11-09 10:57:03 +09:00
});
});
2020-10-30 17:30:09 +09:00
$('#btnSearch').click(function () {
if ($("#liTab1").hasClass("current")) {
2020-10-30 17:30:09 +09:00
$("#stringval").val("0");
}
2020-10-30 17:30:09 +09:00
else if ($("#liTab2").hasClass("current")) {
$("#stringval").val("1");
}
setTimeout(function () {
2020-11-04 17:04:10 +09:00
$("#smartSearchForm").submit();
}, 1000);
});
$("#stringval").change(function () {
2020-11-04 17:04:10 +09:00
$("#smartSearchForm").submit();
});
2020-11-04 17:04:10 +09:00
$("#stringval2").change(function () {
$("#stringval3").val("");
$("#stringval4").val("");
$("#stringval5").val("");
$("#stringval6").val("");
2020-11-04 17:04:10 +09:00
$("#smartSearchForm").submit();
});
2020-11-04 17:04:10 +09:00
$("#stringval3").change(function () {
$("#stringval4").val("");
$("#stringval5").val("");
$("#stringval6").val("");
2020-11-04 17:04:10 +09:00
$("#smartSearchForm").submit();
});
2020-11-04 17:04:10 +09:00
$("#stringval4").change(function () {
$("#stringval5").val("");
$("#stringval6").val("");
2020-10-30 17:30:09 +09:00
$("#smartSearchForm").submit();
});
2020-11-04 17:04:10 +09:00
$("#stringval5").change(function () {
$("#stringval6").val("");
2020-11-04 17:04:10 +09:00
$("#smartSearchForm").submit();
});
2020-11-04 17:04:10 +09:00
$("#stringval6").change(function () {
$("#smartSearchForm").submit();
});
});
2020-11-02 16:59:33 +09:00
function openIntro(cmno) {
$(".spnCmEduname").hide();
$(".spnCmUsername").hide();
$(".spnCmIntroHtml").hide();
$(".spnCmTargetHtml").hide();
$(".spnCmGoalHtml").hide();
$(".spnCmContentHtml").hide();
2020-11-02 16:59:33 +09:00
$("#divIntro").show();
2020-11-04 17:04:10 +09:00
capp("/focommon/getcmuser", { cmno: cmno }, "renderCmNo");
}
2022-08-02 13:25:57 +09:00
2020-11-04 17:04:10 +09:00
function renderCmNo() {
var typeman = $("#stringval3").find("option:selected").text();
var typeedu = $("#stringval4").find("option:selected").text();
var typegrade = $("#stringval5").find("option:selected").text();
var typejob = $("#stringval6").find("option:selected").text();
var cmkind;
2020-11-04 17:04:10 +09:00
cmkind = typeman + " | " + typeedu + " | " + typegrade + " | " + typejob;
2020-11-04 17:04:10 +09:00
if ($("#stringval").val() == "1") {
cmkind = $("#stringval3").find("option:selected").text();
}
2020-11-04 17:04:10 +09:00
$.each(capResult.obj, function (i, d) {
2022-08-02 13:25:57 +09:00
//20220729 온라인인경우 수료기준을 보여준다.
if (@(Model.stringval2 == null ? 0 : Convert.ToInt32(Model.stringval2)) == 1) {
2022-08-02 13:25:57 +09:00
$("#completeStd").hide();
}
else if (@(Model.stringval2 == null ? 0 : Convert.ToInt32(Model.stringval2)) == 2) {
2022-08-02 13:25:57 +09:00
$("#completeStd").show();
}
2020-11-04 17:04:10 +09:00
$("#spnCmTitle").text(d.text);
$("#spnCmKind").text(cmkind);
$("#spnCmStudyHour").text(d.studytime);
$("#spnCmAttend").text(d.attendcut);
$("#spnCmFinal").text(d.finalcut);
2021-08-23 15:10:15 +09:00
$("#spnCmSubject").text(d.subjectcut);
if (d.username != null && d.username != "" && d.username != undefined) {
$("#spnCmUsername").text(d.username);
$(".spnCmUsername").show();
}
if (d.cgcode != "101") {
if (d.cgcode == "102") {
$("#spnCmEduname").html("직무분야교육");
CmEdunameChk = 1;
}
else if (d.cgcode == "103" || d.cgcode == "104") {
$("#spnCmEduname").html("역량강화교육");
CmEdunameChk = 1;
}
else if (d.cgcode == "105") {
$("#spnCmEduname").html("전문분야교육");
CmEdunameChk = 1;
}
else if (d.cgcode == "107") {
$("#spnCmEduname").html("특성화교육");
CmEdunameChk = 1;
}
else {
CmEdunameChk = 0;
}
if (CmEdunameChk == 1) {
$(".spnCmEduname").show();
}
}
else {
$(".spnCmEduname").hide();
}
2020-12-10 15:19:50 +09:00
if (d.introhtml != null && d.introhtml != "" && d.introhtml != undefined) {
2021-08-23 15:10:15 +09:00
$("#spnCmIntroHtml").html(d.introhtml);
$(".spnCmIntroHtml").show();
}
if (d.targethtml != null && d.targethtml != "" && d.targethtml != undefined) {
$("#spnCmTargetHtml").html(d.targethtml);
$(".spnCmTargetHtml").show();
}
if (d.goalhtml != null && d.goalhtml != "" && d.goalhtml != undefined) {
$("#spnCmGoalHtml").html(d.goalhtml);
$(".spnCmGoalHtml").show();
}
if (d.contenthtml != null && d.contenthtml != "" && d.contenthtml != undefined) {
$("#spnCmContentHtml").html(d.contenthtml);
$(".spnCmContentHtml").show();
2020-12-10 15:19:50 +09:00
}
if (d.isoffabs == 1 && d.cshape == 2) {
$("#spnisoffabs").text(", 집체교육 7시간 참석")
}
else {
$("#spnisoffabs").text("")
}
2020-11-04 17:04:10 +09:00
});
2020-11-02 16:59:33 +09:00
}
2022-08-02 13:25:57 +09:00
2020-11-02 16:59:33 +09:00
function closeIntro() {
$("#divIntro").hide();
}
2020-11-04 17:04:10 +09:00
2022-08-02 13:25:57 +09:00
function setStudyplace(v, cmno) {
$("#divPlace_" + cmno + " > li").removeClass("current");
2020-11-04 17:04:10 +09:00
$(v).addClass("current");
}
2022-08-02 13:25:57 +09:00
//20220726 교육장, 교육일정 조회
function getCmInning(cshape, cmno) {
2022-08-02 13:25:57 +09:00
var btnSelect = $("#btnSelect" + cmno)
var divInfo = $("#divInfo_" + cmno);
var divPlace = $("#divPlace_" + cmno);
var divScd = $("#divScd" + cmno);
if (btnSelect.html() == '교육신청') {
btnSelect.html('닫기');
capp(
"/focommon/GetScdForMixEdu",
{ cmno: cmno },
"renderScdInning(1," + cshape + "," + cmno + ")"
);
2022-08-02 13:25:57 +09:00
}
else {
divInfo.empty();
divPlace.empty();
divPlace.hide();
divScd.empty();
btnSelect.html('교육신청');
2022-08-02 13:25:57 +09:00
}
}
//20220729 교육장 또는 교육장별 교육일정 정보 생성
// job (1=교육장정보+교육일정 활성화, 0=교육일정만 활성화)
function renderScdInning(job, cshape, cmno) {
2022-08-02 13:25:57 +09:00
let strTmp = "";
let strStudyPlaceTag = "";
var divPlace = $("#divPlace_" + cmno);
var divInfo = $("#divInfo_" + cmno);
var divScd = $("#divScd" + cmno);
let typeedu = $("#typeedu").val();
2022-08-02 13:25:57 +09:00
if (job == 1) {
2022-08-02 13:25:57 +09:00
divInfo.empty();
divPlace.empty();
if (cshape == 1) //오프라인
{
strTmp = "<p style='margin-bottom: 30px; color:red;font-weight: bold; font-size: 14pt;'>" +
"※ 선택한 일정에 신청인원이 적은 경우 교육시행 여부가 변경 될 수 있습니다.</p>";
2022-08-02 13:25:57 +09:00
}
else if (cshape == 2 && typeedu == "32") //온라인 & 안전관리계속교육
{
2023-01-19 12:40:18 +09:00
strTmp = "※ <span style='font-weight: bold; font-size: 12pt;'>교육비 입금과 동시에 동영상강의 시청이 가능합니다.</span><br>" +
"</div><br><span class='clsTitle'>교육종료일을 선택하여 주세요.</span>";
}
2022-08-02 13:25:57 +09:00
else if (cshape == 2) //온라인
{
var today = new Date();
var year = today.getFullYear();
var month = ('0' + (today.getMonth() + 1)).slice(-2);
var day = ('0' + today.getDate()).slice(-2);
2024-08-07 12:54:55 +09:00
var dateNumber = parseFloat(year + month + day);
if (dateNumber > @(System.Web.Configuration.WebConfigurationManager.AppSettings["2024ExDate2"])) {
2024-08-07 12:54:55 +09:00
strTmp = "<div style='margin-bottom: 30px;font-weight: bold; font-size: 14pt;border:solid 1px red;width:810px;padding:10px 10px;line-height:27px;'><span style='color:red'>※ 집체교육 참석조건을 만족하신 후 교육종료일(집체교육 참석일)" +
"에 집체교육 7시간을 참석하시면 됩니다.</span > <br>" +
"<span style=' font-size: 12pt;margin-left:10px;'>- 집체교육 참석 조건 : 동영상강의 진도율 90%이상 / 과제제출<span><br>" +
"<span style=' font-size: 12pt;margin-left:10px;'>- 시험평가는 집체교육 당일 교육장에서 진행됩니다.<span><br>" +
"<span style=' font-size: 12pt;margin-left:10px;'>- 관련 규정 변경으로 집체교육 참석 조건이 되지 않은 경우 </span>" +
"<span style=' font-size: 12pt;color:red'>집체교육 참석이 불가합니다.<span><br>" +
"<span style=' font-size: 12pt;color:blue'>※ 관련 규정에 의해 하루 최대 학습가능 시간은 10시간(10차시)이므로 집체일정 선택 시 참고하시기 바랍니다.</span>" +
"</div><br><span class='clsTitle'>교육종료일(집체교육 참석일)을 선택하여 주세요.</span>";
}
else {
strTmp = "<div style='margin-bottom: 30px;font-weight: bold; font-size: 14pt;border:solid 1px red;width:780px;padding:10px 10px;line-height:27px;'><span style='color:red'>※ 수료조건을 모두 만족하신 후 " +
"교육종료일(집체교육 참석일)에 집체교육 7시간을 참석 하시면 됩니다.</span > <br>" +
"※ <span style=' font-size: 12pt;'>수료조건 : 동영상강의 진도율 90% 이상 / 시험평가 60점 이상 / 과제 제출</span><br>" +
"※ <span style=' font-size: 12pt;'>교육비 입금과 동시에 동영상강의 시청이 가능합니다.</span>" +
"</div><br><span class='clsTitle'>교육종료일(집체교육 참석일)을 선택하여 주세요.</span>";
}
2022-08-02 13:25:57 +09:00
}
divInfo.append(strTmp);
//교육장 만들기
if (capResult.obj.length > 0) {
var studyPlaceTmp = new Array();
$.each(capResult.obj, function (i, d) {
var data = new Object();
if (d.studyplace != null) {
data.studyplace = d.studyplace;
data.studyplacename = d.studyplacename;
studyPlaceTmp.push(data);
}
});
// 교육장소코드, 교육장소명 Distinct
let studyPlace = studyPlaceTmp.reduce(function (acc, current) {
if (acc.findIndex(({ studyplace }) => studyplace === current.studyplace) === -1) {
acc.push(current);
}
return acc;
}, []);
2022-08-02 13:25:57 +09:00
// 오름차순
studyPlace = studyPlace.sort(function (a, b) {
return a.studyplace < b.studyplace ? -1 : a.studyplace > b.studyplace ? 1 : 0;
});
if (studyPlace.length > 0) {
strStudyPlaceTag = "<li class='current' onclick='javascript:setStudyplace(this," + cmno + ");'><a href='javascript:getCmInningPlace(" + cshape + ", " + cmno + ");' style='font-size:20px;'>전체</a></li>";
2022-08-02 13:25:57 +09:00
$.each(studyPlace, function (i, d) {
strStudyPlaceTag += "<li onclick='javascript:setStudyplace(this," + cmno + ");'><a href='javascript:getCmInningPlace(" + cshape + ", " + cmno + ", " + d.studyplace + ");'style='font-size:20px;'>" + d.studyplacename + " 교육장</a></li>";
2022-08-02 13:25:57 +09:00
});
}
}
// 교육장소 생성하기
if (cshape > 0 && strStudyPlaceTag != '') {
2022-08-02 13:25:57 +09:00
divPlace.append(strStudyPlaceTag);
divPlace.show();
}
}
divScd.empty();
//강좌일정 태그 생성
strTmp = "<ul id='ulScd" + cmno + "'></ul>";
divScd.append(strTmp);
var ulScd = $("#ulScd" + cmno);
ulScd.empty();
if (capResult.obj.length < 1) {
var li = $("<li />");
if (cshape == 1) {
li.append("<label> - 선택 가능한 교육일정이 없습니다.</label>");
} else if (cshape == 2) {
li.append("<label> - 선택 가능한 교육종료일이 없습니다.</label>");
}
ulScd.append(li);
}
2022-08-02 13:25:57 +09:00
$.each(capResult.obj, function (i, d) {
var li = $("<li />");
var pData = $("<p />");
var aApplyClass = $("<a />", { "onclick": "javascript:applyClassEdu(" + d.cmno + ", " + d.pcmno + ", " + d.cmino + ", " + d.cmisno + ");" });
var spanApplyClass = $("<span />", { "class": "smtlChkBtn smtlChk03" }, { "style": "font-size:18px" });
var spanApplyClassN = $("<span />", { "class": "smtlChkBtn smtlChk05" }, { "style": "font-size:18px" });
var radioEduDay = "<input type='radio' style='display:none' name='rdoScds' value='" + d.cmisno + "' ";
2022-08-02 13:25:57 +09:00
var strStudyPlacename = "";
let comment = d.comment == null ? "" : "<span style='margin-left:12px'>(" + d.comment + ")</span>"
if (d.studyplace != null && d.studyplace != '' && d.studyplacename != null && d.studyplacename != '') {
2022-08-03 16:50:01 +09:00
strStudyPlacename = '[' + d.studyplacename + '교육장]';
2022-08-02 13:25:57 +09:00
}
if (d.isEnd == true) {
pData.html("<label>" + "<span style='color:blue'>" + strStudyPlacename + "</span>" + " <span style='color: red'>[종료] </label>" + radioEduDay + " disabled> <span style='color:gray'>" + d.scdInfoSummary + comment + "</span></span>");
2022-08-02 13:25:57 +09:00
}
else {
d.scdInfoSummary = (d.scdInfoSummary).replace("까지", "")
if (d.remainPeople <= 0) { // remainPeople(등록가능인원수) <= 0
spanApplyClassN.text("접수마감");
aApplyClass.append(spanApplyClassN);
pData.html("<label>" + "<span style='color:blue'>" + strStudyPlacename + "</span>" + " <span style='color: red'>[접수마감] </span>" + radioEduDay + " disabled> <span style='color:gray'>" + d.scdInfoSummary + comment + "</span></span>");
pData.append(spanApplyClassN);
}
else {
spanApplyClass.text("교육신청");
console.log("교육신청")
aApplyClass.append(spanApplyClass);
if (d.quota != 0) {
if (d.isselected == 1) {
// 사용안하는것 추측됨
pData.html("<label>" + "<span style='color:blue'>" + strStudyPlacename + "</span>" + " <span style='color: red'>[접수중] </span>" + radioEduDay + " checked> " + d.scdInfoSummary + comment + "<span style='color: red;display:none;'> (" + d.remainPeople + "명 남음)</span></span>");
pData.append(aApplyClass);
}
else {
pData.html("<label>" + "<span style='color:blue'>" + strStudyPlacename + "</span>" + " <span style='color: red'>[접수중] </span>" + radioEduDay + "'> " + d.scdInfoSummary + comment + "<span style='color: red;display:none;'> (" + d.remainPeople + "명 남음)</span> " + "</span>");
pData.append(aApplyClass);
}
}
else {
// 사용안하는것 추측됨
if (d.isselected == 1) {
pData.html("<label>" + "<span style='color:blue'>" + strStudyPlacename + "</span>" + " " + radioEduDay + " checked> " + d.scdInfoSummary + comment + "</label></label>");
pData.append(spanApplyClass);
}
else {
pData.html("<label>" + "<span style='color:blue'>" + strStudyPlacename + "</span>" + " " + radioEduDay + "'> " + d.scdInfoSummary + comment + "</label></label>");
pData.append(aApplyClass);
}
}
}
2022-08-02 13:25:57 +09:00
}
li.append(pData);
li.append('<input type="hidden" id="pcmno_'+d.pcmno+'_cgcode" name="pcmno_cgcodes" value="' + d.cgcode + '")" />');
2022-08-02 13:25:57 +09:00
ulScd.append(li);
});
}
//20220729 교육장별 교육일정 정보 조회
function getCmInningPlace(cshape, cmno, studyPlace) {
var issearchable = false;
if ($("#stringval").val() == 0 && $("#stringval3").val() != "" && $("#stringval4").val() != "" && $("#stringval5").val() != "" && $("#stringval6").val() != "") {
issearchable = true;
} else if ($("#stringval").val() == 1 && $("#stringval3").val() != "") {
issearchable = true;
}
2022-08-02 13:25:57 +09:00
if (issearchable) {
capp("/focommon/GetScdForMixEdu", { cmno: cmno, studyPlace: studyPlace}, "renderScdInning(0, " + cshape + "," + cmno + ")");
2022-08-02 13:25:57 +09:00
}
}
//20220729 개발전
2020-11-04 17:04:10 +09:00
function getSubCm(cshape, no, place) {
var issearchable = false;
if ($("#stringval").val() == 0 && $("#stringval3").val() != "" && $("#stringval4").val() != "" && $("#stringval5").val() != "" && $("#stringval6").val() != "") {
issearchable = true;
} else if($("#stringval").val() == 1 && $("#stringval3").val() != "" ) {
issearchable = true;
2020-11-04 17:04:10 +09:00
}
2022-08-02 13:25:57 +09:00
if (issearchable) {
_cmno = no;
if (cshape == 1) {
2022-08-02 13:25:57 +09:00
$("#divPlace_" + no).show();
}
else {
2022-08-02 13:25:57 +09:00
$("#divPlace_" + no).hide();
}
2022-08-02 13:25:57 +09:00
capp("/focommon/getsubcm", { cmno: no, studyplace: place }, "renderSubCmGrid");
2020-11-04 17:04:10 +09:00
}
}
2022-08-02 13:25:57 +09:00
//20220729 개발전
2020-11-04 17:04:10 +09:00
function renderSubCmGrid() {
var cmno = _cmno;
var ulSubCm = $("#ulSubCm_" + cmno);
ulSubCm.empty();
$.each(capResult.obj, function (i, d) {
var li = $("<li />");
var p = $("<p />");
var a = $("<a />", { "onclick": "javascript:openIntro(" + d.cmno + ");" });
var a2 = $("<a />", { "onclick": "javascript:applyClass(" + d.cmno + ", " + d.pcmno +");" });
2020-12-16 11:10:47 +09:00
var spanIntro = $("<span />", { "class": "smtlChkBtn smtlChk01", "style":"right:130px; font-size:18px;"});
var span = $("<span />", { "class": "smtlChkBtn smtlChk03" , "style": "font-size:18px" });
2020-11-04 17:04:10 +09:00
if (d.quota != 0) {
var cnt = d.quota - d.lectcnt;
if (cnt <= 0) {
2020-12-16 11:10:47 +09:00
span = $("<span />", { "class": "smtlChkBtn smtlChk02" ,"style": "font-size:18px" });
2020-11-04 17:04:10 +09:00
span.text("대기접수");
}
else {
span = $("<span />", { "class": "smtlChkBtn smtlChk02", "style": "font-size:18px" });
2020-11-04 17:04:10 +09:00
span.text("수강신청");
}
}
else {
span = $("<span />", { "class": "smtlChkBtn smtlChk02" ,"style": "font-size:18px" });
2020-11-04 17:04:10 +09:00
span.text("수강신청");
}
if (d.cshape == 0) {
2021-11-03 15:19:08 +09:00
p.html("<label style='cursor:default; font-size:18px'>" + d.tseq + "기 | " + d.cname + " | <span style='" + ((d.retimeymd == "2099-12-31") ? 'display:none' : '') + "'><span class='gry'>" + d.ssrename + "</span></span><span class='red'> " + (d.retimeymd == "2099-12-31" ? "(" + d.studytime + " 시간)" : "(" + d.studytime + "시간)") + "</span> | <span class=red>" + bindComma(d.infee) + "원</span></label>");
2020-11-04 17:04:10 +09:00
}
else if (d.cshape == 1) {
2021-11-03 15:19:08 +09:00
p.html("<label style='cursor:default; font-size:18px'>" + d.tseq + "기 | <span class='blu'>[" + d.studyplacename + "교육장]</span> " + d.cname + " | <span style='" + ((d.retimeymd == "2099-12-31") ? 'display:none' : '') + "'><span class='gry'>" + d.ssrename + "</span></span><span class='red'> " + (d.retimeymd == "2099-12-31" ? "(" + d.studytime + " 시간)" : "("+d.ssretimeToDay +"일)") + "</span> | <span class=red>" +bindComma(d.infee)+"원</span></label>");
2020-11-04 17:04:10 +09:00
}
else if (d.cshape == 2) {
2021-11-03 15:19:08 +09:00
p.html("<label style='cursor:default; font-size:18px'>" + d.cname + "<span style='" + ((d.retimeymd == "2099-12-31") ? 'display:none' : '') + "'></span><span> " + (d.retimeymd == "2099-12-31" ? "(" + d.studytime + " 시간)" : "(" + d.studytime + "시간)") + "</span></label>");
2020-11-04 17:04:10 +09:00
}
2020-11-04 17:04:10 +09:00
spanIntro.text("강좌소개");
li.append(p);
a.append(spanIntro);
li.append(a);
a2.append(span);
li.append(a2);
ulSubCm.append(li);
2022-08-02 13:25:57 +09:00
2020-11-04 17:04:10 +09:00
});
if (ulSubCm.html() != "") {
2021-11-03 15:19:08 +09:00
//ulSubCm.append(applyClass);
2020-11-04 17:04:10 +09:00
}
if (capResult.obj.length <= 0) {
ulSubCm.append("<p class='subDsc' style='margin-top:30px; margin-bottom:30px'>※ 강좌가 없습니다.</p >");
}
}
@*/** 수강신청 버튼 클릭 */*@
2022-08-02 13:25:57 +09:00
function applyClassEdu(cmno, pcmno, cmino, cmisno) {
var uno = ('@ViewBag.SSUserNo' != '') ? parseInt(@ViewBag.SSUserNo) : 0;
2022-08-02 13:25:57 +09:00
if (uno > 0) {
2022-08-02 13:25:57 +09:00
$("#cmino").val(cmino);
$("#cmisno").val(cmisno);
checkLectCompleteEdu(cmno, "@Model.stringval3", "@Model.stringval4", "@Model.stringval5", "@Model.stringval6", $("#pcmno_" + pcmno + "_cgcode").val(), pcmno, "chkLect");
2022-08-02 13:25:57 +09:00
}
else {
let searchRslt = $("#smartSearchForm").serialize();
let url = `/Account/index?${searchRslt}
&stringval17=${cmno}
&stringval18=${pcmno}
&stringval19=${cmino}
&stringval20=${cmisno}
&stringval21=${$("#pcmno_" + pcmno + "_cgcode").val()}`;
url = url.replace(/\s/g, '');
location.href = url;
2022-08-02 13:25:57 +09:00
return;
}
}
//20220729 개발전
function applyClass(cmno, pcmno) {
2022-08-02 13:25:57 +09:00
//수강신청
2020-11-09 10:57:03 +09:00
if (@ViewBag.SSUserNo > 0) {
checkLectComplete(cmno, "@Model.stringval3", "@Model.stringval4", "@Model.stringval5", "@Model.stringval6", $("#pcmno_" + pcmno + "_cgcode").val(), pcmno, "chkLect");
2020-11-09 10:57:03 +09:00
}
else {
2020-12-28 15:56:16 +09:00
msg("로그인 후 신청 할 수 있습니다.");
2020-11-09 10:57:03 +09:00
return;
}
2020-11-04 17:04:10 +09:00
}
2020-11-09 13:29:54 +09:00
let _edu = 0;
let _cgcode = 0;
let _grade = 0;
function checkLectCompleteEdu(cmno, man, edu, grade, job, cgcode, pcmno) {
2022-08-02 13:25:57 +09:00
_cmno = cmno;
_edu = edu;
_cgcode = cgcode;
_grade = grade;
capp("/focommon/GetCheckLectIs",
{
cmno: cmno,
man: man,
edu: edu,
grade: grade,
job1: job,
cgcode: cgcode,
pcmno: pcmno
}, "chkLectNew"); // 1
2022-08-02 13:25:57 +09:00
}
//20220729 개발전
function checkLectComplete(cmno, man, edu, grade, cgcode, pcmno) {
_cmno = cmno;
capp(
"/focommon/GetCheckLectIs",
{
cmno: cmno,
man: man,
edu: edu,
grade: grade,
cgcode: cgcode,
pcmno: pcmno
},
"chkLect"
); // 1
}
function chkLectNew() {
if (capResult.code == 1000) {
var resultCode = capResult.obj;
if (resultCode == 0) {
checkLectIsComplete(_cmno);
}
else {
switch (resultCode) {
case -2:
msg("<span style='font-size: 15pt;'>이미 동일한 내용의 교육을 신청,수강 또는 수료한 과정입니다.</span>");
break;
case -10:
case -20:
case -30:
msg(`
<span style='text-align: center;margin: 0 auto;display: inline-block;font-size: 15pt;line-height: 22pt;'>
이 교육은 아래의 사유 중 하나에 해당되어 신청되지 않는 교육입니다.<br><br>
<p class='hello' style=' color: red; text-align:left; font-size:13pt;'>
&nbsp; &nbsp; - &nbsp; &nbsp;선택한 교육목적으로 인정되지 않는 경우<br>
&nbsp; &nbsp; - &nbsp; &nbsp;이미 신청 또는 수료한 교육과 함께 수료하면 인정이 되지 않는 경우
</p><br>
따라서 현재 화면에 나와있는 다른 교육으로 신청하여 주시기 바랍니다.<br><br>
<span style='display: block; margin - left: calc(50 % - 77px);'>
문의 : 1544 - 7660
</span>
</span>
`);
break;
case -100:
msg("<span style='font-size: 15pt;'>잠시 후 다시 시도해주세요.</span>");
break;
default:
break;
}
}
}
}
2022-08-02 13:25:57 +09:00
function chkLect() { //2 --> 4
let chk = @(DateTime.Now > DateTime.Parse("2030-01-02 00:00") ? "true" : "false"); // ### ty 2024년 추가건 // chk == 1 ? 2024년 표시 문구 나오기
let chkMsg = "";
if (capResult.code == 1000) {
if (capResult.obj == 0) {
if (chk) {
if ((_edu == 31 || _edu == 107 || _edu == 108) && (_cgcode == 103 || _cgcode == 104 || _cgcode == 105) && (_grade == 38 || _grade == 39 )) {
chkMsg ="<span style='text-align: center;margin: 0 auto;display: inline-block;font-size: 13pt;line-height: 22pt;'>" +
"※ 같은 교육목적 및 같은 등급일 때만 <span style='color:red'>제한조건 적용</span><br><p class='hello' style='text-align: left;'>" +
"예시)<br>1.&nbsp;건설사업관리 고급 승급교육으로 2과정을 받을 때 역량강화 또는 전문분야교육 중 하나만 이수 가능" +
"<br>2.&nbsp;건설사업관리 고급 승급교육으로 1과정 특급 승급교육으로 1과정 을 이수해야 할 때는 등급이 틀리므로 각각 등급에서 한번씩 이수 가능" +
"<br>3.&nbsp;건설사업관리 고급 승급교육 1과정 고급 계속교육 1과정을 이수해야 할 때는 교육 목적이 틀리므로 각각 교육목적에서 한번씩 이수 가능</span>";
}
}
if (chk && chkMsg != "") {
msg(chkMsg);
$(".mainokbutton").on("click", function () {
checkLectIsComplete(_cmno);
});
}
else {
checkLectIsComplete(_cmno);
}
}
else if (capResult.obj == 1) {
if (chk) {
msg("<span style='text-align: center;margin: 0 auto;display: inline-block;font-size: 15pt;line-height: 22pt;'>" +
"<p class='hello' style=' color: red; text-align:left; font-size:15pt;'>" +
"&nbsp; &nbsp; 이미 같은 교육목적과 등급으로 신청 또는 이수한 내역이 있습니다." +
"<p>(자세한 안내는 교육원으로 문의 주시기 바랍니다)</span>");
}
else {
msg("<span style='text-align: center;margin: 0 auto;display: inline-block;font-size: 15pt;line-height: 22pt;'>" +
"이 교육은 아래의 사유 중 하나에 해당되어 신청되지 않는 교육입니다.<br><br><p class='hello' style=' color: red; text-align:left; font-size:13pt;'>" +
"&nbsp; &nbsp; - &nbsp; &nbsp;선택한 교육목적으로 인정되지 않는 경우<br> &nbsp; &nbsp; - &nbsp; &nbsp;이미 신청 또는 수료한 교육과 함께 수료하면 인정이 되지 않는 경우" +
"<p><br>따라서 현재 화면에 나와있는 다른 교육으로 신청하여 주시기 바랍니다.<br><br><span style='display: block; margin - left: calc(50 % - 77px);'>문의 : 1544 - 7660</span></span>");
}
}
else {
msg("<sapn style='font-size: 15pt;'>이미 동일한 내용의 교육을 신청,수강 또는 수료한 과정입니다.</span>");
}
}
}
2022-08-02 13:25:57 +09:00
function checkLectIsComplete(cmno) { //3
2020-11-09 13:29:54 +09:00
capp("/focommon/GetCheckLectIsComplete", { cmno: cmno }, "check");
}
2022-08-02 13:25:57 +09:00
function check() { //4 ->>2
var cnt = capResult.obj;
2020-11-09 13:29:54 +09:00
if (cnt > 0) {
// 강좌를 만들 수 있지만 이미 생성된 조건?
msg("<sapn style='font-size: 15pt;'>이미 동일한 내용의 교육을 신청,수강 또는 수료한 과정입니다.</span>");
return;
2020-11-09 13:29:54 +09:00
}
else {
$("#cmno").val(_cmno);
$("#smartSearchForm").attr("action", "/Course/ApplyEdu").submit();
}
}
2020-10-30 17:30:09 +09:00
</script>
@functions {
/// <summary>
/// 과정 코드(cgcode)에 따라 사용자에게 보여줄 라벨(span 태그 형태)을 반환.
/// </summary>
/// <param name="code">과정 코드 (예: "107", "105" 등)</param>
/// <returns>
/// HTML span 태그 문자열.
/// 예: <span style='color:blue; font-weight:bold;'>[역량강화교육]</span>
/// </returns>
string GetCgLabel(string code)
{
switch (code)
{
case "101":
return "<span style='color:blue; font-weight:bold; font-size:22px' data-code=" + code +">[기본교육]</span>";
case "107":
return "<span style='color:blue; font-weight:bold; font-size:22px' data-code=" + code +">[특성화교육]</span>";
case "103":
case "104":
return "<span style='color:green; font-weight:bold; font-size:22px' data-code=" + code +">[역량강화교육]</span>";
case "105":
return "<span style='color:#FF6600; font-weight:bold; font-size:22px' data-code=" + code +">[전문분야교육]</span>";
case "102":
return "<span style='color:purple; font-weight:bold; font-size:22px' data-code=" + code +">[직무분야교육]</span>";
default:
return "<span style='font-weight:bold; font-size:22px' data-code=" + code +">[" + code + "]</span>";
}
}
}