diff --git a/src/api/http.ts b/src/api/http.ts
index 33950baa..0d433a73 100644
--- a/src/api/http.ts
+++ b/src/api/http.ts
@@ -163,7 +163,6 @@ export const customizeHttp = (targetParams: RequestConfigType, globalParams: Req
   params = translateStr(params)
   // form 类型处理
   let formData: FormData = new FormData()
-  formData.set('default', 'defaultData')
   // 类型处理
 
   switch (requestParamsBodyType) {
diff --git a/src/hooks/useChartDataFetch.hook.ts b/src/hooks/useChartDataFetch.hook.ts
index c39cc34e..91271e8d 100644
--- a/src/hooks/useChartDataFetch.hook.ts
+++ b/src/hooks/useChartDataFetch.hook.ts
@@ -90,12 +90,12 @@ export const useChartDataFetch = (
 
         // 普通初始化与组件交互处理监听
         watch(
-          () => targetComponent.request,
+          () => targetComponent.request.requestParams,
           () => {
             fetchFn()
           },
           {
-            immediate: true,
+            immediate: false,
             deep: true
           }
         )
@@ -105,7 +105,11 @@ export const useChartDataFetch = (
         // 单位
         const unit = targetInterval && targetInterval.value ? targetUnit.value : globalUnit.value
         // 开启轮询
-        if (time) fetchInterval = setInterval(fetchFn, intervalUnitHandle(time, unit))
+        if (time) {
+          fetchInterval = setInterval(fetchFn, intervalUnitHandle(time, unit))
+        } else {
+          fetchFn()
+        }
       }
       // eslint-disable-next-line no-empty
     } catch (error) {
@@ -114,10 +118,11 @@ export const useChartDataFetch = (
   }
 
   if (isPreview()) {
-    // 判断是否是数据池类型
     targetComponent.request.requestDataType === RequestDataTypeEnum.Pond
       ? addGlobalDataInterface(targetComponent, useChartEditStore, updateCallback || echartsUpdateHandle)
       : requestIntervalFn()
+  } else {
+    requestIntervalFn()
   }
   return { vChartRef }
 }
diff --git a/src/hooks/useChartDataPondFetch.hook.ts b/src/hooks/useChartDataPondFetch.hook.ts
index 24ac7660..a506f274 100644
--- a/src/hooks/useChartDataPondFetch.hook.ts
+++ b/src/hooks/useChartDataPondFetch.hook.ts
@@ -1,4 +1,4 @@
-import { toRaw } from 'vue'
+import { toRaw, watch, computed, ComputedRef } from 'vue'
 import { customizeHttp } from '@/api/http'
 import { CreateComponentType } from '@/packages/index.d'
 import { useChartEditStore } from '@/store/modules/chartEditStore/chartEditStore'
@@ -20,7 +20,7 @@ const mittDataPondMap = new Map<string, DataPondMapType[]>()
 // 创建单个数据项轮询接口
 const newPondItemInterval = (
   requestGlobalConfig: RequestGlobalConfigType,
-  requestDataPondItem: RequestDataPondItemType,
+  requestDataPondItem: ComputedRef<RequestDataPondItemType>,
   dataPondMapItem?: DataPondMapType[]
 ) => {
   if (!dataPondMapItem) return
@@ -31,8 +31,7 @@ const newPondItemInterval = (
   // 请求
   const fetchFn = async () => {
     try {
-      const res = await customizeHttp(toRaw(requestDataPondItem.dataPondRequestConfig), toRaw(requestGlobalConfig))
-
+      const res = await customizeHttp(toRaw(requestDataPondItem.value.dataPondRequestConfig), toRaw(requestGlobalConfig))
       if (res) {
         try {
           // 遍历更新回调函数
@@ -49,19 +48,32 @@ const newPondItemInterval = (
     }
   }
 
+  watch(
+    () => requestDataPondItem.value.dataPondRequestConfig.requestParams.Params,
+    () => {
+      fetchFn()
+    },
+    {
+      immediate: false,
+      deep: true
+    }
+  )
+
+
   // 立即调用
   fetchFn()
 
-  const targetInterval = requestDataPondItem.dataPondRequestConfig.requestInterval
-  const targetUnit = requestDataPondItem.dataPondRequestConfig.requestIntervalUnit
+
+  const targetInterval = requestDataPondItem.value.dataPondRequestConfig.requestInterval
+  const targetUnit = requestDataPondItem.value.dataPondRequestConfig.requestIntervalUnit
 
   const globalRequestInterval = requestGlobalConfig.requestInterval
   const globalUnit = requestGlobalConfig.requestIntervalUnit
 
   // 定时时间
-  const time = targetInterval  ? targetInterval : globalRequestInterval
+  const time = targetInterval ? targetInterval : globalRequestInterval
   // 单位
-  const unit = targetInterval  ? targetUnit : globalUnit
+  const unit = targetInterval ? targetUnit : globalUnit
   // 开启轮询
   if (time) fetchInterval = setInterval(fetchFn, intervalUnitHandle(time, unit))
 }
@@ -96,13 +108,16 @@ export const useChartDataPondFetch = () => {
   }
 
   // 初始化数据池
-  const initDataPond = (requestGlobalConfig: RequestGlobalConfigType) => {
-    const { requestDataPond } = requestGlobalConfig
+  const initDataPond = (useChartEditStore: ChartEditStoreType) => {
+    const { requestGlobalConfig } = useChartEditStore()
+    const chartEditStore = useChartEditStore()
     // 根据 mapId 查找对应的数据池配置
     for (let pondKey of mittDataPondMap.keys()) {
-      const requestDataPondItem = requestDataPond.find(item => item.dataPondId === pondKey)
+      const requestDataPondItem = computed(() => {
+        return requestGlobalConfig.requestDataPond.find(item => item.dataPondId === pondKey)
+      }) as ComputedRef<RequestDataPondItemType>
       if (requestDataPondItem) {
-        newPondItemInterval(requestGlobalConfig, requestDataPondItem, mittDataPondMap.get(pondKey))
+        newPondItemInterval(chartEditStore.requestGlobalConfig, requestDataPondItem, mittDataPondMap.get(pondKey))
       }
     }
   }
diff --git a/src/hooks/useChartInteract.hook.ts b/src/hooks/useChartInteract.hook.ts
index efa2ae73..aa0b1ed6 100644
--- a/src/hooks/useChartInteract.hook.ts
+++ b/src/hooks/useChartInteract.hook.ts
@@ -1,4 +1,5 @@
 import { toRefs } from 'vue'
+import { isPreview } from '@/utils'
 import { CreateComponentType } from '@/packages/index.d'
 import { useChartEditStore } from '@/store/modules/chartEditStore/chartEditStore'
 
@@ -12,6 +13,7 @@ export const useChartInteract = (
   param: { [T: string]: any },
   interactEventOn: string
 ) => {
+  if (!isPreview()) return
   const chartEditStore = useChartEditStore()
   const { interactEvents } = chartConfig.events
   const fnOnEvent = interactEvents.filter(item => {
@@ -20,20 +22,37 @@ export const useChartInteract = (
 
   if (fnOnEvent.length === 0) return
   fnOnEvent.forEach(item => {
-    const index = chartEditStore.fetchTargetIndex(item.interactComponentId)
-    if (index === -1) return
-    const { Params, Header } = toRefs(chartEditStore.componentList[index].request.requestParams)
-    Object.keys(item.interactFn).forEach(key => {
-      if (Params.value[key]) {
-        Params.value[key] = param[item.interactFn[key]]
-      }
-      if (Header.value[key]) {
-        Header.value[key] = param[item.interactFn[key]]
-      }
-    })
+
+    const globalConfigPindAprndex = chartEditStore.requestGlobalConfig.requestDataPond.findIndex(cItem =>
+      cItem.dataPondId === item.interactComponentId
+    )
+    if (globalConfigPindAprndex !== -1) {
+      const { Params, Header } = toRefs(chartEditStore.requestGlobalConfig.requestDataPond[globalConfigPindAprndex].dataPondRequestConfig.requestParams)
+
+      Object.keys(item.interactFn).forEach(key => {
+        if (Params.value[key]) {
+          Params.value[key] = param[item.interactFn[key]]
+        }
+        if (Header.value[key]) {
+          Header.value[key] = param[item.interactFn[key]]
+        }
+      })
+    } else {
+      const index = chartEditStore.fetchTargetIndex(item.interactComponentId)
+      if (index === -1) return
+      const { Params, Header } = toRefs(chartEditStore.componentList[index].request.requestParams)
+
+      Object.keys(item.interactFn).forEach(key => {
+        if (Params.value[key]) {
+          Params.value[key] = param[item.interactFn[key]]
+        }
+        if (Header.value[key]) {
+          Header.value[key] = param[item.interactFn[key]]
+        }
+      })
+    }
   })
 }
-
 // 联动事件触发的 type 变更时,清除当前绑定内容
 export const clearInteractEvent = (chartConfig: CreateComponentType) => {
 
diff --git a/src/packages/components/Charts/Pies/PieCircle/config.vue b/src/packages/components/Charts/Pies/PieCircle/config.vue
index a3206946..f343aa23 100644
--- a/src/packages/components/Charts/Pies/PieCircle/config.vue
+++ b/src/packages/components/Charts/Pies/PieCircle/config.vue
@@ -7,6 +7,22 @@
         </n-input-number>
       </SettingItem>
     </SettingItemBox>
+    <!-- 中心标题 -->
+    <SettingItemBox v-if="config.title" name="标题">
+      <SettingItem name="颜色">
+        <n-color-picker size="small" :modes="['hex']" v-model:value="config.title.textStyle.color"></n-color-picker>
+      </SettingItem>
+      <SettingItem name="字体大小">
+        <n-input-number
+          v-model:value="config.title.textStyle.fontSize"
+          :min="0"
+          :step="1"
+          size="small"
+          placeholder="字体大小"
+        >
+        </n-input-number>
+      </SettingItem>
+    </SettingItemBox>
     <!-- Echarts 全局设置 -->
     <SettingItemBox name="进度条">
       <SettingItem name="颜色">
@@ -31,24 +47,8 @@
         ></n-color-picker>
       </SettingItem>
     </SettingItemBox>
-    <!-- 中心标题 -->
-    <SettingItemBox v-if="config.title" name="标题">
-      <SettingItem name="颜色">
-        <n-color-picker size="small" :modes="['hex']" v-model:value="config.title.textStyle.color"></n-color-picker>
-      </SettingItem>
-      <SettingItem name="字体大小">
-        <n-input-number
-          v-model:value="config.title.textStyle.fontSize"
-          :min="0"
-          :step="1"
-          size="small"
-          placeholder="字体大小"
-        >
-        </n-input-number>
-      </SettingItem>
-    </SettingItemBox>
     <!-- 其他样式 -->
-    <SettingItemBox name="轨道样式">
+    <SettingItemBox name="轨道">
       <SettingItem name="颜色">
         <n-color-picker size="small" :modes="['hex']" v-model:value="item.data[1].itemStyle.color"></n-color-picker>
       </SettingItem>
@@ -69,6 +69,18 @@
           v-model:value="item.data[1].itemStyle.shadowColor"
         ></n-color-picker>
       </SettingItem>
+      <SettingItem name="轨道宽度">
+        <n-select
+          v-model:value="item.radius[0]"
+          size="small"
+          :options="[
+            { label: '窄', value: '75%' },
+            { label: '中', value: '60%' },
+            { label: '宽', value: '45%' },
+            { label: '更宽', value: '30%' }
+          ]"
+        />
+      </SettingItem>
     </SettingItemBox>
   </CollapseItem>
 </template>
diff --git a/src/packages/components/Charts/Pies/PieCircle/index.vue b/src/packages/components/Charts/Pies/PieCircle/index.vue
index 26bda2a7..bf6250cd 100644
--- a/src/packages/components/Charts/Pies/PieCircle/index.vue
+++ b/src/packages/components/Charts/Pies/PieCircle/index.vue
@@ -41,7 +41,7 @@ const option = reactive({
 const dataHandle = (newData: any) => {
   const d = parseFloat(`${newData}`) * 100
   let config = props.chartConfig.option
-  config.title.text = d.toFixed(2) + '%'
+  config.title.text = `${+d.toFixed(2)}%`
   config.series[0].data[0].value[0] = d
   config.series[0].data[1].value[0] = 100 - d
   option.value = mergeTheme(props.chartConfig.option, props.themeSetting, includes)
@@ -68,7 +68,7 @@ watch(
 useChartDataFetch(props.chartConfig, useChartEditStore, (resData: number) => {
   let d = parseFloat(`${resData}`) * 100
   // @ts-ignore
-  option.value.title.text = d.toFixed(2) + '%'
+  option.value.title.text = `${+d.toFixed(2)}%`
   // @ts-ignore
   option.value.series[0].data[0].value[0] = d
   // @ts-ignore
diff --git a/src/views/chart/ContentConfigurations/components/ChartEvent/components/ChartEventInteraction/index.vue b/src/views/chart/ContentConfigurations/components/ChartEvent/components/ChartEventInteraction/index.vue
index b5a74bd4..614b3d15 100644
--- a/src/views/chart/ContentConfigurations/components/ChartEvent/components/ChartEventInteraction/index.vue
+++ b/src/views/chart/ContentConfigurations/components/ChartEvent/components/ChartEventInteraction/index.vue
@@ -58,7 +58,7 @@
                 <help-outline-icon></help-outline-icon>
               </n-icon>
             </template>
-            <n-text>不支持「静态组件」</n-text>
+            <n-text>不支持「静态组件」支持「组件」「公共APi」</n-text>
           </n-tooltip>
         </template>
         <n-select
@@ -89,7 +89,7 @@
         </n-table>
       </setting-item-box>
 
-      <n-tag :bordered="false" type="primary"> 关联目标组件请求参数 </n-tag>
+      <n-tag :bordered="false" type="primary"> 关联目标请求参数 </n-tag>
 
       <setting-item-box
         :name="requestParamsItem"
@@ -125,7 +125,7 @@ import { VNodeChild, computed } from 'vue'
 import { SelectOption, SelectGroupOption } from 'naive-ui'
 import { SettingItemBox, SettingItem, CollapseItem } from '@/components/Pages/ChartItemSetting'
 import { CreateComponentType, CreateComponentGroupType, ChartFrameEnum } from '@/packages/index.d'
-import { RequestParamsTypeEnum } from '@/enums/httpEnum'
+import { RequestParamsTypeEnum, RequestDataTypeEnum } from '@/enums/httpEnum'
 import { InteractEventOn, COMPONENT_INTERACT_EVENT_KET } from '@/enums/eventEnum'
 import { icon } from '@/plugins'
 import noData from '@/assets/images/canvas/noData.png'
@@ -154,6 +154,11 @@ const option = computed(() => {
 // 绑定组件数据 request
 const fnGetRequest = (id: string | undefined, key: RequestParamsTypeEnum) => {
   if (!id) return {}
+  const globalConfigPindApr = chartEditStore.requestGlobalConfig.requestDataPond.find(item => {
+    return item.dataPondId === id
+  })?.dataPondRequestConfig.requestParams
+
+  if (globalConfigPindApr) return globalConfigPindApr[key]
   return chartEditStore.componentList[chartEditStore.fetchTargetIndex(id)]?.request.requestParams[key]
 }
 
@@ -178,12 +183,10 @@ const fnEventsOptions = (): Array<SelectOption | SelectGroupOption> => {
         iter: Array<CreateComponentType | CreateComponentGroupType>,
         val: CreateComponentType | CreateComponentGroupType
       ) => {
-        if (val.groupList && val.groupList.length > 0) {
-          iter.push(val)
-        } else {
+        if (!val.groupList && val.request.requestDataType === RequestDataTypeEnum.AJAX && val.request.requestUrl) {
           iter.push(val)
         }
-        return val.groupList ? [...iter, ...fnFlattern(val.groupList)] : iter
+        return val.groupList && val.groupList.length > 0 ? [...iter, ...fnFlattern(val.groupList)] : iter
       },
       []
     )
@@ -203,18 +206,26 @@ const fnEventsOptions = (): Array<SelectOption | SelectGroupOption> => {
   const mapOptionList = filterOptionList.map(item => ({
     id: item.id,
     title: item.chartConfig.title,
-    disabled: false
+    disabled: false,
+    type: 'componentList'
   }))
 
+  const requestDataPond = chartEditStore.requestGlobalConfig.requestDataPond.map(item => ({
+    id: item.dataPondId,
+    title: item.dataPondName,
+    disabled: false,
+    type: 'requestDataPond'
+  }))
+  const tarArr = requestDataPond.concat(mapOptionList)
   targetData.value.events.interactEvents?.forEach(iaItem => {
-    mapOptionList.forEach(optionItem => {
+    tarArr.forEach(optionItem => {
       if (optionItem.id === iaItem.interactComponentId) {
         optionItem.disabled = true
       }
     })
   })
 
-  return mapOptionList
+  return tarArr
 }
 
 // 新增模块
diff --git a/src/views/preview/components/PreviewRenderList/index.vue b/src/views/preview/components/PreviewRenderList/index.vue
index f685f983..07675175 100644
--- a/src/views/preview/components/PreviewRenderList/index.vue
+++ b/src/views/preview/components/PreviewRenderList/index.vue
@@ -74,7 +74,7 @@ const themeColor = computed(() => {
 // 组件渲染结束初始化数据池
 clearMittDataPondMap()
 onMounted(() => {
-  initDataPond(chartEditStore.requestGlobalConfig)
+  initDataPond(useChartEditStore)
 })
 </script>
 
diff --git a/types/shims-vue.d.ts b/types/shims-vue.d.ts
index fbfc8922..fa19c5db 100644
--- a/types/shims-vue.d.ts
+++ b/types/shims-vue.d.ts
@@ -5,4 +5,5 @@ declare module '*.vue' {
 }
 
 declare module 'lodash/*'
-declare module 'dom-helpers'
\ No newline at end of file
+declare module 'dom-helpers'
+declare module '@iconify/vue'
\ No newline at end of file