276 lines
15 KiB
Plaintext
276 lines
15 KiB
Plaintext
|
|
@model NP.Model.VMCM
|
||
|
|
@{
|
||
|
|
var data = Model.ExamUsers;
|
||
|
|
if (!String.IsNullOrEmpty(Model.addstringval2))
|
||
|
|
{
|
||
|
|
if(Model.addstringval2 == "-1")
|
||
|
|
{
|
||
|
|
data = Model.ExamUsers.Where(w => w.ispass == null).ToList();
|
||
|
|
}
|
||
|
|
else
|
||
|
|
{
|
||
|
|
data = Model.ExamUsers.Where(w => w.ispass == Convert.ToInt32(Model.addstringval2)).ToList();
|
||
|
|
}
|
||
|
|
}
|
||
|
|
var i = 0;
|
||
|
|
}
|
||
|
|
<ul class="pagination pagination-md" style="margin: 0;">
|
||
|
|
<li><a href="#" onclick="gotab(0);" data-toggle="tab">기본정보</a></li>
|
||
|
|
<li><a href="#" onclick="gotab(1);" data-toggle="tab">접수/결제</a></li>
|
||
|
|
<li class="active"><a href="#" 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 id="certgrade" class="col-sm-8 col-md-10 certgrade" data-certgrade="@Model.ComCodes.Where(w => w.cgroup == "certgrade").Where(w => w.ccode == Model.Exam.certgradecc).Select(w => w.cname).FirstOrDefault()">@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} / {2}", Model.ExamUsers.Count(), Model.ExamUsers.Where(w => w.pstatus == 1).Count(), Model.ExamUsers.Where(w => w.pstatus == 1).Where(w => w.ispass == 1).Count())</div>
|
||
|
|
</div>
|
||
|
|
<div class="form-group">
|
||
|
|
<label class="col-sm-4 col-md-2 control-label">결과공개</label>
|
||
|
|
<div class="col-sm-8 col-md-10">
|
||
|
|
@Html.Partial("./Partial/Radio", null, new ViewDataDictionary() { { "valuetext", "1:예;0:아니오" }, { "checked", Model.Exam.isresultopen }, { "name", "isresultopen" } })
|
||
|
|
<a href="#" class="btn btn-default btn-xs" style="margin-left: 20px;" onclick="javascript: reg(0);" id="btnisopen">저장</a>
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
</section>
|
||
|
|
<div class="tar buttonbox">
|
||
|
|
@Html.Partial("./Partial/Select", "", new ViewDataDictionary { { "special", "valuetext" }, { "valuetext", ":-합격상태선택;-1:처리전;1:합격;0:불합격" }, { "name", "addstringval2" },{ "class","disp-init"}, { "selected", Model.addstringval2 ?? "" }, { "onchange", "$('#mform1').submit();" } })
|
||
|
|
<a href="#" onclick="winopen('/croom/examdatareg?intval=' + @Model.Exam.exno,'examdatareg', 800, 800)" class="btn btn-s-xs btn-success" style="margin-left: 5px;">점수일괄등록</a>
|
||
|
|
<a href="#" onclick="javascript: certprint(1);" class="btn btn-s-xs btn-default" style="margin-left: 5px;">자격증인쇄(국문)</a>
|
||
|
|
<a href="#" onclick="javascript: certprint(0);" class="btn btn-s-xs btn-default" 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>신청자(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 data)
|
||
|
|
{
|
||
|
|
var score = "-";
|
||
|
|
if (d.epoint1 != null && d.epoint2 != null && d.epoint3 != null)
|
||
|
|
{
|
||
|
|
score = string.Format("{0:f1}", d.epoint1.Value + d.epoint2.Value + d.epoint3.Value);
|
||
|
|
}
|
||
|
|
<tr>
|
||
|
|
<td class="userno"><input type="checkbox" class="autocheck" value="@d.userno" data-userno="@d.userno" /></td>
|
||
|
|
<td>@(data.Count()-(i++) )</td>
|
||
|
|
<td class="text-left asname" data-asname="@d.asname">@d.asname</td>
|
||
|
|
<td class="username" data-username="@d.username">@string.Format("{0}({1})", @d.username, @d.userid)</td>
|
||
|
|
<td class="epoint1" data-epoint1="@d.epoint1">@(d.epoint1 == null ? "-" : string.Format("{0:f1}", d.epoint1))</td>
|
||
|
|
<td class="epoint2" data-epoint2="@d.epoint2">@(d.epoint1 == null ? "-" : string.Format("{0:f1}", d.epoint2))</td>
|
||
|
|
<td class="epoint3" data-epoint3="@d.epoint3">@(d.epoint1 == null ? "-" : string.Format("{0:f1}", d.epoint3))</td>
|
||
|
|
<td class="score" data-score="@score">@score</td>
|
||
|
|
<td class="avrg"data-avrg="@d.avrg">@(d.avrg == 0 ? "-" : string.Format("{0:f1}", d.avrg))</td>
|
||
|
|
<td class="ispass link text-center" data-pstatus="@d.ispass.ToString()"><a href="#" onclick="reg(@d.userno)">@(d.ispass == null ? "입력전" : d.ispass == 1 ? "합격" : "불합격")</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;">
|
||
|
|
<header class="panel-heading"><strong><i class="fa fa-bars"></i>자격시험 성적표<span class=""></span></strong></header>
|
||
|
|
<table class="regtable">
|
||
|
|
<colgroup><col style="width:150px;" /><col /></colgroup>
|
||
|
|
<tr>
|
||
|
|
<th>성명</th>
|
||
|
|
<td>
|
||
|
|
<input type="text" id="d_username" class="form-control disp-init d_username" style="width: 150px;" readonly="readonly" />
|
||
|
|
<input type="hidden" id="d_userno" class="form-control disp-init d_userno" style="width: 150px;" readonly="readonly" />
|
||
|
|
</td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<th>응시급수</th>
|
||
|
|
<td>
|
||
|
|
<input type="text" id="d_certgrade" class="form-control disp-init d_certgrade" style="width: 150px;" readonly="readonly" />
|
||
|
|
</td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<th>컴플라이언스경영</th>
|
||
|
|
<td>
|
||
|
|
<input type="text" id="d_epoint1" class="form-control disp-init int d_epoint1" style="width: 150px;" />
|
||
|
|
</td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<th>사회적책임경영</th>
|
||
|
|
<td>
|
||
|
|
<input type="text" id="d_epoint2" class="form-control disp-init int d_epoint2" style="width: 150px;" />
|
||
|
|
</td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<th>리스크관리경영</th>
|
||
|
|
<td>
|
||
|
|
<input type="text" id="d_epoint3" class="form-control disp-init int d_epoint3" style="width: 150px;" />
|
||
|
|
</td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<th>총점</th>
|
||
|
|
<td>
|
||
|
|
<input type="text" id="d_score" class="form-control disp-init int d_score" style="width: 150px;" readonly="readonly" />
|
||
|
|
</td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<th>평균</th>
|
||
|
|
<td>
|
||
|
|
<input type="text" id="d_avrg" class="form-control disp-init d_avrg" style="width: 150px;" readonly="readonly" />
|
||
|
|
</td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<th>합격여부</th>
|
||
|
|
<td>
|
||
|
|
@Html.Partial("./Partial/Radio", null, new ViewDataDictionary() { { "valuetext", "1:합격;0:불합격" }, { "checked", 0 }, { "name", "d_ispass" } })
|
||
|
|
</td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
<div class="findboxbtnbox">
|
||
|
|
<a href="#" class="btn btn-primary" onclick="save();">등록</a>
|
||
|
|
<a href="#" class="btn btn-default closethisbox">취소</a>
|
||
|
|
</div>
|
||
|
|
<br /><br />
|
||
|
|
</div>
|
||
|
|
@section styles{
|
||
|
|
}
|
||
|
|
@section scriptsHeader{
|
||
|
|
@Html.Partial("./Partial/semscript")
|
||
|
|
}
|
||
|
|
@section scripts{
|
||
|
|
<script>
|
||
|
|
function cbsave2() {
|
||
|
|
if (capResult.code == 1000) {
|
||
|
|
$("#username").val();
|
||
|
|
msg2("저장되었습니다.", 0, null, "$('#mform1').submit();");
|
||
|
|
}
|
||
|
|
else {
|
||
|
|
msgdev();
|
||
|
|
}
|
||
|
|
}
|
||
|
|
function cblog() {
|
||
|
|
|
||
|
|
}
|
||
|
|
function reg(no) {
|
||
|
|
if (no > 0) {
|
||
|
|
capp("/acommon/logsetexam", { exno: @Model.Exam.exno, userno: no }, "cblog", null, null, true);
|
||
|
|
$.each($("#tbody1 tr td input.autocheck"), function () {
|
||
|
|
if ($(this).attr("data-userno") == no) {
|
||
|
|
$("#d_userno").val($(this).attr("data-userno"))
|
||
|
|
$("#d_username").val($(this).closest("tr").find("td.username").attr("data-username"))
|
||
|
|
$("#d_certgrade").val($("#certgrade").attr("data-certgrade"))
|
||
|
|
$("#d_epoint1").val($(this).closest("tr").find("td.epoint1").attr("data-epoint1"))
|
||
|
|
$("#d_epoint2").val($(this).closest("tr").find("td.epoint2").attr("data-epoint2"))
|
||
|
|
$("#d_epoint3").val($(this).closest("tr").find("td.epoint3").attr("data-epoint3"))
|
||
|
|
$("#d_score").val($(this).closest("tr").find("td.score").attr("data-score"))
|
||
|
|
$("#d_avrg").val($(this).closest("tr").find("td.avrg").attr("data-avrg"))
|
||
|
|
if ($(this).closest("tr").find("td.ispass").attr("data-pstatus") == 1) {
|
||
|
|
$("input:radio[name=d_ispass]:radio[value=1]").prop('checked', true);
|
||
|
|
} else {
|
||
|
|
$("input:radio[name=d_ispass]:radio[value=0]").prop('checked', true);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
});
|
||
|
|
bglayer(); $("#thisbox").slideDown("fast", function () { $("#thisbox").scrollTop(0); });
|
||
|
|
} else {
|
||
|
|
if (confirm("시험 결과공개를 저장하시겠습니까?")) {
|
||
|
|
capp("/acommon/examopen", { isresultopen: $(":input:radio[name=isresultopen]:checked").val(), intval: @Model.Exam.exno }, "cbsave");
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
function save() {
|
||
|
|
var score = getDouble($("#d_epoint1").val()) + getDouble($("#d_epoint2").val()) + getDouble($("#d_epoint3").val());
|
||
|
|
$("#d_score").val(score.toFixed(1));
|
||
|
|
var avrg = Math.round(score / 3.0, 1);
|
||
|
|
$("#d_avrg").val(avrg.toFixed(1));
|
||
|
|
if (getDouble($("#d_epoint1").val()) < 0.1 || getDouble($("#d_epoint1").val()) > 100) { focus("d_epoint1"); msg2("컴플라이언스경영 점수를 0~100점 사이로 입력해주세요."); }
|
||
|
|
else if (getDouble($("#d_epoint2").val()) < 0.1 || ($("#d_epoint2").val()) > 100) { focus("d_epoint2");msg2("사회적책임경영 점수를 0~100점 사이로 입력해주세요."); }
|
||
|
|
else if (getDouble($("#d_epoint3").val()) < 0.1 || ($("#d_epoint3").val()) > 100) { focus("d_epoint3");msg2("리스크관리경영 점수를 0~100점 사이로 입력해주세요."); }
|
||
|
|
else if (confirm("점수를 수정하시겠습니까?")) {
|
||
|
|
var d = "";
|
||
|
|
d += ";" +@Model.Exam.exno+":" + $("#d_userno").val() + ":" + $("#d_epoint1").val() + ":" + $("#d_epoint2").val() + ":" + $("#d_epoint3").val() + ":" + $(":input:radio[name=d_ispass]:checked").val();
|
||
|
|
capp("/acommon/examuserbatch", { datas: d.substr(1) , intval : @Model.Exam.exno }, "cbexamresultsave", null, null, null, true);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
function cbexamresultsave() {
|
||
|
|
if (capResult.code == 1000) {
|
||
|
|
msg2("시험정보를 수정했습니다");
|
||
|
|
$("#dform").attr('action', '/croom/certresult');
|
||
|
|
timesubmit("dform", 500);
|
||
|
|
} else {
|
||
|
|
msgdev();
|
||
|
|
}
|
||
|
|
}
|
||
|
|
function cbsave() {
|
||
|
|
if (capResult.code == 1000) {
|
||
|
|
msg2("저장되었습니다.", 0, null, "$('#mform1').submit();");
|
||
|
|
}
|
||
|
|
else {
|
||
|
|
msgdev();
|
||
|
|
}
|
||
|
|
}
|
||
|
|
function gotab(idx) {
|
||
|
|
setv("dform_intval",@(Model.intval));
|
||
|
|
if (idx == 0) {
|
||
|
|
$("#dform").attr("action", "/croom/certr");
|
||
|
|
$("#dform_pagenum").val(1);
|
||
|
|
} else if (idx == 1) {
|
||
|
|
$("#dform").attr("action", "/croom/certreception");
|
||
|
|
} else {
|
||
|
|
$("#dform").attr("action", "/croom/certresult");
|
||
|
|
}
|
||
|
|
timesubmit("dform", 1);
|
||
|
|
}
|
||
|
|
function certprint(no) {
|
||
|
|
if ($("#tbody1 tr").length < 1) {
|
||
|
|
msg("인쇄할 데이터가 없습니다.");
|
||
|
|
} else if ($("#tbody1 tr input.autocheck:checked").length < 1) {
|
||
|
|
msg("인쇄할 자격증을 선택해주세요.");
|
||
|
|
} else {
|
||
|
|
var isvalid = true;
|
||
|
|
var usernos = "";
|
||
|
|
$.each($("#tbody1 tr input.autocheck:checked"), function () {
|
||
|
|
if ($(this).closest("tr").find("td.ispass").attr("data-pstatus") != 1) {
|
||
|
|
isvalid = false;
|
||
|
|
return false;
|
||
|
|
} else {
|
||
|
|
usernos += ',' + $(this).closest("tr").find("input.autocheck:checked").attr("data-userno");
|
||
|
|
}
|
||
|
|
});
|
||
|
|
if (!isvalid) { msg("합격이 아닌 자격증은 출력할 수 없습니다."); }
|
||
|
|
else {
|
||
|
|
winopen('/croom/certprint?intval=@(Model.Exam.exno)&intval2=' + no + '&addstringval3=' + usernos.substr(1), 'certprint', 800, 600);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
</script>
|
||
|
|
}
|