yxk-20260729

改善提案
Task_improve005 不显示 TaskHandleInnerContent。评委选择“投票通过”或“投票反对”后弹出确认框;确认即锁定个人投票并直接完成当前流程任务。
This commit is contained in:
ye1023
2026-07-29 13:50:32 +08:00
parent c4fc82ef48
commit c6dabb0d45
@@ -86,12 +86,15 @@
</template> </template>
<template v-if="isTask('Task_improve005')"> <template v-if="isTask('Task_improve005')">
<a-form-item label="我的投票"> <!-- 投票操作独占整行避免受通用标签列宽影响而视觉偏右 -->
<a-space v-if="currentVote"> <a-form-item label="我的投票" class="vote-action-form-item" :label-col="{ span: 24 }" :wrapper-col="{ span: 24 }">
<a-button :type="currentVote.voteResult === 'agree' ? 'primary' : 'default'" :loading="savingVote" @click="confirmInstituteVote('agree')">投票通过</a-button> <div v-if="currentVote" class="vote-action-panel">
<a-button danger :type="currentVote.voteResult === 'disagree' ? 'primary' : 'default'" :loading="savingVote" @click="confirmInstituteVote('disagree')">投票反对</a-button> <div class="vote-action-buttons">
<span>{{ voteResultLabel(currentVote) }}</span> <a-button size="large" type="primary" class="vote-action-button" :loading="savingVote" @click="confirmInstituteVote('agree')">投票通过</a-button>
</a-space> <a-button size="large" danger class="vote-action-button" :type="currentVote.voteResult === 'disagree' ? 'primary' : 'default'" :loading="savingVote" @click="confirmInstituteVote('disagree')">投票反对</a-button>
</div>
<span class="vote-action-status">{{ voteResultLabel(currentVote) }}</span>
</div>
<span v-else class="form-help">当前用户不在所级评议投票名单中</span> <span v-else class="form-help">当前用户不在所级评议投票名单中</span>
</a-form-item> </a-form-item>
</template> </template>
@@ -516,6 +519,44 @@
margin-bottom: 16px; margin-bottom: 16px;
} }
.vote-action-panel {
display: flex;
flex-direction: column;
align-items: center;
width: 100%;
}
.vote-action-form-item {
:deep(.ant-form-item-label) {
padding-bottom: 8px;
text-align: center;
}
:deep(.ant-form-item-control-input-content) {
width: 100%;
}
}
.vote-action-buttons {
display: grid;
grid-template-columns: repeat(2, minmax(160px, 1fr));
gap: 16px;
width: min(100%, 352px);
}
.vote-action-button {
min-width: 160px;
height: 52px;
font-size: 16px;
}
.vote-action-status {
margin-top: 10px;
color: #64748b;
font-size: 14px;
text-align: center;
}
.vote-member-grid { .vote-member-grid {
display: grid; display: grid;
grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
@@ -551,4 +592,15 @@
grid-template-columns: 1fr; grid-template-columns: 1fr;
} }
} }
@media (max-width: 576px) {
.vote-action-buttons {
grid-template-columns: 1fr;
width: min(100%, 280px);
}
.vote-action-button {
width: 100%;
}
}
</style> </style>