JinZHouXiYiJi_DaPin2/resource/Gauge/Gauge1/config.ts

125 lines
2.6 KiB
TypeScript
Raw Permalink Normal View History

2023-12-05 13:23:01 +08:00
import type { MetaContainerItem } from 'open-data-v/base'
import { ComponentGroup, CustomComponent, FormType } from 'open-data-v/base'
import { h } from 'vue'
export const componentName = 'Gauge1'
class GaugeComponent extends CustomComponent {
constructor(id?: string, name?: string, icon?: string) {
super({
component: componentName,
group: ComponentGroup.GAUGE,
name: name ? name : '1#仪表盘',
id,
width: 200,
height: 200,
icon
})
}
_prop: MetaContainerItem[] = [
{
label: '数据配置',
prop: 'data',
children: [
{
prop: 'history',
label: '历史数据地址',
type: FormType.TEXT,
props: {
defaultValue: ''
}
},
{
prop: 'datatag',
label: '数据标签',
type: FormType.TEXT,
props: {
defaultValue: ''
}
},
{
prop: 'maxValue',
label: '最大值',
type: FormType.NUMBER,
props: {
defaultValue: 150
}
}
]
},
{
label: '属性配置',
prop: 'attr',
children: [
{
prop: 'color1',
label: '颜色1',
type: FormType.COLOR,
props: {
defaultValue: '#03A6E0CC'
}
},
{
prop: 'color2',
label: '颜色2',
type: FormType.COLOR,
props: {
defaultValue: '#03A6E04D'
}
},
{
prop: 'unit',
label: '单位',
type: FormType.TEXT,
props: {
defaultValue: ''
}
}
]
}
]
_style: MetaContainerItem[] = [
{
label: '字体设置',
prop: 'font',
children: [
{
prop: 'color',
label: '颜色',
type: FormType.COLOR,
props: {
defaultValue: '#03A6E0CC'
}
},
{
prop: 'fontSize',
label: '字体大小',
type: FormType.NUMBER,
props: {
defaultValue: 40,
suffix: () => h('span', {}, 'px')
}
},
{
prop: 'fontWeight',
label: '字体宽度',
type: FormType.NUMBER,
props: {
defaultValue: 800
}
},
{
prop: 'fontFamily',
label: '字体',
type: FormType.FONT_STYLE,
props: {
defaultValue: 'Arial'
}
}
]
}
]
}
export default GaugeComponent