order-details.vue 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241
  1. <template>
  2. <view class="odetail">
  3. <view class="odetail-top">
  4. <view class="odetail-title">收货人信息</view>
  5. <view class="odetail-top-main flex">
  6. <view class="odetail-address">
  7. <view class="odetail-ssq">{{ details.province }} {{ details.city }} {{ details.area }}</view>
  8. <view class="odetail-xq">{{ details.detail }}</view>
  9. <view class="odetail-userinfo flexs">
  10. <text>{{ details.username }}</text>
  11. <text>{{ details.mobile }}</text>
  12. </view>
  13. </view>
  14. </view>
  15. </view>
  16. <view class="odetail-main">
  17. <view class="odetail-main-title">订单信息</view>
  18. <view class="odetail-main-box">
  19. <view class="odetail-main-item flexs">
  20. <view class="odetail-main-item-icon"><image :src="details.goods_image" mode="aspectFill"></image></view>
  21. <view class="odetail-main-item-info flex">
  22. <view class="odetail-main-item-name">{{ details.goods_name }}</view>
  23. <view class="odetail-main-item-time">开箱日期:{{ details.box_open_time }}</view>
  24. </view>
  25. </view>
  26. </view>
  27. </view>
  28. <view class="odetail-pay">
  29. <view class="odetail-pay-money flex">
  30. <text>付款金额</text>
  31. <text class="red">{{ details.pay_amount }}</text>
  32. </view>
  33. <view class="odetail-pay-money flex">
  34. <text>支付方式</text>
  35. <text>{{ details.pay_method }}</text>
  36. </view>
  37. </view>
  38. <view class="odetail-pay orderId">
  39. <view class="odetail-pay-money flex">
  40. <text>订单号:{{ details.delivery_order_no }}</text>
  41. </view>
  42. <view class="odetail-pay-money flex">
  43. <text>下单时间:{{ details.delivery_apply_time }}</text>
  44. </view>
  45. <view class="odetail-pay-money flex" v-if="details.status == 'unreceived' || details.status == 'finished'">
  46. <text>发货时间:{{ details.delivery_time }}</text>
  47. </view>
  48. <view class="odetail-pay-money flex" v-if="details.status == 'unreceived' || details.status == 'finished'">
  49. <text>物流号:{{ details.delivery_number }}</text>
  50. <!-- <text class="logistics" @click="lookLogistics" v-if="details.status == 'unreceived'">查看物流</text> -->
  51. </view>
  52. <view class="odetail-pay-money flex" v-if="details.status == 'unreceived' || details.status == 'finished'">
  53. <text>物流名称:{{ details.post_name }}</text>
  54. <!-- <text class="logistics" @click="lookLogistics" v-if="details.status == 'unreceived'">查看物流</text> -->
  55. </view>
  56. <view class="odetail-pay-money flex" v-if="details.status == 'finished'">
  57. <text>收货时间:{{ details.receive_time }}</text>
  58. </view>
  59. </view>
  60. <button class="btn" hover-class="hover-view" v-if="details.status == 'unreceived'" @click="affirm">确认收货</button>
  61. <button class="btn" hover-class="hover-view" v-if="details.status == 'unreceived' && canTi == 1" @click="affirm1">申请退货</button>
  62. </view>
  63. </template>
  64. <script>
  65. export default {
  66. data() {
  67. return {
  68. id: '', //订单ID
  69. details: {}, //详情
  70. canTi: ''
  71. };
  72. },
  73. methods: {
  74. //查看物流
  75. // lookLogistics() {
  76. // uni.navigateTo({ url: '/pages/me/logistics' });
  77. // },
  78. //获取订单详情
  79. onLoadData() {
  80. this.$api.deliveryOrderDetail({ delivery_order_id: this.id }).then(res => {
  81. if (res.code === 1) {
  82. this.details = res.data;
  83. }
  84. });
  85. },
  86. //确认收货
  87. affirm() {
  88. uni.showModal({
  89. content: '是否确认收货?',
  90. success: res => {
  91. if (res.confirm) {
  92. this.$api.confirmReceipt({ delivery_order_id: this.id }).then(res => {
  93. if (res.code === 1) {
  94. uni.showToast({ title: res.msg });
  95. setTimeout(() => {
  96. uni.navigateBack();
  97. }, 800);
  98. }
  99. });
  100. }
  101. }
  102. });
  103. },
  104. affirm1() {
  105. uni.showModal({
  106. content: '申请退货成功,请耐心等待审核。',
  107. success: res => {
  108. if (res.confirm) {
  109. }
  110. }
  111. });
  112. }
  113. },
  114. onLoad({ id }) {
  115. this.id = id;
  116. this.onLoadData();
  117. this.$api.checkSwitch2().then(({ data }) => {
  118. this.canTi = data;
  119. });
  120. }
  121. };
  122. </script>
  123. <style lang="scss">
  124. .odetail {
  125. padding: 0 30rpx 38rpx 30rpx;
  126. .odetail-title {
  127. padding: 30rpx 0;
  128. font-size: 28rpx;
  129. font-weight: bold;
  130. }
  131. .odetail-top-main {
  132. padding: 30rpx;
  133. border-radius: 10rpx;
  134. background: #ffffff;
  135. input {
  136. font-size: 28rpx;
  137. }
  138. }
  139. .odetail-address {
  140. .odetail-ssq {
  141. color: #666666;
  142. font-size: 28rpx;
  143. }
  144. .odetail-xq {
  145. font-size: 26rpx;
  146. margin: 20rpx 0;
  147. }
  148. .odetail-userinfo {
  149. text {
  150. color: #999999;
  151. font-size: 30rpx;
  152. &:last-child {
  153. font-size: 28rpx;
  154. margin-left: 20rpx;
  155. }
  156. }
  157. }
  158. }
  159. }
  160. .odetail-main-title {
  161. font-size: 28rpx;
  162. font-weight: bold;
  163. padding: 30rpx 0 20rpx 0;
  164. }
  165. .odetail-main-item {
  166. padding: 30rpx;
  167. background: #ffffff;
  168. border-radius: 20rpx;
  169. .odetail-main-item-icon {
  170. width: 168rpx;
  171. height: 168rpx;
  172. image {
  173. border-radius: 10rpx;
  174. }
  175. margin-right: 20rpx;
  176. }
  177. .odetail-main-item-info {
  178. height: 168rpx;
  179. align-items: flex-start;
  180. flex-direction: column;
  181. justify-content: space-around;
  182. }
  183. .odetail-main-item-name {
  184. font-size: 28rpx;
  185. line-height: 36rpx;
  186. }
  187. .odetail-main-item-time {
  188. color: #999999;
  189. }
  190. }
  191. .odetail-pay {
  192. padding: 0 30rpx 0 20rpx;
  193. border-radius: 10rpx;
  194. background: #ffffff;
  195. margin-top: 20rpx;
  196. .odetail-pay-money {
  197. padding: 30rpx 0;
  198. text {
  199. font-size: 26rpx;
  200. &:last-child {
  201. color: #999999;
  202. }
  203. }
  204. .red {
  205. color: #cf271b !important;
  206. }
  207. }
  208. }
  209. .orderId {
  210. padding: 30rpx 20rpx;
  211. .odetail-pay-money {
  212. padding: 0;
  213. margin-bottom: 30rpx;
  214. &:last-child {
  215. margin-bottom: 0;
  216. }
  217. .logistics {
  218. width: 130rpx;
  219. height: 44rpx;
  220. text-align: center;
  221. line-height: 44rpx;
  222. color: #ffffff !important;
  223. font-size: 24rpx;
  224. background: #f6af32;
  225. border-radius: 22rpx;
  226. }
  227. }
  228. }
  229. .btn {
  230. color: #333333;
  231. font-size: 30rpx;
  232. font-weight: bold;
  233. height: 98rpx;
  234. margin-top: 45rpx;
  235. background: #ffffff;
  236. box-shadow: 0rpx 0rpx 121rpx 0rpx rgba(63, 52, 2, 0.12);
  237. border-radius: 10rpx;
  238. }
  239. </style>