[CLAUDE] FE-User: YC-030 Q1/Q2/Q3 — my-contracts layout KHKK-thuần (ContractListPanel) + panel duyệt 3 món + máy duyệt về panel-3 (5 host ×2 app)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@ -4,6 +4,7 @@
|
||||
import { useQuery } from '@tanstack/react-query'
|
||||
import { useNavigate, useParams } from 'react-router-dom'
|
||||
import { ContractDetailContent } from '@/components/contracts/ContractDetailContent'
|
||||
import { ContractWorkflowPanel } from '@/components/contracts/ContractWorkflowPanel'
|
||||
import { WorkflowHistoryPanel } from '@/components/contracts/WorkflowHistoryPanel'
|
||||
import { api } from '@/lib/api'
|
||||
import type { ContractDetail } from '@/types/contracts'
|
||||
@ -27,7 +28,14 @@ export function ContractDetailPage() {
|
||||
<div className="lg:col-span-2">
|
||||
<ContractDetailContent contract={detail.data} onBack={() => navigate(-1)} />
|
||||
</div>
|
||||
<aside>
|
||||
<aside className="space-y-4">
|
||||
{/* [WQ3b S190 · YC-030 Q5] Máy duyệt V2 dời từ ContractDetailContent ra host —
|
||||
vị trí cột-cạnh khuôn KHKK, không nhân đôi bộ nút. */}
|
||||
{detail.data.approvalWorkflowId != null && (
|
||||
<section className="rounded-lg border border-brand-200 bg-white p-5">
|
||||
<ContractWorkflowPanel contract={detail.data} />
|
||||
</section>
|
||||
)}
|
||||
<WorkflowHistoryPanel contract={detail.data} />
|
||||
</aside>
|
||||
</div>
|
||||
|
||||
@ -16,6 +16,7 @@ import { useQuery } from '@tanstack/react-query'
|
||||
import { useNavigate, useSearchParams } from 'react-router-dom'
|
||||
import { FileText, Search } from 'lucide-react'
|
||||
import { ContractDetailContent } from '@/components/contracts/ContractDetailContent'
|
||||
import { ContractWorkflowPanel } from '@/components/contracts/ContractWorkflowPanel'
|
||||
import { WorkflowHistoryPanel } from '@/components/contracts/WorkflowHistoryPanel'
|
||||
import { PipelineTreePanel } from '@/components/pipeline/PipelineTreePanel'
|
||||
import { PhaseBadge } from '@/components/PhaseBadge'
|
||||
@ -263,7 +264,17 @@ export function ContractsListPage() {
|
||||
{/* [gate F-1/F-2] Panel-3 TỰ CUỘN ⇒ thân cây `lg:max-h-none` giữ đúng 1 thanh cuộn;
|
||||
sticky/self-start của khuôn vô hiệu ở host display:block này — by-design. */}
|
||||
{!selectedId && <PipelineTreePanel currentStage={3} bodyMaxHClass="max-h-[28rem] lg:max-h-none" />}
|
||||
{selectedId && detail.data && <WorkflowHistoryPanel contract={detail.data} />}
|
||||
{selectedId && detail.data && (
|
||||
<div className="space-y-4">
|
||||
{/* [WQ3b S190 · YC-030 Q5] Máy duyệt V2 dời từ ContractDetailContent ra host. */}
|
||||
{detail.data.approvalWorkflowId != null && (
|
||||
<section className="rounded-lg border border-brand-200 bg-white p-5">
|
||||
<ContractWorkflowPanel contract={detail.data} />
|
||||
</section>
|
||||
)}
|
||||
<WorkflowHistoryPanel contract={detail.data} />
|
||||
</div>
|
||||
)}
|
||||
</aside>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user