useSelectGrade.js 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. import { reactive, toRefs } from "vue";
  2. import { nianji_list, xueqi_list } from "@/utils/constant.js";
  3. import { onLoad } from "@dcloudio/uni-app";
  4. import {useStudyRouteParams} from "@/utils/emitEvents.js"
  5. export function useSelectGrade() {
  6. const {setStudyStorage} = useStudyRouteParams();
  7. const data = reactive({
  8. activeNianji: null, // 当前年级
  9. activeXueqi: null, // 当前学期
  10. });
  11. onLoad((options) => {
  12. const { nianji, xueqi } = options;
  13. data.activeNianji = nianji;
  14. data.activeXueqi = xueqi;
  15. });
  16. // 选择 年级+学期
  17. function handleConfirm() {
  18. if (!data.activeNianji) {
  19. uni.showToast({
  20. title: "请选择年级",
  21. duration: 2000,
  22. });
  23. return;
  24. }
  25. if (!data.activeXueqi) {
  26. uni.showToast({
  27. title: "请选择学期",
  28. duration: 2000,
  29. });
  30. return;
  31. }
  32. const text1 = nianji_list.find(
  33. (item) => item.id == data.activeNianji
  34. ).label;
  35. const text2 = xueqi_list.find((item) => item.id == data.activeXueqi).label;
  36. const options = {
  37. nianji: data.activeNianji,
  38. xueqi: data.activeXueqi,
  39. text: text1 + text2,
  40. };
  41. goDAOToStudy(options);
  42. }
  43. // 跳转 岛 学习
  44. function goDAOToStudy({ nianji, xueqi, text }) {
  45. // 从 单元测试 到 岛 的路由参数
  46. setStudyStorage({
  47. xueqi: data.activeXueqi,
  48. nianji: data.activeNianji,
  49. });
  50. uni.switchTab({
  51. url: `/pages/study/index`
  52. })
  53. }
  54. return {
  55. // 变量
  56. nianji_list,
  57. xueqi_list,
  58. ...toRefs(data),
  59. // 方法
  60. handleConfirm, // 选择年级+学期
  61. };
  62. }