diff --git a/src/food-market.web/src/pages/SupplyEditPage.tsx b/src/food-market.web/src/pages/SupplyEditPage.tsx
index c2528bb..e44cfbf 100644
--- a/src/food-market.web/src/pages/SupplyEditPage.tsx
+++ b/src/food-market.web/src/pages/SupplyEditPage.tsx
@@ -1,7 +1,7 @@
import { useState, useEffect, useRef, type FormEvent, type ReactNode } from 'react'
import { useNavigate, useParams, Link } from 'react-router-dom'
import { useQuery, useQueryClient, useMutation } from '@tanstack/react-query'
-import { ArrowLeft, Plus, Trash2, Save, CheckCircle } from 'lucide-react'
+import { ArrowLeft, Plus, Trash2, Save, CheckCircle, Undo2 } from 'lucide-react'
import { api } from '@/lib/api'
import { Button } from '@/components/Button'
import { Field, TextArea, Select, AsyncSelect, Checkbox, MoneyInput, NumberInput } from '@/components/Field'
@@ -216,6 +216,13 @@ export function SupplyEditPage() {
meta: { successMessage: 'Удалено' },
})
+ // «Создать на основании»: возврат поставщику с преднабором строк приёмки.
+ const createReturn = useMutation({
+ mutationFn: async () => (await api.post<{ id: string }>(`/api/purchases/supplier-returns/from-supply/${id}`)).data,
+ onSuccess: (d) => { if (d?.id) navigate(`/purchases/supplier-returns/${d.id}`) },
+ onError: (e: Error) => setError((e as { response?: { data?: { error?: string } } }).response?.data?.error ?? e.message),
+ })
+
const onSubmit = (e: FormEvent) => { e.preventDefault(); save.mutate() }
const addLineFromProduct = (p: Product) => {
@@ -326,6 +333,12 @@ export function SupplyEditPage() {
Удалить
)}
+ {isPosted && (
+
+ )}
{isDraft && (