ソースを参照

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

快乐的梦鱼 1 ヶ月 前
コミット
c6d172119e
共有2 個のファイルを変更した33 個の追加2 個の削除を含む
  1. 5 2
      src/api/collect/AssessmentContent.ts
  2. 28 0
      src/pages/collect/assessment/evaluation-form.vue

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

@@ -755,8 +755,11 @@ export class AssessmentContentApi extends AppServerRequestModule<DataModel> {
   /**
    * 保存自查评估表
    */
-  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);
   }
 
   /**

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

@@ -54,6 +54,7 @@
             </FlexCol>
             <Divider />
             <Button type="primary" block :loading="submitLoading" @click="saveForm">保存评估表</Button>
+            <Button type="primary" block :loading="submitLoading" @click="submitForm">提交审核</Button>
             <Button :loading="submitLoading" @click="downloadForm">下载评估表PDF</Button>
           </FlexCol>
         </template>
@@ -201,6 +202,33 @@ async function saveForm() {
 
   submitLoading.value = false;
 }
+async function submitForm() {
+  const detail = currentForm.value;
+  try {
+    await blockRef.value?.validate();
+  } catch (error) {
+    toast('请填写完整信息');
+    return;
+  }
+
+  submitLoading.value = true;
+  currentForm.value!.checkItems = currentFormCheckItems.value;
+  try {
+    assertNotNull(detail, 'currentForm is null');
+    await AssessmentContentApi.saveSelfAssessment(detail as SelfAssessmentDetail, 1);
+    toast('提交审核成功');
+
+    await waitTimeOut(1000);
+    await loader.reload();
+  } catch (error) {
+    alert({
+      title: '提交审核失败',
+      content: formatError(error),
+    });
+  }
+
+  submitLoading.value = false;
+}
 async function downloadForm() {
   if (!currentForm.value?.id) {
     toast('请先保存评估表后再下载PDF');