index.vue 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. <template>
  2. <div class="go-chart-configurations-data" v-if="targetData">
  3. <setting-item-box name="请求方式" :alone="true">
  4. <n-select v-model:value="targetData.request.requestDataType" :disabled="isNotData" :options="selectOptions" />
  5. </setting-item-box>
  6. <!-- 静态 -->
  7. <chart-data-static v-if="targetData.request.requestDataType === RequestDataTypeEnum.STATIC"></chart-data-static>
  8. <!-- 动态 -->
  9. <chart-data-ajax v-else></chart-data-ajax>
  10. </div>
  11. </template>
  12. <script setup lang="ts">
  13. import { computed } from 'vue'
  14. import { SettingItemBox } from '@/components/Pages/ChartItemSetting'
  15. import { useTargetData } from '../hooks/useTargetData.hook'
  16. import { ChartDataStatic } from './components/ChartDataStatic/index'
  17. import { ChartDataAjax } from './components/ChartDataAjax/index'
  18. import { SelectCreateDataType, SelectCreateDataEnum } from './index.d'
  19. import { RequestDataTypeEnum } from '@/enums/httpEnum'
  20. const { targetData } = useTargetData()
  21. // 选项
  22. const selectOptions: SelectCreateDataType[] = [
  23. {
  24. label: SelectCreateDataEnum.STATIC,
  25. value: RequestDataTypeEnum.STATIC
  26. },
  27. {
  28. label: SelectCreateDataEnum.AJAX,
  29. value: RequestDataTypeEnum.AJAX
  30. }
  31. ]
  32. // 无数据源
  33. const isNotData = computed(() => {
  34. return typeof targetData.value?.option?.dataset === 'undefined'
  35. })
  36. </script>