gaoluyang
2 天以前 f9adfa16fdf2012e915908ea1fed19f75d5107a4
src/views/officeProcessAutomation/ApproveManage/approve-shared/useFlowUserOptions.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,35 @@
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 };
}