xforge · tài liệu FE

FE: module uom — đơn vị tính #

Phần chung (khởi tạo client, lỗi, danh sách, ngôn ngữ) ở tài liệu FE của Core: docs/fe/common.md (bản đọc: xforge-documentation, ADR-0102 của xforge-core). Sửa file này CÙNG PR khi đổi hành vi FE thấy được của module.

Từ điển đơn vị của store (cái, hộp, kg…). Hệ số quy đổi (1 thùng = 24 lon) KHÔNG ở đây: nó thuộc từng sản phẩm (uoms[].factor, xem FE của product). Quy ước field dịch được (name): phần chung §3.3.

CMS / admin (XforgeClient) #

Menu: key uom.uoms (quyền uom.read).

ViệcMethodQuyền
Danh sáchlistUoms({ query })uom.read
PickerlistUomOptions({ query }) → { id, code, category, symbol, allowFraction } + tênuom.read
Chi tiếtgetUom({ params: { id } })uom.read
TạocreateUom({ body })uom.create
Cài bộ đơn vị nềninstallBaselineUoms()uom.create
Sửa một phần / thay hếtupdateUom / replaceUom — KHÔNG đổi tênuom.update
Đổi tênsetUomTranslations({ params: { id }, body: { translations } })uom.update
Xoá (vào thùng rác)deleteUom({ params: { id } })uom.delete
Thùng rác / khôi phụclistUomTrash / restoreUomuom.restore
Xoá vĩnh viễndeleteUom({ params: { id }, query: { force: "true" } })uom.delete + uom.hard_delete

Lỗi cần xử lý #

codeStatusFE nên
uom_not_found404trang 404 / đã vào thùng rác
uom_code_exists409báo ở ô code (cả khi khôi phục mà mã đã bị lấy)
unsupported_language400details.allowed: bỏ ngôn ngữ store không hỗ trợ
product_uom_in_use409đơn vị còn được sản phẩm dùng: đổi đơn vị trước khi xoá

Màn hình dựng sẵn #

listMenu() → mục uom.uoms có screen (type: "crud"): CMS chung vẽ được từ getMenuScreen({ params: { key: "uom.uoms" } }) mà không cần code riêng (tài liệu FE của Core: cms.md §3.1). Có: danh sách (mã, tên, ký hiệu, nhóm, số lẻ, đang dùng; tìm; lọc trạng thái / nhóm), form tạo (kèm bản dịch) / sửa, xoá, thùng rác + khôi phục.

KHÔNG có: sửa bản dịch của đơn vị đã tạo — đi qua setUomTranslations (route riêng, màn hình chung chỉ gửi một body); installBaselineUoms (thao tác cấp danh sách); xoá vĩnh viễn.

Nguồn: xforge-modules: modules/catalog/uom/FE.md