96 lines
2.5 KiB
Vue
96 lines
2.5 KiB
Vue
<template>
|
|
<!-- Echarts 全局设置 -->
|
|
<global-setting :optionData="optionData"></global-setting>
|
|
<CollapseItem
|
|
v-for="(item, index) in seriesList"
|
|
:key="index"
|
|
name="单折线面积图"
|
|
:expanded="true"
|
|
>
|
|
<SettingItemBox name="线条">
|
|
<SettingItem name="宽度">
|
|
<n-input-number
|
|
v-model:value="item.lineStyle.width"
|
|
:min="1"
|
|
size="small"
|
|
placeholder="自动计算"
|
|
></n-input-number>
|
|
</SettingItem>
|
|
<SettingItem name="类型">
|
|
<n-select
|
|
v-model:value="item.lineStyle.type"
|
|
size="small"
|
|
:options="lineConf.lineStyle.type"
|
|
></n-select>
|
|
</SettingItem>
|
|
</SettingItemBox>
|
|
<SettingItemBox name="实心点">
|
|
<SettingItem name="大小">
|
|
<n-input-number
|
|
v-model:value="item.symbolSize"
|
|
:min="1"
|
|
:max="100"
|
|
size="small"
|
|
placeholder="自动计算"
|
|
></n-input-number>
|
|
</SettingItem>
|
|
</SettingItemBox>
|
|
<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>
|
|
</CollapseItem>
|
|
</template>
|
|
|
|
<script setup lang="ts">
|
|
import { PropType, computed } from 'vue'
|
|
import { lineConf } from '@/packages/chartConfiguration/echarts/index'
|
|
import { GlobalThemeJsonType } from '@/settings/chartThemes/index'
|
|
import {
|
|
GlobalSetting,
|
|
CollapseItem,
|
|
SettingItemBox,
|
|
SettingItem
|
|
} from '@/components/Pages/ChartItemSetting'
|
|
|
|
const props = defineProps({
|
|
optionData: {
|
|
type: Object as PropType<GlobalThemeJsonType>,
|
|
required: true
|
|
},
|
|
})
|
|
|
|
const seriesList = computed(() => {
|
|
return props.optionData.series
|
|
})
|
|
</script>
|