форматирование
This commit is contained in:
parent
3bc1acb1ad
commit
ad691d5158
@ -6,8 +6,6 @@
|
|||||||
border-radius: 999px !important;
|
border-radius: 999px !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* стили кастомного сегмента */
|
/* стили кастомного сегмента */
|
||||||
.customSegment .ant-segmented-item {
|
.customSegment .ant-segmented-item {
|
||||||
margin-right: 8px;
|
margin-right: 8px;
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
padding: 0 !important;
|
padding: 0 !important;
|
||||||
}
|
}
|
||||||
.appModal .ant-modal-header,
|
.appModal .ant-modal-header,
|
||||||
.appModal .ant-modal-body{
|
.appModal .ant-modal-body {
|
||||||
padding: 16px !important;
|
padding: 16px !important;
|
||||||
}
|
}
|
||||||
.appModal .ant-modal-footer {
|
.appModal .ant-modal-footer {
|
||||||
@ -16,4 +16,4 @@
|
|||||||
.appModal .ant-modal-close {
|
.appModal .ant-modal-close {
|
||||||
padding: 4px !important;
|
padding: 4px !important;
|
||||||
}
|
}
|
||||||
/* */
|
/* */
|
||||||
|
|||||||
@ -1,18 +1,13 @@
|
|||||||
import { Modal } from 'antd';
|
import { Modal } from 'antd';
|
||||||
import type { ModalProps } from 'antd';
|
import type { ModalProps } from 'antd';
|
||||||
import CustomModalCloseIcon from '../CustomModalCloseIcon';
|
import CustomModalCloseIcon from '../CustomModalCloseIcon';
|
||||||
import './AppModal.css'
|
import './AppModal.css';
|
||||||
export type AppModalProps = ModalProps ;
|
export type AppModalProps = ModalProps;
|
||||||
|
|
||||||
export function AppModal({ children, ...props }: AppModalProps) {
|
export function AppModal({ children, ...props }: AppModalProps) {
|
||||||
return (
|
return (
|
||||||
<Modal
|
<Modal className='appModal' centered={true} closeIcon={<CustomModalCloseIcon />} {...props}>
|
||||||
className='appModal'
|
{children}
|
||||||
centered={true}
|
</Modal>
|
||||||
closeIcon={<CustomModalCloseIcon />}
|
);
|
||||||
{...props}
|
}
|
||||||
>
|
|
||||||
{children}
|
|
||||||
</Modal>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|||||||
@ -55,7 +55,7 @@ export function DataTable<T extends Record<string, any>>({
|
|||||||
const opts: FilterOption[] = [];
|
const opts: FilterOption[] = [];
|
||||||
for (const r of allRows) {
|
for (const r of allRows) {
|
||||||
const v = r[key];
|
const v = r[key];
|
||||||
if (!seen.has(v) && (v !== null && v !== undefined)) {
|
if (!seen.has(v) && v !== null && v !== undefined) {
|
||||||
seen.add(v);
|
seen.add(v);
|
||||||
opts.push({ label: String(v), value: v });
|
opts.push({ label: String(v), value: v });
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,8 +2,8 @@ import { Form, Input, Select } from 'antd';
|
|||||||
import { useRef, useState } from 'react';
|
import { useRef, useState } from 'react';
|
||||||
import { ApiError, api } from '../../api/client';
|
import { ApiError, api } from '../../api/client';
|
||||||
import type { AdminUser, BusinessSegment, RegionalOffice, Role, UserCreate } from '../../api/types';
|
import type { AdminUser, BusinessSegment, RegionalOffice, Role, UserCreate } from '../../api/types';
|
||||||
import { useMountedRef, useNotifyError } from './hooks';
|
|
||||||
import { AppModal } from '../../components/AppModal/AppModal';
|
import { AppModal } from '../../components/AppModal/AppModal';
|
||||||
|
import { useMountedRef, useNotifyError } from './hooks';
|
||||||
|
|
||||||
type Props = {
|
type Props = {
|
||||||
open: boolean;
|
open: boolean;
|
||||||
|
|||||||
@ -18,8 +18,7 @@ export const ArchiveCompanyGroupModal: React.FC<Props> = ({ open, onCancel, onOk
|
|||||||
okText='Подтвердить'
|
okText='Подтвердить'
|
||||||
cancelText='Отмена'
|
cancelText='Отмена'
|
||||||
okButtonProps={isArchived ? undefined : { danger: true }}
|
okButtonProps={isArchived ? undefined : { danger: true }}
|
||||||
confirmLoading={loading}
|
confirmLoading={loading}>
|
||||||
>
|
|
||||||
<p style={{ margin: 0, color: '#595959' }}>
|
<p style={{ margin: 0, color: '#595959' }}>
|
||||||
{isArchived ? 'Группа компаний вернётся из архива в список действующих.' : 'Группа компаний будет перенесена в архив.'}
|
{isArchived ? 'Группа компаний вернётся из архива в список действующих.' : 'Группа компаний будет перенесена в архив.'}
|
||||||
</p>
|
</p>
|
||||||
|
|||||||
@ -3,11 +3,11 @@ import type React from 'react';
|
|||||||
import { useEffect, useState } from 'react';
|
import { useEffect, useState } from 'react';
|
||||||
import { ApiError } from '../../../api/client';
|
import { ApiError } from '../../../api/client';
|
||||||
import { useMe } from '../../../auth/useMe';
|
import { useMe } from '../../../auth/useMe';
|
||||||
|
import { AppModal } from '../../../components/AppModal/AppModal';
|
||||||
import { fetchOneCompanyGroup } from '../../../services/api/directories/company_groups';
|
import { fetchOneCompanyGroup } from '../../../services/api/directories/company_groups';
|
||||||
import type { CompanyGroupFormProps } from '../../../types/companyGroups/companyGroups';
|
import type { CompanyGroupFormProps } from '../../../types/companyGroups/companyGroups';
|
||||||
import { useNotificationApi } from '../../../utils/useNotification';
|
import { useNotificationApi } from '../../../utils/useNotification';
|
||||||
import { loadOffices } from '../../Admin/UsersTable';
|
import { loadOffices } from '../../Admin/UsersTable';
|
||||||
import { AppModal } from '../../../components/AppModal/AppModal';
|
|
||||||
|
|
||||||
type Props = {
|
type Props = {
|
||||||
open: boolean;
|
open: boolean;
|
||||||
|
|||||||
@ -2,6 +2,7 @@ import { Col, Form, Input, Row, Select } from 'antd';
|
|||||||
import type React from 'react';
|
import type React from 'react';
|
||||||
import { useEffect, useMemo, useState } from 'react';
|
import { useEffect, useMemo, useState } from 'react';
|
||||||
import { ApiError } from '../../../api/client';
|
import { ApiError } from '../../../api/client';
|
||||||
|
import { AppModal } from '../../../components/AppModal/AppModal';
|
||||||
import { fetchOneCatalogueJur } from '../../../services/api/directories/catalogue_jur';
|
import { fetchOneCatalogueJur } from '../../../services/api/directories/catalogue_jur';
|
||||||
import { fetchRelatedGroups } from '../../../services/api/directories/company_groups';
|
import { fetchRelatedGroups } from '../../../services/api/directories/company_groups';
|
||||||
import { useAppSelector } from '../../../store/store';
|
import { useAppSelector } from '../../../store/store';
|
||||||
@ -9,7 +10,6 @@ import type { RelatedGroupOut } from '../../../types/api';
|
|||||||
import type { CatalogueJurFormProps } from '../../../types/catalogueJur/catalogueJur';
|
import type { CatalogueJurFormProps } from '../../../types/catalogueJur/catalogueJur';
|
||||||
import { useNotificationApi } from '../../../utils/useNotification';
|
import { useNotificationApi } from '../../../utils/useNotification';
|
||||||
import { loadOffices } from '../../Admin/UsersTable';
|
import { loadOffices } from '../../Admin/UsersTable';
|
||||||
import { AppModal } from '../../../components/AppModal/AppModal';
|
|
||||||
|
|
||||||
type Props = {
|
type Props = {
|
||||||
open: boolean;
|
open: boolean;
|
||||||
|
|||||||
@ -4,12 +4,12 @@ import dayjs from 'dayjs';
|
|||||||
import type React from 'react';
|
import type React from 'react';
|
||||||
import { useEffect, useState } from 'react';
|
import { useEffect, useState } from 'react';
|
||||||
import { ApiError } from '../../../api/client';
|
import { ApiError } from '../../../api/client';
|
||||||
|
import { AppModal } from '../../../components/AppModal/AppModal';
|
||||||
import { fetchOneCatalogueJur } from '../../../services/api/directories/catalogue_jur';
|
import { fetchOneCatalogueJur } from '../../../services/api/directories/catalogue_jur';
|
||||||
import { getCompanyGroupsThunk } from '../../../store/slices/companyGroupsSlice/thunks';
|
import { getCompanyGroupsThunk } from '../../../store/slices/companyGroupsSlice/thunks';
|
||||||
import { useAppDispatch, useAppSelector } from '../../../store/store';
|
import { useAppDispatch, useAppSelector } from '../../../store/store';
|
||||||
import type { MoveCatalogueJurProps } from '../../../types/catalogueJur/catalogueJur';
|
import type { MoveCatalogueJurProps } from '../../../types/catalogueJur/catalogueJur';
|
||||||
import { useNotificationApi } from '../../../utils/useNotification';
|
import { useNotificationApi } from '../../../utils/useNotification';
|
||||||
import { AppModal } from '../../../components/AppModal/AppModal';
|
|
||||||
|
|
||||||
type FormValues = {
|
type FormValues = {
|
||||||
name: string;
|
name: string;
|
||||||
|
|||||||
@ -5,10 +5,10 @@ import dayjs from 'dayjs';
|
|||||||
import type React from 'react';
|
import type React from 'react';
|
||||||
import { useEffect, useState } from 'react';
|
import { useEffect, useState } from 'react';
|
||||||
import { ApiError } from '../../../api/client';
|
import { ApiError } from '../../../api/client';
|
||||||
|
import { AppModal } from '../../../components/AppModal/AppModal';
|
||||||
import { fetchOneCatalogueJur } from '../../../services/api/directories/catalogue_jur';
|
import { fetchOneCatalogueJur } from '../../../services/api/directories/catalogue_jur';
|
||||||
import type { WithdrawCatalogueJurProps } from '../../../types/catalogueJur/catalogueJur';
|
import type { WithdrawCatalogueJurProps } from '../../../types/catalogueJur/catalogueJur';
|
||||||
import { useNotificationApi } from '../../../utils/useNotification';
|
import { useNotificationApi } from '../../../utils/useNotification';
|
||||||
import { AppModal } from '../../../components/AppModal/AppModal';
|
|
||||||
|
|
||||||
interface FormValues extends WithdrawCatalogueJurProps {
|
interface FormValues extends WithdrawCatalogueJurProps {
|
||||||
name: string;
|
name: string;
|
||||||
|
|||||||
@ -2,10 +2,10 @@ import { DownloadOutlined } from '@ant-design/icons';
|
|||||||
import { Table, message } from 'antd';
|
import { Table, message } from 'antd';
|
||||||
import { useEffect, useMemo, useState } from 'react';
|
import { useEffect, useMemo, useState } from 'react';
|
||||||
import { ApiError } from '../../api/client';
|
import { ApiError } from '../../api/client';
|
||||||
|
import { AppModal } from '../../components/AppModal/AppModal';
|
||||||
import { getChecklist } from '../../services/api/consolidations';
|
import { getChecklist } from '../../services/api/consolidations';
|
||||||
import type { ChecklistBackendShape, IVersionCard } from '../../types/consolidations/version_members';
|
import type { ChecklistBackendShape, IVersionCard } from '../../types/consolidations/version_members';
|
||||||
import { buildChecklistColumns, buildChecklistRows, getMarksItems } from './checklist_utils';
|
import { buildChecklistColumns, buildChecklistRows, getMarksItems } from './checklist_utils';
|
||||||
import { AppModal } from '../../components/AppModal/AppModal';
|
|
||||||
|
|
||||||
type ChecklistProps = {
|
type ChecklistProps = {
|
||||||
open: boolean;
|
open: boolean;
|
||||||
|
|||||||
@ -1,12 +1,12 @@
|
|||||||
import { Alert, Button, Input, Skeleton, message } from 'antd';
|
import { Alert, Button, Input, Skeleton, message } from 'antd';
|
||||||
import { useCallback, useEffect, useRef, useState } from 'react';
|
import { useCallback, useEffect, useRef, useState } from 'react';
|
||||||
import { ApiError } from '../../api/client';
|
import { ApiError } from '../../api/client';
|
||||||
|
import { AppModal } from '../../components/AppModal/AppModal';
|
||||||
import { useBeforeUnload } from '../../hooks/useBeforeUnload';
|
import { useBeforeUnload } from '../../hooks/useBeforeUnload';
|
||||||
import { getVersionCard, lockVersion } from '../../services/api/consolidations';
|
import { getVersionCard, lockVersion } from '../../services/api/consolidations';
|
||||||
import type { LockOut } from '../../types/consolidations/common_types';
|
import type { LockOut } from '../../types/consolidations/common_types';
|
||||||
import { MAX_REASON_LENGTH, endSentence, isValidReason } from '../../utils/consolidations';
|
import { MAX_REASON_LENGTH, endSentence, isValidReason } from '../../utils/consolidations';
|
||||||
import { quarterShortLabel } from '../../utils/labels';
|
import { quarterShortLabel } from '../../utils/labels';
|
||||||
import { AppModal } from '../../components/AppModal/AppModal';
|
|
||||||
|
|
||||||
type LockModalProps = {
|
type LockModalProps = {
|
||||||
versionId: string | null;
|
versionId: string | null;
|
||||||
|
|||||||
@ -3,6 +3,7 @@ import { Button, Checkbox, Input, Modal, Table, message } from 'antd';
|
|||||||
import type { TableColumnsType } from 'antd';
|
import type { TableColumnsType } from 'antd';
|
||||||
import { useEffect, useRef, useState } from 'react';
|
import { useEffect, useRef, useState } from 'react';
|
||||||
import { ApiError } from '../../api/client';
|
import { ApiError } from '../../api/client';
|
||||||
|
import { AppModal } from '../../components/AppModal/AppModal';
|
||||||
import { getVersionCard, lockVersion } from '../../services/api/consolidations';
|
import { getVersionCard, lockVersion } from '../../services/api/consolidations';
|
||||||
import { getCounterpartyCandidates, mapCounterparty } from '../../services/api/osv';
|
import { getCounterpartyCandidates, mapCounterparty } from '../../services/api/osv';
|
||||||
import type { CandidateOut, CandidateScope, ConsolidatedRowOut, RefOut } from '../../types/api';
|
import type { CandidateOut, CandidateScope, ConsolidatedRowOut, RefOut } from '../../types/api';
|
||||||
@ -19,7 +20,6 @@ import {
|
|||||||
mapResultText,
|
mapResultText,
|
||||||
pairCandidateRows,
|
pairCandidateRows,
|
||||||
} from './counterpartyMapping';
|
} from './counterpartyMapping';
|
||||||
import { AppModal } from '../../components/AppModal/AppModal';
|
|
||||||
|
|
||||||
const SEARCH_DELAY_MS = 300;
|
const SEARCH_DELAY_MS = 300;
|
||||||
|
|
||||||
|
|||||||
@ -2,6 +2,7 @@ import { WarningOutlined } from '@ant-design/icons';
|
|||||||
import { Button, Segmented, Tooltip } from 'antd';
|
import { Button, Segmented, Tooltip } from 'antd';
|
||||||
import { useEffect, useRef, useState } from 'react';
|
import { useEffect, useRef, useState } from 'react';
|
||||||
import { useLocation, useNavigate, useParams } from 'react-router-dom';
|
import { useLocation, useNavigate, useParams } from 'react-router-dom';
|
||||||
|
import { AppModal } from '../../components/AppModal/AppModal';
|
||||||
import { getOsvSummary } from '../../services/api/osv';
|
import { getOsvSummary } from '../../services/api/osv';
|
||||||
import type { CounterPairOut, OsvSummaryOut } from '../../types/api';
|
import type { CounterPairOut, OsvSummaryOut } from '../../types/api';
|
||||||
import type { ConsStatus } from '../../types/consolidations/common_types';
|
import type { ConsStatus } from '../../types/consolidations/common_types';
|
||||||
@ -13,7 +14,6 @@ import {
|
|||||||
resolveLeaveAfterFetch,
|
resolveLeaveAfterFetch,
|
||||||
} from '../../utils/consolidations';
|
} from '../../utils/consolidations';
|
||||||
import { pairsViewSearch } from './counterPairs';
|
import { pairsViewSearch } from './counterPairs';
|
||||||
import { AppModal } from '../../components/AppModal/AppModal';
|
|
||||||
|
|
||||||
const TAB_CONFIG = [
|
const TAB_CONFIG = [
|
||||||
{ key: 'osv', label: 'ОСВ' },
|
{ key: 'osv', label: 'ОСВ' },
|
||||||
|
|||||||
@ -45,12 +45,7 @@ type Props = {
|
|||||||
|
|
||||||
export const CreateEntityPickerModal: React.FC<Props> = ({ open, onCancel, onSelect }) => {
|
export const CreateEntityPickerModal: React.FC<Props> = ({ open, onCancel, onSelect }) => {
|
||||||
return (
|
return (
|
||||||
<AppModal
|
<AppModal title='Выберите объект для добавления' open={open} onCancel={onCancel} footer={null} destroyOnHidden>
|
||||||
title='Выберите объект для добавления'
|
|
||||||
open={open}
|
|
||||||
onCancel={onCancel}
|
|
||||||
footer={null}
|
|
||||||
destroyOnHidden>
|
|
||||||
<div className='options'>
|
<div className='options'>
|
||||||
{OPTIONS.map((opt) => (
|
{OPTIONS.map((opt) => (
|
||||||
<button key={opt.key} type='button' className='optionCard' onClick={() => onSelect(opt.key)}>
|
<button key={opt.key} type='button' className='optionCard' onClick={() => onSelect(opt.key)}>
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
import { Alert, Button, Input, Space, Tooltip, Typography } from 'antd';
|
import { Alert, Button, Input, Space, Tooltip, Typography } from 'antd';
|
||||||
import { useState } from 'react';
|
import { useState } from 'react';
|
||||||
|
import { AppModal } from '../../components/AppModal/AppModal';
|
||||||
import type { ChecksOut, FailedCheckOut } from '../../types/api';
|
import type { ChecksOut, FailedCheckOut } from '../../types/api';
|
||||||
import { expectedActualText, failureKey, failureText } from './checkText';
|
import { expectedActualText, failureKey, failureText } from './checkText';
|
||||||
import { AppModal } from '../../components/AppModal/AppModal';
|
|
||||||
|
|
||||||
type Props = {
|
type Props = {
|
||||||
checks: ChecksOut;
|
checks: ChecksOut;
|
||||||
|
|||||||
@ -1,9 +1,9 @@
|
|||||||
import { Button, Tooltip, Typography, message, theme } from 'antd';
|
import { Button, Tooltip, Typography, message, theme } from 'antd';
|
||||||
import { type ReactNode, useState } from 'react';
|
import { type ReactNode, useState } from 'react';
|
||||||
import { ApiError } from '../../api/client';
|
import { ApiError } from '../../api/client';
|
||||||
|
import { AppModal } from '../../components/AppModal/AppModal';
|
||||||
import { removeFile } from '../../services/api/files';
|
import { removeFile } from '../../services/api/files';
|
||||||
import type { DocumentRow } from './documentRows';
|
import type { DocumentRow } from './documentRows';
|
||||||
import { AppModal } from '../../components/AppModal/AppModal';
|
|
||||||
|
|
||||||
const { Text } = Typography;
|
const { Text } = Typography;
|
||||||
|
|
||||||
@ -57,12 +57,7 @@ export default function DeleteReasonModal({ targetRow, open, onCancel, onDelete,
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
return (
|
return (
|
||||||
<AppModal
|
<AppModal title='Удаление документа' open={open} onCancel={onCancel} footer={null} destroyOnHidden>
|
||||||
title='Удаление документа'
|
|
||||||
open={open}
|
|
||||||
onCancel={onCancel}
|
|
||||||
footer={null}
|
|
||||||
destroyOnHidden>
|
|
||||||
<div style={{ display: 'flex', flexDirection: 'column', gap: 12 }}>
|
<div style={{ display: 'flex', flexDirection: 'column', gap: 12 }}>
|
||||||
<p style={{ color: '#667085', margin: 0 }}>Выберите причину удаления документа «{targetRow.name}»</p>
|
<p style={{ color: '#667085', margin: 0 }}>Выберите причину удаления документа «{targetRow.name}»</p>
|
||||||
<p style={{ color: 'red', fontSize: 11, margin: 0 }}>Будет удален/заменён сам файл и все его документы</p>
|
<p style={{ color: 'red', fontSize: 11, margin: 0 }}>Будет удален/заменён сам файл и все его документы</p>
|
||||||
|
|||||||
@ -3,8 +3,8 @@ import { Alert, Button, Typography, Upload, message } from 'antd';
|
|||||||
import type { UploadFile } from 'antd/es/upload/interface';
|
import type { UploadFile } from 'antd/es/upload/interface';
|
||||||
import { useState } from 'react';
|
import { useState } from 'react';
|
||||||
import { ApiError } from '../../api/client';
|
import { ApiError } from '../../api/client';
|
||||||
import { summarizeUpload, uploadFiles } from '../../services/api/files';
|
|
||||||
import { AppModal } from '../../components/AppModal/AppModal';
|
import { AppModal } from '../../components/AppModal/AppModal';
|
||||||
|
import { summarizeUpload, uploadFiles } from '../../services/api/files';
|
||||||
|
|
||||||
type Props = {
|
type Props = {
|
||||||
legalEntityId: string;
|
legalEntityId: string;
|
||||||
|
|||||||
@ -3,6 +3,7 @@ import { Col, Form, Row, Select, message } from 'antd';
|
|||||||
import type React from 'react';
|
import type React from 'react';
|
||||||
import { useEffect, useMemo, useRef, useState } from 'react';
|
import { useEffect, useMemo, useRef, useState } from 'react';
|
||||||
import { ApiError } from '../../api/client';
|
import { ApiError } from '../../api/client';
|
||||||
|
import { AppModal } from '../../components/AppModal/AppModal';
|
||||||
import { useBeforeUnload } from '../../hooks/useBeforeUnload';
|
import { useBeforeUnload } from '../../hooks/useBeforeUnload';
|
||||||
import { fetchAllLegalEntities, fetchRelatedGroup, fetchRelatedGroups } from '../../services/api/directories/company_groups';
|
import { fetchAllLegalEntities, fetchRelatedGroup, fetchRelatedGroups } from '../../services/api/directories/company_groups';
|
||||||
import { getCompanyGroupsThunk } from '../../store/slices/companyGroupsSlice/thunks';
|
import { getCompanyGroupsThunk } from '../../store/slices/companyGroupsSlice/thunks';
|
||||||
@ -11,7 +12,6 @@ import type { ConsolidationCreate, LegalEntityBrief, Quarter, RelatedGroupOut }
|
|||||||
import { MIN_PERIMETER } from '../../utils/consolidations';
|
import { MIN_PERIMETER } from '../../utils/consolidations';
|
||||||
import { CompanyMultiSelect } from './CompanyOptionRow';
|
import { CompanyMultiSelect } from './CompanyOptionRow';
|
||||||
import { membersFirst, preselectMembers } from './preselect';
|
import { membersFirst, preselectMembers } from './preselect';
|
||||||
import { AppModal } from '../../components/AppModal/AppModal';
|
|
||||||
|
|
||||||
type Props = {
|
type Props = {
|
||||||
open: boolean;
|
open: boolean;
|
||||||
|
|||||||
@ -4,12 +4,12 @@ import dayjs from 'dayjs';
|
|||||||
import type React from 'react';
|
import type React from 'react';
|
||||||
import { useEffect, useMemo, useState } from 'react';
|
import { useEffect, useMemo, useState } from 'react';
|
||||||
import { ApiError } from '../../../api/client';
|
import { ApiError } from '../../../api/client';
|
||||||
|
import { AppModal } from '../../../components/AppModal/AppModal';
|
||||||
import { fetchRelatedGroup } from '../../../services/api/directories/company_groups';
|
import { fetchRelatedGroup } from '../../../services/api/directories/company_groups';
|
||||||
import { getCompanyGroupsThunk } from '../../../store/slices/companyGroupsSlice/thunks';
|
import { getCompanyGroupsThunk } from '../../../store/slices/companyGroupsSlice/thunks';
|
||||||
import { useAppDispatch, useAppSelector } from '../../../store/store';
|
import { useAppDispatch, useAppSelector } from '../../../store/store';
|
||||||
import type { RelatedGroupFormType } from '../../../types/relatedGroup/relatedGroup';
|
import type { RelatedGroupFormType } from '../../../types/relatedGroup/relatedGroup';
|
||||||
import { useNotificationApi } from '../../../utils/useNotification';
|
import { useNotificationApi } from '../../../utils/useNotification';
|
||||||
import { AppModal } from '../../../components/AppModal/AppModal';
|
|
||||||
|
|
||||||
type Props = {
|
type Props = {
|
||||||
open: boolean;
|
open: boolean;
|
||||||
@ -109,8 +109,7 @@ export const RelatedGroupForm: React.FC<Props> = ({ open, onCancel, onOk, relate
|
|||||||
cancelText='Отмена'
|
cancelText='Отмена'
|
||||||
destroyOnHidden
|
destroyOnHidden
|
||||||
loading={initialDataLoading}
|
loading={initialDataLoading}
|
||||||
confirmLoading={confirmLoading}
|
confirmLoading={confirmLoading}>
|
||||||
>
|
|
||||||
<Form form={form} layout='vertical'>
|
<Form form={form} layout='vertical'>
|
||||||
<FormItem name='crm_id' label='ID в CRM'>
|
<FormItem name='crm_id' label='ID в CRM'>
|
||||||
<Input />
|
<Input />
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
import { Form, Input, Select, message } from 'antd';
|
import { Form, Input, Select, message } from 'antd';
|
||||||
import { useState } from 'react';
|
import { useState } from 'react';
|
||||||
import { ApiError } from '../../api/client';
|
import { ApiError } from '../../api/client';
|
||||||
|
import { AppModal } from '../../components/AppModal/AppModal';
|
||||||
import { TableTag } from '../../components/TableTag/TableTag';
|
import { TableTag } from '../../components/TableTag/TableTag';
|
||||||
import { useBeforeUnload } from '../../hooks/useBeforeUnload';
|
import { useBeforeUnload } from '../../hooks/useBeforeUnload';
|
||||||
import { updateStatus } from '../../services/api/consolidations';
|
import { updateStatus } from '../../services/api/consolidations';
|
||||||
@ -9,7 +10,6 @@ import type { ConsStatus } from '../../types/consolidations/common_types';
|
|||||||
import type { VersionCard } from '../../types/consolidations/version_members';
|
import type { VersionCard } from '../../types/consolidations/version_members';
|
||||||
import { CONS_STATUS_LABEL, MAX_REASON_LENGTH, canSubmitStatusChange, manualTransitions } from '../../utils/consolidations';
|
import { CONS_STATUS_LABEL, MAX_REASON_LENGTH, canSubmitStatusChange, manualTransitions } from '../../utils/consolidations';
|
||||||
import { statusColorMapping } from '../ConsoleTable/consts';
|
import { statusColorMapping } from '../ConsoleTable/consts';
|
||||||
import { AppModal } from '../../components/AppModal/AppModal';
|
|
||||||
|
|
||||||
type StatusModalProps = {
|
type StatusModalProps = {
|
||||||
open: boolean;
|
open: boolean;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user