Commit b2c55c72 authored by Merekeyev Dias's avatar Merekeyev Dias

refactor api, slice

parent b7dd0273
......@@ -2,7 +2,7 @@
<html lang="en">
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
<link rel="icon" type="image/svg+xml" href="/img/favicon.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>ЕСУТД</title>
</head>
......
<svg version="1.2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 67 65" width="134" height="130">
<title>image</title>
<defs>
<image width="67" height="65" id="img1" href="data:image/png;base64,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"/>
</defs>
<style>
</style>
<use id="Background" href="#img1" x="0" y="0"/>
</svg>
\ No newline at end of file
......@@ -4,7 +4,7 @@ import { useDispatch, useSelector } from 'react-redux';
import { Button, Space, Tag, Modal, Checkbox, message } from 'antd';
import type { TableProps } from 'antd';
import { useDeleteOrganizationMutation } from '@/api/organizationApi';
import { useDeleteOrganizationMutation } from '@/store/api/organizationApi';
import { addCheckedCode, removeCheckedCode } from '@/store/slices/syncBtnSlice';
import { setCurrentPage } from '@/store/slices/mainPaginationSlice';
import { getStatusText, getStatusColor } from './utils';
......
......@@ -4,8 +4,8 @@ import { useSelector, useDispatch } from 'react-redux';
import { Button, message, Space, Table } from 'antd';
import { TableRef } from 'antd/es/table';
import { useGetOrganizationsQuery } from '@/api/organizationApi';
import { useUpdateDictionaryMutation } from '@/api/manualApi';
import { useGetOrganizationsQuery } from '@/store/api/organizationApi';
import { useUpdateDictionaryMutation } from '@/store/api/manualApi';
import { setCurrentPage, setTotalOrgNumber } from '@/store/slices/mainPaginationSlice';
import { setDisabled, clearCheckedCodes } from '@/store/slices/syncBtnSlice';
import { DataType, columns } from './Columns';
......
......@@ -3,7 +3,7 @@ import { useNavigate, useParams } from 'react-router';
import { useSelector, useDispatch } from 'react-redux';
import { Form, Input, Button, Select, message } from 'antd';
import { useEditOrganizationMutation, useGetOrganizationQuery, useGetOrganizationsQuery } from '@/api/organizationApi';
import { useEditOrganizationMutation, useGetOrganizationQuery, useGetOrganizationsQuery } from '@/store/api/organizationApi';
import { setTotalOrgNumber, setCurrentPage } from '@/store/slices/mainPaginationSlice';
import './ManageOrganization.css';
......@@ -64,6 +64,7 @@ const ManageOrganization: React.FC = () => {
await editOrganization({ ...normalizedValues }).unwrap();
message.success('Организация успешно обновлена!');
} else {
await editOrganization({ ...normalizedValues }).unwrap();
message.success('Организация успешно добавлена!');
dispatch(setTotalOrgNumber(totalOrgNumber + 1));
const newCurrentPage = Math.ceil((totalOrgNumber + 1) / ORG_NUMBER_PER_PAGE);
......
......@@ -90,15 +90,23 @@ export const columns: TableProps<DataType>['columns'] = [
title: "Сообщение об ошибке",
dataIndex: "errorMessage",
key: "errorMessage",
width: '1%',
width: '5%',
render: (_, record) => (
<Button
className={styles.data_interchange_btn}
type='link'
onClick={() => openXMLInNewPage(record.xml)}
<div className={styles.data_interchange_btnGroup}>
<Button
className={styles.data_interchange_btn}
type='link'
onClick={() => openXMLInNewPage(record.errorMessage)}
>
Открыть сообщение
</Button>
Открыть
</Button>
<Button
className={styles.data_interchange_btn}
type='link'
onClick={() => downloadXML(record.errorMessage, record.id)}
icon={<span className='material-icons text-125'>download</span>}
/>
</div>
)
},
{
......
......@@ -6,7 +6,7 @@ dayjs.extend(isBetween);
import { DatePicker, Select, Button, Table } from 'antd';
import { TableRef } from 'antd/es/table';
import { useGetRequestsQuery } from '@/api/requestApi';
import { useGetRequestsQuery } from '@/store/api/requestApi';
import { setCurrentPage, setTotalReqNumber } from '@/store/slices/reqPaginationSlice'
import { columns, DataType } from './Columns';
import styles from './RequestPage.module.css';
......@@ -127,10 +127,11 @@ const RequestPage: React.FC = () => {
if (isLoading) {
setIsTableLoading(true);
} else if (isSuccess) {
setIsTableLoading(false);
setData(reqs.list);
dispatch(setTotalReqNumber(reqs.list.length));
setDates([dayjs(min), dayjs(max)]);
} else if (isError) {
setIsTableLoading(false);
}
}, [isSuccess, reqs, dispatch]);
......
import { createApi, fetchBaseQuery } from '@reduxjs/toolkit/query/react';
import { RootState } from '../main';
import { RootState } from '@/main';
import { notification } from 'antd';
const baseQuery = fetchBaseQuery({
......@@ -12,7 +12,6 @@ const baseQuery = fetchBaseQuery({
}
headers.set("Accept", "*/*");
return headers;
},
});
......
......@@ -2,7 +2,7 @@ import { configureStore, Store, createSlice, PayloadAction } from '@reduxjs/tool
import storage from 'redux-persist/lib/storage';
import { persistReducer, persistStore } from 'redux-persist';
import { apiSlice } from '../api/mainApi';
import { apiSlice } from './api/mainApi';
import mainPaginationReducer from './slices/mainPaginationSlice';
import reqPaginationReducer from './slices/reqPaginationSlice';
import syncBtnReducer from './slices/syncBtnSlice';
......@@ -51,5 +51,4 @@ const store: Store = configureStore({
const persistor = persistStore(store);
export { store, persistor };
export { store, persistor };
\ 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