Forráskód Böngészése

🎨 优化显示已回退状态

快乐的梦鱼 4 napja
szülő
commit
88de51751b

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

@@ -531,6 +531,10 @@ export class SelfAssessmentDetail extends DataModel<SelfAssessmentDetail> {
   deletetime = '' as string|null;
   selfText = '' as string;
   checkItems :  SelfAssessmentCheckItemAnswer[] = [];
+  /** 退回状态: 0=无,1=自评阶段退回,2=项目保护单位退回,3=县(区)文旅部门退回,4=设区市文旅部门/省非遗中心退回,5=省文化和旅游厅退回 */
+  rejectType = 0 as number;
+  /** 退回原因 */
+  rejectReason = '' as string;
 }
 
 /** 传承协议详情 */
@@ -593,6 +597,18 @@ export class AgreementDetail extends DataModel<AgreementDetail> {
   updatetime = new Date();
 }
 
+export function getRejectTypeText(d: number) {
+  switch (d) {
+    case 0: return '无';
+    case 1: return '自评阶段退回';
+    case 2: return '项目保护单位退回';
+    case 3: return '县(区)文旅部门退回';
+    case 4: return '设区市文旅部门/省非遗中心退回';
+    case 5: return '省文化和旅游厅退回';
+    default: return '未知';
+  }
+}
+
 /** 证明材料附件类型(saveAnnex `type`) */
 export const CheckAnnexType = {
   Image: 1,

+ 10 - 3
src/pages/collect/assessment/argeement-sign-review.vue

@@ -53,7 +53,14 @@
                 class="mb-4"
                 message="当前账号用户组无权在此环节审核"
               />
-              <a-form layout="vertical" size="middle">
+              <a-alert
+                v-else-if="currentAgreement.rejectType > 0"
+                type="warning"
+                show-icon
+                class="mb-4"
+                :message="`${getRejectTypeText(currentAgreement.rejectType)}已退回: ${currentAgreement.rejectReason}`"
+              />
+              <a-form v-else layout="vertical" size="middle">
                 <div class="flex flex-col md:flex-row lg:flex-row w-full gap-3">
                   <div class="flex flex-col flex-1">
                     <a-form-item required :label="`审核通过:${reviewLevelLabel}`">
@@ -108,7 +115,7 @@ import { ArrowLeftOutlined, UpOutlined, DownOutlined } from '@ant-design/icons-v
 import { useSimpleDataLoader } from '@/composeables/useSimpleDataLoader';
 import { useMemorizeVar } from '@/composeables/useMemorizeVar';
 import { isInMiniProgram } from '@/composeables/MiniProgramIng.ts';
-import AssessmentContentApi, { AgreementDetail } from '@/api/collect/AssessmentContent';
+import AssessmentContentApi, { AgreementDetail, getRejectTypeText } from '@/api/collect/AssessmentContent';
 import AgreementFormDisplay from './components/AgreementFormDisplay.vue';
 import { useReview } from './composeables/Review.ts';
 import { getFormErrorFieldsMessage } from '@/common/Form.ts';
@@ -180,11 +187,11 @@ async function submitReview() {
   }
   try {
     submitLoading.value = true;
+    await AssessmentContentApi.saveAgreement(d as AgreementDetail);
     await AssessmentContentApi.reviewAgreement({
       id: d.id,
       progress: reviewProgressInfo.value.target,
     });
-    await AssessmentContentApi.saveAgreement(d as AgreementDetail);
     message.success('审核通过');
     router.back();
   } catch (e) {

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

@@ -49,9 +49,15 @@
                 show-icon
                 class="mb-4"
                 message="当前账号用户组无权在此环节审核"
-                :description="`仅项目保护单位(9)、县(区)文旅部门(5)、设区市文旅部门/省非遗中心(10)、省文化和旅游厅(11) 可提交。`"
               />
-              <a-form layout="vertical" size="middle">
+              <a-alert
+                v-else-if="currentForm.rejectType > 0"
+                type="warning"
+                show-icon
+                class="mb-4"
+                :message="`${getRejectTypeText(currentForm.rejectType)}已退回: ${currentForm.rejectReason}`"
+              />
+              <a-form v-else layout="vertical" size="middle">
                 <div class="flex flex-col md:flex-row lg:flex-row w-full gap-3">
                   <div class="flex flex-col flex-1">
                     <a-form-item required :label="`审核通过:${reviewLevelLabel}`">
@@ -126,6 +132,7 @@ import { RequestApiError } from '@imengyu/imengyu-utils';
 import { ArrowLeftOutlined, UpOutlined, DownOutlined } from '@ant-design/icons-vue';
 import AssessmentContentApi, {
   type CheckItemInfo,
+  getRejectTypeText,
   type SelfAssessmentCheckItemAnswer,
   SelfAssessmentDetail,
 } from '@/api/collect/AssessmentContent';