YNICTE/FO/Views/Account/Join.cshtml

210 lines
12 KiB
Plaintext
Raw Normal View History

@model NP.Model.VMUser
@{
2020-10-12 14:39:23 +09:00
var menus = (List<NP.Model.MenuPage>)ViewBag.Menus;
var em = new NP.Model.MenuPage();
var mainprivate = (menus.Where(w => w.refcode == "main.private").FirstOrDefault() ?? em);
var mainagree = (menus.Where(w => w.refcode == "main.agree").FirstOrDefault() ?? em);
}
@if (ViewBag.JoinOK)
{
<ul class="jnStep">
<li><div><div><span>1. 본인인증</span></div></div></li>
<li><div><div><span>2. 신청서 작성</span></div></div></li>
<li class="current"><div><div><span>3. 회원가입완료</span></div></div></li>
</ul>
2020-10-12 14:39:23 +09:00
<div class="joinScss">
<h5>회원가입이 완료되었습니다.</h5>
<p>아래 버튼을 클릭해주셔서 로그인을 진행해주세요.</p>
<a href="/Account/Index" class="blu">로그인 페이지로 이동</a>
<a href="#">SNS 계정 연동</a>
</div>
2020-10-12 14:39:23 +09:00
}
else
{
<ul class="jnStep">
<li><div><div><span>1. 본인인증</span></div></div></li>
<li class="current"><div><div><span>2. 신청서 작성</span></div></div></li>
<li><div><div><span>3. 회원가입완료</span></div></div></li>
</ul>
2020-10-12 14:39:23 +09:00
<form action="/Account/Join" id="mform" method="post">
@Html.HiddenFor(w => w.User.birthday)
@Html.HiddenFor(w => w.User.username)
@Html.HiddenFor(w => w.User.mobile)
@Html.HiddenFor(w => w.User.vssn)
@Html.HiddenFor(w => w.User.di)
@Html.HiddenFor(w => w.User.ci)
@*모바일인증*@
@Html.HiddenFor(w => w.intval2)
@*가입유형 0:일반회원가입,1:google,2:naver,3:카카오*@
@Html.HiddenFor(w => w.User.jointype)
@Html.HiddenFor(w => w.IsSaveOK)
<input type="hidden" name="jointype" id="jointype" value="@(Model.User.jointype)" />
<input type="hidden" name="di" id="di" value="@(Model.User.di)" />
<input type="hidden" name="ci" id="ci" value="@(Model.User.ci)" />
<input type="hidden" name="vssn" id="vssn" value="@(Model.User.vssn)" />
<input type="hidden" name="rrnum" id="rrnum" />
<input type="hidden" name="intval" id="intval" value="0" />
2020-10-12 14:39:23 +09:00
<div class="joinForm">
<ul>
<li><input type="text" id="username" name="username" placeholder="이름" value="@(Model.User.username)" @(!string.IsNullOrEmpty(Model.User.username) ? Html.Raw("readonly=\"\" style=\"background-color:#ddd;\"") : Html.Raw(""))></li>
<li><input type="text" id="email" style="ime-mode:inactive" name="email" maxlength="50" placeholder="이메일"></li>
<li class="joinId">
<input type="text" id="userid" style="ime-mode:inactive" name="userid" placeholder="아이디" maxlength="50">
<a href="#" onclick="idcheck();">중복여부 체크</a>
</li>
<li>
<input type="password" id="userpass" name="userpass" placeholder="비밀번호">
<span class="red">영어, 숫자, 특수문자를 모두 포함하여 비밀번호를 설정해주세요.</span>
</li>
<li><input type="password" id="userpass2" placeholder="비밀번호확인"></li>
<li>
<ul class="jnNum">
<li><input type="text" id="rrnum1" value="@((Model.User.birthday ?? "").Substring(2))" @(!string.IsNullOrEmpty(Model.User.birthday) ? Html.Raw("readonly=\"\" style=\"background-color:#ddd;\"") : Html.Raw(""))></li>
<li>-</li>
<li><input type="tel" id="rrnum2" placeholder="주민등록번호 뒤 7자리"></li>
</ul>
</li>
@*인증완료상태여도 재인증 가능*@
<li class="joinId">
<input type="text" id="mobile" class="int nocomma" name="mobile" maxlength="13" placeholder="휴대전화번호" value="@(Model.User.mobile)" readonly="" style="background-color:#ddd;" )>
<a href="#" onclick="mobchk();">인증</a>
</li>
<li>
<ul class="jnAddr postbox">
<li>
<input type="hidden" id="post" name="post" class="postno" readonly="" style="background-color:#ddd;">
<input type="text" name="address1" id="address1" class="postadr" readonly="" style="background-color:#ddd;" placeholder="주소입력">
</li>
<li><a href="#" onclick="getpost2(this);">우편번호검색</a></li>
<li><input type="text" name="address2" id="address2" class="postadrsub" placeholder="나머지 주소 입력"></li>
</ul>
</li>
2020-10-12 14:39:23 +09:00
<li class="joinCpny">
<input type="hidden" id="asno" name="asno" />
<input type="text" id="asname" placeholder="직장" readonly="readonly" disabled style="background-color: #ddd;" />
<a href="#" onclick="boxassignview()">검색</a>
</li>
<li>
<ul class="jnType">
<li><input type="radio" name="isassignuser" value="1" id="userType1"><label for="userType1">정규직</label></li>
<li><input type="radio" name="isassignuser" value="0" id="userType0"><label for="userType0">비정규직</label></li>
</ul>
</li>
<li><input type="text" name="uduty" id="uduty" placeholder="직위"></li>
<li>
<ul class="jnType">
<li><input type="radio" name="slevel" value="1" id="lv1"><label for="lv1">고졸</label></li>
<li><input type="radio" name="slevel" value="2" id="lv2"><label for="lv2">학사</label></li>
<li><input type="radio" name="slevel" value="3" id="lv3"><label for="lv3">석사</label></li>
<li><input type="radio" name="slevel" value="4" id="lv4"><label for="lv4">박사</label></li>
<li><input type="radio" name="slevel" value="5" id="lv0"><label for="lv0">기타</label></li>
</ul>
</li>
2020-10-12 14:39:23 +09:00
</ul>
<div class="joinAgree">
<input type="checkbox" id="agree">
<label for="agree"><a href="#" onclick="viewlayer(@(mainagree.pno), this, '이용약관');">이용약관,</a> <a href="#" onclick="viewlayer(@(mainprivate.pno), this, '개인정보처리방침');">개인정보 처리방침</a>에 동의합니다.</label>
2020-10-12 14:39:23 +09:00
</div>
<a href="#" class="joinBtn" onclick="save()">동의 후 가입</a>
</div>
@Html.Partial("./Partial/BoxAssign", null, new ViewDataDictionary { { "bindmethod", "bindassign" }, { "isjoin", 1 } })
@Html.Partial("./Partial/OkCert3", null, new ViewDataDictionary { })
2020-10-12 14:39:23 +09:00
</form>
<div id="postlayer" class="daumpost"><a href="#" class="btn btn-xxs btn-select closedaumpost" onclick="closeDaumPostcode();">close</a></div>
}
@section scriptsHeader{
@Html.Partial("./Partial/ScriptPost")
2020-10-12 14:39:23 +09:00
}
@section scripts{
<script>
function bindassign(v) {
$("#asno").val(v.split(':')[0]);
$("#asname").val(v.split(':')[1]);
}
$(document).ready(function () {
if ('@(ViewBag.JoinOK?1:0)' == '1') {
$("#pageTitle h3").text("회원가입 완료");
}
});
function save() {
setv("userid", val("userid").replace(/ /, '').replace(/ /, ''));
setv("rrnum", val("rrnum1").replace(/ /, '').replace(/ /, '') + "" + val("rrnum2").replace(/ /, '').replace(/ /, ''));
2020-10-12 14:39:23 +09:00
setv("userpass", val("userpass").replace(/ /, '').replace(/ /, ''));
setv("username", val("username").replace(/ /, '').replace(/ /, ''));
setv("email", val("email").replace(/ /, '').replace(/ /, ''));
2020-10-12 14:39:23 +09:00
setv("mobile", val("mobile").replace(/ /, '').replace(/ /, ''));
setv("mobile", formatmobile(val("mobile")));
//var userid = val("userid").replace(/[^(0-9a-zA-Z)]/gi, '');
if (check("username", null, "이름을 입력해주세요.")) { }
else if (check("email", null, "이메일주소를 입력해주세요.")) { }
else if (!isemail(val("email"))) { focus("email"); msg("올바른 이메일주소를 입력해주세요."); }
else if (check("userid", null, "아이디를 입력해주세요.")) { }
else if (getBytes(val("userid")) < 5) { focus("userid"); msg("(5자이상, 영문/숫자/-/_) 규칙으로 아이디를 입력해주세요."); }
else if (!isid(val("userid"))) { focus("userid"); msg("(5자이상, 영문/숫자/-/_) 규칙으로 아이디를 입력해주세요."); }
else if (val("IsSaveOK") != 1) { focus("userid"); msg("중복여부체크를 진행해주세요"); }
2020-10-12 14:39:23 +09:00
else if (check("userpass", null, "비밀번호를 입력해주세요.")) { }
else if (!ispassword(val("userpass"))) { focus("userpass"); msg("(8자 이상, 영문/숫자/특수기호 포함) 규칙으로 비밀번호를 입력해주세요."); }
else if (val("userpass") != val("userpass2")) { focus("userpass2"); msg("비밀번호 확인이 다릅니다."); }
else if (check("rrnum", null, "주민등록번호를 입력해주세요")) { }
else if (getBytes(val("rrnum")) != 13) { focus("rrnum2"); msg("주민등록번호를 확인해주세요");}
else if (!ismobilenumber(val("mobile"))) {focus("mobile");msg("핸드폰번호를 확인해주세요.");}
else if (check("post", null, "우편번호를 등록해주세요.") || check("address1", null, "우편번호를 등록해주세요.") || check("address2", null, "우편번호를 등록해주세요.")) { }
else if (check("asno", null, "직장을 등록해주세요.")) { }
else if ($("input:radio[name='isassignuser']:checked").val() == null) { msg("채용형태를 선택해주세요"); }
else if (check("uduty", null, "직위를 입력해주세요.")) { }
else if ($("input:radio[name='slevel']:checked").val() == null) { msg("학력을 선택해주세요"); }
2020-10-12 14:39:23 +09:00
else if (!$("#agree").prop("checked")) { $("#agree").focus(); msg("이용약관/개인정보처리방침에 동의해주세요."); }
else {
cap("/focommon/join", "mform", "cbsave");
}
}
function idcheck() {
if (check("userid", null, "아이디를 입력해주세요.")) { }
else if (getBytes(val("userid")) < 5) { focus("userid"); msg("(5자이상, 영문/숫자/-/_) 규칙으로 아이디를 입력해주세요."); }
else if (!isid(val("userid"))) { focus("userid"); msg("(5자이상, 영문/숫자/-/_) 규칙으로 아이디를 입력해주세요."); }
else {
capp("/focommon/idchk", { id: val("userid") }, "cbidchk");
}
}
function cbidchk() {
if (capResult.code == 1000) {
setv("IsSaveOK", 1);
msg("사용가능한 아이디입니다.");
} else {
focus("userid");
msg("이미 사용중인 아이디입니다.<br />다른 아이디를 사용해주세요.");
}
}
2020-10-12 14:39:23 +09:00
function cbsave() {
if (capResult.code == 1000) {
setv("intval", 1);
$("#mform").submit();
}
else if (capResult.obj == -1) {
focus("userid");
msg("이미 사용중인 아이디입니다.<br />다른 아이디를 사용해주세요.");
}
else if (capResult.obj == -2) {
focus("email");
msg("이미 사용중인 이메일입니다.<br />다른 이메일을 사용해주세요.");
}
else if (capResult.obj == -3) {
focus("mobile");
msg("이미 사용중인 핸드폰번호입니다.<br />다른 번호를 사용해주세요.");
}
}
function mobchk() {
//한번 인증되면 재인증 불가
if ($("#intval2").val() == 1 && $("#mobile").val() != null) {
msg("휴대폰 인증이 완료되었습니다.");
} else {
mobilechkview('MCHK');
2020-10-12 14:39:23 +09:00
}
}
</script>
}