From cfa7f59b0b32dfeb5d39bb99a9af28eae72da2bc 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: Sat, 17 Sep 2022 12:12:22 +0800
Subject: [PATCH] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9E=E7=83=AD=E5=8A=9B?=
=?UTF-8?q?=E5=9B=BEmock=EF=BC=8C=E8=A7=A3=E5=86=B3=E7=83=AD=E5=8A=9B?=
=?UTF-8?q?=E5=9B=BE=E6=97=A0=E6=B3=95=E5=93=8D=E5=BA=94=E5=BC=8F=E6=9B=B4?=
=?UTF-8?q?=E6=96=B0=E7=9A=84=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/mock/heatMapData.json | 199 ++++++++++++++++++
src/api/mock/index.ts | 6 +
src/api/mock/test.mock.ts | 9 +
.../components/Charts/Mores/Heatmap/index.vue | 56 ++++-
.../components/Charts/Mores/Radar/index.vue | 5 +-
.../components/RequestTargetConfig/index.vue | 6 +-
6 files changed, 273 insertions(+), 8 deletions(-)
create mode 100644 src/api/mock/heatMapData.json
diff --git a/src/api/mock/heatMapData.json b/src/api/mock/heatMapData.json
new file mode 100644
index 00000000..47248f82
--- /dev/null
+++ b/src/api/mock/heatMapData.json
@@ -0,0 +1,199 @@
+{
+ "xAxis": [
+ "12a",
+ "1a",
+ "2a",
+ "3a",
+ "4a",
+ "5a",
+ "6a",
+ "7a",
+ "8a",
+ "9a",
+ "10a",
+ "11a",
+ "12p",
+ "1p",
+ "2p",
+ "3p",
+ "4p",
+ "5p",
+ "6p",
+ "7p",
+ "8p",
+ "9p",
+ "10p",
+ "11p"
+ ],
+ "yAxis": ["Saturday", "Friday", "Thursday", "Wednesday", "Tuesday", "Monday", "Sunday"],
+ "seriesData": [
+ [0, 0, "@integer(0, 10)"],
+ [1, 0, "@integer(0, 10)"],
+ [2, 0, "-"],
+ [3, 0, "-"],
+ [4, 0, "-"],
+ [5, 0, "-"],
+ [6, 0, "-"],
+ [7, 0, "-"],
+ [8, 0, "-"],
+ [9, 0, "-"],
+ [10, 0, "-"],
+ [11, 0, "@integer(0, 10)"],
+ [12, 0, "@integer(0, 10)"],
+ [13, 0, "@integer(0, 10)"],
+ [14, 0, "@integer(0, 10)"],
+ [15, 0, "@integer(0, 10)"],
+ [16, 0, "@integer(0, 10)"],
+ [17, 0, "@integer(0, 10)"],
+ [18, 0, "@integer(0, 10)"],
+ [19, 0, "@integer(0, 10)"],
+ [20, 0, "@integer(0, 10)"],
+ [21, 0, "@integer(0, 10)"],
+ [22, 0, "@integer(0, 10)"],
+ [23, 0, "@integer(0, 10)"],
+ [0, 1, 7],
+ [1, 1, "-"],
+ [2, 1, "-"],
+ [3, 1, "-"],
+ [4, 1, "-"],
+ [5, 1, "-"],
+ [6, 1, "-"],
+ [7, 1, "-"],
+ [8, 1, "-"],
+ [9, 1, "-"],
+ [10, 1, "@integer(0, 10)"],
+ [11, 1, "@integer(0, 10)"],
+ [12, 1, "@integer(0, 10)"],
+ [13, 1, "@integer(0, 10)"],
+ [14, 1, "@integer(0, 10)"],
+ [15, 1, "@integer(0, 10)"],
+ [16, 1, "@integer(0, 10)"],
+ [17, 1, "@integer(0, 10)"],
+ [18, 1, "@integer(0, 10)"],
+ [19, 1, "@integer(0, 10)"],
+ [20, 1, "@integer(0, 10)"],
+ [21, 1, "@integer(0, 10)"],
+ [22, 1, "@integer(0, 10)"],
+ [23, 1, "@integer(0, 10)"],
+ [0, 2, 1],
+ [1, 2, 1],
+ [2, 2, "-"],
+ [3, 2, "-"],
+ [4, 2, "-"],
+ [5, 2, "-"],
+ [6, 2, "-"],
+ [7, 2, "-"],
+ [8, 2, "-"],
+ [9, 2, "-"],
+ [10, 2, "@integer(0, 10)"],
+ [11, 2, "@integer(0, 10)"],
+ [12, 2, "@integer(0, 10)"],
+ [13, 2, "@integer(0, 10)"],
+ [14, 2, "@integer(0, 10)"],
+ [15, 2, "@integer(0, 10)"],
+ [16, 2, "@integer(0, 10)"],
+ [17, 2, "@integer(0, 10)"],
+ [18, 2, "@integer(0, 10)"],
+ [19, 2, "@integer(0, 10)"],
+ [20, 2, "@integer(0, 10)"],
+ [21, 2, "@integer(0, 10)"],
+ [22, 2, "@integer(0, 10)"],
+ [23, 2, "@integer(0, 10)"],
+ [0, 3, 7],
+ [1, 3, 3],
+ [2, 3, "-"],
+ [3, 3, "-"],
+ [4, 3, "-"],
+ [5, 3, "-"],
+ [6, 3, "-"],
+ [7, 3, "-"],
+ [8, 3, 1],
+ [9, 3, "-"],
+ [10, 3, "@integer(0, 10)"],
+ [11, 3, "@integer(0, 10)"],
+ [12, 3, "@integer(0, 10)"],
+ [13, 3, "@integer(0, 10)"],
+ [14, 3, "@integer(0, 10)"],
+ [15, 3, "@integer(0, 10)"],
+ [16, 3, "@integer(0, 10)"],
+ [17, 3, "@integer(0, 10)"],
+ [18, 3, "@integer(0, 10)"],
+ [19, 3, "@integer(0, 10)"],
+ [20, 3, "@integer(0, 10)"],
+ [21, 3, "@integer(0, 10)"],
+ [22, 3, "@integer(0, 10)"],
+ [23, 3, "@integer(0, 10)"],
+ [0, 4, "@integer(0, 10)"],
+ [1, 4, "@integer(0, 10)"],
+ [2, 4, "-"],
+ [3, 4, "-"],
+ [4, 4, "-"],
+ [5, 4, "@integer(0, 10)"],
+ [6, 4, "-"],
+ [7, 4, "-"],
+ [8, 4, "-"],
+ [9, 4, "@integer(0, 10)"],
+ [10, 4, "@integer(0, 10)"],
+ [11, 4, "@integer(0, 10)"],
+ [12, 4, "@integer(0, 10)"],
+ [13, 4, "@integer(0, 10)"],
+ [14, 4, "@integer(0, 10)"],
+ [15, 4, "@integer(0, 10)"],
+ [16, 4, "@integer(0, 10)"],
+ [17, 4, "@integer(0, 10)"],
+ [18, 4, "@integer(0, 10)"],
+ [19, 4, "@integer(0, 10)"],
+ [20, 4, "@integer(0, 10)"],
+ [21, 4, "@integer(0, 10)"],
+ [22, 4, "@integer(0, 10)"],
+ [23, 4, "-"],
+ [0, 5, "@integer(0, 10)"],
+ [1, 5, "@integer(0, 10)"],
+ [2, 5, "-"],
+ [3, 5, "@integer(0, 10)"],
+ [4, 5, "-"],
+ [5, 5, "-"],
+ [6, 5, "-"],
+ [7, 5, "-"],
+ [8, 5, "@integer(0, 10)"],
+ [9, 5, "-"],
+ [10, 5, "@integer(0, 10)"],
+ [11, 5, "@integer(0, 10)"],
+ [12, 5, "@integer(0, 10)"],
+ [13, 5, "@integer(0, 10)"],
+ [14, 5, "@integer(0, 10)"],
+ [15, 5, "@integer(0, 10)"],
+ [16, 5, "@integer(0, 10)"],
+ [17, 5, "@integer(0, 10)"],
+ [18, 5, "-"],
+ [19, 5, "@integer(0, 10)"],
+ [20, 5, "@integer(0, 10)"],
+ [21, 5, "@integer(0, 10)"],
+ [22, 5, "@integer(0, 10)"],
+ [23, 5, "-"],
+ [0, 6, "@integer(0, 10)"],
+ [1, 6, "-"],
+ [2, 6, "-"],
+ [3, 6, "-"],
+ [4, 6, "-"],
+ [5, 6, "-"],
+ [6, 6, "-"],
+ [7, 6, "-"],
+ [8, 6, "-"],
+ [9, 6, "-"],
+ [10, 6, "@integer(0, 10)"],
+ [11, 6, "-"],
+ [12, 6, "@integer(0, 10)"],
+ [13, 6, "@integer(0, 10)"],
+ [14, 6, "@integer(0, 10)"],
+ [15, 6, "@integer(0, 10)"],
+ [16, 6, "-"],
+ [17, 6, "-"],
+ [18, 6, "-"],
+ [19, 6, "-"],
+ [20, 6, "@integer(0, 10)"],
+ [21, 6, "@integer(0, 10)"],
+ [22, 6, "@integer(0, 10)"],
+ [23, 6, "@integer(0, 10)"]
+ ]
+}
diff --git a/src/api/mock/index.ts b/src/api/mock/index.ts
index 7e2dbc02..c060f8b5 100644
--- a/src/api/mock/index.ts
+++ b/src/api/mock/index.ts
@@ -12,6 +12,7 @@ export const imageUrl = '/mock/image'
export const rankListUrl = '/mock/rankList'
export const scrollBoardUrl = '/mock/scrollBoard'
export const radarUrl = '/mock/radarData'
+export const heatMapUrl = '/mock/heatMapData'
const mockObject: MockMethod[] = [
{
@@ -61,6 +62,11 @@ const mockObject: MockMethod[] = [
method: RequestHttpEnum.GET,
response: () => test.fetchRadar
},
+ {
+ url: heatMapUrl,
+ method: RequestHttpEnum.GET,
+ response: () => test.fetchHeatmap
+ }
]
export default mockObject
diff --git a/src/api/mock/test.mock.ts b/src/api/mock/test.mock.ts
index c907f490..ba56f37a 100644
--- a/src/api/mock/test.mock.ts
+++ b/src/api/mock/test.mock.ts
@@ -1,3 +1,5 @@
+import heatmapJson from './heatMapData.json'
+
export default {
// 单图表
fetchMockSingleData: {
@@ -181,5 +183,12 @@ export default {
}
]
}
+ },
+ // 热力图
+ fetchHeatmap: {
+ code: 0,
+ status: 200,
+ msg: '请求成功',
+ data: heatmapJson
}
}
diff --git a/src/packages/components/Charts/Mores/Heatmap/index.vue b/src/packages/components/Charts/Mores/Heatmap/index.vue
index e45f12bc..f306453b 100644
--- a/src/packages/components/Charts/Mores/Heatmap/index.vue
+++ b/src/packages/components/Charts/Mores/Heatmap/index.vue
@@ -3,8 +3,9 @@
\ No newline at end of file
+const dataSetHandle = (dataset: typeof dataJson) => {
+ const { seriesData, xAxis, yAxis } = dataset
+ if (xAxis) {
+ // @ts-ignore
+ props.chartConfig.option.xAxis.data = xAxis
+ }
+ if (yAxis) {
+ // @ts-ignore
+ props.chartConfig.option.yAxis.data = yAxis
+ }
+ if (seriesData) {
+ props.chartConfig.option.series[0].data = seriesData
+ }
+ if (vChartRef.value && isPreview()) {
+ vChartRef.value.setOption(props.chartConfig.option)
+ }
+}
+
+watch(
+ () => props.chartConfig.option.dataset,
+ newData => {
+ dataSetHandle(newData)
+ },
+ {
+ deep: false
+ }
+)
+
+useChartDataFetch(props.chartConfig, useChartEditStore, (newData: typeof dataJson) => {
+ dataSetHandle(newData)
+})
+
diff --git a/src/packages/components/Charts/Mores/Radar/index.vue b/src/packages/components/Charts/Mores/Radar/index.vue
index 5886ec1c..cc2992e5 100644
--- a/src/packages/components/Charts/Mores/Radar/index.vue
+++ b/src/packages/components/Charts/Mores/Radar/index.vue
@@ -5,6 +5,7 @@
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 8d71f6f7..40703c18 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
@@ -71,7 +71,8 @@ import {
numberIntUrl,
textUrl,
imageUrl,
- radarUrl
+ radarUrl,
+ heatMapUrl
} from '@/api/mock'
const { HelpOutlineIcon } = icon.ionicons5
@@ -106,6 +107,9 @@ const apiList = [
},
{
value: `【雷达】${radarUrl}`
+ },
+ {
+ value: `【热力图】${heatMapUrl}`
}
]