From 93c5273910225ae370e576460ee49cac171cc2ea Mon Sep 17 00:00:00 2001 From: wupengfei <834520024@qq.com> Date: 星期四, 25 九月 2025 16:32:59 +0800 Subject: [PATCH] Merge branch 'dev-v1.1.1' of http://120.26.58.240:8888/r/flexJobAdmin into dev-v1.1.1 --- src/views/TraceIdLogManage/components/ResourceLogsView.vue | 112 ++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 101 insertions(+), 11 deletions(-) diff --git a/src/views/TraceIdLogManage/components/ResourceLogsView.vue b/src/views/TraceIdLogManage/components/ResourceLogsView.vue index e5f4f6d..b2e24ff 100644 --- a/src/views/TraceIdLogManage/components/ResourceLogsView.vue +++ b/src/views/TraceIdLogManage/components/ResourceLogsView.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 resourceLogs" :key="item.id" @@ -60,17 +60,61 @@ > </ProForm> </el-collapse-item> - </el-collapse> + </el-collapse> --> + <AppContainer> + <ProTableV2 + :columns="columns" + :operationBtns="operationBtns" + :show-pagination="false" + :table-data="resourceLogs" + :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, + defineOperationBtns, + ProTableV2Props, + useFormDialog, +} from '@bole-core/components'; import { EnumResourceMethodText } from '@/constants'; -import JsonViewer from 'vue-json-viewer'; import * as logRecordsServices from '@/services/api/logRecords'; - -import { format } from '@/utils'; import { Message } from '@bole-core/core'; +import JsonViewerDialog from './JsonViewerDialog.vue'; defineOptions({ name: 'ResourceLogsView', @@ -80,15 +124,61 @@ resourceLogs: API.GetResourceLogsQueryResultItem[]; }; -const activeName = ref('1'); - const props = withDefaults(defineProps<Props>(), { resourceLogs: () => [] as API.GetResourceLogsQueryResultItem[], }); -const emit = defineEmits<{ - (e: 'resend'): void; -}>(); +const columns = defineColumns( + [ + 'method', + 'domain', + 'path', + 'requestHeaders', + 'request', + 'responseHeaders', + 'response', + 'isSuccess', + 'clientIpAddress', + 'refererUrl', + 'consoleLogs', + 'elapsedMilliseconds', + 'createdUser', + 'createdTime', + ].map((x, index) => ({ + id: index + '', + enCode: x, + name: x, + width: 160, + })) +); + +const operationBtns = defineOperationBtns([ + { + data: { + enCode: 'reSendBtn', + name: '閲嶆柊鍙戦��', + }, + emits: { + onClick: (row) => resend(row.id), + }, + }, +]); + +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, + }, +}); async function resend(id: string) { try { -- Gitblit v1.9.1