Commit 74485741 authored by Merekeyev Dias's avatar Merekeyev Dias

fixed dictionary update

parent 7c1232a6
...@@ -9,7 +9,7 @@ interface InitialState { ...@@ -9,7 +9,7 @@ interface InitialState {
const initialState: InitialState = { const initialState: InitialState = {
currentPage: 1, currentPage: 1,
totalOrgNumber: 0, totalOrgNumber: 0,
ORG_NUMBER_PER_PAGE: 12 ORG_NUMBER_PER_PAGE: 11
} }
const mainPaginationSlice = createSlice({ const mainPaginationSlice = createSlice({
......
...@@ -72,7 +72,7 @@ export const CheckboxColumn: React.FC<{ data: DataType }> = ({ data }) => { ...@@ -72,7 +72,7 @@ export const CheckboxColumn: React.FC<{ data: DataType }> = ({ data }) => {
useEffect(() => { useEffect(() => {
setChecked(checkedCodes.includes(data.code)); setChecked(checkedCodes.includes(data.code));
}, [checkedCodes, data.code]); }, [checkedCodes]);
const handleCheck = (e: { target: { checked: any } }) => { const handleCheck = (e: { target: { checked: any } }) => {
const isChecked = e.target.checked; const isChecked = e.target.checked;
...@@ -89,6 +89,7 @@ export const CheckboxColumn: React.FC<{ data: DataType }> = ({ data }) => { ...@@ -89,6 +89,7 @@ export const CheckboxColumn: React.FC<{ data: DataType }> = ({ data }) => {
className='checkbox_org--custom' className='checkbox_org--custom'
checked={checked} checked={checked}
onChange={handleCheck} onChange={handleCheck}
id={`checkbox-${data.id}`}
/> />
); );
}; };
......
import React, { createRef, useEffect } from 'react'; import React, { createRef, useEffect, useState } from 'react';
import { useNavigate } from 'react-router'; import { useNavigate } from 'react-router';
import { useSelector, useDispatch } from 'react-redux'; import { useSelector, useDispatch } from 'react-redux';
import { Button, message, Pagination, Space, Spin, Table } from 'antd'; import { Button, message, Pagination, Space, Spin, Table } from 'antd';
...@@ -21,18 +21,24 @@ const HomePage: React.FC = () => { ...@@ -21,18 +21,24 @@ const HomePage: React.FC = () => {
const syncBtnState = useSelector((state: any) => state.syncBtn.disabled); const syncBtnState = useSelector((state: any) => state.syncBtn.disabled);
const checkedCodes = useSelector((state: any) => state.syncBtn.checkedCodes); const checkedCodes = useSelector((state: any) => state.syncBtn.checkedCodes);
const [updateDictionary] = useUpdateDictionaryMutation(); const [updateDictionary] = useUpdateDictionaryMutation();
const [isSyncLoading, setIsSyncLoading] = useState(false);
const handleAddClick = () => { const handleAddClick = () => {
navigate("/add"); navigate("/add");
}; };
const handleSyncClick = async () => { const handleSyncClick = async () => {
setIsSyncLoading(true);
try { try {
await updateDictionary(checkedCodes); console.log(checkedCodes);
dispatch(clearCheckedCodes()); await updateDictionary(checkedCodes).unwrap();
message.success('Организации успешны синхронизированы!') message.success('Организации успешны синхронизированы!')
} catch (err) { } catch (err) {
console.log(err);
message.error('Произошла ошибка при синхронизации организации!') message.error('Произошла ошибка при синхронизации организации!')
} finally {
dispatch(clearCheckedCodes());
setIsSyncLoading(false);
} }
}; };
...@@ -102,6 +108,8 @@ const HomePage: React.FC = () => { ...@@ -102,6 +108,8 @@ const HomePage: React.FC = () => {
className='add_title' className='add_title'
onClick={handleSyncClick} onClick={handleSyncClick}
disabled={syncBtnState} disabled={syncBtnState}
loading={isSyncLoading}
type='primary'
> >
Синхронизировать справочники Синхронизировать справочники
</Button> </Button>
...@@ -125,4 +133,4 @@ const HomePage: React.FC = () => { ...@@ -125,4 +133,4 @@ const HomePage: React.FC = () => {
); );
} }
export default HomePage; export default HomePage;
\ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment