@@ -113,17 +113,15 @@ defineExpose({ open, close: () => (dialogVisible.value = false) })
113
113
/** 提交表单 */
114
114
const emit = defineEmits ([' success' ])
115
115
const submitForm = async () => {
116
+ debugger
116
117
await formRef .value .validate ()
117
118
formLoading .value = true
118
119
try {
119
120
const data = cloneDeep (formData .value ) as ThingModelData
120
121
// 信息补全
121
122
data .productId = product ! .value .id
122
123
data .productKey = product ! .value .productKey
123
- data .dataType = data .property .dataType
124
- data .property .identifier = data .identifier
125
- data .property .name = data .name
126
- removeExtraAttributes (data )
124
+ fillExtraAttributes (data )
127
125
if (formType .value === ' create' ) {
128
126
await ThingModelApi .createThingModel (data )
129
127
message .success (t (' common.createSuccess' ))
@@ -138,29 +136,46 @@ const submitForm = async () => {
138
136
}
139
137
}
140
138
141
- /** 删除额外的属性 */
142
- const removeExtraAttributes = (data : any ) => {
143
- // 处理 dataSpecs 为空的情况
144
- if (isEmpty (data .property .dataSpecs )) {
145
- delete data .property .dataSpecs
146
- }
147
- if (isEmpty (data .property .dataSpecsList )) {
148
- delete data .property .dataSpecsList
149
- }
139
+ /** 填写额外的属性 */
140
+ const fillExtraAttributes = (data : any ) => {
150
141
// 处理不同类型的情况
142
+ // 属性
151
143
if (data .type === ThingModelType .PROPERTY ) {
144
+ removeDataSpecs (data .property )
145
+ data .dataType = data .property .dataType
146
+ data .property .identifier = data .identifier
147
+ data .property .name = data .name
152
148
delete data .service
153
149
delete data .event
154
150
}
151
+ // 服务
155
152
if (data .type === ThingModelType .SERVICE ) {
153
+ removeDataSpecs (data .service )
154
+ data .dataType = data .service .dataType
155
+ data .service .identifier = data .identifier
156
+ data .service .name = data .name
156
157
delete data .property
157
158
delete data .event
158
159
}
160
+ // 事件
159
161
if (data .type === ThingModelType .EVENT ) {
162
+ removeDataSpecs (data .event )
163
+ data .dataType = data .event .dataType
164
+ data .event .identifier = data .identifier
165
+ data .event .name = data .name
160
166
delete data .property
161
167
delete data .service
162
168
}
163
169
}
170
+ /** 处理 dataSpecs 为空的情况 */
171
+ const removeDataSpecs = (val : any ) => {
172
+ if (isEmpty (val .dataSpecs )) {
173
+ delete val .dataSpecs
174
+ }
175
+ if (isEmpty (val .dataSpecsList )) {
176
+ delete val .dataSpecsList
177
+ }
178
+ }
164
179
165
180
/** 重置表单 */
166
181
const resetForm = () => {
0 commit comments