diff --git a/db/update16.2.sql b/db/update16.2.sql
index c9f4297e58..6e18544c59 100644
--- a/db/update16.2.sql
+++ b/db/update16.2.sql
@@ -4,7 +4,7 @@ UPDATE `zt_kanbanspace` SET `type` = 'cooperation', `whitelist` = '' WHERE `type
ALTER TABLE `zt_kanban` ADD `object` varchar(255) NOT NULL AFTER `displayCards`;
ALTER TABLE `zt_kanban` ADD `performable` enum ('0', '1') NOT NULL DEFAULT '0' AFTER `archived`;
ALTER TABLE `zt_kanban` ADD `fluidBoard` enum('0','1') NOT NULL DEFAULT '0' AFTER `displayCards`;
-ALTER TABLE `zt_kanbancard` ADD `status` varchar(30) NOT NULL AFTER `name`;
+ALTER TABLE `zt_kanbancard` ADD `status` varchar(30) NOT NULL DEFAULT 'doing' AFTER `name`;
ALTER TABLE `zt_kanbancard` ADD `fromID` mediumint(8) unsigned NOT NULL AFTER `group`;
ALTER TABLE `zt_kanbancard` ADD `fromType` varchar(30) NOT NULL AFTER `fromID`;
diff --git a/module/kanban/css/view.css b/module/kanban/css/view.css
index 66eae7c6f7..563565dd80 100644
--- a/module/kanban/css/view.css
+++ b/module/kanban/css/view.css
@@ -114,4 +114,5 @@
.region .kanban-item > .kanban-card > .execInfo > .user, .region .kanban-item > .kanban-card > .releaseInfo > .user, .region .kanban-item > .kanban-card > .productplanInfo > .user {position: absolute; right: 13px; bottom: 1px}
.region .kanban-item > .kanban-card > .execInfo > .user > .avatar, .region .kanban-item > .kanban-card > .releaseInfo > .user > .avatar, .region .kanban-item > .kanban-card > .productplanInfo > .user > .avatar {display: inline-block; width: 24px; height: 24px; line-height: 24px; margin-right: 0px; margin-left: 2px}
.kanban-card .releaseTitle .icon, .kanban-card .title .icon, .kanban-card .productplanTitle .icon, .kanban-card .title .icon, .kanban-card .buildTitle .icon{padding-right: 5px;}
+.kanban-card .label{margin-right: 7px; float: left; background-color:#2a5f29;}
.kanban-card .releaseTitle, .kanban-card .productplanTitle {width: 100%; float: left;}
diff --git a/module/kanban/js/view.js b/module/kanban/js/view.js
index 9633ec57b0..13bff73bd8 100644
--- a/module/kanban/js/view.js
+++ b/module/kanban/js/view.js
@@ -279,7 +279,7 @@ function renderUsersAvatar(users, itemID, size)
function renderKanbanItem(item, $item)
{
var whiteStyle = null;
- if(item.color == '#2a5f29' || item.color == '#b10b0b') whiteStyle = 'style="color:#FFFFFF"';
+ if(item.color == '#2a5f29' || item.color == '#b10b0b' || item.color == '#cfa227') whiteStyle = 'style="color:#FFFFFF"';
if(item.fromType == 'execution')
{
@@ -303,24 +303,35 @@ function renderKanbanItem(item, $item)
var privs = item.actions;
var printMoreBtn = (privs.includes('editCard') || privs.includes('archiveCard') || privs.includes('copyCard') || privs.includes('deleteCard') || privs.includes('moveCard') || privs.includes('setCardColor'));
- if(kanban.performable == 1 && item.status == 'done' )
- {
- $item.closest('.kanban-card').css({'filter' : 'opacity(0.5)', 'text-decoration' : 'line-through'});
- }
- else
- {
- $item.closest('.kanban-card').css({'filter' : '', 'text-decoration' : ''});
- }
-
if(privs.includes('sortCard')) $item.parent().addClass('sort');
if(!$title.length)
{
+ $('
' + kanbanLang.finished + '
').appendTo($item);
if(privs.includes('viewCard')) $title = $('').appendTo($item).attr('href', createLink('kanban', 'viewCard', 'cardID=' + item.id, '', true));
if(!privs.includes('viewCard')) $title = $('').appendTo($item);
}
-
$title.text(item.name).attr('title', item.name);
+ if(kanban.performable == 1 && item.status == 'done' )
+ {
+ var finishStyle = '#2a5f29';
+ if(item.color == '#2a5f29') finishStyle = '#FFFFFF';
+ $title.text(item.name).css('color', finishStyle);
+ $item.children('.label').show();
+ if(item.color == '#2a5f29')
+ {
+ $item.children('.label').css({'background-color':'#FFFFFF','color':'#2a5f29'});
+ }
+ else
+ {
+ $item.children('.label').css({'background-color':'','color':''});
+ }
+ }
+ else
+ {
+ $title.text(item.name).css('color', '');
+ $item.children('.label').hide();
+ }
if(printMoreBtn)
{
$(
diff --git a/module/kanban/lang/en.php b/module/kanban/lang/en.php
index 20222d132b..e8a721b276 100644
--- a/module/kanban/lang/en.php
+++ b/module/kanban/lang/en.php
@@ -29,6 +29,7 @@ $lang->kanban->sortColumn = 'Sort Column';
$lang->kanban->deleteColumn = 'Delete Column';
$lang->kanban->createCard = 'Create Card';
$lang->kanban->editCard = 'Edit Card';
+$lang->kanban->finished = 'Finished';
$lang->kanban->finishCard = 'Finish Card';
$lang->kanban->activateCard = 'Activate Card';
$lang->kanban->viewCard = 'View Card';
diff --git a/module/kanban/lang/zh-cn.php b/module/kanban/lang/zh-cn.php
index 1a12063a4e..3d37f8d86c 100644
--- a/module/kanban/lang/zh-cn.php
+++ b/module/kanban/lang/zh-cn.php
@@ -29,6 +29,7 @@ $lang->kanban->sortColumn = '看板列排序';
$lang->kanban->deleteColumn = '删除看板列';
$lang->kanban->createCard = '创建卡片';
$lang->kanban->editCard = '编辑卡片';
+$lang->kanban->finished = '已完成';
$lang->kanban->finishCard = '完成卡片';
$lang->kanban->activateCard = '激活卡片';
$lang->kanban->viewCard = '查看卡片';
diff --git a/module/kanban/view/viewarchivedcard.html.php b/module/kanban/view/viewarchivedcard.html.php
index 88964976bf..1a47e82a29 100644
--- a/module/kanban/view/viewarchivedcard.html.php
+++ b/module/kanban/view/viewarchivedcard.html.php
@@ -33,6 +33,7 @@
#archivedCards .card-item .red {background-color: #b10b0b;}
#archivedCards .card-item .yellow {background-color: #cfa227;}
#archivedCards .card-item .green {background-color: #2a5f29;}
+#archivedCards .card-item .green-name .cardName {color: #2a5f29 !important;}
#archivedCards .card-item .has-color .cardName,
#archivedCards .card-item .has-color .actions .icon-more-v,
#archivedCards .card-item .has-color .info > .label-pri,
@@ -61,10 +62,17 @@
if($card->color == '#2a5f29') $color = 'has-color green';
?>
status == 'done') $style = 'filter: opacity(0.5); text-decoration: line-through';
+ $nameStyle = '';
+ if($card->status == 'done' and $card->color != '#2a5f29') $nameStyle = 'green-name';
?>
-
+ color == '#2a5f29') $style = 'background-color: #FFFFFF; color: #2a5f29';
+ ?>
+
+ status == 'done'):?>
+
kanban->finished;?>
+
createLink('kanban', 'viewCard', "cardID=$card->id", '', true), $card->name, '', "class='cardName iframe' data-toggle='modal' data-width='80%' title='$card->name'");?>
pri;?>