330 lines
12 KiB
HTML
330 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/index5/index5.css" />
|
|||
|
<link rel="stylesheet" href="assets/crpm/index/index.css" />
|
|||
|
</head>
|
|||
|
<body>
|
|||
|
<div class="system">
|
|||
|
<div class="top">
|
|||
|
<div class="title">
|
|||
|
<h3>工厂计划与排程系统</h3>
|
|||
|
</div>
|
|||
|
<ul class="layui-nav layui-layout-right">
|
|||
|
<li class="layui-nav-item layui-hide layui-show-sm-inline-block">
|
|||
|
<a href="javascript:void(0);">管理员</a>
|
|||
|
<dl class="layui-nav-child">
|
|||
|
<dd><a href="javascript:void(0);">退出</a></dd>
|
|||
|
</dl>
|
|||
|
</li>
|
|||
|
</ul>
|
|||
|
</div>
|
|||
|
<div class="bottom">
|
|||
|
<div class="left">
|
|||
|
<!-- 左侧导航区域(可配合layui已有的垂直导航) -->
|
|||
|
<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-71258579-bc48-4160-a828-4fcfc4e2c520" data-mod-id="085bf879-d349-4cd5-9b93-bdbe78a5d0de" data-url="route/pages/888158/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-e2aeee01-bdb8-4858-83c0-82a0c23057a8" data-mod-id="8eb6a834-6798-4932-bfa3-3bf256390339" data-url="route/pages/0ca304/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-5d313505-c45c-4d87-8486-82ef3f544839" data-mod-id="c753448d-9ac1-4ef6-9472-c967dc6e984f" data-url="route/pages/67a64f/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-9e413446-8c9c-482e-ac74-62aaef1fe53f" data-mod-id="9cf0c913-51ac-4340-b4b3-c13daea6f632" data-url="route/pages/6b8802/list.html"><i class="fa fa-list"></i> 物料需求计划(MRP)</a>
|
|||
|
</li>
|
|||
|
<li class="layui-nav-item layui-nav-itemed">
|
|||
|
<a href="javascript:void(0);" class="menu-item" id="menu-b279ed58-f80c-43d2-89fc-0afcb1376ca7" data-mod-id="beb7e844-dc03-40f2-ab08-84762ec5eb54" data-url="route/pages/cea335/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-5271289b-3018-42f6-b0a9-8674ddc1aedf" data-mod-id="b4c66335-522d-4ac2-b4e4-eacb5e5bd77d" data-url="route/pages/524b06/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-de17568c-a098-49e7-8d8a-203b9c97514b" data-mod-id="5fc3be03-15d2-49dc-9114-25b8bfb0c738" data-url="route/pages/e819b9/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-74ab1f43-8e53-45cf-9434-8c402f470dd2" data-mod-id="36ab0300-9b15-4992-b771-9cf0b816ff51" data-url="route/pages/506488/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-250ee74d-8729-4de1-871c-f92f23b6b5b7" data-mod-id="8815d2e1-edee-428b-a583-19aac45fd67d" data-url="route/pages/e014b2/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-e847509e-6636-4b23-b387-48e2c339b50c" data-mod-id="334d7f6b-b48e-4455-b69f-6e596ac5cd66" data-url="route/pages/1af868/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-79f60e32-6e10-409e-b571-b33a0bba24e1" data-mod-id="a792be85-54bb-4bdb-84ab-22d095f19398" data-url="route/pages/66b923/list.html"><i class="fa fa-list"></i> 异常处理</a>
|
|||
|
</li>
|
|||
|
</ul>
|
|||
|
</div>
|
|||
|
<div class="right">
|
|||
|
<div class="headline">
|
|||
|
|
|||
|
<h5>欢迎使用工厂计划与排程系统</h5>
|
|||
|
</div>
|
|||
|
|
|||
|
<div class="layui-card layui-panel page-iframe-container">
|
|||
|
<div class='homepage' id="homepage">
|
|||
|
<div class='homepage-top' >
|
|||
|
<div class='lineChart' id="lineChart"></div>
|
|||
|
<div class='pieChartOne' id="pieChartOne"></div>
|
|||
|
|
|||
|
|
|||
|
</div>
|
|||
|
<div class='homepage-bot' >
|
|||
|
<div id="barChartTwo" class='barChartTwo' ></div>
|
|||
|
<div class='pieChartTwo' id="pieChartTwo"></div>
|
|||
|
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<iframe class="page-iframe" id="pageIframe" src="" style="display: none;"></iframe>
|
|||
|
</div>
|
|||
|
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<script src="assets/crpm/js/layui/layui.js"></script>
|
|||
|
<script src="assets/crpm/js/echarts/echarts.min.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() - 145}px`
|
|||
|
})
|
|||
|
}
|
|||
|
|
|||
|
init();
|
|||
|
var homepage = document.getElementById('homepage');
|
|||
|
$(document).on('click', '.menu-item', function() {
|
|||
|
var url = this.dataset.url;
|
|||
|
var pageIframe = $('#pageIframe');
|
|||
|
pageIframe.attr('src', url);
|
|||
|
pageIframe.show();
|
|||
|
homepage.style.display = 'none';
|
|||
|
});
|
|||
|
});
|
|||
|
//折线图
|
|||
|
var lineChart = echarts.init(document.getElementById('lineChart'));
|
|||
|
var optionLine = {
|
|||
|
animation: false,
|
|||
|
title: {
|
|||
|
//text: '业务核心数据',//
|
|||
|
left: 'left', // Center align the title horizontally
|
|||
|
},
|
|||
|
xAxis: {
|
|||
|
type: 'category',
|
|||
|
boundaryGap: false,
|
|||
|
data: ['2024-1', '2024-2', '2024-3', '2024-4', '2024-5', '2024-6', '2024-7']
|
|||
|
},
|
|||
|
yAxis: {
|
|||
|
type: 'value'
|
|||
|
},
|
|||
|
tooltip: {
|
|||
|
trigger: 'axis' // 设置触发类型为坐标轴触发
|
|||
|
},
|
|||
|
series: [{
|
|||
|
data: [820, 733, 901, 600, 1290, 500, 1320],
|
|||
|
type: 'line',
|
|||
|
smooth: true,
|
|||
|
areaStyle: {}
|
|||
|
}]
|
|||
|
};
|
|||
|
lineChart.setOption(optionLine);
|
|||
|
|
|||
|
var currentIndex = -1;
|
|||
|
var interval = 1000; // 切换间隔时间,单位是毫秒
|
|||
|
var timer; // 定时器变量
|
|||
|
|
|||
|
// 自动触发选中状态并每隔1秒自动向下一个触发
|
|||
|
function startAutoPlay() {
|
|||
|
timer = setInterval(function() {
|
|||
|
var dataLen = optionLine.series[0].data.length;
|
|||
|
// 取消之前高亮的图形
|
|||
|
lineChart.dispatchAction({
|
|||
|
type: 'downplay',
|
|||
|
seriesIndex: 0,
|
|||
|
dataIndex: currentIndex
|
|||
|
});
|
|||
|
currentIndex = (currentIndex + 1) % dataLen;
|
|||
|
// 高亮当前图形
|
|||
|
lineChart.dispatchAction({
|
|||
|
type: 'highlight',
|
|||
|
seriesIndex: 0,
|
|||
|
dataIndex: currentIndex
|
|||
|
});
|
|||
|
// 显示 tooltip
|
|||
|
lineChart.dispatchAction({
|
|||
|
type: 'showTip',
|
|||
|
seriesIndex: 0,
|
|||
|
dataIndex: currentIndex
|
|||
|
});
|
|||
|
}, interval);
|
|||
|
}
|
|||
|
|
|||
|
// 开始自动播放
|
|||
|
startAutoPlay();
|
|||
|
|
|||
|
// 鼠标悬停在图表上时暂停自动播放
|
|||
|
lineChart.on('mouseover', function() {
|
|||
|
clearInterval(timer);
|
|||
|
});
|
|||
|
|
|||
|
// 鼠标离开图表区域时恢复自动播放
|
|||
|
lineChart.on('mouseout', function() {
|
|||
|
startAutoPlay();
|
|||
|
});
|
|||
|
// 饼状图1
|
|||
|
var pieChartOne = echarts.init(document.getElementById('pieChartOne'));
|
|||
|
var optionPieOne = {
|
|||
|
animation: false,
|
|||
|
title: {
|
|||
|
//text: '业务核心数据',//
|
|||
|
left: 'left'
|
|||
|
},
|
|||
|
tooltip: {
|
|||
|
trigger: 'item'
|
|||
|
},
|
|||
|
legend: {
|
|||
|
orient: 'vertical',
|
|||
|
left: 'right'
|
|||
|
},
|
|||
|
series: [{
|
|||
|
//name: '嘻嘻',//
|
|||
|
type: 'pie',
|
|||
|
radius: ['50%', '70%'],
|
|||
|
data: [
|
|||
|
{value: 150, name: 'data1'},
|
|||
|
{value: 274, name: 'data2'},
|
|||
|
{value: 310, name: 'data3'},
|
|||
|
{value: 335, name: 'data4'},
|
|||
|
{value: 400, name: 'data5'}
|
|||
|
]
|
|||
|
}]
|
|||
|
};
|
|||
|
pieChartOne.setOption(optionPieOne);
|
|||
|
//柱状图2
|
|||
|
var barChartTwo = echarts.init(document.getElementById('barChartTwo'));
|
|||
|
var optionBarTwo = {
|
|||
|
animation: false,
|
|||
|
title: {
|
|||
|
//text: '业务核心数据'//
|
|||
|
},
|
|||
|
tooltip: {
|
|||
|
trigger: 'axis',
|
|||
|
axisPointer: {
|
|||
|
type: 'shadow'
|
|||
|
}
|
|||
|
},
|
|||
|
legend: {
|
|||
|
data: ['Profit', 'Expenses', 'Income']
|
|||
|
},
|
|||
|
grid: {
|
|||
|
left: '3%',
|
|||
|
right: '4%',
|
|||
|
bottom: '3%',
|
|||
|
containLabel: true
|
|||
|
},
|
|||
|
xAxis: [
|
|||
|
{
|
|||
|
type: 'value'
|
|||
|
}
|
|||
|
],
|
|||
|
yAxis: [
|
|||
|
{
|
|||
|
type: 'category',
|
|||
|
axisTick: {
|
|||
|
show: false
|
|||
|
},
|
|||
|
data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
|
|||
|
}
|
|||
|
],
|
|||
|
series: [
|
|||
|
{
|
|||
|
name: 'Profit',
|
|||
|
type: 'bar',
|
|||
|
label: {
|
|||
|
show: true,
|
|||
|
position: 'inside'
|
|||
|
},
|
|||
|
emphasis: {
|
|||
|
focus: 'series'
|
|||
|
},
|
|||
|
data: [200, 170, 240, 244, 200, 220, 210]
|
|||
|
},
|
|||
|
{
|
|||
|
name: 'Income',
|
|||
|
type: 'bar',
|
|||
|
stack: 'Total',
|
|||
|
label: {
|
|||
|
show: true
|
|||
|
},
|
|||
|
emphasis: {
|
|||
|
focus: 'series'
|
|||
|
},
|
|||
|
data: [320, 302, 341, 374, 390, 450, 420]
|
|||
|
},
|
|||
|
{
|
|||
|
name: 'Expenses',
|
|||
|
type: 'bar',
|
|||
|
stack: 'Total',
|
|||
|
label: {
|
|||
|
show: true,
|
|||
|
position: 'left'
|
|||
|
},
|
|||
|
emphasis: {
|
|||
|
focus: 'series'
|
|||
|
},
|
|||
|
data: [-120, -132, -101, -134, -190, -230, -210]
|
|||
|
}
|
|||
|
]
|
|||
|
};
|
|||
|
barChartTwo.setOption(optionBarTwo);
|
|||
|
// 饼状图2
|
|||
|
var pieChartTwo = echarts.init(document.getElementById('pieChartTwo'));
|
|||
|
var optionPieTwo = {
|
|||
|
animation: false,
|
|||
|
title: {
|
|||
|
//text: '业务核心数据',//
|
|||
|
left: 'left'
|
|||
|
},
|
|||
|
tooltip: {
|
|||
|
trigger: 'item'
|
|||
|
},
|
|||
|
legend: {
|
|||
|
orient: 'vertical',
|
|||
|
left: 'right'
|
|||
|
},
|
|||
|
series: [{
|
|||
|
//name: '嘻嘻',//
|
|||
|
type: 'pie',
|
|||
|
radius: ['0%', '70%'],
|
|||
|
data: [
|
|||
|
{value: 150, name: 'data1'},
|
|||
|
{value: 274, name: 'data2'},
|
|||
|
{value: 310, name: 'data3'},
|
|||
|
{value: 335, name: 'data4'},
|
|||
|
{value: 400, name: 'data5'}
|
|||
|
]
|
|||
|
}]
|
|||
|
};
|
|||
|
pieChartTwo.setOption(optionPieTwo);
|
|||
|
</script>
|
|||
|
</body>
|
|||
|
</html>
|