| | |
| | | <script src="../../layuiadmin/soulTable.slim.js"></script> |
| | | <script src="../../layuiadmin/PageTitle.js"></script> |
| | | <script src="../../layuiadmin/echarts.min.js"></script> |
| | | <script src="../../layuiadmin/dayjs.min.js"></script> |
| | | <script src="../../layuiadmin/Scripts/webConfig.js"></script> |
| | | |
| | | <style type="text/css"> |
| | |
| | | function get_LineChart(mychart22, chartData1) { |
| | | var baseTime = $("HBeginDate").val() |
| | | var endTime = $("HEndDate").val() |
| | | var startTime = dayjs(baseTime).valueOf(); |
| | | var endTime = dayjs(endTime).valueOf(); |
| | | var yAxisData = [$("#HDeptName").val()] |
| | | var seriesData = chartData1.map(item => [ |
| | | item.StartTime, |
| | | item.EndTime, |
| | | item.EquipName, |
| | | item.Status |
| | | ]); |
| | | // é»è®¤çoptionç»æ |
| | | chartsOption = { |
| | | // æ é¢ |
| | | title: { |
| | | text: '设å¤è¿è¡æ¶åº', |
| | | left: 'left', |
| | | show: false |
| | | }, |
| | | // å¾ä¾ï¼å³ä¸è§çç¶ææ è¯ï¼ |
| | | legend: { |
| | | data: ['è¿è¡', '弿º', 'åæº', 'åè¦', 'å
³æº'], |
| | | right: 10, |
| | | top: 5, |
| | | show: true |
| | | }, |
| | | // æç¤ºæ¡ï¼é¼ æ æ¬æµ®æ¶æ¾ç¤ºï¼ |
| | | if (chartData1.length == 0) { |
| | | return |
| | | } |
| | | var categories = [chartData1[0]["çäº§èµæº"]]; |
| | | var types = [ |
| | | { name: 'æ£å¸¸è¿è¡', color: '#73cc3f' }, |
| | | { name: '离线', color: '#9b9a9b' }, |
| | | { name: 'å¾
æº', color: '#f2a439' }, |
| | | ]; |
| | | |
| | | var getColor = function (name) { |
| | | for (var i = 0; i < types.length; i++) { |
| | | if (name == types[i].name) { |
| | | return types[i].color |
| | | } |
| | | } |
| | | } |
| | | |
| | | var chartDataTimeline = [] |
| | | for (var cursor = 0; cursor < chartData1.length; cursor++) { |
| | | chartDataTimeline.push({ |
| | | "name": chartData1[cursor]["HResult"], |
| | | "value": [ |
| | | 0, |
| | | dayjs(chartData1[cursor]["æ¶é´"]).valueOf(), |
| | | dayjs(chartData1[cursor]["æ¶é´"]).add(5, 'm').valueOf(), |
| | | 300000 |
| | | ], |
| | | "itemStyle": { |
| | | "normal": { |
| | | "color": getColor(chartData1[cursor]["HResult"]) |
| | | } |
| | | } |
| | | }) |
| | | } |
| | | var chartsOption = { |
| | | tooltip: { |
| | | trigger: 'axis', |
| | | formatter: function (params) { |
| | | // params æ¯ä¸ä¸ªæ°ç»ï¼è¿éåªæä¸æ¡æ°æ® |
| | | const data = params[0]; |
| | | const start = new Date(data.value[0]); |
| | | const end = new Date(data.value[1]); |
| | | // æ ¼å¼åæ¶é´æ¾ç¤º |
| | | return `${data.name}<br/>${start.toLocaleTimeString()} ~ ${end.toLocaleTimeString()}`; |
| | | return params.marker + params.name; |
| | | } |
| | | }, |
| | | // ç½æ ¼ï¼è°æ´å¾è¡¨å
è¾¹è·ï¼ç»Yè½´åXè½´æ ç¾çåºç©ºé´ï¼ |
| | | grid: { |
| | | left: '3%', |
| | | right: '4%', |
| | | bottom: '3%', |
| | | top: 0, |
| | | bottom: 0, |
| | | left: 20, // ç»Yè½´æåçä¸ç¹ä½ç½® |
| | | right: 20, |
| | | containLabel: true |
| | | }, |
| | | // Xè½´é
ç½®ï¼æ¶é´è½´ |
| | | xAxis: { |
| | | type: 'time', // å
³é®ï¼æ¶é´ç±»åè½´ |
| | | min: baseTime, // åºå®æå°æ¶é´ï¼14:00 |
| | | max: endTime, // åºå®æå¤§æ¶é´ï¼æ¬¡æ¥12:00 |
| | | type: 'time', |
| | | min: startTime, // å¼å§æ¶é´æ³ |
| | | max: endTime, // ç»ææ¶é´æ³ |
| | | minInterval: 7200000, // é´é䏤尿¶ |
| | | scale: true, |
| | | axisLabel: { |
| | | // æ ¼å¼åXè½´æ ç¾æ¾ç¤ºä¸º 14:00, 16:00 æ ¼å¼ |
| | | formatter: function (value) { |
| | | const date = new Date(value); |
| | | return `${date.getHours()}:${String(date.getMinutes()).padStart(2, '0')}`; |
| | | formatter: function (val) { |
| | | return echarts.format.formatTime('hh:mm', val); |
| | | } |
| | | }, |
| | | interval: 2 * 3600 * 1000 // æ¯2å°æ¶æ¾ç¤ºä¸ä¸ªå»åº¦ï¼å¯¹åº14, 16, 18...ï¼ |
| | | axisLine: { |
| | | show: false // éè x 轴轴线 |
| | | } |
| | | }, |
| | | axisLine: { show: true }, |
| | | splitLine: { show: true } |
| | | }, |
| | | // Yè½´é
ç½®ï¼ç±»ç®è½´ |
| | | yAxis: { |
| | | type: 'category', |
| | | data: yAxisData, |
| | | axisLine: { show: false }, |
| | | axisTick: { show: false } // éèYè½´å»åº¦çº¿ |
| | | data: categories, |
| | | axisLine: { |
| | | show: false // éè y 轴轴线 |
| | | }, |
| | | // ç³»åæ°æ® |
| | | name: "", |
| | | axisLabel: { show: false }, // éèYè½´æ ç¾ |
| | | }, |
| | | series: [ |
| | | { |
| | | name: ['è¿è¡', '弿º', 'åæº', 'åè¦', 'å
³æº'], |
| | | type: 'bar', // ä½¿ç¨æ±ç¶å¾å®ç°çç¹å¾ææ |
| | | barWidth: '80%', // æ±åé«åº¦ |
| | | // æ°æ®æ å°ï¼å°æ¶é´æ³æ°æ®å
³èå°Xè½´ |
| | | encode: { |
| | | x: [0, 1], // value ç第0项ä½ä¸ºèµ·å§ï¼ç¬¬1项ä½ä¸ºç»æ |
| | | y: 2 // value ç第2项ä½ä¸ºYè½´ç±»ç® |
| | | }, |
| | | // å
·ä½æ°æ® |
| | | data: seriesData, |
| | | // ç¶æé¢è²æ å° |
| | | type: 'custom', |
| | | renderItem: renderItem, |
| | | itemStyle: { |
| | | color: function (params) { |
| | | // æ ¹æ®æ°æ®åç§°å¹é
é¢è² |
| | | const name = params.data[2]; |
| | | const colorMap = { |
| | | 'è¿è¡': '#67C23A', |
| | | 'è¿è¡ä¸': '#67C23A', |
| | | '弿º': '#409EFF', |
| | | 'åæº': '#E6A23C', |
| | | 'åè¦': '#F56C6C', |
| | | 'å
³æº': '#909399', |
| | | 'ç»´ä¿®ä¸': '#F56C6C', |
| | | 'ç»´æ¤ä¸': '#F56C6C' |
| | | }; |
| | | return colorMap[name] || '#ccc'; |
| | | } |
| | | opacity: 0.8 |
| | | }, |
| | | // æ±åä¸ä¸æ¾ç¤ºæåæ ç¾ |
| | | label: { show: false } |
| | | encode: { |
| | | x: [1, 2], |
| | | y: 0 |
| | | }, |
| | | data: chartDataTimeline |
| | | } |
| | | ] |
| | | }; |
| | | } |
| | | |
| | | |
| | | // å¦æææ°æ®ï¼æ´æ°optionçå
容 |
| | |
| | | |
| | | // è·å设å¤è¿è¡æ¶åºä¿¡æ¯ |
| | | $.ajax({ |
| | | url: GetWEBURL() + '/SB_EquipRunningStatus/ReportByID', |
| | | url: GetWEBURL() + '/DAQ_EquipRunningSlice/GetHEquipStatusReportList2_DAQ', |
| | | type: "GET", |
| | | data: { "HEquipID": HEquipID, "sWhere": sWhere2, "user": sessionStorage["HUserName"] }, |
| | | data: { "HEquipID": HEquipID, HDeptID: 0, HBeginDate: util.toDateString(HBeginDate, 'yyyy-MM-dd'), HEndDate: util.toDateString(HEndDate, 'yyyy-MM-dd'), "user": sessionStorage["HUserName"] }, |
| | | dataType: "json",//æ°æ®ç±»åå¯ä»¥ä¸º text xml json script jsonp |
| | | success: function (data) { |
| | | console.log(data) |
| | | |
| | | if (data.count == 1) { |
| | | var dataInstance = [] |
| | | for (var key in data.data) { |
| | | $.merge(dataInstance, data.data[key]) |
| | | } |
| | | var EquipRunningStatusCharts = echarts.init(document.getElementById("EquipRunningStatusCharts")) |
| | | get_LineChart(EquipRunningStatusCharts, data.data);//æçº¿ |
| | | get_LineChart(EquipRunningStatusCharts, dataInstance);//æçº¿ |
| | | } else { |
| | | layer.alert(data.Message, { time: 1 * 2000, icon: 5 }); |
| | | return false; |
| | |
| | | //#endregion |
| | | |
| | | }) |
| | | |
| | | function renderItem(params, api) { |
| | | var categoryIndex = api.value(0); |
| | | var start = api.coord([api.value(1), categoryIndex]); |
| | | var end = api.coord([api.value(2), categoryIndex]); |
| | | var height = api.size([0, 1])[1] * 0.6; |
| | | var rectShape = echarts.graphic.clipRectByRect( |
| | | { |
| | | x: start[0], |
| | | y: start[1] - height / 2, |
| | | width: end[0] - start[0], |
| | | height: height |
| | | }, |
| | | { |
| | | x: params.coordSys.x, |
| | | y: params.coordSys.y, |
| | | width: params.coordSys.width, |
| | | height: params.coordSys.height |
| | | } |
| | | ); |
| | | return ( |
| | | rectShape && { |
| | | type: 'rect', |
| | | transition: ['shape'], |
| | | shape: rectShape, |
| | | style: api.style() |
| | | } |
| | | ); |
| | | } |
| | | </script> |
| | | </body> |
| | | |