| 123456789101112131415161718192021222324 |
- /** 报价单 / 合同负责人候选(按真实姓名匹配用户列表) */
- export const CRM_OWNER_CANDIDATE_NAMES = ['方金强', '吴九华'] as const
- export const CRM_DEFAULT_OWNER_NAME = '方金强'
- type OwnerLike = { nickName?: string }
- /** 按固定顺序筛选负责人候选 */
- export function filterOwnerCandidates<T extends OwnerLike>(users: T[]): T[] {
- const byName = new Map<string, T>()
- for (const user of users) {
- const name = (user.nickName || '').trim()
- if (name && !byName.has(name)) {
- byName.set(name, user)
- }
- }
- return CRM_OWNER_CANDIDATE_NAMES.map((name) => byName.get(name)).filter(Boolean) as T[]
- }
- /** 默认负责人:方金强 */
- export function findDefaultOwnerUser<T extends OwnerLike>(users: T[]): T | undefined {
- const name = CRM_DEFAULT_OWNER_NAME
- return users.find((user) => (user.nickName || '').trim() === name)
- }
|