55 lines
4.4 KiB
Markdown
55 lines
4.4 KiB
Markdown
# 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.
|