sxtkPage.vue 3.0 KB

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