$(() => { moduleTitle() // 公共请求地址 let url = '/broad/month' // 轮询间隔时间 const INTERVAL = 30000 autoUpdate(url + "/selectUserSatisfaction", INTERVAL, data => { multipleVerticalBarChartTwo({ xName: ['产品体验', "购买体验", "服务体验", "订单履约率"], yDataOne: [data[0].productRate, data[0].shoppingRate, data[0].serviceRate, data[0].orderRate], yDataOneName: '' + data.map(val => val.yearName)[0], yDataTwo: [data[1].productRate, data[1].shoppingRate, data[1].serviceRate, data[1].orderRate], yDataTwoName: '' + data.map(val => val.yearName)[1], }, document.getElementById("satisfaction"), undefined, '%',5,false) }) autoUpdate(url + "/selectMonthNumberQaS", INTERVAL, data => { multipleVerticalBarChartTwo({ xName: data.map(val => `${val.monthName}月`), yDataOne: data.map(val => val.qaNumber), yDataOneName: "隐患数", yDataTwo: data.map(val => val.bhNumber), yDataTwoName: '闭环数', }, document.getElementById("safe"), '','',4) }) autoUpdate(url + "/selectMonthQANumber", INTERVAL, data => { pieChartTwo(data.map((val, index) => { if (index == 0) { return { name: val.name, value: val.rate, itemStyle: { color: 'red', } } } if (index == 1) { return { name: val.name, value: val.rate, itemStyle: { color: 'yellow', } } } return { name: val.name, value: val.rate } }), document.getElementById("abnormal"), '%'); }) autoUpdate(url + "/selectProductInStoreGroupMonth", INTERVAL, data => { total(data.map(val => val.qty).reduce((val1, val2) => val1 + val2, 0), '#total') verticalBarChart({ xName: data.map(val => `${val.name}月`), yData: data.map(val => val.qty), }, document.getElementById("outputStatistics"), '') }) autoUpdate(url + "/selectHighlightProducts", 40000, data => { let urlOne = data.filter(val => val.pictureLocation === 1).map(val => val.picturePath) let urlTwo = data.filter(val => val.pictureLocation === 2).map(val => val.picturePath) let optionsOne = { navButton: false, sideButton: false, effects: ['fade', 'slideX', 'slideY', 'page', 'circle', 'rollingX', 'rollingY', 'blindsX', 'blindsY'], data: urlOne.map(val => { return { src: `http://10.100.70.5:9090/${val}`, } }) }; let optionsTwo = { navButton: false, sideButton: false, effects: ['fade', 'slideX', 'slideY', 'page', 'circle', 'rollingX', 'rollingY', 'blindsX', 'blindsY'], data: urlTwo.map(val => { return { src: `http://10.100.70.5:9090/${val}`, } }) }; $('#slide').vmcSlide(optionsOne); $('#scene').vmcSlide(optionsTwo); }) autoUpdate(url + "/selectBaseQilist", 40000, data => { let yData = data.map(val => { return { name: val.code, data: val.list.map(e=>e.rate), } }) lineChartTwo({ xName:data[0].list.map(val => val.name), // xName: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"].splice(0,Math.ceil(Math.max(...data.map(val => val.list.length)))), yData: yData, }, document.getElementById("quality"), '%') }) autoUpdate(url + "/selectDtNenglist", INTERVAL, data => { let month = ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"] let value = [] let target = [] for (let i = 1; i <= 12; i++) { if (data[0][`month${i}`]) { value.push(data[0][`month${i}`]) target.push(data[0][`target`]) } } lineChartThree({ xName: month.splice(0, value.length), yData: target, yDataName: "目标", yDataTwo: value, yDataTwoName: "实际", }, document.getElementById("energyConsumption"), '',true) }) }) 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 = ` 用户满意度 产品升级 场景升级 创新引领 产量统计 单台能耗 质量分析 数字化安全 隐患排查治理体系 ` $('body').append(html) } const total = (val1 = 0, el) => { const html = ` ${new Date().getFullYear()}年 累计:${val1} 台 ` $(el).html(html) }