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