From 9b628620e11112516a0adc24bfec7aa521adb4fc Mon Sep 17 00:00:00 2001 From: puhui999 Date: Thu, 26 Dec 2024 00:09:50 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E5=8A=9F=E8=83=BD=E5=AE=8C=E5=96=84?= =?UTF-8?q?=E3=80=91IOT:=20ThingModel=20=E6=9C=8D=E5=8A=A1=E5=92=8C?= =?UTF-8?q?=E4=BA=8B=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/iot/thingmodel/ThingModelForm.vue | 41 ++++++++++++++------- 1 file changed, 28 insertions(+), 13 deletions(-) diff --git a/src/views/iot/thingmodel/ThingModelForm.vue b/src/views/iot/thingmodel/ThingModelForm.vue index 86bef875..c2260149 100644 --- a/src/views/iot/thingmodel/ThingModelForm.vue +++ b/src/views/iot/thingmodel/ThingModelForm.vue @@ -113,6 +113,7 @@ defineExpose({ open, close: () => (dialogVisible.value = false) }) /** 提交表单 */ const emit = defineEmits(['success']) const submitForm = async () => { + debugger await formRef.value.validate() formLoading.value = true try { @@ -120,10 +121,7 @@ const submitForm = async () => { // 信息补全 data.productId = product!.value.id data.productKey = product!.value.productKey - data.dataType = data.property.dataType - data.property.identifier = data.identifier - data.property.name = data.name - removeExtraAttributes(data) + fillExtraAttributes(data) if (formType.value === 'create') { await ThingModelApi.createThingModel(data) message.success(t('common.createSuccess')) @@ -138,29 +136,46 @@ const submitForm = async () => { } } -/** 删除额外的属性 */ -const removeExtraAttributes = (data: any) => { - // 处理 dataSpecs 为空的情况 - if (isEmpty(data.property.dataSpecs)) { - delete data.property.dataSpecs - } - if (isEmpty(data.property.dataSpecsList)) { - delete data.property.dataSpecsList - } +/** 填写额外的属性 */ +const fillExtraAttributes = (data: any) => { // 处理不同类型的情况 + // 属性 if (data.type === ThingModelType.PROPERTY) { + removeDataSpecs(data.property) + data.dataType = data.property.dataType + data.property.identifier = data.identifier + data.property.name = data.name delete data.service delete data.event } + // 服务 if (data.type === ThingModelType.SERVICE) { + removeDataSpecs(data.service) + data.dataType = data.service.dataType + data.service.identifier = data.identifier + data.service.name = data.name delete data.property delete data.event } + // 事件 if (data.type === ThingModelType.EVENT) { + removeDataSpecs(data.event) + data.dataType = data.event.dataType + data.event.identifier = data.identifier + data.event.name = data.name delete data.property delete data.service } } +/** 处理 dataSpecs 为空的情况 */ +const removeDataSpecs = (val: any) => { + if (isEmpty(val.dataSpecs)) { + delete val.dataSpecs + } + if (isEmpty(val.dataSpecsList)) { + delete val.dataSpecsList + } +} /** 重置表单 */ const resetForm = () => {