Commit 20f64155 authored by Merekeyev Dias's avatar Merekeyev Dias

added blob link for xml, error_message

parent e55bd6b3
......@@ -24,26 +24,16 @@ export const organizationApiSlice = apiSlice.injectEndpoints({
}),
addNewOrganization: builder.mutation<Organization, Partial<Organization>>({
query: (initialOrg) => ({
<<<<<<< HEAD:src/features/api/apiSlice.tsx
url: '/save',
=======
url: 'organizations/save',
>>>>>>> e93810e4a59710e9f9329c2e9ad9fd0a34104287:src/features/api/organizationApiSlice.ts
method: 'POST',
body: initialOrg,
}),
invalidatesTags: ["organizations"],
}),
editOrganization: builder.mutation<Organization, Partial<Organization>>({
<<<<<<< HEAD:src/features/api/apiSlice.tsx
query: ({ ...rest }) => ({
url: `/save`,
method: 'POST',
=======
query: ({ id, ...rest }) => ({
url: `organizations/edit?id=${id}`,
method: 'PUT',
>>>>>>> e93810e4a59710e9f9329c2e9ad9fd0a34104287:src/features/api/organizationApiSlice.ts
body: rest,
}),
invalidatesTags: ["organizations"],
......
......@@ -21,10 +21,15 @@ interface RequestsResponse {
totalCount: number;
}
const getRequestsParams = {
pageNumber: 0,
pageSize: 30
}
export const requestApiSlice = apiSlice.injectEndpoints({
endpoints: (builder) => ({
getRequests: builder.query<RequestsResponse, void>({
query: () => 'requests/list?pageNumber=0&pageSize=30',
query: () => `requests/list?pageNumber=${getRequestsParams.pageNumber}&pageSize=${getRequestsParams.pageSize}`,
providesTags: ["requests"],
}),
addNewRequest: builder.mutation<Request, Partial<Request>>({
......
import React, { useEffect } from 'react';
import { useNavigate, useParams } from 'react-router';
import { Form, Input, Button, Select, message } from 'antd';
import { useAddNewOrganizationMutation, useEditOrganizationMutation, useGetOrganizationQuery } from '../../features/api/apiSlice';
import { useAddNewOrganizationMutation, useEditOrganizationMutation, useGetOrganizationQuery } from '../../features/api/organizationApiSlice';
import { setTotalOrgNumber, setCurrentPage } from '../../features/pagination/mainPagination';
import { useSelector, useDispatch } from 'react-redux';
import './style.css';
......
......@@ -6,6 +6,7 @@ import dayjs from 'dayjs';
export interface DataType {
id: number;
xml: string;
sendDate: string;
errorMessage: string;
resendDate: null;
......@@ -14,7 +15,6 @@ export interface DataType {
esutdOrganizationCode: string;
requestType: string;
documentID: string;
xml: string;
}
export const columns: TableProps<DataType>['columns'] = [
......@@ -27,6 +27,9 @@ export const columns: TableProps<DataType>['columns'] = [
title: "XML",
dataIndex: "xml",
key: "xml",
render: (_, record) => (
<Button type='link' onClick={() => openXMLInNewPage(record.xml)} style={{padding: 0}}>Открыть XML</Button>
),
},
{
title: "Дата отправки",
......@@ -40,7 +43,7 @@ export const columns: TableProps<DataType>['columns'] = [
{
title: "Код организации",
dataIndex: "orgCode",
key: "esutdOrganizationCode"
key: "esutdOrganizationCode",
},
{
title: "Метод",
......@@ -60,7 +63,10 @@ export const columns: TableProps<DataType>['columns'] = [
{
title: "Сообщение об ошибке",
dataIndex: "errorMessage",
key: "errorMessage"
key: "errorMessage",
render: (_, record) => (
<Button type='link' onClick={() => openXMLInNewPage(record.xml)} style={{padding: 0}}>Открыть сообщение</Button>
)
},
{
title: "Дата переотправки",
......@@ -77,13 +83,23 @@ export const columns: TableProps<DataType>['columns'] = [
width: 60,
render: (_, record) => {
return (
<ActionColumn data={record} />
<ResendColumn data={record} />
)
}
}
]
export const ActionColumn: React.FC<{ data: DataType }> = () => {
const openXMLInNewPage = (xmlContent: string) => {
const blob = new Blob([xmlContent], { type: 'application/xml' });
const url = URL.createObjectURL(blob);
const a = document.createElement('a');
a.href = url;
a.target = '_blank';
a.click();
URL.revokeObjectURL(url);
}
export const ResendColumn: React.FC<{ data: DataType }> = () => {
const [open, setOpen] = useState<boolean>(false);
const showResendModal = () => {
......@@ -110,7 +126,6 @@ export const ActionColumn: React.FC<{ data: DataType }> = () => {
<Modal
open={open}
title={`Вы уверены, что хотите переотправить?`}
// onOk={handleDeleteModalOk}
onCancel={handleResendModalCancel}
onOk={handleResendModalOk}
>
......
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