chore: 修复日期选择器无法清除问题,其他模块添加日期筛选

This commit is contained in:
AN 2025-05-14 14:42:43 +08:00
parent d293682d4e
commit 74f2191aae
12 changed files with 80 additions and 22 deletions

View File

@ -1,5 +1,5 @@
# backend service base url, test environment
VITE_SERVICE_BASE_URL=http://127.0.0.1:8080
VITE_SERVICE_BASE_URL=https://ruoyi.xlsea.cn/prod-api
VITE_APP_BASE_API=/dev-api

View File

@ -49,7 +49,8 @@ const {
// the value can not be undefined, otherwise the property in Form will not be reactive
userName: null,
ipaddr: null,
status: null
status: null,
params: {}
},
columns: () => [
{

View File

@ -1,4 +1,5 @@
<script setup lang="ts">
import { ref } from 'vue';
import { useNaiveForm } from '@/hooks/common/form';
import { $t } from '@/locales';
@ -15,15 +16,22 @@ const emit = defineEmits<Emits>();
const { formRef, validate, restoreValidation } = useNaiveForm();
const dateRangeLoginTime = ref<[string, string] | null>(null);
const model = defineModel<Api.Monitor.LoginInforSearchParams>('model', { required: true });
async function reset() {
dateRangeLoginTime.value = null;
await restoreValidation();
emit('reset');
}
async function search() {
await validate();
if (dateRangeLoginTime.value?.length) {
model.value.params!.beginTime = dateRangeLoginTime.value[0];
model.value.params!.endTime = dateRangeLoginTime.value[1];
}
emit('search');
}
</script>
@ -48,6 +56,14 @@ async function search() {
clearable
/>
</NFormItemGi>
<NFormItemGi span="24 s:12 m:6" label="登录时间" path="loginTime" class="pr-24px">
<NDatePicker
v-model:formatted-value="dateRangeLoginTime"
type="datetimerange"
value-format="yyyy-MM-dd HH:mm:ss"
clearable
/>
</NFormItemGi>
<NFormItemGi span="24" class="pr-24px">
<NSpace class="w-full" justify="end">
<NButton @click="reset">

View File

@ -45,7 +45,7 @@ const {
operName: null,
operIp: null,
status: null,
operTime: null
params: {}
},
columns: () => [
{

View File

@ -1,4 +1,5 @@
<script setup lang="ts">
import { ref } from 'vue';
import { useNaiveForm } from '@/hooks/common/form';
import { $t } from '@/locales';
@ -15,15 +16,22 @@ const emit = defineEmits<Emits>();
const { formRef, validate, restoreValidation } = useNaiveForm();
const dateRangeOperTime = ref<[string, string] | null>(null);
const model = defineModel<Api.Monitor.OperLogSearchParams>('model', { required: true });
async function reset() {
dateRangeOperTime.value = null;
await restoreValidation();
emit('reset');
}
async function search() {
await validate();
if (dateRangeOperTime.value?.length) {
model.value.params!.beginTime = dateRangeOperTime.value[0];
model.value.params!.endTime = dateRangeOperTime.value[1];
}
emit('search');
}
</script>
@ -51,7 +59,7 @@ async function search() {
<NFormItemGi span="24 s:12 m:6" label="操作IP" path="operIp" class="pr-24px">
<NInput v-model:value="model.operIp" placeholder="请输入操作IP" />
</NFormItemGi>
<NFormItemGi span="24 s:12 m:6" label="操作状态" path="status" class="pr-24px">
<NFormItemGi span="24 s:12 m:8" label="操作状态" path="status" class="pr-24px">
<DictSelect
v-model:value="model.status"
placeholder="请选择操作状态"
@ -59,7 +67,15 @@ async function search() {
clearable
/>
</NFormItemGi>
<NFormItemGi span="24" class="pr-24px">
<NFormItemGi span="24 s:12 m:8" label="操作时间" path="operTime" class="pr-24px">
<NDatePicker
v-model:formatted-value="dateRangeOperTime"
type="datetimerange"
value-format="yyyy-MM-dd HH:mm:ss"
clearable
/>
</NFormItemGi>
<NFormItemGi span="24 s:12 m:8" class="pr-24px">
<NSpace class="w-full" justify="end">
<NButton @click="reset">
<template #icon>

View File

@ -42,7 +42,7 @@ const {
configName: null,
configKey: null,
configType: null,
createTime: null
params: {}
},
columns: () => [
{

View File

@ -1,4 +1,5 @@
<script setup lang="ts">
import { ref } from 'vue';
import { useNaiveForm } from '@/hooks/common/form';
import { $t } from '@/locales';
@ -15,15 +16,22 @@ const emit = defineEmits<Emits>();
const { formRef, validate, restoreValidation } = useNaiveForm();
const dateRangeCreateTime = ref<[string, string] | null>(null);
const model = defineModel<Api.System.ConfigSearchParams>('model', { required: true });
async function reset() {
dateRangeCreateTime.value = null;
await restoreValidation();
emit('reset');
}
async function search() {
await validate();
if (dateRangeCreateTime.value?.length) {
model.value.params!.beginTime = dateRangeCreateTime.value[0];
model.value.params!.endTime = dateRangeCreateTime.value[1];
}
emit('search');
}
</script>
@ -35,7 +43,7 @@ async function search() {
<NForm ref="formRef" :model="model" label-placement="left" :label-width="80">
<NGrid responsive="screen" item-responsive>
<NFormItemGi
span="6 s:12 m:6"
span="24 s:12 m:6"
:label="$t('page.system.config.configName')"
path="configName"
class="pr-24px"
@ -45,11 +53,16 @@ async function search() {
:placeholder="$t('page.system.config.form.configName.required')"
/>
</NFormItemGi>
<NFormItemGi span="6 s:12 m:6" :label="$t('page.system.config.configKey')" path="configKey" class="pr-24px">
<NFormItemGi
span="24 s:12 m:6"
:label="$t('page.system.config.configKey')"
path="configKey"
class="pr-24px"
>
<NInput v-model:value="model.configKey" :placeholder="$t('page.system.config.form.configKey.required')" />
</NFormItemGi>
<NFormItemGi
span="6 s:12 m:6"
span="24 s:12 m:6"
:label="$t('page.system.config.configType')"
path="configType"
class="pr-24px"
@ -61,7 +74,15 @@ async function search() {
clearable
/>
</NFormItemGi>
<NFormItemGi span="6" class="pr-24px">
<NFormItemGi span="24 s:12 m:12" label="创建时间" path="createTime" class="pr-24px">
<NDatePicker
v-model:formatted-value="dateRangeCreateTime"
type="datetimerange"
value-format="yyyy-MM-dd HH:mm:ss"
clearable
/>
</NFormItemGi>
<NFormItemGi span="24 s:12 m:12" class="pr-24px">
<NSpace class="w-full" justify="end">
<NButton @click="reset">
<template #icon>

View File

@ -33,13 +33,13 @@ async function search() {
<NCollapseItem :title="$t('common.search')" name="user-search">
<NForm ref="formRef" :model="model" label-placement="left" :label-width="80">
<NGrid responsive="screen" item-responsive>
<NFormItemGi span="24 s:12 m:6" label="公告标题" path="noticeTitle" class="pr-24px">
<NFormItemGi span="8" label="公告标题" path="noticeTitle" class="pr-24px">
<NInput v-model:value="model.noticeTitle" placeholder="请输入公告标题" />
</NFormItemGi>
<NFormItemGi span="24 s:12 m:6" label="公告类型" path="noticeType" class="pr-24px">
<NFormItemGi span="8" label="公告类型" path="noticeType" class="pr-24px">
<DictSelect v-model:value="model.noticeType" dict-code="sys_notice_type" placeholder="请选择公告类型" />
</NFormItemGi>
<NFormItemGi span="24" class="pr-24px">
<NFormItemGi span="8" class="pr-24px">
<NSpace class="w-full" justify="end">
<NButton @click="reset">
<template #icon>

View File

@ -48,7 +48,8 @@ const {
fileName: null,
originalName: null,
fileSuffix: null,
service: null
service: null,
params: {}
},
columns: () => [
{

View File

@ -16,12 +16,12 @@ const emit = defineEmits<Emits>();
const { formRef, validate, restoreValidation } = useNaiveForm();
const dateRangeCreateTime = ref<[string, string]>();
const dateRangeCreateTime = ref<[string, string] | null>(null);
const model = defineModel<Api.System.OssSearchParams>('model', { required: true });
async function reset() {
dateRangeCreateTime.value = undefined;
dateRangeCreateTime.value = null;
await restoreValidation();
emit('reset');
}
@ -30,7 +30,7 @@ async function search() {
await validate();
if (dateRangeCreateTime.value?.length) {
model.value.params!.beginCreateTime = dateRangeCreateTime.value[0];
model.value.params!.endCreateTime = dateRangeCreateTime.value[0];
model.value.params!.endCreateTime = dateRangeCreateTime.value[1];
}
emit('search');
}

View File

@ -25,7 +25,6 @@ const { options: sysNormalDisableOptions } = useDict('sys_normal_disable');
async function reset() {
dateRangeCreateTime.value = null;
Object.assign(model.value.params!, {});
await restoreValidation();
emit('reset');
}

View File

@ -1,5 +1,6 @@
<script setup lang="ts">
import { ref } from 'vue';
import { NDatePicker } from 'naive-ui';
import { useNaiveForm } from '@/hooks/common/form';
import { $t } from '@/locales';
@ -16,12 +17,14 @@ const emit = defineEmits<Emits>();
const { formRef, validate, restoreValidation } = useNaiveForm();
const dateRangeCreateTime = ref<[string, string]>();
const dateRangeCreateTime = ref<[string, string] | null>(null);
const datePickerRef = ref<InstanceType<typeof NDatePicker>>();
const model = defineModel<Api.System.UserSearchParams>('model', { required: true });
async function reset() {
dateRangeCreateTime.value = undefined;
dateRangeCreateTime.value = null;
await restoreValidation();
emit('reset');
}
@ -29,8 +32,8 @@ async function reset() {
async function search() {
await validate();
if (dateRangeCreateTime.value?.length) {
model.value.params!.beginCreateTime = dateRangeCreateTime.value[0];
model.value.params!.endCreateTime = dateRangeCreateTime.value[0];
model.value.params!.beginTime = dateRangeCreateTime.value[0];
model.value.params!.endTime = dateRangeCreateTime.value[1];
}
emit('search');
}
@ -74,6 +77,7 @@ async function search() {
class="pr-24px"
>
<NDatePicker
ref="datePickerRef"
v-model:formatted-value="dateRangeCreateTime"
type="datetimerange"
value-format="yyyy-MM-dd HH:mm:ss"