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.

235 lines
4.8 KiB

  1. <template>
  2. <view class="content">
  3. <up-navbar leftText=" " :leftIconColor="'#fff'" :safeAreaInsetTop="true" :autoBack="true" title="我的学习"
  4. :bgColor="'transparent'" :titleStyle="{color: '#fff'}">
  5. </up-navbar>
  6. <view class="padding">
  7. <view class="useInfo flex">
  8. <view class="avatar">
  9. <image src="" mode=""></image>
  10. </view>
  11. <view class="rightBox">
  12. <view class="name">用户名</view>
  13. </view>
  14. </view>
  15. <view class="card">
  16. <view class="bigNum">
  17. <view class="num">80%</view>
  18. <view class="lab">预测通过率</view>
  19. </view>
  20. <view class="huiBg">
  21. <view class="li">
  22. <view class="num">10:22</view>
  23. <view class="lab">测试时长</view>
  24. </view>
  25. <view class="li">
  26. <view class="num">10</view>
  27. <view class="lab">已做题</view>
  28. </view>
  29. <view class="li">
  30. <view class="num">14</view>
  31. <view class="lab">答错题</view>
  32. </view>
  33. </view>
  34. <view class="btnBox">
  35. <oneBtn text="快速提升通过率" @oneBtnClick="$goPage('/pages/vip/vipEntry/vipEntry')"></oneBtn>
  36. </view>
  37. </view>
  38. <view class="card card2">
  39. <view class="chartTab">
  40. <view class="h3">模拟考试成绩</view>
  41. <view class="btn_row">
  42. <view class="btn" @click="changeChart(1)" :class="{bg: currentChart==1}">曲线</view>
  43. <view class="btn" @click="changeChart(2)" :class="{bg: currentChart==2}">明细</view>
  44. </view>
  45. </view>
  46. <view class="tip">近30次科目一模拟考试成绩</view>
  47. <view class="con" v-if="currentChart==1">
  48. 图表
  49. <view class="tips">按住可左右滑动查看更多成绩</view>
  50. </view>
  51. <view class="con" v-if="currentChart==2">
  52. <view class="tables">
  53. <view class="fristTab li">
  54. <view class="item">考试成绩</view>
  55. <view class="item">考试用时</view>
  56. <view class="item">考试时间</view>
  57. </view>
  58. <view class="li">
  59. <view class="item">90</view>
  60. <view class="item">10分30秒</view>
  61. <view class="item">2024-8-28</view>
  62. </view>
  63. </view>
  64. </view>
  65. </view>
  66. </view>
  67. </view>
  68. </template>
  69. <script setup>
  70. import { ref } from 'vue'
  71. import nodata from '@/components/nodata/nodata.vue'
  72. const value = ref(false)
  73. const currentNav = ref(1)
  74. function changeNav(val) {
  75. currentNav.value = val
  76. }
  77. const currentChart = ref(1)
  78. function changeChart(num) {
  79. currentChart.value = num
  80. }
  81. </script>
  82. <style lang="scss" scoped>
  83. .content {
  84. width: 100%;
  85. min-height: 100vh;
  86. padding: 100rpx 0rpx 30rpx 0rpx;
  87. background: url('../../../static/images/topbg.png') #F6F7FA no-repeat;
  88. background-size: 100% 410rpx;
  89. .useInfo {
  90. padding: 30rpx 0;
  91. .avatar {
  92. width: 140rpx;
  93. height: 140rpx;
  94. overflow: hidden;
  95. border-radius: 50%;
  96. background: url('../../../static/images/avatarbg.png') no-repeat;
  97. background-size: 100% 100%;
  98. image {
  99. display: block;
  100. width: 100%;
  101. height: 100%;
  102. }
  103. }
  104. .rightBox {
  105. flex: 1;
  106. width: 0;
  107. padding-left: 30rpx;
  108. .name {
  109. font-size: 36rpx;
  110. color: #FFFFFF;
  111. font-weight: 500;
  112. }
  113. }
  114. }
  115. .bigNum {
  116. padding: 20rpx 0 20rpx 0;
  117. text-align: center;
  118. .num {
  119. font-weight: bold;
  120. font-size: 72rpx;
  121. color: #3776FF;
  122. }
  123. .lab {
  124. font-weight: 400;
  125. font-size: 24rpx;
  126. color: #CCCCCC;
  127. }
  128. }
  129. .huiBg {
  130. width: 100%;
  131. height: 164rpx;
  132. display: flex;
  133. justify-content: space-between;
  134. align-items: center;
  135. text-align: center;
  136. padding-bottom: 30rpx ;
  137. .li {
  138. flex: 1;
  139. .num {
  140. font-family: DIN;
  141. font-weight: bold;
  142. font-size: 48rpx;
  143. }
  144. .lab {
  145. font-size: 24rpx;
  146. margin-top: 10rpx;
  147. color: #999999;
  148. }
  149. }
  150. }
  151. .card {
  152. background: #FFFFFF;
  153. border-radius: 20rpx;
  154. overflow: hidden;
  155. margin-top: 20rpx;
  156. padding: 30rpx;
  157. }
  158. .tables {
  159. width: 100%;
  160. .fristTab.li {
  161. background: #F4F4F4;
  162. border-radius: 8rpx 8rpx 0 0;
  163. .item {
  164. color: $themC;
  165. }
  166. }
  167. .li {
  168. height: 76rpx;
  169. line-height: 76rpx;
  170. border-bottom: 1rpx solid #F4F4F4;
  171. display: flex;
  172. .item {
  173. text-align: center;
  174. flex: 1;
  175. font-size: 28rpx;
  176. }
  177. }
  178. }
  179. .tip {
  180. font-size: 24rpx;
  181. color: #ccc;
  182. padding: 10rpx 0 30rpx;
  183. }
  184. .tips {
  185. width: 360rpx;
  186. height: 48rpx;
  187. background: #DCE7FF;
  188. border-radius: 24rpx;
  189. font-size: 24rpx;
  190. color: $themC;
  191. text-align: center;
  192. line-height: 48rpx;
  193. margin-top: 30rpx;
  194. }
  195. .chartTab {
  196. display: flex;
  197. justify-content: space-between;
  198. .btn_row {
  199. display: flex;
  200. width: 170rpx;
  201. height: 44rpx;
  202. border-radius: 8rpx;
  203. overflow: hidden;
  204. border: 1px solid $themC;
  205. .btn.bg {
  206. background: #3776FF;
  207. color: #fff;
  208. }
  209. .btn {
  210. color: $themC;
  211. text-align: center;
  212. font-size: 28rpx;
  213. flex: 1;
  214. }
  215. }
  216. }
  217. }
  218. </style>