|
|
@@ -67,89 +67,106 @@
|
|
|
: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 py-3">
|
|
|
- <div
|
|
|
- v-for="{ gid, def } in displayFieldDefs"
|
|
|
- :key="gid"
|
|
|
- class="flex flex-col flex-1"
|
|
|
- >
|
|
|
- <div class="flex flex-row gap-3">
|
|
|
- <a-form-item :required="gid === currentUserGroupId" :label="`${def.label} — 审核意见`">
|
|
|
+ <!-- 单用户组审核 -->
|
|
|
+ <template v-if="displayFieldDefs.length === 0">
|
|
|
+ <div class="flex flex-col flex-1">
|
|
|
+ <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 v-if="displayFieldDefs.length === 0" class="flex flex-col flex-1">
|
|
|
+ <a-form-item required :label="isNoProgressChange ? `提交意见:${reviewLevelLabel}` : `审核通过:${reviewLevelLabel}`">
|
|
|
<a-select
|
|
|
- :value="reviewFields[gid]?.opinion"
|
|
|
+ :value="reviewFields[currentUserGroupId]?.opinion"
|
|
|
allow-clear
|
|
|
placeholder="请选择审核意见"
|
|
|
:options="opinionSelectOptions"
|
|
|
- @update:value="(v: number | null) => reviewFields[gid].opinion = v"
|
|
|
+ :disabled="alreadySubmitted"
|
|
|
+ @update:value="(v: number | null) => reviewFields[currentUserGroupId].opinion = v"
|
|
|
/>
|
|
|
</a-form-item>
|
|
|
- <a-form-item :label="`${def.label} — 评分`">
|
|
|
+ <a-form-item label="评分">
|
|
|
<a-input-number
|
|
|
- :value="reviewFields[gid]?.points"
|
|
|
+ :value="reviewFields[currentUserGroupId]?.points"
|
|
|
:min="0"
|
|
|
:max="100"
|
|
|
class="w-full"
|
|
|
placeholder="请填写分数"
|
|
|
- @update:value="(v: number | null) => reviewFields[gid].points = v"
|
|
|
+ :disabled="alreadySubmitted"
|
|
|
+ @update:value="(v: number | null) => reviewFields[currentUserGroupId].points = v"
|
|
|
/>
|
|
|
</a-form-item>
|
|
|
</div>
|
|
|
- <a-form-item :label="`${def.label} — 修改意见`">
|
|
|
- <a-textarea
|
|
|
- :value="reviewFields[gid]?.reason"
|
|
|
- @update:value="(v: string | null) => reviewFields[gid].reason = v"
|
|
|
- allow-clear
|
|
|
- placeholder="请输入修改意见/回退原因"
|
|
|
- :rows="5"
|
|
|
- :maxlength="500"
|
|
|
- show-count
|
|
|
- />
|
|
|
- </a-form-item>
|
|
|
- <a-alert
|
|
|
- v-if="alreadySubmitted && gid === currentUserGroupId"
|
|
|
- type="success"
|
|
|
- show-icon
|
|
|
- class="mb-4"
|
|
|
- message="当前角色已提交意见"
|
|
|
- />
|
|
|
- </div>
|
|
|
- <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="请选择审核意见"
|
|
|
- :options="opinionSelectOptions"
|
|
|
- :disabled="alreadySubmitted"
|
|
|
- @update:value="(v: number | 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) => reviewFields[currentUserGroupId].points = v"
|
|
|
- />
|
|
|
- </a-form-item>
|
|
|
- </div>
|
|
|
- <div v-if="displayFieldDefs.length <= 1 && (!isNoProgressChange || reviewProgressInfo?.canReject)" class="flex flex-col flex-1">
|
|
|
- <a-form-item required label="不通过回退:回退原因">
|
|
|
- <a-textarea
|
|
|
- :value="reviewFields[currentUserGroupId].reason"
|
|
|
- @update:value="(v: string | null) => reviewFields[currentUserGroupId].reason = v"
|
|
|
- allow-clear
|
|
|
- placeholder="请输入回退原因"
|
|
|
- :rows="5"
|
|
|
- :maxlength="500"
|
|
|
- show-count
|
|
|
+ </template>
|
|
|
+ <!-- 多用户组审核 -->
|
|
|
+ <template v-else>
|
|
|
+ <div v-if="displayFieldDefs.length <= 1 && (!isNoProgressChange || reviewProgressInfo?.canReject)" class="flex flex-col flex-1">
|
|
|
+ <a-form-item required label="不通过回退:回退原因">
|
|
|
+ <a-textarea
|
|
|
+ :value="reviewFields[currentUserGroupId].reason"
|
|
|
+ @update:value="(v: string | null) => reviewFields[currentUserGroupId].reason = v"
|
|
|
+ allow-clear
|
|
|
+ placeholder="请输入回退原因"
|
|
|
+ :rows="5"
|
|
|
+ :maxlength="500"
|
|
|
+ show-count
|
|
|
+ />
|
|
|
+ </a-form-item>
|
|
|
+ </div>
|
|
|
+ <div
|
|
|
+ v-for="{ gid, def } in displayFieldDefs"
|
|
|
+ :key="gid"
|
|
|
+ class="flex flex-col flex-1"
|
|
|
+ >
|
|
|
+ <div class="flex flex-row gap-3">
|
|
|
+ <a-form-item :required="gid === currentUserGroupId" :label="`${def.label} — 审核意见`">
|
|
|
+ <a-select
|
|
|
+ :value="reviewFields[gid]?.opinion"
|
|
|
+ allow-clear
|
|
|
+ placeholder="请选择审核意见"
|
|
|
+ :options="opinionSelectOptions"
|
|
|
+ @update:value="(v: number | null) => reviewFields[gid].opinion = v"
|
|
|
+ />
|
|
|
+ </a-form-item>
|
|
|
+ <a-form-item :label="`${def.label} — 评分`">
|
|
|
+ <a-input-number
|
|
|
+ :value="reviewFields[gid]?.points"
|
|
|
+ :min="0"
|
|
|
+ :max="100"
|
|
|
+ class="w-full"
|
|
|
+ placeholder="请填写分数"
|
|
|
+ @update:value="(v: number | null) => reviewFields[gid].points = v"
|
|
|
+ />
|
|
|
+ </a-form-item>
|
|
|
+ </div>
|
|
|
+ <a-form-item :label="`${def.label} — 修改意见`">
|
|
|
+ <a-textarea
|
|
|
+ :value="reviewFields[gid]?.reason"
|
|
|
+ @update:value="(v: string | null) => reviewFields[gid].reason = v"
|
|
|
+ allow-clear
|
|
|
+ placeholder="请输入修改意见/回退原因"
|
|
|
+ :rows="5"
|
|
|
+ :maxlength="500"
|
|
|
+ show-count
|
|
|
+ />
|
|
|
+ </a-form-item>
|
|
|
+ <a-alert
|
|
|
+ v-if="alreadySubmitted && gid === currentUserGroupId"
|
|
|
+ type="success"
|
|
|
+ show-icon
|
|
|
+ class="mb-4"
|
|
|
+ message="当前角色已提交意见"
|
|
|
/>
|
|
|
- </a-form-item>
|
|
|
- </div>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
</div>
|
|
|
<div class="flex row w-full gap-3">
|
|
|
<template v-if="!alreadySubmitted || isMulitRole">
|