From bbf28d9bc0b980533edf264c74cf7b4a97c3f4d8 Mon Sep 17 00:00:00 2001 From: tanghucheng Date: Tue, 9 Aug 2022 14:24:01 +0800 Subject: [PATCH] * Finish task #63794. --- module/execution/lang/zh-cn.php | 25 +++++-- module/programplan/control.php | 1 - module/programplan/model.php | 94 +++++++++++++++----------- module/programplan/view/gantt.html.php | 21 +++--- 4 files changed, 82 insertions(+), 59 deletions(-) diff --git a/module/execution/lang/zh-cn.php b/module/execution/lang/zh-cn.php index 3d7ff4c33a..dd895e3e40 100644 --- a/module/execution/lang/zh-cn.php +++ b/module/execution/lang/zh-cn.php @@ -546,11 +546,26 @@ $lang->execution->statusColorList['suspended'] = '#fdc137'; $lang->execution->statusColorList['closed'] = '#838A9D'; if(!isset($lang->execution->gantt)) $lang->execution->gantt = new stdclass(); -$lang->execution->gantt->color[0] = 'bbb'; -$lang->execution->gantt->color[1] = 'ff5d5d'; -$lang->execution->gantt->color[2] = 'ff9800'; -$lang->execution->gantt->color[3] = '16a8f8'; -$lang->execution->gantt->color[4] = '00da88'; +$lang->execution->gantt->progressColor[0] = '#B7B7B7'; +$lang->execution->gantt->progressColor[1] = '#FF8287'; +$lang->execution->gantt->progressColor[2] = '#FFC73A'; +$lang->execution->gantt->progressColor[3] = '#6BD5F5'; +$lang->execution->gantt->progressColor[4] = '#9DE88A'; +$lang->execution->gantt->progressColor[5] = '#9BA8FF'; + +$lang->execution->gantt->color[0] = '#E7E7E7'; +$lang->execution->gantt->color[1] = '#FFDADB'; +$lang->execution->gantt->color[2] = '#FCECC1'; +$lang->execution->gantt->color[3] = '#D3F3FD'; +$lang->execution->gantt->color[4] = '#DFF5D9'; +$lang->execution->gantt->color[5] = '#EBDCF9'; + +$lang->execution->gantt->stage = new stdclass(); +$lang->execution->gantt->stage->progressColor = '#70B8FE'; +$lang->execution->gantt->stage->color = '#D2E7FC'; + +$lang->execution->gantt->textColor = '000000'; +$lang->execution->gantt->bar_height = '24'; $lang->execution->gantt->exportImg = '导出图片'; $lang->execution->gantt->exportPDF = '导出 PDF'; diff --git a/module/programplan/control.php b/module/programplan/control.php index 8defdd1345..fbea0a2faa 100644 --- a/module/programplan/control.php +++ b/module/programplan/control.php @@ -116,7 +116,6 @@ class programplan extends control $this->view->dateDetails = $dateDetails; $this->view->users = $this->loadModel('user')->getPairs('noletter'); $this->view->ganttType = $type; - $this->display(); } diff --git a/module/programplan/model.php b/module/programplan/model.php index 68d90cc7a3..6e82034175 100755 --- a/module/programplan/model.php +++ b/module/programplan/model.php @@ -183,23 +183,27 @@ class programplanModel extends model $realEnd = helper::isZeroDate($plan->realEnd) ? '' : $plan->realEnd; $data = new stdclass(); - $data->id = $plan->id; - $data->type = 'plan'; - $data->text = empty($plan->milestone) ? $plan->name : $plan->name . $isMilestone ; - $data->percent = $plan->percent; - $data->attribute = zget($this->lang->stage->typeList, $plan->attribute); - $data->milestone = zget($this->lang->programplan->milestoneList, $plan->milestone); - $data->owner_id = $plan->PM; - $data->status = $this->processStatus('execution', $plan); - $data->begin = $start; - $data->deadline = $end; - $data->realBegan = $realBegan ? substr($realBegan, 0, 10) : ''; - $data->realEnd = $realEnd ? substr($realEnd, 0, 10) : '';; - $data->parent = $plan->grade == 1 ? 0 :$plan->parent; - $data->open = true; - $data->start_date = $realBegan ? $realBegan : $start; - $data->endDate = $realEnd ? $realEnd : $end; - $data->duration = 1; + $data->id = $plan->id; + $data->type = 'plan'; + $data->text = empty($plan->milestone) ? $plan->name : $plan->name . $isMilestone ; + $data->percent = $plan->percent; + $data->attribute = zget($this->lang->stage->typeList, $plan->attribute); + $data->milestone = zget($this->lang->programplan->milestoneList, $plan->milestone); + $data->owner_id = $plan->PM; + $data->status = $this->processStatus('execution', $plan); + $data->begin = $start; + $data->deadline = $end; + $data->realBegan = $realBegan ? substr($realBegan, 0, 10) : ''; + $data->realEnd = $realEnd ? substr($realEnd, 0, 10) : '';; + $data->parent = $plan->grade == 1 ? 0 :$plan->parent; + $data->open = true; + $data->start_date = $realBegan ? $realBegan : $start; + $data->endDate = $realEnd ? $realEnd : $end; + $data->duration = 1; + $data->color = $this->lang->execution->gantt->stage->color; + $data->progressColor = $this->lang->execution->gantt->stage->progressColor; + $data->textColor = $this->lang->execution->gantt->textColor; + $data->bar_height = $this->lang->execution->gantt->bar_height; if($data->endDate > $data->start_date) $data->duration = helper::diffDate($data->endDate, $data->start_date) + 1; if($data->start_date) $data->start_date = date('d-m-Y', strtotime($data->start_date)); @@ -254,29 +258,33 @@ class programplanModel extends model if($start > $end) $end = $start; $data = new stdclass(); - $data->id = $task->execution . '-' . $task->id; - $data->type = 'task'; - $data->text = $taskSign . $priIcon . $task->name; - $data->percent = ''; - $data->status = $this->processStatus('task', $task); - $data->owner_id = $task->assignedTo; - $data->attribute = ''; - $data->milestone = ''; - $data->begin = $start; - $data->deadline = $end; - $data->realBegan = $realBegan ? substr($realBegan, 0, 10) : ''; - $data->realEnd = $realEnd ? substr($realEnd, 0, 10) : ''; - $data->pri = $task->pri; - $data->parent = $task->parent > 0 ? $task->execution . '-' . $task->parent : $task->execution; - $data->open = true; - $progress = $task->consumed ? round($task->consumed / ($task->left + $task->consumed), 3) : 0; - $data->progress = $progress; - $data->taskProgress = ($progress * 100) . '%'; - $data->start_date = $start; - $data->endDate = $end; - $data->duration = 1; - $data->estimate = $task->estimate; - $data->consumed = $task->consumed; + $data->id = $task->execution . '-' . $task->id; + $data->type = 'task'; + $data->text = $taskSign . $priIcon . $task->name; + $data->percent = ''; + $data->status = $this->processStatus('task', $task); + $data->owner_id = $task->assignedTo; + $data->attribute = ''; + $data->milestone = ''; + $data->begin = $start; + $data->deadline = $end; + $data->realBegan = $realBegan ? substr($realBegan, 0, 10) : ''; + $data->realEnd = $realEnd ? substr($realEnd, 0, 10) : ''; + $data->pri = $task->pri; + $data->parent = $task->parent > 0 ? $task->execution . '-' . $task->parent : $task->execution; + $data->open = true; + $progress = $task->consumed ? round($task->consumed / ($task->left + $task->consumed), 3) : 0; + $data->progress = $progress; + $data->taskProgress = ($progress * 100) . '%'; + $data->start_date = $start; + $data->endDate = $end; + $data->duration = 1; + $data->estimate = $task->estimate; + $data->consumed = $task->consumed; + $data->color = zget($this->lang->execution->gantt->color, $task->pri); + $data->progressColor = zget($this->lang->execution->gantt->progressColor, $task->pri); + $data->textColor = $this->lang->execution->gantt->textColor; + $data->bar_height = $this->lang->execution->gantt->bar_height; /* If multi task then show the teams. */ if($task->mode == 'multi' and !empty($taskTeams[$task->id])) @@ -337,7 +345,6 @@ class programplanModel extends model } $datas['data'] = isset($datas['data']) ? array_values($datas['data']) : array(); - return $returnJson ? json_encode($datas) : $datas; } @@ -426,6 +433,7 @@ class programplanModel extends model $dataGroup->open = true; $dataGroup->progress = ''; $dataGroup->taskProgress = ''; + $dataGroup->bar_height = $this->lang->execution->gantt->bar_height; $groupKey = $groupID . $group; $datas['data'][$groupKey] = $dataGroup; @@ -474,6 +482,10 @@ class programplanModel extends model $data->duration = 1; $data->estimate = $task->estimate; $data->consumed = $task->consumed; + $data->color = zget($this->lang->execution->gantt->color, $task->pri); + $data->progressColor = zget($this->lang->execution->gantt->progressColor, $task->pri); + $data->textColor = $this->lang->execution->gantt->textColor; + $data->bar_height = $this->lang->execution->gantt->bar_height; if($data->endDate > $data->start_date) $data->duration = helper::diffDate($data->endDate, $data->start_date) + 1; diff --git a/module/programplan/view/gantt.html.php b/module/programplan/view/gantt.html.php index 1763be275f..982b4922d7 100644 --- a/module/programplan/view/gantt.html.php +++ b/module/programplan/view/gantt.html.php @@ -19,12 +19,6 @@ form {display: block; margin-top: 0em; margin-block-end: 1em;} .gantt_task_content span.task-label, .gantt_task_content span.label-pri{display: none;} #ganttPris > span {display: inline-block; line-height: 20px; min-width: 20px; border-radius: 2px;} -.gantt_task_line {background: #execution->gantt->color[0]?>; border-color: #execution->gantt->color[0]?>;} -.gantt_task_progress {background: rgba(0,0,0,.1)} -.gantt_task_line.pri-1 {background: #execution->gantt->color[1]?>; border-color: #execution->gantt->color[1]?>} -.gantt_task_line.pri-2 {background: #execution->gantt->color[2]?>; border-color: #execution->gantt->color[2]?>} -.gantt_task_line.pri-3 {background: #execution->gantt->color[3]?>; border-color: #execution->gantt->color[3]?>} -.gantt_task_line.pri-4 {background: #execution->gantt->color[4]?>; border-color: #execution->gantt->color[4]?>} .gantt_task_line.gantt_selected {box-shadow: 0 1px 1px rgba(0,0,0,.05), 0 2px 6px 0 rgba(0,0,0,.045)} .gantt_link_arrow_right {border-left-color: #2196F3;} .gantt_link_arrow_left {border-right-color: #2196F3;} @@ -65,7 +59,11 @@ form {display: block; margin-top: 0em; margin-block-end: 1em;} .gantt-fullscreen #footer {display: none!important;} .gantt-fullscreen #mainContent {position: fixed; top: 0; right: 0; bottom: 0; left: 0} .gantt_grid_head_cell.gantt_grid_head_text{overflow:visible;} - +.gantt_grid_head_cell, .gantt_scale_cell{color:#000000!important;} +.gantt_tree_content{color:#838A9D;} +.gantt_row > div:first-child .gantt_tree_content{color:#3C4353;} +.gantt_task_line.gantt_task_inline_color{border:0px;} +.gantt_grid_scale, .gantt_task_scale, .gantt_task_vscroll{background-color: #F2F7FF;} createLink('programplan', 'ajaxCustom'));?> @@ -85,8 +83,8 @@ form {display: block; margin-top: 0em; margin-block-end: 1em;} @@ -470,7 +468,6 @@ $(function() var ganttData = $.parseJSON(); if(!ganttData.data) ganttData.data = []; - $realname) @@ -494,11 +491,11 @@ $(function() gantt.config.smart_scales = true; gantt.config.static_background = true; gantt.config.show_task_cells = false; - gantt.config.row_height = 25; + gantt.config.row_height = 32; gantt.config.min_column_width = 40; gantt.config.details_on_create = false; gantt.config.scales = [{unit: "year", step: 1, format: "%Y"}, {unit: 'day', step: 1, format: '%m-%d'}]; - gantt.config.scale_height = 22 * gantt.config.scales.length; + gantt.config.scale_height = 18 * gantt.config.scales.length; gantt.config.duration_unit = "day"; gantt.config.columns = [