Files
cn-rdms-web/src/views/infra/log-management/api-access-log/modules/search.vue
dk 570f284230 feat(日志管理): 开发日志管理功能。
fix(项目任务): 1、任务完成后需要依然能够修改工作日志,但是只能修改工作内容和上传附件。2、任务完成后,协办人的工作日志不应该能删除、所有任务里的成员不能新增工作日志,前端不显示新增、删除按钮。3、团队成员的面板,在成员排序时,让有下属的成员提前。4、在任务弹出框有个快速用执行的信息填充的icon。
2026-06-25 21:34:23 +08:00

82 lines
2.2 KiB
Vue

<script setup lang="ts">
import { computed } from 'vue';
import { SYSTEM_USER_TYPE_DICT_CODE } from '@/constants/dict';
import TableSearchFields, { type SearchField } from '@/components/custom/table-search-fields.vue';
defineOptions({ name: 'ApiAccessLogSearch' });
const emit = defineEmits<{
reset: [];
search: [];
}>();
const model = defineModel<Api.SystemLog.ApiAccess.SearchParams>('model', { required: true });
const fields = computed<SearchField[]>(() => [
{
key: 'applicationName',
label: '应用名',
type: 'input',
placeholder: '请输入应用名'
},
{
key: 'requestUrl',
label: '请求地址',
type: 'input',
placeholder: '请输入请求地址'
},
{
key: 'resultCode',
label: '结果码',
type: 'input',
placeholder: '请输入结果码',
transformValue: value => {
const text = String(value ?? '').trim();
if (!text) return undefined;
const resultCode = Number(text);
return Number.isFinite(resultCode) ? resultCode : undefined;
},
resolveValue: value => (value === null || value === undefined ? '' : String(value))
},
{
key: 'duration',
label: '最小时长(ms)',
type: 'input',
placeholder: '请输入执行时长下限',
transformValue: value => {
const text = String(value ?? '').trim();
if (!text) return undefined;
const duration = Number(text);
return Number.isFinite(duration) ? duration : undefined;
},
resolveValue: value => (value === null || value === undefined ? '' : String(value))
},
{
key: 'userId',
label: '用户编号',
type: 'input',
placeholder: '请输入用户编号'
},
{
key: 'userType',
label: '用户类型',
type: 'dict',
placeholder: '请选择用户类型',
dictCode: SYSTEM_USER_TYPE_DICT_CODE,
filterable: true
},
{
key: 'beginTime',
label: '请求时间',
type: 'dateRange',
placeholder: '请选择请求时间',
valueFormat: 'YYYY-MM-DD HH:mm:ss',
format: 'YYYY-MM-DD HH:mm:ss'
}
]);
</script>
<template>
<TableSearchFields v-model="model" :fields="fields" :columns="4" @reset="emit('reset')" @search="emit('search')" />
</template>