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

223 lines
4.2 KiB

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