refactor: use Tabular built-in search_form for failed_accounting filter - Remove standalone InlineForm + custom toggle scripts - Use search_form config (framework handles create/hide/toggle/submit) - Toolbar button name 'filter' triggers built-in toggle_search_form()

This commit is contained in:
Hermes Agent 2026-06-22 13:50:04 +08:00
parent e99e7774f2
commit 9b9e2a22d6

View File

@ -1,20 +1,29 @@
{ {
"widgettype": "VBox", "widgettype": "Tabular",
"id": "failed_table",
"options": { "options": {
"width": "100%", "width": "100%",
"height": "100%", "height": "100%",
"padding": "8px",
"gap": "8px"
},
"subwidgets": [
{
"widgettype": "InlineForm",
"id": "filter_form",
"options": {
"css": "card", "css": "card",
"padding": "8px", "toolbar": {
"submit_label": "查询", "tools": [
"submit_css": "primary", {
"name": "filter",
"label": "搜索"
},
{
"name": "show_reason",
"label": "原因",
"selected_row": true
},
{
"name": "retry_accounting",
"label": "重试记账",
"selected_row": true
}
]
},
"search_form": {
"fields": [ "fields": [
{ {
"name": "start_date", "name": "start_date",
@ -41,37 +50,6 @@
} }
] ]
}, },
"binds": [
{
"wid": "self",
"event": "submit",
"actiontype": "script",
"target": "app.failed_table",
"script": "var tbl = bricks.getWidgetById('app.failed_table'); if(tbl) await tbl.render(params);"
}
]
},
{
"widgettype": "Tabular",
"id": "failed_table",
"options": {
"width": "100%",
"height": "100%",
"css": "card",
"toolbar": {
"tools": [
{
"name": "show_reason",
"label": "原因",
"selected_row": true
},
{
"name": "retry_accounting",
"label": "重试记账",
"selected_row": true
}
]
},
"data_url": "{{entire_url('/llmage/api/failed_accounting_list.dspy')}}", "data_url": "{{entire_url('/llmage/api/failed_accounting_list.dspy')}}",
"data_method": "GET", "data_method": "GET",
"page_rows": 20, "page_rows": 20,
@ -140,6 +118,4 @@
"script": "var dv = bricks.getWidgetById('failed_table', bricks.app.root); if(!dv || !dv.select_row || !dv.select_row.user_data) { alert('请先选中一条记录'); return; } var row = dv.select_row.user_data; if(!row.llmusageid) { alert('记录缺少llmusageid'); return; } var resp = await fetch('{{entire_url('/llmage/api/retry_accounting.dspy')}}?id=' + row.llmusageid); var d = await resp.json(); if(d.success) { alert(d.message); await dv.render({}); } else { alert('失败: ' + d.message); }" "script": "var dv = bricks.getWidgetById('failed_table', bricks.app.root); if(!dv || !dv.select_row || !dv.select_row.user_data) { alert('请先选中一条记录'); return; } var row = dv.select_row.user_data; if(!row.llmusageid) { alert('记录缺少llmusageid'); return; } var resp = await fetch('{{entire_url('/llmage/api/retry_accounting.dspy')}}?id=' + row.llmusageid); var d = await resp.json(); if(d.success) { alert(d.message); await dv.render({}); } else { alert('失败: ' + d.message); }"
} }
] ]
}
]
} }