|
|
@@ -15,23 +15,24 @@
|
|
|
4. disability_person管理页面 - 残疾人个人管理界面
|
|
|
5. order管理页面 - 订单管理界面
|
|
|
6. platform管理页面 - 平台管理界面
|
|
|
- 7. region管理页面 - 区域管理界面
|
|
|
- 8. salary管理页面 - 薪资管理界面
|
|
|
+ 7. salary管理页面 - 薪资管理界面
|
|
|
+ **注**:region管理页面已有`@d8d/area-management-ui`包提供,直接复用即可,无需移植
|
|
|
|
|
|
- **技术栈**:Next.js、React 19、Ant Design 5、Jotai、Tailwind CSS、自定义fetch API
|
|
|
- **集成点**:通过自定义API客户端与后端API集成,使用Jotai进行状态管理
|
|
|
|
|
|
### 增强详情
|
|
|
|
|
|
-- **新增/变更内容**:将8个现有UI模块从allin_system-master/client移植到allin-packages目录下的独立UI包
|
|
|
+- **新增/变更内容**:将7个现有UI模块从allin_system-master/client移植到allin-packages目录下的独立UI包
|
|
|
- **集成方式**:每个UI模块将重构为独立的npm包,遵循@d8d/allin-命名规范,通过workspace依赖管理
|
|
|
- **技术栈转换**:从Ant Design + Jotai转换为shadcn/ui + React Query + Hono RPC
|
|
|
- **成功标准**:
|
|
|
- 1. 8个UI模块成功移植为独立UI包
|
|
|
+ 1. 7个UI模块成功移植为独立UI包
|
|
|
2. 保持原有功能完整性
|
|
|
3. 遵循现有UI包结构模式
|
|
|
4. 通过组件测试和集成测试验证
|
|
|
5. 与史诗007移植的后端模块无缝集成
|
|
|
+ 6. 区域管理功能复用现有`@d8d/area-management-ui`包
|
|
|
|
|
|
## 模块分析结果
|
|
|
|
|
|
@@ -73,6 +74,7 @@
|
|
|
- 依赖:Ant Design组件、自定义API客户端、树形结构
|
|
|
- 功能:区域树形管理、CRUD操作
|
|
|
- 复杂度:中等(树形结构)
|
|
|
+ - **重要说明**:已有`@d8d/area-management-ui`包提供相同功能,直接复用即可
|
|
|
|
|
|
8. **salary管理页面** (`app/admin/dashboard/salary/page.tsx`)
|
|
|
- 依赖:Ant Design组件、自定义API客户端、复杂表单验证
|
|
|
@@ -91,7 +93,7 @@
|
|
|
| disability_person | `@d8d/allin-disability-person-management-ui` | `disability-person-management-ui` | `@d8d/allin-disability-module` | 残疾人个人管理UI |
|
|
|
| order | `@d8d/allin-order-management-ui` | `order-management-ui` | `@d8d/allin-order-module` | 订单管理UI |
|
|
|
| platform | `@d8d/allin-platform-management-ui` | `platform-management-ui` | `@d8d/allin-platform-module` | 平台管理UI |
|
|
|
-| region | `@d8d/allin-region-management-ui` | `region-management-ui` | `@d8d/geo-areas` | 区域管理UI |
|
|
|
+| region | **复用现有`@d8d/area-management-ui`** | - | `@d8d/geo-areas` | 区域管理UI(已有现成包) |
|
|
|
| salary | `@d8d/allin-salary-management-ui` | `salary-management-ui` | `@d8d/allin-salary-module` | 薪资管理UI |
|
|
|
|
|
|
**命名原则**:
|
|
|
@@ -114,7 +116,7 @@
|
|
|
│ ├── disability-person-management-ui/ # 残疾人个人管理UI
|
|
|
│ ├── order-management-ui/ # 订单管理UI
|
|
|
│ ├── platform-management-ui/ # 平台管理UI
|
|
|
-│ ├── region-management-ui/ # 区域管理UI
|
|
|
+│ # 区域管理UI已有`@d8d/area-management-ui`,无需创建新包
|
|
|
│ ├── salary-management-ui/ # 薪资管理UI
|
|
|
│ ├── channel-module/ # 后端模块(已存在)
|
|
|
│ ├── company-module/ # 后端模块(已存在)
|
|
|
@@ -394,7 +396,7 @@ const useChannels = () => {
|
|
|
1. **基础UI包**:先移植简单的CRUD页面(channel、platform)
|
|
|
2. **中等复杂度**:移植有依赖关系的页面(company、salary)
|
|
|
3. **高复杂度**:最后移植复杂页面(disability_person、order)
|
|
|
-4. **特殊处理**:region页面需要与`@d8d/geo-areas`包集成
|
|
|
+4. **特殊处理**:region页面已有`@d8d/area-management-ui`包,直接复用
|
|
|
|
|
|
**具体顺序**:
|
|
|
1. `allin-platform-management-ui`(最简单)
|
|
|
@@ -404,7 +406,7 @@ const useChannels = () => {
|
|
|
5. `allin-disability-management-ui`(中等复杂度)
|
|
|
6. `allin-disability-person-management-ui`(高复杂度)
|
|
|
7. `allin-order-management-ui`(高复杂度)
|
|
|
-8. `allin-region-management-ui`(特殊集成)
|
|
|
+**注**:region管理UI已有`@d8d/area-management-ui`包,无需移植
|
|
|
|
|
|
#### 兼容性保证
|
|
|
- **保持**:业务逻辑、数据模型、用户交互流程
|
|
|
@@ -505,31 +507,32 @@ const useChannels = () => {
|
|
|
7. 编写组件测试:验证基础功能
|
|
|
8. 通过类型检查和基本测试验证
|
|
|
|
|
|
-### 故事7:移植区域管理UI(region → @d8d/allin-region-management-ui)
|
|
|
-**目标**:移植区域管理页面,与`@d8d/geo-areas`包集成
|
|
|
+### **区域管理UI说明**
|
|
|
+**目标**:复用现有`@d8d/area-management-ui`包,无需重新移植
|
|
|
|
|
|
-**验收标准**:
|
|
|
-1. 创建`allin-packages/region-management-ui`目录结构
|
|
|
-2. 完成组件转换:树形区域管理组件
|
|
|
-3. **区域包集成**:与`@d8d/geo-areas`包深度集成
|
|
|
-4. 完成API客户端转换:树形数据API
|
|
|
-5. 完成状态管理转换:树形结构状态
|
|
|
-6. 完成表单转换:树形节点表单
|
|
|
-7. 配置package.json:依赖`@d8d/geo-areas`
|
|
|
-8. 编写组件测试:验证树形操作
|
|
|
-9. 通过类型检查和基本测试验证
|
|
|
+**现状分析**:
|
|
|
+1. **已有包**:`@d8d/area-management-ui`已提供完整的区域管理功能
|
|
|
+2. **技术栈**:与目标技术栈一致(shadcn/ui + React Query + Hono RPC)
|
|
|
+3. **功能匹配**:提供树形区域管理、CRUD操作、搜索等功能
|
|
|
+4. **集成点**:与`@d8d/geo-areas`后端模块已集成
|
|
|
+
|
|
|
+**实施策略**:
|
|
|
+1. **直接复用**:在Allin系统中直接使用`@d8d/area-management-ui`包
|
|
|
+2. **依赖配置**:在需要区域选择功能的UI包中添加对`@d8d/area-management-ui`的依赖
|
|
|
+3. **组件集成**:使用`AreaSelector`、`AreaTree`等现有组件
|
|
|
+4. **无需移植**:节省开发工作量,保持技术栈一致性
|
|
|
|
|
|
-### 故事8:移植薪资管理UI(salary → @d8d/allin-salary-management-ui)
|
|
|
+### 故事7:移植薪资管理UI(salary → @d8d/allin-salary-management-ui)
|
|
|
**目标**:移植薪资管理页面,包含复杂表单验证
|
|
|
|
|
|
**验收标准**:
|
|
|
1. 创建`allin-packages/salary-management-ui`目录结构
|
|
|
2. 完成组件转换:薪资表格、复杂表单组件
|
|
|
-3. **区域包集成**:区域选择器组件
|
|
|
+3. **区域包集成**:集成`@d8d/area-management-ui`的区域选择器组件
|
|
|
4. 完成API客户端转换:薪资计算API
|
|
|
5. 完成状态管理转换:数值计算状态
|
|
|
6. 完成表单转换:复杂数值验证
|
|
|
-7. 配置package.json:依赖`@d8d/geo-areas`
|
|
|
+7. 配置package.json:依赖`@d8d/area-management-ui`
|
|
|
8. 编写组件测试:验证数值计算和验证
|
|
|
9. 通过类型检查和基本测试验证
|
|
|
|
|
|
@@ -627,15 +630,15 @@ const useChannels = () => {
|
|
|
|
|
|
## 完成定义
|
|
|
|
|
|
-- [ ] 所有8个故事完成,验收标准满足
|
|
|
+- [ ] 所有7个故事完成,验收标准满足
|
|
|
- [ ] 故事1:渠道管理UI
|
|
|
- [ ] 故事2:公司管理UI
|
|
|
- [ ] 故事3:残疾人管理UI
|
|
|
- [ ] 故事4:残疾人个人管理UI
|
|
|
- [ ] 故事5:订单管理UI
|
|
|
- [ ] 故事6:平台管理UI
|
|
|
- - [ ] 故事7:区域管理UI
|
|
|
- - [ ] 故事8:薪资管理UI
|
|
|
+ - [ ] 故事7:薪资管理UI
|
|
|
+- [ ] 区域管理功能复用`@d8d/area-management-ui`包
|
|
|
- [ ] 现有功能通过测试验证
|
|
|
- [ ] 集成点正常工作
|
|
|
- [ ] 文档更新适当
|
|
|
@@ -644,7 +647,7 @@ const useChannels = () => {
|
|
|
## 验证清单
|
|
|
|
|
|
### 范围验证
|
|
|
-- [ ] 史诗可在8个故事内完成
|
|
|
+- [ ] 史诗可在7个故事内完成
|
|
|
- [ ] 不需要架构文档变更
|
|
|
- [ ] 增强遵循现有模式
|
|
|
- [ ] 集成复杂度可管理
|
|
|
@@ -682,8 +685,8 @@ const useChannels = () => {
|
|
|
- **故事4**:移植残疾人个人管理UI(disability_person → @d8d/allin-disability-person-management-ui)
|
|
|
- **故事5**:移植订单管理UI(order → @d8d/allin-order-management-ui)
|
|
|
- **故事6**:移植平台管理UI(platform → @d8d/allin-platform-management-ui)
|
|
|
-- **故事7**:移植区域管理UI(region → @d8d/allin-region-management-ui)
|
|
|
-- **故事8**:移植薪资管理UI(salary → @d8d/allin-salary-management-ui)
|
|
|
+- **故事7**:移植薪资管理UI(salary → @d8d/allin-salary-management-ui)
|
|
|
+- **区域管理**:复用现有`@d8d/area-management-ui`包(无需移植)
|
|
|
|
|
|
**每个故事的关键要求**:
|
|
|
1. **技术栈转换**:必须完成组件、API客户端、状态管理、表单的完整转换
|