228 lines
8.8 KiB
PHP
228 lines
8.8 KiB
PHP
|
||
<style>
|
||
body {
|
||
text-align:center;
|
||
}
|
||
.abc {
|
||
display: inline-block;
|
||
text-align:left;
|
||
}
|
||
.table-c {
|
||
border-right: 1px solid black;
|
||
border-bottom: 1px solid black;
|
||
background-color: white;
|
||
}
|
||
.td { padding-left: 5px; }
|
||
.maxth {
|
||
width: 18%;
|
||
}
|
||
.maxtd {
|
||
padding-left: 5px;
|
||
}
|
||
.middletd {
|
||
/*
|
||
width: 13.5%;
|
||
*/
|
||
padding-left: 5px;
|
||
}
|
||
.mintd {
|
||
}
|
||
.mintd-blue {
|
||
border-right: 1px solid blue;
|
||
}
|
||
.mintd-red {
|
||
border-right: 1px solid red;
|
||
}
|
||
.mintd-m {
|
||
width: 3px;
|
||
}
|
||
.mintd, .mintd-blue, .mintd-red {
|
||
width: 2.5%;
|
||
text-align: center;
|
||
}
|
||
.td, .maxth, .maxtd, .middleth, .middletd, .mintd, .mintd-blue, .mintd-red, .mintd-m {
|
||
border-left: 1px solid black;
|
||
border-top: 1px solid black;
|
||
}
|
||
.input {
|
||
border-left: 0px;
|
||
border-top: 0px;
|
||
border-right: 0px;
|
||
border-bottom: 1px;
|
||
width: 100%;
|
||
height: 100%;
|
||
}
|
||
</style>
|
||
<?php
|
||
$m = mb_str_split("千百十万千百十元角分 千百十万千百十元角分");
|
||
$jfze = 0;
|
||
$dfze = 0;
|
||
?>
|
||
<script>
|
||
window.onresize = function () {
|
||
resize();
|
||
}
|
||
$(document).ready(function () {
|
||
resize();
|
||
})
|
||
|
||
function resize() {
|
||
var table = document.getElementById("maintable");
|
||
table.style.width = window.innerWidth * 0.45+"px";
|
||
table.style.height = window.innerWidth * 0.35 / 2.8 + "px";
|
||
}
|
||
</script>
|
||
<body>
|
||
<div class="abc">
|
||
<table>
|
||
<tr>
|
||
<td colspan="3" style="text-align:center;"><h2>记账凭证</h2></td>
|
||
</tr>
|
||
<tr>
|
||
<td></td>
|
||
<td style="text-align:center;">凭证日期:2020-10-10</td>
|
||
<td style="text-align:right;"><b>@Model[0].Pzlb 字: @Model[0].Pzxh 号</b></td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="3">
|
||
<table class="table-c" id="maintable">
|
||
<tr>
|
||
<td rowspan="2" class="maxth" style="text-align:center;"><h4><b>摘 要</b></h4></td>
|
||
<td colspan="2" class="td" style="text-align:center;height:30px;"><b>科 目</b></td>
|
||
<td colspan="10" class="td" style="text-align:center;"><b>借 方 金 额</b></td>
|
||
<td class="mintd-m"></td>
|
||
<td colspan="10" class="td" style="text-align:center;"><b>贷 方 金 额</b></td>
|
||
</tr>
|
||
<tr>
|
||
<td class="middleth" style="text-align:center;height:30px;"><b>科 目 代 码</b></td>
|
||
<td class="maxth" style="text-align:center;"><b>会 计 科 目</b></td>
|
||
|
||
@for ($j = 1; $j <= 21; $j++)
|
||
@if ($j == 2 || $j == 5 || $j == 13 || $j == 16)
|
||
<td class="mintd-blue"><?php echo $m[$j - 1]; ?></td>
|
||
@elseif ($j == 8 || $j == 19)
|
||
<td class="mintd-red"><?php echo $m[$j - 1]; ?></td>
|
||
@elseif ($j == 11)
|
||
<td class="mintd-m"></td>
|
||
@else
|
||
<td class="mintd"><?php echo $m[$j - 1]; ?></td>
|
||
@endif
|
||
@endfor
|
||
|
||
</tr>
|
||
|
||
@for ($i = 0; $i < 3; $i++)
|
||
<?php $jfze += 0; ?>
|
||
<?php $dfze += 0; ?>
|
||
<tr>
|
||
<td class="maxtd">@Model[i].Zy</td>
|
||
<td class="middletd">@Model[i].Kjkmdm</td>
|
||
<td class="maxtd">@Model[i].Kjkmmc</td>
|
||
<!--
|
||
@VouRow(Model[i].Jfje, Model[i].Dfje)
|
||
-->
|
||
@for ($j = 1; $j <= 21; $j++)
|
||
@if ($j == 2 || $j == 5 || $j == 13 || $j == 16)
|
||
<td class="mintd-blue"><?php echo 0; ?></td>
|
||
@elseif ($j == 8 || $j == 19)
|
||
<td class="mintd-red"><?php echo 0; ?></td>
|
||
@elseif ($j == 11)
|
||
<td class="mintd-m"></td>
|
||
@else
|
||
<td class="mintd"><?php echo 2; ?></td>
|
||
@endif
|
||
@endfor
|
||
|
||
</tr>
|
||
@endfor
|
||
|
||
<tr>
|
||
<td colspan="3" class="td" style="text-align:left"><b>合计:</b>@NumtoChinese(jfze)</td>
|
||
<!--
|
||
@VouRow(jfze, dfze)
|
||
-->
|
||
@for ($j = 1; $j <= 21; $j++)
|
||
@if ($j == 2 || $j == 5 || $j == 13 || $j == 16)
|
||
<td class="mintd-blue"><?php echo 11; ?></td>
|
||
@elseif ($j == 8 || $j == 19)
|
||
<td class="mintd-red"><?php echo 22; ?></td>
|
||
@elseif ($j == 11)
|
||
<td class="mintd-m"></td>
|
||
@else
|
||
<td class="mintd"><?php echo 33; ?></td>
|
||
@endif
|
||
@endfor
|
||
|
||
</tr>
|
||
</table>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>经办人:张三</td>
|
||
<td>记账人:李四</td>
|
||
<td>审核人:王五</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
</body>
|
||
|
||
<!--
|
||
@helper VouRow(string m)
|
||
{
|
||
for (int j = 1; j <= 21; j++)
|
||
{
|
||
if (j == 2 || j == 5 || j == 13 || j == 16)
|
||
{
|
||
<td class="mintd-blue">@m[j - 1]</td>
|
||
}
|
||
else if (j == 8 || j == 19)
|
||
{
|
||
<td class="mintd-red">@m[j - 1]</td>
|
||
}
|
||
else if (j == 11)
|
||
{
|
||
<td class="mintd-m"></td>
|
||
}
|
||
else
|
||
{
|
||
<td class="mintd">@m[j - 1]</td>
|
||
}
|
||
}
|
||
}
|
||
@helper VouRow(decimal k, decimal d)
|
||
{
|
||
string m = (k == 0 ? "".PadLeft(10) : k.ToString().Replace(".", "").PadLeft(10)) + " " + (d == 0 ? "".PadLeft(10) : d.ToString().Replace(".", "").PadLeft(10));
|
||
@VouRow(m)
|
||
}
|
||
|
||
@helper NumtoChinese(decimal s)
|
||
{
|
||
s = Math.Round(s, 2);//四舍五入到两位小数,即分
|
||
string[] n = { "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖" };
|
||
//数字转大写
|
||
string[] d = { "", "分", "角", "元", "拾", "佰", "仟", "万", "拾", "佰", "仟", "亿" };
|
||
//不同位置的数字要加单位
|
||
List<string> needReplace = new List<string> { "零拾", "零佰", "零仟", "零万", "零亿", "亿万", "零元", "零零", "零角", "零分" };
|
||
List<string> afterReplace = new List<string> { "零", "零", "零", "万", "亿", "亿", "元", "零", "", "" };//特殊情况用replace剔除
|
||
string b = "人民币";//开头
|
||
string e = s % 1 == 0 ? "整" : "";//金额是整数要加一个“整”结尾
|
||
string re = "";
|
||
Int64 a = (Int64)(s * 100);
|
||
int k = 1;
|
||
while (a != 0)
|
||
{//初步转换为大写+单位
|
||
re = n[a % 10] + d[k] + re;
|
||
a = a / 10;
|
||
k = k < 11 ? k + 1 : 4;
|
||
}
|
||
string need = needReplace.Where(tb => re.Contains(tb)).FirstOrDefault<string>();
|
||
while (need != null)
|
||
{
|
||
int i = needReplace.IndexOf(need);
|
||
re = re.Replace(needReplace[i], afterReplace[i]);
|
||
need = needReplace.Where(tb => re.Contains(tb)).FirstOrDefault<string>();
|
||
}//循环排除特殊情况
|
||
re = re == "" ? "" : b + re + e;
|
||
<span>@re</span>;
|
||
}
|
||
-->
|