Ticket form: new stack + description step

This commit is contained in:
AI Assistant
2025-11-14 19:06:36 +03:00
parent 3d121054ab
commit 3306d01e0d
16 changed files with 488 additions and 73 deletions

View File

@@ -1,6 +1,7 @@
import { useState, useMemo, useCallback } from 'react';
import { Steps, Card, message, Row, Col } from 'antd';
import Step1Phone from '../components/form/Step1Phone';
import StepDescription from '../components/form/StepDescription';
import Step1Policy from '../components/form/Step1Policy';
import Step2EventType from '../components/form/Step2EventType';
import StepDocumentUpload from '../components/form/StepDocumentUpload';
@@ -9,6 +10,8 @@ import DebugPanel from '../components/DebugPanel';
import { getDocumentsForEventType } from '../constants/documentConfigs';
import './ClaimForm.css';
const API_BASE_URL = import.meta.env.VITE_API_URL || 'http://localhost:8200';
const { Step } = Steps;
interface FormData {
@@ -23,6 +26,7 @@ interface FormData {
session_id?: string;
project_id?: string; // ✅ ID проекта в vTiger (полис)
is_new_project?: boolean; // ✅ Флаг: создан новый проект
problemDescription?: string;
// Шаг 3: Event Type
eventType?: string;
@@ -117,7 +121,7 @@ export default function ClaimForm() {
try {
addDebugEvent('form', 'info', '📤 Отправка заявки на сервер');
const response = await fetch('http://147.45.146.17:8100/api/v1/claims/create', {
const response = await fetch(`${API_BASE_URL}/api/v1/claims/create`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
@@ -183,7 +187,21 @@ export default function ClaimForm() {
),
});
// Шаг 2: Policy (всегда)
// Шаг 2: свободное описание
stepsArray.push({
title: 'Описание',
description: 'Что случилось?',
content: (
<StepDescription
formData={formData}
updateFormData={updateFormData}
onPrev={prevStep}
onNext={nextStep}
/>
),
});
// Шаг 3: Policy (всегда)
stepsArray.push({
title: 'Проверка полиса',
description: 'Полис ERV',
@@ -197,7 +215,7 @@ export default function ClaimForm() {
),
});
// Шаг 3: Event Type Selection (всегда)
// Шаг 4: Event Type Selection (всегда)
stepsArray.push({
title: 'Тип события',
description: 'Выбор случая',