基于 Tauri + Vue 3 + SQLite 构建的现代化、轻量级医疗/企业物资(SPD)台账管理桌面客户端。本系统致力于为各类物资提供安全、高效、直观的本地化库存和出入库管理方案。
- 🚀 动态台账管理:支持自定义物资分类(默认提供:一次性耗材、低值易耗品、高值耗材、办公用品),支持修改分类名称和说明,支持物资台账的增删改查。
- 📦 出入库与库存控制:标准化出入库操作流程,并支持设定“缺货预警阈值”,库存告警一目了然。
- 📊 实时数据大屏 (Dashboard):图形化展现各分类物资库存概况及预警名单,帮助管理者快速决策。
- 🔐 高级安全机制:
- 初始化向导:支持首次启动时自定义本地 SQLite 数据库路径,确保数据隐私与隔离。
- 双重删除确认:系统管理(人员、分类管理等)的敏感删除操作必须输入管理员密码进行二次校验,彻底杜绝误删。
- 📝 详尽的审计日志:自动记录所有出入库、人员变更、分类调整操作,精确到人、时间和操作细节。
- 💾 数据备份与恢复:内置一键导出和导入 SQLite 数据库文件功能,轻松实现数据迁移和容灾备份。
- 📑 导入/导出功能:支持 Excel 模板批量导入物资基础数据,支持导出台账到 Excel 表格。
- 前端框架:Vue 3 + TypeScript + Vite
- UI 组件库:Element Plus
- 桌面端核心:Tauri (Rust)
- 本地数据库:SQLite (通过
rusqlite操作) - 表格处理:XLSX (SheetJS)
在开始编译和运行本系统之前,请确保您的开发环境已安装以下工具:
- Node.js: 建议 v18 或以上版本 (下载地址)
- Rust: (安装指南)
- Tauri 依赖:
- macOS:
xcode-select --install - Windows: C++ Build Tools 和 WebView2
- Linux: 系统级依赖包
- macOS:
git clone <你的仓库地址>
cd spd-sysnpm install
# 或者使用 pnpm
# pnpm install启动本地开发服务器并打开 Tauri 桌面窗口:
npm run tauri dev首次启动须知: 系统启动后会进入“初始化向导”,您可以选择默认的系统数据目录(如 Mac 的
~/.gemini/antigravity),也可以自定义一个新的空文件夹作为 SQLite 数据库.db文件的存储位置。初始化时必须设置管理员密码。
如果您需要将应用打包为当前操作系统可执行的独立安装程序(如 .dmg 或 .exe):
npm run tauri build打包完成后,产物位于 src-tauri/target/release/bundle/ 目录下。
- 初始化系统:设定好数据库路径及初始管理员密码,默认密码:123456。
- 系统管理 - 基础配置:
- 进入“人员管理”,添加可以进行出入库操作的员工/操作员。
- 进入“分类物资管理”,可根据实际场景增加自定义的物资台账分类。
- 导入物资库:进入具体的分类台账页面,点击“批量导入”,下载模板填入初始数据后上传,或手动“新增物资”。
- 日常操作:通过左侧“出入库操作”菜单,选择对应物资,填写入库或出库数量。
- 安全与备份:定期进入“数据备份管理”导出您的
.db数据文件妥善保管。若在操作时忘记管理员密码,可在“系统管理 - 修改管理员密码”处进行更改。
由于目前项目暂为私有性质,如果您在团队内部想要参与贡献:
- 请基于
master或main分支拉取新的 feature 分支。 - 提交代码时,请遵守常规的 Commit 规范。
- 代码通过
npx vue-tsc --noEmit和cargo check检查后再发起 Pull Request。
MIT License (或根据贵公司/个人要求自行修改)