| | |
| | | --> |
| | | <script setup> |
| | | // import { ref, reactive, onMounted, nextTick, inject } from 'vue' |
| | | import { useEchartsResize } from 'hooks/useEchartsResize' |
| | | import { getRescueTeamStatistic } from '@/api/indParkInfo' |
| | | import { nextTick } from 'vue' |
| | | import { useEchartsResize } from "hooks/useEchartsResize"; |
| | | import { getRescueTeamStatistic } from "@/api/indParkInfo"; |
| | | import { nextTick } from "vue"; |
| | | |
| | | let $echarts = inject('echarts') |
| | | const curEcharts = ref(null) |
| | | let $echarts = inject("echarts"); |
| | | const curEcharts = ref(null); |
| | | |
| | | let myEcharts = reactive(null) |
| | | let myEcharts = reactive(null); |
| | | |
| | | function getStatistic () { |
| | | getRescueTeamStatistic().then(res => { |
| | | let xaxis_data = [] |
| | | let yaxis_data = [] |
| | | res.data.data.forEach(element => { |
| | | xaxis_data.push(element.type) |
| | | yaxis_data.push(element.num) |
| | | }) |
| | | function getStatistic() { |
| | | getRescueTeamStatistic().then((res) => { |
| | | let xaxis_data = []; |
| | | let yaxis_data = []; |
| | | res.data.data.forEach((element) => { |
| | | xaxis_data.push(element.type); |
| | | yaxis_data.push(element.num); |
| | | }); |
| | | |
| | | myEcharts.setOption({ |
| | | tooltip: { |
| | | trigger: 'axis', |
| | | trigger: "axis", |
| | | axisPointer: { |
| | | type: 'shadow' |
| | | } |
| | | type: "shadow", |
| | | }, |
| | | }, |
| | | grid: { |
| | | top: '6%', |
| | | left: '6%', |
| | | right: '6%', |
| | | bottom: '6%', |
| | | containLabel: true |
| | | top: "6%", |
| | | left: "6%", |
| | | right: "6%", |
| | | bottom: "6%", |
| | | containLabel: true, |
| | | }, |
| | | xAxis: [ |
| | | { |
| | | type: 'category', |
| | | type: "category", |
| | | data: xaxis_data, |
| | | axisTick: { |
| | | alignWithLabel: true |
| | | alignWithLabel: true, |
| | | }, |
| | | nameTextStyle: { |
| | | color: '#fff' |
| | | color: "#fff", |
| | | }, |
| | | axisLine: { |
| | | lineStyle: { |
| | | color: '#fff' |
| | | } |
| | | color: "#fff", |
| | | }, |
| | | }, |
| | | axisTick: { |
| | | alignWithLabel: true, |
| | | lineStyle: { |
| | | color: '#fff' |
| | | } |
| | | color: "#fff", |
| | | }, |
| | | }, |
| | | axisLabel: { |
| | | color: '#fff' |
| | | color: "#fff", |
| | | //坐标轴刻度标签的相关设置。 |
| | | interval: 0, //设置为 1,表示『隔一个标签显示一个标签』 |
| | | margin: 15, |
| | | rotate: 45, //调整数值改变倾斜的幅度(范围-90到90) |
| | | textStyle: { |
| | | color: "#fff", |
| | | fontStyle: "normal", |
| | | fontFamily: "微软雅黑", |
| | | fontSize: 12, |
| | | }, |
| | | }, |
| | | } |
| | | }, |
| | | ], |
| | | yAxis: [ |
| | | { |
| | | type: 'value', |
| | | type: "value", |
| | | nameTextStyle: { |
| | | color: '#fff' |
| | | color: "#fff", |
| | | }, |
| | | axisLine: { |
| | | lineStyle: { |
| | | color: '#fff' |
| | | } |
| | | color: "#fff", |
| | | }, |
| | | }, |
| | | axisTick: { |
| | | lineStyle: { |
| | | color: '#fff' |
| | | } |
| | | color: "#fff", |
| | | }, |
| | | }, |
| | | axisLabel: { |
| | | color: '#fff' |
| | | color: "#fff", |
| | | }, |
| | | } |
| | | }, |
| | | ], |
| | | series: [ |
| | | { |
| | | name: '救援人数', |
| | | type: 'bar', |
| | | barWidth: '30', |
| | | name: "救援人数", |
| | | type: "bar", |
| | | barWidth: "30", |
| | | data: yaxis_data, |
| | | itemStyle: { |
| | | color: 'rgb(0, 0, 144)' |
| | | } |
| | | } |
| | | ] |
| | | }) |
| | | |
| | | |
| | | }) |
| | | color: "#70AFEA", |
| | | }, |
| | | }, |
| | | ], |
| | | }); |
| | | }); |
| | | } |
| | | |
| | | nextTick(() => { |
| | | myEcharts = $echarts.init(curEcharts.value) |
| | | getStatistic() |
| | | }) |
| | | myEcharts = $echarts.init(curEcharts.value); |
| | | getStatistic(); |
| | | }); |
| | | |
| | | const echartsResize = () => { |
| | | myEcharts && myEcharts.resize() |
| | | } |
| | | myEcharts && myEcharts.resize(); |
| | | }; |
| | | |
| | | useEchartsResize(echartsResize) |
| | | useEchartsResize(echartsResize); |
| | | </script> |
| | | |
| | | <template> |
| | | <div class="w100 h100" ref="curEcharts"> |
| | | |
| | | </div> |
| | | <div class="w100 h100" ref="curEcharts"></div> |
| | | </template> |
| | | |
| | | <style lang="scss" scoped></style> |
| | |
| | | { |
| | | name: '一般', |
| | | itemStyle: { |
| | | color: '#FFFF00' |
| | | color: '#3579F6' |
| | | } |
| | | }, |
| | | { |
| | |
| | | |
| | | function getRiskSource () { |
| | | getRiskSourceStatistic().then(res => { |
| | | let xaxis_data = [] |
| | | let yaxis_data = [] |
| | | let seriesData = [] |
| | | res.data.data.forEach(element => { |
| | | xaxis_data.push(element.riskLevel) |
| | | yaxis_data.push({ |
| | | name: element.riskLevel, |
| | | value: element.num |
| | | let data = res.data.data |
| | | let dataRsult = [] |
| | | var total = 0; |
| | | data.forEach(item => { |
| | | dataRsult.push({ |
| | | name: item.riskLevel, |
| | | value: item.num, |
| | | itemStyle: typeLevel.find(i => i.name == item.riskLevel).itemStyle |
| | | }) |
| | | |
| | | seriesData.push({ |
| | | name: element.riskLevel, |
| | | type: 'bar', |
| | | data: [], |
| | | barWidth: '30', |
| | | barGap: '-100%', |
| | | itemStyle: typeLevel.find(i => i.name == element.riskLevel).itemStyle |
| | | }) |
| | | }) |
| | | |
| | | seriesData = seriesData.map(item => { |
| | | return { |
| | | ...item, |
| | | data: yaxis_data.map(i => { |
| | | return i.name == item.name ? i.value : 0 |
| | | }) |
| | | } |
| | | total = total + item.num; |
| | | }) |
| | | |
| | | myEcharts.setOption({ |
| | | title: { |
| | | text: "总数", |
| | | subtext: String(total), |
| | | textStyle: { |
| | | fontSize: 16, |
| | | color: "#fff", |
| | | lineHeight: 20, |
| | | }, |
| | | subtextStyle: { |
| | | fontSize: 28, |
| | | color: "#fff", |
| | | }, |
| | | textAlign: "center", |
| | | right: "43%", |
| | | top: "36%", |
| | | }, |
| | | legend: { |
| | | data: xaxis_data, |
| | | top: "5%", |
| | | right: "5%", |
| | | orient: "vertical", |
| | | top: '8%', |
| | | right: "8%", |
| | | textStyle: { |
| | | color: '#fff' |
| | | } |
| | | }, |
| | | |
| | | tooltip: { |
| | | axisPointer: { |
| | | type: 'shadow' |
| | | } |
| | | }, |
| | | |
| | | grid: { |
| | | top: '16%', |
| | | top: '6%', |
| | | left: '6%', |
| | | right: '6%', |
| | | bottom: '6%', |
| | | containLabel: true |
| | | }, |
| | | |
| | | xAxis: [ |
| | | { |
| | | type: 'category', |
| | | data: xaxis_data, |
| | | nameTextStyle: { |
| | | color: '#fff' |
| | | }, |
| | | axisLine: { |
| | | lineStyle: { |
| | | color: '#fff' |
| | | } |
| | | }, |
| | | axisTick: { |
| | | alignWithLabel: true, |
| | | lineStyle: { |
| | | color: '#fff' |
| | | } |
| | | }, |
| | | axisLabel: { |
| | | color: '#fff' |
| | | }, |
| | | } |
| | | ], |
| | | tooltip: { |
| | | trigger: 'item' |
| | | }, |
| | | |
| | | yAxis: [ |
| | | series: [ |
| | | { |
| | | type: 'value', |
| | | nameTextStyle: { |
| | | color: '#fff' |
| | | }, |
| | | axisLine: { |
| | | lineStyle: { |
| | | color: '#fff' |
| | | } |
| | | }, |
| | | axisTick: { |
| | | lineStyle: { |
| | | color: '#fff' |
| | | } |
| | | }, |
| | | axisLabel: { |
| | | color: '#fff' |
| | | }, |
| | | // name: 'Access From', |
| | | type: 'pie', |
| | | left: '-5%', |
| | | radius: ['45%', '75%'], |
| | | data: dataRsult |
| | | } |
| | | ], |
| | | series: seriesData |
| | | ] |
| | | }) |
| | | }) |
| | | } |
| | |
| | | * Copyright (c) 2023 by ${git_name_email}, All Rights Reserved. |
| | | --> |
| | | <script setup> |
| | | import { useEchartsResize } from 'hooks/useEchartsResize' |
| | | import { useEchartsResize } from "hooks/useEchartsResize"; |
| | | |
| | | import { getEmergencySpaceStatistic } from '../../../../api/indParkInfo' |
| | | import { getEmergencySpaceStatistic } from "../../../../api/indParkInfo"; |
| | | |
| | | let $echarts = inject('echarts') |
| | | const curEcharts = ref(null) |
| | | let $echarts = inject("echarts"); |
| | | const curEcharts = ref(null); |
| | | |
| | | let myEcharts = reactive(null) |
| | | let myEcharts = reactive(null); |
| | | |
| | | function getEmergencySpace () { |
| | | getEmergencySpaceStatistic().then(res => { |
| | | function getEmergencySpace() { |
| | | getEmergencySpaceStatistic().then((res) => { |
| | | // console.log(res) |
| | | let data = res.data.data |
| | | let dataRsult = [] |
| | | data.forEach(item => { |
| | | let data = res.data.data; |
| | | let dataRsult = []; |
| | | var total = 0; |
| | | data.forEach((item) => { |
| | | dataRsult.push({ |
| | | name: item.type, |
| | | value: item.num |
| | | }) |
| | | }) |
| | | value: item.num, |
| | | }); |
| | | total = total + item.num; |
| | | }); |
| | | |
| | | myEcharts.setOption({ |
| | | title: { |
| | | text: "总数", |
| | | subtext: String(total), |
| | | textStyle: { |
| | | fontSize: 16, |
| | | color: "#fff", |
| | | lineHeight: 20, |
| | | }, |
| | | subtextStyle: { |
| | | fontSize: 28, |
| | | color: "#fff", |
| | | }, |
| | | textAlign: "center", |
| | | right: "28%", |
| | | top: "36%", |
| | | }, |
| | | legend: { |
| | | orient: "vertical", |
| | | top: '5%', |
| | | top: "5%", |
| | | left: "5%", |
| | | textStyle: { |
| | | color: '#fff' |
| | | } |
| | | color: "#fff", |
| | | }, |
| | | }, |
| | | |
| | | grid: { |
| | | top: '6%', |
| | | left: '6%', |
| | | right: '6%', |
| | | bottom: '6%', |
| | | containLabel: true |
| | | top: "6%", |
| | | left: "6%", |
| | | right: "6%", |
| | | bottom: "6%", |
| | | containLabel: true, |
| | | }, |
| | | |
| | | tooltip: { |
| | | trigger: 'item' |
| | | trigger: "item", |
| | | }, |
| | | |
| | | series: [ |
| | | { |
| | | // name: 'Access From', |
| | | type: 'pie', |
| | | left: '10%', |
| | | radius: ['30%', '60%'], |
| | | type: "pie", |
| | | left: "25%", |
| | | radius: ["45%", "75%"], |
| | | label: { |
| | | show: false, |
| | | }, |
| | | labelLine: { |
| | | show: false, |
| | | }, |
| | | // avoidLabelOverlap: false, |
| | | // padAngle: 5, |
| | | // itemStyle: { |
| | |
| | | // show: true |
| | | // } |
| | | // }, |
| | | data: dataRsult |
| | | } |
| | | ] |
| | | }) |
| | | }) |
| | | data: dataRsult, |
| | | }, |
| | | ], |
| | | }); |
| | | }); |
| | | } |
| | | |
| | | nextTick(() => { |
| | | myEcharts = $echarts.init(curEcharts.value) |
| | | getEmergencySpace() |
| | | }) |
| | | myEcharts = $echarts.init(curEcharts.value); |
| | | getEmergencySpace(); |
| | | }); |
| | | |
| | | const echartsResize = () => { |
| | | myEcharts && myEcharts.resize() |
| | | } |
| | | myEcharts && myEcharts.resize(); |
| | | }; |
| | | |
| | | useEchartsResize(echartsResize) |
| | | useEchartsResize(echartsResize); |
| | | </script> |
| | | |
| | | <template> |
| | | <div class="w100 h100" ref="curEcharts"> |
| | | |
| | | </div> |
| | | <div class="w100 h100" ref="curEcharts"></div> |
| | | </template> |
| | | |
| | | <style lang="scss" scoped></style> |
| | |
| | | }, |
| | | |
| | | '/zhyqapi': { |
| | | // target: 'http://localhost', |
| | | target: 'https://wrj.shuixiongit.com/zhyqapi', |
| | | target: 'http://localhost:15870', |
| | | // target: 'https://wrj.shuixiongit.com/zhyqapi', |
| | | changeOrigin: true, |
| | | rewrite: path => path.replace(/^\/zhyqapi/, ''), |
| | | }, |