95 lines
2.5 KiB
Vue
Raw Normal View History

2022-01-24 21:12:18 +08:00
<template>
2022-10-09 16:04:29 +08:00
<!-- Echarts 全局设置 -->
<global-setting :optionData="optionData"></global-setting>
<CollapseItem
v-for="(item, index) in seriesList"
:key="index"
:name="`柱状图-${index + 1}`"
:expanded="true"
>
2022-02-26 17:38:24 +08:00
<SettingItemBox name="图形">
<SettingItem name="颜色">
<n-color-picker
size="small"
:modes="['hex']"
v-model:value="item.itemStyle.color"
></n-color-picker>
2022-02-26 17:38:24 +08:00
</SettingItem>
<SettingItem>
2022-10-09 16:04:29 +08:00
<n-button size="small" @click="item.itemStyle.color = null"> 恢复默认 </n-button>
2022-02-26 17:38:24 +08:00
</SettingItem>
<SettingItem name="宽度">
<n-input-number
2022-02-26 17:38:24 +08:00
v-model:value="item.barWidth"
:min="1"
:max="100"
size="small"
placeholder="自动计算"
></n-input-number>
2022-02-26 17:38:24 +08:00
</SettingItem>
<SettingItem name="圆角">
<n-input-number
2022-02-26 17:38:24 +08:00
v-model:value="item.itemStyle.borderRadius"
:min="0"
size="small"
></n-input-number>
2022-02-26 17:38:24 +08:00
</SettingItem>
</SettingItemBox>
2022-10-09 16:04:29 +08:00
<setting-item-box name="标签">
<setting-item>
<n-space>
<n-switch v-model:value="item.label.show" size="small" />
<n-text>展示标签</n-text>
</n-space>
</setting-item>
<setting-item name="大小">
<n-input-number
v-model:value="item.label.fontSize"
size="small"
:min="1"
></n-input-number>
</setting-item>
<setting-item name="颜色">
<n-color-picker
size="small"
:modes="['hex']"
v-model:value="item.label.color"
></n-color-picker>
</setting-item>
<setting-item name="位置">
<n-select
v-model:value="item.label.position"
:options="[
{ label: 'top', value: 'top' },
{ label: 'left', value: 'left' },
{ label: 'right', value: 'right' },
{ label: 'bottom', value: 'bottom' },
]"
/>
</setting-item>
</setting-item-box>
2022-02-26 17:38:24 +08:00
</CollapseItem>
2022-01-24 21:12:18 +08:00
</template>
<script setup lang="ts">
2022-10-09 16:04:29 +08:00
import { PropType, computed } from "vue";
import {
GlobalSetting,
CollapseItem,
SettingItemBox,
2022-10-09 16:04:29 +08:00
SettingItem,
} from "@/components/Pages/ChartItemSetting";
import { GlobalThemeJsonType } from "@/settings/chartThemes/index";
2022-01-24 21:12:18 +08:00
2022-02-26 17:38:24 +08:00
const props = defineProps({
optionData: {
type: Object as PropType<GlobalThemeJsonType>,
2022-10-09 16:04:29 +08:00
required: true,
},
});
2022-02-26 17:38:24 +08:00
const seriesList = computed(() => {
2022-10-09 16:04:29 +08:00
return props.optionData.series;
});
2022-01-24 21:12:18 +08:00
</script>