后台演示角色
前端用户登录
{{ loadError ? '后台加载失败' : '正在打开后台' }} {{ loadError || (apiLoadingName + ' · ' + apiTimeoutText) }}
打开接口 重试 去登录

新疆政法学院预约平台

管理后台

{{ roleName((session.user || {}).role) }} 消息 退出
{{ ajaxLoadingText }} · {{ apiLoadingName }} · {{ apiTimeoutText }} 打开接口
{{ loadError }} · {{ apiLoadingName }} · {{ apiTimeoutText }} 打开接口 重试
{{ ajaxLoading ? ajaxLoadingText : '后台 API 加载失败' }} {{ apiTrace }}
刷新
COMMAND CENTER

预约运营驾驶舱

聚合场馆使用、预约趋势、资源结构和异常预警。

实时看板 手动更新缓存
{{ ajaxLoadingText }}

统计卡片、图表、预警、资源数据均由模块 API 动态返回。

{{ activeMenu.startsWith('approval.') ? '预约审批' : reservationPageTitle }}

{{ activeMenu.startsWith('approval.') ? '按预约类型拆分审批,支持条件筛选、单个审批和批量通过。' : '按项目拆分管理预约记录,支持筛选、新增、编辑和状态作废。' }}

新增预约
查询 清空条件 批量通过 导出 Excel 台账
预约项目预约人日期时段类型状态操作
{{ r.venue_name }}{{ r.department }} / {{ r.resource_type }} {{ r.user_name }}{{ r.identity_type }} · {{ r.user_category === 'campus' ? '校内' : '校外' }} {{ r.reserve_date }}{{ r.reserve_time }} · 座位{{ r.seat_code || '-' }} {{ r.group_type }}{{ r.people_count }}人 · {{ r.event_type || '普通预约' }} {{ r.status }} 编辑 通过 驳回 作废

{{ resourcePageTitle }}

给场馆做资源配置:维护可预约时间段、提前预约天数、容量、教室位置、座位数量和当前运行情况。

新增预约资源
清空条件
每日运行情况
选择自习教室
{{ day.date.slice(5) }} 周{{ day.day }} {{ day.count }} {{ day.people }} 人 待审 {{ day.pending }} · 签到 {{ day.checked }} · 取消 {{ day.canceled }}
{{ resourcePageTitle }} 暂无匹配资源

请调整查询条件,或点击“新增预约资源”配置新的场馆、教室、会议室和开放时段。

{{ item.venue_name }}

{{ item.department }} · {{ item.location || '未配置位置' }}

{{ item.resource_type }}
{{ accessScopeText(item.access_scope) }} {{ Number(item.fee_amount || 0) > 0 ? item.fee_amount + '元/' + (item.fee_unit || '次') : '无费用' }} 提前 {{ item.min_days_before }} 天 可约 {{ item.max_days_ahead }} 天 单次 {{ item.max_people_per_reservation }} 人 每日 {{ item.max_people_per_day }} 人 团体 {{ item.max_group_people }} 人 {{ item.seat_rows }} 行 × {{ item.seat_cols }} 列

开放时段:{{ item.open_hours }} · 可用身份:{{ item.allowed_identity || '全部' }} · 预约要求:{{ item.rules || item.remark || '按资源规则预约' }}

{{ slot.slot_time.slice(0,5) }} {{ slot.slot_type }} {{ slot.price }}元
二维图现场查看:{{ item.venue_name }} · {{ filters.reservation.date || '今日' }} 数字=当天预约次数;总 {{ item.seat_total }} · 静态已用 {{ item.seat_used }} · 锁定 {{ item.seat_locked }}
可选 已预约/有次数 锁定
{{ row.index }}
编辑预约规则 查看今日运行
手动锁场
清空条件 新增用户
当前列表受数据权限控制:校内用户、校外用户、不同机构类型和具体机构可分别授权。
{{ u.name }} {{ u.account }} · {{ u.identity_type }} · {{ u.user_category === 'campus' ? '校内用户' : '校外用户' }} {{ u.organization_type }} 路 {{ u.organization_name }} {{ roleName(u.role) }} 缂栬緫 鍋滅敤
清空条件
{{ u.name }}{{ roleName(u.role) }}

