|
|
|
|
@ -2,18 +2,18 @@
|
|
|
|
|
<html lang="zh" xmlns:th="http://www.thymeleaf.org">
|
|
|
|
|
<head>
|
|
|
|
|
<meta charset="UTF-8">
|
|
|
|
|
<meta name="viewport"
|
|
|
|
|
content="width=device-width,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0,user-scalable=no">
|
|
|
|
|
<meta content="width=device-width,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0,user-scalable=no"
|
|
|
|
|
name="viewport">
|
|
|
|
|
<title>箱壳成型数据监控平台</title>
|
|
|
|
|
<meta name="description" content="箱壳成型数据监控平台">
|
|
|
|
|
<link href="../../static/css/main-style.css" th:href="@{/css/main-style.css}" rel="stylesheet"/>
|
|
|
|
|
<link href="../../static/css/materialdesignicons.min.css" th:href="@{/css/materialdesignicons.min.css}"
|
|
|
|
|
rel="stylesheet"/>
|
|
|
|
|
<link rel="stylesheet" href="../../static/css/autoscroll-table.css" th:href="@{/css/autoscroll-table.css}">
|
|
|
|
|
<meta content="箱壳成型数据监控平台" name="description">
|
|
|
|
|
<link href="../../static/css/main-style.css" rel="stylesheet" th:href="@{/css/main-style.css}"/>
|
|
|
|
|
<link href="../../static/css/materialdesignicons.min.css" rel="stylesheet"
|
|
|
|
|
th:href="@{/css/materialdesignicons.min.css}"/>
|
|
|
|
|
<link href="../../static/css/autoscroll-table.css" rel="stylesheet" th:href="@{/css/autoscroll-table.css}">
|
|
|
|
|
<!-- 360浏览器急速模式 -->
|
|
|
|
|
<meta name="renderer" content="webkit">
|
|
|
|
|
<meta content="webkit" name="renderer">
|
|
|
|
|
<!-- 避免IE使用兼容模式 -->
|
|
|
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
|
|
|
<meta content="IE=edge" http-equiv="X-UA-Compatible">
|
|
|
|
|
|
|
|
|
|
<style>
|
|
|
|
|
|
|
|
|
|
@ -188,7 +188,7 @@
|
|
|
|
|
height: 5.6%;
|
|
|
|
|
position: absolute;
|
|
|
|
|
top: 10.5%;
|
|
|
|
|
left:34.6%;
|
|
|
|
|
left: 34.6%;
|
|
|
|
|
letter-spacing: 1px;
|
|
|
|
|
font-size: 12%;
|
|
|
|
|
color: #FFC700;
|
|
|
|
|
@ -199,7 +199,7 @@
|
|
|
|
|
height: 5.6%;
|
|
|
|
|
position: absolute;
|
|
|
|
|
top: 10.5%;
|
|
|
|
|
left:59.3%;
|
|
|
|
|
left: 59.3%;
|
|
|
|
|
letter-spacing: 1px;
|
|
|
|
|
font-size: 12%;
|
|
|
|
|
color: #00FF37;
|
|
|
|
|
@ -239,6 +239,7 @@
|
|
|
|
|
height: 100%;
|
|
|
|
|
display: inline-block;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#stocking-stat_right {
|
|
|
|
|
width: 49%;
|
|
|
|
|
height: 100%;
|
|
|
|
|
@ -306,26 +307,26 @@
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<!--<div id="info-1">朱峰</div>-->
|
|
|
|
|
<div id="info-2" class="display-blocks">
|
|
|
|
|
<div class="display-blocks" id="info-2">
|
|
|
|
|
<span>-</span>
|
|
|
|
|
<span>-</span>
|
|
|
|
|
<span>-</span>
|
|
|
|
|
<span>-</span>
|
|
|
|
|
</div>
|
|
|
|
|
<!--<div id="info-3"></div>-->
|
|
|
|
|
<div id="info-4" class="display-blocks">
|
|
|
|
|
<div class="display-blocks" id="info-4">
|
|
|
|
|
<span>0</span>
|
|
|
|
|
<span>0</span>
|
|
|
|
|
<span>0</span>
|
|
|
|
|
<span>0</span>
|
|
|
|
|
</div>
|
|
|
|
|
<div id="info-5" class="display-blocks">
|
|
|
|
|
<div class="display-blocks" id="info-5">
|
|
|
|
|
<span>0</span>
|
|
|
|
|
<span>0</span>
|
|
|
|
|
<span>0</span>
|
|
|
|
|
<span>0</span>
|
|
|
|
|
</div>
|
|
|
|
|
<div id="info-6" class="display-blocks">
|
|
|
|
|
<div class="display-blocks" id="info-6">
|
|
|
|
|
<span>0</span>
|
|
|
|
|
<span>0</span>
|
|
|
|
|
<span>0</span>
|
|
|
|
|
@ -347,11 +348,13 @@
|
|
|
|
|
const planWorkOrderColumns = [
|
|
|
|
|
"编号", "计划数量", "完成数量", "差异值", "时间",
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
let demo = []
|
|
|
|
|
demo.push([1, 2, 3, 4, 5])
|
|
|
|
|
const planWorkOrderTable = new AutoScrollTable(document.getElementById("plan-work-order"), planWorkOrderColumns, {width: ['30%', null, null, null, '17%']})
|
|
|
|
|
const planTable = new AutoScrollTable(document.getElementById("plan-table"), [], {
|
|
|
|
|
const planTable = new AutoScrollTable(document.getElementById("plan-table"), planWorkOrderColumns, {
|
|
|
|
|
width: ['15%', '5%', null, null, null, null, null, null, null, null, null, null, null, null, null, null, "5%", "5%", "5%"],
|
|
|
|
|
caption: "生产计划统计",
|
|
|
|
|
scrollInfo: demo
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
const inventoryInfoDataMerger = new DataMerger({
|
|
|
|
|
@ -378,14 +381,14 @@
|
|
|
|
|
|
|
|
|
|
const rowName1 = '内胆积存库'
|
|
|
|
|
const rowName2 = '围板积存库'
|
|
|
|
|
var url='/broad/box'
|
|
|
|
|
$(() => {
|
|
|
|
|
let url = '/broad/box'
|
|
|
|
|
//生产计划工单
|
|
|
|
|
// autoUpdate(url+"/getProductPlanInfo ', INTERVAL, data => {
|
|
|
|
|
// planWorkOrderTable.loadData(data.map(value => [value[0], value[1], value[2], value[3], value[5]]), Object.keys(planWorkOrderColumns))
|
|
|
|
|
// })
|
|
|
|
|
autoUpdate(url+"/getProductPlanInfo ", INTERVAL, data => {
|
|
|
|
|
planWorkOrderTable.loadData(data.map(value => [value[0], value[1], value[2], value[3], value[5]]), Object.keys(planWorkOrderColumns))
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
autoUpdate(url+'/selectStock/S001', INTERVAL, data => {
|
|
|
|
|
autoUpdate(url + '/selectStock/S001', INTERVAL, data => {
|
|
|
|
|
inventoryInfoDataMerger.merge(
|
|
|
|
|
data['xAxisInfo'].map(value => getSC(value)),
|
|
|
|
|
data['seriesInfo'],
|
|
|
|
|
@ -399,7 +402,7 @@
|
|
|
|
|
)
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
autoUpdate(url+'/selectStock/S002', INTERVAL, data => {
|
|
|
|
|
autoUpdate(url + '/selectStock/S002', INTERVAL, data => {
|
|
|
|
|
inventoryInfoDataMerger.merge(
|
|
|
|
|
data['xAxisInfo'].map(value => getSC(value)),
|
|
|
|
|
data['seriesInfo'],
|
|
|
|
|
@ -431,29 +434,29 @@
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
// autoUpdate('/system/UShellMes/getHourOutPut', INTERVAL, data => {
|
|
|
|
|
// statByHour.setOption({
|
|
|
|
|
// xAxis: {
|
|
|
|
|
// data: data['xAxisInfo'],
|
|
|
|
|
// },
|
|
|
|
|
// series: [
|
|
|
|
|
// {
|
|
|
|
|
// name: '数量',
|
|
|
|
|
// data: data['seriesInfo'],
|
|
|
|
|
// },
|
|
|
|
|
// // {
|
|
|
|
|
// // name: '数量_',
|
|
|
|
|
// // data: data['seriesInfo'],
|
|
|
|
|
// // }
|
|
|
|
|
// ]
|
|
|
|
|
// })
|
|
|
|
|
// })
|
|
|
|
|
autoUpdate('/system/UShellMes/getHourOutPut', INTERVAL, data => {
|
|
|
|
|
statByHour.setOption({
|
|
|
|
|
xAxis: {
|
|
|
|
|
data: data['xAxisInfo'],
|
|
|
|
|
},
|
|
|
|
|
series: [
|
|
|
|
|
{
|
|
|
|
|
name: '数量',
|
|
|
|
|
data: data['seriesInfo'],
|
|
|
|
|
},
|
|
|
|
|
// {
|
|
|
|
|
// name: '数量_',
|
|
|
|
|
// data: data['seriesInfo'],
|
|
|
|
|
// }
|
|
|
|
|
]
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
// autoUpdate('/system/UShellMes/getPlanStats', INTERVAL, data => {
|
|
|
|
|
// planTable.loadData(data, null, {
|
|
|
|
|
// includeHead: true,
|
|
|
|
|
// });
|
|
|
|
|
// })
|
|
|
|
|
autoUpdate('/system/UShellMes/getPlanStats', INTERVAL, data => {
|
|
|
|
|
planTable.loadData(data, null, {
|
|
|
|
|
includeHead: true,
|
|
|
|
|
});
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
const shiftBlocks = []
|
|
|
|
|
|