From d85f98a8694f147b1767f9dfa55362e583861be7 Mon Sep 17 00:00:00 2001 From: augushong Date: Fri, 21 Mar 2025 13:20:45 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E7=94=9F=E6=88=90=E8=A1=A8=E5=8D=95?= =?UTF-8?q?=E6=97=B6=E5=9C=A8=E6=B7=BB=E5=8A=A0=E9=A1=B5=E9=9D=A2=E9=BB=98?= =?UTF-8?q?=E8=AE=A4=E8=AF=BB=E5=8F=96get=E5=8F=82=E6=95=B0=E9=A2=84?= =?UTF-8?q?=E8=AE=BE=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/service/curd/BuildCurdServiceBase.php | 17 ++++++++++------- .../service/curd/templates/js/_common.code | 2 +- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/extend/base/admin/service/curd/BuildCurdServiceBase.php b/extend/base/admin/service/curd/BuildCurdServiceBase.php index 3e55769..2a4f6d5 100644 --- a/extend/base/admin/service/curd/BuildCurdServiceBase.php +++ b/extend/base/admin/service/curd/BuildCurdServiceBase.php @@ -1266,6 +1266,9 @@ class BuildCurdServiceBase continue; } + $defaultFromRequestComponent = '{$Request.param.' . $field . '|default=\'' . $val['default'] . '\'}'; + $defaultFromRequestVar = '$Request.param.' . $field; + $templateFile = "view{$this->DS}module{$this->DS}input"; $define = ''; @@ -1295,12 +1298,12 @@ class BuildCurdServiceBase } elseif ($val['formType'] == 'radio' || $val['formType'] == 'switch') { $templateFile = "view{$this->DS}module{$this->DS}radio"; if (isset($val['define']) && !empty($val['define'])) { - $define = $this->buildRadioView($field, '{in name="k" value="' . $val['default'] . '"}checked=""{/in}'); + $define = $this->buildRadioView($field, '{in name="k" value="' . $defaultFromRequestVar . '"}checked=""{/in}'); } } elseif ($val['formType'] == 'checkbox') { $templateFile = "view{$this->DS}module{$this->DS}checkbox"; if (isset($val['define']) && !empty($val['define'])) { - $define = $this->buildCheckboxView($field, '{in name="k" value="' . $val['default'] . '"}checked=""{/in}'); + $define = $this->buildCheckboxView($field, '{in name="k" value="' . $defaultFromRequestVar . '"}checked=""{/in}'); } } elseif ($val['formType'] == 'select') { $templateFile = "view{$this->DS}module{$this->DS}select"; @@ -1308,7 +1311,7 @@ class BuildCurdServiceBase // TODO:这里的兼容关联不知道还有没有用,可能是技术债务,需要清理 $define = $this->buildOptionView($val['bindRelation']); } elseif (isset($val['define']) && !empty($val['define'])) { - $define = $this->buildOptionView($field); + $define = $this->buildOptionView($field, '{in name="k" value="' . $defaultFromRequestVar . '"}selected=""{/in}'); } } elseif (in_array($field, ['remark']) || $val['formType'] == 'textarea') { $templateFile = "view{$this->DS}module{$this->DS}textarea"; @@ -1319,13 +1322,13 @@ class BuildCurdServiceBase $templateFile = "view{$this->DS}module{$this->DS}table"; - $define = $this->buildTableView($field, $val, $val['default']); + $define = $this->buildTableView($field, $val, $defaultFromRequestComponent); } elseif ($val['formType'] == 'table') { $templateFile = "view{$this->DS}module{$this->DS}table"; - $define = $this->buildTableView($field, $val, $val['default']); + $define = $this->buildTableView($field, $val, $defaultFromRequestComponent); } elseif ($val['formType'] == 'city') { $templateFile = "view{$this->DS}module{$this->DS}city"; - $define = $this->buildCityView($field, $val, $val['default']); + $define = $this->buildCityView($field, $val, $defaultFromRequestComponent); } elseif ($val['formType'] == 'tag') { $templateFile = "view{$this->DS}module{$this->DS}tag"; } @@ -1337,7 +1340,7 @@ class BuildCurdServiceBase 'field' => $field, 'required' => $this->buildRequiredHtml($val['required']), 'required_text' => $val['required'] ? '1' : '', - 'value' => $val['default'], + 'value' => $defaultFromRequestComponent, 'define' => $define, ] ); diff --git a/extend/base/admin/service/curd/templates/js/_common.code b/extend/base/admin/service/curd/templates/js/_common.code index 0d35c1c..a0f7405 100644 --- a/extend/base/admin/service/curd/templates/js/_common.code +++ b/extend/base/admin/service/curd/templates/js/_common.code @@ -2,7 +2,7 @@ var init = { tableElem: '#currentTable', tableRenderId: 'currentTableRenderId', indexUrl: '{{controllerUrl}}/index', - addUrl: '{{controllerUrl}}/add', + addUrl: '{{controllerUrl}}/add' + location.search, editUrl: '{{controllerUrl}}/edit', deleteUrl: '{{controllerUrl}}/delete', exportUrl: '{{controllerUrl}}/export',