{{ u.account }} 路 {{ u.identity_type }} 路 {{ u.organization_type }} 路 {{ u.organization_name }}

功能权限

{{ p }}

数据权限

{{ formatScope(s) }}
清空条件 新建角色
{{ role.name }}{{ role.code }}

{{ role.description }}

功能权限

{{ p }}

数据权限

{{ formatScope(s) }}
编辑角色与授权 删除角色
清空条件
{{ p.name }}{{ p.menu_level }}级

{{ p.code }} · 上级 {{ p.parent_code || '无' }} · {{ Number(p.is_menu) === 1 ? '菜单权限' : '按钮/接口权限' }}

{{ userEditor.id ? '编辑用户' : '新增用户' }}

保存用户

{{ reservationEditor.id ? '编辑预约' : '新增预约' }}

保存预约

{{ roles.find(r => r.code === roleEditor.code) ? '编辑角色' : '新建角色' }}

功能权限

{{ p.text }}

数据权限

鍒犻櫎
添加数据权限 保存角色

{{ resourcePageTitle }}

不同资源单独维护容量、开放时段、提前预约天数、座位行列和审批要求。

新增资源
清空条件
{{ item.venue_name }}{{ item.resource_type }}

{{ item.department }} · {{ item.location || '未配置位置' }}

开放时段:{{ item.open_hours }} · 最少提前 {{ item.min_days_before }} 天预约 · 最多可约 {{ item.max_days_ahead }} 天 · {{ item.min_cancel_hours }}小时取消

座位发布:{{ item.seat_total }} · 可选 {{ item.seat_available }} · 已用 {{ item.seat_used }} · 锁定 {{ item.seat_locked }}

自习室座位预览深色=已预约/占用
{{ row.index }}
可预约 可出租 可借用 需审批 编辑配置 审批流程 删除资源

资源配置

座位画布预览 共 {{ Number(resourceEditor.seat_rows) * Number(resourceEditor.seat_cols) }} 个座位,深色=已预约/占用
{{ row.index }}
预览图 保存

审批流程配置

新增节点 保存流程
删除节点

全局设置

设置全局数据项目和测试开关。测试开启后,用户端每个项目都可以提交预约。

{{ String(appSettings.test_mode_enabled)==='1' ? '测试开启' : '正常运行' }}
测试预约模式

开启后放宽项目可约状态、提前天数、身份范围、单次人数和每日额度限制,便于逐项测试预约流程。

登录验证码

开启后,前台登录和后台登录都需要验证码;快捷登录会自动帮忙填入验证码。

全局数据项目GLOBAL
API 加载提示UI
显示具体接口
日志记录LOG
总开关 类型全选 清空类型
{{ item.text }}
前后台重要脚本时间日志 全开 全关
总开关 前台 APP 后台 Admin
{{ group.title }} 全选 清空
{{ item.text }}
数据读写操作 全选 清空
{{ item.text }}
SQL 模块 全选 清空
{{ item.text }}

日志写入 logs/api-日期.log;业务日志记录登录退出、AJAX/API、各模块 CRUD、调用数据;SQL 日志记录原生语句、参数、读写类型和耗时。

APP 菜单配置{{ appMenus.length }} 项

前台底部菜单由数据库 app_menus 动态加载,可维护图标、名称、跳转、描述和启用状态。

新增菜单 保存菜单配置
暂无 APP 菜单数据

请刷新页面,系统会自动初始化首页、资讯、预约、我的四个菜单。

{{ menu.menu_name || '未命名' }} {{ menu.description || '暂无描述' }}
消息角标 启用
前台主题模板{{ themeRows('app').length }} 套

控制 APP 端颜色、字体大小、背景、圆角和阴影,前台刷新后通过 API 自动加载。

新增前台模板
{{ theme.theme_name }} {{ theme.description }}
编辑 {{ Number(theme.is_active)===1 ? '已启用' : '启用' }}
后台主题模板{{ themeRows('admin').length }} 套

控制后台管理端颜色、字体大小、列表卡片、边框和工作台阴影,登录后通过 API 自动加载。

