耀实惠小程序
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.

382 lines
7.7 KiB

  1. <template>
  2. <view>
  3. <!-- 收获地址 -->
  4. <view class="address_box" v-if="Object.keys(order).length>0">
  5. <view class="name_box">
  6. <text class="name_title">收货人</text>
  7. <text class="user_name">{{order.addressName}}</text>
  8. <text class="phone">{{order.addressPhone }}</text>
  9. </view>
  10. <view class="address">
  11. <image :src="IMG_URL +'address_positions.png'" mode=""></image>
  12. <text>{{order.address + order.addressDetail}}</text>
  13. </view>
  14. </view>
  15. <!-- 商品信息 -->
  16. <view class="order_box" v-if="Object.keys(order).length>0">
  17. <view class="item">
  18. <view class="time">
  19. <text class="time_text">{{order.createTime}}</text>
  20. <view class="phone" @click="call(order.addressPhone)">一键拨号</view>
  21. </view>
  22. <view class="goods_item" v-for="item in orderDetailList" :key="item.id">
  23. <image :src="item.goodPic2" mode=""></image>
  24. <view class="right_box flex-1">
  25. <text class="title">{{item.goodName}}</text>
  26. <view class="center_box">
  27. <view class="money_box">
  28. <!-- <text class="min red"></text> -->
  29. <text class="bigs red">{{item.goodPrice}}</text>
  30. </view>
  31. <!-- <text class="back_money">再返消费金{{item.getPrice}}</text> -->
  32. <text class="back_iconx">×{{item.goodNum}}</text>
  33. </view>
  34. <text>{{item.goodSku}}</text>
  35. </view>
  36. </view>
  37. <view class="total_box">
  38. <text class="sum_back_momey" v-if="status !== 4 && order.giveMoneySum">总消费金 +{{order.giveMoneySum}} {{order.giveIntegerSum ? '总兑购金'+order.giveIntegerSum +'': ''}}</text>
  39. <text class="text_price">合计</text>
  40. <text class="price">{{order.payMoney}}</text>
  41. </view>
  42. </view>
  43. <template v-if="status == 4">
  44. <view class="row">
  45. <text class="text_title">售后原因</text>
  46. <view class="text_right">
  47. <text style="margin-right: 20rpx;">{{select_text}}</text>
  48. <u-icon name="arrow-down" color="#707070"></u-icon>
  49. </view>
  50. </view>
  51. <view class="parse_box">
  52. {{}}
  53. </view>
  54. <view class="pic_box">
  55. <image ></image>
  56. </view>
  57. </template>
  58. </view>
  59. </view>
  60. </template>
  61. <script>
  62. import { IMG_URL } from '@/env.js';
  63. export default {
  64. data() {
  65. return {
  66. id: '',
  67. status: null,
  68. IMG_URL,
  69. goodsInfo: {},
  70. order: {},
  71. orderDetailList: []
  72. }
  73. },
  74. onLoad(options) {
  75. this.id = options.id;
  76. this.status = options.status;
  77. this.getDetele(options.id)
  78. },
  79. methods: {
  80. call(phone) {
  81. uni.makePhoneCall({
  82. phoneNumber: phone,
  83. success(res) {
  84. },
  85. fail(err) {
  86. }
  87. })
  88. },
  89. // 获取订单详情
  90. getDetele(id){
  91. uni.showLoading();
  92. this.$api('oneOrderById',{id}).then(res => {
  93. let { code, result, message} = res;
  94. if(code == 200) {
  95. this.$Toast(result);
  96. console.log(result)
  97. this.order = result.order
  98. result.orderDetailList.forEach(item => {
  99. item.goodPic2 = item.goodPic == null? "": item.goodPic.split(',')[0];
  100. })
  101. this.orderDetailList = result.orderDetailList
  102. uni.hideLoading()
  103. }else {
  104. uni.hideLoading()
  105. this.$Toast(message);
  106. }
  107. }).catch(err => {
  108. uni.hideLoading()
  109. this.$Toast(err.message);
  110. })
  111. },
  112. todetails() {
  113. uni.navigateTo({
  114. url: "/pagesA/my_other_list/webmaster/after_sales_order/after_sales_order_details/after_sales_order_details"
  115. })
  116. }
  117. }
  118. }
  119. </script>
  120. <style lang="scss" scoped>
  121. .address_box {
  122. width: 711rpx;
  123. margin: 13rpx auto 0;
  124. padding-bottom: 20rpx;
  125. border-radius: 14rpx;
  126. box-shadow: 0 3rpx 6rpx 0 rgba(0, 0, 0, 0.3);
  127. .name_box {
  128. padding-top: 34rpx;
  129. margin-left: 23rpx;
  130. display: flex;
  131. .name_title {
  132. font-size: 28rpx;
  133. color: #707070;
  134. line-height: 74rpx;
  135. }
  136. .user_name {
  137. width: 231rpx;
  138. height: 74rpx;
  139. line-height: 74rpx;
  140. padding-left: 14rpx;
  141. box-sizing: border-box;
  142. background-color: #F5F5F5;
  143. color: #000000;
  144. font-size: 28rpx;
  145. white-space: nowrap;
  146. overflow: hidden;
  147. text-overflow: ellipsis;
  148. }
  149. .phone {
  150. width: 318rpx;
  151. height: 74rpx;
  152. margin-left: 12rpx;
  153. line-height: 74rpx;
  154. padding-left: 24rpx;
  155. box-sizing: border-box;
  156. background-color: #F5F5F5;
  157. color: #000000;
  158. font-size: 28rpx;
  159. }
  160. }
  161. .address {
  162. display: flex;
  163. margin-top: 53rpx;
  164. margin-left: 23rpx;
  165. image {
  166. width: 32rpx;
  167. height: 42rpx;
  168. }
  169. text {
  170. display: flex;
  171. margin-left: 24rpx;
  172. width: 478rpx;
  173. font-size: 28rpx;
  174. color: #707070;
  175. }
  176. }
  177. }
  178. .order_box {
  179. margin-top: 22rpx;
  180. padding-bottom: 20rpx;
  181. .item {
  182. width: 711rpx;
  183. margin: 0 auto;
  184. border-radius: 24rpx;
  185. padding-bottom: 18rpx;
  186. box-shadow: 0 3rpx 6rpx 0 rgba(0, 0, 0, 0.3);
  187. .time {
  188. width: 648rpx;
  189. margin: 0 auto;
  190. padding-top: 34rpx;
  191. padding-bottom: 15rpx;
  192. border-bottom: 1px solid rgba(112, 112, 112, 0.2);
  193. display: flex;
  194. justify-content: space-between;
  195. font-size: 32rpx;
  196. .time_text {
  197. color: #333;
  198. }
  199. .phone {
  200. color: #01AEEA;
  201. }
  202. }
  203. .goods_item {
  204. display: flex;
  205. width: 648rpx;
  206. margin: 0 auto;
  207. margin-top: 22rpx;
  208. padding-bottom: 26rpx;
  209. border-bottom: 1px solid rgba(112, 112, 112, 0.2);
  210. &:last-child {
  211. border-bottom: none;
  212. }
  213. image {
  214. width: 200rpx;
  215. height: 200rpx;
  216. border-radius: 20rpx;
  217. }
  218. .right_box {
  219. display: flex;
  220. flex-direction: column;
  221. font-size: 26rpx;
  222. margin-left: 25rpx;
  223. .title {
  224. color: #000;
  225. font-size: 33rpx;
  226. }
  227. .center_box {
  228. display: flex;
  229. justify-content: space-between;
  230. color: #01AEEA;
  231. font-size: 32rpx;
  232. .back_iconx{
  233. font-size: 38rpx;
  234. }
  235. .money_box {
  236. .red {
  237. color: #DB0618;
  238. }
  239. .min {
  240. font-size: 20rpx;
  241. }
  242. .bigs {
  243. font-size: 36rpx;
  244. }
  245. }
  246. .back_money{
  247. color: #fff;
  248. background-color: #FFA952;
  249. border-radius: 15rpx;
  250. height: 47rpx;
  251. line-height: 47rpx;
  252. box-sizing: border-box;
  253. font-size: 20rpx;
  254. padding-left: 15rpx;
  255. padding-right: 15rpx;
  256. }
  257. .back_iconx{
  258. font-size: 38rpx;
  259. }
  260. }
  261. }
  262. }
  263. .total_box {
  264. display: flex;
  265. width: 648rpx;
  266. margin: 0 auto;
  267. justify-content: flex-end;
  268. font-size: 28rpx;
  269. align-items: center;
  270. padding-top: 10rpx;
  271. .sum_back_momey{
  272. height: 47rpx;
  273. line-height: 47rpx;
  274. border-radius: 10rpx;
  275. padding-left: 15rpx;
  276. padding-right: 15rpx;
  277. margin-right: 45rpx;
  278. color: #fff;
  279. background-color: #FFA952;
  280. font-size: 26rpx;
  281. }
  282. .text_price{
  283. font-size: 34rpx;
  284. }
  285. .price{
  286. font-size: 36rpx;
  287. }
  288. text {
  289. &:last-child {
  290. color: #DB0618;
  291. }
  292. }
  293. }
  294. .gather {
  295. width: 235rpx;
  296. height: 60rpx;
  297. margin-top: 23rpx;
  298. margin-right: 21rpx;
  299. border: 1rpx solid #01AEEA;
  300. color: #01AEEA;
  301. font-size: 24rpx;
  302. border-radius: 30rpx;
  303. line-height: 60rpx;
  304. }
  305. }
  306. position: relative;
  307. .received {
  308. position: absolute;
  309. top: 18rpx;
  310. right: 122rpx;
  311. width: 181rpx;
  312. height: 108rpx;
  313. }
  314. }
  315. .row{
  316. margin: 40rpx auto 0;
  317. padding-bottom: 20rpx;
  318. display: flex;
  319. justify-content: space-between;
  320. width: 691rpx;
  321. font-size: 32rpx;
  322. border-bottom: 1px solid #707070;
  323. .text_title{
  324. margin-left: 20rpx;
  325. }
  326. .text_right{
  327. margin-right: 40rpx;
  328. }
  329. }
  330. .parse_box{
  331. margin: 40rpx 36rpx 0;
  332. font-size: 32rpx;
  333. }
  334. .pic_box {
  335. display: flex;
  336. width: 660rpx;
  337. border-bottom: 1rpx solid #BCBCBC;
  338. margin: 0 auto;
  339. padding-bottom: 16rpx;
  340. align-items: center;
  341. image {
  342. width: 160rpx;
  343. height: 160rpx;
  344. border-radius: 15rpx;
  345. }
  346. }
  347. </style>