config.vue 3.6 KB
<template>
  <CollapseItem name="配置" :expanded="true">
    <SettingItemBox name="文字">
      <SettingItem name="内容">
        <n-input size="small" v-model:value="optionData.dataset"></n-input>
      </SettingItem>
      <SettingItem name="颜色">
        <n-color-picker size="small" :modes="['hex']" v-model:value="optionData.attribute.titleColor"></n-color-picker>
      </SettingItem>
      <SettingItem>
        <n-button size="small" @click="optionData.attribute.titleColor ='#fff'"> 恢复默认 </n-button>
      </SettingItem>
      <SettingItem name="大小">
        <n-input-number v-model:value="optionData.attribute.titleSize" size="small" placeholder="大小"></n-input-number>
      </SettingItem>
    </SettingItemBox>
    <SettingItemBox name="左边装饰">
      <SettingItem name="颜色">
        <n-color-picker size="small" :modes="['hex']" v-model:value="optionData.attribute.svg_16"></n-color-picker>
      </SettingItem>
      <SettingItem name="透明度">
        <n-input-number :min="0" :max="1" v-model:value="optionData.attribute.svg_16_opacity" size="small" placeholder="透明度1"></n-input-number>
      </SettingItem>
    </SettingItemBox>
    <SettingItemBox name="三角装饰">
      <SettingItem name="颜色">
        <n-color-picker size="small" :modes="['hex']" v-model:value="optionData.attribute.svg_14"></n-color-picker>
      </SettingItem>
      <SettingItem name="透明度">
        <n-input-number :min="0" :max="1" v-model:value="optionData.attribute.svg_14_opacity" size="small" placeholder="透明度1"></n-input-number>
      </SettingItem>
    </SettingItemBox>
    <SettingItemBox name="右边装饰">
      <SettingItem name="颜色1">
        <n-color-picker size="small" :modes="['hex']" v-model:value="optionData.attribute.svg_7"></n-color-picker>
      </SettingItem>
      <SettingItem name="颜色2">
        <n-color-picker size="small" :modes="['hex']" v-model:value="optionData.attribute.svg_8"></n-color-picker>
      </SettingItem>
      <SettingItem name="透明度1">
        <n-input-number :min="0" :max="1" v-model:value="optionData.attribute.svg_7_opacity" size="small" placeholder="透明度1"></n-input-number>
      </SettingItem>
      <SettingItem name="透明度2">
        <n-input-number  :min="0" :max="1" v-model:value="optionData.attribute.svg_8_opacity" size="small" placeholder="透明度2"></n-input-number>
      </SettingItem>
    </SettingItemBox>
    <SettingItemBox name="装饰渐变">
      <SettingItem name="渐变颜色1">
        <n-color-picker size="small" :modes="['hex']" v-model:value="optionData.attribute.linearGradient.stop_color1"></n-color-picker>
      </SettingItem>
      <SettingItem name="渐变颜色2">
        <n-color-picker size="small" :modes="['hex']" v-model:value="optionData.attribute.linearGradient.stop_color2"></n-color-picker>
      </SettingItem>
      <SettingItem name="透明度1">
        <n-input-number :min="0" :max="1" v-model:value="optionData.attribute.linearGradient.svg_21_opacity1" size="small" placeholder="透明度1"></n-input-number>
      </SettingItem>
      <SettingItem name="透明度2">
        <n-input-number :min="0" :max="1" v-model:value="optionData.attribute.linearGradient.svg_21_opacity2" size="small" placeholder="透明度1"></n-input-number>
      </SettingItem>
    </SettingItemBox>
  </CollapseItem>
</template>

<script setup lang="ts">
import { PropType } from 'vue'
import { option } from './config'
import { CollapseItem, SettingItemBox, SettingItem } from '@/components/Pages/ChartItemSetting'

defineProps({
  optionData: {
    type: Object as PropType<typeof option>,
    required: true
  }
})
</script>