Убраны лишние поля для предустановленных документов (description, кнопка Удалить)

This commit is contained in:
Fedor
2025-11-25 23:31:40 +03:00
parent f3b5771c09
commit 796316d969

View File

@@ -1000,15 +1000,11 @@ export default function StepWizardPlan({
const accept = docList.flatMap((doc) => doc.accept || []); const accept = docList.flatMap((doc) => doc.accept || []);
const uniqueAccept = Array.from(new Set(accept.length ? accept : ['pdf', 'jpg', 'png'])); const uniqueAccept = Array.from(new Set(accept.length ? accept : ['pdf', 'jpg', 'png']));
// Если документ предопределён (конкретный тип, не общий), не показываем лишние поля // Документ предопределён если у него есть id и он НЕ общий (не содержит _exist)
// Предопределённые документы: contract, payment, payment_confirmation и их вариации // Для предустановленных документов НЕ показываем поле описания и кнопку "Удалить"
const doc = docList[0]; const doc = docList[0];
const isPredefinedDoc = docList.length === 1 && doc && doc.id && const isPredefinedDoc = docList.length === 1 && doc && doc.id && !doc.id.includes('_exist');
!doc.id.includes('_exist') && const singleDocName = doc?.name || docLabel;
(doc.id === 'contract' || doc.id === 'payment' || doc.id === 'payment_confirmation' ||
doc.id.includes('contract') || doc.id.includes('payment') || doc.id.includes('receipt') ||
doc.id.includes('cheque') || doc.id.includes('чек'));
const singleDocName = isPredefinedDoc ? doc.name : null;
const isRequired = docList.some(doc => doc.required); const isRequired = docList.some(doc => doc.required);
const isSkipped = skippedDocuments.has(docId); const isSkipped = skippedDocuments.has(docId);
@@ -1046,7 +1042,9 @@ export default function StepWizardPlan({
}} }}
title={singleDocName || `${docLabel} — группа #${idx + 1}`} title={singleDocName || `${docLabel} — группа #${idx + 1}`}
extra={ extra={
currentBlocks.length > 1 && ( // Кнопка "Удалить" только если это дополнительный блок (idx > 0)
// Первый блок предустановленного документа удалять нельзя
(currentBlocks.length > 1 && idx > 0) && (
<Button <Button
type="link" type="link"
danger danger
@@ -1059,14 +1057,11 @@ export default function StepWizardPlan({
} }
> >
<Space direction="vertical" style={{ width: '100%' }}> <Space direction="vertical" style={{ width: '100%' }}>
{/* Поле описания показываем: {/* Поле описания показываем только для дополнительных блоков (idx > 0)
- ВСЕГДА если блоков > 1 (чтобы различать документы) или для общих документов (docs_exist) */}
- Или для необязательных/непредопределённых документов */} {(idx > 0 || !isPredefinedDoc) && (
{(currentBlocks.length > 1 || (!isPredefinedDoc && !isRequired)) && (
<Input <Input
placeholder={currentBlocks.length > 1 placeholder="Уточните тип документа (например: Претензия от 12.05)"
? "Уточните тип документа (например: Претензия, Ответ на претензию)"
: "Описание документов (например: договор от 12.05, платёжка №123)"}
value={block.description} value={block.description}
onChange={(e) => onChange={(e) =>
updateDocumentBlock(docId, block.id, { description: e.target.value }) updateDocumentBlock(docId, block.id, { description: e.target.value })