fix(rag-ui): 新建知识库submit后刷新列表——Form加submited事件bind重建kb_list

This commit is contained in:
ymq 2026-09-02 14:52:25 +08:00
parent 728dbc328e
commit c9a2f4d7e8
3 changed files with 43 additions and 7 deletions

View File

@ -11,9 +11,13 @@ async with db.sqlorContext(dbname) as sor:
emb_type = ns.get("embedding_type", "") or ns.get("embedding_engine", "")
if emb_type not in ("bge-m3", "clip-vith14", "qwen3-vl-embedding"):
emb_type = "bge-m3"
# 知识库级角色权限:维护角色/检索角色(逗号分隔,空=同机构默认可用)
maintain_roles = ns.get("maintain_roles", "") or ""
search_roles = ns.get("search_roles", "") or ""
# 知识库级角色权限:维护角色/检索角色(多选 checkbox 提交 list兼容逗号串
def _roles_csv(v):
if isinstance(v, (list, tuple)):
return ','.join([str(x) for x in v if str(x).strip()])
return str(v or '')
maintain_roles = _roles_csv(ns.get("maintain_roles", ""))
search_roles = _roles_csv(ns.get("search_roles", ""))
await sor.sqlExe(
"INSERT INTO rag_knowledge_bases (id, name, description, org_id, embedding_engine, vdb_collection, doc_count, total_size, chunk_count, status, maintain_roles, search_roles, created_at) "
"VALUES (${id}$, ${name}$, ${desc}$, ${org_id}$, ${emb}$, 'rag_collection', 0, 0, 0, 'active', ${mr}$, ${sr}$, NOW())",

View File

@ -114,10 +114,21 @@
}
},
{
"widgettype": "urlwidget",
"widgettype": "VBox",
"id": "rag_main_content",
"options": {
"url": "{{entire_url('./kb_list.dspy')}}"
}
"css": "filler",
"width": "100%",
"height": "100%"
},
"subwidgets": [
{
"widgettype": "urlwidget",
"options": {
"url": "{{entire_url('./kb_list.dspy')}}"
}
}
]
}
]
}

View File

@ -1,6 +1,18 @@
{
"widgettype": "Form",
"id": "kb_form",
"binds": [
{
"wid": "self",
"event": "submited",
"actiontype": "urlwidget",
"target": "app.rag_main_content",
"mode": "replace",
"options": {
"url": "{{entire_url('./kb_list.dspy')}}"
}
}
],
"options": {
"cols": 1,
"title": "新建知识库",
@ -14,5 +26,14 @@
{"name": "search_roles", "label": "检索角色(可多选)", "uitype": "checkbox", "multicheck": true, "dataurl": "{{entire_url('./role_options.dspy')}}", "valueField": "value", "textField": "text", "tip": "不选=同机构登录用户均可检索/下载"},
{"name": "embedding_type", "label": "向量引擎", "uitype": "code", "value": "bge-m3", "dataurl": "{{entire_url('./embedding_options.dspy')}}", "valueField": "value", "textField": "text"}
]
}
},
"binds": [
{
"wid": "self",
"event": "submited",
"actiontype": "script",
"target": "self",
"script": "var u='/rag/knowledge_bases_list/kb_list.dspy?_webbricks_=1';fetch(u).then(function(r){return r.json()}).then(function(d){var mc=bricks.getWidgetById('rag_main_content',bricks.app.root);if(mc){mc.clear_widgets();bricks.widgetBuild(d,mc).then(function(w){if(w)mc.add_widget(w)})}})"
}
]
}