index.tsx 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  1. import { defineComponent, nextTick, reactive, ref, watch } from 'vue';
  2. import styles from './index.module.less';
  3. // import { NTabPane, NTabs } from 'naive-ui';
  4. import Courseware from './courseware/addCourseware';
  5. // import Train from './train';
  6. import { usePrepareStore } from '/src/store/modules/prepareLessons';
  7. // import TrainPresets from './train-presets';
  8. import { eventGlobal } from '/src/utils';
  9. import CoursewarePresets from './courseware-presets';
  10. import CoursewareHead from './courseware-head';
  11. import { NButton, NSpace } from 'naive-ui';
  12. export default defineComponent({
  13. name: 'lesson-main',
  14. setup() {
  15. const prepareStore = usePrepareStore();
  16. const state = reactive({
  17. editCoursewareShow: false, // 是否编辑课件
  18. coursewareType: 'create' as 'create' | 'edit',
  19. addParam: {
  20. isAdd: false, // 是否添加
  21. id: null,
  22. addName: '' // 添加的名称
  23. },
  24. editCourseware: {} as any, //
  25. // editWorkShow: false, // 是否编辑预设
  26. editWork: {} as any // 预设模板编号
  27. });
  28. const coursewareHeadRef = ref();
  29. // 取消
  30. const onCancelCourseware = () => {
  31. eventGlobal.emit('coursewareClosed', coursewareHeadRef.value?.getForms());
  32. };
  33. const onSaveCourseware = () => {
  34. // console.log(
  35. // coursewareHeadRef.value,
  36. // coursewareHeadRef.value?.getForms(),
  37. // '12'
  38. // );
  39. eventGlobal.emit('coursewareSave', coursewareHeadRef.value?.getForms());
  40. };
  41. return () => (
  42. <div
  43. class={[state.editCoursewareShow && styles.coursewareSection]}
  44. style={{ height: '100%' }}>
  45. {/* 编辑作业头部标题 */}
  46. {state.editCoursewareShow && (
  47. <div class={styles.coursewareHeader}>
  48. <CoursewareHead ref={coursewareHeadRef} />
  49. </div>
  50. )}
  51. <div class={styles['lesson-main']}>
  52. {state.editCoursewareShow ? (
  53. // <NTabs
  54. // ref={lessonMainRef}
  55. // defaultValue="courseware"
  56. // paneClass={styles.paneTitle}
  57. // justifyContent="center"
  58. // paneWrapperClass={styles.paneWrapperContainer}
  59. // value={prepareStore.getTabType}
  60. // onUpdate:value={(val: string) => {
  61. // prepareStore.setTabType(val);
  62. // // 重置编辑状态
  63. // prepareStore.setIsEditResource(false);
  64. // prepareStore.setIsEditTrain(false);
  65. // eventGlobal.emit('teacher-slideshow', false);
  66. // if (val !== 'train') {
  67. // state.editWorkShow = false;
  68. // }
  69. // }}>
  70. // {!state.editWorkShow && (
  71. // <NTabPane
  72. // name="courseware"
  73. // tab={
  74. // state.editCoursewareShow
  75. // ? state.coursewareType === 'create'
  76. // ? '创建课件'
  77. // : '编辑课件'
  78. // : '课件'
  79. // }
  80. // displayDirective="if">
  81. // <Courseware
  82. // groupItem={state.editCourseware}
  83. // onChange={(val: any) => {
  84. // if (val.addParam) {
  85. // state.addParam = val.addParam;
  86. // }
  87. // state.editCoursewareShow = val.status;
  88. // prepareStore.setIsEditResource(val.status);
  89. // if (!val.status) {
  90. // eventGlobal.emit('teacher-slideshow', false);
  91. // }
  92. // }}
  93. // />
  94. // </NTabPane>
  95. // )}
  96. // </NTabs>
  97. <Courseware
  98. groupItem={state.editCourseware}
  99. onChange={(val: any) => {
  100. if (val.addParam) {
  101. state.addParam = val.addParam;
  102. }
  103. state.editCoursewareShow = val.status;
  104. prepareStore.setIsEditResource(val.status);
  105. if (!val.status) {
  106. eventGlobal.emit('teacher-slideshow', false);
  107. }
  108. }}
  109. />
  110. ) : (
  111. <CoursewarePresets
  112. addParam={state.addParam}
  113. onChange={(val: any) => {
  114. state.coursewareType = val.type;
  115. state.editCoursewareShow = val.status;
  116. prepareStore.setIsEditResource(val.status);
  117. state.editCourseware = val.groupItem;
  118. state.addParam = {
  119. isAdd: false, // 是否添加
  120. id: null,
  121. addName: '' // 添加的名称
  122. };
  123. }}
  124. />
  125. )}
  126. </div>
  127. {/* 编辑作业底部操作 */}
  128. {state.editCoursewareShow && (
  129. <div class={styles.coursewareFooter}>
  130. <NSpace>
  131. <NButton
  132. bordered={false}
  133. type="error"
  134. onClick={onCancelCourseware}>
  135. 取消
  136. </NButton>
  137. <NButton type="primary" onClick={onSaveCourseware}>
  138. 保存课件
  139. </NButton>
  140. </NSpace>
  141. </div>
  142. )}
  143. </div>
  144. );
  145. }
  146. });