<template>
|
<el-collapse v-model="activeName" accordion>
|
<el-collapse-item
|
v-for="item in exceptionLogs"
|
:key="item.createdTime"
|
name="1"
|
style="overflow: auto; max-height: 600px"
|
>
|
<ProForm :model="item" is-read>
|
<ProFormItemV2 label="type:">
|
{{ item.type }}
|
</ProFormItemV2>
|
<ProFormItemV2 label="code:">{{ item.code }} </ProFormItemV2>
|
<ProFormItemV2 label="message:"> {{ item.message }}</ProFormItemV2>
|
<ProFormItemV2 label="stackTrace:"> {{ item.stackTrace }}</ProFormItemV2>
|
<ProFormItemV2 label="createdUser:">
|
<json-viewer
|
:copyable="true"
|
:boxed="true"
|
:value="JSON.parse(JSON.stringify(item.createdUser))"
|
></json-viewer>
|
</ProFormItemV2>
|
<ProFormItemV2 label="createdTime:">
|
{{ format(item.createdTime, 'YYYY-MM-DD HH:mm:ss') }}</ProFormItemV2
|
>
|
</ProForm>
|
</el-collapse-item>
|
</el-collapse>
|
</template>
|
|
<script setup lang="ts">
|
import { ProForm, ProFormItemV2 } from '@bole-core/components';
|
import JsonViewer from 'vue-json-viewer';
|
|
import { format } from '@/utils';
|
|
defineOptions({
|
name: 'ExceptionLogsView',
|
});
|
|
type Props = {
|
exceptionLogs: API.GetExceptionLogsQueryResultItem[];
|
};
|
const activeName = ref('1');
|
const props = withDefaults(defineProps<Props>(), {
|
exceptionLogs: () => [] as API.GetExceptionLogsQueryResultItem[],
|
});
|
</script>
|
|
<style lang="scss" scoped>
|
@use '@/style/common.scss' as *;
|
</style>
|