Merge branch 'sprint/244_tianshujie_70498' into 'master'

Sprint/244 tianshujie 70498

See merge request easycorp/zentaopms!5730
This commit is contained in:
李玉春
2022-10-13 03:09:37 +00:00
9 changed files with 97 additions and 9 deletions
+18
View File
@@ -28,3 +28,21 @@
.c-modulel {width: 110px;}
.keep-row-height {height: 32px;}
#modalTeam .modal-dialog {height: 340px; width: 620px; color: #3c4353;}
#modalTeam .modal-content {padding: 0 0 5px; height: 340px;}
#modalTeam .modal-header {height: 44px; padding: 10px 20px; margin: 0;}
#modalTeam .modal-header .modal-title {font-size: 13px; line-height: 24px;}
#modalTeam .modal-body {padding: 12px 13px 20px; max-height: 296px!important; overflow-y: scroll!important;}
#taskTeamEditor tr {padding: 8px 7px 8px 7px;}
#taskTeamEditor td .chosen-single .chosen-search input,
#taskTeamEditor tr td .chosen-single {height: 35px; line-height: 24px;}
#taskTeamEditor td .chosen-single .chosen-search::before {top: 10px;}
#taskTeamEditor tr td:first-child {width: 40px; position: relative;}
.team-number {display: inline-block; width: 20px; height: 20px; line-height: 20px; border-radius: 10px; text-align: center; background: #f4f5f7;}
#taskTeamEditor tr td:first-child .icon { position: absolute; top: 42px; left: 10.5px; display: block; font-size: 8px; color: #9ea3bd;;}
#taskTeamEditor tr:last-child td:first-child .icon {display: none;}
#modalTeam .modal-content input[type="text"]::input-placeholder{color: #c4c4c4;text-align: left;}
#modalTeam .modal-content input[type="text"]::-webkit-input-placeholder{color: #c4c4c4;text-align: left;}
#modalTeam .modal-content input[type="text"]::-moz-placeholder{color: #c4c4c4;text-align: left;}
#modalTeam .modal-content input[type="text"]::-ms-input-placeholder{color: #c4c4c4;text-align: left;}
+18
View File
@@ -3,3 +3,21 @@
#showAllModuleBox .no-margin {padding-left:22px;}
#taskTeamEditor .sortable .input-group .input-group-addon.required:after {top: 10px; right: 2px; z-index: 3;}
#storyIdBox .chosen-container .chosen-drop.chosen-no-wrap>.chosen-results>li {text-overflow: unset;}
#modalTeam .modal-dialog {padding-bottom: 20px;}
#modalTeam .modal-content {padding: 20px 13px 0; height: 340px;max-height: 296px!important; overflow-y: scroll!important;}
#modalTeam .modal-header {height: 44px; padding: 10px 20px; margin: 0; }
#modalTeam .modal-header .modal-title {font-size: 13px; line-height: 24px;}
#taskTeamEditor tr {padding: 8px 7px 8px 7px;}
#taskTeamEditor td .chosen-single .chosen-search input,
#taskTeamEditor tr td .chosen-single {height: 35px; line-height: 24px;}
#taskTeamEditor td .chosen-single .chosen-search::before {top: 10px;}
#taskTeamEditor tr td:first-child {width: 40px; position: relative;}
.team-number {display: inline-block; width: 20px; height: 20px; line-height: 20px; border-radius: 10px; text-align: center; background: #f4f5f7;}
#taskTeamEditor tr td:first-child .icon { position: absolute; top: 42px; left: 10.5px; display: block; font-size: 8px; color: #9ea3bd;;}
#taskTeamEditor tr:last-child td:first-child .icon {display: none;}
#modalTeam .modal-content input[type="text"]::input-placeholder{color: #c4c4c4;text-align: left;}
#modalTeam .modal-content input[type="text"]::-webkit-input-placeholder{color: #c4c4c4;text-align: left;}
#modalTeam .modal-content input[type="text"]::-moz-placeholder{color: #c4c4c4;text-align: left;}
#modalTeam .modal-content input[type="text"]::-ms-input-placeholder{color: #c4c4c4;text-align: left;}
+1
View File
@@ -148,6 +148,7 @@ $lang->task->my = 'My ';
$lang->task->hasConsumed = 'Verbraucht';
$lang->task->multiple = 'Mehere Aufgaben';
$lang->task->multipleAB = ' Mehrere';
$lang->task->teamSetting = 'Team Setting';
$lang->task->team = 'Team';
$lang->task->transfer = 'Transfer';
$lang->task->transferTo = 'Transfer nach';
+1
View File
@@ -148,6 +148,7 @@ $lang->task->my = 'My ';
$lang->task->hasConsumed = 'Already Cost';
$lang->task->multiple = 'Multiple Users';
$lang->task->multipleAB = 'M';
$lang->task->teamSetting = 'Team Setting';
$lang->task->team = 'Team';
$lang->task->transfer = 'Transfer';
$lang->task->transferTo = 'Transfer To';
+1
View File
@@ -148,6 +148,7 @@ $lang->task->my = 'My ';
$lang->task->hasConsumed = 'Consommé';
$lang->task->multiple = 'Utilisateurs Multiples';
$lang->task->multipleAB = 'M';
$lang->task->teamSetting = 'Team Setting';
$lang->task->team = 'Equipe';
$lang->task->transfer = 'Transferer';
$lang->task->transferTo = 'Transferer à';
+1
View File
@@ -148,6 +148,7 @@ $lang->task->my = '我的';
$lang->task->hasConsumed = '之前消耗';
$lang->task->multiple = '多人任务';
$lang->task->multipleAB = '多人';
$lang->task->teamSetting = '团队设置';
$lang->task->team = '团队';
$lang->task->transfer = '转交';
$lang->task->transferTo = '转交给';
+2 -2
View File
@@ -290,7 +290,7 @@ foreach(explode(',', $config->task->create->requiredFields) as $field)
<button type='button' class='close' data-dismiss='modal'>
<i class="icon icon-close"></i>
</button>
<h4 class='modal-title'><?php echo $lang->task->team;?></h4>
<h4 class='modal-title'><?php echo $lang->task->teamSetting;?></h4>
</div>
<div class='modal-body'>
<table class="table table-form" id='taskTeamEditor'>
@@ -299,7 +299,7 @@ foreach(explode(',', $config->task->create->requiredFields) as $field)
</tbody>
<tfoot>
<tr>
<td colspan='3' class='text-center form-actions'><?php echo html::a('javascript:void(0)', $lang->confirm, '', "id='confirmButton' class='btn btn-primary'");?></td>
<td colspan='4' class='text-center form-actions'><?php echo html::a('javascript:void(0)', $lang->confirm, '', "id='confirmButton' class='btn btn-primary'");?></td>
</tr>
</tfoot>
</table>
+54 -6
View File
@@ -1,3 +1,10 @@
<style>
#taskTeamEditor button > i {color: #5e626d;}
#taskTeamEditor .estimateBox span {background-color: #fff;}
#taskTeamEditor .estimateBox input {background-color: #fff; border-right-width: 0px;}
#taskTeamEditor input, #taskTeamEditor span, #taskTeamEditor .chosen-container > a {border-color: #eee;}
</style>
<?php $i = 1;?>
<?php if(!empty($task->team)):?>
<?php foreach($task->team as $member):?>
<?php
@@ -18,6 +25,10 @@ $hourDisabled = $memberDisabled;
if($task->mode == 'multi' and $app->rawMethod == 'activate') $hourDisabled = false;
?>
<tr class='member-<?php echo $memberStatus;?>' data-estimate='<?php echo (float)$member->estimate?>' data-consumed='<?php echo (float)$member->consumed?>' data-left='<?php echo (float)$member->left?>'>
<td>
<span class="team-number"><?php echo $i;?></span>
<i class="icon icon-angle-down"></i>
</td>
<td class='w-250px'>
<?php echo html::select("team[]", $members, $member->account, "class='form-control chosen'" . ($memberDisabled ? ' disabled' : ''))?>
<?php echo html::hidden("teamSource[]", $member->account);?>
@@ -35,24 +46,29 @@ if($task->mode == 'multi' and $app->rawMethod == 'activate') $hourDisabled = fal
</td>
<td class='w-130px sort-handler'>
<button type="button" <?php echo $memberDisabled ? 'disabled' : '';?> class="btn btn-link btn-sm btn-icon btn-add"><i class="icon icon-plus"></i></button>
<button type="button" <?php echo $memberDisabled ? 'disabled' : '';?> class="btn btn-link btn-sm btn-icon btn-delete"><i class="icon icon-trash"></i></button>
<?php if(isset($task->mode) and $task->mode == 'linear'):?>
<button type="button" <?php echo $sortDisabled ? 'disabled' : '';?> class='btn btn-link btn-sm btn-icon btn-move'><i class='icon-move'></i></button>
<?php endif;?>
<button type="button" <?php echo $memberDisabled ? 'disabled' : '';?> class="btn btn-link btn-sm btn-icon btn-delete"><i class="icon icon-close"></i></button>
</td>
</tr>
<?php $i ++;?>
<?php endforeach;?>
<?php endif;?>
<tr class='template teamTemplate member-wait'>
<td>
<span class="team-number"><?php echo $i;?></span>
<i class="icon icon-angle-down"></i>
</td>
<td class='w-250px'>
<?php echo html::select("team[]", $members, '', "class='form-control chosen'")?>
<?php echo html::hidden("teamSource[]", '');?>
</td>
<td>
<?php if(empty($task->team)):?>
<div class='input-group'>
<div class='input-group estimateBox'>
<?php echo html::input("teamEstimate[]", '', "class='form-control text-center' placeholder='{$lang->task->estimateAB}'") ?>
<span class='input-group-addon'><?php echo $lang->task->hour;?></span>
<span class='input-group-addon'><?php echo 'h';?></span>
</div>
<?php else:?>
<div class='input-group'>
@@ -67,10 +83,10 @@ if($task->mode == 'multi' and $app->rawMethod == 'activate') $hourDisabled = fal
</td>
<td class='w-130px sort-handler'>
<button type="button" class="btn btn-link btn-sm btn-icon btn-add"><i class="icon icon-plus"></i></button>
<button type="button" class="btn btn-link btn-sm btn-icon btn-delete"><i class="icon icon-trash"></i></button>
<?php if(empty($task->mode) or $task->mode == 'linear'):?>
<button type='button' class='btn btn-link btn-sm btn-icon btn-move'><i class='icon-move'></i></button>
<?php endif;?>
<button type="button" class="btn btn-link btn-sm btn-icon btn-delete"><i class="icon icon-close"></i></button>
</td>
</tr>
<?php $newRowCount = (!empty($task->team) and count($task->team) < 6) ? 6 - count($task->team) : 1;?>
@@ -83,7 +99,7 @@ if($task->mode == 'multi' and $app->rawMethod == 'activate') $hourDisabled = fal
<?php js::set('totalLeftError', sprintf($this->lang->task->error->leftEmptyAB, $this->lang->task->statusList[$task->status]));?>
<?php if($newRowCount == 0 and $app->rawMethod == 'edit'):?>
<tr>
<td colspan='3'>
<td colspan='4'>
<div class='alert alert-info'><?php printf($lang->task->noticeManageTeam, zget($lang->task->statusList, $task->status));?></div>
</td>
</tr>
@@ -92,8 +108,20 @@ if($task->mode == 'multi' and $app->rawMethod == 'activate') $hourDisabled = fal
<script>
$(document).ready(function()
{
<?php if(isset($task->mode) and $task->mode == 'multi'):?>
$('tr.teamTemplate').closest('tbody.sortable').sortable('destroy');
<?php if(!isset($task->mode) or $task->mode != 'multi'):?>
var canSort = false;
var options = {
trigger: '.icon-move',
selector: 'tr.teamTemplate',
dragCssClass: 'drag-row',
reverse: true,
finish: setLineNumber
}
$('#taskTeamEditor > .sortable').sortable(options);
<?php endif;?>
/* Init task team manage dialog */
@@ -200,6 +228,7 @@ $(document).ready(function()
}, 1600);
disableMembers();
adjustButtons();
setLineNumber();
}).on('click', '.btn-delete', function()
{
var $row = $(this).closest('tr');
@@ -211,11 +240,13 @@ $(document).ready(function()
$row.remove();
disableMembers();
adjustButtons();
setLineNumber();
});
});
adjustButtons();
disableMembers();
setLineNumber();
$taskTeamEditor.on('change', 'select#team', function()
{
@@ -258,4 +289,21 @@ $(document).ready(function()
if($('#teamMember').val() != '') $taskTeamEditor.find('tfoot .btn').click();
})
});
/**
* Set line number.
*
* @access public
* @return void
*/
function setLineNumber()
{
var lineNumber = 1;
$('.team-number').each(function()
{
$(this).text(lineNumber);
lineNumber ++;
});
}
</script>