Files
django-vue3-admin/README.zh.md
T
Lewis_yan 9ebda50083 docs: update README with project architecture and startup scripts
- Replace dvadmin3 framework intro with PIS project content
- Add project architecture section (tech stack, directory structure, modules)
- Add startup scripts documentation (start-backend.sh, start-frontend.sh, etc.)
- Update all 4 README files (EN/ZH for root and web/)
2026-04-07 10:07:03 +08:00

5.2 KiB
Raw Blame History

PIS - 采购与供应商管理系统

项目简介

基于 Django-Vue3 的采购与供应商管理系统,采用 RBAC 权限控制。

项目架构 🏗️

技术栈

层级 技术
后端 Django 4.2.14 + Django REST Framework 3.15.2
前端 Vue 3 + TypeScript + Vite 5.4 + Element Plus 2.8 + FastCRUD
数据库 MySQL 8.0
缓存/队列 Redis + Celery
实时通信 Django Channels (WebSocket)
认证 JWT via SimpleJWT

目录结构

pis/
├── backend/
│   ├── application/          # Django 项目配置
│   │   ├── settings.py       # 主配置(从 conf/env.py 导入配置)
│   │   ├── urls.py           # 根路由
│   │   ├── asgi.py           # ASGI 配置(支持 WebSocket
│   │   ├── wsgi.py           # WSGI 配置
│   │   └── celery.py         # Celery 配置
│   ├── apps/
│   │   ├── pisadmin/         # 采购管理应用
│   │   │   ├── basicinfo/    # 基础信息:公司、币种、供应商、单位、编码规则
│   │   │   └── miscprocurement/  # 杂项采购:询价、价格模板、成本节
│   │   └── pissupplier/      # 供应商报价模块
│   ├── dvadmin/              # 核心 RBAC 系统
│   │   └── system/           # 用户、角色、菜单、部门、日志
│   └── conf/
│       └── env.py            # 环境配置(数据库、Redis 凭证)
├── web/                      # Vue 3 前端
│   └── src/
│       ├── views/pisadmin/   # 采购管理页面
│       ├── views/pissupplier/# 供应商页面
│       └── views/system/     # 系统管理页面
└── scripts/                  # 服务管理脚本
    ├── start-backend.sh      # 启动后端服务
    ├── start-frontend.sh     # 启动前端服务
    ├── start-celery.sh       # 启动 Celery worker/beat
    ├── stop-all.sh           # 停止所有服务
    └── check-status.sh       # 查看服务状态

模块说明

模块 说明
pisadmin/basicinfo 基础信息管理:公司、币种、供应商、单位、系统编号规则
pisadmin/miscprocurement 杂项采购:询价(RFQ)、价格模板、成本节构建器
pissupplier 供应商报价模块
dvadmin/system 核心 RBAC 系统:用户、角色、菜单、部门、操作日志

配置说明

后端配置分离:

  • application/settings.py - Django 默认配置
  • conf/env.py - 环境特定配置(数据库、Redis、密钥)

准备工作

Python >= 3.11.0 (最低3.9+版本)
nodejs >= 16.0
Mysql >= 8.0 (可选,默认数据库sqlite3,支持5.7+,推荐8.0版本)
Redis (可选,最新版)

快速启动

后端

方式一:脚本启动(推荐)

# 进入项目根目录
cd D:\AVC-PROJECT\pis

# 启动后端服务(开发模式)
./scripts/start-backend.sh

# 启动前端服务
./scripts/start-frontend.sh

# 启动 Celery 异步任务(可选)
./scripts/start-celery.sh

脚本功能说明:

脚本 说明
start-backend.sh 启动后端服务(自动创建 PID 和日志文件)
start-frontend.sh 启动前端开发服务器
start-celery.sh 启动 Celery Worker 和 Beat
stop-all.sh 停止所有服务
stop-celery.sh 仅停止 Celery 服务
check-status.sh 查看所有服务状态
view-logs.sh 查看服务日志

查看日志:

./scripts/view-logs.sh all      # 查看所有日志
./scripts/view-logs.sh backend  # 仅看后端日志
./scripts/view-logs.sh celery   # 仅看 Celery 日志

停止服务:

./scripts/stop-all.sh           # 停止所有服务
./scripts/stop-celery.sh        # 仅停止 Celery

方式二:手动启动

# 1. 进入后端目录
cd backend

# 2. 复制并配置环境文件
cp ./conf/env.example.py ./conf/env.py
# 编辑 env.py 配置数据库信息

# 3. 安装依赖
pip3 install -r requirements.txt

# 4. 执行数据库迁移
python3 manage.py makemigrations
python3 manage.py migrate

# 5. 初始化数据
python3 manage.py init
python3 manage.py init_area

# 6. 启动后端
uvicorn application.asgi:application --port 8000 --host 0.0.0.0 --workers 8

前端

# 进入前端目录
cd web

# 安装依赖
npm install yarn
yarn install --registry=https://registry.npmmirror.com

# 启动开发服务器
yarn run dev
# 浏览器访问 http://localhost:8080
# .env.development 文件中可配置启动端口等参数

# 构建生产环境
yarn run build

访问项目

Docker 部署

docker-compose up -d
# 初始化后端数据(第一次执行即可)
docker exec -ti dvadmin3-django bash
python manage.py makemigrations
python manage.py migrate
python manage.py init_area
python manage.py init
exit

# 停止服务
docker-compose down

# 重启服务
docker-compose restart

# 重新构建并启动
docker-compose up -d --build