optimize(projects): 优化搜索时间范围,填充23:59:59;优化代码模板,去除冗余代码。

This commit is contained in:
AN
2026-05-09 18:16:02 +08:00
parent 852ffc6b1e
commit 92e9beeac3
8 changed files with 28 additions and 26 deletions
+7 -11
View File
@@ -19,9 +19,12 @@ const { formRef, validate, restoreValidation } = useNaiveForm();
#foreach ($column in $columns)
#if($column.htmlType == "datetime" && $column.queryType == "BETWEEN")
#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
#set($AttrName = $column.javaField.substring(0,1).toUpperCase() + $column.javaField.substring(1))
const dateRange${AttrName} = ref<[string, string] | null>(null);
#end#end
#end
#end
const model = defineModel<Api.$ModuleName.${BusinessName}SearchParams>('model', { required: true });
const defaultModel = jsonClone(toRaw(model.value));
@@ -57,15 +60,6 @@ async function reset() {
async function search() {
await validate();
#foreach ($column in $columns)
#if($column.htmlType == "datetime" && $column.queryType == "BETWEEN")
#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
if (dateRange${AttrName}.value?.length) {
model.value.params!.begin${AttrName} = dateRange${AttrName}.value[0];
model.value.params!.end${AttrName} = dateRange${AttrName}.value[1];
}
#end
#end
emit('search');
}
</script>
@@ -111,6 +105,8 @@ async function search() {
type="datetimerange"
value-format="yyyy-MM-dd HH:mm:ss"
clearable
:default-time="['00:00:00', '23:59:59']"
@update:formatted-value="onDateRange${AttrName}Update"
/>
#else <NInput v-model:value="model.$column.javaField" placeholder="请输入$column.columnComment" />
#end
@@ -73,6 +73,7 @@ async function search() {
type="datetimerange"
value-format="yyyy-MM-dd HH:mm:ss"
clearable
:default-time="['00:00:00', '23:59:59']"
@update:formatted-value="onDateRangeLoginTimeUpdate"
/>
</NFormItemGi>
@@ -84,6 +84,7 @@ async function search() {
type="datetimerange"
value-format="yyyy-MM-dd HH:mm:ss"
clearable
:default-time="['00:00:00', '23:59:59']"
@update:formatted-value="onDateRangeOperTimeUpdate"
/>
</NFormItemGi>
@@ -91,6 +91,7 @@ async function search() {
type="datetimerange"
value-format="yyyy-MM-dd HH:mm:ss"
clearable
:default-time="['00:00:00', '23:59:59']"
@update:formatted-value="onDateRangeCreateTimeUpdate"
/>
</NFormItemGi>
@@ -71,6 +71,7 @@ async function search() {
type="datetimerange"
value-format="yyyy-MM-dd HH:mm:ss"
clearable
:default-time="['00:00:00', '23:59:59']"
@update:formatted-value="onDateRangeCreateTimeUpdate"
/>
</NFormItemGi>
@@ -70,11 +70,10 @@ async function search() {
<NFormItemGi span="24 s:12 m:6" label="创建时间" path="createTime" class="pr-24px">
<NDatePicker
v-model:formatted-value="dateRangeCreateTime"
update-value-on-close
class="w-full"
type="daterange"
value-format="yyyy-MM-dd"
type="datetimerange"
value-format="yyyy-MM-dd HH:mm:ss"
clearable
:default-time="['00:00:00', '23:59:59']"
@update:formatted-value="onDateRangeCreateTimeUpdate"
/>
</NFormItemGi>
@@ -91,6 +91,7 @@ async function search() {
type="datetimerange"
value-format="yyyy-MM-dd HH:mm:ss"
clearable
:default-time="['00:00:00', '23:59:59']"
@update:formatted-value="onDateRangeCreateTimeUpdate"
/>
</NFormItemGi>
+13 -11
View File
@@ -24,17 +24,18 @@ const { formRef, validate, restoreValidation } = useNaiveForm();
const model = defineModel<Api.Tool.GenTableSearchParams>('model', { required: true });
const dateRange = ref<[string, string]>();
function onDateRangeUpdate(value: [string, string] | null) {
if (value?.length) {
model.value.params!.beginTime = value[0];
model.value.params!.endTime = value[1];
}
}
const dateRangeCreateTime = ref<[string, string] | null>(null);
const defaultModel = jsonClone(toRaw(model.value));
function onDateRangeCreateTimeUpdate(value: [string, string] | null) {
model.value.params = {
...model.value.params,
beginTime: value?.[0],
endTime: value?.[1]
};
}
function resetModel() {
model.value.params!.beginTime = null;
model.value.params!.endTime = null;
@@ -70,11 +71,12 @@ async function search() {
</NFormItemGi>
<NFormItemGi span="24 s:12 m:6" label="创建时间" label-width="auto" class="pr-24px">
<NDatePicker
v-model:formatted-value="dateRange"
v-model:formatted-value="dateRangeCreateTime"
value-format="yyyy-MM-dd HH:mm:ss"
type="daterange"
type="datetimerange"
clearable
@update:formatted-value="onDateRangeUpdate"
:default-time="['00:00:00', '23:59:59']"
@update:formatted-value="onDateRangeCreateTimeUpdate"
/>
</NFormItemGi>
<NFormItemGi :show-feedback="false" span="24" class="pb-6px pr-24px">