248 lines
13 KiB
Plaintext
248 lines
13 KiB
Plaintext
@model NP.Model.VMCM
|
|
<ul class="pagination pagination-md" style="margin: 0;">
|
|
<li><a href="#" onclick="gotab(0);" data-toggle="tab">기본정보</a></li>
|
|
<li class="active"><a href="#" data-toggle="tab">접수/결제</a></li>
|
|
<li><a href="#" onclick="gotab(2);" data-toggle="tab">응시결과</a></li>
|
|
</ul>
|
|
<form id="mform1" 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> 시험정보</strong></header>
|
|
<div class="panel-body">
|
|
<div class="form-group">
|
|
<label class="col-sm-3 col-md-2 control-label">시험명 / 급수</label>
|
|
<div class="col-sm-8 col-md-10">@string.Format("{0} | {1} ", Model.ComCodes.Where(w => w.cgroup == "cert").Where(w => w.ccode == Model.Exam.certcc).Select(w => w.cname).FirstOrDefault(), Model.ComCodes.Where(w => w.cgroup == "certgrade").Where(w => w.ccode == Model.Exam.certgradecc).Select(w => w.cname).FirstOrDefault())</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="col-sm-3 col-md-2 control-label">접수기간</label>
|
|
<div class="col-sm-8 col-md-10">@Model.Exam.GetRegdate()</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="col-sm-3 col-md-2 control-label">신청자명단 / 결제완료인원</label>
|
|
<div class="col-sm-8 col-md-10">@string.Format("{0}명 / {1}명", Model.ExamUsers.Count(), Model.ExamUsers.Where(w => w.pstatus == 1).Count())</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
<div class="tar buttonbox">
|
|
@Html.Partial("./Partial/Select", null, new ViewDataDictionary { { "valuetext", "1:결제완료;4:결제대기;8:결제취소" }, { "name", "addstringval" }, { "selected", Model.addstringval }, { "df", "상태선택" }, { "onchange", "$('#mform1').submit();" } })
|
|
<a href="#" onclick="javascript: reg(@Model.Exam.exno);" class="btn btn-s-xs btn-info" style="margin-left: 5px;">응시대상일괄등록</a>
|
|
<a href="#" onclick="javascript: reg(0);" class="btn btn-s-xs btn-success" style="margin-left: 5px;">응시대상등록</a>
|
|
<a href="#" onclick="javascript: del();" class="btn btn-s-xs btn-danger" style="margin-left: 5px;">응시대상삭제</a>
|
|
@Html.Partial("./Partial/sembtns", "#tbody1;1;1;1;1;0;자격증안내")
|
|
<a href="#" class="btn btn-default" onclick="golist();">목록</a>
|
|
</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 class="table-responsive" id="excel1">
|
|
<table class="table table-striped b-t b-light">
|
|
<thead>
|
|
<tr>
|
|
<th width="20"><input type="checkbox" onclick="javascript: checkall('excel1', this);" /></th>
|
|
<th width="20">No</th>
|
|
<th>고객사</th>
|
|
<th>신청자</th>
|
|
<th>ID</th>
|
|
<th>관련교육이력</th>
|
|
<th>등록일</th>
|
|
<th>결제상태</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody class="data" id="tbody1">
|
|
@foreach (var d in Model.ExamUsers)
|
|
{
|
|
<tr>
|
|
<td><input type="checkbox" class="autocheck" value="@d.userno" data-userno="@d.userno" /></td>
|
|
<td>@d.rnorvt</td>
|
|
<td class="text-left">@d.asname</td>
|
|
<td>@d.username</td>
|
|
<td>@d.userid</td>
|
|
<td>@string.Format("{0}회",d.countsame)</td>
|
|
<td>@d.cdt.ToString("yyy-MM-dd")</td>
|
|
<td class="pstatus link text-center" style="@(d.pstatus==1 ? "": "background-color : pink;")" data-pstatus="@d.pstatus"><a href="#" onclick="@(d.pstatus != 1 ? "alert('아직 결제전입니다.');" : "")" style="text-align:center">@(d.pstatus == 1 ? "결제완료" : d.pstatus == 4 ? "결제대기" : "결제취소")</a></td>
|
|
</tr>
|
|
}
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</section>
|
|
@Html.Partial("./Partial/DForm", Model)
|
|
</form>
|
|
<form id="dform" method="post" action="/croom/certs">
|
|
@Html.Partial("./Partial/DForm", Model, new ViewDataDictionary { { "preform", 1 } })
|
|
</form>
|
|
<div id="thisbox" class="findbox draggable regbox" style="width: 700px; 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" onclick="javascript: submit('mform1');">닫기</a></h4>
|
|
<table class="regtable">
|
|
<colgroup><col style="width:150px;" /><col /></colgroup>
|
|
<tr>
|
|
<th>ID</th>
|
|
<td>
|
|
<input type="text" id="userid" class="form-control disp-init" style="width: 150px;" readonly="readonly" />
|
|
<input type="hidden" id="userno" />
|
|
<a href="#" class="btn btn-info btn-find btn-xs data-find" onclick="userboxabsasno = 0, userboxftype = 2;findusershow()"><i class="fa fa-search"></i></a>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<th>응시대상정보</th>
|
|
<td>
|
|
<p class="form-control-static" id="userinfo"></p>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<div class="findboxbtnbox">
|
|
<a href="#" class="btn btn-primary" onclick="save();">등록</a>
|
|
<a href="#" class="btn btn-default closethisbox" onclick="javascript: submit('mform1');">취소</a>
|
|
</div>
|
|
<br /><br />
|
|
</div>
|
|
<div id="thisbox1" class="findbox draggable regbox" style="width: 700px; 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:200px;" /><col /></colgroup>
|
|
<tr id="trisparent">
|
|
<th class="req">일괄등록파일</th>
|
|
<td style="line-height: 35px;"><input id="uploadfile" type="file" /></td>
|
|
</tr>
|
|
</table>
|
|
<div class="findboxbtnbox">
|
|
<a href="~/Content/file/examusers.xlsx" class="btn btn-info">양식다운로드</a>
|
|
<a href="#" class="btn btn-primary" onclick="regbatch();">일괄등록</a>
|
|
</div>
|
|
<br /><br />
|
|
</div>
|
|
@Html.Partial("./Partial/UserBox", "bindUser;응시대상선택;1;1;thisbox", new ViewDataDictionary { { "assigns", Model.Assigns } })
|
|
@section styles{
|
|
<style type="text/css">
|
|
tr.ismax {
|
|
color: red;
|
|
}
|
|
a.closethisbox{color:black;
|
|
font-weight:normal;
|
|
}
|
|
</style>
|
|
}
|
|
@section scriptsHeader{
|
|
@Html.Partial("./Partial/semscript")
|
|
}
|
|
@section scripts{
|
|
<script>
|
|
//$(document).ready(function () {
|
|
// $("#stringval").on("change", function () {
|
|
// if ($(this).val() != "") {
|
|
// capp("/acommon/euserget",
|
|
// {
|
|
// pstatus: $(this).val(),
|
|
// exno : intval
|
|
// }, "euserget");
|
|
// }
|
|
// });
|
|
//});
|
|
//function euserget() {
|
|
// binddatacheck("stringval");
|
|
//}
|
|
function reg(no) {
|
|
$("#userinfo").val("");
|
|
if (no < 1) {
|
|
bglayer(); $("#thisbox").slideDown("fast", function () { $("#thisbox").scrollTop(0); });
|
|
} else {
|
|
bglayer(); $("#thisbox1").slideDown("fast", function () { $("#thisbox1").scrollTop(0); });
|
|
}
|
|
}
|
|
function bindUser(vs) {
|
|
var v = vs.split(':');
|
|
setv("userid", v[7]);
|
|
setv("userno", v[0]);
|
|
$("#userinfo").text("[" + v[5] + "]" + v[6] + " | " + v[2] + "(" + v[3] + ")");
|
|
}
|
|
function save() {
|
|
var isvalid = true;
|
|
$.each($("#tbody1 tr td input.autocheck"), function () {
|
|
if ($(this).attr("data-userno") == $("#userno").val()) {
|
|
isvalid = false;
|
|
return false;
|
|
}
|
|
});
|
|
if (check("userid", null, "응시대상을 선택해주세요.", true)) { }
|
|
else if (!isvalid) { msg("이미 저장된 응시 대상은 저장할 수 없습니다."); }
|
|
else if (confirm("저장하시겠습니까?")) {
|
|
capp("/acommon/examusersave", { exno: @Model.Exam.exno , userno: val("userno"), certdate : '@Model.Exam.certdate', certindate: '@Model.Exam.certindate' }, "cbexamusersave", null, null, null, true);
|
|
}
|
|
}
|
|
function del() {
|
|
var eunos = "";
|
|
var isvalid = true;
|
|
$.each($("#tbody1 tr td input.autocheck:checked"), function () {
|
|
eunos += "," + $(this).val();
|
|
if ($(this).closest("tr").find("td.pstatus").attr("data-pstatus") == "1") {
|
|
isvalid = false;
|
|
return false;
|
|
}
|
|
});
|
|
if (eunos == "") {
|
|
msg("삭제할 응시대상을 선택해주세요");
|
|
}
|
|
else if (!isvalid) { msg("결제가 완료된 응시대상은 삭제할 수 없습니다."); }
|
|
else if (confirm("선택한 응시대상을 삭제하시겠습니까?")) {
|
|
capp("/acommon/examuserdel", { exno: @Model.Exam.exno , usernos: eunos.substr(1) }, "cbexamuserdel");
|
|
}
|
|
}
|
|
function gotab(idx) {
|
|
if (idx == 0) {
|
|
$("#dform").attr("action", "/croom/certr");
|
|
$("#dform_pagenum").val(1);
|
|
} else if (idx == 2) {
|
|
$("#dform").attr("action", "/croom/certresult");
|
|
}
|
|
timesubmit("dform", 1);
|
|
}
|
|
function hidethisbox() {
|
|
$(this).closest('.findbox').slideDown('fast'); $('#bglayer').hide();
|
|
}
|
|
function cbexamusersave() {
|
|
if (capResult.code == 1000) {
|
|
msg2("저장되었습니다.");
|
|
$("#userid").val("");
|
|
$("#userno").val("");
|
|
$("#userinfo").text("");
|
|
} else {
|
|
msg2("선택한 응시대상이 이미 등록되어있습니다.");
|
|
}
|
|
}
|
|
function cbexamuserdel() {
|
|
if (capResult.code == 1000) {
|
|
msgf((capResult.obj/2) + "건을 삭제 처리했습니다.", "$('#dform').attr('action', '/croom/certreception').submit();");
|
|
} else {
|
|
msg("결제가 완료된 응시대상은 삭제할 수 없습니다.");
|
|
}
|
|
}
|
|
function regbatch() {
|
|
if ($("#uploadfile").val() == "") { msg("파일을 선택해주세요."); }
|
|
else {
|
|
var thumbext = $("#uploadfile").val();
|
|
thumbext = thumbext.slice(thumbext.indexOf(".") + 1).toLowerCase();
|
|
if ("xlsx".indexOf(thumbext) < 0) {
|
|
msg("xlsx 확장자만 가능합니다.");
|
|
}
|
|
else if (confirm("일괄등록하시겠습니까?")) {
|
|
var formData = new FormData();
|
|
formData.append("uploadfile", $("#uploadfile")[0].files[0]);
|
|
formData.append("intval", @Model.Exam.exno);
|
|
formData.append("uploadjob", "examuserregbatch");
|
|
capfile("/acommon/uploadexcel", formData, "cbregbatch", null, true, false, true);
|
|
}
|
|
}
|
|
}
|
|
function cbregbatch() {
|
|
if (capResult.code == 1000) {
|
|
$("#thisbox1").slideUp('fast');
|
|
msg("일괄등록을 완료했습니다.", null, true, null, true);
|
|
setTimeout(function () {
|
|
$("#dform").attr("action", "/croom/certreception").submit();
|
|
},1500);
|
|
} else {
|
|
$("#thisbox1").slideUp('fast');
|
|
msg("업로드가 실패했습니다.<br/><br/>" + capResult.msg);
|
|
}
|
|
}
|
|
</script>
|
|
}
|