86 lines
2.5 KiB
JavaScript
86 lines
2.5 KiB
JavaScript
"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
|