/**
 * 标准化人员/部门对象
 * useDetailValue暂时不处理
 * @param value - 原始值
 */
export function normalizeEmployeeObject(value) {
    if (value === null || value === undefined) {
        return value;
    }
    // 如果是对象，保留 workNo、value 以及用于显示的 nickName 和 name
    if (typeof value === 'object') {
        const result = {};
        // 优先使用 value 字段作为 ID
        if ('value' in value) {
            result.value = value.value;
            result.workNo = value.value; // workNo 和 value 保持一致
        }
        else if ('workNo' in value) {
            // 如果没有 value，使用 workNo
            result.workNo = value.workNo;
            result.value = value.workNo;
        }
        // 保留用于显示的字段（优先级：nickName > name > label）
        if ('nickName' in value && value.nickName) {
            result.nickName = value.nickName;
        }
        else if ('name' in value && value.name) {
            result.name = value.name;
        }
        else if ('label' in value && value.label) {
            // 将 label 映射为 nickName，供组件显示使用
            result.nickName = value.label;
        }
        // 如果有有效值，返回标准化对象
        if (Object.keys(result).length > 0) {
            return result;
        }
        // 兜底：如果都没有，返回空对象
        return {};
    }
    // 如果是基本类型（字符串或数字），包装成对象
    return { workNo: value, value };
}
