* Code for task#41776.

This commit is contained in:
xieqiyu
2021-08-26 18:32:51 +08:00
parent c840abc9c7
commit 81781c80f0
4 changed files with 67 additions and 59 deletions
+1 -1
View File
@@ -305,7 +305,7 @@ class project extends control
$this->view->title = $this->lang->project->kanban;
$this->view->kanbanGroup = $kanbanGroup;
$this->view->latestExecutions = $latestExecutions;
$this->view->programPairs = $this->loadModel('program')->getPairs(true);
$this->view->programPairs = array(0 => $this->lang->project->noProgram) + $this->loadModel('program')->getPairs(true);
$this->display();
}
+10 -5
View File
@@ -3,15 +3,20 @@
.board-item {border: 1px solid #EBEBEB; padding: 5px 10px; cursor: default; border-radius: 2px; background-color: #fff;}
.board-item:hover {border-color: #ccc;}
.board-item + .board-item {margin-top: 10px;}
.board-project .board-item + .board-item {margin-top: 10px;}
.board-project {padding: 5px;}
.board-doing-project, .board-doing-execution {padding: 5px;}
.board-project {padding: 10px;}
.board-doing-project .table-row .table-col:last-child, .c-progress {width: 30px;}
.board-doing-execution .table-row .table-col:last-child, .c-progress {width: 30px;}
.doing .doing-project:not(:last-child) {padding: 10px; border-bottom: 2px solid #fff;}
.doing .doing-executioni:not(:last-child) {padding: 10px; border-bottom: 2px solid #fff;}
.doing .doing-project:last-child, .doing-execution:last-child {padding: 10px;}
.doing-project .table-row .table-col:last-child, .c-progress {width: 30px;}
.doing-execution .table-row .table-col:last-child, .c-progress {width: 30px;}
.table-row .table-col:first-child {overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
table th, td {border: 2px solid #fff !important;}
td.doing {padding: 0px !important;}
#kanban {padding-bottom: 10px}
+9 -8
View File
@@ -131,16 +131,17 @@ $lang->project->moreProject = '更多项目';
$lang->project->days = '可用工作日';
$lang->project->etc = "等";
$lang->project->kanban = new stdclass();
$lang->project->kanban->typeList['my'] = '我负责的项目';
$lang->project->kanban->typeList['other'] = '其他项目';
$lang->project->typeList = array();
$lang->project->typeList['my'] = '我负责的项目';
$lang->project->typeList['other'] = '其他项目';
$lang->project->kanban->waitProjects = '未开始的项目';
$lang->project->kanban->doingProjects = '进行中的项目';
$lang->project->kanban->doingExecutions = '进行中的执行';
$lang->project->kanban->closedProjects = '已关闭的项目';
$lang->project->waitProjects = '未开始的项目';
$lang->project->doingProjects = '进行中的项目';
$lang->project->doingExecutions = '进行中的执行';
$lang->project->closedProjects = '已关闭的项目';
$lang->project->noProgram = '无项目集归属项目';
$lang->project->kanban->laneColorList = array('#32C5FF', '#006AF1', '#9D28B2', '#FF8F26', '#FFC20E', '#00A78E', '#7FBB00', '#424BAC', '#C0E9FF', '#EC2761');
$lang->project->laneColorList = array('#32C5FF', '#006AF1', '#9D28B2', '#FF8F26', '#FFC20E', '#00A78E', '#7FBB00', '#424BAC', '#C0E9FF', '#EC2761');
$lang->project->productNotEmpty = '请关联产品或创建产品。';
$lang->project->existProductName = '产品名称已存在。';
+47 -45
View File
@@ -22,71 +22,73 @@
<div id="kanban" class="main-table fade auto-fade-in" data-ride="table" data-checkable="false" data-group="true">
<div class="cell">
<div class='detail'>
<div class='detail-title'><?php echo $lang->project->kanban->typeList[$type];?></div>
<div class='detail-title'><?php echo $lang->project->typeList[$type];?></div>
<div class='detail-content'>
<table class='table no-margin' style='background-color: #efefef;'>
<thead class='text-center'>
<tr>
<th rowspan='2' class='w-20px'></th>
<th rowspan='2'><?php echo $lang->project->kanban->waitProjects;?></th>
<th rowspan='2' style="background: #32C5FF; border-bottom: unset !important" class='w-20px'></th>
<th rowspan='2' style="border-left: unset !important"><?php echo $lang->project->waitProjects;?></th>
<th colspan='2'><?php echo $lang->project->statusList['doing'];?></th>
<th rowspan='2'><?php echo $lang->project->kanban->closedProjects;?></th>
<th rowspan='2'><?php echo $lang->project->closedProjects;?></th>
</tr>
<tr>
<th><?php echo $lang->project->kanban->doingProjects;?></th>
<th><?php echo $lang->project->kanban->doingExecutions;?></th>
<th><?php echo $lang->project->doingProjects;?></th>
<th><?php echo $lang->project->doingExecutions;?></th>
</tr>
</thead>
<tbody>
<?php foreach($projectGroup as $programID => $statusList):?>
<tr>
<td style='background: <?php echo $lang->project->kanban->laneColorList[$colorIndex];?>; color: #fff; padding-left: 2px;'><?php echo zget($programPairs, $programID);?></td>
<td class='text-center' style='background: <?php echo $lang->project->laneColorList[$colorIndex];?>; color: #fff; padding-left: 2px; writing-mode: vertical-lr;'><?php echo zget($programPairs, $programID);?></td>
<?php foreach(array('wait','doing','closed') as $status):?>
<?php if($status == 'doing'):?>
<td colspan='2'>
<div class='board-doing'>
<?php if(isset($statusList[$status])):?>
<?php foreach($statusList[$status] as $project):?>
<div class='table-row'>
<div class='table-col board-doing-project'>
<div class='board-item' <?php echo "style='border-left: 3px solid " . (isset($project->delay) ? 'red' : "#0BD986") . "'";?>>
<div class='table-row'>
<div class='table-col'>
<span><?php echo $project->name;?></span>
</div>
<div class='table-col'>
<div class="c-progress">
<div class='progress-pie' data-doughnut-size='90' data-color='#3CB371' data-value='<?php echo round($project->hours->progress);?>' data-width='24' data-height='24' data-back-color='#e8edf3'>
<div class='progress-info'><?php echo round($project->hours->progress);?></div>
</div>
</div>
<td class='doing'>
<?php if(isset($statusList[$status])):?>
<?php foreach($statusList[$status] as $project):?>
<div class='doing-project'>
<div class='board-item' <?php echo "style='border-left: 3px solid " . (isset($project->delay) ? 'red' : "#0BD986") . "'";?>>
<div class='table-row'>
<div class='table-col'>
<span><?php echo $project->name;?></span>
</div>
<div class='table-col'>
<div class="c-progress">
<div class='progress-pie' data-doughnut-size='90' data-color='#3CB371' data-value='<?php echo round($project->hours->progress);?>' data-width='24' data-height='24' data-back-color='#e8edf3'>
<div class='progress-info'><?php echo round($project->hours->progress);?></div>
</div>
</div>
</div>
</div>
<div class='table-col board-doing-execution'>
<?php if(isset($latestExecutions[$project->id])):?>
<?php $execution = $latestExecutions[$project->id];?>
<div class='board-item' <?php echo "style='border-left: 3px solid " . (isset($execution->delay) ? 'red' : "#0BD986") . "'";?>>
<div class='table-row'>
<div class='table-col'>
<span><?php echo $execution->name;?></span>
</div>
<div class='table-col'>
<div class="c-progress">
<div class='progress-pie' data-doughnut-size='90' data-color='#3CB371' data-value='<?php echo round($execution->hours->progress);?>' data-width='24' data-height='24' data-back-color='#e8edf3'>
<div class='progress-info'><?php echo round($execution->hours->progress);?></div>
</div>
</div>
</div>
</div>
</div>
<?php endif;?>
</div>
</div>
<?php endforeach;?>
<?php endif;?>
</div>
<?php endforeach;?>
<?php endif;?>
</td>
<td class='doing'>
<?php if(isset($statusList[$status])):?>
<?php foreach($statusList[$status] as $project):?>
<?php if(isset($latestExecutions[$project->id])):?>
<?php $execution = $latestExecutions[$project->id];?>
<div class='doing-execution'>
<div class='board-item' <?php echo "style='border-left: 3px solid " . (isset($execution->delay) ? 'red' : "#0BD986") . "'";?>>
<div class='table-row'>
<div class='table-col'>
<span><?php echo empty($execution) ? '' : $execution->name;?></span>
</div>
<div class='table-col'>
<div class="c-progress">
<div class='progress-pie' data-doughnut-size='90' data-color='#3CB371' data-value='<?php echo round($execution->hours->progress);?>' data-width='24' data-height='24' data-back-color='#e8edf3'>
<div class='progress-info'><?php echo round($execution->hours->progress);?></div>
</div>
</div>
</div>
</div>
</div>
</div>
<?php endif;?>
<?php endforeach;?>
<?php endif;?>
</td>
<?php else:?>
<td>