reallife_asset/wwwroot/view_assets.ui
yumoqing f94207dd86 fix: view_assets form submit — use script bind instead of urlwidget
Remove submit_url + submited/urlwidget pattern (event.params is Response
object, not widget descriptor, causes silent failure).
Replace with submit event + actiontype:script that manually POSTs form
data via fetch() and renders response widget tree via bricks.widgetBuild.
2026-05-30 10:48:32 +08:00

51 lines
2.0 KiB
XML

{% set current_group = params_kw.get('vendor_group_id', '') %}
{
"widgettype": "VBox",
"options": {
"width": "100%",
"padding": "16px"
},
"subwidgets": [
{
"widgettype": "Title4",
"options": {
"text": "查看素材",
"fontWeight": "600",
"marginBottom": "16px"
}
},
{
"widgettype": "Form",
"id": "view_assets_form",
"options": {
"fields": [
{
"uitype": "code",
"name": "vendor_group_id",
"label": "认证组合",
"dataurl": "{{entire_url('api/get_org_groups.dspy')}}",
"data_field": "value",
"text_field": "text",
"required": true,
"value": "{{ current_group }}"
}
]
},
"binds": [
{
"wid": "self",
"event": "submit",
"actiontype": "script",
"target": "self",
"script": "(async function(){var form=bricks.getWidgetById('view_assets_form',bricks.app);if(!form)return;var vals=form._getValue();var params=new URLSearchParams();for(var k in vals){if(vals[k]!==undefined&&vals[k]!==null)params.append(k,vals[k])}var url=bricks.app.baseUrl+'/reallife_asset/api/submit_list_assets.dspy?_webbricks_=1';var resp=await fetch(url,{method:'POST',body:params});var desc=await resp.json();var target=bricks.getWidgetById('rl_asset_results',bricks.app);if(!target)return;if(target.destroy_subwidgets)target.destroy_subwidgets();target.subwidgets=[];target.el.innerHTML='';if(desc&&desc.widgettype){await bricks.widgetBuild(desc,target)}})()"
}
]
},
{
"widgettype": "VBox",
"id": "rl_asset_results",
"options": {"padding": "16px"}
}
]
}