Nhân sự & phân quyềnVăn phòng làm việc
Cài đặt chấm công văn phòng (legacy)
3 field chấm công cũ (date_review_checkin, allow_late_time, allow_early_time) nằm trong form Office nhưng UI đã ẩn (className="hidden"). Không thao tác được qua form hiện tại.
Bài này mô tả các field chấm công legacy đã được ẩn khỏi UI trong frontend hiện tại. Các field vẫn còn trong model + payload submit, nhưng người dùng KHÔNG thao tác được qua form Office.
Trạng thái UI
<Row gutter={16} className="hidden">
<Col><Form.Item hidden={model.id === 0} name="date_review_checkin">...</Form.Item></Col>
<Col><Form.Item hidden={model.id === 0} name="allow_late_time">...</Form.Item></Col>
<Col><Form.Item hidden={model.id === 0} name="allow_early_time">...</Form.Item></Col>
</Row>- Cả
<Row>cóclassName="hidden"→ bị CSS ẩn. - Mỗi
<Form.Item>cònhidden={model.id === 0}- thêm 1 lớp ẩn nữa khi tạo mới. - Nếu xoá class hidden khỏi Row, vẫn chỉ hiện khi sửa.
→ Hiện tại: KHÔNG ai dùng được qua UI form Office.
Các field
| Field | Loại | Mục đích (theo i18n key) |
|---|---|---|
date_review_checkin | InputNumber | Giới hạn ngày duyệt công - bao nhiêu ngày sau ca làm vẫn được duyệt. |
allow_late_time | InputNumber + tooltip office:time_help | Phút vào làm trễ được phép tính là đúng giờ. |
allow_early_time | InputNumber + tooltip office:time_help | Phút ra về sớm được phép tính là đủ ca. |
→ Đơn vị thời gian: phút (theo các bài hướng dẫn cũ).
Hành vi với dữ liệu cũ
Nếu trong DB đã có giá trị:
initialValueslấy giá trị từmodel.<field>.- Khi save,
doPrepareDatatruyền lại giá trị đó. - → Dữ liệu cũ KHÔNG bị xoá khi save form mới (vì payload vẫn chứa value).
Nếu DB chưa có giá trị (record cũ tạo bằng admin pre-checkin):
initialValues = undefined→ form không gửi field hoặc gửiundefined.- Save sẽ giữ nguyên trạng (chưa biết logic backend - cần test).
Cấu hình hiện tại nếu cần thiết
Vì UI đã ẩn, có 3 cách đặt giá trị:
- Sửa frontend để bỏ class hidden + bỏ
hidden={model.id === 0}(cần dev). - Gọi API direct với payload có 3 field.
- Đề xuất rebuild module chấm công ở phía dev nếu cần phổ biến.
Ai được xem và chỉnh?
- Hiện tại module không có UI cho user nào (kể cả
SETTING_HRM). - Nếu rebuild, gate sẽ giống các thao tác Office khác:
SETTING_HRM.
Lưu ý - Lỗi thường gặp
- "Tại sao tôi không thấy cài đặt chấm công?": UI đã ẩn. Form Office hiện chỉ có Tên + Địa chỉ + Thứ tự.
- "Tôi cần cấu hình giờ làm cho công ty": hiện hệ thống không có module chấm công đầy đủ. Liên hệ dev để biết roadmap.
- "Module Booking có lịch làm việc - khác gì": Booking quản lý lịch resource cho khách book dịch vụ. Khác với chấm công nhân viên (timekeeper).
- "Dữ liệu cũ trong các field này còn ý nghĩa không?": nếu module chấm công cũ đã ngừng phát triển thì dữ liệu chỉ còn ý nghĩa lịch sử. Backend có thể vẫn dùng để tính toán cho luồng cũ.