From 31dfed19c40af1755aca016b6b07da4656e3071b Mon Sep 17 00:00:00 2001 From: tianshujie Date: Thu, 31 Aug 2023 16:04:38 +0800 Subject: [PATCH] * Refacor manageMembers page. --- module/execution/css/managemembers.ui.css | 2 +- module/execution/js/managemembers.ui.js | 21 +++++++++------------ module/execution/ui/managemembers.html.php | 12 ++++++------ 3 files changed, 16 insertions(+), 19 deletions(-) diff --git a/module/execution/css/managemembers.ui.css b/module/execution/css/managemembers.ui.css index 91ac2c185a..8c672db93e 100644 --- a/module/execution/css/managemembers.ui.css +++ b/module/execution/css/managemembers.ui.css @@ -4,4 +4,4 @@ #teamForm .actions-list {padding-left: 0.5rem;} #featureBar .select-dept-box, #featureBar .select-team-box {display: inline-flex;} #featureBar .dept-title, #featureBar .team-title {width: 64px;} -#featureBar .select-dept-box > select, #featureBar .select-team-box > select {width: 270px;} +#featureBar .select-dept-box .picker, #featureBar .select-team-box .picker {width: 270px;} diff --git a/module/execution/js/managemembers.ui.js b/module/execution/js/managemembers.ui.js index 05f4e107df..183e6916a0 100644 --- a/module/execution/js/managemembers.ui.js +++ b/module/execution/js/managemembers.ui.js @@ -9,14 +9,10 @@ window.addItem = function(obj) { let item = $('#addItem > tbody').html().replace(/%i%/g, itemIndex); const $currentTr = $(obj).closest('tr'); - $currentTr.after(item); + $currentTr.after(item); const $newRow = $currentTr.next(); - $('select[name^=accounts]').each(function() - { - const selectValue = $(this).val(); - if(selectValue) $newRow.find(`option[value='${selectValue}']`).remove(); - }); + itemIndex ++; } /** @@ -41,7 +37,7 @@ window.deleteItem = function(obj) */ window.setDeptUsers = function() { - const dept = $(this).val(); // Get dept ID. + const dept = $('input[name=dept]').val(); // Get dept ID. const link = $.createLink('execution', 'manageMembers', 'executionID=' + executionID + '&team2Import=' + team2Import + '&dept=' + dept); // Create manageMembers link. loadPage(link); } @@ -55,8 +51,8 @@ window.setDeptUsers = function() */ function choseTeam2Copy() { - const team = $(this).val(); - const dept = $('#dept').val(); + const team = $('input[name=execution]').val(); + const dept = $('input[name=dept]').val(); const link = $.createLink('execution', 'manageMembers', 'executionID=' + executionID + '&team2Import=' + team + '&dept=' + dept); loadPage(link); } @@ -69,9 +65,10 @@ function choseTeam2Copy() * @access public * @return void */ -window.setRole = function(account, roleID) +window.setRole = function(roleID) { - const role = roles[account]; - const $role = $('#role' + roleID); + const account = $(`input[name='accounts\[${roleID}\]']`).val(); + const role = roles[account]; + const $role = $('#role' + roleID); $role.val(role); } diff --git a/module/execution/ui/managemembers.html.php b/module/execution/ui/managemembers.html.php index 9c15258dfe..296e40e27c 100644 --- a/module/execution/ui/managemembers.html.php +++ b/module/execution/ui/managemembers.html.php @@ -27,7 +27,7 @@ if(count($teams2Import) != 1) set::className('flex items-center team-title'), $lang->execution->copyTeam ), - select + picker ( set::name('execution'), set::value($team2Import), @@ -49,7 +49,7 @@ featureBar set::className('flex items-center dept-title'), $lang->execution->selectDept ), - select + picker ( set::id('dept'), set::name('dept'), @@ -85,14 +85,14 @@ foreach($teamMembers as $member) set::type('hidden'), ), ) : h::td( - select + picker ( set::id("account{$i}"), set::name("accounts[$i]"), set::value($member->account), set::items($users), set('data-max-list-count', $config->maxCount), - set('onchange', "setRole(this.value, '{$i}')"), + set('onchange', "setRole('{$i}')"), ), ), h::td @@ -159,13 +159,13 @@ h::table set::id('addItem'), h::tr( h::td( - select + picker ( set::id("account{$i}"), set::name("accounts[$i]"), set::items($users), set('data-max-list-count', $config->maxCount), - set('onchange', "setRole(this.value, '{$i}')"), + set('onchange', "setRole('{$i}')"), ), ), h::td