{{ platformName }}

{{ user?.full_name || user?.username || user?.sub }} 退出登录
{{ point.name }}
累计电能 (kWh)
{{ (latestEnergyValue || 0).toFixed(2) }}
kWh
脉冲/kWh
1.0级
{{ (selectedNode && selectedNode.label) ? selectedNode.label : '' }}
{{ point.name }}
{{ dynamicStatus[point.key] ? 'ON' : 'OFF' }}
{{ point.name }}
IEC104 运行对象详情
运行对象:{{ selectedDeviceProtocolInstance?.name || '未绑定' }} 远端端点:{{ selectedDeviceProtocolInstance?.config?.host || '-' }}:{{ selectedDeviceProtocolInstance?.config?.port || '-' }} 在线状态:{{ currentDeviceRealtimeRaw?.is_online ? '在线' : '离线' }} 最近刷新:{{ currentDeviceRealtimeRaw?.online_updated_at || selectedNode?.data?.last_seen || '-' }}
{{ ytSetForm.pointName }} {{ ytSetForm.ioa }} {{ ytSetForm.currentValue ?? '-' }} {{ ytSetForm.unit }}
遥测(实时)
{{ point.name }}
{{ currentModelPoints?.ym?.find(p => p.type === 'EP')?.name || '累计电能' }} (kWh)
{{ (latestEnergyValue || 0).toFixed(2) }}
kWh
{{ (selectedNode && selectedNode.label) ? selectedNode.label : '' }}
状态
{{ point.name }}
{{ dynamicStatus[point.key] ? 'ON' : 'OFF' }}
控制
{{ point.name }}
有功功率日曲线
电量日曲线

信息

首页加载中...
2D房间总览
多边形房间 · 悬浮显示设备 · 拖拽图标保存位置
{{ smartHomePolygonEditMode ? '退出房间编辑' : '编辑房间轮廓' }} 重置房间轮廓 撤销 重做
暂无房间布局数据,请点击"编辑房间轮廓"添加房间
{{ room.room.label }}
悬浮某个房间后显示该房间设备图标
暂无房间数据
房间信息
{{ smartHomePolygonEditMode ? '轮廓编辑中:拖动蓝色顶点调整房间' : '普通浏览模式' }}
{{ smartHomeHoveredRoom.label }}
{{ smartHomeHoveredRoom.data.floor || '未分区' }}
在线 {{ getRoomOnlineDeviceCount(smartHomeHoveredRoom) }} 总计 {{ getRoomDeviceCount(smartHomeHoveredRoom) }}
点击房间:进入房间页
拖拽图标:保存设备锚点
点击图标:打开设备模型
{{ dev.label }}
将鼠标悬浮到房间上可查看该房间设备,并在地图上操作图标。
{{ smartHomePanelDevice.label }}
{{ getSmartHomeTemplateLabel(smartHomePanelTemplateType) }}
{{ smartHomePanelDevice.data.is_online ? '在线' : '离线' }}
回路控制面板
{{ point.name || ('回路' + (idx + 1)) }}
{{ isSmartHomeYkOn(point, idx) ? 'ON' : 'OFF' }}
空调控制面板
开机 关机
24℃ 26℃ 28℃
{{ isSmokeAlarm(smartHomePanelDevice) ? '烟雾报警' : '环境正常' }}
浓度 {{ formatNumber(getSmokeDensity(smartHomePanelDevice), 1) }} ppm
水浸状态
{{ isLeakAlarm(smartHomePanelDevice) ? '报警' : '正常' }}
人体存在:{{ getSmartHomeBoolText(getDevicePointValue(smartHomePanelDevice, 'yx', ['PRES', '人体存在'])) }}
人体距离:{{ formatNumber(getDevicePointValue(smartHomePanelDevice, 'yc', ['DIST', '距离']), 1) }} m
心率:{{ formatNumber(getDevicePointValue(smartHomePanelDevice, 'yc', ['HR', '心率']), 0) }} bpm
呼吸:{{ formatNumber(getDevicePointValue(smartHomePanelDevice, 'yc', ['RR', '呼吸']), 0) }} rpm
温度 {{ formatNumber(getEnvSenseData([smartHomePanelDevice]).temperature, 1) }}℃
湿度 {{ formatNumber(getEnvSenseData([smartHomePanelDevice]).humidity, 0) }}%
CO2 {{ formatNumber(getEnvSenseData([smartHomePanelDevice]).co2, 0) }}ppm
光照 {{ formatNumber(getEnvSenseData([smartHomePanelDevice]).lux, 0) }}lx
该设备暂无专用模型,建议进入房间页查看。
进入房间页 关闭
当前画布为空
请先在上方选择大屏进行加载
{{ w.title }}
{{ w.w >= w.h ? (w.props.flow === 'forward' ? '>>' : '<<') : (w.props.flow === 'forward' ? 'vv' : '^^') }}
{{ w.props?.text || '示例文本' }}
{{ getEnergyRingDisplay(w).title }}
{{ getEnergyRingDisplay(w).valueText }}
{{ getEnergyRingDisplay(w).unit }}
{{ (w.props?.level || 'warning').toUpperCase() }}
{{ getAlarmTickerText(w) }}
{{ w.props?.timeText }}
未选择图片
{{ getLedClockDisplay(w).time }}
{{ getLedClockDisplay(w).date }}
{{ (w.props?.text || '欢迎来到智慧校园系统').slice(0, 100) }}
{{ getDynamicWidgetDisplay(w).name }}
{{ getDynamicWidgetDisplay(w).valueText }}
{{ widgetTypes.find(t => t.value === w.type)?.label || w.type }} 内容占位符
{{ Math.round(w.w/40) }}x{{ Math.round(w.h/40) }}
空闲车位 {{ parkingStats.free || '--' }} 已占车位 {{ parkingStats.occupied || '--' }}
点击任意位置关闭

{{ (selectedNode && selectedNode.label) ? selectedNode.label : '区域名称' }} - 房屋监测大屏

{{ room.label }}
{{ getRoomMonitorState(room).deviceName }}
{{ getRoomMonitorState(room).presence ? '有人' : '无人' }}
该区域首页尚未绑定展示模式
请在“新建大屏”时选择并绑定该区域:智能家居能耗展示智慧停车
绑定完成后,点击该区域首页将按绑定模式互斥渲染,不会叠加显示。

{{ (selectedNode && selectedNode.label) ? selectedNode.label : '' }}

{{ getSchoolFloorInfo(selectedNode.data.school_id).totalClasses }}个房间 {{ isDashboardFullscreen ? '退出全屏' : '全屏' }}
{{ currentTime.split(' ')[0] }}
{{ line }}
? 系统通知
{{ noticeText }}
设备总览
在线率 {{ Math.round((getSchoolOnlineDevices(selectedNode.data.school_id) / getSchoolTotalDevices(selectedNode.data.school_id) || 0) * 100) }}% 正常率 {{ Math.round(((getSchoolTotalDevices(selectedNode.data.school_id) - getSchoolAlarms(selectedNode.data.school_id)) / getSchoolTotalDevices(selectedNode.data.school_id) || 0) * 100) }}% 运行 {{ Math.round(((getSchoolLightStatus(selectedNode.data.school_id).onCount + getSchoolACStatus(selectedNode.data.school_id).runningCount) / (getSchoolLightStatus(selectedNode.data.school_id).total + getSchoolACStatus(selectedNode.data.school_id).total) || 0) * 100) }}%
{{ getSchoolOnlineDevices(selectedNode.data.school_id) }}
在线
{{ getSchoolTotalDevices(selectedNode.data.school_id) - getSchoolOnlineDevices(selectedNode.data.school_id) }}
离线
{{ getSchoolTotalDevices(selectedNode.data.school_id) }}
总数
设备告警分布
温度告警
{{ getSchoolAlarms(selectedNode.data.school_id) }}
CO2超标
{{ getSchoolAvgCO2(selectedNode.data.school_id) > 1000 ? Math.floor(getSchoolAvgCO2(selectedNode.data.school_id) / 1000) : 0 }}
设备离线
{{ getSchoolTotalDevices(selectedNode.data.school_id) - getSchoolOnlineDevices(selectedNode.data.school_id) }}
正常运行
{{ getSchoolOnlineDevices(selectedNode.data.school_id) }}
{{ getSchoolTotalDevices(selectedNode.data.school_id) }}
设备总数
{{ getSchoolAlarms(selectedNode.data.school_id) }}
站点告警
{{ getSchoolOnlineDevices(selectedNode.data.school_id) }}
正常站点
{{ Math.round(getSchoolOnlineDevices(selectedNode.data.school_id) / getSchoolTotalDevices(selectedNode.data.school_id) * 100) || 0 }}%
正常率
区域展示
欢迎使用物联网管理平台
站点健康度
{{ (cls && cls.label) ? cls.label : '' }}
85%
最新告警信息
{{ formatTime(alarm.timestamp).split(' ')[1] }} {{ alarm.message || '设备告警' }}
暂无告警信息
能耗分析
当前总功率
{{ getSchoolTotalPower(selectedNode.data.school_id) }}W
日平均负荷曲线 (kW)
00:00 12:00 23:59
较昨日
-{{ getSavedComparedToYesterday(selectedNode.data.school_id) }}
较上周
-{{ getSavedComparedToLastWeek(selectedNode.data.school_id) }}
近期环境曲线
● 温度 ● 湿度 ● CO2
08:00 12:00 16:00 20:00
{{ getSchoolAvgTemperature(selectedNode.data.school_id) }}°C
温度
{{ getSchoolAvgHumidity(selectedNode.data.school_id) }}%
湿度
{{ getSchoolAvgCO2(selectedNode.data.school_id) }}
CO2
显示模式选择
LED大屏设置
{{ (cls && cls.label) ? cls.label : '' }}
{{ cls.data.floor || '' }}
暂无视图配置
点击“编辑视图”配置当前班级视图
编辑视图

详情

地址: {{ selectedNode.data.address }}

新增测点 保存
{{ currentTime }}

{{ platformName }}

IoT Management Platform

{{ schools.length }}个区域 {{ classrooms.length }}个房间 {{ devices.length }}台设备
{{ item.label }}
{{ item.icon }}
{{ item.value }}
{{ item.label }}
{{ item.icon }}
{{ item.value }}

告警管理

Refresh

IEC104 运行对象

刷新

远程控制记录

查询 清空

状态记录

查询 清空

统计信息

合次数:{{ statusRecordsCloseCount }} 分次数:{{ statusRecordsOpenCount }} 合占比:{{ statusRecordsCloseCount }}/({{ statusRecordsCloseCount }}+{{ statusRecordsOpenCount }}) = {{ statusRecordsCloseRate }}%

历史曲线查询

时间段:
区域:
房间:
设备:
测点:
查询
曲线模式 棒图模式

报表管理

请选择左侧报表子菜单

新建报表

负荷报表 电量报表 日报 月报 年报
可用数据
添加 移除
已选数据
生成报表 重置

负荷日报

负荷月报

负荷年报

电量日报

电量月报

电量年报

返回报表管理

{{ currentReport.name || '报表详情' }}

报表类型: {{ currentReport.reportType === 'daily' ? '日报' : currentReport.reportType === 'monthly' ? '月报' : '年报' }}
报表对象: {{ currentReport.reportObject === 'load' ? '负荷报表' : '电量报表' }}
区域: {{ currentReport.school_name || '未知' }}
创建时间: {{ currentReport.createTime || '未知' }}
查询时间: 查询
数据模式 曲线模式 棒图模式 导出Excel 导出PDF
选择测点:
{{ dev.name }} {{ dev.specification || 'N/A' }}
{{ selectedDeviceMgmt.name }} {{ formatDeviceType(selectedDeviceMgmt.device_type) }} {{ selectedDeviceMgmt.specification }} {{ selectedDeviceMgmt.is_online ? '在线' : '离线' }}

测点定义表(规格:{{ selectedDeviceMgmt.specification }})

遥测(YC)
NameUnitCoeffBaseKeyType
{{ p.name }}{{ p.unit }}{{ p.coeff }}{{ p.base }}{{ formatPointKeyForDevice(selectedDeviceMgmt.id, p.key) }}{{ p.type }}
遥信(YX)
NameStandardKey
{{ p.name }}{{ p.standard || '0/1' }}{{ formatPointKeyForDevice(selectedDeviceMgmt.id, p.key) }}
遥控(YK)
NameAssociationKey
{{ p.name }}{{ formatPointKeyForDevice(selectedDeviceMgmt.id, p.assoc) || 'N/A' }}{{ formatPointKeyForDevice(selectedDeviceMgmt.id, p.key) }}
遥脉(YM)
NameUnitCoeffBaseKeyType
{{ p.name }}{{ p.unit }}{{ p.coeff }}{{ p.base }}{{ formatPointKeyForDevice(selectedDeviceMgmt.id, p.key) }}{{ p.type }}

