index.tsx 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. import { defineComponent } from 'vue';
  2. import styles from './index.module.less';
  3. import { parseQuery } from '@/router';
  4. import InstruemntDetail from '/src/views/prepare-lessons/model/source-instrument/detail';
  5. import MusicDetail from '/src/views/prepare-lessons/model/source-music/detail';
  6. import TheoryDetail from '/src/views/prepare-lessons/model/source-knowledge/detail';
  7. export default defineComponent({
  8. name: 'pptResources',
  9. setup() {
  10. // 获取传递过来的参数
  11. const queryParams = {
  12. pptContentType: '', // ppt传过来的 资源类型
  13. pptType: '', // ppt 传过来的显示类型 modal,preview
  14. pptId: '' // ppt传过来的id
  15. };
  16. getQueryParams();
  17. function getQueryParams() {
  18. const search = location.href.split('??');
  19. if (search[1]) {
  20. const parse = search[1];
  21. const result = parseQuery(parse);
  22. queryParams.pptContentType = result.pptContentType;
  23. queryParams.pptType = result.pptType;
  24. queryParams.pptId = result.pptId;
  25. console.log(queryParams, '传过来的参数');
  26. }
  27. }
  28. return () => (
  29. <div class={styles.pptResources}>
  30. {queryParams.pptContentType === 'INSTRUMENT' ||
  31. queryParams.pptContentType === 'MUSICIAN' ? (
  32. <InstruemntDetail
  33. type={queryParams.pptType}
  34. contentType={queryParams.pptContentType}
  35. id={queryParams.pptId}
  36. />
  37. ) : queryParams.pptContentType === 'MUSIC_WIKI' ? (
  38. <MusicDetail
  39. type={queryParams.pptType}
  40. contentType={queryParams.pptContentType}
  41. id={queryParams.pptId}
  42. />
  43. ) : queryParams.pptContentType === 'THEORY' ? (
  44. <TheoryDetail
  45. class={queryParams.pptType === 'modal' ? styles.modalStyles : ''}
  46. type={queryParams.pptType}
  47. id={queryParams.pptId}
  48. />
  49. ) : (
  50. ''
  51. )}
  52. </div>
  53. );
  54. }
  55. });