"use strict"; const resolveAssigneeIdentityId = (user) => { if (!user) return ""; const id = user.identityId ?? user.userIdentityId ?? user.userId ?? ""; return id === "" || id == null ? "" : String(id); }; const getAssigneeItemKey = (user) => { const identityId = resolveAssigneeIdentityId(user); if (identityId) return `identity-${identityId}`; return `user-${user.userId || user.nickName || ""}`; }; const formatAssigneeDisplayName = (user) => { if (!user) return ""; if (user.identityName) { return `${user.nickName || user.userName || ""}_${user.identityName}`; } if (user.postName) { return `${user.nickName || user.userName || ""}_${user.postName}`; } return user.nickName || user.userName || user.name || "未知人员"; }; const normalizeApproverDeptTree = (data) => { if (!data) return []; if (Array.isArray(data)) return data; if (Array.isArray(data.records)) return data.records; if (Array.isArray(data.list)) return data.list; return []; }; const findAssigneeUserInDeptTree = (depts, identityId) => { var _a; if (!identityId || !Array.isArray(depts)) return null; for (const dept of depts) { const user = (dept.users || []).find( (item) => String(resolveAssigneeIdentityId(item)) === String(identityId) ); if (user) return user; if ((_a = dept.children) == null ? void 0 : _a.length) { const found = findAssigneeUserInDeptTree(dept.children, identityId); if (found) return found; } } return null; }; const flattenApproverDeptTree = (depts, level = 0) => { var _a; const rows = []; if (!Array.isArray(depts)) return rows; for (const dept of depts) { rows.push({ type: "dept", key: `dept-${dept.deptId ?? dept.deptName ?? level}`, deptName: dept.deptName || "", level }); for (const user of dept.users || []) { rows.push({ type: "user", key: getAssigneeItemKey(user), user, level: level + 1 }); } if ((_a = dept.children) == null ? void 0 : _a.length) { rows.push(...flattenApproverDeptTree(dept.children, level + 1)); } } return rows; }; exports.findAssigneeUserInDeptTree = findAssigneeUserInDeptTree; exports.flattenApproverDeptTree = flattenApproverDeptTree; exports.formatAssigneeDisplayName = formatAssigneeDisplayName; exports.normalizeApproverDeptTree = normalizeApproverDeptTree; exports.resolveAssigneeIdentityId = resolveAssigneeIdentityId; //# sourceMappingURL=../../../.sourcemap/mp-weixin/components/flow/flowAssigneeUtils.js.map