[CLAUDE] FE: PE detail flat layout — Panel 2 gop 3 section, Panel 3 them approvals + history
All checks were successful
Deploy SOLUTION_ERP / build-deploy (push) Successful in 2m59s
All checks were successful
Deploy SOLUTION_ERP / build-deploy (push) Successful in 2m59s
User request: 'cho tat ca cai nay the hien tren dung 1 man hinh nhe, cai duyet va lich su thi dua sang panel 3'. Panel 2 (PeDetailTabs): truoc 5 tab (Info/NCC/Items/Approvals/History). Sau bo tabs, flat render 3 section stack doc voi divider + title uppercase: Thong tin → NCC tham gia (N) → Hang muc + Bao gia (N) Panel 3 (PeWorkflowPanel): truoc chi workflow timeline + transition btn. Sau them 2 section ben duoi: Workflow timeline → Lich su duyet (PeApprovalsSection) → Lich su thay doi (PeHistorySection) Export PeApprovalsSection + PeHistorySection tu PeDetailTabs — reuse ApprovalsTab + HistoryTab logic cu, wrap them <h3> section title. Dong bo ca fe-admin + fe-user (copy identical file).
This commit is contained in:
@ -1,5 +1,7 @@
|
||||
// Panel 3: workflow + transition buttons. Pulls nextPhases từ BE bundle
|
||||
// (single source of truth) → render per-phase action button.
|
||||
// Panel 3: workflow timeline + transition buttons + approval history + changelog.
|
||||
// Pulls nextPhases từ BE bundle (single source of truth) → render per-phase
|
||||
// action button. Approvals + History moved here from PeDetailTabs (2 section
|
||||
// dưới cùng) để Panel 2 tập trung hiển thị nội dung phiếu (Info + NCC + Items).
|
||||
import { useState } from 'react'
|
||||
import { useMutation, useQueryClient } from '@tanstack/react-query'
|
||||
import { toast } from 'sonner'
|
||||
@ -16,6 +18,7 @@ import {
|
||||
PurchaseEvaluationPhaseLabel,
|
||||
type PeDetailBundle,
|
||||
} from '@/types/purchaseEvaluation'
|
||||
import { PeApprovalsSection, PeHistorySection } from './PeDetailTabs'
|
||||
|
||||
export function PeWorkflowPanel({ evaluation }: { evaluation: PeDetailBundle }) {
|
||||
const [target, setTarget] = useState<number | null>(null)
|
||||
@ -112,6 +115,14 @@ export function PeWorkflowPanel({ evaluation }: { evaluation: PeDetailBundle })
|
||||
<Textarea value={comment} onChange={e => setComment(e.target.value)} rows={3} />
|
||||
</Dialog>
|
||||
)}
|
||||
|
||||
<div className="border-t border-slate-200 pt-4">
|
||||
<PeApprovalsSection ev={evaluation} />
|
||||
</div>
|
||||
|
||||
<div className="border-t border-slate-200 pt-4">
|
||||
<PeHistorySection ev={evaluation} />
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user