Pārlūkot izejas kodu

perf(views): 优化“协议结果”步骤的逻辑

1. 更新下载协议接口
2. 完成配置时调用相关接口,将协议从草稿转为正式内容
wangcong 3 mēneši atpakaļ
vecāks
revīzija
3d0e38231e
2 mainītis faili ar 24 papildinājumiem un 18 dzēšanām
  1. 8 8
      src/api/index.ts
  2. 16 10
      src/views/setup-protocol/RecognitionResult.vue

+ 8 - 8
src/api/index.ts

@@ -401,14 +401,8 @@ export const reUploadUserProtocol = async (protocolType: string, id: number, fil
   return data;
 };
 
-export const downloadUserProtocol = async (protocolType: string, protocolName: string) => {
-  const blob = await request<Blob>(
-    apiBiz('/protocolBaseInfo/downloadUserProtocol/', {
-      protocolType,
-      protocolName,
-    }),
-  );
-
+export const downloadUserProtocol = async (id: number) => {
+  const blob = await request<Blob>(apiBiz('/protocolBaseInfo/downloadUserProtocol/', { id }));
   return blob;
 };
 
@@ -438,6 +432,12 @@ export const updateProtocolBaseInfo = async (params: Partial<ProtocolBaseInfo>)
   });
 };
 
+export const completeProtocolConfig = async (id: number) => {
+  await request(apiBiz(`/protocolBaseInfo/completeConfiguration/${id}`), {
+    method: 'POST',
+  });
+};
+
 export const postProtocolList = async (protocolList: ProtocolList) => {
   const data = await request<ProtocolItemData>(apiBiz('/protocolBaseInfo/getPageList'), {
     method: 'POST',

+ 16 - 10
src/views/setup-protocol/RecognitionResult.vue

@@ -4,7 +4,7 @@ import { message } from 'ant-design-vue';
 
 import { useRequest } from '@/hooks/request';
 import { t } from '@/i18n';
-import { downloadUserProtocol, getProtocolBaseInfo, updateProtocolBaseInfo } from '@/api';
+import { completeProtocolConfig, downloadUserProtocol, getProtocolBaseInfo, updateProtocolBaseInfo } from '@/api';
 import { downloadBlob } from '@/utils';
 
 import ProtocolContent from './ProtocolContent.vue';
@@ -14,17 +14,18 @@ import type { SetupProtocolForm, UseGuideStepItemExpose, UseGuideStepItemProps }
 const props = defineProps<UseGuideStepItemProps<SetupProtocolForm>>();
 
 const { handleRequest } = useRequest();
-let protocolName = '';
-let protocolType = '';
 let fileName = '';
 
 onMounted(() => {
   handleRequest(async () => {
-    const data = await getProtocolBaseInfo(37);
-    Object.assign(props.form.protocolInfo, data);
-    protocolName = data.protocolName;
-    protocolType = data.protocolType;
+    const { protocolInfo } = props.form;
+    const { id, protocolType, protocolName } = protocolInfo;
     fileName = `${protocolType} - ${protocolName}.xlsx`;
+
+    if (id) {
+      const data = await getProtocolBaseInfo(id);
+      Object.assign(protocolInfo, data);
+    }
   });
 });
 
@@ -34,9 +35,13 @@ const reRecognize = () => {
 
 const exportData = () => {
   handleRequest(async () => {
-    const file = await downloadUserProtocol(protocolType, protocolName);
-    downloadBlob(file, fileName);
-    message.success(t('setupProtocol.downloadProtocolSuccessful', { name: fileName }));
+    const { id } = props.form.protocolInfo;
+
+    if (id) {
+      const file = await downloadUserProtocol(id);
+      downloadBlob(file, fileName);
+      message.success(t('setupProtocol.downloadProtocolSuccessful', { name: fileName }));
+    }
   });
 };
 
@@ -45,6 +50,7 @@ const protocolContentRef = useTemplateRef('protocolContent');
 const finish = async () => {
   await protocolContentRef.value?.validateProtocolInfo();
   await updateProtocolBaseInfo(props.form.protocolInfo);
+  await completeProtocolConfig(props.form.protocolInfo.id as number);
 };
 
 defineExpose<UseGuideStepItemExpose>({