YNICTE/BO/Views/croom/cmlects.cshtml

512 lines
25 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)
@if (Model.CM.retimeymd != "2099-12-31")
{
<span>
(@(Model.CM.sssename))
(@(Model.CM.ssseterm)일)
</span>
}
else
{
<span>
/ (@(Model.CM.studydays)일)
</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()" } })
<div id="divedudate" style="display:inline-block"></div>
@Html.Partial("./Partial/Text", Model.addstringval5, Helpers.DicText(new NP.Model.TextDic() { Name = "addstringval5", Value = Model.addstringval5, PH = "ID 또는 이름을 입력하세요.", CssClass = "", Style = "width:250px; display:inline-block;" }))
<a href="#" class="btn btn-default" onclick="submit()" id="btnsearchtext">검색</a>
&nbsp;&nbsp;
@Html.Partial("./Partial/sembtns", "#tbody1;0;1;0;0;0;교육생안내")
&nbsp;&nbsp;
@if (!ViewBag.IsSubAdmin96)
{
<a href="#" class="btn btn-success" onclick="callexcel()">엑셀다운로드</a>
//location.href = '/croom/cmlects?isexceldown=1&intval=@Model.CM.cmno&addstringval=' + val('addstringval') + '&addstringval2=' + val('addstringval2');
@*<a href="#" onclick="javascript:callComment('mform', '/croom/cmlects', 'tbody1', 'ProductSales', 23);" class="btn btn-s-xs btn-success" style="margin-left: 5px;">엑셀다운로드</a>*@
@Html.Raw("&nbsp;&nbsp;");
}
<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>
<th>환급</th>
</tr>
</thead>
<tbody class="data" id="tbody1">
@foreach (var d in Model.Lects)
{
if (!ViewBag.IsSubAdmin96)
{
<tr>
<td><input type="checkbox" class="autocheck" value="@d.lectno" data-userno="@d.userno" /></td>
<td>@d.rnorvt</td>
<td class="link text-center"><a href="#" onclick="viewas(@d.asno);">@d.asname</a></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}:{13}:{14}:{15}:{16}:{17}:{18}", 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.typeman, d.typejob, d.typeedu, d.typegrade, d.pplno, d.typejobitem)')">@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.iscomplete != 1) //혼합모드라면
{
<td class="link text-center"><a href="#" onclick="javascript: openScd(@Model.CM.cmno,@d.lectno, @d.cmisno);">@d.estart.ToShortDateString()</a></td>
}
else
{
<td>-</td>
}
@if (d.cshape == 1 && d.isrebate == 1)
{
<td class="link text-center"><a href="#" onclick="viewrefund(@d.payno, 0, @d.payuserno)">@d.isrebatename</a></td>
}
else
{
<td>-</td>
}
</tr>
}
else
{
<tr>
<td><input type="checkbox" class="autocheck" value="@d.lectno" data-userno="@d.userno" /></td>
<td>@d.rnorvt</td>
<td class="link text-center">@d.asname</td>
<td>@(d.cnoname)(@d.cnoid)</td>
<td class="link text-center">@d.username@Html.Raw(string.IsNullOrEmpty(d.fileurl) ? "" : (" <i class=\"fa fa-paperclip\"></i>"))</td>
<td>@d.cdtymd</td>
<td>@d.statusname</td>
<td class="link text-center">@d.pstatusname</td>
@if (d.cshape == 2 && d.estart != null && d.estart > Convert.ToDateTime("1900-01-01") && d.estart.ToShortDateString() != "0001-01-01" && d.estart >= DateTime.Now) //혼합모드라면
{
<td class="link text-center">@d.estart.ToShortDateString()</td>
}
else
{
<td>-</td>
}
@if (d.cshape == 1 && d.isrebate == 1)
{
<td class="link text-center">@d.isrebatename</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>
@Html.Partial("./Partial/ExcelCommentBox")
<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>이름(ID)</th><td id="usernameid"></td></tr>
<tr><th>직위</th><td id="positiondepart"></td></tr>
<tr><th>이메일</th><td id="email"></td></tr>
<tr><th>휴대전화번호</th><td id="mobile"></td></tr>
<tr style="display: none;"><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>
<tr>
<th>기술인분류</th>
<td>
<select class="form-control dev" id="selTypeman" name="selTypeman">
@foreach (var t in Model.ComCodes.Where(w => w.cgroup.ToString() == "typeman"))
{
<option value="@t.ccode">@t.cname</option>
}
</select>
</td>
</tr>
<tr>
<th>직무분야</th>
<td>
<select class="form-control dev" id="selTypejob" name="selTypejob">
@foreach (var t in Model.ComCodes.Where(w => w.cgroup.ToString() == "typejob"))
{
<option value="@t.ccode">@t.cname</option>
}
</select>
</td>
</tr>
<tr>
<th>전문분야</th>
<td>
<select class="form-control dev" id="selTypejobItem" name="selTypejobItem">
@{
List<string> tempList = ((string)ViewBag.JobTypeItems).Split(',').ToList();
foreach (var t in Model.ComCodes.Where(w => tempList.Contains(w.cgroup)))
{
<option value="@t.ccode" class="jobTypeItems" name="@t.cgroup">@t.cname</option>
}
}
</select>
</td>
</tr>
<tr>
<th>교육목적</th>
<td>
<select class="form-control dev" id="selTypeedu" name="selTypeedu">
@foreach (var t in Model.ComCodes.Where(w => w.cgroup.ToString() == "typeedu"))
{
<option value="@t.ccode">@t.cname</option>
}
</select>
</td>
</tr>
<tr>
<th>등급</th>
<td>
<select class="form-control dev" id="selTypegrade" name="selTypegrade">
@foreach (var t in Model.ComCodes.Where(w => w.cgroup.ToString() == "typegrade"))
{
<option value="@t.ccode">@t.cname</option>
}
</select>
</td>
</tr>
</table>
<div class="findboxbtnbox" id="btnsavelect">
<a href="#" class="btn btn-primary" onclick="save();">심사여부 저장</a>
</div>
<div class="findboxbtnbox" id="btnsavetype">
<a href="#" class="btn btn-primary" onclick="savetype();">교육신청정보 저장</a>
</div>
<br /><br />
<input type="hidden" id="hidpplno" />
</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")
@Html.Partial("./Partial/FileScript")
@Html.Partial("./Partial/ScriptDate")
@Html.Partial("./Partial/ScdScript", null, new ViewDataDictionary() { { "cmno", Model.CM.cmno } })
<input type="hidden" id="excelParam10" value="" />
}
@section scripts{
<script>
var selectedLectno;
var selectedCmisno;
$(document).ready(function () {
$("#selTypejob").on("change", function () {
$(".jobTypeItems").css("display", "none")
let seltypeJobGroup = "typejob" + $(this).val();
$("[name='" + seltypeJobGroup + "']").each(function () {
$(this).css("display", "")
})
})
$("#addstringval5").on("keydown", function (e) {
if (e.keyCode == 13) {
submit();
}
});
scdallCheck = true;
setScd2(@Model.CM.cmno);
});
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');
callComment('mform', '/croom/cmlects', 'tbody1', 0)
let jsonData = {};
jsonData.intval = @(Model.CM.cmno);
jsonData.addstringval = val('addstringval');
jsonData.addstringval2 = val('addstringval2');
$("#excelParam10").val(JSON.stringify(jsonData))
}
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;");
}
}
$("#selTypeman").val(ds[13]).attr("selected", "selected");
$("#selTypejob").val(ds[14]).attr("selected", "selected");
$("#selTypeedu").val(ds[15]).attr("selected", "selected");
$("#selTypegrade").val(ds[16]).attr("selected", "selected");
$("#selTypejobItem").val(ds[18])
$("#hidpplno").val(ds[17]);
$(".jobTypeItems").css("display", "none");
$("[name='typejob" + $("#selTypejob").val() + "']").each(function () {
$(this).css("display", "");
})
}
}
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 viewas(asno) {
winopen("/croom/asrpop?intval=" + asno, 'asrpop', 1200, screen.height - 500);
}
function savetype() {
if (confirm("교육신청 정보를 저장하시겠습니까??")) {
capp("/acommon/pplogtypechange", {
pplno: $("#hidpplno").val(),
typeman: $("#selTypeman").val(),
typejob: $("#selTypejob").val(),
typeedu: $("#selTypeedu").val(),
typegrade: $("#selTypegrade").val(),
typejobitem: $("#selTypejobItem").val()
}, "afterUpdateType");
}
}
function afterUpdateType() {
if (capResult.code > 0) {
msgok(1, "", true);
submit("mform", 800, true);
}
else {
msg("관리자에게 문의하세요.");
return;
}
}
</script>
}