detail.tsx 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. import OHeader from '@/components/m-header';
  2. import request from '@/helpers/request';
  3. import { state } from '@/state';
  4. import { NavBar } from 'vant';
  5. import { defineComponent, onMounted, ref } from 'vue';
  6. import { useRoute, useRouter } from 'vue-router';
  7. import styles from '../information-detail.module.less';
  8. export default defineComponent({
  9. name: 'notice-detail',
  10. setup() {
  11. const route = useRoute();
  12. const router = useRouter();
  13. const detail = ref<any>({});
  14. const getDetails = async () => {
  15. try {
  16. const { data } = await request.get(
  17. '/edu-app/open/helpCenterContent/detail/' + route.query.id
  18. );
  19. detail.value = data;
  20. } catch {
  21. //
  22. }
  23. };
  24. onMounted(() => {
  25. getDetails();
  26. });
  27. return () => (
  28. <>
  29. {route.query.source == 'music' ? (
  30. <NavBar
  31. leftArrow
  32. leftText="返回"
  33. border={false}
  34. onClickLeft={() => router.back()}
  35. />
  36. ) : (
  37. <OHeader />
  38. )}
  39. <div class={[styles.detail]}>
  40. <div class={styles.detailContent}>
  41. <div class={styles.title}>{detail.value.title}</div>
  42. <div class={styles.who}>
  43. <span>课堂乐器</span>
  44. {detail.value.updateTime}
  45. </div>
  46. <div class={styles.content} v-html={detail.value.content}></div>
  47. </div>
  48. </div>
  49. </>
  50. );
  51. }
  52. });