Browse Source

收费单据打印

lzm 3 years ago
parent
commit
1c17ecb750

+ 179 - 37
sp-admin/sa-view/tb-business/print.html

@@ -1,21 +1,10 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
-    <title>打印申请单</title>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <title>打印单</title>
     <style type="text/css">
-        body {
-            left: 0px;
-            top: 0px;
-            right: 0px;
-            bottom: 0px;
-            margin: 0px;
-            font-family: Arial, Helvetica, sans-serif;
-            font-size: 12px;
-            overflow: hidden;
-            white-space: nowrap;
-        }
+        body{left:0px;top:0px;right:0px;bottom:0px;margin:0px;font-family: Arial, Helvetica, sans-serif;font-size: 12px;overflow: hidden;white-space: nowrap;}
 
 
     </style>
@@ -28,28 +17,60 @@
 
 <div>
 
-    <input type="button" style="height: 30;" id="print_button" value="打印"/>
+    <input type="button" style="height: 30;" id="print_button" value="打印" />
 
     <fieldset align="">
         <legend>打印区</legend>
         <div id="myPrintArea" style="height: 1500;">
             <div align="center">
-                <SPAN style="TEXT-DECORATION: underline;font-size:25px">进口食品冷链申报信息表</SPAN>
+                <SPAN style="TEXT-DECORATION: underline;font-size:25px">收费单据证明</SPAN>
                 <br/><br/>
             </div>
-            <div style="text-align:center; font-size:15px;he">
+            <div align="left">
+                单号: <span id="no"></span>
+            </div>
+            <div style="text-align:center; font-size:15px;">
                 <table width="100%" style="border-collapse:collapse;border:none;">
-					
-
+                    <tr height="40">
+                        <td style="border:solid #000 1px; width: 20%;">越南车牌</td>
+                        <td style="border:solid #000 1px;" colspan="2"><div id="cardNo"></div></td>
+                        <td style="border:solid #000 1px; width: 20%;" rowspan="2">支付时间</td>
+                        <td style="border:solid #000 1px;" rowspan="2"><div id="payTime"></div></td>
+                    </tr>
+                    <tr height="40">
+                        <td style="border:solid #000 1px; width: 20%;">中国车牌</td>
+                        <td style="border:solid #000 1px;" colspan="2"><div id="chinaCarNo"></div></td>
+                    </tr>
+                    <tr height="40">
+                        <td style="border:solid #000 1px; width: 20%;">总金额大写(元)</td>
+                        <td style="border:solid #000 1px;" colspan="2"><div id="chinessMoney"></div></td>
+                        <td style="border:solid #000 1px; width: 20%;">总金额小写(元)</td>
+                        <td style="border:solid #000 1px;"><div id="totalMoney"></div></td>
+                    </tr>
                 </table>
-
-
-            </div>
-            <div align="right">
                 <br/><br/>
-                <SPAN style=";font-size:15px">      &nbsp&nbsp&nbsp&nbsp  年  &nbsp&nbsp&nbsp&nbsp 月   &nbsp&nbsp&nbsp&nbsp 日</SPAN>
+                <table width="100%" style="border-collapse:collapse;border:none;">
+                    <tr height="40">
+                        <td style="border:solid #000 1px; width: 10%;" >序号</td>
+                        <td style="border:solid #000 1px; width: 20%;" >车牌</td>
+                        <td style="border:solid #000 1px; width: 20%;" >类型</td>
+                        <td style="border:solid #000 1px; width: 30%;" >项目</td>
+                        <td style="border:solid #000 1px; width: 20%;" >金额(元)</td>
+                    <tr>
+                    <tbody id="items"></tbody>
+                </table>
+                <br/>
+                <div align="center">
+                    收费员: <span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp</span>
+                    客户: <span id="customerName"></span>
+                </div>
 
             </div>
+<!--            <div align="right">-->
+<!--                <br/><br/>-->
+<!--                <SPAN style=";font-size:15px">      &nbsp&nbsp&nbsp&nbsp  年  &nbsp&nbsp&nbsp&nbsp 月   &nbsp&nbsp&nbsp&nbsp 日</SPAN>-->
+
+<!--            </div>-->
 
         </div>
     </fieldset>
@@ -57,29 +78,150 @@
 </div>
 
 <script type="text/javascript">
