Merge branch 'dev' of https://gitee.com/MTrun/go-view into dev

This commit is contained in:
奔跑的面条 2022-09-27 10:03:32 +08:00
commit 3c39d5db9d
3 changed files with 28 additions and 24 deletions

View File

@ -5,22 +5,23 @@ import cloneDeep from 'lodash/cloneDeep'
export enum WritingModeEnum { export enum WritingModeEnum {
HORIZONTAL = '水平', HORIZONTAL = '水平',
VERTICAL = '垂直', VERTICAL = '垂直'
} }
export const WritingModeObject = { export const WritingModeObject = {
[WritingModeEnum.HORIZONTAL]: 'horizontal-tb', [WritingModeEnum.HORIZONTAL]: 'horizontal-tb',
[WritingModeEnum.VERTICAL]: 'vertical-rl', [WritingModeEnum.VERTICAL]: 'vertical-rl'
} }
export const option = { export const option = {
link:'', link: '',
linkHead:'http://', linkHead: 'http://',
dataset: '我是文本', dataset: '我是文本',
fontSize: 20, fontSize: 20,
fontColor: '#ffffff', fontColor: '#ffffff',
paddingX: 10, paddingX: 10,
paddingY: 10, paddingY: 10,
textAlign: 'center', // 水平对齐方式
// 边框 // 边框
borderWidth: 0, borderWidth: 0,
@ -30,11 +31,10 @@ export const option = {
// 字间距 // 字间距
letterSpacing: 5, letterSpacing: 5,
writingMode: 'horizontal-tb', writingMode: 'horizontal-tb',
backgroundColor: '#00000000', backgroundColor: '#00000000'
} }
export default class Config extends PublicConfigClass implements CreateComponentType export default class Config extends PublicConfigClass implements CreateComponentType {
{
public key = TextCommonConfig.key public key = TextCommonConfig.key
public chartConfig = cloneDeep(TextCommonConfig) public chartConfig = cloneDeep(TextCommonConfig)
public option = cloneDeep(option) public option = cloneDeep(option)

View File

@ -23,26 +23,30 @@
<collapse-item name="样式" :expanded="true"> <collapse-item name="样式" :expanded="true">
<setting-item-box name="文字"> <setting-item-box name="文字">
<setting-item name="颜色">
<n-color-picker size="small" :modes="['hex']" v-model:value="optionData.fontColor"></n-color-picker>
</setting-item>
<setting-item name="字体大小"> <setting-item name="字体大小">
<n-input-number v-model:value="optionData.fontSize" size="small" placeholder="字体大小"></n-input-number> <n-input-number v-model:value="optionData.fontSize" size="small" placeholder="字体大小"></n-input-number>
</setting-item> </setting-item>
<setting-item name="文本方向">
<n-select v-model:value="optionData.writingMode" size="small" :options="verticalOptions" />
</setting-item>
<setting-item name="X轴内边距"> <setting-item name="X轴内边距">
<n-input-number v-model:value="optionData.paddingX" size="small" placeholder="输入内边距"></n-input-number> <n-input-number v-model:value="optionData.paddingX" size="small" placeholder="输入内边距"></n-input-number>
</setting-item> </setting-item>
<setting-item name="Y轴内边距"> <setting-item name="Y轴内边距">
<n-input-number v-model:value="optionData.paddingY" size="small" placeholder="输入内边距"></n-input-number> <n-input-number v-model:value="optionData.paddingY" size="small" placeholder="输入内边距"></n-input-number>
</setting-item> </setting-item>
<setting-item name="水平对齐">
<n-select v-model:value="optionData.textAlign" size="small" :options="textAlignOptions" />
</setting-item>
<setting-item name="文本方向">
<n-select v-model:value="optionData.writingMode" size="small" :options="verticalOptions" />
</setting-item>
<setting-item name="字间距"> <setting-item name="字间距">
<n-input-number v-model:value="optionData.letterSpacing" size="small" placeholder="输入字间距"></n-input-number> <n-input-number v-model:value="optionData.letterSpacing" size="small" placeholder="输入字间距"></n-input-number>
</setting-item> </setting-item>
<setting-item name="颜色">
<n-color-picker size="small" :modes="['hex']" v-model:value="optionData.fontColor"></n-color-picker>
</setting-item>
</setting-item-box> </setting-item-box>
<setting-item-box name="边框"> <setting-item-box name="边框">
@ -86,6 +90,12 @@ const props = defineProps({
} }
}) })
const textAlignOptions = [
{ label: '左对齐', value: 'start' },
{ label: '居中', value: 'center' },
{ label: '右对齐', value: 'end' }
]
const verticalOptions = [ const verticalOptions = [
{ {
label: WritingModeEnum.HORIZONTAL, label: WritingModeEnum.HORIZONTAL,
@ -100,13 +110,7 @@ const handleLinkClick = () => {
window.open(props.optionData.linkHead + props.optionData.link) window.open(props.optionData.linkHead + props.optionData.link)
} }
const linkHeadOptions = [ const linkHeadOptions = [
{ { label: 'http://', value: 'http://' },
label: 'http://', { label: 'https://', value: 'https://' }
value: 'http://'
},
{
label: 'https://',
value: 'https://'
}
] ]
</script> </script>

View File

@ -1,8 +1,8 @@
<template> <template>
<div class="go-text-box"> <div class="go-text-box">
<div class="content"> <div class="content">
<span style="cursor: pointer" v-show="link" @click="click">{{ option.dataset }}</span> <span style="cursor: pointer" v-if="link" @click="click">{{ option.dataset }}</span>
<span v-show="!link">{{ option.dataset }}</span> <span v-else>{{ option.dataset }}</span>
</div> </div>
</div> </div>
</template> </template>