[CLAUDE] Docs: User Manual 7 file rewrite compact cho end-user
User feedback: "ko cần quá đầy đủ chi tiết, cho end-user họ làm". Rewrite 7 generator scripts theo style end-user friendly: - Bỏ field validation table 5 cột (Tên field / Kiểu / Bắt buộc / Validation / Ví dụ) - Bỏ error troubleshoot table 3 cột (Lỗi / Nguyên nhân / Cách xử lý) - Bỏ FAQ chi tiết 8 câu (giữ 1 chương "Khi gặp lỗi" 4-5 bullet) - Bỏ phím tắt table - Giữ: tổng quan ngắn, numbered steps đơn giản, note/warn/tip chỉ khi critical 7 file generator (đã refactor dùng _helpers.js shared): - _gen-user-01: Bắt đầu (login + đổi pwd + hồ sơ + dashboard + sidebar + chuông) - _gen-user-02: Hợp đồng (7 loại + tạo + sửa + xóa + đính kèm + comment) - _gen-user-03: Duyệt Workflow (9 phase + 2-stage NV/TPB + reject + resume) - _gen-user-04: Phiếu Duyệt NCC (PE) (A/B + matrix báo giá + winner + 4PB + tạo HĐ) - _gen-user-05: Ngân sách (tạo + hạng mục + WF 3-step + liên kết HĐ/PE) - _gen-user-06: Cheatsheet 7 loại HĐ (mỗi loại 1 page: use case + field + format mã) - _gen-admin-02: Quản lý Users-Roles (tạo + role + reset + lock + bypass review S9) Setup: package.json + npm install docx@9.5.0 + script "gen:all". Output sizes: - 01: 12.1 KB (cũ 21.7 KB → giảm ~44%) - 02: 12.4 KB - 03: 12.2 KB - 04: 12.4 KB - 05: 12.0 KB - 06: 12.8 KB - admin-02: 12.7 KB - Tổng ~86 KB cho 7 file đầy đủ chức năng cốt lõi. Note: ContractType label "Phương án" → "Giải pháp" (đã rebrand session 3). 2-stage dept approval mention ở Phần 03 + admin-02 (Migration 16 Session 8/9). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
89
docs/_user-guide/_gen-user-04.js
Normal file
89
docs/_user-guide/_gen-user-04.js
Normal file
@ -0,0 +1,89 @@
|
||||
// User Manual 04 — Phiếu Duyệt NCC (PE) tiền-HĐ
|
||||
// Style: end-user friendly — các bước đơn giản.
|
||||
const fs = require('fs'); const path = require('path');
|
||||
const H = require('./_helpers');
|
||||
const { h1, h2, h3, p, bullet, num, note, warn, tip, titlePage, buildDoc, Packer } = H;
|
||||
|
||||
const children = [
|
||||
...titlePage(
|
||||
"Hướng dẫn Phiếu Duyệt NCC",
|
||||
"Phần 04: Phiếu so sánh NCC/Thầu phụ tiền-HĐ — 2 quy trình A/B",
|
||||
),
|
||||
|
||||
h1("1. Phiếu Duyệt NCC là gì?"),
|
||||
p("Phiếu Duyệt NCC (PE) là biểu mẫu so sánh giá / năng lực giữa nhiều NCC trước khi tạo Hợp đồng chính thức."),
|
||||
bullet("2 loại: \"Duyệt NCC\" (đơn giản) và \"Duyệt NCC + Giải pháp\" (có thêm bảng so sánh giải pháp kỹ thuật)"),
|
||||
bullet("Khi phiếu \"Đã duyệt\" → có thể sinh HĐ 1-click với NCC thắng thầu được chọn"),
|
||||
|
||||
h1("2. Tạo phiếu mới"),
|
||||
num("Sidebar → \"Phiếu Duyệt NCC\" → chọn loại → \"Tạo mới\""),
|
||||
num("Hoặc URL /purchase-evaluations/new?type=1 (1 = NCC) hoặc ?type=2 (NCC + Giải pháp)"),
|
||||
num("Điền Header: Tên gói thầu, Dự án, Phòng ban, (tùy chọn) Liên kết Ngân sách"),
|
||||
num("Click \"Lưu nháp\""),
|
||||
note("Mã phiếu format PE/{Năm}/{A|B}/{số thứ tự} — tự gen ngay khi tạo."),
|
||||
|
||||
h1("3. Thêm NCC tham gia"),
|
||||
num("Mở phiếu → section \"NCC/Thầu phụ tham gia\""),
|
||||
num("Click \"Thêm NCC\""),
|
||||
num("Chọn NCC từ danh sách (hoặc tạo NCC mới qua Master)"),
|
||||
num("Nhập điều khoản thanh toán + ghi chú (tùy chọn)"),
|
||||
num("Click \"Lưu\""),
|
||||
tip("Lặp lại để thêm 2-3 NCC so sánh. Tối thiểu 1 NCC, khuyến nghị 3 để chọn lựa."),
|
||||
|
||||
h1("4. Thêm hạng mục + báo giá"),
|
||||
num("Mở phiếu → section \"Hạng mục + Báo giá\""),
|
||||
num("Click \"Thêm hạng mục\" (Mã / Tên / Đơn vị / Khối lượng ngân sách + Khối lượng thi công)"),
|
||||
num("Tại bảng matrix, mỗi NCC có 1 cột — nhập đơn giá báo giá NCC"),
|
||||
num("Hệ thống tự tính Thành tiền = Khối lượng × Đơn giá"),
|
||||
num("Click \"Lưu\""),
|
||||
tip("Cột \"NS link · Δ\" so sánh đơn giá báo giá vs ngân sách (xanh = dưới NS, đỏ = vượt)."),
|
||||
|
||||
h1("5. Đính kèm báo giá NCC"),
|
||||
num("Mỗi dòng NCC có nút \"Tải lên\" → đính kèm file báo giá / hồ sơ năng lực"),
|
||||
num("Hoặc tab \"Đính kèm\" → upload file chung (Bảng so sánh tổng, Yêu cầu KT, ...)"),
|
||||
|
||||
h1("6. Chọn NCC thắng thầu"),
|
||||
num("Sau khi nhập đủ báo giá, mở section \"Hạng mục + Báo giá\""),
|
||||
num("Tại mỗi dòng hạng mục, tick checkbox cột NCC bạn chọn"),
|
||||
num("Hoặc click \"Chọn NCC này\" để chọn cho toàn bộ hạng mục"),
|
||||
num("Tổng giá trị NCC thắng tự cập nhật"),
|
||||
|
||||
h1("7. Ý kiến 4 phòng ban"),
|
||||
p("Section \"Ý kiến 4 phòng ban\" có 4 ô: Phê duyệt / P.CCM / P.Mua hàng / SM-PM. Mỗi phòng ban điền ý kiến và ký."),
|
||||
num("Trưởng phòng từng phòng ban mở phiếu"),
|
||||
num("Tìm ô tương ứng phòng mình → nhập nội dung ý kiến"),
|
||||
num("Click \"Lưu & Ký\" → ghi nhận chữ ký + thời gian"),
|
||||
|
||||
h1("8. Trình duyệt phiếu"),
|
||||
num("Mở phiếu ở phase Đang soạn thảo"),
|
||||
num("Panel Quy trình bên phải → click \"Trình → [phase tiếp theo]\""),
|
||||
num("(Tùy chọn) Nhập ghi chú"),
|
||||
num("Click \"Xác nhận\""),
|
||||
p("Phiếu đi qua các phase tùy quy trình A (3 step: ChoPurchasing → ChoCCM → ChoCEONcc) hoặc B (5 step thêm ChoDuAn + ChoCEOPa)."),
|
||||
note("Quy trình PE cũng có duyệt 2-cấp phòng ban (NV Review → TPB Confirm) giống HĐ — xem Phần 03."),
|
||||
|
||||
h1("9. Tạo HĐ từ phiếu Đã duyệt"),
|
||||
num("Mở phiếu ở phase \"Đã duyệt\" và đã chọn NCC thắng thầu"),
|
||||
num("Click \"Tạo HĐ từ phiếu\" (góc phải Header)"),
|
||||
num("Chọn loại HĐ (1-7) muốn tạo"),
|
||||
num("Click \"Tạo\""),
|
||||
p("Hệ thống tạo HĐ nháp tự động: copy NCC + Dự án + (tùy chọn) Ngân sách. Drafter mở HĐ để điền chi tiết tiếp."),
|
||||
|
||||
h1("10. Sửa / Xóa phiếu nháp"),
|
||||
bullet("Phase Đang soạn thảo: sửa Header / NCC / hạng mục / báo giá tự do"),
|
||||
bullet("Phase ≠ Đang soạn thảo: bị khóa edit (tương tự HĐ)"),
|
||||
bullet("Xóa: chỉ ở phase Đang soạn thảo / Từ chối, click icon thùng rác"),
|
||||
];
|
||||
|
||||
const doc = buildDoc(
|
||||
"User Manual - 04 Phiếu Duyệt NCC",
|
||||
"SOLUTION_ERP - User Manual - 04 PE Phiếu Duyệt NCC",
|
||||
children,
|
||||
);
|
||||
|
||||
const outPath = path.join(__dirname, 'user', '04-PE-Phieu-Duyet-NCC.docx');
|
||||
Packer.toBuffer(doc).then(buf => {
|
||||
fs.writeFileSync(outPath, buf);
|
||||
console.log('✅ Generated:', outPath);
|
||||
console.log(' Size:', (buf.length / 1024).toFixed(1) + ' KB');
|
||||
});
|
||||
Reference in New Issue
Block a user