index.vue
2.92 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
<template>
<div class="go-chart-configurations-data" v-if="targetData">
<setting-item-box :name="t('external.data.requestMethot')" :alone="true">
<!-- THINGS_KIT 请求方式选项修改-->
<n-select v-if="targetData.request.requestDataType !== RequestDataTypeEnum.Pond"
v-model:value="targetData.request.requestDataType" :disabled="isNotData" :options="selectOptions" />
<n-select v-if="targetData.request.requestDataType === RequestDataTypeEnum.Pond"
v-model:value="targetData.request.requestDataType" :disabled="isNotData" :options="[
{
label: SelectCreateDataEnum.STATIC,
value: RequestDataTypeEnum.STATIC
},
{
label: SelectCreateDataEnum.AJAX,
value: RequestDataTypeEnum.Pond
}
]" />
</setting-item-box>
<!-- 静态 -->
<chart-data-static v-if="targetData.request.requestDataType === RequestDataTypeEnum.STATIC"></chart-data-static>
<!-- THINGS_KIT 重写动态请求面板 -->
<ChartDynamicRequest v-if="targetData.request.requestDataType !== RequestDataTypeEnum.STATIC" />
<!-- 动态 -->
<!-- <chart-data-ajax v-if="targetData.request.requestDataType === RequestDataTypeEnum.AJAX"></chart-data-ajax> -->
<!-- THINGS_KIT 隐藏公共请求面板 -->
<!-- 数据池 -->
<!-- <chart-data-pond v-if="targetData.request.requestDataType === RequestDataTypeEnum.Pond"></chart-data-pond> -->
</div>
</template>
<script setup lang="ts">
import { computed } from 'vue'
import { loadAsyncComponent } from '@/utils'
import { SettingItemBox } from '@/components/Pages/ChartItemSetting'
import { RequestDataTypeEnum } from '@/enums/httpEnum'
import { ChartFrameEnum } from '@/packages/index.d'
import { useTargetData } from '../hooks/useTargetData.hook'
import { SelectCreateDataType, SelectCreateDataEnum } from './index.d'
const ChartDataStatic = loadAsyncComponent(() => import('./components/ChartDataStatic/index.vue'))
const ChartDataAjax = loadAsyncComponent(() => import('./components/ChartDataAjax/index.vue'))
const t = window['$t']
// THINGS_KIT 重写动态请求面板
// const ChartDataPond = loadAsyncComponent(() => import('./components/ChartDataPond/index.vue'))
const ChartDynamicRequest = loadAsyncComponent(() => import('./external/components/ChartDynamicRequest/index.vue'))
const { targetData } = useTargetData()
// 选项
const selectOptions: SelectCreateDataType[] = [
{
label: SelectCreateDataEnum.STATIC,
value: RequestDataTypeEnum.STATIC
},
{
label: SelectCreateDataEnum.AJAX,
value: RequestDataTypeEnum.AJAX
},
// THINGS_KIT 隐藏公共请求面板
// {
// label: SelectCreateDataEnum.Pond,
// value: RequestDataTypeEnum.Pond
// }
]
// 无数据源
const isNotData = computed(() => {
return (
targetData.value.chartConfig?.chartFrame === ChartFrameEnum.STATIC ||
typeof targetData.value?.option?.dataset === 'undefined'
)
})
</script>