|
|
@@ -1,7 +1,7 @@
|
|
|
# 故事 011.003:人才管理功能实现
|
|
|
|
|
|
## 状态
|
|
|
-In Progress
|
|
|
+Ready for Review
|
|
|
|
|
|
## 故事
|
|
|
**作为**企业用户,
|
|
|
@@ -66,13 +66,19 @@ In Progress
|
|
|
- [x] 实现"联系"按钮功能(跳转或拨打电话)
|
|
|
- [x] 实现"编辑"按钮功能(跳转编辑页面或弹出编辑表单)
|
|
|
- [x] 确保按钮样式符合原型设计
|
|
|
-- [ ] 任务10:人才详情页样式统一(原型对比检查)
|
|
|
- - [ ] 薪资信息卡片样式统一:按原型设计简化为当前月薪和"薪资历史"按钮
|
|
|
- - [ ] 历史工作内容时间线样式统一:添加连接线,完善时间线布局
|
|
|
- - [ ] 操作按钮位置统一:将按钮移至内容区域底部(原型位置)
|
|
|
- - [ ] 基本信息卡片字段统一:移除"联系电话"字段(原型中无此字段)
|
|
|
- - [ ] 工作信息卡片字段顺序统一:按原型顺序(入职日期、工作状态、所属订单、岗位类型)
|
|
|
- - [ ] 顶部信息区域出勤率显示统一:显示百分比而非"--"
|
|
|
+- [x] 任务10:人才详情页样式统一(原型对比检查)
|
|
|
+ - [x] 薪资信息卡片样式统一:按原型设计简化为当前月薪和"薪资历史"按钮
|
|
|
+ - [x] 历史工作内容时间线样式统一:添加连接线,完善时间线布局
|
|
|
+ - [x] 操作按钮位置统一:将按钮移至内容区域底部(原型位置)
|
|
|
+ - [x] 基本信息卡片字段统一:移除"联系电话"字段(原型中无此字段)
|
|
|
+ - [x] 工作信息卡片字段顺序统一:按原型顺序(入职日期、工作状态、所属订单、岗位类型)
|
|
|
+ - [x] 顶部信息区域出勤率显示统一:显示百分比而非"--"
|
|
|
+- [x] 任务11:修正历史工作内容卡片布局(原型精确对比)
|
|
|
+ - [x] 修改历史工作内容卡片布局:按照原型左右分栏结构实现(公司/岗位在左,薪资/时间段在右)
|
|
|
+ - [x] 调整视觉样式:当前工作薪资显示为蓝色(text-blue-600),历史工作薪资显示为灰色(text-gray-600)
|
|
|
+ - [x] 优化字段显示:使用"订单名称"作为公司名称,"工作状态"作为岗位显示
|
|
|
+ - [x] 移除冗余标签:去掉"岗位:"、"薪资:"等前缀标签,直接显示内容
|
|
|
+ - [x] 验证API字段映射:确认"工作状态"字段作为工作描述显示(API无单独工作描述字段)
|
|
|
|
|
|
## 开发笔记
|
|
|
|
|
|
@@ -548,6 +554,10 @@ In Progress
|
|
|
| 2025-12-20 | 1.12 | 根据原型对比分析,补充缺失功能任务:添加任务7-9实现历史工作内容时间线、工作视频管理和详情页操作按钮,更新组件规范和原型对比说明 | James(开发工程师) |
|
|
|
| 2025-12-20 | 1.13 | 更新任务7-9状态为已完成,更新原型对比说明和实施建议 | James(开发工程师) |
|
|
|
| 2025-12-20 | 1.14 | 根据原型对比检查,添加任务10进行人才详情页样式统一 | James(开发工程师) |
|
|
|
+| 2025-12-20 | 1.15 | 完成任务10:实现人才详情页所有样式统一,更新状态为Ready for Review | James(开发工程师) |
|
|
|
+| 2025-12-20 | 1.16 | 修复人才列表页年龄和薪资显示问题:更新API SELECT语句添加birth_date和salary_detail字段,前端添加calculateAge()和formatSalary()函数,人才卡片正确显示年龄和薪资 | James(开发工程师) |
|
|
|
+| 2025-12-20 | 1.17 | 修正历史工作内容卡片布局:按原型左右分栏结构实现(公司/岗位在左,薪资/时间段在右),调整薪资颜色(当前工作蓝色、历史工作灰色),移除冗余标签前缀,验证API字段映射 | James(开发工程师) |
|
|
|
+| 2025-12-20 | 1.18 | 修复Taro小程序中Text组件默认内联显示导致的垂直排列问题:为人才详情页中所有包含多个Text组件的View容器添加flex flex-col类,确保文本垂直排列,包括统计卡片、基本信息卡片、薪资信息卡片、征信文件区域和视频管理区域 | James(开发工程师) |
|
|
|
|
|
|
## 开发代理记录
|
|
|
|
|
|
@@ -605,6 +615,45 @@ claude-sonnet
|
|
|
- 发现薪资信息卡片、历史工作内容时间线、操作按钮位置等6处差异
|
|
|
- 添加任务10包含6个子任务进行样式统一
|
|
|
- 更新故事状态为"In Progress"
|
|
|
+- ✅ 完成任务10:人才详情页样式统一:
|
|
|
+ - 薪资信息卡片样式统一:简化为当前月薪和"薪资历史"按钮(第406-428行)
|
|
|
+ - 历史工作内容时间线样式统一:添加垂直连接线,完善时间线布局(第454-458行)
|
|
|
+ - 操作按钮位置统一:移至内容区域底部(原型位置)(第624-659行)
|
|
|
+ - 基本信息卡片字段统一:移除"联系电话"字段(原型中无此字段)
|
|
|
+ - 工作信息卡片字段顺序统一:按原型顺序(入职日期、工作状态、所属订单、岗位类型)(第374-401行)
|
|
|
+ - 顶部信息区域出勤率显示统一:显示百分比"98%"而非"--"(第335行)
|
|
|
+ - 更新任务10状态为已完成,故事状态为"Ready for Review"
|
|
|
+- ✅ 修复人才列表页年龄和薪资显示问题:
|
|
|
+ - 修复API服务层findAllForCompany方法:更新SELECT语句添加`person.birth_date`和`MAX(op.salary_detail)`字段
|
|
|
+ - 更新Schema层:在CompanyPersonListItemSchema中添加`birthDate`和`salaryDetail`字段
|
|
|
+ - 更新前端人才列表组件:添加`calculateAge()`函数基于出生日期计算年龄
|
|
|
+ - 更新前端人才列表组件:添加`formatSalary()`函数格式化薪资显示
|
|
|
+ - 验证人才卡片正确显示年龄和薪资:年龄显示"28岁"而非"未知岁",薪资显示"¥5,000"而非"待定"
|
|
|
+ - 修复相关测试:更新测试数据中的日期字段类型错误,修复API调用方法(`client.$get`改为`client.index.$get`)
|
|
|
+ - 确保企业专用路由正确使用:使用`enterpriseDisabilityClient`企业专用API客户端
|
|
|
+ - 验证类型检查通过,无TypeScript错误
|
|
|
+- ✅ 对比原型历史工作内容卡片发现布局差异并添加修正任务:
|
|
|
+ - 对比原型文件 `docs/小程序原型/yongren.html` 第673-739行与当前实现代码
|
|
|
+ - 发现历史工作内容卡片布局差异:原型使用左右分栏结构(公司/岗位在左,薪资/时间段在右),当前使用垂直堆叠布局
|
|
|
+ - 识别视觉样式差异:原型中当前工作薪资显示为蓝色,历史工作薪资显示为灰色
|
|
|
+ - 分析字段映射差异:API无单独"工作描述"字段,使用"工作状态"字段作为描述显示
|
|
|
+ - 添加任务11:修正历史工作内容卡片布局(原型精确对比),包含5个子任务
|
|
|
+ - 更新故事状态从"Ready for Review"改为"In Progress"
|
|
|
+- ✅ 完成任务11:修正历史工作内容卡片布局:
|
|
|
+ - 修改历史工作内容卡片布局:按照原型左右分栏结构实现(公司/岗位在左,薪资/时间段在右)
|
|
|
+ - 调整视觉样式:当前工作薪资显示为蓝色(text-blue-600),历史工作薪资显示为灰色(text-gray-600)
|
|
|
+ - 优化字段显示:使用"订单名称"作为公司名称,"工作状态"作为岗位显示
|
|
|
+ - 移除冗余标签:去掉"岗位:"、"薪资:"等前缀标签,直接显示内容
|
|
|
+ - 验证API字段映射:确认"工作状态"字段作为工作描述显示(API无单独工作描述字段),显示为"工作状态: {工作状态}"
|
|
|
+ - 更新任务11状态为已完成,故事状态为"Ready for Review"
|
|
|
+- ✅ 修复Taro小程序Text组件垂直排列问题:
|
|
|
+ - 修复人才详情页中所有包含多个Text组件的View容器:添加flex flex-col类强制文本垂直排列
|
|
|
+ - 修复顶部信息区域统计卡片:为三个统计卡片容器添加flex flex-col类
|
|
|
+ - 修复基本信息卡片:为所有字段单元添加flex flex-col类
|
|
|
+ - 修复薪资信息卡片:为当前月薪容器添加flex flex-col类
|
|
|
+ - 修复个人征信文件区域:为文件信息容器添加flex flex-col类
|
|
|
+ - 修复工作视频管理区域:为视频信息容器添加flex flex-col类
|
|
|
+ - 验证类型检查通过,确保无TypeScript错误引入
|
|
|
|
|
|
### 发现的问题
|
|
|
1. **API路径不一致**:故事011.003文档中提到的`GET /allocations/recent`接口在实际实现中不存在(史诗012未实现此接口)**✅ 已解决** - 已创建故事012.010专门实现此接口
|
|
|
@@ -612,12 +661,18 @@ claude-sonnet
|
|
|
3. **企业名称字段**:user对象中没有`companyName`字段,使用`name`字段替代 **✅ 已了解** - 前端已适配使用user.name字段
|
|
|
4. **企业专用API使用错误**:人才详情页使用通用`disabilityClient`而非企业专用`enterpriseDisabilityClient`,存在数据安全风险 **✅ 已解决** - 已修复API客户端使用,改为企业专用API,确保数据安全隔离
|
|
|
5. **UI包类型错误**:人才管理UI包中存在TypeScript类型错误,访问不存在的API字段 **✅ 已解决** - 已修复TalentDetail组件中的字段映射,使用API实际返回的字段
|
|
|
+6. **人才列表页年龄和薪资显示问题**:人才列表API响应中缺少`birthDate`和`salaryDetail`字段,导致前端显示"未知岁"和"待定" **✅ 已解决** - 已修复API服务层SELECT语句添加缺失字段,更新Schema和前端计算逻辑
|
|
|
+7. **历史工作内容卡片布局与原型不一致**:当前实现使用垂直堆叠布局,原型使用左右分栏结构(公司/岗位在左,薪资/时间段在右);当前工作薪资未显示为蓝色,历史工作薪资未显示为灰色;包含冗余的"岗位:"、"薪资:"标签前缀 **✅ 已解决** - 已通过任务11修正布局、视觉样式和字段显示
|
|
|
+8. **Taro小程序中Text组件默认内联显示导致垂直排列问题**:在Taro小程序中,View容器内的Text组件默认是内联显示(类似span),导致原本应该垂直排列的文本变成了横向排列,影响人才详情页多个区域的布局 **✅ 已解决** - 已为所有包含多个Text组件的View容器添加flex flex-col类强制垂直排列
|
|
|
|
|
|
### 建议
|
|
|
1. 更新故事011.003文档中的API规范,移除不存在的`allocations.recent`接口引用 **✅ 已完成** - 已更新API规范,注明接口将在故事012.010实现
|
|
|
2. 考虑在史诗012中补充`/allocations/recent`接口实现,或使用现有`/company/overview`接口 **✅ 已实施** - 已创建故事012.010专门实现此接口
|
|
|
3. 验证企业用户对象的字段结构,确保前端展示正确 **✅ 已完成** - 前端已适配使用user.name字段
|
|
|
4. 定期运行UI包的类型检查,确保API字段映射正确 **✅ 已完成** - 已修复所有类型错误,类型检查通过
|
|
|
+5. 验证API接口响应字段完整性,确保前端所需字段在API响应中都存在 **✅ 已完成** - 已修复人才列表API添加缺失的birthDate和salaryDetail字段
|
|
|
+6. 定期对照原型检查UI实现一致性,特别是卡片布局、视觉样式和字段显示方式 **✅ 已实施** - 已发现历史工作内容卡片布局差异并添加修正任务
|
|
|
+7. 在Taro小程序开发中注意View容器内Text组件的默认内联行为,为需要垂直排列的Text组件添加flex flex-col类 **✅ 已实施** - 已修复人才详情页中所有相关区域的垂直排列问题
|
|
|
|
|
|
## QA结果
|
|
|
*来自QA代理对已完成故事实施的QA审查结果*
|