index.vue 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. <template>
  2. <view class="grades-terms-page">
  3. <view class="grades-body">
  4. <view class="grades-change-title"></view>
  5. <text class="grades-title-desc">我们会根据您选择,为您匹配对应的学习内容</text>
  6. <view class="grades-terms-title terms-title-img"></view>
  7. <view class="grade-item-box">
  8. <view v-for="item in nianji_list" :key="item.id" @click="handleSelectGrade(item)"
  9. :class="['grade-item', {active: item.id == activeNianji}]">{{item.label}}</view>
  10. </view>
  11. <view class="grades-terms-title grades-title-img"></view>
  12. <view class="grade-item-box">
  13. <view v-for="item in xueqi_list" :key="item.id" @click="handleSelectTerm(item)"
  14. :class="['grade-item',{active: item.id == activeXueqi}]">{{item.label}}</view>
  15. </view>
  16. <view class="grade-line"></view>
  17. <button class="grade-confirm-btn" @click="handleConfirm"></button>
  18. </view>
  19. </view>
  20. </template>
  21. <script setup>
  22. import {
  23. useSelectGrade
  24. } from './useSelectGrade';
  25. // 页面路由参数需要 年级Id+学期Id
  26. const {
  27. nianji_list,
  28. xueqi_list,
  29. activeNianji,
  30. activeXueqi,
  31. handleConfirm
  32. } = useSelectGrade()
  33. function handleSelectGrade(item) {
  34. activeNianji.value = item.id;
  35. }
  36. function handleSelectTerm(item) {
  37. activeXueqi.value = item.id;
  38. }
  39. </script>