# 新图灵进销存系统(Blazor+Radzen) **Repository Path**: fundebiao/NewTuling ## Basic Information - **Project Name**: 新图灵进销存系统(Blazor+Radzen) - **Description**: 图灵进销存仿制品(Blazor+EF+Sqlite) - **Primary Language**: C# - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 6 - **Forks**: 1 - **Created**: 2025-06-03 - **Last Updated**: 2025-09-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # **新图灵进销存管理系统** ## 修改日志 ### 2025-8-26 1.修复在Docker中运行时,不能迁移Db的示例数据bug,原因是原来的代码在linux目录下没有写入权限,换成userprifle就可以了。 2.使用vs菜单中的,增加Docker功能,给WebApi-Server项目 增加了Docker启动功能。 ### 2025-8-6 1. Service改成异步加载 2. 前台实体都改成DTO模式 3. 清理代码,统一变量命名规则 ### 2025-7-11 1. 支持Maui客户端了 2. 支持WebApi服务器(还没有跟前端整合,因为ef转json有限制) 3. 为了让Web端,移动端共享组件,把各个模块的Razor组件,都从主项目中抽取到单独的项目中。 ## 致谢 - 感谢Jetbrains Rider提供的帮助 - 感谢Copilot, 元宝,深索等AI辅助编程工具 ## 项目背景 因为,想用Blazor技术栈,开发一个进销存软件。 在Gitee进行了仔细的搜索, 发现一个杨二狗兄弟的进销存[杨二狗/TulingMember](https://gitee.com/a106_admin/tuling-member), 言简意赅,详略得当。 非常适合时间比较有限的人来模仿。 于是,经过三个月的紧张开发,仿制和优化。 终于,做出来了。 ## 特点 - Radzen组件库的实际落地的系统 - 系统架构简单,不需要搭建数据库 - 迁移简单,一条命令就可以初始化数据库,并且提供了丰富的种子数据,直接上手使用,零难度 - 架构版本非常新(Net6), Ver6.0是目前能支持纯粹的Blazor Server模式的最高版本。再以后的版本都是支持auto的混合版本 - 代码清晰,直接,没有任何过度设计的抽象,接口和面向对象的多余设计,非常有利于学习原理 - 系统虽小,但是,五脏都在,可以作为原型,在项目开发直接使用 ## 功能模块 目前的模块一共有七大业务模块,一个登录模块,统共八大模块。 每个大模块下,还细分三个,两个不等的子模块。 ## 导航菜单 - 组织机构 - 权限管理 - 角色管理 - 员工管理 - 销售管理 - 销售单 - 退货单 - 采购管理 - 采购单 - 退货单 - 客商管理 - 客户管理 - 供应商管理 - 商品管理 - 商品分类 - 商品管理 - 计量单位 - 库存管理 - 产品库存 - 产品盘点 - 收支费用 ## 登录模块 - 简单的用户名和口令登录 - 修改密码 - 登出功能 ## 用户界面 ### 登录 ![输入图片说明](Login.png) ### 主页 ![输入图片说明](image.png) ### 权限管理 ![输入图片说明](permission.png) ### 角色管理 ![输入图片说明](role.png) ### 用户管理 ![输入图片说明](user.png) ### 销售单管理 ![输入图片说明](%E9%94%80%E5%94%AE%E5%8D%95.png) ### 新增销售单对话框 ![输入图片说明](%E6%96%B0%E5%A2%9E%E9%94%80%E5%94%AE%E5%8D%95.png) ### 商品分类管理 ![输入图片说明](%E5%95%86%E5%93%81%E5%88%86%E7%B1%BB.png) ## 遗留问题 - 由于时间仓促,产品库存和产品盘点留待将来。 - 测试不充分,系统鲁棒性不够,校验之类的,个别模块做了实现,其他模块可以参照例子CV大法。 ## 技术栈说明 在保留了主要的功能基础上。也进行了大多阔斧的改动和简化。 同样为了降低开发难度,没有实现前后端分离。就是说,没有创建一个Web API后台项目。 在Blazor Server模式下,直接读写数据库。 为了实现系统的可移植性,使用sqlite作为后台数据库。 读写数据库的ORM,采用的是微软官方Entity Framework Core6.0。 前端Blazor组件, 采用的是开源免费的Radzen组件库 ## 技术栈: 1. Blazor Server(.Net6.0) 1. sqlite 1. entity framework core6.0 1. Radzen Blazor Libraries ## 迁移(已有样库,可以省略): ``` dotnet ef database drop dotnet ef database update ``` 创建数据库, 表结构, 种子数据 ## 启动服务器: ``` dotnet run ``` ## 登录用户(管理员): admin/123456