train-progress.tsx 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. import { defineComponent } from 'vue'
  2. import { Image, Progress } from 'vant'
  3. import styles from './index.module.less'
  4. import arrowLine from '../images/week/icon-arrow-line.png'
  5. import arrowPoint from '../images/icon-arrow-point.png'
  6. import teacherArrowLine from '../images/month/teacher-icon-arrow-line.png'
  7. export default defineComponent({
  8. name: 'orchestra-num',
  9. props: {
  10. type: {
  11. type: String,
  12. default: 'week'
  13. }
  14. },
  15. setup(props) {
  16. return () => (
  17. <div class={[styles.trainSection, props.type === 'month' ? styles.teacherTrainSection : '']}>
  18. <div class={styles.trainTitle}>
  19. <div class={styles.name}>
  20. <Image
  21. src={props.type === 'month' ? teacherArrowLine : arrowLine}
  22. class={styles.allowLine}
  23. />
  24. 训练进度
  25. </div>
  26. <div class={styles.countNums}>
  27. <Image src={arrowPoint} class={styles.arrowPoint} />
  28. </div>
  29. </div>
  30. <div class={styles.trainSectionContent}>
  31. <div class={[styles.tContent, styles.tProgress]}>
  32. {[1, 2, 3, 4, 5, 6].map((item, index) => (
  33. <div class={styles.progressItem}>
  34. <div class={styles.className}>
  35. <i class={styles.line}></i>
  36. 长笛班
  37. </div>
  38. <div class={styles.classNum}>
  39. <div class={styles.konowCount}>
  40. 已学习知识点<span>33</span>个
  41. </div>
  42. <div class={styles.allCount}>
  43. 共<span>33</span>个
  44. </div>
  45. </div>
  46. <Progress
  47. color={'linear-gradient(90deg, #FFC3A1 0%, #FF9895 100%);'}
  48. trackColor="#ECECEC"
  49. showPivot={false}
  50. style={{
  51. borderRadius: '10px'
  52. }}
  53. percentage={10}
  54. strokeWidth={8}
  55. />
  56. </div>
  57. ))}
  58. </div>
  59. </div>
  60. </div>
  61. )
  62. }
  63. })