printReceipt.vue 9.1 KB

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