2020-10-29 15:09:30 +09:00
@model NP.Model.VMCourse
2025-09-25 17:05:25 +09:00
@{
2025-12-11 14:32:17 +09:00
var host = Request.Url.Host;
2025-09-25 17:05:25 +09:00
2025-12-11 14:32:17 +09:00
// 개발과 로컬일 때 스마트검색 결과의 검색영역 보임 처리
bool isDevSite = (host == "www.ynicte.com" || host == "ynicte.nptc.kr");
string firstSchBoxDisplayStyle = isDevSite ? "" : "display:none;";
2025-09-25 17:05:25 +09:00
}
2025-12-11 14:32:17 +09:00
<style>
2025-12-18 13:12:12 +09:00
.clsPopWrap { max-width: 655px; }
/* --- 교육신청 주의사항 팝업 CSS 시작 --- */
.edu-popup-container, .edu-popup-container button, .edu-popup-container input {font-family: 'Malgun Gothic', '맑은 고딕', Dotum, '돋움', sans-serif;}
#edu-modal-overlay {position: fixed;top: 0;left: 0;width: 100%;height: 100%;background-color: rgba(0, 0, 0, 0.6);display: none;z-index: 9999;opacity: 0;transition: opacity 0.3s ease;}
#edu-layer-popup {position: fixed;top: 50%;left: 50%;transform: translate(-50%, -50%) scale(0.95);width: 90%;max-width: 780px;background-color: #fff;border-radius: 12px;display: none;z-index: 10000;box-shadow: 0 5px 20px rgba(0,0,0,0.2);box-sizing: border-box;overflow: hidden;opacity: 0;transition: opacity 0.3s ease, transform 0.3s ease;border : 3px solid #0047A7;}
#edu-modal-overlay.active, #edu-layer-popup.active {display: block;opacity: 1;}
#edu-layer-popup.active {transform: translate(-50%, -50%) scale(1);}
.edu-popup-header {background-color: #2c3e50;color: #fff;padding: 18px;text-align: center;}
.edu-popup-header h2 {margin: 0;font-size: 26px;font-weight: 700;color: #fff;}
.edu-popup-content {padding: 35px 50px;line-height: 1.8;}
.edu-popup-content h3 {color: #d90429;text-align: center;font-size: 26px;font-weight: 700;margin-top: 0;margin-bottom: 30px;}
/* ★[수정] 중앙 정렬을 위한 컨테이너 */
.edu-popup-content .text-center {text-align: center;}
/* ★[수정] 리스트 기본 스타일 제거 */
.edu-popup-content .text-center ol {padding-left: 0;list-style-type: none;
display: inline-block; /* 컨텐츠 크기에 맞게 중앙 정렬 */
text-align: left; /* 리스트 내용은 다시 좌측 정렬 */
}
/* ★[수정] 리스트 아이템 스타일 (글자 크기 증가 및 중앙 정렬) */
.edu-popup-content .text-center li {
text-align: center; /* 텍스트 중앙 정렬 */
font-size: 18px; /* 글자 크기 증가 */
font-weight: 500;
line-height: 1.7;
margin-bottom: 20px;
}
/* ★[수정] 중요(빨간색) 텍스트 스타일 */
.edu-popup-content .text-center > .text-red {
font-size: 20px; /* 글자 크기 증가 */
font-weight: 600;
margin-top: 10px;
}
2025-12-11 14:32:17 +09:00
2025-12-18 13:12:12 +09:00
.text-red {color: #d90429;font-weight: 600;}
.text-blue {color: #1A5276;font-weight: 600;}
.edu-details-btn {display: block;width: 220px;margin: 30px auto;padding: 10px;font-size: 16px;font-weight: 600;color: #555;background-color: #fff;border: 1px solid #ccc;border-radius: 5px;cursor: pointer;text-align: center;transition: background-color 0.2s, border-color 0.2s;}
.edu-details-btn:hover {background-color: #f5f5f5;border-color: #bbb;}
.edu-popup-content .info {font-size: 18px;margin-top: 30px;color: #333;font-weight: 600;text-align: center;}
.edu-consent-check {margin-top: 10px;text-align: center;font-size: 18px;}
.edu-consent-check input[type="checkbox"] {display: none;}
.edu-consent-check label {position: relative;padding-left: 35px;cursor: pointer;line-height: 28px;display: inline-block;user-select: none;}
.edu-consent-check label::before {content: '';position: absolute;left: 0;
top: 1px; /* [수정] 수직 정렬 */
width: 25px;height: 25px;border: 2px solid #aaa;background-color: #fff;border-radius: 5px;transition: all 0.2s;}
.edu-consent-check input[type="checkbox"]:checked + label::before {background-color: #2c3e50;border-color: #2c3e50;}
.edu-consent-check label::after {content: '';position: absolute;left: 9px;
top: 5px; /* [수정] 수직 정렬 */
width: 8px;height: 15px;border: solid white;border-width: 0 3px 3px 0;transform: rotate(45deg);opacity: 0;transition: opacity 0.2s;}
.edu-consent-check input[type="checkbox"]:checked + label::after {opacity: 1;}
.edu-popup-footer {text-align: center;padding: 25px;background-color: #f9f9f9;border-top: 1px solid #eee;}
.edu-popup-footer button {width: 130px;padding: 12px 0;font-size: 19px;font-weight: 600;cursor: pointer;border: 1px solid #aaa;background-color: #fff;margin: 0 10px;border-radius: 6px;transition: all 0.2s;color: #333;}
#edu-confirm-btn {background-color: #2c3e50;color: #fff;border-color: #2c3e50;}
#edu-confirm-btn:hover {background-color: #34495e;}
#edu-cancel-btn:hover {background-color: #f0f0f0;}
@@media (max-width: 768px) {
.edu-popup-header h2 {font-size: 22px;}
.edu-popup-content {padding: 30px 35px;}
.edu-popup-content h3 {font-size: 22px;}
.edu-popup-content .text-center li, .edu-popup-content .text-center > .text-red {font-size: 18px;}
.edu-popup-content .info, .edu-consent-check {font-size: 14px;}
.edu-popup-footer button {width: 120px;font-size: 17px;}
}
2025-12-11 14:32:17 +09:00
2025-12-18 13:12:12 +09:00
@@media (max-width: 480px) {
.edu-popup-header h2 {font-size: 19px;}
.edu-popup-content {padding: 25px 20px;}
.edu-popup-content h3 {font-size: 19px;margin-bottom: 25px;}
.edu-popup-content .text-center li, .edu-popup-content .text-center > .text-red {font-size: 18px;line-height: 1.6;}
.edu-details-btn {width: 180px;font-size: 14px;}
.edu-popup-content .info {font-size: 18px;}
.edu-consent-check {font-size: 18px;}
.edu-consent-check label {padding-left: 30px;}
.edu-consent-check label::before {width: 22px;height: 22px;}
.edu-consent-check label::after {left: 8px;top: 4px;width: 6px;height: 12px;}
.edu-popup-footer {padding: 20px;}
.edu-popup-footer button {width: 100%;margin: 0;padding: 13px 0;}
.edu-popup-footer button:first-child {margin-bottom: 10px;}
}
/* --- 교육신청 주의사항 팝업 CSS 끝 --- */
2025-12-11 14:32:17 +09:00
</style>
2025-09-25 17:05:25 +09:00
2022-04-28 14:05:09 +09:00
<div class="container">
2025-12-11 14:32:17 +09:00
<div class="schBox" style="@firstSchBoxDisplayStyle">
<form id="smartSearchForm" method="post">
2025-12-18 13:12:12 +09:00
<input type="hidden" id="strVal31" />
<input type="hidden" id="strVal17" />
<input type="hidden" id="strVal18" />
<input type="hidden" id="strVal19" />
<input type="hidden" id="strVal20" />
<input type="hidden" id="strVal21" />
2025-12-11 14:32:17 +09:00
<input type="hidden" name="cmno" id="cmno" />
<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">
<h5>
@if (!string.IsNullOrEmpty(item.cgcode)) { // cg코드를 <span style='color:green; font-weight:bold;'>[전문분야교육]</span> 형태로 변경해주는 Helper 메서드 사용
@Html.Raw(this.GetCgLabel(item.cgcode))
}
@{
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"));
}
<span style="font-size:22px">@Html.Raw(strTitle)</span>
</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">
<input type="hidden" id="typeedu2_@(item.cmno)" name="typeedu2_@(item.cmno)" value="@item.typeedu" />
</li>
</ul>
</div>
@*20220728온라인/오프라인 안내*@
<div id="divInfo_@item.cmno" class="smtlChk">
</div>
@*20220728교육 영역*@
<ul class="smtlTab" id="divPlace_@item.cmno" style="display:none">
</ul>
@*20220728교육일정 영역*@
<div id=@("divScd"+ @item.cmno) class="smtlChk">
</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) {
<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>
}
</ul>
<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
2022-04-28 14:05:09 +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;">
2025-12-11 14:32:17 +09:00
<div>
<div>
<div class="clsPopWrap">
<div class="clsPopTitle">
<h5>강좌소개</h5>
<a href="javascript:void(0);" onclick="javascript: closeIntro();"></a>
</div>
<div class="clsPopCont">
<ul class="smtList pop">
<li>
<div class="smtlCont">
<h5><span id="spnCmTitle"></span></h5>
<div class="gry">
<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>
</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;">
<dt>강사정보</dt>
<dd><span id="spnCmUsername"></span></dd>
</dl>
<dl class="fairIntro spnCmIntroHtml" style="display:none;">
<dt>강좌소개</dt>
<div id="spnCmIntroHtml"></div>
</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>
</div><!-- clsPopCont -->
</div><!-- clsPopWrap -->
</div>
</div>
2020-11-02 16:59:33 +09:00
</div>
2025-12-11 14:32:17 +09:00
<div class="edu-popup-container">
<div id="edu-modal-overlay"></div>
<div id="edu-layer-popup">
<main class="edu-popup-content">
<h3>건설사업관리(계속교육) 신청 시 주의사항</h3>
<div class="text-center">
<ol>
<li>
현재 선택하신 교육은 <strong style="color:#008000">[역량강화교육]</strong>입니다.
</li>
<li>
건설사업관리(고급,특급) 계속교육의 경우 <strong style="color:#008000">[역량강화교육]</strong>은
</li>
<li>전체 교육이수 시간 중 35시간만 인정가능합니다.</li>
<li>
<span style="color:red;font-weight:bold;">(중요) 역량강화교육으로만 2개과정(70시간) 이수 불가</span>
</li>
<li>
※ 해당 내용에 대하여 문의하실 분은 교육원으로 연락 주시면 안내 드리겠습니다.
</li>
</ol>
</div>
<div class="edu-consent-check">
<input type="checkbox" id="edu-consent">
<label for="edu-consent">
<span class="text-blue">상기 내용을 이해하였으며 잘못 이수된 교육은 인정되지 않음을 인지하였습니다.</span>
</label>
</div>
</main>
<footer class="edu-popup-footer">
<button id="edu-confirm-btn" onclick="educationConfirmSubmit();">확인</button>
<button id="edu-cancel-btn" onclick="closeEducationPopup();">취소</button>
</footer>
</div>
</div>
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 () {
2025-08-19 10:14:56 +09:00
// 페이지 접근시 보이는 문구
2025-09-25 17:05:25 +09:00
var isDevSite = @isDevSite.ToString().ToLower();
2025-12-11 14:32:17 +09:00
//msg('<b style="color:red; font-size:28px;"> ※ 안 내 ※</b><br/><br/><b style="color:blue; font-size:24px;">현재 페이지의 모든 교육과정들이 이수하고자 하는 교육목적으로 인정가능 합니다.</b>');
2025-09-25 17:05:25 +09:00
$("#pageTitle h3").text("교육과정선택");
2025-08-19 10:14:56 +09:00
2020-10-30 17:30:09 +09:00
$('#liTab1').click(function () {
2020-11-09 10:57:03 +09:00
$.when(
$("#stringval").val("0"),
2021-04-30 13:42:07 +09:00
$("#stringval3").val(""),
$("#stringval4").val(""),
$("#stringval5").val(""),
2021-07-06 12:48:39 +09:00
$("#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
});
2025-09-25 17:05:25 +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"),
2021-04-30 13:42:07 +09:00
$("#stringval3").val(""),
$("#stringval4").val(""),
$("#stringval5").val(""),
2021-07-06 12:48:39 +09:00
$("#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
});
2025-09-25 17:05:25 +09:00
});
2020-10-30 17:30:09 +09:00
$('#btnSearch').click(function () {
2025-09-25 17:05:25 +09:00
if ($("#liTab1").hasClass("current")) {
2020-10-30 17:30:09 +09:00
$("#stringval").val("0");
2025-09-25 17:05:25 +09:00
}
2020-10-30 17:30:09 +09:00
else if ($("#liTab2").hasClass("current")) {
$("#stringval").val("1");
2025-09-25 17:05:25 +09:00
}
setTimeout(function () {
2020-11-04 17:04:10 +09:00
$("#smartSearchForm").submit();
2025-09-25 17:05:25 +09:00
}, 1000);
});
2021-04-30 13:42:07 +09:00
$("#stringval").change(function () {
2020-11-04 17:04:10 +09:00
$("#smartSearchForm").submit();
2025-09-25 17:05:25 +09:00
});
2020-11-04 17:04:10 +09:00
$("#stringval2").change(function () {
2021-04-29 17:06:24 +09:00
$("#stringval3").val("");
$("#stringval4").val("");
$("#stringval5").val("");
$("#stringval6").val("");
2020-11-04 17:04:10 +09:00
$("#smartSearchForm").submit();
2025-09-25 17:05:25 +09:00
});
2020-11-04 17:04:10 +09:00
$("#stringval3").change(function () {
2021-04-29 17:06:24 +09:00
$("#stringval4").val("");
$("#stringval5").val("");
$("#stringval6").val("");
2020-11-04 17:04:10 +09:00
$("#smartSearchForm").submit();
2025-09-25 17:05:25 +09:00
});
2020-11-04 17:04:10 +09:00
$("#stringval4").change(function () {
2021-04-29 17:06:24 +09:00
$("#stringval5").val("");
$("#stringval6").val("");
2020-10-30 17:30:09 +09:00
$("#smartSearchForm").submit();
2025-09-25 17:05:25 +09:00
});
2020-11-04 17:04:10 +09:00
$("#stringval5").change(function () {
2021-04-29 17:06:24 +09:00
$("#stringval6").val("");
2020-11-04 17:04:10 +09:00
$("#smartSearchForm").submit();
2025-09-25 17:05:25 +09:00
});
2020-11-04 17:04:10 +09:00
$("#stringval6").change(function () {
$("#smartSearchForm").submit();
});
2025-09-25 17:05:25 +09:00
});
2020-11-02 16:59:33 +09:00
2025-08-19 10:14:56 +09:00
function openIntro(cmno) {
2025-09-25 17:05:25 +09:00
$(".spnCmEduname").hide();
2021-11-10 08:53:42 +09:00
$(".spnCmUsername").hide();
$(".spnCmIntroHtml").hide();
$(".spnCmTargetHtml").hide();
$(".spnCmGoalHtml").hide();
$(".spnCmContentHtml").hide();
2020-11-02 16:59:33 +09:00
$("#divIntro").show();
2025-09-25 17:05:25 +09:00
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;
2025-09-25 17:05:25 +09:00
2020-11-04 17:04:10 +09:00
cmkind = typeman + " | " + typeedu + " | " + typegrade + " | " + typejob;
2025-09-25 17:05:25 +09:00
2020-11-04 17:04:10 +09:00
if ($("#stringval").val() == "1") {
cmkind = $("#stringval3").find("option:selected").text();
}
2025-08-19 10:14:56 +09:00
2020-11-04 17:04:10 +09:00
$.each(capResult.obj, function (i, d) {
2022-08-02 13:25:57 +09:00
//20220729 온라인인경우 수료기준을 보여준다.
2025-09-25 17:05:25 +09:00
if (@(Model.stringval2 == null ? 0 : Convert.ToInt32(Model.stringval2)) == 1) {
2022-08-02 13:25:57 +09:00
$("#completeStd").hide();
}
2025-09-25 17:05:25 +09:00
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);
2025-09-25 17:05:25 +09:00
2021-11-10 08:53:42 +09:00
if (d.username != null && d.username != "" && d.username != undefined) {
$("#spnCmUsername").text(d.username);
$(".spnCmUsername").show();
}
2025-09-25 17:05:25 +09:00
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);
2021-11-10 08:53:42 +09:00
$(".spnCmIntroHtml").show();
}
2025-09-25 17:05:25 +09:00
2021-11-10 08:53:42 +09:00
if (d.targethtml != null && d.targethtml != "" && d.targethtml != undefined) {
$("#spnCmTargetHtml").html(d.targethtml);
$(".spnCmTargetHtml").show();
}
2025-09-25 17:05:25 +09:00
2021-11-10 08:53:42 +09:00
if (d.goalhtml != null && d.goalhtml != "" && d.goalhtml != undefined) {
2021-11-10 15:17:10 +09:00
$("#spnCmGoalHtml").html(d.goalhtml);
2021-11-10 08:53:42 +09:00
$(".spnCmGoalHtml").show();
}
2025-09-25 17:05:25 +09:00
2021-11-10 08:53:42 +09:00
if (d.contenthtml != null && d.contenthtml != "" && d.contenthtml != undefined) {
2021-11-10 15:17:10 +09:00
$("#spnCmContentHtml").html(d.contenthtml);
2021-11-10 08:53:42 +09:00
$(".spnCmContentHtml").show();
2020-12-10 15:19:50 +09:00
}
<기능개선>
1. PMS NO : 7146, 7149, 7152, 7158, 7179, 7181, 7184, 7187, 7202, 7210, 7214, 7215, 7218, 7220, 7224
2. (주요)작업내용
(1) 2022년 12월 추가 개발 및 유지보수 요청건 일괄 업로드
2023-01-03 08:59:38 +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 교육장, 교육일정 조회
2022-08-10 09:34:44 +09:00
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);
2023-01-04 12:44:00 +09:00
if (btnSelect.html() == '교육신청') {
<기능개선>
1. PMS NO : 7146, 7149, 7152, 7158, 7179, 7181, 7184, 7187, 7202, 7210, 7214, 7215, 7218, 7220, 7224
2. (주요)작업내용
(1) 2022년 12월 추가 개발 및 유지보수 요청건 일괄 업로드
2023-01-03 08:59:38 +09:00
btnSelect.html('닫기');
2025-09-25 17:05:25 +09:00
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();
2023-01-04 12:44:00 +09:00
btnSelect.html('교육신청');
2022-08-02 13:25:57 +09:00
}
}
//20220729 교육장 또는 교육장별 교육일정 정보 생성
2022-08-10 09:34:44 +09:00
// 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);
2023-01-16 17:54:54 +09:00
let typeedu = $("#typeedu").val();
2025-12-11 14:32:17 +09:00
let typeedu2 = $("#typeedu2_" + cmno).val();
let tpEdu = false;
2022-08-02 13:25:57 +09:00
if (job == 1) {
divInfo.empty();
divPlace.empty();
2025-12-11 14:32:17 +09:00
//2025-12-01 / KHJ / typeedu 다중 값 처리 (30,35,31)
$.each(typeedu2.split(','), function (i, item) {
if (item == "32" || item == "108") {
tpEdu = true; //"안전관리계속교육"
}
});
2022-08-02 13:25:57 +09:00
if (cshape == 1) //오프라인
{
2023-01-04 12:44:00 +09:00
strTmp = "<p style='margin-bottom: 30px; color:red;font-weight: bold; font-size: 14pt;'>" +
"※ 선택한 일정에 신청인원이 적은 경우 교육시행 여부가 변경 될 수 있습니다.</p>";
2022-08-02 13:25:57 +09:00
}
2025-12-11 14:32:17 +09:00
else if (cshape == 2 && tpEdu == true) //온라인 & 안전관리계속교육
2023-01-16 17:54:54 +09:00
{
2025-12-11 14:32:17 +09:00
strTmp = "<span style='font-weight: bold; font-size: 14pt;color:red;'>※ 교육비 입금과 동시에 동영상강의 시청이 가능합니다.</span><br>" +
2023-04-26 13:32:02 +09:00
"</div><br><span class='clsTitle'>교육종료일을 선택하여 주세요.</span>";
2023-01-16 17:54:54 +09:00
}
2022-08-02 13:25:57 +09:00
else if (cshape == 2) //온라인
{
2025-08-19 10:14:56 +09:00
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);
2025-09-25 17:05:25 +09:00
2025-08-19 10:14:56 +09:00
if (dateNumber > @(System.Web.Configuration.WebConfigurationManager.AppSettings["2024ExDate2"])) {
2025-12-18 13:12:12 +09:00
strTmp = "<div style='margin-bottom: 30px;font-weight: bold; font-size: 14pt;border:solid 1px red;width:100%;padding:10px 10px;line-height:27px;'><span style='color:red'>※ 집체교육 참석조건을 만족하신 후 교육종료일(집체교육 참석일)" +
2024-08-07 12:54:55 +09:00
"에 집체교육 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 {
2025-12-18 13:12:12 +09:00
strTmp = "<div style='margin-bottom: 30px;font-weight: bold; font-size: 14pt;border:solid 1px red;width:100%;padding:10px 10px;line-height:27px;'><span style='color:red'>※ 수료조건을 모두 만족하신 후 " +
2024-08-07 12:54:55 +09:00
"교육종료일(집체교육 참석일)에 집체교육 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;
}, []);
2025-09-25 17:05:25 +09:00
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) {
2022-08-23 12:38:22 +09:00
strStudyPlaceTag = "<li class='current' onclick='javascript:setStudyplace(this," + cmno + ");'><a href='javascript:getCmInningPlace(" + cshape + ", " + cmno + ");' style='font-size:20px;'>전체</a></li>";
2025-09-25 17:05:25 +09:00
2022-08-02 13:25:57 +09:00
$.each(studyPlace, function (i, d) {
2022-08-23 12:38:22 +09:00
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
});
}
}
// 교육장소 생성하기
2022-09-05 15:41: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();
2025-09-25 17:05:25 +09:00
2022-09-05 15:41:57 +09:00
if (capResult.obj.length < 1) {
2022-09-04 19:12:46 +09:00
var li = $("<li />");
2022-09-22 14:21:44 +09:00
if (cshape == 1) {
li.append("<label> - 선택 가능한 교육일정이 없습니다.</label>");
} else if (cshape == 2) {
li.append("<label> - 선택 가능한 교육종료일이 없습니다.</label>");
}
2022-09-04 19:12:46 +09:00
ulScd.append(li);
}
2025-12-11 14:32:17 +09:00
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 + ");" });
2022-08-23 12:38:22 +09:00
var spanApplyClass = $("<span />", { "class": "smtlChkBtn smtlChk03" }, { "style": "font-size:18px" });
var spanApplyClassN = $("<span />", { "class": "smtlChkBtn smtlChk05" }, { "style": "font-size:18px" });
2022-08-10 09:34:44 +09:00
var radioEduDay = "<input type='radio' style='display:none' name='rdoScds' value='" + d.cmisno + "' ";
2022-08-02 13:25:57 +09:00
var strStudyPlacename = "";
2023-11-08 13:19:25 +09:00
let comment = d.comment == null ? "" : "<span style='margin-left:12px'>(" + d.comment + ")</span>"
2025-09-25 17:05:25 +09:00
2022-08-10 09:34:44 +09:00
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) {
2023-11-08 13:19:25 +09:00
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 {
<기능개선>
1. PMS NO : 7146, 7149, 7152, 7158, 7179, 7181, 7184, 7187, 7202, 7210, 7214, 7215, 7218, 7220, 7224
2. (주요)작업내용
(1) 2022년 12월 추가 개발 및 유지보수 요청건 일괄 업로드
2023-01-03 08:59:38 +09:00
d.scdInfoSummary = (d.scdInfoSummary).replace("까지", "")
if (d.remainPeople <= 0) { // remainPeople(등록가능인원수) <= 0
spanApplyClassN.text("접수마감");
aApplyClass.append(spanApplyClassN);
2023-11-08 13:19:25 +09:00
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>");
<기능개선>
1. PMS NO : 7146, 7149, 7152, 7158, 7179, 7181, 7184, 7187, 7202, 7210, 7214, 7215, 7218, 7220, 7224
2. (주요)작업내용
(1) 2022년 12월 추가 개발 및 유지보수 요청건 일괄 업로드
2023-01-03 08:59:38 +09:00
pData.append(spanApplyClassN);
}
else {
spanApplyClass.text("교육신청");
2024-08-26 10:56:50 +09:00
console.log("교육신청")
<기능개선>
1. PMS NO : 7146, 7149, 7152, 7158, 7179, 7181, 7184, 7187, 7202, 7210, 7214, 7215, 7218, 7220, 7224
2. (주요)작업내용
(1) 2022년 12월 추가 개발 및 유지보수 요청건 일괄 업로드
2023-01-03 08:59:38 +09:00
aApplyClass.append(spanApplyClass);
if (d.quota != 0) {
2025-09-25 17:05:25 +09:00
if (d.isselected == 1) {
<기능개선>
1. PMS NO : 7146, 7149, 7152, 7158, 7179, 7181, 7184, 7187, 7202, 7210, 7214, 7215, 7218, 7220, 7224
2. (주요)작업내용
(1) 2022년 12월 추가 개발 및 유지보수 요청건 일괄 업로드
2023-01-03 08:59:38 +09:00
// 사용안하는것 추측됨
2023-11-08 13:19:25 +09:00
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>");
<기능개선>
1. PMS NO : 7146, 7149, 7152, 7158, 7179, 7181, 7184, 7187, 7202, 7210, 7214, 7215, 7218, 7220, 7224
2. (주요)작업내용
(1) 2022년 12월 추가 개발 및 유지보수 요청건 일괄 업로드
2023-01-03 08:59:38 +09:00
pData.append(aApplyClass);
}
else {
2023-11-08 13:19:25 +09:00
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>");
<기능개선>
1. PMS NO : 7146, 7149, 7152, 7158, 7179, 7181, 7184, 7187, 7202, 7210, 7214, 7215, 7218, 7220, 7224
2. (주요)작업내용
(1) 2022년 12월 추가 개발 및 유지보수 요청건 일괄 업로드
2023-01-03 08:59:38 +09:00
pData.append(aApplyClass);
}
}
else {
// 사용안하는것 추측됨
2025-09-25 17:05:25 +09:00
if (d.isselected == 1) {
2023-11-08 13:19:25 +09:00
pData.html("<label>" + "<span style='color:blue'>" + strStudyPlacename + "</span>" + " " + radioEduDay + " checked> " + d.scdInfoSummary + comment + "</label></label>");
<기능개선>
1. PMS NO : 7146, 7149, 7152, 7158, 7179, 7181, 7184, 7187, 7202, 7210, 7214, 7215, 7218, 7220, 7224
2. (주요)작업내용
(1) 2022년 12월 추가 개발 및 유지보수 요청건 일괄 업로드
2023-01-03 08:59:38 +09:00
pData.append(spanApplyClass);
}
else {
2023-11-08 13:19:25 +09:00
pData.html("<label>" + "<span style='color:blue'>" + strStudyPlacename + "</span>" + " " + radioEduDay + "'> " + d.scdInfoSummary + comment + "</label></label>");
<기능개선>
1. PMS NO : 7146, 7149, 7152, 7158, 7179, 7181, 7184, 7187, 7202, 7210, 7214, 7215, 7218, 7220, 7224
2. (주요)작업내용
(1) 2022년 12월 추가 개발 및 유지보수 요청건 일괄 업로드
2023-01-03 08:59:38 +09:00
pData.append(aApplyClass);
}
}
}
2022-08-02 13:25:57 +09:00
}
li.append(pData);
2022-09-22 14:21:44 +09:00
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-23 12:38:22 +09:00
2022-08-02 13:25:57 +09:00
if (issearchable) {
2022-08-10 09:34:44 +09:00
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) {
2021-05-18 15:41:48 +09:00
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
2021-05-18 15:41:48 +09:00
if (issearchable) {
_cmno = no;
if (cshape == 1) {
2022-08-02 13:25:57 +09:00
$("#divPlace_" + no).show();
2021-05-18 15:41:48 +09:00
}
else {
2022-08-02 13:25:57 +09:00
$("#divPlace_" + no).hide();
2021-05-18 15:41:48 +09:00
}
2022-08-02 13:25:57 +09:00
2021-05-18 15:41:48 +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 + ");" });
2022-03-11 11:18:44 +09:00
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 {
2022-08-23 12:38:22 +09:00
span = $("<span />", { "class": "smtlChkBtn smtlChk02", "style": "font-size:18px" });
2020-11-04 17:04:10 +09:00
span.text("수강신청");
}
}
else {
2022-08-23 12:38:22 +09:00
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
}
2025-09-25 17:05:25 +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 >");
}
}
2025-09-25 17:05:25 +09:00
@*/** 수강신청 버튼 클릭 */*@
2022-08-02 13:25:57 +09:00
function applyClassEdu(cmno, pcmno, cmino, cmisno) {
2025-09-25 17:05:25 +09:00
var uno = ('@ViewBag.SSUserNo' != '') ? parseInt(@ViewBag.SSUserNo) : 0;
2022-08-02 13:25:57 +09:00
2025-09-25 17:05:25 +09:00
if (uno > 0) {
2025-11-18 17:15:56 +09:00
2022-08-02 13:25:57 +09:00
$("#cmino").val(cmino);
$("#cmisno").val(cmisno);
2025-11-18 17:15:56 +09:00
checkLectCompleteEdu(cmno, "@Model.stringval3", "@Model.stringval4", "@Model.stringval5", "@Model.stringval6", $("#pcmno_" + pcmno + "_cgcode").val(), pcmno, "chkLectNew");
2025-12-18 13:12:12 +09:00
} else {
//2025-12-09 / KHJ / 역량강화교육 알림창
let str3 = $("#stringval3").val(); //걸설사업관리기술인(28)
let str4 = $("#stringval4").val(); //계속교육(31)
let str5 = $("#stringval5").val(); //고급(38)/특급(39)
$("#strVal31").val("notlogin");
$("#strVal17").val(cmno);
$("#strVal18").val(pcmno);
$("#strVal19").val(cmino);
$("#strVal20").val(cmisno);
$("#strVal21").val($("#pcmno_" + pcmno + "_cgcode").val());
if (str3 == 28 && str4 == 31 && ($("#pcmno_" + pcmno + "_cgcode").val() == 103 || $("#pcmno_" + pcmno + "_cgcode").val() == 104)) {
$('#edu-layer-popup').addClass('active');
return;
}
2025-09-25 17:05:25 +09:00
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 개발전
2022-03-11 11:18:44 +09:00
function applyClass(cmno, pcmno) {
2022-08-02 13:25:57 +09:00
//수강신청
2020-11-09 10:57:03 +09:00
if (@ViewBag.SSUserNo > 0) {
2025-09-25 17:05:25 +09:00
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
2024-01-05 08:47:23 +09:00
let _edu = 0;
let _cgcode = 0;
let _grade = 0;
2025-09-25 17:05:25 +09:00
function checkLectCompleteEdu(cmno, man, edu, grade, job, cgcode, pcmno) {
2022-08-02 13:25:57 +09:00
_cmno = cmno;
2024-01-05 08:47:23 +09:00
_edu = edu;
_cgcode = cgcode;
_grade = grade;
2025-11-18 17:15:56 +09:00
//capp("/focommon/GetCheckLectIs",
// {
// cmno: cmno,
// man: man,
// edu: edu,
// grade: grade,
// job1: job,
// cgcode: cgcode,
// pcmno: pcmno
// }, "chkLect"); // 1
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 개발전
2022-05-16 15:55:12 +09:00
function checkLectComplete(cmno, man, edu, grade, cgcode, pcmno) {
2022-03-11 11:18:44 +09:00
_cmno = cmno;
2025-09-25 17:05:25 +09:00
capp(
"/focommon/GetCheckLectIs",
{
cmno: cmno,
man: man,
edu: edu,
grade: grade,
cgcode: cgcode,
pcmno: pcmno
},
"chkLect"
); // 1
}
2025-12-11 14:32:17 +09:00
//
2025-11-18 17:15:56 +09:00
function chkLectNew() {
if (capResult.code == 1000) {
2025-12-11 14:32:17 +09:00
let resultCode = capResult.obj;
let str3 = $("#stringval3").val(); //걸설사업관리기술인(28)
let str4 = $("#stringval4").val(); //계속교육(31)
let str5 = $("#stringval5").val(); //고급(38)/특급(39)
let chkMsg = "";
2025-11-18 17:15:56 +09:00
if (resultCode == 0) {
2025-12-11 14:32:17 +09:00
//2025-12-09 / KHJ / 역량강화교육 알림창
2025-12-18 13:12:12 +09:00
if (str3 == 28 && str4 == 31 && (_cgcode == 103 || _cgcode == 104)) {
2025-12-11 14:32:17 +09:00
$('#edu-layer-popup').addClass('active');
return;
}
2025-11-18 17:15:56 +09:00
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;'>
- 선택한 교육목적으로 인정되지 않는 경우<br>
- 이미 신청 또는 수료한 교육과 함께 수료하면 인정이 되지 않는 경우
</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-03-11 11:18:44 +09:00
2022-08-02 13:25:57 +09:00
2025-09-25 17:05:25 +09:00
2022-05-16 11:22:06 +09:00
function chkLect() { //2 --> 4
2024-01-05 08:47:23 +09:00
let chk = @(DateTime.Now > DateTime.Parse("2030-01-02 00:00") ? "true" : "false"); // ### ty 2024년 추가건 // chk == 1 ? 2024년 표시 문구 나오기
let chkMsg = "";
2025-09-25 17:05:25 +09:00
2022-03-11 11:18:44 +09:00
if (capResult.code == 1000) {
if (capResult.obj == 0) {
2024-01-05 08:47:23 +09:00
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. 건설사업관리 고급 승급교육으로 2과정을 받을 때 역량강화 또는 전문분야교육 중 하나만 이수 가능" +
"<br>2. 건설사업관리 고급 승급교육으로 1과정 특급 승급교육으로 1과정 을 이수해야 할 때는 등급이 틀리므로 각각 등급에서 한번씩 이수 가능" +
"<br>3. 건설사업관리 고급 승급교육 1과정 고급 계속교육 1과정을 이수해야 할 때는 교육 목적이 틀리므로 각각 교육목적에서 한번씩 이수 가능</span>";
}
}
if (chk && chkMsg != "") {
2025-09-25 17:05:25 +09:00
msg(chkMsg);
2024-01-05 08:47:23 +09:00
$(".mainokbutton").on("click", function () {
checkLectIsComplete(_cmno);
2025-09-25 17:05:25 +09:00
});
2024-01-05 08:47:23 +09:00
}
else {
checkLectIsComplete(_cmno);
}
2022-03-11 11:18:44 +09:00
}
2022-05-16 11:22:06 +09:00
else if (capResult.obj == 1) {
2024-01-05 08:47:23 +09:00
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;'>" +
" 이미 같은 교육목적과 등급으로 신청 또는 이수한 내역이 있습니다." +
"<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;'>" +
" - 선택한 교육목적으로 인정되지 않는 경우<br> - 이미 신청 또는 수료한 교육과 함께 수료하면 인정이 되지 않는 경우" +
"<p><br>따라서 현재 화면에 나와있는 다른 교육으로 신청하여 주시기 바랍니다.<br><br><span style='display: block; margin - left: calc(50 % - 77px);'>문의 : 1544 - 7660</span></span>");
}
2022-03-11 11:18:44 +09:00
}
2022-05-16 11:22:06 +09:00
else {
2025-09-30 15:12:57 +09:00
msg("<span style='font-size: 15pt;'>이미 동일한 내용의 교육을 신청,수강 또는 수료한 과정입니다.</span>");
2022-05-16 11:22:06 +09:00
}
2022-03-11 11:18:44 +09:00
}
}
2022-08-02 13:25:57 +09:00
2024-01-05 08:47:23 +09:00
2022-05-16 11:22:06 +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
2022-05-16 11:22:06 +09:00
var cnt = capResult.obj;
2020-11-09 13:29:54 +09:00
if (cnt > 0) {
2022-05-16 11:22:06 +09:00
// 강좌를 만들 수 있지만 이미 생성된 조건?
2023-01-04 12:44:00 +09:00
msg("<sapn style='font-size: 15pt;'>이미 동일한 내용의 교육을 신청,수강 또는 수료한 과정입니다.</span>");
2022-05-16 11:22:06 +09:00
return;
2020-11-09 13:29:54 +09:00
}
else {
$("#cmno").val(_cmno);
$("#smartSearchForm").attr("action", "/Course/ApplyEdu").submit();
}
2025-09-25 17:05:25 +09:00
}
2025-12-11 14:32:17 +09:00
function educationConfirmSubmit() {
if (!$("#edu-consent").prop("checked")) {
alert("주의사항을 확인하셨으면 체크해주세요.");
return;
}
2025-12-18 13:12:12 +09:00
if ($("#strVal31").val() == "notlogin") {
let searchRslt = $("#smartSearchForm").serialize();
let url = `/Account/index?${searchRslt}
&stringval17=${$("#strVal17").val()}
&stringval18=${$("#strVal18").val()}
&stringval19=${$("#strVal19").val()}
&stringval20=${$("#strVal20").val()}
&stringval21=${$("#strVal21").val()}`;
url = url.replace(/\s/g, '');
location.href = url;
} else {
checkLectIsComplete(_cmno);
}
2025-12-11 14:32:17 +09:00
}
function closeEducationPopup() {
$('#edu-layer-popup').removeClass('active');
}
2020-10-30 17:30:09 +09:00
</script>
2025-09-25 17:05:25 +09:00
@functions {
2025-12-11 14:32:17 +09:00
/// <summary>
2025-12-18 13:12:12 +09:00
/// 과정 코드(cgcode)에 따라 사용자에게 보여줄 라벨(span 태그 형태)을 반환.
2025-12-11 14:32:17 +09:00
/// </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>";
}
}
2025-09-25 17:05:25 +09:00
}