Commit c3955490d2759289b0128f0a7b796b8e54091fce

Authored by ww
1 parent 0e61865e

fix: DEFECT-819 call interface happend error modal confirm button will continue loading

... ... @@ -110,72 +110,79 @@
110 110 // 提交
111 111 const msg = computed(() => (unref(isUpdate) ? '更新设备成功' : '新增设备成功'));
112 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 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 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 187 return {
181 188 getTitle,
... ...