【代码完善】IOT: 确保 ThingModel 中 dataSpecs 和 dataSpecsList 之中必须传入且只能传入一个

pull/628/head
puhui999 2024-12-25 17:12:16 +08:00
parent 4569491012
commit 9bd96a3d63
3 changed files with 12 additions and 3 deletions

View File

@ -121,8 +121,9 @@ const getDataTypeOptions = computed(() => {
const handleChange = (dataType: any) => { const handleChange = (dataType: any) => {
property.value.dataSpecsList = [] property.value.dataSpecsList = []
property.value.dataSpecs = {} property.value.dataSpecs = {}
// dataSpecs.dataType
property.value.dataSpecs.dataType = dataType ![DataSpecsDataType.ENUM, DataSpecsDataType.BOOL, DataSpecsDataType.STRUCT].includes(dataType) &&
(property.value.dataSpecs.dataType = dataType)
switch (dataType) { switch (dataType) {
case DataSpecsDataType.ENUM: case DataSpecsDataType.ENUM:
property.value.dataSpecsList.push({ property.value.dataSpecsList.push({

View File

@ -46,6 +46,7 @@ import { IOT_PROVIDE_KEY } from '@/views/iot/utils/constants'
import { DataSpecsDataType, ThingModelFormRules } from './config' import { DataSpecsDataType, ThingModelFormRules } from './config'
import { cloneDeep } from 'lodash-es' import { cloneDeep } from 'lodash-es'
import { DICT_TYPE, getIntDictOptions } from '@/utils/dict' import { DICT_TYPE, getIntDictOptions } from '@/utils/dict'
import { isEmpty } from '@/utils/is'
/** IoT 物模型数据表单 */ /** IoT 物模型数据表单 */
defineOptions({ name: 'IoTProductThingModelForm' }) defineOptions({ name: 'IoTProductThingModelForm' })
@ -103,6 +104,13 @@ const submitForm = async () => {
data.dataType = data.property.dataType data.dataType = data.property.dataType
data.property.identifier = data.identifier data.property.identifier = data.identifier
data.property.name = data.name data.property.name = data.name
// dataSpecs
if (isEmpty(data.property.dataSpecs)) {
delete data.property.dataSpecs
}
if (isEmpty(data.property.dataSpecsList)) {
delete data.property.dataSpecsList
}
if (formType.value === 'create') { if (formType.value === 'create') {
await ThingModelApi.createThingModel(data) await ThingModelApi.createThingModel(data)
message.success(t('common.createSuccess')) message.success(t('common.createSuccess'))

View File

@ -111,7 +111,7 @@ const submitForm = async () => {
!!data.property.dataSpecs && Object.keys(data.property.dataSpecs).length > 1 !!data.property.dataSpecs && Object.keys(data.property.dataSpecs).length > 1
? data.property.dataSpecs ? data.property.dataSpecs
: undefined, : undefined,
dataSpecsList: data.property.dataSpecsList dataSpecsList: isEmpty(data.property.dataSpecsList) ? undefined : data.property.dataSpecsList
} }
// identifier // identifier