index.tsx 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. import { defineComponent } from 'vue';
  2. import styles from './index.module.less';
  3. import { NTabPane, NTabs } from 'naive-ui';
  4. import Courseware from './courseware';
  5. import Train from './train';
  6. import { usePrepareStore } from '/src/store/modules/prepareLessons';
  7. export default defineComponent({
  8. name: 'lesson-main',
  9. setup() {
  10. const prepareStore = usePrepareStore();
  11. return () => (
  12. <div class={styles['lesson-main']}>
  13. <NTabs
  14. defaultValue="courseware"
  15. paneClass={styles.paneTitle}
  16. justifyContent="center"
  17. paneWrapperClass={styles.paneWrapperContainer}
  18. value={prepareStore.getTabType}
  19. onUpdate:value={(val: string) => {
  20. prepareStore.setTabType(val);
  21. // 重置编辑状态
  22. prepareStore.setIsEditResource(false);
  23. prepareStore.setIsEditTrain(false);
  24. }}>
  25. <NTabPane name="courseware" tab="课件" displayDirective="show">
  26. <Courseware />
  27. </NTabPane>
  28. <NTabPane
  29. name="train"
  30. tab="作业"
  31. displayDirective="if"
  32. v-slots={{ tab: () => <span id="lessons-4">作业</span> }}
  33. {...{ id: 'lessons-4' }}>
  34. <Train />
  35. </NTabPane>
  36. </NTabs>
  37. </div>
  38. );
  39. }
  40. });