fix: 修复三个问题
问题1:接单部门负责人审核缺少指派选项 - 已在之前修复handleApproveTask函数,接单部门负责人审核时会调用handleApproveTwoLevelTask - 提供完整的审核选项(指派设计师/发布到大厅) 问题2:被驳回任务状态显示和编辑功能 - 修复状态显示:rejected显示"已驳回"(之前显示"已取消") - 添加"重新编辑提交"按钮到被驳回的任务卡片 - 点击跳转到任务创建页面进行编辑 - 用户可以修改任务信息后重新提交审核 问题3:钉钉群通知调试改进 - 添加更详细的日志记录 - 在发送前后都记录日志 - 记录sendRobotMessage的返回值 - 方便排查通知发送失败的问题 改进内容: 1. 任务状态映射优化 - rejected -> "已驳回" - cancelled -> "已取消" - 不再混淆这两种状态 2. 被驳回任务编辑流程 - 任务卡片显示"重新编辑提交"按钮 - 跳转到创建页面(带editId和mode参数) - 保留原有任务信息,允许修改后重新提交 3. 钉钉通知日志增强 - "准备发送钉钉群通知" - "准备调用钉钉机器人发送消息" - "钉钉群通知发送成功/失败" - 详细的异常堆栈信息
This commit is contained in:
parent
fdda2e5878
commit
193810628a
@ -261,6 +261,7 @@ public class TaskApprovalService {
|
||||
if (assignedReceiverId != null) {
|
||||
log.info("任务【{}】已指定给设计师", task.getTitle());
|
||||
} else {
|
||||
log.info("任务【{}】已发布到任务大厅,准备发送钉钉群通知", task.getTitle());
|
||||
// 任务发布到大厅,发送钉钉群机器人通知
|
||||
try {
|
||||
String title = "🎯 新任务发布";
|
||||
@ -283,10 +284,15 @@ public class TaskApprovalService {
|
||||
content.append("---\n\n");
|
||||
content.append("💡 赶快去任务大厅抢单吧!");
|
||||
|
||||
dingTalkService.sendRobotMessage(title, content.toString());
|
||||
log.info("任务【{}】已发布到任务大厅,已发送钉钉群通知", task.getTitle());
|
||||
log.info("准备调用钉钉机器人发送消息,title={}", title);
|
||||
boolean success = dingTalkService.sendRobotMessage(title, content.toString());
|
||||
if (success) {
|
||||
log.info("任务【{}】钉钉群通知发送成功", task.getTitle());
|
||||
} else {
|
||||
log.warn("任务【{}】钉钉群通知发送失败(返回false)", task.getTitle());
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.error("发送钉钉群通知失败:taskId={}", taskId, e);
|
||||
log.error("发送钉钉群通知异常:taskId={}, error={}", taskId, e.getMessage(), e);
|
||||
// 通知发送失败不影响主流程
|
||||
}
|
||||
}
|
||||
|
||||
@ -1567,6 +1567,18 @@
|
||||
<span style="color: #ffffff;">截止: {{ formatDate(task.deadline) }}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 被驳回任务的操作按钮 -->
|
||||
<div v-if="task.status === 'rejected'" class="task-actions" style="margin-top: 16px; padding-top: 16px; border-top: 1px solid rgba(49, 240, 139, 0.2);">
|
||||
<a-button
|
||||
type="primary"
|
||||
size="small"
|
||||
@click.stop="handleEditRejectedTask(task)"
|
||||
style="width: 100%;">
|
||||
<Icon name="edit" size="sm" style="margin-right: 4px;" />
|
||||
重新编辑提交
|
||||
</a-button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -2200,7 +2212,11 @@ const getProcessStage = (task: TaskOrSubTask): string => {
|
||||
return '已完成'
|
||||
}
|
||||
|
||||
if (task.status === 'rejected' || task.status === 'cancelled') {
|
||||
if (task.status === 'rejected') {
|
||||
return '已驳回'
|
||||
}
|
||||
|
||||
if (task.status === 'cancelled') {
|
||||
return '已取消'
|
||||
}
|
||||
|
||||
@ -3270,6 +3286,18 @@ const handleUpdateProgress = (task: TaskOrSubTask) => {
|
||||
}
|
||||
|
||||
// 完结任务(支持普通任务和子任务)
|
||||
// 编辑被驳回的任务
|
||||
const handleEditRejectedTask = (task: Task) => {
|
||||
// 跳转到创建任务页面,并传入任务ID作为编辑标识
|
||||
router.push({
|
||||
path: '/tasks/create',
|
||||
query: {
|
||||
editId: task.id,
|
||||
mode: 'edit'
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
const handleCompleteTask = (task: TaskOrSubTask) => {
|
||||
let deliveryPath = ''
|
||||
const isSubTask = task.isSubTask
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user