Commit dbc182f8401b40be31af0a1edc00ddea047263c9
1 parent
89225bce
feat(src/packages): 图表更多自定义native-ui新增取值范围
Showing
2 changed files
with
25 additions
and
5 deletions
... | ... | @@ -50,7 +50,11 @@ export const option = { |
50 | 50 | // 指标颜色 |
51 | 51 | indicatorTextColor: '#FFFFFFFF', |
52 | 52 | // 偏移角度 |
53 | - offsetDegree: 0 | |
53 | + offsetDegree: 0, | |
54 | + value:{ | |
55 | + min:0, | |
56 | + max:1000 | |
57 | + } | |
54 | 58 | } |
55 | 59 | |
56 | 60 | export default class Config extends PublicConfigClass implements CreateComponentType { | ... | ... |
... | ... | @@ -10,7 +10,14 @@ |
10 | 10 | <n-input v-model:value="optionData.unit" size="small"></n-input> |
11 | 11 | </setting-item> |
12 | 12 | </SettingItemBox> |
13 | - | |
13 | + <SettingItemBox name="范围"> | |
14 | + <SettingItem name="最小值"> | |
15 | + <n-input-number :min="0" v-model:value="optionData.value.min" size="small"></n-input-number> | |
16 | + </SettingItem> | |
17 | + <setting-item name="最大值"> | |
18 | + <n-input-number v-model:value="optionData.value.max" size="small"></n-input-number> | |
19 | + </setting-item> | |
20 | + </SettingItemBox> | |
14 | 21 | <SettingItemBox name="轨道"> |
15 | 22 | <SettingItem name="形状"> |
16 | 23 | <n-select v-model:value="optionData.type" :options="types" placeholder="选择形状" /> |
... | ... | @@ -41,7 +48,7 @@ |
41 | 48 | <SettingItem name="文本颜色"> |
42 | 49 | <n-color-picker size="small" :modes="['hex']" v-model:value="optionData.indicatorTextColor"></n-color-picker> |
43 | 50 | </SettingItem> |
44 | - <setting-item name="文本大小"> | |
51 | + <setting-item name="文本大小"> | |
45 | 52 | <n-input-number v-model:value="optionData.indicatorTextSize" size="small"></n-input-number> |
46 | 53 | </setting-item> |
47 | 54 | </SettingItemBox> |
... | ... | @@ -49,17 +56,26 @@ |
49 | 56 | </template> |
50 | 57 | |
51 | 58 | <script setup lang="ts"> |
52 | -import { PropType } from 'vue' | |
59 | +import { PropType, watch, ref } from 'vue' | |
53 | 60 | // 以下是封装的设置模块布局组件,具体效果可在官网查看 |
54 | 61 | import { CollapseItem, SettingItemBox, SettingItem } from '@/components/Pages/ChartItemSetting' |
55 | 62 | |
56 | 63 | // 获取 option 的数据,便于使用 typeof 获取类型 |
57 | 64 | import { option, types, indicatorPlacements } from './config' |
58 | 65 | |
59 | -defineProps({ | |
66 | +const props = defineProps({ | |
60 | 67 | optionData: { |
61 | 68 | type: Object as PropType<typeof option>, |
62 | 69 | required: true |
63 | 70 | } |
64 | 71 | }) |
72 | + | |
73 | +watch( | |
74 | + () => props.optionData.dataset, | |
75 | + (newData: number) => { | |
76 | + if (newData < props.optionData.value.min || newData > props.optionData.value.max) { | |
77 | + window['$message'].error('取值范围在最小值和最大值之间') | |
78 | + } | |
79 | + } | |
80 | +) | |
65 | 81 | </script> | ... | ... |