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