feat: 使用 useDescription

This commit is contained in:
xingyu4j
2025-06-20 18:10:16 +08:00
parent 604539e22b
commit 4f5316aa32
4 changed files with 237 additions and 125 deletions

View File

@@ -1,6 +1,13 @@
import type { VbenFormSchema } from '#/adapter/form';
import type { VxeTableGridOptions } from '#/adapter/vxe-table';
import type { DescriptionItemSchema } from '#/components/description';
import { h } from 'vue';
import { JsonViewer } from '@vben/common-ui';
import { formatDateTime } from '@vben/utils';
import { DictTag } from '#/components/dict-tag';
import { DICT_TYPE, getDictOptions, getRangePickerDefaultProps } from '#/utils';
/** 列表的搜索表单 */
@@ -136,3 +143,101 @@ export function useGridColumns(): VxeTableGridOptions['columns'] {
},
];
}
/** 详情页的字段 */
export function useDetailSchema(): DescriptionItemSchema[] {
return [
{
field: 'id',
label: '日志编号',
},
{
field: 'traceId',
label: '链路追踪',
},
{
field: 'applicationName',
label: '应用名',
},
{
field: 'userId',
label: '用户Id',
},
{
field: 'userType',
label: '用户类型',
content: (data) => {
return h(DictTag, {
type: DICT_TYPE.USER_TYPE,
value: data.userType,
});
},
},
{
field: 'userIp',
label: '用户IP',
},
{
field: 'userAgent',
label: '用户UA',
},
{
field: 'requestMethod',
label: '请求信息',
content: (data) => {
return `${data.requestMethod} ${data.requestUrl}`;
},
},
{
field: 'requestParams',
label: '请求参数',
content: (data) => {
return h(JsonViewer, {
value: data.requestParams,
previewMode: true,
});
},
},
{
field: 'responseBody',
label: '请求结果',
},
{
field: 'beginTime',
label: '请求时间',
content: (data) => {
return `${formatDateTime(data?.beginTime)} ~ ${formatDateTime(data?.endTime)}`;
},
},
{
field: 'duration',
label: '请求耗时',
},
{
field: 'resultCode',
label: '操作结果',
content: (data) => {
return data.resultCode === 0
? '成功'
: `失败 | ${data.resultCode} | ${data.resultMsg}`;
},
},
{
field: 'operateModule',
label: '操作模块',
},
{
field: 'operateName',
label: '操作名',
},
{
field: 'operateType',
label: '操作类型',
content: (data) =>
h(DictTag, {
type: DICT_TYPE.INFRA_OPERATE_TYPE,
value: data?.operateType,
}),
},
];
}