diff --git a/xls2ddl/xls2crud.py b/xls2ddl/xls2crud.py index 2cd359f..aa882f0 100644 --- a/xls2ddl/xls2crud.py +++ b/xls2ddl/xls2crud.py @@ -351,6 +351,17 @@ def build_data_browser(pat: str, desc: dict): desc.fieldliststr = json.dumps(field_list(desc), ensure_ascii=False, indent=4) desc.filter_fields = build_filter_field_list(desc) desc.filterfieldstr = json.dumps(desc.filter_fields, ensure_ascii=False, indent=4) + # 有 data_filter 时自动注入搜索按钮 + if desc.data_filter: + toolbar = desc.get('toolbar', None) + if not toolbar: + toolbar = {'tools': []} + desc.toolbar = toolbar + tools = toolbar.get('tools', []) + # 确保 filter 按钮在最前面且不重复 + tools = [t for t in tools if t.get('name') != 'filter'] + tools.insert(0, {'name': 'filter', 'label': '搜索', 'icon': 'filter'}) + toolbar['tools'] = tools e = MyTemplateEngine([]) s = e.renders(data_browser_tmpl, desc) with codecs.open(os.path.join(pat, f'index.ui'), 'w', "utf-8") as f: