{{ pageTitle }}
{{ currentDate }}
上传进度 {{ todayData.uploaded_count || 0 }} / {{ todayData.total_areas || 10 }}
✅ 今日值日已审核通过!
❌ 审核未通过,请重新上传
📅
今日暂无排班安排
📍 检查区域 (点击区域拍照上传)
{{ isAreaDone(area.id) ? '✓' : (index + 1) }}
{{ area.name }}
{{ area.standard }}
📷
🔔 明日提醒
{{ tomorrowDate }}
🏖️
明日全员休息
明天无需值日
🔔 明日值日提醒
{{ tomorrowDate }}
{{ tomorrowData.user_name ? tomorrowData.user_name.charAt(0) : '?' }}
{{ tomorrowData.user_name || '未分配' }}
{{ tomorrowData.department || '暂无部门' }}
💡 请提前做好值日准备
📊 今日流程
已排班 — 今日由 {{ todayData.user_name }} 值日
拍照上传 — {{ todayData.uploaded_count > 0 ? (todayData.uploaded_count + '/' + todayData.total_areas) : '待开始' }}
提交值日 — {{ todayData.status === 'submitted' ? '已提交' : '待提交' }}
管理员审核 — {{ todayData.status === 'approved' ? '已通过' : '待审核' }}
📤 提交今日值日
🔄 重新上传
{{ userInfo.real_name ? userInfo.real_name.charAt(0) : '👤' }}
{{ userInfo.real_name }}
{{ userInfo.department || '暂无部门' }}
📱 {{ userInfo.phone }}
📱 未设置手机号
{{ personalStats.month?.total || 0 }}
本月值日
{{ personalStats.month?.passed || 0 }}
合格次数
{{ personalStats.month?.failed || 0 }}
不合格
📋 我的值日记录 ›
🔄 申请换班 ›
📜 我的换班记录 ›
📸 查看照片记录 ›
📅 全员排班表 ›
📱 修改手机号 ›
🔒 修改密码 ›
🚪 退出登录 ›
{{ boardMonthText }}
⏳
加载中...
{{ group.dateDisplay }} {{ group.weekday }} 今天 🏖️ 全员休息 我的值日
🏖️
全员休息
{{ group.remark || '休息日不排班,轮次顺延' }}
📅
该月暂无排班安排
请联系管理员进行排班
🔔 消息通知
✓ 全部已读 🔄 刷新
{{ unreadReview.title }}
{{ formatNotifyTime(unreadReview.created_at) }}
{{ unreadReview.content }}
我知道了 查看详情
{{ swapMsg.title }}
{{ formatNotifyTime(swapMsg.created_at) }}
{{ swapMsg.content }}
✅ 接受换班 ❌ 拒绝 我知道了
{{ notify.type === 'review' ? (notify.content.includes('通过') ? '✅' : '❌') : '📢' }}
{{ notify.title }}
{{ notify.content }}
{{ formatNotifyTime(notify.created_at) }} ● 未读
删除
📭
暂无消息
管理员的审核结果会在这里通知您
📝 今日待审核
{{ todayData.user_name ? todayData.user_name.charAt(0) : '?' }}
{{ todayData.user_name }}
{{ todayData.department }}
✅ 审核通过 ❌ 打回重做
📅 排班管理
📌 单个排班 批量排班 🔄 刷新
已选 {{ selectedScheduleIds.length }} 项 🗑️ 批量删除({{ selectedScheduleIds.length }})
{{ statusText(item.status) }}
👤 {{ item.real_name }}({{ item.department }})
已上传 {{ item.uploaded_count }}/{{ item.total_areas }} 个区域
✅ 通过 ❌ 打回 📸 照片
✏️ 修改 🗑️ 删除
📸 照片 🔄 恢复审核 🗑️ 删除
暂无排班记录
🏖️ 全员休息日
💡 休息日不占用轮值轮次:该日值日人顺延到下一个工作日,其后排班整体后移一天,并在排班表末尾自动补一天。
🏖️ 设为休息日 🔄 刷新
📆 {{ formatDate(item.date) }} 取消休息
📝 {{ item.remark || '全员休息' }}
暂无休息日安排
🔄 换班记录
全部 待确认 已交换 已拒绝 已取消
📆 {{ item.my_date }} ↔ {{ item.target_date }} {{ swapStatusText(item.status) }}
👤 {{ item.my_user_name }}({{ item.my_dept }}) 申请与 {{ item.target_user_name }}({{ item.target_dept }})换班
📝 原因:{{ item.reason }}
暂无换班记录
📍 检查区域
添加区域
{{ area.sort_order }} {{ area.name }} 编辑 删除
👥 员工管理
添加员工
{{ user.real_name ? user.real_name.charAt(0) : '?' }}
{{ user.real_name }}
{{ user.department }} · {{ user.username }}
编辑 删除
短信提醒配置
功能说明:系统支持多种短信模板,可分别配置值日提醒和审核不通过通知。
使用阿里云短信服务,需在阿里云控制台申请短信签名和模板。
{{ t.name }}
{{ smsConfigs[currentTemplateType].template_name }}:{{ templateTypes.find(t => t.type === currentTemplateType)?.desc || '' }}
{{ smsConfigs[currentTemplateType].is_enabled ? '该模板已启用' : '该模板已禁用' }}
如不修改,留空即可保留原配置
模板变量:${r'${name}'}-员工姓名,${r'${date}'}-值日日期
💾 保存配置 🔄 刷新
📧 手动发送(补发/测试)
使用说明:选择员工后可手动发送短信,适用于系统自动发送失败后的补发,或测试短信功能。
选择员工 手动输入 {{ emp.real_name }} {{ emp.phone }} 无手机号 🔄 刷新 默认为明天 📤 发送短信
📋 发送记录
🔄 刷新记录
📈 卫生统计
{{ statsData.status?.total || 0 }}
总排班
{{ statsData.status?.approved || 0 }}
已通过
{{ statsData.status?.rejected || 0 }}
未通过
{{ (statsData.status?.uploading || 0) + (statsData.status?.submitted || 0) }}
待审核
🏠 首页
👤 我的
🔔 {{ unreadCount > 99 ? '99+' : unreadCount }} 消息
⚙️ 管理
← {{ currentArea?.name }}
📋 卫生标准:{{ currentArea?.standard }}
已上传照片:
📸
点击下方按钮拍照
📷 拍照
← 值日照片 ×
📍 {{ group.area_name || '未命名区域' }}

轮值员工:{{ reviewTarget?.user_name || todayData?.user_name }}

日期:{{ formatDate(reviewTarget?.date || todayData?.date) }}

上传进度:{{ reviewTarget?.uploaded_count || todayData?.uploaded_count }}/{{ reviewTarget?.total_areas || todayData?.total_areas }} 区域

📸 上传照片:
{{ group.area_name }}
暂无上传照片
✅ 审核通过 ❌ 打回重做
⚠️ 该日不排班,原值日人顺延至下一个工作日,其后所有排班整体后移一天,并在排班表末尾自动补一天。
已开始值日(已上传照片或已提交)的日期无法调整。
💡 换班说明:选择您的值日日期和您想换到的日期,对方确认后自动交换
✅ 这一天是您值日
🔄 将 {{ swapForm.my_date }} 与 {{ swapForm.target_date }} 的值日交换