| 
					
				 | 
			
			
				@@ -22,17 +22,25 @@ function forceOption({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  end_value,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  starttime,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  endtime,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ threshold,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  let series = []
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  let legend_data = []
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  let y_max = 0 // Y轴最大值
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  let y_min = 0 // Y轴最小值
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ let zh_max = 0 // 转换阻力Y轴最大值
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ let zh_min = 0 // 转换阻力Y轴最大值
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  let max_min_time = {}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ let filtering = localStorage.getItem('filtering')
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ let show_tooltips = true
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ if (filtering != 0) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  show_tooltips = threshold == 0
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  if (starttime && endtime) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   max_min_time.min = dayjs(starttime).valueOf()
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   max_min_time.max = dayjs(endtime).valueOf()
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- // 阻力
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ let zh_regex = /转换|3号/
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  if (curve_data_list && curve_data_list.length) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   legend_data = curve_data_list.map(item => item.name)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   curve_data_list.forEach(element => {
 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -60,6 +68,7 @@ function forceOption({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (!name_list.includes(element.name)) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      series.push({
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       name: element.name,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      yAxisIndex: zh_regex.test(element.name) ? 2 : 0,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       type: 'line',
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       symbol: 'none',
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       silent: true, // 开启静默模式
 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -75,6 +84,7 @@ function forceOption({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (!name_list.includes(element.name)) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      series.push({
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       name: element.name,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      yAxisIndex: zh_regex.test(element.name) ? 2 : 0,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       type: 'line',
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       symbol: 'none',
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       silent: true, // 开启静默模式
 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -107,13 +117,21 @@ function forceOption({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  // 是否有标识线
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  if (line && line.length) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  // 判断标识线的最大值最小值
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  //   let line_value_list = line.map(item => item.value)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  let line_value_list = line.map(item => item.val)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  y_max = Math.max(...line_value_list)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  y_min = Math.min(...line_value_list)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  let line_style = lineStyle(line)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // 分开判断标识线的最大值最小值
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  let main_val = line.filter(item => !item.label.includes('扳'))
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  let zhuanhuan_val = line.filter(item => item.label.includes('扳'))
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // 定反
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  let main_value_list = main_val.map(item => item.val)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  y_max = Math.max(...main_value_list)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  y_min = Math.min(...main_value_list)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  let line_style = lineStyle(main_val, 0)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   series.push(line_style)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // 转换阻力
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  let zh_value_list = zhuanhuan_val.map(item => item.val)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  zh_max = Math.max(...zh_value_list)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  zh_min = Math.min(...zh_value_list)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  let zh_style = lineStyle(zhuanhuan_val, 2)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  series.push(zh_style)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  if (refer_curve && refer_curve.length) {
 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -144,7 +162,7 @@ function forceOption({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    },
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   },
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   grid: {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-   left: 55,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   left: 120,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   },
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   dataZoom: [
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    {
 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -166,25 +184,27 @@ function forceOption({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    },
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ],
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   tooltip: {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   show: show_tooltips,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    trigger: 'axis',
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    backgroundColor: '#232526',
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    borderColor: '#606266',
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    textStyle: {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     color: '#c0c4cc',
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    },
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-   //    formatter: params => {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-   //     if (!params.length) return
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-   //     let html_list = [],
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-   //      label_text = '',
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-   //      time_text = ''
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-   //     time_text = `${params[0].axisValueLabel}.${dayjs(params[0].axisValue).format('SSS')}`
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-   //     html_list.push(time_text)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-   //     params.forEach(item => {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-   //      label_text = `${item.marker}${item.seriesName}:${item.value[1]}`
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-   //      html_list.push(label_text)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-   //     })
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-   //     return html_list.join('<br>')
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-   //    },
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   formatter: params => {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (!params.length) return
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    let new_params = duplicateRemoval(params)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    let html_list = [],
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     label_text = '',
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     time_text = ''
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    time_text = `${new_params[0].axisValueLabel}`
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    html_list.push(time_text)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    new_params.forEach(item => {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     label_text = `${item.marker}${item.seriesName}:${item.value[1]}`
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     html_list.push(label_text)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    })
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return html_list.join('<br>')
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   },
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   },
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   toolbox: {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    right: '200px',
 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -234,6 +254,7 @@ function forceOption({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     },
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    },
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 温度
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     scale: true, // y轴起始值自适应
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // minInterval: 1,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     position: 'right',
 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -260,6 +281,44 @@ function forceOption({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      show: false,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     },
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    },
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //  转换阻力
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    type: 'value',
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    position: 'left',
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    name: `转换阻力`,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    offset: 60,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    max: val => {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     if (zh_max == 0) return
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     if (val.max > zh_max) return val.max
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     else return zh_max
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    },
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    min: val => {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     if (zh_min == 0) return
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     if (val.min < zh_min) return val.min
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     else return zh_min
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    },
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    axisLine: {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     show: true,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     symbol: ['none', 'none'], // 添加箭头
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     lineStyle: {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      color: 'white',
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     },
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    },
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    splitLine: {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     show: true,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     lineStyle: {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      color: '#CFD6E1',
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      type: 'dashed',
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     },
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    },
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    axisLabel: {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     show: true,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     color: 'white',
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    },
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    axisTick: {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     show: false,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    },
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   },
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ],
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   xAxis: {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    type: 'time',
 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -289,7 +348,7 @@ function forceOption({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 // 获取标识线的配置
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-function lineStyle(data) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function lineStyle(data, yIndex) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  let markLine_data = []
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  let markPoint_data = []
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  // 标识线样式
 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -315,6 +374,7 @@ function lineStyle(data) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  // 标识线
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  let line_style = {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   type: 'line',
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  yAxisIndex: yIndex,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   lineStyle: { width: 1 },
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   showSymbol: false,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   markLine: {
 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -351,4 +411,18 @@ function referCurve(data) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  return refer_line
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// 对tooltip去重
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function duplicateRemoval(params) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ let newParamsName = []
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ params.forEach(item => {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  let target_data = newParamsName.find(
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   ele => ele.seriesName === item.seriesName && ele.axisValueLabel === item.axisValueLabel
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  )
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if (!target_data) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   newParamsName.push(item)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ })
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ return newParamsName
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 export default forceOption
 
			 |