Commit 30f85c7286ace1688ae5a230739fdb17ca548cb1

Authored by fengwotao
1 parent a12252bc

feat(views/chart): 新增过滤器交互

@@ -39,6 +39,7 @@ export interface PublicInterfaceRecord { @@ -39,6 +39,7 @@ export interface PublicInterfaceRecord {
39 requestParamsBodyType: string, 39 requestParamsBodyType: string,
40 requestUrl: string, 40 requestUrl: string,
41 requestParams: string, 41 requestParams: string,
  42 + filter?:string//FT 新增一个字段filter
42 } 43 }
43 44
44 45
@@ -78,6 +78,8 @@ const handleClickPanel = () => { @@ -78,6 +78,8 @@ const handleClickPanel = () => {
78 // TODO socket 请求时会触发 78 // TODO socket 请求时会触发
79 watchEffect(() => { 79 watchEffect(() => {
80 const filter = targetData.value?.filter 80 const filter = targetData.value?.filter
  81 + //ft
  82 + if(!filter) return
81 if (lastFilter !== filter && firstFocus) { 83 if (lastFilter !== filter && firstFocus) {
82 lastFilter = filter 84 lastFilter = filter
83 sendHandle() 85 sendHandle()
@@ -13,6 +13,7 @@ import { ExtraRequestConfigType } from '@/store/external/modules/extraComponentI @@ -13,6 +13,7 @@ import { ExtraRequestConfigType } from '@/store/external/modules/extraComponentI
13 import { DynamicForm } from '../DynamicForm'; 13 import { DynamicForm } from '../DynamicForm';
14 import { extraPublicInterfaceInfo } from '../DynamicForm/utils'; 14 import { extraPublicInterfaceInfo } from '../DynamicForm/utils';
15 import { isArray } from '@/utils'; 15 import { isArray } from '@/utils';
  16 +import { useTargetData } from '../../../../hooks/useTargetData.hook';
16 17
17 const publicInterfaceList = ref<PublicInterfaceRecord[]>([]) 18 const publicInterfaceList = ref<PublicInterfaceRecord[]>([])
18 19
@@ -86,6 +87,31 @@ const handleSelectedInterfaceChange = async (_value: string, option: PublicInter @@ -86,6 +87,31 @@ const handleSelectedInterfaceChange = async (_value: string, option: PublicInter
86 headerRef.value = isArray(Header) ? (Header as ParamsItemType[]).reduce((prev, next) => ({ ...prev, [next.key]: next.value }), {}) : {} 87 headerRef.value = isArray(Header) ? (Header as ParamsItemType[]).reduce((prev, next) => ({ ...prev, [next.key]: next.value }), {}) : {}
87 unref(bodyContentEl)?.setConfigurationData(unref(getSelectedInterfaceBody), Body) 88 unref(bodyContentEl)?.setConfigurationData(unref(getSelectedInterfaceBody), Body)
88 await nextTick() 89 await nextTick()
  90 + console.log(option)
  91 + /**
  92 + * FT 修改新增从接口取出filter
  93 + */
  94 + const { filter } = option
  95 + const { targetData } = useTargetData()
  96 + targetData.value.filter = filter?? `
  97 + const keys = Object.keys(res)
  98 + const dimensions = ['ts', ...keys]
  99 + const xAxis = [...new Set(keys.reduce((prev, next) => [...prev, ...res[next].map(item => item.ts)], []))]
  100 + const source = xAxis.map(ts => {
  101 + const record = keys.reduce((prev, next) => {
  102 + const value = res[next].find(item => item.ts === ts)
  103 + return { ...prev, [next]: value.value || null }
  104 + }, {})
  105 + return {
  106 + ts,
  107 + ...record
  108 + }
  109 + })
  110 + return {
  111 + dimensions,
  112 + source
  113 + }
  114 + `
89 setDynamicFormValue(option as unknown as ExtraRequestConfigType) 115 setDynamicFormValue(option as unknown as ExtraRequestConfigType)
90 } 116 }
91 117