fix:日志管理界面搜索栏重置功能修复
This commit is contained in:
@@ -14,7 +14,7 @@ const wrapperEl = shallowRef<HTMLElement | null>(null);
|
|||||||
const { height: wrapperElHeight } = useElementSize(wrapperEl);
|
const { height: wrapperElHeight } = useElementSize(wrapperEl);
|
||||||
|
|
||||||
|
|
||||||
const { parseDataDict, getDict } = useDictStore();
|
const { getDict } = useDictStore();
|
||||||
/**字典数据 */
|
/**字典数据 */
|
||||||
let dict: {
|
let dict: {
|
||||||
/**数据状态 */
|
/**数据状态 */
|
||||||
@@ -30,7 +30,7 @@ const scrollConfig = computed(() => {
|
|||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
const { columns, columnChecks, data, loading, getData, mobilePagination, searchParams, resetSearchParams } = useTable({
|
const { columns, columnChecks, data, loading, getData, mobilePagination, searchParams } = useTable({
|
||||||
apiFn: doGetlogList,
|
apiFn: doGetlogList,
|
||||||
apiParams: {
|
apiParams: {
|
||||||
pageNum: 1,
|
pageNum: 1,
|
||||||
@@ -193,13 +193,31 @@ function handleExport() {
|
|||||||
},
|
},
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
const handleReset = () => {
|
||||||
|
// 保存当前的 pageSize
|
||||||
|
const currentPageSize = searchParams.pageSize;
|
||||||
|
|
||||||
|
// 重置搜索参数
|
||||||
|
searchParams.operIp = '';
|
||||||
|
searchParams.title = '';
|
||||||
|
searchParams.status = undefined;
|
||||||
|
searchParams.operName = '';
|
||||||
|
searchParams['params[beginTime]'] = '';
|
||||||
|
searchParams['params[endTime]'] = '';
|
||||||
|
searchParams.pageNum = 1;
|
||||||
|
searchParams.pageSize = currentPageSize;
|
||||||
|
|
||||||
|
// 重新获取数据
|
||||||
|
getData();
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<SimpleScrollbar>
|
<SimpleScrollbar>
|
||||||
<div class="min-h-500px flex-col-stretch gap-16px overflow-hidden lt-sm:overflow-auto">
|
<div class="min-h-500px flex-col-stretch gap-16px overflow-hidden lt-sm:overflow-auto">
|
||||||
<logSearch v-model:model="searchParams" :dept-tree-data="deptTreeData" @reset="resetSearchParams"
|
<logSearch v-model:model="searchParams" :dept-tree-data="deptTreeData" @reset="handleReset"
|
||||||
@search="getData" />
|
@search="getData" />
|
||||||
<ACard :title="t('page.manage.log.title')" :bordered="false" :body-style="{ flex: 1, overflow: 'hidden' }"
|
<ACard :title="t('page.manage.log.title')" :bordered="false" :body-style="{ flex: 1, overflow: 'hidden' }"
|
||||||
class="flex-col-stretch sm:flex-1-hidden card-wrapper">
|
class="flex-col-stretch sm:flex-1-hidden card-wrapper">
|
||||||
|
|||||||
@@ -2,13 +2,12 @@
|
|||||||
import { $t } from '@/locales';
|
import { $t } from '@/locales';
|
||||||
import { enableStatusOptions } from '@/constants/business';
|
import { enableStatusOptions } from '@/constants/business';
|
||||||
import { SyncOutlined, SearchOutlined } from '@ant-design/icons-vue';
|
import { SyncOutlined, SearchOutlined } from '@ant-design/icons-vue';
|
||||||
|
import { computed, ref } from 'vue';
|
||||||
|
|
||||||
defineOptions({
|
defineOptions({
|
||||||
name: 'logSearch'
|
name: 'logSearch'
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
interface Emits {
|
interface Emits {
|
||||||
(e: 'reset'): void;
|
(e: 'reset'): void;
|
||||||
(e: 'search'): void;
|
(e: 'search'): void;
|
||||||
@@ -19,27 +18,22 @@ defineProps<{
|
|||||||
}>();
|
}>();
|
||||||
|
|
||||||
const emit = defineEmits<Emits>();
|
const emit = defineEmits<Emits>();
|
||||||
|
|
||||||
const model = defineModel<any>('model', { required: true });
|
const model = defineModel<any>('model', { required: true });
|
||||||
|
|
||||||
|
// 使用计算属性来处理双向绑定
|
||||||
|
const formModel = computed({
|
||||||
|
get: () => model.value,
|
||||||
|
set: (val) => model.value = val
|
||||||
|
});
|
||||||
|
|
||||||
/**记录开始结束时间 */
|
/**记录开始结束时间 */
|
||||||
let queryRangePicker = ref<[string, string]>(['', '']);
|
const queryRangePicker = ref<[string, string]>(['', '']);
|
||||||
|
|
||||||
function reset() {
|
function reset() {
|
||||||
// 重置表单
|
|
||||||
//formRef.value?.resetFields();
|
|
||||||
|
|
||||||
// 重置日期选择器
|
// 重置日期选择器
|
||||||
queryRangePicker.value = ['', ''];
|
queryRangePicker.value = ['', ''];
|
||||||
|
|
||||||
// 确保 model 也被重置
|
// 触发重置事件
|
||||||
model.value = {};
|
|
||||||
|
|
||||||
// 使用 nextTick 确保视图更新后检查
|
|
||||||
nextTick(() => {
|
|
||||||
console.log('视图更新后:', { ...model.value });
|
|
||||||
console.log(model);
|
|
||||||
});
|
|
||||||
emit('reset');
|
emit('reset');
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -47,32 +41,31 @@ function search() {
|
|||||||
if (!queryRangePicker.value) {
|
if (!queryRangePicker.value) {
|
||||||
queryRangePicker.value = ['', ''];
|
queryRangePicker.value = ['', ''];
|
||||||
}
|
}
|
||||||
model.value['params[beginTime]'] = queryRangePicker.value[0];
|
formModel.value['params[beginTime]'] = queryRangePicker.value[0];
|
||||||
model.value['params[endTime]'] = queryRangePicker.value[1];
|
formModel.value['params[endTime]'] = queryRangePicker.value[1];
|
||||||
emit('search');
|
emit('search');
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<ACard :title="$t('common.search')" :bordered="false" class="card-wrapper">
|
<ACard :title="$t('common.search')" :bordered="false" class="card-wrapper">
|
||||||
<AForm :model="model" :label-width="80">
|
<AForm :model="formModel" :label-width="80">
|
||||||
<ARow :gutter="[16, 16]" wrap>
|
<ARow :gutter="[16, 16]" wrap>
|
||||||
<ACol :lg="6" :md="12" :xs="24">
|
<ACol :lg="6" :md="12" :xs="24">
|
||||||
<AFormItem :label="$t('page.manage.log.operIp')" name="operIp" class="m-0">
|
<AFormItem :label="$t('page.manage.log.operIp')" name="operIp" class="m-0">
|
||||||
<AInput v-model:value="model.operIp" />
|
<AInput v-model:value="formModel.operIp" />
|
||||||
</AFormItem>
|
</AFormItem>
|
||||||
</ACol>
|
</ACol>
|
||||||
|
|
||||||
<ACol :lg="6" :md="12" :xs="24">
|
<ACol :lg="6" :md="12" :xs="24">
|
||||||
<AFormItem :label="$t('page.manage.log.module')" name="title" class="m-0">
|
<AFormItem :label="$t('page.manage.log.module')" name="title" class="m-0">
|
||||||
<AInput v-model:value="model.title" />
|
<AInput v-model:value="formModel.title" />
|
||||||
</AFormItem>
|
</AFormItem>
|
||||||
</ACol>
|
</ACol>
|
||||||
|
|
||||||
|
|
||||||
<ACol :lg="6" :md="12" :xs="24">
|
<ACol :lg="6" :md="12" :xs="24">
|
||||||
<AFormItem :label="$t('page.manage.user.status')" name="status" class="m-0">
|
<AFormItem :label="$t('page.manage.user.status')" name="status" class="m-0">
|
||||||
<ASelect v-model:value="model.status" :placeholder="$t('page.manage.user.form.status')" allow-clear>
|
<ASelect v-model:value="formModel.status" :placeholder="$t('page.manage.user.form.status')" allow-clear>
|
||||||
<ASelectOption v-for="option in enableStatusOptions" :key="option.value" :value="option.value">
|
<ASelectOption v-for="option in enableStatusOptions" :key="option.value" :value="option.value">
|
||||||
{{ $t(option.label) }}
|
{{ $t(option.label) }}
|
||||||
</ASelectOption>
|
</ASelectOption>
|
||||||
@@ -82,17 +75,21 @@ function search() {
|
|||||||
|
|
||||||
<ACol :lg="6" :md="12" :xs="24">
|
<ACol :lg="6" :md="12" :xs="24">
|
||||||
<AFormItem :label="$t('page.manage.log.operName')" name="operName" class="m-0">
|
<AFormItem :label="$t('page.manage.log.operName')" name="operName" class="m-0">
|
||||||
<AInput v-model:value="model.operName" />
|
<AInput v-model:value="formModel.operName" />
|
||||||
</AFormItem>
|
</AFormItem>
|
||||||
</ACol>
|
</ACol>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a-col :lg="8" :md="12" :xs="24">
|
<a-col :lg="8" :md="12" :xs="24">
|
||||||
<a-form-item :label="$t('page.manage.log.operTime')" name="queryRangePicker">
|
<a-form-item :label="$t('page.manage.log.operTime')" name="queryRangePicker">
|
||||||
<a-range-picker v-model:value="queryRangePicker" allow-clear bordered show-time
|
<a-range-picker
|
||||||
value-format="YYYY-MM-DD HH:mm:ss" format="YYYY-MM-DD HH:mm:ss" style="width: 100%"></a-range-picker>
|
v-model:value="queryRangePicker"
|
||||||
|
allow-clear
|
||||||
|
bordered
|
||||||
|
show-time
|
||||||
|
value-format="YYYY-MM-DD HH:mm:ss"
|
||||||
|
format="YYYY-MM-DD HH:mm:ss"
|
||||||
|
style="width: 100%"
|
||||||
|
/>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user