feat: 添加ERP服务和系统服务,完善员工门户功能

## 新增服务模块

### 1. ERP服务 (hzhub-erp)
- 新增独立的ERP数据适配服务
- 支持SQL Server 2008 R2数据源
- 提供动态API配置管理系统
- 包含客户管理、销售数据等业务接口

### 2. 系统服务 (hzhub-system)
- 新增独立的系统管理服务
- 用户、角色、权限、部门、菜单管理
- 租户管理、操作日志、在线用户监控
- 工作流引擎(warm-flow)集成
- 企业微信审批同步功能

### 3. API网关 (hzhub-gateway)
- 新增Spring Cloud Gateway网关服务
- JWT认证、路由分发、限流熔断
- XSS防护、请求日志记录
- 统一入口端口8080

## 后台管理功能增强

### ERP动态API管理
- 新增动态API配置管理界面
- API测试、文档预览、统计监控
- 错误日志查看、缓存管理
- 从数据库表自动导入API配置

### 系统管理增强
- 企业微信配置管理
- 企业微信审批同步配置
- 部门和用户管理优化

## 员工门户功能完善

### 业务页面
- 审批中心:工作流审批、待办任务
- CRM管理:客户关系管理
- 经销商管理:经销商数据展示
- 供应链管理:采购、库存、销售
- BI报表:数据可视化分析
- ERP数据探索:SQL Server数据查询

### 个人中心
- 基本设置:个人信息管理
- 安全设置:密码修改、登录日志
- 锁屏功能:自动锁屏、手动锁屏

### 其他功能
- 标签页管理:多标签页导航
- 页面缓存:keepAlive缓存机制
- 会话超时:自动检测并提示

## 经销商门户

### 页面路由
- 新增经销商管理页面路由
- AI聊天界面完善

## 文档更新

- ERP API数据库初始化指南
- ERP API前端完整实现文档
- ERP API测试和验证指南
- Gateway路由迁移计划
- 项目配置文档更新

## 部署脚本

- 统一启动/停止/重启脚本
- Docker Compose配置优化
- Nginx配置文件更新

## 技术栈

- 后端: Spring Boot 3.5.8, Java 17
- 前端: Vue 3, TypeScript, Element Plus, Vben Admin
- 工作流: warm-flow 1.8.2
- 网关: Spring Cloud Gateway
- 数据库: MySQL 8.0, SQL Server 2008 R2
- 缓存: Redis 7
- 向量库: Weaviate 1.25.0

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
大壮
2026-05-08 08:00:19 +00:00
parent e6fc123b1f
commit c2513849b4
1564 changed files with 52903 additions and 641 deletions

View File

