Files
asset-management/README.md
T

172 righe
5.1 KiB
Markdown
Originale Blame Cronologia

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 希姆计算资产管理管理系统
基于 Django + MySQL 的企业级硬件资产管理系统,支持 Excel 批量导入导出。
## ✨ 功能特性
- **仪表盘** — 资产统计总览、分类统计、状态分布、最近变更记录
- **资产管理** — 设备增删改查、资产编号/品牌/型号/序列号/资产面值等完整字段
- **分类管理** — 自定义设备分类(服务器、网络设备、存储设备等)
- **变更追踪** — 资产信息修改自动记录变更历史
- **Excel 导入导出** — 批量导入(分类不存在自动创建)、筛选导出、模板下载
- **多维度搜索** — 按编号/名称/部门/维护人/位置搜索,按分类/状态/位置筛选
- **质保提醒** — 已过保/即将过保状态标识
- **用户认证** — 登录/退出,管理员权限控制
- **深色主题** — 护眼深色 UI,适合长时间使用
## 🛠️ 技术栈
| 组件 | 技术 |
|------|------|
| 后端 | Django 4.2 |
| 数据库 | MySQL / MariaDB |
| 前端 | Bootstrap 5 + 自定义深色主题 |
| 部署 | Docker Compose / 直接运行 |
## 📋 资产字段
| 字段 | 说明 |
|------|------|
| 资产编号 | 自定义编号,可重复 |
| 设备名称 | 设备名称 |
| 分类 | 服务器/网络设备/存储设备等(支持自定义) |
| 品牌 | 设备品牌 |
| 型号 | 设备型号 |
| 资产面值 | 资产价值(元) |
| 序列号 | 设备序列号 |
| 状态 | 在用/闲置/维修中/已报废 |
| IP地址 | 管理IP |
| BMC地址 | BMC管理地址 |
| 设备位置 | 机房/机柜/U位 |
| 负责人 | 设备负责人 |
| 使用部门 | 使用部门 |
| 维护人 | 实际使用人 |
| 采购日期 | 采购时间 |
| 质保到期 | 质保截止日期 |
| 备注 | 补充说明 |
## 🚀 快速部署
### 方式一:Docker Compose(推荐)
```bash
# 克隆仓库
git clone ssh://git@git.cnbugs.com:10022/cnbugs/asset-management.git
cd asset-management
# 启动服务
docker-compose up -d
# 访问系统
# http://<服务器IP>:8010
# 默认账号: admin / admin123
```
### 方式二:直接运行
```bash
# 克隆仓库
git clone ssh://git@git.cnbugs.com:10022/cnbugs/asset-management.git
cd asset-management
# 创建虚拟环境
python3 -m venv venv
source venv/bin/activate
# 安装依赖
pip install -r requirements.txt
# 配置数据库(修改 config/settings.py 中的 DATABASES
# 创建 MySQL 数据库: CREATE DATABASE asset_management CHARACTER SET utf8mb4;
# 初始化
python manage.py migrate
python manage.py createsuperuser
# 启动
python manage.py runserver 0.0.0.0:8010
```
## ⚙️ 配置说明
### 数据库配置
编辑 `config/settings.py` 中的 `DATABASES`
```python
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'asset_management',
'USER': 'root',
'PASSWORD': 'password123',
'HOST': 'localhost',
'PORT': '3306',
}
}
```
### Docker 环境变量
`docker-compose.yml` 中配置:
| 变量 | 默认值 | 说明 |
|------|--------|------|
| MYSQL_HOST | db | MySQL 主机 |
| MYSQL_PORT | 3306 | MySQL 端口 |
| MYSQL_USER | root | MySQL 用户 |
| MYSQL_PASSWORD | password123 | MySQL 密码 |
| MYSQL_DATABASE | asset_management | 数据库名 |
| DJANGO_DEBUG | False | 调试模式 |
| DJANGO_SECRET_KEY | your-secret-key... | Django 密钥 |
## 📊 Excel 导入格式
| 资产编号 | 设备名称 | 分类 | 品牌 | 型号 | 资产面值 | 序列号 | 状态 | IP地址 | BMC地址 | 设备位置 | 负责人 | 使用部门 | 维护人 | 采购日期 | 质保到期 | 备注 |
|----------|---------|------|------|------|---------|--------|------|--------|---------|---------|--------|---------|--------|---------|---------|------|
- 分类不存在时自动创建
- 资产编号允许重复
- 日期格式:YYYY-MM-DD
- 状态可选:在用、闲置、维修中、已报废
## 📁 项目结构
```
asset-management/
├── assetapp/ # 主应用
│ ├── models.py # 数据模型
│ ├── views.py # 视图逻辑
│ ├── forms.py # 表单定义
│ ├── excel_utils.py # Excel 导入导出工具
│ ├── urls.py # URL 路由
│ ├── management/commands/ # 管理命令
│ ├── migrations/ # 数据库迁移
│ └── templatetags/ # 自定义模板标签
├── config/ # Django 配置
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
├── templates/assetapp/ # HTML 模板
├── static/css/ # 静态资源
├── docker-compose.yml # Docker 编排
├── Dockerfile # 容器构建
├── entrypoint.sh # 启动脚本
├── requirements.txt # Python 依赖
└── manage.py # Django 入口
```
## 📝 版本历史
### v1.0.0
- 资产增删改查
- 仪表盘统计
- 分类管理
- 变更追踪
- Excel 导入导出
- 多维度搜索筛选
- 质保到期提醒
- 深色主题
- Docker 部署支持