From 3bfdfea0160e353bebf698feabb480889df5b577 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, 20 Jul 2022 18:14:11 +0800
Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E8=AF=B7=E6=B1=82?=
 =?UTF-8?q?=E9=97=B4=E9=9A=94=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 src/hooks/useChartDataFetch.hook.ts           | 29 +++++++++----------
 .../components/ChartDataAjax/index.vue        |  4 +--
 2 files changed, 16 insertions(+), 17 deletions(-)

diff --git a/src/hooks/useChartDataFetch.hook.ts b/src/hooks/useChartDataFetch.hook.ts
index 202c40a0..88330258 100644
--- a/src/hooks/useChartDataFetch.hook.ts
+++ b/src/hooks/useChartDataFetch.hook.ts
@@ -25,7 +25,11 @@ export const useChartDataFetch = (
 
   const requestIntervalFn = () => {
     const chartEditStore = useChartEditStore()
-    const { requestOriginUrl, requestInterval, requestIntervalUnit } = toRefs(chartEditStore.getRequestGlobalConfig)
+    const {
+      requestOriginUrl,
+      requestIntervalUnit: globalUnit,
+      requestInterval: globalRequestInterval
+    } = toRefs(chartEditStore.getRequestGlobalConfig)
     // 组件类型
     const { chartFrame } = targetComponent.chartConfig
     // 请求配置
@@ -33,23 +37,17 @@ export const useChartDataFetch = (
       requestDataType,
       requestHttpType,
       requestUrl,
+      requestIntervalUnit: targetUnit,
       requestInterval: targetInterval
     } = toRefs(targetComponent.request)
 
     // 非请求类型
-    if (
-      requestDataType.value !== RequestDataTypeEnum.AJAX ||
-      !requestInterval ||
-      !requestInterval.value ||
-      !targetInterval ||
-      !targetInterval.value
-    )
-      return
+    if (requestDataType.value !== RequestDataTypeEnum.AJAX) return
 
     try {
       // 处理地址
       // @ts-ignore
-      if (requestUrl?.value && requestInterval && requestInterval.value > 0) {
+      if (requestUrl?.value) {
         // requestOriginUrl 允许为空
         const completePath = requestOriginUrl && requestOriginUrl.value + requestUrl.value
         if (!completePath) return
@@ -81,11 +79,12 @@ export const useChartDataFetch = (
         // 立即调用
         fetchFn()
 
-        // 开启定时
-        const time = targetInterval && targetInterval.value ? targetInterval.value : requestInterval.value
-
-        // 处理单位时间
-        fetchInterval = setInterval(fetchFn, intervalUnitHandle(time, requestIntervalUnit.value))
+        // 定时时间
+        const time = targetInterval && targetInterval.value ? targetInterval.value : globalRequestInterval.value
+        // 单位
+        const unit = targetInterval && targetInterval.value ? targetUnit.value : globalUnit.value
+        // 开启轮询
+        if (time) fetchInterval = setInterval(fetchFn, intervalUnitHandle(time, unit))
       }
     } catch (error) {}
   }
diff --git a/src/views/chart/ContentConfigurations/components/ChartData/components/ChartDataAjax/index.vue b/src/views/chart/ContentConfigurations/components/ChartData/components/ChartDataAjax/index.vue
index c265cf81..af54e3e4 100644
--- a/src/views/chart/ContentConfigurations/components/ChartData/components/ChartDataAjax/index.vue
+++ b/src/views/chart/ContentConfigurations/components/ChartData/components/ChartDataAjax/index.vue
@@ -13,13 +13,13 @@
         </setting-item>
 
         <setting-item name="组件间隔(高级)">
-          <n-input size="small" :placeholder="`${requestInterval}` || '暂无'" :disabled="true">
+          <n-input size="small" :placeholder="`${requestInterval || '暂无'}`" :disabled="true">
             <template #suffix> {{ SelectHttpTimeNameObj[requestIntervalUnit] }} </template>
           </n-input>
         </setting-item>
 
         <setting-item name="全局间隔(默认)">
-          <n-input size="small" :placeholder="`${GlobalRequestInterval}` || '暂无'" :disabled="true">
+          <n-input size="small" :placeholder="`${GlobalRequestInterval || '暂无'} `" :disabled="true">
             <template #suffix> {{ SelectHttpTimeNameObj[GlobalRequestIntervalUnit] }} </template>
           </n-input>
         </setting-item>