форматирование

This commit is contained in:
Grog 2026-10-30 10:27:43 +03:00
parent 0cb395f5e7
commit 4e657925f8
21 changed files with 46 additions and 53 deletions

View File

@ -6,42 +6,41 @@
border-radius: 999px !important;
}
/* кастомные стили для модального окна */
.ant-modal-container{
.ant-modal-container {
padding: 0 !important;
}
.ant-modal-header, .ant-modal-body, .ant-modal-footer{
.ant-modal-header,
.ant-modal-body,
.ant-modal-footer {
padding: 16px !important;
}
.ant-modal-header{
border-bottom: 1px solid #f0f0f0 !important;
.ant-modal-header {
border-bottom: 1px solid #f0f0f0 !important;
}
.ant-modal-close{
.ant-modal-close {
padding: 4px !important;
}
/* */
/* стили кастомного сегмента */
.customSegment .ant-segmented-item{
.customSegment .ant-segmented-item {
margin-right: 8px;
padding: 5px 8px;
}
.customSegment .ant-segmented-item-selected {
background-color: #ecfdf3 !important;
color: #1f5f35 !important;
box-shadow: inset 0 0 0 1px #2ea64b38 !important;
background-color: #ecfdf3 !important;
color: #1f5f35 !important;
box-shadow: inset 0 0 0 1px #2ea64b38 !important;
}
.customSegment .ant-segmented-thumb {
background-color: #ecfdf3 !important;
box-shadow: inset 0 0 0 1px #2ea64b38 !important;
background-color: #ecfdf3 !important;
box-shadow: inset 0 0 0 1px #2ea64b38 !important;
}
.customSegment .ant-segmented-item:focus-visible {
outline: none !important;
outline: none !important;
}
/* */

View File

@ -92,7 +92,7 @@ export function ConsolidationPage() {
display: 'flex',
flexDirection: 'column',
minHeight: 0,
borderRadius:12
borderRadius: 12,
}}>
{/* после «Взять в работу» перечитываем и панель «Организации»: в ней «Ответственный» */}
<ConsoleTableWidget onVersionLocked={() => setReloadKey((k) => k + 1)} />
@ -107,7 +107,7 @@ export function ConsolidationPage() {
display: 'flex',
flexDirection: 'column',
minHeight: 0,
borderRadius:12
borderRadius: 12,
}}>
<ConsoleLegalEntitiesTable reloadKey={reloadKey} onDrawerOpen={setPanelEntity} />
</div>

View File

@ -2,8 +2,8 @@ import { Form, Input, Modal, Select } from 'antd';
import { useRef, useState } from 'react';
import { ApiError, api } from '../../api/client';
import type { AdminUser, BusinessSegment, RegionalOffice, Role, UserCreate } from '../../api/types';
import { useMountedRef, useNotifyError } from './hooks';
import CustomModalCloseIcon from '../../components/CustomModalCloseIcon';
import { useMountedRef, useNotifyError } from './hooks';
type Props = {
open: boolean;

View File

@ -21,7 +21,7 @@ export const ArchiveCompanyGroupModal: React.FC<Props> = ({ open, onCancel, onOk
okButtonProps={isArchived ? undefined : { danger: true }}
confirmLoading={loading}
centered
closeIcon={<CustomModalCloseIcon/>}>
closeIcon={<CustomModalCloseIcon />}>
<p style={{ margin: 0, color: '#595959' }}>
{isArchived ? 'Группа компаний вернётся из архива в список действующих.' : 'Группа компаний будет перенесена в архив.'}
</p>

View File

@ -3,11 +3,11 @@ import type React from 'react';
import { useEffect, useState } from 'react';
import { ApiError } from '../../../api/client';
import { useMe } from '../../../auth/useMe';
import CustomModalCloseIcon from '../../../components/CustomModalCloseIcon';
import { fetchOneCompanyGroup } from '../../../services/api/directories/company_groups';
import type { CompanyGroupFormProps } from '../../../types/companyGroups/companyGroups';
import { useNotificationApi } from '../../../utils/useNotification';
import { loadOffices } from '../../Admin/UsersTable';
import CustomModalCloseIcon from '../../../components/CustomModalCloseIcon';
type Props = {
open: boolean;
@ -112,7 +112,7 @@ export const CompanyGroupForm: React.FC<Props> = ({ open, onCancel, onOk, compan
confirmLoading={confirmLoading}
width={720}
centered
closeIcon={<CustomModalCloseIcon/>}>
closeIcon={<CustomModalCloseIcon />}>
<Form form={form} layout='vertical'>
<Form.Item name='name' label='Название ГК' rules={[{ required: true, message: 'Укажите название ГК' }]}>
<Input placeholder='Например: Агроком' />

View File

@ -2,6 +2,7 @@ import { Col, Form, Input, Modal, Row, Select } from 'antd';
import type React from 'react';
import { useEffect, useMemo, useState } from 'react';
import { ApiError } from '../../../api/client';
import CustomModalCloseIcon from '../../../components/CustomModalCloseIcon';
import { fetchOneCatalogueJur } from '../../../services/api/directories/catalogue_jur';
import { fetchRelatedGroups } from '../../../services/api/directories/company_groups';
import { useAppSelector } from '../../../store/store';
@ -9,7 +10,6 @@ import type { RelatedGroupOut } from '../../../types/api';
import type { CatalogueJurFormProps } from '../../../types/catalogueJur/catalogueJur';
import { useNotificationApi } from '../../../utils/useNotification';
import { loadOffices } from '../../Admin/UsersTable';
import CustomModalCloseIcon from '../../../components/CustomModalCloseIcon';
type Props = {
open: boolean;
@ -166,7 +166,7 @@ export const CatalogueJurForm: React.FC<Props> = ({ open, onCancel, onOk, jurId
confirmLoading={confirmLoading}
loading={initialDataLoading}
centered
closeIcon={<CustomModalCloseIcon/>}>
closeIcon={<CustomModalCloseIcon />}>
<Form form={form} layout='vertical'>
<Row gutter={16}>
<Col span={6}>

View File

@ -4,12 +4,12 @@ import dayjs from 'dayjs';
import type React from 'react';
import { useEffect, useState } from 'react';
import { ApiError } from '../../../api/client';
import CustomModalCloseIcon from '../../../components/CustomModalCloseIcon';
import { fetchOneCatalogueJur } from '../../../services/api/directories/catalogue_jur';
import { getCompanyGroupsThunk } from '../../../store/slices/companyGroupsSlice/thunks';
import { useAppDispatch, useAppSelector } from '../../../store/store';
import type { MoveCatalogueJurProps } from '../../../types/catalogueJur/catalogueJur';
import { useNotificationApi } from '../../../utils/useNotification';
import CustomModalCloseIcon from '../../../components/CustomModalCloseIcon';
type FormValues = {
name: string;
@ -97,7 +97,7 @@ export const MoveCatalogueJurForm: React.FC<Props> = ({ open, onCancel, onOk, ju
loading={initialDataLoading}
confirmLoading={confirmLoading}
centered
closeIcon={<CustomModalCloseIcon/>}>
closeIcon={<CustomModalCloseIcon />}>
<Form form={form} layout='vertical'>
<FormItem name='name' label='ЮЛ'>
<Input disabled />

View File

@ -5,10 +5,10 @@ import dayjs from 'dayjs';
import type React from 'react';
import { useEffect, useState } from 'react';
import { ApiError } from '../../../api/client';
import CustomModalCloseIcon from '../../../components/CustomModalCloseIcon';
import { fetchOneCatalogueJur } from '../../../services/api/directories/catalogue_jur';
import type { WithdrawCatalogueJurProps } from '../../../types/catalogueJur/catalogueJur';
import { useNotificationApi } from '../../../utils/useNotification';
import CustomModalCloseIcon from '../../../components/CustomModalCloseIcon';
interface FormValues extends WithdrawCatalogueJurProps {
name: string;
@ -89,7 +89,8 @@ export const WithdrawCatalogueJurForm: React.FC<Props> = ({ open, onCancel, onOk
loading={initialDataLoading}
confirmLoading={confirmLoading}
okButtonProps={{ danger: true }}
centered closeIcon={<CustomModalCloseIcon/>}>
centered
closeIcon={<CustomModalCloseIcon />}>
<Form form={form} layout='vertical'>
<FormItem name='name' label='ЮЛ'>
<Input disabled />

View File

@ -2,10 +2,10 @@ import { DownloadOutlined } from '@ant-design/icons';
import { Modal, Table, message } from 'antd';
import { useEffect, useMemo, useState } from 'react';
import { ApiError } from '../../api/client';
import CustomModalCloseIcon from '../../components/CustomModalCloseIcon';
import { getChecklist } from '../../services/api/consolidations';
import type { ChecklistBackendShape, IVersionCard } from '../../types/consolidations/version_members';
import { buildChecklistColumns, buildChecklistRows, getMarksItems } from './checklist_utils';
import CustomModalCloseIcon from '../../components/CustomModalCloseIcon';
type ChecklistProps = {
open: boolean;

View File

@ -98,7 +98,7 @@ export function ConsoleLegalEntitiesTable({ onDrawerOpen, reloadKey }: { onDrawe
color: '#667085',
justifyContent: 'center',
borderTop: '1px solid #f1f5f9',
borderRadius:12,
borderRadius: 12,
}}>
Выберите консолидацию выше
</div>

View File

@ -1,12 +1,12 @@
import { Alert, Button, Input, Modal, Skeleton, message } from 'antd';
import { useCallback, useEffect, useRef, useState } from 'react';
import { ApiError } from '../../api/client';
import CustomModalCloseIcon from '../../components/CustomModalCloseIcon';
import { useBeforeUnload } from '../../hooks/useBeforeUnload';
import { getVersionCard, lockVersion } from '../../services/api/consolidations';
import type { LockOut } from '../../types/consolidations/common_types';
import { MAX_REASON_LENGTH, endSentence, isValidReason } from '../../utils/consolidations';
import { quarterShortLabel } from '../../utils/labels';
import CustomModalCloseIcon from '../../components/CustomModalCloseIcon';
type LockModalProps = {
versionId: string | null;

View File

@ -3,6 +3,7 @@ import { Button, Checkbox, Input, Modal, Table, message } from 'antd';
import type { TableColumnsType } from 'antd';
import { useEffect, useRef, useState } from 'react';
import { ApiError } from '../../api/client';
import CustomModalCloseIcon from '../../components/CustomModalCloseIcon';
import { getVersionCard, lockVersion } from '../../services/api/consolidations';
import { getCounterpartyCandidates, mapCounterparty } from '../../services/api/osv';
import type { CandidateOut, CandidateScope, ConsolidatedRowOut, RefOut } from '../../types/api';
@ -19,7 +20,6 @@ import {
mapResultText,
pairCandidateRows,
} from './counterpartyMapping';
import CustomModalCloseIcon from '../../components/CustomModalCloseIcon';
const SEARCH_DELAY_MS = 300;

View File

@ -2,6 +2,7 @@ import { WarningOutlined } from '@ant-design/icons';
import { Button, Modal, Segmented, Tooltip } from 'antd';
import { useEffect, useRef, useState } from 'react';
import { useLocation, useNavigate, useParams } from 'react-router-dom';
import CustomModalCloseIcon from '../../components/CustomModalCloseIcon';
import { getOsvSummary } from '../../services/api/osv';
import type { CounterPairOut, OsvSummaryOut } from '../../types/api';
import type { ConsStatus } from '../../types/consolidations/common_types';
@ -13,7 +14,6 @@ import {
resolveLeaveAfterFetch,
} from '../../utils/consolidations';
import { pairsViewSearch } from './counterPairs';
import CustomModalCloseIcon from '../../components/CustomModalCloseIcon';
const TAB_CONFIG = [
{ key: 'osv', label: 'ОСВ' },

View File

@ -1,8 +1,8 @@
import { Alert, Button, Input, Modal, Space, Tooltip, Typography } from 'antd';
import { useState } from 'react';
import CustomModalCloseIcon from '../../components/CustomModalCloseIcon';
import type { ChecksOut, FailedCheckOut } from '../../types/api';
import { expectedActualText, failureKey, failureText } from './checkText';
import CustomModalCloseIcon from '../../components/CustomModalCloseIcon';
type Props = {
checks: ChecksOut;
@ -95,8 +95,7 @@ export function ChecksPanel({ checks, editable, dirty, onAccept, onShow }: Props
cancelText='Отмена'
confirmLoading={saving}
centered
closeIcon={<CustomModalCloseIcon />}
closeIcon={<CustomModalCloseIcon />}
okButtonProps={{ disabled: comment.trim().length === 0 }}
onOk={submit}
onCancel={() => setOpen(false)}>

View File

@ -1,9 +1,9 @@
import { Button, Modal, Tooltip, Typography, message, theme } from 'antd';
import { type ReactNode, useState } from 'react';
import { ApiError } from '../../api/client';
import CustomModalCloseIcon from '../../components/CustomModalCloseIcon';
import { removeFile } from '../../services/api/files';
import type { DocumentRow } from './documentRows';
import CustomModalCloseIcon from '../../components/CustomModalCloseIcon';
const { Text } = Typography;

View File

@ -37,8 +37,7 @@ export default function ReplaceDocModal({ open, docName, organizationName, submi
icon: <UploadOutlined />,
disabled: file === null || reason.trim().length === 0,
}}
closeIcon={<CustomModalCloseIcon />}
closeIcon={<CustomModalCloseIcon />}
centered
confirmLoading={submitting}>
<div style={{ display: 'flex', flexDirection: 'column', gap: 12 }}>

View File

@ -3,8 +3,8 @@ import { Alert, Button, Modal, Typography, Upload, message } from 'antd';
import type { UploadFile } from 'antd/es/upload/interface';
import { useState } from 'react';
import { ApiError } from '../../api/client';
import { summarizeUpload, uploadFiles } from '../../services/api/files';
import CustomModalCloseIcon from '../../components/CustomModalCloseIcon';
import { summarizeUpload, uploadFiles } from '../../services/api/files';
type Props = {
legalEntityId: string;
@ -60,8 +60,7 @@ export function UploadDocumentsModal({ legalEntityId, consolidationId, organizat
disabled: !summary && fileList.length === 0,
style: { background: summary || fileList.length > 0 ? '#237804' : undefined },
}}
closeIcon={<CustomModalCloseIcon />}
closeIcon={<CustomModalCloseIcon />}
centered
cancelText='Отмена'
confirmLoading={uploading}

View File

@ -3,6 +3,7 @@ import { Col, Form, Modal, Row, Select, message } from 'antd';
import type React from 'react';
import { useEffect, useMemo, useRef, useState } from 'react';
import { ApiError } from '../../api/client';
import CustomModalCloseIcon from '../../components/CustomModalCloseIcon';
import { useBeforeUnload } from '../../hooks/useBeforeUnload';
import { fetchAllLegalEntities, fetchRelatedGroup, fetchRelatedGroups } from '../../services/api/directories/company_groups';
import { getCompanyGroupsThunk } from '../../store/slices/companyGroupsSlice/thunks';
@ -11,7 +12,6 @@ import type { ConsolidationCreate, LegalEntityBrief, Quarter, RelatedGroupOut }
import { MIN_PERIMETER } from '../../utils/consolidations';
import { CompanyMultiSelect } from './CompanyOptionRow';
import { membersFirst, preselectMembers } from './preselect';
import CustomModalCloseIcon from '../../components/CustomModalCloseIcon';
type Props = {
open: boolean;
@ -159,8 +159,7 @@ export const NewConsolidationModal: React.FC<Props> = ({ open, onCancel, onOk })
destroyOnHidden
width={640}
centered
closeIcon={<CustomModalCloseIcon />}
>
closeIcon={<CustomModalCloseIcon />}>
<Form form={form} requiredMark={false} layout='vertical' preserve={false} initialValues={{ legal_entity_ids: [] }}>
<Row gutter={16}>
<Col span={12}>

View File

@ -20,8 +20,7 @@ export const DeleteRelatedGroupModal: React.FC<Props> = ({ open, onCancel, onOk,
cancelText='Отмена'
okButtonProps={{ danger: true }}
confirmLoading={loading}
closeIcon={<CustomModalCloseIcon />}
closeIcon={<CustomModalCloseIcon />}
centered>
<p style={{ margin: 0, color: '#595959' }}>Группа связанных {kind === 'gsk' ? 'компаний' : 'заёмщиков'} будет удалена.</p>
</Modal>

View File

@ -4,12 +4,12 @@ import dayjs from 'dayjs';
import type React from 'react';
import { useEffect, useMemo, useState } from 'react';
import { ApiError } from '../../../api/client';
import CustomModalCloseIcon from '../../../components/CustomModalCloseIcon';
import { fetchRelatedGroup } from '../../../services/api/directories/company_groups';
import { getCompanyGroupsThunk } from '../../../store/slices/companyGroupsSlice/thunks';
import { useAppDispatch, useAppSelector } from '../../../store/store';
import type { RelatedGroupFormType } from '../../../types/relatedGroup/relatedGroup';
import { useNotificationApi } from '../../../utils/useNotification';
import CustomModalCloseIcon from '../../../components/CustomModalCloseIcon';
type Props = {
open: boolean;
@ -110,10 +110,8 @@ export const RelatedGroupForm: React.FC<Props> = ({ open, onCancel, onOk, relate
destroyOnHidden
loading={initialDataLoading}
confirmLoading={confirmLoading}
closeIcon={<CustomModalCloseIcon />}
centered
>
closeIcon={<CustomModalCloseIcon />}
centered>
<Form form={form} layout='vertical'>
<FormItem name='crm_id' label='ID в CRM'>
<Input />

View File

@ -1,6 +1,7 @@
import { Form, Input, Modal, Select, message } from 'antd';
import { useState } from 'react';
import { ApiError } from '../../api/client';
import CustomModalCloseIcon from '../../components/CustomModalCloseIcon';
import { TableTag } from '../../components/TableTag/TableTag';
import { useBeforeUnload } from '../../hooks/useBeforeUnload';
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 { CONS_STATUS_LABEL, MAX_REASON_LENGTH, canSubmitStatusChange, manualTransitions } from '../../utils/consolidations';
import { statusColorMapping } from '../ConsoleTable/consts';
import CustomModalCloseIcon from '../../components/CustomModalCloseIcon';
type StatusModalProps = {
open: boolean;
@ -66,7 +66,7 @@ export default function ChangeStatusModal({ open, card, onClose, onSuccess }: St
onCancel={() => !submitting && onClose()}
destroyOnHidden
centered
closeIcon={<CustomModalCloseIcon/>}>
closeIcon={<CustomModalCloseIcon />}>
<div style={{ display: 'flex', alignItems: 'center', gap: 8, marginBottom: 16 }}>
<span style={{ color: '#667085' }}>Текущий этап</span>
<TableTag text={currentLabel} {...statusColorMapping[currentLabel]} />