|
|
|
@ -4,6 +4,7 @@ |
|
|
|
@ 备注: 雷达图 |
|
|
|
--> |
|
|
|
<script lang="ts" setup> |
|
|
|
import { analyzeChartData } from "@/api/chart/index"; |
|
|
|
import { echatsViews } from "@/api/DesignForm/types"; |
|
|
|
import * as echarts from "echarts"; |
|
|
|
|
|
|
|
@ -28,50 +29,81 @@ var myChartPie = ref<any>(); |
|
|
|
@ 时间: 2025-06-26 11:34:21 |
|
|
|
@ 功能: 画图 |
|
|
|
*/ |
|
|
|
const drawPie = () => { |
|
|
|
const drawRadar = () => { |
|
|
|
if (props.uuid && props.uuid != "") { |
|
|
|
myChartPie.value = echarts.init( |
|
|
|
document.getElementById(props.uuid) as HTMLDivElement |
|
|
|
); |
|
|
|
myChartPie.value.setOption({ |
|
|
|
grid: { |
|
|
|
left: "2%", |
|
|
|
right: "2%", |
|
|
|
bottom: "5%", |
|
|
|
top: "5%", |
|
|
|
containLabel: true, |
|
|
|
}, |
|
|
|
legend: { |
|
|
|
data: ["Allocated Budget", "Actual Spending"], |
|
|
|
}, |
|
|
|
radar: { |
|
|
|
// shape: 'circle', |
|
|
|
indicator: [ |
|
|
|
{ name: "Sales", max: 6500 }, |
|
|
|
{ name: "Administration", max: 16000 }, |
|
|
|
{ name: "Information Technology", max: 30000 }, |
|
|
|
{ name: "Customer Support", max: 38000 }, |
|
|
|
{ name: "Development", max: 52000 }, |
|
|
|
{ name: "Marketing", max: 25000 }, |
|
|
|
], |
|
|
|
}, |
|
|
|
series: [ |
|
|
|
{ |
|
|
|
name: "Budget vs spending", |
|
|
|
type: "radar", |
|
|
|
data: [ |
|
|
|
analyzeChartData({ tableKey: props.tableKey, chartId: props.uuid }).then((data) => { |
|
|
|
console.log("画图雷达---->1", data); |
|
|
|
if (data.code == 0) { |
|
|
|
let radMap = data.data; |
|
|
|
let optionData = { |
|
|
|
tooltip: { |
|
|
|
trigger: "item", |
|
|
|
}, |
|
|
|
legend: { |
|
|
|
data: radMap.legend, |
|
|
|
left: "left", |
|
|
|
}, |
|
|
|
radar: { |
|
|
|
// shape: 'circle', |
|
|
|
indicator: radMap.indicator, |
|
|
|
}, |
|
|
|
series: [ |
|
|
|
{ |
|
|
|
value: [4200, 3000, 20000, 35000, 50000, 18000], |
|
|
|
name: "Allocated Budget", |
|
|
|
type: "radar", |
|
|
|
data: radMap.dataList, |
|
|
|
}, |
|
|
|
], |
|
|
|
}; |
|
|
|
myChartPie.value.setOption(optionData); |
|
|
|
} else { |
|
|
|
myChartPie.value.setOption({ |
|
|
|
grid: { |
|
|
|
left: "2%", |
|
|
|
right: "2%", |
|
|
|
bottom: "5%", |
|
|
|
top: "5%", |
|
|
|
containLabel: true, |
|
|
|
}, |
|
|
|
tooltip: { |
|
|
|
trigger: "item", |
|
|
|
}, |
|
|
|
legend: { |
|
|
|
data: ["Allocated Budget", "Actual Spending"], |
|
|
|
}, |
|
|
|
radar: { |
|
|
|
// shape: 'circle', |
|
|
|
indicator: [ |
|
|
|
{ name: "Sales", max: 6500 }, |
|
|
|
{ name: "Administration", max: 16000 }, |
|
|
|
{ name: "Information Technology", max: 30000 }, |
|
|
|
{ name: "Customer Support", max: 38000 }, |
|
|
|
{ name: "Development", max: 52000 }, |
|
|
|
{ name: "Marketing", max: 25000 }, |
|
|
|
], |
|
|
|
}, |
|
|
|
series: [ |
|
|
|
{ |
|
|
|
value: [5000, 14000, 28000, 26000, 42000, 21000], |
|
|
|
name: "Actual Spending", |
|
|
|
name: "Budget vs spending", |
|
|
|
type: "radar", |
|
|
|
data: [ |
|
|
|
{ |
|
|
|
value: [4200, 3000, 20000, 35000, 50000, 18000], |
|
|
|
name: "Allocated Budget", |
|
|
|
}, |
|
|
|
{ |
|
|
|
value: [5000, 14000, 28000, 26000, 42000, 21000], |
|
|
|
name: "Actual Spending", |
|
|
|
}, |
|
|
|
], |
|
|
|
}, |
|
|
|
], |
|
|
|
}, |
|
|
|
], |
|
|
|
}); |
|
|
|
} |
|
|
|
}); |
|
|
|
|
|
|
|
console.log("画图完毕---->", props); |
|
|
|
} |
|
|
|
}; |
|
|
|
@ -88,10 +120,16 @@ const searBut = (val: string) => { |
|
|
|
} |
|
|
|
return false; |
|
|
|
}; |
|
|
|
|
|
|
|
watch( |
|
|
|
() => props.data, |
|
|
|
(val: any) => { |
|
|
|
drawRadar(); |
|
|
|
}, |
|
|
|
{ deep: true } |
|
|
|
); |
|
|
|
onMounted(() => { |
|
|
|
nextTick(() => { |
|
|
|
drawPie(); |
|
|
|
drawRadar(); |
|
|
|
}); |
|
|
|
}); |
|
|
|
</script> |
|
|
|
|