YNICTE/BO/Views/croom/tax.cshtml

309 lines
17 KiB
Plaintext

@model NP.Model.VMCRoom
@{
}
<div>
<ul class="pagination pagination-md" style="margin: 0;">
<li class="active"><a href="#" data-toggle="tab">요청현황</a></li>
@*<li><a href="#" onclick="gotab();" 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")
@Html.HiddenFor(w=>w.stringval11)
<div class="step-content">
<div class="step-pane active form-inline">
<div class="form-groupx">
<table class="table table-striped b-t b-light no-odd">
<colgroup>
<col width="15%" />
<col width="35%" />
<col width="15%" />
<col width="*" />
</colgroup>
<tr>
<th>신청일</th>
<td class="text-left">
@Html.Partial("./Partial/Date", string.IsNullOrEmpty(Model.stringval) ? (DateTime?)null : Convert.ToDateTime(Model.stringval), new ViewDataDictionary { { "name", "stringval" } }) ~ @Html.Partial("./Partial/Date", string.IsNullOrEmpty(Model.stringval2) ? (DateTime?)null : Convert.ToDateTime(Model.stringval2), new ViewDataDictionary { { "name", "stringval2" } })
</td>
<th>계산서 요청날짜</th>
<td class="text-left">
@Html.Partial("./Partial/Date", string.IsNullOrEmpty(Model.stringval6) ? (DateTime?)null : Convert.ToDateTime(Model.stringval6), new ViewDataDictionary { { "name", "stringval6" } }) ~ @Html.Partial("./Partial/Date", string.IsNullOrEmpty(Model.stringval7) ? (DateTime?)null : Convert.ToDateTime(Model.stringval7), new ViewDataDictionary { { "name", "stringval7" } })
</td>
</tr>
<tr>
<th>계산서 실제 날짜</th>
<td class="text-left">
@Html.Partial("./Partial/Date", string.IsNullOrEmpty(Model.stringval8) ? (DateTime?)null : Convert.ToDateTime(Model.stringval8), new ViewDataDictionary { { "name", "stringval8" } }) ~ @Html.Partial("./Partial/Date", string.IsNullOrEmpty(Model.stringval9) ? (DateTime?)null : Convert.ToDateTime(Model.stringval9), new ViewDataDictionary { { "name", "stringval9" } })
</td>
<th>계산서 확인 날짜</th>
<td class="text-left">
@Html.Partial("./Partial/Date", string.IsNullOrEmpty(Model.stringval13) ? (DateTime?)null : Convert.ToDateTime(Model.stringval13), new ViewDataDictionary { { "name", "stringval13" } }) ~ @Html.Partial("./Partial/Date", string.IsNullOrEmpty(Model.stringval14) ? (DateTime?)null : Convert.ToDateTime(Model.stringval14), new ViewDataDictionary { { "name", "stringval14" } })
</td>
</tr>
<tr>
<th>검색어</th>
<td class="text-left" colspan="3">
@Html.Partial("./Partial/Select", null, new ViewDataDictionary { { "valuetext", ":발행상태;0:미발행;3:미발행(임시저장);1:발행;2:발행취소" }, { "name", "stringval3" }, { "selected", Model.stringval3 } })
@Html.Partial("./Partial/Select", null, new ViewDataDictionary { { "valuetext", ":결제상태;p21:결제대기;p22:입금대기;p1:결제완료;rf1:환불요청;r1:부분환불;r2:전액환불;p41,42,43:결제취소" }, { "name", "stringval10" }, { "selected", Model.stringval10 } })
@Html.Partial("./Partial/Select", null, new ViewDataDictionary { { "valuetext", ":확인상태;1:확인;0:미확인" }, { "name", "stringval12" }, { "selected", Model.stringval12 } })
@Html.Partial("./Partial/Select", null, new ViewDataDictionary { { "valuetext", ":영수구분;1:영수;0:청구" }, { "name", "stringval15" }, { "selected", Model.stringval15 } })
@Html.Partial("./Partial/Select", null, new ViewDataDictionary { { "valuetext", ":전체검색;username:신청자이름;userid:신청자ID;manname:담당자이름;itemname:상품명;cname:교육과정명;paynos:결제번호;asname:회사명" }, { "name", "stringval4" }, { "selected", Model.stringval4 } })
@Html.Partial("./Partial/Text", Model.stringval5, Helpers.DicText(new NP.Model.TextDic() { Name = "stringval5", Value = Model.stringval5, PH = "", CssClass = "ff" }))
@Html.Partial("./Partial/Button", new NP.Model.Button() { Special = "search" })
</td>
</tr>
</table>
</div>
</div>
</div>
</section>
<div style="padding:5px 10px; text-align:right;">
@Html.Partial("./Partial/pagerow", new ViewDataDictionary { { "tbodyid", "tbody1" }, { "searchmethod", "submit()" }, { "pagesize", Model.pagerowcount } })
@*<a href="#" onclick="javascript:exceldown('mform', '/croom/tax', 'tbody1', '계산서요청');" class="btn btn-s-xs btn-success" style="margin-left: 5px;">엑셀다운로드</a>*@
<a href="#" onclick="callexcel(); " class="btn btn-s-xs btn-success" style="margin-left: 5px;">엑셀다운로드</a>
<a href="#" onclick="javascript:taxcancel();" class="btn btn-s-xs btn-danger" style="margin-left: 5px;">일괄발행취소</a>
<a href="#" onclick="javascript:taxcheck();" class="btn btn-s-xs btn-info" style="margin-left: 5px;">일괄확인</a>
<a href="#" onclick="javascript:taxuncheck();" class="btn btn-s-xs btn-danger" style="margin-left: 5px;">일괄확인취소</a>
</div>
<section class="panel panel-default">
<div class="table-responsive" id="excel1">
<table class="table table-striped b-t b-light no-odd">
<thead>
<tr>
<th><input type="checkbox" onclick="javascript: checkall('excel1', this);" /></th>
<th width="20">No</th>
<th>결제번호</th>
<th>회사명</th>
<th>신청자(ID)</th>
<th>상품명</th>
<th>수량<br />(인원)</th>
<th>발행요청금액</th>
<th>결제상태</th>
<th>신청일</th>
<th>계산서날짜</th>
<th>실제날짜</th>
<th>발행한날</th>
<th>영수구분</th>
<th width="100">상태</th>
<th width="100">확인상태</th>
<th>확인날짜</th>
</tr>
</thead>
<tbody class="data" id="tbody1">
@foreach (var d in Model.PayTaxes)
{
<tr>
<td><input type="checkbox" class="autocheck" value="@d.taxno" data-ischeck="@d.ischeck" data-state="@d.statecode" /></td>
<td>@d.rno</td>
<td>@d.payno</td>
<td class="left">@Html.Raw(string.Format("<span class=\"isjoin{0}\">{1}</span> {2}", d.isjoin, d.isjoin == 1 ? "정" : "비", d.asname))</td>
<td>@string.Format("{0}({1})", d.username, d.userid)</td>
<td class="link"><a href="#" onclick="gotax(@d.taxno)">@d.itemname @(d.ccount > 1 ? string.Format("외 {0}건", d.ccount - 1) : "")</a></td>
<td>@d.pcnt</td>
<td class="right">@d.taxamt.ToString("#,0")</td>
<td>@d.pstatusname2</td>
<td>@d.cdtymd</td>
<td>@(d.taxdatereq == null ? "" : d.taxdatereq.Value.ToString("yyyy-MM-dd"))</td>
<td>@(d.taxdate == null ? "" : d.taxdate.Value.ToString("yyyy-MM-dd"))</td>
<td>@(d.realtaxdate == null ? "" : d.realtaxdate.Value.ToString("yyyy-MM-dd"))</td>
<td>@(d.isreceipt == 0 ? "청구" : "영수")</td>
<td class="taxdate@(d.status == "미발행" || d.status == "임시저장" ? "x" :"")" @(!string.IsNullOrEmpty(d.mgtkey) && d.statecode == 0 ? "style=color:blue;" : "" )>@(d.status)</td>
<td class="taxdate@(d.ischeck == 1 ? "" : "x")">@(d.ischeckname)</td>
<td>@d.checktimeymd</td>
</tr>
}
</tbody>
</table>
</div>
@Html.Pager((int)Model.pagenum, 10, Model.pagerowcount, Model.pagetotalcount)
</section>
</form>
<form id="dform" method="post" action="">
@Html.Partial("./Partial/dform", Model, new ViewDataDictionary { { "preform", 1 } })
@Html.Partial("./Partial/ExcelCommentBox")
</form>
@section styles{
<style type="text/css">
td span.isjoin0 {background-color: #ddd; color: #fff;}
td span.isjoin1 {background-color: #0094ff; color: #fff;}
td.taxdatex{background-color: #d89f77; color: #d00000}
td.left{text-align: left !important}
td.right{text-align: right !important}
.panel .table-striped.no-odd > tbody > tr:nth-child(odd) > td.taxdatex,
.taxdatex {
background-color: #ffc399 !important
}
</style>
}
@section scriptsHeader{
@Html.Partial("./Partial/ScriptDate")
}
@section scripts{
<script>
$(document).ready(function () {
$(".autocheck").on("change", function () {
let nos = "";
$(".autocheck").each(function () {
if ($(this).is(":checked")) {
nos += (nos == "" ? "" : ",") + $(this).val()
}
})
//console.log(nos)
$("#stringval11").val(nos)
})
});
function gotax(tno) {
$("#dform_longval").val(tno);
$("#dform").attr("action", "/croom/taxdetail").submit();
}
function gotab() {
$("#dform").attr("action", "/croom/taxsmart").submit();
}
function callexcel() {
$("#stringval11").val("")
if ($("#tbody1 tr td input.autocheck:checked").length < 1) {
msg("엑셀 다운로드 할 건이 선택되지 않았습니다.");
}
else {
var taxnos = "";
$.each($("#tbody1 tr td input.autocheck:checked"), function (i, c) {
taxnos += "," + $(c).val();
});
$("#stringval11").val(taxnos.substr(1));
callComment('mform', '/croom/tax', 'tbody1', '계산서요청')
}
@* else {
var taxnos = "";
$.each($("#tbody1 tr td input.autocheck:checked"), function (i, c) {
taxnos += "," + $(c).val();
});
$("#stringval11").val(taxnos.substr(1));
exceldown('mform', '/croom/tax', 'tbody1', '계산서요청');
}*@
}
function taxcheck() {
if ($("#tbody1 tr td input.autocheck:checked").length < 1) {
msg("확인 처리 할 요청서가 없습니다.");
} else {
var taxnos = "";
var chk = false;
var cnt = 0;
$.each($("#tbody1 tr td input.autocheck:checked"), function (i, c) {
if ($(c).attr("data-ischeck") == 1) {
chk = false;
return false;
} else {
chk = true;
cnt++;
taxnos += "," + $(c).val();
}
});
if (chk == false) {
msg("확인 완료 건이 포함되어 있습니다. 다시 확인해주세요.");
} else {
if(confirm("선택한 "+cnt+"건을 확인 처리 하시겠습니까?"))
capp("/acommon/taxcheck", { taxnos: taxnos.substr(1), ischeck: 1 }, "cbtaxcheck");
}
}
}
function cbtaxcheck() {
if (capResult.code == 1000) {
if (capResult.obj == -1) {
msg("확인 처리 할 요청서가 없습니다.");
} else if (capResult.obj == -2) {
//우연의 확률..
msg("확인 완료 건이 포함되어 있습니다. 다시 확인해주세요.", null, null, null, null, "submit()");
} else {
msg("일괄확인 처리 되었습니다.", null, null, null, null, "submit();");
}
} else {
msgdev();
}
}
function taxuncheck() {
if ($("#tbody1 tr td input.autocheck:checked").length < 1) {
msg("확인 취소 할 요청서가 없습니다.");
} else {
var taxnos = "";
var chk = false;
var cnt = 0;
$.each($("#tbody1 tr td input.autocheck:checked"), function (i, c) {
if ($(c).attr("data-ischeck") == 0) {
chk = false;
return false;
} else {
chk = true;
cnt++;
taxnos += "," + $(c).val();
}
});
if (chk == false) {
msg("미확인 건이 포함되어 있습니다. 다시 확인해주세요.");
} else {
if (confirm("선택한 " + cnt + "건을 일괄로 확인취소 처리 하시겠습니까?")) {
capp("/acommon/taxcheck", { taxnos: taxnos.substr(1), ischeck: 0 }, "cbtaxuncheck");
}
}
}
}
function cbtaxuncheck() {
if (capResult.code == 1000) {
if (capResult.obj == -1) {
msg("확인 취소 할 요청서가 없습니다.");
} else if (capResult.obj == -2) {
//우연의 확률..
msg("미확인 건이 포함되어 있습니다. 다시 확인해주세요.", null, null, null, null, "submit()");
} else {
msg("일괄확인취소 처리 되었습니다.", null, null, null, null, "submit();");
}
} else {
msgdev();
}
}
function taxcancel() {
if ($("#tbody1 tr td input.autocheck:checked").length < 1) {
msg("발행 취소 할 요청서가 없습니다.");
} else {
var taxnos = "";
var chk = false;
var cnt = 0;
$.each($("#tbody1 tr td input.autocheck:checked"), function (i, c) {
if ($(c).attr("data-state") == 0) {
chk = true;
cnt++;
taxnos += "," + $(c).val();
} else {
chk = false;
return false;
}
});
if (chk == false) {
msg("발행완료, 발행취소 건이 포함되어 있습니다. 다시 확인해주세요.");
} else {
if (confirm("선택한 " + cnt + "건을 일괄로 발행취소 처리 하시겠습니까?")) {
capp("/acommon/taxcancel", { taxnos: taxnos.substr(1) }, "cbtaxcancel");
}
}
}
}
function cbtaxcancel() {
if (capResult.code == 1000) {
if (capResult.obj == -1) {
msg("발행취소 할 요청서가 없습니다.");
} else if (capResult.obj == -2) {
//우연의 확률..
msg("발행완료, 발행취소 건이 포함되어 있습니다. 다시 확인해주세요.", null, null, null, null, "submit()");
} else {
msg("일괄 발행취소 처리 되었습니다.", null, null, null, null, "submit();");
}
} else {
msgdev();
}
}
</script>
}