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;?>