2
0

fix:kyc界面图片处理和搜索条件修改

This commit is contained in:
zhongzm
2025-01-17 19:22:49 +08:00
parent d07189e936
commit a72217a5ea
3 changed files with 475 additions and 2 deletions

View File

@@ -0,0 +1,137 @@
<template>
<ACard :bordered="false" class="search-card">
<AForm
ref="formRef"
:model="formModel"
layout="inline"
class="flex flex-wrap gap-16px items-center"
>
<AFormItem label="提交时间">
<ARangePicker
v-model:value="queryRangePicker"
show-time
:placeholder="['开始时间', '结束时间']"
format="YYYY-MM-DD HH:mm:ss"
value-format="YYYY-MM-DD HH:mm:ss"
class="w-400px"
@change="handleTimeChange"
/>
</AFormItem>
<AFormItem label="状态">
<ASelect
v-model:value="formModel.status"
placeholder="请选择状态"
allow-clear
class="w-200px"
>
<ASelectOption value="PENDING">待审核</ASelectOption>
<ASelectOption value="APPROVED">已通过</ASelectOption>
<ASelectOption value="REJECTED">已拒绝</ASelectOption>
</ASelect>
</AFormItem>
<AFormItem class="flex-1 justify-end">
<ASpace>
<AButton @click="handleReset">重置</AButton>
<AButton type="primary" @click="handleSearch">查询</AButton>
</ASpace>
</AFormItem>
</AForm>
</ACard>
</template>
<script setup lang="ts">
import { ref, computed, watch } from 'vue';
import {
Form as AForm,
FormItem as AFormItem,
Select as ASelect,
SelectOption as ASelectOption,
Button as AButton,
Space as ASpace,
Card as ACard,
DatePicker
} from 'ant-design-vue';
import type { FormInstance } from 'ant-design-vue';
const ARangePicker = DatePicker.RangePicker;
import dayjs, { Dayjs } from 'dayjs';
interface SearchModel {
pageNum: number;
pageSize: number;
startTime?: string;
endTime?: string;
status?: string;
}
const props = withDefaults(defineProps<{
model: SearchModel;
}>(), {
model: () => ({
pageNum: 1,
pageSize: 10,
startTime: undefined,
endTime: undefined,
status: undefined
})
});
const emit = defineEmits<{
'update:model': [value: SearchModel];
'search': [];
'reset': [];
}>();
const formRef = ref<FormInstance>();
const { resetFields } = AForm.useForm(props.model);
const formModel = computed({
get: () => props.model,
set: (val: SearchModel) => emit('update:model', val)
});
const queryRangePicker = ref<[string, string]>(['', '']);
const handleTimeChange = (dates: any, dateStrings: [string, string]) => {
formModel.value.startTime = dateStrings[0] || undefined;
formModel.value.endTime = dateStrings[1] || undefined;
};
function handleSearch() {
emit('search');
}
function handleReset() {
queryRangePicker.value = ['', ''];
resetFields();
formModel.value = {
...formModel.value,
startTime: undefined,
endTime: undefined,
status: undefined,
pageNum: 1
};
emit('reset');
}
watch(
() => [props.model.startTime, props.model.endTime],
([start, end]) => {
queryRangePicker.value = [start || '', end || ''];
},
{ immediate: true }
);
</script>
<style scoped>
.search-card {
margin-bottom: 16px;
}
.w-200px {
width: 200px;
}
.w-400px {
width: 400px;
}
</style>