绿纤ERP管理系统
项目简介
绿纤ERP管理系统是一个基于现代化技术栈开发的企业资源规划系统,专为绿纤行业量身定制。系统采用前后端分离架构,提供完整的门店管理、业绩统计、工资核算、报表分析等业务管理功能。
🎯 核心功能亮点
- 📊 业绩统计系统 - 门店业绩、个人业绩、金三角业绩等多维度统计
- 💰 工资核算系统 - 健康师底薪、提成、奖励等自动计算
- 📈 报表分析系统 - 可视化图表、趋势分析、排行榜展示
- 🏪 门店管理系统 - 门店信息、归属管理、新店保护
- 👥 人员管理系统 - 健康师管理、金三角团队管理
- 📋 客户管理系统 - 客户信息、会员权益、拓客记录
技术栈
后端技术
- .NET Core 3.1/5.0 - 跨平台Web框架
- SqlSugar - 轻量级ORM框架
- MySQL - 关系型数据库
- JWT - 身份认证
- Serilog - 结构化日志
- Swagger - API文档
前端技术
- Vue 2.6 - 渐进式JavaScript框架
- Element UI - 企业级UI组件库
- Vuex - 状态管理
- Vue Router - 路由管理
- Axios - HTTP客户端
- SCSS - CSS预处理器
- ECharts - 数据可视化图表库
项目结构
lvqianmeiye_ERP/
├── netcore/ # 后端.NET Core项目
│ └── src/
│ ├── Application/ # 应用层
│ ├── Infrastructure/ # 基础设施层
│ └── Modularity/ # 业务模块层
│ ├── System/ # 系统管理模块
│ ├── Extend/ # 🎯 核心业务模块(绿纤ERP业务逻辑)
│ │ ├── NCC.Extend/ # 业务服务层
│ │ ├── NCC.Extend.Entitys/ # 实体模型层
│ │ └── NCC.Extend.Interfaces/ # 接口定义层
│ ├── OAuth/ # 身份认证模块
│ ├── Message/ # 消息中心模块
│ ├── Order/ # 订单管理模块
│ ├── VisualDev/ # 可视化开发模块
│ └── Tenant/ # 多租户支持模块
├── antis-ncc-admin/ # 前端Vue项目
│ ├── src/
│ │ ├── api/ # API接口
│ │ ├── components/ # 公共组件
│ │ ├── views/ # 页面视图
│ │ │ ├── salaryStatistics/ # 工资统计页面
│ │ │ ├── personalPerformanceStatistics/ # 个人业绩统计
│ │ │ ├── storeTotalPerformanceStatistics/ # 门店总业绩统计
│ │ │ ├── departmentConsumePerformanceStatistics/ # 部门消耗业绩统计
│ │ │ ├── techPerformanceStatistics/ # 科技部业绩统计
│ │ │ ├── storeConsumePerformanceStatistics/ # 门店消耗业绩统计
│ │ │ ├── report/ # 报表分析页面
│ │ │ └── ... # 其他业务页面
│ │ ├── router/ # 路由配置
│ │ └── store/ # 状态管理
│ ├── package.json # 前端依赖配置
│ └── vue.config.js # Vue构建配置
└── html/ # 静态资源
🎯 核心业务模块说明
Extend模块是系统的核心业务模块,包含绿纤ERP的所有业务逻辑。该模块采用三层架构设计:
NCC.Extend(业务服务层)
包含所有业务服务的具体实现,按功能分类:
📊 业绩统计类
LqStatisticsService- 核心统计服务(个人业绩、门店业绩、金三角业绩等)LqReportService- 报表分析服务(趋势图、排行榜、仪表盘)
💰 工资核算类
LqGzService- 工资核算服务(健康师底薪、提成计算)
🏪 门店管理类
LqMdxxService- 门店信息管理服务LqMdXdbhsjService- 门店新店保护时间管理
👥 人员管理类
LqYcsdJsjService- 金三角设定管理服务LqJinsanjiaoUserService- 金三角用户绑定管理
📋 客户管理类
LqKhxxService- 客户信息管理服务LqTkjlbService- 拓客记录管理服务LqEventService- 拓客活动管理服务
🔧 系统工具类
EmailService- 邮件服务DocumentService- 文档管理服务BigDataService- 大数据分析服务WorkLogService- 工作日志服务
NCC.Extend.Entitys(实体模型层)
- Entity/ - 数据库实体模型(包含统计表、工资表等核心实体)
lq_statistics_personal_performance/- 个人业绩统计实体lq_statistics_store_total_performance/- 门店总业绩统计实体lq_statistics_gold_triangle/- 金三角业绩统计实体lq_statistics_department_consume_performance/- 部门消耗业绩统计实体lq_statistics_tech_performance/- 科技部业绩统计实体lq_statistics_store_consume_performance/- 门店消耗业绩统计实体lq_salary_statistics/- 工资统计实体
- Dto/ - 数据传输对象(包含统计、报表等DTO)
- Mapper/ - 对象映射配置
- Model/ - 业务模型类
NCC.Extend.Interfaces(接口定义层)
- 定义所有业务服务的接口契约
- 支持依赖注入和单元测试
- 提供清晰的业务边界
环境要求
开发环境
- Node.js: 16.20.2 (必须使用此版本)
- .NET Core SDK: 3.1 或 5.0
- MySQL: 5.7 或 8.0
- Visual Studio 2019/2022 或 VS Code
浏览器支持
- Chrome 70+
- Firefox 65+
- Safari 12+
- Edge 79+
快速开始
1. 克隆项目
git clone [项目地址]
cd lvqianmeiye_ERP
2. 后端启动
方式一:Visual Studio
- 打开
netcore/smart.agriculture.platform.NET.sln - 设置
NCC.API为启动项目 - 按 F5 运行
方式二:命令行
cd netcore/src/Application/NCC.API
dotnet restore
dotnet run
3. 前端启动
cd antis-ncc-admin
# 安装依赖
npm install
# 启动开发服务器
npm run dev
4. 访问系统
- 前端地址:http://localhost:3000
- 后端API:http://localhost:5000
- API文档:http://localhost:5000/antis.doc
默认账号
- 管理员账号:admin
- 默认密码:123456
主要功能模块
💡 说明:所有业务功能的核心代码都位于
netcore/src/Modularity/Extend/模块中
📊 业绩统计模块
- 个人业绩统计 (
LqStatisticsService) - 健康师个人业绩统计,包含首单业绩、升单业绩等 - 门店总业绩统计 (
LqStatisticsService) - 门店整体业绩统计,包含总业绩、欠款金额等 - 金三角业绩统计 (
LqStatisticsService) - 金三角团队业绩统计和分析 - 部门消耗业绩统计 (
LqStatisticsService) - 部门消耗业绩统计,包含人头数、人次等 - 科技部业绩统计 (
LqStatisticsService) - 科技部老师业绩统计 - 门店消耗业绩统计 (
LqStatisticsService) - 门店消耗业绩统计
💰 工资核算模块
- 工资统计 (
LqGzService) - 健康师工资核算,包含底薪、提成、奖励等 - 底薪计算 - 根据业绩标准自动计算健康师底薪(一星、二星、三星标准)
- 提成计算 - 根据业绩类型计算各类提成(基础业绩、合作业绩、奖励业绩等)
- 占比计算 - 队伍业绩与个人总业绩的占比分析
📈 报表分析模块
- 门店业绩趋势 (
LqReportService) - 门店业绩时间趋势分析 - 门店业绩排行榜 (
LqReportService) - 门店业绩排名统计 - 健康师业绩趋势 (
LqReportService) - 健康师个人业绩趋势 - 健康师业绩排行榜 (
LqReportService) - 健康师业绩排名统计 - 金三角业绩趋势 (
LqReportService) - 金三角团队业绩趋势 - 金三角业绩排行榜 (
LqReportService) - 金三角团队排名统计 - 综合仪表盘 (
LqReportService) - 多维度数据汇总展示
🏪 门店管理模块
- 门店信息管理 (
LqMdxxService) - 门店基础信息维护 - 门店归属管理 - 门店归属事业部、教育部、科技部等
- 新店保护时间 (
LqMdXdbhsjService) - 新店保护期管理
👥 人员管理模块
- 金三角设定 (
LqYcsdJsjService) - 金三角团队配置管理 - 金三角用户绑定 (
LqJinsanjiaoUserService) - 用户与金三角团队绑定关系 - 顾问身份管理 - 根据金三角绑定自动设置顾问身份
📋 客户管理模块
- 客户信息管理 (
LqKhxxService) - 客户档案管理 - 拓客记录管理 (
LqTkjlbService) - 拓客活动记录 - 拓客活动管理 (
LqEventService) - 拓客活动配置 - 会员权益管理 - 历史会员权益数据管理
⚙️ 系统管理模块(位于System模块)
- 用户管理 - 系统用户维护,用户权限管理
- 角色权限 - 权限分配管理,角色权限配置
- 系统配置 - 系统参数设置,基础配置维护
- 日志管理 - 操作日志查看,系统日志分析
开发指南
🎯 核心业务开发(Extend模块)
统计服务开发规范
统计表实体 (
NCC.Extend.Entitys/Entity/lq_statistics_*/)[SugarTable("lq_statistics_新统计表")] [Tenant(ClaimConst.TENANT_ID)] public class LqStatistics新统计Entity { [SugarColumn(ColumnName = "F_Id", IsPrimaryKey = true)] public string Id { get; set; } [SugarColumn(ColumnName = "F_StatisticsMonth")] public string StatisticsMonth { get; set; } // 其他统计字段... }统计DTO对象 (
NCC.Extend.Entitys/Dto/LqStatistics/)Lq新统计ListQueryInput- 列表查询输入Lq新统计ListOutput- 列表输出DTO
统计服务实现 (
LqStatisticsService)/// <summary> /// 保存新统计数据 /// </summary> public async Task Save新统计Statistics(string statisticsMonth) { // 统计逻辑实现 }
/// /// 获取新统计列表 /// public async Task Get新统计StatisticsList(Lq新统计ListQueryInput input) { // 查询逻辑实现 }
#### 报表服务开发规范
1. **报表接口定义** (`NCC.Extend.Interfaces/LqReport/`)
```csharp
public interface ILqReportService
{
Task<object> Get新报表Data(新报表Input input);
}
- 报表服务实现 (
LqReportService)csharp [HttpPost("get-新报表-data")] public async Task<object> Get新报表Data(新报表Input input) { // 报表数据查询和格式化 }
前端页面开发规范
统计页面组件 (
antis-ncc-admin/src/views/新统计Statistics/)index.vue- 统计列表页面- 使用
NCC-table组件 - 支持分页、筛选、导出功能
报表页面组件 (
antis-ncc-admin/src/views/report/)- 集成到现有报表页面
- 使用 ECharts 图表组件
- 支持时间筛选、类型切换
API接口 (
antis-ncc-admin/src/api/)// 统计接口 export function get新统计StatisticsList(data) { return request({ url: '/api/Extend/LqStatistics/get-新统计-statistics-list', method: 'post', data }) }
// 报表接口 export function get新报表Data(data) { return request({ url: '/api/Extend/LqReport/get-新报表-data', method: 'post', data }) }
### 前端开发
```bash
# 开发模式
npm run dev
# 构建生产版本
npm run build
# 代码检查
npm run lint
后端开发
# 还原包
dotnet restore
# 编译项目
dotnet build
# 运行项目
dotnet run
# 发布项目
dotnet publish -c Release
配置说明
数据库配置
修改 netcore/src/Application/NCC.API/appsettings.json 中的连接字符串:
{
"ConnectionStrings": {
"DefaultConnection": "Database=lqerp;Data Source=localhost;Port=3306;User Id=root;Password=yourpassword;Charset=utf8;"
}
}
前端代理配置
修改 antis-ncc-admin/vue.config.js 中的代理地址:
proxy: {
'/dev': {
target: 'http://localhost:5000', // 后端API地址
changeOrigin: true,
pathRewrite: {
'^/dev': ''
}
}
}
部署说明
后端部署
- 发布项目:
dotnet publish -c Release - 配置数据库连接字符串
- 部署到IIS或Linux服务器
前端部署
- 构建项目:
npm run build - 将
dist目录部署到Web服务器 - 配置Nginx或IIS反向代理
开发规范
📋 项目开发规范
- ID生成规范: 必须使用
YitIdHelper.NextId().ToString()生成ID,禁止使用Guid.NewGuid().ToString() - API接口规范: GET请求使用data字段传参,不使用params
- 权限控制: 所有数据查询必须添加园区权限过滤
- 数据一致性: 统计数据和列表数据必须使用相同的过滤条件
- UI一致性: 所有页面必须使用统一的布局和样式规范
- 性能优化: 所有列表接口支持分页,避免大数据量查询
- 安全防护: 使用SqlSugar ORM防止SQL注入
🗄️ 数据库规范
- 表命名: 业务前缀 + 功能名称 (如: lq_)
- 字段命名: 驼峰化
- 时间字段: 统一使用 DateTime 类型
- 删除标记:
base_organize.DeleteMark为null表示未删除 - SQL查询验证: 对于统计类型的SQL查询,在提交代码前必须先使用MCP MySQL工具执行验证
🎨 前端开发规范
- 组件开发: views 与 components 分离,弹窗、二级页面必须单独创建 Vue 文件
- 文件命名: 使用 kebab-case (如: user-dialog.vue)
- UI规范: 统一使用 NCC-table,标签右对齐,卡片高度100px,内边距12px,圆角12px
- 性能要求: 启用懒加载和代码分割,页面加载时间
常见问题
Q: 前端启动失败
A: 确保使用Node.js 16.20.2版本,其他版本可能不兼容
Q: 后端连接数据库失败
A: 检查数据库连接字符串和MySQL服务状态
Q: 权限验证失败
A: 检查JWT配置和Token有效期设置
Q: 页面显示异常
A: 检查浏览器控制台错误信息和网络请求状态
Q: 统计SQL执行失败
A: 使用MCP MySQL工具先验证SQL语法和字段名是否正确
Q: 报表页面404错误
A: 检查LqReportService是否正确实现ITransient接口并注册到DI容器
技术支持
如有技术问题,请联系开发团队或查看项目文档。
📊 已完成功能
✅ 核心统计功能
- [x] 个人业绩统计 - 健康师个人业绩统计,包含首单业绩、升单业绩等
- [x] 门店总业绩统计 - 门店整体业绩统计,包含总业绩、欠款金额等
- [x] 金三角业绩统计 - 金三角团队业绩统计和分析
- [x] 部门消耗业绩统计 - 部门消耗业绩统计,包含人头数、人次等
- [x] 科技部业绩统计 - 科技部老师业绩统计
- [x] 门店消耗业绩统计 - 门店消耗业绩统计
✅ 工资核算功能
- [x] 工资统计 - 健康师工资核算,包含底薪、提成、奖励等
- [x] 底薪计算 - 根据业绩标准自动计算健康师底薪(一星、二星、三星标准)
- [x] 提成计算 - 根据业绩类型计算各类提成(基础业绩、合作业绩、奖励业绩等)
- [x] 占比计算 - 队伍业绩与个人总业绩的占比分析
✅ 报表分析功能
- [x] 门店业绩趋势 - 门店业绩时间趋势分析
- [x] 门店业绩排行榜 - 门店业绩排名统计
- [x] 健康师业绩趋势 - 健康师个人业绩趋势
- [x] 健康师业绩排行榜 - 健康师业绩排名统计
- [x] 金三角业绩趋势 - 金三角团队业绩趋势
- [x] 金三角业绩排行榜 - 金三角团队排名统计
- [x] 综合仪表盘 - 多维度数据汇总展示
✅ 系统优化
- [x] 删除废弃代码 - 清理lq_ryzl、lq_tk_xsc等废弃模块
- [x] 修复SQL语法 - 解决MySQL兼容性问题
- [x] 修复字段映射 - 解决数据库字段名不匹配问题
- [x] 优化前端页面 - 修复布局、分页、样式等问题
版本信息
- 当前版本:v2.0.0
- 最后更新:2024年12月
- 维护状态:活跃开发中
- 主要更新:完成业绩统计、工资核算、报表分析等核心功能
注意:本项目仅供学习和内部使用,请勿用于商业用途。