config.vue 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. <template>
  2. <!-- Echarts 全局设置 -->
  3. <global-setting :optionData="optionData"></global-setting>
  4. <CollapseItem v-for="(item, index) in seriesList" :key="index" :name="`柱状图-${index+1}`" :expanded="true">
  5. <SettingItemBox name="图形">
  6. <SettingItem name="颜色">
  7. <n-color-picker size="small" :modes="['hex']" v-model:value="item.itemStyle.color"></n-color-picker>
  8. </SettingItem>
  9. <SettingItem>
  10. <n-button size="small" @click="item.itemStyle.color = null">恢复默认</n-button>
  11. </SettingItem>
  12. <SettingItem name="宽度">
  13. <n-input-number
  14. v-model:value="item.barWidth"
  15. :min="1"
  16. :max="100"
  17. size="small"
  18. placeholder="自动计算"
  19. ></n-input-number>
  20. </SettingItem>
  21. <SettingItem name="圆角">
  22. <n-input-number
  23. v-model:value="item.itemStyle.borderRadius"
  24. :min="0"
  25. size="small"
  26. ></n-input-number>
  27. </SettingItem>
  28. </SettingItemBox>
  29. </CollapseItem>
  30. </template>
  31. <script setup lang="ts">
  32. import { PropType, computed } from 'vue'
  33. import { GlobalSetting, CollapseItem, SettingItemBox, SettingItem } from '@/components/Pages/ChartItemSetting'
  34. import { option } from './config'
  35. import { GlobalThemeJsonType } from '@/settings/chartThemes/index'
  36. const props = defineProps({
  37. optionData: {
  38. type: Object as PropType<GlobalThemeJsonType>,
  39. required: true
  40. }
  41. })
  42. const seriesList = computed(() => {
  43. return props.optionData.series
  44. })
  45. </script>