核心功能模块
模块1: 客户管理 (Customer Management)
**功能**: 客户档案全生命周期管理
- 客户列表: 分页查询、多条件搜索、高级筛选、批量操作
- 客户详情: 基本信息展示、跟进记录时间线、附件管理
- 客户分类: 潜在客户、意向客户、成交客户等状态标签
- 公海池: 闲置客户自动回收、销售领取机制
- 数据权限: 销售只能看自己的客户,经理能看团队客户,管理员能看全部
**技术亮点**:
- 使用 `el-table` 虚拟滚动优化大数据量渲染性能
- 搜索输入框防抖(500ms)减少无效请求
- 列表页面使用Keep-Alive缓存,返回时保留筛选状态
#### 模块2: 销售漏斗 (Sales Funnel)
**功能**: 销售机会可视化管理和转化跟踪
- 看板视图: 拖拽式卡片切换销售阶段
- 销售阶段: 初步接触→需求确认→方案报价→商务谈判→合同签订
- 机会管理: 预计金额、预计成交时间、优先级标记
- 任务关联: 每个机会可添加多个待办任务
- 赢单分析: 输单原因统计,竞品分析
**技术亮点**:
- 自定义拖拽组件实现卡片在不同列之间移动
- 实时更新机会统计数据(总数量、总金额)
- 移动端优化: 列宽度自适应,横向滚动体验良好
#### 模块3: 数据分析 (Analytics Dashboard)
**功能**: 多维度业务数据统计和可视化
- 数据概览: 核心指标卡片(客户数、机会数、跟进数、待办数)
- 业绩趋势: 折线图展示近30天成交金额趋势
- 销售排名: 柱状图展示团队成员业绩排行榜
- 客户来源分析: 饼图展示客户获取渠道占比
- 漏斗转化分析: 漏斗图展示各阶段转化率
**技术亮点**:
- ECharts按需引入,减少打包体积约200KB
- 图表响应式配置,自动适配容器大小变化
- 使用Web Worker处理大量数据计算,避免主线程阻塞
#### 模块4: 权限管理 (RBAC Permission)
**功能**: 基于角色的访问控制
- 用户管理: 添加/编辑/禁用员工账号
- 角色管理: 预设角色(管理员、销售经理、销售、财务等)
- 权限配置: 功能权限(增删改查)+ 数据权限(本人/本部门/全部)
- 操作日志: 记录所有敏感操作,支持审计追溯
**技术亮点**:
- 前端路由守卫 + 后端中间件双重鉴权
- 自定义指令 `v-permission` 控制按钮级权限
- 权限数据缓存到Redis,减少数据库查询
1. **前后端分离架构模板**: 可直接复用到其他企业管理系统
2. **权限控制方案**: RBAC模型,适用于多种业务场景
3. **数据可视化方案**: ECharts封装,可快速实现各种图表
4. **移动端适配方案**等等
2.2 技术栈详解
前端技术栈
| 技术 | 版本 | 用途 | 选型理由 |
|------|------|------|----------|
| **Vue 3** | 3.4 | 核心框架 | Composition API提升代码组织性,TypeScript支持好 |
| **TypeScript** | 5.x | 类型系统 | 编译时类型检查,减少运行时错误 |
| **Element Plus** | 2.5 | UI组件库 | 组件丰富(50+),企业级场景覆盖全面 |
| **Pinia** | 2.1 | 状态管理 | Vue官方推荐,比Vuex更简洁 |
| **Vue Router** | 4.2 | 路由管理 | 支持动态路由和权限控制 |
| **Axios** | 1.6 | HTTP客户端 | 拦截器机制,统一错误处理 |
| **ECharts** | 5.4 | 数据可视化 | 图表类型丰富,性能优秀 |
| **Vite** | 5.0 | 构建工具 | 冷启动2秒内,热更新<50ms |
| **Sass** | - | CSS预处理 | 支持变量和嵌套,主题定制方便 |
后端技术栈
| 技术 | 版本 | 用途 | 选型理由 |
|------|------|------|----------|
| **Node.js** | 18 LTS | 运行环境 | 前后端统一语言,异步IO性能好 |
| **Express** | 4.18 | Web框架 | 轻量灵活,中间件生态完善 |
| **MySQL** | 8.0 | 主数据库 | 关系型数据适合CRM业务,事务支持强 |
| **Redis** | 7.2 | 缓存数据库 | Token存储,字典缓存,性能优化 |
| **Sequelize** | 6.35 | ORM框架 | 数据库迁移管理,模型定义清晰 |
| **JWT** | - | 身份认证 | 无状态认证,跨域友好 |
| **Winston** | 3.11 | 日志管理 | 分级日志,支持文件/数据库输出 |
| **PM2** | 5.3 | 进程管理 | 自动重启,负载均衡,日志管理 |
**最佳实践**:
1. **前后端数据格式约定要提前确定**,避免后期大量返工
2. **移动端适配要从设计阶段就考虑**,而不是事后补救
3. **组件封装要遵循单一职责**,过度封装反而降低效率
4. **权限控制要前后端双重验证**,前端只是用户体验优化
**踩坑记录**:
1. Element Plus重复注册导致组件无法识别
2. v-model和props + events混用导致通信失败
3. Sass @import弃用警告(需要迁移到@use)