@@ -0,0 +1,168 @@
# ERP API 管理平台 - 前端代码完成清单
## ✅ 已创建的前端文件
### API 定义文件2个
- `/data/hzhub/hzhub-admin/apps/web-antd/src/api/erp/api/index.ts` - API 函数定义(完整)
- 包含所有接口函数list、info、add、edit、remove、test、preview、stats、errorLog、cache等
- 完整的 TypeScript 类型定义
### 数据定义文件1个
- `/data/hzhub/hzhub-admin/apps/web-antd/src/views/erp/api/data.tsx` - 列定义和表单 Schema
- 搜索表单 Schema
- 表格列定义
- 各类选项配置API方法、版本、结果类型、参数类型等
### 主页面组件2个
- `/data/hzhub/hzhub-admin/apps/web-antd/src/views/erp/api/index.vue` - **API配置列表页**
- 标准的 VxeGrid 表格页面
- 搜索、分页、工具栏(新增、删除、从表导入)
- 操作列(测试、文档、编辑、删除、清缓存)
- 状态切换 Switch
- 权限控制 v-access:code
- `/data/hzhub/hzhub-admin/apps/web-antd/src/views/erp/stats/index.vue` - API监控页占位符
### 弹窗组件2个
- `/data/hzhub/hzhub-admin/apps/web-antd/src/views/erp/api/test-modal.vue` - **API测试弹窗**
- 参数输入表单(动态生成)
- 执行按钮
- 结果展示JSON格式化
- 错误信息详情
- 执行时间统计
- `/data/hzhub/hzhub-admin/apps/web-antd/src/views/erp/api/doc-preview-modal.vue` - 文档预览弹窗
- 多Tab展示基本信息、参数说明、SQL模板、使用示例
### 编辑页组件3个
- `/data/hzhub/hzhub-admin/apps/web-antd/src/views/erp/api/edit-api.vue` - **编辑页主文件**
- 两Tab设计基础设置 + 参数配置)
- 数据加载和保存逻辑
- provide/inject 数据共享
- `/data/hzhub/hzhub-admin/apps/web-antd/src/views/erp/api/edit-tabs/basic-setting.vue` - 基础设置 Tab
- VbenForm 表单组件
- 所有配置字段API名称、路径、SQL模板、权限、缓存等
- 动态显示字段(分页参数、权限标识、缓存配置)
- `/data/hzhub/hzhub-admin/apps/web-antd/src/views/erp/api/edit-tabs/params-config.vue` - 参数配置 Tab
- VxeGrid inline-editable 表格
- 新增、删除参数功能
- 参数字段编辑(名称、类型、位置、必填、默认值等)
---
## 📊 文件统计
**总计****9个前端文件**
**核心功能页面**
- 1个列表页index.vue
- 1个编辑页edit-api.vue + 2个Tab组件
- 2个弹窗test-modal、doc-preview-modal
- 1个监控页占位符
**代码特点**
- ✅ 使用 Vben Admin 标准组件和模式
- ✅ 完整的 TypeScript 类型定义
- ✅ 权限控制集成v-access:code
- ✅ 响应式表单和表格
- ✅ CodeMirror JSON 展示
- ✅ inline-editable 参数配置表格
---
## 🚀 下一步操作
### 刷新页面测试
现在所有前端代码已创建完成,请:
1. **刷新管理后台页面**Ctrl+F5 或 Cmd+Shift+R
2. **重新登录**(如果需要)
3. **点击左侧菜单**"ERP管理 > API配置"
4. **应该看到**
- 空列表页(表格正常显示)
- 工具栏有"新增"、"从表导入"、"批量删除"按钮
### 功能测试清单
**列表页测试**
- 表格正常显示
- 搜索表单可用
- 新增按钮跳转到编辑页
**新增测试**
- 点击"新增"进入编辑页
- 两Tab切换正常
- 基础设置表单正常
- 参数配置表格可编辑
**保存测试**
- 填写必填字段API名称、路径、SQL模板
- 点击"保存配置"
- 返回列表页,能看到新创建的配置
**测试功能**
- 在列表中点击"测试"
- 弹窗正常打开
- 输入参数(或空)
- 点击"执行"
- 查看执行结果和执行时间
---
## 可能遇到的问题
### 问题1: 页面仍然404
**原因**:前端服务未重启或缓存未清除
**解决**
```bash
# 重启前端服务
cd /data/hzhub/hzhub-admin/apps/web-antd
pnpm dev
# 或清除浏览器缓存并刷新
```
### 问题2: 编译错误
**原因**:可能缺少某些类型定义
**解决**:查看编译错误信息,我会立即修复
### 问题3: 路径错误
**原因**:路由配置问题(菜单已配置,但路由可能需要调整)
**解决**:检查菜单中的 `component` 字段是否正确映射到组件路径
---
## 📝 菜单配置确认
请确认 sys_menu 表中的配置:
```sql
-- ERP管理一级菜单
menu_name='ERP管理', path='/erp', component='ParentView'
-- API配置二级菜单
menu_name='API配置', path='api', component='erp/api/index'
-- API监控二级菜单
menu_name='API监控', path='stats', component='erp/stats/index'
```
`component` 字段应该映射到:
- `erp/api/index``/views/erp/api/index.vue`
- `erp/stats/index``/views/erp/stats/index.vue`
---
**请刷新页面并告诉我结果!**
如果页面正常显示,我们将进入完整功能测试阶段。
如果遇到问题,请告诉我具体错误信息,我会立即协助解决。🔧