dqgzDangjiangongzuoInfo.vue 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. <template>
  2. <view v-if="data.info">
  3. <!-- 详情页面 -->
  4. <view>校园动态</view>
  5. <!-- 导航 -->
  6. <view>首页>校园动态>学院新闻</view>
  7. <!-- 标题 -->
  8. <view>{{data.info.title}}</view>
  9. <!-- 时间 -->
  10. <view>{{formatDate.join('-') }}</view>
  11. <!-- 富文本 -->
  12. <MtaMpHtml :content="data.info.content" ></MtaMpHtml>
  13. <view @click="handleDownFile">文件下载</view>
  14. <!-- PDF -->
  15. <MtaPDFVue :pdfUrl="pdfUrl"></MtaPDFVue>
  16. </view>
  17. </template>
  18. <script setup>
  19. import {
  20. ref,
  21. reactive,
  22. computed,
  23. onMounted,
  24. onUnmounted
  25. } from "vue";
  26. import {
  27. onLoad
  28. } from "@dcloudio/uni-app"
  29. import * as httpApi from "@/api/common.js"
  30. import {formatDateToYearMonthDay } from "@/utils/common.js"
  31. import MtaMpHtml from "@/components/MTAMpHtml/MtaMpHtml.vue"
  32. import MtaPDFVue from "@/components/MtaPDF.vue";
  33. const data = reactive({
  34. info: null,
  35. id: null
  36. })
  37. const isFullscreen = ref(false)
  38. const formatDate = computed(() => {
  39. if (data.info && data.info.createTime) {
  40. return formatDateToYearMonthDay(data.info.createTime)
  41. }
  42. return []
  43. })
  44. const pdfUrl = "https://kf3.mtavip.com/api/upload/resource/uploadFile60eebb8881e94278bc46bedba12aece6.pdf"
  45. onLoad(({
  46. id
  47. }) => {
  48. data.id = id;
  49. pageInit();
  50. })
  51. onMounted(() => {
  52. // 监听全屏变化
  53. document.addEventListener('fullscreenchange', handleFullscreenChange)
  54. document.addEventListener('webkitfullscreenchange', handleFullscreenChange)
  55. })
  56. onUnmounted(() => {
  57. document.removeEventListener('fullscreenchange', handleFullscreenChange)
  58. document.removeEventListener('webkitfullscreenchange', handleFullscreenChange)
  59. })
  60. function handleFullscreen(e) {
  61. // 处理全屏事件
  62. isFullscreen.value = e.detail.fullscreen
  63. }
  64. function handleFullscreenChange() {
  65. // 检查当前是否处于全屏状态
  66. const fullscreenElement = document.fullscreenElement ||
  67. document.webkitFullscreenElement
  68. if (!fullscreenElement) {
  69. // 如果退出全屏
  70. isFullscreen.value = false
  71. }
  72. }
  73. function handleDownFile() {
  74. window.location.href = pdfUrl;
  75. }
  76. function pageInit() {
  77. httpApi.getDangjianGongzuoInfo({
  78. id: data.id
  79. }).then(res => {
  80. data.info = res.data;
  81. console.log('dddd', data.info)
  82. })
  83. }
  84. </script>
  85. <style lang="scss">
  86. </style>