# projectmanagement **Repository Path**: lmscom/projectmanagement ## Basic Information - **Project Name**: projectmanagement - **Description**: 项目双周报管理系统 - **Primary Language**: JavaScript - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-08-07 - **Last Updated**: 2025-10-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 📋 项目简介 这是一个基于 Vue 3 + Element Plus 的现代化项目管理系统,专为企业级项目管理需求设计。系统提供了完整的项目生命周期管理功能,包括项目信息管理、进度跟踪、资源分配、文档管理等核心功能。 ## ✨ 主要功能特性 ### 🎯 核心功能 - **项目信息管理** - 创建、编辑、查看项目基本信息 - **项目实施周期** - 动态时间周期管理,支持进度跟踪 - **项目状态管理** - 实时状态更新和监控 - **里程碑计划** - 关键节点规划和进度更新 - **变更记录管理** - 项目变更历史追踪 - **问题汇总管理** - 项目问题记录和解决方案 - **经验总结** - 项目经验积累和知识管理 - **文档管理** - 项目文档上传、分类和管理 - **人力资源** - 项目人员分配和角色管理 - **干系人管理** - 项目相关方信息管理 - **权重设置** - 项目阶段权重配置 ### 🎨 用户体验 - **响应式设计** - 完美适配各种屏幕尺寸 - **现代化UI** - 基于 Element Plus 的美观界面 - **实时数据同步** - 自动保存和实时更新 - **权限控制** - 基于角色的访问控制 - **数据可视化** - 图表和统计信息展示 ## 🛠️ 技术栈 ### 前端技术 - **Vue 3** - 渐进式 JavaScript 框架 - **Vite** - 下一代前端构建工具 - **Element Plus** - Vue 3 组件库 - **Vue Router** - 官方路由管理器 - **Pinia** - Vue 状态管理库 ### 开发工具 - **ESLint** - 代码质量检查 - **Prettier** - 代码格式化 - **TypeScript** - 类型安全支持 ## 📁 项目结构 ``` pmp-app/ ├── public/ # 静态资源 │ ├── config.json # 配置文件 │ └── vite.svg # 图标资源 ├── src/ # 源代码目录 │ ├── api/ # API 接口层 │ │ ├── project.js # 项目相关API │ │ ├── projectSchedule.js # 项目进度API │ │ ├── projectStatus.js # 项目状态API │ │ ├── projectMilestone.js # 里程碑API │ │ ├── projectChange.js # 变更记录API │ │ ├── projectIssue.js # 问题汇总API │ │ ├── projectExperience.js # 经验总结API │ │ ├── projectDocuments.js # 文档管理API │ │ ├── projectPhaseWeight.js # 权重设置API │ │ ├── resourcePlan.js # 人力资源API │ │ ├── stakeholder.js # 干系人API │ │ ├── user.js # 用户管理API │ │ └── userProject.js # 用户项目关联API │ ├── components/ # 公共组件 │ │ ├── GanttChart.vue # 甘特图组件 │ │ └── HelloWorld.vue # 示例组件 │ ├── router/ # 路由配置 │ │ └── index.js │ ├── utils/ # 工具函数 │ │ ├── apiConfig.js # API配置 │ │ ├── crypto.js # 加密工具 │ │ └── mobile.js # 移动端适配 │ ├── views/ # 页面组件 │ │ ├── Dashboard.vue # 仪表板 │ │ ├── Layout.vue # 布局组件 │ │ ├── Login.vue # 登录页面 │ │ ├── Profile.vue # 用户资料 │ │ ├── Settings.vue # 系统设置 │ │ ├── UserManage.vue # 用户管理 │ │ └── project/ # 项目管理页面 │ │ ├── ProjectInfo.vue # 项目信息 │ │ ├── ProjectList.vue # 项目列表 │ │ ├── ProjectCreate.vue # 项目创建 │ │ ├── ProjectTimeline.vue # 实施周期 │ │ ├── ProjectStatus.vue # 项目状态 │ │ ├── MilestonePlan.vue # 里程碑计划 │ │ ├── ChangeRecord.vue # 变更记录 │ │ ├── IssueSummary.vue # 问题汇总 │ │ ├── ExperienceSummary.vue # 经验总结 │ │ ├── DocumentManage.vue # 文档管理 │ │ ├── HumanResource.vue # 人力资源 │ │ ├── WeightSetting.vue # 权重设置 │ │ └── stakeholder/ # 干系人管理 │ │ └── StakeholderManage.vue │ ├── App.vue # 根组件 │ ├── main.js # 应用入口 │ ├── router/index.js # 路由配置 │ └── style.css # 全局样式 ├── package.json # 项目依赖 ├── vite.config.js # Vite配置 ├── server.js # 开发服务器 ├── ecosystem.config.cjs # PM2配置 └── README.md # 项目说明 ``` ## 🚀 快速开始 ### 环境要求 - Node.js >= 16.0.0 - npm >= 8.0.0 或 yarn >= 1.22.0 ### 安装依赖 ```bash # 进入项目目录 cd pmp-app # 安装依赖 npm install # 或使用 yarn yarn install ``` ### 开发环境运行 ```bash # 启动开发服务器 npm run dev # 或使用 yarn yarn dev ``` ### 生产环境构建 ```bash # 构建生产版本 npm run build # 或使用 yarn yarn build ``` ### 使用 PM2 部署 ```bash # 安装 PM2 (如果未安装) npm install -g pm2 # 启动应用 pm2 start ecosystem.config.cjs # 查看运行状态 pm2 status # 重启应用 pm2 restart pmp-app # 停止应用 pm2 stop pmp-app ``` ## 🔧 配置说明 ### API 配置 在 `src/utils/apiConfig.js` 中配置后端API地址: ```javascript export const API_BASE_URL = 'http://localhost:3000/api' ``` ### 环境变量 创建 `.env` 文件配置环境变量: ```env VITE_API_BASE_URL=http://localhost:3000/api VITE_APP_TITLE=项目管理系统 ``` ## 📊 功能模块详解 ### 1. 项目信息管理 - 项目基本信息维护 - 项目状态跟踪 - 项目负责人分配 - 项目时间线管理 ### 2. 实施周期管理 - 动态时间周期生成 - 阶段进度实时更新 - 权重计算和统计 - 进度可视化展示 ### 3. 状态管理 - 项目状态实时更新 - 状态变更历史记录 - 状态统计和分析 ### 4. 里程碑计划 - 关键节点设置 - 进度更新和跟踪 - 里程碑完成情况统计 ### 5. 变更记录 - 项目变更申请 - 变更影响评估 - 变更审批流程 - 变更历史追踪 ### 6. 问题汇总 - 问题记录和分类 - 问题解决状态跟踪 - 问题统计分析 ### 7. 经验总结 - 项目经验积累 - 最佳实践分享 - 知识库建设 ### 8. 文档管理 - 文档上传和分类 - 文档版本控制 - 文档权限管理 ### 9. 人力资源 - 人员分配和角色管理 - 工作量统计 - 技能矩阵管理 ### 10. 干系人管理 - 干系人信息维护 - 沟通计划制定 - 干系人影响分析 ## 🔐 权限控制 ### 用户角色 - **管理员** - 系统完全控制权限 - **项目经理** - 项目管理和编辑权限 - **普通用户** - 查看和基本操作权限 ### 功能权限 - 项目创建/编辑/删除 - 数据导入/导出 - 用户管理 - 系统设置 ## 📈 数据统计 ### 项目统计 - 项目总数和状态分布 - 项目进度统计 - 资源使用情况 ### 进度分析 - 阶段完成率统计 - 权重完成情况 - 进度趋势分析 ## 🔄 数据同步 - 实时数据更新 - 自动保存功能 - 离线数据缓存 - 数据冲突解决 ## 📱 移动端适配 - 响应式布局设计 - 触摸友好的交互 - 移动端专用组件 - 性能优化 ## 🎨 主题定制 - 支持主题切换 - 自定义颜色方案 - 组件样式定制 - 品牌化配置 ## 📝 开发指南 ### 代码规范 - 使用 ESLint 进行代码检查 - 遵循 Vue 3 组合式 API 规范 - 组件命名采用 PascalCase - 文件命名采用 kebab-case ### 组件开发 - 组件应该单一职责 - 使用 Props 进行数据传递 - 使用 Emits 进行事件通信 - 合理使用插槽和具名插槽 ### 状态管理 - 使用 Pinia 进行状态管理 - 按功能模块划分 Store - 避免过度使用全局状态 ## 🐛 故障排除 ### 常见问题 1. **依赖安装失败** ```bash # 清除缓存后重新安装 npm cache clean --force npm install ``` 2. **开发服务器启动失败** ```bash # 检查端口占用 netstat -ano | findstr :5173 # 或使用其他端口 npm run dev -- --port 3000 ``` 3. **构建失败** ```bash # 清除构建缓存 npm run build -- --force ``` ## 🤝 贡献指南 1. Fork 项目 2. 创建功能分支 (`git checkout -b feature/AmazingFeature`) 3. 提交更改 (`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 打开 Pull Request --- **注意**: 这是一个持续开发中的项目,功能会不断更新和完善。如有问题或建议,请通过 Issues 反馈。 ----后续开发工作----- ****增加销售账户等其他账户,可以访问相关项目权限 ****增加项目类型,根据不通项目类型生成不同权重 √ ****增加与原工时系统的对接比对,体现现有工时和工时系统的比对 ****增加设备材料管理页面功能 ****增加文档管理的文件上传功能 ****增加变更文件的文件上传管理功能 **** 双周报周期更新问题,原周期初始化数据不对 界面 ![项目列表](pmp-app/f1e16093-78d7-4dd0-b071-30782c274940.png)![双周报](pmp-app/6127e46c-b910-410c-aa45-4e8c15bca6ec.png)