|
|
|
|
@ -1,103 +1,188 @@
|
|
|
|
|
$(() => {
|
|
|
|
|
moduleTitle()
|
|
|
|
|
safe('#safe')
|
|
|
|
|
Tips(0,0,0,'#Tips')
|
|
|
|
|
total( 0,'#total')
|
|
|
|
|
card({top: 60, left: 30.5,title:'内胆检漏',name1:'问题1',value1:'值1',name2:'问题2',value2:'值2',name3:'问题3',value3:'值3'},'#cardOne')
|
|
|
|
|
card({top: 60, left: 38.5,title:'安全检测',name1:'问题1',value1:'值1',name2:'问题2',value2:'值2',name3:'问题3',value3:'值3'},'#cardTwo')
|
|
|
|
|
card({top: 60, left: 46.5,title:'成品检漏',name1:'问题1',value1:'值1',name2:'问题2',value2:'值2',name3:'问题3',value3:'值3'},'#cardThree')
|
|
|
|
|
card({top: 60, left: 54.5,title:'测温性能',name1:'问题1',value1:'值1',name2:'问题2',value2:'值2',name3:'问题3',value3:'值3'},'#cardFour')
|
|
|
|
|
card({top: 60, left: 62.5,title:'成品外观',name1:'问题1',value1:'值1',name2:'问题2',value2:'值2',name3:'问题3',value3:'值3'},'#cardFive')
|
|
|
|
|
Tips(0, 0, 0, '#Tips')
|
|
|
|
|
total(0, '#total')
|
|
|
|
|
card({
|
|
|
|
|
top: 60,
|
|
|
|
|
left: 30.5,
|
|
|
|
|
title: '内胆检漏',
|
|
|
|
|
name1: '问题1',
|
|
|
|
|
value1: '值1',
|
|
|
|
|
name2: '问题2',
|
|
|
|
|
value2: '值2',
|
|
|
|
|
name3: '问题3',
|
|
|
|
|
value3: '值3'
|
|
|
|
|
}, '#cardOne')
|
|
|
|
|
card({
|
|
|
|
|
top: 60,
|
|
|
|
|
left: 38.5,
|
|
|
|
|
title: '安全检测',
|
|
|
|
|
name1: '问题1',
|
|
|
|
|
value1: '值1',
|
|
|
|
|
name2: '问题2',
|
|
|
|
|
value2: '值2',
|
|
|
|
|
name3: '问题3',
|
|
|
|
|
value3: '值3'
|
|
|
|
|
}, '#cardTwo')
|
|
|
|
|
card({
|
|
|
|
|
top: 60,
|
|
|
|
|
left: 46.5,
|
|
|
|
|
title: '成品检漏',
|
|
|
|
|
name1: '问题1',
|
|
|
|
|
value1: '值1',
|
|
|
|
|
name2: '问题2',
|
|
|
|
|
value2: '值2',
|
|
|
|
|
name3: '问题3',
|
|
|
|
|
value3: '值3'
|
|
|
|
|
}, '#cardThree')
|
|
|
|
|
card({
|
|
|
|
|
top: 60,
|
|
|
|
|
left: 54.5,
|
|
|
|
|
title: '测温性能',
|
|
|
|
|
name1: '问题1',
|
|
|
|
|
value1: '值1',
|
|
|
|
|
name2: '问题2',
|
|
|
|
|
value2: '值2',
|
|
|
|
|
name3: '问题3',
|
|
|
|
|
value3: '值3'
|
|
|
|
|
}, '#cardFour')
|
|
|
|
|
card({
|
|
|
|
|
top: 60,
|
|
|
|
|
left: 62.5,
|
|
|
|
|
title: '成品外观',
|
|
|
|
|
name1: '问题1',
|
|
|
|
|
value1: '值1',
|
|
|
|
|
name2: '问题2',
|
|
|
|
|
value2: '值2',
|
|
|
|
|
name3: '问题3',
|
|
|
|
|
value3: '值3'
|
|
|
|
|
}, '#cardFive')
|
|
|
|
|
// 公共请求地址
|
|
|
|
|
let url = 'mtk'
|
|
|
|
|
// let url = ''
|
|
|
|
|
let url = '/broad/mtk'
|
|
|
|
|
|
|
|
|
|
// 轮询间隔时间
|
|
|
|
|
const INTERVAL = 30000
|
|
|
|
|
|
|
|
|
|
//每日人力出勤轮询
|
|
|
|
|
autoUpdate(url + "/team6s ", INTERVAL, data => {
|
|
|
|
|
console.log(data)
|
|
|
|
|
data ??= [
|
|
|
|
|
{
|
|
|
|
|
teamName: '班组1',
|
|
|
|
|
teamNumber: 72,
|
|
|
|
|
path:''
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
teamName: '班组2',
|
|
|
|
|
teamNumber: 52,
|
|
|
|
|
path:''
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
teamName: '班组3',
|
|
|
|
|
teamNumber: 72,
|
|
|
|
|
path:''
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
teamName: '班组4',
|
|
|
|
|
teamNumber: 29,
|
|
|
|
|
path:''
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
teamName: '班组5',
|
|
|
|
|
teamNumber: 82,
|
|
|
|
|
path:''
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
teamName: '班组6',
|
|
|
|
|
teamNumber: 82,
|
|
|
|
|
path:''
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
teamName: '班组7',
|
|
|
|
|
teamNumber: 28,
|
|
|
|
|
path:''
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
teamName: '班组8',
|
|
|
|
|
teamNumber: 62,
|
|
|
|
|
path:''
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
teamName: '班组9',
|
|
|
|
|
teamNumber: 82,
|
|
|
|
|
path:''
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
teamName: '班组10',
|
|
|
|
|
teamNumber: 38,
|
|
|
|
|
path:''
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
teamName: '班组11',
|
|
|
|
|
teamNumber: 93,
|
|
|
|
|
path:''
|
|
|
|
|
},
|
|
|
|
|
]
|
|
|
|
|
data.sort((a,b)=>{
|
|
|
|
|
return b.teamNumber - a.teamNumber
|
|
|
|
|
})
|
|
|
|
|
console.log(data)
|
|
|
|
|
singleVerticalBarChartTwo({
|
|
|
|
|
xName: data.map(val => val.teamName),
|
|
|
|
|
yData: data.map(val => val.teamNumber),
|
|
|
|
|
yImg: data.map(val => val.path),
|
|
|
|
|
}, document.getElementById("manpowerAttendance"))
|
|
|
|
|
data ??= [
|
|
|
|
|
{
|
|
|
|
|
teamName: '班组1',
|
|
|
|
|
teamNumber: 72,
|
|
|
|
|
path: ''
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
teamName: '班组2',
|
|
|
|
|
teamNumber: 52,
|
|
|
|
|
path: ''
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
teamName: '班组3',
|
|
|
|
|
teamNumber: 72,
|
|
|
|
|
path: ''
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
teamName: '班组4',
|
|
|
|
|
teamNumber: 29,
|
|
|
|
|
path: ''
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
teamName: '班组5',
|
|
|
|
|
teamNumber: 82,
|
|
|
|
|
path: ''
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
teamName: '班组6',
|
|
|
|
|
teamNumber: 82,
|
|
|
|
|
path: ''
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
teamName: '班组7',
|
|
|
|
|
teamNumber: 28,
|
|
|
|
|
path: ''
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
teamName: '班组8',
|
|
|
|
|
teamNumber: 62,
|
|
|
|
|
path: ''
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
teamName: '班组9',
|
|
|
|
|
teamNumber: 82,
|
|
|
|
|
path: ''
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
teamName: '班组10',
|
|
|
|
|
teamNumber: 38,
|
|
|
|
|
path: ''
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
teamName: '班组11',
|
|
|
|
|
teamNumber: 93,
|
|
|
|
|
path: ''
|
|
|
|
|
},
|
|
|
|
|
]
|
|
|
|
|
data.sort((a, b) => {
|
|
|
|
|
return b.teamNumber - a.teamNumber
|
|
|
|
|
})
|
|
|
|
|
singleVerticalBarChartTwo({
|
|
|
|
|
xName: data.map(val => val.teamName),
|
|
|
|
|
yData: data.map(val => val.teamNumber),
|
|
|
|
|
yImg: data.map(val => val.path),
|
|
|
|
|
}, document.getElementById("manpowerAttendance"))
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
// IQC
|
|
|
|
|
horizontalRoundedBarChartWithBackgroundTwo(null, document.getElementById("IQC"))
|
|
|
|
|
// 三日订单执行情况
|
|
|
|
|
autoUpdate(url + "/inStore3d", INTERVAL, data => {
|
|
|
|
|
console.log(data)
|
|
|
|
|
horizontalRoundedBarChartWithBackgroundTwo({
|
|
|
|
|
yNameOne: data.map(val => val.name),
|
|
|
|
|
yData: data.map(val => val.rate),
|
|
|
|
|
xDataName: "达成率",
|
|
|
|
|
}, document.getElementById("IQC"))
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
// 设备功率
|
|
|
|
|
singleVerticalBarChart(null, document.getElementById("equipmentPower"))
|
|
|
|
|
// autoUpdate(url + "/inStore3d", INTERVAL, data => {
|
|
|
|
|
singleVerticalBarChart({
|
|
|
|
|
xName: ["1月", "2月", "3月", "4月", "5月", "6月", "7月"],
|
|
|
|
|
yData: [12, 20, 11, 30, 14, 80, 50],
|
|
|
|
|
}, document.getElementById("equipmentPower"))
|
|
|
|
|
// })
|
|
|
|
|
|
|
|
|
|
// 生产效率
|
|
|
|
|
// autoUpdate(url + "/ ", INTERVAL, data => {
|
|
|
|
|
singleVerticalBarChart(null, document.getElementById("productionEfficiency"))
|
|
|
|
|
singleVerticalBarChart({
|
|
|
|
|
xName: ["1月", "2月", "3月", "4月", "5月", "6月", "7月"],
|
|
|
|
|
yData: [12, 20, 11, 30, 14, 80, 50],
|
|
|
|
|
}, document.getElementById("productionEfficiency"))
|
|
|
|
|
// })
|
|
|
|
|
// 成品入库统计
|
|
|
|
|
percentageRingDiagram(null, document.getElementById("mainData"))
|
|
|
|
|
// autoUpdate(url + "/inStore3d", INTERVAL, data => {
|
|
|
|
|
percentageRingDiagram([
|
|
|
|
|
{
|
|
|
|
|
name: "内胆检漏",
|
|
|
|
|
value: 54,
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name: "安全检测",
|
|
|
|
|
value: 44,
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name: "成品检漏",
|
|
|
|
|
value: 35,
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name: "测温性能",
|
|
|
|
|
value: 30,
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name: "成品外观",
|
|
|
|
|
value: 44,
|
|
|
|
|
},
|
|
|
|
|
], document.getElementById("mainData"))
|
|
|
|
|
// })
|
|
|
|
|
|
|
|
|
|
})
|
|
|
|
|
const today = () => {
|
|
|
|
|
@ -141,7 +226,17 @@ const safe = (el) => {
|
|
|
|
|
$(el).html(html)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const card = (val = {top: 1, left: 1,title:'',name1:'',value1:'',name2:'',value2:'',name3:'',value3:''},el) => {
|
|
|
|
|
const card = (val = {
|
|
|
|
|
top: 1,
|
|
|
|
|
left: 1,
|
|
|
|
|
title: '',
|
|
|
|
|
name1: '',
|
|
|
|
|
value1: '',
|
|
|
|
|
name2: '',
|
|
|
|
|
value2: '',
|
|
|
|
|
name3: '',
|
|
|
|
|
value3: ''
|
|
|
|
|
}, el) => {
|
|
|
|
|
const html = `
|
|
|
|
|
<div style="position: absolute;top: ${val.top}%;left: ${val.left}%;width:7%;height:15%;border: 1px solid #0E72F1;">
|
|
|
|
|
<div style="position: absolute;top: 0%;left: 0%;width:100%;height:15%;background-color: #0C71F3;text-align: center;font-size: 0.75vw;line-height: 1.2vw">
|
|
|
|
|
|