2 lines
1.2 KiB
JavaScript
2 lines
1.2 KiB
JavaScript
"use strict";const e=e=>{if(!e)return"";const r=e.identityId??e.userIdentityId??e.userId??"";return""===r||null==r?"":String(r)},r=r=>{const t=e(r);return t?`identity-${t}`:`user-${r.userId||r.nickName||""}`},t=(r,s)=>{var n;if(!s||!Array.isArray(r))return null;for(const i of r){const r=(i.users||[]).find((r=>String(e(r))===String(s)));if(r)return r;if(null==(n=i.children)?void 0:n.length){const e=t(i.children,s);if(e)return e}}return null},s=(e,t=0)=>{var n;const i=[];if(!Array.isArray(e))return i;for(const a of e){i.push({type:"dept",key:`dept-${a.deptId??a.deptName??t}`,deptName:a.deptName||"",level:t});for(const e of a.users||[])i.push({type:"user",key:r(e),user:e,level:t+1});(null==(n=a.children)?void 0:n.length)&&i.push(...s(a.children,t+1))}return i};exports.findAssigneeUserInDeptTree=t,exports.flattenApproverDeptTree=s,exports.formatAssigneeDisplayName=e=>e?e.identityName?`${e.nickName||e.userName||""}_${e.identityName}`:e.postName?`${e.nickName||e.userName||""}_${e.postName}`:e.nickName||e.userName||e.name||"未知人员":"",exports.normalizeApproverDeptTree=e=>e?Array.isArray(e)?e:Array.isArray(e.records)?e.records:Array.isArray(e.list)?e.list:[]:[],exports.resolveAssigneeIdentityId=e;
|