From 96473e6139ad8d963a5a0abcd21b2385545644e2 Mon Sep 17 00:00:00 2001 From: huanghao1412 Date: Sat, 3 Feb 2024 11:45:41 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BB=A3=E7=A0=81=E6=89=93=E5=8C=85?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/Charts/Mores/Radar/config.ts | 5 +++-- .../components/Charts/Mores/Radar/config.vue | 9 +++++---- .../components/Charts/Mores/Radar/index.vue | 17 +++++++++-------- .../Tables/Tables/TablesBasic/config.vue | 2 +- 4 files changed, 18 insertions(+), 15 deletions(-) diff --git a/src/packages/components/Charts/Mores/Radar/config.ts b/src/packages/components/Charts/Mores/Radar/config.ts index 265e5450..44a008d1 100644 --- a/src/packages/components/Charts/Mores/Radar/config.ts +++ b/src/packages/components/Charts/Mores/Radar/config.ts @@ -14,7 +14,7 @@ export const RadarShapeEnumList = [ interface maxMapType { [k: string]: { - max: number, + max: number | null, min: number } } @@ -22,7 +22,8 @@ interface maxMapType { export const option = { maxMap: {} as maxMapType, tooltip: { - show: true + show: true, + position: ((point: number[], params:unknown, dom:unknown, rect:unknown, size: { contentSize: number[] }) => point), }, legend: { data: [] diff --git a/src/packages/components/Charts/Mores/Radar/config.vue b/src/packages/components/Charts/Mores/Radar/config.vue index 41e6c79a..893cbbfe 100644 --- a/src/packages/components/Charts/Mores/Radar/config.vue +++ b/src/packages/components/Charts/Mores/Radar/config.vue @@ -97,10 +97,10 @@ - + - + @@ -152,8 +152,9 @@ const sliderFormatTooltip = (v: number) => { return `${v}%` } +interface SourceItemType { [k: string]: any} let maxList = computed(() => { - let arr = props.optionData.dataset.source.map(_ => { + let arr = props.optionData.dataset.source.map((_:SourceItemType) => { let nameKey = props.optionData.dataset.dimensions[0] return { key: _[nameKey], @@ -165,7 +166,7 @@ let maxList = computed(() => { return arr }) -const handleUpdate = (k: string, type: string, v: string) => { +const handleUpdate = (k: string, type: string, v: number) => { if(type === 'min') props.optionData.maxMap[k].min = v else if(type === 'max') props.optionData.maxMap[k].max = v } diff --git a/src/packages/components/Charts/Mores/Radar/index.vue b/src/packages/components/Charts/Mores/Radar/index.vue index bb13d6e9..b0128cc1 100644 --- a/src/packages/components/Charts/Mores/Radar/index.vue +++ b/src/packages/components/Charts/Mores/Radar/index.vue @@ -10,7 +10,7 @@ import dataJson from './data.json' import { use } from 'echarts/core' import { CanvasRenderer } from 'echarts/renderers' import { RadarChart } from 'echarts/charts' -import { includes } from './config' +import { includes, option as myOption } from './config' import { mergeTheme, setOption } from '@/packages/public/chart' import {useChartCommonData, useChartDataFetch} from '@/hooks' import { CreateComponentType } from '@/packages/index.d' @@ -28,7 +28,7 @@ const props = defineProps({ required: true }, chartConfig: { - type: Object as PropType, + type: Object as PropType, required: true } }) @@ -73,9 +73,10 @@ const option = computed(() => { // } // ) +type SourceItemType = { [k: string]: any } watch(() => props.chartConfig.option.dataset, (v) => { let { dimensions, source } = v - source.forEach(_ => { + source.forEach((_: SourceItemType) => { if(!Object.prototype.hasOwnProperty.call(props.chartConfig.option.maxMap, _[dimensions[0]])) { props.chartConfig.option.maxMap[_[dimensions[0]]] = { max: null, @@ -83,17 +84,17 @@ watch(() => props.chartConfig.option.dataset, (v) => { } } }) - props.chartConfig.option.radar.indicator = source.map(_ => { + props.chartConfig.option.radar.indicator = source.map((_: SourceItemType) => { return { name: _[dimensions[0]], max: props.chartConfig.option.maxMap[_[dimensions[0]]].max, min: props.chartConfig.option.maxMap[_[dimensions[0]]].min, } }) - props.chartConfig.option.series[0].data = dimensions.slice(1).map(k => { + props.chartConfig.option.series[0].data = dimensions.slice(1).map((k: string) => { return { name: k, - value: source.map(_ => _[k]) + value: source.map((_: SourceItemType) => _[k]) } }) props.chartConfig.option.legend.data = dimensions.slice(1) @@ -102,9 +103,9 @@ watch(() => props.chartConfig.option.dataset, (v) => { deep: true }) -watch(() => props.chartConfig.option.maxMap, v => { +watch(() => props.chartConfig.option.maxMap, () => { let { dimensions, source } = props.chartConfig.option.dataset - props.chartConfig.option.radar.indicator = source.map(_ => { + props.chartConfig.option.radar.indicator = source.map((_: SourceItemType) => { return { name: _[dimensions[0]], max: props.chartConfig.option.maxMap[_[dimensions[0]]].max, diff --git a/src/packages/components/Tables/Tables/TablesBasic/config.vue b/src/packages/components/Tables/Tables/TablesBasic/config.vue index 5ffb18a0..cd0cf970 100644 --- a/src/packages/components/Tables/Tables/TablesBasic/config.vue +++ b/src/packages/components/Tables/Tables/TablesBasic/config.vue @@ -6,7 +6,7 @@
字段
标题
-
+
{{ row }}