thai-uxui

This commit is contained in:
phaichayon
2026-06-19 11:11:17 +07:00
parent c0cc880be2
commit 721653f692
47 changed files with 1135 additions and 538 deletions

View File

@@ -0,0 +1,31 @@
# CRM Terminology Registry
| Code | English | Thai | Notes |
| ---- | ------- | ---- | ----- |
| crm | CRM | CRM | Keep as `CRM` |
| dashboard | Dashboard | Dashboard | Keep as `Dashboard` |
| lead | Lead | ลีด | ข้อมูลลูกค้าเป้าหมายก่อนส่งต่อให้ฝ่ายขาย |
| enquiry | Enquiry | โอกาสขาย | โอกาสทางการขายที่มอบหมายให้ฝ่ายขายดำเนินการ |
| quotation | Quotation | ใบเสนอราคา | ใช้กับทุกหน้าที่เกี่ยวกับเอกสารเสนอราคา |
| approval | Approval | อนุมัติเอกสาร | ใช้กับ workflow และคิวอนุมัติ |
| customer | Customer | ลูกค้า | ใช้กับทะเบียนลูกค้าและบทบาทลูกค้า |
| contact | Contact | ผู้ติดต่อ | ใช้กับบุคคลติดต่อของลูกค้า |
| billing_customer | Billing Customer | ลูกค้าผู้รับใบเสนอราคา | บริษัทที่ใช้สำหรับออกใบเสนอราคาและวางบิล |
| project_parties | Project Parties | ผู้เกี่ยวข้องในโครงการ | ใช้กับ customer roles ใน enquiry และ quotation |
| project_party.customer | Customer | ลูกค้า | บทบาทในโครงการ |
| project_party.billing_customer | Billing Customer | ลูกค้าผู้รับใบเสนอราคา | บทบาทในโครงการ |
| project_party.end_customer | End Customer | เจ้าของโครงการ | บทบาทในโครงการ |
| project_party.contractor | Contractor | ผู้รับเหมา | บทบาทในโครงการ |
| project_party.consultant | Consultant | ที่ปรึกษา | บทบาทในโครงการ |
| lead_count | Lead Count | จำนวนลีด | KPI dashboard |
| enquiry_count | Enquiry Count | จำนวนโอกาสขาย | KPI dashboard |
| won_count | Won Count | จำนวนงานที่ชนะ | KPI dashboard |
| lost_count | Lost Count | จำนวนงานที่แพ้ | KPI dashboard |
| revenue | Revenue | มูลค่าใบเสนอราคา | KPI / report label |
| conversion_rate | Conversion Rate | อัตราการเปลี่ยนสถานะ | KPI / report label |
## Freeze Policy
- เอกสารนี้เป็น source of truth ของคำธุรกิจ CRM ฝั่ง UI
- การเปลี่ยนคำหลังจากนี้ต้องผ่าน ADR หรือ business review ก่อน
- ห้ามใช้เอกสารนี้เพื่อเปลี่ยนชื่อ schema, API route, TypeScript type, หรือ service folder

View File

@@ -0,0 +1,58 @@
# Task UX.1: Thai CRM Terminology Standardization
## Files Added
- `docs/business/crm-terminology.md`
- `docs/implementation/task-ux1-thai-crm-terminology-standardization.md`
- `src/features/crm/shared/terminology.ts`
## Files Modified
- `src/config/nav-config.ts`
- `src/features/crm/shared/project-party.ts`
- `src/app/dashboard/crm/page.tsx`
- `src/app/dashboard/crm/customers/page.tsx`
- `src/app/dashboard/crm/leads/page.tsx`
- `src/app/dashboard/crm/leads/[id]/page.tsx`
- `src/app/dashboard/crm/enquiries/page.tsx`
- `src/app/dashboard/crm/enquiries/[id]/page.tsx`
- `src/app/dashboard/crm/quotations/page.tsx`
- `src/app/dashboard/crm/approvals/page.tsx`
- `src/app/dashboard/crm/approvals/[id]/page.tsx`
- `src/features/crm/dashboard/components/*`
- `src/app/api/crm/dashboard/export/route.ts`
- `src/features/crm/components/project-parties-editor.tsx`
- `src/features/crm/customers/components/*`
- `src/features/crm/enquiries/components/*`
- `src/features/crm/quotations/components/quotation-columns.tsx`
- `src/features/crm/quotations/components/quotation-document-preview.tsx`
- `src/features/foundation/approval/components/*`
## Terminology Registry
- Added `docs/business/crm-terminology.md` as the frozen source of truth for CRM UI business terms.
## Menu Changes
- Standardized CRM side menu labels to Thai business terminology while keeping `CRM` and `Dashboard` in English.
## Dashboard Changes
- Updated KPI cards, funnel labels, follow-up labels, approval analytics labels, revenue tables, and export labels to the frozen Thai terms.
## Form Changes
- Updated business-facing customer, contact, lead, and enquiry form labels and CTA copy without renaming any data fields.
## PDF Changes
- Updated quotation preview labels to Thai business terminology without changing template mapping keys.
## Report Changes
- Updated CRM dashboard export headers and section labels to Thai business terminology while keeping internal query/filter codes unchanged.
## Remaining Risks
- Some technical or admin-facing screens still intentionally remain English because they are out of scope for this task.
- Master option values seeded in the database may still be English in storage, so this task relies on UI copy and display-layer terminology rather than persistence changes.