printReceipt.vue 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336
  1. <template>
  2. <div class="tableAllDate">
  3. <div id="pdfDom">
  4. <div class="blank"></div>
  5. <div class="title">
  6. <h1 align="center">{{ shippername }}</h1>
  7. <h1 align="center">物资送货单</h1>
  8. </div>
  9. <div>
  10. <!-- tablePart0 -->
  11. <table
  12. border="0"
  13. cellpadding="10"
  14. cellspacing="0"
  15. style="margin: auto; font-size: 20px"
  16. width="1000px"
  17. class="tablePart0"
  18. >
  19. <tr>
  20. <th style="width: 14.5%">销售订单号:</th>
  21. <td style="width: 85.5%">{{ saleNo }}</td>
  22. </tr>
  23. </table>
  24. </div>
  25. <div class="tableBody">
  26. <!-- tablePart1 -->
  27. <table
  28. border="1"
  29. cellpadding="10"
  30. cellspacing="0"
  31. style="margin-top: 10px; text-align: center"
  32. width="1000px"
  33. class="tablePart1"
  34. >
  35. <tr>
  36. <th style="width: 5%; text-align: center">序号</th>
  37. <th style="width: 21.5%; text-align: center">物资名称</th>
  38. <th style="width: 21.5%; text-align: center">规格型号</th>
  39. <th style="width: 14%">件数</th>
  40. <th style="width: 14%">重量</th>
  41. <th style="width: 19%">订单日期</th>
  42. </tr>
  43. <tr v-for="(item, index) in deliveryOrderMaterialList" :key="index">
  44. <td>{{ index + 1 }}</td>
  45. <td>{{ item.materialName }}</td>
  46. <td>{{ item.materialSpe }}{{ item.materialModel }}</td>
  47. <td>{{ item.materialNumber }}</td>
  48. <td>{{ item.materialWeight }}</td>
  49. <td>{{ item.makeDate }}</td>
  50. </tr>
  51. </table>
  52. <!-- tablePart2 -->
  53. <table
  54. border="1"
  55. cellpadding="10"
  56. cellspacing="0"
  57. style="border-top: 0px"
  58. width="1000px"
  59. class="tablePart2"
  60. >
  61. <tr>
  62. <th style="width: 19.25%">收货地点</th>
  63. <td style="width: 50%">
  64. {{ province }}{{ district }}{{ town }}{{ deliveryAddress }}
  65. </td>
  66. </tr>
  67. </table>
  68. <!-- tablePart3 -->
  69. <table
  70. border="1"
  71. cellpadding="10"
  72. cellspacing="0"
  73. style="border-top: 0px"
  74. width="1000px"
  75. class="tablePart3"
  76. >
  77. <tr>
  78. <th style="width: 21.65%">收货人</th>
  79. <td style="width: 20%">{{ consignee }}</td>
  80. <th style="width: 10.5%">电话</th>
  81. <td style="width: 26%">{{ consigneeTel }}</td>
  82. </tr>
  83. </table>
  84. <!-- tablePart4 -->
  85. <table
  86. border="0"
  87. cellpadding="10"
  88. cellspacing="0"
  89. style="border-top: 0px"
  90. width="1000px"
  91. class="tablePart4"
  92. >
  93. <tr>
  94. <th style="width: 27.75%">承运商</th>
  95. <td style="width: 36.5%">{{ carrierName }}</td>
  96. <th style="width: 13%">车牌号</th>
  97. <td style="width: 40%">{{ capacityNumber }}</td>
  98. </tr>
  99. </table>
  100. <!-- tablePart9 -->
  101. <table
  102. border="1"
  103. cellpadding="10"
  104. cellspacing="0"
  105. style="border-top: 0px"
  106. width="1000px"
  107. class="tablePart9"
  108. >
  109. <tr>
  110. <th style="width: 7.62%">备注</th>
  111. <td style="width: 20%"></td>
  112. </tr>
  113. </table>
  114. </div>
  115. <div>
  116. <!-- tablePart6 -->
  117. <table
  118. border="0"
  119. cellpadding="10"
  120. cellspacing="0"
  121. style="margin: auto; font-size: 20px; margin-top: 10px"
  122. width="1000px"
  123. class="tablePart6"
  124. >
  125. <tr>
  126. <th style="width: 6.25%">发货单位:</th>
  127. <td style="width: 53.5%">{{ shippername }}</td>
  128. </tr>
  129. </table>
  130. </div>
  131. <div>
  132. <!-- tablePart6 -->
  133. <table
  134. border="0"
  135. cellpadding="10"
  136. cellspacing="0"
  137. style="margin: auto; font-size: 20px; margin-top: 10px"
  138. width="1000px"
  139. class="tablePart6"
  140. >
  141. <tr>
  142. <th style="width: 6.25%">收货单位:</th>
  143. <td style="width: 53.5%">{{ consigeeName }}</td>
  144. </tr>
  145. </table>
  146. </div>
  147. <div>
  148. <!-- tablePart6 -->
  149. <table
  150. border="0"
  151. cellpadding="10"
  152. cellspacing="0"
  153. style="margin: auto; font-size: 20px; margin-top: 10px"
  154. width="1000px"
  155. class="tablePart6"
  156. >
  157. <tr>
  158. <th style="width: 14.5%">签收人:</th>
  159. </tr>
  160. </table>
  161. </div>
  162. <div>
  163. <!-- tablePart6 -->
  164. <table
  165. border="0"
  166. cellpadding="10"
  167. cellspacing="0"
  168. style="margin: auto; font-size: 20px; margin-top: 10px"
  169. width="1000px"
  170. class="tablePart6"
  171. >
  172. <tr>
  173. <th style="width: 14.5%">签收时间:</th>
  174. </tr>
  175. </table>
  176. </div>
  177. </div>
  178. <!-- <el-button style="margin-left: 45%;" type="primary" @click="getPdf()">
  179. <i class="el-icon-download"></i>导出(pdf)
  180. </el-button> -->
  181. <div class="button-box">
  182. <el-button type="primary" v-print="'#pdfDom'" @click="backScan()">
  183. <i class="el-icon-printer"></i>打印
  184. </el-button>
  185. <el-button type="primary" @click="backScan()">
  186. <i class="el-icon-back"></i>返回
  187. </el-button>
  188. </div>
  189. </div>
  190. </template>
  191. <script>
  192. import table from "@/components/DilCommonUI/packages/table/src/table.vue";
  193. export default {
  194. components: { table },
  195. name: "Login",
  196. data() {
  197. return {
  198. orderNumber: "",
  199. consignee: "",
  200. town: "",
  201. consigneeTel: "",
  202. sendDate: "",
  203. receiptDate: "",
  204. consigeeName: "",
  205. saleNo: "",
  206. deliveryOrderMaterialList: [
  207. {
  208. materialName: "",
  209. materialSpe: "",
  210. materialModel: "",
  211. materialNumber: 0,
  212. materialWeight: 0,
  213. makeDate: "",
  214. },
  215. ],
  216. carrierName: "",
  217. province: "",
  218. deliveryAddress: "",
  219. district: "",
  220. capacityNumber: "",
  221. shippername: "",
  222. year: new Date().getFullYear(),
  223. month: new Date().getMonth() + 1,
  224. date: new Date().getDate(),
  225. htmlTitle: "客户换票送货单",
  226. };
  227. },
  228. created() {
  229. this.getDeliveryOrder();
  230. },
  231. mounted() {
  232. // 六十秒不操作,自动返回扫码页面
  233. const timer = setInterval(() => {
  234. this.backScan();
  235. }, 60000);
  236. this.$once("hook:beforeDestroy", () => {
  237. clearInterval(timer);
  238. });
  239. },
  240. methods: {
  241. getDeliveryOrder() {
  242. let orderNumber = this.$route.query.orderNumber;
  243. this.axios
  244. .post("/api/v1/tms/getDeliveryOrder?orderNumber=" + orderNumber)
  245. .then((res) => {
  246. console.log(res);
  247. this.orderNumber = res.data.orderNumber;
  248. this.carrierName = res.data.carrierName;
  249. this.capacityNumber = res.data.capacityNumber;
  250. this.consigeeName = res.data.consigeeName;
  251. this.consignee = res.data.consignee;
  252. this.consigneeTel = res.data.consigneeTel;
  253. this.sendDate = res.data.sendDate;
  254. this.saleNo = res.data.saleNo;
  255. console.log(this.saleNo);
  256. this.shippername = res.data.shippername;
  257. this.province = res.data.province;
  258. this.district = res.data.district;
  259. this.town = res.data.town;
  260. this.deliveryAddress = res.data.deliveryAddress;
  261. this.deliveryOrderMaterialList = res.data.deliveryOrderMaterialList;
  262. });
  263. },
  264. backScan() {
  265. this.$router.go(-2);
  266. },
  267. },
  268. };
  269. </script>
  270. <style lang="scss" scoped>
  271. .title {
  272. font-size: 25px;
  273. }
  274. .tableBody {
  275. table,
  276. th,
  277. td {
  278. border: 1px solid black;
  279. font-size: 20px;
  280. margin: auto;
  281. text-align: center;
  282. }
  283. .tablePart1 th {
  284. border-top: 1px solid black;
  285. text-align: center;
  286. }
  287. .tablePart2 td,
  288. th {
  289. border-top: 0px;
  290. text-align: center;
  291. }
  292. .tablePart3 td,
  293. th {
  294. border-top: 0px;
  295. text-align: center;
  296. }
  297. .tablePart4 td,
  298. th {
  299. border-top: 0px;
  300. text-align: center;
  301. }
  302. .tablePart9 td,
  303. th {
  304. border-top: 0px;
  305. text-align: center;
  306. }
  307. }
  308. .blank {
  309. width: 100%;
  310. height: 50px;
  311. }
  312. .button-box {
  313. display: flex;
  314. text-align: center;
  315. align-items: center;
  316. justify-content: center;
  317. margin-top: 0.3125rem;
  318. margin-bottom: 1.25rem;
  319. }
  320. </style>