# glm-oa **Repository Path**: ed13888/glm-oa ## Basic Information - **Project Name**: glm-oa - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-11-23 - **Last Updated**: 2025-11-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # OA办公微信小程序 这是一个基于原生微信小程序开发的OA办公系统,使用Vant Weapp UI组件库,支持请假申请审批和考勤打卡等功能。 ## 功能特性 ### 🎯 核心功能 - **请假申请**: 支持多种请假类型,可自定义请假时间和事由 - **请假审批**: 支持审批人查看、通过、驳回请假申请 - **考勤打卡**: 支持上下班打卡,自动判断迟到早退 - **考勤记录**: 查看历史考勤记录和月度统计 - **个人中心**: 个人信息管理和考勤统计概览 ### 🎨 设计特点 - **简洁清爽**: 采用现代化UI设计,界面简洁美观 - **响应式**: 适配各种屏幕尺寸的微信小程序 - **用户友好**: 操作简单直观,用户体验良好 ## 技术栈 - **框架**: 微信小程序原生开发 - **UI组件**: Vant Weapp - **数据存储**: 微信小程序本地存储 (wx.storage) - **开发工具**: 微信开发者工具 ## 项目结构 ``` oa-miniprogram/ ├── app.js # 小程序入口文件 ├── app.json # 小程序配置文件 ├── app.wxss # 全局样式文件 ├── project.config.json # 项目配置文件 ├── sitemap.json # 站点地图配置 ├── package.json # 依赖包配置 ├── pages/ # 页面目录 │ ├── home/ # 首页 │ ├── leave/ # 请假相关页面 │ │ ├── apply # 请假申请 │ │ └── approval # 请假审批 │ ├── attendance/ # 考勤相关页面 │ │ ├── clock # 考勤打卡 │ │ └── record # 考勤记录 │ └── profile/ # 个人中心 ├── utils/ # 工具函数 │ └── util.js # 公共工具函数 └── images/ # 图片资源目录 ``` ## 安装和运行 ### 1. 克隆项目 ```bash git clone [项目地址] cd oa-miniprogram ``` ### 2. 安装依赖 ```bash npm install ``` ### 3. 构建 npm 包 在微信开发者工具中: 1. 点击工具栏的 "工具" → "构建 npm" 2. 等待构建完成 ### 4. 配置小程序ID 在 `project.config.json` 中修改 `appid` 为你的小程序ID ### 5. 运行项目 1. 使用微信开发者工具打开项目目录 2. 点击编译按钮运行项目 ## 主要页面说明 ### 首页 (pages/home/home) - 显示欢迎信息和日期 - 待审批数量统计 - 快捷功能入口 - 最新通知展示 ### 请假申请 (pages/leave/apply) - 请假类型选择(病假、事假、年假等) - 请假事由输入 - 请假时间选择 - 自动计算请假天数 - 审批人选择 ### 请假审批 (pages/leave/approval) - 待审批/已审批/已驳回/全部申请筛选 - 申请详情查看 - 审批操作(通过/驳回) - 审批意见记录 ### 考勤打卡 (pages/attendance/clock) - 实时时间显示 - 上下班打卡按钮 - 打卡状态展示 - 月度考勤统计 - 位置信息(模拟) ### 考勤记录 (pages/attendance/record) - 月份选择器 - 考勤日历视图 - 详细记录列表 - 月度统计数据 ### 个人中心 (pages/profile/profile) - 用户信息展示 - 考勤统计概览 - 功能菜单导航 - 意见反馈功能 ## 数据存储 由于是纯静态demo,所有数据都存储在微信小程序的本地存储中: - `leaveApplications`: 请假申请记录 - `attendanceRecords`: 考勤打卡记录 - `pendingApplications`: 待审批申请 - `feedbacks`: 用户反馈 ## 自定义配置 ### 主题色彩 在 `app.wxss` 中可以修改主题色: ```css :root { --primary-color: #1989fa; --success-color: #07c160; --warning-color: #ff976a; --danger-color: #ee0a24; } ``` ### 考勤规则 在 `pages/attendance/clock.js` 中可以修改考勤时间: ```javascript // 上班时间 const WORK_START_HOUR = 9; const WORK_START_MINUTE = 0; // 下班时间 const WORK_END_HOUR = 18; const WORK_END_MINUTE = 0; ``` ## 开发说明 ### 添加新页面 1. 在 `app.json` 的 `pages` 数组中添加页面路径 2. 创建对应的页面文件 (`.js`, `.json`, `.wxml`, `.wxss`) 3. 如需使用Vant组件,在页面的 `.json` 文件中配置 ### 使用Vant组件 ```json { "usingComponents": { "van-button": "@vant/weapp/button/index", "van-field": "@vant/weapp/field/index" } } ``` ### 工具函数使用 ```javascript const util = require('../../utils/util.js'); // 格式化日期 const dateStr = util.formatDateTime(new Date(), 'date'); // 显示提示 util.showToast('操作成功', 'success'); ``` ## 注意事项 1. **本地存储**: 当前版本使用本地存储模拟数据库,实际项目需要接入后端API 2. **位置服务**: 位置获取功能为模拟实现,实际项目需要配置地图API 3. **用户认证**: 当前版本无需登录,实际项目需要添加用户认证系统 4. **数据同步**: 多设备间数据不会同步,需要服务器支持 ## 后续优化建议 1. **后端集成**: 接入真实的服务器API 2. **用户认证**: 添加微信登录功能 3. **实时通知**: 集成WebSocket实时消息推送 4. **数据统计**: 添加更详细的数据分析功能 5. **权限管理**: 实现角色权限控制 6. **离线支持**: 添加离线数据缓存机制 ## 许可证 MIT License ## 贡献 欢迎提交Issue和Pull Request来改进这个项目。