From 5a8fb5417577f134b0cb2f96af8ede8d777c43f2 Mon Sep 17 00:00:00 2001 From: augushong Date: Sat, 31 Jan 2026 12:25:53 +0800 Subject: [PATCH] =?UTF-8?q?refactor(table):=20=E9=87=8D=E6=9E=84=E6=90=9C?= =?UTF-8?q?=E7=B4=A2=E8=A1=A8=E5=8D=95=E7=9A=84HTML=E7=BB=93=E6=9E=84?= =?UTF-8?q?=E5=92=8C=E4=BA=8B=E4=BB=B6=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 简化搜索表单的HTML结构,移除外层div,直接使用fieldset - 将表单监听逻辑提取为独立的listenTableSearch方法 - 改进搜索表单的显示/隐藏逻辑,使用layui-hide类控制 - 统一搜索按钮的样式和事件绑定方式 --- .../ulthon-admin/src/ulthon-admin.03-table.js | 48 +++++++++---------- .../static/plugs/ulthon-admin/ulthon-admin.js | 48 +++++++++---------- 2 files changed, 46 insertions(+), 50 deletions(-) diff --git a/public/static/plugs/ulthon-admin/src/ulthon-admin.03-table.js b/public/static/plugs/ulthon-admin/src/ulthon-admin.03-table.js index 89c1d55..17ef0d5 100644 --- a/public/static/plugs/ulthon-admin/src/ulthon-admin.03-table.js +++ b/public/static/plugs/ulthon-admin/src/ulthon-admin.03-table.js @@ -458,27 +458,20 @@ } }); var html = ''; - html += '
\n'; - html += '
\n'; - html += ' 搜索信息\n'; - html += '
\n'; - html += '
\n'; - html += '
\n'; + html += '
\n'; + html += ' 条件搜索\n'; + html += ' \n'; html += formHtml; - html += '
\n'; - html += ' \n'; - html += ' \n'; - html += '
\n'; - html += '
\n'; - html += '
\n'; + html += '
\n'; + html += ' \n'; + html += ' \n'; html += '
\n'; - html += '
\n'; - html += '
\n'; + html += ' \n'; + html += '\n'; - if ($(elem).prev().hasClass("search-form")) { - $(elem).prev().remove(); + var searchFieldsetId = '#searchFieldset_' + tableId; + if ($(searchFieldsetId).length) { + $(searchFieldsetId).remove(); } $(elem).before(html); @@ -488,8 +481,11 @@ laydate.render(val); }); - // 监听表单提交事件 - form.on('submit(' + tableId + '_filter_form_submit)', function (data) { + admin.table.listenTableSearch(tableId); + return options; + }, + listenTableSearch: function (tableId) { + form.on('submit(' + tableId + '_filter)', function (data) { var dataField = data.field; var formatFilter = {}, formatOp = {}; @@ -517,7 +513,6 @@ }, 'data'); return false; }); - return options; }, renderLayout: function (options) { var tableId = options.id; @@ -1236,14 +1231,17 @@ }, listenToolbar: function (layFilter, tableId) { table.on('toolbar(' + layFilter + ')', function (obj) { + var options = obj.config; + var tableId = obj.config.id; var item = obj.event; switch (item) { case 'TABLE_SEARCH': - if (!$('#' + tableId + '_filter_form').is(':visible')) { - $('#' + tableId + '_filter_form').removeClass('layui-hide'); - $('#' + tableId + '_filter_form').show(); + var searchFieldsetId = 'searchFieldset_' + tableId; + var _that = $("#" + searchFieldsetId); + if (_that.hasClass("layui-hide")) { + _that.removeClass('layui-hide'); } else { - $('#' + tableId + '_filter_form').hide(); + _that.addClass('layui-hide'); } break; case 'TABLE_LAYOUT': diff --git a/public/static/plugs/ulthon-admin/ulthon-admin.js b/public/static/plugs/ulthon-admin/ulthon-admin.js index 97fa002..5ca203d 100644 --- a/public/static/plugs/ulthon-admin/ulthon-admin.js +++ b/public/static/plugs/ulthon-admin/ulthon-admin.js @@ -779,27 +779,20 @@ } }); var html = ''; - html += '
\n'; - html += '
\n'; - html += ' 搜索信息\n'; - html += '
\n'; - html += '
\n'; - html += '
\n'; + html += '
\n'; + html += ' 条件搜索\n'; + html += ' \n'; html += formHtml; - html += '
\n'; - html += ' \n'; - html += ' \n'; - html += '
\n'; - html += '
\n'; - html += '
\n'; + html += '
\n'; + html += ' \n'; + html += ' \n'; html += '
\n'; - html += '
\n'; - html += '
\n'; + html += ' \n'; + html += '\n'; - if ($(elem).prev().hasClass("search-form")) { - $(elem).prev().remove(); + var searchFieldsetId = '#searchFieldset_' + tableId; + if ($(searchFieldsetId).length) { + $(searchFieldsetId).remove(); } $(elem).before(html); @@ -809,8 +802,11 @@ laydate.render(val); }); - // 监听表单提交事件 - form.on('submit(' + tableId + '_filter_form_submit)', function (data) { + admin.table.listenTableSearch(tableId); + return options; + }, + listenTableSearch: function (tableId) { + form.on('submit(' + tableId + '_filter)', function (data) { var dataField = data.field; var formatFilter = {}, formatOp = {}; @@ -838,7 +834,6 @@ }, 'data'); return false; }); - return options; }, renderLayout: function (options) { var tableId = options.id; @@ -1557,14 +1552,17 @@ }, listenToolbar: function (layFilter, tableId) { table.on('toolbar(' + layFilter + ')', function (obj) { + var options = obj.config; + var tableId = obj.config.id; var item = obj.event; switch (item) { case 'TABLE_SEARCH': - if (!$('#' + tableId + '_filter_form').is(':visible')) { - $('#' + tableId + '_filter_form').removeClass('layui-hide'); - $('#' + tableId + '_filter_form').show(); + var searchFieldsetId = 'searchFieldset_' + tableId; + var _that = $("#" + searchFieldsetId); + if (_that.hasClass("layui-hide")) { + _that.removeClass('layui-hide'); } else { - $('#' + tableId + '_filter_form').hide(); + _that.addClass('layui-hide'); } break; case 'TABLE_LAYOUT':