|
|
|
@ -3,7 +3,6 @@
|
|
|
|
|
<div class="historyCharts" ref="chart_ref"></div> |
|
|
|
|
</div> |
|
|
|
|
</template> |
|
|
|
|
|
|
|
|
|
<script> |
|
|
|
|
import * as echarts from "echarts"; |
|
|
|
|
export default { |
|
|
|
@ -21,6 +20,7 @@ export default {
|
|
|
|
|
chartData2: [], |
|
|
|
|
chartData3: [], |
|
|
|
|
chartData4: [], |
|
|
|
|
chartData5: [], |
|
|
|
|
bottomData: [], |
|
|
|
|
}; |
|
|
|
|
}, |
|
|
|
@ -36,11 +36,10 @@ export default {
|
|
|
|
|
let data = newVal; |
|
|
|
|
if (data.length > 0) { |
|
|
|
|
// 获取 title 和 titleStr 数组 |
|
|
|
|
const title = data.data[0].title; |
|
|
|
|
const titleStr = data.data[1].titleStr; |
|
|
|
|
const title = data[0].title; |
|
|
|
|
const titleStr = data[1].titleStr; |
|
|
|
|
// 获取 dataList 数组 |
|
|
|
|
const dataList = data.data[3].dataList; |
|
|
|
|
|
|
|
|
|
const dataList = data[3].dataList; |
|
|
|
|
// 遍历 dataList 数组 |
|
|
|
|
dataList.forEach((item) => { |
|
|
|
|
// 查找 name 在 title 数组中的索引 |
|
|
|
@ -51,39 +50,42 @@ export default {
|
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
console.log("处理后的data", data); |
|
|
|
|
let name1 = ""; |
|
|
|
|
let name2 = ""; |
|
|
|
|
let name3 = ""; |
|
|
|
|
let name4 = ""; |
|
|
|
|
let name5 = ""; |
|
|
|
|
data.forEach((item) => { |
|
|
|
|
if (item.timeStr) { |
|
|
|
|
this.bottomData = item.timeStr; |
|
|
|
|
} |
|
|
|
|
if (item.dataList) { |
|
|
|
|
let name1 = ""; |
|
|
|
|
let name2 = ""; |
|
|
|
|
let name3 = ""; |
|
|
|
|
let name4 = ""; |
|
|
|
|
// 用于存储 name 的数组 |
|
|
|
|
const names = []; |
|
|
|
|
// 用于存储 chartData 的数组 |
|
|
|
|
const chartData = []; |
|
|
|
|
item.dataList.forEach((val, index) => { |
|
|
|
|
if (val.name) { |
|
|
|
|
switch (index) { |
|
|
|
|
case 0: |
|
|
|
|
this.chartData1 = val.value; |
|
|
|
|
name1 = val.name; |
|
|
|
|
break; |
|
|
|
|
case 1: |
|
|
|
|
this.chartData2 = val.value; |
|
|
|
|
name2 = val.name; |
|
|
|
|
break; |
|
|
|
|
case 2: |
|
|
|
|
this.chartData3 = val.value; |
|
|
|
|
name3 = val.name; |
|
|
|
|
break; |
|
|
|
|
case 3: |
|
|
|
|
this.chartData4 = val.value; |
|
|
|
|
name4 = val.name; |
|
|
|
|
break; |
|
|
|
|
default: |
|
|
|
|
break; |
|
|
|
|
// 只处理前 5 个元素 |
|
|
|
|
if (index < 5) { |
|
|
|
|
chartData[index] = val.value; |
|
|
|
|
names[index] = val.name; |
|
|
|
|
console.log("多少个name",chartData[index] ) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
// 将 chartData 数组的值赋值给 this.chartDataX |
|
|
|
|
this.chartData1 = chartData[0]; |
|
|
|
|
this.chartData2 = chartData[1]; |
|
|
|
|
this.chartData3 = chartData[2]; |
|
|
|
|
this.chartData4 = chartData[3]; |
|
|
|
|
this.chartData5 = chartData[4]; |
|
|
|
|
// 将 names 数组的值赋值给外部作用域的变量 |
|
|
|
|
name1 = names[0] || ""; |
|
|
|
|
name2 = names[1] || ""; |
|
|
|
|
name3 = names[2] || ""; |
|
|
|
|
name4 = names[3] || ""; |
|
|
|
|
name5 = names[4] || ""; |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
this.$nextTick(() => { |
|
|
|
@ -94,28 +96,33 @@ export default {
|
|
|
|
|
series: [ |
|
|
|
|
{ |
|
|
|
|
yAxisIndex: 0, |
|
|
|
|
name:name1, |
|
|
|
|
name: name1, |
|
|
|
|
data: this.chartData1, |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
yAxisIndex: 0, |
|
|
|
|
name:name2, |
|
|
|
|
name: name2, |
|
|
|
|
data: this.chartData2, |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
yAxisIndex: 0, |
|
|
|
|
name:name3, |
|
|
|
|
name: name3, |
|
|
|
|
data: this.chartData3, |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
yAxisIndex: 0, |
|
|
|
|
name:name4, |
|
|
|
|
name: name4, |
|
|
|
|
data: this.chartData4, |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
yAxisIndex: 0, |
|
|
|
|
name: name5, |
|
|
|
|
data: this.chartData5, |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}; |
|
|
|
|
this.chartInstance.setOption(adapterOption); |
|
|
|
|
//手动的调用图标对象的resize才能产生效果 |
|
|
|
|
// 手动的调用图标对象的 resize 才能产生效果 |
|
|
|
|
this.chartInstance.resize(); |
|
|
|
|
}); |
|
|
|
|
} else { |
|
|
|
@ -141,6 +148,10 @@ export default {
|
|
|
|
|
yAxisIndex: 0, |
|
|
|
|
data: [], |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
yAxisIndex: 0, |
|
|
|
|
data: [], |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}; |
|
|
|
|
this.chartInstance.setOption(adapterOption); |
|
|
|
@ -266,35 +277,35 @@ export default {
|
|
|
|
|
data: this.chartData1, |
|
|
|
|
//折线颜色 |
|
|
|
|
itemStyle: { |
|
|
|
|
color: "#1a69f1", //折线点的颜色 |
|
|
|
|
color: "#00CED1", //折线点的颜色 |
|
|
|
|
}, |
|
|
|
|
lineStyle: { |
|
|
|
|
color: "#1a69f1", //折线点的颜色 |
|
|
|
|
color: "#00CED1", //折线点的颜色 |
|
|
|
|
}, |
|
|
|
|
smooth: false, |
|
|
|
|
// 不显示折线点 |
|
|
|
|
showSymbol: false, |
|
|
|
|
// 区域填充样式,添加渐变背景 |
|
|
|
|
areaStyle: { |
|
|
|
|
color: { |
|
|
|
|
type: "linear", |
|
|
|
|
x: 0, |
|
|
|
|
y: 0, |
|
|
|
|
x2: 0, |
|
|
|
|
y2: 1, |
|
|
|
|
colorStops: [ |
|
|
|
|
{ |
|
|
|
|
offset: 0, |
|
|
|
|
color: "rgba(26, 105, 241, 0.5)", // 渐变起始颜色 |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
offset: 1, |
|
|
|
|
color: "rgba(26, 105, 241, 0)", // 渐变结束颜色 |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
global: false, // 缺省为 false |
|
|
|
|
}, |
|
|
|
|
}, |
|
|
|
|
// // 区域填充样式,添加渐变背景 |
|
|
|
|
// areaStyle: { |
|
|
|
|
// color: { |
|
|
|
|
// type: "linear", |
|
|
|
|
// x: 0, |
|
|
|
|
// y: 0, |
|
|
|
|
// x2: 0, |
|
|
|
|
// y2: 1, |
|
|
|
|
// colorStops: [ |
|
|
|
|
// { |
|
|
|
|
// offset: 0, |
|
|
|
|
// color: "rgba(26, 105, 241, 0.5)", // 渐变起始颜色 |
|
|
|
|
// }, |
|
|
|
|
// { |
|
|
|
|
// offset: 1, |
|
|
|
|
// color: "rgba(26, 105, 241, 0)", // 渐变结束颜色 |
|
|
|
|
// }, |
|
|
|
|
// ], |
|
|
|
|
// global: false, // 缺省为 false |
|
|
|
|
// }, |
|
|
|
|
// }, |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
type: "line", |
|
|
|
@ -303,31 +314,31 @@ export default {
|
|
|
|
|
data: this.chartData2, |
|
|
|
|
//折线颜色 |
|
|
|
|
itemStyle: { |
|
|
|
|
color: "#00CED1", //折线的颜色 |
|
|
|
|
color: "#3ba272", //折线的颜色 |
|
|
|
|
}, |
|
|
|
|
smooth: false, |
|
|
|
|
// 不显示折线点 |
|
|
|
|
showSymbol: false, |
|
|
|
|
areaStyle: { |
|
|
|
|
color: { |
|
|
|
|
type: "linear", |
|
|
|
|
x: 0, |
|
|
|
|
y: 0, |
|
|
|
|
x2: 0, |
|
|
|
|
y2: 1, |
|
|
|
|
colorStops: [ |
|
|
|
|
{ |
|
|
|
|
offset: 0, |
|
|
|
|
color: "rgba(0, 206, 209, 0.5)", // 渐变起始颜色 |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
offset: 1, |
|
|
|
|
color: "rgba(0, 206, 209, 0)", // 渐变结束颜色 |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
global: false, // 缺省为 false |
|
|
|
|
}, |
|
|
|
|
}, |
|
|
|
|
// areaStyle: { |
|
|
|
|
// color: { |
|
|
|
|
// type: "linear", |
|
|
|
|
// x: 0, |
|
|
|
|
// y: 0, |
|
|
|
|
// x2: 0, |
|
|
|
|
// y2: 1, |
|
|
|
|
// colorStops: [ |
|
|
|
|
// { |
|
|
|
|
// offset: 0, |
|
|
|
|
// color: "rgba(0, 206, 209, 0.5)", // 渐变起始颜色 |
|
|
|
|
// }, |
|
|
|
|
// { |
|
|
|
|
// offset: 1, |
|
|
|
|
// color: "rgba(0, 206, 209, 0)", // 渐变结束颜色 |
|
|
|
|
// }, |
|
|
|
|
// ], |
|
|
|
|
// global: false, // 缺省为 false |
|
|
|
|
// }, |
|
|
|
|
// }, |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
type: "line", |
|
|
|
@ -336,31 +347,31 @@ export default {
|
|
|
|
|
data: this.chartData3, |
|
|
|
|
//折线颜色 |
|
|
|
|
itemStyle: { |
|
|
|
|
color: "#00CED1", //折线的颜色 |
|
|
|
|
color: "#fac858", //折线的颜色 |
|
|
|
|
}, |
|
|
|
|
smooth: false, |
|
|
|
|
// 不显示折线点 |
|
|
|
|
showSymbol: false, |
|
|
|
|
areaStyle: { |
|
|
|
|
color: { |
|
|
|
|
type: "linear", |
|
|
|
|
x: 0, |
|
|
|
|
y: 0, |
|
|
|
|
x2: 0, |
|
|
|
|
y2: 1, |
|
|
|
|
colorStops: [ |
|
|
|
|
{ |
|
|
|
|
offset: 0, |
|
|
|
|
color: "rgba(0, 206, 209, 0.5)", // 渐变起始颜色 |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
offset: 1, |
|
|
|
|
color: "rgba(0, 206, 209, 0)", // 渐变结束颜色 |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
global: false, // 缺省为 false |
|
|
|
|
}, |
|
|
|
|
}, |
|
|
|
|
// areaStyle: { |
|
|
|
|
// color: { |
|
|
|
|
// type: "linear", |
|
|
|
|
// x: 0, |
|
|
|
|
// y: 0, |
|
|
|
|
// x2: 0, |
|
|
|
|
// y2: 1, |
|
|
|
|
// colorStops: [ |
|
|
|
|
// { |
|
|
|
|
// offset: 0, |
|
|
|
|
// color: "rgba(0, 206, 209, 0.5)", // 渐变起始颜色 |
|
|
|
|
// }, |
|
|
|
|
// { |
|
|
|
|
// offset: 1, |
|
|
|
|
// color: "rgba(0, 206, 209, 0)", // 渐变结束颜色 |
|
|
|
|
// }, |
|
|
|
|
// ], |
|
|
|
|
// global: false, // 缺省为 false |
|
|
|
|
// }, |
|
|
|
|
// }, |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
type: "line", |
|
|
|
@ -369,31 +380,64 @@ export default {
|
|
|
|
|
data: this.chartData4, |
|
|
|
|
//折线颜色 |
|
|
|
|
itemStyle: { |
|
|
|
|
color: "#00CED1", //折线的颜色 |
|
|
|
|
color: "#1a69f1", //折线的颜色 |
|
|
|
|
}, |
|
|
|
|
smooth: false, |
|
|
|
|
// 不显示折线点 |
|
|
|
|
showSymbol: false, |
|
|
|
|
areaStyle: { |
|
|
|
|
color: { |
|
|
|
|
type: "linear", |
|
|
|
|
x: 0, |
|
|
|
|
y: 0, |
|
|
|
|
x2: 0, |
|
|
|
|
y2: 1, |
|
|
|
|
colorStops: [ |
|
|
|
|
{ |
|
|
|
|
offset: 0, |
|
|
|
|
color: "rgba(0, 206, 209, 0.5)", // 渐变起始颜色 |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
offset: 1, |
|
|
|
|
color: "rgba(0, 206, 209, 0)", // 渐变结束颜色 |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
global: false, // 缺省为 false |
|
|
|
|
}, |
|
|
|
|
// areaStyle: { |
|
|
|
|
// color: { |
|
|
|
|
// type: "linear", |
|
|
|
|
// x: 0, |
|
|
|
|
// y: 0, |
|
|
|
|
// x2: 0, |
|
|
|
|
// y2: 1, |
|
|
|
|
// colorStops: [ |
|
|
|
|
// { |
|
|
|
|
// offset: 0, |
|
|
|
|
// color: "rgba(0, 206, 209, 0.5)", // 渐变起始颜色 |
|
|
|
|
// }, |
|
|
|
|
// { |
|
|
|
|
// offset: 1, |
|
|
|
|
// color: "rgba(0, 206, 209, 0)", // 渐变结束颜色 |
|
|
|
|
// }, |
|
|
|
|
// ], |
|
|
|
|
// global: false, // 缺省为 false |
|
|
|
|
// }, |
|
|
|
|
// }, |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
type: "line", |
|
|
|
|
// 拐点大小 |
|
|
|
|
symbolSize: 8, |
|
|
|
|
data: this.chartData5, |
|
|
|
|
//折线颜色 |
|
|
|
|
itemStyle: { |
|
|
|
|
color: "#ee6666", //折线的颜色 |
|
|
|
|
}, |
|
|
|
|
smooth: false, |
|
|
|
|
// 不显示折线点 |
|
|
|
|
showSymbol: false, |
|
|
|
|
// areaStyle: { |
|
|
|
|
// color: { |
|
|
|
|
// type: "linear", |
|
|
|
|
// x: 0, |
|
|
|
|
// y: 0, |
|
|
|
|
// x2: 0, |
|
|
|
|
// y2: 1, |
|
|
|
|
// colorStops: [ |
|
|
|
|
// { |
|
|
|
|
// offset: 0, |
|
|
|
|
// color: "rgba(0, 206, 209, 0.5)", // 渐变起始颜色 |
|
|
|
|
// }, |
|
|
|
|
// { |
|
|
|
|
// offset: 1, |
|
|
|
|
// color: "rgba(0, 206, 209, 0)", // 渐变结束颜色 |
|
|
|
|
// }, |
|
|
|
|
// ], |
|
|
|
|
// global: false, // 缺省为 false |
|
|
|
|
// }, |
|
|
|
|
// }, |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}; |
|
|
|
@ -406,10 +450,10 @@ export default {
|
|
|
|
|
}, |
|
|
|
|
}; |
|
|
|
|
</script> |
|
|
|
|
|
|
|
|
|
<style lang="scss" scoped> |
|
|
|
|
.historyCharts { |
|
|
|
|
width: 100%; |
|
|
|
|
height: 4rem; |
|
|
|
|
} |
|
|
|
|
</style> |
|
|
|
|
|
|
|
|
|