|
@@ -23,9 +23,9 @@
|
|
|
allow-clear
|
|
|
/>
|
|
|
</a-form-item>
|
|
|
- <a-form-item label="选择日期" name="startTime">
|
|
|
+ <a-form-item label="选择日期" name="day">
|
|
|
<a-date-picker
|
|
|
- v-model:value="filterState.startTime"
|
|
|
+ v-model:value="filterState.day"
|
|
|
style="width: 100%"
|
|
|
placeholder="选择项目创建日期"
|
|
|
allow-clear
|
|
@@ -72,7 +72,7 @@
|
|
|
import InsertProject from './edit.vue'
|
|
|
import { HeadPanl, BodyPanl } from '@/layout/panl'
|
|
|
import { projectColumns } from './columns'
|
|
|
-import { reactive, ref } from 'vue'
|
|
|
+import { computed, reactive, ref } from 'vue'
|
|
|
import { usePaging } from '@/hook'
|
|
|
import { renderModal } from '@/helper'
|
|
|
import { useProject } from '@/store'
|
|
@@ -87,6 +87,7 @@ import {
|
|
|
|
|
|
import type { All, InsertProjectData } from '@/api'
|
|
|
import type { FormInstance } from 'ant-design-vue'
|
|
|
+import type { Dayjs } from 'dayjs'
|
|
|
|
|
|
const statusOptions = [
|
|
|
{ label: '全部', value: all },
|
|
@@ -100,20 +101,28 @@ const statusOptions = [
|
|
|
type FilterState = {
|
|
|
projectName: string
|
|
|
projectCreater: string
|
|
|
- startTime: string
|
|
|
+ day?: Dayjs
|
|
|
projectStatus: ProjectStatus | All
|
|
|
}
|
|
|
|
|
|
const filterState: FilterState = reactive({
|
|
|
projectName: '',
|
|
|
projectCreater: '',
|
|
|
- startTime: '',
|
|
|
projectStatus: all
|
|
|
})
|
|
|
|
|
|
-const { list, pagination, updateList } = usePaging(fetchProjects, filterState, {
|
|
|
- auto: false
|
|
|
-})
|
|
|
+const { list, pagination, updateList } = usePaging(
|
|
|
+ fetchProjects,
|
|
|
+ computed(() => ({
|
|
|
+ ...filterState,
|
|
|
+ day: filterState.day?.format('YYYY-MM-DD'),
|
|
|
+ projectStatus:
|
|
|
+ filterState.projectStatus === all ? undefined : filterState.projectStatus
|
|
|
+ })),
|
|
|
+ {
|
|
|
+ auto: false
|
|
|
+ }
|
|
|
+)
|
|
|
|
|
|
const filterFromRef = ref<FormInstance>()
|
|
|
const resetFilter = () => {
|