Show procurement project editor in request detail modal
All checks were successful
Deploy production / deploy (push) Successful in 15m39s
All checks were successful
Deploy production / deploy (push) Successful in 15m39s
This commit is contained in:
parent
8be419c03b
commit
f29e7413c1
@ -15,7 +15,6 @@ import { ProjectSelectMenu } from "@/components/ui/ProjectSelectMenu";
|
||||
import { useUser } from "@/contexts/UserContext";
|
||||
import Link from "next/link";
|
||||
import { ProcurementRequestDetailContent } from "@/components/procurement/ProcurementRequestDetailContent";
|
||||
import ProcurementProjectsQuickEditor from "@/components/procurement/ProcurementProjectsQuickEditor";
|
||||
import { ProcurementTaskLinks } from "@/components/procurement/ProcurementTaskLinks";
|
||||
import ProcurementStatsPanel from "@/components/procurement/ProcurementStatsPanel";
|
||||
import ProcurementSuppliersPanel from "@/components/procurement/ProcurementSuppliersPanel";
|
||||
@ -2027,18 +2026,6 @@ export default function ProcurementPage() {
|
||||
</span>
|
||||
) : null}
|
||||
</div>
|
||||
<div className="mt-3">
|
||||
<ProcurementProjectsQuickEditor
|
||||
key={selectedRequest.id}
|
||||
request={selectedRequest}
|
||||
onSaved={async () => {
|
||||
await Promise.all([
|
||||
refreshOne(selectedRequest.id),
|
||||
loadPage1(),
|
||||
]);
|
||||
}}
|
||||
/>
|
||||
</div>
|
||||
<p className="app-text-wrap mt-2 text-sm text-[var(--foreground)]">
|
||||
<span className="app-text-muted">Описание: </span>
|
||||
{selectedRequest.description || "—"}
|
||||
@ -2132,6 +2119,10 @@ export default function ProcurementPage() {
|
||||
currentUserId={user?.id}
|
||||
request={selectedRequest}
|
||||
displayUserName={displayUserName}
|
||||
onProjectsSaved={async () => {
|
||||
await refreshOne(selectedRequest.id);
|
||||
await loadPage1();
|
||||
}}
|
||||
canProcessItems={Boolean(
|
||||
selectedRequest.can_current_user_process_items,
|
||||
)}
|
||||
@ -2971,6 +2962,10 @@ export default function ProcurementPage() {
|
||||
currentUserId={user?.id}
|
||||
request={resolvedDetail}
|
||||
displayUserName={displayUserName}
|
||||
onProjectsSaved={async () => {
|
||||
await refreshOne(resolvedDetail.id);
|
||||
await loadPage1();
|
||||
}}
|
||||
canProcessItems={Boolean(
|
||||
resolvedDetail.can_current_user_process_items,
|
||||
)}
|
||||
@ -3228,6 +3223,10 @@ export default function ProcurementPage() {
|
||||
currentUserId={user?.id}
|
||||
request={selectedRequest}
|
||||
displayUserName={displayUserName}
|
||||
onProjectsSaved={async () => {
|
||||
await refreshOne(selectedRequest.id);
|
||||
await loadPage1();
|
||||
}}
|
||||
canProcessItems={Boolean(
|
||||
selectedRequest.can_current_user_process_items,
|
||||
)}
|
||||
|
||||
@ -25,6 +25,7 @@ import {
|
||||
import { RequestAvatar } from "@/components/requests/RequestAvatar";
|
||||
import { ProcurementCommentAttachment } from "@/components/procurement/ProcurementCommentAttachment";
|
||||
import { ProcurementRequestHistory } from "@/components/procurement/ProcurementRequestHistory";
|
||||
import ProcurementProjectsQuickEditor from "@/components/procurement/ProcurementProjectsQuickEditor";
|
||||
import {
|
||||
CommentComposer,
|
||||
CommentDeleteButton,
|
||||
@ -53,6 +54,7 @@ interface ProcurementRequestDetailContentProps {
|
||||
fallbackEmail?: string | null,
|
||||
) => string;
|
||||
canProcessItems?: boolean;
|
||||
onProjectsSaved?: () => Promise<void>;
|
||||
busyKey?: string | null;
|
||||
canDeleteAnyComment?: boolean;
|
||||
onUpdateItem?: (
|
||||
@ -1861,6 +1863,7 @@ export function ProcurementRequestDetailContent({
|
||||
request,
|
||||
displayUserName,
|
||||
canProcessItems = false,
|
||||
onProjectsSaved,
|
||||
busyKey,
|
||||
canDeleteAnyComment = false,
|
||||
onUpdateItem,
|
||||
@ -1990,6 +1993,15 @@ export function ProcurementRequestDetailContent({
|
||||
<div
|
||||
className={wideLayout ? "procurement-detail-layout-grid" : "space-y-3"}
|
||||
>
|
||||
{onProjectsSaved ? (
|
||||
<div className={wideLayout ? "procurement-detail-layout-full" : ""}>
|
||||
<ProcurementProjectsQuickEditor
|
||||
key={request.id}
|
||||
request={request}
|
||||
onSaved={onProjectsSaved}
|
||||
/>
|
||||
</div>
|
||||
) : null}
|
||||
{!wideLayout ? (
|
||||
<div className="app-surface rounded-xl p-4">
|
||||
<p className="text-sm font-semibold text-[var(--foreground)]">
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user