From db60b90bc4ad505dc8218a8f6444ed9a54572fe1 Mon Sep 17 00:00:00 2001 From: Quy_FE Date: Tue, 15 Apr 2025 11:01:32 +0700 Subject: [PATCH] =?UTF-8?q?Feat=20:=20n=C3=BAt=20back,=20fix=20logic=20gi?= =?UTF-8?q?=E1=BB=AF=20fill?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../criteria/criteria-manage/index.js | 57 ++++++++++--------- src/_screens/home/admin/index.js | 38 +++++++++++++ src/_screens/home/headmaster/index.js | 7 +++ 3 files changed, 74 insertions(+), 28 deletions(-) diff --git a/src/_screens/criteria/criteria-manage/index.js b/src/_screens/criteria/criteria-manage/index.js index d1771a8..73f0a97 100644 --- a/src/_screens/criteria/criteria-manage/index.js +++ b/src/_screens/criteria/criteria-manage/index.js @@ -249,38 +249,39 @@ export default function CriteriaManage() { statusCriteriaSelected.value ); - useEffect(async() => { - const savedState = sessionStorage.getItem('criteriaManageState'); - if (savedState) { - const state = JSON.parse(savedState); - setSearchText(state.searchText); - setListIdSelected(state.listIdSelected); - setProvinceSelect(state.provinceSelect); - setDistrictSelect(state.districtSelect); - setStatusCriteriaSelected(state.statusCriteriaSelected); - if(state.endPointSave){ - const res = await apiCaller(state.endPointSave, "GET"); - if (res?.status) { - setListData(res?.data); - setIsFiltered(true); - setListIdSelected([]); - } + useEffect(async() => { + const savedState = sessionStorage.getItem('criteriaManageState'); + if (savedState) { + const state = JSON.parse(savedState); + setSearchText(state.searchText); + setListIdSelected(state.listIdSelected); + setProvinceSelect(state.provinceSelect); + setDistrictSelect(state.districtSelect); + setStatusCriteriaSelected(state.statusCriteriaSelected); + setendPointSave(state.endPointSave) + if(state.endPointSave){ + const res = await apiCaller(state.endPointSave, "GET"); + if (res?.status) { + setListData(res?.data); + setIsFiltered(true); + setListIdSelected([]); } - sessionStorage.removeItem('criteriaManageState'); } - }, []); + sessionStorage.removeItem('criteriaManageState'); + } + }, []); - const saveCurrentState = () => { - const currentState = { - searchText, - listIdSelected, - provinceSelect, - districtSelect, - statusCriteriaSelected, - endPointSave, - }; - sessionStorage.setItem('criteriaManageState', JSON.stringify(currentState)); + const saveCurrentState = () => { + const currentState = { + searchText, + listIdSelected, + provinceSelect, + districtSelect, + statusCriteriaSelected, + endPointSave, }; + sessionStorage.setItem('criteriaManageState', JSON.stringify(currentState)); + }; return (
diff --git a/src/_screens/home/admin/index.js b/src/_screens/home/admin/index.js index 6c9619c..3c5f096 100644 --- a/src/_screens/home/admin/index.js +++ b/src/_screens/home/admin/index.js @@ -37,6 +37,8 @@ export default function AdminHome() { const [isLoading, setIsLoading] = useState(false); const [listSchool, setListSchool] = useState([]); const [isSearched, setIsSearched] = useState(false); + const [endPointSave, setendPointSave] = useState(null) + const dispatch = useDispatch(); const isFilterSchool = typeFilter === LIST_TYPE_FILTER_ADMIN_HOME[0]?.value; @@ -60,6 +62,13 @@ export default function AdminHome() { const endPoint = `/api_organization/get_organization${ queryParams.length ? `?${queryParams.join("&")}` : "" }`; + setendPointSave(endPoint) + dispatch({ + type: TYPE_DISPATCH.SET_END_POINT, + payload: { + endPoint:endPoint + }, + }) const res = await apiCaller(endPoint, "GET"); setIsLoading(false); if (res?.status) { @@ -172,6 +181,7 @@ export default function AdminHome() { }; const handleClickSchoolItem = (item) => { + saveCurrentState() history.push(replacePathParams(PATH.home.detailSchool, {schoolId: item?.organization_id}) + "?school_name=" + encodeURIComponent(item?.organization_name)); @@ -206,6 +216,34 @@ export default function AdminHome() { getProvinceList(); }, []); + useEffect(async() => { + const savedState = sessionStorage.getItem('adminState'); + if (savedState) { + const state = JSON.parse(savedState); + setSearchTextSchool(state.searchTextSchool); + setProvinceSelect(state.provinceSelect); + setDistrictSelect(state.districtSelect); + setendPointSave(state.endPointSave) + if(state.endPointSave){ + const res = await apiCaller(state.endPointSave, "GET"); + if (res?.status) { + setListSchool(res?.data); + } + } + sessionStorage.removeItem('adminState'); + } + }, []); + + const saveCurrentState = () => { + const currentState = { + searchTextSchool, + provinceSelect, + districtSelect, + endPointSave, + }; + sessionStorage.setItem('adminState', JSON.stringify(currentState)); + }; + return (
diff --git a/src/_screens/home/headmaster/index.js b/src/_screens/home/headmaster/index.js index c30a642..523d383 100644 --- a/src/_screens/home/headmaster/index.js +++ b/src/_screens/home/headmaster/index.js @@ -197,6 +197,13 @@ export default function HeadmasterHome() {
+
+ { + history.goBack() + }}> + Quay lại + +

Mức độ hoàn thành của trường