YNICTE/BO/Views/croom/payview.cshtml

416 lines
18 KiB
Plaintext

@model NP.Model.VMPay
@{
Layout = "~/Views/Shared/_PopupLayout.cshtml";
var p = Model.Pay;
var pi = Model.PayItems;
var isexamready = Model.isexamready == 1 && p.isexam == 1 && p.pstatus == 21;
}
<ul class="pagination pagination-md" id="thistabul">
<li class="active"><a href="#" data-toggle="tab">기본정보</a></li>
<li><a href="#" onclick="gotab()" data-toggle="tab">환불관리</a></li>
</ul>
<section class="panel panel-default">
<header class="panel-heading"><strong><i class="fa fa-bars"></i> 신청자정보<span class=""></span></strong></header>
<table class="regtable" style="margin-top: 0;">
<colgroup><col width="100" /><col width="150" /><col width="100" /><col width="200" /><col width="100" /><col /></colgroup>
<tr>
<th>결제번호</th>
<td>@p.payno</td>
<th>주문날짜</th>
<td>@p.cdtymdhms</td>
<th>주문자명</th>
<td>@p.username</td>
</tr>
<tr>
<th>생년월일</th>
<td>@(p.userpno == null || p.userpno.Length < 6 ? "" : p.userpno.Substring(0, 6))</td>
<th>일반전화</th>
<td>@p.telno</td>
<th>휴대폰</th>
<td>@p.mobile</td>
</tr>
<tr>
<th>주소</th>
<td colspan="3">@p.post @p.address1 @p.address2</td>
<th>이메일</th>
<td>@p.email</td>
</tr>
</table>
</section>
<section class="panel panel-default">
<header class="panel-heading"><strong><i class="fa fa-bars"></i> 결제정보<span class=""></span></strong></header>
<table class="regtable" style="margin-top: 0;">
<colgroup><col width="100" /><col width="150" /><col width="100" /><col width="200" /><col width="100" /><col /></colgroup>
<tr>
<th>결제금액</th>
<td>@(p.pstatus == 1 ? p.payamt.ToString("#,0") : "0")원</td>
<th>결제방식</th>
<td>
@if (isexamready)
{
@Html.Partial("./Partial/Select", null, new ViewDataDictionary { { "valuetext", ":-결제방식선택;4:현금;5:현금+카드;6:무료;9:위탁계약" }, { "name", "ptype" }, { "style", "width:100%;" } })
}
else if (p.ptype == 3 && p.pstatus == 22 && p.ispg == 1 && p.isunpay == 0)
{
@Html.Partial("./Partial/Select", null, new ViewDataDictionary { { "valuetext", "1:신용카드2:계좌이체;3:가상계좌;4:무통장입금;6:무료" }, { "name", "ptype2" }, { "style", "width:100%;" }, { "selected", Model.Pay.ptype } })
}
else
{
@:@p.ptypename
}
</td>
<th>결제상태</th>
<td>
@if (isexamready)
{
@Html.Partial("./Partial/Select", null, new ViewDataDictionary { { "valuetext", "1:결제완료;21:결제대기;41:결제취소" }, { "name", "pstatus" }, { "selected", p.pstatus }, { "style", "width:100%;" } })
}
else
{
@:@p.pstatusname2 @*@(p.ptype == 3 && p.pstatus == 22 && p.ispg == 1 && p.isunpay == 0 && p.paylimit.Value > DateTime.Now?string.Format("(만료일: {0})", p.paylimit.Value.ToString("yyyy-MM-dd")):"")*@
}
@if (p.ptype == 3 && p.pstatus == 22 && p.ispg == 1 && p.isunpay == 0@*&& p.paylimit.Value < DateTime.Now*@)
{
<a href="#" class="btn btn-primary" onclick="unpay(@p.payno)">미수처리</a>
<a href="#" class="btn btn-primary" onclick="abspay(@p.payno)">결제완료처리</a>
}
else if (p.ptype == 3 && p.pstatus == 1 && p.ispg == 1 && p.isunpay == 1)
{
@Html.Partial("./Partial/Date", (DateTime?)null, new ViewDataDictionary { { "name", "payoktime" } })
<a href="#" class="btn btn-primary" onclick="unpaymoney(@p.payno)">미수입금처리</a>
}
else if (p.isunpay == 2)
{
@:(미수입금)
}
else if (p.isunpay == 3)
{
@:(결제변경)
}
</td>
</tr>
<tr>
<th>신청/승인일</th>
<td>@(p.oktime == null ? "" : p.oktime.Value.ToString("yyyy-MM-dd HH:mm:ss"))</td>
<th>입금일</th>
<td>
@if (isexamready)
{
@Html.Partial("./Partial/Date", (DateTime?)null, new ViewDataDictionary { { "name", "payoktime" } })
}
else
{
@:@(p.payoktime == null ? "" : p.payoktime.Value.ToString("yyyy-MM-dd HH:mm:ss"))
}
</td>
<th>LG유플러스 코드</th>
<td>@(p.ispg == 0 ? "수동결제" : p.pgkey)</td>
</tr>
<tr>
<th>
계산서신청
</th>
<td>
@if (p.taxno != null)
{
<a href="#" onclick="gotax(@p.payno)" class="link" style="color:blue">신청</a>
}
else
{
<span>-</span>
}
</td>
<th>
계산서발행
</th>
<td>
@if (p.iscancel == null || p.taxdate == null)
{
<span>-</span>
}
else
{
if (p.iscancel == 1)
{
<span>발행취소</span>
}
else
{
if (p.taxdate == null)
{
<span>미발행</span>
}
else
{
<span>발행완료</span>
}
}
}
</td>
<th>
</th>
<td>
</td>
</tr>
</table>
</section>
<section class="panel panel-default">
<header class="panel-heading"><strong><i class="fa fa-bars"></i> 상품내역<span class=""></span></strong></header>
<table class="regtable" style="margin-top: 0;">
<thead><tr><th>상품코드</th><th>상품유형</th><th>과정분류</th><th>상품명</th><th>판매가</th><th>수량</th><th>합계금액</th></tr></thead>
@foreach (var d in pi)
{
<tr>
<td>@d.itemno</td>
<td>@(d.ptype == 2 ? "교재" : d.ptype == 3 ? "시험" : d.pcgname)</td>
<td>@d.cgname</td>
<td class="left">@d.itemname</td>
<td class="right">@((d.payamt / d.pcnt).ToString("#,0"))</td>
<td class="right">@d.pcnt</td>
<td class="right">@d.payamt.ToString("#,0")</td>
</tr>
}
@if (p.isdvr == 1)
{
<tr><td class="left" colspan="7">- 택배비 : @(p.deliamt > 0 ? (p.deliamt.ToString("#,0") + " 원") : "직접수령")</td></tr>
}
<tr><td class="left" colspan="7">- 최종합계: @p.payamt.ToString("#,0") 원</td></tr>
</table>
@if (isexamready)
{
<div style="padding: 5px 10px; text-align: right;"><a href="#" class="btn btn-primary" onclick="save2();">저장</a></div>
}
</section>
@if (pi.FirstOrDefault().isrebate == 1 )
{
<section class="panel panel-default">
<header class="panel-heading"><strong><i class="fa fa-bars"></i> 환급내역<span class=""></span></strong></header>
<table class="regtable" style="margin-top: 0;">
<tr>
<th>은행명</th>
<td><input type="text" id="rbank" name="rbank" class="form-control" value="@pi.FirstOrDefault().rbank" /></td>
<th>계좌번호</th>
<td><input type="text" id="rbankaccnum" name="rbankaccnum" class="form-control" value="@pi.FirstOrDefault().rbankaccnum"/></td>
<th>예금주</th>
<td><input type="text" id="tbankuser" name="tbankuser" class="form-control" value="@pi.FirstOrDefault().tbankuser"/></td>
</tr>
</table>
<div style="padding: 5px 10px; text-align: right;">
<a href="#" class="btn btn-primary" onclick="rfdinfosave();">환급정보 저장</a><br />
</div>
</section>
}
@if (p.isgroup == 1 && pi.Where(w => w.ptype == 0).Count() > 1)
{
<section class="panel panel-default">
<header class="panel-heading"><strong><i class="fa fa-bars"></i> 교육장 강의(단과) 단체수강 교육생정보<span class=""></span></strong></header>
<table class="regtable" style="margin-top: 0;">
<thead>
<tr><th>이름(ID)</th><th>회사</th><th>사업장과의관계</th><th>부서/직위</th><th>회사전화번호</th><th>휴대전화번호</th><th>공정거래업무경력</th></tr>
</thead>
@foreach (var d in pi.Where(w => w.ptype == 0))
{
<tr>
<td>@string.Format("{0}({1})", d.username, d.userid)</td>
<td>@d.asname</td>
<td>@(d.isassignuser == 1 ? "자사근로자" : "타사근로자")</td>
<td>@d.depart / @d.ccpositionname</td>
<td>@d.telno2</td>
<td>@d.mobile2</td>
<td>@(d.kfcfyear > 0 ? d.kfcfyear.ToString() : "-")년</td>
</tr>
}
</table>
</section>
}
@if (p.isdvr == 1)
{
<section class="panel panel-default">
<header class="panel-heading"><strong><i class="fa fa-bars"></i> 배송지정보<span class=""></span></strong></header>
<form id="mform" method="post">
<table class="regtable postbox" style="margin-top: 0;">
<colgroup><col width="150" /><col width="200" /><col width="100" /><col width="200" /><col width="100" /><col /></colgroup>
<tr>
<th>송장번호/수령정보</th>
<td><input id="dvrcode" name="dvrcode" class="form-control @(p.isdvr2 ==1?"disp-init":"")" type="text" value="@p.dvrcode" style="@(p.isdvr2==1?"width:50%":"")" /><a style="@(p.isdvr2 == 1?"":"display:none")" class="btn btn-select" href="#" onclick="viewdvr(this)">조회</a></td>
<th>수령인</th>
<td><input type="text" name="rcvname" id="rcvname" class="form-control" value="@p.rcvname" /></td>
<th>일반전화</th>
<td><input type="text" name="telno" id="telno" class="form-control" value="@p.telno2" /></td>
</tr>
<tr>
<th>우편번호</th>
<td class="left" colspan="3">
@Html.TextBox("post", p.post2, new { @readonly = "readonly", @style = "width: 70px; background-color: #ddd;", @class = "postno form-control disp-init" }) <a href="#" onclick="javascript: getpost2(this);" title="주소찾기"><i class="fa fa-map-marker" style="font-size: 13px;"></i> 주소찾기(클릭 후 상단검색)</a>
</td>
<th>휴대폰</th>
<td><input type="text" name="mobile" id="mobile" class="form-control" value="@p.mobile2" /></td>
</tr>
<tr>
<th>주소</th>
<td class="left" colspan="3">
@Html.TextBox("address1", p.address12, new { @readonly = "readonly", @style = "background-color: #ddd; width: 40%;", @class = "postadr form-control disp-init", @placeholder = "주소" })
@Html.TextBox("address2", p.address22, new { @class = "postadrsub form-control disp-init", @placeholder = "상세주소", @style = "width: 50%;" })
</td>
<th>배송방법</th>
<td>@(p.isdvr2 == 1 ? "택배" : "방문수령")</td>
</tr>
<tr>
<th>메모</th>
<td colspan="3"><input type="text" name="dmemo" id="dmemo" class="form-control" value="@p.dmemo" /></td>
<th>배송시작일</th>
<td>@(p.codetime == null ? "" : p.codetime.Value.ToString("yyyy-MM-dd HH:mm:ss"))</td>
</tr>
</table>
<input type="hidden" name="payno" value="@p.payno" />
</form>
<div style="padding: 5px 10px; text-align: right;"><a href="#" class="btn btn-primary" onclick="save();">저장</a></div>
</section>
}
<br /><br /><br />
<div id="postlayer" class="daumpost">
<a href="#" class="btn btn-xxs btn-select closedaumpost" onclick="closeDaumPostcode();">close</a>
</div>
@section styles{
<style type="text/css">
.regtable tr td {
background-color: #fff;
text-align: center;
}
.regtable tr td.left {
text-align: left;
}
.regtable tr td.right {
text-align: right;
}
</style>
}
@section scriptsHeader{
@Html.Partial("./Partial/ScriptPost")
@Html.Partial("./Partial/ScriptDate")
}
@section scripts{
<script>
$(document).ready(function () {
});
function viewdvr(a) {
if ($(a).closest("td").find("input").val() == "") {
msg("송장번호를 입력해주세요.");
} else {
window.open("https://www.ilogen.com/web/personal/trace/" + $(a).closest("td").find("input").val());
}
}
function save() {
if (confirm("배송정보를 수정하시겠습니까?")) {
cap("/acommon/paydvrsave2", "mform", "cbsave");
}
}
function cbsave() {
if (capResult.code == 1000) {
msg("저장했습니다.", null, null, null, null, "location.href='" + location.href.replace(/#/gi, '')+"'");
}
}
function gotab() {
if (@p.pstatus == 1) {
bglayer();
location.href = '/croom/payrefund?payno=@p.payno';
} else {
msg("결제완료건만 환불관리가 가능합니다.");
setTimeout(function () {
$("#thistabul li").removeClass("active");
$("#thistabul li").first().addClass("active");
}, 10);
}
}
function save2() {
if (val("pstatus") == "21") {
msg("결제완료 또는 결제취소만 선택할 수 있습니다.");
} else if (val("pstatus") == "1" && val("ptype") == "") {
msg("결제방식을 선택해주세요.");
} else if (val("pstatus") == "1" && val("payoktime") == "") {
msg("입금일자를 입력해주세요.");
} else if (val("pstatus") == "1") {
if (confirm("결제완료처리하시겠습니까?")) {
capp("/acommon/examuserpayok", { exno: @p.payno, userno: @p.userno, ptype: val("ptype"), payoktime: val("payoktime") }, "cb1");
}
} else {
if (confirm("결제취소처리하시겠습니까?")) {
capp("/acommon/examuserpaycancel", { exno: @p.payno, userno: @p.userno }, "cb2");
}
}
}
function cb1() {
if (capResult.code == 1000) {
msg("결제완료처리되었습니다.", null, null, null, null, "location.href='/croom/payview?payno=" + capResult.obj + "'");
opener.searchthis();
}
}
function cb2() {
if (capResult.code == 1000) {
msg("결제취소처리되었습니다.", null, null, null, null, "self.close()");
opener.searchthis();
}
}
function unpay(payno) {
if (confirm("미수처리 이후 입금 시 미수에 대한 입금처리를 진행해주세요.\n미수상태로 결제완료처리하고 상품을 정상구매완료처리하시겠습니까?")) {
capp("/acommon/payunpay", { payno: payno }, "cbpayunpay");
}
}
function cbpayunpay() {
if (capResult.code == 1000) {
msg("미수결제 처리되었습니다.", null, null, null, null, "location.href='/croom/payview?payno=@p.payno'");
opener.searchthis();
}
}
function unpaymoney(payno) {
if ($("#payoktime").val() == "") {
msg("입금일자를 입력해주세요.");
} else if (confirm("미수결제건을 입금처리하시겠습니까?")) {
capp("/acommon/payunpaymoney", { payno: payno, payoktime: val("payoktime") }, "cbpayunpaymnoey");
}
}
function cbpayunpaymnoey() {
if (capResult.code == 1000) {
msg("미수입금 처리되었습니다.", null, null, null, null, "location.href='/croom/payview?payno=@p.payno'");
opener.searchthis();
}
}
function abspay(payno) {
if (confirm("상품을 정상구매완료처리하시겠습니까?")) {
capp("/acommon/payabspay", { payno: payno, ptype: val("ptype2") }, "cbabspay");
}
}
function cbabspay() {
if (capResult.code == 1000) {
msg("결제완료처리되었습니다.", null, null, null, null, "location.href='/croom/payview?payno=@p.payno'");
opener.searchthis();
}
}
function rfdinfosave() {
if (confirm("환급정보를 저장하시겠습니까?")) {
capp("/acommon/PayRefundInfoSave", { payno: @p.payno, rbank: $("#rbank").val(), rbankaccnum: $("#rbankaccnum").val(), tbankuser: $("#tbankuser").val() }, "rfdsave");
}
}
function rfdsave() {
if (capResult.code == 1000) {
msg("환급정보를 저장하였습니다.", null, null, null, null, "location.href='/croom/payview?payno=@p.payno'");
opener.searchthis();
}
}
function gotax(payno) {
opener.gotaxdetail(payno);
self.close();
}
</script>
}