diff --git a/client/src/components/ContractNumberField.tsx b/client/src/components/ContractNumberField.tsx index 6ce476d..dae6c23 100644 --- a/client/src/components/ContractNumberField.tsx +++ b/client/src/components/ContractNumberField.tsx @@ -11,6 +11,7 @@ import { } from "@/components/ui/select"; import { apiRequest } from "@/lib/queryClient"; import { useQuery } from "@tanstack/react-query"; +import { cn } from "@/lib/utils"; import { FileSignature, Loader2 } from "lucide-react"; export interface ContractNumberValue { @@ -33,6 +34,7 @@ interface ContractNumberFieldProps { config?: ContractNumberConfig; formId?: number; fieldId?: number; + compact?: boolean; } function parseValue(val: ContractNumberValue | string | undefined): ContractNumberValue { @@ -54,6 +56,7 @@ export default function ContractNumberField({ config, formId, fieldId, + compact = false, }: ContractNumberFieldProps) { const parsed = parseValue(value); const [mode, setMode] = useState<'mine' | 'customer'>(parsed.mode); @@ -127,35 +130,39 @@ export default function ContractNumberField({ const isGenerated = !!(parsed.mode === 'mine' && parsed.value && parsed.value !== ''); return ( -
-
- handleModeChange(checked ? 'mine' : 'customer')} - disabled={disabled || isGenerated} - /> - -
+
+
+
+ handleModeChange(checked ? 'mine' : 'customer')} + disabled={disabled || isGenerated} + /> + +
- +
+ +
+
{mode === 'customer' ? ( handleCustomerChange(e.target.value)} placeholder="Введите шифр заказчика" disabled={disabled} + className={cn(compact && 'h-7 leading-6 px-2')} /> ) : (
-
+
{isGenerated ? ( {parsed.value} diff --git a/client/src/components/fields/FieldOverlay.tsx b/client/src/components/fields/FieldOverlay.tsx index 857ffc1..b53a61c 100644 --- a/client/src/components/fields/FieldOverlay.tsx +++ b/client/src/components/fields/FieldOverlay.tsx @@ -42,7 +42,7 @@ export function FieldOverlay({ return createPortal(
{ const inputClass = cn( - 'border border-input rounded px-1.5 py-0.5 text-sm bg-background focus:outline-none focus:ring-1 focus:ring-ring w-full max-w-[280px]', + 'border border-input rounded px-1.5 text-sm bg-background focus:outline-none focus:ring-1 focus:ring-ring w-full max-w-[280px] h-7 leading-6', errorMessage && 'border-destructive ring-destructive' ); const textareaClass = cn( @@ -1160,6 +1160,7 @@ function FieldValueRow({ config={cnConfig} formId={formId} fieldId={field.id} + compact />
); @@ -1295,6 +1296,7 @@ function FieldValueRow({ const readViewNode = renderReadValue(); const editorNode = renderEditor(); const canShowInlineEditor = isGlobalEditMode && isEditable && !fieldState.immutable && !readOnly && editorNode != null; + const isContractNumberField = field.type === 'contract-number'; return canShowInlineEditor ? (