index.vue 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  1. <template>
  2. <view class="ezy-study-page">
  3. <!-- <view class="study-school-year">一年级上</view>
  4. <view class="ezy-study-wrap">
  5. <view class="chapter-box"></view>
  6. <view class="chapter-title-box"></view>
  7. <view class="brand"></view>
  8. </view> -->
  9. <view @click="goBack">{{gradeTerm.text}}</view>
  10. <view>缓存数据1:{{routeParams}}</view>
  11. <view>
  12. <view v-for="item in data.list" :key="item.index" @click="listClick"> {{item.index}} {{item.label}} </view>
  13. </view>
  14. <view>
  15. <uni-button @click="handleCheckCatalogue">go catalogue</uni-button>
  16. <uni-button @click="goKaoshi">goKaoshi</uni-button>
  17. <navigator :url="`/pages/study/catalogue?gradeId=1&termId=1&text=一年级上册`" hover-class="navigator-hover">
  18. <button type="default">学习计划</button>
  19. </navigator>
  20. <navigator url="/pages/unitTest/index" hover-class="navigator-hover">
  21. <button type="default">成长</button>
  22. </navigator>
  23. <navigator url="navigate/navigate?title=navigate" hover-class="navigator-hover">
  24. <button type="default">伙伴</button>
  25. </navigator>
  26. <navigator url="navigate/navigate?title=navigate" hover-class="navigator-hover">
  27. <button type="default">我的</button>
  28. </navigator>
  29. </view>
  30. <!-- 蛋 -->
  31. <egg-dialog ref="eggDialogRef" @eggBtn="eggBtn"></egg-dialog>
  32. <catalogue ref="catalogueRef" :nianji="routeParams.nianji" :xueqi="routeParams.xueqi" @change-zhang="handleChangeZhang"></catalogue>
  33. <CustomTabBar></CustomTabBar>
  34. </view>
  35. </template>
  36. <script setup>
  37. import {
  38. reactive,
  39. ref,
  40. onMounted
  41. } from "vue";
  42. import {
  43. onLoad,
  44. onReady,
  45. onShow,
  46. } from '@dcloudio/uni-app';
  47. import catalogue from "@/components/catalogue/catalogue.vue";
  48. import CustomTabBar from '@/components/custom-tabbar/custom-tabbar.vue';
  49. import {
  50. useStudyRouteParams
  51. } from "@/utils/emitEvents.js"
  52. import eggDialog from './eggDialog.vue'
  53. const eggDialogRef = ref(null);
  54. // 缓存操作
  55. const {getStudyStorage,removeStudyStorage} = useStudyRouteParams();
  56. const catalogueRef = ref(null);
  57. const gradeTerm = ref('');
  58. const selectZhang = ref(null);
  59. // 来自单元测试的路由参数缓存
  60. const routeParams = ref(null);
  61. /* onReady(() => {
  62. eggDialogRef.value.eggShow();
  63. }) */
  64. onLoad((options) => {
  65. console.log(options);
  66. })
  67. onShow(() => {
  68. console.log('show')
  69. // 获取路由参数
  70. routeParams.value = getStudyStorage();
  71. // 移除缓存
  72. removeStudyStorage();
  73. // 赋值
  74. gradeTerm.value = routeParams.value;
  75. })
  76. const data = reactive({
  77. list: [{
  78. label: '长度中的隐含条件问题',
  79. id: 1,
  80. },
  81. {
  82. label: '解决重叠问题',
  83. id: 2,
  84. },
  85. {
  86. label: '列表法解决方案问题',
  87. id: 3,
  88. },
  89. {
  90. label: '真题测试',
  91. id: 4,
  92. },
  93. ]
  94. })
  95. function handleChangeZhang(data) {
  96. console.log("章", data);
  97. selectZhang.value = data;
  98. }
  99. function goKaoshi() {
  100. let nextZhangId = selectZhang.value.nextZhang.zhangId;
  101. let zhangId = selectZhang.value.zhangId;
  102. let nianji = routeParams.value.nianji;
  103. let xueqi = routeParams.value.xueqi;
  104. uni.navigateTo({
  105. url: `/pages/unitTest/index?jieId=1&nextZhangId=${nextZhangId}&zhangId=${zhangId}&nianji=${nianji}&xueqi=${xueqi}`
  106. })
  107. }
  108. function listClick(data) {
  109. uni.navigateTo({
  110. url: '/pages/study/lookShipin'
  111. })
  112. }
  113. function handleCheckCatalogue() {
  114. catalogueRef.value.showPopup();
  115. }
  116. function goBack() {
  117. uni.navigateBack()
  118. }
  119. function eggBtn(){
  120. console.log('点击:开启提分之旅');
  121. }
  122. </script>
  123. <style>
  124. </style>