[CLAUDE] FE-User: tab strip 4 giai doan tren phieu PE + menu 4-GD + danh so 01-07 nhom HD (UAT anh Kiet)
All checks were successful
Deploy SOLUTION_ERP / build-deploy (push) Successful in 5m44s

- PePipelineStrip moi (mirror x2 app md5-identical): Duyet NCC | Ke hoach ky ket HD | Duyet hop dong | Hop dong cung — chen dau PeDetailTabs (GD1 active)
- Menu 4-GD: rename 2 root (PurchaseEvaluations->Duyet NCC, Contracts->Duyet hop dong) + 2 root placeholder KeHoachKyKet/HopDongCung (ngoai MenuKeys.All, staticMap -> /dashboard) — prod da SQL truc tiep cung ngay, seeder+labelBackfill giu hoi tu (gotcha #11)
- Danh so 01.-07. nhom HD: prod prepend-only 0-VN-over-wire (renamed=7), seeder typeLabels + labelBackfill 7 entry
- Dong bo nhan 4-GD tren dashboard (3 title + 3 group aria)
- reviewKeys += 2 placeholder CanRead-only; test 562 PASS; build fe x2 PASS

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
pqhuy1987
2026-07-29 12:06:19 +07:00
parent b2a86feab6
commit 1a47a61c21
8 changed files with 190 additions and 18 deletions

View File

@ -2,9 +2,9 @@
// [S159 2026-07-29 — owner chốt qua AskUser] Hero = dải pipeline 4 GIAI ĐOẠN xuyên
// suốt quy trình mua sắm → ký kết hợp đồng:
// GĐ1 Duyệt NCC (bước 1 → 6, CEO chốt) 🟢 LIVE — module PE
// GĐ2 Đề xuất ký kết hợp đồng (bước 7 → 12) ⏳ sắp triển khai
// GĐ3 Duyệt Hợp đồng (bước 13 → 18) 🟢 LIVE — module Contract
// GĐ4 Ký cứng & phát hành (bước 19 → 21) ⏳ sắp triển khai
// GĐ2 Kế hoạch ký kết HĐ (bước 7 → 12) ⏳ sắp triển khai
// GĐ3 Duyệt hợp đồng (bước 13 → 18) 🟢 LIVE — module Contract
// GĐ4 Hợp đồng cứng (bước 19 → 21) ⏳ sắp triển khai
// Dưới hero GIỮ nguyên KPI cá nhân + 2 danh sách gần đây (chỉ redesign cho hài hoà).
// fe-user ONLY — KHÔNG mirror sang fe-admin (trang này là UX riêng của user).
//
@ -473,7 +473,7 @@ export function UserDashboardPage() {
<StageArrow />
{/* GĐ2 — sắp triển khai */}
<StageCard index={2} title="Đề xuất ký kết hợp đồng" stepRange="Bước 7 → 12" icon={FileSignature}>
<StageCard index={2} title="Kế hoạch ký kết HĐ" stepRange="Bước 7 → 12" icon={FileSignature}>
<StageSoon
description="Phiếu nối tiếp từ phiếu Duyệt NCC đã duyệt — chốt giá trị ký kết."
hint={
@ -489,14 +489,14 @@ export function UserDashboardPage() {
{/* GĐ3 — LIVE */}
<StageCard
index={3}
title="Duyệt Hợp đồng"
title="Duyệt hợp đồng"
stepRange="Bước 13 → 18"
icon={FileText}
tone="teal"
>
<div className="space-y-0.5">
<StageStatRow
group="Duyệt Hợp đồng"
group="Duyệt hợp đồng"
label="Tổng hợp đồng"
value={recent.data?.total}
tone="teal"
@ -505,7 +505,7 @@ export function UserDashboardPage() {
onClick={() => navigate('/my-contracts')}
/>
<StageStatRow
group="Duyệt Hợp đồng"
group="Duyệt hợp đồng"
label="Chờ tôi duyệt"
value={s?.pendingMyApproval}
tone="teal"
@ -515,7 +515,7 @@ export function UserDashboardPage() {
onClick={() => navigate('/inbox')}
/>
<StageStatRow
group="Duyệt Hợp đồng"
group="Duyệt hợp đồng"
label="Đã quá hạn"
value={s?.overdue}
tone="teal"
@ -531,7 +531,7 @@ export function UserDashboardPage() {
<StageArrow />
{/* GĐ4 — sắp triển khai */}
<StageCard index={4} title="Ký cứng & phát hành" stepRange="Bước 19 → 21" icon={Stamp}>
<StageCard index={4} title="Hợp đồng cứng" stepRange="Bước 19 → 21" icon={Stamp}>
<StageSoon description="Tải lên bản hợp đồng đã ký cứng." />
</StageCard>
</div>