YNICTE/BO/Views/croom/encourages.cshtml

240 lines
13 KiB
Plaintext

@model NP.Model.VMLect
<div>
<ul class="pagination pagination-md" style="margin: 0;">
<li class="@(Model.tabidx == 0 ? "active" : "")"><a href="#" data-toggle="tab">대상자검색</a></li>
<li class="@(Model.tabidx == 1 ? "active" : "")"><a href="#" onclick="gotab(1);" data-toggle="tab">자동설정</a></li>
</ul>
</div>
<form id="mform" method="post">
<section class="panel panel-default clearfix devsearch" data-cleartbody="tbody1">
@Html.Partial("./Partial/SearchCaption")
<div class="step-content">
<div class="step-pane active form-inline">
<div class="form-group">
기수/강좌:
<select id="stringval" name="stringval" class="form-control disp-init">
<option value="">-년도선택</option>
@foreach (var y in Model.Terms.Select(s => s.tyear).Distinct())
{
<option value="@y" @(Model.stringval == y.ToString() ? "selected" : "")>@y 년</option>
}
</select>
<select id="stringval2" name="stringval2" class="form-control disp-init">
<option value="">-기수선택</option>
@foreach (var t in Model.Terms.Where(w => w.tyear.ToString() == Model.stringval))
{
<option value="@t.tmno" @(Model.stringval2 == t.tmno.ToString() ? "selected" : "")>@t.tseq 기</option>
}
</select>
@Html.Partial("./Partial/Select", Model.CGs, new ViewDataDictionary { { "name", "stringval3" }, { "selected", Model.stringval3 }, { "df", ":-상위분류선택" } })
@Html.Partial("./Partial/Select", Model.CMs, new ViewDataDictionary { { "name", "stringval4" }, { "selected", Model.stringval4 }, { "df", ":-강좌전체" } })
<br />
진&nbsp;도&nbsp;율: @Html.Partial("./Partial/Text", Model.stringval5, Helpers.DicText(new NP.Model.TextDic() { Name = "stringval5", Value = Model.stringval5, CssClass = "int disp-init text-center", Style = "width: 100px;" }))% 이하
<br />
미참여활동:
<label><input type="checkbox" name="stringval6" value="1" @(Model.stringval6 == "1" ? "checked" : "") /> 진행평가</label>
<label><input type="checkbox" name="stringval7" value="1" @(Model.stringval7 == "1" ? "checked" : "") /> 최종평가</label>
<label><input type="checkbox" name="stringval8" value="1" @(Model.stringval8 == "1" ? "checked" : "") /> 과제</label>
<label><input type="checkbox" name="stringval9" value="1" @(Model.stringval9 == "1" ? "checked" : "") /> 토론</label>
<label><input type="checkbox" name="stringval10" value="1" @(Model.stringval10 == "1" ? "checked" : "") /> 강의평가</label>
<br />
교육생:
<label><input type="checkbox" name="stringval11" value="1" @(Model.stringval11 == "1" ? "checked" : "") /> 환급</label>
<label><input type="checkbox" name="stringval12" value="1" @(Model.stringval12 == "1" ? "checked" : "") /> 비환급</label>
@Html.Partial("./Partial/Select", null, new ViewDataDictionary { { "valuetext", "userid:ID;username:이름" }, { "name", "stringval13" }, { "selected", Model.stringval13 } })
@Html.Partial("./Partial/Text", Model.stringval14, Helpers.DicText(new NP.Model.TextDic() { Name = "stringval14", Value = Model.stringval14, PH = "", CssClass = "ff" }))
@Html.Partial("./Partial/Button", new NP.Model.Button() { Special = "search", OnClick = "searchthis()" })
@*&nbsp;<button class="btn btn-default btn-s-xs" type="button" onclick="javascript:searchthis();"><i class="fa fa-search"></i></button>*@
</div>
</div>
</div>
</section>
<div class="tar buttonbox">
<a href="#" class="btn btn-select" onclick="send()" style="margin-left: 5px;">메일</a>
@Html.Partial("./Partial/sembtns", "#tbody1;1;0;1;1;0;학습독려")
</div>
<section class="panel panel-default">
<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>
<th>강좌</th>
<th>구분</th>
<th>고객사</th>
<th>교육생(ID)</th>
<th>교육시작일</th>
<th>진도율</th>
<th>진행평가</th>
<th>최종평가</th>
<th>과제</th>
<th>토론</th>
<th>환산점수</th>
<th>강의평가</th>
</tr>
</thead>
<tbody class="data" id="tbody1">
@foreach (var d in Model.Lects)
{
<tr>
<td><input type="checkbox" class="autocheck" value="@d.lectno" data-userno="@d.userno" /></td>
<td>@d.rnorvt</td>
<td class="text-left">@d.cnameclassno</td>
<td>@d.isrebatename</td>
<td>@d.asname</td>
<td>@d.usernameid</td>
<td>@d.sstime.Value.ToShortDateString()</td>
<td>@d.attrate %</td>
<td>@(d.ex0cnt < 1 ? "-" : d.ex0lectcnt < 1 && d.ex0cnt > 0 ? "미제출" : d.ex0lectpoint.ToString())</td>
<td>@(d.ex1cnt < 1 ? "-" : d.ex1lectcnt < 1 && d.ex0cnt > 0 ? "미제출" : d.ex1lectpoint.ToString())</td>
<td>@(d.sd0cnt < 1 ? "-" : d.sd0lectcnt < 1 && d.sd0cnt > 0 ? "미제출" : d.sd0lectpoint.ToString())</td>
<td>@(d.sd1cnt < 1 ? "-" : d.sd1lectcnt < 1 && d.sd1cnt > 0 ? "미제출" : d.sd1lectpoint.ToString())</td>
<td>@((d.apoint + d.mpoint + d.fpoint + d.spoint + d.dpoint).ToString())</td>
<td>@(d.rs0cnt < 1 ? "-" : d.rs0lectcnt < 1 && d.rs0cnt > 0 ? "미제출" : string.Format("{0} / {1}", d.rs0lectcnt, d.rs0cnt))</td>
</tr>
}
</tbody>
</table>
</div>
</section>
<div id="thisbox" class="findbox draggable regbox" style="width: 800px; z-index: 1041; left: 30%; margin-left: -250px; 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>
<br />
<table class="regtable">
@Html.HiddenFor(m=>m.EmailSend.etitle)
@Html.HiddenFor(m=>m.stringval15)
<tr>
<th>첨부파일</th>
<td><input type="file" name="file2" id="file2" /></td>
</tr>
<tr><th>내용</th><td style="text-align: left; font-weight: normal !important;">@Html.TextArea("EmailSend.ehtml", "", new { @class = "form-control disp-init", @style = "resize: none; font-weight: normal;" })</td></tr>
</table>
<br /><br />
<div class="findboxbtnbox">
<a href="#" class="btn btn-primary" onclick="sendemail();">발송</a>
</div>
</div>
</form>
<form id="dform" method="post" action="/croom/cmlects">
@Html.Partial("./Partial/dform", Model, new ViewDataDictionary { { "preform", 1 } })
</form>
@section styles{
@Html.Partial("./Partial/Summernotestyle")
}
@section scriptsHeader{
@Html.Partial("./Partial/semscript")
@Html.Partial("./Partial/Summernote")
}
@section scripts{
<script>
$('body').on('keydown', 'input, select', function(e) {
if (e.key === "Enter") {
searchthis();
}
});
var terms = '@(string.Join(";", Model.Terms.Select(s=>string.Format("{0}:{1}:{2}", s.tmno, s.tyear, s.tseq))))';
var stringval4 = $("#stringval4").val();
$(document).ready(function () {
$('#EmailSend_ehtml').summernote({
height: 300,
tabsize: 2,
callbacks: {
onImageUpload: function (files, editor, welEditable) {
var fdata = new FormData();
fdata.append('img', files[0]);
fdata.append('fd', "Editor");
uploadeditorimage(files, this, fdata, "cbeditorupload()");
}
}
});
$("#stringval").on("change", function () {
$("#stringval2 option:gt(0)").remove();
var y = $(this).val();
if (y != "") {
$.each(terms.split(';'), function (i, t) {
if (t.split(':')[1] == y) {
$("#stringval2").append("<option value=\"" + t.split(':')[0] + "\">" + t.split(':')[2] + " 기</optoin>");
}
});
}
});
$("#stringval2").on("change", function () {
$("#stringval4 option:gt(0)").remove();
if ($(this).val() != "" && val("stringval3") != "") {
capp("/acommon/cmget", { ismaster: 0, tmno: val("stringval2"), cgno: val("stringval3"), cshapes: "0,2",isall:1 }, "cbcmget");
}
});
$("#stringval3").on("change", function () {
$("#stringval4 option:gt(0)").remove();
if ($(this).val() != "" && val("stringval2") != "") {
capp("/acommon/cmget", { ismaster: 0, tmno: val("stringval2"), cgno: val("stringval3"), cshapes: "0,2" ,isall:1 }, "cbcmget");
}
});
});
function cbcmget() {
$.each(capResult.obj, function (i, d) {
$("#stringval4").append("<option value=\"" + d.value + "\">" + d.cnameclassno + "</optoin>");
if (!isnulloremt(stringval4.toString)) {
$("#stringval4").val(stringval4);
}
});
}
function searchthis() {
$("#EmailSend_ehtml").val("");
if (check("stringval", null, "년도를 선택해주세요.")) { }
else if (check("stringval2", null, "기수를 선택해주세요.")) { }
else if (check("stringval3", null, "상위분류를 선택해주세요.")) { }
else {
submit();
}
}
function gotab(idx, t) {
bglayer();
t = t || 0;
setTimeout(function () {
if (idx == 0) { location.href = "/croom/encourages"; }
else if (idx == 1) { location.href = "/croom/encourageset"; }
}, t);
}
function send() {
if ($("#tbody1").find("input.autocheck:checked").length < 1) {
msg("대상자를 선택해주세요.");
} else {
bglayer(); $("#thisbox").slideDown("fast", function () { $("#thisbox").scrollTop(0); });
$("#EmailSend_etitle").val("[학습독려]");
}
}
var _script_sem_usernos;
function sendemail() {
_script_sem_usernos = "";
$.each($("#tbody1").find("input.autocheck:checked"), function (i, c) {
_script_sem_usernos += "," + $(c).attr("data-userno");
});
_script_sem_usernos = _script_sem_usernos.substr(1);
var cdata = $('#EmailSend_ehtml').summernote('code');
cdata = cdata == "<p><br></p>" ? "" : cdata;
if (cdata.length < 1) { $('#EmailSend_ehtml').summernote('focus'); msg("내용을 입력해주세요."); }
else if (confirm("메일을 보내시겠습니까?")) {
$("#EmailSend_ehtml").val(cdata);
$("#stringval15").val(_script_sem_usernos);
capfileform("/acommon/emailsendforencourage", "mform", "cbsave");
}
}
function cbsave() {
if (capResult.code == 1000) {
msg("발송결과> " + capResult.msg);
if (capResult.obj > 0) {
$("#EmailSend_ehtml").val("");
$("#dform").attr("action", "/cc/emails");
timesubmitauto("dform");
}
}
else {
msgadmin();
}
}
</script>
}