[CLAUDE] FE-Admin FE-User: Chunk M3 — Rename Phase=TraLai display label "Trả lại" → "Cần chỉnh sửa lại"
Plan M Chunk M3 — UAT disconnect fix: bro UAT phát hiện label "Trả lại" + "Bản nháp" không phân biệt rõ với end-user → rename Phase=TraLai (98) display label sang "Cần chỉnh sửa lại" để self-descriptive. Scope HẸP — chỉ status display reference (KHÔNG đụng action verb): - types/purchaseEvaluation.ts × 2 app: PurchaseEvaluationPhaseLabel[98] + PeDisplayStatusLabel.TraLai = 2 const map rename - components/pe/PeWorkflowPanel.tsx × 2 app: 2 inline literal hardcode trong F1 dialog tooltip `Phase → "..."` + confirm message `Phiếu sẽ về "..."` — status reference, KHÔNG phải action verb KHÔNG đụng: - Action button label `← Trả lại` (verb, giữ nguyên) - F1 mode picker label `Trả về Người soạn thảo` (4 mode action, giữ nguyên) - Comments narrative giữ rationale dev (rule §6.5) - types/contracts.ts + types/budget.ts Phase 98 'Trả lại' — module Contract + Budget khác PE, ngoài scope M3 Mirror 2 app rule §3.9 strict applied. Verify: - npm run build fe-admin PASS clean (0 TS err, 9.40s) - npm run build fe-user PASS clean (0 TS err, 6.92s) Diff: +4/-4 LOC × 4 file = 8 LOC total Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@ -405,7 +405,7 @@ export function PeWorkflowPanel({
|
||||
/>
|
||||
<span>
|
||||
<span className="font-medium">Trả về Người soạn thảo (mặc định)</span>
|
||||
<span className="block text-[10px] text-slate-500">Phase → "Trả lại". Drafter sửa rồi gửi lại chạy từ Cấp 1 Bước 1.</span>
|
||||
<span className="block text-[10px] text-slate-500">Phase → "Cần chỉnh sửa lại". Drafter sửa rồi gửi lại chạy từ Cấp 1 Bước 1.</span>
|
||||
</span>
|
||||
</label>
|
||||
)}
|
||||
@ -414,7 +414,7 @@ export function PeWorkflowPanel({
|
||||
)}
|
||||
<div className="mb-3 rounded border border-amber-200 bg-amber-50 px-3 py-2 text-[11px] text-amber-800">
|
||||
{returnMode === WorkflowReturnMode.Drafter
|
||||
? 'Phiếu sẽ về "Trả lại". Drafter có thể sửa rồi trình lại từ Cấp 1 Bước 1.'
|
||||
? 'Phiếu sẽ về "Cần chỉnh sửa lại". Drafter có thể sửa rồi trình lại từ Cấp 1 Bước 1.'
|
||||
: returnMode === WorkflowReturnMode.Assignee
|
||||
? 'Phiếu sẽ về Cấp/Bước của NV đã chọn (vẫn "Đã gửi duyệt"). NV nhận lại để duyệt tiếp.'
|
||||
: 'Phiếu sẽ lùi pointer (vẫn "Đã gửi duyệt"). NV trước nhận lại để duyệt tiếp.'}
|
||||
|
||||
@ -41,7 +41,7 @@ export const PurchaseEvaluationPhaseLabel: Record<number, string> = {
|
||||
6: 'Chờ CEO duyệt NCC',
|
||||
7: 'Đã duyệt',
|
||||
10: 'Đã gửi duyệt',
|
||||
98: 'Trả lại',
|
||||
98: 'Cần chỉnh sửa lại',
|
||||
99: 'Từ chối',
|
||||
}
|
||||
|
||||
@ -83,7 +83,7 @@ export type PeDisplayStatus = typeof PeDisplayStatus[keyof typeof PeDisplayStatu
|
||||
export const PeDisplayStatusLabel: Record<PeDisplayStatus, string> = {
|
||||
Nhap: 'Nháp',
|
||||
DaGuiDuyet: 'Đã gửi duyệt',
|
||||
TraLai: 'Trả lại',
|
||||
TraLai: 'Cần chỉnh sửa lại',
|
||||
DaDuyet: 'Đã duyệt',
|
||||
TuChoi: 'Từ chối',
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user