Sanakey
5 天以前 2af71bcf522c485ea005184c977986374a7dcc4a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
<template>
  <a-card :title="data.subject">
    <div style="display: flex; align-items: center" class="p-4">
      <div class="left">
        <a-avatar :size="{ xs: 24, sm: 32, md: 40, lg: 64, xl: 80, xxl: 100 }">
          <template #icon>
            <AntDesignOutlined />
          </template>
        </a-avatar>
      </div>
      <div class="right">
        <div class="top">
          <div class="top-left">
            <div>
              <span class="top-left-title">发件人:</span>
              <span class="top-right-title">{{ data.sender }}</span>
            </div>
            <div>
              <span class="top-left-title">收件人:</span>
              <span class="top-right-title">{{ `${data.receiver}` }}</span>
            </div>
            <div>
              <span class="top-left-title">时间:</span>
              <span class="top-right-title">{{ data.createTime }}</span>
            </div>
          </div>
        </div>
      </div>
    </div>
    <TinymcePw ref="TinymcePwRef" v-model="data.content"></TinymcePw>
  </a-card>
</template>
 
<script lang="ts" setup>
    name: 'previewIndex';
    import { AntDesignOutlined } from '@ant-design/icons-vue';
 
    import { ref, onMounted, computed, } from 'vue';
    import { TinymcePw } from '@/components/Tinymce';
    import { useRouter } from 'vue-router';
    import { getMailInfoApi } from '@/api/email/userList';
  import { nextTick } from 'vue';
 
    const { currentRoute } = useRouter();
    const docCode = computed(() => {
      return currentRoute.value.query.docCode;
    });
    const data = ref<Record<string, any>>({});
    const TinymcePwRef = ref()
function fnGetData() {
  getMailInfoApi({ docCode: docCode.value })
    .then((res) => {
      console.log(res, 'res');
      nextTick(() => {
        console.log(data.value, 'data');
        data.value = res.data;
        if (!TinymcePwRef || TinymcePwRef.value === undefined) {
          setTimeout(() => {
            Object.assign(data.value, data.value.content);
          }, 1000);
        }
      });
    })
    .catch((error) => {
      console.error('获取数据失败:', error);
      // 可以在这里添加其他错误处理逻辑,例如通知用户
    });
}
    onMounted(() => {
      fnGetData();
    });
</script>
 
<style scoped lang="less">
  .right {
    margin-left: 30px;
  }
 
  .top-left-title {
    color: #999;
  }
 
  .top-right-title {
    color: #000;
  }
</style>