ÎļþÃû´Ó src/components/chart/index.vue ÐÞ¸Ä |
| | |
| | | |
| | | <script> |
| | | import * as echarts from "echarts" |
| | | |
| | | import { countDataVisit } from "@/api/screen.js" |
| | | export default { |
| | | data() { |
| | | return {} |
| | |
| | | this.initChart() |
| | | }, |
| | | methods: { |
| | | initChart() { |
| | | const chart = echarts.init(this.$refs.chart) |
| | | |
| | | chart.setOption(option) |
| | | window.addEventListener("resize", function () { |
| | | chart.resize() |
| | | }) |
| | | }, |
| | | initData() { |
| | | async initChart() { |
| | | const res = await countDataVisit() |
| | | let dataPie = [ |
| | | { |
| | | value: 410, |
| | |
| | | name: "个人5", |
| | | }, |
| | | ] |
| | | let count = 0 |
| | | if (res.code == 200) { |
| | | dataPie = res.result.map(item => { |
| | | count += item.count |
| | | return { |
| | | value: item.count, |
| | | name: item.modular1, |
| | | } |
| | | }) |
| | | } |
| | | |
| | | let colorPie = ["#5f6d86", "#0b2036", "#002e49"] |
| | | let colorWrap = [ |
| | | "#006CFF", |
| | | "#3087d6", |
| | | "#afe1ff", |
| | | "#4be1ff", |
| | | "#006CFF", |
| | | "#5C7AAE", |
| | | "#15D0FF", |
| | | "#00BAFF", |
| | | "#7f44bb", |
| | | "#9BD3FF", |
| | | ] |
| | | let baseDataPie = [], |
| | |
| | | itemStyle: { |
| | | normal: { |
| | | color: colorWrap[i], |
| | | borderWidth: 5, |
| | | borderWidth: 4, |
| | | borderColor: colorWrap[i], |
| | | shadowBlur: 5, |
| | | shadowColor: "rgba(48, 135, 214, 0.3)", |
| | |
| | | } |
| | | |
| | | let option = { |
| | | backgroundColor: "#021228", |
| | | backgroundColor: "transparent", |
| | | title: { |
| | | text: "æå¡ç±»åæ»æ°é", |
| | | subtext: "10,225", |
| | | subtext: count, |
| | | textStyle: { |
| | | color: "#00b5f3", |
| | | color: "#fff", |
| | | fontSize: 12, |
| | | }, |
| | | subtextStyle: { |
| | | align: "center", |
| | | fontSize: 18, |
| | | color: ["#85c7e3"], |
| | | fontWeight: 800, |
| | | fontSize: 20, |
| | | color: ["#fff"], |
| | | fontWeight: 400, |
| | | fontFamily: "YouSheBiaoTiHei", |
| | | }, |
| | | x: "20%", |
| | | y: "40%", |
| | | }, |
| | | tooltip: { |
| | | show: true, |
| | | // trigger: "item", |
| | | // formatter: "{a}ï¼{b} <br/>å æ¯ï¼{d}%", |
| | | }, |
| | | // tooltip: { |
| | | // show: true, |
| | | // // trigger: "item", |
| | | // // formatter: "{a}ï¼{b} <br/>å æ¯ï¼{d}%", |
| | | // }, |
| | | legend: { |
| | | data: ["ä¼ä¸", "æ¿åº", "个人"], |
| | | data: dataPie, |
| | | icon: "vertical", |
| | | right: "1%", |
| | | top: "center", |
| | | top: "10%", |
| | | orient: "vertical", |
| | | itemGap: 20, |
| | | itemGap: 7, |
| | | itemWidth: 12, |
| | | itemHeight: 3, |
| | | |
| | |
| | | target = dataPie[i].value |
| | | } |
| | | } |
| | | let arr = [name, target] |
| | | return arr.join("\n") |
| | | let arr = `${name} |${target}` |
| | | return arr |
| | | }, |
| | | textStyle: { |
| | | lineHeight: 20, |
| | | lineHeight: 15, |
| | | color: "#9ed2f5", |
| | | }, |
| | | }, |
| | |
| | | data: baseDataWrap, |
| | | }, |
| | | { |
| | | name: "æ¥è¦", |
| | | name: "æå¡ç±»å", |
| | | type: "pie", |
| | | color: "#5F6D86", |
| | | selectedMode: "single", |
| | |
| | | }, |
| | | ], |
| | | } |
| | | const chart = echarts.init(this.$refs.chart) |
| | | |
| | | chart.setOption(option) |
| | | window.addEventListener("resize", function () { |
| | | chart.resize() |
| | | }) |
| | | }, |
| | | }, |
| | | } |