| ¶Ô±ÈÐÂÎļþ |
| | |
| | | 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 }; |
| | | } |