print.html 9.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <link rel="stylesheet" href="./cdn/element-ui/2.13.2/theme-chalk/index.css">
  6. <title></title>
  7. <style>
  8. table,
  9. table tr th,
  10. table tr td {
  11. border: 2px solid #333333;
  12. padding: 5px 0;
  13. height: 37px;
  14. }
  15. body {
  16. margin: 0;
  17. }
  18. #app {
  19. /* height: 98vh;
  20. position: relative; */
  21. }
  22. .content {
  23. width: 1000px;
  24. padding: 30px 20px 20px 20px;
  25. font-size: 18px;
  26. height: 630px;
  27. /* height: 570px; */
  28. position: relative;
  29. }
  30. .a5-content {
  31. height: 130vh;
  32. }
  33. table {
  34. width: 100%;
  35. text-align: center;
  36. border-collapse: collapse;
  37. border: 3px solid #333333;
  38. font-size: 15px;
  39. }
  40. .col-bgc {
  41. background: #f6f7fb;
  42. }
  43. .bottom-row1 {
  44. display: flex;
  45. /* justify-content: space-between; */
  46. margin-top: 5px 0;
  47. }
  48. .bottom-row2 {
  49. display: flex;
  50. }
  51. img,
  52. .left {
  53. width: 180px;
  54. }
  55. .config {
  56. margin-top: 10px;
  57. margin-right: 240px;
  58. }
  59. .autograph {
  60. margin-top: 10px;
  61. margin-right: 170px;
  62. }
  63. .bottom-row3 {
  64. margin: 10px 0;
  65. }
  66. .title {
  67. text-align: center;
  68. font-size: 36px;
  69. font-weight: 500;
  70. position: relative;
  71. /* margin-top: 47px; */
  72. }
  73. .number {
  74. text-align: left;
  75. margin-bottom: 10px;
  76. margin-top: 10px;
  77. }
  78. .small-row {
  79. display: flex;
  80. }
  81. .small-content {
  82. width: 300px;
  83. /* margin: 0 auto;
  84. border: 1px solid #ccc;
  85. padding: 20px 20px 160px 20px;
  86. position: absolute;
  87. top: 0;
  88. bottom: 0;
  89. left: 0;
  90. right: 0;
  91. margin: auto; */
  92. }
  93. .small-title {
  94. text-align: center;
  95. font-size: 18px;
  96. /* display: flex; */
  97. justify-content: space-between;
  98. align-items: center;
  99. }
  100. .numberNo {
  101. font-size: 36px;
  102. margin: auto;
  103. }
  104. .small-row {
  105. display: flex;
  106. justify-content: space-between;
  107. margin: 10px;
  108. }
  109. .small-img {
  110. margin-right: 0;
  111. }
  112. .sign {
  113. margin-right: 100px;
  114. }
  115. .small-code {
  116. position: relative;
  117. left: calc(50% - 55px)
  118. }
  119. .title1 {
  120. text-align: center;
  121. font-size: 26px;
  122. font-weight: 500;
  123. position: relative;
  124. }
  125. </style>
  126. </head>
  127. <body>
  128. <div id="app">
  129. <div class="content">
  130. <!-- <div class="title ">{{tableData.compName}}</div> -->
  131. <div>
  132. <img src="https://taohaoliang.oss-cn-beijing.aliyuncs.com/pcfiles/hengxinlogo.png " alt=" " style="float: left;">
  133. <img src="https://taohaoliang.oss-cn-beijing.aliyuncs.com/pcfiles/dongfangyulogo.png " alt=" " style="float:right;">
  134. <div class="title1">黑龙江恒信物业管理有限公司</div>
  135. <div class="title">收款收据</div>
  136. </div>
  137. <div class="number">收款日期:</div>
  138. <table class="table ">
  139. <tr class="row ">
  140. <td class="col col-bgc ">业主姓名</td>
  141. <td class="col ">{{tableData.householder}}</td>
  142. <td class="col col-bgc ">房源号</td>
  143. <td class="col ">{{tableData.sourceNumber}}</td>
  144. <td class="col col-bgc ">房屋面积</td>
  145. <td class="col ">{{tableData.actualMoney}}</td>
  146. <td class="col col-bgc ">平方米</td>
  147. <td class="col col-bgc ">收款方式</td>
  148. <td class="col ">{{tableData.paymentMethod}}</td>
  149. </tr>
  150. <tr class="row ">
  151. <td class="col col-bgc " rowspan="7">收费项目</td>
  152. <td class="col">物业服务费</td>
  153. <td class="col col-bgc ">金额(元)</td>
  154. <td class="col " colspan="4">{{tableData.propertyFee}}</td>
  155. <td class="col col-bgc ">收费区间</td>
  156. <td class="col " colspan="2 ">{{tableData.paymentRange}}</td>
  157. </tr>
  158. <tr class="row ">
  159. <td class="col">电梯运行费</td>
  160. <td class="col col-bgc ">金额(元)</td>
  161. <td class="col " colspan="4">{{tableData.elevatorFee}}</td>
  162. <td class="col col-bgc ">收费区间</td>
  163. <td class="col " colspan="2 ">{{tableData.paymentRange}}</td>
  164. </tr>
  165. <tr class="row ">
  166. <td class="col">车位管理费</td>
  167. <td class="col col-bgc ">金额(元)</td>
  168. <td class="col " colspan="4">{{tableData.parkingSpace}}</td>
  169. <td class="col col-bgc ">收费区间</td>
  170. <td class="col " colspan="2 ">{{tableData.paymentRange}}</td>
  171. </tr>
  172. <tr class="row ">
  173. <td class="col">车库管理费</td>
  174. <td class="col col-bgc ">金额(元)</td>
  175. <td class="col " colspan="4">{{tableData.garage}}</td>
  176. <td class="col col-bgc ">收费区间</td>
  177. <td class="col " colspan="2 ">{{tableData.paymentRange}}</td>
  178. </tr>
  179. <tr class="row ">
  180. <td class="col">仓储间管理费</td>
  181. <td class="col col-bgc ">金额(元)</td>
  182. <td class="col " colspan="4">{{tableData.warehouse}}</td>
  183. <td class="col col-bgc ">收费区间</td>
  184. <td class="col " colspan="2 ">{{tableData.paymentRange}}</td>
  185. </tr>
  186. <tr class="row ">
  187. <td class="col">小计</td>
  188. <td class="col " colspan="7">{{totalPrice}}</td>
  189. </tr>
  190. <tr class="row ">
  191. <td class="col">代收装修垃圾及漂浮物、清运、处理费</td>
  192. <td class="col ">金额(元)</td>
  193. <td class="col " colspan="4">{{tableData.garbageClearing}}</td>
  194. <td class="col ">备注</td>
  195. <td class="col ">{{tableData.remark}}</td>
  196. </tr>
  197. <tr class="row ">
  198. <td class="col" colspan="2">应收款项合计</td>
  199. <td class="col " colspan="5">{{total}}</td>
  200. <td class="col ">业主签字</td>
  201. <td class="col ">{{tableData.personPhone}}</td>
  202. </tr>
  203. </table>
  204. </div>
  205. </div>
  206. </body>
  207. <script src="./cdn/vue/2.6.10/vue.min.js "></script>
  208. <script src="./cdn/element-ui/2.13.2/index.js "></script>
  209. <script type="text/javascript ">
  210. new Vue({
  211. el: '#app',
  212. data: {
  213. tableData: {}
  214. },
  215. computed: {
  216. totalPrice() {
  217. let _totalPrice = Number(this.tableData.propertyFee) + Number(this.tableData.elevatorFee) +
  218. Number(this.tableData.parkingSpace) + Number(this.tableData.garage) + Number(this
  219. .tableData.warehouse)
  220. return _totalPrice;
  221. },
  222. total() {
  223. let _total = Number(this.tableData.propertyFee) + Number(this.tableData.elevatorFee) +
  224. Number(this.tableData.parkingSpace) + Number(this.tableData.garage) + Number(this
  225. .tableData.warehouse) + Number(this.tableData.garbageClearing)
  226. return _total
  227. },
  228. },
  229. methods: {
  230. tableRowClassName({
  231. row,
  232. rowIndex
  233. }) {
  234. if (rowIndex === 1) {
  235. return 'warning-row';
  236. } else if (rowIndex === 3) {
  237. return 'success-row';
  238. }
  239. return '';
  240. },
  241. getQueryVariable(variable) {
  242. debugger
  243. var query = window.location.search.substring(1);
  244. var vars = query.split("& ");
  245. for (var i = 0; i < vars.length; i++) {
  246. var pair = vars[i].split("=");
  247. if (pair[0] == variable) {
  248. return pair[1];
  249. }
  250. }
  251. return (false);
  252. },
  253. printSmall() {},
  254. printBig() {},
  255. },
  256. mounted() {
  257. debugger
  258. this.tableData = decodeURIComponent(this.getQueryVariable("data"))
  259. this.tableData = JSON.parse(this.tableData)
  260. console.log(this.tableData)
  261. document.title = "收款收据 "
  262. window.print()
  263. window.onafterprint = function(event) {
  264. window.history.back(-1)
  265. };
  266. },
  267. watch: {}
  268. })
  269. </script>
  270. </html>