实用综合档案管理系统核心功能介绍与零门槛落地实操指南

前置环境准备

本系统基于Python Flask开发,普通Windows电脑即可运行,无需云服务器,零成本搭建,需要提前准备以下环境:

  • Python 3.8及以上版本,直接从官方地址下载:https://www.python.org/downloads/windows/,安装时必须勾选Add Python to PATH选项,否则无法进行后续操作
  • 安装项目依赖,打开命令提示符,直接执行以下命令即可:
    pip install flask sqlalchemy

核心功能模块介绍

本系统包含中小团队日常档案管理所需的全部核心功能,各功能作用如下:

1. 档案入库管理

支持单份档案手动录入,系统自动生成唯一档案编号,无需手动编排,自动分类存储,可后续扩展批量导入功能。

2. 多维度档案检索

支持通过档案编号、档案名称关键词快速检索,一秒定位目标档案,无需翻找纸质目录。

3. 借阅归还全流程管理

自动记录借阅人、借阅时间、归还时间,实时更新档案状态,彻底解决纸质档案丢失后无法追溯的问题。

4. 本地安全存储

所有数据存储在本地SQLite数据库中,仅需备份一个文件即可保证数据不丢失,可随时导出迁移。

实操落地步骤

步骤1:创建项目目录

在电脑任意位置新建文件夹,命名为archive-system,在该文件夹内再新建两个子文件夹,分别命名为templatesstatic,最终目录结构如下:

  • archive-system/ 项目根目录
  • ├─ app.py 主程序文件(下一步创建)
  • ├─ templates/ 前端页面文件夹
  • ├─ static/ 附件存储文件夹
  • └─ archive.db 数据库文件(运行后自动生成)

步骤2:编写主程序代码

在项目根目录新建文件,命名为app.py,复制粘贴以下完整代码:

``` from flask import Flask, render_template, request, redirect from sqlalchemy import create_engine, Column, Integer, String, DateTime from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm import sessionmaker import datetime app = Flask(__name__) engine = create_engine('sqlite:///./archive.db', echo=False) Base = declarative_base() SessionLocal = sessionmaker(bind=engine) db = SessionLocal() 档案数据表 class Archive(Base): __tablename__ = 'archives' id = Column(Integer, primary_key=True, autoincrement=True) archive_no = Column(String(50), unique=True, nullable=False) name = Column(String(100), nullable=False) category = Column(String(50), nullable=False) year = Column(Integer, nullable=False) owner = Column(String(50)) status = Column(String(20), default='在库') create_time = Column(DateTime, default=datetime.datetime.now) 借阅记录表 class Borrow(Base): __tablename__ = 'borrow' id = Column(Integer, primary_key=True, autoincrement=True) archive_id = Column(Integer, nullable=False) borrower = Column(String(50), nullable=False) borrow_time = Column(DateTime, default=datetime.datetime.now) return_time = Column(DateTime) Base.metadata.create_all(engine) @app.route('/') def index(): archives = db.query(Archive).all() return render_template('index.html', archives=archives) @app.route('/add', methods=['GET', 'POST']) def add_archive(): if request.method == 'POST': category = request.form.get('category') year = request.form.get('year') count = db.query(Archive).filter_by(category=category, year=int(year)).count() archive_no = f"{category[:2]}{year}{count+1:04d}" new_archive = Archive( archive_no=archive_no, name=request.form.get('name'), category=category, year=int(year), owner=request.form.get('owner') ) db.add(new_archive) db.commit() return redirect('/') return render_template('add.html', current_year=datetime.datetime.now().year) @app.route('/search') def search(): keyword = request.args.get('keyword', '') archives = db.query(Archive).filter(Archive.name.contains(keyword) | Archive.archive_no.contains(keyword)).all() return render_template('index.html', archives=archives) @app.route('/borrow/', methods=['GET', 'POST']) def borrow(archive_id): archive = db.query(Archive).get(archive_id) if request.method == 'POST': if archive.status == '在库': new_borrow = Borrow(archive_id=archive_id, borrower=request.form.get('borrower')) db.add(new_borrow) archive.status = '借出' db.commit() else: borrow_record = db.query(Borrow).filter_by(archive_id=archive_id, return_time=None).first() borrow_record.return_time = datetime.datetime.now() archive.status = '在库' db.commit() return redirect('/') return render_template('borrow.html', archive=archive) if __name__ == '__main__': app.run(debug=True, port=5000) ```

步骤3:创建前端页面文件

实用综合档案管理系统核心功能介绍与零门槛落地实操指南

templates文件夹内新建第一个文件index.html,复制以下内容:

``` 综合档案管理系统

综合档案管理系统
{% for archive in archives %} {% endfor %}
档案编号档案名称分类年度状态操作
{{ archive.archive_no }} {{ archive.name }} {{ archive.category }} {{ archive.year }} {{ archive.status }} 借阅/归还
```

再新建add.html文件,复制以下内容:

``` 新增档案

新增档案
```

最后新建borrow.html文件,复制以下内容:

``` 借阅/归还

{% if archive.status == '在库' %}档案借阅{% else %}档案归还{% endif %}

档案编号:{{ archive.archive_no }}

档案名称:{{ archive.name }}

当前状态:{{ archive.status }}

{% if archive.status == '在库' %} {% endif %}
```

步骤4:启动系统

打开命令提示符,切换到项目根目录,执行以下命令:
python app.py

看到输出Running on http://127.0.0.1:5000后,打开浏览器输入地址http://localhost:5000即可正常使用系统。

日常使用操作指引

  • 新增档案:点击首页「新增档案」,填写对应信息后提交,系统自动生成唯一档案编号,无需手动编辑。
  • 检索档案:在首页搜索框输入关键词,点击搜索即可快速筛选目标档案。
  • 借阅归还:点击目标档案后的「借阅/归还」,按提示操作即可,系统自动更新状态、记录操作日志。
  • 数据备份:定期复制项目根目录下的archive.db文件到其他存储位置即可完成备份,恢复时直接替换该文件即可。

如果需要扩展功能,比如新增权限管理、批量上传附件、借阅到期提醒等,可以基于现有代码框架直接修改,无需重构整体结构。

AI咨询
热线电话

028-85154420

15388110056

全国售前咨询电话

扫码咨询
安答联动微信公众号二维码

微信扫码关注安答联动

申请试用
热线电话
申请试用

安答联动档案管理系统