Commit c3955490d2759289b0128f0a7b796b8e54091fce
1 parent
0e61865e
fix: DEFECT-819 call interface happend error modal confirm button will continue loading
Showing
1 changed file
with
68 additions
and
61 deletions
@@ -110,72 +110,79 @@ | @@ -110,72 +110,79 @@ | ||
110 | // 提交 | 110 | // 提交 |
111 | const msg = computed(() => (unref(isUpdate) ? '更新设备成功' : '新增设备成功')); | 111 | const msg = computed(() => (unref(isUpdate) ? '更新设备成功' : '新增设备成功')); |
112 | async function handleOk() { | 112 | async function handleOk() { |
113 | - if (current.value === 0) { | ||
114 | - // 验证 | ||
115 | - const valid = await unref(DeviceStep1Ref)?.parentValidate(); | ||
116 | - if (!valid) return; | ||
117 | - stepState.value = unref(DeviceStep1Ref)?.parentGetFieldsValue(); | ||
118 | - } else { | ||
119 | - // !!!此处需要删除地图的属性,否则会报堆栈溢出的错误 Uncaught RangeError: Maximum call stack size exceeded | ||
120 | - Reflect.deleteProperty(stepState.value, 'map'); | ||
121 | - Reflect.deleteProperty(stepState.value, 'marker'); | ||
122 | - if (unref(DeviceStep2Ref)?.getFieldsValue().addAgree) { | ||
123 | - const valid = await unref(DeviceStep2Ref)?.validate(); | 113 | + try { |
114 | + if (current.value === 0) { | ||
115 | + // 验证 | ||
116 | + const valid = await unref(DeviceStep1Ref)?.parentValidate(); | ||
124 | if (!valid) return; | 117 | if (!valid) return; |
125 | - // 第二页验证通过情况 | ||
126 | - stepState.value = { | 118 | + stepState.value = unref(DeviceStep1Ref)?.parentGetFieldsValue(); |
119 | + } else { | ||
120 | + // !!!此处需要删除地图的属性,否则会报堆栈溢出的错误 Uncaught RangeError: Maximum call stack size exceeded | ||
121 | + Reflect.deleteProperty(stepState.value, 'map'); | ||
122 | + Reflect.deleteProperty(stepState.value, 'marker'); | ||
123 | + if (unref(DeviceStep2Ref)?.getFieldsValue().addAgree) { | ||
124 | + const valid = await unref(DeviceStep2Ref)?.validate(); | ||
125 | + if (!valid) return; | ||
126 | + // 第二页验证通过情况 | ||
127 | + stepState.value = { | ||
128 | + ...unref(stepState), | ||
129 | + ...unref(DeviceStep2Ref)?.getFieldsValue(), | ||
130 | + }; | ||
131 | + } | ||
132 | + } | ||
133 | + // 验证成功 --调-- 新增或者编辑接口 | ||
134 | + // !!!此处需要删除地图的属性,否则会报堆栈溢出的错误 Uncaught RangeError: Maximum call stack size exceeded | ||
135 | + Reflect.deleteProperty(DeviceStep1Ref.value.positionState, 'map'); | ||
136 | + Reflect.deleteProperty(DeviceStep1Ref.value.positionState, 'marker'); | ||
137 | + setModalProps({ | ||
138 | + confirmLoading: true, | ||
139 | + }); | ||
140 | + if (unref(isUpdate)) { | ||
141 | + const editData = { | ||
127 | ...unref(stepState), | 142 | ...unref(stepState), |
128 | - ...unref(DeviceStep2Ref)?.getFieldsValue(), | 143 | + deviceInfo: { |
144 | + avatar: DeviceStep1Ref.value?.devicePic, | ||
145 | + ...DeviceStep1Ref.value?.positionState, | ||
146 | + }, | ||
129 | }; | 147 | }; |
148 | + await createOrEditDevice(editData); | ||
149 | + } else { | ||
150 | + const createData = { | ||
151 | + ...unref(stepState), | ||
152 | + deviceInfo: { | ||
153 | + avatar: DeviceStep1Ref.value?.devicePic, | ||
154 | + ...DeviceStep1Ref.value?.positionState, | ||
155 | + }, | ||
156 | + deviceToken: | ||
157 | + unref(current) === 0 || !unref(stepState).addAgree | ||
158 | + ? null | ||
159 | + : { | ||
160 | + credentialsType: unref(stepState).credentialType, | ||
161 | + credentialsId: unref(stepState).credentialsId, | ||
162 | + credentialsValue: | ||
163 | + unref(stepState).credentialType === credentialTypeEnum.MQTT_BASIC | ||
164 | + ? JSON.stringify({ | ||
165 | + userName: unref(stepState).username, | ||
166 | + password: unref(stepState).password, | ||
167 | + clientId: unref(stepState).clientId, | ||
168 | + }) | ||
169 | + : unref(stepState).credentialType === credentialTypeEnum.X_509 | ||
170 | + ? unref(stepState).publicKey | ||
171 | + : null, | ||
172 | + }, | ||
173 | + }; | ||
174 | + await createOrEditDevice(createData); | ||
130 | } | 175 | } |
176 | + createMessage.success(unref(msg)); | ||
177 | + handleCancel(); | ||
178 | + closeModal(); | ||
179 | + emit('reload'); | ||
180 | + } catch (error) { | ||
181 | + } finally { | ||
182 | + setModalProps({ | ||
183 | + confirmLoading: false, | ||
184 | + }); | ||
131 | } | 185 | } |
132 | - // 验证成功 --调-- 新增或者编辑接口 | ||
133 | - // !!!此处需要删除地图的属性,否则会报堆栈溢出的错误 Uncaught RangeError: Maximum call stack size exceeded | ||
134 | - Reflect.deleteProperty(DeviceStep1Ref.value.positionState, 'map'); | ||
135 | - Reflect.deleteProperty(DeviceStep1Ref.value.positionState, 'marker'); | ||
136 | - setModalProps({ | ||
137 | - confirmLoading: true, | ||
138 | - }); | ||
139 | - if (unref(isUpdate)) { | ||
140 | - const editData = { | ||
141 | - ...unref(stepState), | ||
142 | - deviceInfo: { | ||
143 | - avatar: DeviceStep1Ref.value?.devicePic, | ||
144 | - ...DeviceStep1Ref.value?.positionState, | ||
145 | - }, | ||
146 | - }; | ||
147 | - await createOrEditDevice(editData); | ||
148 | - } else { | ||
149 | - const createData = { | ||
150 | - ...unref(stepState), | ||
151 | - deviceInfo: { | ||
152 | - avatar: DeviceStep1Ref.value?.devicePic, | ||
153 | - ...DeviceStep1Ref.value?.positionState, | ||
154 | - }, | ||
155 | - deviceToken: | ||
156 | - unref(current) === 0 || !unref(stepState).addAgree | ||
157 | - ? null | ||
158 | - : { | ||
159 | - credentialsType: unref(stepState).credentialType, | ||
160 | - credentialsId: unref(stepState).credentialsId, | ||
161 | - credentialsValue: | ||
162 | - unref(stepState).credentialType === credentialTypeEnum.MQTT_BASIC | ||
163 | - ? JSON.stringify({ | ||
164 | - userName: unref(stepState).username, | ||
165 | - password: unref(stepState).password, | ||
166 | - clientId: unref(stepState).clientId, | ||
167 | - }) | ||
168 | - : unref(stepState).credentialType === credentialTypeEnum.X_509 | ||
169 | - ? unref(stepState).publicKey | ||
170 | - : null, | ||
171 | - }, | ||
172 | - }; | ||
173 | - await createOrEditDevice(createData); | ||
174 | - } | ||
175 | - createMessage.success(unref(msg)); | ||
176 | - handleCancel(); | ||
177 | - closeModal(); | ||
178 | - emit('reload'); | ||
179 | } | 186 | } |
180 | return { | 187 | return { |
181 | getTitle, | 188 | getTitle, |