1303 lines
50 KiB
Plaintext
1303 lines
50 KiB
Plaintext
@model NP.Model.VMCourse
|
|
@{
|
|
|
|
var host = Request.Url.Host;
|
|
|
|
// 개발과 로컬일 때 스마트검색 결과의 검색영역 보임 처리
|
|
bool isDevSite = (host == "www.ynicte.com" || host == "ynicte.nptc.kr");
|
|
string firstSchBoxDisplayStyle = isDevSite ? "" : "display:none;";
|
|
|
|
}
|
|
<style>
|
|
.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;
|
|
}
|
|
|
|
#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: 24px;
|
|
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;
|
|
}
|
|
|
|
.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: 14px;
|
|
margin-top: 30px;
|
|
color: #333;
|
|
font-weight: 600;
|
|
text-align: center;
|
|
}
|
|
|
|
.edu-consent-check {
|
|
margin-top: 10px;
|
|
text-align: center;
|
|
font-size: 16px;
|
|
}
|
|
|
|
.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;
|
|
}
|
|
}
|
|
|
|
@@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: 16px;
|
|
line-height: 1.6;
|
|
}
|
|
|
|
.edu-details-btn {
|
|
width: 180px;
|
|
font-size: 14px;
|
|
}
|
|
|
|
.edu-popup-content .info {
|
|
font-size: 14px;
|
|
}
|
|
|
|
.edu-consent-check {
|
|
font-size: 14px;
|
|
}
|
|
|
|
.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 끝 --- */
|
|
</style>
|
|
|
|
<div class="container">
|
|
<div class="schBox" style="@firstSchBoxDisplayStyle">
|
|
<form id="smartSearchForm" method="post">
|
|
<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>
|
|
|
|
</div>
|
|
|
|
<div class="clsPop" id="divIntro" style="display:none;">
|
|
<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>
|
|
</div>
|
|
|
|
<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>
|
|
|
|
<script type="text/javascript">
|
|
var _cmno;
|
|
$(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("교육과정선택");
|
|
|
|
$('#liTab1').click(function () {
|
|
$.when(
|
|
$("#stringval").val("0"),
|
|
$("#stringval3").val(""),
|
|
$("#stringval4").val(""),
|
|
$("#stringval5").val(""),
|
|
$("#stringval6").val("")
|
|
).done(function () {
|
|
$("#smartSearchForm").submit();
|
|
});
|
|
|
|
});
|
|
|
|
$('#liTab2').click(function () {
|
|
$.when(
|
|
$("#stringval").val("1"),
|
|
$("#stringval3").val(""),
|
|
$("#stringval4").val(""),
|
|
$("#stringval5").val(""),
|
|
$("#stringval6").val("")
|
|
).done(function () {
|
|
$("#smartSearchForm").submit();
|
|
});
|
|
});
|
|
|
|
$('#btnSearch').click(function () {
|
|
if ($("#liTab1").hasClass("current")) {
|
|
$("#stringval").val("0");
|
|
}
|
|
else if ($("#liTab2").hasClass("current")) {
|
|
$("#stringval").val("1");
|
|
}
|
|
setTimeout(function () {
|
|
$("#smartSearchForm").submit();
|
|
}, 1000);
|
|
});
|
|
|
|
$("#stringval").change(function () {
|
|
$("#smartSearchForm").submit();
|
|
});
|
|
|
|
$("#stringval2").change(function () {
|
|
$("#stringval3").val("");
|
|
$("#stringval4").val("");
|
|
$("#stringval5").val("");
|
|
$("#stringval6").val("");
|
|
$("#smartSearchForm").submit();
|
|
});
|
|
|
|
$("#stringval3").change(function () {
|
|
$("#stringval4").val("");
|
|
$("#stringval5").val("");
|
|
$("#stringval6").val("");
|
|
$("#smartSearchForm").submit();
|
|
});
|
|
|
|
$("#stringval4").change(function () {
|
|
$("#stringval5").val("");
|
|
$("#stringval6").val("");
|
|
$("#smartSearchForm").submit();
|
|
});
|
|
|
|
$("#stringval5").change(function () {
|
|
$("#stringval6").val("");
|
|
$("#smartSearchForm").submit();
|
|
});
|
|
|
|
$("#stringval6").change(function () {
|
|
$("#smartSearchForm").submit();
|
|
});
|
|
});
|
|
|
|
function openIntro(cmno) {
|
|
$(".spnCmEduname").hide();
|
|
$(".spnCmUsername").hide();
|
|
$(".spnCmIntroHtml").hide();
|
|
$(".spnCmTargetHtml").hide();
|
|
$(".spnCmGoalHtml").hide();
|
|
$(".spnCmContentHtml").hide();
|
|
$("#divIntro").show();
|
|
|
|
capp("/focommon/getcmuser", { cmno: cmno }, "renderCmNo");
|
|
}
|
|
|
|
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;
|
|
|
|
cmkind = typeman + " | " + typeedu + " | " + typegrade + " | " + typejob;
|
|
|
|
if ($("#stringval").val() == "1") {
|
|
cmkind = $("#stringval3").find("option:selected").text();
|
|
}
|
|
|
|
$.each(capResult.obj, function (i, d) {
|
|
//20220729 온라인인경우 수료기준을 보여준다.
|
|
if (@(Model.stringval2 == null ? 0 : Convert.ToInt32(Model.stringval2)) == 1) {
|
|
$("#completeStd").hide();
|
|
}
|
|
else if (@(Model.stringval2 == null ? 0 : Convert.ToInt32(Model.stringval2)) == 2) {
|
|
$("#completeStd").show();
|
|
}
|
|
|
|
$("#spnCmTitle").text(d.text);
|
|
$("#spnCmKind").text(cmkind);
|
|
$("#spnCmStudyHour").text(d.studytime);
|
|
$("#spnCmAttend").text(d.attendcut);
|
|
$("#spnCmFinal").text(d.finalcut);
|
|
$("#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();
|
|
}
|
|
|
|
|
|
if (d.introhtml != null && d.introhtml != "" && d.introhtml != undefined) {
|
|
$("#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();
|
|
}
|
|
|
|
if (d.isoffabs == 1 && d.cshape == 2) {
|
|
$("#spnisoffabs").text(", 집체교육 7시간 참석")
|
|
}
|
|
else {
|
|
$("#spnisoffabs").text("")
|
|
}
|
|
});
|
|
}
|
|
|
|
function closeIntro() {
|
|
$("#divIntro").hide();
|
|
}
|
|
|
|
function setStudyplace(v, cmno) {
|
|
$("#divPlace_" + cmno + " > li").removeClass("current");
|
|
$(v).addClass("current");
|
|
}
|
|
|
|
//20220726 교육장, 교육일정 조회
|
|
function getCmInning(cshape, cmno) {
|
|
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 + ")"
|
|
);
|
|
}
|
|
else {
|
|
divInfo.empty();
|
|
divPlace.empty();
|
|
divPlace.hide();
|
|
divScd.empty();
|
|
btnSelect.html('교육신청');
|
|
}
|
|
}
|
|
|
|
//20220729 교육장 또는 교육장별 교육일정 정보 생성
|
|
// job (1=교육장정보+교육일정 활성화, 0=교육일정만 활성화)
|
|
function renderScdInning(job, cshape, cmno) {
|
|
let strTmp = "";
|
|
let strStudyPlaceTag = "";
|
|
var divPlace = $("#divPlace_" + cmno);
|
|
var divInfo = $("#divInfo_" + cmno);
|
|
var divScd = $("#divScd" + cmno);
|
|
let typeedu = $("#typeedu").val();
|
|
let typeedu2 = $("#typeedu2_" + cmno).val();
|
|
let tpEdu = false;
|
|
|
|
if (job == 1) {
|
|
divInfo.empty();
|
|
divPlace.empty();
|
|
|
|
//2025-12-01 / KHJ / typeedu 다중 값 처리 (30,35,31)
|
|
$.each(typeedu2.split(','), function (i, item) {
|
|
if (item == "32" || item == "108") {
|
|
tpEdu = true; //"안전관리계속교육"
|
|
}
|
|
});
|
|
|
|
if (cshape == 1) //오프라인
|
|
{
|
|
strTmp = "<p style='margin-bottom: 30px; color:red;font-weight: bold; font-size: 14pt;'>" +
|
|
"※ 선택한 일정에 신청인원이 적은 경우 교육시행 여부가 변경 될 수 있습니다.</p>";
|
|
}
|
|
else if (cshape == 2 && tpEdu == true) //온라인 & 안전관리계속교육
|
|
{
|
|
strTmp = "<span style='font-weight: bold; font-size: 14pt;color:red;'>※ 교육비 입금과 동시에 동영상강의 시청이 가능합니다.</span><br>" +
|
|
"</div><br><span class='clsTitle'>교육종료일을 선택하여 주세요.</span>";
|
|
}
|
|
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);
|
|
var dateNumber = parseFloat(year + month + day);
|
|
|
|
if (dateNumber > @(System.Web.Configuration.WebConfigurationManager.AppSettings["2024ExDate2"])) {
|
|
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>";
|
|
}
|
|
}
|
|
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;
|
|
}, []);
|
|
|
|
// 오름차순
|
|
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>";
|
|
|
|
$.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>";
|
|
});
|
|
}
|
|
}
|
|
|
|
// 교육장소 생성하기
|
|
if (cshape > 0 && strStudyPlaceTag != '') {
|
|
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);
|
|
}
|
|
|
|
$.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 + "' ";
|
|
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 != '') {
|
|
strStudyPlacename = '[' + d.studyplacename + '교육장]';
|
|
}
|
|
|
|
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>");
|
|
}
|
|
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);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
li.append(pData);
|
|
li.append('<input type="hidden" id="pcmno_'+d.pcmno+'_cgcode" name="pcmno_cgcodes" value="' + d.cgcode + '")" />');
|
|
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;
|
|
}
|
|
|
|
if (issearchable) {
|
|
capp("/focommon/GetScdForMixEdu", { cmno: cmno, studyPlace: studyPlace}, "renderScdInning(0, " + cshape + "," + cmno + ")");
|
|
}
|
|
}
|
|
|
|
//20220729 개발전
|
|
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;
|
|
}
|
|
|
|
if (issearchable) {
|
|
_cmno = no;
|
|
if (cshape == 1) {
|
|
$("#divPlace_" + no).show();
|
|
}
|
|
else {
|
|
$("#divPlace_" + no).hide();
|
|
}
|
|
|
|
capp("/focommon/getsubcm", { cmno: no, studyplace: place }, "renderSubCmGrid");
|
|
}
|
|
}
|
|
|
|
//20220729 개발전
|
|
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 +");" });
|
|
var spanIntro = $("<span />", { "class": "smtlChkBtn smtlChk01", "style":"right:130px; font-size:18px;"});
|
|
var span = $("<span />", { "class": "smtlChkBtn smtlChk03" , "style": "font-size:18px" });
|
|
|
|
if (d.quota != 0) {
|
|
var cnt = d.quota - d.lectcnt;
|
|
if (cnt <= 0) {
|
|
span = $("<span />", { "class": "smtlChkBtn smtlChk02" ,"style": "font-size:18px" });
|
|
span.text("대기접수");
|
|
}
|
|
else {
|
|
span = $("<span />", { "class": "smtlChkBtn smtlChk02", "style": "font-size:18px" });
|
|
span.text("수강신청");
|
|
}
|
|
}
|
|
else {
|
|
span = $("<span />", { "class": "smtlChkBtn smtlChk02" ,"style": "font-size:18px" });
|
|
span.text("수강신청");
|
|
}
|
|
|
|
if (d.cshape == 0) {
|
|
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>");
|
|
}
|
|
else if (d.cshape == 1) {
|
|
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>");
|
|
}
|
|
else if (d.cshape == 2) {
|
|
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>");
|
|
}
|
|
|
|
spanIntro.text("강좌소개");
|
|
li.append(p);
|
|
a.append(spanIntro);
|
|
li.append(a);
|
|
a2.append(span);
|
|
li.append(a2);
|
|
ulSubCm.append(li);
|
|
|
|
});
|
|
if (ulSubCm.html() != "") {
|
|
//ulSubCm.append(applyClass);
|
|
}
|
|
if (capResult.obj.length <= 0) {
|
|
ulSubCm.append("<p class='subDsc' style='margin-top:30px; margin-bottom:30px'>※ 강좌가 없습니다.</p >");
|
|
}
|
|
}
|
|
|
|
@*/** 수강신청 버튼 클릭 */*@
|
|
function applyClassEdu(cmno, pcmno, cmino, cmisno) {
|
|
var uno = ('@ViewBag.SSUserNo' != '') ? parseInt(@ViewBag.SSUserNo) : 0;
|
|
|
|
if (uno > 0) {
|
|
|
|
$("#cmino").val(cmino);
|
|
$("#cmisno").val(cmisno);
|
|
|
|
checkLectCompleteEdu(cmno, "@Model.stringval3", "@Model.stringval4", "@Model.stringval5", "@Model.stringval6", $("#pcmno_" + pcmno + "_cgcode").val(), pcmno, "chkLectNew");
|
|
}
|
|
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;
|
|
|
|
return;
|
|
}
|
|
}
|
|
|
|
//20220729 개발전
|
|
function applyClass(cmno, pcmno) {
|
|
//수강신청
|
|
if (@ViewBag.SSUserNo > 0) {
|
|
checkLectComplete(cmno, "@Model.stringval3", "@Model.stringval4", "@Model.stringval5", "@Model.stringval6", $("#pcmno_" + pcmno + "_cgcode").val(), pcmno, "chkLect");
|
|
}
|
|
else {
|
|
msg("로그인 후 신청 할 수 있습니다.");
|
|
return;
|
|
}
|
|
}
|
|
|
|
let _edu = 0;
|
|
let _cgcode = 0;
|
|
let _grade = 0;
|
|
|
|
function checkLectCompleteEdu(cmno, man, edu, grade, job, cgcode, pcmno) {
|
|
_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
|
|
// }, "chkLect"); // 1
|
|
capp("/focommon/GetCheckLectIs",
|
|
{
|
|
cmno: cmno,
|
|
man: man,
|
|
edu: edu,
|
|
grade: grade,
|
|
job1: job,
|
|
cgcode: cgcode,
|
|
pcmno: pcmno
|
|
}, "chkLectNew"); // 1
|
|
}
|
|
|
|
//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) {
|
|
let resultCode = capResult.obj;
|
|
let str3 = $("#stringval3").val(); //걸설사업관리기술인(28)
|
|
let str4 = $("#stringval4").val(); //계속교육(31)
|
|
let str5 = $("#stringval5").val(); //고급(38)/특급(39)
|
|
let chkMsg = "";
|
|
|
|
if (resultCode == 0) {
|
|
//2025-12-09 / KHJ / 역량강화교육 알림창
|
|
if (str3 == 28 && str4 == 31 && (str5 == 38 || str5 == 39)) {
|
|
$('#edu-layer-popup').addClass('active');
|
|
return;
|
|
}
|
|
|
|
|
|
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;
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
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. 건설사업관리 고급 승급교육으로 2과정을 받을 때 역량강화 또는 전문분야교육 중 하나만 이수 가능" +
|
|
"<br>2. 건설사업관리 고급 승급교육으로 1과정 특급 승급교육으로 1과정 을 이수해야 할 때는 등급이 틀리므로 각각 등급에서 한번씩 이수 가능" +
|
|
"<br>3. 건설사업관리 고급 승급교육 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;'>" +
|
|
" 이미 같은 교육목적과 등급으로 신청 또는 이수한 내역이 있습니다." +
|
|
"<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>");
|
|
}
|
|
}
|
|
else {
|
|
msg("<span style='font-size: 15pt;'>이미 동일한 내용의 교육을 신청,수강 또는 수료한 과정입니다.</span>");
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
function checkLectIsComplete(cmno) { //3
|
|
capp("/focommon/GetCheckLectIsComplete", { cmno: cmno }, "check");
|
|
}
|
|
|
|
function check() { //4 ->>2
|
|
var cnt = capResult.obj;
|
|
if (cnt > 0) {
|
|
// 강좌를 만들 수 있지만 이미 생성된 조건?
|
|
msg("<sapn style='font-size: 15pt;'>이미 동일한 내용의 교육을 신청,수강 또는 수료한 과정입니다.</span>");
|
|
return;
|
|
}
|
|
else {
|
|
$("#cmno").val(_cmno);
|
|
$("#smartSearchForm").attr("action", "/Course/ApplyEdu").submit();
|
|
}
|
|
}
|
|
|
|
function educationConfirmSubmit() {
|
|
if (!$("#edu-consent").prop("checked")) {
|
|
alert("주의사항을 확인하셨으면 체크해주세요.");
|
|
return;
|
|
}
|
|
|
|
checkLectIsComplete(_cmno);
|
|
}
|
|
function closeEducationPopup() {
|
|
$('#edu-layer-popup').removeClass('active');
|
|
}
|
|
</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>";
|
|
}
|
|
}
|
|
|
|
} |