From c0e38e64dbab61a37c05a452ea6408183419ddc9 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: Mon, 26 Sep 2022 21:18:01 +0800
Subject: [PATCH] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9E=E5=9F=BA=E7=A1=80?=
=?UTF-8?q?=E6=A0=91=E5=9B=BE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/mock/index.ts | 8 ++-
src/api/mock/test.mock.ts | 10 ++-
src/api/mock/treemap.json | 50 +++++++++++++++
.../Charts/Mores/Heatmap/config.vue | 9 +--
.../components/Charts/Mores/TreeMap/config.ts | 27 ++++++++
.../Charts/Mores/TreeMap/config.vue | 11 ++++
.../components/Charts/Mores/TreeMap/data.json | 50 +++++++++++++++
.../components/Charts/Mores/TreeMap/index.ts | 3 +-
.../components/Charts/Mores/TreeMap/index.vue | 63 ++++++++++++++++---
.../components/RequestTargetConfig/index.vue | 6 +-
10 files changed, 220 insertions(+), 17 deletions(-)
create mode 100644 src/api/mock/treemap.json
create mode 100644 src/packages/components/Charts/Mores/TreeMap/config.ts
create mode 100644 src/packages/components/Charts/Mores/TreeMap/data.json
diff --git a/src/api/mock/index.ts b/src/api/mock/index.ts
index f49791aa..2e56cb1d 100644
--- a/src/api/mock/index.ts
+++ b/src/api/mock/index.ts
@@ -16,6 +16,7 @@ export const heatMapUrl = '/mock/heatMapData'
export const scatterBasicUrl = '/mock/scatterBasic'
export const mapUrl = '/mock/map'
export const wordCloudUrl = '/mock/wordCloud'
+export const treemapUrl = '/mock/treemap'
const mockObject: MockMethod[] = [
{
@@ -84,7 +85,12 @@ const mockObject: MockMethod[] = [
url: wordCloudUrl,
method: RequestHttpEnum.GET,
response: () => test.fetchWordCloud
- }
+ },
+ {
+ url: treemapUrl,
+ method: RequestHttpEnum.GET,
+ response: () => test.fetchTreemap
+ },
]
export default mockObject
diff --git a/src/api/mock/test.mock.ts b/src/api/mock/test.mock.ts
index d6587f90..d2921f0a 100644
--- a/src/api/mock/test.mock.ts
+++ b/src/api/mock/test.mock.ts
@@ -1,6 +1,7 @@
import heatmapJson from './heatMapData.json'
import scatterJson from './scatter.json'
import mapJson from './map.json'
+import tTreemapJson from './treemap.json'
export default {
// 单图表
@@ -245,5 +246,12 @@ export default {
{ name: '@name', value: '@integer(10, 8000)' },
{ name: '@name', value: '@integer(10, 8000)' }
]
- }
+ },
+ // 树图
+ fetchTreemap: {
+ code: 0,
+ status: 200,
+ msg: '请求成功',
+ data: tTreemapJson
+ },
}
diff --git a/src/api/mock/treemap.json b/src/api/mock/treemap.json
new file mode 100644
index 00000000..1f5d7e32
--- /dev/null
+++ b/src/api/mock/treemap.json
@@ -0,0 +1,50 @@
+[
+ {
+ "name": "@name",
+ "value": "@integer(0, 1000)",
+ "children": [
+ {
+ "name": "@name",
+ "value": "@integer(0, 500)"
+ },
+ {
+ "name": "@name",
+ "value": "@integer(0, 500)"
+ }
+ ]
+ },
+ {
+ "name": "@name",
+ "value": "@integer(0, 1000)",
+ "children": [
+ {
+ "name": "@name",
+ "value": "@integer(0, 00)"
+ },
+ {
+ "name": "@name",
+ "value": "@integer(0, 500)"
+ }
+ ]
+ },
+ {
+ "name": "@name",
+ "value": "@integer(0, 1000)",
+ "children": [
+ {
+ "name": "@name",
+ "value": "@integer(0, 1000)"
+ }
+ ]
+ },
+ {
+ "name": "@name",
+ "value": "@integer(0, 1000)",
+ "children": [
+ {
+ "name": "@name",
+ "value": "@integer(0, 1000)"
+ }
+ ]
+ }
+]
diff --git a/src/packages/components/Charts/Mores/Heatmap/config.vue b/src/packages/components/Charts/Mores/Heatmap/config.vue
index 8f51f12e..88118c5e 100644
--- a/src/packages/components/Charts/Mores/Heatmap/config.vue
+++ b/src/packages/components/Charts/Mores/Heatmap/config.vue
@@ -1,11 +1,9 @@
-
-
-
+
diff --git a/src/packages/components/Charts/Mores/TreeMap/config.ts b/src/packages/components/Charts/Mores/TreeMap/config.ts
new file mode 100644
index 00000000..8bf6a713
--- /dev/null
+++ b/src/packages/components/Charts/Mores/TreeMap/config.ts
@@ -0,0 +1,27 @@
+import { echartOptionProfixHandle, PublicConfigClass } from '@/packages/public'
+import { TreeMapConfig } from './index'
+import { CreateComponentType } from '@/packages/index.d'
+import cloneDeep from 'lodash/cloneDeep'
+import dataJson from './data.json'
+
+export const includes = []
+
+export const option = {
+ dataset: dataJson,
+ series: [
+ {
+ name: 'treemap',
+ type: 'treemap',
+ leafDepth: 1,
+ roam: false,
+ data: dataJson
+ }
+ ]
+}
+
+export default class Config extends PublicConfigClass implements CreateComponentType {
+ public key = TreeMapConfig.key
+ public chartConfig = cloneDeep(TreeMapConfig)
+ // 图表配置项
+ public option = echartOptionProfixHandle(option, includes)
+}
diff --git a/src/packages/components/Charts/Mores/TreeMap/config.vue b/src/packages/components/Charts/Mores/TreeMap/config.vue
index 44a7bc22..c0fa2768 100644
--- a/src/packages/components/Charts/Mores/TreeMap/config.vue
+++ b/src/packages/components/Charts/Mores/TreeMap/config.vue
@@ -1,6 +1,17 @@
+
diff --git a/src/packages/components/Charts/Mores/TreeMap/data.json b/src/packages/components/Charts/Mores/TreeMap/data.json
new file mode 100644
index 00000000..8c41663c
--- /dev/null
+++ b/src/packages/components/Charts/Mores/TreeMap/data.json
@@ -0,0 +1,50 @@
+[
+ {
+ "name": "nodeA",
+ "value": 10,
+ "children": [
+ {
+ "name": "nodeAa",
+ "value": 4
+ },
+ {
+ "name": "nodeAb",
+ "value": 6
+ }
+ ]
+ },
+ {
+ "name": "nodeA",
+ "value": 10,
+ "children": [
+ {
+ "name": "nodeAa",
+ "value": 4
+ },
+ {
+ "name": "nodeAb",
+ "value": 6
+ }
+ ]
+ },
+ {
+ "name": "nodeB",
+ "value": 20,
+ "children": [
+ {
+ "name": "nodeba",
+ "value": 20
+ }
+ ]
+ },
+ {
+ "name": "nodeC",
+ "value": 20,
+ "children": [
+ {
+ "name": "nodeca",
+ "value": 20
+ }
+ ]
+ }
+]
diff --git a/src/packages/components/Charts/Mores/TreeMap/index.ts b/src/packages/components/Charts/Mores/TreeMap/index.ts
index 693e6145..5ccc28c5 100644
--- a/src/packages/components/Charts/Mores/TreeMap/index.ts
+++ b/src/packages/components/Charts/Mores/TreeMap/index.ts
@@ -1,5 +1,5 @@
import image from '@/assets/images/chart/charts/tree_map.png'
-import { ConfigType, PackagesCategoryEnum } from '@/packages/index.d'
+import { ConfigType, PackagesCategoryEnum, ChartFrameEnum } from '@/packages/index.d'
import { ChatCategoryEnum, ChatCategoryEnumName } from '../../index.d'
export const TreeMapConfig: ConfigType = {
@@ -10,5 +10,6 @@ export const TreeMapConfig: ConfigType = {
category: ChatCategoryEnum.MORE,
categoryName: ChatCategoryEnumName.MORE,
package: PackagesCategoryEnum.CHARTS,
+ chartFrame: ChartFrameEnum.COMMON,
image
}
diff --git a/src/packages/components/Charts/Mores/TreeMap/index.vue b/src/packages/components/Charts/Mores/TreeMap/index.vue
index 31fe77be..de2516ea 100644
--- a/src/packages/components/Charts/Mores/TreeMap/index.vue
+++ b/src/packages/components/Charts/Mores/TreeMap/index.vue
@@ -1,13 +1,62 @@
-
- 水波
-
+
-
-
\ No newline at end of file
diff --git a/src/views/chart/ContentConfigurations/components/ChartData/components/ChartDataRequest/components/RequestTargetConfig/index.vue b/src/views/chart/ContentConfigurations/components/ChartData/components/ChartDataRequest/components/RequestTargetConfig/index.vue
index 5ff6c6ff..4b454a3a 100644
--- a/src/views/chart/ContentConfigurations/components/ChartData/components/ChartDataRequest/components/RequestTargetConfig/index.vue
+++ b/src/views/chart/ContentConfigurations/components/ChartData/components/ChartDataRequest/components/RequestTargetConfig/index.vue
@@ -75,7 +75,8 @@ import {
heatMapUrl,
scatterBasicUrl,
mapUrl,
- wordCloudUrl
+ wordCloudUrl,
+ treemapUrl
} from '@/api/mock'
const { HelpOutlineIcon } = icon.ionicons5
@@ -123,6 +124,9 @@ const apiList = [
{
value: `【词云】${wordCloudUrl}`
},
+ {
+ value: `【树图】${treemapUrl}`
+ },
]