Files
hzhub/hzhub-portal-employee
大壮 3f643ef31f feat: 完成CRM商机和线索管理模块开发
## 新增功能

### 商机中心 (/opportunity)
- Stats统计卡片(商机总数、金额、赢单、转化率)
- Pipeline商机管道(阶段Tab:全部/线索/谈判中/方案/赢单)
- 商机列表真实数据渲染(来自crm_opportunity表)
- 商机卡片详情(经销商、负责人、金额、概率)
- Pipeline计数实时更新

### 线索中心 (/lead)
- 线索列表完整功能(CRUD)
- 线索详情Drawer(基础信息 + 跟进记录Timeline)
- 新建线索(含ERP客户关联、手机号验证)
- 添加跟进记录(跟进方式、内容、下次时间)
- 分配负责人(用户选择器,显示真实姓名)
- 线索转经销商(自动创建商机)
- 删除线索(逻辑删除)

## 后端开发

### 数据库表
- crm_lead(线索表)
- crm_lead_follow(线索跟进记录表)
- crm_dealer(经销商表)
- crm_opportunity(商机表)
- crm_opportunity_follow(商机跟进记录表)
- 数据字典初始化

### API接口
- 线索管理:CRUD、详情、跟进、分配、转化
- 商机管理:列表查询
- 用户选择器:员工门户专用API

### 核心功能
- 线索转化自动创建经销商和商机
- 负责人翻译显示真实姓名(修复)
- 手机号前后端双重格式验证(修复)

## 前端开发

### 页面架构改进
- 商机中心:保留原CRM设计风格(Stats + Pipeline)
- 线索中心:独立页面(完整线索管理)
- 左侧菜单:独立菜单项(商机中心、线索中心)

### API模块
- src/api/crm/:线索和商机API类型定义和调用方法
- src/api/user/:用户选择器API

### 样式设计
- 商机中心:100%保持原CRM Pipeline设计风格
- 使用CSS变量系统(var(--radius-lg), var(--shadow-sm)等)
- Pipeline Tab白色圆角设计
- 商机卡片阴影和hover效果
- 头像堆叠显示

## 配置修改

- Gateway路由:添加CRM模块路由配置
- Gateway路由:添加system模块路由配置
- Aside菜单:拆分商机中心和线索中心

## Bug修复

- 修复负责人显示手机号问题(UserNameTranslationImpl返回昵称)
- 修复手机号格式验证缺失(前后端双重验证)
- 修复商机管道设计风格不一致(完整复制原CRM样式)

## 文档

- CRM销售模块详细设计说明书V3.md
- CRM线索转化API契约
- CRM线索转化开发计划
- CRM线索转化测试指引
- CRM线索管理测试指引
- CRM商机管理测试指引
- CRM架构改进报告
- CRM Bug修复报告

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-20 09:46:59 +00:00
..

HZHub 员工门户

企业员工门户系统

HZHub 企业员工门户提供审批流程、销售CRM、BI报表、AI应用集成等功能

后端服务 | 管理后台 | 经销商门户

功能特性

  • 🔄 审批流程: 支持多级审批、流程管理
  • 📊 BI报表: 实时数据分析、可视化报表
  • 🤝 CRM管理: 客户管理、销售跟踪
  • 🤖 AI应用: AI助手、智能问答
  • 📱 企业微信: 支持企业微信H5集成

技术栈

  • 框架: Vue 3 + TypeScript
  • UI组件: Element Plus
  • 状态管理: Pinia
  • 构建工具: Vite
  • HTTP请求: hook-fetch (支持SSE流式传输)

Docker 部署

一键启动(推荐)

cd hzhub-deploy
docker-compose up -d

# 访问员工门户
# 地址: http://localhost:5137

单独部署

# 进入项目目录
cd hzhub-portal-employee

# 构建并启动
docker-compose up -d --build

服务端口

服务 端口 说明
员工门户 5137 员工前端访问地址
经销商门户 5138 经销商前端访问地址
管理后台 5666 管理后台访问地址
后端服务 6039 后端 API 服务

本地开发

# 安装依赖
pnpm install

# 启动开发服务器
pnpm dev

# 类型检查
pnpm build

# 代码检查
pnpm lint

环境变量配置

项目根目录 .env.development 文件:

VITE_API_URL=              # 后端API地址默认通过Vite代理
VITE_CLIENT_ID=e5cd7e4891bf95d1d19206ce24a7b32e
VITE_WEB_TITLE=Employee Portal 企业员工门户

登录超时配置

员工门户默认登录超时时间为30分钟可通过修改数据库配置调整为1小时或其他时长。

详细配置说明: TIMEOUT_CONFIG.md

快速修改:

# 执行SQL更新超时时间为1小时
mysql -u root -phzhub123 hzhub < /tmp/update_timeout_1hour.sql

注意: 修改后需要重新登录才能生效。

多租户支持

系统支持多租户架构,不同公司实体(集团总部、汇亚公司、恒福公司、玛缇公司)通过登录时选择不同租户进行数据隔离。

登录方式

  1. URL参数方式: http://localhost:5137/login?tenant=000002
  2. 手动选择方式: 在登录界面选择公司

项目结构

hzhub-portal-employee/
├── src/
│   ├── api/           # API模块
│   ├── components/    # 可复用组件
│   ├── layouts/       # 布局组件
│   ├── pages/         # 页面组件
│   ├── routers/       # 路由配置
│   ├── stores/        # Pinia状态管理
│   ├── styles/        # 样式文件
│   └── utils/         # 工具函数
├── public/            # 静态资源
├── .env.development   # 开发环境配置
├── Dockerfile         # Docker构建文件
├── nginx.conf         # Nginx配置
└── package.json       # 项目配置

常见问题

Q: 如何切换不同公司登录?

A: 通过URL参数 ?tenant=租户ID 或在登录页面手动选择公司。

Q: 如何连接后端服务?

A: 开发环境通过Vite代理生产环境通过Nginx代理配置 UPSTREAM_URL

开源协议

本项目采用 MIT 开源协议


❤️ 打造,由 HZHub 团队维护