From 255a68e21bbcf1ddbde1b0b54a1dc76cccf5e36a Mon Sep 17 00:00:00 2001 From: liumengyi Date: Wed, 7 May 2025 15:49:17 +0800 Subject: [PATCH] * [bug#62293,done,0.1h] update modules when lib is changed. --- module/caselib/control.php | 2 +- module/caselib/js/createcase.ui.js | 19 +++++++++++++++++++ module/caselib/ui/createcase.html.php | 1 + 3 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 module/caselib/js/createcase.ui.js diff --git a/module/caselib/control.php b/module/caselib/control.php index 1887092097..380b12a98c 100644 --- a/module/caselib/control.php +++ b/module/caselib/control.php @@ -236,7 +236,7 @@ class caselib extends control $this->loadModel('testcase'); helper::setcookie('lastLibCaseModule', (int)$this->post->module, $this->config->cookieLife, $this->config->webRoot, '', $this->config->cookieSecure, false); - $case = form::data($this->config->testcase->form->create)->add('lib', $libID) + $case = form::data($this->config->testcase->form->create)->add('lib', $_POST['lib'] ? $this->post->lib : $libID) ->setIF(($this->config->testcase->needReview && strpos($this->config->testcase->forceNotReview, $this->app->user->account) === false) || (!empty($this->config->testcase->forceReview) && strpos($this->config->testcase->forceReview, $this->app->user->account) !== false), 'status', 'wait') ->get(); diff --git a/module/caselib/js/createcase.ui.js b/module/caselib/js/createcase.ui.js new file mode 100644 index 0000000000..12d79454c9 --- /dev/null +++ b/module/caselib/js/createcase.ui.js @@ -0,0 +1,19 @@ +/** + * 加载用例库的模块。 + * Load modules of the caselib. + */ +function loadModules(e) +{ + const libID = $(e.target).val(); + const moduleID = $('input[name=module]').val(); + const getModuleLink = $.createLink('tree', 'ajaxGetOptionMenu', 'rootID=' + libID + '&viewtype=caselib&branch=0&rootModuleID=0&returnType=items'); + $.getJSON(getModuleLink, function(modules) + { + if(modules) + { + const $modulePicker = $('input[name=module]').zui('picker'); + $modulePicker.render({items: modules}); + $modulePicker.$.setValue(moduleID); + } + }); +} diff --git a/module/caselib/ui/createcase.html.php b/module/caselib/ui/createcase.html.php index c24e9df807..9b6a38aff7 100644 --- a/module/caselib/ui/createcase.html.php +++ b/module/caselib/ui/createcase.html.php @@ -24,6 +24,7 @@ formPanel ( picker ( + on::change('loadModules'), set::name('lib'), set::items($libraries), set::required(true),