Skip to content

Commit 3217ad2

Browse files
authored
Merge pull request #380 from APIParkLab/feature/1.9-OAuth
fix: Fix department selection issue
2 parents 8968e1f + 1485b31 commit 3217ad2

File tree

2 files changed

+16
-3
lines changed

2 files changed

+16
-3
lines changed

frontend/packages/core/src/pages/member/MemberList.tsx

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -154,11 +154,12 @@ const MemberList = () => {
154154
const [tableHttpReload, setTableHttpReload] = useState(true)
155155
const [tableListDataSource, setTableListDataSource] = useState<MemberTableListItem[]>([])
156156
const pageListRef = useRef<ActionType>(null)
157-
const { topGroupId, selectedDepartmentIds, refreshGroup } = useOutletContext<{
157+
const { topGroupId, selectedDepartmentIds, refreshGroup, refreshTableCount } = useOutletContext<{
158158
topGroupId: string
159159
departmentList: DepartmentListItem[]
160160
selectedDepartmentIds: string[]
161161
refreshGroup: () => void
162+
refreshTableCount: number
162163
}>()
163164
const AddMemberRef = useRef<MemberDropdownModalHandle>(null)
164165
const EditMemberRef = useRef<MemberDropdownModalHandle>(null)
@@ -416,6 +417,13 @@ const MemberList = () => {
416417
getDepartmentList()
417418
}, [])
418419

420+
// 监听外部刷新触发器
421+
useEffect(() => {
422+
if (refreshTableCount > 0) {
423+
manualReloadTable()
424+
}
425+
}, [refreshTableCount])
426+
419427
const getDepartmentList = async () => {
420428
setDepartmentValueEnum([])
421429
const { code, data, msg } = await fetchData<BasicResponse<{ department: DepartmentListItem }>>(

frontend/packages/core/src/pages/member/MemberPage.tsx

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,11 @@ const MemberPage = ()=>{
3636
const [selectedDepartmentId, setSelectedDepartmentId] = useState<string>('-1')
3737
const {accessData,state} = useGlobalContext()
3838
const [refreshMemberCount, setRefreshMemberCount] = useState<number>(0)
39+
const [refreshTableCount, setRefreshTableCount] = useState<number>(0)
40+
41+
const refreshMemberTable = () => {
42+
setRefreshTableCount(prev => prev + 1)
43+
}
3944
const onSearchWordChange = (e:string)=>{
4045
setSearchWord(e || '')
4146
}
@@ -90,7 +95,7 @@ const MemberPage = ()=>{
9095
case 'addChild':
9196
return AddChildRef.current?.save().then((res)=>{if(res === true)getDepartmentList()})
9297
case 'addMember':
93-
return AddMemberRef.current?.save().then((res)=>{if(res === true){getDepartmentList();setRefreshMemberCount(pre=>pre+1)}})
98+
return AddMemberRef.current?.save().then((res)=>{if(res === true){getDepartmentList();setRefreshMemberCount(pre=>pre+1);refreshMemberTable()}})
9499
case 'rename':
95100
return RenameRef.current?.save().then((res)=>{if(res === true)getDepartmentList()})
96101
case 'delete':
@@ -262,7 +267,7 @@ const MemberPage = ()=>{
262267
</div>
263268
</div>
264269
<div className="flex-1 p-btnbase pr-PAGE_INSIDE_X overflow-x-hidden">
265-
<Outlet context={{refreshMemberCount, selectedDepartmentIds,refreshGroup:()=>getDepartmentList()}}/>
270+
<Outlet context={{refreshMemberCount, selectedDepartmentIds,refreshGroup:()=>getDepartmentList(), refreshTableCount}}/>
266271
</div>
267272
</div>
268273
</InsidePage>);

0 commit comments

Comments
 (0)