refundCard.vue 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262
  1. <template>
  2. <view class="detail" @click="$emit('toDetail', itemInfo)">
  3. <view class="title">
  4. <view class="title-left">
  5. <image class="header-img" :src="itemInfo.image" mode=""></image>
  6. <text>{{ itemInfo.merchant_name }}</text>
  7. <image
  8. class="right-325"
  9. src="../../../static/mine/325.png"
  10. mode=""
  11. ></image>
  12. </view>
  13. <text
  14. class="order-status"
  15. v-if="itemInfo.order_goods[0].refund.status == 0"
  16. >退款中</text
  17. >
  18. <text
  19. class="order-status"
  20. v-if="itemInfo.order_goods[0].refund.status == 1"
  21. >退款成功</text
  22. >
  23. <text
  24. class="order-status"
  25. v-if="itemInfo.order_goods[0].refund.status == 2"
  26. >拒绝退款</text
  27. >
  28. <text
  29. class="order-status"
  30. v-if="itemInfo.order_goods[0].refund.status == 3"
  31. >平台介入</text
  32. >
  33. </view>
  34. <view class="commodity-information" v-for="item in itemInfo.order_goods">
  35. <view class="commodity-1">
  36. <image class="commodity-img" :src="item.goods_image" mode=""></image>
  37. <view class="information-right">
  38. <view class="commodity-2">
  39. <view class="commodity-title">
  40. {{ item.goods_name }}
  41. </view>
  42. </view>
  43. <view class="commodity-3">
  44. <view class="specifications"> {{ item.sku_item.item }} </view>
  45. </view>
  46. <view
  47. style="
  48. display: flex;
  49. justify-content: space-between;
  50. align-items: center;
  51. "
  52. >
  53. <view class="commodity-price">
  54. <text style="color: #222; font-size: 26rpx">退款</text>
  55. <text style="font-size: 20rpx">¥</text>
  56. <text>{{ item.amount.split(".")[0] }}</text
  57. >.
  58. <text style="font-size: 20rpx">{{
  59. item.amount.split(".")[1]
  60. }}</text>
  61. </view>
  62. <view class="btn-list">
  63. <button class="status-1" v-if="item.refund.status == 1">
  64. 删除记录</button
  65. ><button
  66. class="status-2"
  67. v-if="item.refund.status == 1 || item.refund.status == 0"
  68. @click="$emit('toRefundDetail', item)"
  69. >
  70. 售后详情
  71. </button>
  72. <button class="status-2" v-if="item.refund.status == 2">
  73. 继续申请
  74. </button>
  75. </view>
  76. </view>
  77. </view>
  78. </view>
  79. </view>
  80. <view class="result" v-if="itemInfo.order_goods[0].refund.status == 0">
  81. <view class="result-left"> 申请中 </view>
  82. <view class="result-right"> 等待卖家同意退款 </view>
  83. </view>
  84. <view class="result" v-if="itemInfo.order_goods[0].refund.status == 1">
  85. <view class="result-left"> 退款成功 </view>
  86. <view class="result-right">
  87. 退款成功¥{{ itemInfo.order_goods[0].amount }}
  88. </view>
  89. </view>
  90. <view class="result" v-if="itemInfo.order_goods[0].refund.status == 2">
  91. <view class="result-left"> 退款失败 </view>
  92. <view class="result-right"> 卖家拒绝退款 </view>
  93. </view>
  94. </view>
  95. </template>
  96. <script>
  97. export default {
  98. props: {
  99. refundDetail: {
  100. typeof: Object,
  101. default: {},
  102. },
  103. itemInfo: {
  104. typeof: Object,
  105. default: () => {
  106. return {};
  107. },
  108. },
  109. },
  110. data() {
  111. return {};
  112. },
  113. };
  114. </script>
  115. <style scoped lang="scss">
  116. .detail {
  117. padding: 28rpx 20rpx;
  118. background-color: #fff;
  119. border-radius: 16rpx;
  120. margin-top: 28rpx;
  121. .title {
  122. display: flex;
  123. justify-content: space-between;
  124. .title-left {
  125. display: flex;
  126. font-size: 32rpx;
  127. align-items: center;
  128. .header-img {
  129. width: 36rpx;
  130. height: 36rpx;
  131. border-radius: 50%;
  132. margin-right: 20rpx;
  133. }
  134. .right-325 {
  135. width: 32rpx;
  136. height: 32rpx;
  137. }
  138. }
  139. .order-status {
  140. color: #f83224;
  141. font-size: 26rpx;
  142. }
  143. }
  144. .commodity-information {
  145. margin-top: 28rpx;
  146. .information-right {
  147. width: 70%;
  148. }
  149. .commodity-1 {
  150. display: flex;
  151. .commodity-img {
  152. width: 180rpx;
  153. height: 180rpx;
  154. margin-right: 20rpx;
  155. border-radius: 10rpx;
  156. }
  157. .commodity-2 {
  158. display: flex;
  159. justify-content: space-between;
  160. .commodity-title {
  161. width: 100%;
  162. overflow: hidden;
  163. white-space: nowrap;
  164. text-overflow: ellipsis;
  165. margin-right: 38rpx;
  166. }
  167. }
  168. .commodity-3 {
  169. display: flex;
  170. justify-content: space-between;
  171. margin-top: 20rpx;
  172. color: #777;
  173. .specifications {
  174. font-size: 28rpx;
  175. color: #777;
  176. }
  177. }
  178. .commodity-price {
  179. margin-top: 40rpx;
  180. }
  181. }
  182. }
  183. .price {
  184. display: flex;
  185. justify-content: flex-end;
  186. font-size: 28rpx;
  187. align-items: flex-end;
  188. }
  189. .result {
  190. background-color: #f4f4f4;
  191. border-radius: 16rpx;
  192. height: 76rpx;
  193. display: flex;
  194. align-items: center;
  195. margin-top: 20rpx;
  196. padding-left: 24rpx;
  197. .result-left {
  198. margin-right: 32rpx;
  199. color: #222;
  200. font-size: 28rpx;
  201. }
  202. .result-right {
  203. color: #333;
  204. font-size: 28rpx;
  205. }
  206. }
  207. .btn-list {
  208. display: flex;
  209. justify-content: flex-end;
  210. margin-top: 34rpx;
  211. .status-1 {
  212. background-color: #fff;
  213. border-radius: 34rpx;
  214. margin: 0;
  215. padding: 0;
  216. font-size: 20rpx;
  217. color: #222;
  218. width: 128rpx;
  219. height: 58rpx;
  220. line-height: 58rpx;
  221. margin-right: 20rpx;
  222. border: 2rpx solid #979797;
  223. }
  224. .status-2 {
  225. background-color: #ffffff;
  226. border-radius: 34rpx;
  227. margin: 0;
  228. padding: 0;
  229. font-size: 20rpx;
  230. color: #f83224;
  231. width: 128rpx;
  232. height: 58rpx;
  233. line-height: 58rpx;
  234. border: 2rpx solid #f83224;
  235. }
  236. }
  237. }
  238. </style>