print.html 9.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>打印单据</title>
  6. <style type="text/css">
  7. 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;}
  8. </style>
  9. <script src="../../static/print/jquery-2.0.3.js" type="text/javascript"></script>
  10. <script src="../../static/print/jquery.jPrintArea.js" type="text/javascript"></script>
  11. </head>
  12. <body>
  13. <div>
  14. <input type="button" style="height: 30;" id="print_button" value="打印" />
  15. <fieldset align="">
  16. <legend>打印区</legend>
  17. <div id="myPrintArea" style="height: 1500;">
  18. <div align="center">
  19. <SPAN style="TEXT-DECORATION: underline;font-size:25px">收费单据证明</SPAN>
  20. <br/><br/>
  21. </div>
  22. <div align="left">
  23. 单号: <span id="no"></span>
  24. </div>
  25. <div style="text-align:center; font-size:15px;">
  26. <table width="100%" style="border-collapse:collapse;border:none;">
  27. <tr height="40">
  28. <td style="border:solid #000 1px; width: 20%;">越南车牌</td>
  29. <td style="border:solid #000 1px;" colspan="2"><div id="cardNo"></div></td>
  30. <td style="border:solid #000 1px; width: 20%;" rowspan="2">支付时间</td>
  31. <td style="border:solid #000 1px;" rowspan="2"><div id="payTime"></div></td>
  32. </tr>
  33. <tr height="40">
  34. <td style="border:solid #000 1px; width: 20%;">中国车牌</td>
  35. <td style="border:solid #000 1px;" colspan="2"><div id="chinaCarNo"></div></td>
  36. </tr>
  37. <tr height="40">
  38. <td style="border:solid #000 1px; width: 20%;">总金额大写(元)</td>
  39. <td style="border:solid #000 1px;" colspan="2"><div id="chinessMoney"></div></td>
  40. <td style="border:solid #000 1px; width: 20%;">总金额小写(元)</td>
  41. <td style="border:solid #000 1px;"><div id="totalMoney"></div></td>
  42. </tr>
  43. </table>
  44. <br/><br/>
  45. <table width="100%" style="border-collapse:collapse;border:none;">
  46. <tr height="40">
  47. <td style="border:solid #000 1px; width: 10%;" >序号</td>
  48. <td style="border:solid #000 1px; width: 20%;" >车牌</td>
  49. <td style="border:solid #000 1px; width: 20%;" >类型</td>
  50. <td style="border:solid #000 1px; width: 30%;" >项目</td>
  51. <td style="border:solid #000 1px; width: 20%;" >金额(元)</td>
  52. <tr>
  53. <tbody id="items"></tbody>
  54. </table>
  55. <br/>
  56. <div align="center">
  57. 收费员: <span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp</span>
  58. 客户: <span id="customerName"></span>
  59. </div>
  60. </div>
  61. <!-- <div align="right">-->
  62. <!-- <br/><br/>-->
  63. <!-- <SPAN style=";font-size:15px"> &nbsp&nbsp&nbsp&nbsp 年 &nbsp&nbsp&nbsp&nbsp 月 &nbsp&nbsp&nbsp&nbsp 日</SPAN>-->
  64. <!-- </div>-->
  65. </div>
  66. </fieldset>
  67. </div>
  68. <script type="text/javascript">
  69. $(function(){
  70. $("#print_button").click(function(){
  71. $("#myPrintArea").printArea();
  72. });
  73. function getUrlParam(name)
  74. {
  75. var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象
  76. var r = window.location.search.substr(1).match(reg); //匹配目标参数
  77. if (r!=null) return unescape(r[2]); return null; //返回参数值
  78. }
  79. var id = getUrlParam('id');
  80. $.ajax({
  81. url: 'https://dxkaa1.bgigc.com/pro/TbBusiness/getById?id=' + id,
  82. type: 'post',
  83. success: function(data) {
  84. $("#no").html(data.data.no);
  85. $("#payTime").html(data.data.payTime);
  86. $("#cardNo").html(data.data.cardNo);
  87. $("#chinaCarNo").html(data.data.chinaCarNo);
  88. $("#totalMoney").html(data.data.totalMoney);
  89. $("#customerName").html(data.data.customerName);
  90. var chinessMoney = changeNumMoneyToChinese(data.data.totalMoney);
  91. $("#chinessMoney").html(chinessMoney);
  92. var itemList = data.data.items;
  93. var itemStr = '';
  94. $.each(itemList, function(index, item) {
  95. var i = index + 1;
  96. var carNo = data.data.cardNo;
  97. var itemTypeName = item.itemTypeName;
  98. var itemName = item.itemName;
  99. var itemPrice = item.itemPrice;
  100. itemStr += "<tr height=\"40\">"
  101. + "<td style=\"border:solid #000 1px; width: 10%;\">" + i + "</td>"
  102. + "<td style=\"border:solid #000 1px; width: 20%;\">" + carNo + "</td>"
  103. + "<td style=\"border:solid #000 1px; width: 20%;\">" + itemTypeName + "</td>"
  104. + "<td style=\"border:solid #000 1px; width: 30%;\">" + itemName + "</td>"
  105. + "<td style=\"border:solid #000 1px; width: 20%;\">" + itemPrice + "</td>"
  106. + "<tr>";
  107. })
  108. var carList = data.data.cars;
  109. $.each(carList, function(index, item) {
  110. var i = index + 1;
  111. var carNo = item.carNo;
  112. var itemTypeName = "停车费";
  113. var itemName = "停车费";
  114. var itemPrice = item.pay == 0 ? item.basePartMoney : item.money;
  115. itemStr += "<tr height=\"40\">"
  116. + "<td style=\"border:solid #000 1px; width: 10%;\">" + i + "</td>"
  117. + "<td style=\"border:solid #000 1px; width: 20%;\">" + carNo + "</td>"
  118. + "<td style=\"border:solid #000 1px; width: 20%;\">" + itemTypeName + "</td>"
  119. + "<td style=\"border:solid #000 1px; width: 30%;\">" + itemName + "</td>"
  120. + "<td style=\"border:solid #000 1px; width: 20%;\">" + itemPrice + "</td>"
  121. + "<tr>";
  122. })
  123. $('#items').html(itemStr);
  124. $("#myPrintArea").printArea();
  125. }
  126. });
  127. });
  128. function changeNumMoneyToChinese(money)
  129. {
  130. var cnNums = new Array("零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"); //汉字的数字
  131. var cnIntRadice = new Array("", "拾", "佰", "仟"); //基本单位
  132. var cnIntUnits = new Array("", "万", "亿", "兆"); //对应整数部分扩展单位
  133. var cnDecUnits = new Array("角", "分", "毫", "厘"); //对应小数部分单位
  134. var cnInteger = "整"; //整数金额时后面跟的字符
  135. var cnIntLast = "元"; //整型完以后的单位
  136. var maxNum = 999999999999999.9999; //最大处理的数字
  137. var IntegerNum; //金额整数部分
  138. var DecimalNum; //金额小数部分
  139. var ChineseStr = ""; //输出的中文金额字符串
  140. var parts; //分离金额后用的数组,预定义
  141. var Symbol="";//正负值标记
  142. if (money == "") {
  143. return "";
  144. }
  145. money = parseFloat(money);
  146. if (money >= maxNum) {
  147. alert('超出最大处理数字');
  148. return "";
  149. }
  150. if (money == 0) {
  151. ChineseStr = cnNums[0] + cnIntLast + cnInteger;
  152. return ChineseStr;
  153. }
  154. if(money<0)
  155. {
  156. money=-money;
  157. Symbol="负 ";
  158. }
  159. money = money.toString(); //转换为字符串
  160. if (money.indexOf(".") == -1) {
  161. IntegerNum = money;
  162. DecimalNum = '';
  163. } else {
  164. parts = money.split(".");
  165. IntegerNum = parts[0];
  166. DecimalNum = parts[1].substr(0, 4);
  167. }
  168. if (parseInt(IntegerNum, 10) > 0) { //获取整型部分转换
  169. var zeroCount = 0;
  170. var IntLen = IntegerNum.length;
  171. for (var i = 0; i < IntLen; i++) {
  172. var n = IntegerNum.substr(i, 1);
  173. var p = IntLen - i - 1;
  174. var q = p / 4;
  175. var m = p % 4;
  176. if (n == "0") {
  177. zeroCount++;
  178. }
  179. else {
  180. if (zeroCount > 0) {
  181. ChineseStr += cnNums[0];
  182. }
  183. zeroCount = 0; //归零
  184. ChineseStr += cnNums[parseInt(n)] + cnIntRadice[m];
  185. }
  186. if (m == 0 && zeroCount < 4) {
  187. ChineseStr += cnIntUnits[q];
  188. }
  189. }
  190. ChineseStr += cnIntLast;
  191. //整型部分处理完毕
  192. }
  193. if (DecimalNum != '') { //小数部分
  194. var decLen = DecimalNum.length;
  195. for (var i = 0; i < decLen; i++) {
  196. var n = DecimalNum.substr(i, 1);
  197. if (n != '0') {
  198. ChineseStr += cnNums[Number(n)] + cnDecUnits[i];
  199. }
  200. }
  201. }
  202. if (ChineseStr == '') {
  203. ChineseStr += cnNums[0] + cnIntLast + cnInteger;
  204. } else if (DecimalNum == '') {
  205. ChineseStr += cnInteger;
  206. }
  207. ChineseStr = Symbol +ChineseStr;
  208. return ChineseStr;
  209. }
  210. </script>
  211. </body>
  212. </html>