diff --git a/src/feature-module/projects/projecttracker.jsx b/src/feature-module/projects/projecttracker.jsx index b910bea..ca7f52e 100644 --- a/src/feature-module/projects/projecttracker.jsx +++ b/src/feature-module/projects/projecttracker.jsx @@ -72,7 +72,7 @@ const ProjectTracker = () => { progress: project.progressPercentage, deadline: dayjs(project.endDate).format('DD MMM YYYY'), status: formatStatus(project.status), - statusColor: getStatusColor(project.status), + statusConfig: getStatusConfig(project.status), priority: project.priority, starred: false, budget: `$${project.budget.toLocaleString()}`, @@ -124,15 +124,48 @@ const ProjectTracker = () => { return colorMap[categoryName] || 'blue'; }; - const getStatusColor = (status) => { - const colorMap = { - 'planning': 'default', - 'in-progress': 'warning', - 'review': 'processing', - 'completed': 'success', - 'on-hold': 'error' + const getStatusConfig = (status) => { + const statusLower = (status || 'planning').toLowerCase().replace(/\s+/g, '').replace(/-/g, ''); + + const statusConfigs = { + 'planning': { + color: '#1890ff', + backgroundColor: 'rgba(24, 144, 255, 0.1)', + borderColor: '#1890ff', + textColor: '#1890ff', + icon: '📋' + }, + 'completed': { + color: '#52c41a', + backgroundColor: 'rgba(82, 196, 26, 0.1)', + borderColor: '#52c41a', + textColor: '#52c41a', + icon: '✅' + }, + 'pending': { + color: '#faad14', + backgroundColor: 'rgba(250, 173, 20, 0.1)', + borderColor: '#faad14', + textColor: '#faad14', + icon: '⏳' + }, + 'inprogress': { + color: '#722ed1', + backgroundColor: 'rgba(114, 46, 209, 0.1)', + borderColor: '#722ed1', + textColor: '#722ed1', + icon: '🚀' + }, + 'onhold': { + color: '#f5222d', + backgroundColor: 'rgba(245, 34, 45, 0.1)', + borderColor: '#f5222d', + textColor: '#f5222d', + icon: '⏸️' + } }; - return colorMap[status] || 'default'; + + return statusConfigs[statusLower] || statusConfigs['planning']; }; const formatStatus = (status) => { @@ -253,7 +286,7 @@ const ProjectTracker = () => { ) }, { - title: 'Progress', + title: 'Tiến độ', dataIndex: 'progress', key: 'progress', render: (progress) => ( @@ -279,22 +312,33 @@ const ProjectTracker = () => { ) }, { - title: 'Status', + title: 'Trạng thái', dataIndex: 'status', key: 'status', - render: (status, record) => ( - - {status} - - ) + render: (status, record) => { + const config = record.statusConfig || getStatusConfig(status); + return ( +
+ {config.icon} + {status} +
+ ); + } }, { title: 'Budget', @@ -363,7 +407,7 @@ const ProjectTracker = () => { Project Lists - +
@@ -412,10 +456,11 @@ const ProjectTracker = () => { style={{ width: 140, height: 42 }} > - - - - + + + + +