printReceipt.vue 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291
  1. <template>
  2. <div class="tableAllDate">
  3. <div id="pdfDom">
  4. <div class="blank"></div>
  5. <div class="title">
  6. <h1 align="center">{{ consigeeName }}</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 :14%">收货地点</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 :10.5%">收货人</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="1"
  87. cellpadding="10"
  88. cellspacing="0"
  89. style="border-top: 0px"
  90. width="1000px"
  91. class="tablePart4"
  92. >
  93. <tr>
  94. <th style="width :10.5%">承运商</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. </div>
  101. <div>
  102. <!-- tablePart6 -->
  103. <table
  104. border="0"
  105. cellpadding="10"
  106. cellspacing="0"
  107. style="margin: auto;font-size:20px;margin-top: 10px;"
  108. width="1000px"
  109. class="tablePart6"
  110. >
  111. <tr>
  112. <th style="width :14.5%">发货单位:</th>
  113. <td style="width :48.5%">{{ shippername }}</td>
  114. </tr>
  115. </table>
  116. </div>
  117. <div>
  118. <!-- tablePart6 -->
  119. <table
  120. border="0"
  121. cellpadding="10"
  122. cellspacing="0"
  123. style="margin: auto;font-size:20px;margin-top: 10px;"
  124. width="1000px"
  125. class="tablePart6"
  126. >
  127. <tr>
  128. <th style="width :14.5%">签收人:</th>
  129. </tr>
  130. </table>
  131. </div>
  132. <div>
  133. <!-- tablePart6 -->
  134. <table
  135. border="0"
  136. cellpadding="10"
  137. cellspacing="0"
  138. style="margin: auto;font-size:20px;margin-top: 10px;"
  139. width="1000px"
  140. class="tablePart6"
  141. >
  142. <tr>
  143. <th style="width :14.5%">签收时间:</th>
  144. </tr>
  145. </table>
  146. </div>
  147. </div>
  148. <!-- <el-button style="margin-left: 45%;" type="primary" @click="getPdf()">
  149. <i class="el-icon-download"></i>导出(pdf)
  150. </el-button> -->
  151. <div class="button-box">
  152. <el-button type="primary" v-print="'#pdfDom'" @click="backScan()">
  153. <i class="el-icon-printer"></i>打印
  154. </el-button>
  155. <el-button type="primary" @click="backScan()">
  156. <i class="el-icon-back"></i>返回
  157. </el-button>
  158. </div>
  159. </div>
  160. </template>
  161. <script>
  162. import table from "@/components/DilCommonUI/packages/table/src/table.vue";
  163. export default {
  164. components: { table },
  165. name: "Login",
  166. data() {
  167. return {
  168. orderNumber: "",
  169. consignee: "",
  170. town: "",
  171. consigneeTel: "",
  172. sendDate: "",
  173. receiptDate: "",
  174. consigeeName: "",
  175. saleNo: "",
  176. deliveryOrderMaterialList: [
  177. {
  178. materialName: "",
  179. materialSpe: "",
  180. materialModel: "",
  181. materialNumber: 0,
  182. materialWeight: 0,
  183. makeDate: ""
  184. }
  185. ],
  186. carrierName: "",
  187. province: "",
  188. deliveryAddress: "",
  189. district: "",
  190. capacityNumber: "",
  191. shippername: "",
  192. year: new Date().getFullYear(),
  193. month: new Date().getMonth() + 1,
  194. date: new Date().getDate(),
  195. htmlTitle: "客户换票送货单"
  196. };
  197. },
  198. created() {
  199. this.getDeliveryOrder();
  200. },
  201. mounted() {
  202. // 六十秒不操作,自动返回扫码页面
  203. const timer = setInterval(() => {
  204. this.backScan();
  205. }, 60000);
  206. this.$once("hook:beforeDestroy", () => {
  207. clearInterval(timer);
  208. });
  209. },
  210. methods: {
  211. getDeliveryOrder() {
  212. let orderNumber = this.$route.query.orderNumber;
  213. this.axios
  214. .post("/api/v1/tms/getDeliveryOrder?orderNumber=" + orderNumber)
  215. .then(res => {
  216. console.log(res);
  217. this.orderNumber = res.data.orderNumber;
  218. this.carrierName = res.data.carrierName;
  219. this.capacityNumber = res.data.capacityNumber;
  220. this.consigeeName = res.data.consigeeName;
  221. this.consignee = res.data.consignee;
  222. this.consigneeTel = res.data.consigneeTel;
  223. this.sendDate = res.data.sendDate;
  224. this.saleNo = res.data.saleNo;
  225. console.log(this.saleNo);
  226. this.shippername = res.data.shippername;
  227. this.province = res.data.province;
  228. this.district = res.data.district;
  229. this.town = res.data.town;
  230. this.deliveryAddress = res.data.deliveryAddress;
  231. this.deliveryOrderMaterialList = res.data.deliveryOrderMaterialList;
  232. });
  233. },
  234. backScan() {
  235. this.$router.go(-2);
  236. }
  237. }
  238. };
  239. </script>
  240. <style lang="scss" scoped>
  241. .title {
  242. font-size: 25px;
  243. }
  244. .tableBody {
  245. table,
  246. th,
  247. td {
  248. border: 1px solid black;
  249. font-size: 20px;
  250. margin: auto;
  251. text-align: center;
  252. }
  253. .tablePart1 th {
  254. border-top: 1px solid black;
  255. text-align: center;
  256. }
  257. .tablePart2 td,
  258. th {
  259. border-top: 0px;
  260. text-align: center;
  261. }
  262. .tablePart3 td,
  263. th {
  264. border-top: 0px;
  265. text-align: center;
  266. }
  267. .tablePart4 td,
  268. th {
  269. border-top: 0px;
  270. text-align: center;
  271. }
  272. }
  273. .blank {
  274. width: 100%;
  275. height: 50px;
  276. }
  277. .button-box {
  278. display: flex;
  279. text-align: center;
  280. align-items: center;
  281. justify-content: center;
  282. margin-top: 0.3125rem;
  283. margin-bottom: 1.25rem;
  284. }
  285. </style>