Showing
4 changed files
with
24 additions
and
12 deletions
1 | <script lang="ts" setup> | 1 | <script lang="ts" setup> |
2 | import { Button } from 'ant-design-vue'; | 2 | import { Button } from 'ant-design-vue'; |
3 | - import { nextTick, ref, unref, watch } from 'vue'; | 3 | + import { nextTick, ref, watch } from 'vue'; |
4 | import { BasicForm, useForm } from '/@/components/Form'; | 4 | import { BasicForm, useForm } from '/@/components/Form'; |
5 | import { BasicModal } from '/@/components/Modal'; | 5 | import { BasicModal } from '/@/components/Modal'; |
6 | import { PlusCircleOutlined } from '@ant-design/icons-vue'; | 6 | import { PlusCircleOutlined } from '@ant-design/icons-vue'; |
@@ -19,8 +19,6 @@ | @@ -19,8 +19,6 @@ | ||
19 | } | 19 | } |
20 | ); | 20 | ); |
21 | 21 | ||
22 | - const dataType = ref(props.dataType); //获取数据类型 | ||
23 | - | ||
24 | const emit = defineEmits(['update:value']); | 22 | const emit = defineEmits(['update:value']); |
25 | 23 | ||
26 | const [ | 24 | const [ |
@@ -46,15 +44,17 @@ | @@ -46,15 +44,17 @@ | ||
46 | show.value = false; | 44 | show.value = false; |
47 | }; | 45 | }; |
48 | 46 | ||
49 | - watch( | ||
50 | - () => props.dataType, | ||
51 | - (value) => { | ||
52 | - dataType.value = value; | 47 | + watch(show, async (value) => { |
48 | + if (value) { | ||
49 | + await nextTick(); | ||
53 | updateSchema([ | 50 | updateSchema([ |
54 | - { field: FormFieldsEnum.ZOOM_FACTOR, ifShow: unref(dataType) == 'BOOL' ? false : true }, | 51 | + { |
52 | + field: FormFieldsEnum.ZOOM_FACTOR, | ||
53 | + ifShow: props.dataType == DataTypeEnum.IS_BOOL ? false : true, | ||
54 | + }, | ||
55 | ]); | 55 | ]); |
56 | } | 56 | } |
57 | - ); | 57 | + }); |
58 | 58 | ||
59 | watch( | 59 | watch( |
60 | () => props.value, | 60 | () => props.value, |
@@ -89,7 +89,9 @@ | @@ -89,7 +89,9 @@ | ||
89 | functionJson: { | 89 | functionJson: { |
90 | inputData, | 90 | inputData, |
91 | outputData, | 91 | outputData, |
92 | - ...(serviceCommand ? { inputData: [{ serviceCommand }] } : {}), | 92 | + ...(serviceCommand |
93 | + ? { inputData: [{ serviceCommand: serviceCommand.replaceAll(/\s/g, '').toUpperCase() }] } | ||
94 | + : {}), | ||
93 | }, | 95 | }, |
94 | } as ModelOfMatterParams; | 96 | } as ModelOfMatterParams; |
95 | 97 |
@@ -117,7 +117,18 @@ export const serviceSchemas = (tcpDeviceFlag: boolean): FormSchema[] => { | @@ -117,7 +117,18 @@ export const serviceSchemas = (tcpDeviceFlag: boolean): FormSchema[] => { | ||
117 | field: FormField.SERVICE_COMMAND, | 117 | field: FormField.SERVICE_COMMAND, |
118 | label: '输入参数', | 118 | label: '输入参数', |
119 | component: 'Input', | 119 | component: 'Input', |
120 | - rules: [{ message: '输入参数为必填项', required: true }], | 120 | + rules: [ |
121 | + { message: '输入参数为必填项', required: true }, | ||
122 | + { | ||
123 | + message: '请输入ASCII或HEX服务命令(0~9/A~F)', | ||
124 | + validator(_rule, value, _callback) { | ||
125 | + const reg = /^[\s0-9a-fA-F]+$/; | ||
126 | + | ||
127 | + if (reg.test(value)) return Promise.resolve(); | ||
128 | + return Promise.reject('请输入ASCII或HEX服务命令(0~9/A~F)'); | ||
129 | + }, | ||
130 | + }, | ||
131 | + ], | ||
121 | ifShow: tcpDeviceFlag, | 132 | ifShow: tcpDeviceFlag, |
122 | componentProps: { | 133 | componentProps: { |
123 | placeholder: '请输入ASCII或HEX服务命令', | 134 | placeholder: '请输入ASCII或HEX服务命令', |
@@ -354,7 +354,6 @@ export const useDataFetch = ( | @@ -354,7 +354,6 @@ export const useDataFetch = ( | ||
354 | props: { config: ComponentPropsConfigType }, | 354 | props: { config: ComponentPropsConfigType }, |
355 | updateFn: DataFetchUpdateFn | 355 | updateFn: DataFetchUpdateFn |
356 | ) => { | 356 | ) => { |
357 | - console.log(props, 'props'); | ||
358 | const getBindAttribute = computed(() => { | 357 | const getBindAttribute = computed(() => { |
359 | const { config } = props; | 358 | const { config } = props; |
360 | const { option } = config as ComponentPropsConfigType<Recordable, DataSource>; | 359 | const { option } = config as ComponentPropsConfigType<Recordable, DataSource>; |