You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
79 lines
1.7 KiB
79 lines
1.7 KiB
6 months ago
|
<template>
|
||
|
<div class="ns-chart">
|
||
|
<v-chart :id="id" ref="chart" />
|
||
|
</div>
|
||
|
</template>
|
||
|
|
||
|
<script lang="ts">
|
||
|
import * as echarts from 'echarts/core';
|
||
|
import { use } from 'echarts/core';
|
||
|
import { CanvasRenderer } from 'echarts/renderers';
|
||
|
import { LineChart } from 'echarts/charts';
|
||
|
import { TitleComponent, TooltipComponent, LegendComponent } from 'echarts/components';
|
||
|
import VChart, { THEME_KEY } from 'vue-echarts';
|
||
|
import { defineComponent, onMounted, reactive, ref } from 'vue';
|
||
|
import { PieChart, BarChart, ScatterChart, RadarChart } from 'echarts/charts';
|
||
|
import 'echarts/lib/component/grid';
|
||
|
import { GridComponent } from 'echarts/components';
|
||
|
|
||
|
use([
|
||
|
CanvasRenderer,
|
||
|
LineChart,
|
||
|
PieChart,
|
||
|
BarChart,
|
||
|
ScatterChart,
|
||
|
RadarChart,
|
||
|
TitleComponent,
|
||
|
TooltipComponent,
|
||
|
LegendComponent,
|
||
|
GridComponent,
|
||
|
]);
|
||
|
|
||
|
export default defineComponent({
|
||
|
components: {
|
||
|
VChart,
|
||
|
},
|
||
|
provide: {
|
||
|
[THEME_KEY]: 'light',
|
||
|
},
|
||
|
props: {
|
||
|
id: String,
|
||
|
option: {
|
||
|
type: Object,
|
||
|
default: () => ({}),
|
||
|
},
|
||
|
},
|
||
|
|
||
|
setup(props) {
|
||
|
// var id=ref<String>('');
|
||
|
onMounted(() => {
|
||
|
const getOptions = () => {
|
||
|
console.log('sdada');
|
||
|
console.log(props.id);
|
||
|
var chart = echarts.init(document.getElementById(props.id));
|
||
|
chart.showLoading();
|
||
|
setTimeout(() => {
|
||
|
console.log('loading');
|
||
|
chart.hideLoading();
|
||
|
chart.setOption(props.option);
|
||
|
}, 2000);
|
||
|
};
|
||
|
getOptions();
|
||
|
});
|
||
|
|
||
|
return {
|
||
|
props,
|
||
|
};
|
||
|
},
|
||
|
});
|
||
|
</script>
|
||
|
|
||
|
<style scoped>
|
||
|
.ns-chart {
|
||
|
height: 500px;
|
||
|
width: 450px;
|
||
|
border: 1px solid #dcdfe2;
|
||
|
margin: 5px;
|
||
|
}
|
||
|
</style>
|