index.tsx 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. import { computed, defineComponent, onMounted, reactive, ref, watch } from 'vue'
  2. import styles from './index.module.less'
  3. import ColHeader from '@/components/col-header'
  4. import { Icon } from 'vant'
  5. import nameActive from '../images/icon_name_active.png'
  6. import education from '../images/icon_education.png'
  7. import educationActive from '../images/icon_education_active.png'
  8. import ClassInfo from './class-info'
  9. import CreateClass from './create-class'
  10. export default defineComponent({
  11. name: 'ClassArrangement',
  12. setup() {
  13. const active = ref(1)
  14. return () => {
  15. return (
  16. <div class={styles.classWrap}>
  17. <ColHeader />
  18. <div class={styles.tabs}>
  19. <div class={[styles.tabItem, styles.tabItemActive]}>
  20. <Icon name={nameActive} size={38} />
  21. <span class={styles.title}>课程信息</span>
  22. </div>
  23. <div
  24. class={[
  25. styles.tabItem,
  26. styles.tabItemRight,
  27. active.value > 1 ? styles.tabItemActive : ''
  28. ]}
  29. >
  30. <Icon
  31. name={active.value > 1 ? educationActive : education}
  32. size={38}
  33. />
  34. <span class={styles.title}>课程安排</span>
  35. </div>
  36. </div>
  37. <div style={{ display: active.value === 1 ? 'block' : 'none' }}>
  38. <ClassInfo
  39. onSubmit={val => {
  40. active.value = 2
  41. }}
  42. />
  43. </div>
  44. <div style={{ display: active.value === 2 ? 'block' : 'none' }}>
  45. <CreateClass
  46. onBack={() => (active.value = 1)}
  47. active={active.value}
  48. />
  49. </div>
  50. </div>
  51. )
  52. }
  53. }
  54. })