Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

家庭医疗档案与报销助手

家用医疗档案 + 保险报销管理工具。本地单用户,全栈 Web 应用。

快速开始

方式一:直接运行 exe(推荐)

  1. 下载 医疗档案.exe
  2. 复制到一个空文件夹
  3. 双击启动
  4. 浏览器自动打开 http://localhost:8000

功能:

  • 无命令行窗口(仅托盘图标)
  • 系统托盘图标(右键:打开页面 / 退出)
  • 单实例检查(重复双击不会多开)
  • 数据保存在 exe 同目录的 data/ 和 uploads/

方式二:开发模式

# 后端
cd backend
pip install -r requirements.txt
python main.py

# 前端(新终端)
cd frontend
npm install
npm run dev

访问 http://localhost:8000

它能做什么

  • 👨‍👩‍👧 家庭成员管理 — 增/改/删家人,自定义头像(14 种颜色+图标)
  • 🏥 就诊记录 — 一次就诊 = 一组资料(医院/科室/医生/主诉/金额/开药/医嘱/忌口 + 多张图片)
  • 📦 资料照片真存盘 — 上传图片自动生成缩略图,存到本地 uploads/,SQLite 只存路径
  • 💊 康复打卡 — 跨就诊聚合的"用药/治疗 + 用量"时间线
  • 💰 保险报销 — 4 步向导:选成员 → 选就诊 → 填金额(申请/免赔/实赔联动)→ 生成清单
  • ⏱ 报销时间线 — 提交 / 保险回复 / 补充资料 / 状态变更 / 赔付,全在一条时间线上
  • 🏷 医院/医生/科室自动入库 — 输入即记忆,下次自动补全
  • 🔍 双向链接 — 就诊详情里看关联的报销(含状态徽章),报销详情里点就诊跳转
  • 📱 移动端友好 — 响应式 375px 宽度
  • 🌙 深色模式 — 设置里切换
  • 💾 备份恢复 — ZIP 备份(含数据库 + 图片 + 清单),支持增量恢复
  • 🔧 管理员操作 — 点版本号 5 次解锁格式化功能

技术栈

  • 后端: Python 3.11+ / FastAPI / SQLAlchemy 2 / SQLite / Pillow
  • 前端: Vue 3 (Composition API) / Vite / Pinia / Vue Router / Axios
  • 存储: SQLite 单文件 + 本地目录存原图 + 缩略图
  • 打包: PyInstaller(单 exe,自带 Python + 所有依赖)

目录结构

medical-archive/
├── 医疗档案.exe              # 可执行文件(双击即用)
├── app.py                  # 打包入口
├── build.py                # 打包脚本
├── backend/                # FastAPI 后端
│   ├── app/
│   │   ├── main.py         # FastAPI 应用组装
│   │   ├── config.py       # 配置
│   │   ├── database.py     # SQLAlchemy 引擎
│   │   ├── models.py       # 数据模型
│   │   ├── schemas.py      # Pydantic 结构
│   │   ├── storage.py      # 文件存储 + 缩略图
│   │   ├── seed.py         # 种子数据
│   │   ├── utils.py        # 公共工具
│   │   └── routers/        # API 路由
│   ├── main.py             # 开发模式入口
│   └── requirements.txt
└── frontend/               # Vue 3 前端
    ├── src/
    │   ├── api/            # API 封装 + 类型 + 常量
    │   ├── components/     # 复用组件
    │   ├── views/          # 页面
    │   ├── stores/         # Pinia 状态
    │   ├── router/         # 路由
    │   └── styles.css      # 全部样式
    └── package.json

数据备份

自动备份

在应用内:设置 → 备份与恢复 → 下载备份

手动备份

复制 exe 同目录的 data/ 和 uploads/ 文件夹

备份内容

  • data/app.db — SQLite 数据库
  • uploads/originals/ — 原图
  • uploads/thumbs/ — 缩略图

API 概览

所有接口前缀 /api/v1,详见 http://localhost:8000/docs

资源 端点
成员 GET/POST /members, GET/PATCH/DELETE /members/{id}
就诊 GET/POST /visits, GET/PATCH/DELETE /visits/{id}
就诊文件 POST /visits/{id}/files, DELETE /visits/{id}/files/{fid}
康复打卡 GET/POST /medlogs, DELETE /medlogs/{id}
报销 GET/POST /claims, GET/PATCH/DELETE /claims/{id}
报销事件 POST /claims/{id}/events
备份 GET /backup, GET /backup/full, POST /backup/restore

打包 exe

# 1. 构建前端
cd frontend && npm run build && cd ..

# 2. 打包
python build.py

# 输出: dist/医疗档案.exe

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages