288 lines
12 KiB
HTML
288 lines
12 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<base href="/"/>
|
|
<meta charset="UTF-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<title>设备二维码巡检系统</title>
|
|
<link rel="stylesheet" href="assets/crpm/js/layui/css/layui.css" />
|
|
<link rel="stylesheet" href="assets/crpm/fonts/font-awesome/css/font-awesome.css" />
|
|
<link rel="stylesheet" href="assets/crpm/index/index9/index9.css" />
|
|
<link rel="stylesheet" href="assets/crpm/index/index.css" />
|
|
</head>
|
|
<body>
|
|
<div class="system">
|
|
<div class="top">
|
|
<h3>设备二维码巡检系统</h3>
|
|
<span>
|
|
<em><a href="javascript:void(0);">退出系统</a></em>
|
|
</span>
|
|
</div>
|
|
<div class="bottom">
|
|
<div class="left">
|
|
<div class="head">
|
|
<img src="" alt="">
|
|
<h4>账号名称</h4>
|
|
<em>管理人员</em>
|
|
</div>
|
|
<ul class="layui-nav layui-nav-tree" lay-filter="test">
|
|
<li class="layui-nav-item layui-nav-itemed">
|
|
<a href="javascript:void(0);" class="menu-item" id="menu-6b3f61af-9077-4d32-ba17-06323c5b4d54" data-mod-id="d48fd3fe-9f7a-427c-a106-5bd8f9cd2bf5" data-url="route/pages/c49755/list.html"><i class="fa fa-list"></i> 二维码生成</a>
|
|
</li>
|
|
<li class="layui-nav-item layui-nav-itemed">
|
|
<a href="javascript:void(0);" class="menu-item" id="menu-96019713-af90-47ff-ba6e-7ed5d4baf283" data-mod-id="1f6f942f-4c57-4825-9f71-6a085dc590cb" data-url="route/pages/d80717/list.html"><i class="fa fa-list"></i> 扫码识别</a>
|
|
</li>
|
|
<li class="layui-nav-item layui-nav-itemed">
|
|
<a href="javascript:void(0);" class="menu-item" id="menu-115eb185-b9b2-410f-8f21-74b1ce9c9b50" data-mod-id="3c794b06-da8b-4d6d-8a5e-8433bbebf325" data-url="route/pages/cdfd45/list.html"><i class="fa fa-list"></i> 巡检记录</a>
|
|
</li>
|
|
<li class="layui-nav-item layui-nav-itemed">
|
|
<a href="javascript:void(0);" class="menu-item" id="menu-ca584a01-b210-45da-9960-c25d06f0f821" data-mod-id="8f5fce1b-0402-4726-85e1-50103ca923ad" data-url="route/pages/bb6cd1/list.html"><i class="fa fa-list"></i> 异常报警</a>
|
|
</li>
|
|
<li class="layui-nav-item layui-nav-itemed">
|
|
<a href="javascript:void(0);" class="menu-item" id="menu-1cc7e958-9def-4955-b868-2cef8fabe56c" data-mod-id="e688d5be-1580-4d76-8fbc-e947ea014957" data-url="route/pages/178cdf/list.html"><i class="fa fa-list"></i> 维修管理</a>
|
|
</li>
|
|
<li class="layui-nav-item layui-nav-itemed">
|
|
<a href="javascript:void(0);" class="menu-item" id="menu-edffd15d-aec0-4a7d-ba66-2b7c06e0c899" data-mod-id="8afa47e6-331d-4d59-8bde-7cc52882b7da" data-url="route/pages/c85e75/list.html"><i class="fa fa-list"></i> 保养计划</a>
|
|
</li>
|
|
<li class="layui-nav-item layui-nav-itemed">
|
|
<a href="javascript:void(0);" class="menu-item" id="menu-33c922cd-ec5c-43ce-bcf3-7be9b34ee18d" data-mod-id="9169f599-6e3c-4d7c-8f92-c6e26b4456e3" data-url="route/pages/460879/list.html"><i class="fa fa-list"></i> 设备台账</a>
|
|
</li>
|
|
<li class="layui-nav-item layui-nav-itemed">
|
|
<a href="javascript:void(0);" class="menu-item" id="menu-c1cff805-9630-431d-9a3e-b29cc48298af" data-mod-id="72db61a2-ee34-4923-8101-cc46faafe8b0" data-url="route/pages/3aa3bd/list.html"><i class="fa fa-list"></i> 备件库存</a>
|
|
</li>
|
|
<li class="layui-nav-item layui-nav-itemed">
|
|
<a href="javascript:void(0);" class="menu-item" id="menu-b7ac72a8-01ae-4c26-81da-157926b93f04" data-mod-id="65dafa15-90e4-43b9-86bd-d2a9415910b7" data-url="route/pages/b98900/list.html"><i class="fa fa-list"></i> 权限管理</a>
|
|
</li>
|
|
<li class="layui-nav-item layui-nav-itemed">
|
|
<a href="javascript:void(0);" class="menu-item" id="menu-6f3c0a83-1ad3-49de-8721-6ca05cff772d" data-mod-id="8896feba-1561-4aad-86e2-e8273224aed7" data-url="route/pages/ade5a9/list.html"><i class="fa fa-list"></i> 操作日志</a>
|
|
</li>
|
|
<li class="layui-nav-item layui-nav-itemed">
|
|
<a href="javascript:void(0);" class="menu-item" id="menu-1d7b26a6-15c8-4dab-8ba2-6bfe246df869" data-mod-id="62b312d5-644a-44a6-a5d8-8243473eac60" data-url="route/pages/17fbb1/list.html"><i class="fa fa-list"></i> 二维码更新</a>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="right">
|
|
<div class="top">
|
|
<div class="headline">
|
|
欢迎使用设备二维码巡检系统
|
|
</div>
|
|
</div>
|
|
<div class="content">
|
|
<div class="homepage" id="homepage">
|
|
<div class="layui-row layui-col-space15">
|
|
<div class="layui-col-md12">
|
|
<div class="layui-card">
|
|
<div class="layui-card-header">设备故障类型统计</div>
|
|
<div class="layui-card-body">
|
|
<div id="repairCostChart" style="height: 300px;"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="layui-row layui-col-space15" style="margin-top: 15px;">
|
|
<div class="layui-col-md4">
|
|
<div class="layui-card">
|
|
<div class="layui-card-header">设备类型分布</div>
|
|
<div class="layui-card-body">
|
|
<div id="equipmentTypeChart" style="height: 250px;"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="layui-col-md4">
|
|
<div class="layui-card">
|
|
<div class="layui-card-header">巡检合格率统计</div>
|
|
<div class="layui-card-body">
|
|
<div id="inspectionRateChart" style="height: 250px;"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="layui-col-md4">
|
|
<div class="layui-card">
|
|
<div class="layui-card-header">异常报警级别分布</div>
|
|
<div class="layui-card-body">
|
|
<div id="alarmLevelChart" style="height: 250px;"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<iframe class="page-iframe" id="pageIframe" src="" style="display: none;"></iframe>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<script src="assets/crpm/js/echarts/echarts.min.js"></script>
|
|
<script src="assets/crpm/js/layui/layui.js"></script>
|
|
<script>
|
|
layui.use(['element', 'layer', 'util'], function () {
|
|
var element = layui.element;
|
|
var layer = layui.layer;
|
|
var util = layui.util;
|
|
var $ = layui.$;
|
|
var $win = $(window);
|
|
window['layer'] = layer;
|
|
|
|
var init = function() {
|
|
var $pageIframe = $('#pageIframe');
|
|
$pageIframe.css({
|
|
height: `${$win.height() - 200}px`
|
|
})
|
|
}
|
|
|
|
init();
|
|
|
|
var homepage = document.getElementById('homepage');
|
|
var content = document.querySelector('.content');
|
|
$(document).on('click', '.menu-item', function() {
|
|
var url = this.dataset.url;
|
|
var pageIframe = $('#pageIframe');
|
|
pageIframe.attr('src', url);
|
|
pageIframe.show();
|
|
homepage.style.display = 'none';
|
|
content.style.backgroundColor = '#FFF'
|
|
});
|
|
});
|
|
|
|
// 设备故障类型统计 - 柱状图
|
|
var repairCostChart = echarts.init(document.getElementById('repairCostChart'));
|
|
var repairCostOption = {
|
|
animation: false,
|
|
tooltip: {
|
|
trigger: 'axis',
|
|
formatter: '{b}: {c}次'
|
|
},
|
|
xAxis: {
|
|
type: 'category',
|
|
data: ['液压系统漏油', '风机异响', '排气温度过高', '加热元件故障', '皮带打滑', '电机过载', '真空度不足', '切割精度下降', '振动值超标', '控制系统故障'],
|
|
axisLabel: {
|
|
rotate: 45
|
|
}
|
|
},
|
|
yAxis: {
|
|
type: 'value',
|
|
name: '故障次数'
|
|
},
|
|
series: [{
|
|
name: '故障次数',
|
|
type: 'bar',
|
|
data: [2, 2, 2, 2, 2, 2, 2, 2, 2, 2],
|
|
itemStyle: {
|
|
color: '#1890ff'
|
|
}
|
|
}]
|
|
};
|
|
repairCostChart.setOption(repairCostOption);
|
|
|
|
// 设备类型分布 - 饼图
|
|
var equipmentTypeChart = echarts.init(document.getElementById('equipmentTypeChart'));
|
|
var equipmentTypeOption = {
|
|
animation: false,
|
|
tooltip: {
|
|
trigger: 'item',
|
|
formatter: '{a} <br/>{b}: {c}台 ({d}%)'
|
|
},
|
|
legend: {
|
|
orient: 'vertical',
|
|
left: 'left'
|
|
},
|
|
series: [{
|
|
name: '设备类型',
|
|
type: 'pie',
|
|
radius: '60%',
|
|
data: [
|
|
{value: 4, name: '注塑机'},
|
|
{value: 4, name: '冷却塔'},
|
|
{value: 4, name: '压缩机'},
|
|
{value: 4, name: '烘干机'},
|
|
{value: 4, name: '传送带'},
|
|
{value: 4, name: '搅拌机'},
|
|
{value: 4, name: '真空泵'},
|
|
{value: 4, name: '切割机'},
|
|
{value: 4, name: '风机'},
|
|
{value: 4, name: '包装机'}
|
|
],
|
|
emphasis: {
|
|
itemStyle: {
|
|
shadowBlur: 10,
|
|
shadowOffsetX: 0,
|
|
shadowColor: 'rgba(0, 0, 0, 0.5)'
|
|
}
|
|
}
|
|
}]
|
|
};
|
|
equipmentTypeChart.setOption(equipmentTypeOption);
|
|
|
|
// 巡检合格率统计 - 柱状图
|
|
var inspectionRateChart = echarts.init(document.getElementById('inspectionRateChart'));
|
|
var inspectionRateOption = {
|
|
animation: false,
|
|
tooltip: {
|
|
trigger: 'axis',
|
|
formatter: '{b}: {c}%'
|
|
},
|
|
xAxis: {
|
|
type: 'category',
|
|
data: ['8月1日', '8月2日', '8月3日']
|
|
},
|
|
yAxis: {
|
|
type: 'value',
|
|
name: '合格率(%)',
|
|
max: 100
|
|
},
|
|
series: [{
|
|
name: '合格率',
|
|
type: 'bar',
|
|
data: [100, 70, 70],
|
|
itemStyle: {
|
|
color: function(params) {
|
|
return params.value >= 90 ? '#52c41a' : params.value >= 70 ? '#faad14' : '#ff4d4f';
|
|
}
|
|
}
|
|
}]
|
|
};
|
|
inspectionRateChart.setOption(inspectionRateOption);
|
|
|
|
// 异常报警级别分布 - 环形饼图
|
|
var alarmLevelChart = echarts.init(document.getElementById('alarmLevelChart'));
|
|
var alarmLevelOption = {
|
|
animation: false,
|
|
tooltip: {
|
|
trigger: 'item',
|
|
formatter: '{a} <br/>{b}: {c}次 ({d}%)'
|
|
},
|
|
legend: {
|
|
orient: 'vertical',
|
|
left: 'left'
|
|
},
|
|
series: [{
|
|
name: '报警级别',
|
|
type: 'pie',
|
|
radius: ['40%', '70%'],
|
|
data: [
|
|
{value: 8, name: '警告', itemStyle: {color: '#faad14'}},
|
|
{value: 8, name: '一般', itemStyle: {color: '#1890ff'}},
|
|
{value: 6, name: '严重', itemStyle: {color: '#ff4d4f'}}
|
|
],
|
|
emphasis: {
|
|
itemStyle: {
|
|
shadowBlur: 10,
|
|
shadowOffsetX: 0,
|
|
shadowColor: 'rgba(0, 0, 0, 0.5)'
|
|
}
|
|
}
|
|
}]
|
|
};
|
|
alarmLevelChart.setOption(alarmLevelOption);
|
|
|
|
// 响应式处理
|
|
window.addEventListener('resize', function() {
|
|
repairCostChart.resize();
|
|
equipmentTypeChart.resize();
|
|
inspectionRateChart.resize();
|
|
alarmLevelChart.resize();
|
|
});
|
|
</script>
|
|
</body>
|
|
</html>
|