fix: 待办跳转修复 — 1)actionUrl从/contracts改为/roster(无此路由) 2)Roster页面读取employee参数自动搜索并打开员工详情 3)更新数据库281条已有riskItem的actionUrl

This commit is contained in:
selfrelease
2026-08-01 08:15:52 +08:00
parent d0c0be0984
commit 88e027bcda
2 changed files with 21 additions and 7 deletions
+15 -1
View File
@@ -1,4 +1,5 @@
import { useState, useMemo } from 'react'
import { useState, useMemo, useEffect } from 'react'
import { useSearchParams } from 'react-router-dom'
import { toast } from 'sonner'
import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query'
import { useConfirm } from '../hooks/useConfirm'
@@ -20,6 +21,7 @@ import { ImportSettings } from './Settings'
export default function Roster() {
const queryClient = useQueryClient()
const confirm = useConfirm()
const [searchParams, setSearchParams] = useSearchParams()
const [selectedId, setSelectedId] = useState<string | null>(null)
const [search, setSearch] = useState('')
const debouncedSearch = useDebouncedValue(search, 300)
@@ -67,6 +69,18 @@ export default function Roster() {
})
const pagination = rosterData?.pagination || { page, pageSize, total: 0, totalPages: 0 }
// 从 URL query 参数自动定位员工(从待办跳转时)
useEffect(() => {
const emp = searchParams.get('employee')
if (emp) {
setSearch(emp)
// 搜索结果加载后自动打开第一个匹配的员工
if (!isLoading && employees.length > 0 && !selectedId) {
setSelectedId(employees[0].id)
}
}
}, [searchParams, isLoading, employees, selectedId])
const addMutation = useMutation({
mutationFn: (data: any) => api.post('/employees', data),
onSuccess: () => {