Bladeren bron

💊 按要求增加提交审核按钮

快乐的梦鱼 1 maand geleden
bovenliggende
commit
ff1e9389dc
2 gewijzigde bestanden met toevoegingen van 39 en 2 verwijderingen
  1. 5 2
      src/api/collect/AssessmentContent.ts
  2. 34 0
      src/pages/collect/assessment/evaluation-form.vue

+ 5 - 2
src/api/collect/AssessmentContent.ts

@@ -768,8 +768,11 @@ export class AssessmentContentApi extends AppServerRequestModule<DataModel> {
     return this.post('/ich/check/saveAgreement', dataModel.toServerSide(), '传承协议保存');
   }
 
-  async saveSelfAssessment(dataModel: SelfAssessmentDetail) {
-    return this.post('/ich/check/save', dataModel.toServerSide(), '自查评估表保存');
+  async saveSelfAssessment(dataModel: SelfAssessmentDetail, progress?: number) {
+    const data = dataModel.toServerSide();
+    if (progress !== undefined)
+      data.progress = progress;
+    return this.post('/ich/check/save', data, '自查评估表保存');
   }
 
   /**

+ 34 - 0
src/pages/collect/assessment/evaluation-form.vue

@@ -42,6 +42,7 @@
             <a-divider />
             <a-space direction="vertical" class="w-full" size="middle">
               <a-button type="primary" block :loading="submitLoading" @click="saveForm">保存评估表</a-button>
+              <a-button type="primary" block :loading="submitLoading" @click="submitForm">提交审核</a-button>
               <a-button block :loading="submitLoading" @click="downloadForm">下载评估表 PDF</a-button>
             </a-space>
           </div>
@@ -188,6 +189,39 @@ async function saveForm() {
   submitLoading.value = false;
 }
 
+async function submitForm() {
+  try {
+    await blockRef.value?.validate();
+  } catch (e: unknown) {
+    if (e && typeof e === 'object' && 'errorFields' in (e as object))
+      message.warning('请填写完整信息');
+    else if (e instanceof Error)
+      message.warning(e.message);
+    else
+      message.warning('请填写完整信息');
+    return;
+  }
+  submitLoading.value = true;
+  const cf = currentForm.value;
+  if (!cf) {
+    submitLoading.value = false;
+    return;
+  }
+  cf.checkItems = currentFormCheckItems.value;
+  try {
+    await AssessmentContentApi.saveSelfAssessment(cf as SelfAssessmentDetail, 1);
+    message.success('提交审核成功');
+    await waitTimeOut(500);
+    await loader.load();
+  } catch (error) {
+    Modal.error({
+      title: '提交审核失败',
+      content: formatErr(error),
+    });
+  }
+  submitLoading.value = false;
+}
+
 async function downloadForm() {
   if (!currentForm.value?.id) {
     message.warning('请先保存评估表后再下载 PDF');