# 希姆计算资产管理管理系统 基于 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 部署支持