* Fix details.

This commit is contained in:
Yagami
2021-01-21 09:52:57 +08:00
parent 68d4f91e9a
commit 79f6c655b7
5 changed files with 109 additions and 32 deletions

View File

@@ -1062,6 +1062,10 @@ class program extends control
if($product->branch) $linkedBranches[$product->branch] = $product->branch;
}
/* Load pager. */
$this->app->loadClass('pager', $static = true);
$pager = new pager(0, 30, 1);
$this->view->title = $this->lang->program->PRJView;
$this->view->position = $this->lang->program->PRJView;
$this->view->projectID = $projectID;
@@ -1069,10 +1073,12 @@ class program extends control
$this->view->products = $products;
$this->view->actions = $this->loadModel('action')->getList('project', $projectID);
$this->view->users = $this->loadModel('user')->getPairs('noletter');
$this->view->teamMembers = $this->project->getTeamMembers($projectID);
$this->view->statData = $this->program->getPRJStatData($projectID);
$this->view->workhour = $this->program->getPRJWorkhour($projectID);
$this->view->planGroup = $this->loadModel('project')->getPlans($products);;
$this->view->branchGroups = $this->loadModel('branch')->getByProducts(array_keys($products), '', $linkedBranches);
$this->view->dynamics = $this->loadModel('action')->getDynamic('all', 'all', 'date_desc', $pager, 'all', $projectID);
$this->display();
}

View File

@@ -1 +1,2 @@
.row > .col-sm-12:first-child {padding-bottom: 20px;}
.block-dynamic .panel-body {height: 230px; overflow: auto; position: relative;}
.block-team div.col-xs-6{white-space: nowrap; overflow: hidden;}

View File

@@ -170,7 +170,7 @@ $lang->program->noPRJ = '暂时没有项目';
$lang->program->accessDenied = '您无权访问该项目!';
$lang->program->chooseProgramType = '选中项目管理模型';
$lang->program->nextStep = '下一步';
$lang->program->hoursUnit = "%s $lang->hourCommon";
$lang->program->hoursUnit = "%s 工时";
$lang->program->membersUnit = '%s人';
$lang->program->lastIteration = '近期迭代';
$lang->program->ongoingStage = '进行中的阶段';

View File

