任务取消样式优化
This commit is contained in:
parent
b139fd23fe
commit
225ecab0e1
|
|
@ -195,7 +195,7 @@
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<!-- 立即处理按钮 -->
|
<!-- 立即处理按钮 -->
|
||||||
<view class="task-action" v-if="task.status !== 'completed'">
|
<view class="task-action" v-if="task.status !== 'completed'&&task.status !=='cancelled'">
|
||||||
<uv-button
|
<uv-button
|
||||||
:type="getButtonType(task.status)"
|
:type="getButtonType(task.status)"
|
||||||
size="small"
|
size="small"
|
||||||
|
|
@ -518,12 +518,32 @@ const determineTaskStatus = (item, expireTime) => {
|
||||||
const transformTaskData = (item) => {
|
const transformTaskData = (item) => {
|
||||||
const expireTime = item.expireTime || item.expire_time || '';
|
const expireTime = item.expireTime || item.expire_time || '';
|
||||||
|
|
||||||
// 最高优先级:判断任务状态 - status===4 或 status==='4' 直接返回completed,不做任何其他校验
|
// 最高优先级:判断任务状态 - 先检查已取消,再检查已完成
|
||||||
// 支持多种字段名和数据类型:status、taskStatus、statusId 等
|
// 支持多种字段名和数据类型:status、taskStatus、statusId 等
|
||||||
const taskStatus = item.status !== undefined ? item.status :
|
const taskStatus = item.status !== undefined ? item.status :
|
||||||
item.taskStatus !== undefined ? item.taskStatus :
|
item.taskStatus !== undefined ? item.taskStatus :
|
||||||
item.statusId !== undefined ? item.statusId : null;
|
item.statusId !== undefined ? item.statusId : null;
|
||||||
|
|
||||||
|
// 检查是否已取消(支持数字6、字符串'6'等多种格式)- 优先级最高
|
||||||
|
const isCancelled = taskStatus === 6 ||
|
||||||
|
taskStatus === '6' ||
|
||||||
|
String(taskStatus) === '6';
|
||||||
|
|
||||||
|
// 如果已取消,直接返回取消状态,不做过期校验,不计算剩余天数
|
||||||
|
if (isCancelled) {
|
||||||
|
return {
|
||||||
|
id: item.id || '',
|
||||||
|
status: 'cancelled', // 固定为cancelled,确保显示已取消样式
|
||||||
|
createName: item.createName || '',
|
||||||
|
date: formatDate(expireTime) || '',
|
||||||
|
project: item.projectName || item.project_name || '',
|
||||||
|
description: item.description || item.task_name || '',
|
||||||
|
owner: getOwnerNames(item.memberList || item.member_list || []),
|
||||||
|
releaseTime: formatDate(item.createTime || item.create_time) || '',
|
||||||
|
remainingDays: null // 已取消任务不计算剩余天数
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
// 检查是否已完成(支持数字4、字符串'4'、字符串'completed'等多种格式)
|
// 检查是否已完成(支持数字4、字符串'4'、字符串'completed'等多种格式)
|
||||||
const isCompleted = taskStatus === 4 ||
|
const isCompleted = taskStatus === 4 ||
|
||||||
taskStatus === '4' ||
|
taskStatus === '4' ||
|
||||||
|
|
@ -583,7 +603,8 @@ const getTaskCardClass = (status) => {
|
||||||
'task-card-imminent': status === 'imminent',
|
'task-card-imminent': status === 'imminent',
|
||||||
'task-card-pending': status === 'pending',
|
'task-card-pending': status === 'pending',
|
||||||
'task-card-completed': status === 'completed',
|
'task-card-completed': status === 'completed',
|
||||||
'task-card-overdue': status === 'overdue'
|
'task-card-overdue': status === 'overdue',
|
||||||
|
'task-card-cancelled': status === 'cancelled'
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -37,6 +37,13 @@
|
||||||
border-left: 4px solid #f56c6c;
|
border-left: 4px solid #f56c6c;
|
||||||
box-shadow: 0 2px 12px rgba(255, 68, 68, 0.1);
|
box-shadow: 0 2px 12px rgba(255, 68, 68, 0.1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 已取消卡片样式 - 优先级高于逾期
|
||||||
|
&.task-card-cancelled {
|
||||||
|
border-left: 4px solid #909399;
|
||||||
|
opacity: 0.75;
|
||||||
|
background: #f5f5f5;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.task-header {
|
.task-header {
|
||||||
|
|
|
||||||
|
|
@ -53,6 +53,13 @@ export const TASK_STATUS_COLORS = {
|
||||||
color: '#fff',
|
color: '#fff',
|
||||||
borderColor: '#909399',
|
borderColor: '#909399',
|
||||||
type: 'info'
|
type: 'info'
|
||||||
|
},
|
||||||
|
// 已取消任务
|
||||||
|
cancelled: {
|
||||||
|
backgroundColor: '#909399',
|
||||||
|
color: '#fff',
|
||||||
|
borderColor: '#909399',
|
||||||
|
type: 'info'
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -62,6 +69,7 @@ export const STATUS_TEXT_MAP = {
|
||||||
'pending': '待完成',
|
'pending': '待完成',
|
||||||
'completed': '已完成',
|
'completed': '已完成',
|
||||||
'overdue': '逾期',
|
'overdue': '逾期',
|
||||||
|
'cancelled': '已取消',
|
||||||
'urgent': '紧急',
|
'urgent': '紧急',
|
||||||
'important': '重要',
|
'important': '重要',
|
||||||
'normal': '普通'
|
'normal': '普通'
|
||||||
|
|
@ -73,6 +81,7 @@ export const STATUS_TYPE_MAP = {
|
||||||
'pending': 'primary',
|
'pending': 'primary',
|
||||||
'completed': 'info',
|
'completed': 'info',
|
||||||
'overdue': 'error',
|
'overdue': 'error',
|
||||||
|
'cancelled': 'info',
|
||||||
'urgent': 'error',
|
'urgent': 'error',
|
||||||
'important': 'primary',
|
'important': 'primary',
|
||||||
'normal': 'info'
|
'normal': 'info'
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user