diff --git a/db/zentao.sql b/db/zentao.sql index 827366da2b..ca94b63909 100755 --- a/db/zentao.sql +++ b/db/zentao.sql @@ -1542,7 +1542,7 @@ CREATE TABLE IF NOT EXISTS `zt_task` ( KEY `execution` (`execution`), KEY `story` (`story`), KEY `parent` (`parent`), - KEY `assignedTo` (`assignedTo`) + KEY `assignedTo` (`assignedTo`), KEY `order` (`order`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- DROP TABLE IF EXISTS `zt_taskestimate`; diff --git a/module/execution/model.php b/module/execution/model.php index 9a090b9465..e0aee7f9cc 100644 --- a/module/execution/model.php +++ b/module/execution/model.php @@ -4361,6 +4361,8 @@ class executionModel extends model $this->loadModel('execution'); $this->loadModel('programplan'); + $today = helper::today(); + if(!$isChild) { $trClass = 'is-top-level table-nest-child-hide'; @@ -4385,8 +4387,22 @@ class executionModel extends model echo '' . zget($users, $execution->PM) . ''; echo "" . zget($this->lang->project->statusList, $execution->status) . ''; echo '' . html::ring($execution->hours->progress) . ''; - echo '' . $execution->begin . ''; - echo '' . $execution->end . ''; + echo helper::isZeroDate($execution->begin) ? '' : '' . $execution->begin . ''; + if(!helper::isZeroDate($execution->end)) + { + if($execution->status != 'closed') + { + echo strtotime($today) > strtotime($execution->end) ? '' . $execution->end . '' : '' . $execution->end . ''; + } + else + { + echo '' . $execution->end . ''; + } + } + else + { + echo ''; + } echo "" . $execution->hours->totalEstimate . $this->lang->execution->workHourUnit . ''; echo "" . $execution->hours->totalConsumed . $this->lang->execution->workHourUnit . ''; echo "" . $execution->hours->totalLeft . $this->lang->execution->workHourUnit . ''; diff --git a/module/project/css/common.css b/module/project/css/common.css index c7dfdc44b7..8b503b764e 100644 --- a/module/project/css/common.css +++ b/module/project/css/common.css @@ -1,3 +1,4 @@ .future {display: inline-block;} .c-number {overflow: hidden; text-align: right !important; text-overflow: ellipsis; white-space: nowrap;} .text-remind {color: #ffa34d;} +td.delayed {color: #fff; background: #e84e0f !important;} diff --git a/module/task/model.php b/module/task/model.php index 0dbfc03fd5..290032a749 100644 --- a/module/task/model.php +++ b/module/task/model.php @@ -3782,6 +3782,9 @@ class taskModel extends model */ public function buildNestedList($execution, $task, $isChild = false, $showmore = false, $users = array()) { + $this->app->loadLang('execution'); + + $today = helper::today(); $showmore = $showmore ? 'showmore' : ''; $trAttrs = "data-id='t$task->id'"; if(!$isChild) @@ -3806,8 +3809,22 @@ class taskModel extends model $list .= '' . zget($users, $task->assignedTo, '') . ''; $list .= "" . $this->processStatus('task', $task) . ''; $list .= ''; - $list .= '' . $task->estStarted . ''; - $list .= '' . $task->deadline . ''; + $list .= helper::isZeroDate($task->estStarted) ? '' : '' . $task->estStarted . ''; + if(!helper::isZeroDate($task->deadline)) + { + if($task->status != 'done') + { + $list .= strtotime($today) > strtotime($task->deadline) ? '' . $task->deadline . '' : '' . $task->deadline . ''; + } + else + { + $list .= '' . $task->deadline . ''; + } + } + else + { + $list .= ''; + } $list .= '' . $task->estimate . $this->lang->execution->workHourUnit . ''; $list .= '' . $task->consumed . $this->lang->execution->workHourUnit . ''; $list .= '' . $task->left . $this->lang->execution->workHourUnit . '';