学员端小程序
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.

347 lines
7.2 KiB

1 year ago
1 year ago
1 year ago
1 year ago
  1. <template>
  2. <view class="content pageBg">
  3. <!-- 学员名字 -->
  4. <view class="top_row flex-b">
  5. <view class="flex">
  6. <view class="userName">Hi大乔</view>
  7. <view class="arrowIcon">
  8. <image src="../../../static/images/userCenter/ic_gengduo.png" mode=""></image>
  9. </view>
  10. </view>
  11. <view class="scanCode">
  12. <image src="../../../static/images/userCenter/ic_erweima.png" mode=""></image>
  13. </view>
  14. </view>
  15. <view class="pad">
  16. <!-- 学车进度 -->
  17. <view class="userProgress">
  18. <view class="progItme first flex">
  19. <view class="dianBox">
  20. <view class="dian"></view>
  21. </view>
  22. <view class="rightCon">报名成功</view>
  23. </view>
  24. <view class="progItme flex">
  25. <view class="dianBox">
  26. <view class="dian active"></view>
  27. </view>
  28. <view class="line"></view>
  29. <view class="rightCon">
  30. <view class="day">22</view>
  31. <view class="flex-b">
  32. <view class="flex">
  33. <view class="text">科目一考试通过</view>
  34. <view class="tag">当前进度</view>
  35. </view>
  36. <view class="progBtn">进度查询</view>
  37. </view>
  38. </view>
  39. </view>
  40. </view>
  41. <!-- 我的相关入口 -->
  42. <view class="ul">
  43. <view class="li" v-for="(item,index) in myPageEntry" :key="index">
  44. <view class="icon">
  45. <image :src="item.icon" mode=""></image>
  46. </view>
  47. <view class="text">{{ item.text }}</view>
  48. </view>
  49. </view>
  50. <!-- 业务办理 -->
  51. <view class="business ">
  52. <view class="h1">业务办理</view>
  53. <view class="card">
  54. <view class="item" v-for="(item,index) in businessEntry" :key="index">
  55. <view class="icon">
  56. <image :src="item.icon" mode=""></image>
  57. </view>
  58. <view class="text">{{ item.text }}</view>
  59. </view>
  60. </view>
  61. </view>
  62. </view>
  63. <!-- <UserTab selectedIndex ='2'></UserTab> -->
  64. </view>
  65. </template>
  66. <script>
  67. export default {
  68. data() {
  69. return {
  70. myPageEntry: [
  71. {
  72. text: '我的预约',
  73. icon: require('../../../static/images/userCenter/ic_yuyue.png'),
  74. },
  75. {
  76. text: '我的订单',
  77. icon: require('../../../static/images/userCenter/ic_dingdan.png'),
  78. },
  79. {
  80. text: '学车数据',
  81. icon: require('../../../static/images/userCenter/ic_shuju.png'),
  82. },
  83. {
  84. text: '我的合同',
  85. icon: require('../../../static/images/userCenter/ic_hetong.png'),
  86. },
  87. {
  88. text: '我的评价',
  89. icon: require('../../../static/images/userCenter/ic_pingjia.png'),
  90. },
  91. {
  92. text: '我的收藏',
  93. icon: require('../../../static/images/userCenter/ic_shoucang.png'),
  94. },
  95. {
  96. text: '本地生活',
  97. icon: require('../../../static/images/userCenter/ic_shenghuo.png'),
  98. },
  99. ],
  100. businessEntry: [
  101. {
  102. text: '学时查询',
  103. icon: require('../../../static/images/userCenter/ic_chaxun.png'),
  104. },
  105. {
  106. text: '同城转校',
  107. icon: require('../../../static/images/userCenter/tgzhuanxiao.png'),
  108. },
  109. {
  110. text: '车型变更',
  111. icon: require('../../../static/images/userCenter/biangen.png'),
  112. },
  113. {
  114. text: '申请退学',
  115. icon: require('../../../static/images/userCenter/shenqingtuixue.png'),
  116. },
  117. ]
  118. }
  119. },
  120. onLoad() {
  121. console.log('我的页面')
  122. },
  123. onShow() {
  124. // uni.hideTabBar();
  125. },
  126. methods: {
  127. goPage() {}
  128. }
  129. }
  130. </script>
  131. <style lang="scss" scoped>
  132. .content {
  133. }
  134. .content {
  135. width: 100%;
  136. width: 100vw;
  137. min-height: 100vh;
  138. background: url('../../../static/images/bigImg/topbg.png') #F6F6F6 no-repeat;
  139. background-size: 100% 362rpx;
  140. .top_row {
  141. width: 100%;
  142. padding: 180rpx 62rpx 0 32rpx;
  143. .flex {
  144. .userName {
  145. font-size: 48rpx;
  146. font-weight: 600;
  147. color: #FFFFFF;
  148. }
  149. .arrowIcon {
  150. margin-left: 24rpx;
  151. width: 40rpx;
  152. height: 40rpx;
  153. }
  154. }
  155. .scanCode {
  156. width: 40rpx;
  157. height: 40rpx;
  158. }
  159. }
  160. .userProgress {
  161. background: rgba(255,255,255,0.65);
  162. box-shadow: 2px 2px 8px 0px #C3D6E9, inset 0px 2px 4px 0px rgba(255,255,255,0.5);
  163. border-radius: 16rpx;
  164. padding: 22rpx 22rpx 22rpx 32rpx;
  165. margin-top: 32rpx;
  166. .progItme {
  167. position: relative;
  168. .dianBox {
  169. width: 32rpx;
  170. display: flex;
  171. align-items: center;
  172. justify-content: center;
  173. position: absolute;
  174. left: 0rpx;
  175. bottom: 14rpx;
  176. z-index: 4;
  177. .dian {
  178. width: 12rpx;
  179. height: 12rpx;
  180. background: #1989FA;
  181. border-radius: 50%;
  182. &.active {
  183. width: 32rpx;
  184. height: 32rpx;
  185. background: rgba(25,137,250,0.11);
  186. position: relative;
  187. &::before {
  188. content: '' ;
  189. width: 18rpx;
  190. height: 18rpx;
  191. position: absolute;
  192. border-radius: 50%;
  193. top: 50%;
  194. left: 50%;
  195. background: #1989FA;
  196. transform: translate(-50%, -50%);
  197. }
  198. }
  199. }
  200. }
  201. .line {
  202. position: absolute;
  203. left: 14rpx;
  204. bottom: 30rpx;
  205. width: 0rpx;
  206. height: 90rpx;
  207. border: 1rpx dashed rgba(25,137,250,0.7);
  208. z-index: 1;
  209. }
  210. .rightCon {
  211. flex: 1;
  212. padding: 0 0 0 54rpx;
  213. .day {
  214. font-size: 20rpx;
  215. color: $themC;
  216. margin: 12rpx 0 0rpx 0;
  217. }
  218. .flex-b {
  219. .flex {
  220. .text {
  221. font-size: 28rpx;
  222. color: #333;
  223. font-weight: 600;
  224. }
  225. .tag {
  226. margin-left: 10rpx;
  227. width: 110rpx;
  228. height: 44rpx;
  229. background: #FAF0E4;
  230. border-radius: 8rpx;
  231. font-size: 20rpx;
  232. color: #FA7919;
  233. line-height: 44rpx;
  234. text-align: center;
  235. }
  236. }
  237. .progBtn {
  238. width: 130rpx;
  239. height: 60rpx;
  240. background: rgba(25,137,250,0.1);
  241. border-radius: 8rpx;
  242. border: 2rpx solid #1989FA;
  243. font-size: 28rpx;
  244. color: $themC;
  245. line-height: 60rpx;
  246. text-align: center;
  247. }
  248. }
  249. }
  250. }
  251. }
  252. .ul {
  253. padding: 38rpx 0;
  254. display: flex;
  255. flex-wrap: wrap;
  256. width: 100%;
  257. .li {
  258. width: 25%;
  259. display: flex;
  260. flex-direction: column;
  261. align-items: center;
  262. margin: 24rpx 0;
  263. .icon {
  264. width: 68rpx;
  265. height: 68rpx;
  266. }
  267. .text {
  268. font-size: 28rpx;
  269. margin-top: 16rpx;
  270. color: #333;
  271. }
  272. }
  273. }
  274. .business {
  275. padding: 32rpx 0;
  276. .h1 {
  277. font-size: 32rpx;
  278. color: #333;
  279. font-weight: 500;
  280. position: relative;
  281. padding: 0 0 0 32rpx;
  282. margin-bottom: 24rpx;
  283. &::before {
  284. position: absolute;
  285. content: '';
  286. width: 8rpx;
  287. height: 32rpx;
  288. background: #1F6EFA;
  289. border-radius: 4rpx;
  290. top: 8rpx;
  291. left: 0;
  292. }
  293. }
  294. .card {
  295. width: 100%;
  296. height: 390rpx;
  297. background: #FFFFFF;
  298. border-radius: 16rpx;
  299. display: flex;
  300. flex-wrap: wrap;
  301. padding: 38rpx 0 0 0;
  302. .item {
  303. width: 33.33%;
  304. display: flex;
  305. flex-direction: column;
  306. align-items: center;
  307. height: 162rpx;
  308. .icon {
  309. width: 72rpx;
  310. height: 72rpx;
  311. background: #F6F7F8;
  312. border-radius: 50%;
  313. display: flex;
  314. align-items: center;
  315. justify-content: center;
  316. image {
  317. width: 48rpx;
  318. height: 48rpx;
  319. }
  320. }
  321. .text {
  322. margin-top: 16rpx;
  323. font-size: 28rpx;
  324. color: #333;
  325. }
  326. }
  327. }
  328. }
  329. }
  330. </style>