Prechádzať zdrojové kódy

问卷获取失败,弹窗确认后跳转到拍摄页

@link 539186e
kumu 7 mesiacov pred
rodič
commit
acb2c5286c

+ 11 - 4
src/modules/questionnaire/page.vue

@@ -1,5 +1,5 @@
 <script setup lang="ts">
-import { Notify, Toast } from '@/platform';
+import { Dialog, Notify, Toast } from '@/platform';
 import { questionnaireMethod } from '@/request/api';
 import type { QuestionnaireProps } from '@/request/model';
 
@@ -24,7 +24,6 @@ const data = ref<QuestionnaireProps[]>([]);
 //   if ( data.reportId ) router.replace(`/report/${ data.reportId }`);
 // });
 
-
 function handle() {
   const questionnaires = data.value;
   const tips: string[] = [];
@@ -47,13 +46,21 @@ async function load() {
   const _first = first.value;
   loading.value = true;
   try {
-    const { reportId, questionnaires } = await questionnaireMethod(data.value);
+    const { reportId, questionnaires } = await questionnaireMethod(<any>data.value);
     if (reportId) return await router.replace(`/report/${reportId}`);
     showTitle.value = _first;
     data.value = [];
     // TODO 延迟渲染
     setTimeout(() => (data.value = questionnaires), 300);
-  } catch (e) {
+  } catch (e: any) {
+    loading.value = false;
+    await Dialog.show({
+      message: e.message,
+      theme: 'round-button',
+      showCancelButton: false,
+      confirmButtonText: '好的',
+      width: '350px',
+    });
     await router.replace(`/camera`);
   } finally {
     loading.value = false;

+ 2 - 1
src/request/api/questionnaire.api.ts

@@ -13,11 +13,12 @@ export function questionnaireMethod(data = []) {
     `/fdhb-tablet/dialogueManage/dialog/${ visitor.patientId }/${ visitor.resultId }`,
     toQuestionnaireData(data, storage),
     {
+      meta: { ignoreException: true },
       transform(data: Record<string, any>, headers) {
         const { storage: _storage, model } = fromQuestionnaireData(data);
         storage = _storage;
         return model;
       },
-    },
+    }
   );
 }

+ 7 - 0
src/themes/vant.scss

@@ -48,3 +48,10 @@
     margin-top: 1rem !important;
   }
 }
+
+.van-dialog {
+  --van-dialog-round-button-height: 40px;
+  --van-dialog-message-font-size: 16px;
+  --van-dialog-message-line-height: 24px;
+  --van-font-size-md: 16px;
+}