396 lines
20 KiB
Plaintext
396 lines
20 KiB
Plaintext
@model NP.Model.VMCM
|
|
<form id="mform" method="post" class="form-horizontal">
|
|
<section class="panel panel-default" style="border-top: 1px solid #ddd; margin-top: 5px;">
|
|
<header class="panel-heading"><strong><i class="fa fa-bars"></i> 기본설정<span class=""></span></strong></header>
|
|
<div class="panel-body">
|
|
<div class="form-group">
|
|
<label class="col-sm-4 col-md-2 control-label">기수 유형 | 강좌명 | 분반</label>
|
|
<div class="col-sm-8 col-md-10"><input type="text" class="form-control" disabled value="@(Model.CM.tmname) | @Model.CM.cshapename | @(Model.CM.cname) | @(Model.CM.classno)반" /></div>
|
|
</div>
|
|
<div class="line line-dashed line-lg pull-in"></div><div class="form-group">
|
|
<label class="col-sm-4 col-md-2 control-label">신청기간(교육기간)</label>
|
|
<div class="col-sm-8 col-md-10">
|
|
@(Model.CM.rsrename) (@(Model.CM.sssename))
|
|
@if (Model.CM.retimeymd != "2099-12-31")
|
|
{
|
|
<span>(@(Model.CM.ssseterm)일)</span>
|
|
}
|
|
</div>
|
|
</div>
|
|
<div class="line line-dashed line-lg pull-in"></div><div class="form-group">
|
|
<label class="col-sm-4 col-md-2 control-label">제한인원</label>
|
|
<div class="col-sm-8 col-md-10">
|
|
@(Model.CM.quotastr)
|
|
</div>
|
|
</div>
|
|
<div class="line line-dashed line-lg pull-in"></div><div class="form-group">
|
|
<label class="col-sm-4 col-md-2 control-label">신청인원</label>
|
|
<div class="col-sm-8 col-md-10">
|
|
@(Model.CM.countlect)명
|
|
</div>
|
|
</div>
|
|
<div class="line line-dashed line-lg pull-in"></div><div class="form-group">
|
|
<label class="col-sm-4 col-md-2 control-label">대기인원</label>
|
|
<div class="col-sm-8 col-md-10">
|
|
@(Model.CM.countstandby)명
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
<div>
|
|
<ul class="pagination pagination-md" style="margin: 0;">
|
|
<li class="active"><a href="#">신청현황</a></li>
|
|
<li class=""><a href="/croom/cmstandbylects?intval=@(Model.CM.cmno)">대기현황</a></li>
|
|
</ul>
|
|
</div>
|
|
<section class="panel panel-default" style="border-top: 1px solid #ddd; margin-top: 5px;">
|
|
<header class="panel-heading"><strong><i class="fa fa-bars"></i> 신청자 명단<span class=""></span></strong></header>
|
|
<div style="padding: 5px 20px; background-color: #fff;">
|
|
@Html.Partial("./Partial/Select", null, new ViewDataDictionary { { "valuetext", ":-수강상태;3:신청중;1:수강중;8:수강취소" }, { "name", "addstringval" }, { "selected", Model.addstringval }, { "onchange", "submit()" } })
|
|
@Html.Partial("./Partial/Select", null, new ViewDataDictionary { { "valuetext", ":-결제상태;0:결제대기;1:입금대기;2:결제완료;3:결제취소;4:환불신청;5:부분환불;6:전액환불" }, { "name", "addstringval2" }, { "selected", Model.addstringval2 }, { "onchange", "submit()" } })
|
|
|
|
@Html.Partial("./Partial/sembtns", "#tbody1;0;1;0;0;0;교육생안내")
|
|
|
|
<a href="#" class="btn btn-success" onclick="callexcel()">엑셀다운로드</a>
|
|
|
|
<a href="#" class="btn btn-default" onclick="golist()">목록</a>
|
|
</div>
|
|
<div class="table-responsive" id="excel1">
|
|
<table class="table table-striped b-t b-light">
|
|
<thead>
|
|
<tr>
|
|
<th><input type="checkbox" onclick="javascript: checkall('excel1', this);" /></th>
|
|
<th width="40">No</th>
|
|
<th>고객사</th>
|
|
<th>신청자(ID)</th>
|
|
<th>교육생</th>
|
|
<th>신청일</th>
|
|
<th>수강상태</th>
|
|
<th>결제상태</th>
|
|
<th>교육일</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody class="data" id="tbody1">
|
|
@foreach (var d in Model.Lects)
|
|
{
|
|
<tr>
|
|
<td><input type="checkbox" class="autocheck" value="@d.lectno" data-userno="@d.userno" /></td>
|
|
<td>@d.rnorvt</td>
|
|
<td>@d.asname</td>
|
|
<td>@(d.cnoname)(@d.cnoid)</td>
|
|
<td class="link text-center"><a href="#" onclick="viewlect(this, @d.ustatus, @d.lectno, @d.fileno, '@d.fileurl', '@d.orgname', @d.status, @d.pstatus,@d.rstatus,'@string.Format("{0}:{1}:{2}:{3}:{4}:{5}:{6}:{7}:{8}:{9}:{10}:{11}:{12}",d.asname??"",d.username, d.userid??"", d.uduty??"", d.depart??"", d.email, d.telno, d.mobile,d.ckfcfyear,d.assignuser,d.edus,d.sdate==null?"":d.sdate.Value.ToString("yyyy-MM-dd"),d.edate==null?"":d.edate.Value.ToString("yyyy-MM-dd"))')">@d.username</a>@Html.Raw(string.IsNullOrEmpty(d.fileurl) ? "" : ("<a href=\"/aCommon/DownFile?fno=" + d.fileno + "&loginfo=\"> <i class=\"fa fa-paperclip\"></i></a>"))</td>
|
|
<td>@d.cdtymd</td>
|
|
<td>@d.statusname</td>
|
|
<td class="link text-center"><a href="#" onclick="viewrefund(@d.payno, @d.pstatus, @d.payuserno)">@d.pstatusname</a></td>
|
|
@if (d.cshape == 2 && d.estart != null && d.estart > Convert.ToDateTime("1900-01-01") && d.estart >= DateTime.Now) //혼합모드라면
|
|
{
|
|
<td class="link text-center"><a href="#" onclick="jabscript: openScd(@d.lectno, @d.cmisno);">@d.estart.ToShortDateString()</a></td>
|
|
}
|
|
else
|
|
{
|
|
<td>-</td>
|
|
}
|
|
</tr>
|
|
}
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</section>
|
|
@Html.Partial("./Partial/DForm", Model, new ViewDataDictionary { })
|
|
</form>
|
|
<form id="dform" method="post" action="/croom/lectcms">
|
|
@Html.Partial("./Partial/DForm", Model, new ViewDataDictionary { { "preform", 1 } })
|
|
</form>
|
|
<div id="thisbox" class="findbox draggable regbox" style="width: 600px; z-index: 1041; top: 60px; overflow: auto;">
|
|
<h4><i class="fa fa-bars"></i> <span id="pcap">교육생 정보</span><a href="#" class="btn btn-default btn-xs f-r closethisbox">닫기</a></h4>
|
|
<table class="regtable">
|
|
<colgroup><col style="width:150px;" /><col /></colgroup>
|
|
<tr><th>고객사</th><td id="asname"></td></tr>
|
|
@*<tr><th>사업장과의관계</th><td id="assignuser"></td></tr>*@
|
|
<tr><th>이름(ID)</th><td id="usernameid"></td></tr>
|
|
<tr><th>직위</th><td id="positiondepart"></td></tr>
|
|
@*@if(Model.CM.cgno != 10)
|
|
{
|
|
<tr><th>공정거래업무경력</th><td id="ckfcfyear"></td></tr>
|
|
}*@
|
|
<tr><th>이메일</th><td id="email"></td></tr>
|
|
@*<tr><th>회사전화번호</th><td id="telno"></td></tr>*@
|
|
<tr><th>휴대전화번호</th><td id="mobile"></td></tr>
|
|
@*<tr><th>연합회 교육이력</th><td id="edus"></td></tr>*@
|
|
<tr><th>교육기간</th><td>@Html.Partial("./Partial/Date", (DateTime?)null, new ViewDataDictionary { { "name", "sdate" } }) ~ @Html.Partial("./Partial/Date", (DateTime?)null, new ViewDataDictionary { { "name", "edate" } })<a href="#" id="btnchange" class="btn btn-info" onclick="change();">저장</a></td></tr>
|
|
<tr class="trhidebox" style="@(Model.CM.certcc == null ? "display: none;":"")"><th>경력증명서</th><td id="filelist"></td></tr>
|
|
<tr class="trhidebox" style="@(Model.CM.certcc == null ? "display: none;":"")"><th>심사여부</th><td>@Html.Partial("./Partial/Radio", null, new ViewDataDictionary() { { "valuetext", "3:신청중;4:승인;5:미승인" }, { "checked", 3 }, { "name", "status" } })</td></tr>
|
|
</table>
|
|
<div class="findboxbtnbox" id="btnsavelect">
|
|
<a href="#" class="btn btn-primary" onclick="save();">심사여부 저장</a>
|
|
</div>
|
|
<br /><br />
|
|
</div>
|
|
|
|
<div id="changebox" class="findbox draggable regbox" style="width: 500px; z-index: 1041; top: 60px; overflow: auto;">
|
|
<h4><i class="fa fa-bars"></i> <span id="pcap">변경강좌 선택</span><a href="#" class="btn btn-default btn-xs f-r closethisbox">닫기</a></h4>
|
|
<div style="padding: 20px 20px;">동일한 과정 중, 교육기간이 끝나지 않은 강좌들을 대상으로만 변경이 가능합니다.</div>
|
|
<ul id="changelist"></ul>
|
|
<br /><br />
|
|
</div>
|
|
|
|
<div id="scdbox" class="findbox draggable regbox" style="width: 400px; z-index: 1041; top: 60px; overflow: auto;">
|
|
<h4><i class="fa fa-bars"></i> <span id="pcap">교육일정변경</span><a href="#" class="btn btn-default btn-xs f-r closethisbox">닫기</a></h4>
|
|
<ul id="ulScd"></ul>
|
|
<div class="findboxbtnbox" id="btnsavelect">
|
|
<a href="#" class="btn btn-primary" onclick="updateScd();">선택완료</a>
|
|
</div>
|
|
</div>
|
|
@section styles{
|
|
<style type="text/css">
|
|
#changelist {
|
|
border: 1px solid #ddd;
|
|
padding: 15px 20px;
|
|
max-height: 250px;
|
|
overflow: auto;
|
|
}
|
|
|
|
#changelist li {
|
|
padding: 3px;
|
|
}
|
|
|
|
#changelist li:hover {
|
|
background-color: #ddd;
|
|
}
|
|
|
|
#changelist li a {
|
|
text-decoration: underline;
|
|
}
|
|
</style>
|
|
}
|
|
@section scriptsHeader{
|
|
@Html.Partial("./Partial/semscript")
|
|
@Html.Partial("./Partial/ScriptDate")
|
|
}
|
|
@section scripts{
|
|
<script>
|
|
var selectedLectno;
|
|
var selectedCmisno;
|
|
$(document).ready(function () {
|
|
|
|
});
|
|
function leave() {
|
|
if ($("#tbody1 tr input.autocheck:checked").length < 1) {
|
|
msg("탈퇴처리할 교육생을 선택해주세요.");
|
|
} else if (confirm("선택한 교육생을 탈퇴처리하시겠습니까?")) {
|
|
var nos = "";
|
|
$.each($("#tbody1 tr input.autocheck:checked"), function (i, c) {
|
|
nos += "," + $(c).attr("data-userno");
|
|
});
|
|
capp("/acommon/userleave", { usernos: nos.substr(1) }, "cbcap(0)");
|
|
}
|
|
}
|
|
function cbcap(no) {
|
|
if (no == 0) {
|
|
if (capResult.code == 1000) {
|
|
msg("탈퇴처리되었습니다.", null, null, null, true);
|
|
submit("mform", 500, true);
|
|
} else { msg("이미 탈퇴된 회원입니다."); }
|
|
}
|
|
}
|
|
function callexcel() {
|
|
location.href = '/croom/cmlects?isexceldown=1&intval=@Model.CM.cmno&addstringval=' + val('addstringval') + '&addstringval2=' + val('addstringval2');
|
|
}
|
|
var _lectno;
|
|
var _pstatus;
|
|
var _rstatus;
|
|
function viewlect(a, ustatus, lectno, fileno, fileurl, orgname, status,pstatus,rstatus, datas) {
|
|
if (ustatus != 99) {
|
|
_lectno = lectno;
|
|
_pstatus = pstatus;
|
|
_rstatus = rstatus;
|
|
var ds = datas.split(':');
|
|
$("#asname").text(ds[0]);
|
|
$("#assignuser").text(ds[8]);
|
|
$("#usernameid").text(ds[1] + "(" + ds[2] + ")");
|
|
$("#positiondepart").text(ds[3]);
|
|
$("#ckfcfyear").text(ds[9]);
|
|
$("#email").text(ds[5]);
|
|
$("#telno").text(ds[6]);
|
|
$("#mobile").text(ds[7]);
|
|
$("#sdate").val(ds[11]);
|
|
$("#edate").val(ds[12]);
|
|
$("#edus").text("");
|
|
if (!isnulloremt(String(ds[10]))) {
|
|
if (String(ds[10]).substr(0, 1) != "0") { $("#edus").append("| 공정거래일반:" + String(ds[10]).substr(0, 1) + "회 | " + "<br/>") }
|
|
if (String(ds[10]).substr(1, 1) != "0") { $("#edus").append("| 불공정거래행위:" + String(ds[10]).substr(1, 1) + "회 | " + "<br/>") }
|
|
if (String(ds[10]).substr(2, 1) != "0") { $("#edus").append("| 부당한공동행위:" + String(ds[10]).substr(2, 1) + "회 | " + "<br/>") }
|
|
if (String(ds[10]).substr(3, 1) != "0") { $("#edus").append("| 하도급거래:" + String(ds[10]).substr(3, 1) + "회 | " + "<br/>") }
|
|
if (String(ds[10]).substr(4, 1) != "0") { $("#edus").append("| 부당내부거래:" + String(ds[10]).substr(4, 1) + "회 | " + "<br/>") }
|
|
}
|
|
bglayer(); $("#thisbox").slideDown("fast");
|
|
$("#filelist").html("");
|
|
if ((fileurl || "") != "") {
|
|
$("#filelist").html("<a href=\"/aCommon/DownFile?fno=" + fileno + "&loginfo=\">" + orgname + "</a>");
|
|
}
|
|
$("#btnsavelect, tr.trhidebox").hide();
|
|
if ('@ViewBag.TestCode' == '@Model.CM.pcgcode' && (status == 3 || status==4 || status==5)) {
|
|
setrv("status", status);
|
|
$("#btnsavelect, tr.trhidebox").show();
|
|
if (pstatus == 1) {
|
|
$("#btnsavelect").attr("style", "display:none;");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
function change() {
|
|
if (($("#sdate").val == null) || ($("#edate").val == null)) {
|
|
msg2("교육기간을 입력한 후 저장해주세요.");
|
|
} else if (confirm("교육기간을 수정하시겠습니까?")) {
|
|
capp("/acommon/lectsedatechange", { lectno: _lectno, sdate: $("#sdate").val(), edate: $("#edate").val(), pstatus: _pstatus, rstatus: _rstatus }, "cbsedatechange", null, null, null, true);
|
|
}
|
|
}
|
|
function cbsedatechange() {
|
|
if (capResult.code == 1000) {
|
|
msg2("상태를 변경했습니다.", null, null, null, true);
|
|
submit("mform", 500, true);
|
|
} else if (capResult.code == -1) {
|
|
msg("결제가 완료가 아닌 대상은 상태를 변경할 수 없습니다.");
|
|
$("#thisbox").slideUp('fast'); $('#bglayer').hide();
|
|
}
|
|
}
|
|
function save() {
|
|
if ($("#status3").prop("checked")) {
|
|
msg2("승인 또는 미승인을 선택 후 저장해주세요.");
|
|
}else if (confirm("심사상태를 저장하시겠습니까?")) {
|
|
capp("/acommon/lectstatus", { lectno: _lectno, status: getrv("status"),pstatus:_pstatus }, "cbsave", null, null, null, true);
|
|
}
|
|
}
|
|
function cbsave() {
|
|
if (capResult.code == 1000) {
|
|
msg2("상태를 변경했습니다.", null, null, null, true);
|
|
submit("mform", 500, true);
|
|
} else if (capResult.code == -1) {
|
|
msg("결제가 완료된 대상은 상태를 변경할 수 없습니다.");
|
|
}
|
|
else { msgadmin2(); }
|
|
}
|
|
var _lectno;
|
|
function changecm(no) {
|
|
_lectno = no;
|
|
$("#changelist").html("");
|
|
capp("/acommon/cmforchange", { cmno: @Model.CM.cmno }, "cbchangecm", null, null, null, true);
|
|
}
|
|
function cbchangecm() {
|
|
$.each(capResult.obj, function (i, d) {
|
|
$("#changelist").append("<li><a href=\"#\" onclick=\"gochange(" + d.cmno + ")\"># " + d.cname + " " + d.tmname + " " + d.classno + " 반 " + d.cshapename + "</a></li>");
|
|
});
|
|
if (capResult.obj.length < 1) {
|
|
$("#changelist").append("<li>- 변경할 수 있는 개설강좌가 없습니다.</li>");
|
|
}
|
|
bglayer(); $("#changebox").slideDown("fast");
|
|
}
|
|
function gochange(cmno) {
|
|
if (confirm("선택하신 강좌로 변경하시겠습니까?")) {
|
|
capp("/acommon/lectchange", { lectno: _lectno, cmno: cmno }, "cbgochange", null, null, null, true);
|
|
}
|
|
}
|
|
function cbgochange() {
|
|
if (capResult.code == 1000) {
|
|
msg2("강좌를 변경했습니다.", null, null, null, true);
|
|
submit("mform", 500, true);
|
|
} else { msgadmin2(); }
|
|
}
|
|
function viewrefund(payno, pstatus, userno) {
|
|
if (pstatus != 1) {
|
|
winopen("/croom/payview?isexamready=0&payno=" + payno + "&userno=" + userno, 'payview', 1200, screen.height - 200);
|
|
} else {
|
|
winopen("/croom/payrefund?payno=" + payno, 'payview', 1200, screen.height - 200);
|
|
}
|
|
}
|
|
function thisrefresh() {
|
|
submit();
|
|
}
|
|
function del() {
|
|
if ($("#tbody1 tr input.autocheck:checked").length < 1) {
|
|
msg("삭제처리할 교육생을 선택해주세요.");
|
|
} else if (confirm("선택한 교육생을 삭제처리하시겠습니까?")) {
|
|
var nos = "";
|
|
$.each($("#tbody1 tr input.autocheck:checked"), function (i, c) {
|
|
nos += "," + $(c).attr("data-userno");
|
|
});
|
|
//capp("/acommon/userleave", { usernos: nos.substr(1) }, "cbcap(0)");
|
|
}
|
|
}
|
|
|
|
|
|
function setScd() {
|
|
capp("/acommon/GetScdForMixEdu", { cmno: @Model.CM.cmno }, "renderScd");
|
|
}
|
|
function renderScd() {
|
|
var ulScd = $("#ulScd");
|
|
ulScd.empty();
|
|
var seq = 0;
|
|
$.each(capResult.obj, function (i, d) {
|
|
var li = $("<li />");
|
|
if (d.isEnd == true)
|
|
{
|
|
li.append("<label style='cursor: pointer'><input type='radio' name='rdoScds' value='" + d.cmisno + "' disabled><span style='color:gray'>" + d.scdInfoSummary + "</span><label style='color: red'> (종료)</label></label>");
|
|
}
|
|
else
|
|
{
|
|
if (d.quota != 0) {
|
|
if (d.remainPeople <= 0) {
|
|
li.append("<label style='cursor: pointer'><input type='radio' name='rdoScds' value='" + d.cmisno + "' disabled<span style='color:gray'>" + d.scdInfoSummary + "</span><label style='color: red'> (마감)</label></label>");
|
|
}
|
|
else {
|
|
if (seq == 0) {
|
|
li.append("<label style='cursor: pointer'><input type='radio' name='rdoScds' value='" + d.cmisno + "'>" + d.scdInfoSummary + "<label style='color: red'> (" + d.remainPeople + "명 남음)</label></label>");
|
|
}
|
|
else {
|
|
li.append("<label style='cursor: pointer'><input type='radio' name='rdoScds' value='" + d.cmisno + "'>" + d.scdInfoSummary + "<label style='color: red'> (" + d.remainPeople + "명 남음)</label></label>");
|
|
}
|
|
}
|
|
}
|
|
else {
|
|
if (seq == 0) {
|
|
li.append("<label style='cursor: pointer'><input type='radio' name='rdoScds' value='" + d.cmisno + "'>" + d.scdInfoSummary + "</label>");
|
|
}
|
|
else {
|
|
li.append("<label style='cursor: pointer'><input type='radio' name='rdoScds' value='" + d.cmisno + "'>" + d.scdInfoSummary + "</label>");
|
|
}
|
|
}
|
|
}
|
|
seq++;
|
|
ulScd.append(li);
|
|
});
|
|
|
|
$("input:radio[name='rdoScds']:radio[value='" + selectedCmisno + "']").prop('checked', true);
|
|
}
|
|
function openScd(lectno, cmisno) {
|
|
selectedLectno = lectno;
|
|
selectedCmisno = cmisno;
|
|
$.when(
|
|
setScd()
|
|
).done(function () {
|
|
setTimeout(function () {
|
|
bglayer();
|
|
$("#scdbox").slideDown("fast");
|
|
},200);
|
|
});
|
|
}
|
|
|
|
function updateScd() {
|
|
if (confirm("교육일정을 변경하시겠습니까?")) {
|
|
var cmisno = $("input:radio[name=rdoScds]:checked").val();
|
|
capp("/acommon/LectScdChange", { lectno: selectedLectno, cmisno: cmisno }, "afterUpdateScd");
|
|
}
|
|
}
|
|
function afterUpdateScd() {
|
|
if (capResult.code > 0) {
|
|
msg("교육일정을 변경하였습니다.");
|
|
submit("mform", 500, true);
|
|
}
|
|
else {
|
|
msg("관리자에게 문의하세요.");
|
|
return;
|
|
}
|
|
}
|
|
</script>
|
|
}
|