express.html 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. {extend name="public/container" /}
  2. {block name="title"}物流信息{/block}
  3. {block name="head"}
  4. <style>
  5. body {
  6. background-color: #F5F5F5;
  7. }
  8. </style>
  9. {/block}
  10. {block name="content"}
  11. <div v-cloak id="app" class="logistics">
  12. <a v-for="item in order.cartInfo" :key="item.id" href="javascript:" class="goods">
  13. <div><img :src="item.productInfo.image"></div>
  14. <div class="name">{{ item.productInfo.store_name }}</div>
  15. <div class="wrap">
  16. <div>¥{{ item.productInfo.price }}</div>
  17. <div>×{{ item.cart_num }}</div>
  18. </div>
  19. </a>
  20. <div class="detail">
  21. <div class="header">
  22. <div class="icon"></div>
  23. <div class="wrap">
  24. <div><span>物流公司:</span>{{ order.delivery_name }}</div>
  25. <div><span>快递单号:</span>{{ order.delivery_id }}</div>
  26. </div>
  27. <button :data-clipboard-text="order.delivery_id" class="btn">复制单号</button>
  28. </div>
  29. <ol>
  30. <li v-for="item in list" :key="item.time">
  31. <div>{{ item.status }}</div>
  32. <div class="time">{{ item.time }}</div>
  33. <div class="circle"></div>
  34. <div class="line"></div>
  35. </li>
  36. </ol>
  37. </div>
  38. </div>
  39. {/block}
  40. {block name="foot"}
  41. <script>
  42. require(['vue', 'helper', 'store', 'clipboard'], function (Vue, $h, store, ClipboardJS) {
  43. new Vue({
  44. el: '#app',
  45. data: {
  46. order: {$order},
  47. list: []
  48. },
  49. created: function () {
  50. this.express();
  51. },
  52. mounted: function () {
  53. this.$nextTick(function () {
  54. var clipboard = new ClipboardJS('.btn');
  55. clipboard.on('success', function (event) {
  56. $h.pushMsg('复制成功');
  57. event.clearSelection();
  58. });
  59. clipboard.on('error', function () {
  60. $h.pushMsg('复制失败');
  61. });
  62. });
  63. },
  64. methods: {
  65. express: function () {
  66. var vm = this;
  67. $h.loadFFF();
  68. store.baseGet($h.U({
  69. c: 'auth_api',
  70. a: 'query',
  71. q: {
  72. delivery_id: this.order.delivery_id
  73. }
  74. }), function (res) {
  75. $h.loadClear();
  76. vm.list = res.data.data.content;
  77. });
  78. }
  79. }
  80. });
  81. });
  82. </script>
  83. {/block}