import { ref } from "vue"; import { userListNoPageByTenantId } from "@/api/system/user.js"; function unwrapArray(payload) { if (Array.isArray(payload)) return payload; if (payload?.data && Array.isArray(payload.data)) return payload.data; if (payload?.rows && Array.isArray(payload.rows)) return payload.rows; return []; } function isActiveUser(u) { if (u.delFlag === "2" || u.delFlag === 2) return false; if (u.status == null) return true; return String(u.status) === "0"; } /** 审批流程选人下拉(模板/实例共用) */ export function useFlowUserOptions() { const flowUserOptions = ref([]); const loading = ref(false); async function loadFlowUsers() { loading.value = true; try { const res = await userListNoPageByTenantId(); flowUserOptions.value = unwrapArray(res).filter(isActiveUser); } catch { flowUserOptions.value = []; } finally { loading.value = false; } } return { flowUserOptions, loading, loadFlowUsers }; }