311 lines
17 KiB
Plaintext
311 lines
17 KiB
Plaintext
@model NP.Model.VMCM
|
|
<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>
|
|
<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">
|
|
<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">
|
|
@Html.Partial("./Partial/Radio", Model.ComCodes.Where(w => w.cgroup.ToString() == "typeman"), new ViewDataDictionary() { { "name", "typeman" } })
|
|
</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">
|
|
@Html.Partial("./Partial/Radio", Model.ComCodes.Where(w => w.cgroup.ToString() == "typeedu"), new ViewDataDictionary() { { "name", "typeedu" } })
|
|
</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">
|
|
@Html.Partial("./Partial/Radio", Model.ComCodes.Where(w => w.cgroup.ToString() == "typegrade"), new ViewDataDictionary() { { "name", "typegrade" } })
|
|
</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">
|
|
@Html.Partial("./Partial/Radio", Model.ComCodes.Where(w => w.cgroup.ToString() == "typejob"), new ViewDataDictionary() { { "name", "typejob" } })
|
|
</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">
|
|
@Html.Partial("./Partial/Radio", null, new ViewDataDictionary() { { "valuetext", "0:아니오;1:예" }, { "name", "isaccommodation" } })
|
|
</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">
|
|
@Html.Partial("./Partial/Radio", null, new ViewDataDictionary() { { "valuetext", "0:비환급;1:환급" }, { "name", "isrebate" } })
|
|
</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">
|
|
<input type="text" name="rbankname" id="rbankname" class="form-control disp-init" value="" />
|
|
</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">
|
|
<input type="text" name="rbankacc" id="rbankacc" class="form-control disp-init" value="" />
|
|
</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">
|
|
<input type="text" name="rbankowner" id="rbankowner" class="form-control disp-init" value="" />
|
|
</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">
|
|
<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>
|
|
<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>
|
|
<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>
|
|
</div>
|
|
</div>
|
|
</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">회사정보</label>
|
|
<div class="col-sm-8 col-md-10">
|
|
<input type="hidden" id="asno" name="asno" />
|
|
<a href="#" class="btn btn-info btn-find btn-xs data-find data-find-float" onclick="findassignshow()"><i class="fa fa-search"></i></a>
|
|
<ul class="selectgroupul" id="asbox">
|
|
</ul>
|
|
</div>
|
|
</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>
|
|
@if (Model.IsAdmin)
|
|
{
|
|
<div class="col-sm-8 col-md-10">@Html.Partial("./Partial/Radio", null, new ViewDataDictionary() { { "valuetext", "1:신용카드;2:계좌이체;3:가상계좌;4:현금;5:현금+카드;6:무료;9:위탁계약" }, { "checked", 1 }, { "name", "ptype" } })</div>
|
|
}
|
|
else if (Model.IsSiteAdmin)
|
|
{
|
|
<div class="col-sm-8 col-md-10">@Html.Partial("./Partial/Radio", null, new ViewDataDictionary() { { "valuetext", "9:위탁계약" }, { "checked", 9 }, { "name", "ptype" } })</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">
|
|
<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>
|
|
<td class="payamt"><input type="text" class="form-control text-right int" id="payamt" value="0" /></td>
|
|
<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")
|
|
@section scriptsHeader{
|
|
<style type="text/css">
|
|
#layertable td {
|
|
padding: 2px 4px;
|
|
}
|
|
|
|
tbody th.cm {
|
|
padding: 0 10px;
|
|
}
|
|
|
|
tr.error {
|
|
color: red;
|
|
}
|
|
</style>
|
|
}
|
|
@section scripts{
|
|
<script>
|
|
var cmboxtmno = 0;
|
|
var cmboxnotcmno = "";
|
|
$(document).ready(function () {
|
|
$("input[name='ptype']").on("change", function () {
|
|
$("th.payamtcash,th.payamtcard,td.payamtcash,td.payamtcard").addClass("hide");
|
|
if ($(this).val() == "5") {
|
|
$("th.payamtcash,th.payamtcard,td.payamtcash,td.payamtcard").removeClass("hide");
|
|
}
|
|
});
|
|
$("input[name='ismember']").on("change", function () {
|
|
$("#userno,#userid,#username,#email,#mobile").val("");
|
|
$("#userinfo").text("");
|
|
$("#newuser").hide();
|
|
$("#olduser").show();
|
|
if ($(this).val() == "1") {
|
|
$("#newuser").show();
|
|
$("#username").focus();
|
|
$("#olduser").hide();
|
|
}
|
|
});
|
|
|
|
$("#btnfindscdshow").on("click", function () {
|
|
var cmno = $("#cmno").val();
|
|
if (cmno != "") {
|
|
findcmscdshow(cmno);
|
|
} else {
|
|
alert("강좌ID 선택 후 가능합니다.")
|
|
}
|
|
});
|
|
|
|
});
|
|
var _ismaster = 0;
|
|
function bindCM(vs) {
|
|
var v = vs.split(':');
|
|
setv("cmno", v[0]);
|
|
$("#cmname").text(v[2] + " | " + v[8] + " | " + v[1]);
|
|
$("#ssseterm").text("교육일 : " + v[9] + "일");
|
|
$("#fee").text("교육비 : 회원 " + bindComma3(v[5]) + "원 | 비회원 " + bindComma3(v[6]) + "원");
|
|
$("#layertable tbody tr:gt(0)").remove();
|
|
_ismaster = 0;
|
|
if (v[7] == "2") {
|
|
_ismaster = 2;
|
|
capp("/acommon/cmpcget", { pcno: v[0] }, "cbcmpcget");
|
|
} else {
|
|
$("#layertable tbody tr").first().attr("data-cmno", v[0]);
|
|
$("th.cm,th.payamtcash,th.payamtcard,td.payamtcash,td.payamtcard").addClass("hide");
|
|
}
|
|
}
|
|
function cbcmpcget() {
|
|
$.each(capResult.obj, function (i, d) {
|
|
if (i > 0) {
|
|
$("#layertable tbody tr").first().clone().appendTo("#layertable tbody");
|
|
}
|
|
$("#layertable tbody tr").last().attr("data-cmno", d.cmno);
|
|
$("#layertable tbody tr").last().find("th.cm").html(d.tmname + " | " + d.cnameclassno + "<br/>회원가: " + bindComma3(d.infee) + ", 비회원가: " + bindComma3(d.outfee));
|
|
$("#layertable tbody tr").last().find("td.payamt input,td.payamtcash input,td.payamtcard input").val(0);
|
|
});
|
|
$("th.cm").removeClass("hide");
|
|
}
|
|
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] + ")");
|
|
}
|
|
function save() {
|
|
var ta = 0;
|
|
var tcash = 0;
|
|
var tcard = 0;
|
|
var sd = "";
|
|
$.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());
|
|
sd += ";" + $(r).attr("data-cmno") + ":" + getint($(r).find("td.payamt input").val()) + ":" + getint($(r).find("td.payamtcash input").val()) + ":" + getint($(r).find("td.payamtcard input").val());
|
|
});
|
|
sd = sd.substr(1);
|
|
if (check("cmno", null, "강좌/패키지를 선택해주세요.")) { }
|
|
else if ($("#ismember0").prop("checked") && $("#userno").val() == "") { msg("신청자ID를 등록해주세요."); }
|
|
else if ($("#ismember1").prop("checked") && $("#username").val() == "") { focus("username"); msg("신청자이름을 입력해주세요."); }
|
|
else if ($("#ismember1").prop("checked") && !isemail($("#email").val())) { focus("username"); msg("이메일을 확인해주세요."); }
|
|
else if ($("#ismember1").prop("checked") && !ismobile($("#mobile").val())) { focus("username"); msg("핸드폰번호를을 확인해주세요."); }
|
|
else if (getrv("ptype") != "6" && getrv("ptype") != "9" && ta < 1) { msg("결제금액을 입력해주세요."); }
|
|
else if (getrv("ptype") == "5" && ta != tcash + tcard) { msg("결제금액을 확인해주세요."); }
|
|
else if (confirm("교육생을 등록하시겠습니까?")) {
|
|
if (_ismaster == 0) {
|
|
capp("/acommon/lectreg", { pis: sd, isnewmember: $("#ismember1").prop("checked"), userno: val("userno") == "" ? 0 : val("userno"), username: val("username"), email: val("email"), mobile: val("mobile"), ptype: getrv("ptype") }, "cbsave");
|
|
} else {
|
|
capp("/acommon/lectreg", { pcno: val("cmno"), pis: sd, isnewmember: $("#ismember1").prop("checked"), userno: val("userno") == "" ? 0 : val("userno"), username: val("username"), email: val("email"), mobile: val("mobile"), ptype: getrv("ptype") }, "cbsave");
|
|
}
|
|
}
|
|
}
|
|
function cbsave() {
|
|
if (capResult.obj == -1) {
|
|
msg("이미 등록된 이메일입니다(ID)");
|
|
} else if (capResult.obj == -2) {
|
|
msg("이미 등록된 이메일입니다(Email)");
|
|
} else if (capResult.obj == -3) {
|
|
msg("회원등록이 실패하였습니다.");
|
|
} else if (capResult.obj == -4) {
|
|
msg("강좌에 해당 회원이 이미 수강중입니다.");
|
|
} else if (capResult.code == 1000) {
|
|
msg2("저장되었습니다.", 10, null, null, true);
|
|
submit("mform", 500);
|
|
} else {
|
|
msgdev();
|
|
}
|
|
}
|
|
function bindAssign(data) {
|
|
var v = data.split(':')[0];
|
|
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) {
|
|
$(a).closest("li").remove();
|
|
setv("asno", "");
|
|
}
|
|
function bindCMScd(data) {
|
|
setv("cmisno", data.value);
|
|
$("#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();
|
|
}
|
|
</script>
|
|
} |