|
|
|
@ -28,7 +28,31 @@ const props = withDefaults( |
|
|
|
} |
|
|
|
); |
|
|
|
var myChartPie = ref<any>(); |
|
|
|
const pinhuaOrzejiao = ref(false); |
|
|
|
|
|
|
|
/** |
|
|
|
@ 作者: 秦东 |
|
|
|
@ 时间: 2025-08-04 14:31:20 |
|
|
|
@ 功能: 解析数据结果 |
|
|
|
*/ |
|
|
|
const seriesAnlay = (listVal: any[]) => { |
|
|
|
if (listVal && Array.isArray(listVal)) { |
|
|
|
listVal.forEach((item: any) => { |
|
|
|
item.smooth = pinhuaOrzejiao.value; |
|
|
|
item.label = { |
|
|
|
show: true, |
|
|
|
position: "top", |
|
|
|
}; |
|
|
|
}); |
|
|
|
} |
|
|
|
return listVal; |
|
|
|
}; |
|
|
|
watch( |
|
|
|
() => pinhuaOrzejiao.value, |
|
|
|
() => { |
|
|
|
drawLine(); |
|
|
|
} |
|
|
|
); |
|
|
|
/** |
|
|
|
@ 作者: 秦东 |
|
|
|
@ 时间: 2025-06-26 11:34:21 |
|
|
|
@ -46,18 +70,50 @@ const drawLine = () => { |
|
|
|
}).then((data) => { |
|
|
|
console.log("火兔", data); |
|
|
|
if (data.code == 0 && data.data != null) { |
|
|
|
let optVal = data.data; |
|
|
|
optVal.grid = { |
|
|
|
left: "2%", |
|
|
|
right: "2%", |
|
|
|
bottom: "15%", |
|
|
|
top: "15%", |
|
|
|
containLabel: true, |
|
|
|
let optChart = { |
|
|
|
grid: { |
|
|
|
left: "2%", |
|
|
|
right: "2%", |
|
|
|
bottom: "15%", |
|
|
|
top: "15%", |
|
|
|
containLabel: true, |
|
|
|
}, |
|
|
|
tooltip: { |
|
|
|
trigger: "axis", |
|
|
|
axisPointer: { |
|
|
|
type: "shadow", |
|
|
|
}, |
|
|
|
}, |
|
|
|
legend: data.data.legend, |
|
|
|
yAxis: data.data.yAxis, |
|
|
|
xAxis: data.data.xAxis, |
|
|
|
series: seriesAnlay(data.data.series), |
|
|
|
}; |
|
|
|
myChartPie.value.setOption(optVal); |
|
|
|
myChartPie.value.resize(); |
|
|
|
|
|
|
|
// let optVal = data.data; |
|
|
|
// optVal.grid = { |
|
|
|
// left: "2%", |
|
|
|
// right: "2%", |
|
|
|
// bottom: "15%", |
|
|
|
// top: "15%", |
|
|
|
// containLabel: true, |
|
|
|
// }; |
|
|
|
// (optVal.tooltip = { |
|
|
|
// trigger: "axis", |
|
|
|
// axisPointer: { |
|
|
|
// type: "shadow", |
|
|
|
// }, |
|
|
|
// }), |
|
|
|
myChartPie.value.setOption(optChart); |
|
|
|
// myChartPie.value.resize(); |
|
|
|
} else { |
|
|
|
myChartPie.value.setOption({ |
|
|
|
tooltip: { |
|
|
|
trigger: "axis", |
|
|
|
axisPointer: { |
|
|
|
type: "shadow", |
|
|
|
}, |
|
|
|
}, |
|
|
|
grid: { |
|
|
|
left: "2%", |
|
|
|
right: "2%", |
|
|
|
@ -80,17 +136,17 @@ const drawLine = () => { |
|
|
|
name: "销量", |
|
|
|
data: [820, 932, 901, 934, 1290, 1330, 1320], |
|
|
|
type: "line", |
|
|
|
smooth: true, |
|
|
|
smooth: pinhuaOrzejiao.value, |
|
|
|
}, |
|
|
|
{ |
|
|
|
name: "销量科技", |
|
|
|
data: [822, 942, 951, 4, 1290, 1330, 1320], |
|
|
|
type: "line", |
|
|
|
smooth: true, |
|
|
|
smooth: pinhuaOrzejiao.value, |
|
|
|
}, |
|
|
|
], |
|
|
|
}); |
|
|
|
myChartPie.value.resize(); |
|
|
|
// myChartPie.value.resize(); |
|
|
|
} |
|
|
|
}); |
|
|
|
|
|
|
|
@ -126,9 +182,12 @@ onMounted(() => { |
|
|
|
</script> |
|
|
|
<template> |
|
|
|
<div> |
|
|
|
<el-space wrap class="spaceBox"> |
|
|
|
<svg-icon icon-class="zydq" :size="20" /> |
|
|
|
<el-text>{{ props.data.title }}</el-text> |
|
|
|
<el-space wrap class="spaceBox leftOrRight"> |
|
|
|
<div> |
|
|
|
<svg-icon icon-class="zydq" :size="20" /> |
|
|
|
<el-text>{{ props.data.title }}</el-text> |
|
|
|
</div> |
|
|
|
<el-switch v-model="pinhuaOrzejiao" active-text="平滑" inactive-text="折角" /> |
|
|
|
</el-space> |
|
|
|
<el-form |
|
|
|
v-if="props.data.search" |
|
|
|
@ -248,4 +307,9 @@ onMounted(() => { |
|
|
|
.demo-form-inline .el-select { |
|
|
|
--el-select-width: 200px; |
|
|
|
} |
|
|
|
.leftOrRight { |
|
|
|
display: flex; |
|
|
|
justify-content: space-between; |
|
|
|
align-items: center; |
|
|
|
} |
|
|
|
</style> |
|
|
|
|