瑶都万能墙
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.

229 lines
4.4 KiB

11 months ago
11 months ago
11 months ago
10 months ago
11 months ago
10 months ago
11 months ago
10 months ago
11 months ago
10 months ago
11 months ago
10 months ago
11 months ago
10 months ago
11 months ago
10 months ago
10 months ago
10 months ago
11 months ago
10 months ago
11 months ago
10 months ago
11 months ago
10 months ago
11 months ago
10 months ago
11 months ago
10 months ago
11 months ago
10 months ago
11 months ago
  1. <template>
  2. <view class="page">
  3. <navbar
  4. title="订单中心"
  5. leftClick @leftClick="$utils.navigateBack"
  6. />
  7. <uv-tabs :list="tabs"
  8. :activeStyle="{color : '#FD5100', fontWeight : 600}"
  9. lineColor="#FD5100"
  10. lineHeight="8rpx"
  11. lineWidth="50rpx"
  12. :scrollable="false"
  13. @click="clickTabs"></uv-tabs>
  14. <view class="list">
  15. <view class="item"
  16. v-for="(item, index) in list"
  17. @click="toOrderDetail(item.id)"
  18. :key="index">
  19. <view class="top">
  20. <view class="service">
  21. <text>{{item.createTime}}</text>
  22. </view>
  23. <view class="status">
  24. <text> {{ tabs[item.state + 1].name }}</text>
  25. </view>
  26. </view>
  27. <view class="content"
  28. :key="index"
  29. v-for="(good, index) in item.cityOrderSkuList">
  30. <view class="left">
  31. <image mode="aspectFill" :src="good.image"></image>
  32. </view>
  33. <view class="right">
  34. <view class="text-hidden-1">
  35. 客户姓名{{ good.addressName }}
  36. </view>
  37. <view class="text-hidden-1">
  38. 商品名称{{ good.name }}
  39. </view>
  40. <view class="text-hidden-1">
  41. 收货地址{{ good.addressCity + good.addressDetails }}
  42. </view>
  43. <view class="text-hidden-1">
  44. 购买数量{{ good.num }}
  45. </view>
  46. </view>
  47. </view>
  48. <view class="bottom">
  49. <view class="price"
  50. v-if="item.type == 1">
  51. 价格<text class="num">{{ item.price }}</text>
  52. </view>
  53. <view class="price"
  54. v-if="item.type == 0">
  55. 积分<text class="num">{{ item.points }}</text>
  56. </view>
  57. <!-- <view class="b1">
  58. 查看物流
  59. </view> -->
  60. <!-- <view @click.stop="toPayOrder(item)" class="b2" v-if="item.state == 0">
  61. 立即付款
  62. </view>
  63. <view class="b1" @click.stop="moreOrder(item.projectId,toPlaceorder)" v-if="item.state == 3">
  64. 再来一单
  65. </view>
  66. <view class="b2" @click.stop="toEvaluate(item.id,item.projectId,item.technicianId)" v-if="item.state == 3">
  67. 立即评价
  68. </view>
  69. <view class="b2" @click.stop="moreOrder(item.projectId,toPlaceorder)" v-if="item.state == 4">
  70. 再来一单
  71. </view> -->
  72. </view>
  73. </view>
  74. </view>
  75. </view>
  76. </template>
  77. <script>
  78. import tabber from '@/components/base/tabbar.vue'
  79. import mixinsList from '@/mixins/list.js'
  80. export default {
  81. mixins: [mixinsList],
  82. components : {
  83. tabber,
  84. },
  85. computed : {
  86. },
  87. data() {
  88. return {
  89. mixinsListApi: 'getOrderList',
  90. tabs: [
  91. {
  92. name: '全部'
  93. },
  94. {
  95. name: '待支付'
  96. },
  97. {
  98. name: '待发货'
  99. },
  100. {
  101. name: '待收货'
  102. },
  103. {
  104. name: '已完成'
  105. }
  106. ],
  107. state : -1,
  108. }
  109. },
  110. methods: {
  111. //点击tab栏
  112. clickTabs(index) {
  113. if (index == 0) {
  114. this.state = -1;
  115. } else {
  116. this.state = index - 1;
  117. }
  118. this.queryParams.pageSize = 10
  119. this.getData()
  120. },
  121. //跳转订单详情页面
  122. toOrderDetail(id) {
  123. uni.navigateTo({
  124. url: '/pages_order/order/orderDetail?id=' + id
  125. })
  126. },
  127. }
  128. }
  129. </script>
  130. <style scoped lang="scss">
  131. .page{
  132. }
  133. .list {
  134. .item {
  135. width: calc(100% - 40rpx);
  136. background-color: #fff;
  137. margin: 20rpx;
  138. box-sizing: border-box;
  139. border-radius: 16rpx;
  140. padding: 30rpx;
  141. .top {
  142. display: flex;
  143. justify-content: space-between;
  144. align-items: center;
  145. font-size: 30rpx;
  146. .service {
  147. font-size: 26rpx;
  148. }
  149. .status {
  150. font-size: 26rpx;
  151. font-weight: 600;
  152. }
  153. }
  154. .content {
  155. display: flex;
  156. margin: 10rpx 0;
  157. .left {
  158. width: 150rpx;
  159. height: 150rpx;
  160. border-radius: 10rpx;
  161. image {
  162. width: 150rpx;
  163. height: 150rpx;
  164. border-radius: 10rpx;
  165. }
  166. }
  167. .right {
  168. width: calc(100% - 160rpx);
  169. color: #777;
  170. font-size: 24rpx;
  171. padding-left: 20rpx;
  172. line-height: 40rpx;
  173. background-color: #F8F8F8;
  174. }
  175. }
  176. .bottom {
  177. display: flex;
  178. justify-content: space-between;
  179. font-size: 25rpx;
  180. .price {
  181. font-weight: 900;
  182. text {
  183. color: #ff780099;
  184. font-size: 30rpx;
  185. }
  186. }
  187. .b1 {
  188. border: 1px solid #777;
  189. color: #777;
  190. box-sizing: border-box;
  191. }
  192. .b2 {
  193. background: linear-gradient(178deg, #4FD3BC, #60C285);
  194. color: #fff;
  195. }
  196. view {
  197. margin: 12rpx;
  198. border-radius: 28rpx;
  199. padding: 8rpx 28rpx;
  200. margin-bottom: 0;
  201. }
  202. }
  203. }
  204. }
  205. </style>