@@ -13,7 +13,104 @@
<?php include '../../common/view/header.html.php';?>
<?php include '../../common/view/kindeditor.html.php';?>
<div id='mainContent' class="main-row">
<div class="col-12 main-col">
<div class="col-8 main-col">
<div class="row">
<div class="col-sm-6">
<div class="panel block-dynamic" style="height: 280px">
<div class="panel-heading">
<div class="panel-title"><?php echo $lang->project->latestDynamic;?></div>
<nav class="panel-actions nav nav-default">
<li><?php common::printLink('project', 'dynamic', "projectID=$project->id&type=all", '<i class="icon icon-more icon-sm"></i>', '', "title=$lang->more");?></li>
</nav>
</div>
<div class="panel-body scrollbar-hover">
<ul class="timeline timeline-tag-left no-margin">
<?php foreach($dynamics as $action):?>
<li <?php if($action->major) echo "class='active'";?>>
<div class='text-ellipsis'>
<span class="timeline-tag"><?php echo $action->date;?></span>
<span class="timeline-text"><?php echo zget($users, $action->actor) . ' ' . "<span class='label-action'>{$action->actionLabel}</span>" . $action->objectLabel . ' ' . html::a($action->objectLink, $action->objectName, '', "title='$action->objectName'");?></span>
</div>
</li>
<?php endforeach;?>
</ul>
</div>
</div>
</div>
<div class="col-sm-6">
<div class="panel block-team" style="height: 280px">
<div class="panel-heading">
<div class="panel-title"><?php echo $lang->project->relatedMember;?></div>
<nav class="panel-actions nav nav-default">
<li><?php common::printLink('program', 'PRJManageMembers', "projectID=$project->id", '<i class="icon icon-more icon-sm"></i>', '', "title=$lang->more");?></li>
</nav>
</div>
<div class="panel-body">
<div class="row row-grid">
<?php $i = 9; $j = 0;?>
<?php if($project->PM):?>
<?php $i--;?>
<?php unset($teamMembers[$project->PM]);?>
<div class="col-xs-6"><i class="icon icon-person icon-sm text-muted"></i> <?php echo zget($users, $project->PM);?> <span class="text-muted"><?php echo $lang->project->PM;?></span></div>
<?php endif;?>
<?php if($project->PO):?>
<?php $i--;?>
<?php unset($teamMembers[$project->PO]);?>
<div class="col-xs-6"><i class="icon icon-person icon-sm text-muted"></i> <?php echo zget($users, $project->PO);?> <span class="text-muted"><?php echo $lang->project->PO;?></span></div>
<?php endif;?>
<?php if($project->QD):?>
<?php $i--;?>
<?php unset($teamMembers[$project->QD]);?>
<div class="col-xs-6"><i class="icon icon-person icon-sm text-muted"></i> <?php echo zget($users, $project->QD);?> <span class="text-muted"><?php echo $lang->project->QD;?></span></div>
<?php endif;?>
<?php if($project->RD):?>
<?php $i--;?>
<?php unset($teamMembers[$project->RD]);?>
<div class="col-xs-6"><i class="icon icon-person icon-sm text-muted"></i> <?php echo zget($users, $project->RD);?> <span class="text-muted"><?php echo $lang->project->RD;?></span></div>
<?php endif;?>
<?php foreach($teamMembers as $teamMember):?>
<?php if($j > $i) break;?>
<div class="col-xs-6"><i class="icon icon-person icon-sm text-muted"></i> <?php echo zget($users, $teamMember->account);?></div>
<?php $j++;?>
<?php endforeach;?>
<div class="col-xs-6">
<?php common::printLink('program', 'PRJManageMembers', "projectID=$project->id", "<i class='icon icon-plus hl-primary text-primary'></i> &nbsp;" . $lang->project->manageMembers, '', "class='text-muted'");?>
</div>
</div>
</div>
</div>
</div>
<div class="col-sm-12">
<?php $blockHistory = true;?>
<?php $actionFormLink = $this->createLink('action', 'comment', "objectType=project&objectID=$project->id");?>
<?php include '../../common/view/action.html.php';?>
</div>
</div>
<div class='main-actions'>
<div class="btn-toolbar">
<?php
$params = "project=$project->id";
common::printBack(inlink('prjbrowse'));
if(!$project->deleted)
{
echo "<div class='divider'></div>";
common::printIcon('program', 'PRJStart', "projectID=$project->id", $project, 'button', 'play', '', 'iframe', true, '', $lang->project->start);
common::printIcon('program', 'PRJActivate', "projectID=$project->id", $project, 'button', 'magic', '', 'iframe', true, '', $lang->project->activate);
common::printIcon('program', 'PRJSuspend', "projectID=$project->id", $project, 'button', 'pause', '', 'iframe', true, '', $lang->project->suspend);
common::printIcon('program', 'PRJClose', "projectID=$project->id", $project, 'button', 'off', '', 'iframe', true, '', $lang->close);
echo $this->buildOperateMenu($project, 'view');
echo "<div class='divider'></div>";
common::printIcon('program', 'PRJEdit', $params, $project, 'button', 'edit', '', '', '', '', $lang->close);
common::printIcon('program', 'PRJDelete', $params, $project, 'button', 'trash', 'hiddenwin', '', '', '', $lang->delete);
}
?>
</div>
</div>
</div>
<div class="col-4 side-col">
<div class="row">
<div class="col-sm-12">
<div class="cell">
@@ -129,33 +226,6 @@
<?php $this->printExtendFields($project, 'div', "position=right&inForm=0&inCell=1");?>
</div>
</div>
<div class="col-sm-12">
<?php $blockHistory = true;?>
<?php $actionFormLink = $this->createLink('action', 'comment', "objectType=project&objectID=$project->id");?>
<?php include '../../common/view/action.html.php';?>
</div>
</div>
<div class='main-actions'>
<div class="btn-toolbar">
<?php
$params = "project=$project->id";
common::printBack(inlink('prjbrowse'));
if(!$project->deleted)
{
echo "<div class='divider'></div>";
common::printIcon('program', 'PRJStart', "projectID=$project->id", $project, 'button', 'play', '', 'iframe', true, '', $lang->project->start);
common::printIcon('program', 'PRJActivate', "projectID=$project->id", $project, 'button', 'magic', '', 'iframe', true, '', $lang->project->activate);
common::printIcon('program', 'PRJSuspend', "projectID=$project->id", $project, 'button', 'pause', '', 'iframe', true, '', $lang->project->suspend);
common::printIcon('program', 'PRJClose', "projectID=$project->id", $project, 'button', 'off', '', 'iframe', true, '', $lang->close);
echo $this->buildOperateMenu($project, 'view');
echo "<div class='divider'></div>";
common::printIcon('program', 'PRJEdit', $params, $project, 'button', 'edit', '', '', '', '', $lang->close);
common::printIcon('program', 'PRJDelete', $params, $project, 'button', 'trash', 'hiddenwin', '', '', '', $lang->delete);
}
?>
</div>
</div>
</div>
</div>

View File

@@ -2740,11 +2740,11 @@ class storyModel extends model
{
if($type == 'short')
{
$property = '[p' . (!empty($this->lang->story->priList[$story->pri]) ? $this->lang->story->priList[$story->pri] : 0) . ', ' . $story->estimate . 'h]';
$property = '[p' . (!empty($this->lang->story->priList[$story->pri]) ? $this->lang->story->priList[$story->pri] : 0) . ', ' . $story->estimate . "{$this->config->hourUnit}]";
}
elseif($type == 'full')
{
$property = '(' . $this->lang->story->pri . ':' . (!empty($this->lang->story->priList[$story->pri]) ? $this->lang->story->priList[$story->pri] : 0) . ',' . $this->lang->story->estimate . ':' . $story->estimate . ')';
$property = '(' . $this->lang->story->pri . ':' . (!empty($this->lang->story->priList[$story->pri]) ? $this->lang->story->priList[$story->pri] : 0) . ',' . $this->lang->story->estimate . ':' . $this->lang->hourCommon . ')';
}
else
{