prepareLessons.ts 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. import { defineStore } from 'pinia';
  2. import { store } from '@/store';
  3. export const usePrepareStore = defineStore('prepare-lessons-store', {
  4. state: () => ({
  5. subjectId: null as any, // 基础声部
  6. baseCourseware: {} as any, // 基础教学课件
  7. selectKey: '', // 选的哪一节课
  8. lessonCoursewareId: '', // 哪个教材分类
  9. lessonCoursewareDetailId: '', // 哪个教材详情
  10. treeList: [] as any[], // 左边教学课件列表
  11. coursewareList: [] as any[], // 课件信息
  12. trainList: [] as any[], // 训练信息
  13. tabType: 'courseware', // 备课 - 课件 | 训练 类型切换 'courseware' | 'train'
  14. selectMusicStatus: false, // 乐谱状态
  15. selectResourceStatus: false, // 资源状态
  16. isAddResource: false, // 是否添加资源
  17. isAddTrain: false // 是否添加训练
  18. }),
  19. getters: {
  20. /** 获取资源状态 */
  21. getSubjectId(): [string, number] {
  22. return this.subjectId;
  23. },
  24. /** 获取基础教学课件 */
  25. getBaseCourseware(): any {
  26. return this.baseCourseware;
  27. },
  28. /** 获取选择课的编号 */
  29. getSelectKey(): string {
  30. return this.selectKey;
  31. },
  32. /** 获取教材编号 */
  33. getLessonCoursewareId(): string {
  34. return this.lessonCoursewareId;
  35. },
  36. /** 获取分类编号 */
  37. getLessonCoursewareDetailId(): string {
  38. return this.lessonCoursewareDetailId;
  39. },
  40. /** 获取树形控件 */
  41. getTreeList(): any[] {
  42. return this.treeList;
  43. },
  44. /** 获取课件列表 */
  45. getCoursewareList(): any[] {
  46. return this.coursewareList;
  47. },
  48. /** 获取训练列表 */
  49. getTrainList(): any[] {
  50. return this.trainList;
  51. },
  52. /** 获取课件类型 */
  53. getTabType(): string {
  54. return this.tabType;
  55. },
  56. /** 获取乐谱状态 */
  57. getSelectMusicStatus(): boolean {
  58. return this.selectMusicStatus;
  59. },
  60. /** 获取资源状态 */
  61. getSelectResourceStatus(): boolean {
  62. return this.selectResourceStatus;
  63. },
  64. /** 获取是否添加资源 */
  65. getIsAddResource(): boolean {
  66. return this.isAddResource;
  67. },
  68. /** 获取是否添加训练 */
  69. getIsAddTrain(): boolean {
  70. return this.isAddTrain;
  71. }
  72. },
  73. actions: {
  74. /** 设置基础声部 */
  75. setSubjectId(subjectId: string | number) {
  76. this.subjectId = subjectId;
  77. },
  78. /** 设置基础教学课件 */
  79. setBaseCourseware(baseCourseware: any) {
  80. this.baseCourseware = baseCourseware;
  81. },
  82. /** 设置课的编号 */
  83. setSelectKey(key: string) {
  84. this.selectKey = key;
  85. },
  86. /** 设置教材的编号 */
  87. setLessonCoursewareId(id: string) {
  88. this.lessonCoursewareId = id;
  89. },
  90. /** 设置分类的编号 */
  91. setLessonCoursewareDetailId(id: string) {
  92. this.lessonCoursewareDetailId = id;
  93. },
  94. /** 设置课的编号 */
  95. setTreeList(list: any[]) {
  96. this.treeList = list;
  97. },
  98. /** 设置课件列表 */
  99. setCoursewareList(list: any[]) {
  100. this.coursewareList = list;
  101. },
  102. /** 设置训练列表 */
  103. setTrainList(list: any[]) {
  104. this.trainList = list;
  105. },
  106. /** 设置tab类型 */
  107. setTabType(type: string) {
  108. this.tabType = type;
  109. },
  110. /** 设置乐谱状态 */
  111. setSelectMusicStatus(status: boolean) {
  112. this.selectMusicStatus = status;
  113. },
  114. /** 设置资源状态 */
  115. setSelectResourceStatus(status: boolean) {
  116. this.selectResourceStatus = status;
  117. },
  118. /** 设置资源状态 */
  119. setIsAddResource(status: boolean) {
  120. this.isAddResource = status;
  121. },
  122. /** 设置训练状态 */
  123. setIsAddTrain(status: boolean) {
  124. this.isAddTrain = status;
  125. }
  126. }
  127. });
  128. // Need to be used outside the setup
  129. export function usePrepareLessonsStoreWidthOut() {
  130. return usePrepareStore(store);
  131. }