目录
一、开发背景
随着企业数字化转型的不断推进,在线审批已成为协同办公的重要环节。本次迭代需求是在现有智能办公系统中,补充并完善“审批管理”模块,实现从“发起审批”到“审批流转”全流程自助化管理。用户角色包括普通员工(发起人)、审批人及管理员,需支持审批单的创建、编辑、删除、状态跟踪、权限管控等核心功能。
二、功能实现
-
模块架构与页面布局
-
容器结构:整体采用
.container
白色卡片式布局,配合圆角、阴影,符合企业级后台视觉规范。 -
头部区域:展示模块标题、当前用户信息(头像 + 姓名/角色)及常用操作按钮(刷新、发起审批)。
-
Tab 切换:用四个按钮实现「待处理」「已处理」「已发起」「我收到的」四类视图切换。通过
data-tab
标志与currentTab
变量控制内容筛选。
-
-
审批列表渲染
// 渲染审批列表(合并重复函数) function renderApprovals() { const list = document.getElementById('approvalList'); const filtered = approvals.filter(item => { switch(currentTab) { case "pending": return item.status === "pending"; case "processed": return item.status !== "pending"; case "initiated": return item.applicant === "张三"; // 示例用户,需对接登录系统 case "received": return item.receiver === "张三"; // 示例用户,需对接登录系统 default: return true; } }); list.innerHTML = filtered.map(item => ` <div class="approval-item"> <div> <strong style="color: #007aff;">${item.type}</strong> - ${item.category} <div class="small" style="color: #333;">申请人:${item.applicant} | 接收人:${item.receiver}</div> <div class="small" style="color: #666;">申请时间:${item.time}</div> <div class="small" style="color: #999; margin-top: 4px;">${item.description}</div> </div> <div class="approval-actions"> <div class="approval-status status-${item.status}"> ${item.status === 'pending' ? '待审批' : item.status === 'approved' ? '已通过&