{{ (selectedPointType && selectedPointType.label) ? selectedPointType.label : '' }} 定义

+ Add Point
Unsaved... 保存 另存为 取消

设备模型

图元管理

新增图元
{{ primitive.name }}
{{ primitive.type }}
{{ primitive.category }}
编辑 删除

图元库

拖拽图元到画布

{{ primitive.name }}
{{ primitive.name }}
{{ primitive.name }}
{{ primitive.name }}
{{ primitive.name }}
{{ primitive.name }}
清空 撤销 重做 复制 多选 排序
保存模板

从左侧拖拽图元到此处

属性设置

位置和大小
样式数据
类型属性

图形模型列表

新建模型
系统

系统图形模板(不可修改)

自定义

自定义图形模型

重新生成快照

设备列表

查询 重置

{{ editingSceneId ? '编辑场景模式' : '新建场景模式' }}

添加
已选设备
按房间排序 按ID排序 {{ sceneForm.selectedDevices.length }} / 100
{{ group.name }}
{{ dev.name }}
重复于: 周一 周二 周三 周四 周五 周六 周日
单次执行 循环执行 全部断开(控分) 全部接通(控合)
保存场景 更新场景 另存为新场景 取消

场景模式列表

场景执行记录

查询 清空
设为首页默认
对齐方式 添加图模 添加组件 保存大屏 保存为图模
画布为空,点击上方“添加组件”开始设计
{{ w.title }}
{{ w.props?.text || '文本' }}
{{ label }}
{{ (w.props?.level || 'warning').toUpperCase() }}
{{ getAlarmTickerText(w) }}
{{ w.props?.timeText }}
未选择图片
{{ getLedClockDisplay(w).time }}
{{ getLedClockDisplay(w).date }}
{{ (w.props?.text || '欢迎来到智慧校园系统').slice(0, 100) }}
{{ getDynamicWidgetDisplay(w).name }}
{{ getDynamicWidgetDisplay(w).valueText }}
{{ widgetTypes.find(t => t.value === w.type)?.label || w.type }}
组件属性
基础设置
线条设置
文本设置
状态数据绑定
状态显示设置
形状设置
箭头设置
控制设置
跳转设置
仪表盘设置
动态数值设置
总能耗圆环设置
多曲线图表设置
曲线 {{ index + 1 }}
柱状图设置
告警框设置
图库设置
LED显示屏设置
{{ (selectedWidget.props.text || '').length }} / 100
园区绑定 保存绑定 {{ roomMonitorBindMsg }}
请选择区域并点击保存绑定。绑定后,在左侧点击该区域节点,将显示房屋监测大屏。
园区绑定 保存绑定 {{ parkingBindMsg }} 已绑定网关:{{ parkingGatewayName }}
设备绑定 绑定设备 {{ parkingGatewayBindMsg }}
{{ createLargeScreenNameTip }}
当前大屏:{{ currentDataEditScreen ? currentDataEditScreen.name : '-' }}
刷新数据 新增映射 保存配置

用户管理

新增用户
用户ID
姓名
电话
邮箱
登录用户名
密码
角色
数据范围
最后一次登录
操作
{{ u.id }}
{{ u.full_name || '-' }}
{{ u.phone || '-' }}
{{ u.email || '-' }}
{{ u.username }}
{{ u.plain_password || '********' }}
{{ getRoleLabel(u.role) }}
{{ userDataScopes[u.id] || '加载中...' }}
{{ u.last_login ? formatDate(u.last_login) : '从未登录' }}
编辑 删除

通信服务管理

+ 新增通信服务
AND OR
删除
新增条件
删除
新增THEN动作
删除
新增ELSE动作
刷新
{{ computePointForm.result_reason || '实时值按当前测点与运算方式计算' }}
上传升级包
上传
操作流程
升级后4G启动自检 执行自检
总数 {{ upgradeHealthSummary.total_servers || 0 }} / 健康 {{ upgradeHealthSummary.healthy_servers || 0 }} / 异常 {{ upgradeHealthSummary.unhealthy_servers || 0 }}
  1. 上传 ZIP 升级包。
  2. 预检通过后再发布。
  3. 发布异常时在记录中一键回滚。
