完善接单平台通知配置
This commit is contained in:
@@ -2,6 +2,7 @@ import { ReloadOutlined } from '@ant-design/icons'
|
||||
import { useQuery, useQueryClient } from '@tanstack/react-query'
|
||||
import {
|
||||
App,
|
||||
Alert,
|
||||
Button,
|
||||
Card,
|
||||
Descriptions,
|
||||
@@ -18,6 +19,7 @@ import {
|
||||
} from 'antd'
|
||||
import type { TableColumnsType } from 'antd'
|
||||
import { useEffect, useState } from 'react'
|
||||
import { useSearchParams } from 'react-router'
|
||||
|
||||
import ImageUpload from '@/components/files/ImageUpload'
|
||||
import ImagePreviewList from '@/components/files/ImagePreviewList'
|
||||
@@ -59,9 +61,11 @@ type FinanceReviewAction = 'approved' | 'rejected' | 'cancelled'
|
||||
export default function FinancePanel() {
|
||||
const { message } = App.useApp()
|
||||
const queryClient = useQueryClient()
|
||||
const [searchParams, setSearchParams] = useSearchParams()
|
||||
const [configForm] = Form.useForm<FinanceConfigFormValues>()
|
||||
const [reviewForm] = Form.useForm<{ reviewedNote?: string }>()
|
||||
const [requestStatus, setRequestStatus] = useState('')
|
||||
const [targetRequestId, setTargetRequestId] = useState<number | undefined>()
|
||||
const [requestType, setRequestType] = useState('')
|
||||
const [keywordInput, setKeywordInput] = useState('')
|
||||
const [keyword, setKeyword] = useState('')
|
||||
@@ -79,11 +83,29 @@ export default function FinancePanel() {
|
||||
queryKey: ['admin-worker-platform-finance-config'],
|
||||
queryFn: () => fetchAdminWorkerFinanceConfig(),
|
||||
})
|
||||
useEffect(() => {
|
||||
const requestId = Number(searchParams.get('financeRequestId') || 0)
|
||||
if (!Number.isInteger(requestId) || requestId <= 0) return
|
||||
setTargetRequestId(requestId)
|
||||
setRequestStatus('')
|
||||
setRequestType('')
|
||||
setKeyword('')
|
||||
setKeywordInput('')
|
||||
setPage(1)
|
||||
setSearchParams(
|
||||
(current) => {
|
||||
current.delete('financeRequestId')
|
||||
return current
|
||||
},
|
||||
{ replace: true },
|
||||
)
|
||||
}, [searchParams, setSearchParams])
|
||||
const financeRequestsQuery = useQuery({
|
||||
queryKey: [
|
||||
'admin-worker-platform-finance-requests',
|
||||
requestStatus,
|
||||
requestType,
|
||||
targetRequestId,
|
||||
keyword,
|
||||
page,
|
||||
pageSize,
|
||||
@@ -92,6 +114,7 @@ export default function FinancePanel() {
|
||||
fetchAdminWorkerFinanceRequests({
|
||||
status: requestStatus,
|
||||
requestType,
|
||||
requestId: targetRequestId,
|
||||
keyword,
|
||||
page,
|
||||
pageSize,
|
||||
@@ -274,6 +297,18 @@ export default function FinancePanel() {
|
||||
|
||||
return (
|
||||
<section className="platform-panel-stack">
|
||||
{targetRequestId ? (
|
||||
<Alert
|
||||
type="info"
|
||||
showIcon
|
||||
message={`已定位资金申请 #${targetRequestId}`}
|
||||
action={
|
||||
<Button size="small" onClick={() => setTargetRequestId(undefined)}>
|
||||
取消定位
|
||||
</Button>
|
||||
}
|
||||
/>
|
||||
) : null}
|
||||
<Card
|
||||
title="资金配置"
|
||||
bordered={false}
|
||||
|
||||
Reference in New Issue
Block a user