sxtkPage.vue 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. <template>
  2. <view class="ezy-sxtk-page">
  3. <view class="icon-title-navBar-box">
  4. <view @click="handleBack" class="nav-bar-icon"></view>
  5. <text class="nav-bar-title">数学题库</text>
  6. </view>
  7. <view class="ezy-tab-border sxtk-tab-border">
  8. <view class="tab-img"></view>
  9. <view class="sxtk-tab-box">
  10. <view v-for="(item,index) in jiaocaiData" :key="index" class="tab-item"
  11. @click="selectNianji(item,index)" :class="{'active': currentNianjiName == item.nianji}">
  12. <view class="tab-nianji-item">{{item.nianji}}</view>
  13. </view>
  14. </view>
  15. <view class="sxtk-line"></view>
  16. <view class="sxtk-banben-body">
  17. <view v-for="(item,index) in currentBanbenList" :key="index" class="banben-item"
  18. :class="{'active': banbenName == item}" @click="selectBanben(item,index)">
  19. <view class="banben-text-item">{{item}}</view>
  20. </view>
  21. </view>
  22. <view class="sxtk-line"></view>
  23. <button class="sxtk-confirm-btn" @click="handleConfirm"></button>
  24. </view>
  25. <banbenConfirmDialog ref="jiaocaiRef" @confirm-btn="jcConfirm" :content="jcContent"></banbenConfirmDialog>
  26. <CustomTabBar ></CustomTabBar>
  27. </view>
  28. </template>
  29. <script setup>
  30. import {
  31. onLoad
  32. } from '@dcloudio/uni-app';
  33. import CustomTabBar from '@/components/custom-tabbar/custom-tabbar.vue';
  34. import {
  35. selectTiku
  36. } from '@/api/my.js'
  37. import {
  38. toast,
  39. getUserIdentity
  40. } from "@/utils/common";
  41. import {
  42. ref
  43. } from "vue";
  44. import banbenConfirmDialog from './banbenConfirmDialog.vue';
  45. let jiaocaiData = ref(null)
  46. let currentBanbenList = ref([])
  47. let currentNianjiName = ref('L1')
  48. let currentBanbenIndex = ref(null)
  49. const banbenName = ref(null)
  50. const jiaocaiRef = ref(null);
  51. const jcContent = ref(null);
  52. function selectNianji(item, index) {
  53. currentNianjiName.value = item.nianji
  54. currentBanbenList.value = item.banbenList
  55. banbenName.value = ''
  56. }
  57. function jcConfirm() {
  58. uni.navigateTo({
  59. url: '/pages/pdfPage/pdfPage?banben=' + banbenName.value + '&nianji=' + currentNianjiName.value
  60. });
  61. }
  62. function selectBanben(item, index) {
  63. console.log('item', item);
  64. if (!currentNianjiName.value) {
  65. toast("请选择年级")
  66. return false
  67. }
  68. banbenName.value = item
  69. }
  70. function handleBack() {
  71. uni.redirectTo({
  72. url: '/pages/my/index'
  73. });
  74. }
  75. function handleConfirm() {
  76. // 确认逻辑
  77. if (banbenName.value && currentNianjiName.value) {
  78. jcContent.value = "用户你好,鹅状元将为您随机生成《" + banbenName.value + "》100道试题."
  79. console.log('jcContent.value', jcContent.value);
  80. jiaocaiRef.value.handleShow();
  81. } else {
  82. toast("请选择年级和对应的教学版本")
  83. return false
  84. }
  85. }
  86. function getInfo() {
  87. selectTiku({}).then(res => {
  88. jiaocaiData.value = [{
  89. "nianji": "L1",
  90. "banbenList": ["人教版"]
  91. },
  92. {
  93. "nianji": "L2",
  94. "banbenList": ["人教版222", "人教版222333"]
  95. }
  96. ]
  97. //jiaocaiData.value = res.data
  98. // 默认显示第一个年级的版本列表
  99. if (jiaocaiData.value && jiaocaiData.value.length > 0) {
  100. currentBanbenList.value = jiaocaiData.value[0].banbenList
  101. }
  102. })
  103. }
  104. onLoad((options) => {
  105. if (options.banben && options.nianji) {
  106. currentNianjiName.value = options.nianji
  107. banbenName.value = options.banben
  108. }
  109. getInfo()
  110. })
  111. </script>