detailInfo.vue 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. <!-- @format -->
  2. <template>
  3. <view style="padding: 20rpx">
  4. <view
  5. style="
  6. padding: 30rpx;
  7. background-color: #fff;
  8. border-radius: 10rpx;
  9. font-size: 32rpx;
  10. line-height: 50rpx;
  11. "
  12. >
  13. <!-- <view @linktap="handlelink" :content="contents" /> -->
  14. <u-parse :content="contents" @navigate="navigate"></u-parse>
  15. </view>
  16. </view>
  17. </template>
  18. <script>
  19. import { getMessageDetails } from "@/api/work";
  20. import uParse from "@/components/u-parse/u-parse.vue";
  21. export default {
  22. components: {
  23. uParse,
  24. },
  25. data() {
  26. return {
  27. contents: "",
  28. };
  29. },
  30. onLoad(options) {
  31. getMessageDetails({ msgId: options.id }).then(({ data }) => {
  32. this.contents = data.contents;
  33. });
  34. },
  35. computed: {
  36. // formattedContents() {
  37. // // 替换原有的 onclick 为 Vue 的 @click 事件处理
  38. // return this.contents.replace(/onclick='window\.previewPdf\("([^"]+)"\)'/g, (match, p1) => {
  39. // return `@click.prevent="previewPdf('${p1}')"`;
  40. // });
  41. // }
  42. },
  43. methods: {
  44. navigate(row) {
  45. console.log(
  46. "http://im.hebjlzy.com/api/system/sys-file/download?bucket=local&path=" +
  47. row
  48. );
  49. uni.downloadFile({
  50. url:
  51. "http://im.hebjlzy.com/api/system/sys-file/download?bucket=local&path=" +
  52. row,
  53. success: (res) => {
  54. var filePath = res.tempFilePath;
  55. uni.openDocument({
  56. filePath: filePath,
  57. showMenu: true,
  58. success: function (res) {
  59. console.log("打开文档成功");
  60. },
  61. });
  62. },
  63. });
  64. },
  65. handlelink(row) {},
  66. // handleClick(event) {
  67. // // 处理点击事件
  68. // const target = event.target;
  69. // if (target && target.classList.contains('pdf-link')) {
  70. // const val = target.getAttribute('data-pdf'); // 获取链接文本
  71. // this.previewPdf(val);
  72. // }
  73. // },
  74. // previewPdf(val) {
  75. // // 在这里添加预览 PDF 的逻辑
  76. // console.log('预览 PDF', val);
  77. // }
  78. },
  79. };
  80. </script>
  81. <style lang="scss"></style>