$(() => { moduleTitle() safe('#safe') // 公共请求地址 let url = '/broad/zhou' // 轮询间隔时间 const INTERVAL = 30000 const orderDetailsTable = new AutoScrollTable(document.getElementById("IQC"), ["编号", "型号", "计划数量", "完成数量", "差异值"], {width: ['13%', '40%', null, null, '9%']}, 8) //每日人力出勤轮询 autoUpdate("/broad/mtk/team6s ", INTERVAL, data => { 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")) }) // 三日订单执行情况 autoUpdate(url + "/selectOrderRateInfo", INTERVAL, data => { let newData = [] data.forEach((val,index) => { if (val.actual_number !== 0){ newData.push(data[index]) } }) singleVerticalBarChart({ xName: newData.map(val => val.name_sub), yData: newData.map(val => val.actual_number), }, document.getElementById("productionEfficiency"), -20) orderDetailsTable.loadData(data.map(value => [value.plan_code, value.name, value.plan_number, value.actual_number, value.plan_number - value.actual_number]), Object.keys(["编号", "型号", "计划数量", "完成数量", "差异值"])) }) // autoUpdate(url + "/mtk_selectOrderInfoBy3dTatle", INTERVAL, data => { // total(data.find(val => val.name === '入库订单统计').qty, '#total') // Tips(data.find(val => val.name === '订单数量').qty, data.find(val => val.name === '完成数量').qty, data.find(val => val.name === '清单率').qty, '#Tips') // }) autoUpdate(url+"/selectOrderRateInfoTatle", INTERVAL, data => { Tips(data.find(val => val.name === '订单数量').qty, data.find(val => val.name === '完成数量').qty, data.find(val => val.name === '清单率').qty, '#Tips') }) // 当日订单入库统计 autoUpdate(url + "/zhou_selectQaItemInfo", INTERVAL, data => { let arr = [0, 0, 0, 0, 0, 0] let yDataOne = [...(data.find(val => val.code == '内胆检漏')?.list.map(val => val.rate) || []), ...arr] let yDataTwo = [...(data.find(val => val.code == '安全检测')?.list.map(val => val.rate) || []), ...arr] let yDataThree = [...(data.find(val => val.code == '成品检漏')?.list.map(val => val.rate) || []), ...arr] let yDataFour = [...(data.find(val => val.code == '测温性能')?.list.map(val => val.rate) || []), ...arr] let yDataFive = [...(data.find(val => val.code == '成品外观')?.list.map(val => val.rate) || []), ...arr] multipleBrokenLineAreaDiagramTwo( { xData: data.find(val => val.code == '横坐标')?.list.map(val => val.name), yDataOne: yDataOne, yDataTwo: yDataTwo, yDataThree: yDataThree, yDataFour: yDataFour, yDataFive: yDataFive, yDataOneName: '内胆检漏', yDataTwoName: '安全检测', yDataThreeName: '成品检漏', yDataFourName: '测温性能', yDataFiveName: '成品外观', }, document.getElementById("equipmentPower")) // pieChart(data.map((val, index) => { // if (index == 0 ) { // return { // name: val.type, // value: val.qty, // itemStyle: { // color: 'red', // } // } // } // if (index == 1) { // return { // name: val.type, // value: val.qty, // itemStyle: { // color: 'yellow', // } // } // } // return { // name: val.type, // value: val.qty, // } // // } // ), document.getElementById("equipmentPower")); }) autoUpdate(url + "/selectProductInStore", INTERVAL, data => { let list = data.map(val => val.list) let yDataOne = [] let yDataTwo = [] list.forEach(val => { yDataOne.push(val.find(val => val.name == '计划')?.qty || 0) yDataTwo.push(val.find(val => val.name == '产量')?.qty || 0) }) total(yDataTwo.reduce((val1,val2) => val1 + val2 , 0),'#total') multipleVerticalBarChartTwo({ xName: data.map(val => val.code), yDataOne: yDataOne, yDataOneName: '计划', yDataTwo: yDataTwo, yDataTwoName: "产量", }, document.getElementById("topLeft"), -20) }) }) const today = () => { const currentYear = new Date().getFullYear().toString(); const hasTimestamp = new Date() - new Date(currentYear); const hasDays = Math.ceil(hasTimestamp / 86400000); return hasDays } const curWeek = () => { let today = new Date(); let firstDayOfYear = new Date(today.getFullYear(), 0, 1); let dayOfWeek = firstDayOfYear.getDay(); let spendDay = 1; if (dayOfWeek != 0) { spendDay = 7 - dayOfWeek + 1; } firstDayOfYear = new Date(today.getFullYear(), 0, spendDay); let d = Math.ceil((today.valueOf() - firstDayOfYear.valueOf()) / 86400000); return Math.ceil((d / 7) + 1); } const moduleTitle = () => { const html = ` 第${curWeek()}周 生产数据分析平台 第${curWeek()}周 产量统计 周订单执行情况 班组 6s 排行榜 周生产型号统计 周质量分析 安全生产 ` $('body').append(html) } const safe = (el) => { const html = ` ${new Date().getFullYear().toString()}年连续安全生产天数 ${today()} 智能冷柜互联工厂 ` $(el).html(html) } const Tips = (val1 = 0, val2 = 0, val3 = 0, el) => { const html = ` 订单数量:${val1}  完成数量:${val2}  清单率:${val3}% ` $(el).html(html) } const total = (val1 = 0, el) => { const html = ` 合计:${val1} 台 ` $(el).html(html) }