From 18e03cd6d8b0eabdfa2942be9a2de474e58016a1 Mon Sep 17 00:00:00 2001 From: wangyuting Date: Wed, 9 Aug 2023 17:18:14 +0800 Subject: [PATCH] * Optimize mergeprogram.ui.js. --- module/upgrade/control.php | 20 ++++++-- module/upgrade/js/mergeprogram.ui.js | 58 ++++++------------------ module/upgrade/ui/createprogram.html.php | 2 +- 3 files changed, 32 insertions(+), 48 deletions(-) diff --git a/module/upgrade/control.php b/module/upgrade/control.php index 20020b22ee..93981a9afc 100644 --- a/module/upgrade/control.php +++ b/module/upgrade/control.php @@ -783,7 +783,13 @@ class upgrade extends control public function ajaxGetProjectPairsByProgram($programID = 0) { $projects = $this->upgrade->getProjectPairsByProgram($programID); - echo html::select('projects', $projects, '', 'class="form-control prj-exist" onchange="getProgramStatus(\'project\', this.value)"'); + + $result = array(); + foreach($projects as $projectID => $projectName) + { + $result[] = array('text' => $projectName, 'value' => $projectID); + } + return $this->send(array('result' => 'success', 'projects' => $result)); } /** @@ -795,9 +801,15 @@ class upgrade extends control */ public function ajaxGetLinesPairsByProgram($programID = 0) { - $lines = array('' => ''); - if((int)$programID) $lines += $this->loadModel('product')->getLinePairs($programID); - echo html::select('lines', $lines, '', 'class="form-control line-exist"'); + $lines = $this->loadModel('product')->getLinePairs((int)$programID); + + $result = array(); + foreach($lines as $lineID => $lineName) + { + $result[] = array('text' => $lineName, 'value' => $lineID); + } + + return $this->send(array('result' => 'success', 'lines' => $result)); } /** diff --git a/module/upgrade/js/mergeprogram.ui.js b/module/upgrade/js/mergeprogram.ui.js index 0ea4c7a910..4988736347 100644 --- a/module/upgrade/js/mergeprogram.ui.js +++ b/module/upgrade/js/mergeprogram.ui.js @@ -8,10 +8,6 @@ window.changeAllLines = function() $('input[name^=productLines]').prop('checked', $('#checkAllLines').prop('checked')); $('#checkAllProducts').prop('checked', $('#checkAllLines').prop('checked')); changeAllProducts(); - $('#checkAllSprints').prop('checked', $('#checkAllLines').prop('checked')); - changeAllSprints(); - - buildForm(); } window.changeAllProducts = function() @@ -26,8 +22,6 @@ window.changeAllProducts = function() $('#checkAllSprints').prop('checked', $('#checkAllProducts').prop('checked')); changeAllSprints(); - - buildForm(); } window.changeAllSprints = function() @@ -41,7 +35,6 @@ window.changeAllSprints = function() checkGroupProducts(lineID, productID); if(lineID) checkGroupLines(lineID); }); - buildForm(); } @@ -54,7 +47,6 @@ window.changeLines = function(event) checkAllProducts(); $('input[id^=sprints-' + lineID + '-]').prop('checked', $(event.target).prop('checked')); checkAllSprints(); - buildForm(); } @@ -74,7 +66,6 @@ window.changeProducts = function(event) $('input[id^=sprints-' + productID + '-]').prop('checked', $(event.target).prop('checked')); } checkAllSprints(); - buildForm(); } @@ -86,7 +77,6 @@ window.changeSprints = function(event) const lineID = $(event.target).data('line'); checkGroupProducts(lineID, productID); if(lineID) checkGroupLines(lineID); - buildForm(); } @@ -95,12 +85,12 @@ window.changeProjectType = function() const projectType = $('input[name=projectType]:checked').val(); $('.programForm').toggleClass('hidden', projectType == 'project' && mode == 'light'); - $('.createProjectTip').toggleClass('hidden'); - $('.createExecutionTip').toggleClass('hidden'); - $('.projectName').toggleClass('hidden'); - $('[name=projectAcl]').closest('.check-list').toggleClass('hidden'); - $('[name=programAcl]').closest('.check-list').toggleClass('hidden'); - $('.projectStatus').toggleClass('hidden'); + $('.createProjectTip').toggleClass('hidden', projectType == 'project'); + $('.createExecutionTip').toggleClass('hidden', projectType == 'execution'); + $('[name=projectAcl]').closest('.check-list').toggleClass('hidden', projectType == 'project'); + $('[name=programAcl]').closest('.check-list').toggleClass('hidden', projectType == 'execution'); + $('.projectName').toggleClass('hidden', projectType == 'project'); + $('.projectStatus').toggleClass('hidden', projectType == 'project'); if(projectType == 'project') { @@ -159,7 +149,7 @@ window.changeNewLine = function() $('input[name=newLine]').prop('checked', checkedNewLine); $('form .line-no-exist').toggleClass('hidden', !checkedNewLine); $('form .line-exist').toggleClass('hidden', checkedNewLine); - if($obj.prop('checked')) + if(checkedNewLine) { $('#lines').attr('disabled', 'disabled'); } @@ -273,7 +263,6 @@ window.setProgramBegin = function() if(begin < minBegin) minBegin = begin; }); $('#begin').zui('datePicker').$.changeState({value: minBegin}); - } window.setProgramEnd = function() @@ -354,33 +343,14 @@ window.initFormData = function() $(".projectName input").removeAttr('disabled'); $(".projectName .picker-field").zui('picker').render({disabled: false}); - if($('#newProject0').is(':checked')) $('#projects').attr('disabled', 'disabled'); - - $('[name=projectAcl]').closest('.check-list').toggleClass('hidden', projectType == 'project'); - $('[name=programAcl]').closest('.check-list').toggleClass('hidden', projectType == 'execution'); - $('.projectStatus').toggleClass('hidden', projectType == 'project'); - if(projectType == 'project') - { - $('[name=projectAcl]').attr('disabled', 'disabled'); - $('[name=programAcl]').removeAttr('disabled'); - } - if(projectType == 'execution') - { - $('[name=programAcl]').attr('disabled', 'disabled'); - $('[name=projectAcl]').removeAttr('disabled'); - } - if(mode == 'light') - { - $('form #newProgram0').prop('checked', false); - toggleProgram($('form #newProgram0')); - } + changeProjectType(); } } window.setStatus = function(objectType, objectID) { const link = $.createLink('upgrade', 'ajaxGetProgramStatus', 'objectID=' + objectID); - $.post(link, function(data) + $.get(link, function(data) { if(objectType == 'program') $('#programStatus').zui('picker').$.changeState({value: data}); if(objectType == 'project') $('#projectStatus').zui('picker').$.changeState({value: data}); @@ -390,17 +360,19 @@ window.setStatus = function(objectType, objectID) window.getProjectByProgram = function(programID) { const link = $.createLink('upgrade', 'ajaxGetProjectPairsByProgram', 'programID=' + programID); - $.post(link, function(data) + $.get(link, function(data) { - $('#projects').zui('picker').render({}); + data = JSON.parse(data); + $('#projects').zui('picker').render({items: data.projects}); }) } window.getLineByProgram = function(programID) { const link = $.createLink('upgrade', 'ajaxGetLinesPairsByProgram', 'programID=' + programID); - $.post(link, function(data) + $.get(link, function(data) { - $('#lines').zui('picker').render({}); + data = JSON.parse(data); + $('#lines').zui('picker').render({items: data.lines}); }) } diff --git a/module/upgrade/ui/createprogram.html.php b/module/upgrade/ui/createprogram.html.php index b34df3ba79..d681d31447 100644 --- a/module/upgrade/ui/createprogram.html.php +++ b/module/upgrade/ui/createprogram.html.php @@ -164,6 +164,6 @@ $createProgram = function($data) radioList(set::name('projectAcl'), set::class('hidden'), set::items($lang->project->subAclList), set::value('open')), ) ), - center(set::class('form-actions mt-4'), btn(set::type('submit'), set::class('primary'), $lang->save)) + center(set::class('form-actions mt-4'), btn(set::btnType('submit'), set::class('primary'), $lang->save)) ); };