YNICTE/BO/Views/cm/cmregeduschedule.cshtml

424 lines
20 KiB
Plaintext
Raw Normal View History

2020-10-22 10:12:30 +09:00
@model NP.Model.VMCM
2020-12-07 09:49:45 +09:00
@{
int studyplaceseq = 0;
}
2020-10-23 17:42:52 +09:00
<div style="@(Model.CM.cmno < 1 ? "display: none;":"")">
2020-10-22 10:12:30 +09:00
<ul class="pagination pagination-md" style="margin: 0;">
2020-10-23 17:42:52 +09:00
<li class=""><a href="#" onclick="gotab(0);" data-toggle="tab">기본정보</a></li>
<li class=""><a href="#" onclick="gotab(1);" data-toggle="tab">회차설정</a></li>
@if (Model.CM.ismaster == 0 && Model.CM.cshape == 2)
{
<li class="active"><a href="#" data-toggle="tab">교육일정</a></li>
}
<li class=""><a href="#" onclick="gotab(3);" data-toggle="tab">평가설정</a></li>
<li class=""><a href="#" onclick="gotab(4);" data-toggle="tab">메뉴설정</a></li>
2020-10-22 10:12:30 +09:00
</ul>
</div>
2020-10-23 17:42:52 +09:00
<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> 기본설정<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.cname) | @(Model.CM.classno)반" /></div>
2020-10-22 10:12:30 +09:00
</div>
2020-10-23 17:42:52 +09:00
<div class="line line-dashed line-lg pull-in"></div>
<div class="form-group">
2020-12-03 17:21:53 +09:00
<label class="col-sm-4 col-md-2 control-label">기본교육장소</label>
2020-10-23 17:42:52 +09:00
@Html.Partial("./Partial/Radio", Model.ComCodes.Where(w => w.cgroup == "studyplace"), new ViewDataDictionary() { { "checked", Model.CM.studyplace }, { "name", "CM.studyplace" }, { "isreadonly", 1 } })
</div>
<div style="display:none">
2021-03-30 10:10:24 +09:00
@Html.Partial("./Partial/Radio", null, new ViewDataDictionary() { { "valuetext", "1:온라인;0:교육장" }, { "checked", 0 }, { "name", "isonline" } })
2020-10-23 17:42:52 +09:00
</div>
</div>
</section>
<div class="tar buttonbox"><a href="#" onclick="reg(0);" class="btn btn-s-xs btn-info">회차등록</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="80">회차</th>
<th>학습방식</th>
<th>강의주제</th>
<th>강사</th>
<th>최근수정일</th>
</tr>
</thead>
<tbody class="data" id="tbody1">
@if(Model.CMInnings.Count() > 0)
2020-10-23 17:42:52 +09:00
{
foreach (var item in Model.CMInnings)
{
<tr>
<td>@item.iseq @(item.istaste == 1 ? "(S)" : "")</td>
<td>@item.isonlinename</td>
<td class="link"><a href="#" onclick="reg(@item.cmino)">@item.ititle</a></td>
<td>@item.username</td>
<td>@item.udtymd</td>
</tr>
}
2020-10-23 17:42:52 +09:00
}
</tbody>
</table>
</div>
</section>
<div class="tar buttonbox"><a href="#" onclick="regscd(0,0);" class="btn btn-s-xs btn-info">일정등록</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="80">순서</th>
<th>교육일정</th>
<th>제한인원</th>
<th>등록인원</th>
<th>최근수정일</th>
</tr>
</thead>
<tbody class="data" id="tbody1">
2020-11-05 13:27:11 +09:00
@if(Model.CMInningscds.Count() > 0)
2020-10-23 17:42:52 +09:00
{
2020-11-05 13:27:11 +09:00
foreach (var item in Model.CMInningscds)
{
<tr>
<td>@item.scdseq</td>
<td class="link"><a href="#" onclick="regscd(@item.cmino, @item.cmisno)">@item.estart ~ @item.eend</a></td>
<td>@item.quota</td>
<td>@item.regmem</td>
<td>@item.udt</td>
</tr>
}
2020-10-23 17:42:52 +09:00
}
</tbody>
</table>
</div>
</section>
</form>
2020-10-22 10:12:30 +09:00
<form id="dform" method="post" action="/cm/@Model.listviewname">
@Html.Partial("./Partial/DForm", Model, new ViewDataDictionary { { "preform", 1 } })
</form>
2020-10-23 17:42:52 +09:00
<div id="thisbox" class="findbox draggable regbox" style="width: 800px; 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 class="req">강의주제</th>
<td>@Html.TextBox("ititle", "", new { @class = "form-control", @style = "", @maxlength = "100" })</td>
</tr>
<tr>
<th>교안</th>
<td>
<input type="hidden" name="fgnotf" id="fgnotf" />
<input type="file" name="filetf" id="filetf" />
<div id="files"></div>
</td>
</tr>
<tr>
<th class="req">강사</th>
<td>@Html.Partial("./Partial/Select", Model.CMPRs, new ViewDataDictionary { { "special", "reg" }, { "name", "userno" }, { "selected", "" }, { "df", ":-강사선택" }, { "class", "disp-init" } })</td>
</tr>
<tr>
<th class="req">회차(순서)</th>
<td>@Html.TextBox("iseq", "", new { @class = "form-control disp-init int nocomma text-center", @style = "width: 80px;", @maxlength = "3" })</td>
</tr>
</table>
<div class="findboxbtnbox">
<a href="#" class="btn btn-primary" onclick="save();">저장</a>
<a href="#" class="btn btn-danger" id="btndel" onclick="del();">삭제</a>
</div>
<br /><br />
</div>
<div id="scdbox" class="findbox draggable regbox" style="width: 800px; z-index: 1041; top: 60px; overflow: auto;">
<h4><i class="fa fa-bars"></i> <span id="pcapscd">일정등록/수정</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 class="req">교육일정</th>
<td>
@Html.Partial("./Partial/Date", (DateTime?)null, new ViewDataDictionary { { "name", "idate" } })
@Html.Partial("./Partial/Select", "", new ViewDataDictionary { { "special", "fromto" }, { "name", "isth" }, { "start", 0 }, { "end", 23 }, { "textadd", "시" }, { "df", ":-시" }, { "class", "disp-init" }, { "style", "width: 80px;" } })
@Html.Partial("./Partial/Select", "", new ViewDataDictionary { { "special", "fromto" }, { "name", "istm" }, { "start", 0 }, { "end", 59 }, { "textadd", "분" }, { "df", ":-분" }, { "class", "disp-init" }, { "style", "width: 80px;" } })
~
@Html.Partial("./Partial/Select", "", new ViewDataDictionary { { "special", "fromto" }, { "name", "ieth" }, { "start", 0 }, { "end", 23 }, { "textadd", "시" }, { "df", ":-시" }, { "class", "disp-init" }, { "style", "width: 80px;" } })
@Html.Partial("./Partial/Select", "", new ViewDataDictionary { { "special", "fromto" }, { "name", "ietm" }, { "start", 0 }, { "end", 59 }, { "textadd", "분" }, { "df", ":-분" }, { "class", "disp-init" }, { "style", "width: 80px;" } })
</td>
</tr>
2020-12-07 09:49:45 +09:00
<tr>
<th class="req">교육장소</th>
<td>
@*@Html.Partial("./Partial/Radio", Model.ComCodes.Where(w => w.cgroup == "studyplace"), new ViewDataDictionary() { { "checked", Model.CM.studyplace }, { "name", "istudyplace" }, { "isreadonly", 0 } })*@
@foreach (var item in Model.ComCodes.Where(w => w.cgroup == "studyplace"))
{
<span><input type="radio" name="istudyplace" id="istudyplace_@item.ccode" @(studyplaceseq == 0 ? "checked" : "") value="@item.ccode" /><label style="vertical-align: sub;" for="istudyplace_@item.ccode">&nbsp;@item.cname</label></span>
studyplaceseq++;
}
</td>
</tr>
2020-10-23 17:42:52 +09:00
<tr>
<th class="req">제한인원</th>
<td>@Html.TextBox("iquota", "", new { @class = "form-control disp-init int nocomma text-center", @style = "width: 80px;", @maxlength = "3" })</td>
</tr>
</table>
<div class="findboxbtnbox">
<a href="#" class="btn btn-primary" onclick="savescd();">저장</a>
<a href="#" class="btn btn-danger" id="btndelscd" onclick="delscd();">삭제</a>
</div>
<br /><br />
</div>
2020-10-22 10:12:30 +09:00
@section styles{
2020-10-23 17:42:52 +09:00
2020-10-22 10:12:30 +09:00
}
@section scriptsHeader{
@Html.Partial("./Partial/ScriptDate")
}
@section scripts{
2020-10-23 17:42:52 +09:00
<script>
$(document).ready(function () {
});
var _cmino = 0;
var _cmisno = 0;
function save() {
setrv("isonline", 0); //교육일정에서는 오프라인 교육만 추가 가능
if (check("ititle", null, "강의주제를 입력해주세요.", true)) { }
else if (check("userno", null, "강사를 선택해주세요.", true)) { }
else if (getint(val("iseq")) < 1) { focus("iseq"); msg2("회차를 입력해주세요."); }
else if (confirm("저장하시겠습니까?")) {
var data = new FormData();
data.append("cmino", _cmino);
data.append("cmno", @Model.CM.cmno);
data.append("isonline", getrv("isonline"));
data.append("ititle", getv("ititle"));
data.append("idate", null);
data.append("iday", null);
data.append("ist", null);
data.append("iet", null);
data.append("istaste", 0);
data.append("sttime", 0);
data.append("atime", 0);
data.append("mstime", 0);
data.append("metime", 0);
data.append("fgnotf", val("fgnotf"));
if ($("#filetf")[0].files.length > 0) {
data.append("filetf", $("#filetf")[0].files[0]);
2020-10-22 10:12:30 +09:00
}
2020-10-23 17:42:52 +09:00
data.append("userno", val("userno"));
data.append("iseq", val("iseq"));
capfile("/acommon/cminningsave", data, "cbcminningsave", null, null, true);
2020-10-22 10:12:30 +09:00
}
2020-10-23 17:42:52 +09:00
}
function cbcminningsave() {
if (capResult.code == 1000 && capResult.obj > 0) {
msg2("저장되었습니다.", 0, null, "gotab(2);");
} else {
msg2("이미 등록된 회차입니다. 다른 회차를 입력해주세요.");
}
}
function savescd() {
if (@Model.CM.ismaster == 0 && check("idate", null, "학습일자를 입력해주세요.", true)) { }
else if (val("isth") == "") { focus("isth"); msg2("학습시간을 확인해주세요."); }
else if (val("istm") == "") { focus("istm"); msg2("학습시간을 확인해주세요."); }
else if (val("ieth") == "") { focus("ieth"); msg2("학습시간을 확인해주세요."); }
else if (val("ietm") == "") { focus("ietm"); msg2("학습시간을 확인해주세요."); }
else if (getint(val("isth")) > getint(val("ieth"))) { focus("ieth"); msg2("학습시간을 확인해주세요(종료시간이 더 빠름)"); }
else if (getint(val("isth")) == getint(val("ieth")) && getint(val("istm")) > getint(val("ietm"))) { focus("ieth"); msg2("학습시간을 확인해주세요(종료시간이 더 빠름)"); }
else if (confirm("저장하시겠습니까?")) {
var date = getv("idate");
var isth = getv("isth");
var istm = getv("istm");
var ieth = getv("ieth");
var ietm = getv("ietm");
var estart = (date + " " + fillzero(isth, true, 2) + ":" + fillzero(istm, true, 2) + ":00").toString();
var eend = (date + " " + fillzero(ieth, true, 2) + ":" + fillzero(ietm, true, 2) + ":00").toString();
capp("/acommon/cminningscdsave", {
cmisno: _cmisno,
2020-11-05 13:27:11 +09:00
cmino: @(Model.CMInnings.Count() > 0 ? Model.CMInnings[0].cmino : 0),
2020-10-23 17:42:52 +09:00
estart2: estart,
eend2: eend,
2020-12-07 09:49:45 +09:00
quota: getv("iquota"),
studyplace: $(":input:radio[name=istudyplace]:checked").val()
2020-10-23 17:42:52 +09:00
}, "cbcminningscdsave", null, null, null, true);
2020-10-22 10:12:30 +09:00
}
2020-10-23 17:42:52 +09:00
}
function cbcminningscdsave() {
if (capResult.code == 1000 && capResult.obj > 0) {
msg2("저장되었습니다.", 0, null, "gotab(2);");
} else {
msg2("저장실패.");
2020-10-22 10:12:30 +09:00
}
2020-10-23 17:42:52 +09:00
}
function reg(no) {
var inningcnt = @Model.CMInnings.Count;
if (no == 0 && inningcnt > 0) {
msg2("회차는 1개만 등록 가능합니다.");
return;
2020-10-22 10:12:30 +09:00
}
2020-10-23 17:42:52 +09:00
_cmino = no;
$("#btndel").hide();
setrv("isonline", 0);
if ($("#files").html() == "") {
$("#filetf").show();
2020-10-22 10:12:30 +09:00
}
2020-10-23 17:42:52 +09:00
$("#ititle,#userno,#iseq,#fgnotf,#filetf").val("");
$("#files").html("");
$("#pcap").text("회차등록");
if (no < 1) {
bglayer(); $("#thisbox").slideDown("fast", function () { $("#thisbox").scrollTop(0); });
} else {
$("#pcap").text("회차수정");
capp("/acommon/cminningget", { cmino: no }, "cbcminningget", null, null, null, true);
2020-12-23 15:07:24 +09:00
bglayer(); $("#thisbox").slideDown("fast", function () { $("#thisbox").scrollTop(0); });
2020-10-22 10:12:30 +09:00
}
2020-10-23 17:42:52 +09:00
}
function regscd(no,sno) {
var inningcnt = @Model.CMInnings.Count;
if (no == 0 && inningcnt == 0) {
msg2("회차가 등록되어있어야 교육일정 등록이 가능합니다.");
return;
}
_cmino = no;
_cmisno = sno;
$("#btndelscd").hide();
$("#idate,#isth,#istm,#ieth,#ietm,#iquota").val("");
$("#pcapscd").text("일정등록");
if (no < 1) {
bglayer(); $("#scdbox").slideDown("fast", function () { $("#scdbox").scrollTop(0); });
} else {
$("#pcapscd").text("일정수정");
capp("/acommon/CMInningScdGet", { cmino: no, cmisno: sno }, "cbcminningscdget", null, null, null, true);
}
}
function cbcminningget() {
if (capResult.code == 1000) {
var d = capResult.obj;
$("#btndel").show();
setrv("isonline", d.isonline);
setv("ititle", d.ititle);
setv("userno", d.userno);
setv("iseq", d.iseq);
setv("fgnotf", getdb(d.fgnotf));
$("#filetf").show();
if (getdb(d.orgname2) != "") {
$("#filetf").hide();
$("#files").append("<a href=\"/aCommon/DownFile?fno=" + d.fileno2 + "\" title=\"다운로드\"><i class=\"fa fa-paperclip\"></i> <span class=\"fileitem\">" + d.orgname2 + "</span></a>" +
"&nbsp;&nbsp;<a href=\"#\" class=\"btn_txt btn btn-xxs btn-danger\" onclick=\"javascript:delfiletf(" + d.fileno2 + ", this, '" + d.cmino + "|9', true, 'cbfgnotfdel()');\" title=\"삭제\">삭제</a>");
2020-10-22 10:12:30 +09:00
}
2020-10-23 17:42:52 +09:00
bglayer(); $("#thisbox").slideDown("fast", function () { $("#thisbox").scrollTop(0); });
}
}
function cbcminningscdget() {
if (capResult.code == 1000) {
var d = capResult.obj;
$("#btndelscd").show();
var dStart = d.estart2;
var dEnd = d.eend2;
var date = dStart.substr(0, 10);
var startSplit = dStart.split(' ');
var endSplit = dEnd.split(' ');
var start;
var end;
if (startSplit.length > 0) {
start = startSplit[1];
2020-10-22 10:12:30 +09:00
}
2020-10-23 17:42:52 +09:00
if (endSplit.length > 0) {
end = endSplit[1];
2020-10-22 10:12:30 +09:00
}
2020-10-23 17:42:52 +09:00
var startMinute = start.split(':')[0];
var startSec = start.split(':')[1];
var endMinute = end.split(':')[0];
var endSec = end.split(':')[1];
setv("idate", date);
setv("isth", getint(startMinute));
setv("istm", getint(startSec));
setv("ieth", getint(endMinute));
setv("ietm", getint(endSec));
setv("iquota", getint(d.quota));
2020-12-07 10:18:35 +09:00
$("input:radio[name=istudyplace][value=" + d.studyplace + "]").attr("checked", true);
2020-10-22 10:12:30 +09:00
}
2020-10-23 17:42:52 +09:00
bglayer(); $("#scdbox").slideDown("fast", function () { $("#scdbox").scrollTop(0); });
}
function delfiletf(id, a, log, isjs2, cb) {
log = log || "";
if (confirm('삭제 하시겠습니까?')) {
capp('/aCommon/DeleteFile', { key: id, log: log }, cb || "cbdelfilenew", null, null, null, isjs2);
2020-10-22 10:12:30 +09:00
}
2020-10-23 17:42:52 +09:00
}
function cbfgnotfdel() {
if (capResult.code == 1000) {
$("#files").html("");
$("#filetf").show();
}
}
function gotab(idx, t) {
bglayer();
t = t || 0;
setTimeout(function () {
if (idx == 0) { $("#dform").attr("action", "/cm/@Model.viewname").submit(); }
else if (idx == 1) { $("#dform").attr("action", "/cm/@(Model.viewname)inning").submit(); }
else if (idx == 2) { $("#dform").attr("action", "/cm/@(Model.viewname)eduschedule").submit(); }
else if (idx == 3) { $("#dform").attr("action", "/cm/@(Model.viewname)est").submit(); }
else if (idx == 4) { $("#dform").attr("action", "/cm/@(Model.viewname)menu").submit(); }
}, t);
}
function del() {
if (confirm("삭제하시겠습니까?")) {
capp("/acommon/CMInningByScdDel", { im: @(Model.CM.ismaster), cmino: _cmino}, "cbdel");
}
}
function delscd() {
if (confirm("삭제하시겠습니까?")) {
capp("/acommon/CMInningScdDel", { im: @(Model.CM.ismaster), cmisno: _cmisno}, "cbscddel");
2020-10-22 10:12:30 +09:00
}
2020-10-23 17:42:52 +09:00
}
function cbdel() {
if (capResult.code == 1000) {
msg("삭제했습니다.", null, true, null, true);
gotab(2, 500);
} else {
msg("교육일정 정보가 있습니다. 삭제할 수 없습니다.");
2020-12-23 15:07:24 +09:00
$("#thisbox").slideUp("fast", function () { $("#thisbox").scrollTop(0); });
2020-10-22 10:12:30 +09:00
}
2020-10-23 17:42:52 +09:00
}
function cbscddel() {
if (capResult.code == 1000) {
msg("삭제했습니다.", null, true, null, true);
gotab(2, 500);
} else {
msg("등록인원이 있습니다. 삭제할 수 없습니다.");
2020-12-23 15:07:24 +09:00
$("#thisbox").slideUp("fast", function () { $("#thisbox").scrollTop(0); });
2020-10-22 10:12:30 +09:00
}
2020-10-23 17:42:52 +09:00
}
function cbauth() {
if (capResult.code == 1000) {
var nWidth = "1080";
var nHeight = screen.availHeight;
var popOption = "";
popOption += "width=" + nWidth + "px,";
popOption += "height=" + nHeight + "px,";
popOption += "toolbar=no,menubar=no,location=yes,";
popOption += "resizable=yes,status=yes,scrollbars=yes";
var pop = window.open("@ViewBag.fronturl.Replace("https://", "http://")/CDMS/PlayTaste?authtype=" + _dtype +"&authkey=" + capResult.obj + "&ctno=" + _ctno + "&ismobile=0", 'contentsview', popOption);
if (pop == null) {
msg("팝업이 차단되어 있습니다. 차단을 해제해 주세요.");
}
}
}
</script>
2020-10-22 10:12:30 +09:00
}