Files
tiantian-system/oa-module-README.md
赵忠林 ecdc1cc986 feat(collaboration): 添加完整协同办公模块及设备管理和文档协同页面
- 新增现代化企业协同办公系统,包含概览仪表板、项目管理、任务看板和文档协同
- 使用Vue 3、TypeScript、Nuxt.js及Ant Design Vue实现前端结构和交互
- 设计响应式布局、渐变背景及毛玻璃视觉效果,优化移动端体验
- 创建设备管理页面,实现设备台账、巡检、维修和报警管理
- 新建文档协同页面,支持文档搜索、筛选、分类显示及多种视图切换
- 配置协同办公导航及布局文件,完善模块化和组件化架构
- 修复管理页语法错误,完善演示数据和统计信息展示
- 提供新建、导入、分享、重命名和删除文档等核心操作功能
- 添加设备健康度及维修记录展示模块,方便车间设备管理和维护
- 更新.gitignore忽略输出目录,提升项目环境整洁性
2026-04-09 12:13:35 +08:00

316 lines
9.9 KiB
Markdown
Raw Permalink Blame History

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.

# 协同办公模块设计文档
## 概述
协同办公模块是葳管家企业一站式管理平台的核心功能模块之一,旨在提供全面的团队协作解决方案,覆盖项目管理、任务跟踪、文档协同、会议管理等多个方面。
## 功能模块
### 1. 概览仪表板
- **统计概览**: 快速查看待办任务、进行中项目、在线成员、文档协作等关键数据
- **快捷操作**: 新建文档、任务、会议、项目申请的快速入口
- **项目进度**: 实时展示各项目进度、状态和负责人
- **今日任务**: 个人今日任务列表,支持勾选完成
- **团队状态**: 团队成员在线状态、任务分配情况
- **文档协作**: 最近更新的文档、实时协同参与者
- **今日会议**: 当日安排的会议提醒和加入入口
- **最新公告**: 企业内部最新通知公告
### 2. 项目管理
- **项目看板**: 项目管理列表,包含进度、任务、成员等关键信息
- **项目筛选**: 按状态、负责人、优先级等多维度筛选
- **项目创建**: 完整的项目信息录入,包含名称、描述、负责人、起止时间等
- **项目统计**: 任务数量、完成率、成员数等统计数据
- **项目操作**: 查看、编辑、归档等功能
- **导出功能**: 支持项目信息导出
### 3. 任务看板
- **拖拽看板**: 四列看板设计(待处理、进行中、待审核、已完成)
- **任务卡片**: 包含优先级、负责人、截止时间、协作者等信息
- **任务操作**: 编辑、分配、删除、完成、审核等全套操作
- **任务统计**: 总任务数、完成数、逾期数、完成率等统计数据
- **任务筛选**: 个人任务、团队任务、全部任务视图切换
- **任务创建**: 完善的任务创建表单,包含预估工时、协作者等
### 4. 文档协同
- **文档管理**: 支持文档、表格、演示文稿、白板等多种文档类型
- **视图切换**: 网格视图和列表视图自由切换
- **文档搜索**: 按标题、描述、标签全文搜索
- **类型筛选**: 按文档类型快速筛选
- **文档操作**: 收藏、分享、复制、下载、重命名、删除等
- **文档创建**: 创建各种类型的文档,支持标签和文件夹管理
- **协同统计**: 文档总数、分享数量、今日更新、占用空间等统计
- **版本管理**: 文档历史版本记录和恢复
### 5. 会议管理
- **会议日历**: 可视化会议日程安排
- **会议创建**: 创建团队会议、客户会议等不同类型会议
- **会议提醒**: 会议开始前自动提醒
- **会议纪要**: 会议讨论内容记录
- **任务分派**: 会议决议转化为任务
- **参会管理**: 参会人员确认、请假审批
- **会议资源**: 会议室预定、设备调配
### 6. 审批流程
- **流程设计**: 可视化审批流程设计器
- **多级审批**: 支持多级、并行、条件审批
- **移动审批**: 移动端快速审批
- **审批统计**: 审批时效、通过率等数据统计
- **历史记录**: 完整的审批过程记录
- **模板库**: 常用审批流程模板
### 7. 团队协作
- **组织架构**: 部门结构、岗位职责、汇报关系
- **成员管理**: 成员信息、角色权限、在职状态
- **在线状态**: 实时显示成员在线/忙碌/离开/离线状态
- **即时通讯**: 团队内部即时消息沟通
- **文件共享**: 团队文件共享空间
- **成员统计**: 团队规模、在线率等统计
### 8. 日程日历
- **个人日程**: 个人日程安排管理
- **团队日历**: 团队共享日程视图
- **日程同步**: 与外部日历系统同步
- **日程提醒**: 日程提醒和通知
- **重复事件**: 支持周期性重复事件
- **日程统计**: 时间利用率分析
### 9. 即时通讯
- **私聊/群聊**: 一对一和群组聊天
- **文件传输**: 支持各种类型文件传输
- **消息历史**: 完整聊天记录保存
- **在线状态**: 实时在线状态显示
- **@提醒**: 消息中@特定成员提醒
- **表情/图片**: 丰富的表情和图片支持
## 技术实现
### 技术栈
- **前端框架**: Vue 3 + TypeScript + Nuxt.js
- **UI框架**: Ant Design Vue
- **样式方案**: Tailwind CSS
- **状态管理**: Vue Composition API
- **路由管理**: Nuxt.js 内置路由
- **HTTP请求**: 基于Fetch API封装
- **拖拽支持**: vuedraggable任务看板
- **日期处理**: dayjs
### 核心组件
1. **TaskForm.vue**: 任务表单组件,支持创建和编辑任务
2. **OA Layout**: 协同办公专用布局组件,包含侧边导航和用户信息
3. **文档组件**: 各类文档的展示和编辑组件
4. **会议组件**: 会议创建和展示组件
5. **审批组件**: 审批流程展示和操作组件
### API接口设计
```
GET /api/oa/projects # 获取项目列表
POST /api/oa/projects # 创建项目
GET /api/oa/projects/:id # 获取项目详情
PUT /api/oa/projects/:id # 更新项目
DELETE /api/oa/projects/:id # 删除项目
GET /api/oa/tasks # 获取任务列表
POST /api/oa/tasks # 创建任务
PUT /api/oa/tasks/:id # 更新任务状态
DELETE /api/oa/tasks/:id # 删除任务
GET /api/oa/documents # 获取文档列表
POST /api/oa/documents # 创建文档
GET /api/oa/documents/:id # 获取文档内容
PUT /api/oa/documents/:id # 更新文档
DELETE /api/oa/documents/:id # 删除文档
GET /api/oa/meetings # 获取会议列表
POST /api/oa/meetings # 创建会议
PUT /api/oa/meetings/:id # 更新会议
DELETE /api/oa/meetings/:id # 删除会议
GET /api/oa/approvals # 获取审批列表
POST /api/oa/approvals # 提交审批
PUT /api/oa/approvals/:id # 审批操作
```
### 数据库设计
```sql
-- 项目表
CREATE TABLE projects (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(100) NOT NULL,
description TEXT,
icon VARCHAR(10),
owner_id INT,
progress INT DEFAULT 0,
status ENUM('planning', 'in_progress', 'completed', 'archived'),
priority ENUM('low', 'medium', 'high'),
start_date DATE,
deadline DATE,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
-- 任务表
CREATE TABLE tasks (
id INT PRIMARY KEY AUTO_INCREMENT,
title VARCHAR(200) NOT NULL,
description TEXT,
project_id INT,
assignee_id INT,
reviewer_id INT,
status ENUM('todo', 'in_progress', 'review', 'done'),
priority ENUM('low', 'medium', 'high'),
estimated_hours INT,
actual_hours INT,
due_date DATETIME,
completed_at DATETIME,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
-- 文档表
CREATE TABLE documents (
id INT PRIMARY KEY AUTO_INCREMENT,
title VARCHAR(200) NOT NULL,
content TEXT,
type ENUM('document', 'spreadsheet', 'presentation', 'board'),
owner_id INT,
path VARCHAR(500),
size BIGINT,
is_shared BOOLEAN DEFAULT FALSE,
is_favorited BOOLEAN DEFAULT FALSE,
tags JSON,
version INT DEFAULT 1,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
-- 会议表
CREATE TABLE meetings (
id INT PRIMARY KEY AUTO_INCREMENT,
title VARCHAR(200) NOT NULL,
description TEXT,
type ENUM('team', 'client', 'other'),
start_time DATETIME,
duration INT,
location VARCHAR(200),
organizer_id INT,
status ENUM('scheduled', 'in_progress', 'completed', 'cancelled'),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
-- 审批表
CREATE TABLE approvals (
id INT PRIMARY KEY AUTO_INCREMENT,
title VARCHAR(200) NOT NULL,
type ENUM('expense', 'leave', 'purchase', 'other'),
applicant_id INT,
amount DECIMAL(10, 2),
reason TEXT,
status ENUM('pending', 'approved', 'rejected', 'cancelled'),
current_step INT DEFAULT 1,
total_steps INT DEFAULT 1,
approved_at DATETIME,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
```
## 页面路径
```
/oa # 协同办公概览
/oa/projects # 项目管理
/oa/tasks # 任务看板
/oa/documents # 文档协同
/oa/meetings # 会议管理
/oa/approvals # 审批流程
/oa/teams # 团队协作
/oa/calendar # 日程日历
/oa/chat # 即时通讯
```
## 优势特点
### 1. 完整的解决方案
- 覆盖企业日常办公全场景,减少多系统切换
- 一体化管理,数据无缝流转
### 2. 智能化体验
- AI智能助手辅助办公
- 自动化流程减少重复工作
- 智能推荐和提醒
### 3. 高度可定制
- 模块化设计,按需启用
- 审批流程自定义
- 界面主题可定制
### 4. 安全可靠
- 企业级数据安全
- 权限控制精细化
- 操作日志完整记录
### 5. 移动友好
- 响应式设计,支持移动端
- 移动应用同步开发中
## 未来规划
### 短期计划
1. 完善任务看板的拖拽功能
2. 集成实时文档协作
3. 实现会议视频功能
4. 开发移动端应用
### 中期计划
1. AI办公助手深度集成
2. 集成企业微信/钉钉
3. 开发第三方应用生态
4. 数据分析和BI报表
### 长期愿景
1. 打造智能工作空间
2. 构建行业解决方案
3. 国际化版本开发
## 开发建议
### 环境要求
- Node.js 18+
- Vue 3+
- Nuxt.js 4+
- TypeScript 5+
### 安装依赖
```bash
npm install @ant-design/icons-vue
npm install dayjs
# 如需要拖拽功能
npm install vuedraggable@next
```
### 开发命令
```bash
# 开发模式
npm run dev
# 构建
npm run build
# 预览
npm run preview
```
## 联系我们
如有任何问题或建议,请联系:
- **技术支持**: support@weisukeji.com
- **商务合作**: business@weisukeji.com
- **官方网站**: https://weisukeji.com
- **文档中心**: https://docs.weisukeji.com
---
*最后更新: 2024年10月*
*版本: v1.0.0*