Commit 60fce36fd024a48d4edd73e348171080108724be

Authored by loveumiko
1 parent 153e8bf7

fix: 修改布尔类型没有缩放因子

1 1 <script lang="ts" setup>
2 2 import { Button } from 'ant-design-vue';
3   - import { nextTick, ref, watch } from 'vue';
  3 + import { nextTick, ref, unref, watch } from 'vue';
4 4 import { BasicForm, useForm } from '/@/components/Form';
5 5 import { BasicModal } from '/@/components/Modal';
6 6 import { PlusCircleOutlined } from '@ant-design/icons-vue';
7   - import { formSchemas } from './config';
  7 + import { FormFieldsEnum, formSchemas } from './config';
  8 + import { DataTypeEnum } from '../StructForm/config';
8 9 const show = ref(false);
9 10
10 11 const props = withDefaults(
11 12 defineProps<{
12 13 value?: object;
13 14 disabled?: boolean;
  15 + dataType?: DataTypeEnum;
14 16 }>(),
15 17 {
16 18 value: () => ({}),
17 19 }
18 20 );
19 21
  22 + const dataType = ref(props.dataType); //获取数据类型
  23 +
20 24 const emit = defineEmits(['update:value']);
21 25
22   - const [registerForm, { setFieldsValue, getFieldsValue, setProps, validate, resetFields }] =
23   - useForm({
24   - schemas: formSchemas,
25   - showActionButtonGroup: false,
26   - });
  26 + const [
  27 + registerForm,
  28 + { setFieldsValue, getFieldsValue, setProps, validate, resetFields, updateSchema },
  29 + ] = useForm({
  30 + schemas: formSchemas,
  31 + showActionButtonGroup: false,
  32 + });
27 33
28 34 const handleClick = async () => {
29 35 show.value = true;
... ... @@ -41,6 +47,16 @@
41 47 };
42 48
43 49 watch(
  50 + () => props.dataType,
  51 + (value) => {
  52 + dataType.value = value;
  53 + updateSchema([
  54 + { field: FormFieldsEnum.ZOOM_FACTOR, ifShow: unref(dataType) == 'BOOL' ? false : true },
  55 + ]);
  56 + }
  57 + );
  58 +
  59 + watch(
44 60 () => props.value,
45 61 (value) => {
46 62 setFieldsValue(value);
... ...
... ... @@ -285,6 +285,11 @@ export const formSchemas = (hasStructForm: boolean, isTcp = false): FormSchema[]
285 285 colProps: {
286 286 span: 16,
287 287 },
  288 + componentProps: ({ formModel }) => {
  289 + return {
  290 + dataType: formModel[FormField.TYPE],
  291 + };
  292 + },
288 293 },
289 294 {
290 295 field: FormField.ACCESS_MODE,
... ...