config.vue 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. <template>
  2. <!-- 遍历 seriesList -->
  3. <CollapseItem v-for="(item, index) in config.series" :key="index" :name="`圆环`" :expanded="true">
  4. <SettingItemBox name="数据">
  5. <SettingItem name="数值">
  6. <n-input-number v-model:value="config.dataset" :min="0" :max="1" :step="0.01" size="small" placeholder="数值">
  7. </n-input-number>
  8. </SettingItem>
  9. </SettingItemBox>
  10. <!-- Echarts 全局设置 -->
  11. <SettingItemBox name="进度条">
  12. <SettingItem name="颜色">
  13. <n-color-picker
  14. size="small"
  15. :modes="['hex']"
  16. v-model:value="item.data[0].itemStyle.color"
  17. ></n-color-picker>
  18. </SettingItem>
  19. <SettingItem name="阴影模糊等级">
  20. <n-input-number v-model:value="item.data[0].itemStyle.shadowBlur" :min="0" :max="50" :step="1" size="small" placeholder="阴影模糊等级">
  21. </n-input-number>
  22. </SettingItem>
  23. <SettingItem name="阴影颜色">
  24. <n-color-picker
  25. size="small"
  26. :modes="['hex']"
  27. v-model:value="item.data[0].itemStyle.shadowColor"
  28. ></n-color-picker>
  29. </SettingItem>
  30. </SettingItemBox>
  31. <!-- 中心标题 -->
  32. <SettingItemBox v-if="config.title" name="标题">
  33. <SettingItem name="颜色">
  34. <n-color-picker
  35. size="small"
  36. :modes="['hex']"
  37. v-model:value="config.title.textStyle.color"
  38. ></n-color-picker>
  39. </SettingItem>
  40. <SettingItem name="字体大小">
  41. <n-input-number v-model:value="config.title.textStyle.fontSize" :min="0" :step="1" size="small" placeholder="字体大小">
  42. </n-input-number>
  43. </SettingItem>
  44. </SettingItemBox>
  45. <!-- 其他样式 -->
  46. <SettingItemBox name="轨道样式">
  47. <SettingItem name="颜色">
  48. <n-color-picker
  49. size="small"
  50. :modes="['hex']"
  51. v-model:value="item.data[1].itemStyle.color"
  52. ></n-color-picker>
  53. </SettingItem>
  54. <SettingItem name="阴影模糊等级">
  55. <n-input-number v-model:value="item.data[1].itemStyle.shadowBlur" :min="0" :step="1" size="small" placeholder="阴影模糊等级">
  56. </n-input-number>
  57. </SettingItem>
  58. <SettingItem name="阴影颜色">
  59. <n-color-picker
  60. size="small"
  61. :modes="['hex']"
  62. v-model:value="item.data[1].itemStyle.shadowColor"
  63. ></n-color-picker>
  64. </SettingItem>
  65. </SettingItemBox>
  66. </CollapseItem>
  67. </template>
  68. <script setup lang="ts">
  69. import { PropType, computed } from 'vue'
  70. // 以下是封装的设置模块布局组件,具体效果可在官网查看
  71. import {
  72. CollapseItem,
  73. SettingItemBox,
  74. SettingItem
  75. } from '@/components/Pages/ChartItemSetting'
  76. import { GlobalThemeJsonType } from '@/settings/chartThemes'
  77. const props = defineProps({
  78. optionData: {
  79. type: Object as PropType<GlobalThemeJsonType>,
  80. required: true
  81. }
  82. })
  83. const config = computed(() => {
  84. return props.optionData
  85. })
  86. </script>