const SHARE_TO = (() => { const ShareType = { CREATE: 'create', UPDATE: 'update', CANCEL: 'cancel', }; const { SharePermissionChangeType: PermissionType, PageTarget, ShareLibType } = commonConstants; const Mode = { PROJECT: 1, RATION_LIB: 2 }; const ModeToLibType = { [Mode.RATION_LIB]: ShareLibType.RATION_LIB }; // 当前模式 let curMode = Mode.PROJECT; // 当前分享的项目ID let curProjectID; // 当前项目的已分享列表 let curSharedUsers = []; // 清除缓存 function clearCache() { curProjectID = null; curSharedUsers = []; } // 最近联系人显示数量 const rencentCount = 5; // 获取初始数据:1.最近分享人 2.联系人 3.已分享人 async function getInitialData(projectID) { return await ajaxPost('/pm/api/getInitialShareData', { user_id: userID, count: rencentCount, projectID }, false); } // 获取分享库的初始数据 async function getInitialLibData(libType) { return await ajaxPost('/pm/api/getInitialShareLibData', { user_id: userID, count: rencentCount, libType }, false); } // 获取头像视图html function getAvatarHTML(mobile, realName) { // 手机最后一位 const lastMobileNumer = mobile.substr(-1); // 显示名称为真实名称后两位 const nickName = realName.substr(-2); return `${nickName}`; } /** * 获取用户列表视图html:最近分享和联系人用 * @param {Array} users - 排序过的用户数据 * @param {Boolean} showAlphabet - 是否显示字母表分类 * @return {HTMLString} * */ function getUserHTML(users, showAlphabet) { let curLetter = ''; return users.reduce((html, user) => { const mobile = user.mobile || ''; const realName = user.real_name || ''; const company = user.company || ''; if (showAlphabet) { // 名字首个字符对应拼音 const letter = pinyinUtil.getFirstLetter(realName).substr(0, 1); if (letter !== curLetter) { curLetter = letter; html += `