Просмотр исходного кода

🎨 优化提交审核按钮提示

快乐的梦鱼 1 месяц назад
Родитель
Сommit
66218a642d

+ 8 - 0
src/api/collect/AssessmentContent.ts

@@ -447,6 +447,14 @@ export class SelfAssessmentDetail extends DataModel<SelfAssessmentDetail> {
   deductContent = '' as string|null;
   deductPoints = 0 as number;
   points = 0 as number;
+  /** 进度:
+0=草稿,
+1=已自评,
+2=项目保护单位审核完成,
+3=县(区)文旅部门审核完成,
+4=设区市文旅部门、省非遗中心审核完成,
+5=省文化和旅游厅审核完成 */
+  progress = 0;
   self = null as number|null;
   sign = '' as string|null;
   ichUnit = null as number|null;

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

@@ -42,7 +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 v-if="!authStore.isAdmin && currentForm?.progress === 0" type="primary" block :loading="submitLoading" @click="submitForm">提交审核</a-button>
               <a-button block :loading="submitLoading" @click="downloadForm">下载评估表 PDF</a-button>
             </a-space>
           </div>
@@ -174,9 +174,23 @@ async function saveForm() {
     submitLoading.value = false;
     return;
   }
+  if (cf.progress > 0) {
+    const confirmed = await new Promise<boolean>((resolve) => {
+      Modal.confirm({
+        title: '提示',
+        content: '您之前已提交审核,修改将导致审核撤回并需要重新审核,是否继续修改?',
+        okText: '继续修改',
+        cancelText: '取消',
+        onOk: () => resolve(true),
+        onCancel: () => resolve(false),
+      });
+    });
+    if (!confirmed)
+      return;
+  }
   cf.checkItems = currentFormCheckItems.value;
   try {
-    await AssessmentContentApi.saveSelfAssessment(cf as SelfAssessmentDetail);
+    await AssessmentContentApi.saveSelfAssessment(cf as SelfAssessmentDetail, 0);
     message.success('保存评估表成功');
     await waitTimeOut(500);
     await loader.load();
@@ -201,6 +215,18 @@ async function submitForm() {
       message.warning('请填写完整信息');
     return;
   }
+  const confirmed = await new Promise<boolean>((resolve) => {
+    Modal.confirm({
+      title: '提示',
+      content: '您确认要提交审核吗?请确认各项信息填写无误。',
+      okText: '确认提交',
+      cancelText: '取消',
+      onOk: () => resolve(true),
+      onCancel: () => resolve(false),
+    });
+  });
+  if (!confirmed)
+    return;
   submitLoading.value = true;
   const cf = currentForm.value;
   if (!cf) {