feat: подсправочники — отображение в форме задачи, фильтрация и отображение значений

This commit is contained in:
2026-07-15 10:56:25 +03:00
parent f560facabd
commit 9c6eaa5dcf
8 changed files with 238 additions and 13 deletions

View File

@@ -17,6 +17,7 @@ import GeoField from '@/components/GeoField';
import ContractNumberField from '@/components/ContractNumberField';
import TableFieldSelect from '@/components/TableFieldSelect';
import TableFieldMultiSelect from '@/components/TableFieldMultiSelect';
import TableFieldWithSubdirectory from '@/components/TableFieldWithSubdirectory';
import ContactField from '@/components/ContactField';
import { SearchableSelect } from '@/components/fields/SearchableSelect';
import { SearchableMultiSelect } from '@/components/fields/SearchableMultiSelect';
@@ -592,7 +593,22 @@ export function CreateTaskFormContent({
</div>
);
}
case 'table':
case 'table': {
const opts = formField.options && !Array.isArray(formField.options) ? (formField.options as Record<string, any>) : {};
const showSubdirectory = !!opts.showSubdirectory;
if (showSubdirectory) {
return (
<TableFieldWithSubdirectory
fieldId={formField.id}
fieldCode={formField.code}
placeholder={formField.placeholder}
options={formField.options}
value={field.value}
onChange={field.onChange}
allowMultiple={formField.allowMultiple || false}
/>
);
}
if (formField.allowMultiple) {
return (
<TableFieldMultiSelect
@@ -615,6 +631,7 @@ export function CreateTaskFormContent({
onChange={field.onChange}
/>
);
}
case 'task':
return (
<TaskFieldSelect