index.tsx 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. import { defineComponent, toRefs, reactive, onMounted, ref } from 'vue'
  2. import classes from './index.module.less'
  3. import { ElButton, ElOption, ElSelect } from 'element-plus'
  4. import printIcon from './images/printIcon.png'
  5. import colVideo from '@/components/col-video/index'
  6. export default defineComponent({
  7. name: 'muiscDetial',
  8. props: {
  9. title: {
  10. type: String,
  11. default: ''
  12. }
  13. },
  14. components:{
  15. colVideo
  16. },
  17. setup(props, conent) {
  18. const state = reactive({
  19. title: props.title,
  20. subjectId: '',
  21. subjectList:[]
  22. })
  23. return () => (
  24. <>
  25. <div class={classes.wall}></div>
  26. <div class={[classes.width1200, classes.musicWrap]}>
  27. <div class={classes.left}>
  28. <div class={classes.title}>
  29. <div class={classes.titleLeft}>
  30. <p>声部:</p>
  31. <ElSelect
  32. class="w-full subjectChiose"
  33. v-model={state.subjectId}
  34. placeholder="请选择声部"
  35. >
  36. {state.subjectList.map((item: any) => (
  37. <ElOption key={item.id} value={item.id} label={item.name} />
  38. ))}
  39. </ElSelect>
  40. </div>
  41. <div class={classes.titleRight}>
  42. <img src={printIcon} alt="" />
  43. <p>打印乐谱</p>
  44. </div>
  45. </div>
  46. <div class={classes.musicContent}></div>
  47. <colVideo src="" styleValue={{
  48. height:'68px',
  49. bacground:'#333'
  50. }} type={'audto'} settings={['captions', 'quality', 'speed', 'loop']} class={classes.audios}></colVideo>
  51. </div>
  52. <div class={classes.right}></div>
  53. </div>
  54. </>
  55. )
  56. }
  57. })