Appearance
Employee And Staff — Technical Map
Route / page map
| Surface | Main page / shell |
|---|---|
| Employee list | Employees.tsx |
| Employee create/edit modal | EmployeeProfileCreate.tsx |
| Employee detail shell | EmployeeProfileDetail.tsx |
| Detail tabs | EmployeeProfileInfo, EmployeeProfilePersonalDevices, EmployeeProfileCommission, EmployeeProfileTourIncome, EmployeeProfileRevenue, EmployeeProfileLogin, EmployeeProfileFeedback, EmployeeProfileStatistic, EmployeeProfileTimekeepingHistory, EmployeeProfileViolationRecord, EmployeeIntroduce |
| Staff-style list | ReportStaff query lives in account.graphql, but report surface thực nằm ở module report |
GraphQL / data model map
| Surface | Query / model chính |
|---|---|
| Employee base | GetEmployeeProfilePagination, GetEmployeeProfileByPk, UpdateEmployeeProfile, leaveEmployeeOff, AccountActivity trong employee_profile.graphql |
| Employee feedback | GetProjectTasksByUser, GetEmployeeFeedbackStats, GetEmployeeFeedbackRanks, rating charts trong employee_feedback.graphql |
| Referral introduced | GetBranchUsersReferralSummary, GetBranchUsersReferralSummaryAggregate, GetReferredCustomer, GetOrder |
| Devices / auth | GetDeviceUser, UpdateDeviceUser, AddDeviceUser, password/PIN/account helpers trong account.graphql |
| Revenue / commission shell | dữ liệu được mount từ tab components, nhưng source thật nằm ngoài user module |
Boundary với module khác
| Module | Boundary kỹ thuật |
|---|---|
ecommerce | Revenue/referral/order-related reads |
wallet | Commission/payment related reads |
timekeeping | Timekeeping history tabs |
report | Một số staff/performance lenses thực ra có report song song ở module report |
Rủi ro / Findings kỹ thuật
| Mức | Finding |
|---|---|
| Cao | Trong EmployeeProfileDetail.tsx, tab personal-devices đang dùng to: ROUTE_EMPLOYEE_DETAIL thay vì ROUTE_EMPLOYEE_DETAIL_PERSONAL_DEVICES. |
| Cao | ROUTE_EMPLOYEE_INTRODUCED được đăng ký 2 lần: một route standalone và một child dưới employee detail. |
| Trung bình | EmployeeProfileRevenue.tsx và EmployeeProfileTourIncome.tsx reuse globalStore.userBehavior của report routes, nên filter có thể bleed giữa employee workspace và report standalone. |
| Trung bình | Copy text/label trong shell detail còn drift: Biên bản bi phạm, giới thiệu viết thường. |
| Trung bình | Employees.tsx pha hai mode tương tác khác nhau: list page mở modal edit, nhưng detail lại chạy bằng route shell riêng. |