新增后台模板
{{ theme.theme_name }} {{ theme.description }}
编辑 {{ Number(theme.is_active)===1 ? '已启用' : '启用' }}
保存全局设置
清空条件
{{ fee.venue_name }}{{ fee.fee_type }}

{{ fee.description }}

{{ fee.price }} 元 / {{ fee.charge_unit }}
清空条件
{{ pay.channel_name }} · {{ pay.pay_scene }}{{ pay.enabled==1 ? '启用' : '停用' }}

{{ pay.env === 'production' ? '生产环境' : '沙箱环境' }} · AppID {{ pay.app_id }} · 商户号 {{ pay.merchant_id || '-' }}

通知地址:{{ pay.notify_url }}

证书路径:{{ pay.cert_path || '-' }}

资讯管理

维护资源维修、开放调整、预约提醒、流程公告,前端资讯动态同步展示。分类可配置显示模板、是否前端显示、是否置顶。

分类管理 新增资讯
清空条件
{{ item.title }}{{ item.status }}{{ item.category_name }}

{{ item.related_department || '-' }} · {{ item.venue_name || '未关联资源' }} · {{ item.category_name || item.category }} · {{ item.publish_at }}

{{ item.summary }}

编辑 下线

{{ infoEditor.id ? '编辑资讯' : '新增资讯' }}

封面预览 保存资讯

咨询分类管理

{{ c.name }} 置顶 前端隐藏 {{ (c.template === 'notice' ? '普通通知' : c.template === 'open' ? '开放公告' : '检修告警') }}
编辑 删除
新增分类 保存分类

{{ themeEditor.id ? '编辑主题模板' : '新增主题模板' }}

{{ themeEditor.theme_name || '主题预览' }}

主色按钮、卡片、列表和文字变量会按这个模板渲染。

保存主题模板
新增分类 新增条目 清空条件
{{ dict.name }} {{ dict.code }} {{ Number(dict.status) === 1 ? '启用' : '停用' }}

{{ dict.description }}

编辑分类 新增条目
{{ item.item_label }}{{ item.item_value }} · 排序 {{ item.sort_no }} {{ Number(item.status) === 1 ? '启用' : '停用' }} 编辑 停用

{{ dictTypeEditor.code && dictGroups.find(d => d.code === dictTypeEditor.code) ? '编辑字典分类' : '新增字典分类' }}

保存分类

{{ dictItemEditor.id ? '编辑字典条目' : '新增字典条目' }}

保存条目
清空条件
{{ stats.visits }}使用人次
{{ stats.utilization }}%利用率
{{ stats.alerts }}待处理预警
{{ stats.cameras || 0 }}摄像头
{{ stats.live || 0 }}直播路数
{{ stats.currentPeople || 0 }}现场人数
{{ c.camera_name }}{{ c.status }}

{{ c.venue_name }} · {{ c.position_name }}

直播 {{ Number(c.live_enabled) ? '开启' : '关闭' }} · 录播 {{ Number(c.record_enabled) ? '开启' : '关闭' }} · 人数统计 {{ Number(c.ai_count_enabled) ? '开启' : '关闭' }}
{{ s.venue_name }}{{ s.linkage_status }}

{{ s.stat_time }} · {{ s.source_type }}

当前 {{ s.current_people }} 人 / 容量 {{ s.capacity }} · 使用率 {{ s.occupancy_rate }}%
{{ m.title }}{{ m.media_type }}

{{ m.venue_name }} · {{ m.started_at }} 至 {{ m.ended_at }}

{{ m.status }} · {{ m.created_by }} · {{ m.media_url }}
{{ a.alert_type }}{{ a.status }}

{{ a.content }}

当前菜单暂未配置页面:{{ activeMenu }}

可能是旧缓存或旧权限编码。请点击左侧“资源配置”“预约管理”等新菜单,或退出后重新登录。

进入资源配置
上一页 第 {{ pageFor(currentPageKey) }} / {{ pageCount(currentPageKey) }} 页,共 {{ pageTotal(currentPageKey) }} 条,每页 {{ pageSize }} 条 下一页