commit
This commit is contained in:
223
plans/change-add-employee-directory-menu.md
Normal file
223
plans/change-add-employee-directory-menu.md
Normal file
@@ -0,0 +1,223 @@
|
||||
You are a Senior Frontend Engineer and Full Stack Engineer.
|
||||
|
||||
Project:
|
||||
Training Management System (TMS)
|
||||
|
||||
Current task:
|
||||
Update Master Data sidebar by keeping the existing "พนักงาน" menu and adding a new menu "รายชื่อพนักงานทั้งหมด".
|
||||
|
||||
Requirement:
|
||||
Under the sidebar parent menu "ข้อมูลหลัก", keep the existing "พนักงาน" menu and add a new submenu named "รายชื่อพนักงานทั้งหมด".
|
||||
|
||||
Important constraints:
|
||||
|
||||
- Do NOT remove the existing "พนักงาน" menu.
|
||||
- Do NOT change the existing "พนักงาน" route.
|
||||
- Do NOT delete existing routes or APIs.
|
||||
- Do NOT change database schema unless required for the new detail page.
|
||||
- Keep Thai UI.
|
||||
- Keep responsive/mobile sidebar behavior.
|
||||
- Minimal-impact changes only.
|
||||
|
||||
Navigation structure:
|
||||
|
||||
ข้อมูลหลัก
|
||||
├─ พนักงาน
|
||||
├─ รายชื่อพนักงานทั้งหมด
|
||||
├─ หลักสูตร
|
||||
├─ นโยบาย
|
||||
└─ ประกาศ
|
||||
|
||||
Existing menu:
|
||||
|
||||
- พนักงาน
|
||||
Keep current route as-is.
|
||||
Example:
|
||||
/dashboard/users
|
||||
or whatever route currently exists.
|
||||
|
||||
New menu:
|
||||
|
||||
- รายชื่อพนักงานทั้งหมด
|
||||
|
||||
Recommended route:
|
||||
|
||||
- /dashboard/employee-directory
|
||||
|
||||
Alternative route if project convention prefers:
|
||||
|
||||
- /dashboard/employees-directory
|
||||
- /dashboard/employees/all
|
||||
|
||||
Page title:
|
||||
|
||||
- รายชื่อพนักงานทั้งหมด
|
||||
|
||||
Description:
|
||||
|
||||
- เรียกดูข้อมูลพนักงาน ข้อมูลชั่วโมงอบรม และรายการอบรมรายบุคคล
|
||||
|
||||
New page requirements:
|
||||
|
||||
1. Employee Directory Table
|
||||
|
||||
Columns:
|
||||
|
||||
- รหัสพนักงาน
|
||||
- ชื่อพนักงาน
|
||||
- ฝ่าย
|
||||
- ตำแหน่ง
|
||||
- Action
|
||||
|
||||
Action:
|
||||
|
||||
- Compact action menu or button
|
||||
- Label:
|
||||
ดูข้อมูลพนักงาน
|
||||
|
||||
2. Search
|
||||
|
||||
Search by:
|
||||
|
||||
- รหัสพนักงาน
|
||||
- ชื่อพนักงาน
|
||||
- ฝ่าย
|
||||
- ตำแหน่ง
|
||||
- อีเมล
|
||||
|
||||
Placeholder:
|
||||
|
||||
- ค้นหาด้วยรหัสพนักงาน ชื่อ ฝ่าย หรือตำแหน่ง...
|
||||
|
||||
3. Detail Page
|
||||
|
||||
When clicking "ดูข้อมูลพนักงาน", open:
|
||||
|
||||
- /dashboard/employee-directory/[id]
|
||||
|
||||
Detail page sections:
|
||||
|
||||
Section 1:
|
||||
ข้อมูลทั่วไปพนักงาน
|
||||
|
||||
- รหัสพนักงาน
|
||||
- ชื่อพนักงาน
|
||||
- อีเมล
|
||||
- บริษัท
|
||||
- ฝ่าย
|
||||
- แผนก
|
||||
- ตำแหน่ง
|
||||
- สถานะ
|
||||
|
||||
Section 2:
|
||||
ข้อมูลชั่วโมงอบรม
|
||||
|
||||
- ชั่วโมงอนุมัติแล้ว
|
||||
- ชั่วโมงรอตรวจสอบ
|
||||
- ชั่วโมงไม่อนุมัติ
|
||||
- เป้าหมายชั่วโมงรวม
|
||||
- ความคืบหน้า
|
||||
|
||||
Section 3:
|
||||
K/S/A Summary
|
||||
|
||||
- K approved / K target
|
||||
- S approved / S target
|
||||
- A approved / A target
|
||||
|
||||
Section 4:
|
||||
รายการอบรม
|
||||
|
||||
- วันที่อบรม
|
||||
- ชื่อหลักสูตร
|
||||
- ประเภทการอบรม
|
||||
- ชั่วโมงที่ส่ง
|
||||
- ชั่วโมงที่อนุมัติ
|
||||
- สถานะ
|
||||
- ไฟล์เกียรติบัตร
|
||||
|
||||
4. Permission
|
||||
|
||||
HRD/Admin:
|
||||
|
||||
- Can access employee directory.
|
||||
- Can view all employee details.
|
||||
|
||||
Employee:
|
||||
|
||||
- Must not see this menu.
|
||||
- Must not access route by direct URL.
|
||||
|
||||
5. Responsive
|
||||
|
||||
- Table must not break page width.
|
||||
- Use horizontal scroll inside table container.
|
||||
- Detail cards stack on mobile.
|
||||
- Thai text wraps correctly.
|
||||
|
||||
Files likely involved:
|
||||
|
||||
Navigation:
|
||||
|
||||
- src/config/nav-config.ts
|
||||
|
||||
Routes:
|
||||
|
||||
- src/app/dashboard/employee-directory/page.tsx
|
||||
- src/app/dashboard/employee-directory/[id]/page.tsx
|
||||
|
||||
Feature:
|
||||
|
||||
- src/features/employee-directory/\*
|
||||
|
||||
Can reuse:
|
||||
|
||||
- src/features/users/\*
|
||||
- src/features/employees/\*
|
||||
- src/features/training-records/\*
|
||||
- src/features/overview/server/overview-data.ts
|
||||
- src/features/reports/server/report-data.ts
|
||||
|
||||
Output Review File:
|
||||
|
||||
Create:
|
||||
docs/management-change-add-employee-directory-menu-review.md
|
||||
|
||||
Include:
|
||||
|
||||
1. Summary
|
||||
2. Files Changed
|
||||
3. Sidebar Changes
|
||||
4. New Routes
|
||||
5. Existing Employee Menu Kept
|
||||
6. Employee Directory Page
|
||||
7. Employee Detail Page
|
||||
8. Permission Rules
|
||||
9. Responsive Notes
|
||||
10. Manual Test Checklist
|
||||
11. Known Limitations
|
||||
|
||||
Manual Test Checklist:
|
||||
|
||||
- Existing "พนักงาน" menu remains.
|
||||
- New "รายชื่อพนักงานทั้งหมด" menu appears under "ข้อมูลหลัก".
|
||||
- HRD/Admin can open employee directory.
|
||||
- Employee cannot see employee directory menu.
|
||||
- Employee cannot access employee directory by URL.
|
||||
- Employee directory table shows employee code.
|
||||
- Employee directory table shows employee name.
|
||||
- Employee directory table shows department/faction.
|
||||
- Employee directory table shows position.
|
||||
- Action opens employee detail.
|
||||
- Detail page shows general employee data.
|
||||
- Detail page shows training hour summary.
|
||||
- Detail page shows K/S/A summary.
|
||||
- Detail page shows training records.
|
||||
- Mobile layout works.
|
||||
- Existing "พนักงาน" page still works.
|
||||
|
||||
Return:
|
||||
|
||||
- Complete code changes with file paths.
|
||||
- Content of docs/management-change-add-employee-directory-menu-review.md.
|
||||
- Migration commands if required.
|
||||
Reference in New Issue
Block a user