From 402fea403bbd4b4d3f6a1d568a34a7f05b3bb5ff Mon Sep 17 00:00:00 2001 From: zhengyiming <540361168@qq.com> Date: 星期四, 25 九月 2025 13:55:47 +0800 Subject: [PATCH] fix: 日志管理 --- src/views/TraceIdLogManage/components/ThreeResourceLogsView.vue | 96 ++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 85 insertions(+), 11 deletions(-) diff --git a/src/views/TraceIdLogManage/components/ThreeResourceLogsView.vue b/src/views/TraceIdLogManage/components/ThreeResourceLogsView.vue index 1d9dd8a..e650493 100644 --- a/src/views/TraceIdLogManage/components/ThreeResourceLogsView.vue +++ b/src/views/TraceIdLogManage/components/ThreeResourceLogsView.vue @@ -1,5 +1,5 @@ <template> - <el-collapse v-model="activeName" accordion> + <!-- <el-collapse v-model="activeName" accordion> <el-collapse-item v-for="item in threeResourceLogs" :key="item.id" @@ -54,15 +54,57 @@ > </ProForm> </el-collapse-item> - </el-collapse> + </el-collapse> --> + <AppContainer> + <ProTableV2 + :columns="columns" + :show-pagination="false" + :table-data="threeResourceLogs" + :column-render-map="columnsRenderProps" + > + <template #requestHeaders="{ row }"> + <el-button type="primary" link @click="handleAdd({ json: JSON.parse(row.requestHeaders) })" + >鏌ョ湅</el-button + > + </template> + <template #request="{ row }"> + <el-button type="primary" link @click="handleAdd({ json: JSON.parse(row.request) })" + >鏌ョ湅</el-button + > + </template> + <template #responseHeaders="{ row }"> + <el-button type="primary" link @click="handleAdd({ json: JSON.parse(row.responseHeaders) })" + >鏌ョ湅</el-button + > + </template> + <template #response="{ row }"> + <el-button type="primary" link @click="handleAdd({ json: JSON.parse(row.response) })" + >鏌ョ湅</el-button + > + </template> + <template #createdUser="{ row }"> + <el-button + type="primary" + link + @click="handleAdd({ json: JSON.parse(JSON.stringify(row.createdUser)) })" + >鏌ョ湅</el-button + > + </template> + </ProTableV2> + <JsonViewerDialog v-bind="dialogProps" /> + </AppContainer> </template> <script setup lang="ts"> -import { ProForm, ProFormItemV2 } from '@bole-core/components'; +import { + AppContainer, + ProTableV2, + defineColumns, + ProTableV2Props, + useFormDialog, +} from '@bole-core/components'; import { EnumResourceMethodText } from '@/constants'; -import JsonViewer from 'vue-json-viewer'; - -import { format } from '@/utils'; +import JsonViewerDialog from './JsonViewerDialog.vue'; defineOptions({ name: 'ThreeResourceLogsView', @@ -71,12 +113,44 @@ type Props = { threeResourceLogs: API.GetThreeResourceLogsQueryResultItem[]; }; -const activeName = ref('1'); const props = withDefaults(defineProps<Props>(), { threeResourceLogs: () => [] as API.GetThreeResourceLogsQueryResultItem[], }); -</script> -<style lang="scss" scoped> -@use '@/style/common.scss' as *; -</style> +const columns = defineColumns( + [ + 'method', + 'domain', + 'path', + 'requestHeaders', + 'request', + 'responseHeaders', + 'response', + 'isSuccess', + 'elapsedMilliseconds', + 'createdUser', + 'createdTime', + ].map((x, index) => ({ + id: index + '', + enCode: x, + name: x, + width: 160, + })) +); + +const columnsRenderProps: ProTableV2Props['columnRenderMap'] = { + method: { type: 'enum', valueEnum: EnumResourceMethodText }, + isSuccess: { + formatter: (row: API.GetResourceLogsQueryResultItem) => { + return row.isSuccess ? '鏄�' : '鍚�'; + }, + }, + createdTime: { type: 'date', format: 'YYYY-MM-DD HH:mm:ss' }, +}; + +const { dialogProps, handleAdd } = useFormDialog({ + defaultFormParams: { + json: null, + }, +}); +</script> -- Gitblit v1.9.1