YNICTE/BO/Views/croom/lectreg.cshtml

440 lines
22 KiB
Plaintext
Raw Normal View History

2020-10-12 14:39:23 +09:00
@model NP.Model.VMCM
@{
string[] jobItems = ViewBag.JobTypeItems.ToString().Split(',');
}
2020-10-12 14:39:23 +09:00
<form id="mform" method="post" enctype="multipart/form-data" 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">강좌ID</label>
2020-10-12 14:39:23 +09:00
<div class="col-sm-8 col-md-10">
<a href="#" class="btn btn-info btn-xs data-find data-find-float" onclick="findcmshow(0)"><i class="fa fa-search"></i></a>
<input type="text" class="form-control disp-init text-center" id="cmno" disabled />
</div>
</div>
<div class="line line-dashed line-lg pull-in"></div>
<div class="form-group">
<label class="col-sm-4 col-md-2 control-label">강좌정보</label>
<div class="col-sm-8 col-md-10">
2020-10-12 14:39:23 +09:00
<ul>
<li id="cmname"></li>
<li id="ssseterm"></li>
<li id="fee"></li>
</ul>
</div>
</div>
<div class="line line-dashed line-lg pull-in"></div>
<div class="form-group">
<label class="col-sm-4 col-md-2 control-label">기술인분류</label>
<div class="col-sm-8 col-md-10" id="div-typemans">
</div>
</div>
<div class="line line-dashed line-lg pull-in"></div>
<div class="form-group">
<label class="col-sm-4 col-md-2 control-label">교육목적</label>
2021-06-04 18:01:04 +09:00
<div class="col-sm-8 col-md-10" id="div-typeedus">
</div>
</div>
<div class="line line-dashed line-lg pull-in"></div>
<div class="form-group">
<label class="col-sm-4 col-md-2 control-label">등급</label>
2021-06-04 18:01:04 +09:00
<div class="col-sm-8 col-md-10" id="div-typegrades">
</div>
</div>
<div class="line line-dashed line-lg pull-in"></div>
<div class="form-group">
<label class="col-sm-4 col-md-2 control-label">직무분야</label>
2021-06-04 18:01:04 +09:00
<div class="col-sm-8 col-md-10" id="div-typejobs">
</div>
</div>
<div class="line line-dashed line-lg pull-in"></div>
<div class="form-group">
<label class="col-sm-4 col-md-2 control-label">전문분야</label>
<div class="col-sm-8 col-md-10" id="div-typejobitems">
</div>
</div>
2021-06-04 18:01:04 +09:00
<div class="div-isaccommodation" style="display:none;">
<div class="line line-dashed line-lg pull-in"></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:아니오" }, { "name", "isaccommodation" }, { "checked", 0 } })
2021-06-04 18:01:04 +09:00
</div>
</div>
</div>
2021-06-04 18:01:04 +09:00
<div class="div-isrebate" style="display:none;">
<div class="line line-dashed line-lg pull-in"></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:비환급" }, { "name", "isrebate" }, { "checked", 1 } })
2021-06-04 18:01:04 +09:00
</div>
</div>
2021-06-04 18:01:04 +09:00
<div class="line line-dashed line-lg pull-in"></div>
<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" name="rbankname" id="rbankname" class="form-control disp-init" value="" />
</div>
</div>
2021-06-04 18:01:04 +09:00
<div class="line line-dashed line-lg pull-in"></div>
<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" name="rbankacc" id="rbankacc" class="form-control disp-init" value="" />
</div>
</div>
2021-06-04 18:01:04 +09:00
<div class="line line-dashed line-lg pull-in"></div>
<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" name="rbankowner" id="rbankowner" class="form-control disp-init" value="" />
</div>
</div>
</div>
2021-06-04 18:01:04 +09:00
<div class="div-cmscd" style="display:none;">
<div class="line line-dashed line-lg pull-in"></div>
<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="hidden" id="cmisno" name="cmisno" />
<a href="#" class="btn btn-info btn-find btn-xs data-find data-find-float" id="btnfindscdshow"><i class="fa fa-search"></i></a>
<ul class="selectgroupul" id="scdbox">
</ul>
</div>
</div>
2020-10-12 14:39:23 +09:00
</div>
<div class="line line-dashed line-lg pull-in"></div>
<div id="olduser">
<div class="form-group">
<label class="col-sm-4 col-md-2 control-label">신청자ID</label>
2020-10-12 14:39:23 +09:00
<div class="col-sm-8 col-md-10">
<input type="hidden" id="userno" name="userno" />
<a href="#" class="btn btn-info btn-xs data-find data-find-float" onclick="userboxabsasno = 0, userboxftype = 2; findusershow()" id="btnuser"><i class="fa fa-search"></i></a>
<input type="text" class="form-control disp-init text-center" id="userid" disabled /> <span class="form-control-static" id="userinfo"></span>
2020-10-12 14:39:23 +09:00
</div>
</div>
</div>
2021-06-04 18:01:04 +09:00
<div class="line line-dashed line-lg pull-in"></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", "0:개인;1:업체" }, { "name", "iscompany" }, { "checked", 0 } })
2021-06-04 18:01:04 +09:00
</div>
</div>
<div class="line line-dashed line-lg pull-in"></div>
2020-10-12 14:39:23 +09:00
<div id="olduser">
<div class="form-group">
<label class="col-sm-4 col-md-2 control-label">회사정보</label>
2020-10-12 14:39:23 +09:00
<div class="col-sm-8 col-md-10">
<input type="hidden" id="asno" name="asno" />
2021-06-04 18:01:04 +09:00
<button type="button" id="btnfindassign" class="btn btn-info btn-find btn-xs data-find data-find-float" onclick="findassignshow()" disabled><i class="fa fa-search"></i></button>
<ul class="selectgroupul" id="asbox">
</ul>
2020-10-12 14:39:23 +09:00
</div>
</div>
</div>
<div class="line line-dashed line-lg pull-in"></div>
<div class="form-group">
2020-10-12 14:39:23 +09:00
<label class="col-sm-4 col-md-2 control-label">결제방법</label>
@*계약되면 0 : 결제대기 추가*@
<div class="col-sm-8 col-md-10">@Html.Partial("./Partial/Radio", null, new ViewDataDictionary() { { "valuetext", "6:무료;1:신용카드;3:무통장입금(가상계좌);4:현금" }, { "checked", 6 }, { "name", "ptype" } })</div>
2020-10-12 14:39:23 +09:00
</div>
<div class="line line-dashed line-lg pull-in"></div>
<div class="form-group">
2020-10-12 14:39:23 +09:00
<label class="col-sm-4 col-md-2 control-label">결제금액</label>
<div class="col-sm-8 col-md-10">
<table class="databox" id="layertable" style="width: auto;">
<thead>
<tr>
<th class="cm hide">강좌</th>
<th class="payamt">결제금액</th>
<th class="payamtcash hide">현금</th>
<th class="payamtcard hide">카드</th>
</tr>
</thead>
<tbody>
<tr data-cmno="">
<th class="cm hide text-left"></th>
2021-06-04 18:01:04 +09:00
<td class="payamt"><input type="text" class="form-control text-right int" id="payamt" value="0" readonly /></td>
2020-10-12 14:39:23 +09:00
<td class="payamtcash hide"><input type="text" class="form-control text-right int" id="payamtcash" value="0" /></td>
<td class="payamtcard hide"><input type="text" class="form-control text-right int" id="payamtcard" value="0" /></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</section>
<div class="text-center">
<a href="#" class="btn btn-primary" onclick="save();">교육생등록</a>
</div>
</form>
@Html.Partial("./Partial/CMBox2", "bindCM;강좌/패키지 선택;91;;1;1")
@Html.Partial("./Partial/UserBox", "bindUser;신청자 선택;1;1", new ViewDataDictionary { { "assigns", Model.Assigns } })
@Html.Partial("./Partial/AssignBox", "bindAssign;고객사 검색;1")
@Html.Partial("./Partial/CMScdBox", "bindCMScd;교육일정선택;1")
2020-10-12 14:39:23 +09:00
@section scriptsHeader{
<style type="text/css">
#layertable td {
padding: 2px 4px;
}
tbody th.cm {
padding: 0 10px;
}
tr.error {
color: red;
}
2020-10-12 14:39:23 +09:00
</style>
}
@section scripts{
<script>
var cmboxtmno = 0;
var cmboxnotcmno = "";
2020-10-12 14:39:23 +09:00
$(document).ready(function () {
$("[name='typejob']").on("click", function () {
console.log("id : " + $(this).attr("id"))
});
$("input[name='ptype']").on("click", function () {
2021-06-04 18:01:04 +09:00
if ($(this).val() == "6") {
$("#payamt").val(0);
$("#payamt").prop("readonly", true);
} else {
$("#payamt").prop("readonly", false);
2020-10-12 14:39:23 +09:00
}
});
$("#btnfindscdshow").on("click", function () {
var cmno = $("#cmno").val();
if (cmno != "") {
findcmscdshow(cmno);
} else {
alert("강좌ID 선택 후 가능합니다.")
2020-10-12 14:39:23 +09:00
}
});
2021-06-04 18:01:04 +09:00
$("input:radio[name='isrebate']").on("click", function () {
if ($(this).val() == 0) {
setv("rbankname", "");
setv("rbankacc", "");
setv("rbankowner", "");
$("#rbankname").prop("readonly", true);
$("#rbankacc").prop("readonly", true);
$("#rbankowner").prop("readonly", true);
$("input:radio[name='iscompany']").prop("disabled", false);
2021-06-04 18:01:04 +09:00
} else {
$("#rbankname").prop("readonly", false);
$("#rbankacc").prop("readonly", false);
2021-06-04 18:01:04 +09:00
$("#rbankowner").prop("readonly", false);
$("input:radio[name='iscompany'][value='1']").click();
$("input:radio[name='iscompany']").prop("disabled", true);
}
});
$("input:radio[name='iscompany']").on("click", function () {
if ($(this).val() == 0) {
$("#btnfindassign").prop("disabled", true);
assigndel();
} else {
$("#btnfindassign").prop("disabled", false);
}
});
});
function bindCM(vs) {
var v = vs.split(':');
2020-10-12 14:39:23 +09:00
setv("cmno", v[0]);
$("#cmname").text(v[2] + " | " + v[8] + " | " + v[1]);
$("#ssseterm").text("교육일 : " + v[17]);
$("#fee").text("교육비 : 수강료 " + bindComma3(v[5]) + "원 | 합숙비용 " + bindComma3(v[18]) + "원");
2020-10-12 14:39:23 +09:00
$("#layertable tbody tr:gt(0)").remove();
2021-06-04 18:01:04 +09:00
$("#layertable tbody tr").first().attr("data-cmno", v[0]);
$("th.cm,th.payamtcash,th.payamtcard,td.payamtcash,td.payamtcard").addClass("hide");
2021-06-04 18:01:04 +09:00
var cshape = v[10];
$("input:radio[name='isrebate'][value='0']").click();
$("input:radio[name='isaccommodation'][value='0']").click();
$(".div-rbankInfo").hide();
2021-06-04 18:01:04 +09:00
setv("rbankname", "");
setv("rbankacc", "");
setv("rbankowner", "");
setv("cmisno", "");
if (cshape == 1) {
$(".div-isrebate").show();
2021-06-04 18:01:04 +09:00
$(".div-cmscd").hide();
$("input:radio[name='isrebate'][value='1']").click();
} else if (cshape == 2){
$(".div-isrebate").hide();
$(".div-cmscd").show();
} else {
$(".div-isrebate").hide();
$(".div-cStringtringscJoind").hide();
2021-06-04 18:01:04 +09:00
}
var types = @Html.Raw(Json.Encode(Model.ComCodes.Select(s=> new { cgroup = s.cgroup, ccode = s.ccode, cname = s.cname})));
var typesJobItems = @Html.Raw(Json.Encode(@Model.ComCodes.Where(c => jobItems.Contains(c.cgroup)).Select(s => new { cgroup = s.cgroup, ccode = s.ccode, cname = s.cname })));
2021-06-04 18:01:04 +09:00
var typemans = v[11].split(",");
var typeedus = v[12].split(",");
var typegrades = v[13].split(",");
var typejobs = v[14].split(",");
var typejobsItems = v[15].split(",");
2021-06-04 18:01:04 +09:00
$("#div-typemans").html(radiohtml(types, typemans));
2021-06-04 18:01:04 +09:00
$("#div-typeedus").html(radiohtml(types, typeedus));
$("#div-typegrades").html(radiohtml(types, typegrades));
$("#div-typejobs").html(radiohtml(types, typejobs));
$("#div-typejobitems").html(radiohtml2(typesJobItems, typejobsItems));
//let htmlStr = ''
//for (let idx in typejobs) {
// htmlStr += '<input type='' typejobs[idx].cname
//}
2021-06-04 18:01:04 +09:00
var isaccommodation = v[16];
if (isaccommodation == 1) {
2021-06-04 18:01:04 +09:00
$(".div-isaccommodation").show();
} else {
2021-06-04 18:01:04 +09:00
$(".div-isaccommodation").hide();
2020-10-12 14:39:23 +09:00
}
}
function radiohtml2(types, ccodes) {
var html = "";
$.each(types, function (index, type) {
if (ccodes.indexOf(type.ccode.toString()) > -1) {
html += "<input type='radio' id='" + type.cgroup + type.ccode + "' name='" + type.cgroup + "' value='" + type.ccode + "' style='display:none' /><label style='vertical-align: sub;display:none;padding-right:7px' name='" + type.cgroup + "_names' for='" + type.cgroup + type.ccode + "' >&nbsp;" + type.cname + "</label>";
}
});
return html;
}
2021-06-04 18:01:04 +09:00
function radiohtml(types, ccodes) {
var html = "";
$.each(ccodes, function (index, ccode) {
$.each(types, function (index, type) {
if (type.cgroup == "typejob") {
if (type.ccode == ccode) {
html += "<input type='radio' id='" + type.cgroup + type.ccode + "' name='" + type.cgroup + "' value='" + type.ccode + "' onchange=\"jobItemView(this)\" /><label style='vertical-align: sub;' for='" + type.cgroup + type.ccode + "'>&nbsp;" + type.cname + "</label>&nbsp;";
return false;
}
}
else {
if (type.ccode == ccode) {
html += "<input type='radio' id='" + type.cgroup + type.ccode + "' name='" + type.cgroup + "' value='" + type.ccode + "' /><label style='vertical-align: sub;' for='" + type.cgroup + type.ccode + "'>&nbsp;" + type.cname + "</label>&nbsp;";
return false;
}
}
2021-06-04 18:01:04 +09:00
});
});
2021-06-04 18:01:04 +09:00
return html;
}
function jobItemView(obj) {
$("#div-typejobitems input:radio").css("display", "none")
$("#div-typejobitems label").css("display", "none")
let name = $(obj).attr("id")
$("[name='" + name + "']").css("display", "")
$("[name='" + name + "_names']").css("display", "")
}
2020-10-12 14:39:23 +09:00
function bindUser(vs) {
var v = vs.split(':');
setv("userid", v[7]);
setv("userno", v[0]);
$("#userinfo").text("[" + v[5] + "]" + v[6] + " | " + v[2] + "(" + v[3] + ")");
2021-06-04 18:01:04 +09:00
assigndel();
if (v[8]) {
$("input:radio[name='iscompany'][value='1']").click();
bindAssign(v[8] + ":" + v[6]);
}
2020-10-12 14:39:23 +09:00
}
2021-06-04 18:01:04 +09:00
function bindAssign(data) {
var v = data.split(':')[0];
2021-06-04 18:01:04 +09:00
setv("asno", v);
$("#asbox").html("");
$("#asbox").append("<li data-no=\"" + v + "\"><label>" + data.split(':')[1] + "</label><a href=\"#\" class=\"adel\" onclick=\"assigndel(this)\">X</a></li>");
}
function assigndel(a) {
if (a) {
$(a).closest("li").remove();
setv("asno", "");
} else {
$("#asbox").empty();
setv("asno", "");
}
}
function bindCMScd(data) {
setv("cmisno", data.value);
2021-06-04 18:01:04 +09:00
$("#scdbox").html("");
$("#scdbox").append("<li data-no=\"" + data.value + "\"><label>" + data.text + "</label><a href=\"#\" class=\"adel\" onclick=\"cmscddel(this)\">X</a></li>");
}
function cmscddel(a) {
setv("cmisno", "");
$(a).closest("li").remove();
2021-06-04 18:01:04 +09:00
}
function save() {
var ta = 0;
var tcash = 0;
var tcard = 0;
$.each($("#layertable tbody tr"), function (i, r) {
ta += getint($(r).find("td.payamt input").val());
tcash += getint($(r).find("td.payamtcash input").val());
tcard += getint($(r).find("td.payamtcard input").val());
});
2021-06-04 18:01:04 +09:00
var isrebate = $("input:radio[name='isrebate']:checked").val() == "1" ? true : false;
var iscompany= $("input:radio[name='iscompany']:checked").val() == "1" ? true : false;
if (check("cmno", null, "강좌ID를 선택해주세요.")) { }
else if ($("input:radio[name='typeman']").length > 0 && $("input:radio[name='typeman']:checked").val() == undefined) { msg("기술인분류를 선택해주세요."); }
else if ($("input:radio[name='typeedu']").length > 0 && $("input:radio[name='typeedu']:checked").val() == undefined) { msg("교육목적을 선택해주세요."); }
else if ($("input:radio[name='typegrade']").length > 0 && $("input:radio[name='typegrade']:checked").val() == undefined) { msg("등급을 선택해주세요."); }
else if ($("input:radio[name='typejob']").length > 0 && $("input:radio[name='typejob']:checked").val() == undefined) { msg("직무분야를 선택해주세요."); }
else if ($(".div-cmscd").css("display") != "none" && $("#cmisno").val() == "") { msg("교육일정을 선택해주세요."); }
2021-06-04 18:01:04 +09:00
else if (isrebate && check("rbankname", null, "은행명을 등록해주세요.")) { }
else if (isrebate && check("rbankacc", null, "계좌번호를 등록해주세요.")) { }
else if (isrebate && check("rbankowner", null, "예금주를 등록해주세요.")) { }
else if (check("userno", null, "신청자ID를 선택해주세요.")) { }
else if (iscompany && check("asno", null, "회사정보를 선택해주세요.")) { }
else if (getrv("ptype") != "6" && getrv("ptype") != "0" && ta < 1) { msg("결제금액을 입력해주세요."); }
2020-10-12 14:39:23 +09:00
else if (confirm("교육생을 등록하시겠습니까?")) {
2021-06-04 18:01:04 +09:00
var pplog = {};
pplog.cmno = val("cmno");
pplog.typeman = getrv("typeman");
pplog.typeedu = getrv("typeedu");
pplog.typegrade = getrv("typegrade");
pplog.typejob = getrv("typejob");
pplog.typejobItem = getrv("typejob" + pplog.typejob);
2021-06-04 18:01:04 +09:00
pplog.cmisno = val("cmisno");
pplog.isaccommodation = getrv("isaccommodation");
pplog.isrebate = getrv("isrebate");
pplog.rbankname = val("rbankname");
pplog.rbankacc = val("rbankacc");
pplog.rbankowner = val("rbankowner");
pplog.iscompany = getrv("iscompany");
pplog.userno = val("userno");
pplog.asno = val("asno");
capp("/acommon/lectreg", { ptype: getrv("ptype"), payamt: intval("payamt"), pplog: pplog }, "cbsave");
console.log(JSON.stringify(pplog))
2020-10-12 14:39:23 +09:00
}
}
function cbsave() {
if (capResult.obj == -4) {
2020-10-12 14:39:23 +09:00
msg("강좌에 해당 회원이 이미 수강중입니다.");
2021-08-23 15:10:15 +09:00
} else if (capResult.obj == -5) {
msg("이미 수강/수료한 과정입니다.");
} else if (capResult.code == 1000) {
msg2("저장되었습니다.", 10, null, null, true);
submit("mform", 500);
2020-10-12 14:39:23 +09:00
} else {
msgdev();
}
}
</script>
}