sxtkPage.vue 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. <template>
  2. <view>
  3. <view class="icon-title-navBar-box">
  4. <view class="nav-bar-icon" @click="handleBack"></view>
  5. </view>
  6. <view style="display: flex;justify-content: space-around">
  7. <view v-for="(item,index) in jiaocaiData" :key="index">
  8. <view @click="selectNianji(item,index)"
  9. :class="{'active': currentIndex === index}"
  10. >{{item.nianji}}</view>
  11. </view>
  12. </view>
  13. <view>
  14. <view v-for="(item,index) in currentBanbenList" :key="index"
  15. :class="{'active': currentBanbenIndex === index}"
  16. @click="selectBanben(index)"
  17. >
  18. {{item}}
  19. </view>
  20. </view>
  21. <view class="grade-line"></view>
  22. <button class="grade-confirm-btn" @click="handleConfirm"></button>
  23. </view>
  24. </template>
  25. <script setup>
  26. import { onLoad } from '@dcloudio/uni-app';
  27. import { selectTiku } from '@/api/my.js'
  28. import { ref } from "vue";
  29. let jiaocaiData = ref(null)
  30. let currentBanbenList = ref([])
  31. let currentIndex = ref(0)
  32. let currentBanbenIndex = ref(0)
  33. function selectNianji(item,index){
  34. currentIndex.value = index
  35. currentBanbenList.value = item.banbenList
  36. currentBanbenIndex.value = 0
  37. }
  38. function selectBanben(index) {
  39. currentBanbenIndex.value = index
  40. }
  41. function handleBack() {
  42. uni.redirectTo({
  43. url: '/pages/my/index'
  44. });
  45. }
  46. function handleConfirm(){
  47. // 确认逻辑
  48. }
  49. function getInfo(){
  50. selectTiku({}).then(res=>{
  51. jiaocaiData.value = [
  52. {
  53. "nianji": "L1",
  54. "banbenList": ["人教版"]
  55. },
  56. {
  57. "nianji": "L2",
  58. "banbenList": ["人教版222","人教版222333"]
  59. }
  60. ]
  61. //jiaocaiData.value = res.data
  62. // 默认显示第一个年级的版本列表
  63. if(jiaocaiData.value && jiaocaiData.value.length > 0){
  64. currentBanbenList.value = jiaocaiData.value[0].banbenList
  65. }
  66. })
  67. }
  68. onLoad((options) => {
  69. if(options.nianjiIndex && options.banbenIndex){
  70. currentIndex.value = Number(options.nianjiIndex)
  71. currentBanbenIndex.value = Number(options.banbenIndex)
  72. }
  73. getInfo()
  74. })
  75. </script>
  76. <style>
  77. .active {
  78. background-color: #42b983;
  79. color: #fff;
  80. }
  81. </style>