diff --git a/README.md b/README.md new file mode 100644 index 0000000..23592cd --- /dev/null +++ b/README.md @@ -0,0 +1,189 @@ +# 分支机构活动管理系统 + +这是一个基于Django开发的分支机构活动管理系统,用于管理公司各分支机构的活动、人员、设备和预算等信息。 + +## 功能特点 + +- **分支机构管理**:维护分支机构的基本信息、联系方式、分类和状态 +- **活动管理**:记录分支机构的新建、搬迁、装修、撤销等活动信息 +- **联系人管理**:管理各分支机构的联系人信息及分类 +- **设备间图片管理**:上传和管理分支机构设备间的图片 +- **图纸管理**:上传和管理分支机构相关图纸 +- **预算管理**:管理活动预算、设备预算和基础设施预算 +- **终端设备管理**:管理视频终端等设备信息 +- **公共屏幕管理**:管理分支机构的公共屏幕信息 + +## 技术栈 + +- **后端框架**:Django +- **数据库**:SQLite +- **前端技术**:HTML、CSS、Tailwind CSS +- **表单处理**:Django Forms +- **模板引擎**:Django Templates + +## 项目结构 + +``` +fzjgact/ +├── fzjgact/ # 项目配置目录 +│ ├── __init__.py +│ ├── asgi.py +│ ├── settings.py +│ ├── urls.py +│ └── wsgi.py +├── huodong/ # 主应用目录 +│ ├── migrations/ # 数据库迁移文件 +│ ├── static/ # 静态资源 +│ ├── templates/ # 模板文件 +│ ├── templatetags/ # 自定义模板标签 +│ ├── __init__.py +│ ├── admin.py # 后台管理配置 +│ ├── apps.py # 应用配置 +│ ├── models.py # 数据模型 +│ ├── serializers.py # 序列化器 +│ ├── tests.py # 测试文件 +│ ├── urls.py # 应用路由 +│ └── views.py # 视图函数 +├── db.sqlite3 # 数据库文件 +├── manage.py # Django管理脚本 +├── tailwind.config.js # Tailwind CSS配置 +└── requirements.txt # 依赖文件(需创建) +``` + +## 安装和运行 + +### 1. 环境要求 + +- Python 3.7+ +- Django 3.2+ +- 其他依赖(见requirements.txt) + +### 2. 安装步骤 + +1. **克隆项目** + + ```bash + git clone <项目地址> + cd 分支机构活动 + ``` + +2. **创建虚拟环境** + + ```bash + python -m venv venv + ``` + +3. **激活虚拟环境** + + - Windows: + ```bash + venv\Scripts\activate + ``` + - Linux/Mac: + ```bash + source venv/bin/activate + ``` + +4. **安装依赖** + + ```bash + pip install -r requirements.txt + ``` + +5. **初始化数据库** + + ```bash + cd fzjgact + python manage.py migrate + ``` + +6. **创建超级用户** + + ```bash + python manage.py createsuperuser + ``` + +7. **启动开发服务器** + + ```bash + python manage.py runserver + ``` + +### 3. 访问系统 + +- 后台管理:http://localhost:8000/admin +- 前端页面:http://localhost:8000 + +## 使用说明 + +### 后台管理 + +1. 使用超级用户登录后台管理界面 +2. 可以管理以下模块: + - 分支机构信息 + - 联系人管理 + - 活动记录 + - 设备间图片 + - 图纸管理 + - 预算信息 + - 公共屏幕 + - 视频终端 + +### 前端功能 + +1. **分支机构列表**:查看所有分支机构信息 +2. **分支机构详情**:查看分支机构的详细信息、联系人、活动等 +3. **设备间图片**:查看分支机构设备间的图片 +4. **公共屏幕**:查看公共屏幕信息 +5. **视频终端**:查看视频终端信息 +6. **统计信息**:查看系统统计数据 + +## 自定义命令 + +- `randomize_background_color`:为分支机构随机生成背景颜色 + +## 开发说明 + +### Tailwind CSS + +项目使用Tailwind CSS进行样式开发: + +1. 配置文件:`tailwind.config.js` +2. 启动Tailwind开发服务器: + ```bash + ./tailwindcss-windows-x64.exe -i ./huodong/static/huodong/input.css -o ./huodong/static/huodong/output.css --watch + ``` + +### 数据模型 + +主要数据模型包括: +- Branch(分支机构) +- Contact(联系人) +- Activity(活动) +- EquipmentImage(设备间图片) +- Drawing(图纸) +- Budget(预算) +- PublicScreen(公共屏幕) +- VideoTerminal(视频终端) + +## 许可证 + +[MIT License](LICENSE) + +## 更新日志 + +### v1.0 +- 初始版本 +- 实现基本的分支机构和活动管理功能 + +### v1.1 +- 增加联系人管理功能 +- 增加设备间图片管理 + +### v1.2 +- 增加图纸管理功能 +- 增加预算管理功能 + +### v1.3 +- 增加公共屏幕和视频终端管理 +- 优化界面样式 \ No newline at end of file diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..ef46ccd --- /dev/null +++ b/requirements.txt @@ -0,0 +1,382 @@ +absl-py==2.3.1 +aiofiles==23.2.1 +aiohttp==3.8.5 +aiosignal==1.3.1 +altgraph==0.17.4 +annotated-types==0.6.0 +anyio==3.7.1 +appdirs==1.4.4 +argcomplete==1.10.0 +argon2-cffi==23.1.0 +argon2-cffi-bindings==21.2.0 +arrow==1.2.3 +asgiref==3.7.2 +astor==0.8.1 +asttokens==3.0.0 +astunparse==1.6.3 +async-lru==2.0.5 +async-timeout==4.0.3 +attrdict==2.0.1 +attrs==23.1.0 +autobahn==24.4.2 +Babel==2.12.1 +bce-python-sdk==0.8.90 +bcrypt==4.3.0 +beautifulsoup4==4.8.0 +binaryornot==0.4.4 +bleach==6.2.0 +blinker==1.6.2 +briefcase==0.3.19 +brotli==1.2.0 +build==0.10.0 +cachetools==5.3.1 +certifi==2023.7.22 +cffi==1.15.1 +chardet==3.0.4 +charset-normalizer==3.2.0 +ci-info==0.3.0 +click==8.1.6 +clr-loader==0.2.6 +cnocr==2.2.4 +cnstd==1.2.3.4 +colorama==0.4.6 +coloredlogs==15.0.1 +comm==0.2.2 +comtypes==1.4.8 +configobj==5.0.8 +configparser==6.0.0 +contourpy==1.1.1 +cookiecutter==2.6.0 +cryptography==41.0.3 +cssselect==1.2.0 +cssselect2==0.8.0 +cssutils==2.7.1 +cycler==0.11.0 +Cython==3.0.2 +dashscope==1.20.14 +debugpy==1.8.13 +decorator==5.1.1 +defusedxml==0.7.1 +diskcache==5.6.3 +distro==1.9.0 +Django==5.0.6 +django-appconf==1.0.6 +django-select2==8.2.1 +django-unfold==0.36.0 +djangorestframework==3.15.1 +docker-pycreds==0.4.0 +docx2pdf==0.1.8 +docx2txt==0.8 +EasyProcess==1.1 +EbookLib==0.17.1 +entrypoint2==1.1 +et-xmlfile==1.1.0 +etelemetry==0.3.0 +exceptiongroup==1.1.3 +executing==2.2.0 +extract-msg==0.23.1 +factory_boy==3.3.3 +Faker==25.2.0 +fastapi==0.103.2 +fastjsonschema==2.21.1 +filelock==3.12.4 +fire==0.5.0 +FLAML==2.1.1 +Flask==2.3.3 +flask-babel==3.1.0 +flatbuffers==25.2.10 +fonttools==4.61.1 +fqdn==1.5.1 +frontend==0.0.3 +frozenlist==1.4.0 +fsspec==2023.9.2 +future==0.18.3 +gast==0.6.0 +gevent==23.7.0 +gitdb==4.0.10 +GitPython==3.1.32 +google-pasta==0.2.0 +greenlet==3.0.1 +grpcio==1.74.0 +h11==0.14.0 +h5py==3.14.0 +httpcore==0.18.0 +httplib2==0.22.0 +httpx==0.25.0 +huggingface-hub==0.17.3 +humanfriendly==10.0 +hyperlink==21.0.0 +idna==3.4 +imageio==2.31.4 +imagekitio==4.1.0 +IMAPClient==2.1.0 +imgaug==0.4.0 +iniconfig==2.0.0 +ipykernel==6.29.5 +ipython==9.0.2 +ipython_pygments_lexers==1.1.1 +ipywidgets==8.1.5 +isodate==0.6.1 +isoduration==20.11.0 +itsdangerous==2.1.2 +jedi==0.19.2 +Jinja2==3.1.2 +jiter==0.12.0 +joblib==1.5.1 +json5==0.12.0 +jsonpointer==3.0.0 +jsonschema==4.23.0 +jsonschema-specifications==2024.10.1 +jupyter==1.1.1 +jupyter-console==6.6.3 +jupyter-events==0.12.0 +jupyter-lsp==2.2.5 +jupyter_client==8.6.3 +jupyter_core==5.7.2 +jupyter_server==2.15.0 +jupyter_server_proxy==4.4.0 +jupyter_server_terminals==0.5.3 +jupyterlab==4.3.6 +jupyterlab_pygments==0.3.0 +jupyterlab_server==2.27.3 +jupyterlab_vpython==3.1.8 +jupyterlab_widgets==3.0.13 +jwt==1.3.1 +keras==3.11.1 +keyboard==0.13.5 +kiwisolver==1.4.5 +lazy_loader==0.3 +libclang==18.1.1 +lightning-utilities==0.9.0 +livekit-api==0.2.1 +livekit-protocol==1.0.2 +lmdb==1.4.1 +loguru==0.7.2 +looseversion==1.3.0 +lxml==4.9.3 +Markdown==3.8.2 +markdown-it-py==3.0.0 +MarkupSafe==2.1.3 +matplotlib==3.8.0 +matplotlib-inline==0.1.7 +mdurl==0.1.2 +mistune==3.1.3 +ml_dtypes==0.5.3 +MouseInfo==0.1.3 +mpmath==1.3.0 +mss==9.0.1 +multidict==6.0.4 +namex==0.1.0 +nbclient==0.10.2 +nbconvert==7.16.6 +nbformat==5.10.4 +nest-asyncio==1.6.0 +networkx==3.1 +nibabel==5.1.0 +nipype==1.8.6 +notebook==7.3.3 +notebook_shim==0.2.4 +Nuitka==2.7.13 +numpy==1.26.0 +olefile==0.46 +onnx==1.14.1 +onnxruntime==1.16.0 +openai==2.14.0 +opencv-contrib-python==4.6.0.66 +opencv-python==4.11.0.86 +openpyxl==3.1.2 +opt-einsum==3.3.0 +optree==0.17.0 +ordered-set==4.1.0 +outcome==1.2.0 +overrides==7.7.0 +packaging==23.1 +paddle-bfloat==0.1.7 +paddleocr==2.7.0.3 +paddlepaddle==2.5.1 +pandas==2.1.1 +pandocfilters==1.5.1 +paramiko==3.5.1 +parso==0.8.4 +pathtools==0.1.2 +pdf2docx==0.5.6 +pdf2image==1.17.0 +pdfkit==1.0.0 +pdfminer.six==20181108 +pefile==2023.2.7 +Pillow==10.0.1 +platformdirs==3.10.0 +playwright==1.40.0 +pluggy==1.5.0 +Polygon3==3.0.9.1 +premailer==3.10.0 +prometheus_client==0.21.1 +prompt_toolkit==3.0.50 +protobuf==3.20.2 +prov==2.0.0 +psutil==5.9.5 +pure_eval==0.2.3 +pyasn1==0.6.1 +PyAudio==0.2.14 +pyautogen==0.1.10 +PyAutoGUI==0.9.54 +pyclipper==1.3.0.post5 +pycparser==2.21 +pycryptodome==3.19.0 +pydantic==2.10.4 +pydantic_core==2.27.2 +pydot==1.4.2 +pydyf==0.12.1 +pyee==11.0.1 +PyGetWindow==0.0.9 +Pygments==2.16.1 +pyinstaller==6.9.0 +pyinstaller-hooks-contrib==2024.7 +PyJWT==2.10.1 +PyMsgBox==1.0.9 +PyMuPDF @ file:///C:/Users/dxzq/Downloads/PyMuPDF-1.20.2-cp311-cp311-win_amd64.whl#sha256=8969f3a8462352d8ddb3b679e87e85f84ae4fb49d2ef5d927563ceaca9a2aeaa +PyMuPDFb==1.23.3 +PyNaCl==1.5.0 +pynput==1.7.6 +pyoxidizer==0.24.0 +pyparsing==3.1.1 +PyPDF2==3.0.1 +pyperclip==1.8.2 +pyphen==0.17.2 +pyproject_hooks==1.0.0 +PyQt5==5.15.11 +PyQt5-Qt5==5.15.2 +PyQt5-stubs==5.15.6.0 +PyQt5_sip==12.17.0 +PyQt6==6.10.0 +PyQt6-Qt6==6.10.0 +PyQt6_sip==13.10.2 +pyreadline3==3.4.1 +PyRect==0.2.0 +pyscreenshot==3.1 +PyScreeze==0.1.29 +pyserial==3.5 +PySide6==6.9.1 +PySide6_Addons==6.9.1 +PySide6_Essentials==6.9.1 +pysnmp==7.1.15 +PySocks==1.7.1 +pytesseract==0.3.10 +pytest==8.3.2 +pytest-django==4.11.1 +pytest-qt==4.5.0 +python-dateutil==2.9.0.post0 +python-docx==0.8.11 +python-dotenv==1.0.0 +python-json-logger==3.3.0 +python-multipart==0.0.6 +python-pptx==0.6.18 +python-slugify==8.0.1 +pythonnet==3.0.1 +pytorch-lightning==2.0.9 +pytweening==1.0.7 +pytz==2023.3.post1 +PyWavelets==1.4.1 +pywin32==308 +pywin32-ctypes==0.2.2 +pywinauto==0.6.9 +pywinpty==2.0.15 +pyxnat==1.6 +PyYAML==6.0.1 +pyzmq==26.4.0 +rapidfuzz==3.3.1 +rarfile==4.1 +rdflib==7.0.0 +redis==7.0.1 +referencing==0.36.2 +reportlab==4.4.3 +requests==2.31.0 +requests-toolbelt==0.10.1 +rfc3339-validator==0.1.4 +rfc3986-validator==0.1.1 +rich==13.5.2 +rpds-py==0.24.0 +scapy==2.6.1 +schedule==1.2.2 +scikit-image==0.21.0 +scikit-learn==1.7.1 +scipy==1.11.2 +seaborn==0.12.2 +selenium==4.11.2 +Send2Trash==1.8.3 +sentry-sdk==1.31.0 +setproctitle==1.3.2 +shapely==2.0.1 +shiboken6==6.9.1 +simpervisor==1.0.0 +simplejson==3.19.1 +six==1.14.0 +smmap==5.0.0 +sniffio==1.3.0 +sortedcontainers==2.4.0 +soupsieve==2.5 +SpeechRecognition==3.8.1 +sqlparse==0.4.4 +stack-data==0.6.3 +starlette==0.27.0 +sympy==1.12 +tensorboard==2.19.0 +tensorboard-data-server==0.7.2 +tensorflow==2.19.0 +tensorflow-io-gcs-filesystem==0.31.0 +termcolor==2.3.0 +terminado==0.18.1 +text-unidecode==1.3 +textract==1.6.3 +threadpoolctl==3.6.0 +tifffile==2023.9.26 +tinycss2==1.5.1 +tinyhtml5==2.0.0 +toga==0.3.1 +toga-core==0.4.6 +toga-winforms==0.4.6 +tomli_w==1.0.0 +torch==2.0.1 +torchmetrics==1.2.0 +torchvision==0.15.2 +tornado==6.4.2 +tqdm==4.66.1 +traitlets==5.14.3 +traits==6.3.2 +travertino==0.3.0 +trio==0.22.2 +trio-websocket==0.10.3 +txaio==23.1.1 +types-protobuf==5.29.1.20250403 +typing_extensions==4.12.2 +tzdata==2023.3 +tzlocal==1.5.1 +Unidecode==1.3.7 +uri-template==1.3.0 +urllib3==1.26.20 +uvicorn==0.23.2 +visualdl==2.5.3 +vpython==7.6.5 +wandb==0.15.11 +wcwidth==0.2.13 +weasyprint==67.0 +webcolors==24.11.1 +webdriver-manager==4.0.0 +webencodings==0.5.1 +websocket==0.2.1 +websocket-client==1.8.0 +Werkzeug==2.3.7 +wget==3.2 +widgetsnbextension==4.0.13 +win32-setctime==1.1.0 +wrapt==1.17.2 +wsproto==1.2.0 +xlrd==1.2.0 +XlsxWriter==3.2.0 +yarl==1.9.2 +zai-sdk==0.0.4 +zhipuai==2.1.5.20250106 +zope.event==5.0 +zope.interface==6.0 +zopfli==0.4.0 +zstandard==0.24.0