金诚优选前端代码
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.

228 lines
7.2 KiB

  1. <template>
  2. <view id="order-detail">
  3. <view class="border-box">
  4. <view class="attention-box" v-if="detail.has_refund == 1">
  5. <span class="iconfont icon-warning"></span>
  6. 订单正在售后中待售后结束后结算佣金
  7. </view>
  8. <view class="order-item">
  9. <view class="title mx-1px-bottom">
  10. <view class="name">
  11. 订单状态
  12. </view>
  13. <view class="type" v-if="detail.has_refund == 0">
  14. {{typeList[order.status]}}
  15. </view>
  16. <view class="type" v-if="detail.has_refund == 1">
  17. 售后中
  18. </view>
  19. </view>
  20. <view class="goods-item">
  21. <view class="item-middle">
  22. <view class="middle-item mx-1px-bottom" :data-id="item.item_meta.detail_id" v-for="(item, index) in order.items" :key="index" @tap="jumpDetail">
  23. <image :src="item.item_meta.image"></image>
  24. <view class="text">
  25. <view class="names">
  26. {{item.item_name}}
  27. </view>
  28. <view class="model">
  29. {{item.item_meta.specs_text}}
  30. </view>
  31. </view>
  32. <view class="money-box">
  33. <view>
  34. {{item.quantity}}
  35. </view>
  36. <view>
  37. {{item.units_total_yuan}}
  38. </view>
  39. </view>
  40. </view>
  41. </view>
  42. <view class="item-bottom">
  43. <view class="all-money">
  44. {{order.count}}, 共计 {{order.items_total_yuan}}
  45. </view>
  46. </view>
  47. </view>
  48. </view>
  49. <view class="item-add mx-1px-bottom">
  50. <view class="left-info">
  51. 分销佣金<span>¥ {{detail.commission}}</span>
  52. </view>
  53. <view class="right-info" v-if="detail.status == 0">待结算</view>
  54. <view class="right-info" v-if="detail.status == 1">已入账</view>
  55. <view class="right-info" v-if="detail.status == 2">已失效</view>
  56. </view>
  57. <view class="order-item">
  58. <view class="title mx-1px-bottom">
  59. 订单信息
  60. </view>
  61. <view class="order-info">
  62. <view class="info-item">
  63. <view class="name">
  64. 订单编号 :
  65. </view>
  66. <view class="text">{{detail.agent_order_no}}</view>
  67. </view>
  68. <view class="info-item">
  69. <view class="name">
  70. 订单来源 :
  71. </view>
  72. <view class="text">官方商城</view>
  73. </view>
  74. <view class="info-item">
  75. <view class="name">
  76. 支付方式 :
  77. </view>
  78. <view class="text">{{order.payment_text}}</view>
  79. </view>
  80. <view class="info-item">
  81. <view class="name">
  82. 下单时间 :
  83. </view>
  84. <view class="text">{{order.submit_time}}</view>
  85. </view>
  86. </view>
  87. </view>
  88. <view class="order-item">
  89. <view class="title mx-1px-bottom">
  90. 备注
  91. </view>
  92. <view class="order-info order-note">
  93. {{order.note || order.message || '暂无备注'}}
  94. </view>
  95. </view>
  96. <view class="pay-attention" v-if="detail.order_discount || detail.order_counpon || order.redeem_point">*此订单使用了
  97. <block v-if="detail.order_discount">促销活动</block><block v-if="detail.order_discount && detail.order_counpon">和</block><block v-if="detail.order_counpon">优惠券</block> <block v-if="detail.order_counpon && order.redeem_point"></block><block v-if="order.redeem_point">积分</block>
  98. </view>
  99. </view>
  100. </view>
  101. </template>
  102. <script>
  103. import {pageLogin, getUrl,config,is} from '@/common/js/utils.js';
  104. import countdown from "@/components/Countdown/Countdown";
  105. export default {
  106. data() {
  107. return {
  108. order: {},
  109. detail: {},
  110. typeList: {
  111. 0: '临时订单',
  112. 1: '待付款',
  113. 2: '付款成功',
  114. 3: '已发货',
  115. 4: '已完成',
  116. 5: '已完成',
  117. 6: '已取消',
  118. 7: '已退款',
  119. 8: '已作废',
  120. 9: '已删除',
  121. 31: '部分已发货'
  122. },
  123. refundStatus: ['待审核', '审核通过', '拒绝申请', '已完成', '已关闭', '等待买家退货', '买家已退货', '等待商城发货'],
  124. muStatus: ['待成团', '已成团', '拼团失败'],
  125. norder_no: '',
  126. config: ''
  127. };
  128. },
  129. onLoad(e) {
  130. // 第三方平台配置颜色
  131. var bgConfig = this.$cookieStorage.get('globalConfig') || '';
  132. this.setData({
  133. config: bgConfig
  134. });
  135. this.setData({
  136. norder_no: e.order_no
  137. });
  138. },
  139. onShow() {
  140. wx.showLoading({
  141. title: "加载中",
  142. mask: true
  143. });
  144. this.queryOrderDetail(this.norder_no);
  145. },
  146. components: {
  147. countdown
  148. },
  149. props: {},
  150. methods: {
  151. jump() {
  152. wx.navigateTo({
  153. url: '/pages/store/collage/collage?multi_groupon_item_id=' + this.order.multi_groupon_users[0].multi_groupon_items_id
  154. });
  155. },
  156. jumpDetail(e) {
  157. var id = e.currentTarget.dataset.id;
  158. wx.navigateTo({
  159. url: '/pages/store/detail/detail?id=' + id
  160. });
  161. },
  162. // 获取订单详情
  163. queryOrderDetail(orderNo) {
  164. var token = this.$cookieStorage.get('user_token');
  165. this.$http.get({
  166. api: 'api/distribution/order/detail/' + orderNo,
  167. header: {
  168. Authorization: token
  169. }
  170. }).then(res => {
  171. if (res.statusCode = 200) {
  172. res = res.data;
  173. this.setData({
  174. detail: res.data,
  175. order: res.data.order
  176. });
  177. } else {
  178. wx.showModal({
  179. title: '',
  180. content: '请求失败,请稍后重试'
  181. });
  182. }
  183. wx.hideLoading();
  184. }).catch(rej => {
  185. wx.showModal({
  186. title: '',
  187. content: '请求失败,请稍后重试'
  188. });
  189. wx.hideLoading();
  190. });
  191. },
  192. setData: function (obj) {
  193. let that = this;
  194. let keys = [];
  195. let val, data;
  196. Object.keys(obj).forEach(function (key) {
  197. keys = key.split('.');
  198. val = obj[key];
  199. data = that.$data;
  200. keys.forEach(function (key2, index) {
  201. if (index + 1 == keys.length) {
  202. that.$set(data, key2, val);
  203. } else {
  204. if (!data[key2]) {
  205. that.$set(data, key2, {});
  206. }
  207. }
  208. data = data[key2];
  209. });
  210. });
  211. }
  212. },
  213. computed: {},
  214. watch: {}
  215. };
  216. </script>
  217. <style rel="stylesheet/less" lang="less">
  218. @import "pusherOrder";
  219. </style>