useSelectGrade.js 1.4 KB

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