orderGrabbingTechnician.vue 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249
  1. <!-- 抢单技师 -->
  2. <template>
  3. <view class="body" :style="'padding-top:' + bottomHeight">
  4. <!-- 导航 -->
  5. <view class="ss-flex-2 ss-col-center ss-margin-width2" style="position: relative">
  6. <view class="ss-flex-2 ss-col-center">
  7. <text class="textIcon icon-fanhui icon-navigation" @click="backPage"></text>
  8. <view style="margin-left: 15rpx; color: #444; font-size: 28rpx">等待技师接单</view>
  9. </view>
  10. <view class="ss-flex-1"></view>
  11. </view>
  12. <!-- 项目导航 -->
  13. <!-- <view class="service-info-box">
  14. <view class="service-item" style="color: #34afc7; border-bottom: 1rpx solid #34afc7"
  15. >精油按摩</view
  16. >
  17. <view class="service-item">小儿推拿</view>
  18. <view class="service-item">头疗</view>
  19. <view class="service-item">全身SPA</view>
  20. <view class="service-item">采耳</view>
  21. <view class="service-item">小儿推拿</view>
  22. <view class="service-item">小儿推拿</view>
  23. </view> -->
  24. <view class="gud-box">
  25. <!-- 每个服务项目的订单号 -->
  26. <view class="orderNumber">订单号:4b003256b7854ki14145e2</view>
  27. <view class="wait-box">等待技师接单中......</view>
  28. <view class="tips-box"
  29. >技师通常需要<text style="color: #34afc7">3~5分钟</text>接单,请耐心等待</view
  30. >
  31. </view>
  32. <!-- 中部 -->
  33. <view class="list-wrap">
  34. <scroll-view scroll-y="true" class="list">
  35. <view class="list-scroll-view">
  36. <!-- 抢单技师列表 -->
  37. <view class="grabOrder-list" v-for="i in 9">
  38. <!-- 左右布局 -->
  39. <view style="width: 180rpx; min-height: 180rpx">
  40. <image
  41. class="wh"
  42. referrerpolicy="no-referrer"
  43. src="/static/lanhu_shouye/pskrims113novhztuh3djro4dewm6siic9cbfccd-f457-4e94-a2a5-bf7808d1dd3f.png"
  44. />
  45. </view>
  46. <view class="ss-flex-1" style="margin-left: 20rpx; margin-top: 5rpx">
  47. <view class="hang-text-box">技师:王零</view>
  48. <view class="hang-text-box">预约时间:2024-09-04 12:15:00</view>
  49. <view class="hang-text-box ss-flex-2 ss-col-center">
  50. <view style="min-width: 120rpx">服务项目:</view>
  51. <view>精油按摩,小儿推拿</view>
  52. </view>
  53. <view class="hang-text-box ss-flex-2 ss-col-center">
  54. <view style="min-width: 120rpx">服务地址:</view>
  55. <view>山东省烟台市莱山区华庭路橡树湾小区10-515</view>
  56. </view>
  57. <view class="ss-flex-2 ss-col-center">
  58. <view class="ss-flex-1"></view>
  59. <view class="choose-see">选她</view>
  60. </view>
  61. </view>
  62. </view>
  63. </view>
  64. </scroll-view>
  65. </view>
  66. <!-- <view class="ss-flex-2 ss-col-center">
  67. <view class="ss-flex-1"></view>
  68. <view class="choose-see" style="margin: 10rpx 20rpx; font-size: 26rpx" @click="jumpGrab"
  69. >去结算</view
  70. >
  71. </view> -->
  72. </view>
  73. </template>
  74. <script setup>
  75. import { reactive, ref } from 'vue';
  76. import { computed } from 'vue';
  77. import {
  78. onLoad,
  79. onPageScroll,
  80. onPullDownRefresh,
  81. onReady,
  82. onReachBottom,
  83. onShow,
  84. } from '@dcloudio/uni-app';
  85. import sheep from '@/sheep';
  86. import $share from '@/sheep/platform/share';
  87. // 隐藏原生tabBar
  88. // uni.hideTabBar();
  89. // 跳转到抢单页面
  90. const jumpGrab = async () => {
  91. uni.redirectTo({
  92. url: '/pages/XDHome/technician/grabOrders/grabOrders',
  93. });
  94. };
  95. // 返回上一页
  96. const backPage = async () => {
  97. uni.redirectTo({
  98. url: '/pages/XDHome/technician/grabOrders/grabOrders',
  99. });
  100. };
  101. //获取顶部安全距离
  102. const app = uni.getSystemInfoSync();
  103. const bottomHeightOne = app.statusBarHeight + 'rpx';
  104. const bottomHeight = ref(bottomHeightOne);
  105. </script>
  106. <style scoped lang="scss">
  107. .gud-box {
  108. width: 95%;
  109. margin-left: 2.5%;
  110. box-sizing: border-box;
  111. background-color: #fff;
  112. margin-top: 20rpx;
  113. border-top-left-radius: 10rpx;
  114. border-top-right-radius: 10rpx;
  115. padding: 20rpx;
  116. padding-bottom: 10rpx;
  117. }
  118. .choose-see {
  119. padding: 5rpx 20rpx;
  120. font-size: 24rpx;
  121. color: #fff;
  122. background-color: #35afca;
  123. border-radius: 5rpx;
  124. }
  125. .hang-text-box {
  126. font-size: 24rpx;
  127. color: #4b525a;
  128. margin-bottom: 10rpx;
  129. }
  130. .grabOrder-list {
  131. position: relative;
  132. width: 100%;
  133. padding: 10rpx;
  134. box-sizing: border-box;
  135. display: flex;
  136. }
  137. .tips-box {
  138. font-size: 18rpx;
  139. color: #555;
  140. text-align: center;
  141. margin-top: 10rpx;
  142. padding-bottom: 20rpx;
  143. border-bottom: 1rpx solid #999;
  144. }
  145. .wait-box {
  146. font-size: 40rpx;
  147. color: #e40516;
  148. margin-top: 30rpx;
  149. text-align: center;
  150. font-weight: 600;
  151. letter-spacing: 2rpx;
  152. }
  153. .orderNumber {
  154. font-size: 20rpx;
  155. color: #686e76;
  156. border-bottom: 1rpx solid #999;
  157. padding: 5rpx;
  158. padding-bottom: 15rpx;
  159. }
  160. .service-item {
  161. font-size: 26rpx;
  162. padding: 5rpx 30rpx;
  163. color: #555;
  164. box-sizing: border-box;
  165. }
  166. .service-info-box {
  167. position: relative;
  168. width: 95%;
  169. margin-left: 2.5%;
  170. margin-top: 20rpx;
  171. box-sizing: border-box;
  172. overflow-x: auto;
  173. display: flex;
  174. flex-wrap: nowrap;
  175. justify-content: flex-start;
  176. align-items: center;
  177. white-space: nowrap;
  178. }
  179. .icon-navigation {
  180. font-size: 32rpx;
  181. color: #333;
  182. font-weight: 700;
  183. }
  184. // 上中下布局样式
  185. .body {
  186. display: flex;
  187. flex-direction: column;
  188. height: 100vh;
  189. background-color: #eeeef0;
  190. }
  191. // 中部滚动
  192. .list-wrap {
  193. flex-grow: 1;
  194. position: relative;
  195. width: 95%;
  196. margin-left: 2.5%;
  197. box-sizing: border-box;
  198. }
  199. .list {
  200. position: absolute;
  201. top: 0;
  202. left: 0;
  203. right: 0;
  204. bottom: 10rpx;
  205. }
  206. .list-scroll-view {
  207. background-color: #fff;
  208. border-bottom-left-radius: 10rpx;
  209. border-bottom-right-radius: 10rpx;
  210. padding: 20rpx;
  211. box-shadow: 5rpx 5rpx 5rpx rgba(0, 0, 0, 0.3);
  212. padding-bottom: 40rpx;
  213. padding-top: 5rpx;
  214. }
  215. .course-card {
  216. width: 47vw;
  217. margin-top: 10px;
  218. margin-bottom: 10px;
  219. }
  220. // 底部
  221. .tools {
  222. display: flex;
  223. flex-direction: row;
  224. justify-content: space-between;
  225. }
  226. .tools-item {
  227. width: 45px;
  228. text-align: center;
  229. font-size: 14px;
  230. padding: 20px;
  231. }
  232. </style>