From 37593bc2574e2c95c1cd10be26924f770f6932cb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=A5=94=E8=B7=91=E7=9A=84=E9=9D=A2=E6=9D=A1?=
<1262327911@qq.com>
Date: Wed, 12 Oct 2022 21:57:30 +0800
Subject: [PATCH] =?UTF-8?q?perf:=20=E4=BC=98=E5=8C=96=E5=BC=82=E5=B8=B8?=
=?UTF-8?q?=E5=A4=84=E7=90=86?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Charts/Bars/BarCommon/index.vue | 24 ++--
.../Charts/Bars/BarCrossrange/index.vue | 24 ++--
.../Charts/Lines/LineCommon/index.vue | 24 ++--
.../Charts/Lines/LineGradientSingle/index.vue | 74 ++++++------
.../Charts/Lines/LineGradients/index.vue | 108 ++++++++----------
.../Charts/Lines/LineLinearSingle/index.vue | 22 ++--
.../components/Charts/Maps/MapBase/index.vue | 38 +++---
.../components/Charts/Mores/Heatmap/index.vue | 6 +-
.../components/Charts/Mores/Process/index.vue | 6 +-
.../components/Charts/Mores/Radar/index.vue | 6 +-
.../components/Charts/Mores/TreeMap/index.vue | 8 +-
.../Charts/Mores/WaterPolo/index.vue | 38 +++---
.../Charts/Pies/PieCircle/index.vue | 8 +-
.../Charts/Pies/PieCommon/index.vue | 22 ++--
.../Charts/Scatters/ScatterCommon/index.vue | 26 +++--
.../Decorates/Mores/CountDown/index.vue | 12 +-
.../Decorates/Mores/FlipperNumber/index.vue | 6 +-
.../Decorates/Mores/TimeCommon/index.vue | 93 +++++++--------
.../Informations/Mores/WordCloud/index.vue | 9 +-
.../Tables/Tables/TableList/index.vue | 51 ++++-----
.../Tables/Tables/TableScrollBoard/index.vue | 92 ++++++++++-----
21 files changed, 390 insertions(+), 307 deletions(-)
diff --git a/src/packages/components/Charts/Bars/BarCommon/index.vue b/src/packages/components/Charts/Bars/BarCommon/index.vue
index 2c3b8d3c..77f6da02 100644
--- a/src/packages/components/Charts/Bars/BarCommon/index.vue
+++ b/src/packages/components/Charts/Bars/BarCommon/index.vue
@@ -53,17 +53,21 @@ const option = computed(() => {
watch(
() => props.chartConfig.option.dataset,
(newData: { dimensions: any }, oldData) => {
- if (!isObject(newData) || !('dimensions' in newData)) return
- if (Array.isArray(newData?.dimensions)) {
- const seriesArr = []
- for (let i = 0; i < newData.dimensions.length - 1; i++) {
- seriesArr.push(seriesItem)
+ try {
+ if (!isObject(newData) || !('dimensions' in newData)) return
+ if (Array.isArray(newData?.dimensions)) {
+ const seriesArr = []
+ for (let i = 0; i < newData.dimensions.length - 1; i++) {
+ seriesArr.push(seriesItem)
+ }
+ replaceMergeArr.value = ['series']
+ props.chartConfig.option.series = seriesArr
+ nextTick(() => {
+ replaceMergeArr.value = []
+ })
}
- replaceMergeArr.value = ['series']
- props.chartConfig.option.series = seriesArr
- nextTick(() => {
- replaceMergeArr.value = []
- })
+ } catch (error) {
+ console.log(error)
}
},
{
diff --git a/src/packages/components/Charts/Bars/BarCrossrange/index.vue b/src/packages/components/Charts/Bars/BarCrossrange/index.vue
index cef123cf..c8d2957a 100644
--- a/src/packages/components/Charts/Bars/BarCrossrange/index.vue
+++ b/src/packages/components/Charts/Bars/BarCrossrange/index.vue
@@ -52,17 +52,21 @@ const option = computed(() => {
watch(
() => props.chartConfig.option.dataset,
(newData: { dimensions: any }, oldData) => {
- if (!isObject(newData) || !('dimensions' in newData)) return
- if (Array.isArray(newData?.dimensions)) {
- const seriesArr = []
- for (let i = 0; i < newData.dimensions.length - 1; i++) {
- seriesArr.push(seriesItem)
+ try {
+ if (!isObject(newData) || !('dimensions' in newData)) return
+ if (Array.isArray(newData?.dimensions)) {
+ const seriesArr = []
+ for (let i = 0; i < newData.dimensions.length - 1; i++) {
+ seriesArr.push(seriesItem)
+ }
+ replaceMergeArr.value = ['series']
+ props.chartConfig.option.series = seriesArr
+ nextTick(() => {
+ replaceMergeArr.value = []
+ })
}
- replaceMergeArr.value = ['series']
- props.chartConfig.option.series = seriesArr
- nextTick(() => {
- replaceMergeArr.value = []
- })
+ } catch (error) {
+ console.log(error)
}
},
{
diff --git a/src/packages/components/Charts/Lines/LineCommon/index.vue b/src/packages/components/Charts/Lines/LineCommon/index.vue
index 70955874..33149e84 100644
--- a/src/packages/components/Charts/Lines/LineCommon/index.vue
+++ b/src/packages/components/Charts/Lines/LineCommon/index.vue
@@ -53,17 +53,21 @@ const option = computed(() => {
watch(
() => props.chartConfig.option.dataset,
(newData: { dimensions: any }, oldData) => {
- if (!isObject(newData) || !('dimensions' in newData)) return
- if (Array.isArray(newData?.dimensions)) {
- const seriesArr = []
- for (let i = 0; i < newData.dimensions.length - 1; i++) {
- seriesArr.push(seriesItem)
+ try {
+ if (!isObject(newData) || !('dimensions' in newData)) return
+ if (Array.isArray(newData?.dimensions)) {
+ const seriesArr = []
+ for (let i = 0; i < newData.dimensions.length - 1; i++) {
+ seriesArr.push(seriesItem)
+ }
+ replaceMergeArr.value = ['series']
+ props.chartConfig.option.series = seriesArr
+ nextTick(() => {
+ replaceMergeArr.value = []
+ })
}
- replaceMergeArr.value = ['series']
- props.chartConfig.option.series = seriesArr
- nextTick(() => {
- replaceMergeArr.value = []
- })
+ } catch (error) {
+ console.log(error)
}
},
{
diff --git a/src/packages/components/Charts/Lines/LineGradientSingle/index.vue b/src/packages/components/Charts/Lines/LineGradientSingle/index.vue
index 877e4407..e0d9fb7e 100644
--- a/src/packages/components/Charts/Lines/LineGradientSingle/index.vue
+++ b/src/packages/components/Charts/Lines/LineGradientSingle/index.vue
@@ -1,10 +1,5 @@
-
+
@@ -37,14 +32,7 @@ const props = defineProps({
}
})
-use([
- DatasetComponent,
- CanvasRenderer,
- LineChart,
- GridComponent,
- TooltipComponent,
- LegendComponent,
-])
+use([DatasetComponent, CanvasRenderer, LineChart, GridComponent, TooltipComponent, LegendComponent])
const chartEditStore = useChartEditStore()
const option = reactive({
@@ -52,32 +40,42 @@ const option = reactive({
})
// 渐变色处理
-watch(() => chartEditStore.getEditCanvasConfig.chartThemeColor, (newColor: keyof typeof chartColorsSearch) => {
- if (!isPreview()) {
- const themeColor = chartColorsSearch[newColor] || chartColorsSearch[defaultTheme]
- props.chartConfig.option.series.forEach((value: any, index: number) => {
- value.areaStyle.color = new graphic.LinearGradient(0, 0, 0, 1, [
- {
- offset: 0,
- color: themeColor[3]
- },
- {
- offset: 1,
- color: 'rgba(0,0,0, 0)'
- }
- ])
- })
+watch(
+ () => chartEditStore.getEditCanvasConfig.chartThemeColor,
+ (newColor: keyof typeof chartColorsSearch) => {
+ try {
+ if (!isPreview()) {
+ const themeColor = chartColorsSearch[newColor] || chartColorsSearch[defaultTheme]
+ props.chartConfig.option.series.forEach((value: any, index: number) => {
+ value.areaStyle.color = new graphic.LinearGradient(0, 0, 0, 1, [
+ {
+ offset: 0,
+ color: themeColor[3]
+ },
+ {
+ offset: 1,
+ color: 'rgba(0,0,0, 0)'
+ }
+ ])
+ })
+ }
+ option.value = mergeTheme(props.chartConfig.option, props.themeSetting, includes)
+ props.chartConfig.option = option.value
+ } catch (error) {
+ console.log(error)
+ }
+ },
+ {
+ immediate: true
}
- option.value = mergeTheme(props.chartConfig.option, props.themeSetting, includes)
- props.chartConfig.option = option.value
-}, {
- immediate: true
-})
+)
-
-watch(() => props.chartConfig.option.dataset, () => {
- option.value = props.chartConfig.option
-})
+watch(
+ () => props.chartConfig.option.dataset,
+ () => {
+ option.value = props.chartConfig.option
+ }
+)
const { vChartRef } = useChartDataFetch(props.chartConfig, useChartEditStore)
diff --git a/src/packages/components/Charts/Lines/LineGradients/index.vue b/src/packages/components/Charts/Lines/LineGradients/index.vue
index f2162003..8643426f 100644
--- a/src/packages/components/Charts/Lines/LineGradients/index.vue
+++ b/src/packages/components/Charts/Lines/LineGradients/index.vue
@@ -1,93 +1,79 @@
-
+
diff --git a/src/packages/components/Charts/Lines/LineLinearSingle/index.vue b/src/packages/components/Charts/Lines/LineLinearSingle/index.vue
index 4dd94fa8..19f4ef70 100644
--- a/src/packages/components/Charts/Lines/LineLinearSingle/index.vue
+++ b/src/packages/components/Charts/Lines/LineLinearSingle/index.vue
@@ -43,17 +43,21 @@ const option = reactive({
watch(
() => chartEditStore.getEditCanvasConfig.chartThemeColor,
(newColor: keyof typeof chartColorsSearch) => {
- if (!isPreview()) {
- const themeColor = chartColorsSearch[newColor] || chartColorsSearch[defaultTheme]
- props.chartConfig.option.series.forEach((value: any) => {
- value.lineStyle.shadowColor = themeColor[2]
- value.lineStyle.color.colorStops.forEach((v: { color: string }, i: number) => {
- v.color = themeColor[i]
+ try {
+ if (!isPreview()) {
+ const themeColor = chartColorsSearch[newColor] || chartColorsSearch[defaultTheme]
+ props.chartConfig.option.series.forEach((value: any) => {
+ value.lineStyle.shadowColor = themeColor[2]
+ value.lineStyle.color.colorStops.forEach((v: { color: string }, i: number) => {
+ v.color = themeColor[i]
+ })
})
- })
+ }
+ option.value = mergeTheme(props.chartConfig.option, props.themeSetting, includes)
+ props.chartConfig.option = option.value
+ } catch (error) {
+ console.log(error)
}
- option.value = mergeTheme(props.chartConfig.option, props.themeSetting, includes)
- props.chartConfig.option = option.value
},
{
immediate: true
diff --git a/src/packages/components/Charts/Maps/MapBase/index.vue b/src/packages/components/Charts/Maps/MapBase/index.vue
index 8524684a..f927e64a 100644
--- a/src/packages/components/Charts/Maps/MapBase/index.vue
+++ b/src/packages/components/Charts/Maps/MapBase/index.vue
@@ -64,9 +64,9 @@ registerMap(props.chartConfig.option.mapRegion.adcode, { geoJSON: {} as any, spe
// 进行更换初始化地图 如果为china 单独处理
const registerMapInitAsync = async () => {
await nextTick()
- if (props.chartConfig.option.mapRegion.adcode!="china") {
+ if (props.chartConfig.option.mapRegion.adcode != 'china') {
await getGeojson(props.chartConfig.option.mapRegion.adcode)
- }else{
+ } else {
await hainanLandsHandle(props.chartConfig.option.mapRegion.showHainanIsLands)
}
vEchartsSetOption()
@@ -90,12 +90,12 @@ const dataSetHandle = async (dataset: any) => {
isPreview() && vEchartsSetOption()
}
// 处理海南群岛
-const hainanLandsHandle=async(newData:boolean)=>{
+const hainanLandsHandle = async (newData: boolean) => {
if (newData) {
- await getGeojson('china')
- } else {
- registerMap('china', { geoJSON: mapJsonWithoutHainanIsLands as any, specialAreas: {} })
- }
+ await getGeojson('china')
+ } else {
+ registerMap('china', { geoJSON: mapJsonWithoutHainanIsLands as any, specialAreas: {} })
+ }
}
//监听 dataset 数据发生变化
watch(
@@ -113,8 +113,12 @@ watch(
watch(
() => props.chartConfig.option.mapRegion.showHainanIsLands,
async newData => {
- await hainanLandsHandle(newData)
- vEchartsSetOption()
+ try {
+ await hainanLandsHandle(newData)
+ vEchartsSetOption()
+ } catch (error) {
+ console.log(error)
+ }
},
{
deep: false
@@ -125,12 +129,16 @@ watch(
watch(
() => props.chartConfig.option.mapRegion.adcode,
async newData => {
- await getGeojson(newData)
- props.chartConfig.option.geo.map = newData
- props.chartConfig.option.series.forEach((item: any) => {
- if (item.type === 'map') item.map = newData
- })
- vEchartsSetOption()
+ try {
+ await getGeojson(newData)
+ props.chartConfig.option.geo.map = newData
+ props.chartConfig.option.series.forEach((item: any) => {
+ if (item.type === 'map') item.map = newData
+ })
+ vEchartsSetOption()
+ } catch (error) {
+ console.log(error)
+ }
},
{
deep: false
diff --git a/src/packages/components/Charts/Mores/Heatmap/index.vue b/src/packages/components/Charts/Mores/Heatmap/index.vue
index f306453b..45cb810c 100644
--- a/src/packages/components/Charts/Mores/Heatmap/index.vue
+++ b/src/packages/components/Charts/Mores/Heatmap/index.vue
@@ -75,7 +75,11 @@ const dataSetHandle = (dataset: typeof dataJson) => {
watch(
() => props.chartConfig.option.dataset,
newData => {
- dataSetHandle(newData)
+ try {
+ dataSetHandle(newData)
+ } catch (error) {
+ console.log(error)
+ }
},
{
deep: false
diff --git a/src/packages/components/Charts/Mores/Process/index.vue b/src/packages/components/Charts/Mores/Process/index.vue
index f23db2d7..5faf79bf 100644
--- a/src/packages/components/Charts/Mores/Process/index.vue
+++ b/src/packages/components/Charts/Mores/Process/index.vue
@@ -57,7 +57,11 @@ const option = shallowReactive({
watch(
() => props.chartConfig.option.dataset,
(newData: any) => {
- option.dataset = toNumber(newData, 2)
+ try {
+ option.dataset = toNumber(newData, 2)
+ } catch (error) {
+ console.log(error)
+ }
},
{
deep: false
diff --git a/src/packages/components/Charts/Mores/Radar/index.vue b/src/packages/components/Charts/Mores/Radar/index.vue
index cc2992e5..2e523267 100644
--- a/src/packages/components/Charts/Mores/Radar/index.vue
+++ b/src/packages/components/Charts/Mores/Radar/index.vue
@@ -57,7 +57,11 @@ const dataSetHandle = (dataset: typeof dataJson) => {
watch(
() => props.chartConfig.option.dataset,
newData => {
- dataSetHandle(newData)
+ try {
+ dataSetHandle(newData)
+ } catch (error) {
+ console.log(error)
+ }
},
{
deep: false
diff --git a/src/packages/components/Charts/Mores/TreeMap/index.vue b/src/packages/components/Charts/Mores/TreeMap/index.vue
index 1e0801ee..7964f174 100644
--- a/src/packages/components/Charts/Mores/TreeMap/index.vue
+++ b/src/packages/components/Charts/Mores/TreeMap/index.vue
@@ -49,8 +49,12 @@ const dataSetHandle = (dataset: typeof dataJson) => {
watch(
() => props.chartConfig.option.dataset,
newData => {
- if(!isArray(newData)) return
- dataSetHandle(newData)
+ try {
+ if (!isArray(newData)) return
+ dataSetHandle(newData)
+ } catch (error) {
+ console.log(error)
+ }
},
{
deep: false
diff --git a/src/packages/components/Charts/Mores/WaterPolo/index.vue b/src/packages/components/Charts/Mores/WaterPolo/index.vue
index 30038f01..f5aa4f74 100644
--- a/src/packages/components/Charts/Mores/WaterPolo/index.vue
+++ b/src/packages/components/Charts/Mores/WaterPolo/index.vue
@@ -42,23 +42,27 @@ const option = reactive({
watch(
() => chartEditStore.getEditCanvasConfig.chartThemeColor,
(newColor: keyof typeof chartColorsSearch) => {
- if (!isPreview()) {
- const themeColor = chartColorsSearch[newColor] || chartColorsSearch[defaultTheme]
- // 背景颜色
- props.chartConfig.option.series[0].backgroundStyle.color = themeColor[2]
- // 水球颜色
- props.chartConfig.option.series[0].color[0].colorStops = [
- {
- offset: 0,
- color: themeColor[0]
- },
- {
- offset: 1,
- color: themeColor[1]
- }
- ]
+ try {
+ if (!isPreview()) {
+ const themeColor = chartColorsSearch[newColor] || chartColorsSearch[defaultTheme]
+ // 背景颜色
+ props.chartConfig.option.series[0].backgroundStyle.color = themeColor[2]
+ // 水球颜色
+ props.chartConfig.option.series[0].color[0].colorStops = [
+ {
+ offset: 0,
+ color: themeColor[0]
+ },
+ {
+ offset: 1,
+ color: themeColor[1]
+ }
+ ]
+ }
+ option.value = props.chartConfig.option
+ } catch (error) {
+ console.log(error)
}
- option.value = props.chartConfig.option
},
{
immediate: true
@@ -75,7 +79,7 @@ const dataHandle = (newData: number | string) => {
watch(
() => props.chartConfig.option.dataset,
newData => {
- if(!isString(newData) && !isNumber(newData)) return
+ if (!isString(newData) && !isNumber(newData)) return
props.chartConfig.option.series[0].data = [dataHandle(newData)]
option.value = props.chartConfig.option
},
diff --git a/src/packages/components/Charts/Pies/PieCircle/index.vue b/src/packages/components/Charts/Pies/PieCircle/index.vue
index 61c50049..60f5c921 100644
--- a/src/packages/components/Charts/Pies/PieCircle/index.vue
+++ b/src/packages/components/Charts/Pies/PieCircle/index.vue
@@ -48,7 +48,13 @@ const dataHandle = (newData: any) => {
// 配置时
watch(
() => props.chartConfig.option.dataset,
- newData => dataHandle(newData),
+ newData => {
+ try {
+ dataHandle(newData)
+ } catch (error) {
+ console.log(error)
+ }
+ },
{
immediate: true,
deep: false
diff --git a/src/packages/components/Charts/Pies/PieCommon/index.vue b/src/packages/components/Charts/Pies/PieCommon/index.vue
index e8f2c68a..eb99da98 100644
--- a/src/packages/components/Charts/Pies/PieCommon/index.vue
+++ b/src/packages/components/Charts/Pies/PieCommon/index.vue
@@ -39,15 +39,19 @@ const option = computed(() => {
watch(
() => props.chartConfig.option.type,
newData => {
- if (newData === 'nomal') {
- props.chartConfig.option.series[0].radius = '70%'
- props.chartConfig.option.series[0].roseType = false
- } else if (newData === 'ring') {
- props.chartConfig.option.series[0].radius = ['40%', '65%']
- props.chartConfig.option.series[0].roseType = false
- } else {
- props.chartConfig.option.series[0].radius = '70%'
- props.chartConfig.option.series[0].roseType = true
+ try {
+ if (newData === 'nomal') {
+ props.chartConfig.option.series[0].radius = '70%'
+ props.chartConfig.option.series[0].roseType = false
+ } else if (newData === 'ring') {
+ props.chartConfig.option.series[0].radius = ['40%', '65%']
+ props.chartConfig.option.series[0].roseType = false
+ } else {
+ props.chartConfig.option.series[0].radius = '70%'
+ props.chartConfig.option.series[0].roseType = true
+ }
+ } catch (error) {
+ console.log(error)
}
},
{ deep: false, immediate: true }
diff --git a/src/packages/components/Charts/Scatters/ScatterCommon/index.vue b/src/packages/components/Charts/Scatters/ScatterCommon/index.vue
index 91eba114..fd69109f 100644
--- a/src/packages/components/Charts/Scatters/ScatterCommon/index.vue
+++ b/src/packages/components/Charts/Scatters/ScatterCommon/index.vue
@@ -69,17 +69,21 @@ const option = computed(() => {
watch(
() => props.chartConfig.option.dataset,
(newData, oldData) => {
- if (!isArray(newData)) return
- if (Array.isArray(newData)) {
- replaceMergeArr.value = ['series']
- // eslint-disable-next-line vue/no-mutating-props
- props.chartConfig.option.series = newData.map((item: { dimensions: any[] }, index: number) => ({
- ...seriesItem,
- datasetIndex: index
- }))
- nextTick(() => {
- replaceMergeArr.value = []
- })
+ try {
+ if (!isArray(newData)) return
+ if (Array.isArray(newData)) {
+ replaceMergeArr.value = ['series']
+ // eslint-disable-next-line vue/no-mutating-props
+ props.chartConfig.option.series = newData.map((item: { dimensions: any[] }, index: number) => ({
+ ...seriesItem,
+ datasetIndex: index
+ }))
+ nextTick(() => {
+ replaceMergeArr.value = []
+ })
+ }
+ } catch (error) {
+ console.log(error)
}
},
{
diff --git a/src/packages/components/Decorates/Mores/CountDown/index.vue b/src/packages/components/Decorates/Mores/CountDown/index.vue
index 263d6187..97f8e15a 100644
--- a/src/packages/components/Decorates/Mores/CountDown/index.vue
+++ b/src/packages/components/Decorates/Mores/CountDown/index.vue
@@ -133,10 +133,14 @@ const renderCountdown: CountdownProps['render'] = ({ hours, minutes, seconds })
}
const updateTotalDuration = () => {
- countdownActive.value = false
- totalDuration.value = useEndDate.value ? endDate.value - new Date().getTime() : dataset.value * 1000
- countdownRef.value?.reset && countdownRef.value?.reset()
- countdownActive.value = true
+ try {
+ countdownActive.value = false
+ totalDuration.value = useEndDate.value ? endDate.value - new Date().getTime() : dataset.value * 1000
+ countdownRef.value?.reset && countdownRef.value?.reset()
+ countdownActive.value = true
+ } catch (error) {
+ console.log(error)
+ }
}
watch(
diff --git a/src/packages/components/Decorates/Mores/FlipperNumber/index.vue b/src/packages/components/Decorates/Mores/FlipperNumber/index.vue
index c9e8d666..d6c3275d 100644
--- a/src/packages/components/Decorates/Mores/FlipperNumber/index.vue
+++ b/src/packages/components/Decorates/Mores/FlipperNumber/index.vue
@@ -60,7 +60,11 @@ const updateDatasetHandler = (newVal: string | number) => {
watch(
() => props.chartConfig.option,
newVal => {
- updateDatasetHandler((newVal as OptionType).dataset)
+ try {
+ updateDatasetHandler((newVal as OptionType).dataset)
+ } catch (error) {
+ console.log(error)
+ }
},
{
immediate: true,
diff --git a/src/packages/components/Decorates/Mores/TimeCommon/index.vue b/src/packages/components/Decorates/Mores/TimeCommon/index.vue
index 53317e7e..a8e41763 100644
--- a/src/packages/components/Decorates/Mores/TimeCommon/index.vue
+++ b/src/packages/components/Decorates/Mores/TimeCommon/index.vue
@@ -11,23 +11,23 @@
diff --git a/src/packages/components/Informations/Mores/WordCloud/index.vue b/src/packages/components/Informations/Mores/WordCloud/index.vue
index beab5ebc..4c9626e3 100644
--- a/src/packages/components/Informations/Mores/WordCloud/index.vue
+++ b/src/packages/components/Informations/Mores/WordCloud/index.vue
@@ -47,9 +47,12 @@ const option = computed(() => {
})
const dataSetHandle = (dataset: typeof dataJson) => {
- dataset && (props.chartConfig.option.series[0].data = dataset)
-
- vChartRef.value && isPreview() && vChartRef.value.setOption(props.chartConfig.option)
+ try {
+ dataset && (props.chartConfig.option.series[0].data = dataset)
+ vChartRef.value && isPreview() && vChartRef.value.setOption(props.chartConfig.option)
+ } catch (error) {
+ console.log(error)
+ }
}
// dataset 无法变更条数的补丁
diff --git a/src/packages/components/Tables/Tables/TableList/index.vue b/src/packages/components/Tables/Tables/TableList/index.vue
index f24001ed..5fd3e02d 100644
--- a/src/packages/components/Tables/Tables/TableList/index.vue
+++ b/src/packages/components/Tables/Tables/TableList/index.vue
@@ -10,19 +10,12 @@
No.{{ item.ranking }}
- {{
- status.mergedConfig.valueFormatter
- ? status.mergedConfig.valueFormatter(item)
- : item.value
- }}
+ {{ status.mergedConfig.valueFormatter ? status.mergedConfig.valueFormatter(item) : item.value }}
{{ unit }}
-
@@ -39,8 +32,8 @@ import { useChartEditStore } from '@/store/modules/chartEditStore/chartEditStore
const props = defineProps({
chartConfig: {
type: Object as PropType
,
- required: true,
- },
+ required: true
+ }
})
const { w, h } = toRefs(props.chartConfig.attr)
const { rowNum, unit, color, textColor, borderColor, indexFontSize, leftFontSize, rightFontSize } = toRefs(
@@ -50,13 +43,15 @@ const { rowNum, unit, color, textColor, borderColor, indexFontSize, leftFontSize
const status = reactive({
mergedConfig: props.chartConfig.option,
rowsData: [],
- rows: [{
- scroll: 0,
- ranking: 1,
- name: '',
- value: '',
- percent: 0
- }],
+ rows: [
+ {
+ scroll: 0,
+ ranking: 1,
+ name: '',
+ value: '',
+ percent: 0
+ }
+ ],
heights: [0],
animationIndex: 0,
animationHandler: 0,
@@ -81,16 +76,16 @@ const calcRowsData = () => {
// abs of max
const maxAbs = Math.abs(max)
const total = max + minAbs
- dataset = dataset.map((row: any, i:number) => ({
+ dataset = dataset.map((row: any, i: number) => ({
...row,
ranking: i + 1,
- percent: ((row.value + minAbs) / total) * 100,
+ percent: ((row.value + minAbs) / total) * 100
}))
const rowLength = dataset.length
if (rowLength > rowNum && rowLength < 2 * rowNum) {
dataset = [...dataset, ...dataset]
}
- dataset = dataset.map((d:any, i:number) => ({ ...d, scroll: i }))
+ dataset = dataset.map((d: any, i: number) => ({ ...d, scroll: i }))
status.rowsData = dataset
status.rows = dataset
}
@@ -134,11 +129,15 @@ const stopAnimation = () => {
}
const onRestart = async () => {
- if (!status.mergedConfig) return
- stopAnimation()
- calcRowsData()
- calcHeights(true)
- animation(true)
+ try {
+ if (!status.mergedConfig) return
+ stopAnimation()
+ calcRowsData()
+ calcHeights(true)
+ animation(true)
+ } catch (error) {
+ console.log(error)
+ }
}
onRestart()
diff --git a/src/packages/components/Tables/Tables/TableScrollBoard/index.vue b/src/packages/components/Tables/Tables/TableScrollBoard/index.vue
index 3ea2a228..669be3ed 100644
--- a/src/packages/components/Tables/Tables/TableScrollBoard/index.vue
+++ b/src/packages/components/Tables/Tables/TableScrollBoard/index.vue
@@ -1,24 +1,47 @@
-