Files
solution-erp/.claude/workflows/runs/2026-07-29-S161-khkk-w2-crud/sub-implementer-frontend-1.md
2026-07-29 20:46:44 +07:00

4.4 KiB

sub-implementer-frontend-1 — W2 KHKK FE 3 page x 2 app (S161)

Lane: FE-only. KHONG cham src/Backend (chi Read entity de suy DTO shape). KHONG commit. Ghi TUNG MUC ngay sau khi lam xong muc do (chong #53).

MUC 0 — Recon (DONE)

Khuon nguon doc that (khong doan):

  • fe-user/src/pages/office/ProposalsListPage.tsx 252 dong / ProposalCreatePage.tsx 245 / ProposalDetailPage.tsx 386 / fe-user/src/types/proposal.ts 95. SHA256 = IDENTICAL voi fe-admin counterpart cho ca 4 file (do bang sha256sum):
    • Create fb852a8df3191aa8696468ee6c762c21710f662db146ab678933c57a7373464b
    • Detail a550a5da29729d0d44981627bf8a6934255ac02c80477545f8c4eff393e83f81
    • List 780060dc1c4a9f08387e7ad35737846e38aff92191ad9fe2a7e8f2fa303f5af6
    • types 95607052ff1138f21d266d7fe66d45bab180c97270030f939be1ffcb681fdeda
  • Entity BE W1 (src/Backend/SolutionErp.Domain/ContractSigningPlans/*.cs, 8 file) = nguon shape cho types: ContractSigningPlan (MaKeHoach, PurchaseEvaluationId, ProjectId, DepartmentId, DrafterUserId, Phase, ApprovalWorkflowId, CurrentWorkflowStepIndex, CurrentApprovalLevelOrder, SlaDeadline, HoSoLink, GhiChu) · Line (SupplierId, PeReferenceAmount, ProposedAmount, ApprovedAmount?, ContractId?, Note?) · DossierItem (Kind 1/2/99, SupplierId?, Name, Status 1..4, TvgsName?, TvgsResultAt?, Note?) · Attachment (FileName, StoragePath, FileSize, ContentType, Purpose 1/2/99, Note?, DossierItemId?) · Phase enum 1/2/3/98/99.
  • BE lane CHUA land file Application/Controller luc toi recon (ls src/Backend/SolutionErp.Application/ContractSigningPlans/ = chi co Services/ cua W1) => types FE viet theo ENTITY (dung luat de bai: "uu tien shape ENTITY").
  • Layout staticMap truoc khi sua: fe-user Layout.tsx:59-62,79-80 (6 leaf Khkk_* -> /coming-soon), fe-admin Layout.tsx:34-39 (6 leaf -> /coming-soon).
  • Khkk_* KHONG ton tai trong fe-{user,admin}/src/lib/menuKeys.ts (grep 0 hit) => phai them (place 3).
  • Pe_WfView hien tai: fe-user Layout.tsx:159 -> /purchase-evaluations/workflow-matrix?type=N (page fe-user/src/pages/pe/WorkflowMatrixViewPage.tsx, whitelist type 1|2|3 o :60). fe-admin CO Y KHONG co Pe_WfView (Layout.tsx:125-129 lead chot 2026-07-27 — khong co matrix page ben admin).
  • fe-admin Designer da mo type-10: ApprovalWorkflowsV2Page.tsx:147 TYPE_INT_CONTRACT_SIGNING_PLAN = 10, :162 ContractSigningPlan: 10 (deep-link), route fe-admin/src/App.tsx:76 /system/approval-workflows-v2/:typeCode.
  • Upload multipart khuon: fe-user/src/components/pe/PeDetailTabs.tsx:3323-3331 (FormData + header multipart)
    • download blob :3352-3360.

MUC 1 — 4 file MOI ben fe-user (DONE, viet truoc roi cp sang fe-admin)

  • fe-user/src/types/khkk.ts — enum-as-const 4 bo (Phase 1/2/3/98/99 · DossierItemKind 1/2/99 · DossierItemStatus 1..4 · AttachmentPurpose 1/2/99) + badge full-class-literal (Pattern 14) + DTO (List/Line/DossierItem/Attachment/LevelOpinion/Detail) + input (Create/UpdateDraft/UpsertDossier)
    • KhkkPeCandidateDto (CO Y la TAP CON cua PurchaseEvaluationListItemDto BE tra — field thua bo qua runtime)
    • PagedResult<T>. Header file KHAI HOP DONG FE<->BE 12 endpoint (de BE lane doi chieu 1 cho).
  • fe-user/src/pages/khkk/KhkkListPage.tsx — 6 KpiCard loc phase + o tim + bang 7 cot + phan trang; ?filter= map ten-phase -> int (FILTER_TO_PHASE), ?view=deleted -> endpoint rieng /contract-signing-plans/deleted (mirror PE S155) + an nut tao + row khong click. 🔴 Chip loc chi doi STATE (khong ghi URL) => menu khong sang nham (bug UAT S155).
  • fe-user/src/pages/khkk/KhkkCreatePage.tsx — picker PE nguon (list nut chon, hien maPhieu + tenGoiThau + du an/hang muc + chip winner names) + dropdown workflow applicableType=10 loc isUserSelectable (khuon ProposalCreatePage:59-69, endpoint tra {types:[{applicableType,history}]} KHONG phai flat array) + GhiChu; POST -> navigate /khkk/{id}. FE KHONG gui lines (BE sinh tu winner).
  • fe-user/src/pages/khkk/KhkkDetailPage.tsx — 4 section: Thong tin (sua GhiChu/HoSoLink khi DangSoanThao|TraLai) · bang Lines per-NCC READ-ONLY (PeReferenceAmount/Proposed/Approved formatVnd — W2 khong co endpoint sua line nen KHONG bia) · bang DossierItems chip 4 muc + upsert/delete dialog (chi mo khi draft) · Attachments upload multi/download blob/delete (mo MOI phase). 🔴 KHONG panel trinh/duyet + KHONG banner cap duyet = W3.