赞
踩
- <template>
- <!-- 双预防运行结果 -->
- <div style="width: 1400px; height: 1000px; display: flex; padding: 0 10px">
- <v-chart :option="option" autoresize style="width: 85%;margin-right: 30px;" />
- </div>
- </template>
-
- <script lang="ts">
- export default {
- name: 'DualPreventionOperation',
- }
- </script>
- <script lang="ts" setup>
- import { useDataStatus, dialogTypeEnum } from '@/stores/dialog/data-status'
- import VChart from 'vue-echarts'
-
- const dataStatus = useDataStatus()
- onMounted(() => {
-
- })
- const obj = dataStatus.dialogMap.get(dialogTypeEnum.prevention_operation).condition?.row
- //visualMap 填充色对比 最大值
- const option = ref(
- {
- backgroundColor: 'rgb(30, 36, 50)',
- tooltip: {
- 'show': true,
- 'trigger': 'item',
- },
-
- radar: {
- // shape: 'circle',
- radius: '65%',
- name: {
- textStyle: {
- color: '#fff',
- //backgroundColor: '#999',
- borderRadius: 3,
- padding: [-10, -10],
- fontSize: 20
- },
- formatter: function (value) {
- let list = value.split("");
- console.log(list);
- let result = "";
- for (let i = 1; i <= list.length; i++) {
- if (!(i % 7) && list[i] != undefined) {
- result += list[i - 1] + '\n';
- } else {
- result += list[i - 1];
- }
- }
- return result;
- },
- },
- axisLine: {
- lineStyle: {
- color: '#1968a0',
- width: 1,
- type: 'solid'
- },
- },
-
- splitArea: {
- areaStyle: {
-
- color: ['rgba(40,203,228,0.3)', 'rgb(30, 36, 50,0.7)']
- }
- },
- splitLine: {
- lineStyle: {
- color: ['#74e7f0', '#74e7f0', '#74e7f0', '#74e7f0'],
- width: 1
- }
- },
- indicator: [{
- text: '风险分析完成率',
- }, {
- text: '隐患整改率',
- }, {
- text: '排查任务完成率',
- },
- ]
- },
- series: [{
- name: '双预防运行结果',
- type: 'radar',
- symbol: 'circle',
- symbolSize: 3,
- areaStyle: {
- normal: {
- color: 'rgba(103,194,58,0.3)',
- fontSize: 24
- },
- },
- itemStyle: {
- color: 'rgba(103,194,58,.7)',
- borderColor: 'rgba(103,194,58,.5)',
- borderWidth: 5,
- },
-
- data: [
- {
- value: [obj.num9, obj.num10, obj.num11],
- name: '双预防运行结果'
- }],
-
- }]
- }
- )
-
- </script>
-
- <style lang="scss" scoped></style>
注意:
1)、文字显示不全
解决:
<1>、radius: '65%', // 设置这个文字少的情况下可解决
<2>、上诉代码formatter这个方法,可解决文字过长进行换行展示
2)、indicator中可以设置max值
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。