diff --git a/src/api/module/flow.ts b/src/api/module/flow.ts index 25511fe..f810b0f 100644 --- a/src/api/module/flow.ts +++ b/src/api/module/flow.ts @@ -119,13 +119,17 @@ class FlowApi { } // ==================== 管理面:流程定义 ==================== - defList() { - return get(`${ROOT}/admin/def/list`); + defList(params?: { status?: number; appKey?: string }) { + return get(`${ROOT}/admin/def/list`, params); + } + /** 应用清单("按应用筛选"下拉):本校 flw_def 已标注 ∪ 已注册回调的应用 */ + defAppKeys() { + return get(`${ROOT}/admin/def/appkeys`); } defGet(id: number | string) { return get(`${ROOT}/admin/def/get`, { id }); } - defSave(body: { id?: number; code: string; name: string; contentJson: string; baseGuid?: string }) { + defSave(body: { id?: number; code: string; name: string; contentJson: string; baseGuid?: string; appKey?: string }) { return post(`${ROOT}/admin/def/save`, body); } defPublish(id: number | string) { diff --git a/src/views/flow/admin/Defs.vue b/src/views/flow/admin/Defs.vue index cee1e0e..141c839 100644 --- a/src/views/flow/admin/Defs.vue +++ b/src/views/flow/admin/Defs.vue @@ -23,11 +23,15 @@ const sourceText = ref(""); const sourceTitle = ref(""); // 操作按钮区 + 表格,无搜索、无分页 const tableHeight = ref(Utils.useTableHeight({ isOperat: true })); +// 按应用筛选(flw_def.app_key,2026-10-10):下拉数据源来自 /def/appkeys +const appKeys = ref([]); +const filterApp = ref(""); const columns = [ { title: "序号", type: "index", width: 70, align: "center" }, { title: "流程", key: "name", minWidth: 180 }, { title: "编码", key: "code", width: 160 }, + { title: "应用", key: "appKey", width: 110, align: "center", render: (h: any, p: any) => h("span", p.row.appKey || "-") }, { title: "版本", key: "version", width: 70, align: "center" }, { title: "状态", width: 90, align: "center", render: (h: any, p: any) => { const c = p.row.status === 1 ? "green" : p.row.status === 0 ? "orange" : "gray"; @@ -58,12 +62,21 @@ const columns = [ async function load() { loading.value = true; try { - rows.value = (await flowApi.defList().send()) || []; + rows.value = (await flowApi.defList({ appKey: filterApp.value || undefined }).send()) || []; } finally { loading.value = false; } } +/** 应用清单(筛选下拉):flw_def 已标注 ∪ 已注册回调的应用,失败降级为空下拉 */ +async function loadAppKeys() { + try { + appKeys.value = (await flowApi.defAppKeys().send()) || []; + } catch { + appKeys.value = []; + } +} + /** 新建:编辑器空模板(默认含一个待配置审批节点) */ function onNew() { router.push({ path: "/admin/defs/editor" }); @@ -148,7 +161,10 @@ function onDiagram(row: any) { router.push({ path: "/diagram", query: { defId: row.id } }); } -onMounted(load); +onMounted(() => { + load(); + loadAppKeys(); +});