修复工单打手筛选搜索

This commit is contained in:
yml2213
2026-08-20 17:34:39 +08:00
parent d2512ccb6b
commit 543bc7f789
@@ -137,6 +137,8 @@ export default function WorkOrdersPanel() {
const [keyword, setKeyword] = useState('') const [keyword, setKeyword] = useState('')
const [keywordInput, setKeywordInput] = useState('') const [keywordInput, setKeywordInput] = useState('')
const [workerId, setWorkerId] = useState<number | undefined>() const [workerId, setWorkerId] = useState<number | undefined>()
const [filterWorkerKeyword, setFilterWorkerKeyword] = useState('')
const [assignWorkerKeyword, setAssignWorkerKeyword] = useState('')
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[]>([])
@@ -228,8 +230,13 @@ export default function WorkOrdersPanel() {
queryFn: () => fetchAdminWorkCategories(), queryFn: () => fetchAdminWorkCategories(),
}) })
const filterWorkersQuery = useQuery({ const filterWorkersQuery = useQuery({
queryKey: ['admin-worker-platform-workers', 'order-filter'], queryKey: ['admin-worker-platform-workers', 'order-filter', filterWorkerKeyword],
queryFn: () => fetchAdminWorkerUsers({ page: 1, pageSize: 200 }), queryFn: () =>
fetchAdminWorkerUsers({
keyword: filterWorkerKeyword.trim(),
page: 1,
pageSize: 30,
}),
}) })
const sharingQuery = useQuery({ const sharingQuery = useQuery({
queryKey: ['admin-worker-platform-order-sharing', sharingOrder?.workOrderId], queryKey: ['admin-worker-platform-order-sharing', sharingOrder?.workOrderId],
@@ -237,8 +244,14 @@ export default function WorkOrdersPanel() {
enabled: Boolean(sharingOrder), enabled: Boolean(sharingOrder),
}) })
const assignWorkersQuery = useQuery({ const assignWorkersQuery = useQuery({
queryKey: ['admin-worker-platform-workers', 'active', 1, 200], queryKey: ['admin-worker-platform-workers', 'assign', assignWorkerKeyword],
queryFn: () => fetchAdminWorkerUsers({ status: 'active', page: 1, pageSize: 200 }), queryFn: () =>
fetchAdminWorkerUsers({
status: 'active',
keyword: assignWorkerKeyword.trim(),
page: 1,
pageSize: 30,
}),
enabled: Boolean(assignOrder), enabled: Boolean(assignOrder),
}) })
@@ -249,6 +262,7 @@ export default function WorkOrdersPanel() {
function openAssignModal(row: WorkOrder) { function openAssignModal(row: WorkOrder) {
setAssignOrder(row) setAssignOrder(row)
setAssignWorkerId(undefined) setAssignWorkerId(undefined)
setAssignWorkerKeyword('')
} }
function openCancelModal(row: WorkOrder) { function openCancelModal(row: WorkOrder) {
@@ -988,11 +1002,12 @@ export default function WorkOrdersPanel() {
<Select <Select
allowClear allowClear
showSearch showSearch
optionFilterProp="label" filterOption={false}
value={workerId} value={workerId}
placeholder="全部接单人员" placeholder="全部接单人员"
style={{ width: 180 }} style={{ width: 180 }}
loading={filterWorkersQuery.isLoading} loading={filterWorkersQuery.isLoading}
onSearch={setFilterWorkerKeyword}
options={(filterWorkersQuery.data?.data.items || []).map((worker) => ({ options={(filterWorkersQuery.data?.data.items || []).map((worker) => ({
value: worker.workerId, value: worker.workerId,
label: label:
@@ -1002,6 +1017,7 @@ export default function WorkOrdersPanel() {
}))} }))}
onChange={(nextWorkerId) => { onChange={(nextWorkerId) => {
setWorkerId(nextWorkerId) setWorkerId(nextWorkerId)
if (!nextWorkerId) setFilterWorkerKeyword('')
setPage(1) setPage(1)
}} }}
/> />
@@ -1609,9 +1625,13 @@ export default function WorkOrdersPanel() {
placeholder="选择要指派的打手" placeholder="选择要指派的打手"
loading={assignWorkersQuery.isLoading} loading={assignWorkersQuery.isLoading}
showSearch showSearch
optionFilterProp="label" filterOption={false}
value={assignWorkerId} value={assignWorkerId}
onChange={setAssignWorkerId} onSearch={setAssignWorkerKeyword}
onChange={(nextWorkerId) => {
setAssignWorkerId(nextWorkerId)
if (!nextWorkerId) setAssignWorkerKeyword('')
}}
options={(assignWorkersQuery.data?.data.items || []).map((worker) => ({ options={(assignWorkersQuery.data?.data.items || []).map((worker) => ({
value: worker.workerId, value: worker.workerId,
label: `${worker.displayName || worker.username}${worker.username}${ label: `${worker.displayName || worker.username}${worker.username}${