93 lines
1.9 KiB
Vue
93 lines
1.9 KiB
Vue
|
<template>
|
||
|
<div class="container">
|
||
|
<border4 ref="refborder4">
|
||
|
<template v-slot>
|
||
|
<div ref="power"></div>
|
||
|
</template>
|
||
|
</border4>
|
||
|
</div>
|
||
|
</template>
|
||
|
|
||
|
<script setup lang='ts'>
|
||
|
import { getCurrentInstance, onMounted, reactive, ref,watch,onUpdated } from "vue"
|
||
|
import border4 from "@/components/borderBox/border6.vue"
|
||
|
const { proxy } = getCurrentInstance() as any;
|
||
|
let props = defineProps<{
|
||
|
title: string,
|
||
|
series: any,
|
||
|
listName:string[]
|
||
|
}>()
|
||
|
|
||
|
let power = ref()
|
||
|
let Ebox = null
|
||
|
function init() {
|
||
|
Ebox = proxy.$echarts.init(power.value, "dark");
|
||
|
let option = {
|
||
|
title: {
|
||
|
text: props.title,
|
||
|
show: true,
|
||
|
textStyle: {
|
||
|
color: '#fff',
|
||
|
fontSize: 20
|
||
|
},
|
||
|
top: '3%',
|
||
|
},
|
||
|
tooltip: {
|
||
|
trigger: 'item',
|
||
|
axisPointer: {
|
||
|
// Use axis to trigger tooltip
|
||
|
type: 'shadow', // 'shadow' as default; can also be 'line' or 'shadow',
|
||
|
axis: 'auto',
|
||
|
|
||
|
},
|
||
|
},
|
||
|
// color:color,
|
||
|
legend: {
|
||
|
type: 'scroll',
|
||
|
// width:400,
|
||
|
// right:20,
|
||
|
top: '11%',
|
||
|
// itemStyle:{
|
||
|
// data:yue
|
||
|
// },
|
||
|
},
|
||
|
grid: {
|
||
|
top: "20%",
|
||
|
left: "3%",
|
||
|
right: "10%",
|
||
|
bottom: "3%",
|
||
|
containLabel: true,
|
||
|
},
|
||
|
xAxis: {
|
||
|
type: 'value',
|
||
|
splitLine: {
|
||
|
show: false
|
||
|
}
|
||
|
},
|
||
|
yAxis: {
|
||
|
type: 'category',
|
||
|
data: props.listName
|
||
|
},
|
||
|
series: props.series
|
||
|
};
|
||
|
Ebox.setOption(option)
|
||
|
}
|
||
|
|
||
|
watch(props,(newVal)=>{
|
||
|
|
||
|
},{deep:true})
|
||
|
|
||
|
onMounted(()=>{
|
||
|
init()
|
||
|
})
|
||
|
|
||
|
</script>
|
||
|
|
||
|
<style scoped>
|
||
|
.container {
|
||
|
width: 100%;
|
||
|
height: 100%;
|
||
|
box-sizing: border-box;
|
||
|
}
|
||
|
</style>
|