-    $(function () {
-        $("#print_button").click(function () {
+    $(function(){
+        $("#print_button").click(function(){
             $("#myPrintArea").printArea();
         });
-
-        function getUrlParam(name) {
-            var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象
+        function getUrlParam(name)
+        {
+            var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象
             var r = window.location.search.substr(1).match(reg);  //匹配目标参数
-            if (r != null) return unescape(r[2]);
-            return null; //返回参数值
+            if (r!=null) return unescape(r[2]); return null; //返回参数值
         }
-
         var id = getUrlParam('id');
         $.ajax({
-            url: 'http://192.168.3.74:8099/pro/TbDeclare/getById?id=' + id,
-            type: 'post',     // 请求类型,常用的有 GET 和 POST
-            success: function (data) { // 接口调用成功回调函数
-
+            url: 'http://127.0.0.1:8099/pro/TbBusiness/getById?id=' + id,
+            type: 'post',
+            success: function(data) {
+                $("#no").html(data.data.no);
+                $("#payTime").html(data.data.payTime);
+                $("#cardNo").html(data.data.cardNo);
+                $("#chinaCarNo").html(data.data.chinaCarNo);
+                $("#totalMoney").html(data.data.totalMoney);
+                $("#customerName").html(data.data.customerName);
+                var chinessMoney = changeNumMoneyToChinese(data.data.totalMoney);
+                $("#chinessMoney").html(chinessMoney);
+                var itemList = data.data.items;
+                var itemStr = '';
+                $.each(itemList, function(index, item) {
+                    var i = index + 1;
+                    var carNo = data.data.cardNo;
+                    var itemTypeName = item.itemTypeName;
+                    var itemName = item.itemName;
+                    var itemPrice = item.itemPrice;
+                    itemStr += "<tr height=\"40\">"
+                        + "<td style=\"border:solid #000 1px; width: 10%;\">" + i + "</td>"
+                        + "<td style=\"border:solid #000 1px; width: 20%;\">" + carNo + "</td>"
+                        + "<td style=\"border:solid #000 1px; width: 20%;\">" + itemTypeName + "</td>"
+                        + "<td style=\"border:solid #000 1px; width: 30%;\">" + itemName + "</td>"
+                        + "<td style=\"border:solid #000 1px; width: 20%;\">" + itemPrice + "</td>"
+                        + "<tr>";
+                })
+                var carList = data.data.cars;
+                $.each(carList, function(index, item) {
+                    var i = index + 1;
+                    var carNo = item.carNo;
+                    var itemTypeName = "停车费";
+                    var itemName = "停车费";
+                    var itemPrice = item.pay == 0 ? item.basePartMoney : item.money;
+                    itemStr += "<tr height=\"40\">"
+                        + "<td style=\"border:solid #000 1px; width: 10%;\">" + i + "</td>"
+                        + "<td style=\"border:solid #000 1px; width: 20%;\">" + carNo + "</td>"
+                        + "<td style=\"border:solid #000 1px; width: 20%;\">" + itemTypeName + "</td>"
+                        + "<td style=\"border:solid #000 1px; width: 30%;\">" + itemName + "</td>"
+                        + "<td style=\"border:solid #000 1px; width: 20%;\">" + itemPrice + "</td>"
+                        + "<tr>";
+                })
+                $('#items').html(itemStr);
                 $("#myPrintArea").printArea();
             }
         });
 
     });
+    function changeNumMoneyToChinese(money)
+    {
+        var cnNums = new Array("零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"); //汉字的数字
+        var cnIntRadice = new Array("", "拾", "佰", "仟"); //基本单位
+        var cnIntUnits = new Array("", "万", "亿", "兆"); //对应整数部分扩展单位
+        var cnDecUnits = new Array("角", "分", "毫", "厘"); //对应小数部分单位
+        var cnInteger = "整"; //整数金额时后面跟的字符
+        var cnIntLast = "元"; //整型完以后的单位
+        var maxNum = 999999999999999.9999; //最大处理的数字
+        var IntegerNum; //金额整数部分
+        var DecimalNum; //金额小数部分
+        var ChineseStr = ""; //输出的中文金额字符串
+        var parts; //分离金额后用的数组,预定义
+        var Symbol="";//正负值标记
+        if (money == "") {
+            return "";
+        }
+
+        money = parseFloat(money);
+        if (money >= maxNum) {
+            alert('超出最大处理数字');
+            return "";
+        }
+        if (money == 0) {
+            ChineseStr = cnNums[0] + cnIntLast + cnInteger;
+            return ChineseStr;
+        }
+        if(money<0)
+        {
+            money=-money;
+            Symbol="负 ";
+        }
+        money = money.toString(); //转换为字符串
+        if (money.indexOf(".") == -1) {
+            IntegerNum = money;
+            DecimalNum = '';
+        } else {
+            parts = money.split(".");
+            IntegerNum = parts[0];
+            DecimalNum = parts[1].substr(0, 4);
+        }
+        if (parseInt(IntegerNum, 10) > 0) { //获取整型部分转换
+            var zeroCount = 0;
+            var IntLen = IntegerNum.length;
+            for (var i = 0; i < IntLen; i++) {
+                var n = IntegerNum.substr(i, 1);
+                var p = IntLen - i - 1;
+                var q = p / 4;
+                var m = p % 4;
+                if (n == "0") {
+                    zeroCount++;
+                }
+                else {
+                    if (zeroCount > 0) {
+                        ChineseStr += cnNums[0];
+                    }
+                    zeroCount = 0; //归零
+                    ChineseStr += cnNums[parseInt(n)] + cnIntRadice[m];
+                }
+                if (m == 0 && zeroCount < 4) {
+                    ChineseStr += cnIntUnits[q];
+                }
+            }
+            ChineseStr += cnIntLast;
+            //整型部分处理完毕
+        }
+        if (DecimalNum != '') { //小数部分
+            var decLen = DecimalNum.length;
+            for (var i = 0; i < decLen; i++) {
+                var n = DecimalNum.substr(i, 1);
+                if (n != '0') {
+                    ChineseStr += cnNums[Number(n)] + cnDecUnits[i];
+                }
+            }
+        }
+        if (ChineseStr == '') {
+            ChineseStr += cnNums[0] + cnIntLast + cnInteger;
+        } else if (DecimalNum == '') {
+            ChineseStr += cnInteger;
+        }
+        ChineseStr = Symbol +ChineseStr;
+
+        return ChineseStr;
+    }
 </script>
 
 

+ 4 - 0
sp-admin/sa-view/tb-business/tb-business-info.html

@@ -141,6 +141,7 @@
 			</div>
 			<!-- ------- 底部按钮 ------- -->
 			<div class="s-foot">
+				<el-button class="c-btn" type="success" icon="el-icon" @click="print()">打印</el-button>
 				<el-button type="success" @click="sa.closeCurrIframe()">关闭</el-button>
 			</div>
 
@@ -176,6 +177,9 @@
 					}
 				},
 				methods: {
+					print: function() {
+						sa.showIframe('打印收费单据', 'print.html?id=' + this.id, '1000px', '100%');
+					},
 					uploadFn(data) {
 						Object.assign(this.upload, {
 							visible: true,