Ver Fonte

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

奔跑的面条 há 3 anos atrás
pai
commit
e6da8d8b9f

+ 7 - 7
src/packages/components/Informations/Texts/TextCommon/config.ts

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

+ 19 - 15
src/packages/components/Informations/Texts/TextCommon/config.vue

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

+ 2 - 2
src/packages/components/Informations/Texts/TextCommon/index.vue

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