完善接单平台通知配置

This commit is contained in:
yml2213
2026-08-17 13:54:01 +08:00
parent bca2e4a801
commit 5330b55b75
27 changed files with 1390 additions and 10 deletions
@@ -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}