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, |