欢迎,{{userInfo.real_name}}({{roleText(userInfo.role)}})
退出登录

森林防火巡检指挥大屏

某某园林局 · 实时态势
{{ isFullscreen ? '退出全屏' : '全屏播放' }}
任务完成进度
{{stat.tasks_total}}项
已完成 {{stat.tasks_completed}} 项{{ pct(stat.tasks_completed, stat.tasks_total) }}
点位今日巡护覆盖
{{stat.points_total}}个
已覆盖 {{stat.points_covered}} 个{{ pct(stat.points_covered, stat.points_total) }}
人员今日在岗率
{{stat.users_total}}人
在岗 {{stat.users_present}} 人{{ pct(stat.users_present, stat.users_total) }}
今日打卡{{stat.today_checkins}}
当前在岗{{stat.online_users}}
待处置隐患{{stat.pending_hazards}}
异常打卡待审{{stat.abnormal_checkins}}

辖区点位与人员分布

最近打卡

人员点位距离状态
{{c.user_name}}{{c.point_name}}{{c.distance_m}}米 {{c.status==='normal'?'正常':'异常'}}

人员列表 新增人员

ID用户名姓名角色中队电话
{{u.id}}{{u.username}}{{u.real_name}} {{roleText(u.role)}}{{u.org_id}}{{u.phone}}

巡检点位 新增点位 分组管理

ID编码名称分组经纬度围栏(米)
{{p.id}}{{p.point_code}}{{p.point_name}} {{p.group_name || '未分组'}} {{Number(p.longitude).toFixed(4)}}, {{Number(p.latitude).toFixed(4)}} {{p.fence_radius_m}}
新建组
{{g.name}} ({{g.points.length}}个点位)
{{p.point_name}}
编辑
{{p.point_name}}

任务列表 下发任务

ID任务名类型分派人员状态内容
{{t.id}}{{t.task_name}}{{t.task_type}} {{(t.assignee_names||[]).join('、') || '未分派'}} {{t.status}}{{t.content}}

考勤统计({{attendance.date}}) 应到 {{attendance.summary.total}} 人, 在岗 {{attendance.summary.present}}, 缺勤 {{attendance.summary.absent}}, 异常 {{attendance.summary.abnormal}}

姓名角色所属中队打卡次数首次打卡最后打卡状态
{{p.user_name}} {{p.role==='inspector'?'巡检':'值守'}} {{p.org_name}} {{p.checkin_count}} {{p.first_checkin || '-'}} {{p.last_checkin || '-'}} {{p.status==='normal'?'正常在岗':(p.status==='absent'?'未打卡':'异常待审')}}

隐患列表

编号标题点位上报人处置人等级状态现场照片操作
{{h.hazard_code}}{{h.title}} {{h.point_name || '未关联'}} {{h.reporter_name}} {{h.handler_name}}{{h.level}}{{h.status}} 无照片 分派 闭环

打卡记录(异常待审需审核) 导出CSV

ID人员点位时间距离状态操作
{{c.id}}{{c.user_name}}{{c.point_name}} {{c.checkin_time}}{{c.distance_m}}米 {{c.status}}
巡检 值守 今天 明天 3天内 一周 自选
天内完成
单次任务 周期任务(每天重复) 7天 30天 90天 自选
天
本任务覆盖 {{taskForm.groupPoints.length}} 个点位:{{taskForm.groupPoints.map(p=>p.point_name).join('、')}}