Parcourir la source

📦 按要求增加三个级别审核意见显示

快乐的梦鱼 il y a 1 mois
Parent
commit
c2488fc111

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

@@ -432,6 +432,8 @@ export class SelfAssessmentDetail extends DataModel<SelfAssessmentDetail> {
       districtRdPoints: { clientSide: 'number', serverSide: 'number' },
       districtTh: { clientSide: 'number', serverSide: 'number' },
       districtThPoints: { clientSide: 'number', serverSide: 'number' },
+      districtFi: { clientSide: 'number', serverSide: 'number' },
+      districtFiPoints: { clientSide: 'number', serverSide: 'number' },
       level: { clientSide: 'number', serverSide: 'string' },
       content: {
         customToClientFn: (value) => {
@@ -550,6 +552,10 @@ export class SelfAssessmentDetail extends DataModel<SelfAssessmentDetail> {
   districtTh = null as number|null;
   /** 工服处评分 */
   districtThPoints = 0 as number;
+  /** 工服处-分管领导意见: 0=未审核,1=优秀,2=合格,3=不合格,4=丧失传承能力,5=取消资格 */
+  districtFi = null as number|null;
+  /** 工服处-分管领导评分 */
+  districtFiPoints = 0 as number;
   createtime = '' as string;
   updatetime = '' as string;
   deletetime = '' as string|null;
@@ -693,6 +699,9 @@ export interface IchCheckReviewPayload {
   /** 工服处意见,取值同 ichUnit */
   districtTh?: number;
   districtThPoints?: number;
+  /** 工服处-分管领导意见,取值同 ichUnit */
+  districtFi?: number;
+  districtFiPoints?: number;
   /** 0=草稿,1=已自评,2=项目保护单位审核完成,3=县(区)文旅部门审核完成,4=设区市文旅部门/省非遗中心审核完成,5=省文化和旅游厅审核完成 */
   progress: number;
   /** 退回状态: 0=无,1=自评阶段退回,2=项目保护单位退回,3=县(区)文旅部门退回,4=设区市文旅部门/省非遗中心退回,5=省文化和旅游厅退回 */
@@ -1021,6 +1030,8 @@ export class AssessmentContentApi extends AppServerRequestModule<DataModel> {
       district_rd_points: payload.districtRdPoints,
       district_th: payload.districtTh,
       district_th_points: payload.districtThPoints,
+      district_fi: payload.districtFi,
+      district_fi_points: payload.districtFiPoints,
       progress: payload.progress,
       reject_type: payload.rejectType || 0,
       reject_reason: payload.rejectReason,

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

@@ -96,6 +96,9 @@
                       回退
                     </a-button>
                   </div>
+                  <div v-else class="flex flex-col flex-1">
+                    <h3>当前用户不能回退</h3>
+                  </div>
                 </div>
               </a-form>
             </a-card>

+ 31 - 0
src/pages/collect/assessment/composeables/GroupData.ts

@@ -7,6 +7,7 @@ export const GROUP_DISTRICT_ST = 12;
 export const GROUP_DISTRICT_ND = 13;
 export const GROUP_DISTRICT_RD = 14;
 export const GROUP_DISTRICT_TH = 15;
+export const GROUP_DISTRICT_FI = 16;
 
 /** 
  * 用户组 → 本环节提交后的 progress 
@@ -50,12 +51,14 @@ export const GROUP_TO_REVIEW_PROGRESS = {
     rejectTarget: 0,
     minSource: 3,
     noProgressChange: true,
+    displayGroup: [GROUP_DISTRICT_ST, GROUP_DISTRICT_ND, GROUP_DISTRICT_RD],
   },// 项目负责人(不修改进度,等待工服处终审)
   [GROUP_DISTRICT_ND]: {
     target: 0,
     rejectTarget: 0,
     minSource: 3,
     noProgressChange: true,
+    displayGroup: [GROUP_DISTRICT_ST, GROUP_DISTRICT_ND, GROUP_DISTRICT_RD],
   },// 部门主任(不修改进度,等待工服处终审)
   [GROUP_DISTRICT_RD]: {
     target: 0,
@@ -63,12 +66,21 @@ export const GROUP_TO_REVIEW_PROGRESS = {
     minSource: 3,
     noProgressChange: true,
     canReject: true,
+    displayGroup: [GROUP_DISTRICT_ST, GROUP_DISTRICT_ND, GROUP_DISTRICT_RD],
   },// 分管领导(不修改进度,可退回)
   [GROUP_DISTRICT_TH]: {
     target: 4,
     rejectTarget: 4,
     minSource: 3,
+    displayGroup: [GROUP_DISTRICT_TH, GROUP_DISTRICT_FI],
   },// 工服处(终审,修改进度为4)
+  [GROUP_DISTRICT_FI]: {
+    target: 0,
+    rejectTarget: 0,
+    minSource: 3,
+    noProgressChange: true,
+    displayGroup: [GROUP_DISTRICT_TH, GROUP_DISTRICT_FI],
+  },// 工服处-分管领导(不修改进度)
   [GROUP_PROVINCE]: {
     target: 5,
     rejectTarget: 5,
@@ -95,6 +107,10 @@ export const GROUP_TO_REVIEW_PROGRESS = {
    * 是否可退回(即使 noProgressChange 为 true)
    */
   canReject?: boolean,
+  /**
+   * 同时显示审核意见的用户组 ID 列表(配置后表单同时展示这些组的字段)
+   */
+  displayGroup?: number[],
 }>;
 
 export const SUBMITED_PROGRESS = 1;
@@ -109,6 +125,7 @@ export const GROUP_LABELS: Record<number, string> = {
   [GROUP_DISTRICT_ND]: '部门主任',
   [GROUP_DISTRICT_RD]: '分管领导',
   [GROUP_DISTRICT_TH]: '工服处',
+  [GROUP_DISTRICT_FI]: '工服处-分管领导',
   [GROUP_PROVINCE]: '省文化和旅游厅',
 };
 export const PROGRESS_SUBMIT_LABELS: Record<number, string> = {
@@ -116,4 +133,18 @@ export const PROGRESS_SUBMIT_LABELS: Record<number, string> = {
   3: '3 — 县(区)文旅部门审核完成',
   4: '4 — 设区市文旅部门、省非遗中心审核完成',
   5: '5 — 省文化和旅游厅审核完成',
+};
+
+export interface GroupFieldDef {
+  opinionField: string;
+  pointsField: string;
+  label: string;
+}
+
+export const GROUP_FIELD_MAP: Record<number, GroupFieldDef> = {
+  [GROUP_DISTRICT_ST]: { opinionField: 'districtSt', pointsField: 'districtStPoints', label: '项目负责人' },
+  [GROUP_DISTRICT_ND]: { opinionField: 'districtNd', pointsField: 'districtNdPoints', label: '部门主任' },
+  [GROUP_DISTRICT_RD]: { opinionField: 'districtRd', pointsField: 'districtRdPoints', label: '分管领导' },
+  [GROUP_DISTRICT_TH]: { opinionField: 'districtTh', pointsField: 'districtThPoints', label: '工服处' },
+  [GROUP_DISTRICT_FI]: { opinionField: 'districtFi', pointsField: 'districtFiPoints', label: '工服处-分管领导' },
 };

+ 1 - 1
src/pages/collect/assessment/composeables/Review.ts

@@ -1,5 +1,5 @@
 import { computed, type ComputedRef } from "vue";
-import { GROUP_LABELS, GROUP_PROTECT_UNIT, GROUP_TO_REVIEW_PROGRESS, SUBMITED_PROGRESS, GROUP_PROVINCE, GROUP_DISTRICT_CENTER, GROUP_DISTRICT, GROUP_DISTRICT_ST, GROUP_DISTRICT_ND, GROUP_DISTRICT_RD, GROUP_DISTRICT_TH } from "./GroupData";
+import { GROUP_LABELS, GROUP_PROTECT_UNIT, GROUP_TO_REVIEW_PROGRESS, SUBMITED_PROGRESS, GROUP_PROVINCE, GROUP_DISTRICT_CENTER, GROUP_DISTRICT, GROUP_DISTRICT_ST, GROUP_DISTRICT_ND, GROUP_DISTRICT_RD, GROUP_DISTRICT_TH, GROUP_DISTRICT_FI } from "./GroupData";
 import { useAuthStore } from "@/stores/auth";
 
 export function useReview(sourceProgress?: ComputedRef<number>) {

+ 179 - 97
src/pages/collect/assessment/evaluation-form-review.vue

@@ -37,6 +37,14 @@
                 <a-button
                   size="small"
                   type="text"
+                  :icon="h(FileTextOutlined)"
+                  @click="goToAssessmentProtocol"
+                >
+                  传承协议审核
+                </a-button>
+                <a-button
+                  size="small"
+                  type="text"
                   :icon="h(reviewCardCollapsed ? UpOutlined : DownOutlined)"
                   @click="reviewCardCollapsed = !reviewCardCollapsed"
                 >
@@ -51,13 +59,6 @@
                 message="当前账号用户组无权在此环节审核"
               />
               <a-alert
-                v-else-if="alreadySubmitted"
-                type="success"
-                show-icon
-                class="mb-4"
-                message="当前角色已提交意见,无需重复提交"
-              />
-              <a-alert
                 v-else-if="currentForm.rejectType > 0"
                 type="warning"
                 show-icon
@@ -65,62 +66,110 @@
                 :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="isNoProgressChange ? `提交意见:${reviewLevelLabel}` : `审核通过:${reviewLevelLabel}`">
+                
+                <a-alert
+                  v-if="alreadySubmitted"
+                  type="success"
+                  show-icon
+                  class="mb-4"
+                  message="当前角色已提交意见,无需重复提交"
+                />
+                <div class="flex flex-col md:flex-row lg:flex-row w-full gap-3 py-3">
+                  <div
+                    v-for="{ gid, def } in displayFieldDefs"
+                    :key="gid"
+                    class="flex flex-col flex-1"
+                  >
+                    <a-form-item :required="gid === currentUserGroupId" :label="`${def.label} — 审核意见`">
                       <a-select
-                        v-model:value="reviewOpinion"
+                        :value="reviewFields[gid]?.opinion"
                         allow-clear
                         placeholder="请选择审核意见"
                         :options="opinionSelectOptions"
+                        :disabled="alreadySubmitted || gid !== currentUserGroupId"
+                        @update:value="(v: number | null) => { if (!reviewFields[gid]) reviewFields[gid] = { opinion: null, points: null }; reviewFields[gid].opinion = v; }"
                       />
                     </a-form-item>
-                    <a-form-item label="评分">
+                    <a-form-item :label="`${def.label} — 评分`">
                       <a-input-number
-                        v-model:value="reviewPoints"
+                        :value="reviewFields[gid]?.points"
                         :min="0"
                         :max="100"
                         class="w-full"
                         placeholder="请填写分数"
+                        :disabled="alreadySubmitted || gid !== currentUserGroupId"
+                        @update:value="(v: number | null) => { if (!reviewFields[gid]) reviewFields[gid] = { opinion: null, points: null }; reviewFields[gid].points = v; }"
                       />
                     </a-form-item>
                   </div>
-                  <div v-if="!isNoProgressChange || reviewProgressInfo?.canReject" class="flex flex-col flex-1">
-                    <a-form-item required label="不通过回退:回退原因">
-                      <a-textarea
-                        v-model:value="rejectReason"
+                  <div v-if="displayFieldDefs.length === 0" class="flex flex-col flex-1">
+                    <a-form-item required :label="isNoProgressChange ? `提交意见:${reviewLevelLabel}` : `审核通过:${reviewLevelLabel}`">
+                      <a-select
+                        :value="reviewFields[currentUserGroupId]?.opinion"
                         allow-clear
-                        placeholder="请输入回退原因"
-                        rows="5"
-                        maxlength="500"
-                        show-count
+                        placeholder="请选择审核意见"
+                        :options="opinionSelectOptions"
+                        :disabled="alreadySubmitted"
+                        @update:value="(v: number | null) => { if (!reviewFields[currentUserGroupId]) reviewFields[currentUserGroupId] = { opinion: null, points: null }; reviewFields[currentUserGroupId].opinion = v; }"
+                      />
+                    </a-form-item>
+                    <a-form-item label="评分">
+                      <a-input-number
+                        :value="reviewFields[currentUserGroupId]?.points"
+                        :min="0"
+                        :max="100"
+                        class="w-full"
+                        placeholder="请填写分数"
+                        :disabled="alreadySubmitted"
+                        @update:value="(v: number | null) => { if (!reviewFields[currentUserGroupId]) reviewFields[currentUserGroupId] = { opinion: null, points: null }; reviewFields[currentUserGroupId].points = v; }"
                       />
                     </a-form-item>
                   </div>
+                    <div v-if="!isNoProgressChange || reviewProgressInfo?.canReject" class="flex flex-col flex-1">     
+                      <a-alert
+                        v-if="currentForm.rejectReason"
+                        type="warning"
+                        show-icon
+                        class="mb-4"
+                        :message="`历史修改意见: ${currentForm.rejectReason}`"
+                      />
+                      <a-form-item required label="不通过回退:回退原因">
+                        <a-textarea
+                          v-model:value="rejectReason"
+                          allow-clear
+                          placeholder="请输入回退原因"
+                          rows="5"
+                          maxlength="500"
+                          show-count
+                        />
+                      </a-form-item>
+                    </div>
                 </div>
                 <div class="flex row w-full gap-3">
-                  <div class="flex flex-col flex-1">
-                    <a-button
-                      block
-                      type="primary"
-                      :loading="submitLoading"
-                      :disabled="!canSubmitReview"
-                      @click="submitReview"
-                    >
-                      {{ isNoProgressChange ? '提交意见' : '通过审核' }}
-                    </a-button>
-                  </div>
-                  <div v-if="isNoProgressChange || reviewProgressInfo?.canReject" class="flex flex-col flex-1">
-                    <a-button
-                      block
-                      danger
-                      :loading="rejectLoading"
-                      :disabled="!canSubmitReview"
-                      @click="submitReject"
-                    >
-                      {{ isNoProgressChange ? '预回退' : '回退'}}
-                    </a-button>
-                  </div>
+                  <template v-if="!alreadySubmitted">
+                    <div class="flex flex-col flex-1">
+                      <a-button
+                        block
+                        type="primary"
+                        :loading="submitLoading"
+                        :disabled="!canSubmitReview"
+                        @click="submitReview"
+                      >
+                        {{ isNoProgressChange ? '提交意见' : '通过审核' }}
+                      </a-button>
+                    </div>
+                    <div v-if="isNoProgressChange || reviewProgressInfo?.canReject" class="flex flex-col flex-1">
+                      <a-button
+                        block
+                        danger
+                        :loading="rejectLoading"
+                        :disabled="!canSubmitReview"
+                        @click="submitReject"
+                      >
+                        {{ isNoProgressChange ? '预回退' : '回退'}}
+                      </a-button>
+                    </div>
+                  </template>
                 </div>
               </a-form>
             </a-card>
@@ -136,7 +185,7 @@ import { computed, h, onMounted, ref, watch } from 'vue';
 import { useRoute, useRouter } from 'vue-router';
 import { message, Modal } from 'ant-design-vue';
 import { RequestApiError } from '@imengyu/imengyu-utils';
-import { ArrowLeftOutlined, UpOutlined, DownOutlined } from '@ant-design/icons-vue';
+import { ArrowLeftOutlined, UpOutlined, DownOutlined, FileTextOutlined } from '@ant-design/icons-vue';
 import AssessmentContentApi, {
   type CheckItemInfo,
   getRejectTypeText,
@@ -147,7 +196,7 @@ import SelfAssessmentFormDisplay from './components/SelfAssessmentFormDisplay.vu
 import { useSimpleDataLoader } from '@/composeables/useSimpleDataLoader';
 import { useAuthStore } from '@/stores/auth';
 import { useMemorizeVar } from '@/composeables/useMemorizeVar';
-import { GROUP_TO_REVIEW_PROGRESS, GROUP_DISTRICT_ST, GROUP_DISTRICT_ND, GROUP_DISTRICT_RD, GROUP_DISTRICT_TH, PROGRESS_SUBMIT_LABELS } from './composeables/GroupData.ts';
+import { GROUP_TO_REVIEW_PROGRESS, GROUP_DISTRICT_ST, GROUP_DISTRICT_ND, GROUP_DISTRICT_RD, GROUP_DISTRICT_TH, GROUP_DISTRICT_FI, PROGRESS_SUBMIT_LABELS, GROUP_FIELD_MAP, type GroupFieldDef } from './composeables/GroupData.ts';
 import { isInMiniProgram } from '@/composeables/MiniProgramIng.ts';
 import { useReview } from './composeables/Review.ts';
 
@@ -181,10 +230,26 @@ const { variable: reviewCardCollapsed } = useMemorizeVar<boolean>('evaluation-fo
 
 const submitLoading = ref(false);
 const rejectLoading = ref(false);
-const reviewOpinion = ref<number | null>(null);
-const reviewPoints = ref<number | null>(null);
 const rejectReason = ref<string | null>(null);
 
+interface ReviewFieldState {
+  opinion: number | null;
+  points: number | null;
+}
+const reviewFields = ref<Record<number, ReviewFieldState>>({});
+
+const displayGroupIds = computed(() => {
+  const info = reviewProgressInfo.value;
+  if (!info) return [currentUserGroupId.value];
+  return info.displayGroup ?? [currentUserGroupId.value];
+});
+
+const displayFieldDefs = computed(() => {
+  return displayGroupIds.value
+    .map((gid) => ({ gid, def: GROUP_FIELD_MAP[gid] }))
+    .filter((item): item is { gid: number; def: GroupFieldDef } => !!item.def);
+});
+
 const opinionSelectOptions = [
   { label: '请选择', value: 0 },
   { label: '优秀', value: 1 },
@@ -209,6 +274,7 @@ const alreadySubmitted = computed(() => {
   const gid = currentUserGroupId.value;
   if (gid === GROUP_DISTRICT_ST) return (f.districtSt ?? 0) > 0;
   if (gid === GROUP_DISTRICT_ND) return (f.districtNd ?? 0) > 0;
+  if (gid === GROUP_DISTRICT_FI) return (f.districtFi ?? 0) > 0;
   return false;
 });
 
@@ -236,36 +302,24 @@ async function loadCheckItems(f: SelfAssessmentDetail) {
 }
 
 function applyPrefillFromDetail(f: SelfAssessmentDetail) {
-  const gid = currentUserGroupId.value;
   rejectReason.value = f.rejectReason;
-  if (gid === GROUP_DISTRICT_ST) {
-    reviewOpinion.value = f.districtSt ?? null;
-    reviewPoints.value = f.districtStPoints || null;
-  } else if (gid === GROUP_DISTRICT_ND) {
-    reviewOpinion.value = f.districtNd ?? null;
-    reviewPoints.value = f.districtNdPoints || null;
-  } else if (gid === GROUP_DISTRICT_RD) {
-    reviewOpinion.value = f.districtRd ?? null;
-    reviewPoints.value = f.districtRdPoints || null;
-  } else if (gid === GROUP_DISTRICT_TH) {
-    reviewOpinion.value = f.districtTh ?? null;
-    reviewPoints.value = f.districtThPoints || null;
-  } else {
-    const t = reviewProgressInfo.value.target;
-    if (t === 2) {
-      reviewOpinion.value = f.ichUnit ?? null;
-      reviewPoints.value = f.unitPoints || null;
-    } else if (t === 3) {
-      reviewOpinion.value = f.county ?? null;
-      reviewPoints.value = f.countyPoints || null;
-    } else if (t === 4) {
-      reviewOpinion.value = f.district ?? null;
-      reviewPoints.value = f.districtPoints || null;
-    } else if (t === 5) {
-      reviewOpinion.value = f.province ?? null;
-      reviewPoints.value = f.provincePoints || null;
-    }
+  const fields: Record<number, ReviewFieldState> = {};
+  for (const { gid, def } of displayFieldDefs.value) {
+    fields[gid] = {
+      opinion: (f as any)[def.opinionField] ?? null,
+      points: (f as any)[def.pointsField] || null,
+    };
+  }
+  // fallback for non-displayGroup roles (progress-based)
+  if (displayFieldDefs.value.length === 0) {
+    const gid = currentUserGroupId.value;
+    const t = reviewProgressInfo.value?.target;
+    if (t === 2) fields[gid] = { opinion: f.ichUnit ?? null, points: f.unitPoints || null };
+    else if (t === 3) fields[gid] = { opinion: f.county ?? null, points: f.countyPoints || null };
+    else if (t === 4) fields[gid] = { opinion: f.district ?? null, points: f.districtPoints || null };
+    else if (t === 5) fields[gid] = { opinion: f.province ?? null, points: f.provincePoints || null };
   }
+  reviewFields.value = fields;
 }
 
 const loader = useSimpleDataLoader(async () => {
@@ -300,6 +354,29 @@ onMounted(() => {
   loader.load();
 });
 
+async function goToAssessmentProtocol() {
+  const list = await AssessmentContentApi.getUserAgreementList({
+    year: new Date().getFullYear(),
+    page: 1,
+    pageSize: 10,
+    keywords: currentForm.value?.inheritor || undefined
+  });
+  if (list.data.length === 0) {
+    message.warning('无可审核的传承协议');
+    return;
+  }
+  const item = list.data[0];
+  const path = router.resolve({
+    name: 'CollectAgreementSignReview',
+    query: {
+      id: String(item.agreementId),
+      userId: String(item.userId),
+      ...(item.progress != null ? { progress: String(item.progress) } : {}),
+    },
+  });
+  window.open(path.href, '_blank');
+}
+
 async function submitReject() {
   const f = currentForm.value;
   if (!f?.id) {
@@ -342,37 +419,42 @@ async function submitReview() {
     message.warning('当前账号用户组无权提交审核');
     return;
   }
-  if (reviewOpinion.value == null || reviewOpinion.value === 0) {
+  const gid = currentUserGroupId.value;
+  const myField = reviewFields.value[gid];
+  if (myField?.opinion == null || myField.opinion === 0) {
     message.warning('请选择审核意见');
     return;
   }
-  if (reviewPoints.value == null) {
+  if (myField?.points == null) {
     message.warning('请输入审核评分');
     return;
   }
-  const gid = currentUserGroupId.value;
-  const points = reviewPoints.value;
-  const op = reviewOpinion.value;
   const noProgressChange = isNoProgressChange.value;
-  const base = { id: f.id, progress: noProgressChange ? f.progress : reviewProgressInfo.value.target };
+  const base: Record<string, any> = { id: f.id, progress: noProgressChange ? f.progress : reviewProgressInfo.value.target };
+
+  // Collect all fields from the display group
+  for (const { gid: fieldGid, def } of displayFieldDefs.value) {
+    const state = reviewFields.value[fieldGid];
+    if (state?.opinion != null && state.opinion > 0) {
+      base[def.opinionField] = state.opinion;
+    }
+    if (state?.points != null) {
+      base[def.pointsField] = state.points;
+    }
+  }
+  // Fallback for non-displayGroup (progress-based) roles
+  if (displayFieldDefs.value.length === 0) {
+    const op = myField.opinion;
+    const points = myField.points;
+    if (base.progress === 2) { base.ichUnit = op; base.unitPoints = points; }
+    else if (base.progress === 3) { base.county = op; base.countyPoints = points; }
+    else if (base.progress === 4) { base.district = op; base.districtPoints = points; }
+    else { base.province = op; base.provincePoints = points; }
+  }
+
   try {
     submitLoading.value = true;
-    if (gid === GROUP_DISTRICT_ST)
-      await AssessmentContentApi.reviewSelfAssessment({ ...base, districtSt: op, districtStPoints: points });
-    else if (gid === GROUP_DISTRICT_ND)
-      await AssessmentContentApi.reviewSelfAssessment({ ...base, districtNd: op, districtNdPoints: points });
-    else if (gid === GROUP_DISTRICT_RD)
-      await AssessmentContentApi.reviewSelfAssessment({ ...base, districtRd: op, districtRdPoints: points });
-    else if (gid === GROUP_DISTRICT_TH)
-      await AssessmentContentApi.reviewSelfAssessment({ ...base, districtTh: op, districtThPoints: points });
-    else if (base.progress === 2)
-      await AssessmentContentApi.reviewSelfAssessment({ ...base, ichUnit: op, unitPoints: points });
-    else if (base.progress === 3)
-      await AssessmentContentApi.reviewSelfAssessment({ ...base, county: op, countyPoints: points });
-    else if (base.progress === 4)
-      await AssessmentContentApi.reviewSelfAssessment({ ...base, district: op, districtPoints: points });
-    else
-      await AssessmentContentApi.reviewSelfAssessment({ ...base, province: op, provincePoints: points });
+    await AssessmentContentApi.reviewSelfAssessment(base as any);
     message.success(noProgressChange ? '意见提交成功' : '审核提交成功');
     loader.load();
   } catch (e) {