detailInfo.vue 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  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";
  21. export default {
  22. components: {
  23. uParse,
  24. },
  25. data() {
  26. return {
  27. contents: "",
  28. baseUrl: this.$baseUrl,
  29. };
  30. },
  31. onLoad(options) {
  32. getMessageDetails({ msgId: options.id }).then(({ data }) => {
  33. this.contents = data.contents;
  34. });
  35. },
  36. computed: {
  37. // formattedContents() {
  38. // // 替换原有的 onclick 为 Vue 的 @click 事件处理
  39. // return this.contents.replace(/onclick='window\.previewPdf\("([^"]+)"\)'/g, (match, p1) => {
  40. // return `@click.prevent="previewPdf('${p1}')"`;
  41. // });
  42. // }
  43. },
  44. methods: {
  45. navigate(row) {
  46. uni.showLoading({
  47. title: "加载中",
  48. });
  49. uni.downloadFile({
  50. url: this.baseUrl + "/api/instrument/sysFileDownload?path=" + row,
  51. success: (res) => {
  52. var filePath = res.tempFilePath;
  53. uni.openDocument({
  54. filePath: filePath,
  55. showMenu: true,
  56. success: function (res) {
  57. console.log("打开文档成功");
  58. uni.hideLoading();
  59. },
  60. });
  61. },
  62. });
  63. },
  64. handlelink(row) {},
  65. // handleClick(event) {
  66. // // 处理点击事件
  67. // const target = event.target;
  68. // if (target && target.classList.contains('pdf-link')) {
  69. // const val = target.getAttribute('data-pdf'); // 获取链接文本
  70. // this.previewPdf(val);
  71. // }
  72. // },
  73. // previewPdf(val) {
  74. // // 在这里添加预览 PDF 的逻辑
  75. // console.log('预览 PDF', val);
  76. // }
  77. },
  78. };
  79. </script>
  80. <style lang="scss"></style>