2021-11-03 15:19:08 +09:00
|
|
|
@model NP.Model.VMLect
|
2025-04-08 18:21:06 +09:00
|
|
|
@{
|
|
|
|
|
/*
|
|
|
|
|
// stringval : 교육종료일
|
|
|
|
|
// stringval4 : 출석일
|
|
|
|
|
// stringval3 : 교육장
|
|
|
|
|
// stringval2 : 과정명
|
|
|
|
|
// stringval17 : 출석여부
|
|
|
|
|
// stringval5 : 교육유형
|
|
|
|
|
// stringval6 : 수료여부
|
|
|
|
|
*/
|
|
|
|
|
}
|
|
|
|
|
|
2021-11-10 08:49:31 +09:00
|
|
|
<form id="mform" method="post">
|
|
|
|
|
<input type="hidden" id="mform_tabidx" name="tabidx" value="@Model.tabidx" />
|
2025-04-08 18:21:06 +09:00
|
|
|
|
|
|
|
|
<!-- 검색영역 -->
|
2021-11-10 08:49:31 +09:00
|
|
|
<section class="panel panel-default clearfix devsearch" data-cleartbody="tbody1">
|
|
|
|
|
<div class="table-responsive">
|
|
|
|
|
<table class="table b-t b-light viewtable">
|
|
|
|
|
<colgroup>
|
2025-04-08 18:21:06 +09:00
|
|
|
<col style="width:15%" />
|
|
|
|
|
<col style="width:35%" />
|
|
|
|
|
<col style="width:15%" />
|
|
|
|
|
<col style="width:auto" />
|
2021-11-10 08:49:31 +09:00
|
|
|
</colgroup>
|
|
|
|
|
<tbody id="searchtbody">
|
|
|
|
|
<tr>
|
|
|
|
|
<th>교육종료일</th>
|
|
|
|
|
<td>
|
|
|
|
|
<div class="col-md-6">
|
|
|
|
|
@Html.Partial("./Partial/Date", string.IsNullOrEmpty(Model.stringval) ? (DateTime?)null : Convert.ToDateTime(Model.stringval), new ViewDataDictionary { { "name", "stringval" } })
|
|
|
|
|
</div>
|
|
|
|
|
</td>
|
|
|
|
|
<th>교육생</th>
|
|
|
|
|
<td>
|
|
|
|
|
<div class="col-md-12">
|
|
|
|
|
@Html.Partial("./Partial/Select", null, new ViewDataDictionary { { "name", "searchtype" }, { "selected", Model.searchtype }, { "valuetext", "usernamestr:이름;useridstr:ID" } })
|
|
|
|
|
@Html.Partial("./Partial/Text", Model.searchtext, Helpers.DicText(new NP.Model.TextDic() { Name = "searchtext", Style = "width:70%; display:inline-block;", Value = Model.searchtext, CssClass = "ff" }))
|
|
|
|
|
</div>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
2025-04-08 18:21:06 +09:00
|
|
|
<th>출석일</th>
|
2021-11-10 08:49:31 +09:00
|
|
|
<td>
|
|
|
|
|
<div class="col-md-12">
|
2025-04-08 18:21:06 +09:00
|
|
|
@Html.Partial("./Partial/Date", string.IsNullOrEmpty(Model.stringval4) ? (DateTime?)null : Convert.ToDateTime(Model.stringval4), new ViewDataDictionary { { "name", "stringval4" } })
|
2021-11-10 08:49:31 +09:00
|
|
|
</div>
|
|
|
|
|
</td>
|
|
|
|
|
<th>교육장</th>
|
|
|
|
|
<td>
|
|
|
|
|
<div class="col-md-12">
|
|
|
|
|
@Html.Partial("./Partial/Select", Model.ComCodes.Where(w => w.cgroup == "studyplace"), new ViewDataDictionary { { "name", "stringval3" }, { "selected", Model.stringval3 }, { "style", "width: 100%" }, { "df", ":교육장선택" } })
|
|
|
|
|
</div>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
2025-04-08 18:21:06 +09:00
|
|
|
<tr>
|
|
|
|
|
<th>과정명</th>
|
|
|
|
|
<td>
|
|
|
|
|
<div class="col-md-12">
|
|
|
|
|
@Html.Partial("./Partial/Text", Model.stringval2, Helpers.DicText(new NP.Model.TextDic() { Name = "stringval2", Value = Model.stringval2 }))
|
|
|
|
|
</div>
|
|
|
|
|
</td>
|
|
|
|
|
<th>수료여부</th>
|
|
|
|
|
<td>
|
|
|
|
|
<div class="col-md-12">
|
|
|
|
|
@Html.Partial("./Partial/Select", null, new ViewDataDictionary { { "name", "stringval6" }, { "selected", Model.stringval6 }, { "valuetext", ":전체;1:수료;0:미수료" } })
|
|
|
|
|
</div>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<th>교육유형</th>
|
|
|
|
|
<td>
|
|
|
|
|
<div class="col-md-12">
|
|
|
|
|
@Html.Partial("./Partial/Select", null, new ViewDataDictionary { { "name", "stringval5" }, { "selected", Model.stringval5 }, { "valuetext", ":전체;1:교육장;2:온라인" } })
|
|
|
|
|
</div>
|
|
|
|
|
</td>
|
|
|
|
|
<th style="display:none;"> </th>
|
|
|
|
|
<td style="display:none;">
|
|
|
|
|
<div class="col-md-12">
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
</table>
|
2021-11-10 08:49:31 +09:00
|
|
|
</div>
|
|
|
|
|
</section>
|
2025-04-08 18:21:06 +09:00
|
|
|
<!-- // 검색영역 -->
|
|
|
|
|
<div style="text-align: left; border-bottom: 1px solid #ddd; padding-bottom: 5px;">
|
2021-11-10 08:49:31 +09:00
|
|
|
<div style="text-align:right;">
|
|
|
|
|
<button class="btn btn-default btn-s-xs" type="button" onclick="javascript:submit();"><i class="fa fa-search"></i></button>
|
2021-11-03 15:19:08 +09:00
|
|
|
</div>
|
2021-11-10 08:49:31 +09:00
|
|
|
</div>
|
|
|
|
|
<br />
|
|
|
|
|
<section class="panel panel-default">
|
2022-12-21 09:56:40 +09:00
|
|
|
@Html.HiddenFor(m => m.intval2)
|
2025-04-08 18:21:06 +09:00
|
|
|
<!-- List 버튼영역 -->
|
2021-11-10 08:49:31 +09:00
|
|
|
<div style="padding:5px 10px; text-align:right;">
|
<기능개선>
1. PMS NO : 7146, 7149, 7152, 7158, 7179, 7181, 7184, 7187, 7202, 7210, 7214, 7215, 7218, 7220, 7224
2. (주요)작업내용
(1) 2022년 12월 추가 개발 및 유지보수 요청건 일괄 업로드
2023-01-03 08:59:38 +09:00
|
|
|
@Html.Partial("./Partial/Select", null, new ViewDataDictionary { { "onchange", "submit()" }, { "name", "stringval17" }, { "selected", Model.stringval17 }, { "valuetext", ":출석여부;0:미입력;2:출석" }, { "style", "vertical-align: middle" } })
|
2021-11-10 08:49:31 +09:00
|
|
|
@Html.Partial("./Partial/pagerow", new ViewDataDictionary { { "tbodyid", "tbody1" }, { "searchmethod", "submit()" }, { "pagesize", Model.pagerowcount } })
|
2025-04-08 18:21:06 +09:00
|
|
|
<a href="javascript:;" class="btn btn-primary" onclick="save(2);" style=" text-align:right">출석처리</a>
|
|
|
|
|
<a href="javascript:;" class="btn btn-danger" onclick="save(0);">결석처리</a>
|
|
|
|
|
<a href="javascript:;" class="btn btn-danger" onclick="save(1);">미입력처리</a>
|
|
|
|
|
<a href="javascript:;" onclick="javascript:callComment('mform', '/croom/attscds', 'tbody1', 'attscds', 23);" class="btn btn-s-xs btn-success">엑셀 다운로드</a>
|
2021-11-10 08:49:31 +09:00
|
|
|
</div>
|
2025-04-08 18:21:06 +09:00
|
|
|
<!-- // List 버튼영역 -->
|
|
|
|
|
<!-- List -->
|
2021-11-10 08:49:31 +09:00
|
|
|
<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="20">No</th>
|
2022-12-21 09:56:40 +09:00
|
|
|
<th width="60">운영기수</th>
|
2021-11-10 08:49:31 +09:00
|
|
|
<th>교육장</th>
|
2025-04-08 18:21:06 +09:00
|
|
|
<th>교육유형</th>
|
2021-11-10 08:49:31 +09:00
|
|
|
<th>과정명</th>
|
|
|
|
|
<th>교육생(ID)</th>
|
|
|
|
|
<th>교육시작일</th>
|
|
|
|
|
<th>교육종료일</th>
|
2022-12-21 09:56:40 +09:00
|
|
|
<th>출석일</th>
|
2021-11-10 08:49:31 +09:00
|
|
|
<th>집합교육출석여부</th>
|
|
|
|
|
<th>수료여부</th>
|
|
|
|
|
</tr>
|
|
|
|
|
</thead>
|
|
|
|
|
<tbody class="data" id="tbody1">
|
|
|
|
|
@foreach (var d in Model.Lects)
|
|
|
|
|
{
|
2021-11-03 15:19:08 +09:00
|
|
|
<tr>
|
2021-11-10 08:49:31 +09:00
|
|
|
<td><input type="checkbox" class="autocheck" value="@d.lectno" data-usernameid="@d.usernameid" data-userno="@d.userno" data-cmino="@d.cmino" /></td>
|
|
|
|
|
<td>@d.rnorvt</td>
|
2022-12-21 09:56:40 +09:00
|
|
|
<td>@d.sseqstr</td>
|
2021-11-10 08:49:31 +09:00
|
|
|
<td>@d.studyplacename</td>
|
2025-04-08 18:21:06 +09:00
|
|
|
<td>@((!string.IsNullOrEmpty(d.cshapename) && d.cshapename.Length > 3) ? d.cshapename.Substring(0,3) : d.cshapename)</td>
|
2021-11-10 08:49:31 +09:00
|
|
|
<td>@d.cname</td>
|
|
|
|
|
<td>@d.usernameid</td>
|
2022-12-21 09:56:40 +09:00
|
|
|
<td>@d.sdatestr </td>
|
|
|
|
|
@if (d.cshape == 2)
|
2021-11-10 08:49:31 +09:00
|
|
|
{
|
2021-11-10 10:11:16 +09:00
|
|
|
if (d.iscomplete != 1)
|
2021-11-03 15:19:08 +09:00
|
|
|
{
|
2025-04-08 18:21:06 +09:00
|
|
|
<td class="link text-center"><a href="javascript:;" onclick="javascript: openScd(@d.cmno,@d.lectno,@d.cmisno);">@d.eend.ToShortDateString()</a></td>
|
2021-11-03 15:19:08 +09:00
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
2021-11-10 08:49:31 +09:00
|
|
|
<td>@d.eend.ToShortDateString()</td>
|
2021-11-03 15:19:08 +09:00
|
|
|
}
|
2021-11-10 08:49:31 +09:00
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
<td>@d.edate.Value.ToShortDateString()</td>
|
|
|
|
|
}
|
2023-01-19 09:25:31 +09:00
|
|
|
<td>@(string.IsNullOrWhiteSpace(d.zstring3) ? "-" : d.zstring3)</td>
|
2023-01-19 16:50:37 +09:00
|
|
|
<td>@d.istatusname</td>
|
2021-11-10 08:49:31 +09:00
|
|
|
@if (!ViewBag.IsSubAdmin96)
|
|
|
|
|
{
|
|
|
|
|
<td class="@(d.iscomplete == 1 ? "link text-center" : "")">@Html.Raw(d.iscomplete == 1 ? string.Format("<a href=\"#\" onclick=\"viewcert({0})\">{1}</a>", d.lectno, "수료") : d.iscompletename)</td>
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
<td class="@(d.iscomplete == 1 ? "link text-center" : "")">@Html.Raw(d.iscomplete == 1 ? string.Format("{1}", d.lectno, "수료") : d.iscompletename)</td>
|
|
|
|
|
}
|
|
|
|
|
</tr>
|
|
|
|
|
}
|
|
|
|
|
</tbody>
|
|
|
|
|
</table>
|
|
|
|
|
</div>
|
|
|
|
|
@Html.Pager((int)Model.pagenum, 10, Model.pagerowcount, Model.pagetotalcount)
|
2025-04-08 18:21:06 +09:00
|
|
|
<!--// List -->
|
2021-11-10 08:49:31 +09:00
|
|
|
</section>
|
|
|
|
|
</form>
|
2023-02-08 13:16:37 +09:00
|
|
|
@Html.Partial("./Partial/ExcelCommentBox")
|
2023-07-10 14:18:15 +09:00
|
|
|
<div id="scdbox" class="findbox draggable regbox" style="width: 500px; z-index: 1041; top: 60px; overflow: auto;">
|
2025-04-08 18:21:06 +09:00
|
|
|
<h4><i class="fa fa-bars"></i> <span id="pcap">교육일정변경</span><a href="javascript:;" class="btn btn-default btn-xs f-r closethisbox">닫기</a></h4>
|
2021-11-03 15:19:08 +09:00
|
|
|
<ul id="ulScd"></ul>
|
|
|
|
|
<div class="findboxbtnbox" id="btnsavelect">
|
2025-04-08 18:21:06 +09:00
|
|
|
<a href="javascript:;" class="btn btn-primary" onclick="updateScd();">선택완료</a>
|
2021-11-03 15:19:08 +09:00
|
|
|
</div>
|
|
|
|
|
</div>
|
2025-04-08 18:21:06 +09:00
|
|
|
|
2021-11-03 15:19:08 +09:00
|
|
|
@section styles{
|
2025-04-08 18:21:06 +09:00
|
|
|
<style type="text/css"></style>
|
2021-11-03 15:19:08 +09:00
|
|
|
}
|
2025-04-08 18:21:06 +09:00
|
|
|
|
2023-02-08 13:16:37 +09:00
|
|
|
@section scriptsHeader{
|
|
|
|
|
@Html.Partial("./Partial/FileScript")
|
2021-11-03 15:19:08 +09:00
|
|
|
@Html.Partial("./Partial/ScriptDate")
|
2021-11-10 08:49:31 +09:00
|
|
|
@Html.Partial("./Partial/ScdScript")
|
2021-11-03 15:19:08 +09:00
|
|
|
}
|
2025-04-08 18:21:06 +09:00
|
|
|
|
2023-02-08 13:16:37 +09:00
|
|
|
@section scripts{
|
2021-11-03 15:19:08 +09:00
|
|
|
<script>
|
|
|
|
|
var _authtype = 1;
|
2025-04-08 18:21:06 +09:00
|
|
|
var _lectno;
|
|
|
|
|
|
|
|
|
|
function viewcert(lectno) {
|
|
|
|
|
_lectno = lectno;
|
|
|
|
|
capp(
|
|
|
|
|
"/acommon/authkey",
|
|
|
|
|
{
|
|
|
|
|
authtype: _authtype,
|
|
|
|
|
jobkey: lectno
|
|
|
|
|
},
|
|
|
|
|
"cbauthkey"
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function cbauthkey() {
|
|
|
|
|
if (capResult.code == 1000) {
|
2021-11-03 15:19:08 +09:00
|
|
|
var pop = window.open('@ViewBag.reporturl/certification.aspx?lectno='+_lectno, "certprint", "width=" + (screen.availWidth) + ", height=" + (screen.availHeight) + ", scrollbars=yes, resizable=yes, status=no, location=no, left=0, top=0");
|
|
|
|
|
if (pop == null) {
|
|
|
|
|
msg("팝업이 차단되어 있습니다. 차단을 해제해 주세요.");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var amsg;
|
|
|
|
|
function save(no) {
|
2023-01-19 09:25:31 +09:00
|
|
|
let attrdate = $("#stringval").val();
|
2025-04-08 18:21:06 +09:00
|
|
|
switch (no) {
|
|
|
|
|
case 2: amsg = "출석"; break;
|
|
|
|
|
case 0: amsg = "결석"; break;
|
|
|
|
|
default: amsg = "미입력"; break;
|
|
|
|
|
}
|
2021-11-03 15:19:08 +09:00
|
|
|
|
|
|
|
|
if ($("#tbody1 tr input.autocheck:checked").length < 1) {
|
2025-04-08 18:21:06 +09:00
|
|
|
msg(`${amsg} 처리할 교육생을 선택해주세요.`);
|
|
|
|
|
}
|
|
|
|
|
else if (confirm(`선택한 교육생을 ${amsg} 처리하시겠습니까?`)) {
|
|
|
|
|
|
2021-11-10 08:49:31 +09:00
|
|
|
var userinfos = "";
|
|
|
|
|
var cuis = "";
|
2025-04-08 18:21:06 +09:00
|
|
|
|
2021-11-03 15:19:08 +09:00
|
|
|
$.each($("#tbody1 tr input.autocheck:checked"), function (i, c) {
|
|
|
|
|
if ($(c).attr("data-cmino") == "" || $(c).attr("data-cmino") < 1) {
|
|
|
|
|
cuis += "," + $(c).attr("data-usernameid");
|
2025-04-08 18:21:06 +09:00
|
|
|
}
|
|
|
|
|
else {
|
2021-11-03 15:19:08 +09:00
|
|
|
userinfos += "," + $(c).attr("data-cmino") + ":" + $(c).val();
|
|
|
|
|
}
|
|
|
|
|
});
|
2025-04-08 18:21:06 +09:00
|
|
|
|
2021-11-03 15:19:08 +09:00
|
|
|
userinfos = userinfos.substr(1);
|
|
|
|
|
cuis = cuis.substr(1);
|
2025-04-08 18:21:06 +09:00
|
|
|
|
2021-11-03 15:19:08 +09:00
|
|
|
if (cuis != "") {
|
2025-04-08 18:21:06 +09:00
|
|
|
msg(`${cuis} 교육생들은 ${amsg} 처리가 불가능합니다.`);
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
capp(
|
|
|
|
|
"/acommon/offattscdsave",
|
|
|
|
|
{
|
|
|
|
|
userinfos: userinfos,
|
|
|
|
|
istatus: no,
|
|
|
|
|
attrdate: attrdate,
|
|
|
|
|
attr: no
|
|
|
|
|
},
|
|
|
|
|
"cboffattscdsave");
|
2021-11-03 15:19:08 +09:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
2025-04-08 18:21:06 +09:00
|
|
|
|
2021-11-03 15:19:08 +09:00
|
|
|
function cboffattscdsave() {
|
|
|
|
|
if (capResult.code == 1000) {
|
|
|
|
|
msgf2("저장했습니다.", "submit('mform', 0, true)");
|
2025-04-08 18:21:06 +09:00
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
msgdev(true);
|
|
|
|
|
}
|
2021-11-03 15:19:08 +09:00
|
|
|
}
|
2025-04-08 18:21:06 +09:00
|
|
|
|
2021-11-03 15:19:08 +09:00
|
|
|
</script>
|
2025-04-08 18:21:06 +09:00
|
|
|
}
|