证据设备驾驶舱 设备运行切片模块使用自定义ECharts 图表实现 时序图。
| | |
| | | <script src="../../layuiadmin/Scripts/jquery-1.4.1.js"></script> |
| | | <script src="../../layuiadmin/layui/layui1.js"></script> |
| | | <script src="../../layuiadmin/echarts.min.js"></script> |
| | | <script src="../../layuiadmin/dayjs.min.js"></script> |
| | | <link href="../../layuiadmin/layui/css/ReportPlatform.css" rel="stylesheet" /> |
| | | <script src="../../layuiadmin/Scripts/webConfig.js"></script> |
| | | <style> |
| | |
| | | var HEquipName = "";//设å¤åç§° |
| | | var HSourceID = "";//产线id |
| | | var HDeptID = ""; |
| | | var pieData = []; // 饼徿°æ®éå |
| | | var timelineData = []; //æ¶åºå¾æ°æ®éå |
| | | layui.config({ |
| | | base: '../../layuiadmin/' //éæèµæºæå¨è·¯å¾ |
| | | }).extend({ |
| | |
| | | $.ajax({ |
| | | url: GetWEBURL() + '/DAQ_EquipRunningSlice/GetHEquipStatusReportList_DAQ', |
| | | type: "GET", |
| | | async: false, |
| | | data: { "HDeptID": HDeptID, "HEquipID": HEquipID, HBeginDate: HBeginDate, HEndDate: HEndDate, "user": sessionStorage["HUserName"] }, |
| | | dataType: "json",//æ°æ®ç±»åå¯ä»¥ä¸º text xml json script jsonp |
| | | success: function (res) { |
| | | data = res.data |
| | | debugger |
| | | |
| | | if (data.length < 1) { |
| | | return |
| | | } |
| | | |
| | | var $container = $("#chartContainer"); |
| | | $container.empty(); |
| | | |
| | | for (var i = 0; i < data.length; i++) { |
| | | var hmainid = data[i].hmainid; |
| | | var equipName = data[i].设å¤åç§°; |
| | | var dateStr = data[i].æå±æ¥æ.split('T')[0]; |
| | | |
| | | // æ¶é´å段 |
| | | var runTime = data[i].è¿è¡æ¶é´; // è¿è¡ |
| | | var stopTime = data[i].æºæ¶é´; // åæº |
| | | var alarmTime = data[i].åè¦æ¶é´; // åè¦ |
| | | var offTime = data[i].å
³æºæ¶é´; // å
³æº |
| | | var total = runTime + stopTime + alarmTime + offTime; |
| | | |
| | | // ============================================== |
| | | // 1. å建æ¯ä¸ªè®¾å¤çå¾è¡¨å¤å£³ï¼å·¦å³å¸å±ï¼é¥¼å¾ + æ¶åºå¾ï¼ |
| | | // ============================================== |
| | | var itemHtml = ` |
| | | <div style="width:100%; height:420px; display:flex; gap:20px; margin-bottom:30px; border:1px solid #eee; padding:15px; border-radius:8px;"> |
| | | <div id="chart_pie_${hmainid}" style="width:38%; height:100%;"></div> |
| | | <div id="chart_time_${hmainid}" style="width:62%; height:100%;"></div> |
| | | </div>`; |
| | | $container.append(itemHtml); |
| | | |
| | | // ============================================== |
| | | // 2. 左侧ç¯å½¢é¥¼å¾ï¼è¿è¡/åæº/åè¦/å
³æº å æ¯ï¼ |
| | | // ============================================== |
| | | var pieChart = echarts.init(document.getElementById(`chart_pie_${hmainid}`)); |
| | | pieChart.setOption({ |
| | | title: { text: `${dateStr} ${equipName}`, left: 'center', textStyle: { fontSize: 16 } }, |
| | | tooltip: { trigger: 'item', formatter: '{b}: {c}H ({d}%)' }, |
| | | legend: { orient: 'vertical', right: '2%', top: 'middle', textStyle: { fontSize: 13 } }, |
| | | series: [{ |
| | | type: 'pie', |
| | | radius: ['42%', '70%'], |
| | | center: ['45%', '55%'], |
| | | itemStyle: { borderRadius: 4, borderColor: '#fff', borderWidth: 2 }, |
| | | label: { show: false }, |
| | | data: [ |
| | | { value: runTime, name: 'è¿è¡', itemStyle: { color: '#4CAF50' } }, |
| | | { value: stopTime, name: 'åæº', itemStyle: { color: '#FF9800' } }, |
| | | { value: alarmTime, name: 'åè¦', itemStyle: { color: '#F44336' } }, |
| | | { value: offTime, name: 'å
³æº', itemStyle: { color: '#9E9E9E' } } |
| | | ] |
| | | }] |
| | | }); |
| | | |
| | | // ============================================== |
| | | // 3. å³ä¾§ 24å°æ¶ 设å¤è¿è¡æ¶åºå¾ï¼åææå¾å®å
¨ä¸è´ï¼ |
| | | // ============================================== |
| | | var timeChart = echarts.init(document.getElementById(`chart_time_${hmainid}`)); |
| | | timeChart.setOption({ |
| | | title: { |
| | | text: `è¿è¡:${runTime.toFixed(1)}H | åæº:${stopTime.toFixed(1)}H | åè¦:${alarmTime.toFixed(1)}H | å
³æº:${offTime.toFixed(1)}H`, |
| | | left: 'center', |
| | | textStyle: { fontSize: 14 } |
| | | }, |
| | | grid: { left: '3%', right: '3%', top: '20%', bottom: '10%', containLabel: true }, |
| | | xAxis: { |
| | | type: 'category', |
| | | data: ['00:00', '04:00', '08:00', '12:00', '16:00', '20:00', '24:00'] |
| | | }, |
| | | yAxis: { type: 'value', max: 1, show: false }, |
| | | series: [ |
| | | { type: 'bar', stack: 'total', barWidth: '80%', itemStyle: { color: '#9E9E9E' }, data: [offTime / 24, 0, 0, 0, 0, 0, 0] }, |
| | | { type: 'bar', stack: 'total', barWidth: '80%', itemStyle: { color: '#FF9800' }, data: [stopTime / 24, 0, 0, 0, 0, 0, 0] }, |
| | | { type: 'bar', stack: 'total', barWidth: '80%', itemStyle: { color: '#F44336' }, data: [alarmTime / 24, 0, 0, 0, 0, 0, 0] }, |
| | | { type: 'bar', stack: 'total', barWidth: '80%', itemStyle: { color: '#4CAF50' }, data: [runTime / 24, 0, 0, 0, 0, 0, 0] } |
| | | ] |
| | | }); |
| | | } |
| | | |
| | | pieData = data |
| | | } |
| | | }) |
| | | |
| | | $.ajax({ |
| | | url: GetWEBURL() + '/DAQ_EquipRunningSlice/GetHEquipStatusReportList2_DAQ', |
| | | type: "GET", |
| | | async: false, |
| | | data: { "HDeptID": HDeptID, "HEquipID": HEquipID, HBeginDate: HBeginDate, HEndDate: HEndDate, "user": sessionStorage["HUserName"] }, |
| | | dataType: "json",//æ°æ®ç±»åå¯ä»¥ä¸º text xml json script jsonp |
| | | success: function (res) { |
| | | data = res.data |
| | | |
| | | if (data.length < 1) { |
| | | return |
| | | } |
| | | console.log(timelineData) |
| | | timelineData = data |
| | | } |
| | | }) |
| | | |
| | | drawCharts() |
| | | |
| | | |
| | | //wktag = 0; |
| | | //$("#btomleft").html(""); |
| | |
| | | } |
| | | |
| | | |
| | | //#region ç»å¶å¾è¡¨ |
| | | function drawCharts() { |
| | | var $container = $("#chartContainer"); |
| | | $container.empty(); |
| | | |
| | | var data = pieData |
| | | console.log(pieChart) |
| | | var data1 = timelineData |
| | | |
| | | for (var i = 0; i < data.length; i++) { |
| | | var hmainid = data[i].hmainid; |
| | | var equipName = data[i].设å¤åç§°; |
| | | var dateStr = data[i].æå±æ¥æ.split('T')[0]; |
| | | |
| | | // æ¶é´å段 |
| | | var runTime = data[i].è¿è¡æ¶é´ || 0; // è¿è¡ |
| | | var stopTime = data[i].åæºæ¶é´ || 0; // åæº |
| | | var alarmTime = data[i].åè¦æ¶é´ || 0; // åè¦ |
| | | var offTime = data[i].å
³æºæ¶é´ || 0; // å
³æº |
| | | var total = runTime + stopTime + alarmTime + offTime; |
| | | |
| | | // ============================================== |
| | | // 1. å建æ¯ä¸ªè®¾å¤çå¾è¡¨å¤å£³ï¼å·¦å³å¸å±ï¼é¥¼å¾ + æ¶åºå¾ï¼ |
| | | // ============================================== |
| | | var itemHtml = ` |
| | | <div style="width:100%; height:200px; margin-bottom:20px; border:1px solid #eee; padding:15px; border-radius:8px;"> |
| | | <div style="display: inline-block; height:20%; display:flex; gap:20px;"> |
| | | <div style="width:40%;">${dateStr} ${equipName}</div> |
| | | <div style="width:60%; display: flex; justify-content: right; align-items: center; gap: 8px;"> |
| | | <div style="width: 18px; height: 18px; background-color: #73cc3f; display: inline-block"></div> |
| | | <div style="padding-left: 4px ;display: inline-block">è¿è¡(${runTime}H)</div> |
| | | <div style="width: 18px; height: 18px; background-color: #f2a439; display: inline-block"></div> |
| | | <div style="padding-left: 4px ;display: inline-block">åæº(${stopTime}H)</div> |
| | | <div style="width: 18px; height: 18px; background-color: #ff796a; display: inline-block"></div> |
| | | <div style="padding-left: 4px ;display: inline-block">åè¦(${alarmTime}H)</div> |
| | | <div style="width: 18px; height: 18px; background-color: #9b9a9b; display: inline-block"></div> |
| | | <div style="padding-left: 4px ;display: inline-block">å
³æº(${offTime}H)</div> |
| | | </div> |
| | | </div> |
| | | <div style="display: inline-block; height:80%; display:flex; gap:20px;"> |
| | | <div id="chart_pie_${hmainid}_${i}" style="width:25%; height:100%;"></div> |
| | | <div id="chart_time_${hmainid}_${i}" style="width:70%; height:100%;"></div> |
| | | </div> |
| | | </div>`; |
| | | $container.append(itemHtml); |
| | | |
| | | // ============================================== |
| | | // 2. 左侧ç¯å½¢é¥¼å¾ï¼è¿è¡/åæº/åè¦/å
³æº å æ¯ï¼ |
| | | // ============================================== |
| | | var pieChart = echarts.init(document.getElementById(`chart_pie_${hmainid}_${i}`)); |
| | | pieChart.setOption({ |
| | | // title: { text: `${dateStr} ${equipName}`, left: 'center', textStyle: { fontSize: 16 } }, |
| | | tooltip: { |
| | | trigger: 'item', formatter: '{b}: {c}H ({d}%)', textStyle: { |
| | | lineHeight: 22 // æåé´è·æ´å¤§ |
| | | }, |
| | | }, |
| | | legend: { |
| | | orient: 'vertical', right: '2%', top: 'middle', textStyle: { fontSize: 13 } |
| | | , formatter: function (name, value) { |
| | | var getRate = function () { |
| | | if (name == 'è¿è¡') { |
| | | return (runTime / total * 100.0).toFixed(2) |
| | | } |
| | | if (name == 'åæº') { |
| | | return (stopTime / total * 100.0).toFixed(2) |
| | | } |
| | | if (name == 'åè¦') { |
| | | return (alarmTime / total * 100.0).toFixed(2) |
| | | } |
| | | if (name == 'å
³æº') { |
| | | return (offTime / total * 100.0).toFixed(2) |
| | | } |
| | | }() |
| | | return name + 'ç(' + getRate |
| | | + '%)' |
| | | } |
| | | }, |
| | | series: [{ |
| | | type: 'pie', |
| | | radius: ['42%', '70%'], |
| | | center: ['25%', '50%'], |
| | | itemStyle: { borderRadius: 4, borderColor: '#fff', borderWidth: 2 }, |
| | | label: { show: false }, |
| | | data: [ |
| | | { value: runTime, name: 'è¿è¡', itemStyle: { color: '#73cc3f' } }, |
| | | { value: stopTime, name: 'åæº', itemStyle: { color: '#f2a439' } }, |
| | | { value: alarmTime, name: 'åè¦', itemStyle: { color: '#ff796a' } }, |
| | | { value: offTime, name: 'å
³æº', itemStyle: { color: '#9b9a9b' } } |
| | | ] |
| | | }] |
| | | }); |
| | | |
| | | // ============================================== |
| | | // 3. å³ä¾§ 24å°æ¶ 设å¤è¿è¡æ¶åºå¾ |
| | | // ============================================== |
| | | var timeChart = echarts.init(document.getElementById(`chart_time_${hmainid}_${i}`)); |
| | | // ä½ çåå§æ°æ® |
| | | var data1Instance = data1["2026-04-16"] |
| | | |
| | | var startTime = dayjs("2026-04-16 00:00:00").valueOf(); |
| | | var endTime = dayjs("2026-04-16 23:59:59").valueOf(); |
| | | var categories = [data1Instance[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 |
| | | } |
| | | } |
| | | } |
| | | |
| | | chartDataTimeline = [] |
| | | for (var cursor = 0; cursor < data1Instance.length; cursor++) { |
| | | chartDataTimeline.push({ |
| | | "name": data1Instance[cursor]["HResult"], |
| | | "value": [ |
| | | 0, |
| | | dayjs(data1Instance[cursor]["æ¶é´"]).valueOf(), |
| | | dayjs(data1Instance[cursor]["æ¶é´"]).add(5, 'm').valueOf(), |
| | | 300000 |
| | | ], |
| | | "itemStyle": { |
| | | "normal": { |
| | | "color": getColor(data1Instance[cursor]["HResult"]) |
| | | } |
| | | } |
| | | }) |
| | | } |
| | | timeChart.setOption({ |
| | | tooltip: { |
| | | formatter: function (params) { |
| | | return params.marker + params.name; |
| | | } |
| | | }, |
| | | grid: { |
| | | top: 0, |
| | | bottom: 0, |
| | | left: 20, // ç»Yè½´æåçä¸ç¹ä½ç½® |
| | | right: 20, |
| | | containLabel: true |
| | | }, |
| | | xAxis: { |
| | | type: 'time', |
| | | min: startTime, // å¼å§æ¶é´æ³ |
| | | max: endTime, // ç»ææ¶é´æ³ |
| | | minInterval: 7200000, // é´é䏤尿¶ |
| | | scale: true, |
| | | axisLabel: { |
| | | formatter: function (val) { |
| | | return echarts.format.formatTime('hh:mm', val); |
| | | } |
| | | }, |
| | | axisLine: { |
| | | show: false // éè x 轴轴线 |
| | | } |
| | | }, |
| | | yAxis: { |
| | | data: categories, |
| | | axisLine: { |
| | | show: false // éè y 轴轴线 |
| | | }, |
| | | name: "", |
| | | axisLabel: { show: false }, // éèYè½´æ ç¾ |
| | | }, |
| | | series: [ |
| | | { |
| | | type: 'custom', |
| | | renderItem: renderItem, |
| | | itemStyle: { |
| | | opacity: 0.8 |
| | | }, |
| | | encode: { |
| | | x: [1, 2], |
| | | y: 0 |
| | | }, |
| | | data: chartDataTimeline |
| | | } |
| | | ] |
| | | }) |
| | | } |
| | | } |
| | | //#endregion |
| | | |
| | | // æ ç¶å¾æ¥è¯¢ |
| | | function get_Display_Tree() { |
| | |
| | | }); |
| | | } |
| | | |
| | | |
| | | 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() |
| | | } |
| | | ); |
| | | } |
| | | //#endregion |
| | | </script> |
| | | |
| | |
| | | <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')}`; |
| | | }, |
| | | interval: 2 * 3600 * 1000 // æ¯2å°æ¶æ¾ç¤ºä¸ä¸ªå»åº¦ï¼å¯¹åº14, 16, 18...ï¼ |
| | | formatter: function (val) { |
| | | return echarts.format.formatTime('hh:mm', val); |
| | | } |
| | | }, |
| | | axisLine: { show: true }, |
| | | splitLine: { show: true } |
| | | axisLine: { |
| | | show: false // éè x 轴轴线 |
| | | } |
| | | }, |
| | | // 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> |
| | | |