diff --git a/src/enums/httpEnum.ts b/src/enums/httpEnum.ts
index b8ead3f5..165948f5 100644
--- a/src/enums/httpEnum.ts
+++ b/src/enums/httpEnum.ts
@@ -10,6 +10,14 @@ export enum ResultEnum {
TIMEOUT = 10042,
}
+// 数据相关
+export enum RequestDataTypeEnum {
+ // 静态数据
+ STATIC = 0,
+ // 请求数据
+ AJAX = 1,
+}
+
/**
* @description: 请求方法
*/
diff --git a/src/hooks/useChartDataFetch.hook.ts b/src/hooks/useChartDataFetch.hook.ts
new file mode 100644
index 00000000..4d4b1db4
--- /dev/null
+++ b/src/hooks/useChartDataFetch.hook.ts
@@ -0,0 +1,39 @@
+import { toRefs, watchEffect } from 'vue'
+import { http } from '@/api/http'
+import { CreateComponentType } from '@/packages/index.d'
+import { useChartEditStore } from '@/store/modules/chartEditStore/chartEditStore'
+import { RequestDataTypeEnum } from '@/enums/httpEnum'
+
+/**
+ * 数据监听与更改
+ * @param chartConfig
+ */
+export const useChartDataFetch = (chartConfig: CreateComponentType) => {
+ let fetchInterval = 0
+
+ watchEffect(() => {
+ clearInterval(fetchInterval)
+
+ const chartEditStore = useChartEditStore()
+ const { requestOriginUrl, requestInterval } = toRefs(
+ chartEditStore.getRequestGlobalConfig
+ )
+ const { requestDataType, requestHttpType, requestUrl } = toRefs(
+ chartConfig.data
+ )
+ if (requestDataType.value !== RequestDataTypeEnum.AJAX) return
+ // 处理地址
+ if (requestUrl?.value && requestInterval.value > 0) {
+ // requestOriginUrl 允许为空
+ const completePath = requestOriginUrl && requestOriginUrl.value + requestUrl.value
+ if (!completePath) return
+
+ fetchInterval = setInterval(async () => {
+ const res = await http(requestHttpType.value)(completePath || '', {})
+ if(res.data) {
+ chartConfig.option.dataset = res.data as any
+ }
+ }, requestInterval.value * 1000)
+ }
+ })
+}
diff --git a/src/packages/components/Charts/Bars/BarCommon/config.ts b/src/packages/components/Charts/Bars/BarCommon/config.ts
index ac6272dd..187ff852 100644
--- a/src/packages/components/Charts/Bars/BarCommon/config.ts
+++ b/src/packages/components/Charts/Bars/BarCommon/config.ts
@@ -47,8 +47,7 @@ export const option = {
]
}
-export default class Config extends publicConfig
- implements CreateComponentType {
+export default class Config extends publicConfig implements CreateComponentType {
public key = BarCommonConfig.key
public chartConfig = cloneDeep(BarCommonConfig)
// 图表配置项
diff --git a/src/packages/components/Charts/Bars/BarCommon/index.vue b/src/packages/components/Charts/Bars/BarCommon/index.vue
index b3a61dc3..8f2491f0 100644
--- a/src/packages/components/Charts/Bars/BarCommon/index.vue
+++ b/src/packages/components/Charts/Bars/BarCommon/index.vue
@@ -1,5 +1,5 @@
-
+
diff --git a/src/packages/components/Charts/Bars/BarCrossrange/index.vue b/src/packages/components/Charts/Bars/BarCrossrange/index.vue
index 7fd87b19..dc27f366 100644
--- a/src/packages/components/Charts/Bars/BarCrossrange/index.vue
+++ b/src/packages/components/Charts/Bars/BarCrossrange/index.vue
@@ -1,5 +1,5 @@
-
+
diff --git a/src/packages/components/Charts/Lines/LineCommon/index.vue b/src/packages/components/Charts/Lines/LineCommon/index.vue
index 98f97c1e..8915dd7d 100644
--- a/src/packages/components/Charts/Lines/LineCommon/index.vue
+++ b/src/packages/components/Charts/Lines/LineCommon/index.vue
@@ -1,5 +1,5 @@
-
+