接单工单与资金申请列表支持创建时间区间筛选
This commit is contained in:
@@ -34,6 +34,8 @@ import type {
|
||||
WorkerFinanceConfig,
|
||||
WorkerFinanceRequest,
|
||||
} from '@/types/worker-platform'
|
||||
import { AdminRangePicker } from '@/components/admin/AdminDatePicker'
|
||||
import dayjs, { ADMIN_DATE_FORMAT } from '@/lib/dayjs'
|
||||
import { ADMIN_DEFAULT_PAGE_SIZE, buildAdminTablePagination } from '@/utils/admin-pagination'
|
||||
import { formatAdminDateTime } from '@/utils/admin-time'
|
||||
import { asRecord, formatMoney } from './shared'
|
||||
@@ -69,6 +71,7 @@ export default function FinancePanel() {
|
||||
const [requestType, setRequestType] = useState('')
|
||||
const [keywordInput, setKeywordInput] = useState('')
|
||||
const [keyword, setKeyword] = useState('')
|
||||
const [createdRange, setCreatedRange] = useState<[string, string] | null>(null)
|
||||
const [page, setPage] = useState(1)
|
||||
const [pageSize, setPageSize] = useState(ADMIN_DEFAULT_PAGE_SIZE)
|
||||
const [savingConfig, setSavingConfig] = useState(false)
|
||||
@@ -109,6 +112,8 @@ export default function FinancePanel() {
|
||||
keyword,
|
||||
page,
|
||||
pageSize,
|
||||
createdRange ? createdRange[0] : '',
|
||||
createdRange ? createdRange[1] : '',
|
||||
],
|
||||
queryFn: () =>
|
||||
fetchAdminWorkerFinanceRequests({
|
||||
@@ -118,6 +123,7 @@ export default function FinancePanel() {
|
||||
keyword,
|
||||
page,
|
||||
pageSize,
|
||||
...(createdRange ? { createdFrom: createdRange[0], createdTo: createdRange[1] } : {}),
|
||||
}),
|
||||
})
|
||||
const financeRequestsPagination = financeRequestsQuery.data?.data.pagination
|
||||
@@ -466,6 +472,18 @@ export default function FinancePanel() {
|
||||
setPage(1)
|
||||
}}
|
||||
/>
|
||||
<AdminRangePicker
|
||||
value={createdRange ? [dayjs(createdRange[0]), dayjs(createdRange[1])] : null}
|
||||
onChange={(dates) => {
|
||||
const [start, end] = dates || []
|
||||
setCreatedRange(
|
||||
start && end
|
||||
? [start.format(ADMIN_DATE_FORMAT), end.format(ADMIN_DATE_FORMAT)]
|
||||
: null,
|
||||
)
|
||||
setPage(1)
|
||||
}}
|
||||
/>
|
||||
<Button
|
||||
icon={<ReloadOutlined />}
|
||||
loading={financeRequestsQuery.isFetching}
|
||||
|
||||
@@ -67,6 +67,8 @@ import {
|
||||
updateAdminWorkOrderSharing,
|
||||
} from '@/services/admin'
|
||||
import type { UploadedFile, WorkOrder, WorkOrderShare } from '@/types/worker-platform'
|
||||
import { AdminRangePicker } from '@/components/admin/AdminDatePicker'
|
||||
import dayjs, { ADMIN_DATE_FORMAT } from '@/lib/dayjs'
|
||||
import { ADMIN_DEFAULT_PAGE_SIZE, buildAdminTablePagination } from '@/utils/admin-pagination'
|
||||
import { hasAdminRole } from '@/utils/admin-auth'
|
||||
import { formatAdminDateTime } from '@/utils/admin-time'
|
||||
@@ -139,6 +141,7 @@ export default function WorkOrdersPanel() {
|
||||
const [statuses, setStatuses] = useState<string[]>([])
|
||||
const [targetWorkOrderId, setTargetWorkOrderId] = useState<number | undefined>()
|
||||
const [keyword, setKeyword] = useState('')
|
||||
const [createdRange, setCreatedRange] = useState<[string, string] | null>(null)
|
||||
const [keywordInput, setKeywordInput] = useState('')
|
||||
const [workerId, setWorkerId] = useState<number | undefined>()
|
||||
const [workerLevelIds, setWorkerLevelIds] = useState<number[]>([])
|
||||
@@ -219,6 +222,8 @@ export default function WorkOrdersPanel() {
|
||||
targetWorkOrderId,
|
||||
page,
|
||||
pageSize,
|
||||
createdRange ? createdRange[0] : '',
|
||||
createdRange ? createdRange[1] : '',
|
||||
],
|
||||
queryFn: () =>
|
||||
fetchAdminWorkOrders({
|
||||
@@ -232,6 +237,7 @@ export default function WorkOrdersPanel() {
|
||||
showWorkerLevelFilter && workerLevelIds.length > 0 ? workerLevelIds.join(',') : undefined,
|
||||
page,
|
||||
pageSize,
|
||||
...(createdRange ? { createdFrom: createdRange[0], createdTo: createdRange[1] } : {}),
|
||||
}),
|
||||
})
|
||||
const ordersPagination = ordersQuery.data?.data.pagination
|
||||
@@ -587,6 +593,7 @@ export default function WorkOrdersPanel() {
|
||||
setStatuses([])
|
||||
setWorkerId(undefined)
|
||||
setWorkerLevelIds([])
|
||||
setCreatedRange(null)
|
||||
setPage(1)
|
||||
}
|
||||
|
||||
@@ -1094,6 +1101,18 @@ export default function WorkOrdersPanel() {
|
||||
}}
|
||||
/>
|
||||
) : null}
|
||||
<AdminRangePicker
|
||||
value={createdRange ? [dayjs(createdRange[0]), dayjs(createdRange[1])] : null}
|
||||
onChange={(dates) => {
|
||||
const [start, end] = dates || []
|
||||
setCreatedRange(
|
||||
start && end
|
||||
? [start.format(ADMIN_DATE_FORMAT), end.format(ADMIN_DATE_FORMAT)]
|
||||
: null,
|
||||
)
|
||||
setPage(1)
|
||||
}}
|
||||
/>
|
||||
<Button type="primary" icon={<SearchOutlined />} onClick={searchOrders}>
|
||||
查询
|
||||
</Button>
|
||||
|
||||
Reference in New Issue
Block a user