YNICTE/BO/Views/croom/certresult.cshtml

276 lines
15 KiB
Plaintext
Raw Normal View History

2020-10-12 14:39:23 +09:00
@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>
}