README.md
11 KB
绿纤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预处理器
项目结构
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/ # 页面视图
│ │ │ ├── lqBmzb/ # 部门管理页面
│ │ │ ├── lqCpxx/ # 产品信息页面
│ │ │ ├── lqHygl/ # 会员管理页面
│ │ │ └── ... # 其他业务页面
│ │ ├── router/ # 路由配置
│ │ └── store/ # 状态管理
│ ├── package.json # 前端依赖配置
│ └── vue.config.js # Vue构建配置
└── html/ # 静态资源
🎯 核心业务模块说明
Extend模块是系统的核心业务模块,包含绿纤ERP的所有业务逻辑。该模块采用三层架构设计:
NCC.Extend(业务服务层)
包含所有业务服务的具体实现,按功能分类:
📋 基础管理类
LqBmzbService- 部门管理服务LqCpxxService- 产品信息管理服务LqHyglService- 会员管理服务LqKhxxService- 客户信息管理服务LqRyzlService- 人员资料管理服务
🏭 生产管理类
LqJsfaService- 工艺方案管理服务LqSbtjbService- 设备统计管理服务LqYcsdJsjService- 技术数据管理服务LqYcsdJjlftjsService- 技术方案管理服务LqYcsdMdlbjhsxxService- 模具管理服务
💰 销售管理类
LqXhHyhkService- 销售回款管理服务LqXhmxbService- 销售明细管理服务LqTkXscService- 提成管理服务LqTkjlbService- 提成记录管理服务
📦 库存管理类
LqKqhzbService- 库存汇总管理服务LqLssjService- 历史数据管理服务LqYjmxbService- 原料明细管理服务
📊 财务管理类
LqSkzhService- 收款账户管理服务LqHzfService- 汇总费用管理服务LqJdqdService- 季度清单管理服务
🔧 系统工具类
EmailService- 邮件服务DocumentService- 文档管理服务BigDataService- 大数据分析服务WorkLogService- 工作日志服务
NCC.Extend.Entitys(实体模型层)
- Entity/ - 数据库实体模型(66个实体)
- Dto/ - 数据传输对象(304个DTO)
- Mapper/ - 对象映射配置(50个映射器)
- 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/模块中
📋 基础管理模块
- 部门管理 (
LqBmzbService) - 组织架构管理,部门分类维护 - 产品信息 (
LqCpxxService) - 产品档案管理,产品分类维护 - 会员管理 (
LqHyglService) - 客户信息管理,会员等级维护 - 客户信息 (
LqKhxxService) - 客户档案管理,客户关系维护 - 人员资料 (
LqRyzlService) - 员工信息管理,人员档案维护
🏭 生产管理模块
- 工艺方案 (
LqJsfaService) - 生产工艺配置,工艺流程管理 - 设备统计 (
LqSbtjbService) - 设备使用情况统计,设备维护管理 - 技术数据 (
LqYcsdJsjService) - 技术参数管理,工艺数据维护 - 技术方案 (
LqYcsdJjlftjsService) - 技术方案管理,工艺优化 - 模具管理 (
LqYcsdMdlbjhsxxService) - 模具档案管理,模具维护
💰 销售管理模块
- 销售回款 (
LqXhHyhkService) - 销售回款管理,资金回笼跟踪 - 销售明细 (
LqXhmxbService) - 销售明细管理,销售数据分析 - 提成管理 (
LqTkXscService) - 销售提成计算,提成规则维护 - 提成记录 (
LqTkjlbService) - 提成记录管理,提成发放跟踪
📦 库存管理模块
- 库存汇总 (
LqKqhzbService) - 库存数据分析,库存统计报表 - 历史数据 (
LqLssjService) - 历史数据管理,数据归档 - 原料明细 (
LqYjmxbService) - 原料库存管理,原料使用跟踪
📊 财务管理模块
- 收款账户 (
LqSkzhService) - 收款账户管理,资金账户维护 - 汇总费用 (
LqHzfService) - 费用汇总管理,成本分析 - 季度清单 (
LqJdqdService) - 季度财务清单,财务报告
🔧 系统工具模块
- 邮件服务 (
EmailService) - 邮件发送,通知提醒 - 文档管理 (
DocumentService) - 文档存储,文件管理 - 大数据分析 (
BigDataService) - 数据分析,报表生成 - 工作日志 (
WorkLogService) - 工作日志记录,操作跟踪
⚙️ 系统管理模块(位于System模块)
- 用户管理 - 系统用户维护,用户权限管理
- 角色权限 - 权限分配管理,角色权限配置
- 系统配置 - 系统参数设置,基础配置维护
- 日志管理 - 操作日志查看,系统日志分析
开发指南
🎯 核心业务开发(Extend模块)
添加新的业务服务
创建实体模型 (
NCC.Extend.Entitys/Entity/)[SugarTable("lq_新表名")] [Tenant(ClaimConst.TENANT_ID)] public class Lq新实体Entity { [SugarColumn(ColumnName = "F_Id", IsPrimaryKey = true)] public string Id { get; set; } // 其他字段... }创建DTO对象 (
NCC.Extend.Entitys/Dto/)Lq新实体ListQueryInput- 列表查询输入Lq新实体CrInput- 创建输入Lq新实体UpInput- 更新输入Lq新实体InfoOutput- 详情输出Lq新实体ListOutput- 列表输出
创建接口定义 (
NCC.Extend.Interfaces/)public interface ILq新实体Service : ITransient { Task<dynamic> GetInfo(string id); Task<dynamic> GetList(Lq新实体ListQueryInput input); Task Create(Lq新实体CrInput input); Task Update(string id, Lq新实体UpInput input); Task Delete(string id); }实现业务服务 (
NCC.Extend/)[ApiDescriptionSettings(Tag = "Extend", Name = "Lq新实体", Order = 200)] [Route("api/Extend/[controller]")] public class Lq新实体Service : ILq新实体Service, IDynamicApiController, ITransient { // 服务实现... }
前端页面开发
创建页面组件 (
antis-ncc-admin/src/views/lq新模块/)index.vue- 列表页面Form.vue- 表单页面ExportBox.vue- 导出组件
添加API接口 (
antis-ncc-admin/src/api/extend/)export function getLq新实体List(data) { return request({ url: '/api/Extend/Lq新实体', method: 'GET', data }) }
前端开发
# 开发模式
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反向代理
常见问题
Q: 前端启动失败
A: 确保使用Node.js 16.20.2版本,其他版本可能不兼容
Q: 后端连接数据库失败
A: 检查数据库连接字符串和MySQL服务状态
Q: 权限验证失败
A: 检查JWT配置和Token有效期设置
Q: 页面显示异常
A: 检查浏览器控制台错误信息和网络请求状态
技术支持
如有技术问题,请联系开发团队或查看项目文档。
版本信息
- 当前版本:v1.0.0
- 最后更新:2024年
- 维护状态:活跃开发中
注意:本项目仅供学习和内部使用,请勿用于商业用途。