时空网前端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

170 lines
5.9 KiB

4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
  1. <template>
  2. <view>
  3. <block v-if="isRight(orderDetails)">
  4. <!-- 商品信息 -->
  5. <view class="bg-white">
  6. <skeleton :loading="skeletonLoading" :row="2" :showAvatar="false" :showTitle="true">
  7. <view class="flex justify-between align-start" style="padding: 32rpx 32rpx 30rpx 32rpx;">
  8. <image :src="orderDetails.order.goods.cover" mode="aspectFill" style="width: 240rpx; height: 240rpx;border-radius: 10rpx;"></image>
  9. <view class="flex-sub padding-left-sm">
  10. <view class="bref-box text-black1 lf-line-2 lf-font-32 lf-font-bold" style="height: 88rpx;line-height: 44rpx;" v-if="orderDetails.order.goods.name">
  11. {{orderDetails.order.goods.name}}
  12. </view>
  13. <text class="block text-gray lf-font-28" style="margin-top: 20rpx;line-height: 40rpx;">数量 <text class="margin-left margin-right-xs text-gray">x</text>{{orderDetails.order.number}}</text>
  14. <view class="flex justify-between" style="margin-top: 28rpx;">
  15. <lf-price :price="orderDetails.order.selling_price" style="margin-top: 8rpx;" />
  16. <view>
  17. <button class="cu-btn line-gray bg-white border round margin-left-sm lf-font-28">等待审核</button>
  18. </view>
  19. </view>
  20. </view>
  21. </view>
  22. </skeleton>
  23. </view>
  24. <self-line/>
  25. <skeleton :loading="skeletonLoading" :row="3" :showAvatar="false" :showTitle="true">
  26. <view class="bg-white">
  27. <view class="cu-bar padding-lr solid-bottom flex justify-between align-center text-center">
  28. <text class="text-gray lf-font-32">订单金额</text>
  29. <view class="text-price1 lf-font-32 text-black">
  30. {{orderDetails.order.amount}}
  31. </view>
  32. </view>
  33. <view class="cu-bar padding-lr solid-bottom flex justify-between align-center text-center">
  34. <text class="text-gray lf-font-32">扣费率</text>
  35. <view>
  36. <text class="lf-font-32 text-black">{{orderDetails.refund_rate}}%</text>
  37. </view>
  38. </view>
  39. <view class="cu-bar padding-lr solid-bottom flex justify-between align-center text-center">
  40. <text class="text-gray lf-font-32">扣费金额</text>
  41. <view class="text-price1 lf-font-32 text-black">
  42. {{orderDetails.refund_rate_amount}}
  43. </view>
  44. </view>
  45. </view>
  46. </skeleton>
  47. <!-- 表单 -->
  48. <skeleton :loading="skeletonLoading" :row="2" :showAvatar="false" :showTitle="true">
  49. <view class="bg-white">
  50. <view class="cu-bar padding-lr solid-bottom flex justify-between align-center text-center">
  51. <text class="text-gray lf-font-32">可退金额</text>
  52. <view class="text-price1 lf-font-32 text-black">
  53. {{orderDetails.refund_amount}}
  54. </view>
  55. </view>
  56. <view class="cu-bar padding-lr solid-bottom flex justify-between align-center text-center">
  57. <text class="text-gray lf-font-32">订单编号</text>
  58. <view>
  59. <text class="lf-font-32 text-black">{{orderDetails.order_sn}}</text>
  60. </view>
  61. </view>
  62. <view class="padding-lr bg-white" style="padding-top: 30rpx;" v-if="checkArea">
  63. <view class="cu-self menu">
  64. <view class="text-gray lf-font-28">
  65. 由于产品的特殊性在申请的过程中供应商会向您收取部分费用如有疑问可参考产品的<text @tap="$routerGo('/pages/agreement/agreement?id='+checkAreaId)" class="text-orange">{{checkArea}}</text>或咨询客服
  66. </view>
  67. </view>
  68. </view>
  69. </view>
  70. </skeleton>
  71. <skeleton :loading="skeletonLoading" :row="6" :showAvatar="false" :showTitle="true">
  72. <view class="bg-white" style="padding: 40rpx 32rpx 20rpx 32rpx;">
  73. <view class="cu-self menu">
  74. <view class="lf-font-32 text-black1">退款说明</view>
  75. </view>
  76. <view class="cu-self menu" style="margin-top: 20rpx;padding-bottom: 20rpx;border-bottom: 1px solid #F5F5F5;" v-if="images.length == 0">
  77. <view class="text-gray lf-font-32">{{orderDetails.comment}}</view>
  78. </view>
  79. <view class="cu-self menu" style="margin-top: 20rpx;" v-else>
  80. <view class="text-gray lf-font-32">{{orderDetails.comment}}</view>
  81. </view>
  82. </view>
  83. <view class="cu-form-group solid-bottom" style="padding-bottom: 20rpx;" v-if="images.length != 0">
  84. <view class="grid col-4 grid-square flex-sub">
  85. <view style="width: 212rpx;height: 212rpx;border-radius: 10rpx;" class="bg-img" v-for="(item,index) of images" :key="index">
  86. <image :src="item.path" @tap="showImg(index)" style="width: 216rpx;height: 216rpx;" mode="aspectFill"></image>
  87. </view>
  88. </view>
  89. </view>
  90. <view style="height: 82rpx;"></view>
  91. </skeleton>
  92. </block>
  93. </view>
  94. </template>
  95. <script>
  96. export default {
  97. data() {
  98. return {
  99. skeletonLoading: true,
  100. order_id:1,
  101. orderDetails: {},
  102. checkArea: '',
  103. checkAreaId: 1,
  104. images: [],
  105. ifChoose: true
  106. }
  107. },
  108. computed: {
  109. isRight(){
  110. return function(val){
  111. return this.$shared.isRight(val);
  112. }
  113. }
  114. },
  115. onLoad(e) {
  116. this.order_id = e.order_id
  117. if(this.order_id) {
  118. this.getOrderDetails()
  119. }
  120. },
  121. methods: {
  122. getOrderDetails() {
  123. this.$http(this.API.API_APPLYPAGE_DETAILS, {order_id: this.order_id}).then(res => {
  124. if(res.code == 0) {
  125. this.orderDetails = res.data.refund
  126. this.checkArea = res.data.agreement.title
  127. this.images = res.data.refund.images
  128. this.checkAreaId = res.data.agreement.article_id
  129. this.skeletonLoading = false
  130. }
  131. })
  132. },
  133. // 预览图片
  134. showImg(index) {
  135. this.$u.throttle(() => {
  136. let goods_banner = this.images || [];
  137. let banners = goods_banner.map(item => item.path);
  138. uni.previewImage({
  139. urls: banners,
  140. current: index
  141. })
  142. }, 200);
  143. },
  144. // 点击复制
  145. copy(text) {
  146. uni.setClipboardData({
  147. data: text
  148. });
  149. },
  150. }
  151. }
  152. </script>
  153. <style lang="scss" scoped>
  154. .bref-box {
  155. text-overflow: -o-ellipsis-lastline;
  156. overflow: hidden;
  157. text-overflow: ellipsis;
  158. display: -webkit-box;
  159. -webkit-line-clamp: 2;
  160. -webkit-box-orient: vertical;
  161. }
  162. </style>