升级包列表
发布/回滚记录
{{ dev.name }} {{ dev.protocolLabel }}
{{ item.label }}: {{ item.value }}
当前为兼容只读视图
旧通信日志入口已恢复为兼容只读视图
当前页面先保留业务设备选择与实时测点查看能力,不在这里渲染动态通信报文,避免影响主界面稳定性。
平台和设备之间的 16 进制交互报文,请改到独立“设备实时报文”页查看。
{{ item.label }}: {{ item.value }}
[{{ log.time }}] {{ log.type }} {{ log.payload }} // {{ log.comment }}
兼容视图已切为只读模式,请改用“运行监视”或“设备实时报文”查看 IEC104 运行对象状态
克隆设备与测点 保留网络配置 克隆视图配置 执行克隆 重置
查询
{{ section.title }}
{{ item.label }}: {{ item.value }} {{ item.value }}
{{ section.emptyText }}
园区筛选
刷新 刷新 刷新 刷新 刷新
当前尚未采集到独立会话对象,暂按链路监听侧运行对象聚合展示。
启动监测报文 暂停监测 停止监测 清空报文
园区:{{ communicationLogSelectedDevice.school_name || '-' }} 房间:{{ communicationLogSelectedDevice.class_name || communicationLogSelectedDevice.classroom_name || '-' }} 设备:{{ communicationLogSelectedDevice.name || '-' }} 协议:{{ communicationLogSelectedDevice.protocol || '-' }} 状态:{{ communicationLogSelectedDevice.is_online ? 'online' : 'offline' }} 监测:{{ communicationLogMonitoring ? '进行中' : '未启动' }}
请先选择园区。
请选择房间。
请选择需要监测报文的设备。
当前设备离线,不能启动实时报文监测。
设备已选择,点击“启动监测报文”后开始每 3 秒自动刷新。
根据区域和协议自动生成
自动分配
当前用户角色: {{ user?.role || '未登录' }}
区域 房间 设备
不选择则默认可以查看所有{{ scopeType === 'school' ? '区域' : scopeType === 'class' ? '房间' : '设备' }}
留空则不修改密码
区域 房间 设备

选择图片

×
{{ img.name }}
暂无图片,请上传

添加新组件

图形组态 - 系统图形模板 / 自定义图模 原始组件(可编辑每个组件) SVG图片(合并为一张图) PNG图片(合并为一张图)
载入图模后可继续使用“添加组件”叠加更多组件。
{{ remoteControlDialog.currentStatus ? '合闸' : '分闸' }} Batch Create Options
{{ model ? (model.label || model.name) : '' }} System {{ model ? (model.label || model.name) : '' }} System
当前接入路径说明: 使用 RJ45 本地网络直连。 使用 4G 直连接入,后续需要复用或新建通信链路。 使用 4G 网关接入,后续需要复用或新建通信链路。 使用 IEC104 客户端接入,后续需要复用或新建协议站点。 使用 IEC104 服务端接入,后续需要复用或新建协议站点。 当前协议暂按直连接入处理。
复用现有 新建协议站点
{{ deviceForm.name || '-' }} {{ deviceForm.specification || '-' }} {{ getDeviceProtocolLabel(deviceForm.protocol) }} {{ deviceForm.device_address || '-' }} {{ deviceSiteMode === 'create' ? '新建协议站点' : '复用现有' }} {{ (is4GDeviceProtocol(deviceForm.protocol) || isIec104DeviceProtocol(deviceForm.protocol)) ? (deviceLinkMode === 'create' ? '新建通信链路' : '复用现有通信链路') : '直连设备' }} {{ deviceSiteMode === 'create' ? (deviceSiteForm.classroom_name || '-') : ((allClasses.find(item => Number(item.id) === Number(deviceForm.classroom_id)) || {}).name || '-') }} {{ deviceSiteMode === 'create' ? (deviceSiteForm.school_mode === 'new' ? (deviceSiteForm.school_name || '-') : getSchoolName(Number(deviceSiteForm.school_id || 0))) : getSchoolName(getCampusIdFromClassroom(deviceForm.classroom_id)) }}
确认后将创建设备,并按当前配置补齐协议站点、通信链路和设备绑定。
Row {{ rowIndex + 1 }} Remove Row
Add Template
Add New Row
选择图标
图元预览(实际显示效果可能因数据而异)

{{ catName }}

{{ emoji }}

{{ catName }}

已选择: {{ primitiveForm.icon || '未选择' }}