|
|
|
@ -35,6 +35,7 @@ export default function CriteriaManage() { |
|
|
|
|
const [statusCriteriaSelected, setStatusCriteriaSelected] = useState(listStatusCriteria[0]); |
|
|
|
|
const [isLoading, setIsLoading] = useState(false); |
|
|
|
|
const [isFiltered, setIsFiltered] = useState(false); |
|
|
|
|
const [endPointSave, setendPointSave] = useState(null) |
|
|
|
|
const dispatch = useDispatch(); |
|
|
|
|
const changeProvince = (item) => { |
|
|
|
|
setProvinceSelect(item); |
|
|
|
@ -84,6 +85,7 @@ export default function CriteriaManage() { |
|
|
|
|
); |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
saveCurrentState() |
|
|
|
|
history.push( |
|
|
|
|
PATH.criteria.setting + |
|
|
|
|
`?schoolList=${encodeURIComponent(JSON.stringify(listIdSelected))}`, |
|
|
|
@ -117,7 +119,7 @@ export default function CriteriaManage() { |
|
|
|
|
// await setSearchText("");
|
|
|
|
|
// await changeProvince(listProvince[0]);
|
|
|
|
|
// await setStatusCriteriaSelected(listStatusCriteria[0]);
|
|
|
|
|
getDataCriteria(); |
|
|
|
|
// getDataCriteria();
|
|
|
|
|
} |
|
|
|
|
} catch (err) { |
|
|
|
|
dispatch( |
|
|
|
@ -162,20 +164,10 @@ export default function CriteriaManage() { |
|
|
|
|
} |
|
|
|
|
addParam('school_name', searchText); |
|
|
|
|
|
|
|
|
|
const obj = queryParams.reduce((acc, curr) => { |
|
|
|
|
const [key, value] = curr.split('='); |
|
|
|
|
acc[key] = value; |
|
|
|
|
return acc; |
|
|
|
|
}, {}); |
|
|
|
|
|
|
|
|
|
dispatch({ |
|
|
|
|
type: TYPE_DISPATCH.SET_FILTER_CRITERIA, |
|
|
|
|
payload: obj, |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
const endPoint = `/report/api_report/getOrganizationAndCriteria${ |
|
|
|
|
isFilter && queryParams.length ? `?${queryParams.join("&")}` : "" |
|
|
|
|
}`;
|
|
|
|
|
setendPointSave(endPoint) |
|
|
|
|
const res = await apiCaller(endPoint, "GET"); |
|
|
|
|
if (res?.status) { |
|
|
|
|
setListData(res?.data); |
|
|
|
@ -247,9 +239,8 @@ export default function CriteriaManage() { |
|
|
|
|
|
|
|
|
|
useEffect(() => { |
|
|
|
|
getProvinceList(); |
|
|
|
|
// getDataCriteria();
|
|
|
|
|
}, []); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const isDisabled = () => |
|
|
|
|
!( |
|
|
|
|
searchText || |
|
|
|
@ -257,6 +248,39 @@ export default function CriteriaManage() { |
|
|
|
|
districtSelect.value || |
|
|
|
|
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([]); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
sessionStorage.removeItem('criteriaManageState'); |
|
|
|
|
} |
|
|
|
|
}, []); |
|
|
|
|
|
|
|
|
|
const saveCurrentState = () => { |
|
|
|
|
const currentState = { |
|
|
|
|
searchText, |
|
|
|
|
listIdSelected, |
|
|
|
|
provinceSelect, |
|
|
|
|
districtSelect, |
|
|
|
|
statusCriteriaSelected, |
|
|
|
|
endPointSave, |
|
|
|
|
}; |
|
|
|
|
sessionStorage.setItem('criteriaManageState', JSON.stringify(currentState)); |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
return ( |
|
|
|
|
<div className="flex-1"> |
|
|
|
|