支持按接单人员筛选订单
This commit is contained in:
@@ -560,11 +560,13 @@ export async function reviewAdminWorkerFinanceRequest(
|
||||
export async function listAdminWorkOrders(query: JsonObject = {}) {
|
||||
const page = normalizePage(query.page)
|
||||
const pageSize = normalizePageSize(query.pageSize)
|
||||
const workerId = normalizeOptionalId(query.workerId ?? query.worker_id) || 0
|
||||
const { items, total } = await listWorkOrders({
|
||||
page,
|
||||
pageSize,
|
||||
status: String(query.status || '').trim(),
|
||||
keyword: String(query.keyword || '').trim(),
|
||||
workerSharingId: workerId,
|
||||
})
|
||||
const shares = await listWorkOrderSharesByOrderIds(items.map((item) => Number(item.id)))
|
||||
const sharesByOrderId = new Map<number, WorkOrderShareRow[]>()
|
||||
|
||||
@@ -123,6 +123,7 @@ export default function WorkOrdersPanel() {
|
||||
const [status, setStatus] = useState('')
|
||||
const [keyword, setKeyword] = useState('')
|
||||
const [keywordInput, setKeywordInput] = useState('')
|
||||
const [workerId, setWorkerId] = useState<number | undefined>()
|
||||
const [page, setPage] = useState(1)
|
||||
const [pageSize, setPageSize] = useState(ADMIN_DEFAULT_PAGE_SIZE)
|
||||
const [selectedAcceptanceOrderIds, setSelectedAcceptanceOrderIds] = useState<number[]>([])
|
||||
@@ -159,14 +160,18 @@ export default function WorkOrdersPanel() {
|
||||
}>()
|
||||
|
||||
const ordersQuery = useQuery({
|
||||
queryKey: ['admin-worker-platform-orders', status, keyword, page, pageSize],
|
||||
queryFn: () => fetchAdminWorkOrders({ status, keyword, page, pageSize }),
|
||||
queryKey: ['admin-worker-platform-orders', status, keyword, workerId, page, pageSize],
|
||||
queryFn: () => fetchAdminWorkOrders({ status, keyword, workerId, page, pageSize }),
|
||||
})
|
||||
const ordersPagination = ordersQuery.data?.data.pagination
|
||||
const categoriesQuery = useQuery({
|
||||
queryKey: ['admin-worker-platform-categories'],
|
||||
queryFn: () => fetchAdminWorkCategories(),
|
||||
})
|
||||
const filterWorkersQuery = useQuery({
|
||||
queryKey: ['admin-worker-platform-workers', 'order-filter'],
|
||||
queryFn: () => fetchAdminWorkerUsers({ page: 1, pageSize: 200 }),
|
||||
})
|
||||
const sharingQuery = useQuery({
|
||||
queryKey: ['admin-worker-platform-order-sharing', sharingOrder?.workOrderId],
|
||||
queryFn: () => fetchAdminWorkOrderSharing(Number(sharingOrder?.workOrderId)),
|
||||
@@ -180,7 +185,7 @@ export default function WorkOrdersPanel() {
|
||||
|
||||
useEffect(() => {
|
||||
setSelectedAcceptanceOrderIds([])
|
||||
}, [status, keyword, page, pageSize])
|
||||
}, [status, keyword, workerId, page, pageSize])
|
||||
|
||||
function openAssignModal(row: WorkOrder) {
|
||||
setAssignOrder(row)
|
||||
@@ -388,6 +393,7 @@ export default function WorkOrdersPanel() {
|
||||
setKeywordInput('')
|
||||
setKeyword('')
|
||||
setStatus('')
|
||||
setWorkerId(undefined)
|
||||
setPage(1)
|
||||
}
|
||||
|
||||
@@ -834,6 +840,26 @@ export default function WorkOrdersPanel() {
|
||||
setPage(1)
|
||||
}}
|
||||
/>
|
||||
<Select
|
||||
allowClear
|
||||
showSearch
|
||||
optionFilterProp="label"
|
||||
value={workerId}
|
||||
placeholder="全部接单人员"
|
||||
style={{ width: 180 }}
|
||||
loading={filterWorkersQuery.isLoading}
|
||||
options={(filterWorkersQuery.data?.data.items || []).map((worker) => ({
|
||||
value: worker.workerId,
|
||||
label:
|
||||
worker.displayName && worker.displayName !== worker.username
|
||||
? `${worker.displayName}(${worker.username})`
|
||||
: worker.username,
|
||||
}))}
|
||||
onChange={(nextWorkerId) => {
|
||||
setWorkerId(nextWorkerId)
|
||||
setPage(1)
|
||||
}}
|
||||
/>
|
||||
<Button type="primary" icon={<SearchOutlined />} onClick={searchOrders}>
|
||||
查询
|
||||
</Button>
|
||||
|
||||
Reference in New Issue
Block a user