| | |
| | | |
| | | if (!chartInfo) return chart |
| | | |
| | | const markLineData = [ |
| | | { |
| | | yAxis: chartInfo.data?.limitH, // 上限 |
| | | label: { |
| | | show: true, |
| | | formatter: '上限', |
| | | position: 'insideStartTop', |
| | | color: '#FF9A3D' |
| | | }, |
| | | lineStyle: { |
| | | color: '#FF9A3D', |
| | | type: 'dashed' |
| | | }, |
| | | }, |
| | | { |
| | | yAxis: chartInfo.data?.limitL, // 下限 |
| | | label: { |
| | | show: true, |
| | | formatter: '下限', |
| | | position: 'insideStartBottom', |
| | | color: '#00C2FF' |
| | | }, |
| | | lineStyle: { |
| | | color: '#00C2FF', |
| | | type: 'dashed' |
| | | }, |
| | | }, |
| | | { |
| | | xAxis: chartInfo.data?.scheduleTime || 0, // 真实数据分割线 |
| | | label: { |
| | | show: true, |
| | | formatter: '预测时间', |
| | | position: 'end', |
| | | color: '#5DFF9E' |
| | | }, |
| | | lineStyle: { |
| | | color: '#5DFF9E', |
| | | }, |
| | | } |
| | | ] |
| | | // 冲顶触底时间 |
| | | if (chartInfo.data?.overLimitTimes?.length > 0) { |
| | | chartInfo.data?.overLimitTimes.forEach(overLimitTime => { |
| | | markLineData.push({ |
| | | xAxis: overLimitTime, // 真实数据分割线 |
| | | label: { |
| | | show: false, |
| | | formatter: '预测时间', |
| | | position: 'end', |
| | | color: '#5DFF9E' |
| | | }, |
| | | lineStyle: { |
| | | color: '#ff0000', |
| | | }, |
| | | }) |
| | | }) |
| | | } |
| | | |
| | | const option = { |
| | | title: { |
| | | text: chartInfo.name, |
| | |
| | | label: { |
| | | show: false, |
| | | }, |
| | | data: [ |
| | | { |
| | | xAxis: chartInfo.data?.scheduleTime || 0, // 真实数据分割线 |
| | | lineStyle: { |
| | | color: '#5DFF9E', |
| | | }, |
| | | } |
| | | ], |
| | | data: markLineData, |
| | | }, |
| | | }] |
| | | } |