print.html 9.9 KB

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