config.vue 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. <template>
  2. <CollapseItem
  3. v-for="(item, index) in seriesList"
  4. :key="index"
  5. name="单折线面积图"
  6. :expanded="true"
  7. >
  8. <SettingItemBox name="线条">
  9. <SettingItem name="宽度">
  10. <n-input-number
  11. v-model:value="item.lineStyle.width"
  12. :min="1"
  13. :max="100"
  14. size="small"
  15. placeholder="自动计算"
  16. ></n-input-number>
  17. </SettingItem>
  18. <SettingItem name="类型">
  19. <n-select
  20. v-model:value="item.lineStyle.type"
  21. size="small"
  22. :options="lineConf.lineStyle.type"
  23. ></n-select>
  24. </SettingItem>
  25. </SettingItemBox>
  26. </CollapseItem>
  27. <!-- Echarts 全局设置 -->
  28. <global-setting :optionData="optionData" :in-chart="true"></global-setting>
  29. </template>
  30. <script setup lang="ts">
  31. import { PropType, computed } from 'vue'
  32. import { lineConf } from '@/packages/chartConfiguration/echarts/index'
  33. import { GlobalThemeJsonType } from '@/settings/chartThemes/index'
  34. import {
  35. GlobalSetting,
  36. CollapseItem,
  37. SettingItemBox,
  38. SettingItem
  39. } from '@/components/Pages/ChartItemSetting'
  40. const props = defineProps({
  41. optionData: {
  42. type: Object as PropType<GlobalThemeJsonType>,
  43. required: true
  44. },
  45. })
  46. const seriesList = computed(() => {
  47. return props.optionData.series
  48. })
  49. </script>