yxk-20260729
改善提案 投票/打分页面逻辑优化
This commit is contained in:
@@ -88,8 +88,8 @@
|
||||
<template v-if="isTask('Task_improve005')">
|
||||
<a-form-item label="我的投票">
|
||||
<a-space v-if="currentVote">
|
||||
<a-button type="primary" :disabled="currentVote.voteStatus === 'voted'" :loading="savingVote" @click="castVote('agree')">同意</a-button>
|
||||
<a-button danger :disabled="currentVote.voteStatus === 'voted'" :loading="savingVote" @click="castVote('disagree')">不同意</a-button>
|
||||
<a-button :type="currentVote.voteResult === 'agree' ? 'primary' : 'default'" :disabled="voteLocked" :loading="savingVote" @click="saveVoteDraft('agree')">投票通过</a-button>
|
||||
<a-button danger :type="currentVote.voteResult === 'disagree' ? 'primary' : 'default'" :disabled="voteLocked" :loading="savingVote" @click="saveVoteDraft('disagree')">投票反对</a-button>
|
||||
<span>{{ voteResultLabel(currentVote) }}</span>
|
||||
</a-space>
|
||||
<span v-else class="form-help">当前用户不在所级评议投票名单中。</span>
|
||||
@@ -188,6 +188,7 @@
|
||||
saveInitialReview,
|
||||
saveInstituteVoteMembers,
|
||||
saveLeaderAward,
|
||||
submitInstituteVote,
|
||||
submitDeptScore,
|
||||
} from '../ImprovementProposal.api';
|
||||
|
||||
@@ -256,6 +257,7 @@
|
||||
return awardOptions.filter((item) => Number(item.value) >= Number(leaderAwardBase.value));
|
||||
});
|
||||
const currentVote = computed(() => voteRows.value.find((item) => String(item.voterId) === currentUserId.value));
|
||||
const voteLocked = computed(() => currentVote.value?.voteStatus === 'voted');
|
||||
|
||||
watch(
|
||||
() => [processInfo.value.mainId, processInfo.value.processInstanceId, processInfo.value.taskId, processInfo.value.taskDefKey],
|
||||
@@ -349,9 +351,12 @@
|
||||
}
|
||||
await saveInstituteVoteMembers(actionPayload({ voterIds: selectedInstituteVoterIds.value }));
|
||||
}
|
||||
if (isTask('Task_improve005') && currentVote.value?.voteStatus !== 'voted') {
|
||||
createMessage.warning('请先完成投票');
|
||||
return false;
|
||||
if (isTask('Task_improve005')) {
|
||||
if (!currentVote.value?.voteResult) {
|
||||
createMessage.warning('请先选择投票通过或投票反对');
|
||||
return false;
|
||||
}
|
||||
await submitInstituteVote(actionPayload());
|
||||
}
|
||||
if (isTask('Task_improve006')) {
|
||||
if (!finalAward.value) {
|
||||
@@ -367,11 +372,11 @@
|
||||
}
|
||||
}
|
||||
|
||||
async function castVote(voteResult: string) {
|
||||
async function saveVoteDraft(voteResult: string) {
|
||||
savingVote.value = true;
|
||||
try {
|
||||
await castInstituteVote(actionPayload({ voteResult }));
|
||||
createMessage.success('投票成功');
|
||||
createMessage.success('投票已保存,提交办理前可修改');
|
||||
await loadProposal();
|
||||
} catch (error: any) {
|
||||
createMessage.warning(error?.message || '投票失败');
|
||||
@@ -438,7 +443,11 @@
|
||||
}
|
||||
|
||||
function voteResultLabel(vote: Recordable) {
|
||||
if (vote.voteStatus !== 'voted') return '待投票';
|
||||
if (vote.voteStatus !== 'voted') {
|
||||
if (vote.voteResult === 'agree') return '已选择投票通过,待提交办理';
|
||||
if (vote.voteResult === 'disagree') return '已选择投票反对,待提交办理';
|
||||
return '待投票';
|
||||
}
|
||||
return vote.voteResult === 'agree' ? '已投同意票' : '已投不同意票';
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user