[CLAUDE] PurchaseEvaluation: UAT dot 2 - an Tra lai/Tu choi khi tu duyet phieu minh soan + quick-add NCC ngay form + NCC go-tim sort A-Z + upload nhieu file 1 lan
All checks were successful
Deploy SOLUTION_ERP / build-deploy (push) Successful in 4m25s
All checks were successful
Deploy SOLUTION_ERP / build-deploy (push) Successful in 4m25s
- PeWorkflowPanel x2: nguoi duyet == nguoi soan (drafterUserId == currentUser.id) -> an ca "Tra lai" + "Tu choi" (anh chot: tra cho chinh minh vo nghia, huy phieu = nho cap khac tu choi / xoa phieu Nhap). - SuppliersController: POST tao NCC mo cho moi user dang nhap (anh chot - nghiep vu di thau phat sinh NTP moi lien tuc); PUT/DELETE van khoa Admin+CatalogManager (S57). - PeDetailTabs AddSupplierDialog x2: Select -> SearchableSelect (go-tim bo dau, sort A-Z theo ma) + nut "+ NCC moi" quick-create (Ma/Ten/Loai/SDT/Email) -> POST /suppliers -> auto-select vao phieu. - Upload file bao gia + bang so sanh x2: input multiple + upload tuan tu tung file (UAT "moi lan chi chon duoc 1 file"). - SHA256 mirror x2 app, build tsc+vite x2 PASS, BE 0 err, test 240/240 PASS local.
This commit is contained in:
@ -264,6 +264,11 @@ export function PeWorkflowPanel({
|
||||
&& evaluation.phase !== PurchaseEvaluationPhase.TraLai
|
||||
const isCancel = p === PurchaseEvaluationPhase.TuChoi
|
||||
const isForwardApprove = !isSendBack && !isCancel
|
||||
// S59 anh chốt (UAT: "nhân viên tạo phiếu thì trả lại và từ chối cho ai?"):
|
||||
// người duyệt CHÍNH LÀ người soạn phiếu → ẩn cả Trả lại + Từ chối
|
||||
// (trả cho chính mình vô nghĩa — đang sửa inline được; hủy phiếu sai
|
||||
// = nhờ cấp khác Từ chối, phiếu Nháp có nút Xóa riêng).
|
||||
if ((isSendBack || isCancel) && evaluation.drafterUserId === currentUser?.id) return null
|
||||
// Mig 24 + UAT S22+1 — disable cả 3 button khi actor không match
|
||||
// currentLevel.ApproverUserId. "Không quyền = ko quyền mọi hành động."
|
||||
const isDisabled = blockedByV2Level
|
||||
|
||||
Reference in New Issue
Block a user