detail.vue 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. <template>
  2. <xn-form-container
  3. title="详情"
  4. :width="700"
  5. :visible="visible"
  6. :destroy-on-close="true"
  7. @close="onClose"
  8. >
  9. <a-descriptions :column="1" size="middle" bordered class="mb-2">
  10. <a-descriptions-item label="名称">{{ formData.name }}</a-descriptions-item>
  11. <a-descriptions-item label="IP地址">{{ formData.opIp }}</a-descriptions-item>
  12. <a-descriptions-item label="浏览器">{{ formData.opBrowser }}</a-descriptions-item>
  13. <a-descriptions-item label="设备">{{ formData.opOs }}</a-descriptions-item>
  14. <a-descriptions-item label="时间">{{dayjs(formData.opTime).format('YYYY-MM-DD HH:mm:ss')}}</a-descriptions-item>
  15. <a-descriptions-item label="用户">{{ formData.opUser }}</a-descriptions-item>
  16. </a-descriptions>
  17. </xn-form-container>
  18. </template>
  19. <script setup name="vislogDetail">
  20. // 默认是关闭状态
  21. import dayjs from "dayjs";
  22. let visible = $ref(false)
  23. // 表单数据
  24. const formData = ref({})
  25. const table = ref()
  26. // 打开抽屉
  27. const onOpen = (record) => {
  28. visible = true
  29. formData.value = record
  30. }
  31. // 关闭抽屉
  32. const onClose = () => {
  33. visible = false
  34. }
  35. // 调用这个函数将子组件的一些数据和方法暴露出去
  36. defineExpose({
  37. onOpen
  38. })
  39. </script>