Merge branch 'kanban' of https://gitlab.zcorp.cc/easycorp/zentaopms into sprint/177_tianshujie_close
This commit is contained in:
@@ -58,15 +58,16 @@ body {background-color: #fff}
|
||||
.region .kanban-lane-items {overflow: auto; padding-bottom: 10px;}
|
||||
|
||||
.region .kanban-item {position: relative}
|
||||
.region .kanban-item > .title {display: block; max-height: 38px; overflow: hidden; color: inherit; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;}
|
||||
.region .kanban-item > .title:hover {color: #2272eb}
|
||||
.region .kanban-item > .info {margin-top: 5px; position: relative;}
|
||||
.region .kanban-item > .info > .pri {height: 14px; border-width: 1px; font-size: 12px; line-height: 12px; min-width: 14px; padding: 0 1px;}
|
||||
.region .kanban-item > .info > .time {margin-left: 10px; font-size: 12px}
|
||||
.region .kanban-item > .info > .user {position: absolute; right: 0; top: 0}
|
||||
.region .kanban-item > .actions {position: absolute; top: 0px; right: 4px; opacity: 0;}
|
||||
.region .kanban-item > .actions > a {display: block; float: left; width: 20px; height: 20px; line-height: 20px; text-align: center; border-radius: 4px; opacity: .7;}
|
||||
.region .kanban-item > .actions > a:hover {background-color: rgba(0,0,0,.075); opacity: 1;}
|
||||
.region .kanban-item > .kanban-card > .title {display: block; max-height: 38px; overflow: hidden; color: inherit; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;}
|
||||
.region .kanban-item > .kanban-card > .title:hover {color: #2272eb}
|
||||
.region .kanban-item > .kanban-card > .info {margin-top: 5px; position: relative;}
|
||||
.region .kanban-item > .kanban-card > .info > .pri {height: 14px; border-width: 1px; font-size: 12px; line-height: 12px; min-width: 14px; padding: 0 1px;}
|
||||
.region .kanban-item > .kanban-card > .info > .estimate{margin-left: 10px; color: #999}
|
||||
.region .kanban-item > .kanban-card > .info > .time {margin-left: 10px; font-size: 12px; background: rgb(242, 242, 242)}
|
||||
.region .kanban-item > .kanban-card > .info > .user {position: absolute; right: 0; top: 0}
|
||||
.region .kanban-item > .kanban-card > .actions {position: absolute; top: 0px; right: 4px; opacity: 0;}
|
||||
.region .kanban-item > .kanban-card > .actions > a {display: block; float: left; width: 20px; height: 20px; line-height: 20px; text-align: center; border-radius: 4px; opacity: .7;}
|
||||
.region .kanban-item > .kanban-card > .actions > a:hover {background-color: rgba(0,0,0,.075); opacity: 1;}
|
||||
.region .kanban-item:hover > .actions {opacity: 1;}
|
||||
.region .kanban-item.has-color .title,
|
||||
.region .kanban-item.has-color .actions .icon-more-v,
|
||||
|
||||
@@ -23,7 +23,7 @@ $(function()
|
||||
function setWIPLimit()
|
||||
{
|
||||
var count = $('#WIPCount').val();
|
||||
if($('#noLimit').attr('checked') == 'checked') count = -1;;
|
||||
if($('#noLimit').attr('checked') == 'checked') count = -1;
|
||||
|
||||
$('#limit').val(count);
|
||||
}
|
||||
|
||||
@@ -26,7 +26,7 @@ function fullScreen()
|
||||
{
|
||||
var afterEnterFullscreen = function()
|
||||
{
|
||||
$('#mainContent').addClass('scrollbar-hover');
|
||||
$('#kanban').css('background', '#fff');
|
||||
$.cookie('isFullScreen', 1);
|
||||
};
|
||||
|
||||
@@ -222,6 +222,7 @@ function renderKanbanItem(item, $item)
|
||||
[
|
||||
'<div class="info">',
|
||||
'<span class="pri"></span>',
|
||||
'<span class="estimate"></span>',
|
||||
'<span class="time label label-light"></span>',
|
||||
'<div class="user"></div>',
|
||||
'</div>'
|
||||
@@ -229,6 +230,8 @@ function renderKanbanItem(item, $item)
|
||||
|
||||
$item.data('card', item);
|
||||
|
||||
$info.children('.estimate').text(item.estimate + kanbancardLang.lblHour);
|
||||
|
||||
$info.children('.pri')
|
||||
.attr('class', 'pri label-pri label-pri-' + item.pri)
|
||||
.text(item.pri);
|
||||
@@ -237,9 +240,9 @@ function renderKanbanItem(item, $item)
|
||||
if(item.end && item.end !== '0000-00-00')
|
||||
{
|
||||
var end = $.zui.createDate(item.end);
|
||||
var today = $.zui.createDate(today);
|
||||
var today = new Date();
|
||||
var isExpired = end.getTime() < today.getTime();
|
||||
var dateFormat = (today.getFullYear() === end.getFullYear() ? 'MM-dd ' : 'yyyy-MM-dd ') + kanbancardLang.end;
|
||||
var dateFormat = (today.getFullYear() === end.getFullYear() ? 'MM-dd ' : 'yyyy-MM-dd ') + kanbancardLang.deadlineAB;
|
||||
$time.text($.zui.formatDate(end, dateFormat))
|
||||
.toggleClass('text-red', isExpired)
|
||||
.show();
|
||||
@@ -599,6 +602,13 @@ function processMinusBtn()
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Create lane menu.
|
||||
*
|
||||
* @param object $options
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
function createLaneMenu(options)
|
||||
{
|
||||
var lane = options.$trigger.closest('.kanban-lane').data('lane');
|
||||
@@ -614,6 +624,13 @@ function createLaneMenu(options)
|
||||
return items;
|
||||
}
|
||||
|
||||
/**
|
||||
* Create card menu;
|
||||
*
|
||||
* @param object $options
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
function createCardMenu(options)
|
||||
{
|
||||
var card = options.$trigger.closest('.kanban-item').data('item');
|
||||
|
||||
+18
-17
@@ -40,23 +40,23 @@ $lang->kanban->archiveColumn = 'Archive Column';
|
||||
$lang->kanban->spaceCommon = 'Kanban Space';
|
||||
|
||||
/* Fields. */
|
||||
$lang->kanban->space = 'Space';
|
||||
$lang->kanban->name = 'Name';
|
||||
$lang->kanban->owner = 'Owner';
|
||||
$lang->kanban->team = 'Team';
|
||||
$lang->kanban->desc = 'Description';
|
||||
$lang->kanban->acl = 'ACL';
|
||||
$lang->kanban->whitelist = 'White List';
|
||||
$lang->kanban->status = 'Status';
|
||||
$lang->kanban->createdBy = 'Created By';
|
||||
$lang->kanban->createdDate = 'Created Date';
|
||||
$lang->kanban->lastEditedBy = 'Edited By';
|
||||
$lang->kanban->lastEditedDate = 'Edited Date';
|
||||
$lang->kanban->closed = 'Closed';
|
||||
$lang->kanban->closedBy = 'Closed By';
|
||||
$lang->kanban->closedDate = 'Closed Date';
|
||||
$lang->kanban->empty = 'No Kanban';
|
||||
$lang->kanban->teamSumCount = '%s people in total';
|
||||
$lang->kanban->space = 'Space';
|
||||
$lang->kanban->name = 'Name';
|
||||
$lang->kanban->owner = 'Owner';
|
||||
$lang->kanban->team = 'Team';
|
||||
$lang->kanban->desc = 'Description';
|
||||
$lang->kanban->acl = 'ACL';
|
||||
$lang->kanban->whitelist = 'White List';
|
||||
$lang->kanban->status = 'Status';
|
||||
$lang->kanban->createdBy = 'Created By';
|
||||
$lang->kanban->createdDate = 'Created Date';
|
||||
$lang->kanban->lastEditedBy = 'Edited By';
|
||||
$lang->kanban->lastEditedDate = 'Edited Date';
|
||||
$lang->kanban->closed = 'Closed';
|
||||
$lang->kanban->closedBy = 'Closed By';
|
||||
$lang->kanban->closedDate = 'Closed Date';
|
||||
$lang->kanban->empty = 'No Kanban';
|
||||
$lang->kanban->teamSumCount = '%s people in total';
|
||||
|
||||
$lang->kanban->createColumnOnLeft = 'Create Column On Left';
|
||||
$lang->kanban->createColumnOnRight = 'Create Column On Right';
|
||||
@@ -252,6 +252,7 @@ $lang->kanbancard->archivedBy = 'Archived By';
|
||||
$lang->kanbancard->archivedDate = 'Archived Date';
|
||||
$lang->kanbancard->lblHour = 'h';
|
||||
$lang->kanbancard->noAssigned = 'No Assigned';
|
||||
$lang->kanbancard->deadlineAB = 'DL';
|
||||
|
||||
$lang->kanbancard->priList[1] = 1;
|
||||
$lang->kanbancard->priList[2] = 2;
|
||||
|
||||
@@ -252,6 +252,7 @@ $lang->kanbancard->archivedBy = '由谁归档';
|
||||
$lang->kanbancard->archivedDate = '归档时间';
|
||||
$lang->kanbancard->lblHour = 'h';
|
||||
$lang->kanbancard->noAssigned = '未指派';
|
||||
$lang->kanbancard->deadlineAB = '截止';
|
||||
|
||||
$lang->kanbancard->priList[1] = 1;
|
||||
$lang->kanbancard->priList[2] = 2;
|
||||
|
||||
@@ -320,6 +320,7 @@ class kanbanModel extends model
|
||||
->add('assignedDate', $now)
|
||||
->trim('name')
|
||||
->setDefault('estimate', 0)
|
||||
->join('assignedTo', ',')
|
||||
->setIF(is_numeric($this->post->estimate), 'estimate', (float)$this->post->estimate)
|
||||
->remove('uid')
|
||||
->get();
|
||||
|
||||
@@ -19,36 +19,11 @@
|
||||
</div>
|
||||
<form class='main-form form-ajax' method='post' enctype='multipart/form-data' id='dataform'>
|
||||
<table class='table table-form'>
|
||||
<tr>
|
||||
<th><?php echo $lang->kanbancard->estimate;?></th>
|
||||
<td>
|
||||
<div class="input-group">
|
||||
<input type="text" name="estimate" id="estimate" value="" class="form-control" autocomplete="off">
|
||||
<span class="input-group-addon"><?php echo $lang->kanbancard->lblHour;?></span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->kanbancard->assignedTo;?></th>
|
||||
<td>
|
||||
<?php echo html::select('assignedTo', $users, $app->user->account, "class='form-control chosen'");?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->kanbancard->beginAndEnd;?></th>
|
||||
<td colspan='2'>
|
||||
<div class='input-group'>
|
||||
<?php echo html::input('begin', '', "class='form-control form-date' placeholder='{$lang->kanbancard->begin}'");?>
|
||||
<span class='input-group-addon fix-border'>~</span>
|
||||
<?php echo html::input('end', '', "class='form-control form-date' placeholder='{$lang->kanbancard->end}'");?>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->kanbancard->name;?></th>
|
||||
<td colspan='2' id='nameBox'>
|
||||
<td colspan='2'>
|
||||
<div class='input-group title-group'>
|
||||
<?php echo html::input('name', '', "class='form-control'");?>
|
||||
<?php echo html::input('name', '', "class='form-control required'");?>
|
||||
<span class="input-group-addon fix-border br-0"><?php echo $lang->kanbancard->pri;?></span>
|
||||
<div class="input-group-btn pri-selector" data-type="pri">
|
||||
<button type="button" class="btn dropdown-toggle br-0" data-toggle="dropdown">
|
||||
@@ -58,6 +33,28 @@
|
||||
<?php echo html::select('pri', $lang->kanbancard->priList, 3, "class='form-control' data-provide='labelSelector' data-label-class='label-pri'");?>
|
||||
</div>
|
||||
</div>
|
||||
<div class='table-col w-120px'>
|
||||
<div class="input-group">
|
||||
<span class="input-group-addon fix-border br-0"><?php echo $lang->kanbancard->estimate;?></span>
|
||||
<input type="text" name="estimate" id="estimate" class="form-control" autocomplete="off" placeholder=<?php echo $lang->kanbancard->lblHour;?>>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->kanbancard->assignedTo;?></th>
|
||||
<td colspan='2'>
|
||||
<?php echo html::select('assignedTo', $users, $app->user->account, "class='form-control chosen' multiple");?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->kanbancard->beginAndEnd;?></th>
|
||||
<td colspan='2'>
|
||||
<div class='input-group'>
|
||||
<?php echo html::input('begin', '', "class='form-control form-date' placeholder='{$lang->kanbancard->begin}'");?>
|
||||
<span class='input-group-addon fix-border'>~</span>
|
||||
<?php echo html::input('end', '', "class='form-control form-date' placeholder='{$lang->kanbancard->end}'");?>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -43,7 +43,10 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->kanbancolumn->color;?></th>
|
||||
<td><div id='color-picker'></div></td>
|
||||
<td>
|
||||
<div id='color-picker'></div>
|
||||
<?php echo html::input('color', '#7ec5ff', "class='hidden'");?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan='2' class='form-actions text-center'>
|
||||
|
||||
@@ -12,7 +12,6 @@ js::set('kanbancolumnLang', $lang->kanbancolumn);
|
||||
js::set('kanbancardLang', $lang->kanbancard);
|
||||
js::set('kanbanID', $kanban->id);
|
||||
js::set('laneCount', $laneCount);
|
||||
js::set('today', helper::today());
|
||||
js::set('userList', $userList);
|
||||
|
||||
js::set('priv',
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->programplan->common = 'Program Plan';
|
||||
$lang->programplan->browse = 'Program Plan';
|
||||
$lang->programplan->browse = 'Gantt Chart';
|
||||
$lang->programplan->gantt = 'Gantt Chart';
|
||||
$lang->programplan->list = 'Stage List';
|
||||
$lang->programplan->create = 'Create';
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->programplan->common = '项目阶段';
|
||||
$lang->programplan->browse = '浏览阶段计划';
|
||||
$lang->programplan->browse = '浏览甘特图';
|
||||
$lang->programplan->gantt = '甘特图';
|
||||
$lang->programplan->list = '阶段列表';
|
||||
$lang->programplan->create = '设置阶段';
|
||||
|
||||
Reference in New Issue
Block a user