/** * 打开应用 */ ; (function(app, undefined) { //缓存全局变量 app.space = { //详情是否有显示 unviewabledescriptionFlag: false, descriptionauthFlag: false }; /** * 监听事件 */ app.eventsListen = function() { var $body = $('body'); /** * 点击APP时的处理 * 在新页面打开应用 */ $body.on("click", ".appFlag", function(e) { var $target = $(e.target || e.srcElement); if ($target.attr('id') === 'ampAppdescFlag') { return; } var $item = $(this); var moduleName = AmpUtils.moduleName($target); if (moduleName) $item.attr('amp-modulename', moduleName); var type = $item.attr('amp-type'); if (type === '1') { openFolder($item); } else { checkToOpenAppOrDetail($item); } }); $body.on('click', '.ampAppdescFlag', function(e) { var $item = $(this); var checkedFlag = false; var $unviewabledescription = $item.attr('amp-unviewabledescription'); if ($unviewabledescription == 'true') { //如果详情页关闭,则手动设置 app.space.unviewabledescriptionFlag = true; app.space.descriptionauthFlag = true; } checkToOpenAppOrDetail($item); //checkbox是否要选中,首先要判断checkbox是否有勾选,不在显示详情 if (checkedFlag) { $('#ampDetailUnViewInput').prop('checked', true); } app.space.unviewabledescriptionFlag = false; app.space.descriptionauthFlag = false; return false; }); $body.on('mouseenter', '.amp-hover-app-card-group', function(e) { var $item = $(this); //判断当前是否是文件夹,如果是文件夹,不做任何处理 if ($item.find('.amp-app-card-big').attr('amp-type') == '1') { return; } //判断当前app距离顶部的位置 如果小于200,则top为0,高度向下伸展 var offsetTop = 0; if ($item.parent().attr('id') == 'ampFolderAppList') { offsetTop = offsetTop - $('#ampFolderAppList').offset().top + $('#ampFolderAppList').scrollTop(); } else { offsetTop = $item.offset().top; } if (offsetTop < 200) { $item.find('.amp-app-card-big').removeClass('amp-app-card-big-bottom').addClass('amp-app-card-big-top'); } else { $item.find('.amp-app-card-big').addClass('amp-app-card-big-bottom').removeClass('amp-app-card-big-top'); } $item.addClass('amp-active'); // $item.find('.amp-app-card-big').animate({ // height: "200px" // }, // 150); }); $body.on('mouseleave', '.amp-hover-app-card-group', function(e) { var $item = $(this); $item.removeClass('amp-active'); //判断是否离开了当前的容器 // $item.find('.amp-app-card-big').animate({ // height: "0" // }, // 150); }); }; app.open = function($item) { var url = $item.attr('amp-url'); var appId = $item.attr('amp-appid'); var hasHead = $item.attr('amp-hashead'); var title = $item.attr('amp-title'); var isthirdparty = $item.attr('amp-isthirdparty'); var appkey = $item.attr('amp-appkey'); var appFeebBackFlag = 'false'; localStorage.appFeebBackFlag = appFeebBackFlag; if (hasHead == '1') { //有head //分两种情况,分两种情况,如果是第三方应用,则添加评价功能,如果不是第三方应用,则正常跳转。 if (isthirdparty == '1') { //是第三方应用 var isthirdpartyUrl = "thirdAppIndexShell.html"; localStorage.isthirdpartyUrl = url; localStorage.isthirdpartyAppId = appId; window.open(isthirdpartyUrl); } else { if (url.indexOf('http') === -1 && url.indexOf('//') === -1) { url = AMPConstant.requestPath + url; } window.open(url); } } else if (hasHead == '0') { //没有head //参数1 url 参数2 是否有head 参数3 appID 参数4 appName var noHeadUrl = AMPConstant.requestPath + "new/indexShell.html"; localStorage.openHasNoHeadAppUrl = url; localStorage.openHasNoHeadAppId = appId; localStorage.openHasNoHead = '0'; localStorage.openHasNoHeadTitle = title; localStorage.isthirdparty = isthirdparty; window.open(noHeadUrl); } else { if (url.indexOf('http') === -1 && url.indexOf('//') === -1) { if (url.indexOf('portal/html/myFeedback/feedback.html') === -1) { url = AMPConstant.requestPath + url; } else { appFeebBackFlag = 'true'; localStorage.myFeedbackUrl = "portal/html/myFeedback/feedback.html"; localStorage.appFeebBackFlag = appFeebBackFlag; url = AMPConstant.requestPath + "new/indexShell.html"; } } window.open(url); } //关闭当前弹框 $('#ampDetail .icon-chacha').click(); var sendschoolID = AMPConfigure.schoolId; var senduserID = AmpUtils.getSessionStorageData("ampUserID"); var senduserIp = AmpUtils.getSessionStorageData("ampUserIp"); var senduserType = AmpUtils.getSessionStorageData("userType"); var sendappKey = $item.attr('amp-appkey'); var sendappName = $item.attr('amp-title'); var sendappId = $item.attr('amp-appid'); //原始的数据上传 Wisedu.ampAppDataSend(sendappKey, sendappId, sendappName); //新的数据上传 if (parent.window.AMPConstant.operationAnalysisRequestPath) { Wisedu.ampAppDataSendNew(sendschoolID, senduserID, senduserIp, sendappKey, senduserType, sendappName, "appShow"); // 运营分析应用发送数据请求 add by zhangtongxin at 20170417 end } //打开应用时获取数据量,收藏点击量 AmpDataUtils.sendRecUseApp(appId, function(data) { if (data.success == 'true') { // console.log("打开应用数据收集成功!"); } else { // console.log("打开应用数据收集失败!"); } }); //parent.window.Wisedu.userActionDataSend(); // 运营分析应用发送数据请求 add by zhangtongxin at 20170417 begin //原始的门户数据分析上传数据 parent.window.Wisedu.userActionDataSend(); //新的数据上传功能 if (parent.window.AMPConstant.operationAnalysisRequestPath) { parent.window.Wisedu.userActionDataSendNew(senduserIp, senduserType); // 运营分析应用发送数据请求 add by zhangtongxin at 20170417 end } }; function checkToOpenAppOrDetail($item) { var openFlag = 'app'; var prompt = ''; var hasdescription = $item.attr('amp-hasdescription'); var descriptionauth = $item.attr('amp-descriptionauth'); var unviewabledescription = $item.attr('amp-unviewabledescription'); var haspermission = $item.attr('amp-haspermission'); if (app.space.unviewabledescriptionFlag) { unviewabledescription = "false"; } if (app.space.descriptionauthFlag) { descriptionauth === "1"; } //有详情页 if (hasdescription === '1') { //已经勾选不再显示详情 if (unviewabledescription === 'true') { prompt = checkAndGetAppPermissPrompt($item); } else { //没有勾选不再显示详情 //需登录后显示 if (descriptionauth === "1") { //用户已经登录 if (AmpGlobal.loginFlag) { openFlag = 'detail'; } else { prompt = checkAndGetAppPermissPrompt($item); } } else { prompt = checkAndGetAppPermissPrompt($item); // if ($.trim(prompt) == '') { if (AmpHeader.space.showDetailFlag || AmpHeader.space.showDetailFlag == 'null') { openFlag = 'detail'; } // } //判断当前是否有无权限显示详情 /* if (AmpHeader.space.showDetailFlag || AmpHeader.space.showDetailFlag == 'null') { openFlag = 'detail'; } else { prompt = checkAndGetAppPermissPrompt($item); }*/ } } } else { prompt = checkAndGetAppPermissPrompt($item); } if (openFlag === 'app') { if (!prompt) { app.open($item); } else { AmpPrompt.show({ content: prompt, state: 'warning' }) } } else { openDetail($item); } } function openDetail($item) { AmpDetail.open($item); //如果是文件夹打开的,就关闭文件夹 var $ampFolder = $('.amp-detail-wrap').filter('[id="ampFolder"]'); var folderLen = $ampFolder.length; if (folderLen > 0) { $ampFolder.remove(); } } function openFolder($item) { AmpFolder.open($item); } function checkAndGetAppPermissPrompt($item) { var prompt = ''; var title = $item.attr('amp-title'); var haspermission = $item.attr('amp-haspermission'); var opening = $item.attr('amp-opening'); var maintaining = $item.attr('amp-maintaining'); if (opening === 'false') { var expiredOrNotOpen = '已过期或尚未开放'; prompt = title + ' 已过期或尚未开放'; if (AmpGlobal.currentLang == "en_US") { expiredOrNotOpen = $.i18n("expiredOrNotOpen"); prompt = expiredOrNotOpen; } } else if (maintaining === 'true') { var cnStr = '正在维护期'; if (AmpGlobal.currentLang == "en_US") { cnStr = $.i18n("duringTheMaintenancePeriod"); } prompt = title + cnStr; } else if (haspermission === 'false') { var cnStr = '您没有权限使用'; if (AmpGlobal.currentLang == "en_US") { cnStr = $.i18n("notAuthorizedToUseService"); } prompt = cnStr + title; } return prompt; } })(window.AmpApp = window.AmpApp || {}); ; (function(aside, undefined) { var $body = $('body'); /** * 点击mini条时,展开 */ $body.on('click', '.amp-aside-box-mini-item', function() { asideAnimate($(this).parent().parent().parent()); }); /** * 点击收缩按钮 */ $body.on('click', '[amp-role="ampAsideBoxClose"]', function() { asideAnimate($(this).parent()); }); /** * 侧边栏展开收缩动画处理 * @param $aside 侧边栏容器 */ function asideAnimate($aside) { var position = $aside.attr('amp-position'); var hide_class = ''; //隐藏要执行的动画 var show_class = ''; //显示要执行的动画 switch (position) { case 'left': hide_class = 'amp-animate-move-left-out'; show_class = 'amp-animate-move-left-in'; break; case 'right': hide_class = 'amp-animate-move-right-out'; show_class = 'amp-animate-move-right-in'; break; default: break; } //先隐藏 $aside.removeClass(show_class).addClass(hide_class); //隐藏动画结束后添加显示动画,并切换侧边栏状态 setTimeout(function() { if ($aside.hasClass('amp-mini')) { $aside.removeClass('amp-mini'); } else { $aside.addClass('amp-mini'); } $aside.removeClass(hide_class).addClass(show_class); }, AmpGlobal.animateTimes); } })(window.AmpAsideBox = window.AmpAsideBox || {}); /** * 前端全局变量 */ ; (function(bootPage, undefined) { bootPage.space = { playflag: '' //是否是重新播放 reload 重新播放 }; bootPage.init = function(flag) { //flag bootPage.space.playflag = flag; $('#ampBootPage').removeClass('amp-hide'); $('#bootWelcomeBox').removeClass('amp-hide'); $('#ampBootProcessItems').addClass('amp-hide'); $(".amp-boot-pop-btn").mousedown(function() { $(this).find('em').addClass('boot-pop-enter-btn'); }); $(".amp-boot-pop-btn").mouseover(function() { $(this).find('em').removeClass('boot-pop-enter-btn'); }); } //跳过按钮的点击事件 $('#ampBootBox').on('click', '.boot-skip', function() { var params = {}; params.title1 = "点击这里可查看更多帮助"; params.title2 = "您也可以在这里重新查看教学引导"; params.btn_title = "我知道了"; params.showPopPosition = '7'; params.imgurl = "pop4.png"; params.mapurl = "map7.png"; params.mapWidth = "22"; var openLeftAsideFlag = false; //左侧边栏是否需要打开 true 表示需要打开 getClickItem(openLeftAsideFlag, params); }); //下一步的点击事件 $('body').on('click', '.amp-boot-pop-btn', function(e) { var $tar = $(e.target || e.srcElement); $target = $tar.closest('.amp-boot-pop-btn'); //按钮按下事件 $target.find('em').addClass('boot-pop-enter-btn'); var currentPopPosition = $target.attr('amp-position'); var showPopPosition = ''; var params = {}; if (currentPopPosition == '0') { //显示引导页1 搜索中心 showPopPosition = '1'; params.title1 = "点击这里进入搜索"; params.title2 = "输入关键字即可快速找到相关应用"; params.btn_title = "下一个 1/6"; params.showPopPosition = showPopPosition; params.imgurl = "pop1.png"; params.arrowPos = "prompt-top-center"; //获取点击的位置 并返回 top /left值 var openLeftAsideFlag = false; //左侧边栏是否需要打开 true 表示需要打开 } else if (currentPopPosition == '1') { //显示引导页2 可用应用 showPopPosition = '2'; params.promptPos = 'prompt-left'; params.title1 = "点击收藏应用"; params.title2 = "收藏后的应用再次点击即可取消收藏"; params.btn_title = "下一个 2/6"; params.showPopPosition = showPopPosition; params.imgurl = "pop1.png"; params.mapurl = "map2.png"; params.mapWidth = "295"; //获取点击的位置 并返回 top /left值 var openLeftAsideFlag = true; //左侧边栏是否需要打开 true 表示需要打开 } else if (currentPopPosition == '2') { //显示引导页3 我的收藏 showPopPosition = '3'; params.promptPos = 'prompt-left'; params.title1 = "已收藏的应用在这里"; params.title2 = "您也可以新建文件夹来对收藏进行分类"; params.btn_title = "下一个 3/6"; params.showPopPosition = showPopPosition; params.imgurl = "pop2.png"; params.mapurl = "map3.png"; params.mapWidth = "138"; //获取点击的位置 并返回 top /left值 var openLeftAsideFlag = true; //左侧边栏是否需要打开 true 表示需要打开 } else if (currentPopPosition == '3') { //显示引导页4 可用卡片 showPopPosition = '4'; params.promptPos = 'prompt-left'; params.title1 = "点击、拖拽这里"; params.title2 = "您可以方便的增删桌面上的卡片"; params.btn_title = "下一个 4/6"; params.showPopPosition = showPopPosition; params.imgurl = "pop1.png"; params.mapurl = "map4.png"; params.mapWidth = "295"; var openLeftAsideFlag = true; //左侧边栏是否需要打开 true 表示需要打开 } else if (currentPopPosition == '4') { //显示引导页5 卡片拖拽 showPopPosition = '5'; params.title1 = "按住这里并拖拽"; params.title2 = "您可以对桌面上的卡片进行个性排序"; params.btn_title = "下一个 5/6"; params.showPopPosition = showPopPosition; params.imgurl = "pop3.png"; params.mapurl = "map5.png"; params.arrowPos = "prompt-top-center"; params.mapWidth = "541"; var openLeftAsideFlag = false; //左侧边栏是否需要打开 true 表示需要打开 } else if (currentPopPosition == '5') { //显示引导页6 卡片的设置 showPopPosition = '6'; params.title1 = "点击这里"; params.title2 = "可以对卡片进行设置,包括移除卡片的操作"; params.btn_title = "下一个 6/6"; params.showPopPosition = showPopPosition; params.imgurl = "pop1.png"; params.mapurl = "map5.png"; params.arrowPos = "prompt-top-center"; params.mapWidth = "541"; var openLeftAsideFlag = false; //左侧边栏是否需要打开 true 表示需要打开 } else if (currentPopPosition == '6') { //显示引导页7 导航结束 引导页帮助 showPopPosition = '7'; params.title1 = "点击这里可查看更多帮助"; params.title2 = "您也可以在这里重新查看教学引导"; params.btn_title = "我知道了"; params.showPopPosition = showPopPosition; params.imgurl = "pop4.png"; params.mapurl = "map7.png"; params.mapWidth = "22"; var openLeftAsideFlag = false; //左侧边栏是否需要打开 true 表示需要打开 } $('.amp-boot-pop-btn').find('em').removeClass('boot-pop-enter-btn'); if (currentPopPosition == '7') { //我知道了 按钮的点击事件 调用后台接口 hideBootPage(); } else { getClickItem(openLeftAsideFlag, params); } }) //获取pop显示的坐标 function getClickItem(openLeftAsideFlag, params) { var showPopPosition = params.showPopPosition; if (openLeftAsideFlag) { //判断左侧边栏是否打开,如果没有打开,则需要打开左侧边栏 var mini_flag = $('#ampPersonalAsideLeft').hasClass('amp-mini'); if (mini_flag) { // 是mini模式,需要打开左侧边栏 $('#ampPersonalAsideLeftMini').find('[amp-id="allCanUseApps"]').click(); //默认跳转到可用应用 } else { var $canApps = $('#ampPersonalAsideLeftTabHead').find('[amp-id="allCanUseApps"]'); if (!$canApps.hasClass('amp-active')) { $canApps.click(); } } } var delay = 200; if (showPopPosition == '2') { delay = 860; } setTimeout(function() { if (showPopPosition == '1') { var $headerSearchInput = $('.amp-header-search-input'); var $personalArticle = $('#ampPersonalArticle'); $personalArticle.removeClass('amp-hide').addClass('amp-active'); //第一步:获取搜索中心的位置 params.pop_top = $headerSearchInput.offset().top; params.pop_left = $headerSearchInput.offset().left; } else if (showPopPosition == '2') { //可用应用 var $clickItem = $('#ampPersonalAsideLeftAllCanUseAppsTabContent').offset(); params.pop_top = $clickItem.top; params.pop_left = $clickItem.left; } else if (showPopPosition == '3') { var $myFavorite = $('#ampPersonalAsideLeftTabHead').find('[amp-id="myFavorite"]'); if (!$myFavorite.hasClass('amp-active')) { $myFavorite.click(); } var $clickItem = $myFavorite.offset(); params.pop_top = $clickItem.top; params.pop_left = $clickItem.left; } else if (showPopPosition == '4') { var $useCards = $('#ampPersonalAsideLeftTabHead').find('[amp-id="canUseCards"]'); if (!$useCards.hasClass('amp-active')) { $useCards.click(); } var $clickItem = $useCards.offset(); params.pop_top = $clickItem.top; params.pop_left = $clickItem.left; } else if (showPopPosition == '5') { var $desktopNav = $('#ampDesktopContent'); var $clickItem = $desktopNav.offset(); params.pop_top = $clickItem.top; params.pop_left = $clickItem.left; } else if (showPopPosition == '6') { var $desktopNav = $('#ampDesktopContent'); var $clickItem = $desktopNav.offset(); params.pop_top = $clickItem.top; params.pop_left = $clickItem.left; } else if (showPopPosition == '7') { var $headerToolFeedback = $('#ampHeaderToolFeedback'); var $clickItem = $headerToolFeedback.offset(); params.pop_top = $clickItem.top; params.pop_left = $clickItem.left; var $personalArticle = $('#ampPersonalArticle'); $personalArticle.removeClass('amp-hide').addClass('amp-active'); } showNextPop(params); $('.amp-boot-pop-btn').find('em').removeClass('boot-pop-enter-btn'); }, delay); } function showNextPop(params) { var $processItems = $('#ampBootProcessItems'); var $processItem = $('#processItem'); var $processMap = $('#processMap'); var showPopPosition = params.showPopPosition; var promptPos = params.promptPos || "prompt-top"; var arrowPos = params.arrowPos || ""; var popItemHtm = $('#tpl-boot-page-pop-item').html() .replace('@title', params.title1) .replace('@tip_title', params.title2) .replace('@btn_text', params.btn_title) .replace('@promptPosition', promptPos) .replace('@index', params.showPopPosition) .replace('@imgurl', params.imgurl) .replace('@arrowPos', params.arrowPos); var mappic = params.mapurl || ""; var mapWidth = params.mapWidth || ""; var processMapHtm = mappic == "" ? "" : $('#tpl-boot-page-map').html() .replace('@mapurl', mappic) .replace('@mapWidth', mapWidth); //隐藏欢迎页面 $('#bootWelcomeBox').addClass('amp-hide'); $processItems.removeClass('amp-hide'); //插入Dom节点 $processItem.html(popItemHtm); $processMap.html(processMapHtm); if (showPopPosition == '1') { $processItem.css({ "position": "absolute", "top": params.pop_top + 45, "left": "50%", "margin-left": "-210px" }); } else if (showPopPosition == '2') { //移除引导页1 显示引导页2 $processItem.css({ "position": "absolute", "top": params.pop_top - 32, "left": params.pop_left + 306, "margin-left": "0" }); $processMap.css({ "position": "absolute", "top": params.pop_top, "left": params.pop_left, "margin-left": "0" }); } else if (showPopPosition == '3') { $processItem.css({ "position": "absolute", "top": params.pop_top - 32, "left": params.pop_left + 144, "margin-left": "0" }); $processMap.css({ "position": "absolute", "top": params.pop_top, "left": params.pop_left, "margin-left": "0" }); } else if (showPopPosition == '4') { $processItem.css({ "position": "absolute", "top": params.pop_top + 52, "left": params.pop_left + 150, "margin-left": "0" }); $processMap.css({ "position": "absolute", "top": params.pop_top + 80, "left": params.pop_left - 157 }); } else if (showPopPosition == '5') { var card_pop_left = $('#ampDesktopContent').innerWidth() - $('#ampDesktopContent').width(); $processItem.css({ "position": "absolute", "top": params.pop_top + 41, "left": params.pop_left + 65 + card_pop_left, "margin-left": "0" }); $processMap.css({ "position": "absolute", "top": params.pop_top, "left": params.pop_left + card_pop_left }); } else if (showPopPosition == '6') { var card_pop_left = $('#ampDesktopContent').innerWidth() - $('#ampDesktopContent').width(); $processItem.css({ "position": "absolute", "top": params.pop_top + 41, "left": params.pop_left + 307 + card_pop_left, "margin-left": "0" }); $processMap.css({ "position": "absolute", "top": params.pop_top, "left": params.pop_left + card_pop_left }); } else if (showPopPosition == '7') { $processItem.css({ "position": "absolute", "top": params.pop_top + 45, "left": params.pop_left - 282, "margin-left": "0" }); $processMap.css({ "position": "absolute", "top": params.pop_top, "left": params.pop_left }); $('#processItem').find('.boot-skip').remove(); } } function hideBootPage() { var $serviceArticle = $('#ampServiceArticle'); //判断当前隐藏的是哪个页面显示出被隐藏的页面 //1.要判断 服务中心页面是否 是否是当前打开状态 if ($serviceArticle.hasClass('ampCurrentBootPageFlag')) { $('#ampPageHeaderSearch').click(); } bootPage.getActiveTabBootPage(); if (bootPage.space.playflag != 'reload') { //向后台发送已读标志位 var isReadGuidePage = '1'; AmpDataUtils.updateUserReadGuidePage(isReadGuidePage, function(resp) { if (resp.result === 'success') { console.log('引导页已读成功!'); } }); } } /** * 判断当前打开是什么页面 home 个人中心 */ bootPage.getActiveTabBootPage = function() { var $personalArticle = $('#ampPersonalArticle'); var $bootPageActicle = $('#ampBootPage'); var $ehallBody = $('#ampEhallBody'); var $headerNav = $('#ampHeaderNav'); var $serviceArticle = $('#ampServiceArticle'); var activeTab = $headerNav.find('i.amp-active').attr('id'); if (activeTab == 'ampPageHeaderHomeIcon') { $ehallBody.removeClass('amp-opcity-bottom'); } else if (activeTab == 'ampPageHeaderPersonalIcon') { $personalArticle.removeClass('amp-hide').addClass('amp-active'); } $bootPageActicle.removeClass('amp-active').addClass('amp-hide'); if (bootPage.space.playflag == 'reload') { //第一次登录系统打开引导页的设置 if (!$('#ampPersonalAsideLeft').hasClass('amp-mini')) { $('#ampPersonalAsideLeftClose').click(); } if (!$('#ampPersonalAsideRight').hasClass('amp-mini')) { setTimeout(function() { $('#ampPersonalAsideRightClose').click(); }, 150); } } } })(window.AmpBootPage = window.AmpBootPage || {}); // /** // * 可用卡片模拟数据 // */ // ; // (function(canUseCard, undefined) { // canUseCard.lists = { // "result": "success", // "categoryList": [{ // "categoryId": "2__9fad923d-13d4-45a7-91a7-7b35dd64d003", // "categoryName": "移动", // "appList": [{ // "appId": "4676250868127442", // "appName": "SDV1测试Model", // "description": null, // "version": "1.0.0", // "deployPrefix": null, // "vendorName": "金智教育", // "domainId": "dffeb5d1-b839-4699-9dfc-983066d71e5c", // "status": 1, // "onlineTime": "2016-07-07 14:15:08", // "offlineTime": null, // "authUrl": null, // "appShortName": "SDV1csModel", // "updateTime": "2016-07-13 14:22:08", // "isPcApp": 1, // "isMobileApp": 1, // "isPcCard": 1, // "isMobileCard": 1, // "isRecommend": 0, // "recommendBeginTime": null, // "recommendEndTime": null, // "recommendOpTime": null, // "isNew": 0, // "viewAuth": 0, // "accessAuth": 1, // "assessAvgScore": 5, // "assessCount": 1, // "favoriteCount": 1, // "favorite": false, // "unviewableDescription": false, // "hasPermission": false, // "openBeginTime": null, // "openEndTime": null, // "categoryList": [{ // "categoryId": "2__9fad923d-13d4-45a7-91a7-7b35dd64d003", // "categoryName": "移动", // "appList": [] // }], // "appPc": { // "appId": "4676250868127442", // "entranceUrl": null, // "isOpenInNewTab": null, // "isRecommend": null, // "recommendBeginTime": null, // "recommendEndTime": null, // "recommendOpTime": null, // "isOpenAssessPage": null, // "isEnableDescription": null, // "descriptionAuth": null, // "viewAuth": 0, // "accessAuth": 0, // "isNew": null, // "appDescription": null // }, // "appMobile": null, // "appPcCardList": [], // "appMobileCardList": [], // "mobileServerDefaultDomain": null, // "type": 0, // "opening": true, // "maintaining": false, // "favoriteApp": false, // "begainDate": null, // "endDate": null, // "recommendDate": null, // "newApp": false, // "appKey": "4676250868127442-1.0.0", // "pinyingFirstChar": "S", // "runPlatform": null, // "middleIcon": "http://demo.wisedu.com/amp-deploy-local/resources/app/4676250868127442/1.0.0/icon_72.png?_=1468390928000", // "recommend": false // }, { // "appId": "4674380843037685", // "appName": "公告管理", // "description": null, // "version": "1.0.0", // "deployPrefix": "http://demo.wisedu.com/publicapp", // "vendorName": "金智教育", // "domainId": "21ab7d98-57bf-47ee-bdb4-56c521089711", // "status": 1, // "onlineTime": "2016-07-02 14:05:30", // "offlineTime": null, // "authUrl": null, // "appShortName": "ggglzhang", // "updateTime": "2016-07-02 13:56:08", // "isPcApp": 1, // "isMobileApp": 1, // "isPcCard": 1, // "isMobileCard": 1, // "isRecommend": 0, // "recommendBeginTime": null, // "recommendEndTime": null, // "recommendOpTime": null, // "isNew": 0, // "viewAuth": 0, // "accessAuth": 1, // "assessAvgScore": 0, // "assessCount": 0, // "favoriteCount": 1, // "favorite": false, // "unviewableDescription": false, // "hasPermission": false, // "openBeginTime": null, // "openEndTime": null, // "categoryList": [{ // "categoryId": "2__9fad923d-13d4-45a7-91a7-7b35dd64d003", // "categoryName": "移动", // "appList": [] // }, { // "categoryId": "2__c3644232-0802-4ab9-b78e-50390af33c04", // "categoryName": "公共服务", // "appList": [] // }, { // "categoryId": "2__b12d3eef-494e-45f2-bd41-fb754310bd90", // "categoryName": "人事", // "appList": [] // }, { // "categoryId": "2__9", // "categoryName": "迎新服务", // "appList": [] // }, { // "categoryId": "2__4", // "categoryName": "科研服务", // "appList": [] // }, { // "categoryId": "2__46bdd645-1b55-4bc0-955e-afeabbe5f6c1", // "categoryName": "教务", // "appList": [] // }], // "appPc": null, // "appMobile": null, // "appPcCardList": [], // "appMobileCardList": [], // "mobileServerDefaultDomain": null, // "type": 0, // "opening": true, // "maintaining": false, // "favoriteApp": false, // "begainDate": null, // "endDate": null, // "recommendDate": null, // "newApp": false, // "appKey": "4674380843037685-1.0.0", // "pinyingFirstChar": "G", // "runPlatform": null, // "middleIcon": "http://demo.wisedu.com/amp-deploy-local/resources/app/4674380843037685/1.0.0/icon_72.png?_=1467438968000", // "recommend": false // }] // }, { // "categoryId": "2__c3644232-0802-4ab9-b78e-50390af33c04", // "categoryName": "公共服务", // "appList": [{ // "appId": "4599422829576624", // "appName": "网页1.1.1", // "description": null, // "version": "1.1.1", // "deployPrefix": null, // "vendorName": "金智教育", // "domainId": "dffeb5d1-b839-4699-9dfc-983066d71e5c", // "status": 1, // "onlineTime": "2016-04-07 14:16:26", // "offlineTime": null, // "authUrl": null, // "appShortName": "wy10", // "updateTime": "2016-04-12 14:53:33", // "isPcApp": 1, // "isMobileApp": 1, // "isPcCard": 1, // "isMobileCard": 1, // "isRecommend": 0, // "recommendBeginTime": null, // "recommendEndTime": null, // "recommendOpTime": null, // "isNew": 0, // "viewAuth": 0, // "accessAuth": 1, // "assessAvgScore": 5, // "assessCount": 2, // "favoriteCount": 3, // "favorite": false, // "unviewableDescription": false, // "hasPermission": false, // "openBeginTime": null, // "openEndTime": null, // "categoryList": [{ // "categoryId": "2__c3644232-0802-4ab9-b78e-50390af33c04", // "categoryName": "公共服务", // "appList": [] // }, { // "categoryId": "2__8", // "categoryName": "其他服务", // "appList": [] // }], // "appPc": null, // "appMobile": null, // "appPcCardList": [], // "appMobileCardList": [], // "mobileServerDefaultDomain": null, // "type": 0, // "opening": true, // "maintaining": false, // "favoriteApp": false, // "begainDate": null, // "endDate": null, // "recommendDate": null, // "newApp": false, // "appKey": "4599422829576624-1.1.1", // "pinyingFirstChar": "W", // "runPlatform": null, // "middleIcon": "http://demo.wisedu.com/amp-deploy-local/resources/app/4599422829576624/1.1.1/icon_72.png?_=1460444013000", // "recommend": false // }] // }], // "hasLogin": true, // "contextPath": "/amp-deploy-local" // } // // })(window.AmpCanUseCard = window.AmpCanUseCard || {}); /** * 应用分类模块 */ ; (function(classify, undefined) { eventsListen(); addFooterText(); /** * 根据角色id,获取分类数据 * @param roleId * @param flag 初始化时会传入init */ classify.getClassifyAppsData = function(roleId, flag) { //获取分类应用 AmpDataUtils.getClassifyApps(roleId, function(data) { //显示分类应用 showClassifyApps(data, roleId, flag); }); }; /** * 设置容器居中 */ classify.setClassifyContainerMarginAndNiceScroll = function() { var windwoHeight = window.innerHeight; var $article = $('#ampClassifyArticle'); var $articleChild = $article.children(); var containerHeight = 0; $articleChild.each(function() { var $item = $(this); var itemHeight = $item.outerHeight(); containerHeight += itemHeight; }); var pageHeaderHeight = $('#ampPageHeader').outerHeight(); if (containerHeight + pageHeaderHeight < windwoHeight) { var diffHeight = windwoHeight - containerHeight - pageHeaderHeight; var paddingVertical = parseInt(diffHeight / 2, 10); var paddingTop = (paddingVertical + pageHeaderHeight) + 'px'; var paddingBottom = paddingVertical + 'px'; $article.css({ 'padding-top': paddingTop, 'padding-bottom': paddingBottom }); } else { AmpUtils.niceScrollInit($article); } }; /** * 角色切换的处理 * @param toShowData 要显示的容器数据 * @param toHideData 要隐藏的容器数据 */ classify.roleNavChangeHandle = function(toShowData, toHideData) { var $toShowPageBody = toShowData.classifyContainer; var toShowAppsPageIndex = $toShowPageBody.children('.amp-apps-page').children('.amp-active').index(); var toShowAppsContainer = $($toShowPageBody.children('.ampPageContentFlag').children()[toShowAppsPageIndex]); var $toHidePageBody = toHideData.classifyContainer; var toHideAppsPageIndex = $toHidePageBody.children('.amp-apps-page').children('.amp-active').index(); var toHideAppsContainer = $($toHidePageBody.children('.ampPageContentFlag').children()[toHideAppsPageIndex]); var $toHideContainerChild = toHideAppsContainer.children(); var toHideContainerChildLen = $toHideContainerChild.length; $toHideContainerChild.each(function(index, item) { AmpUtils.setRotateYState($(this), 'hide', index * AmpGlobal.rotateYTimeStep); }); setTimeout(function() { $toShowPageBody.removeClass('amp-hide').addClass('amp-active'); $toHidePageBody.addClass('amp-hide').removeClass('amp-active'); setTimeout(function() { toShowAppsContainer.children().each(function(index) { AmpUtils.setRotateYState($(this), 'show', index * AmpGlobal.rotateYTimeStep); }); }, 50); }, 450 + ((toHideContainerChildLen - 3) * AmpGlobal.rotateYTimeStep)); }; /** * 显示分类数据 * @param classfiyData * @param roleId * @param flag 初始化时传入init */ function showClassifyApps(classfiyData, roleId, flag) { var classifyLen; if (!classfiyData) { classfiyData = null; classifyLen = 0; } else { classifyLen = classfiyData.length; } //卡片宽度 var oneCardWidth = 200; //卡片间距 var oneCardMargin = 8; //浏览器宽度 var windowWidth = window.innerWidth; //容器与页面边缘的间距 var oneSidePadding = 32; //分类卡片可使用的容器宽度 var canUseSectionWidth = windowWidth - (oneSidePadding * 2); //每页显示的卡片数量(此时是未加间距的) var onePageCardCount = parseInt(canUseSectionWidth / oneCardWidth, 10); //卡片加上边距后,若宽度超出了可用宽度,则卡片数量减一 if ((onePageCardCount - 1) * oneCardMargin + onePageCardCount * oneCardWidth > canUseSectionWidth) { onePageCardCount--; } //每个卡片的应用个数 var oneClassifyAppCount = 8; // var classifyLen = classfiyData.length; //总页数 var pageCount = classifyLen % onePageCardCount !== 0 ? parseInt(classifyLen / onePageCardCount, 10) + 1 : parseInt(classifyLen / onePageCardCount, 10); //记录循环时的页数 var pageIndex = 1; var aTotalOf = "共"; var item = "项 >"; if (AmpGlobal.currentLang == "en_US") { aTotalOf = $.i18n("aTotalOf"); item = $.i18n("item"); } var classifyTemplateHtml = $('#tpl-classify-card').html().replace("@aTotalOf", aTotalOf).replace("@item", item); var classifyCardsHtml = ''; var classifyHtml = ''; for (var i = 0; i < classifyLen; i++) { var classifyItemData = classfiyData[i]; var classifyTitle = classifyItemData.categoryName; var classifyEnTitle = !classifyItemData.categoryEnName ? '' : classifyItemData.categoryEnName; var classifyId = classifyItemData.categoryId; var classifyApps = classifyItemData.appList; if (classifyApps) { var classofyAppsLen = classifyApps.length; var appsHtml = ''; if (classofyAppsLen > 0) { var hideRotateYClass = 'amp-rotateY-hide'; if (flag === 'init') { hideRotateYClass = pageIndex > 1 ? 'amp-rotateY-hide' : ''; } for (var k = 0; k < classofyAppsLen && k < oneClassifyAppCount; k++) { var appItem = classifyApps[k]; var type = 'single'; appsHtml += AmpTemplate.getSingleAppHtml(appItem, type); } classifyCardsHtml += classifyTemplateHtml.replace('@ChTitle', classifyTitle) .replace('@EnTitle', classifyEnTitle).replace('@apps', appsHtml) .replace('@hideRotateYClass', hideRotateYClass) .replace('@classifyId', classifyId) .replace('@appSumCount', classifyApps.length) .replace('@TipChTitle', classifyTitle); } } if ((i + 1) % onePageCardCount === 0) { if (i !== 0) { var contentHideClass = pageIndex > 1 ? 'amp-hide' : ''; classifyHtml += '
' + classifyCardsHtml + '
'; classifyCardsHtml = ''; pageIndex++; } } //到达最后一个数据时,APP放入lineHtml if (i === classifyLen - 1) { if (classifyCardsHtml) { var contentHideClass = pageIndex > 1 ? 'amp-hide' : ''; classifyHtml += '
' + classifyCardsHtml + '
'; } } } var activeClass = flag !== 'init' ? 'amp-hide' : 'amp-active'; //获取分页按钮html var paginationId = 'ampClassifyPage' + roleId; var pageData = { id: paginationId }; if (pageCount === 1) { pageData.customClass = 'amp-hide'; } var pageHtml = AmpTemplate.getAppPageHtml(pageCount, pageData); var $classifySection = $('#ampClassifySection'); $classifySection.append( '
' + '
' + classifyHtml + '
' + pageHtml + '
' ); //非初始化时加上显示动画 if (flag !== 'init') { classify.roleNavChangeHandle({ classifyContainer: $classifySection.children('[amp-role-id=' + roleId + ']') }, { classifyContainer: $classifySection.children('.amp-active') }); } //分页按钮点击事件监听 $('#' + paginationId).on('click', 'div', function() { classifyPageHandle($(this)); }); } /** * 点击分页按钮的处理 * @param $item */ function classifyPageHandle($item) { if ($item.hasClass('amp-active')) { return; } var $pageBody = $item.closest('.ampPageBodyFlag'); var $pageContent = $pageBody.children('.ampPageContentFlag'); var $pagination = $pageBody.children('.amp-apps-page'); var $appsContainers = $pageContent.children(); var toShowIndex = $item.index(); var $toShowContainer = $($appsContainers[toShowIndex]); var toShowData = { container: $toShowContainer, pageContainer: $item }; var $toHidePageItem = $pagination.find('.amp-active'); var toHideIndex = $toHidePageItem.index(); var $toHideContainer = $($appsContainers[toHideIndex]); var toHideData = { container: $toHideContainer, pageContainer: $toHidePageItem }; AmpUtils.clickPage4RotateYState(toShowData, toHideData); } function eventsListen() { $('#ampClassifySection').on('click', function(e) { var $target = $(e.target || e.srcElement); if ($target.closest('.appFlag').length > 0 || $target.hasClass('appFlag')) { return; } var $classify = null; if ($target.hasClass('amp-classify-apps')) { $classify = $target; } else { if ($target.closest('.amp-classify-apps').length > 0) { $classify = $target.closest('.amp-classify-apps'); } } var $serviceArticle = $('#ampServiceArticle'); if ($classify) { var classifyId = $classify.attr('amp-classify-id'); var roleId = $('#ampClassifyRoleNav').children('.amp-active').attr('amp-role-id'); AmpHeader.searchBoxFocus(); //设置拓展项 为隐藏 $('#ampExtend').addClass('amp-hide'); //打开搜索中心的搜索框 AmpHeader.openServiceSearch(); AmpServiceCenter.init({ labels: [classifyId, roleId] }); $serviceArticle.addClass('ampLoadActiveFlag'); if ($serviceArticle.hasClass('amp-active')) { $('#ampPageHeader').addClass('amp-service-header'); } //使搜索框获得焦点 $('#ampServiceSearchInput').focus(); //诸葛io埋点 AmpUtils.zhuge("访问搜索中心", {"来源": "办事大厅-应用分类查看"}); } }); } function addFooterText() { if (localStorage.localeLang == "en_US") { $('#ampPageFooter').html(AMPConfigure.footer.enFooter); } else { $('#ampPageFooter').html(AMPConfigure.footer.normal); } } })(window.AmpClassify = window.AmpClassify || {}); /** * 兼容widget的一些方法 */ (function(AmpUtils) { AmpUtils.getPublicAppPath = function() { return AMPConstant.publicRequestPath; }; AmpUtils.getWidgetColNumberOrAtSide = function() { return ''; }; })(window.AmpUtils = window.AmpUtils || {}); (function(AmpWidget) { AmpWidget.getWidgetUrlPrefix = function(widgetId) { return AMPConstant.requestPath + "resources/widget/" + widgetId + "/"; }; AmpWidget.getWidgetColNumberOrAtSide = function(widget) { return ''; }; AmpWidget.doJsonpAjax = function(url, params) { var deferred = $.Deferred(); $.ajax({ type: 'GET', url: url, traditional: true, data: params, dataType: 'json', success: function(resp) { if (!resp.hasLogin) { // AmpUtils.goLoginPage(); } deferred.resolve(resp); }, error: function(resp) { deferred.reject(resp); } }); return deferred.promise(); }; })(window.AmpWidget = window.AmpWidget || {}); (function(AmpSiteManage) { AmpSiteManage.getCurrentSiteId = function() { // if(!AmpSiteManage.currentSiteId){ // AmpSiteManage.currentSiteId=sessionStorage.getItem("currentSiteId"); // } // return AmpSiteManage.currentSiteId; return ''; }; })(window.AmpSiteManage = window.AmpSiteManage || {}); (function(amp) { amp.curation = {}; })(window.AMP = window.AMP || {}); ; (function(dataUtils, undefined) { dataUtils.space = { ampData: {}, folderData: {}, ehallData: {}, allServiceData: null, userDesktopPropertyData: {}, desktopData: {}, userDescSetData: {}, //是否打开详情也的数据 userCategoryAppData: null, //可用应用和可用卡片的数据 expandListData: null, //拓展项数据 firstLoginFlag: null, // 判断是否是第一次登录 getTaskCountData: null, //侧边栏计数缓存 userSkinData: null }; /** * 获取用户信息 * 同时将数据缓存到dataUtils.space.ampData * @param callback */ dataUtils.getUserInfo = function(callback) { /* AmpGlobal.loginFlag = true; dataUtils.space.ampData = { userType: "10", desktopWidgetList: [] }; return callback(dataUtils.space.ampData);*/ AmpServices.userInfo().done(function(data) { AmpGlobal.loginFlag = data.hasLogin ? true : false; dataUtils.space.ampData = data; return callback(data); }).fail(function(e) { return callback({}); }); }; /** * 获取推荐APP数据 * @param roleId 角色id * @param callback * / dataUtils.getRecommendApps = function(roleId, callback) { getEhallData(roleId, 'recommend', function(data) { return callback(data); }); }; /** * 获取分类APP数据 * @param roleId 角色id * @param callback */ dataUtils.getClassifyApps = function(roleId, callback) { getEhallData(roleId, 'classify', function(data) { return callback(data); }); }; /** * 获取热门APP数据 * @param roleId 角色id * @param callback */ dataUtils.getHotApps = function(roleId, callback) { getEhallData(roleId, 'hot', function(data) { return callback(data); }); }; /** * 获取最新APP数据 * @param roleId 角色id * @param callback */ dataUtils.getNewApps = function(roleId, callback) { getEhallData(roleId, 'new', function(data) { return callback(data); }); }; dataUtils.getEhallData = function(roleId, callback) { getEhallData(roleId, 'all', function(data) { return callback(data); }); }; /** * 获取查询APP数据 * @param params 参数{key: 搜索关键字, labels: 场景数据列表} * @param callback */ dataUtils.getSearchApps = function(params, callback) { var searchData = { "containLabels": true, "searchKey": params.key }; var labelStr = ''; var labels = params.labels; if (labels) { var labelsLen = labels.length; if (labelsLen > 0) { //拼接场景label参数 for (var i = 0; i < labelsLen; i++) { if (i !== 0) { labelStr += "&labels=" + labels[i]; } else { labelStr += "labels=" + labels[i]; } } searchData.labels = labelStr; } } var allFlag = false; if (labelStr === '' && params.key === '') { allFlag = true; if (dataUtils.space.allServiceData) { return callback(dataUtils.space.allServiceData); } } AmpServices.searchAppData(searchData).done(function(data) { if (allFlag) { dataUtils.space.allServiceData = data; } return callback(data); }).fail(function() { return callback({}); }); }; /** * 获取最新上架服务 (新增) * time:2016-10-11 */ dataUtils.getNewArrivalApps = function(callback) { return callback(dataUtils.space.allServiceData.lastOnlineAppResult); }; /** * 获取我的收藏APP数据 * @param callback */ dataUtils.getMyFavoriteApps = function(callback) { AmpServices.myFavoriteApps().done(function(data) { return callback(data); }); }; /** * 获取所有widget数据 * @param callback * @returns {*} */ dataUtils.getAllWidgetsData = function(callback) { return callback(dataUtils.space.ampData.allWidget); }; /** * 获取主区域的widget数据 * @param callback * @returns {*} */ dataUtils.getMainWidgetsData = function(callback) { // return callback(); // return callback(dataUtils.space.ampData); /* AmpServices.desktopData().done(function(data){ return callback(data); });*/ AmpServices.userInfo().done(function(data) { dataUtils.space.ampData = data; return callback(data); }).fail(function(e) { return callback({}); }); }; /** * 获取侧边栏的widget数据 * @param callback * @returns {*} */ dataUtils.getAsideWidgetsData = function(callback) { AmpServices.getTaskSideCard().done(function(data) { return callback(data); }); /* return callback(dataUtils.space.ampData.allSideWidget);*/ }; /** * 获取侧边栏的widget数据(仅未读消息) * @param callback * @returns {*} */ dataUtils.getAsideWidgetsDataOfUnreadMessage = function(callback) { AmpServices.getTaskSideCardOfUnreadMessage().done(function(data) { return callback(data); }); }; /** * 添加APP收藏 * @param params * @param callback */ dataUtils.favoriteApp = function(params, callback) { AmpServices.favoriteApp(params).done(function(data) { return callback(data); }); }; /** * 取消APP收藏 * @param params * @param callback */ dataUtils.unFavoriteApp = function(params, callback) { AmpServices.unFavoriteApp(params).done(function(data) { return callback(data); }); }; /** * 获取应用介绍 * @param params * @default appId * @param callback */ dataUtils.getAppIntroduction = function(params, callback) { AmpServices.appIntroduction(params).done(function(data) { return callback(data); }); }; /** * 更细应用详情是否更新字段的值 * @param params */ dataUtils.updateDesHasUpdateStatus = function(params) { AmpServices.updateDesHasUpdateStatus(params); }; /** * 不再显示详情 * @param params * @default appId * @param callback */ dataUtils.setAppUnViewableDescription = function(params, callback) { /* params.unviewable = 1;*/ AmpServices.appUnViewableDescription(params).done(function(data) { return callback(data); }); }; /** * 不再显示详情 * @param params * @default appId * @param callback */ dataUtils.setAppRestoreViewableDescription = function(params, callback) { params.unviewable = 0; AmpServices.appRestoreViewableDescription(params).done(function(data) { return callback(data); }); }; /** * 获取可用的应用和卡片的接口 */ dataUtils.getUserCategoryAppData = function(callback) { if (dataUtils.space.userCategoryAppData != null) { return callback(dataUtils.space.userCategoryAppData); } else { AmpServices.getUserCategoryAppList().done(function(data) { dataUtils.space.userCategoryAppData = data; return callback(data); }); } }; dataUtils.getNoReadMessageData = function(data, callback) { var param = { 'typeId': '-1', 'typeName': '未读消息' }; param = $.extend(param, data); AmpServices.noReadMessageData(param).done(function(data) { return callback(data); }); }; dataUtils.getFolderData = function(folderId, callback) { return callback(dataUtils.space.folderData[folderId]); }; dataUtils.getRecentUseApps = function(callback) { AmpServices.recentUseApps().done(function(data) { return callback(data); }); }; dataUtils.deleteDesktop = function(params, callback) { AmpServices.deleteDesktop().done(function(data) { return callback(data); }); }; dataUtils.restoreDesktop = function(params, callback) { AmpServices.restoreDesktop().done(function(data) { return callback(data); }); }; dataUtils.editDesktop = function(params, callback) { AmpServices.editDesktop(params).done(function(data) { return callback(data); }); }; dataUtils.editUserDesktopOrder = function(params, callback) { AmpServices.editUserDesktopOrder().done(function(data) { return callback(data); }); }; /** * 获取办事大厅数据,并将数据进行缓存,供其他方法使用,通过type获取对应的APP数据 * @param roleId 角色id * @param type 要获取的数据类型 * @param callback * @returns {*} */ function getEhallData(roleId, type, callback) { if (dataUtils.space.ehallData[roleId]) { return callback(getEhallAppData(roleId, type)); } else { AmpServices.ehallAppData(roleId).done(function(data) { dataUtils.space.ehallData[roleId] = data; return callback(getEhallAppData(roleId, type)); }); } } /** * 根据类型获取APP数据 * @param type 类型 * @returns {*} */ function getEhallAppData(roleId, type) { if (type === 'recommend') { return getRecomandOrNewData(roleId, type); } else if (type === 'classify') { return dataUtils.space.ehallData[roleId].categoryList; } else if (type === 'hot') { return dataUtils.space.ehallData[roleId].hotServiceList; } else if (type === 'new') { return getRecomandOrNewData(roleId, type); } else { return dataUtils.space.ehallData[roleId]; } } function getRecomandOrNewData(roleId, flag) { var backData = []; var data = dataUtils.space.ehallData[roleId].recommendAndNewAppList; var dataLen = data ? data.length : 0; for (var i = 0; i < dataLen; i++) { var item = data[i]; var newAppFlag = item.newApp; if (flag === 'new') { if (newAppFlag) { backData.push(item); } } else { if (!newAppFlag) { backData.push(item); } } } return backData; } /** * 获取创建桌面的数据 * @type {[type]} */ dataUtils.getDesktopCreatData = function(callback) { return callback(dataUtils.space.ampData); }; /** * 创建桌面 * @param params * @param callback */ dataUtils.desktopCreat = function(params, callback) { AmpServices.desktopCreat(params).done(function(data) { return callback(data); }); }; /** * 获取用户桌面设置属性的数据 */ dataUtils.getUserDesktopProperty = function(callback) { AmpServices.getUserDesktopProperty().done(function(data) { dataUtils.space.userDesktopPropertyData = data; return callback(data); }); }; /** * 用户桌面和系统桌面排序的接口 */ dataUtils.updateUserDesktopSeq = function(params, callback) { AmpServices.updateUserDesktopSeq(params).done(function(data) { return callback(data); }); }; /** * 删除桌面卡片的接口 */ dataUtils.deleteUserDesktopCard = function(params, callback) { AmpServices.deleteUserDesktopCard(params).done(function(data) { return callback(data); }); }; /** * 获取推荐卡片的应用 */ dataUtils.getRecommendCard = function(callback) { /*AmpServices.getRecommendCard().done(function(data) { return callback(data); });*/ return callback(dataUtils.space.desktopData.appPcCardBizList); }; /** * 操作推荐卡片的留下or我不需要 */ dataUtils.updateRecommendCardStatus = function(params, callback) { AmpServices.updateRecommendCardStatus(params).done(function(data) { return callback(data); }); }; /** * 获取用户信息(包含桌面卡片在内) * @type {[type]} */ dataUtils.userDesktopInfo = function(param, callback) { AmpServices.userDesktopInfo(param).done(function(data) { dataUtils.space.desktopData = data; AmpGlobal.loginFlag = data.hasLogin ? true : false; dataUtils.space.ampData = data; return callback(data); }); }; /** * 获取桌面卡片 */ dataUtils.desktopInfo = function(callback) { return callback(dataUtils.space.ampData); }; /** * 操作PC卡片的已读操作 */ dataUtils.updatePcCardMarkStatus = function(params, callback) { AmpServices.updatePcCardMarkStatus(params).done(function(data) { return callback(data); }); }; /** * 获取任务中心的未读消息 */ dataUtils.getTagsMessages = function(params, callback) { AmpServices.getTagsMessages(params).done(function(data) { return callback(data); }); }; /** * 获取当前的用户详情是否显示状态 */ dataUtils.getUserDescSet = function(callback) { if (dataUtils.space.userDescSetData.length != null) { return callback(dataUtils.space.userDescSetData); } else { AmpServices.getUserDescSet().done(function(data) { dataUtils.space.userDescSetData = data; return callback(data); }); } }; /** * 更新用户是否显示详情页的接口 */ /* dataUtils.userCheckforView = function(param, callback) { AmpServices.userCheckforView(param).done(function(data) { return callback(data); }); };*/ /** * 获取最近使用的数据getrecUseServiceList */ dataUtils.getrecUseServiceList = function(callback) { AmpServices.getrecUseServiceList().done(function(data) { return callback(data); }); }; /** * 点击应用数据收集 */ dataUtils.sendRecUseApp = function(params, callback) { AmpServices.sendRecUseApp(params).done(function(data) { return callback(data); }); }; /** * 更新桌面new状态 */ dataUtils.updateUserDesktopStatus = function(param, callback) { AmpServices.updateUserDesktopStatus(param).done(function(data) { return callback(data); }); }; /** * 获取用户的皮肤 */ dataUtils.getUserSkin = function(callback) { if (dataUtils.space.userSkinData != null) { return callback(dataUtils.space.userSkinData); } else { AmpServices.getUserSkin().done(function(data) { dataUtils.space.userSkinData = data; return callback(data); }); } }; /** * 更新用户的皮肤 */ dataUtils.switchSkin = function(param, callback) { AmpServices.switchSkin(param).done(function(data) { return callback(data); }); }; /** * 搜索中心 添加搜索历史功能 * @type {[type]} */ dataUtils.userSearchHistory = function(callback) { AmpServices.userSearchHistory().done(function(data) { return callback(data); }); }; /** * 获取拓展项url */ dataUtils.getTopExtendList = function(callback) { if (dataUtils.space.expandListData && dataUtils.space.expandListData != null) { return callback(dataUtils.space.expandListData); } else { AmpServices.getTopExtendList().done(function(data) { dataUtils.space.expandListData = data; return callback(data); }); } }; /** * 判断用户是否首次登陆门户的接口 */ dataUtils.getUserFirstLogin = function(callback) { if (dataUtils.space.firstLoginFlag != null) { return callback(dataUtils.space.firstLoginFlag); } else { AmpServices.getUserFirstLogin().done(function(data) { dataUtils.space.firstLoginFlag = data; return callback(data); }); } }; /** * 删除单条消息 */ dataUtils.setMsgsRead = function(param, callback) { AmpServices.setMsgsRead(param).done(function(data) { return callback(data); }); }; /** * 所有消息置为已读 */ dataUtils.setAllTagMsgsRead = function(callback) { AmpServices.setAllTagMsgsRead().done(function(data) { return callback(data); }); }; /** * 侧边栏任务栏数据统计 */ dataUtils.getTaskCount = function(callback) { if (dataUtils.space.getTaskCountData && dataUtils.space.getTaskCountData != null) { return callback(dataUtils.space.getTaskCountData); } else { AmpServices.getTaskCount().done(function(data) { dataUtils.space.getTaskCountData = data; return callback(data); }); } } /** * 右侧边栏代办任务、流程跟踪 数据接口 */ dataUtils.getTaskDbLcData = function(param, callback) { AmpServices.getTaskDbLcData(param).done(function(data) { return callback(data); }); } /** * 右侧边栏获取周期服务的数据 */ dataUtils.getTaskZqfwData = function(params, callback) { AmpServices.getTaskZqfwData(params).done(function(data) { return callback(data); }); } /** * 更新引导页的阅读状态 */ dataUtils.updateUserReadGuidePage = function(param, callback) { AmpServices.updateUserReadGuidePage(param).done(function(data) { return callback(data); }); } /** * 获取中英文切换的开关 */ dataUtils.getCurrentLocale = function(callback) { AmpServices.getCurrentLocale().done(function(data) { AmpGlobal.loginFlag = data.hasLogin ? true : false; return callback(data); }); } /** * 获取登陆状态 */ dataUtils.checkLogin = function(callback) { AmpServices.checkLogin().done(function(data) { AmpGlobal.loginFlag = data.hasLogin ? true : false; return callback(data); }); } /** * 更新当前中英文切换开关的语言 */ dataUtils.setCurrentLocale = function(param, callback) { AmpServices.setCurrentLocale(param).done(function(data) { return callback(data); }); } /** * 查询用户收藏文件夹接口 */ dataUtils.getUserFavFolders = function(callback) { AmpServices.getUserFavFolders().done(function(data) { return callback(data); }); } /** * 我的收藏文件夹新增 */ dataUtils.saveUserFavFolder = function(param, callback) { AmpServices.saveUserFavFolder(param).done(function(data) { return callback(data); }); } /** * 保存整理接口 */ dataUtils.saveFavFolderOperates = function(params, callback) { AmpServices.saveFavFolderOperates(params).done(function(data) { return callback(data); }); } /** * 教师版 set移动端应用数据 */ dataUtils.setCurrentEnv = function(param, callback) { AmpServices.setCurrentEnv(param).done(function(data) { return callback(data); }); }; dataUtils.dataAnalysisException = function(param, callback) { AmpServices.dataAnalysisException(param).done(callback); }; /** * 任务中心待办已读接口 */ dataUtils.updateReceiveDate = function(params, callback) { AmpServices.updateReceiveDate(params).done(function() { return callback(data); }); } })(window.AmpDataUtils = window.AmpDataUtils || {}); ; (function(detail, undefined) { detail.open = function($item) { getAppIntroduction($item); }; function getAppIntroduction($item) { var id = $item.attr('amp-appid'); showDetail($item); AmpDataUtils.getAppIntroduction({ appId: id }, function(data) { insertAppIntroduction(data, id, $item.attr('amp-title')); }); } function showDetail($item) { $('body').find('.ampLoadActiveFlag').addClass('amp-loaded-hide').removeClass('amp-loaded-active'); var title = $item.attr('amp-title'); var img = $item.attr('amp-img'); var version = $item.attr('amp-version'); var category = $item.attr('amp-category'); var unviewabledescription = $item.attr('amp-unviewabledescription'); var hasPermission = $item.attr('amp-haspermission'); var descriptionauth = $item.attr('amp-descriptionauth'); var opening = $item.attr('amp-opening'); var maintaining = $item.attr('amp-maintaining'); var unviewClass = ''; var loginClass = ''; var enterText = ''; var enterClass = ''; var enterTheService = '进入服务'; var noAuthority = '无权限使用'; var expiredOrNotOpen = '已过期或尚未开放'; if (AmpGlobal.currentLang == "en_US") { enterTheService = $.i18n("enterTheService"); noAuthority = $.i18n("noAuthority"); expiredOrNotOpen = $.i18n("expiredOrNotOpen"); } if (AmpGlobal.loginFlag) { if (hasPermission == 'true') { loginClass = 'amp-hide'; enterText = enterTheService; enterClass = 'amp-active'; } else { unviewClass = 'amp-hide'; enterText = noAuthority; loginClass = 'amp-hide'; $("#ampDetailEnter").attr('amp-show-nopermission', true); } if (opening == 'false') { unviewClass = 'amp-hide'; enterText = expiredOrNotOpen; } if (maintaining == 'true') { var cnStr = '维护期'; if (AmpGlobal.currentLang == "en_US") { cnStr = $.i18n("maintenancePeriod"); } unviewClass = 'amp-hide'; enterText = cnStr; } } else { //游客状态 可见不可用、可见可用 if (hasPermission == 'true') { loginClass = 'amp-hide'; enterText = enterTheService; enterClass = 'amp-active'; } else { unviewClass = 'amp-hide'; enterText = noAuthority; $("#ampDetailEnter").attr('amp-show-permission', true); } } var detailHtml = AmpTemplate.getDetailHtml() .replace('@img', img).replace('@title', title) .replace('@version', version).replace('@category', category) .replace('@loginClass', loginClass).replace('@unviewClass', unviewClass) .replace('@enterText', enterText).replace('@enterClass', enterClass) .replace('@unviewabledescription', unviewabledescription).replace('@title_category', category); $('body').append(detailHtml); //对dom节点的处理 if (AmpGlobal.loginFlag) { if (opening == 'false') { unviewClass = 'amp-hide'; enterText = expiredOrNotOpen; loginClass = 'amp-hide'; $("#ampDetailEnter").removeClass('amp-active').attr('amp-show-nopermission', true); } if (maintaining == 'true') { var cnStr = '正在维护期'; if (AmpGlobal.currentLang == "en_US") { cnStr = $.i18n("duringTheMaintenancePeriod"); } unviewClass = 'amp-hide'; enterText = cnStr; loginClass = 'amp-hide'; $("#ampDetailEnter").removeClass('amp-active').attr('amp-show-nopermission', true); } } //如果app无权限设置无权限不可点击 适用于登录状态和非登录状态 if (hasPermission != 'true') { $("#ampDetailEnter").attr('amp-show-nopermission', true); } eventsListen(); AmpUtils.copyAppAttributesFromDomToDom($item, $('#ampDetailEnter')); if (unviewabledescription !== 'false') { $('#ampDetailUnViewInput').prop('checked', true); } /* AmpUtils.currentPageBlurAnimate('blur');*/ } function insertAppIntroduction(data, id, title) { var introduction = data.introduction; if (data.desHasUpdate) { // 改变title // 改变更新时间 var cnStr = '更新'; var updateInstructions = '更新说明'; if (AmpGlobal.currentLang == "en_US") { cnStr = $.i18n("update"); updateInstructions = $.i18n("updateInstructions"); } $("#ampDetail").find("h3[data-amp-app-title]").html(title + '' + updateInstructions + ''); $("#ampDetail").find("div[data-amp-app-service]").html(data.desUpdateTime + " " + cnStr); // 调用方法 AmpDataUtils.updateDesHasUpdateStatus({ appId: id, desHasUpdate: "0" }); } if (!introduction) { introduction = ''; } var $introduction = $('#ampDetailIntroduction'); var $introductionContent = $('#ampDetailIntroductionContent'); var mainHtml = ''; var openHtml = ''; if (data.appMaintainList.length > 0) { var mainList = data.appMaintainList; for (var i = 0; i < mainList.length; i++) { var maintenanceCycle = '维护周期'; var maintenanceReason = '维护原因'; if (AmpGlobal.currentLang == "en_US") { maintenanceCycle = $.i18n("maintenanceCycle"); maintenanceReason = $.i18n("maintenanceReason"); } var mainStart = mainList[i].beginTime; var mainEnd = mainList[i].endTime; var reason = null == mainList[i].reason || undefined == mainList[i].reason ? "" : mainList[i].reason; mainHtml += '' + maintenanceCycle + ':' + mainStart + ' - ' + mainEnd + ' '; mainHtml += '' + maintenanceReason + ':' + reason + ' '; } } if (data.appOpenPeriodList.length > 0) { var openList = data.appOpenPeriodList; for (var i = 0; i < openList.length; i++) { var openStart = openList[i].beginTime; var openEnd = openList[i].endTime; var openCycle = '开放周期'; if (AmpGlobal.currentLang == "en_US") { openCycle = $.i18n("openCycle"); } openHtml += '' + openCycle + ':' + openStart + ' - ' + openEnd + ' '; } } $introductionContent.before(mainHtml + openHtml); $introductionContent.html(introduction); AmpUtils.niceScrollInit($introduction); var fileList = data.appAttachFiles; if(null != fileList && undefined != fileList){ $("#ampDetailIntroduction").addClass("has-appAttachFile"); var fileHtml = ""; for(var i=0;i
"; if(/^.+\.(doc|docx)$/.test(fileList[i].fileName)){ fileHtml += ""; }else if(/^.+\.(pdf)$/.test(fileList[i].fileName)){ fileHtml += ""; }else if(/^.+\.(ppt|pptx)$/.test(fileList[i].fileName)){ fileHtml += ""; }else if(/^.+\.(xls|xlsx)$/.test(fileList[i].fileName)){ fileHtml += ""; }else if(/^.+\.(rar|zip|7z)$/.test(fileList[i].fileName)){ fileHtml += ""; } fileHtml += "
"+fileList[i].fileName+"
"; $(".app-attachfile-list").append(fileHtml); } $(".ampAppAttachFiles").show(); } } function eventsListen() { var $detail = $('#ampDetail'); $detail.on('click', '.icon-chacha', function() { hideDetail(); }); $detail.on('click', '.amp-detail-enter', function() { //判断是否是无权限的, showPermissionFlag var showPermissionFlag = $(this).attr('amp-show-nopermission'); if (showPermissionFlag) { return; } else { AmpApp.open($(this)); } }); $detail.on('click', '.amp-detail-login-btn', function() { //判断搜索页面是否打开,搜索条件是否存在 AmpHeader.setServiceCookies(); AmpUtils.goLoginPage(); }); $detail.on('click', '.app-attachfile', function() { //判断是否是无权限的, showPermissionFlag var fileWid = $(this).attr("file-wid"); window.open(AMPConstant.jsonpRequestPath + "getAppAttachFile?fileWid=" + fileWid); }); /* $detail.on('click', '[type="checkbox"]', function(e) { var $target = $(e.target || e.srcElement); var $appswitchFlag = $target.prop('checked'); if (!$appswitchFlag) { AmpHeader.space.showDetailFlag = true; } else { AmpHeader.space.showDetailFlag = false; } AmpHeader.saveVIewDetailData($appswitchFlag, true); }); */ $('#ampDetailUnViewInput').on('click', function() { $('#ampDetailUnViewInput').attr('state-change', 'true'); var val = $('#ampDetailUnViewInput').prop('checked'); var appId = $('#ampDetailEnter').attr('amp-appid'); if (val) { //下次不在显示详情 var params = {}; params.unviewable = 1; params.appId = appId; AmpDataUtils.setAppUnViewableDescription(params, function(data) { if (data.result == "选择跳过详情页面成功!") { console.log("选择跳过详情页面成功!"); } //需要更新可用应用、搜索中心中缓存的数据 resetCacheData(params); }); } else { //显示详情页 var params = {}; params.unviewable = 0; params.appId = appId; AmpDataUtils.setAppUnViewableDescription(params, function(data) { console.log("选择跳过详情页面成功!"); //需要更新可用应用、搜索中心中缓存的数据 resetCacheData(params); }); } }); } function hideDetail() { var $detailUnViewInput = $('#ampDetailUnViewInput'); if ($detailUnViewInput.attr('state-change') === 'true') { var serviceState = $detailUnViewInput.val(); var currentState = $detailUnViewInput.prop('checked').toString(); if (serviceState !== currentState) { var appId = $('#ampDetailEnter').attr('amp-appid'); var data = { appId: appId }; if (currentState === 'false') { AmpDataUtils.setAppRestoreViewableDescription(data, function(data) { }); } else { //AmpDataUtils.setAppRestoreViewableDescription(data); } AmpUtils.synchronousAppAttributes(appId, { 'amp-unviewabledescription': currentState }); } } $('#ampDetail').remove(); /* AmpUtils.currentPageBlurAnimate('restore');*/ $('body').find('.ampLoadActiveFlag').removeClass('amp-loaded-hide').addClass('amp-loaded-active'); } function resetCacheData(params) { //如果有缓存,更新缓存数据的收藏数据 dataUtils.space.allServiceData dataUtils.space.userCategoryAppData var unviewable = params.unviewable; var appId = params.appId; if (AmpDataUtils.space.allServiceData) { var serviceData = AmpDataUtils.space.allServiceData; var searchData = serviceData.searchResult; for (var i = 0; i < searchData.length; i++) { if (searchData[i].type) { var appList = searchData[i].appList; for (var j = 0; j < appList.length; j++) { if (appList[j].appId == appId) { if (unviewable) { appList[j].unviewableDescription = true; } else { appList[j].unviewableDescription = false; } } } } else { if (searchData[i].appId == appId) { if (unviewable) { searchData[i].unviewableDescription = true; } else { searchData[i].unviewableDescription = false; } } } } } var userCategoryAppData = JSON.parse(sessionStorage.getItem('allCanUseApps')); if (userCategoryAppData) { var categoryData = userCategoryAppData; var appCategoryData = categoryData.data; var classify = categoryData.classify; if (classify) { for (var i = 0; i < classify.length; i++) { var itemClassify = classify[i]; var appList = appCategoryData[itemClassify].appList; if (appList) { for (var j = 0; j < appList.length; j++) { if (appList[j].appId == appId) { if (unviewable) { appList[j].unviewableDescription = true; } else { appList[j].unviewableDescription = false; } } } } } } //数据重新缓存 sessionStorage.setItem('allCanUseApps', JSON.stringify(categoryData)); } } })(window.AmpDetail = window.AmpDetail || {}); ; (function (root, factory) { if (typeof define === 'function' && define.amd) { // AMD define(['jquery'], factory); } else if (typeof exports === 'object') { // Node, CommonJS之类的 module.exports = factory(require('jquery')); } else { // 浏览器全局变量(root 即 window) root.AmpDialog = factory(root.jQuery); } } (this, function ($) { var AmpDialog = function (options) { var confirm = '确定'; var cancel = '取消'; if (AmpGlobal.currentLang == "en_US") { confirm = $.i18n("confirm"); cancel = $.i18n("cancel"); } var DEFAULT = { title: '', type: 'dialog', //TODO:alter | confirm | dialog mask: true, width: 500, height: undefined, theme: '', //样式 //远程加载文档, 参考jQuery.load // remote: { // url:'', //url // params: {}, //params // callback: function(){} //callback // } // remote 和content 不能同时存在 remote: null, content: '', onConfirm: function (element) { //this instanceof AmpDialog // 点击确定时的callback }, onCancel: function (element) { //this instanceof AmpDialog //点击取消和关闭时的 callback }, template: [ '
', '
', '
', '

', '', '
', '
', '', '
', '
', '
' ].join('') } this.$element = null $.extend(this, DEFAULT, options) this.init() return this } AmpDialog.prototype.init = function () { this._renderDOM() this.bindEvents() this.show() } AmpDialog.prototype.bindEvents = function () { this.$element .on('click', '.amp-dialog-close', $.proxy(this.hide, this)) .on('click', '.amp-dialog-cancel', $.proxy(this.hide, this)) .on('click', '.amp-dialog-ok', $.proxy(this.clickOk, this)) } // 根据配置渲染DOM AmpDialog.prototype._renderDOM = function () { var $element = $(this.template), $title, $body var self = this $title = $element.find('.amp-dialog-title') $body = $element.find('.amp-dialog-body') self.type = $.trim(self.type) //set class $element.addClass(function (index, styleClass) { var ret = [] if (self.type === 'alert' || self.type === 'confirm') { ret.push('amp-dialog__' + self.type) } if (self.theme) { ret.push(self.theme) } if (self.mask) { ret.push('amp-dialog--mask') } return ret.join(' ') }) //set title $title.text(this.title) //远程加载 if (this.remote) { var args = this.remote var iframe = document.createElement('iframe') iframe.src = args.url // $body.load(args.url, args.params, args.callback) $body.append(iframe) $body.css({ overflow: 'hidden' }) } else { $body.append(this.content) } $element.find('.amp-dialog-content').css({ width: self.width, height: self.height }) if (self.height) { $body.height(self.height - 106) } this.$element = $element this.$element.appendTo($('body')) this.$element.niceScroll(); return this } // 打开dialog: AmpDialog.prototype.show = function () { this.$element.addClass('amp-dialog__active') } // 关闭 dialog AmpDialog.prototype.hide = function () { this.onCancel.call(this, this.$element) this.$element.remove() } AmpDialog.prototype.clickOk = function () { this.onConfirm.call(this, this.$element) this.$element.remove() } //jQuery Plugin function Plugin() { } var _wrap = function (options) { return new AmpDialog(options) } return _wrap })); /* 使用方法: var dialog = window.AmpDailog({ //config }) dialog.hide() */ /** * 办事大厅 */ ; (function(ehall, undefined) { ehall.space = { autoEhallIndex: 0, autoClassifyIndex: 0 }; /** * 初始化 */ ehall.init = function() { addLogoText(); //初始化设置办事大厅的边距 ehall.setEhallContainerMarginAndNiceScroll(); //初始化设置应用分类的边距 AmpClassify.setClassifyContainerMarginAndNiceScroll(); var userType = parseInt(AmpDataUtils.space.ampData.userType, 10); var roleId = AmpUtils.getUserRoleId(userType); //显示角色tab showRoleNav(roleId); //获取办事大厅数据 getEhallData(roleId, 'init'); //添加自动刷新功能 var $ehallRoleNav = $('#ampEhallRoleNav').children('.amp-ehall-nav-item.amp-active'); autoEhallFresh($ehallRoleNav); autoClassifyFresh($ehallRoleNav); eventListen(); //ie9 设置文本框的placeholder AmpUtils.setIe9PlaceHolder(); }; /** * 显示角色tab */ function showRoleNav(roleId) { var $ehallBody = $('#ampEhallBody'); var customClass = ''; if (AmpGlobal.showLoginPageFlag) { customClass = 'amp-hide'; } //获取角色块的html var ehallRoleNavHtml = AmpTemplate.getRoleNavHtml({ id: 'ampEhallRoleNav', roleId: roleId, customClass: customClass }); var classifyRoleNavId = 'ampClassifyRoleNav'; var classifyRoleNavHtml = AmpTemplate.getRoleNavHtml({ roleId: roleId, id: classifyRoleNavId, customClass: 'amp-hide' }); var ehallRoleNavAnimateBlockId = 'ampEhallRoleNavAnimateBlock'; var roleNavAnimateBlockHtml = AmpTemplate.getRoleNavHtml({ roleId: roleId, id: ehallRoleNavAnimateBlockId, customClass: 'amp-hide' }); //获取办事大厅的角色tab站位块的位置数据 var $EhallRoleNavPlaceHolder = $('#ampEhallRoleNavPlaceHolder'); if ($EhallRoleNavPlaceHolder.length > 0) { $EhallRoleNavPlaceHolder.html(ehallRoleNavHtml); $('#ampClassifyRoleNavPlaceHolder').html(classifyRoleNavHtml); $ehallBody.append(roleNavAnimateBlockHtml); setTimeout(function() { var placeHolderOffset = $EhallRoleNavPlaceHolder.offset(); //设置角色tab的位置 var placeHolederLeft = placeHolderOffset.left; if (!AmpUtils.IsPC()) { //移动端访问 placeHolederLeft + 60; } $('#' + ehallRoleNavAnimateBlockId).css({ 'top': placeHolderOffset.top, 'left': placeHolederLeft }); $('#' + classifyRoleNavId).css({ 'left': placeHolederLeft }); }, AmpGlobal.animateTimes + 10); } else { $('#ampClassifyRoleNavPlaceHolder').html(classifyRoleNavHtml); $ehallBody.append(roleNavAnimateBlockHtml); setTimeout(function() { var placeHolderOffset = ($(window).width() - $('#ampClassifyRoleNav').width()) / 2; //设置角色tab的位置 if (!AmpUtils.IsPC()) { //移动端访问 placeHolderOffset = placeHolderOffset + 60; } $('#' + ehallRoleNavAnimateBlockId).css({ 'left': placeHolderOffset }); $('#' + classifyRoleNavId).css({ 'left': placeHolderOffset }); }, AmpGlobal.animateTimes + 10); } //角色tab点击事件的监听 $ehallBody.on('click', '.amp-ehall-nav-item', function(e) { if ($(this).hasClass('amp-active')) { return; } else { roleNavChangeHandel($(this)); } //添加自动刷新功能 ehall.space.autoEhallIndex = 0; ehall.space.autoClassifyIndex = 0; autoEhallFresh($(this)); autoClassifyFresh($(this)); }); } /** * 当出现分页时添加自动刷新功能 */ function autoEhallFresh($clickItem) { // var index = ehall.space.autoEhallIndex; //3秒轮播一次 var setAutoEhallFresh = setEhallInteral(); clearInterval(setAutoEhallFresh); setAutoEhallFresh = null; //鼠标移上去停止自动分页 $("#ampRecommendSection").mouseover(function() { clearInterval(setAutoEhallFresh); setAutoEhallFresh = null; }) $("#ampRecommendSection").mouseout(function() { setAutoEhallFresh = setEhallInteral(); }) } function setEhallInteral(index, $clickItem) { var setAutoEhallFresh = setInterval(function() { var $ehallRoleNav = $('#ampEhallRoleNav').children('.amp-ehall-nav-item.amp-active'); var $item = $ehallRoleNav; var _roleId = $item.attr('amp-role-id'); var $clickBox = $('#ampRecommendPage' + _roleId + ''); var $clickBoxItems = $clickBox.children(); var _clickLength = $clickBoxItems.length; if (ehall.space.autoEhallIndex == _clickLength) { ehall.space.autoEhallIndex = 0; } if ($clickBox.children().length > 0) { $clickBox.children()[ehall.space.autoEhallIndex].click(); //判断是否被选中 ,如果没选中,则值不改变 if ($clickBox.children('div:eq(' + ehall.space.autoEhallIndex + ')').hasClass('amp-active')) { ehall.space.autoEhallIndex++; } } }, 6000); return setAutoEhallFresh; } /** * 当出现分页时添加自动刷新功能 */ function autoClassifyFresh($clickItem) { //6秒轮播一次 var setAutoClassifyFresh = setClassifyInteral(); clearInterval(setAutoClassifyFresh); setAutoClassifyFresh = null; //鼠标移上去停止自动分页 $("#ampClassifySection").mouseover(function() { clearInterval(setAutoClassifyFresh); setAutoClassifyFresh = null; }) $("#ampClassifySection").mouseleave(function() { setAutoClassifyFresh = setClassifyInteral(); }) } function setClassifyInteral(index, $clickItem) { var setAutoClassifyFresh = setInterval(function() { var $ehallRoleNav = $('#ampEhallRoleNav').children('.amp-ehall-nav-item.amp-active'); var $item = $ehallRoleNav; var _roleId = $item.attr('amp-role-id'); var $clickBox = $('#ampClassifyPage' + _roleId + ''); var $clickBoxItems = $clickBox.children(); var _clickLength = $clickBoxItems.length; if (ehall.space.autoClassifyIndex == _clickLength) { ehall.space.autoClassifyIndex = 0; } if ($clickBox.children()[ehall.space.autoClassifyIndex] != undefined) { $clickBox.children()[ehall.space.autoClassifyIndex].click(); //判断是否被选中 ,如果没选中,则值不改变 if ($clickBox.children('div:eq(' + ehall.space.autoClassifyIndex + ')').hasClass('amp-active')) { ehall.space.autoClassifyIndex++; } } else { return false; } }, 6000); return setAutoClassifyFresh; } /** * 角色切换的处理 * @param $item 被点击的节点 */ function roleNavChangeHandel($item) { var roleId = $item.attr('amp-role-id'); getEhallData(roleId); } /** * 根据角色id,获取办事大厅数据 * @param roleId * @param flag 初始化时会传入'init' */ function getEhallData(roleId, flag) { //检查该角色是否已经加载数据,若已经加载则直接切换,否则读取数据再展示 var checkData = checkRoleAppHasLoaded(roleId); if (checkData.loadedFlag) { AmpUtils.animateMove(checkData.toShowData, checkData.toHideData); //同时对应用分类做动画处理 AmpClassify.roleNavChangeHandle(checkData.toShowData, checkData.toHideData); } else { //获取推荐应用 AmpDataUtils.getEhallData(roleId, function(data) { //显示推荐应用 // showRecommendApps(data, roleId, flag); if (!AMPConfigure.showLoginPageFlag && AMPConfigure.fudanEhallCustom) { // 复旦办事大厅模板定制 showFudanEhallData(data, roleId, flag); } else { showEhallData(data, roleId, flag); } //同时获取应用分类数据 AmpClassify.getClassifyAppsData(roleId, flag); }); } } /** * 检查该角色是否已经加载数据,并返回对应的dom节点 * @param roleId * @returns {{loadedFlag: boolean, toShowData: {}, toHideData: {}}} */ function checkRoleAppHasLoaded(roleId) { var loadedFlag = false; var $recommendSection = $('#ampRecommendSection'); var $classifySection = $('#ampClassifySection'); var toShowData = {}; var toHideData = {}; var $roleNav = $('#ampEhallRoleNav').length == 0 ? $('#ampClassifyRoleNav') : $('#ampEhallRoleNav'); $roleNav.children().each(function(index) { var $item = $(this); var itemRoleId = $item.attr('amp-role-id'); if (itemRoleId === roleId) { toShowData.index = index; toShowData.pageContainer = $item; if ($recommendSection.length > 0) { toShowData.container = $($recommendSection.children('[amp-role-id=' + roleId + ']')); } else { toShowData.container = $($classifySection.children('[amp-role-id=' + roleId + ']')); } if ($classifySection.length > 0) { toShowData.classifyContainer = $($classifySection.children('[amp-role-id=' + roleId + ']')); } if (toShowData.container != undefined && toShowData.container.length) { loadedFlag = true; } } if ($item.hasClass('amp-active')) { toHideData.index = index; toHideData.pageContainer = $item; if ($recommendSection.length > 0) { toHideData.container = $($recommendSection.children('[amp-role-id=' + itemRoleId + ']')); } else { toHideData.container = $($classifySection.children('[amp-role-id=' + itemRoleId + ']')); } if ($classifySection.length > 0) { toHideData.classifyContainer = $($classifySection.children('[amp-role-id=' + itemRoleId + ']')); } } }); return { loadedFlag: loadedFlag, toShowData: toShowData, toHideData: toHideData } } function showFudanEhallData(data, roleId, flag) { var hotRecNewAppListLen = 0; if (!data.hotRecNewAppList) { data.hotRecNewAppList = null; hotRecNewAppListLen = 0; } else { var hotRecNewAppList = data.hotRecNewAppList; hotRecNewAppListLen = hotRecNewAppList.length; } var recommendApps = []; var newApps = []; var hotApps = []; var pageContentHtml = ''; var pageCount = 3; var showFlag = true; for (var i = 0; i < hotRecNewAppListLen; i++) { var dataItem = hotRecNewAppList[i]; if (i < 5) { hotApps.push(dataItem); } } var cnStr = '推荐服务'; if (AmpGlobal.currentLang == "en_US") { cnStr = $.i18n("recommendedService"); } if (hotApps.length > 0) { pageContentHtml += getEhallPageAppsHtml(hotApps, showFlag, cnStr); showFlag = false; } //渲染APP列表 // $('#ampRecommendApps').html(pageContentHtml); var paginationId = 'ampRecommendPage' + roleId; var pageData = { id: paginationId }; var activeClass = flag !== 'init' ? 'amp-hide' : 'amp-active'; //推荐服务+'-' 位置固定不变 var ehallSplitHtml = ''; if (pageContentHtml) { var recommendedService = "推荐服务"; if (AmpGlobal.currentLang == "en_US") { recommendedService = $.i18n("recommendedService"); } ehallSplitHtml = $('#tpl-ehall-app-head').html().replace('@recommendedService', recommendedService); } $('#ampRecommendSection').html( '
' + '
' + pageContentHtml + '
' + '
' ); //page tab页的切换 $('#ampFudanEhallPage').find('div[amp-role-id="' + roleId + '"]').addClass('amp-active').siblings('div').removeClass('amp-active'); //非初始化加载的给加入切换动画 if (flag !== 'init') { var checkData = checkRoleAppHasLoaded(roleId); AmpUtils.animateMove(checkData.toShowData, checkData.toHideData); } //分页按钮点击事件监听 $('#ampFudanEhallPage').on('click', 'div', function() { fudanEhallPageHandle($(this)); }); } /** * 显示推荐应用 * 应用居中,每行显示5个应用 * @param recommendApps 推荐应用数据 * @param roleId * @param flag 初始化会传入init * appType 3:最热 2:最新 1 :推荐 * pagemaxnum:分页显示的数量 (每页显示的数量) */ function showEhallData(data, roleId, flag) { var hotRecNewAppListLen = 0; if (!data.hotRecNewAppList) { data.hotRecNewAppList = null; hotRecNewAppListLen = 0; } else { var hotRecNewAppList = data.hotRecNewAppList; hotRecNewAppListLen = hotRecNewAppList.length; } var recommendApps = []; var newApps = []; var hotApps = []; var pageContentHtml = ''; var pageCount = 0; var showFlag = true; for (var i = 0; i < hotRecNewAppListLen; i++) { var dataItem = hotRecNewAppList[i]; if (i < 15) { hotApps.push(dataItem); } else if (i >= 15 && i < 30) { newApps.push(dataItem); } else { recommendApps.push(dataItem); } } var cnStr = '推荐服务'; if (AmpGlobal.currentLang == "en_US") { cnStr = $.i18n("recommendedService"); } if (hotApps.length > 0) { pageCount++; pageContentHtml += getEhallPageAppsHtml(hotApps, showFlag, cnStr); showFlag = false; } if (newApps.length > 0) { pageCount++; pageContentHtml += getEhallPageAppsHtml(newApps, showFlag, cnStr); showFlag = false; } if (recommendApps.length > 0) { pageCount++; pageContentHtml += getEhallPageAppsHtml(recommendApps, showFlag, cnStr); showFlag = false; } //渲染APP列表 // $('#ampRecommendApps').html(pageContentHtml); var paginationId = 'ampRecommendPage' + roleId; var pageData = { id: paginationId }; if (pageCount === 1) { pageData.customClass = 'amp-hide'; } //获取分页按钮html var pageHtml = AmpTemplate.getAppPageHtml(pageCount, pageData); var activeClass = flag !== 'init' ? 'amp-hide' : 'amp-active'; //推荐服务+'-' 位置固定不变 var ehallSplitHtml = ''; if (pageContentHtml) { var recommendedService = "推荐服务"; if (AmpGlobal.currentLang == "en_US") { recommendedService = $.i18n("recommendedService"); } ehallSplitHtml = $('#tpl-ehall-app-head').html().replace('@recommendedService', recommendedService); } $('#ampRecommendSection').append( '
' + '
' + pageContentHtml + '
' + pageHtml + '
' ); //非初始化加载的给加入切换动画 if (flag !== 'init') { var checkData = checkRoleAppHasLoaded(roleId); AmpUtils.animateMove(checkData.toShowData, checkData.toHideData); } //分页按钮点击事件监听 $('#' + paginationId).on('click', 'div', function() { recommendPageHandle($(this)); }); } function getEhallPageAppsHtml(apps, showFlag, type) { var appsHtml = ''; var lineHtml = ''; var appsLen = apps.length; for (var i = 0; i < appsLen; i++) { // appsHtml += AmpTemplate.getAppCardHtml(apps[i], 'amp-mr-8 amp-mb-8 amp-ehall-apps-card'); appsHtml += AmpTemplate.getAppCardHtml({ data: apps[i], customClass: 'amp-mr-2 amp-mb-2 amp-ehall-apps-card' }); //当应用数达到5个时,将其存入一行里的html中,lineHtml var normalPadding = (1048 - 200 * 5 - 10) / 2; if ((i + 1) % 5 === 0) { if (i !== 0) { lineHtml += '
' + appsHtml + '
'; appsHtml = ''; } } //到达最后一个数据时,APP放入lineHtml if (i === appsLen - 1) { if (appsLen < 6) { var padding = (1048 - 202 * appsLen) / 2; if (appsHtml) { lineHtml += '
' + appsHtml + '
'; } } else { if (appsHtml) { lineHtml += '
' + appsHtml + '
'; } } } } var contentHideClass = showFlag ? '' : 'amp-hide amp-animate-move-right-out'; return '
' + lineHtml + '
'; } /** * 复旦定制模板点击分页按钮的处理 * @param $item 被点击的节点 */ function fudanEhallPageHandle($item) { if ($item.hasClass('amp-active')) { return; } $item.addClass('amp-active').siblings('div').removeClass('amp-active'); var roleId = $item.attr('amp-role-id'); getEhallData(roleId); } /** * 点击分页按钮的处理 * @param $item 被点击的节点 */ function recommendPageHandle($item) { if ($item.hasClass('amp-active')) { return; } var $blockContainer = $item.closest('.ampPageBodyFlag'); var $appsContainers = $blockContainer.children('.ampPageContentFlag').children(); var $pageContainer = $item.parent(); var toShowIndex = $item.index(); var $toShowAppsContainer = $($appsContainers[toShowIndex]); var $toHideItem = $pageContainer.find('.amp-active'); var toHideIndex = $toHideItem.index(); var $toHideAppsContainer = $($appsContainers[toHideIndex]); var toShowAnimateClass = ''; var toHideAnimateClass = ''; if (toShowIndex > toHideIndex) { toShowAnimateClass = 'amp-animate-move-right-in'; toHideAnimateClass = 'amp-animate-move-left-out'; } else { toShowAnimateClass = 'amp-animate-move-left-in'; toHideAnimateClass = 'amp-animate-move-right-out'; } $toHideAppsContainer.removeClass('amp-animate-move-right-in amp-animate-move-left-in') .addClass(toHideAnimateClass).removeClass('amp-hide'); setTimeout(function() { $toHideAppsContainer.addClass('amp-hide'); $toShowAppsContainer .removeClass('amp-animate-move-right-out amp-animate-move-left-out') .addClass(toShowAnimateClass).removeClass('amp-hide'); $toHideItem.removeClass('amp-active'); $item.addClass('amp-active'); }, 250); } /** * 设置容器间距,使页面整体垂直居中 * 主要设置办事大厅头部图片的居中 */ ehall.setEhallContainerMarginAndNiceScroll = function() { var windwoHeight = window.innerHeight; var $ehallArticle = $('#ampEhallArticle'); var $ehallArticleChild = $ehallArticle.children(); var ehallContainerHeight = 0; $ehallArticleChild.each(function() { var $item = $(this); var itemHeight = $item.outerHeight(); ehallContainerHeight += itemHeight; }); var pageHeaderHeight = $('#ampPageHeader').outerHeight(); if (ehallContainerHeight + pageHeaderHeight < windwoHeight) { var diffHeight = windwoHeight - ehallContainerHeight - pageHeaderHeight; if (diffHeight > 144) { diffHeight = diffHeight * 0.7; } var marginVertical = parseInt(diffHeight / 2, 10) + 'px'; if (!AMPConfigure.showLoginPageFlag && AMPConfigure.fudanEhallCustom) { if (!AmpUtils.IsPC()) { //移动端访问 $('#ampEhallHeader').css({ 'margin-top': (windwoHeight / 4) - 200 + 'px', 'margin-bottom': parseInt(diffHeight / 2, 10) - 200 + 'px' }); } else { $('#ampEhallHeader').css({ 'margin-top': (windwoHeight / 4) - 60 + 'px', 'margin-bottom': (windwoHeight - ((windwoHeight / 4) - 60) - 240) + 'px' }); } } else { if (!AmpUtils.IsPC()) { //移动端访问 $('#ampEhallHeader').css({ 'margin-top': (windwoHeight / 4) - 200 + 'px', 'margin-bottom': parseInt(diffHeight / 2, 10) - 200 + 'px' }); } else { $('#ampEhallHeader').css({ 'margin-top': marginVertical, 'margin-bottom': marginVertical }); } } } else { AmpUtils.niceScrollInit($ehallArticle.parent()); } } function addLogoText() { var logoData = AMPConfigure.ehallTitle; var title = logoData.title; var smallTitle = logoData.smallTitle; var $ehallHead = $('#ampEhallHeader'); if (AmpGlobal.currentLang == "en_US") { $ehallHead.find('h3').html(smallTitle); $ehallHead.find('h3').css("font-size", "22px"); } else { $ehallHead.find('h3').html(title); $ehallHead.find('span').html(smallTitle); } } function eventListen() { //inpu弹框事件 $('#bannerSearchInput').keydown(function(e) { var inputVal = $('#bannerSearchInput').val(); if (e.keyCode == 13) { $('#ampServiceSearchInput').val(inputVal); $('#ampPageHeaderSearch').click(); setTimeout(function() { $('#bannerSearchInput').val(''); }, 100); } }); //办事大厅页面的滚轮事件的监听 $('#ampLoginInBottomDesc').on('click', '.amp-fudan-gunlun-icon', function() { var clickIndex = 1; var $activeItem = $('#ampSlidePage').children('.amp-active'); var activeIndex = $activeItem.index(); var direct = clickIndex > activeIndex ? 'down' : 'up'; var toHideArticle = $('body').find('article[role="slide"][slide-index="' + (activeIndex + 1) + '"]')[0]; slide.slideAnimate(direct, toHideArticle); }); } })(window.AmpEhall = window.AmpEhall || {}); ; (function(faq, undefined) { faq.init = function() { $('#ampBootFaqBody').niceScroll(); $('.faq-del-btn').click(function() { $('#ampPtFaq').addClass('amp-hide'); var $serviceArticle = $('#ampServiceArticle'); //判断当前隐藏的是哪个页面显示出被隐藏的页面 //1.要判断 服务中心页面是否 是否是当前打开状态 if ($serviceArticle.hasClass('ampCurrentBootPageFlag')) { $('#ampPageHeaderSearch').click(); } AmpBootPage.getActiveTabBootPage(); }); }; })(window.AmpFaq = window.AmpFaq || {}); /** * 收藏模块 */ ; (function(favorite, undefined) { /** * 收藏相关事件监听 */ favorite.eventsListen = function() { var $body = $('body'); /** * 鼠标移入APP时,显示收藏图标 */ $body.on("mouseover", ".appFlag", function(e) { var $item = $(this); var $appTitle = $item.find(".appTitleFlag"); if ($appTitle.length > 0) { showAppFavIcon($appTitle); } else if ($item.hasClass("appTitleFlag")) { showAppFavIcon($item); } }); /** * 鼠标移出时删除收藏图标 */ $body.on("mouseout", ".appFlag", function(e) { removeAppFavIcon(e); }); /** * 鼠标移入APP时,显示收藏图标 */ $body.on("mouseover", ".amp-hover-app-card-group", function(e) { var $item = $(this); var $appTitle = $item.find(".appTitleFlag"); if ($appTitle.length > 0) { showAppFavIcon($appTitle); } else if ($item.hasClass("appTitleFlag")) { showAppFavIcon($item); } }); /** * 鼠标移出时删除收藏图标 */ $body.on("mouseout", ".amp-hover-app-card-group", function(e) { removeAppFavIcon(e); }); //点击app收藏按钮 $body.on("click", "#ampAppFavIcon", function(e) { //已登陆,执行收藏动作 if (AmpGlobal.loginFlag) { favoriteHandle($(this).closest(".appFlag")); } else { // 未登陆,跳到登陆页 AmpUtils.goLoginPage(); } e.stopPropagation(); }); }; favorite.favoriteHandle = function($item) { favoriteHandle($item); }; /** * 收藏处理 * @param $item * 更新处理:文件夹和应用收藏调用的是同一个收藏的方法 * 更新的内容是:文件夹收藏是没有权限控制的,所有的文件夹都可以收藏 */ function favoriteHandle($item) { var appType = $item.attr('amp-type'); var appId = $item.attr("amp-appid"); var appTitle = $item.attr("amp-title"); var appFavorite = $item.attr("amp-favorite"); var moduleName = AmpUtils.moduleName($item); var data = { 'appId': appId, 'appType': appType, 'appTitle': appTitle, 'moduleName': moduleName }; if ($item.hasClass('amp-folder-favorite-btn')) { //文件夹收藏 以后改为属性控制 if ($.trim($item.find('span').text()) == '已收藏' || $.trim($item.find('span').text()) == 'collected') { unFavorite(data); //诸葛io埋点 AmpUtils.zhuge("取消收藏应用", { "应用ID": appId, "应用名称": $item.attr('amp-title'), "来源": moduleName }); } else { favoriteApp(data); } } else { //应用收藏 //收藏 if ($item.attr("amp-favorite") === 'true') { //取消收藏 unFavorite(data); //诸葛io埋点 AmpUtils.zhuge("取消收藏应用", { "应用ID": appId, "应用名称": appTitle, "来源": moduleName }); //收藏成功之后,及时更改文件夹的收藏状态 /* var folderId = appId; AmpDataUtils.space.folderData[folderId].favoriteApp = false;*/ } else { //收藏 favoriteApp(data); /*var folderId = appId; AmpDataUtils.space.folderData[folderId].favoriteApp = true;*/ /* if ($item.attr("amp-haspermission") === "true") { favoriteApp(data); } else { AmpPrompt.show({ content: '您没有权限收藏应用 ' + appTitle }); }*/ } } // Wisedu.userActionDataSend(); } /** * 收藏应用 * @param data */ function favoriteApp(data) { //点击收藏 弹出模态框 AmpOpenFavorite.open(data); /* AmpDataUtils.favoriteApp({ "appId": data.appId, "type": data.appType }, function() { var cnStr = ' 收藏成功'; if (AmpGlobal.currentLang == "en_US") { cnStr = $.i18n("collectedSuccessfully"); } AmpPrompt.show({ content: data.appTitle + cnStr }); favoriteSynchronous(data.appId, 'active', data.appType); AmpPersonalCenter.getMyFavoriteApps(); });*/ } /** * 取消收藏 * @param data */ function unFavorite(data) { AmpDataUtils.unFavoriteApp({ "appId": data.appId, "type": data.appType }, function() { var cnStr = ' 取消收藏'; if (AmpGlobal.currentLang == "en_US") { cnStr = $.i18n("collectionCancelled"); } AmpPrompt.show({ content: data.appTitle + cnStr }); favorite.favoriteSynchronous(data.appId, 'cancel', data.appType); //更新文件夹中应用的收藏状态 favorite.syFavoriteFolderApps(data.appId); AmpPersonalCenter.getMyFavoriteApps(); }); //同步我的收藏卡片中取消收藏数据 AmpOpenFavorite.unFavoriteCardApp(data); } favorite.syFavoriteFolderApps = function(appId) { var appId = appId; var appFolderListData = AmpDataUtils.space.folderData; $.each(appFolderListData, function(name, folderItem) { var folderItem = folderItem; var appList = folderItem.appList; for (var j = 0; j < appList.length; j++) { var appItem = appList[j]; if (appId == appItem.appId) { appItem.favoriteApp = false; } } }); } /** * 收藏数据同步 * @param appId * @param flag */ favorite.favoriteSynchronous = function(appId, flag, appType) { if (appType == '0') { $('body').find('.appFlag[amp-appid="' + appId + '"]').each(function() { changeAppFavoriteState($(this), flag); }); } else { $('body').find('.appFlag[amp-appid="' + appId + '"]').each(function() { changeFolderPopUpFavoriteState($(this), flag); }); } } /** * 改变应用收藏状态 * @param $item * @param flag */ function changeAppFavoriteState($item, flag) { if (flag === 'cancel') { $item.attr('amp-favorite', 'false'); } else { $item.attr('amp-favorite', 'true'); } resetServiceData($item, flag); } function resetServiceData($item, flag) { //如果有缓存,更新缓存数据的收藏数据 dataUtils.space.allServiceData var appId = $item.attr('amp-appid'); if (AmpDataUtils.space.allServiceData) { var serviceData = AmpDataUtils.space.allServiceData; var searchData = serviceData.searchResult; for (var i = 0; i < searchData.length; i++) { if (searchData[i].type) { //文件夹 var appList = searchData[i].appList; if (searchData[i].appId == appId) { if (flag === 'cancel') { searchData[i].favoriteApp = false; } else { searchData[i].favoriteApp = true; } } for (var j = 0; j < appList.length; j++) { if (appList[j].appId == appId) { if (flag === 'cancel') { appList[j].favoriteApp = false; } else { appList[j].favoriteApp = true; } } } } else { //应用 if (searchData[i].appId == appId) { if (flag === 'cancel') { searchData[i].favoriteApp = false; } else { searchData[i].favoriteApp = true; } } } } } } function changeFolderPopUpFavoriteState($item, flag) { if (flag === 'cancel') { $item.attr('amp-favorite', 'false'); } else { $item.attr('amp-favorite', 'true'); } var $folderBtn = $('#ampFolderFavoriteBtn'); if ($folderBtn.attr('amp-appid') == $item.attr('amp-appid')) { if (flag === 'cancel') { var cnStr = '收藏'; if (AmpGlobal.currentLang == "en_US") { cnStr = $.i18n("collect"); } $folderBtn.addClass('amp-active').find('span').html(cnStr); } else { var cnStr = '已收藏'; if (AmpGlobal.currentLang == "en_US") { cnStr = $.i18n("collected"); } $folderBtn.removeClass('amp-active').find('span').html(cnStr); } } resetServiceData($item, flag); } /** * 显示收藏图标 * @param $targetObj 鼠标移入的节点 */ function showAppFavIcon($targetObj) { if (!$targetObj.hasClass("appTitleFlag")) { return; } if ($targetObj.find("#ampAppFavIcon").length === 0) { var $appItem = $targetObj.closest(".appFlag"); var appId = $appItem.attr("amp-appid"); var favorite = $appItem.attr("amp-favorite"); var addClass = 'amp-active'; if (favorite !== "true") { addClass = ""; } //amp-fav-icon-r 收藏图标距离right的偏移值 var favIconRight = parseInt($targetObj.attr("amp-fav-icon-r"), 10); //amp-fav-icon-r 收藏图标距离top的偏移值 var favIconTop = parseInt($targetObj.attr("amp-fav-icon-t"), 10); var favIconOffset = {}; if (favIconRight || favIconRight === 0) { favIconOffset.right = favIconRight + ""; } if (favIconTop || favIconRight === 0) { favIconOffset.top = favIconTop + ""; } $targetObj.append(createAppFavIconHtml(appId, addClass, favIconOffset)); } } /** * 删除收藏图标 * @param e */ function removeAppFavIcon(e) { if ($(e.relatedTarget).closest("#ampAppFavIcon").length > 0) { return; } $('body').find("#ampAppFavIcon").remove(); } /** * 创建收藏图标 * @param appId * @param _addClass * @param iconOffset * @returns {string} */ function createAppFavIconHtml(appId, _addClass, iconOffset) { var _style = ""; if (iconOffset.right) { _style += "right: " + iconOffset.right + "px;"; } if (iconOffset.top) { _style += "top: " + iconOffset.top + "px;"; } return '
' + '' + '
'; } })(window.AmpFavorite = window.AmpFavorite || {}); ; (function(folder, undefined) { folder.open = function($item) { // showFolder($item); getFolderData($item); //添加滚动条 AmpUtils.niceScrollInit($('#ampFolderAppList')); }; function getFolderData($item) { var id = $item.attr('amp-appid'); AmpDataUtils.getFolderData(id, function(data) { showFolder($item, data); }); } function showFolder($item, folderData) { var id = $item.attr('amp-appid'); var title = folderData.appName; var appList = folderData.appList; var appCount = appList.length; var favoriteText = '收藏'; var favoriteBtnClass = 'amp-active'; var favoriteFlag = $item.attr('amp-favorite'); if (AmpGlobal.currentLang == "en_US") { favoriteText = $.i18n("collect"); } if (favoriteFlag == 'true') { favoriteText = '已收藏'; favoriteBtnClass = 'amp-favorite'; if (AmpGlobal.currentLang == "en_US") { favoriteText = $.i18n("collected"); } } var appListHtml = ''; for (var k = 0; k < appCount; k++) { var appItem = appList[k]; var appCardSingleHtml = AmpTemplate.getAppCardSingleHtml(appItem); var appCardHtml = AmpTemplate.getServiceAppCardHtml({ data: appItem, favoriteClass: '' }); appListHtml += AmpTemplate.getAppCardGroupHtml(appCardSingleHtml + appCardHtml); } var detailHtml = AmpTemplate.getFolderHtml() .replace('@title', title).replace('@tipTitle', title).replace('@appCount', appCount) .replace('@appList', appListHtml).replace('@favoriteText', favoriteText) .replace('@favoriteBtnClass', favoriteBtnClass); $('body').append(detailHtml); eventsListen(); AmpUtils.copyAppAttributesFromDomToDom($item, $('#ampFolderFavoriteBtn')); /* AmpUtils.currentPageBlurAnimate('blur');*/ $('body').find('.ampLoadActiveFlag').addClass('amp-loaded-hide').removeClass('amp-loaded-active'); } function eventsListen() { var $detail = $('#ampFolder'); $detail.on('click', '.icon-chacha', function() { closeFolder(); }); $detail.on('click', '.amp-folder-favorite-btn', function(e) { //已登陆,执行收藏动作 if (AmpGlobal.loginFlag) { var $btn = $(this); AmpFavorite.favoriteHandle($btn); } else { // 未登陆,跳到登陆页 AmpUtils.goLoginPage(); } e.stopPropagation(); }); } function closeFolder() { $('#ampFolder').remove(); /* AmpUtils.currentPageBlurAnimate('restore');*/ $('body').find('.ampLoadActiveFlag').removeClass('amp-loaded-hide').addClass('amp-loaded-active'); } })(window.AmpFolder = window.AmpFolder || {}); /** * 前端全局变量 */ ; (function(global, undefined) { //翻转时间间隔 global.rotateYTimeStep = 50; //是否已经登陆标识,false是未登陆 global.loginFlag = false; //是否显示登录页面的标志 global.showLoginPageFlag = true; //通过licence 控制 基础版还是增强版标志 '1' 标准版 ‘0’基础版 global.platformType = '1'; //正常动画时间 global.animateTimes = 450; global.animateTimesFast = 200; //高斯模糊度 global.blurDegree = 40; //当前用户的登录背景图片 global.currentBgUrl = ''; global.currentLoginBgUrl = ''; global.lang = { zh: 'zh_CN', //中文 en: 'en_US' //英文 } //当前国际化语言 global.currentLang = global.lang.zh; //个人中心 global.personalCenter = { //左侧栏宽度, 8是距离页面边框的距离 leftAsideWidth: 416 + 8, //左侧栏自身宽度, 不考虑距离边框的距离 leftAsideWidthPure: 416, //主区域每个widget的宽度,16是widget间的间距 widgetWidth: 540 + 16, //右侧栏正常状态下的宽度 rightAsideNormal: 320, //右侧栏mini状态下的宽度 rightAsideMini: 72, //主区域widget容器与左侧栏的距离 paddingLeft: 16 } })(window.AmpGlobal = window.AmpGlobal || {}); /** * 页头 */ ; (function(header, undefined) { header.space = { showDetailFlag: 'null', showIframeList: false }; /** * 事件监听 */ header.eventsListen = function() { /** * 点击搜索框的处理 */ $('#ampPageHeaderSearch').on('click', function(event) { //诸葛io var $curTarget = $(event.currentTarget); var $target = $(event.target || event.srcElement); if ($target.attr('id') != 'ampPageHeaderSearchClose' && $curTarget.find('#ampServiceSearch').hasClass('amp-hide')) { //诸葛io埋点 AmpUtils.zhuge("访问搜索中心", { "来源": "页面顶部搜索栏" }); } $('#ampPersonalArticle').removeClass('ampLoadActiveFlag'); $('#ampServiceArticle').addClass('ampLoadActiveFlag'); $('#ampEhallBody').removeClass('ampLoadActiveFlag'); if ($target.attr('id') == 'ampPageHeaderSearchClose') { $('#ampServiceArticle').removeClass('ampLoadActiveFlag'); } //设置拓展项 为隐藏 $('#ampExtend').addClass('amp-hide'); //隐藏国际化语言按钮 $('#ampInternationTool').addClass('amp-hide'); AMPConfigure.boyaEntranceUrl&&$('#ampHeaderCampusAI').addClass('amp-hide'); //如果拓展项打开的则隐藏拓展项 var $iframeList = $('#iframeList'); var displayVal = $iframeList.css('display'); if (displayVal == 'block') { header.space.showIframeList = true; $iframeList.css('display', 'none'); } var $dialog = $('body').find('[amp-role="dialog"]'); if ($dialog.length) { $dialog.removeClass('amp-active'); setTimeout(function() { $dialog.remove(); headerAddToSearchPageFlag('active'); searchClickHandle(event); }, AmpGlobal.animateTimes); } else { headerAddToSearchPageFlag('active'); searchClickHandle(event); //关闭弹框 closeDialogBox(); if (!$('#ampServiceArticle').hasClass('amp-active')) { clearServiceQuery(); } if ($('#ampServiceArticle').hasClass('amp-active')) { $('#ampPageHeader').addClass('amp-service-header'); } if (navigator.userAgent.indexOf("MSIE") > 0 || AmpUtils.isIE()) { $("#ampPersonalAsideLeftMyFavorite").getNiceScroll().remove(); $("#ampDesktopContent").getNiceScroll().remove(); // $("#ampPersonalAsideRightTask").getNiceScroll().remove(); $("#ampTagMessages").getNiceScroll().remove(); $("#ampCategoryTabContent").getNiceScroll().remove(); } } closeSetPage(); //如果是点击搜索中心,则使搜索框获得焦点 obj = $(event.srcElement || event.target); if (obj.parent().parent().attr('id') != 'ampServiceHistoryBox' && obj.parent().attr('id') != 'ampServiceHistoryBox' && obj.attr('id') != 'ampServiceHistoryBox') { //使搜索框获得焦点 $('#ampServiceSearchInput').focus(); } }); /** * 输入框回车处理 */ $('#ampServiceSearch').on('keyup', '.ampserviceSearchInputFlag', function(event) { searchInputHandle(event); }); /** * 搜索查询图标点击处理 */ $('#ampPageHeaderSearchIcon').on('click', function(event) { if ($('#ampPageHeaderSearch').hasClass('amp-active')) { AmpServiceCenter.init(); } }); /** * 关闭搜索按钮点击处理 */ $('#ampPageHeaderSearchClose').on('click', function(event) { var $serviceArticle = $('#ampServiceArticle'); //移除引导页动画的标志 $serviceArticle.removeClass('ampCurrentBootPageFlag'); //展示不同的搜索框 header.closeServiceSearch(); //关闭弹框 closeDialogBox(); $serviceArticle.removeClass('ampLoadActiveFlag'); $('#ampPageHeader').removeClass('amp-service-header'); /* $('#ampServicesSearchHistory').remove();*/ headerAddToSearchPageFlag('restore'); AmpServiceCenter.showPage('hide'); header.searchRestore(); setTimeout(function() { var $pageHeader = $('#ampPageHeader'); var ampNacActiveId = $pageHeader.find('nav .amp-tab-item.amp-active').attr('id'); if (ampNacActiveId == 'ampPageHeaderPersonalIcon') { $('article.amp-personal.amp-hide').addClass('amp-active').removeClass('amp-hide'); $('#ampPersonalArticle').addClass('ampLoadActiveFlag'); if (navigator.userAgent.indexOf("MSIE") > 0 || AmpUtils.isIE()) { AmpUtils.niceScrollInit($('#ampPersonalAsideLeftMyFavorite')); AmpUtils.niceScrollInit($('#ampDesktopContent')); // AmpUtils.niceScrollInit($('#ampPersonalAsideRightTask')); AmpUtils.niceScrollInit($('#ampTagMessages')); AmpUtils.niceScrollInit($('#ampCategoryTabContent')); } //隐藏国际化语言按钮 $('#ampInternationTool').removeClass('amp-hide'); AMPConfigure.boyaEntranceUrl&&$('#ampHeaderCampusAI').removeClass('amp-hide'); //诸葛io埋点 AmpUtils.zhuge("进入个人中心", { "来源": "搜索中心点关闭搜索按钮" }); } else { $('#ampEhallBody').find('article.amp-hide').removeClass('amp-hide').addClass('amp-active'); $('#ampEhallBody').addClass('ampLoadActiveFlag'); } //设置拓展项的样式 if ($('#ampPageHeaderExpandIcon').hasClass('amp-active')) { $('#iframeList').css('display', 'block'); } $('#ampPageBgCover').addClass('amp-hide').removeClass('amp-active'); $('#ampSlidePage').removeClass('amp-hide'); //设置拓展项打开 $('#ampExtend').removeClass('amp-hide'); //判断 iframe是否打开的 if (header.space.showIframeList) { var $iframeList = $('#iframeList'); $iframeList.css('display', 'block'); } }, 450); }); /** * 页头home按钮点击处理 */ $('#ampPageHeaderHomeIcon').on('click', function(event) { //诸葛io埋点 AmpUtils.zhuge("访问办事大厅", {}); //设置搜索条件为空 $('#bannerSearchInput').val(''); //针对复旦模板 if (!AMPConfigure.showLoginPageFlag && AMPConfigure.fudanEhallCustom) { if ($('#ampEhallSlideIndex').hasClass('amp-active')) { AmpUtils.animateLoginIn(); } } if ($('#ampLoginInArticle').hasClass('amp-active')) { AmpUtils.animateLoginIn(); } //设置拓展项打开 $('#ampExtend').removeClass('amp-hide'); //隐藏国际化语言按钮 $('#ampInternationTool').addClass('amp-hide'); AMPConfigure.boyaEntranceUrl&&$('#ampHeaderCampusAI').addClass('amp-hide'); var $iframeList = $('#iframeList'); $iframeList.css('display', 'none'); header.space.showIframeList = false; $('#ampPersonalArticle').removeClass('ampLoadActiveFlag').removeClass('amp-loaded-active'); $('#ampServiceArticle').removeClass('ampLoadActiveFlag').removeClass('amp-loaded-active'); $('#ampEhallBody').addClass('ampLoadActiveFlag'); $('#iframeList').css('display', 'none'); $('#ampEhallBody').removeClass('amp-hide'); /* $('#ampServicesSearchHistory').remove();*/ setTimeout(function() { $('#ampPersonalArticle').removeClass('amp-active'); }, 150); //设置拓展项的样式 setExpandStyle(); //清空搜索中心的搜索历史 clearServiceQuery(); //关闭弹框 closeDialogBox(); //展示不同的搜索框 header.closeServiceSearch(); $('#ampPageHeader').removeClass('amp-service-header'); var $pageBgCover = $('#ampPageBgCover'); $('#ampEhallBody').find('article.amp-hide').removeClass('amp-hide').addClass('amp-active'); if (!$pageBgCover.hasClass('amp-hide')) { $pageBgCover.removeClass('amp-active').addClass('amp-hide'); $('#ampSlidePage').removeClass('amp-hide'); } /* $('#ampServiceArticle').addClass('amp-hide');*/ $('#ampServiceArticle').addClass('amp-hide').removeClass('amp-active'); var $personalArticle = $('#ampPersonalArticle'); $personalArticle.removeClass('amp-active'); AmpPersonalCenter.hideMainWidgets(); var $ehallBody = $('#ampEhallBody'); $ehallBody.removeClass('amp-hide'); $('#ampPageHeaderHomeIcon').addClass('amp-active'); $('#ampPageHeaderPersonalIcon').removeClass('amp-active'); $('#ampPageHeaderExpandIcon').removeClass('amp-active'); if (!$ehallBody.hasClass('ampLoadedFlag')) { AmpLoginIn.init(); AmpEhall.init(); $ehallBody.addClass('ampLoadedFlag'); } closeSetPage(); }); /** * 拓展项点击更多按钮 */ $('#ampExtend').on('click', '.amp-extend-more', function() { expandBoxActiveHandle($('#ampExtendMore')); }); /** * 点击拓展项的菜单项处理 */ $('body').on('click', '.extendItemFlag', function() { var $iframeList = $('#iframeList'); var _src = $(this).attr('data-url'); var _menu_id = $(this).attr('data-menu-id'); var _isOpenNew = $(this).attr('data-isOpenNew'); if (_isOpenNew == 1 || _isOpenNew == "1") { window.open(_src); } else { $iframeList.css('display', 'block'); $('#ampPersonalArticle').removeClass('amp-active'); $('#ampEhallBody').addClass('amp-hide'); $('#ampLoadingPage').addClass('amp-hide'); //判断Ifame是否存在 控制 当前显示的iframe(可以通过设置iframe的透明度) var $currentIframe = $iframeList.find('iframe[data-menu-id="' + _menu_id + '"]'); var hasCurrentIframe = $currentIframe.length; if (hasCurrentIframe) { $currentIframe.css('opacity', '1'); $currentIframe.siblings('iframe').css('opacity', '0'); } else { //将其他所有iframe的透明度都置为0 $iframeList.children().css('opacity', '0'); var initStyle = "opacity:1;position: absolute;width:100%;"; var iframeWidthHeight = setIframeWidthHeight(); $iframeList.css({ 'top': '44px', 'height': iframeWidthHeight.height + 'px' }); initStyle += 'height:' + iframeWidthHeight.height + 'px;'; var ifr_str = ''; $iframeList.append(ifr_str); } } //关闭当前弹框 $('#ampHeaderExpand').removeClass('amp-active'); //诸葛io埋点 var extendName = $(this).attr('data-name'); AmpUtils.zhuge("打开拓展URL", { "拓展URL名称": extendName, "拓展URL地址": _src }); }); /** * 点击搜索历史 item 时触发的事件 */ $('#ampPageHeader').on('click', '.amp-service-searchHistory-item', function() { var searchVal = $(this).text(); $('#ampPageHeaderSearchInput').val(searchVal); AmpServiceCenter.init(); /* header.closeSearchHistory();*/ }); /** * 页头个人中心按钮点击处理 */ $('#ampPageHeaderPersonalIcon').on('click', function(event) { //诸葛io数据采集 var personCenterSource = ''; if ($('#ampPageHeaderHomeIcon').hasClass('amp-active') && $('#ampEhallBody').hasClass('amp-hide')) { personCenterSource = "登陆后"; } else if ($('#ampPageHeaderHomeIcon').hasClass('amp-active') && $('#ampEhallBody').hasClass('ampLoadActiveFlag')) { personCenterSource = "办事大厅点个人中心按钮"; } else if ($('#ampServiceArticle').hasClass('amp-active')) { personCenterSource = "搜索中心点个人中心按钮"; } //设置拓展项打开 $('#ampExtend').removeClass('amp-hide'); // $('#ampProgressBar').removeClass('amp-hide'); //隐藏国际化语言按钮 $('#ampInternationTool').removeClass('amp-hide'); AMPConfigure.boyaEntranceUrl&&$('#ampHeaderCampusAI').removeClass('amp-hide'); var $iframeList = $('#iframeList'); $iframeList.css('display', 'none'); header.space.showIframeList = false; $('#ampPersonalArticle').addClass('ampLoadActiveFlag'); $('#ampServiceArticle').removeClass('ampLoadActiveFlag'); $('#ampEhallBody').removeClass('ampLoadActiveFlag'); $('#ampServiceArticle').removeClass('ampLoadActiveFlag').removeClass('amp-loaded-active'); $('#iframeList').css('display', 'none'); /* $('#ampServicesSearchHistory').remove();*/ //清空搜索中心的搜索历史 clearServiceQuery(); //设置拓展项的样式 setExpandStyle(); //展示不同的搜索框 header.closeServiceSearch(); //关闭弹框 closeDialogBox(); $('#ampPageHeader').removeClass('amp-service-header'); var $pageBgCover = $('#ampPageBgCover'); if (!$pageBgCover.hasClass('amp-hide')) { $pageBgCover.removeClass('amp-active').addClass('amp-hide'); } // AmpUtils.niceScrollInit($('#ampPersonalAsideLeftMyFavorite')); AmpUtils.niceScrollInit($('#ampDesktopContent')); // AmpUtils.niceScrollInit($('#ampPersonalAsideRightTask')); AmpUtils.niceScrollInit($('#ampTagMessages')); AmpUtils.niceScrollInit($('#ampCategoryTabContent')); if (AmpGlobal.loginFlag) { $('#ampPageBgImg').addClass('amp-page-img').removeClass('amp-login-img'); AmpUtils.getUserSkinImg(); $('#ampEhallBody').addClass('amp-hide'); $('#ampServiceArticle').addClass('amp-hide').removeClass('amp-active'); var $personalArticle = $('#ampPersonalArticle'); $personalArticle.addClass('amp-active').removeClass('amp-hide'); if (!$personalArticle.hasClass('ampLoadedFlag')) { AmpPersonalCenter.init(); $personalArticle.addClass('ampLoadedFlag'); } else { AmpPersonalCenter.showMainWidgets(); } $('#ampPageHeaderHomeIcon').removeClass('amp-active'); $('#ampPageHeaderPersonalIcon').addClass('amp-active'); $('#ampPageHeaderExpandIcon').removeClass('amp-active'); AmpUtils.containerBlurAnimate($('#ampPageBgImg'), 'restore'); //by 2017-02-25 判断是否是第一次登录,如果是第一次登录,则显示引导页,否则显示个人中心页面 if (AmpGlobal.platformType != '0') { AmpDataUtils.getUserFirstLogin(function(data) { var isFirstLogin = data.isFirstLogin; //是否是第一次登录 (true 是第一次登录) var isReadGuidePage = data.isReadGuidePage; //是否是已读(0 未读 1 已读) if (data.isFirstLogin && !data.isReadGuidePage) { //第一次登录 if (!(AMPConfigure.switchPortalSiteModel && data.siteType == "1")) { var $bootPageActicle = $('#ampBootPage'); //初次加载gif图片 var pagegifHtml = $('#tpl-bootpage-img-gif').html(); $('#ampBootMainSide').html(pagegifHtml); $personalArticle.removeClass('amp-active').addClass('amp-hide'); $bootPageActicle.removeClass('amp-hide').addClass('amp-active'); AmpBootPage.init(); //诸葛io埋点 AmpUtils.zhuge("播放引导动画", { "来源": "首次进入" }); } } }); } //诸葛io埋点 AmpUtils.zhuge("进入个人中心", { "来源": personCenterSource }); } else { AmpUtils.goLoginPage(); } //关闭设置页面 closeSetPage(); //检测搜索页面是否需要打开 // header.checkServicePageSatate(); }); $('#ampNoLoginTool').on('click', function() { //判断搜索页面是否打开,搜索条件是否存在 header.setServiceCookies(); AmpUtils.goLoginPage(); }); $('#ampHeaderToolUser').on('click', function() { userInfoBoxActiveHandle($('#ampHeaderToolUser')); }); //用户信息按钮的触发事件 $('#ampHeaderToolUserName').on('click', function() { userInfoBoxActiveHandle($('#ampHeaderToolUserName')); }); //皮肤按钮的触发事件 $('#ampHeaderToolSkin').on('click', function() { userSkinBoxActiveHandle($('#ampHeaderToolSkin')); }); //帮助按钮的触发事件 $('#ampHeaderToolFeedback').on('click', function() { helpBoxActiveHandle($('#ampHeaderToolFeedback')); }); //套壳页面的问题反馈 $('#ampShellHeaderToolFeedback').on('click', function() { closeHeaderToolSkin(); $(this).find('i').addClass('amp-keep'); AmpFeedback.window({ uploadUrl: AMPConstant.requestPath + AMPConstant.APIList.feedbackImgUpload, submitUrl: AMPConstant.jsonpRequestPath + AMPConstant.APIList.feedbackSubmit }); }); //中英文切换按钮的触发事件 $('#ampInternationTool').on('click', '.ampItemLang,.icon-language', function(e) { // ampInternatalActiveHandle($('#ampInternationTool')); //设置数据 //var $target = $(e.target || e.srcElement); var $target = $('#ampInternationTool').find('span.ampItemLang.amp-hide').siblings('span.ampItemLang'); // var $targetSiblings = $target.siblings('span'); if (!$target.hasClass('amp-hide')) { var dataLang = $target.attr('data-lang'); //保存当前切换成功的语言到数据库 saveCurrentLang(dataLang); //切换当前的额语言 ///switchCurrentLang(dataLang); //出现进度条 //诸葛io埋点 var selectLang = $target.children("span").text(); AmpUtils.zhuge("切换中英文", { "选择语言": selectLang }); } }); //用户信息的点击事件 //退出登录的触发事件 $('body').on('click', '#ampHeaderUserInfoLogoutBtn', function(e) { var $target = $(e.target || e.srcElement); if ($target.attr('id') === 'ampHeaderUserInfoLogoutBtn') { AmpUtils.logout(); } }); //管理服务的触发事件 $('body').on('click', '#ampHeaderUserInfoAdminBtn', function(e) { var $target = $(e.target || e.srcElement); if ($target.attr('id') === 'ampHeaderUserInfoAdminBtn') { window.open(AMPConstant.requestPath + 'manage/index.html'); } }); //个人中心的触发事件 $('body').on('click', '#ampHeaderPersonalCenter', function(e) { var $target = $(e.target || e.srcElement); if ($target.attr('id') === 'ampHeaderPersonalCenter') { var rootPath = publicAppPath + basePath; rootPath = rootPath.slice(-1) === '/' ? rootPath.slice(0, rootPath.length - 1) : rootPath; var url = AMPConfigure.personalCenterAuthserverUrl + '?service=' + rootPath; window.open(url, "_self"); } }); //站点切换点击事件 $('body').on('click', '#ampPortalSiteModel', function(e) { var $target = $(e.target || e.srcElement); if ($target.attr('id') === 'ampPortalSiteModel') { //调用切换站点的按钮 var siteType = '1'; var param = {}; param.siteType = siteType; AmpDataUtils.switchSkin(param, function(data) { if (data.result == 'success') { //站点切换标准到简约版 try { AmpUtils.dataAnalysis("切换站点", ({ "siteType": siteType, "content": "标准版到简约版" })); //跳转到完整门户 goPortalSideUrl(); } catch (e) { console.log(e.message); } } else { } }); } }); /* $('body').on('click', '#userPhotoHover', function(e) { $('#userPhotoHover').emapAvatarUpload({ contextPath: AMPConstant.requestPath + 'attachment', size: 5120 }); });*/ /* $('body').on('click', '.amp-header-user-info', function(e) { var $target = $(e.target || e.srcElement); if ($target.attr('id') === 'ampHeaderUserInfoLogoutBtn') { AmpUtils.logout(); } else if ($target.attr('id') === 'ampHeaderUserInfoAdminBtn') { window.open(AMPConstant.requestPath + 'manage/index.html'); }*/ /*else if ($target.attr('id') === 'ampDetailUnViewInput') { var $appswitchFlag = $target.prop('checked'); if (!$appswitchFlag) { header.space.showDetailFlag = false; } else { header.space.showDetailFlag = true; } header.saveVIewDetailData($appswitchFlag, false); }*/ /* else if ($target.attr('id') === 'ampHeaderPersonalCenter') { window.open(AMPConfigure.personalCenterAuthserverUrl); }*/ /*else if ($target.attr('id') === 'userPhotoHover' || $target.parent().attr('id') === 'userPhotoHover') { //TODO // $.emapAvatarUploadWindow(element, options); $('#userPhotoHover').emapAvatarUpload({ contextPath: AMPConstant.requestPath + 'attachment', size: 5120 }); }*/ /* }); */ $('#ampHeaderNoReadMessage').on('click', function() { window.open("portal/html/message/scenes_message_center.html"); }); $('body').on('click', '.amp-skin-close', function(e) { $(e.target).closest('.amp-header-user-skin').removeClass('amp-active'); $('#ampHeaderToolSkin').find('i').removeClass('amp-keep'); }); //帮助弹框的事件 $('body').on('click', '.amp-header-help-info', function(e) { var $target = $(e.target || e.srcElement); if ($target.attr('id') === 'ampHelpFeedbak') { //问题反馈 AmpFeedback.window({ uploadUrl: AMPConstant.requestPath + AMPConstant.APIList.feedbackImgUpload, submitUrl: AMPConstant.jsonpRequestPath + AMPConstant.APIList.feedbackSubmit }); } else if ($target.attr('id') === 'ampHelpBootpage') { //重放引导页动画 //重放引导动画必须tab页切换到个人中心按钮 isPersonalCenterTab(); reloadBootPage(); //诸葛io埋点 AmpUtils.zhuge("播放引导动画", { "来源": "重放引导动画" }); } else if ($target.attr('id') === 'ampHelpBootFaq') { //查看更多帮助(FAQ) //重放引导动画必须tab页切换到个人中心按钮 isPersonalCenterTab(); var $personalArticle = $('#ampPersonalArticle'); var $serviceArticle = $('#ampServiceArticle'); //判断当前选中的是哪个tab页 home 或个人中心 拓展项 服务中心 //1.要判断服务中心是否是打开的 if ($serviceArticle.hasClass('amp-active')) { $('#ampPageHeaderSearchClose').click(); setTimeout(function() { $personalArticle.removeClass('amp-active').addClass('amp-hide'); $serviceArticle.addClass('ampCurrentBootPageFlag'); }, 450); } else { $personalArticle.removeClass('amp-active').addClass('amp-hide'); } $('#ampPtFaq').removeClass('amp-hide'); } //关闭弹框 $('#ampHeaderHelpInfo').removeClass('amp-active'); $('#ampHeaderToolFeedback').find('i').removeClass('amp-keep'); }); //设置所有的弹框只显示一次 $(document).click(function(e) { e = window.event || e; // 兼容IE7 obj = $(e.srcElement || e.target); var _parentId = obj.parent().attr('id'); //帮助弹框 if (_parentId != 'ampHeaderToolFeedback' && obj.closest('.amp-header-help-info').attr('id') != 'ampHeaderHelpInfo') { //关闭弹框 $('#ampHeaderHelpInfo').removeClass('amp-active'); $('#ampHeaderToolFeedback').find('i').removeClass('amp-keep'); } //拓展项弹框 if (obj.attr('id') != 'ampExtendMore' && obj.attr('id') != 'ampHeaderExpand' && obj.closest('.amp-header-expand').attr('id') != 'ampHeaderExpand') { //关闭弹框 setExpandStyle(); } //皮肤弹框 if (_parentId != 'ampHeaderToolSkin' && obj.closest('.amp-header-user-skin').attr('id') != 'ampHeaderUserSkin') { //关闭弹框 closeHeaderToolSkin(); } //中英文切换弹框 /* if (obj.parent().attr('id') != 'ampInternationTool' && obj.closest('.amp-internation-ue-box').attr('id') != 'ampInterNationUeBox') { //关闭弹框 $('#ampInterNationUeBox').removeClass('amp-active'); } */ //搜索中心搜索历史弹框 if (obj.parent().parent().attr('id') != 'ampServiceHistoryBox' && obj.closest('.amp-service-history-dialog').attr('id') != 'ampHistoryBox') { //关闭弹框 $('#ampHistoryBox').remove(); } //个人中心 页面创建文件夹 if (obj.closest('.amp-myfavorite-create-folder').attr('id') != 'ampMyFavoriteCreateFolder' && obj.closest('.myfavorite-create-folder').attr('amp-id') != 'create') { //关闭弹框 AmpMyfavoriteApp.removeCreateFolderDialog(obj); } //ie9 搜索中心 input 文本框 模仿失去焦点的事件处理 if (navigator.userAgent.indexOf("MSIE 9.0") > 0) { if (obj.attr('id') != 'ampServiceSearchInput' && (obj.closest('.amp-service').attr('id') == 'ampServiceArticle' || obj.closest('.amp-header').attr('id') == 'ampPageHeader')) { AmpServiceCenter.searchBoxBlur(); } } //桌面推荐卡片 留下到别的桌面事件处理 if (obj.closest('.amp-recommend-show-desktopnav').attr('id') != 'ampRecommendShowDesktop' && obj.closest('.desktop-title').attr('id') != 'ampDesktopTitle') { //关闭弹框 $('#ampRecommendShowDesktop').hide(); } //我的收藏创建文件夹 if ((obj.attr('id') != 'ampDesktopAddBtn' && obj.closest('.ampDesktopAddFlag').attr('id') != 'ampDesktopAddBtn' && obj.closest('.amp-create-desktop').attr('id') != 'ampAdminNewDesktop') && obj.attr('id') != 'emptyDesktopCreate') { //关闭弹框 //创建桌面的弹框 if ($('#ampAdminNewDesktop').length > 0) { $('#ampDesktopAddBtn').removeClass('amp-btn-active'); var $emptyCreate = $(".empty-desktop-create"); if ($emptyCreate.length > 0) { $emptyCreate.removeClass('amp-btn-active'); } } var dialog = $('div[amp-type="dialog"]'); if (dialog.length > 0) { dialog.remove(); } } //模糊查询弹框 if (obj.closest('.amp-service-search-input').attr('id') != 'ampServiceSearch' && obj.closest('.amp-searchName-box').attr('id') != 'ampSearchNameBox') { closeDialogBox(); } if (!(obj.closest('.amp-app-operate').length > 0) && !obj.hasClass('amp-app-operateBtn')) { $('#myFavoriteTabListId').find('.amp-app-operate').addClass('amp-hide'); } }); //皮肤炫酷 模式的点击事件 $('body').on('click', '.amp-header-user-skin', function(e) { var $headerUserSkin = $('#ampHeaderUserSkin'); var $target = $(e.target || e.srcElement); var $skinSwitchText = $('#skinSwitchText'); var $ampSkinContent = $('#ampSkinContent'); var activeSkin = ''; var themeColor = ''; var switchFlag = ''; var skinName = ''; var themeName = ''; switchFlag = $('#skinSwitch').prop('checked'); //点击完之后的状态 if (typeof switchFlag == 'undefined') { //考虑到我的反馈页面没有主题色换肤的功能 switchFlag = localStorage.themeColor; } if ($target.attr('id') == 'skinSwitch') { //点击checkbox 设置开关的值 if (switchFlag) { var cnStr = '开启'; if (AmpGlobal.currentLang == "en_US") { cnStr = $.i18n("openSkin"); } $skinSwitchText.text(cnStr); themeColor = 'dark'; $('#ampPersonalArticle').removeClass('amp-personCenter-bg'); } else { var cnStr = '关闭'; if (AmpGlobal.currentLang == "en_US") { cnStr = $.i18n("closeSkinCool"); } $skinSwitchText.text(cnStr); themeColor = 'white'; $('#ampPersonalArticle').addClass('amp-personCenter-bg'); } //获取当前皮肤的值 activeSkin = $ampSkinContent.find('.ampSkinUseFlag').attr('amp-skin'); //诸葛io数据采集 skinName = $ampSkinContent.find('.ampSkinUseFlag').find('.skin-item-name').children('span').text(); themeName = "护眼模式" + switchFlag ? "开启" : "关闭"; } else if ($target.attr('class') == 'skin-item-check' || $target.parent().attr('class') == 'skin-item-check') { //改变当前皮肤的状态 var $ampSkinItem = $target.closest('.amp-skin-item'); $ampSkinItem.siblings('.amp-skin-item').removeClass('ampSkinUseFlag').addClass('ampSkinCheckFlag'); $ampSkinItem.addClass('ampSkinUseFlag').removeClass('ampSkinCheckFlag'); activeSkin = $ampSkinItem.attr('amp-skin'); themeColor = localStorage.themeColor; //诸葛io数据采集 skinName = $ampSkinItem.find('.skin-item-name').children('span').text(); themeName = "护眼模式" + switchFlag ? "开启" : "关闭"; } else { return; } //数据库保存到数据库 var params = {}; params.themeColor = themeColor; params.skinName = activeSkin; //更新当前的皮肤 loadingSkin($(this), params); AmpDataUtils.switchSkin(params, function(data) { if (data.result == 'success') { //修改localstorage的值; localStorage.themeColor = themeColor; localStorage.skinName = activeSkin; localStorage.userSkinHtml = $('#ampSkinContent').html(); AmpGlobal.currentBgUrl = data.bgUrl; AmpGlobal.currentLoginBgUrl = data.loginBgUrl; AmpUtils.getUserSkinImg(); } else { //console.log('皮肤更新失败'); } }); //诸葛io埋点 AmpUtils.zhuge("切换主题或皮肤", { "展示模式": themeName, "皮肤": skinName }); }); //诸葛io埋点 $('body').on('click', '.amp-wf-body', function() { var cardName = $(this).closest('.amp-widget').children().attr('widget_title') AmpUtils.zhuge("操作卡片", { "卡片名称": cardName }); }); }; header.searchBoxFocus = function() { var defaultLeft = 316; var $pageHeader = $('#ampPageHeader'); var logoWidth = $pageHeader.children('.amp-header-logo').outerWidth(true); var navWidth = $pageHeader.children('.amp-header-nav').outerWidth(true); var currentLeftCount = logoWidth + navWidth; var searchLeft = currentLeftCount <= defaultLeft ? defaultLeft : currentLeftCount + 8; $('#ampPageHeaderSearch').addClass('amp-active').css('left', searchLeft + 'px'); /* $('#ampServiceSearchInput').focus();*/ }; header.searchBoxBlur = function() { var $headerSearchInput = $('#ampPageHeaderSearchInput'); $headerSearchInput.blur(function() { var searchKey = $.trim($headerSearchInput.val()); if (!searchKey) { var cnStr = '搜索服务'; if (AmpGlobal.currentLang == "en_US") { cnStr = $.i18n("searchService"); } $(this).attr('placeholder', cnStr); } // AmpUtils.setIe9PlaceHolder(); }); /* var $headerSearchInput = $('#ampPageHeaderSearchInput'); var searchKey = $.trim($headerSearchInput.val()); if (!searchKey) { $headerSearchInput.blur().val('搜索服务'); }*/ }; /** * 查询框恢复的处理 * 使输入框失去焦点和移动到页面中间位置 */ header.searchRestore = function() { $('#ampPageHeaderSearchInput').blur().val(''); $('#ampPageHeaderSearch').removeClass('amp-active').removeAttr('style'); }; /** * change language * 前端逻辑: */ header.changeLanguage = function(localeLang) { var i18n = $.i18n(); var language = ''; if (localeLang != undefined) { language = localeLang; } else { language = AmpUtils.getCookie('amp.locale'); language = language == 'undefined' ? 'zh_CN' : language; } i18n.locale = language; i18n.load('portal/i18n/' + i18n.locale + '.json', i18n.locale).done( function() { $('[data-i18n]').i18n(); }); }; /** * 点击查询的处理 * @param e */ function searchClickHandle(e) { var $target = $(e.target || e.srcElement); if ($target.attr('id') === 'ampPageHeaderSearchClose') { return; } header.searchBoxFocus(); header.searchBoxBlur(); if (!$('#ampServiceArticle').hasClass('amp-active')) { var flag = AmpUtils.getCookie('openLoginServicePageFlag'); var serchVal = AmpUtils.getCookie('loginServiceserchVal'); var classifyId = AmpUtils.getCookie('loginServiceclassifyId'); var roleId = AmpUtils.getCookie('loginServiceroleId'); //IE9 if (serchVal == ' loginServiceclassifyId=all') { serchVal = ''; } if (flag == 'true') { if (serchVal != '') { $('#ampServiceSearchInput').val(serchVal); } if (classifyId == 'all' && roleId == 'all') { AmpServiceCenter.init(); } else { AmpServiceCenter.init({ labels: [classifyId, roleId] }); } AmpUtils.setCookie('loginServiceSearchVal', ''); AmpUtils.setCookie('openLoginServicePageFlag', 'false'); } else { AmpServiceCenter.init(); } header.openServiceSearch(); /* AmpServiceCenter.init(); header.openServiceSearch();*/ } } /** * 打开搜索中心的查询框 */ header.openServiceSearch = function() { //加载搜索中心的搜索框 var $pageHeaderSearch = $('#ampPageHeaderSearch'); $pageHeaderSearch.find('.ampHeaderSearchFlag').addClass('amp-hide'); $pageHeaderSearch.find('.ampServiceSearchFlag').removeClass('amp-hide'); $('#ampPageHeaderSearch').css('width', '416px'); } header.closeServiceSearch = function() { //加载搜索中心的搜索框 var $pageHeaderSearch = $('#ampPageHeaderSearch'); $pageHeaderSearch.find('.ampHeaderSearchFlag').removeClass('amp-hide'); $pageHeaderSearch.find('.ampServiceSearchFlag').addClass('amp-hide'); } /** * 查询input输入处理 * @param event */ function searchInputHandle(event) { var keyCode = event.keyCode; if (keyCode === 13) { AmpServiceCenter.init(); //关闭弹框 closeDialogBox(); $('#ampServiceSearchInput').blur(); } } function headerAddToSearchPageFlag(flag) { var $pageHeader = $('#ampPageHeader'); if (flag === 'active') { $pageHeader.addClass('ampServiceActiveFlag'); } else { $pageHeader.removeClass('ampServiceActiveFlag'); } } function userInfoBoxActiveHandle($clickItem) { closeHeaderToolSkin(); var userIconPosition = AmpUtils.getContainerPosition($clickItem); var $userInfo = $('#ampHeaderUserInfo'); $userInfo.css({ left: parseInt(userIconPosition.right - $userInfo.outerWidth()) + 'px', top: parseInt(userIconPosition.bottom + 4, 10) + 'px' }).toggleClass('amp-active'); //初始化 图片上传的插件 /* $('#userPhotoHover').emapAvatarUpload({ contextPath: AMPConstant.requestPath + 'attachment', size: 5120 });*/ } function userSkinBoxActiveHandle($clickItem) { var userIconPosition = AmpUtils.getContainerPosition($clickItem); var $userSkin = $('#ampHeaderUserSkin'); var userSkinOuterWidth_ = 344; //$userSkin.outerWidth() 皮肤的弹框的宽度 $userSkin.css({ left: parseInt(userIconPosition.right - 344) + 'px', top: parseInt(userIconPosition.bottom + 4, 10) + 'px' }).toggleClass('amp-active'); if ($userSkin.hasClass('amp-active')) { $clickItem.find('i').addClass('amp-keep'); } else { $clickItem.find('i').removeClass('amp-keep'); } } function expandBoxActiveHandle($clickItem) { var expandIconPosition = AmpUtils.getContainerPosition($clickItem); var $headerExpand = $('#ampHeaderExpand'); var userSkinOuterWidth_ = 180; //$userSkin.outerWidth() 皮肤的弹框的宽度 $headerExpand.css({ left: parseInt(expandIconPosition.right - userSkinOuterWidth_) + 'px', top: parseInt(expandIconPosition.bottom + 4, 10) + 'px' }).toggleClass('amp-active'); } function helpBoxActiveHandle($clickItem) { var helpIconPosition = AmpUtils.getContainerPosition($clickItem); var $helpIcon = $('#ampHeaderHelpInfo'); $helpIcon.css({ left: parseInt(helpIconPosition.right - 180) + 'px', top: parseInt(helpIconPosition.bottom + 4, 10) + 'px' }).toggleClass('amp-active'); if ($helpIcon.hasClass('amp-active')) { $clickItem.find('i').addClass('amp-keep'); } else { $clickItem.find('i').removeClass('amp-keep'); } } function ampInternatalActiveHandle($clickItem) { var interIconPosition = AmpUtils.getContainerPosition($clickItem); var $interBox = $('#ampInterNationUeBox'); var $inTool = $('#ampInternationTool'); var spanWidth = $inTool.find('span:not(.amp-hide)').width(); var iWidth = 14; $interBox.css({ left: parseInt(interIconPosition.right - (spanWidth + iWidth)) + 'px', top: parseInt(interIconPosition.bottom + 20, 10) + 'px' }).toggleClass('amp-active'); } function clearServiceQuery() { //判断当前页面是否打开,如果未打开,则清空条件,清空搜索页面的查询条件 $('#ampServiceLabelNav').find('.amp-active').removeClass('amp-active'); } /** * 判断皮肤弹框是否打开的,如果打开则关闭皮肤弹框 */ function closeHeaderToolSkin() { var $headerUserSkin = $('#ampHeaderUserSkin'); var $headerToolSkin = $('#ampHeaderToolSkin'); var showSkinFlag = $headerUserSkin.hasClass('amp-active'); if (showSkinFlag) { $headerUserSkin.removeClass('amp-active'); $headerToolSkin.find('i').removeClass('amp-keep'); } } /** * 获取iframe的高度 */ function setIframeWidthHeight() { var screen_h_w = AmpUtils.getScreenWidthHeight(); var $iframeList = $("#iframeList"); var h = screen_h_w.screenH - 44; var iframe_h = h; return { "height": iframe_h, "width": screen_h_w.screenW }; } function setExpandStyle() { //设置拓展项的样式 var $headerExpand = $('#ampHeaderExpand'); /* $('#iframeList').css('display', 'none');*/ // $headerExpand.removeClass('amp-animate-move-bottom-in').addClass('amp-animate-move-top-out'); $headerExpand.removeClass('amp-active'); } var loadCssCount = 0; var loadCssCompleteFlag = true; function loadingSkin($clickItem, params, callback) { var $headerUserSkin = $('#ampHeaderUserSkin'); $headerUserSkin.find('.bh-skin-layer').addClass('bh-skin-layer-active'); AmpLoading.show(); loadCssCompleteFlag = false; var $clickItem = $clickItem; var skinName = params.skinName; var themeColor = params.themeColor; //----开始做换肤处理------- header.loadingCurrentSkin(params); } header.loadingCurrentSkin = function(params) { var themeColor = params.themeColor; var skinName = params.skinName; //----开始做换肤处理------- // var skinCssPath = AMPConfigure.resSkinCssPath; var skinCssPath = getCustomSkinPath(skinName); var folderPath = self === parent ? skinCssPath + themeColor + '/' : '../css/' + themeColor + '/'; if (self !== parent) { if (/\/model\./.test(window.location.href)) { folderPath = '../../css/' + themeColor + '/'; } else { folderPath = '../css/' + themeColor + '/'; } } loadCss(folderPath + skinName + "/amp.min.css", themeColor, skinName); loadCss(folderPath + skinName + "/skin.min.css", themeColor, skinName); } /** * 判断是否有皮肤定制 */ function getCustomSkinPath(skinName) { var _custom_skin_list = AMPConfigure.portalSkin_custom; var newSkinCssPath = AMPConfigure.resSkinCssPath; if (typeof _custom_skin_list != 'undefined') { skinList = _custom_skin_list.length; if (skinList > 0) { for (var i = 0; i < skinList; i++) { var skinItem = _custom_skin_list[i]; if (skinItem.enable && skinItem.skinColor == skinName) { newSkinCssPath = 'portal_custom/css/'; break; } } } } return newSkinCssPath; } function removeExistLinkDom(themeColor, ampActiveSkin) { var $headerUserSkin = $('#ampHeaderUserSkin'); $('head').find('link').each(function() { var $link = $(this); var href = $link.attr('href'); var reg = new RegExp(themeColor + "/" + ampActiveSkin + "", ""); if (/\/amp.min.css$/.test(href) || /\/skin.min.css$/.test(href) || /\/amp_custom.css$/.test(href)) { if (!reg.test(href)) { $link.remove(); $headerUserSkin.find('.bh-skin-layer').removeClass('bh-skin-layer-active'); } } }); } function loadCss(url, themeColor, ampActiveSkin) { //判断样式是否已经加载 var flag = false; $('head').find('link').each(function() { var $link = $(this); var href = $link.attr('href'); var reg = new RegExp(themeColor + "/" + ampActiveSkin + "", ""); if (/\/amp.min.css$/.test(href) || /\/skin.min.css$/.test(href)) { if (href == url) { flag = true; } } }) if (!flag) { var head = document.getElementsByTagName('head')[0]; var link = document.createElement('link'); link.type = "text/css"; link.rel = "stylesheet" link.href = url; head.appendChild(link); link.onload = function() { loadCssComplete(themeColor, ampActiveSkin); } if (navigator.userAgent.indexOf("MSIE") > 0 || AmpUtils.isIE()) { link.onreadystatechange = function() { if (link.readyState === 'loaded' || link.readyState === 'complete') { loadCssComplete(themeColor, ampActiveSkin); } }; } } } function loadCssComplete(themeColor, ampActiveSkin) { var head = document.getElementsByTagName('head')[0]; loadCssCount++; if (loadCssCount === 2) { loadCssCompleteFlag = true; loadCssCount = 0; AmpLoading.close(); setTimeout(function() { removeExistLinkDom(themeColor, ampActiveSkin); if (AMPConfigure.portalTheme_custom) { //添加定制的样式表 var link = document.createElement('link'); link.type = "text/css"; link.rel = "stylesheet" link.href = 'portal_custom/css/' + themeColor + '/amp_custom.css'; head.appendChild(link); } }, 100); } } /** * 判断设置页面是否存在,如果存在,则关闭设置页面 */ function closeSetPage() { var $desktopSet = $('#ampDesktopSet'); var $desktopWrap = $desktopSet.parent().parent(); if ($desktopWrap.length && $desktopWrap.hasClass('amp-active')) { $('#ampDesktopSet').find('.amp-desktop-set-close-icon').click(); } } /** * 重放引导页动画 */ function reloadBootPage() { var $serviceArticle = $('#ampServiceArticle'); //判断当前选中的是哪个tab页 home 或个人中心 拓展项 服务中心 //1.要判断服务中心是否是打开的 if ($serviceArticle.hasClass('amp-active')) { $('#ampPageHeaderSearchClose').click(); setTimeout(function() { operateActiveTabBootPage(); $serviceArticle.addClass('ampCurrentBootPageFlag'); }, 450); } else { operateActiveTabBootPage(); } } /** * 判断当前打开的页面并操作 */ function operateActiveTabBootPage() { var $bootPageActicle = $('#ampBootPage'); var $personalArticle = $('#ampPersonalArticle'); var $ehallBody = $('#ampEhallBody'); var $headerNav = $('#ampHeaderNav'); var $serviceArticle = $('#ampServiceArticle'); var activeTab = $headerNav.find('i.amp-active').attr('id'); if (activeTab == 'ampPageHeaderHomeIcon') { $ehallBody.addClass('amp-opcity-bottom'); } else if (activeTab == 'ampPageHeaderPersonalIcon') { $personalArticle.removeClass('amp-active').addClass('amp-hide'); } $bootPageActicle.removeClass('amp-hide').addClass('amp-active'); AmpBootPage.init('reload'); } function saveCurrentLang(dataLang) { var currentLang = dataLang; AmpDataUtils.setCurrentLocale(currentLang, function(data) { if (data.result == 'success') { console.log('中英文切换成功!'); AmpGlobal.currentLang = currentLang; AmpUtils.setCookie('amp.locale', currentLang); localStorage.localeLang = currentLang; AmpHeader.changeLanguage(); localStorage.changeLanguageFlag = 'true'; window.location.reload(); // location.reload(); } }); } /** *点击关闭搜索 个人中心 home图标 remove弹框 */ function closeDialogBox() { $('#ampSearchNameBox').remove(); } /** * 加载搜索中心搜索框 中英文国际化替换 */ header.initServiceCenterSousuo = function() { var cnStr = '搜索服务'; var historyStr = '历史'; if (AmpGlobal.currentLang == "en_US") { cnStr = 'Search'; historyStr = 'History'; } if ($('#tpl-serviceCenter-sousuo-input').html() != undefined) { var inputHtm = $('#tpl-serviceCenter-sousuo-input').html() .replace('@placeholder', cnStr) .replace('@history', historyStr); $('#ampServiceSearch').html(inputHtm); } } function goPortalSideUrl() { AmpUtils.setTeacherSide(); } /** * [检测搜索页面是否需要打开] * @return {[type]} [description] */ /* header.checkServicePageSatate = function() { var flag = AmpUtils.getCookie('openServicePageFlag'); var searchKey = AmpUtils.getCookie('serviceSearchVal'); if (flag == 'true') { //打开状态 $('#ampPageHeaderSearch').click(); $('#ampServiceSearchInput').val(searchKey); } }*/ header.setServiceCookies = function() { var $serviceArticle = $('#ampServiceArticle'); if ($serviceArticle.hasClass('amp-active')) { var flag = AmpUtils.getCookie('openLoginServicePageFlag'); if (flag != 'true') { var serchVal = $('#ampServiceSearchInput').val(); var classifyId = $('#ampServiceLabelNav').find('li[amp-label-type="1"].amp-active').attr('amp-label-id'); var roleId = $('#ampServiceLabelNav').find('li[amp-label-type="2"].amp-active').attr('amp-label-id'); //搜索页打开,重置搜索页打开的标志 var params = {}; params.inputVal = serchVal; params.classifyId = classifyId; params.roleId = roleId; //搜索页打开,重置搜索页打开的标志 AmpUtils.setCookie('openLoginServicePageFlag', 'true'); AmpUtils.setCookie('loginServiceserchVal', serchVal); AmpUtils.setCookie('loginServiceclassifyId', classifyId); AmpUtils.setCookie('loginServiceroleId', roleId); } } } function isPersonalCenterTab() { var $pcTab = $('#ampPageHeaderPersonalIcon'); var $pcContent = $('#ampPersonalArticle'); if (!$pcTab.hasClass('amp-active') || !$pcContent.hasClass('amp-active')) { $pcTab.click(); } } })(window.AmpHeader = window.AmpHeader || {}); /** * 页面初始化入口 */ var AMP_SPACE = {}; $(function () { //缓存当前主题 sessionStorageTheme(); //判断是否需要定制首页 isCustomHomepage(); // window.location.href = 'http://www.baidu.com'; //是否加载登录页面 isShowLoginPage(); //页头事件监听 AmpHeader.eventsListen(); //公共body事件监听 AmpUtils.bodyEventsListen(); //收藏相关事件监听 AmpFavorite.eventsListen(); //打开应用事件监听 AmpApp.eventsListen(); AmpWidgetCustom.eventsListen(); //提示信息 AmpUtils.tooltipInit(); //引导页的帮助初始化 AmpFaq.init(); /* //滑块组件初始化 slide.init();*/ //初始化session 数据 initSessionStorageData(); //添加中英文切换国际化弹框 appendInternationalBox(); //初始化中英文切换的开关 setInterNationalSwitch(); //页面初始化设置居中 autoSetCenter(); $(window).resize(function () { autoSetCenter(); }); function autoSetCenter() { AmpLoginIn.setLoginConteinerMargin(); var marW = (window.innerWidth - 1040) / 2; $("#ampLoginArticle").css("margin-left", marW); $("#ampLoginArticle").css("margin-right", marW); $("#ampEhallArticle").css("margin-left", marW); $("#ampEhallArticle").css("margin-right", marW); AmpEhall.setEhallContainerMarginAndNiceScroll(); AmpClassify.setClassifyContainerMarginAndNiceScroll(); $("#ampClassifyRoleNav").css('left', marW); $('#ampClassifyArticle').css('width', window.innerWidth); var labelCount = $('.amp-classify-container').find('.amp-classify-apps').length; if (labelCount > 0) { $('.amp-classify-container').css('text-align', 'left'); var newW = (window.innerWidth - 208 * labelCount) / 2; $('.amp-classify-container').find('.amp-classify-apps:eq(0)').css('margin-left', newW); } AmpDesktopSet.setContainerMaxHeight(); } function sessionStorageTheme() { AmpDataUtils.getUserSkin(function (data) { //数据重新缓存 sessionStorage.setItem('current_theme', data.themeEyeShieldSwitch); }); } /** * 初始化配置数据 */ function initSessionStorageData() { AmpUtils.setSessionStorageData("schoolId", AMPConfigure.schoolId); AmpUtils.setSessionStorageData("footer", AMPConfigure.footer.normal); var schoolConfig = JSON.stringify(AMPConfigure); AmpUtils.setLocalStorageData("schoolConfig", schoolConfig); AmpUtils.setSessionStorageData("schoolConfig", schoolConfig); AmpUtils.setSessionStorageData("logo", AMPConfigure.logo.normal); } /** * 由于新皮肤要与老的皮肤保持一致性,故需要找到相对应的皮肤 */ function getSkinName(skinName) { var skinName = skinName; var newSkinName = ''; switch (skinName) { case 'blue': newSkinName = 'indigo'; break; case 'cyan-arctic': newSkinName = 'teal'; break; case 'green-olive': newSkinName = 'millennium'; break; case 'red-strawberry': newSkinName = 'cherry'; break; case 'purple': newSkinName = 'magenta'; break; case 'yellow-fawn': newSkinName = 'golden'; break; default: newSkinName = skinName; } return newSkinName; } function isCustomHomepage() { if (typeof (AMPConfigure.homepage_custom) != "undefined") { if (AMPConfigure.homepage_custom.enable) { var loadingName = AMPConfigure.homepage_custom.loading_name; var newUrl = ''; var host = window.location.host; var pathname = window.location.pathname; var updateurl = pathname.split('/'); var newupdateurl = ''; var loadingFlag = false; for (var i = 0; i < updateurl.length; i++) { if (i == (updateurl.length - 1)) { if (loadingName) { newupdateurl += '/' + loadingName; } else { newupdateurl += '/index_custom.html'; } if (updateurl[i] == loadingName) { loadingFlag = true; } } else { if (updateurl[i] != '') newupdateurl += '/' + updateurl[i]; } } newUrl = host + newupdateurl; if (!loadingFlag) { window.location.href = window.location.protocol + '//' + newUrl; } } } } function isShowLoginPage() { AmpGlobal.showLoginPageFlag = AMPConfigure.showLoginPageFlag; var $ehallSlideIndex = $('#ampEhallSlideIndex'); var $classifyArticle = $('#ampClassifyArticle'); var $loginInArticle = $('#ampLoginInArticle'); var $ehallHeaderContent = $('#ampEhallHeaderContent'); var $ampPageBgImg = $('#ampPageBgImg'); if (AmpGlobal.showLoginPageFlag) { $ehallSlideIndex.attr('slide-index', '2'); $classifyArticle.attr('slide-index', '3'); } else { $loginInArticle.remove(); $ehallHeaderContent.removeClass('amp-hide'); $ehallSlideIndex.attr('slide-index', '1'); $ehallSlideIndex.addClass('amp-active'); $classifyArticle.attr('slide-index', '2'); $ampPageBgImg.removeClass('amp-login-img').addClass('amp-page-img'); //在没有登录页面的情况下,是否选用的是复旦模板 if (!AMPConfigure.showLoginPageFlag && AMPConfigure.fudanEhallCustom) { //选用的是复旦模板 var fudanEhallHtml = ''; var pagehtml = ''; pagehtml = AmpTemplate.getEhallFudanPageHtml(); var placeholderStr = "搜索您需要的服务"; if (AmpGlobal.currentLang == "en_US") { placeholderStr = $.i18n("searchTheServicesYouNeed"); } if ($("#tpl-ehall-fudan").length > 0) { fudanEhallHtml = $('#tpl-ehall-fudan').html() .replace('@pageHtml', pagehtml) .replace('@placeholderStr', placeholderStr); } $('#ampEhallSlideIndex').html(fudanEhallHtml); $('#ampEhallHeaderContent').removeClass('amp-hide'); //复旦模板 head头部tab的定制 var fudanHeadTabHtm = $('#tpl-header-fudan-tab').html(); $('#ampHeaderNav').html(fudanHeadTabHtm); $('#ampExtend').css('margin-left', '300px'); $ampPageBgImg.addClass('amp-login-img').removeClass('amp-page-img'); if ($('#ampPageBgImg').hasClass('amp-page-img')) { $('#ampPageBgImg').css("background", params_imgs.bgUrl); } else { $('#ampPageBgImg').css("background", params_imgs.loginBgUrl); } } else { $('#ampFuDanEhallArticle').remove(); $('#ampEhallHeaderContent').removeClass('amp-hide'); } } } function showTopExtendList(data) { var data = data.data; var dataLen = data.length; var extentSpanItemHtm = ''; //head span 展示的数据 var extendLiItemHtm = ''; //拓展项弹框里面 li 数据 var extendDialogHtm = ''; //拓展项的弹框 var extendMoreHtm = ''; //拓展项的更多按钮 var $ampExtend = $('#ampExtend'); //计算当前窗口的宽度 var windowWidth = $(window).width(); var extendWidth = ''; if (!AMPConfigure.showLoginPageFlag && AMPConfigure.fudanEhallCustom) { extendWidth = windowWidth / 2 - 468; $ampExtend.addClass('amp-extend-fudan'); } else { extendWidth = windowWidth / 2 - 368; } var setnum = Math.floor(extendWidth / 100); //当前宽度最多可以放置的个数 for (var i = 0; i < data.length; i++) { var name = data[i].name; var url = data[i].url; var wid = data[i].wid; var isOpenNewWindow = data[i].isOpenNewWindow; var isAddUserid = data[i].isAddUserid; if (isAddUserid == "1" || isAddUserid == 1) { var userId = sessionStorage.ampUserId; if (url.indexOf("?") < 0) { url = url + "?userId=" + userId; } else { url = url + "&userId=" + userId; } } if (i < setnum) { if ($('#tpl-header-extend-list').length > 0) { extentSpanItemHtm += $('#tpl-header-extend-list').html() .replace('@menuId', wid) .replace('@menuUrl', url) .replace('@dataName', name) .replace('@isOpenNewWindow', isOpenNewWindow) .replace(/@extendName/g, name); } } else { extendLiItemHtm += AmpTemplate.headerExpandItem(data[i]); } } //获取弹框的数据 extendDialogHtm = AmpTemplate.headerExpandDialogHtm(extendLiItemHtm); //如果弹框有数据,则显示更多按钮 if (extendLiItemHtm !== '') { extendMoreHtm = $('#tpl-header-expand-more').html(); $ampExtend.html(extentSpanItemHtm + extendMoreHtm); $('body').append(extendDialogHtm); } else { $('#ampExtend').html(extentSpanItemHtm); } var logoWidth = $('.amp-header-logo').width(); var marginLeft = ''; if (logoWidth <= 200) { marginLeft = logoWidth + 110 + 'px'; } else { marginLeft = '330px'; } $('#ampExtend').css('margin-left', marginLeft); } function appendInternationalBox() { var internationalHtml = AmpTemplate.getHeaderInternationHtml(); $('body').append(internationalHtml); } function setInterNationalSwitch() { AmpDataUtils.getCurrentLocale(function (data) { if (data.result == 'success') { //通过licence 控制基础版还是标准版 AmpGlobal.platformType = data.platformType; //滑块组件初始化 初始化国际化的内容 slide.init(); //以下中英文切换国际化 var englishOn = data.functionEnglishOn; var localeLang = data.localeLang; if (localeLang == 'zh') { localeLang = 'zh_CN' } else if (localeLang == 'en') { localeLang = 'en_US'; } AmpUtils.setCookie('amp.locale', localeLang); localStorage.localeLang = localeLang; if (englishOn == 'true') { // 如果后台中英文切换的开关是开的 即 englishOn 为true,则显示中英文切换开关按钮 AmpGlobal.currentLang = localeLang; if (localeLang == 'zh_CN') { $('#ampInternationTool').find('.ampInterEnIcon').removeClass('amp-hide'); } else { $('#ampInternationTool').find('.ampInterZhIcon').removeClass('amp-hide'); } } else { //反之 为false 则页面不展示中英文切换开关的按钮 $('#ampInternationTool').addClass('amp-internation-tool-hide'); } AmpHeader.changeLanguage(localeLang); //中英文开关数据化结束 获取用户信息 if (AmpGlobal.loginFlag) { //加载用户信息数据 getUserDesktopInfo(); } else { //加载首页的登录页面 initLoginPage(); AmpUtils.deleteSessionStorageData("ampUserId"); AmpUtils.deleteSessionStorageData("ampUserID"); AmpUtils.deleteSessionStorageData("ampUserName"); AmpUtils.deleteSessionStorageData("userType"); AmpUtils.deleteSessionStorageData("ampUserTypeName"); AmpUtils.deleteSessionStorageData("ampUserDepartment"); AmpUtils.deleteSessionStorageData("ampUserSex"); AmpUtils.deleteSessionStorageData("roles"); AmpUtils.deleteSessionStorageData("userPhoto"); AmpUtils.deleteSessionStorageData("displayMode"); AmpUtils.deleteSessionStorageData("ampSiteType"); AmpUtils.deleteLocalStorageData("ampUserId"); sendPortalAnalysis(); $('#analysisUserId').val("guest"); $('#analysisUserName').val("other"); } //如果是基础版本,则不显示中英文切换的国家化图标 if (AmpGlobal.platformType == '0') { //$('#ampInternationTool').remove(); $('#ampHeaderToolSkin').remove(); //隐藏换肤按钮 } if (localeLang == 'en_US') { $("#ampPageHeaderPersonalIcon").attr("data-title", "Personal center"); } if (localeLang == 'en_US') { $("#ampPageHeaderHomeIcon").attr("data-title", "Service hall"); } } //加载搜索中心搜索框 中英文国际化替换 AmpHeader.initServiceCenterSousuo(); //判断是否是移动端,未登录跳转到IDS的登录页面 gotoMobileIDSpage(); }); } //校园百事通入口初始化 function showCampus() { if (AmpGlobal && AmpGlobal.loginFlag&&Configure.boyaEntranceUrl) { $('#ampHeaderCampusAI').removeClass('amp-hide'); // $('#ampHeaderCampusAI').find('a').attr('href', AMPConfigure.boyaEntranceUrl) var left = window.innerWidth - 400 var height = window.innerHeight - 100 $('#ampHeaderCampusAI').on('click', function () { window.open(AMPConfigure.boyaEntranceUrl, '_blank', 'resizable=no,top=60,width=375,left=' + left + ',height=' + height) }) } else { $('#ampHeaderCampusAI').addClass('amp-hide'); } } function getUserDesktopInfo() { //获取用户信息 AmpDataUtils.userDesktopInfo('', function (data) { // 由getUserInfo 改为 userDesktopInfo 接口 var sideFlag = isTeacherSimpleIndexPage(data); if (!sideFlag) { // 判断是否是教师身份,如果是教师身份,则跳转到教师简版的页面 var siteType = data.siteType; //站点模式 //初始化session数据 $('#analysisUserId').val($.trim(data.userId)); $('#analysisUserName').val($.trim(data.userName)); AmpUtils.setSessionStorageData("ampUserId", $.trim(data.userId)); AmpUtils.setSessionStorageData("ampUserName", $.trim(data.userName)); AmpUtils.setSessionStorageData("userType", $.trim(data.userType)); AmpUtils.setSessionStorageData("userPhoto", $.trim(data.userPhoto)); AmpUtils.setSessionStorageData("roles", JSON.stringify(data.roles)); AmpUtils.setSessionStorageData("displayMode", $.trim(data.displayMode)); AmpUtils.setSessionStorageData("ampUserIp", $.trim(data.userIp)); AmpUtils.setSessionStorageData("ampUserID", $.trim(data.userID)); AmpUtils.setSessionStorageData("ampUserTypeName", $.trim(data.userTypeName)); AmpUtils.setSessionStorageData("ampUserDepartment", $.trim(data.userDepartment)); AmpUtils.setSessionStorageData("ampUserSex", $.trim(data.userSex)); AmpUtils.setSessionStorageData("ampSiteType", $.trim(data.siteType)); // AmpUtils.setSessionStorageData("platformType", Base64.encode($.trim(data.platformType))); //初始化localstrorge 数据 localStorage.ampUserId = $.trim(data.userId); if (!(AMPConfigure.switchPortalSiteModel && siteType == "1")) { //发送运营分析数据 sendPortalAnalysis(); } showCampus() if (AmpGlobal.loginFlag) { //加载任务中心的数据 AmpTaskCenter.getTaskDatas(); var userName = data.userName; $('#ampHasNoLogin').addClass('amp-hide'); $('#ampHasLogin').removeClass('amp-hide').find('span.amp-username').text(userName); $('#ampHasLoginTool').removeClass('amp-hide'); $('#ampHeaderToolUserName').html(data.userName); if (data.userPhoto) { $('#ampHeaderToolUser').attr('src', data.userPhoto); $('#ampHeaderToolUser').attr('has-photo', '1'); } var userInfoHtml = AmpTemplate.getHeaderUserInfoHtml(); $('body').append(userInfoHtml); //图片上传 /* $('#userPhotoHover').emapAvatarUpload({ contextPath: AMPConstant.requestPath + 'attachment', size: 5120 });*/ //拓展项显示 AmpDataUtils.getTopExtendList(function (data) { if (null != data.data && data.data.length > 0) { //显示拓展项并加载数据 $('#ampExtend').removeClass('amp-hide'); showTopExtendList(data); //判断是否是需要打开拓展url链接 if (typeof (AMPConfigure.openExpansionSwitch) != "undefined") { var $extend = $('#ampExtend'); var exlen = $extend.find('.extendItemFlag').length; if (AMPConfigure.openExpansionSwitch && exlen > 0) { //打开第一个拓展url的 $extend.find('.extendItemFlag:first-child').click(); } } } else { $('#ampExtend').css('width', 0); } }); //基础版隐藏卡片功能 var $ampPersonalArticle = $('#ampPersonalArticle'); var $ampPersonalAsideLeftTabHead = $('#ampPersonalAsideLeftTabHead'); if (AmpGlobal.platformType == '0') { //隐藏左侧可用卡片 $ampPersonalArticle.find('#ampPersonalAsideLeftMini').find('[amp-id="canUseCards"]').remove(); $ampPersonalArticle.find('#ampPersonalAsideLeftNormal').find('[amp-id="canUseCards"]').remove(); $ampPersonalAsideLeftTabHead.find('.amp-tab-item').css({ 'width': AmpGlobal.personalCenter.leftAsideWidthPure / 2 + 'px' }) } else { $ampPersonalAsideLeftTabHead.find('.amp-tab-item').css({ 'width': AmpGlobal.personalCenter.leftAsideWidthPure / 3 + 'px' }) } //用户换肤添加 AmpDataUtils.getUserSkin(function (data) { var themeColor = data.themeColor; var skinName = data.skinName; var themeEyeShieldSwitch = data.themeEyeShieldSwitch; // if (themeColor == 'default' || themeColor == '' || themeColor == null || themeColor == undefined) { // themeColor = AMPConfigure.themeColor; // } if (skinName == 'default' || skinName == '' || skinName == null || skinName == undefined) { skinName = AMPConfigure.portalSkin; //向后台插入当前默认的皮肤 var params = {}; params.themeColor = themeColor; params.skinName = skinName; AmpDataUtils.switchSkin(params, function (data) { if (data.result == 'success') { console.log('默认皮肤插入成功'); } }); } else { skinName = getSkinName(skinName); } localStorage.themeColor = themeColor; localStorage.skinName = skinName; //向页面添加皮肤模块的html var params = {}; params.skinName = skinName; params.themeColor = themeColor; params.themeEyeShieldSwitch = themeEyeShieldSwitch; var userSkinHtml = AmpTemplate.getHeaderUserSkinHtml(params, data); $('body').append(userSkinHtml); //设置皮肤的高度 if (!themeEyeShieldSwitch) { $('#ampHeaderUserSkin').css('height', '236px'); } //设置开关的值 // var $ampPersonalArticle = $('#ampPersonalArticle'); var $skinSwitch = $('#skinSwitch'); var $skinSwitchText = $('#skinSwitchText'); var openStr = "开启"; var closeStr = "关闭"; if (AmpGlobal.currentLang == "en_US") { closeStr = $.i18n("closeSkinCool"); openStr = $.i18n("openSkin"); } if (themeColor == 'dark') { $ampPersonalArticle.removeClass('amp-personCenter-bg'); $skinSwitch.prop('checked', true); $skinSwitchText.text(openStr); } else { $skinSwitch.prop('checked', false); $ampPersonalArticle.addClass('amp-personCenter-bg'); $skinSwitchText.text(closeStr); } //----同时开始做换肤处理------- AmpHeader.loadingCurrentSkin(params); var bgUrl = ''; var loginBgUrl = ''; var data_skinConfigList = data.skinConfigList; var data_skinName = data.skinName; for (var i = 0; i < data_skinConfigList.length; i++) { if (data_skinConfigList[i].skinId == data_skinName) { bgUrl = data_skinConfigList[i].bgUrl; loginBgUrl = data_skinConfigList[i].loginBgUrl; break; } } AmpGlobal.currentBgUrl = bgUrl; AmpGlobal.currentLoginBgUrl = loginBgUrl; //设置当前背景图片 if ($('#ampPageBgImg').hasClass('amp-page-img')) { $('#ampPageBgImg').css("background-image", "url(" + bgUrl + ")"); } else { $('#ampPageBgImg').css("background-image", "url(" + loginBgUrl + ")"); } }); // AmpHeader.getNoReadMessageData(); $('#ampPageHeaderPersonalIcon').click(); //添加帮助弹框的新消息 var help = '帮助'; var problemFeedback = '问题反馈'; var replayBootAnimation = '重放引导动画'; var faq = "查看更多帮助(FAQ)"; if (AmpGlobal.currentLang == "en_US") { help = $.i18n("help"); problemFeedback = $.i18n("problemFeedback"); replayBootAnimation = $.i18n("replayBootAnimation"); faq = $.i18n("See More Help"); } var helpHtml = ''; if ($('#tpl-header-help-info').length > 0) { helpHtml = $('#tpl-header-help-info').html() .replace('@help', help) .replace('@problemFeedback', problemFeedback) .replace('@replayBootAnimation', replayBootAnimation) .replace('@faq', faq); } $('body').append(helpHtml); if (AmpGlobal.platformType == '0') { $('#ampHelpBootpage').remove(); } //登录状态 搜索中心显示历史 $('#ampServiceSearch').removeClass('amp-service-search-input-nologin'); } //初始化搜索中心页面数据 initServiceSearchPage(data); } }); } function initLoginPage() { $('#ampNoLoginTool').removeClass('amp-hide'); $('#ampPageHeaderHomeIcon').click(); initServiceSearchPage(); } function initServiceSearchPage(data) { if (data == undefined) { data = {}; } var userType = parseInt(data.userType, 10); var roleId = AmpUtils.getUserRoleId(userType); var cnStr = ' 个多类型服务'; if (AmpGlobal.currentLang == "en_US") { cnStr = " applications"; } AmpDataUtils.getSearchApps({ key: '', labels: [] }, function (data) { if (data.searchResult != undefined) { $('#ampHeaderSearchResult').html(data.searchResult.length + cnStr); } if (data.lastOnlineAppResult != undefined) { if (data.lastOnlineAppResult.length == 0) { $('#ampHeaderNewAppLabel').html(''); } else { $('#ampHeaderNewAppLabel').html('+' + data.lastOnlineAppResult.length).addClass('amp-active'); } } else { $('#ampHeaderNewAppLabel').html(''); } }); } function isTeacherSimpleIndexPage(data) { //判断用户是不是教师身份 且判断 siteType 是教师门户还是完整门户 // var userType = data.userType; //用户身份 var siteType = data.siteType; //站点模式 var hasDefaultDesktopAuth = data.hasDefaultDesktopAuth; // 教师是否有打开教师版权限 var flag = false; if (AMPConfigure.switchPortalSiteModel && (siteType == "1" || (data.hasTeacherDesktopAuth && AmpUtils.detectmob()))) { AmpUtils.setTeacherSide(); flag = true; } else if (siteType == "2") { AmpUtils.setXdSide(); flag = true; } return flag; } /** * [sendPortalAnalysis 发送门户的运营分析数据] * @return {[type]} [description] */ function sendPortalAnalysis() { if (AMPConstant.operationAnalysisRequestPath) { if (typeof Wisedu != 'undefined') { Wisedu.userActionDataSend(); var senduserIp = sessionStorage["ampUserIp"]; var senduserType = sessionStorage["userType"]; Wisedu.userActionDataSendNew(senduserIp, senduserType); } } else { if (typeof Wisedu != 'undefined') { Wisedu.userActionDataSend(); } } } function gotoMobileIDSpage() { if (!AmpGlobal.loginFlag && AmpUtils.detectmob()) { $('#ampHasNoLogin').click(); } } /** * 特殊字符校验`'":~!@#_$%^&*{}<>?|\/+=¥‘“? * 如果输入框上有noCheckForbidden则不做校验 */ function checkForbiddenChar(str, reg) { var flag = reg.test(str); var val = str.replace(reg, ''); return { flag: flag, val: val }; } //此方法连续输入中文,转换成了英文字符,无法输入中文,故注释 /*$(document).on('blur keypress keydown keyup focus', 'input:not([noCheckForbidden]), textarea:not([noCheckForbidden])', function(){ var str = $(this).val(); var result = checkForbiddenChar(str); if(result.flag){ $(this).val(result.val); return false; } });*/ $(document).on('input keyup keydown keypress focus', 'input[checkNotEnterChinese],textarea[checkNotEnterChinese]', function (e) { /*cut copy paste contextmenu dragenter if (e.type == 'cut' || e.type == 'copy' || e.type == 'paste' || e.type == 'contextmenu' || e.type == 'dragenter') { e.preventDefault(); return false; } if (e.ctrlKey == true && (e.which == '118' || e.which == '86')) { e.preventDefault(); return false; }*/ if ($(this).prop('comStart')) return; // 中文输入过程中不截断 var str = $(this).val(); $(e.target).css('ime-mode', 'disabled'); var reg = /[\u0391-\uFFE5]/gi; var result = checkForbiddenChar(str, reg); if (result.flag) { $(this).val(result.val); return false; } }).on('compositionstart', 'input:not([noCheckForbidden]), textarea:not([noCheckForbidden])', function () { $(this).prop('comStart', true); }).on('compositionend', 'input:not([noCheckForbidden]), textarea:not([noCheckForbidden])', function () { $(this).prop('comStart', false); }); $(document).on('input blur keypress keydown keyup focus', 'input:not([noCheckForbidden]), textarea:not([noCheckForbidden])', function () { //富文本框不校验特殊字符 if ($(this).parents("div.hasUEditer") && $(this).parents("div.hasUEditer").length > 0) { return true; } if ($(this).prop('comStart')) return; // 中文输入过程中不截断 var str = $(this).val(); var reg = /[`'"\~!@##_\$%\^&\*\{\}<>\?\|\\/\+=¥‘“?]+/g; var result = checkForbiddenChar(str, reg); if (result.flag) { $(this).val(result.val); return false; } }).on('compositionstart', 'input:not([noCheckForbidden]), textarea:not([noCheckForbidden])', function () { $(this).prop('comStart', true); }).on('compositionend', 'input:not([noCheckForbidden]), textarea:not([noCheckForbidden])', function () { $(this).prop('comStart', false); }); }); /** * 页头 */ ; (function(loading, undefined) { loading.show = function(options) { var loadingData = {}; if (!options || options.type !== 'breath') { loadingData.html = getReverseHtml(); } else { loadingData.html = getBreathHtml(); } if (options && options.container) { loadingData.customClass = 'amp-loading-in'; } if (options && options.customClass) { if (loadingData.customClass) { loadingData.customClass += ' ' + options.customClass; } } var loadingHtml = AmpTemplate.getLoadingFrameHtml(loadingData); if (!options || !options.container) { $('body').append(loadingHtml); } else { options.container.append(loadingHtml); } }; loading.close = function(options) { var $container = null; if (!options || !options.container) { $container = $('body'); } else { $container = options.container; } var $childLoad = $container.children('div[amp-role="loading"]'); if ($childLoad.length > 0) { $childLoad.remove(); } else { $container.find('div[amp-role="loading"]').remove(); } }; function getBreathHtml() { // return '
'; return '
'; } function getReverseHtml() { return '
'; } })(window.AmpLoading = window.AmpLoading || {}); /** * 首页登录模块 */ ; (function(loginIn, undefined) { /** * 初始化 */ loginIn.init = function() { if (AmpGlobal.showLoginPageFlag) { addLogoText(); loginIn.setLoginConteinerMargin(); loginIn.eventsListen(); loginIn.hasLogin(); showLoginHeader(); if (AmpGlobal.currentLang == "en_US") { //英文状态隐藏 Login字符 $('#ampHasNoLogin').find('.amp-no-login-en').addClass('amp-hide'); } } }; /** * 设置容器居中 */ loginIn.setLoginConteinerMargin = function() { var windowHeight = window.innerHeight; var loginHeight = $('#ampLoginRoleNav').outerHeight(true); var diffHeight = windowHeight - loginHeight - 24; var paddingHeight = parseInt(diffHeight / 2, 10); var paddingTop = paddingHeight - (loginHeight / 2); var $ampLogin = $('#ampLoginRoleNav'); var loginContentH = $('#ampLoginRoleNav').height(); var padding = (windowHeight - 128 - loginContentH) / 2; if (!AmpUtils.IsPC()) { //移动端访问 padding = padding / 2; } $ampLogin.css({ 'padding-top': padding, 'padding-bottom': padding }); } loginIn.eventsListen = function() { $('#ampLoginArticle').on('click', '.amp-has-nologin-btn', function() { //获取用户信息 AmpUtils.goLoginPage(); }); $('#ampLoginInBottomDesc').on('click', '.icon', function() { var clickIndex = 1; var $activeItem = $('#ampSlidePage').children('.amp-active'); var activeIndex = $activeItem.index(); var direct = clickIndex > activeIndex ? 'down' : 'up'; var toHideArticle = $('body').find('article[role="slide"][slide-index="' + (activeIndex + 1) + '"]')[0]; slide.slideAnimate(direct, toHideArticle); }); } loginIn.hasLogin = function() { var $ampHasNoLogin = $('#ampHasNoLogin'); var $ampHasLogin = $('#ampHasLogin'); //AmpDataUtils.userDesktopInfo('', function(data) { if (AmpGlobal.loginFlag) { //已登录 var userName = AmpUtils.getSessionStorageData("ampUserName"); $ampHasNoLogin.addClass('amp-hide'); $ampHasLogin.removeClass('amp-hide'); $ampHasLogin.find('span.amp-username').text(userName); } else { //未登录 $ampHasNoLogin.removeClass('amp-hide'); $ampHasLogin.addClass('amp-hide'); } //}); } function addLogoText() { var logoData = AMPConfigure.ehallTitle; var title = logoData.title; var smallTitle = logoData.smallTitle; var $loginHead = $('#ampLoginHeader'); if (AmpGlobal.currentLang == "en_US") { $loginHead.find('h3').html(smallTitle); $loginHead.find('h3').css("font-size", "22px"); } else { $loginHead.find('h3').html(title); $loginHead.find('span').html(smallTitle); } } function showLoginHeader() { var logoData = AMPConfigure.ehallTitle; var title = logoData.title; var smallTitle = logoData.smallTitle; var headerHtml; if (AmpGlobal.currentLang == "en_US") { headerHtml = $('#tpl-header-en').html().replace('@enTitle', smallTitle); } else { headerHtml = $('#tpl-header').html().replace('@title', title).replace('@enTitle', smallTitle); } var $ehallBody = $('#ampEhallBody'); $ehallBody.append(headerHtml); setTimeout(function() { var placeHolderOffset = $('#ampLoginHeader').offset(); //设置角色tab的位置 $('#ampTplHeader').css({ 'top': placeHolderOffset.top, 'left': placeHolderOffset.left }); $('#ampEhallHeaderContent').css({ 'left': placeHolderOffset.left }); }, AmpGlobal.animateTimes + 10); } })(window.AmpLoginIn = window.AmpLoginIn || {}); /** * 打开应用 */ // ;(function (openApp, undefined) { // /** // * 监听事件 // */ // openApp.eventsListen = function () { // var $body = $('body'); // // /** // * 点击APP时的处理 // * 在新页面打开应用 // */ // $body.on("click", ".appFlag", function(e){ // var $item = $(this); // var url = $item.attr('amp-url'); // window.open(url); // }); // }; // // })(window.AmpOpenApp = window.AmpOpenApp || {}); ; (function(openFavorite, undefined) { openFavorite.space = { inputLockFlag: false }; openFavorite.open = function(appdata) { initFavoriteDialog(appdata); }; function initFavoriteDialog(appdata) { //获取所有文件夹的数据 AmpDataUtils.getUserFavFolders(function(data) { showFavoriteFolders(data, appdata); }); } function showFavoriteFolders(data, appdata) { var userFavFolders = data.userFavFolders; var folderLen = userFavFolders.length; var foldersHtm = ''; //文件夹 var activeClass = 'amp-active'; //是否选中 var categoryName = '收藏夹'; if (AmpGlobal.currentLang == "en_US") { categoryName = $.i18n("favorite"); } foldersHtm += $('#tpl-favorite-folder-item').html() .replace('@folderId', '0') .replace('@folderName', categoryName).replace('@activeClass', activeClass); for (var i = 0; i < folderLen; i++) { var item = userFavFolders[i]; var folderName = item.folderName; var folderId = item.wid; activeClass = ''; foldersHtm += $('#tpl-favorite-folder-item').html() .replace('@folderId', folderId) .replace('@folderName', folderName).replace('@activeClass', activeClass); } var create = '新建'; var createNewFolder = '新建文件夹'; var folderLength = "5"; if (AmpGlobal.currentLang == "en_US") { create = $.i18n("create"); createNewFolder = $.i18n("newFolder"); folderLength = $.i18n("folderLength"); } foldersHtm += $('#tpl-favorite-folder-create').html() .replace("@create", create).replace("@newFolder", createNewFolder) .replace("@folderLength", folderLength) .replace("@folderLength", folderLength); var chooseFolder = "选择文件夹"; var appTitle = appdata.appTitle; if (appTitle.length > 10) { appTitle = appTitle.substr(0, 10) + '...'; } var putInSpecificFolder = "您收藏的" + appTitle + "应用将会被放入指定文件夹中"; var collect = "收藏"; if (AmpGlobal.currentLang == "en_US") { chooseFolder = $.i18n("chooseFolder"); putInSpecificFolder = $.i18n("putInSpecificFolder"); collect = $.i18n("collect"); } var favoriteHtm = $('#tpl-app-favorite').html() .replace('@folderContrent', foldersHtm) .replace('@appId', appdata.appId) .replace('@appType', appdata.appType) .replace('@appName', appdata.appTitle) .replace('@chooseFolder', chooseFolder) .replace('@putInSpecificFolder', putInSpecificFolder) .replace('@collect', collect) .replace('@moduleName', appdata.moduleName); $('body').append(favoriteHtm); //事件监听 eventListen(); //美化滚动条 AmpUtils.niceScrollInit($('#ampFavoriteFolders')); //ie9 placehoder 不显示问题 AmpUtils.setIe9PlaceHolder(); } function eventListen() { var $ampFavorite = $('#ampFavorite'); //点击文件夹 $ampFavorite.on('click', '.amp-favorite-detail-folder-item', function() { //判断当前文件夹的数量是否已经超过10个 folderHandel($(this)); }); //点击叉 $ampFavorite.on('click', '.icon-chacha', function() { $('#ampFavorite').remove(); }); //点击收藏按钮 $ampFavorite.on('click', '.amp-favorite-detail-btn', function() { //判断当前是否是创建文件夹状态,如果是创建文件夹创建,则不能收藏该文件夹或应用 var createFolderFlag = $(this).closest('.amp-favorite-detail-container').find('.favoriteDetailFolderInputFlag').hasClass('amp-active'); if (!createFolderFlag) { //收藏应用 favoriteApp(); } }); //input文本框失去焦点事件 $ampFavorite.on('blur', '.amp-favorite-detail-input', function(e) { saveNewFolder(); }); $ampFavorite.on('compositionstart', '.amp-favorite-detail-input', function() { openFavorite.space.inputLockFlag = true; }) $ampFavorite.on('compositionend', '.amp-favorite-detail-input', function() { openFavorite.space.inputLockFlag = false; }) $ampFavorite.on('input', '.amp-favorite-detail-input', function(e) { if (!openFavorite.space.inputLockFlag) { var $container = $(e.currentTarget).closest('.amp-favorite-detail-input-container'); calculateWords($container); } }); } /** * 计算输入框字数 */ function calculateWords($container) { var words = $container.find('.amp-favorite-detail-input').val(); var len = parseInt(words.length, 10); $container.find('span[amp-input-role="actual"]').text(len); } function favoriteApp() { //获取 appId appType folderId var $favorite = $('#ampFavorite'); var $favoriteFolder = $('#ampFavoriteFolders'); var $activeFolder = $('#ampFavoriteFolders').find('.amp-favorite-detail-folder-item.amp-active'); var folderId = $activeFolder.attr('amp-folder-id'); var appId = $favorite.attr('amp-favoriteapp-id'); var appType = $favorite.attr('amp-favoriteapp-type'); var appName = $favorite.attr('amp-favoriteapp-name'); var folderName = $activeFolder.find('span').text(); var moduleName = $favorite.attr('amp-module-name'); AmpDataUtils.favoriteApp({ "appId": appId, "type": appType, "favoriteFolderId": folderId }, function() { var cnStr = ' 收藏成功'; if (AmpGlobal.currentLang == "en_US") { cnStr = $.i18n("collectedSuccessfully"); } AmpPrompt.show({ content: appName + cnStr }); $('#ampFavorite').remove(); openFavorite.favoriteCardApp(folderId, folderName, appId); //同步我的收藏卡片添加应用数据 AmpFavorite.favoriteSynchronous(appId, 'active', appType); AmpPersonalCenter.getMyFavoriteApps(); //诸葛io AmpUtils.zhuge("收藏应用", { "应用ID": appId, "应用名称": appName, "收藏文件夹": folderName, "来源": moduleName }); }); } function saveNewFolder() { var $folderInput = $('#ampFavoriteDetailFolderInput'); var folderName = $folderInput.val(); folderName = $.trim(folderName); var params = {}; if (folderName) { AmpDataUtils.saveUserFavFolder(folderName, function(data) { if (data.result == 'success') { var cnStr = '新建文件夹成功'; if (AmpGlobal.currentLang == "en_US") { cnStr = $.i18n("creatFolderSuccess"); } AmpPrompt.show({ content: cnStr }); params.folderName = folderName; params.folderId = data.folderId; //菜单显示一个文件夹 detailCreateFolderItem(params); //同步更新我的收藏 和我的收藏卡片中的数据 AmpPersonalCenter.getMyFavoriteApps(); AmpOpenFavorite.favoriteCardSyncAddNewFolder(params); //诸葛io埋点 AmpUtils.zhuge("新建收藏文件夹", { "文件夹名称": folderName }); } else { var failedCreateFolder = '创建文件夹失败!'; if (AmpGlobal.currentLang == "en_US") { failedCreateFolder = $.i18n("failedCreateFolder"); } AmpPrompt.show({ content: failedCreateFolder }); } }); } else { var cnStr = '请输入文件夹名称'; if (AmpGlobal.currentLang == "en_US") { cnStr = $.i18n("enterFolderName"); } AmpPrompt.show({ content: cnStr }); $folderInput.focus(); return; } } function detailCreateFolderItem(params) { var $favoriteFolders = $('#ampFavoriteFolders'); var folderId = params.folderId; var folderName = params.folderName; var folderItemHtm = $('#tpl-favorite-folder-item').html() .replace('@activeClass', 'amp-active') .replace('@folderId', folderId).replace('@folderName', folderName); $favoriteFolders.find('.favoriteDetailFolderInputFlag').removeClass('amp-active').before(folderItemHtm); } function folderHandel($item) { var $item = $item; if ($item.hasClass('favoriteDetailFolderInputFlag')) { var folders = $('#ampFavoriteFolders').find('.amp-favorite-detail-folder-item').length; if (folders > 11) { AmpPrompt.show({ content: $.i18n("folderOutOfLimit") }); return; } else { $('#ampFavoriteDetailFolderInput').val(''); $('#ampFavoriteDetailFolderInput').focus(); } } $item.siblings('.amp-favorite-detail-folder-item').removeClass('amp-active'); $item.addClass('amp-active'); } //*********以下是同步收藏卡片中的数据******************** /** * 同步 我的收藏卡片中 取消收藏的数据 * @return {[type]} [description] */ openFavorite.unFavoriteCardApp = function(data) { var $cardMyfavContent = $('#cardMyFavoriteContent'); var $cardMyfavApp = $('#cardMyFavoriteContent').find('.appFlag[amp-appid="' + data.appId + '"]'); //var folderId = $cardMyfavContent.find('.card-myFavorite-content-item[amp-isshow="amp-active"]').attr('amp-classify'); if ($cardMyfavApp.length > 0) { $cardMyfavApp.each(function(index) { var $contentItem = $(this).closest('.card-myFavorite-content-item'); var folderId = $contentItem.attr('amp-classify'); $(this).parent().remove(); var $cardmyfav = $('#card-myfavorite-01'); var folder = $cardmyfav.find('li[amp-id="' + folderId + '"]'); var oldCount = folder.find('.amp-app-count').text(); folder.find('.amp-app-count').text(parseInt(oldCount) - 1); var appAppStr = '添加应用'; if (AmpGlobal.currentLang == "en_US") { appAppStr = $.i18n("addApps"); } if ((parseInt(oldCount) - 1) == 0) { var addAppHtm = $('#tpl-card-myfavrite-addapp').html() .replace(/@addApp/g, appAppStr); $contentItem.append(addAppHtm); } }); } } /** * 同步 我的收藏卡片中 添加收藏的数据 * @return {[type]} [description] */ openFavorite.favoriteCardApp = function(folderId, folderName, favoriteappid) { var allDatas = AmpDataUtils.space.allServiceData.searchResult; var $cardMyfavContent = $('#cardMyFavoriteContent'); //要判断此folderId是否存在,如果不存在,要先创建收藏文件夹 var currentFolder = $cardMyfavContent.find('.card-myFavorite-content-item[amp-classify="' + folderId + '"]'); if (!(currentFolder.length > 0)) { var params = {}; params.folderName = folderName; params.folderId = folderId; //同步我的收藏卡片创建新的文件夹 AmpOpenFavorite.favoriteCardSyncAddNewFolder(params); } for (var i = 0; i < allDatas.length; i++) { var data = allDatas[i]; var appid = data.appId; if (appid == favoriteappid) { var attrStr = AmpUtils.assemblyAppAttributesToStr(data); var img = data.middleIcon; var title = data.appName; var favoriteCardItem = $('#tpl-card-favorite-addApp').html() .replace('@attributeBig', attrStr) .replace('@appItemmiddleIcon', img) .replace('@titleappItemappName', title) .replace('@appItemappName', title); if (folderId == "0") { $cardMyfavContent.find('.card-myFavorite-content-item[amp-classify="' + folderId + '"]').append(favoriteCardItem); } else { $cardMyfavContent.find('.card-myFavorite-content-item[amp-classify="' + folderId + '"]').append(favoriteCardItem); //更新我的收藏全部里面的内容 $cardMyfavContent.find('.card-myFavorite-content-item[amp-classify="0"]').append(favoriteCardItem); } //更新文件夹内的数字 var $cardmyfav = $('#card-myfavorite-01'); if (folderId != '0') { var folder = $cardmyfav.find('li[amp-id="' + folderId + '"]'); var oldCount = folder.find('.amp-app-count').text(); folder.find('.amp-app-count').text(parseInt(oldCount) + 1); } //更新全部文件夹内的数字 var all_folder = $cardmyfav.find('li[amp-id="0"]'); var all_oldCount = all_folder.find('.amp-app-count').text(); all_folder.find('.amp-app-count').text(parseInt(all_oldCount) + 1); if ((parseInt(oldCount) + 1) > 0) { $cardMyfavContent.find('.card-myFavorite-content-item[amp-classify="' + folderId + '"]').find('.widget-recommend-item-nodata').remove(); } if ((parseInt(all_oldCount) + 1) > 0) { $cardMyfavContent.find('.card-myFavorite-content-item[amp-classify="0"]').find('.widget-recommend-item-nodata').remove(); } break; } } } /** * 同步 我的收藏卡片中 创建新的文件夹 * @return {[type]} [description] */ openFavorite.favoriteCardSyncAddNewFolder = function(params) { var folderId = params.folderId; var folderName = params.folderName; var $cardmyfav = $('#card-myfavorite-01'); var $cardFavContent = $('#cardMyFavoriteContent'); var newFolderContent = ''; var newFolderHtml = $('#tpl-card-favorite-addNewFolder').html() .replace('@folderId', folderId) .replace('@folderName', folderName); newFolderContent = $('#tpl-card-favorite-addNewFolderContent').html() .replace('@folderId', folderId) .replace('@activeClass', 'amp-hide'); if ($cardmyfav.length > 0) { $cardmyfav.find('ul').append(newFolderHtml); $cardFavContent.append(newFolderContent); folderContentEvent(); } } openFavorite.favoriteCardSyncDelFolder = function(delFolderList) { var $cardmyfav = $('#card-myfavorite-01'); var folderList = $cardmyfav.find('ul'); var folderContent = $('#cardMyFavoriteContent'); var flag = false; $.each(delFolderList, function(index) { var $item = $(this); var delfolderId = $item.attr('amp-id'); var delFolderItem = folderList.find('li[amp-id="' + delfolderId + '"]'); if (delFolderItem.attr('amp-type') == 'amp-active') { flag = true; } delFolderItem.remove(); folderContent.find('div.card-myFavorite-content-item[amp-classify="' + delfolderId + '"]').remove(); }); if (flag) { folderList.find('li[amp-id="0"]').click(); } } function folderContentEvent() { $('body').on('click', '.card-myfavorite-li-readd', function(e) { var $target = $(e.target); var folderId = $target.closest('.amp-hover-slow-motion').attr('amp-id'); $target.closest('.amp-hover-slow-motion').siblings('li').attr('amp-type', 'amp-hide'); $target.closest('.amp-hover-slow-motion').attr('amp-type', 'amp-active'); $('#cardMyFavoriteContent').find('.card-myFavorite-content-item').attr('amp-isShow', 'amp-hide'); $('#cardMyFavoriteContent').find('.card-myFavorite-content-item[amp-classify="' + folderId + '"]').attr('amp-isShow', 'amp-active'); }); } })(window.AmpOpenFavorite = window.AmpOpenFavorite || {}); /** * 前端全局变量 */ ; (function(prompt, undefined) { var defaultSet = { //隐藏等待时间 hideWaitTime: 3000, //提示dom高度 height: 38, //提示块之间的间距 margin: 4 }; /** * 显示提示 * @param options * @default content 内容 * @default state 状态,默认success,可选warning,danger */ prompt.show = function(options) { options = getIconClassByState(options); var promptHtml = AmpTemplate.getPromptHtml(options); var $prompt = $(promptHtml); resetPromptPosition(); $('body').append($prompt); setPromptPosition($prompt); setTimeoutTohide($prompt); eventsListen($prompt); }; /** * 事件监听 * @param $prompt */ function eventsListen($prompt) { $prompt.on('click', '.amp-prompt-close', function() { hideDom($prompt); }); } /** * 设置提示块的位置 * @param $prompt */ function setPromptPosition($prompt) { var width = $prompt.outerWidth(); $prompt.css({ top: '48px', left: 'calc(50% - ' + parseInt(width / 2) + 'px)', opacity: 1 }); } /** * 定时隐藏提示 * @param $prompt */ function setTimeoutTohide($prompt) { setTimeout(function() { if ($prompt) { hideDom($prompt); } }, defaultSet.hideWaitTime); } /** * 隐藏提示 * @param $prompt */ function hideDom($prompt) { $prompt.css({ opacity: 0 }); setTimeout(function() { $prompt.remove(); }, AmpGlobal.animateTimes); } /** * 根据状态获取提示相关样式 * @param options * @returns {*} */ function getIconClassByState(options) { var iconClass = ''; var promptStateClass = ''; switch (options.state) { case 'warning': // iconClass = 'icon-erroroutline'; promptStateClass = 'amp-warning'; break; case 'danger': // iconClass = 'icon-error'; promptStateClass = 'amp-danger'; break; default: // iconClass = 'icon-checkcircle'; promptStateClass = 'amp-success'; break; } options.stateIconClass = iconClass; options.promptStateClass = promptStateClass; return options; } /** * 重设已经显示的提示的位置 */ function resetPromptPosition() { var $promptList = $('body').find('div[amp-role="prompt"]'); $promptList.each(function() { var $item = $(this); var top = parseInt($item.css('top'), 10); var newTop = top + defaultSet.margin + defaultSet.height; $item.css('top', newTop + 'px'); }); } })(window.AmpPrompt = window.AmpPrompt || {}); /** * 服务中心 */ ; var leaveSearchTimeout = null; var leaveSearchFlag = true; (function(serviceCenter, undefined) { serviceCenter.space = { loadCompleteFlag: true }; eventsListen(); /** * 初始化 * 页面第一次加载时,同时加载最新服务和热门服务,否则只加载查询结果 */ serviceCenter.init = function(option) { var $serviceArticle = $('#ampServiceArticle'); if ($serviceArticle.getNiceScroll().length === 0) { AmpUtils.niceScrollInit($('#ampServiceRightContent')); } if ($serviceArticle.hasClass('ampLoadedFlag')) { clearContainer(); getSearchApps('', option); } else { var userType = parseInt(AmpDataUtils.space.ampData.userType, 10); var roleId = AmpUtils.getUserRoleId(userType); clearContainer('init'); if (AmpGlobal.loginFlag) { AmpDataUtils.getUserFirstLogin(function(data) { if (!data.isFirstLogin) { getRecentUseApps(); } else { getCommendServiceApps(); } }); // 显示前15条 } else { //未登录状态获取推荐服务的数据 getCommendServiceApps(); // getHotApps(roleId); } getNewApps(roleId); getSearchApps('init', option); $serviceArticle.addClass('ampLoadedFlag') } serviceCenter.showPage('show'); AmpUtils.setIe9PlaceHolder(); serviceCenter.searchBoxBlur(); }; serviceCenter.searchBoxBlur = function() { var $ampServiceSearchInput = $('#ampServiceSearch').find('.ampserviceSearchInputFlag'); var searchKey = $.trim($ampServiceSearchInput.val()); if (!searchKey) { var cnStr = '搜索服务'; if (AmpGlobal.currentLang == "en_US") { cnStr = $.i18n("searchService"); } $ampServiceSearchInput.attr('placeholder', cnStr); AmpUtils.setIe9PlaceHolder(); } }; /** * 初始化查询条件 */ function initContainers(option) { //如果option有值,初始化查询条件 if (option && option.labels) { labels = option.labels; //label 选中全部 var $serviceLabelNav = $('#ampServiceLabelNav'); $serviceLabelNav.find('li[amp-label-flag="all"]').removeClass('amp-active'); //选中查询的条件 for (var i = 0; i < labels.length; i++) { $serviceLabelNav.find('li[amp-label-id=' + labels[i] + ']').addClass('amp-active'); } } } /** * 清除容器dom * @param flag 'init'初始化 */ function clearContainer(flag) { if (flag === 'init') { $('#ampServiceArticle').children('aside').html(''); $('#ampServiceLabelNav').html(''); $('#ampServiceCenterNewApps').html(''); } $('#ampServiceCenterSearchApps').html(''); } /** * 获取热门数据 * @param roleId */ function getHotApps(roleId) { //获取分类应用 /* AmpDataUtils.getHotApps(roleId, function(data) { //显示分类应用 showHotApps(data); });*/ } function getRecentUseApps() { AmpDataUtils.getrecUseServiceList(function(data) { //显示分类应用 showRecentUseApps(data); }); } function getCommendServiceApps() { var userType = parseInt(AmpDataUtils.space.ampData.userType, 10); //var roleId = AmpUtils.getUserRoleId(userType); var roleId = 'all'; AmpDataUtils.getEhallData(roleId, function(data) { //显示推荐服务 showCommendServiceApps(data); }); } /** * 显示热门数据 * @param data */ function showHotApps(data) { var appsHtml = ''; var dataLen = data.length; for (var k = 0; k < dataLen; k++) { var appItem = data[k]; appsHtml += AmpTemplate.getSingleAppHtml(appItem, 'single'); } var cnStr = '热门服务'; if (AmpGlobal.currentLang == "en_US") { cnStr = $.i18n("popularService"); } var html = AmpTemplate.getAsideAppsHtml({ title: 'cnStr', apps: appsHtml }); $('#ampServiceArticle').children('aside').append(html); } function showRecentUseApps(data) { var appsHtml = ''; var appDate = data.recUseServiceList; var appDateLen = appDate.length; if (appDateLen == 0) { getCommendServiceApps(); return; } for (var k = 0; k < appDateLen && k < 10; k++) { var appItem = appDate[k]; appsHtml += AmpTemplate.getSingleAppHtml(appItem, 'single'); } var cnStr = '最近使用'; if (AmpGlobal.currentLang == "en_US") { cnStr = $.i18n("recentlyUsedServices"); } var html = AmpTemplate.getAsideAppsHtml({ title: cnStr, apps: appsHtml }); $('#ampServiceArticle').children('aside').append(html); } function showCommendServiceApps(data) { if (data.hotRecNewAppList == undefined) { return; } var appsHtml = ''; var appDate = data.hotRecNewAppList; var appDateLen = appDate.length; for (var k = 0; k < appDateLen && k < 10; k++) { var appItem = appDate[k]; appsHtml += AmpTemplate.getSingleAppHtml(appItem, 'single'); } var cnStr = '推荐服务'; if (AmpGlobal.currentLang == "en_US") { cnStr = $.i18n("recommendedService"); } var html = AmpTemplate.getAsideAppsHtml({ title: cnStr, apps: appsHtml }); $('#ampServiceArticle').children('aside').append(html); } /** * 获取最新服务 * @param roleId */ function getNewApps(roleId) { //获取分类应用 AmpDataUtils.getSearchApps(roleId, function(data) { //显示分类应用 showNewApps(data); }); /* AmpDataUtils.getNewArrivalApps(function(data) { //显示分类应用 showNewApps(data); });*/ } /** * 显示最新服务 * @param data */ function showNewApps(data) { var resultdata = null; var appsHtml = ''; var resultdataLen = 0; if (data.lastOnlineAppResult == undefined) { return; } else { resultdata = data.lastOnlineAppResult; resultdataLen = resultdata.length; } for (var k = 0; k < resultdataLen; k++) { var appCardSingleHtml = ''; var appCardHtml = ''; var hoverCardHtml = ''; var appItem = resultdata[k]; appCardSingleHtml = AmpTemplate.getAppCardSingleHtml(appItem); // appCardHtml += AmpTemplate.getAppCardHtml(appItem); appCardHtml += AmpTemplate.getServiceAppCardHtml({ data: appItem }); hoverCardHtml += AmpTemplate.getHoverAppHtml({ data: appItem }); appsHtml += '
' + appCardSingleHtml + hoverCardHtml + '
'; } var cnStr = '最新上架的服务'; if (AmpGlobal.currentLang == "en_US") { cnStr = $.i18n("newlyPublishedServices"); } var blockData = { title: cnStr, apps: appsHtml, count: resultdataLen }; var html = AmpTemplate.getBarAppsBlockHtml(blockData); $('#ampServiceCenterNewApps').html(html); if (resultdataLen == 0) { $('#ampHeaderNewAppLabel').html(''); } else { $('#ampHeaderNewAppLabel').html('+' + resultdataLen).addClass('amp-active'); } } /** * 获取查询结果 * @param flag */ function getSearchApps(flag, option) { serviceCenter.space.loadCompleteFlag = false; // var inputVal = ($.trim(document.getElementById("ampServiceSearchInput").value) == '搜索服务' || $.trim(document.getElementById("ampServiceSearchInput").value) == 'search') ? '' : $.trim(document.getElementById("ampServiceSearchInput").value); var searchKey = $.trim($('#ampServiceSearchInput').val()); var type = ''; var labels = []; var label_service_role = []; var label_service_category_fir = []; var label_service_category_sec = []; if (option && option.labels) { labels = option.labels; } else { //一级类别和二级类别放一起 var label_sub_id = ''; var label_thir_id= ''; $('#ampServiceLabelNav').find('.amp-active').each(function() { var $item = $(this); if ($item.attr('amp-label-flag') !== 'all') { if ($item.attr('amp-label-type') == '1') { labels.push($item.attr('amp-label-id')); } else if ($item.attr('amp-label-type') == '2') { label_sub_id = $item.attr('amp-label-id'); }else if ($item.attr('amp-label-type') == '6') { label_thir_id = $item.attr('amp-label-id'); } else { label_sub_id += '___' + $item.attr('amp-label-id'); } } //诸葛io采集数据 var $serviceId = $(this).closest('.amp-label-line').children('label').attr('amp-service-id'); if ($serviceId === '1') { label_service_role.push($item.text()); } else if ($serviceId === '2') { label_service_category_fir.push($item.text()); } else { label_service_category_sec.push($item.text()); } }); if (label_sub_id != '') { labels.push(label_sub_id); } if(label_thir_id!=''){ labels.push(label_thir_id); } } if (searchKey === '' && labels.length === 0) { type = 'all'; } setTimeout(function() { if (!serviceCenter.space.loadCompleteFlag) { AmpLoading.show({ type: 'reverse', container: $('#ampServiceSection') }); } }, 500); //获取分类应用 AmpDataUtils.getSearchApps({ key: searchKey, labels: labels }, function(data) { serviceCenter.space.loadCompleteFlag = true; AmpLoading.close(); showSearchApps(data.searchResult, flag, type, searchKey); showSearchLabels(data.serviceLabels); initContainers(option); }); //诸葛io埋点 if (searchKey || label_service_role.length > 0 || label_service_category_fir.length > 0 && label_service_category_sec.length > 0) { AmpUtils.zhuge("搜索应用", { "服务角色": label_service_role.join(","), "一级服务分类": label_service_category_fir.join(","), "二级服务分类": label_service_category_sec.join(","), "搜索关键字": searchKey }); } } /** * 显示查询结果 * @param data * @param type 查询的是否是所有结果, all是查询所有 */ function showSearchApps(data, flag, type, searchKey) { var folderAppsSearchData = ''; //查询结果分类(只有查询所有时才使用该分类) var letterSplit = ['A-D', 'E-H', 'I-L', 'M-P', 'Q-T', 'U-X', 'Y-Z', 'Other']; if (type !== 'all') { letterSplit = ['Other']; } else { folderAppsSearchData = AmpDataUtils.space.allServiceData.folderAppsMap; } var letterSplitLen = letterSplit.length; var letterAppsData = {}; var letterDicsData = {}; for (var i = 0; i < letterSplitLen; i++) { var letterAppItem = letterAppsData[letterSplit[i]] = {}; letterAppItem.html = ''; letterAppItem.count = 0; var letterDicItem = letterDicsData[letterSplit[i]] = {}; letterDicItem.html = ''; letterDicItem.count = 0; } var blockData = {}; var html = ''; if (data) { var dataLen = data.length; if (dataLen) { for (var k = 0; k < dataLen; k++) { var appCardSingleHtml = ''; var appCardHtml = ''; var hoverCardHtml = ''; var appItem = data[k]; var letter = appItem.pinyingFirstChar; var appType = appItem.type; if (searchKey && searchKey.trim() != "") { appItem.appNameNew = appItem.appName.replace(eval("/(" + searchKey + ")/ig"), "" + searchKey + ""); } else { appItem.appNameNew = appItem.appName; } appCardSingleHtml = AmpTemplate.getAppCardSingleHtml(appItem); // appCardHtml = AmpTemplate.getAppCardHtml(appItem); appCardHtml = AmpTemplate.getServiceAppCardHtml({ data: appItem }); hoverCardHtml += AmpTemplate.getHoverAppHtml({ data: appItem }); if (appItem.type == 1) { var appGroupHtml = AmpTemplate.getAppCardGroupHtml(appCardSingleHtml + appCardHtml); } else { var appGroupHtml = $('#tpl-hover-service-center-app-card-group').html().replace('@content', appCardSingleHtml + hoverCardHtml); } //var appGroupHtml = AmpTemplate.getAppCardGroupHtml(appCardSingleHtml + appCardHtml); var letterKey = ''; if (type !== 'all') { letterKey = 'Other'; } else { //搜索全部应用时,在文件夹里的应用不显示 if (folderAppsSearchData && folderAppsSearchData[appItem.appId] == appItem.appId) { continue; } //当查询所有时,匹配当前APP所属的分类范围 if (/[A-D]/.test(letter)) { letterKey = 'A-D'; } else if (/[E-H]/.test(letter)) { letterKey = 'E-H'; } else if (/[I-L]/.test(letter)) { letterKey = 'I-L'; } else if (/[M-P]/.test(letter)) { letterKey = 'M-P'; } else if (/[Q-T]/.test(letter)) { letterKey = 'Q-T'; } else if (/[U-X]/.test(letter)) { letterKey = 'U-X'; } else if (/[Y-Z]/.test(letter)) { letterKey = 'Y-Z'; } else { letterKey = 'Other'; } if (appType === 1) { var folderId = appItem.appId; AmpDataUtils.space.folderData[folderId] = appItem; } } if (appItem.type == 1) { letterDicsData[letterKey].html += appGroupHtml; letterDicsData[letterKey].count++; } if (appItem.type == 0) { letterAppsData[letterKey].html += appGroupHtml; letterAppsData[letterKey].count++; } } for (var x = 0; x < letterSplitLen; x++) { letterAppsData[letterSplit[x]].html = letterDicsData[letterSplit[x]].html + letterAppsData[letterSplit[x]].html; letterAppsData[letterSplit[x]].count = letterDicsData[letterSplit[x]].count + letterAppsData[letterSplit[x]].count; } for (var z = 0; z < letterSplitLen; z++) { var letterSplitItem = letterSplit[z]; var letterAppsDataItem = letterAppsData[letterSplitItem]; if (letterSplitItem === 'other') { if (letterAppsDataItem.count === 0) { continue; } } var cnSearchResultStr = '搜索结果'; if (AmpGlobal.currentLang == "en_US") { cnSearchResultStr = $.i18n("searchResult"); } var blockClearClass = false; //当不是查询所有时,将分类的title去掉 if (type !== 'all') { blockClearClass = true; letterSplitItem = cnSearchResultStr; } blockData = { title: letterSplitItem, apps: letterAppsDataItem.html, count: letterAppsDataItem.count, clearClass: blockClearClass }; html += AmpTemplate.getBarAppsBlockHtml(blockData); } if (flag === 'init') { // $('#ampHeaderSearchResult').html(dataLen + '个多类型服务'); } } else { html = getNoSearchDataHtml(); } } else { html = getNoSearchDataHtml(); } var $newAppBlock = $('#ampServiceCenterNewApps'); if (type !== 'all') { $newAppBlock.addClass('amp-hide'); } else { $newAppBlock.removeClass('amp-hide'); } $('#ampServiceCenterSearchApps').append(html); } function getNoSearchDataHtml() { var sorryWeCannotFind = "没有找到相关的服务哦"; var searchResult = "搜索结果"; if (AmpGlobal.currentLang == "en_US") { sorryWeCannotFind = $.i18n("sorryWeCannotFind"); searchResult = $.i18n("searchResult"); } var blockData = { title: searchResult, apps: $('#tpl-search-no-data').html().replace("@sorryWeCannotFind", sorryWeCannotFind), count: 0, clearClass: true }; return AmpTemplate.getBarAppsBlockHtml(blockData); } /** * 显示场景label * @param labelsData */ function showSearchLabels(labelsData) { var $serviceLabelNav = $('#ampServiceLabelNav'); if ($serviceLabelNav.text().length === 0) { var labelsHtml = AmpTemplate.getLabelsHtml(labelsData); $serviceLabelNav.html(labelsHtml); $serviceLabelNav.on('click', '.amp-label-line-item', function() { // if ($(this).hasClass('amp-active')) { // return false; // } else { /* if ($(this).hasClass('ampSubLabelItem')) { return false; } else {*/ //如果是角色则不删除,如果是服务类别,则删除 var labelType = $(this).attr('amp-label-type'); if (labelType == '2') { //删除当前存在的二级分类 var $serviceLabelNav = $('#ampServiceLabelNav'); $serviceLabelNav.find('.serviceCenterSubLabelFlag').remove(); } /* }*/ serviceLabelSearch($(this)); //判断是否有二级类别 if ($(this).hasClass('hasSubLabelFlag')) { //展开二级类别 showSubLabels(labelsData, $(this)); } // } }); setSearchAppsContainerMinHeight(); } } /** * 显示页面动画 * @param flag */ serviceCenter.showPage = function(flag) { var $serviceArticle = $('#ampServiceArticle'); var blurFlag = 'blur'; var isDoBlur = true; if (flag === 'show') { if ($serviceArticle.hasClass('amp-active')) { isDoBlur = false; } $serviceArticle.removeClass('amp-animate-move-top-out') .addClass('amp-animate-move-top-in') .addClass('amp-active').removeClass('amp-hide'); //label 选中全部 var $serviceLabelNav = $('#ampServiceLabelNav'); if ($serviceLabelNav.find('li.amp-active').length == 0) { $serviceLabelNav.find('li').removeClass('amp-active'); $serviceLabelNav.find('li[amp-label-flag="all"]').addClass('amp-active'); $serviceLabelNav.find('.serviceCenterSubLabelFlag').remove(); } } else { blurFlag = 'restore'; if (!$serviceArticle.hasClass('amp-active')) { isDoBlur = false; } $serviceArticle.removeClass('amp-animate-move-top-in') .addClass('amp-animate-move-top-out') .removeClass('amp-active'); } setTimeout(function() { if (isDoBlur) { var $blurArticleContainer = null; if ($('#ampPersonalArticle').hasClass('amp-active')) { $blurArticleContainer = $('#ampPersonalArticle'); } else if ($('#ampPageHeaderHomeIcon').hasClass('amp-active')) { $blurArticleContainer = $('#ampEhallBody').find('article.amp-active'); } //去掉高斯模糊 背景加30%黑 if ($blurArticleContainer != null) { $blurArticleContainer.removeClass('amp-active').addClass('amp-hide'); $('#ampSlidePage').addClass('amp-hide'); $('#ampPageBgCover').removeClass('amp-hide').addClass('amp-active'); } /*AmpUtils.containerBlurAnimate($blurArticleContainer, blurFlag);*/ /* AmpUtils.containerBlurAnimate($('#ampEhallRoleNav'), blurFlag); AmpUtils.containerBlurAnimate($('#ampSlidePage'), blurFlag); AmpUtils.containerBlurAnimate($('#ampPageBgImg'), blurFlag);*/ } AmpUtils.niceScrollResize($('#ampServiceArticle')); }, 450); }; function serviceLabelSearch($item) { var labelFlag = $item.attr('amp-label-flag'); var $ul = $item.closest('ul'); var labelType = $item.attr('amp-label-type'); if (labelFlag !== 'all') { var $labelAllItem = $ul.find('[amp-label-flag="all"]'); $labelAllItem.removeClass('amp-active'); /* $item.toggleClass('amp-active');*/ /* if ($ul.find('li.amp-active').length === 0) { $labelAllItem.addClass('amp-active'); }*/ if (labelType == '1') { $item.toggleClass('amp-active'); if ($ul.find('li.amp-active').length === 0) { $labelAllItem.addClass('amp-active'); } else { $item.siblings('li').removeClass('amp-active'); } } else { $item.addClass('amp-active'); $item.siblings('li').removeClass('amp-active'); } } else { $ul.find('li').removeClass('amp-active'); $item.addClass('amp-active'); } /* $item.toggleClass('amp-active'); $item.siblings('li').removeClass('amp-active');*/ serviceCenter.init(); } function eventsListen() { $('#ampServiceCenterSearchApps').on('click', '.ampClearFlag', function() { $('#ampServiceLabelNav').find('li').each(function() { var $item = $(this); if ($item.attr('amp-label-flag') !== 'all') { $item.removeClass('amp-active'); } else { $item.addClass('amp-active'); } }); var $pageHeaderSearchInput = $('#ampServiceSearchInput'); $pageHeaderSearchInput.val(''); // $pageHeaderSearchInput.blur(); /* $pageHeaderSearchInput.focus();*/ serviceCenter.init(); $(".serviceCenterSubLabelFlag").hide(); }); /** * 文本框联想功能的实现 */ var searchName = ''; $('#ampServiceSearch').on('input', '.ampserviceSearchInputFlag', function() { //清空搜索历史弹框 $('#ampHistoryBox').remove(); if ($(this).prop('comStart')) { return; // 中文输入过程中不截断 } var value = $(this).val(); searchName = value; var reg = /[`'"\~!@##_\$%\^&\*\{\}<>\?\|\\/\+=¥‘“?]+/g; var result = checkForbiddenChar(searchName, reg); if (result.flag) { $(this).val(result.val); return false; } showSearchName(searchName); }).on('compositionstart', '.ampserviceSearchInputFlag', function() { $(this).prop('comStart', true); }).on('compositionend', '.ampserviceSearchInputFlag', function() { $(this).prop('comStart', false); if ($(this).prop('comStart')) { return; // 中文输入过程中不截断 } var value = $(this).val(); searchName = value; var reg = /[`'"\~!@##_\$%\^&\*\{\}<>\?\|\\/\+=¥‘“?]+/g; var result = checkForbiddenChar(searchName, reg); if (result.flag) { $(this).val(result.val); return false; } showSearchName(searchName); }); //联想功能 点击appName触发搜索 $('body').on('click', '.amp-service-searchName-item', function() { var searchKey = $(this).attr('amp-appname'); $('#ampServiceSearchInput').val(searchKey); $('#ampSearchNameBox').remove(); serviceCenter.init(); }); //搜索按钮点击事件 $('#ampServiceSearch').on('click', '#ampServiceSousuo', function() { serviceCenter.init(); }); //搜索历史鼠标移上去触发的事件 $('#ampServiceSearch').on('click', '.amp-service-history-box', function() { //展开搜索历史弹框 showHistoryBox(); //诸葛io埋点 AmpUtils.zhuge("查看搜索记录", {}); }); $('#ampServiceSearch').on('mouseover', function() { leaveSearchFlag = false; clearTimeout(leaveSearchTimeout); }); $('#ampServiceSearch').on('mouseout', function() { leaveSearchFlag = true; leaveSearchTimeout = setTimeout(function() { if (leaveSearchFlag === true) { $('#ampHistoryBox').remove(); } }, 500); }); $('body').on('mouseover', '#ampHistoryBox', function() { leaveSearchFlag = false; clearTimeout(leaveSearchTimeout); }); $('body').on('mouseout', '#ampHistoryBox', function() { leaveSearchFlag = true; leaveSearchTimeout = setTimeout(function() { if (leaveSearchFlag === true) { $('#ampHistoryBox').remove(); } }, 500); }); } function setSearchAppsContainerMinHeight() { setTimeout(function() { var $serviceSection = $('#ampServiceSection'); var sectionTop = $serviceSection.offset().top; var windowHeight = window.innerHeight; var minHeight = windowHeight - sectionTop; $serviceSection.css('min-height', minHeight + 'px'); }, AmpGlobal.animateTimes + 10); } function showSubLabels(labelData, $item) { var labelsData = labelsData; var $item = $item; var labelId = $item.attr('amp-label-id'); var cnAllStr = '全部'; var cnSecondSvrTypeName = "二级分类"; if (AmpGlobal.currentLang == "en_US") { cnAllStr = $.i18n("all"); cnSecondSvrTypeName = $.i18n("sub-category"); } var labelsHtml = ''; var labelLineTemplate = $('#tpl-sub-label-line').html(); var labelLineItemTemplate = $('#tpl-sub-label-line-item').html(); var childLabelHtml = ''; if (labelData) { var labelDataLen = labelData.length; if (labelDataLen > 0) { for (var i = 0; i < labelDataLen; i++) { var topLabelItem = labelData[i]; var childLabels = topLabelItem.labels; var childLabelsLen = childLabels.length; for (var k = 0; k < childLabelsLen; k++) { var childLabel = childLabels[k]; var childLabelId = childLabel.labelId; var subLabels = childLabel.subLabelList; if (childLabelId == labelId) { for (var j = 0; j < subLabels.length; j++) { if (j === 0) { childLabelHtml += labelLineItemTemplate .replace('@labelName', cnAllStr).replace('@labelId', childLabelId) .replace('@active', 'amp-active').replace('@labelFlag', 'all'); } childLabelHtml += labelLineItemTemplate .replace('@labelName', subLabels[j].lableName).replace('@labelId', subLabels[j].labelId) .replace('@active', '').replace('@labelFlag', ''); } } } } // labelsHtml += '
'+topLableName+'
'; labelsHtml += labelLineTemplate .replace('@serviceId', childLabelId).replace('@labelName', cnSecondSvrTypeName) .replace('@labelList', childLabelHtml); } } var $serviceLabelNav = $('#ampServiceLabelNav'); $serviceLabelNav.append(labelsHtml); } /** * 联想搜索 查询所有结果 * @type {[type]} */ function showSearchName(searchName) { var re = new RegExp(searchName, 'i'); var searchVal = searchVal; var allServiceSearchData = ''; if (AmpDataUtils.space.allServiceData != null) { allServiceSearchData = AmpDataUtils.space.allServiceData.searchResult; } var allServiceSearchLen = allServiceSearchData.length; var searchAppList = []; //清空 $('#ampSearchNameBox').remove(); if (searchName == '') { return; } for (var i = 0; i < allServiceSearchLen; i++) { var appName = allServiceSearchData[i].appName; if (re.test(appName)) { searchAppList.push(allServiceSearchData[i]); } } var searchBoxTpl = ''; var searchItems = ''; for (var j = 0; j < searchAppList.length; j++) { var appName = searchAppList[j].appName; var regappName = appName.replace(eval("/(" + searchName + ")/ig"), "" + searchName + ""); searchItems += $('#tpl-service-searchName-item').html() .replace('@appName', regappName) .replace('@searchname', appName) .replace('@searchname', appName) .replace('@mormalImg', 'portal/images/serviceCenter/u2595.png'); } if (searchItems == '') { var noData = '无相关结果'; if (AmpGlobal.currentLang == "en_US") { noData = $.i18n("noData"); } searchItems = $('#tpl-service-searchName-nodata').html().replace("@noData", noData); } searchBoxTpl = $('#tpl-service-searchName').html() .replace('@searchItems', searchItems); $('body').append(searchBoxTpl); //优化联想搜索结果弹出框滚动条及位置 var offserLeft = $('#ampServiceSearchInput').offset().left; if (AmpGlobal.loginFlag) { offserLeft = offserLeft - 6 + 'px'; } else { offserLeft = offserLeft + 10 + 'px'; } $('#ampSearchNameBox').css('left', offserLeft); AmpUtils.niceScrollInit($('#ampSearchNameBox')); } function showHistoryBox() { AmpDataUtils.userSearchHistory(function(data) { var data = data.data; var historyBoxHtml = ''; var itemHtml = ''; if (data.length > 0) { for (var key in data) { var searchKey = data[key].searchKey; itemHtml += $('#tpl-service-searchName-item').html() .replace('@searchname', searchKey) .replace('@searchname', searchKey) .replace('@appName', searchKey) .replace('@mormalImg', 'portal/images/serviceCenter/u2455.png'); } } else { var noData = '暂无数据'; if (AmpGlobal.currentLang == "en_US") { noData = $.i18n("noData"); } itemHtml = $('#tpl-service-searchName-nodata').html().replace("@noData", noData); } historyBoxHtml = $('#tpl-service-history-box').html() .replace('@searchItems', itemHtml); //清空联想弹框 $('#ampSearchNameBox').remove(); $('#ampHistoryBox').remove(); $('body').append(historyBoxHtml); }); } /** * 特殊字符校验`'":~!@#_$%^&*{}<>?|\/+=¥‘“? * 如果输入框上有noCheckForbidden则不做校验 */ function checkForbiddenChar(str, reg) { var flag = reg.test(str); var val = str.replace(reg, ''); return { flag: flag, val: val }; } })(window.AmpServiceCenter = window.AmpServiceCenter || {}); /** * 调用后台服务方法集合 */ ; (function(services, undefined) { /** * 获取用户数据和其他模块数据 * @returns {*} */ services.userInfo = function() { var url = AMPConstant.jsonpRequestPath + 'userInfo.json'; return AmpUtils.doJsonpAjax(url); }; /** * 获取办事大厅app数据 * @param roleId 角色id * @returns {*} */ services.ehallAppData = function(roleId) { var type = 'all'; //热门,最新,推荐的集合应用 返回一个结果集 var url = AMPConstant.jsonpRequestPath + AMPConstant.APIList.serviceRoleApp + "?serviceRoleId=" + roleId + "&type=" + type; return AmpUtils.doJsonpAjax(url); }; /** * 获取查询数据 * @param params * @returns {*} */ services.searchAppData = function(params) { var url = AMPConstant.jsonpRequestPath + AMPConstant.APIList.serviceCenterData; if (params.labels) { url += '?' + params.labels; delete params.labels; } return AmpUtils.doJsonpAjax(url, params); }; /** * 获取收藏数据 * @returns {*} */ services.myFavoriteApps = function() { var url = AMPConstant.jsonpRequestPath + AMPConstant.APIList.userFavoriteApps; return AmpUtils.doJsonpAjax(url); }; /** * 添加APP收藏 * @param params * @returns {*} */ services.favoriteApp = function(params) { var url = AMPConstant.jsonpRequestPath + AMPConstant.APIList.favoriteApp; return AmpUtils.doJsonpAjax(url, params); }; /** * 取消APP收藏 * @param params * @returns {*} */ services.unFavoriteApp = function(params) { var url = AMPConstant.jsonpRequestPath + AMPConstant.APIList.unFaviroteApp; return AmpUtils.doJsonpAjax(url, params); }; /** * 获取应用介绍 * @param params * @default appId * @returns {*} */ services.appIntroduction = function(params) { var url = AMPConstant.jsonpRequestPath + AMPConstant.APIList.appIntroduction; return AmpUtils.doJsonpAjax(url, params); }; /** * 更新应用详情是否有更新状态 * @param params */ services.updateDesHasUpdateStatus = function(params) { var url = AMPConstant.jsonpRequestPath + "updateDesHasUpdateStatus.json"; return AmpUtils.doJsonpAjax(url, params); }; /** * 不再显示详情 * @param params * @default appId * @default unviewable 1 * @returns {*} */ services.appUnViewableDescription = function(params) { var url = AMPConstant.jsonpRequestPath + AMPConstant.APIList.appCheckforView; return AmpUtils.doJsonpAjax(url, params); }; /** * 恢复显示详情 * @param params * @default appId * @default unviewable 0 * @returns {*} */ services.appRestoreViewableDescription = function(params) { var url = AMPConstant.jsonpRequestPath + AMPConstant.APIList.appCheckforView; return AmpUtils.doJsonpAjax(url, params); }; /** * 不显示更新说明 * @param params * @default appId * @returns {*} */ services.appRestoreViewableDescription = function(params) { var url = AMPConstant.jsonpRequestPath + AMPConstant.APIList.appCheckforView; return AmpUtils.doJsonpAjax(url, params); }; services.desktopData = function(params) { var url = AMPConstant.jsonpRequestPath + AMPConstant.APIList.getUserDesktop; // var url = 'http://demo.wisedu.com/jsonp/' + AMPConstant.APIList.getUserDesktop; return AmpUtils.doJsonpAjax(url, params); }; services.noReadMessageData = function(params) { var url = AMPConstant.jsonpRequestPath + AMPConstant.manageAPIList.getTagsMessages; return AmpUtils.doJsonpAjax(url, params); }; services.recentUseApps = function() { var url = AMPConstant.jsonpRequestPath + AMPConstant.APIList.recentUseApps; return AmpUtils.doJsonpAjax(url); }; /** * 创建桌面 * @param params * @returns {*} */ services.desktopCreat = function(params) { var url = AMPConstant.jsonpRequestPath + AMPConstant.APIList.createUserDesktop; return AmpUtils.doSendAjax(url, params); }; services.deleteDesktop = function(params) { var url = AMPConstant.jsonpRequestPath + AMPConstant.APIList.deleteDesktop; return AmpUtils.doJsonpAjax(url, params); }; services.restoreDesktop = function(params) { var url = AMPConstant.jsonpRequestPath + AMPConstant.APIList.restoreDesktop; return AmpUtils.doJsonpAjax(url, params); }; services.editDesktop = function(params) { var url = AMPConstant.jsonpRequestPath + AMPConstant.APIList.editDesktop; return AmpUtils.doJsonpAjax(url, params); }; services.editUserDesktopOrder = function(params) { var url = AMPConstant.jsonpRequestPath + AMPConstant.APIList.editUserDesktopOrder; return AmpUtils.doJsonpAjax(url, params); }; /** * 获取可用和应用的卡片 */ services.getUserCategoryAppList = function() { var url = AMPConstant.jsonpRequestPath + AMPConstant.APIList.userCategoryAppList; return AmpUtils.doJsonpAjax(url); }; /** * 获取用户桌面属性设置的数据 */ services.getUserDesktopProperty = function(params) { var url = AMPConstant.jsonpRequestPath + AMPConstant.APIList.getUserDesktopProperty; return AmpUtils.doJsonpAjax(url); }; /** * 用户桌面和系统桌面排序的接口 */ services.updateUserDesktopSeq = function(params) { var url = AMPConstant.jsonpRequestPath + AMPConstant.APIList.updateUserDesktopSeq + "?desktopSeqJson=" + params; return AmpUtils.doJsonpAjax(url); }; /** * 删除桌面卡片的接口 */ services.deleteUserDesktopCard = function(params) { var desktopId = params.desktopId; var desktopType = params.desktopType; var cardWid = params.cardWid; var url = AMPConstant.jsonpRequestPath + AMPConstant.APIList.deleteUserDesktopCard + "?desktopId=" + desktopId + "&desktopType=" + desktopType + "&cardWid=" + cardWid; return AmpUtils.doJsonpAjax(url); }; /** * 获取推荐卡片的应用 */ services.getRecommendCard = function() { var url = AMPConstant.jsonpRequestPath + AMPConstant.APIList.getRecommendCard; return AmpUtils.doJsonpAjax(url); }; /** * 操作推荐卡片的留下or我不需要 */ services.updateRecommendCardStatus = function(params) { var url = AMPConstant.jsonpRequestPath + AMPConstant.APIList.updateRecommendCardStatus + "?appPcCardRecommendJson=" + params; return AmpUtils.doJsonpAjax(url); }; /** * 获取桌面卡片 * @type {[type]} */ services.userDesktopInfo = function(params) { var url = AMPConstant.jsonpRequestPath + AMPConstant.APIList.userDesktopInfo + "?type=" + params; return AmpUtils.doJsonpAjax(url); }; /** * 操作PC卡片的已读操作 */ services.updatePcCardMarkStatus = function(params) { var url = AMPConstant.jsonpRequestPath + AMPConstant.APIList.updatePcCardMarkStatus + "?userPcCardRecordJson=" + params; return AmpUtils.doJsonpAjax(url); }; /** * 获取任务中心的未读消息 */ services.getTagsMessages = function(params) { var url = AMPConstant.jsonpRequestPath + AMPConstant.APIList.getTagsMessages; return AmpUtils.doJsonpAjax(url, params); }; /** * 获取当前的用户详情是否显示状态 */ /* services.getUserDescSet = function() { var url = AMPConstant.jsonpRequestPath + AMPConstant.APIList.getUserDescSet; return AmpUtils.doJsonpAjax(url); }*/ /** * 更新用户是否显示详情页的接口 */ services.userCheckforView = function(param) { var url = AMPConstant.jsonpRequestPath + AMPConstant.APIList.userCheckforView + "?viewFlag=" + param; return AmpUtils.doJsonpAjax(url); }; /** * 获取任务侧边栏的卡片信息 */ services.getTaskSideCard = function() { var url = AMPConstant.jsonpRequestPath + AMPConstant.APIList.getTaskSideCard; return AmpUtils.doJsonpAjax(url); }; /** * 获取任务侧边栏的卡片信息(仅未读消息) */ services.getTaskSideCardOfUnreadMessage = function() { var url = AMPConstant.jsonpRequestPath + AMPConstant.APIList.getTaskSideCardOfUnreadMessage; return AmpUtils.doJsonpAjax(url); }; /** * 获取最近使用的数据 */ services.getrecUseServiceList = function() { var url = AMPConstant.jsonpRequestPath + AMPConstant.APIList.recUseServiceList; return AmpUtils.doJsonpAjax(url); }; /** * 点击应用数据收集 */ services.sendRecUseApp = function(params) { var url = AMPConstant.jsonpRequestPath + AMPConstant.APIList.sendRecUseApp + "?appId=" + params;; return AmpUtils.doJsonpAjax(url); }; /** * 更新桌面new状态 */ services.updateUserDesktopStatus = function(param) { var url = AMPConstant.jsonpRequestPath + AMPConstant.APIList.updateUserDesktopStatus + "?desktopId=" + param; return AmpUtils.doJsonpAjax(url); }; /** * 获取用户的皮肤 */ services.getUserSkin = function() { var url = AMPConstant.jsonpRequestPath + AMPConstant.APIList.getUserSkin; return AmpUtils.doJsonpAjax(url); }; /** * 更新用户的皮肤 */ services.switchSkin = function(param) { var skinName = param.skinName; var themeColor = param.themeColor; if (param.siteType != undefined) { var url = AMPConstant.jsonpRequestPath + AMPConstant.APIList.switchSkin + "?siteType=" + param.siteType; } else { var url = AMPConstant.jsonpRequestPath + AMPConstant.APIList.switchSkin + "?skinName=" + skinName + "&themeColor=" + themeColor; } return AmpUtils.doJsonpAjax(url); }; /** * 搜素中心添加搜索历史功能 */ services.userSearchHistory = function() { var url = AMPConstant.jsonpRequestPath + AMPConstant.APIList.userSearchHistory; return AmpUtils.doJsonpAjax(url); }; /** * 获取拓展项url */ services.getTopExtendList = function() { var url = AMPConstant.jsonpRequestPath + AMPConstant.APIList.getTopExtendList; return AmpUtils.doJsonpAjax(url); }; /** * 判断用户是否首次登陆门户的接口 */ services.getUserFirstLogin = function() { var url = AMPConstant.jsonpRequestPath + AMPConstant.APIList.getUserFirstLogin; return AmpUtils.doJsonpAjax(url); }; /** * 删除单条消息 */ services.setMsgsRead = function(param) { var url = AMPConstant.jsonpRequestPath + AMPConstant.APIList.setMsgsRead + "?msgIdsString=" + param; return AmpUtils.doJsonpAjax(url); }; /** * 所有消息置为已读 */ services.setAllTagMsgsRead = function(param) { var url = AMPConstant.jsonpRequestPath + AMPConstant.APIList.setAllTagMsgsRead + "?typeId=-1"; return AmpUtils.doJsonpAjax(url); }; /** * 侧边栏任务栏数据统计 */ services.getTaskCount = function(param) { var url = AMPConstant.taskCenterRequestPath + "sys/taskCenter/portalDataReceive/" + AMPConstant.APIList.getTaskCount; return AmpUtils.getTaskAjax(url); } /** * 右侧边栏代办任务、流程跟踪 数据接口 */ services.getTaskDbLcData = function(param) { var url = AMPConstant.taskCenterRequestPath + "sys/taskCenter/portalDataReceive/" + AMPConstant.APIList.getPortalDataTask + "?flag=" + param; return AmpUtils.getTaskAjax(url); } /** * 右侧边栏获取周期服务的数据 * pageNumber:页数 String 必填 * PageSize:个数 String 必填 */ services.getTaskZqfwData = function(params) { var pageNumber = params.pageNumber; var pageSize = params.pageSize; var url = AMPConstant.jsonpRequestPath + AMPConstant.APIList.readyAndOpenService + "?pageNumber=" + pageNumber + "&pageSize=" + pageSize; return AmpUtils.doJsonpAjax(url); } /** * * 更新引导页的阅读状态 */ services.updateUserReadGuidePage = function(param) { var url = AMPConstant.jsonpRequestPath + AMPConstant.APIList.updateUserReadGuidePage + "?isReadGuidePage=" + param; return AmpUtils.doJsonpAjax(url); } /** * 获取中英文切换的开关 */ services.getCurrentLocale = function() { var url = AMPConstant.jsonpRequestPath + AMPConstant.APIList.getCurrentLocale; return AmpUtils.doJsonpAjax(url); } /** * 获取登陆状态 */ services.checkLogin = function() { var url = AMPConstant.jsonpRequestPath + AMPConstant.APIList.checkLogin; return AmpUtils.doJsonpAjax(url); } /** * 更新当前中英文切换开关的语言 */ services.setCurrentLocale = function(param) { if (param == 'en_US') { param = 'en'; } else if (param == 'zh_CN') { param = 'zh'; } var url = AMPConstant.jsonpRequestPath + AMPConstant.APIList.setCurrentLocale + "?lang=" + param; return AmpUtils.doJsonpAjax(url); } /** * 查询用户收藏文件夹接口 */ services.getUserFavFolders = function() { var url = AMPConstant.jsonpRequestPath + AMPConstant.APIList.getUserFavFolders; return AmpUtils.doJsonpAjax(url); } /** * 我的收藏文件夹新增 */ services.saveUserFavFolder = function(param) { var url = AMPConstant.jsonpRequestPath + AMPConstant.APIList.saveUserFavFolder + "?folderName=" + param; return AmpUtils.doJsonpAjax(url); } /** * 保存整理接口 */ services.saveFavFolderOperates = function(params) { var url = AMPConstant.jsonpRequestPath + AMPConstant.APIList.saveFavFolderOperates + "?userFavFolderOperInfo=" + params; return AmpUtils.doJsonpAjax(url); } /** * 教师版 set移动端应用数据 * @type {[type]} */ services.setCurrentEnv = function(param) { var url = AMPConstant.jsonpRequestPath + AMPConstant.APIList.setCurrentEnv + "?curEnvTerminal=" + param; return AmpUtils.doJsonpAjax(url); }; services.dataAnalysisException = function(params) { var url = AMPConstant.jsonpRequestPath + AMPConstant.APIList.dataAnalysisException + "?desc=" + params; return AmpUtils.doJsonpAjax(url); }; /** * 任务中心待办已读接口 */ services.updateReceiveDate = function(params) { var APP_ID = params.APP_ID; var TASK_ID = params.TASK_ID; var url = AMPConstant.taskCenterRequestPath + "sys/taskCenter/modules/todoTask/" + AMPConstant.APIList.updateReceiveDate + "?APP_ID =" + APP_ID + "&TASK_ID=" + TASK_ID; return AmpUtils.getTaskAjax(url); } })(window.AmpServices = window.AmpServices || {}); ; (function(slide, undefined) { //缓存全局变量 slide.space = { //当滑动动画正在执行时,值为true moveFlag: false, //动画时间 animateTime: AmpGlobal.animateTimes, //操作系统 os: detectOS(), macData: { wheelStart: false, maxWheel: 0, preDelta: 0, state: 'increase' } }; /** * 初始化 */ slide.init = function() { var slideDoms = findAll(document, '[role="slide"]'); //初始化容器位置 slidePositionInit(slideDoms); //容器翻页 slidePageInit(slideDoms); //滚轮事件监听 windowScrollEvent(); }; slide.slideAnimate = function(direct, toHideDom) { slideAnimate(direct, toHideDom); } function slidePositionInit(slideDoms) { var slideDomsLen = slideDoms.length; var winHeight = window.innerHeight; var winWidth = window.innerWidth; for (var i = 0; i < slideDomsLen; i++) { var slideItem = slideDoms[i]; var index = parseInt(slideItem.getAttribute('slide-index'), 10); var direction = slideItem.getAttribute('slide-direction'); var animateClass = 'bh-slide-animate-v'; var top = 0; var left = 0; var opacity = 0; if (index !== 1) { if (direction === 'vertical') { top = winHeight; animateClass = 'bh-slide-animate-v'; } else { left = winWidth; animateClass = 'bh-slide-animate-h'; } opacity = 0; } else { if (direction === 'vertical') { animateClass = 'bh-slide-animate-v'; } else { animateClass = 'bh-slide-animate-h'; } opacity = 1; } slideItem.style.top = top + 'px'; slideItem.style.left = left + 'px'; slideItem.style.height = winHeight + 'px'; slideItem.style.width = winWidth + 'px'; slideItem.style.opacity = opacity; if (navigator.userAgent.indexOf("MSIE 9.0") > 0) { slideItem.className + " " + animateClass; } else { slideItem.classList.add(animateClass); } } //基础版隐藏第一页页脚部分 if (AmpGlobal.platformType == '0') { $('#ampLoginInBottomDesc').hide(); } } function slidePageInit(slideDoms) { //基础版取消鼠标滚动的事件监听 if (AmpGlobal.platformType == '0') { return; } var slideDomsLen = slideDoms.length; var slidePageHtml = ''; var pageItemTemplate = '
'; for (var i = 0; i < slideDomsLen; i++) { var activeClass = i !== 0 ? '' : 'amp-active'; slidePageHtml += pageItemTemplate.replace('@activeClass', activeClass); } var pageItemHeight = 16; var pageItemMargom = 8; var pageHeight = slideDomsLen * pageItemHeight + (slideDomsLen - 1) * pageItemMargom; var top = 'calc(50% - ' + parseInt(pageHeight / 2, 10) + 'px);'; slidePageHtml = '
' + slidePageHtml + '
'; $('#ampEhallBody').append(slidePageHtml); slidePageEventsListen(); } function slidePageEventsListen() { $('#ampSlidePage').on('click', 'div', function() { var $item = $(this); if ($item.hasClass('amp-active')) { return; } var clickIndex = $item.index(); var $activeItem = $('#ampSlidePage').children('.amp-active'); var activeIndex = $activeItem.index(); var direct = clickIndex > activeIndex ? 'down' : 'up'; var toHideArticle = $('body').find('article[role="slide"][slide-index="' + (activeIndex + 1) + '"]')[0]; var toActiveArticle = $('body').find('article[role="slide"][slide-index="' + (clickIndex + 1) + '"]')[0]; slideAnimate(direct, toHideArticle, toActiveArticle); }); } //移动端滑动处理 var startX, startY, moveEndX, moveEndY, X, Y; var touchClassBody = document.getElementById('ampClassifyArticle'); var touchEhallBody = document.getElementById('ampEhallArticle'); var touchLoginBody = document.getElementById('ampLoginRoleNav'); function windowScrollEvent() { //基础版取消鼠标滚动的事件监听 if (AmpGlobal.platformType == '0') { return; } if (document.addEventListener) { document.addEventListener('DOMMouseScroll', windowScrollHandle, false); if (window.windowScrollHandle) { touchClassBody.addEventListener('touchmove', windowScrollHandle, false); touchEhallBody.addEventListener('touchmove', windowScrollHandle, false); touchLoginBody.addEventListener('touchmove', windowScrollHandle, false); window.addEventListener('touchload', windowScrollEvent, false); } if (window.getTouchstartXY) { touchClassBody.addEventListener('touchstart', getTouchstartXY, false); touchEhallBody.addEventListener('touchstart', getTouchstartXY, false); touchLoginBody.addEventListener('touchstart', getTouchstartXY, false); } // document.addEventListener('touchend', windowScrollHandle, false); } //W3C window.onmousewheel = document.onmousewheel = windowScrollHandle; //IE/Opera/Chrome } /** * 获取移动端的滑动的坐标 */ function getTouchstartXY(e) { startX = e.touches[0].pageX; startY = e.touches[0].pageY; } /** * 滚动事件处理 * @param e */ function windowScrollHandle(e) { var direct = ''; var delta = ''; var event = e || window.event; //移动端判断滚动的方向 if (event.wheelDelta == undefined && (event.detail == undefined || !event.detail)) { event.preventDefault(); moveEndX = event.changedTouches[0].pageX; moveEndY = event.changedTouches[0].pageY; X = moveEndX - startX; Y = moveEndY - startY; if (Y > 0 || Y == 0) { direct = 'down'; delta = 'down'; } else if (Y < 0) { direct = 'up'; delta = 'up'; } } else { //滚轮事件的处理 if (event.wheelDelta) { //IE/Opera/Chrome delta = event.wheelDelta; } else if (event.detail) { //Firefox delta = event.detail; } //判断滚动方向 if (delta) { if (delta > 0) { direct = 'up'; } else { direct = 'down'; } } } // if(slide.space.os === 'mac'){ // var macData = slide.space.macData; // if(delta){ // if(!macData.wheelStart){ // if(delta === -3 || delta === 3){ // macData.wheelStart = true; // } // } // // if(delta > 0){ // if(delta > macData.maxWheel){ // macData.state = 'increase'; // macData.maxWheel = delta; // }else{ // // } // } // }else{ // if(!slide.space.macData.wheelStart){ // slide.space.macData.wheelStart = true; // } // } // } if (delta) { var targetDom = event.target; var slideDom = null; if (targetDom.getAttribute('role') === 'slide') { slideDom = targetDom; } else { slideDom = findParent(targetDom, '[role="slide"]'); } //当滚动容器不是滑块容器时不予处理 if (slideDom) { //在mac下,滚动值是3时不予处理 if (slide.space.os === 'mac') { if (delta >= -3 && delta <= 3) { return; } } slideAnimate(direct, slideDom); } } // if(slide.space.os === 'mac'){ // } } /** * 执行滑块动画 * @param direct 滚动方向 * @param toHideDom 要隐藏的节点 */ function slideAnimate(direct, toHideDom, toActiveDom) { if (slide.space.moveFlag) { return; } var toActiveClickIndex = 0; var toHideIndex = parseInt(toHideDom.getAttribute('slide-index'), 10); if (toActiveDom != undefined) { toActiveClickIndex = parseInt(toActiveDom.getAttribute('slide-index'), 10); } var parentDom = toHideDom.parentNode; var slidesDom = getSlidesDom(parentDom); var slidesLen = slidesDom.length; var animateType = ''; var toHideAnimateValue = ''; var toActiveAnimateValue = ''; var toActiveIndex = 0; var winHeight = window.innerHeight; var roleNavTop = 0; var ampHeaderTop = 0; var $toShowRoleNav = null; var $toHideRoleNav = null; var $toShowHeader = null; var $toHideHeader = null; var windowHieght = window.innerHeight; var $toShowNiceScrollContainer = null; var $toHideNiceScrollContainer = null; if (direct === 'up') { if (toHideIndex === 1) { return; } //针对复旦模板 if (!AMPConfigure.showLoginPageFlag && AMPConfigure.fudanEhallCustom) { AmpUtils.animateLoginIn(); } toActiveIndex = toHideIndex - 1; animateType = 'top'; toHideAnimateValue = winHeight + 'px'; toActiveAnimateValue = '0px'; if (AmpGlobal.showLoginPageFlag) { if (toActiveClickIndex) { toActiveIndex = toActiveClickIndex; toHideAnimateValue = 2 * winHeight + 'px'; } if (toActiveIndex === 2) { //判断办事大厅是否显示角色 var $ehallRoleNav = $('#ampEhallRoleNavPlaceHolder'); if ($ehallRoleNav.length > 0) { roleNavTop = (windowHieght + $ehallRoleNav.offset().top) + 'px'; ampHeaderTop = (windowHieght + $('#ampEhallHeader').offset().top) + 'px'; } else { roleNavTop = 0; ampHeaderTop = 0; } $toShowRoleNav = $('#ampEhallRoleNav'); $toHideRoleNav = $('#ampClassifyRoleNav'); $toShowHeader = $('#ampEhallHeaderContent'); $toHideHeader = $('#ampLoginHeaderContent'); $toShowNiceScrollContainer = $('#ampEhallArticle').parent(); $toHideNiceScrollContainer = $('#ampClassifyArticle'); $toHideNiceScrollContainer = $('#ampLoginArticle').parent(); } else if (toActiveIndex === 1) { AmpUtils.animateLoginIn(); ampHeaderTop = (windowHieght + $('#ampLoginHeader').offset().top) + 'px'; roleNavTop = ($('#ampEhallRoleNav').offset().top) + 'px'; $toHideHeader = $('#ampEhallHeaderContent'); $toShowHeader = $('#ampLoginHeaderContent'); $toHideRoleNav = $('#ampEhallRoleNav'); $toShowNiceScrollContainer = $('#ampLoginArticle').parent(); $toHideNiceScrollContainer = $('#ampEhallArticle').parent(); $toHideNiceScrollContainer = $('#ampClassifyArticle'); } } else { var $ehallRoleNav = $('#ampEhallRoleNavPlaceHolder'); if ($ehallRoleNav.length > 0) { roleNavTop = (windowHieght + $ehallRoleNav.offset().top) + 'px'; } else { roleNavTop = 0; } $toShowRoleNav = $('#ampEhallRoleNav'); $toHideRoleNav = $('#ampClassifyRoleNav'); $toShowNiceScrollContainer = $('#ampEhallArticle').parent(); $toHideNiceScrollContainer = $('#ampClassifyArticle'); } } else if (direct === 'down') { if (toHideIndex === slidesLen) { return; } //针对复旦模板 if (!AMPConfigure.showLoginPageFlag && AMPConfigure.fudanEhallCustom) { AmpUtils.animateLoginOut(); } toActiveIndex = toHideIndex + 1; animateType = 'top'; toHideAnimateValue = '-' + winHeight + 'px'; toActiveAnimateValue = '0px'; if (AmpGlobal.showLoginPageFlag) { if (toActiveClickIndex) { toActiveIndex = toActiveClickIndex; toHideAnimateValue = '-' + 2 * winHeight + 'px'; } if (toActiveIndex == 2) { AmpUtils.animateLoginOut(); var $ehallRoleNav = $('#ampEhallRoleNavPlaceHolder'); if ($ehallRoleNav.length > 0) { roleNavTop = ($ehallRoleNav.offset().top - windowHieght) + 'px'; } else { roleNavTop = 0; } ampHeaderTop = ($('#ampEhallHeader').offset().top - windowHieght) + 'px'; $toShowRoleNav = $('#ampEhallRoleNav'); $toHideRoleNav = $('#ampClassifyRoleNav'); $toHideHeader = $('#ampLoginHeaderContent'); $toShowHeader = $('#ampEhallHeaderContent'); $toShowNiceScrollContainer = $('#ampEhallArticle').parent(); $toHideNiceScrollContainer = $('#ampLoginArticle').parent(); } else if (toActiveIndex == 3) { AmpUtils.animateLoginOut(); roleNavTop = ($('#ampClassifyRoleNavPlaceHolder').offset().top - windowHieght) + 'px'; ampHeaderTop = ($('#ampEhallHeader').offset().top) + 'px'; $toShowRoleNav = $('#ampClassifyRoleNav'); $toHideRoleNav = $('#ampEhallRoleNav'); $toHideHeader = $('#ampEhallHeaderContent'); $toShowNiceScrollContainer = $('#ampClassifyArticle'); $toHideNiceScrollContainer = $('#ampEhallArticle').parent(); } } else { roleNavTop = ($('#ampClassifyRoleNavPlaceHolder').offset().top - windowHieght) + 'px'; $toShowRoleNav = $('#ampClassifyRoleNav'); $toHideRoleNav = $('#ampEhallRoleNav'); $toShowNiceScrollContainer = $('#ampClassifyArticle'); $toHideNiceScrollContainer = $('#ampEhallArticle').parent(); } } else if (direct === 'left') { toActiveIndex = toHideIndex + 1; } else if (direct === 'right') { toActiveIndex = toHideIndex + 1; } var toActiveDom = parentDom.querySelector('[slide-index="' + toActiveIndex + '"]'); toHideDom.style[animateType] = toHideAnimateValue; toHideDom.style.opacity = 0; if (navigator.userAgent.indexOf("MSIE 9.0") > 0) { toHideDom.className = toHideDom.className.replace('amp-active', ''); } else { toHideDom.classList.remove('amp-active'); } toActiveDom.style[animateType] = toActiveAnimateValue; toActiveDom.style.opacity = 1; if (navigator.userAgent.indexOf("MSIE 9.0") > 0) { toActiveDom.className = toActiveDom.className + ' amp-active'; } else { toActiveDom.classList.add('amp-active'); } var $slidePage = $('#ampSlidePage'); var $slidePageChild = $slidePage.children(); $($slidePageChild[toActiveIndex - 1]).addClass('amp-active'); $($slidePageChild[toHideIndex - 1]).removeClass('amp-active'); var $ehallRoleNavAnimateBlock = $('#ampEhallRoleNavAnimateBlock'); if (AmpGlobal.showLoginPageFlag) { var $ampEhallHeader = $('#ampTplHeader'); if (toActiveIndex !== 3) { $ampEhallHeader.removeClass('amp-hide'); } else { $ampEhallHeader.addClass('amp-hide'); } if (toActiveIndex !== 1) { $ehallRoleNavAnimateBlock.removeClass('amp-hide'); } else { $ehallRoleNavAnimateBlock.addClass('amp-hide'); } setTimeout(function() { $ehallRoleNavAnimateBlock.css('top', roleNavTop); $ampEhallHeader.css('top', ampHeaderTop); }, 10); $toHideRoleNav.addClass('amp-hide').removeClass('amp-active'); $toHideHeader.addClass('amp-hide').removeClass('amp-active');; } else { $ehallRoleNavAnimateBlock.removeClass('amp-hide'); setTimeout(function() { $ehallRoleNavAnimateBlock.css('top', roleNavTop); }, 10); $toHideRoleNav.addClass('amp-hide'); } AmpUtils.niceScrollHide($toHideNiceScrollContainer); slide.space.moveFlag = true; if (AmpGlobal.showLoginPageFlag) { setTimeout(function() { slide.space.moveFlag = false; AmpUtils.niceScrollResize($toShowNiceScrollContainer); if (toActiveIndex !== 3) { $toShowHeader.removeClass('amp-hide'); $ampEhallHeader.addClass('amp-hide'); } if (toActiveIndex !== 1) { $toShowRoleNav.removeClass('amp-hide'); $ehallRoleNavAnimateBlock.addClass('amp-hide'); } }, slide.space.animateTime + 80); } else { setTimeout(function() { slide.space.moveFlag = false; AmpUtils.niceScrollResize($toShowNiceScrollContainer); $toShowRoleNav.removeClass('amp-hide'); $ehallRoleNavAnimateBlock.addClass('amp-hide'); }, slide.space.animateTime + 10); } } function getSlidesDom(dom) { var childrenDom = dom.children; var childrenLen = childrenDom.length; var slidesDom = []; for (var i = 0; i < childrenLen; i++) { var childDom = childrenDom[i]; if (childDom.getAttribute('role') === 'slide') { slidesDom.push(childDom); } } return slidesDom; } function findChild(element, query) { // const match = prepareQuery(query); //不兼容 var match = prepareQuery(query); for (var i = 0; i < element.children.length; i++) { //const node = element.children[i]; //不兼容 var node = element.children[i]; if (match(node)) { return node; } } return null; } function findParent(element, query) { // const match = prepareQuery(query);//不兼容 var match = prepareQuery(query); var parent = element.parentNode; for (;;) { if (!parent || parent === document) { return null; } if (match(parent)) { return parent; } parent = parent.parentNode; } } function prepareQuery(query) { return query instanceof Function ? query : function(element) { return match(element, query); } } function match(element, query) { if (query[0] === '.') { return element.classList.contains(query.slice(1)); } else if (query[0] === '[') { var matchAttr = query.match(/\[([a-zA-Z]*)="?([a-zA-Z]*)"?]/); var key = matchAttr[1]; var value = matchAttr[2]; var attrs = element.attributes; var attrsLen = attrs.length; if (attrsLen > 0) { for (var i = 0; i < attrsLen; i++) { var attrItem = attrs[i]; if (attrItem.localName === key && attrItem.value === value) { return true; } if (i === attrsLen - 1) { return false; } } } } return element.nodeName.toLowerCase() === query; } // function hasClass(target, className){ // let flag = false; // if(target){ // const targetClass = target.className; // const re = new RegExp('^'+className+'$|^'+className+' | '+className+' | '+className+'$'); // if(re.test(targetClass)){ // flag = true; // } // } // return flag; // } function find(dom, selector) { return dom.querySelector(selector); } function findAll(dom, selector) { return dom.querySelectorAll(selector); } function getWindowPosition() { var win = window; var height = window.innerHeight; } function detectOS() { var sUserAgent = navigator.userAgent; var isMac = (navigator.platform === "Mac68K") || (navigator.platform === "MacPPC") || (navigator.platform === "Macintosh") || (navigator.platform === "MacIntel"); if (isMac) { return "mac"; } else { return "window"; } } })(window.slide = window.slide || {}); ; (function(taskCenter, undefined) { taskCenter.getTaskDatas = function() { if (AmpGlobal.loginFlag) { var refresh_time = AMPConfigure.taskcenterDataRefreshTime || 1; //分钟 var time = parseInt(refresh_time) * 60000; //获取任务中心的数据并放入session中 sendTaskAjax(); window.setInterval(function() { sendTaskAjax(); }, time); } } function sendTaskAjax() { var dataUrl = AMPConstant.taskCenterRequestPath + 'sys/taskCenter/portalDataReceive/getAllPortalTask.do'; $.ajax({ type: 'GET', url: dataUrl, dataType: 'jsonp', data: { 'flag': 1 }, jsonp: 'callback', cache: false, success: function(data) { if (data) { sessionStorage.setItem('ampTaskCenterDatas', JSON.stringify(data)); } }, }); } })(window.AmpTaskCenter = window.AmpTaskCenter || {}); /** * 拼装html模板 */ ; (function(template, undefined) { /** * 获取APP卡片html * @param data * @param customClass 自定义样式名 * @returns {*|jQuery} */ //template.getAppCardHtml = function(data, customClass = params.customClass;) { template.getAppCardHtml = function(params) { var data = params.data; var customClass = params.customClass; var html = $('#tpl-app-card').html(); customClass = customClass ? customClass : ''; var img = data.middleIcon; var title = data.appName; var category = AmpUtils.getCategoryListStr(data.categoryList); var categorytooltip = category; var favoriteCount = data.favoriteCount; var starHtml = ''; if (data.assessAvgScore != undefined) { starHtml = template.getAppStarHtml(data.assessAvgScore); } var permissionHtml = template.getAppPermissionHtml(data.hasPermission); var attrStr = AmpUtils.assemblyAppAttributesToStr(data); var ampAppdescHtml = template.getAppDescHtml(data.description, attrStr); var appType = data.appType; var ehallAppHotNewFlagHtml = ''; var apphot = '热'; var appnew = '新'; if (AmpGlobal.currentLang == "en_US") { apphot = $.i18n("hot"); appnew = $.i18n("new"); } if (appType == 3) { //最热 ehallAppHotNewFlagHtml = $('#tpl-ehall-app-hot-flag-card').html().replace('@text', apphot); } else if (appType == 2) { //最新 ehallAppHotNewFlagHtml = $('#tpl-ehall-app-new-flag-card').html().replace('@text', appnew); } else { //推荐 ehallAppHotNewFlagHtml = ''; } html = html.replace('@customClass', customClass).replace('@img', img) .replace('@title', title).replace('@category', category) .replace('@star', starHtml).replace('@permission', permissionHtml) .replace('@attributes', attrStr) .replace('@ehallAppHotNewFlag', ehallAppHotNewFlagHtml) .replace('@catetooltip', categorytooltip) .replace('@permissionBig', permissionHtml); //放大模式下的卡片 var hoverHtml = template.getHoverAppHtml(params); var groupHtml = $('#tpl-hover-app-card-group').html().replace('@content', html + hoverHtml); return groupHtml; }; template.getAppDescHtml = function(data, attrStr) { if (data) { return $('#tpl-ehall-app-card-desc').html().replace('@attributeBig', attrStr); } else { return ''; } } template.getHoverAppHtml = function(params) { var data = params.data; var customClass = params.customClass; var html = $('#tpl-app-card').html(); customClass = customClass ? customClass : ''; var img = data.middleIcon; var title = data.appName; var category = AmpUtils.getCategoryListStr(data.categoryList); var categorytooltip = category; var favoriteCount = data.favoriteCount; var starHtml = ''; if (data.assessAvgScore != undefined) { starHtml = template.getAppStarHtml(data.assessAvgScore); } var permissionHtml = template.getAppNewPermissionHtml(data.hasPermission); var attrStr = AmpUtils.assemblyAppAttributesToStr(data); //判断hover状态 i图标是否显示 即需要判断是否有详情页 var iShowHtml = ''; if (data.appPc != undefined) { if (data.appPc.isEnableDescription) { iShowHtml = template.getiIconHtml(attrStr); } } var ehallAppHotNewFlagHtml = ''; var appType = data.appType; var apphot = '热'; var appnew = '新'; var collected = "人收藏"; if (AmpGlobal.currentLang == "en_US") { apphot = $.i18n("hot"); appnew = $.i18n("new"); collected = $.i18n("collected"); } if (appType == 3) { //最热 ehallAppHotNewFlagHtml = $('#tpl-ehall-app-hot-flag-card').html().replace('@text', apphot); } else if (appType == 2) { //最新 ehallAppHotNewFlagHtml = $('#tpl-ehall-app-new-flag-card').html().replace('@text', appnew); } else { //推荐 ehallAppHotNewFlagHtml = ''; } var ie9flag = ''; if (navigator.userAgent.indexOf("MSIE 9.0") > 0) { ie9flag = 'amp-app-card-hover-big-IE9'; } var ampAppdescHtml = template.getAppDescHtml(data.description, attrStr); var hoverHtml = $('#tpl-hover-app-card').html() .replace('@permission', permissionHtml) //放大模式下的卡片 .replace('@imgBig', img) .replace('@starBig', starHtml) .replace('@titleBig', title) .replace('@Bigtitle', title) .replace('@categoryBig', category) .replace('@favoriteCount', favoriteCount) .replace('@attributeBig', attrStr) .replace('@attributedescBig', attrStr) .replace('@catetooltip', categorytooltip) .replace('@iShowHtml', iShowHtml) .replace('@appCardHoverHotNewFlag', ehallAppHotNewFlagHtml) .replace('@bibTitleTip', title) .replace('@collected', collected).replace('@classie9', ie9flag); return hoverHtml; } template.getServiceAppCardHtml = function(params) { var data = params.data; var customClass = params.customClass; var html = $('#tpl-service-app-card').html(); customClass = customClass ? customClass : ''; var img = data.middleIcon; var title = data.appName; var category = AmpUtils.getCategoryListStr(data.categoryList); var categorytooltip = category; var starHtml = ''; if (data.assessAvgScore != undefined) { starHtml = template.getAppStarHtml(data.assessAvgScore); } var permissionHtml = template.getAppPermissionHtml(data.hasPermission); var attrStr = AmpUtils.assemblyAppAttributesToStr(data); var appType = data.appType; var ehallAppHotNewFlagHtml = ''; var apphot = '热'; var appnew = '新'; if (AmpGlobal.currentLang == "en_US") { apphot = $.i18n("hot"); appnew = $.i18n("new"); } if (appType == 3) { //最热 ehallAppHotNewFlagHtml = $('#tpl-ehall-app-hot-flag-card').html().replace('@text', apphot); } else if (appType == 2) { //最新 ehallAppHotNewFlagHtml = $('#tpl-ehall-app-new-flag-card').html().replace('@text', appnew); } else { //推荐 ehallAppHotNewFlagHtml = ''; } html = html.replace('@customClass', customClass).replace('@img', img) .replace('@title', title).replace('@category', category) .replace('@star', starHtml).replace('@permission', permissionHtml) .replace('@attributes', attrStr) .replace('@ehallAppHotNewFlag', ehallAppHotNewFlagHtml) .replace('@catetooltip', categorytooltip); return html; }; /** * 简单应用卡片 * @param data * @returns {html} */ template.getAppCardSingleHtml = function(data) { var html = $('#tpl-app-card-single').html(); var img = data.middleIcon; var title = data.appNameNew; if (!title || typeof(title) == "undefined") { title = data.appName; } var t = AmpUtils.getCutString({ width: 120, line: 2, string: title, chFontSize: 14 }).string html = html.replace('@img', img).replace( '@title', t || title ); return html; }; /** * 收藏简单应用卡片 * @param data * @returns {html} */ template.getFavAppCardSingleHtml = function(data) { var html = $('#tpl-app-card-single-myfavorite').html(); var img = data.middleIcon; var title = data.appName; html = html.replace('@img', img).replace('@title', title); return html; }; /** * i图片显示的 tpl */ template.getiIconHtml = function(attributedesc) { return $('#tpl-hover-app-card-i-icon').html().replace(' @attributedescBig', attributedesc); } /** * 所有信息卡片和简单卡片组 * @param data * @returns {html} */ template.getAppCardGroupHtml = function(data) { var html = $('#tpl-app-card-group').html(); return html.replace('@content', data); }; /** * 带分类条的应用列表块 * @param data * @returns {html} */ template.getAppsCardGroupContainer1Html = function(data) { var html = $('#tpl-bar-apps-block-1').html(); return html.replace('@title', data.title).replace('@content', data.content); }; /** * 简单应用样式,缩小版 * @param data * @param type complex single * @returns {*|jQuery} */ template.getSingleAppHtml = function(data, type) { var html = ''; if (type == 'single') { html = $('#tpl-app-single').html(); var img = data.middleIcon; var title = data.appName; var attrStr = AmpUtils.assemblyAppAttributesToStr(data); //判断hover状态 i图标是否显示 即需要判断是否有详情页 var iShowHtml = ''; if (data.appPc != undefined) { if (data.appPc.isEnableDescription) { iShowHtml = template.getSingleClassifyIconHtml(attrStr); } } html = html.replace('@img', img) .replace('@title', title) .replace('@attributes', attrStr) .replace('@iShowIconHtml', iShowHtml); } else if (type == 'complex') { html = $('#tpl-app-complex').html(); var img = data.middleIcon; var cardName = data.cardName; var cardNickName = data.cardId; var appId = data.appId; var cardWid = data.wid; // var cardId = data.cardId; var desktopId = data.desktopId; var attrStr = AmpUtils.assemblyAppAttributesToStr(data); html = html.replace('@img', img).replace('@title', cardName) .replace('@attributes', attrStr) .replace('@cardNickName', cardNickName) .replace('@cardName', cardName) .replace('@hasUnReadMark', data.hasUnReadMarkClass) .replace('@hasBtnClass', data.hasBtnClass) .replace('@cardWid', cardWid); } return html; }; template.getSingleClassifyIconHtml = function(data) { return $('#tpl-app-single-i-icon').html().replace('@attributedescBig', data); } /** * 获取星级html * @param score 星级分数 * @returns {string} */ template.getAppStarHtml = function(score) { // score = parseInt(score, 10); if (!score) { score = 0; } score = score.toFixed(0); var html = ''; for (var i = 0; i < 5; i++) { if (i < score) { html += ''; } else { html += ''; } } return '
' + html + '
'; }; /** * APP无权限 * @param permission * @returns {string} */ template.getAppPermissionHtml = function(permission) { var html = ''; if (permission != undefined) { var cnStr = '无权限'; if (AmpGlobal.currentLang == "en_US") { cnStr = $.i18n("unauthorized"); } html = permission ? '' : '
' + cnStr + '
'; } return html; }; /** * 2017-03-31 * 鼠标移上去的卡片添加无权限的标志 */ template.getAppNewPermissionHtml = function(permission) { var html = ''; if (permission != undefined) { html = permission ? '' : '
'; } return html; }; /** * APP翻页按钮 * @param pageCount 总页数 * @param options 传入参数{id: 给分页块加id} * @returns {string} */ template.getAppPageHtml = function(pageCount, options) { var pageHtml = '
@page
'; var pageItemsHtml = ''; var id = options && options.id ? options.id : ''; var customClass = options.customClass ? options.customClass : ''; for (var i = 0; i < pageCount; i++) { var activeClass = i !== 0 ? '' : 'amp-active'; pageItemsHtml += '
'; } pageHtml = pageHtml.replace('@page', pageItemsHtml).replace('@id', id) .replace('@customClass', customClass); return pageHtml; }; /** * 复旦办事大厅的翻页 */ template.getEhallFudanPageHtml = function(pageCount, options) { var roleData = AMPConfigure.role_data; var roleDataLen = roleData.length; var pageHtml = ''; for (var i = 0; i < roleDataLen; i++) { var roleItem = roleData[i]; var roleId = roleItem.id; var activeClass = i !== (roleDataLen - 1) ? '' : 'amp-active'; pageHtml += '
'; } return pageHtml; }; /** * 角色tab * @param tabData * @returns {string} */ template.getRoleTabHtml = function(tabData) { var tabHtml = ''; var tabItemHtml = '
' + '

@chTitle

' + '
@enTitle
' + '
'; var tabLen = tabData.length; for (var i = 0; i < tabLen; i++) { var tabItemData = tabData[i]; var activeClass = i > 0 ? '' : 'amp-active'; var chTitle = tabItemData.title; var enTitle = tabItemData.enTitle ? tabItemData.enTitle : ''; tabHtml += tabItemHtml.replace('@activeClass', activeClass) .replace('@chTitle', chTitle).replace('@enTitle', enTitle); } tabHtml += ''; return tabHtml; }; /** * 角色item * @param data * @returns {html} */ template.getRoleNavHtml = function(data) { var roleData = AMPConfigure.role_data; var roleDataLen = roleData.length; var customClass = data.customClass || ''; var initRoleId = data.roleId; if (roleDataLen >= 4) { customClass += ' amp-ehall-nav-' + roleDataLen; } var roleItemHtml = $('#tpl-role-nav-item').html(); if (AmpGlobal.currentLang == "en_US") { roleItemHtml = $('#tpl-role-nav-item-en').html(); } var navBlockId = data && data.id ? data.id : ''; var templateHtml = ''; for (var i = 0; i < roleDataLen; i++) { var roleItem = roleData[i]; var chTitle = roleItem.name; var enTitle = roleItem.englishName; var roleId = roleItem.id; var activeClass = roleId !== initRoleId ? '' : 'amp-active'; templateHtml += roleItemHtml.replace('@chTitle', chTitle) .replace('@enTitle', enTitle).replace('@activeClass', activeClass) .replace('@roleId', roleId); } var roleHtml = $('#tpl-role-nav').html().replace('@content', templateHtml) .replace('@customClass', customClass).replace('@navId', navBlockId); return roleHtml; }; /** * 带分类条的应用列表块 * @param data * @returns {string|XML} */ template.getBarAppsBlockHtml = function(data) { var clearClass = data.clearClass ? '' : 'amp-hide'; var blockHtml = $('#tpl-bar-apps-block').html(); var deleteAllResults = "清空结果"; if (AmpGlobal.currentLang == "en_US") { deleteAllResults = $.i18n("deleteAllResults"); } return blockHtml.replace('@title', data.title).replace('@apps', data.apps) .replace('@count', data.count).replace('@clearClass', clearClass).replace("@deleteAllResults", deleteAllResults); }; /** * 场景label列表 * @param labelData * @returns {string} */ template.getLabelsHtml = function(labelData) { var labelsHtml = ''; var labelLineTemplate = $('#tpl-label-line').html(); var labelLineItemTemplate = $('#tpl-label-line-item').html(); var cnAllStr = '全部'; if (AmpGlobal.currentLang == "en_US") { cnAllStr = $.i18n("all"); } if (labelData) { var labelDataLen = labelData.length; if (labelDataLen > 0) { for (var i = 0; i < labelDataLen; i++) { var topLabelItem = labelData[i]; var topLableName = topLabelItem.serviceName; if (AmpGlobal.currentLang == "en_US") { if (1 == topLabelItem.serviceId) { topLableName = $.i18n("serviceRole"); } else if (2 == topLabelItem.serviceId) { topLableName = $.i18n("serviceType"); } else if (0 == topLabelItem.serviceId) { topLableName = $.i18n("serviceScene"); } else if (3 == topLabelItem.serviceId) { topLableName = $.i18n("serviceMethod"); } else if (6 == topLabelItem.serviceId) { topLableName = $.i18n("serviceSector"); } } var topLableId = topLabelItem.serviceId; var childLabels = topLabelItem.labels; var childLabelsLen = childLabels.length; var childLabelHtml = ''; for (var k = 0; k < childLabelsLen; k++) { var childLabel = childLabels[k]; var childLabelName = childLabel.lableName; var childLabelId = childLabel.labelId; var hasSubLabelFlag = ''; var labelType = ''; hasSubLabelFlag = (childLabel.subLabelList != null && childLabel.subLabelList.length > 0) ? "hasSubLabelFlag" : ""; if (k === 0) { childLabelHtml += labelLineItemTemplate .replace('@labelName', cnAllStr).replace('@labelId', 'all') .replace('@active', 'amp-active').replace('@labelFlag', 'all') .replace('@labelType', topLableId) .replace('@hasSubLabelFlag', ''); } childLabelHtml += labelLineItemTemplate .replace('@labelName', childLabelName).replace('@labelId', childLabelId) .replace('@active', '').replace('@labelFlag', '') .replace('@hasSubLabelFlag', hasSubLabelFlag) .replace('@labelType', topLableId); } // labelsHtml += '
'+topLableName+'
'; labelsHtml += labelLineTemplate .replace('@serviceId', topLableId).replace('@labelName', topLableName) .replace('@labelList', childLabelHtml); } } } return labelsHtml; }; /** * 侧边栏添加widget卡片 * @returns {*|jQuery} */ template.getWidgetAddCardAsideHtml = function() { var addApps = "添加应用"; if (AmpGlobal.currentLang == "en_US") { addApps = $.i18n("addApps"); } return $('#tpl-widget-add-card-aside').html().replace("@addApps", addApps); }; /** * 主区域添加widget卡片 */ template.getWidgetAddCardMainHtml = function() { var addAppCards = "添加应用卡片"; var styleEn = ";" if (AmpGlobal.currentLang == "en_US") { addAppCards = $.i18n("addAppCards"); styleEn = 'style="margin-left: -44px"'; } return $('#tpl-widget-add-card-main').html().replace("@addAppCards", addAppCards).replace("@styleEn", styleEn); }; /** * 主区域拖拽widget卡片工具 */ template.getWidgetDragCardMainHtml = function() { var selectTheApp = "从左侧选择需要的应用卡片"; if (AmpGlobal.currentLang == "en_US") { selectTheApp = $.i18n("selectTheApp"); } return $('#tpl-widget-drag-card-main').html().replace("@selectTheApp", selectTheApp); }; /** * 失去权限的widget */ template.getWidgetLostPermissionCard = function(params) { var widgetId = params.widgetId; var widgetWid = params.widgetWid; var attrParams = params.widgetsJsonData ? params.widgetsJsonData[params.widgetId] : ''; var attrParamsHtm = ' '; if (attrParams) { for (var p in attrParams) { attrParamsHtm += '' + p + ' = "' + attrParams[p] + '" '; } attrParamsHtm += ' widget_title_enus = "' + params.widgetTitleEnus + '" '; } return $('#tpl-widget-lost-permission-card').html() .replace('@content', '<' + widgetId + attrParamsHtm + '>') .replace('@widgetid', widgetId).replace('@widgetWid', widgetWid); } /** * 主区域widget卡片 * @param widgetId * @returns {void|string|XML|*|jQuery} */ // template.getWidgetMainItemHtml = function(widgetId, dragClass, widgetWid, recommedCard) { template.getWidgetMainItemHtml = function(params) { var attrParams = params.widgetsJsonData ? params.widgetsJsonData[params.widgetId] : ''; var attrParamsHtm = ' '; if (attrParams) { for (var p in attrParams) { attrParamsHtm += '' + p + ' = "' + attrParams[p] + '" '; } attrParamsHtm += ' widget_title_enus = "' + params.widgetTitleEnus + '" '; } return $('#tpl-widget-main-item').html() .replace('@content', '<' + params.widgetId + attrParamsHtm + ' >') .replace('@widgetId', params.widgetId) .replace('@widgetid', params.widgetId) .replace('@dragClass', params.dragCardClass) .replace('@widgetWid', params.widgetWid) .replace('@recommedCard', params.recommCardClass) .replace('@appId', params.appId) .replace('@appKey', params.appKey) .replace('@refreshClass', params.refreshClass); }; /** * 侧边栏正常widget模块 * @param widgetId * @returns {void|string|XML|*|jQuery} */ template.getWidgetAsideNormalItemHtml = function(widgetId) { return $('#tpl-widget-aside-normal-item').html() .replace('@content', '<' + widgetId + '>') .replace('@widgetId', widgetId); }; /** * 提示信息框 * @param data * @returns {string|XML|jQuery} */ template.getPromptHtml = function(data) { return AmpUtils.replaceHtmlAnnotation($('#tpl-prompt').html()) .replace('@content', data.content) .replace('@promptStateClass', data.promptStateClass) .replace('@stateIconClass', data.stateIconClass); }; /** * 应用详情 * @returns {string|XML|jQuery} */ template.getDetailHtml = function() { var serviceDescription = "服务说明"; var doNotShow = "下次不再显示"; var login = "登录"; var checkUsageRight = "后查看使用权限"; if (AmpGlobal.currentLang == "en_US") { serviceDescription = $.i18n("serviceDescription"); doNotShow = $.i18n("doNotShow"); login = $.i18n("login"); checkUsageRight = $.i18n("checkUsageRight"); } return $('#tpl-app-detail').html() .replace("@serviceDescription", serviceDescription) .replace("@doNotShow", doNotShow) .replace("@loginbtn", login) .replace("@checkUsageRight", checkUsageRight); }; template.getFolderHtml = function() { var aTotalOf = "共 "; var services = " 个服务"; if (AmpGlobal.currentLang == "en_US") { aTotalOf = $.i18n("aTotalOf"); services = $.i18n("services"); } return $('#tpl-folder').html() .replace("@aTotalOf", aTotalOf) .replace("@services", services); }; /** * 审批意见 tpl */ template.getApprovalCommentHtml = function() { var approvalAdvice = "审批意见"; var close = "关闭"; if (AmpGlobal.currentLang == "en_US") { approvalAdvice = $.i18n("approvalAdvice"); close = $.i18n("close"); } return $('#tpl-approval-comments').html() .replace("@approvalAdvice", approvalAdvice) .replace("@close", close); }; /** * 头部用户信息弹框 * @returns {XML|string|jQuery} */ template.getHeaderUserInfoHtml = function() { var ampData = AmpDataUtils.space.ampData; var editServices = '管理服务'; if (AmpGlobal.currentLang == "en_US") { editServices = $.i18n("editServices"); } var adminBtn = !ampData.hasManagePermission ? '' : '
' + editServices + '
'; var userPhotoSrc = ampData.userPhoto; var hasPhoto = 'true'; var photoText = '重新上传'; if (!userPhotoSrc) { userPhotoSrc = 'portal/images/icons/user-role-teacher.png'; hasPhoto = 'false'; photoText = '上传图像'; } //个人中心是否需要显示 (根据配置项中是否有配置个人中心url) var personalCenterHtml = ''; if (AMPConfigure.personalCenterAuthserverUrl) { var personalCenter = '个人中心'; if (AmpGlobal.currentLang == "en_US") { personalCenter = $.i18n("personalCenter"); } if ($('#tpl-header-user-info-personal-center').length > 0) { personalCenterHtml = $('#tpl-header-user-info-personal-center').html() .replace('@personalCenter', personalCenter); } } //门户站点模式的切换(根据配置文件决定是否需要切换) var siteTypeHtml = ''; if (AMPConfigure.switchPortalSiteModel) { if (ampData.hasTeacherDesktopAuth) { var siteTypeName = '简版门户'; if (AmpGlobal.currentLang == "en_US") { siteTypeName = $.i18n("liteEdition"); } if ($('#tpl-portal-site-model').length > 0) { siteTypeHtml = $('#tpl-portal-site-model').html() .replace('@siteTypeName', siteTypeName); } } } if ($('#tpl-header-user-info').length > 0) { var signOut = '安全退出'; if (AmpGlobal.currentLang == "en_US") { signOut = $.i18n("signOut"); } return $('#tpl-header-user-info').html() .replace('@username', ampData.userName) .replace('@adminBtn', adminBtn) .replace('@userPhotoSrc', userPhotoSrc) .replace('@personalCenterHtml', personalCenterHtml) .replace('@signOut', signOut) .replace('@hasPhoto', hasPhoto) .replace('@siteTypeHtml', siteTypeHtml); /* .replace('@photoText', photoText);*/ } else { return ''; } }; /** * 头部用户换肤弹框 */ template.getHeaderUserSkinHtml = function(data, skinDatas) { //新的6套皮肤 // var skins = ["teal", "indigo", "millennium", "cherry", "magenta", "golden"]; // var skinName = $.trim(data.skinName); var themeColor = data.themeColor; var themeEyeShieldSwitch = data.themeEyeShieldSwitch; var themeText = ''; var headerUserSkinHtml = ''; var skinItemHtml = ''; var themeSwitchHtm = ''; var skin = "皮肤"; var eyeShieldMode = "护眼模式"; var openStr = "开启"; var closeStr = "关闭"; var bgUrl = ''; if (AmpGlobal.currentLang == "en_US") { eyeShieldMode = $.i18n("eyeShieldMode"); skin = $.i18n("skin"); closeStr = $.i18n("closeSkinCool"); openStr = $.i18n("openSkin"); } if ($('#tpl-header-user-skin').length > 0) { headerUserSkinHtml = $('#tpl-header-user-skin').html() .replace("@skin", skin); } themeText = themeColor == 'dark' ? openStr : closeStr; //获取数据库的皮肤 var data_skinConfigList = skinDatas.skinConfigList; if (typeof data_skinConfigList != 'undefined') { for (var i = 0; i < data_skinConfigList.length; i++) { var data_skinName = data.skinName; var switchCheckFlag = ''; var smallSrc = ''; var upperSkinName = ''; var newSkinName = data_skinConfigList[i].skinId; if (data_skinConfigList[i].skinId == data_skinName) { switchCheckFlag = 'ampSkinUseFlag'; } else { switchCheckFlag = 'ampSkinCheckFlag'; } //golden // smallSrc = "portal/images/theme/" + newSkinName + "-gauss-small.jpg"; smallSrc = data_skinConfigList[i].bgUrl; // upperSkinName = newSkinName.toUpperCase(); //获取中文名称 upperSkinName = data_skinConfigList[i].skinName;; var selectSkin = "选用皮肤"; var inUse = "使用中"; if (AmpGlobal.currentLang == "en_US") { selectSkin = $.i18n("selectSkin"); inUse = $.i18n("inUse"); // upperSkinName = upperSkinName.toUpperCase(); } else { // upperSkinName = getChinaName(newSkinName); } if ($('#tpl-skin-item').length > 0) { skinItemHtml += $('#tpl-skin-item').html() .replace('@switchCheckFlag', switchCheckFlag) .replace('@smallImgSrc', smallSrc) .replace('@skinName', upperSkinName) .replace('@skinbg', newSkinName) .replace('@newSkinName', newSkinName) .replace('@selectSkin', selectSkin) .replace('@inUse', inUse); localStorage.userSkinHtml = skinItemHtml; } } } if (themeEyeShieldSwitch && ($('#tpl-header-user-skin').length > 0)) { themeSwitchHtm = $('#tpl-header-skin-bhswitch').html() .replace('@eyeShieldMode', eyeShieldMode) .replace('@skinSwitchText', themeText); } headerUserSkinHtml = headerUserSkinHtml.replace('@content', skinItemHtml).replace('@skinEyeSwitch', themeSwitchHtm); return headerUserSkinHtml; }; /** * 头部中英文切换的国际化的弹框 */ template.getHeaderInternationHtml = function(data) { return $('#tpl-header-internation-ue').html(); }; template.getCategoryTabHtml = function(data) { var searchAvailableCards = "搜索可用卡片"; if (AmpGlobal.currentLang == "en_US") { searchAvailableCards = $.i18n("searchAvailableCards"); } return $('#tpl-category-tab').html() .replace('@header', data.header) .replace('@content', data.content) .replace('@tabUlId', data.tabUlId) .replace('@tabContentId', data.tabContentId) .replace("@searchAvailableCards", searchAvailableCards); }; template.getCategoryTabHeadItemHtml = function(data) { return $('#tpl-category-tab-head-item').html() .replace('@id', data.id) .replace('@name', data.name) .replace('@customClass', data.customClass) .replace('@hasUnReadMarkClass', data.hasUnReadMarkClass) .replace('@appCount', data.appCount) .replace('@titleName', data.name); }; template.getCategoryTabHeadItemTplHtml = function() { return $('#tpl-category-tab-head-item').html(); }; template.getCategoryTabContentItemHtml = function(data) { return $('#tpl-category-tab-content-item').html() .replace('@id', data.key) .replace('@content', data.content) .replace('@customClass', data.customClass) .replace('@num', data.id); }; template.getLoadingFrameHtml = function(data) { var customClass = data.customClass ? data.customClass : ''; if ($('#tpl-loading-frame').length > 0) { return $('#tpl-loading-frame').html() .replace('@content', data.html) .replace('@customClass', data.customClass); } else { return ''; } }; template.getAsideAppsHtml = function(data) { return $('#tpl-aside-appList').html() .replace('@title', data.title) .replace('@content', data.apps); }; /** * 创建桌面widget卡片 * @param widgetId * @returns {void|string|XML|*|jQuery} */ template.getWidgetDesktopCreatItemHtml = function(widgetId) { return $('#tpl-widget-desktop-creat-item').html() .replace('@content', '<' + widgetId + '>') .replace('@widgetId', widgetId); }; /** * 添加小工具widget卡片 * @param widgetId * @returns {void|string|XML|*|jQuery} */ template.getWidgetAddSmalltoolItemHtml = function(widgetId, mbDatas) { var mbDatas = mbDatas; var mbTitle = mbDatas.title; var mbLabel = mbDatas.label; var mbContent = mbDatas.content; var educationalAffairs = "教务"; var studentAffairs = "学工"; var personnel = "人事"; var addGadgets = "添加小工具"; if (AmpGlobal.currentLang == "en_US") { educationalAffairs = $.i18n("educationalAffairs"); studentAffairs = $.i18n("studentAffairs"); personnel = $.i18n("personnel"); addGadgets = $.i18n("addGadgets"); } var mbHtm = $("#tpl-add-smalltool-mb-content").html() .replace('@title', mbTitle) .replace('@content', mbContent) .replace('@educationalAffairs', educationalAffairs) .replace('@studentAffairs', studentAffairs) .replace('@personnel', personnel) .replace('@addGadgets', addGadgets); return $('#tpl-widget-add-smalltool-item').html() .replace('@content', '<' + widgetId + '>') .replace('@widgetId', widgetId) .replace('@mbcontent', mbHtm); }; /** * 获取未读消息tpl */ template.getTagsMessages = function(data) { var id = data.id; var title = data.title; var content = data.content; var appId = ''; var appName = ''; var isHasHead = ''; var isThirdParty = ''; var url = ''; var typeId = data.typeId; // var content = '高层次人才管理1月13日消息滴滴出行在过去一年里业务线不断扩大,上线了代驾、顺风车、巴士等多项服务,同时,在去年一年的营收...1月13日消息滴滴出行在过去一年里业务线不断扩大,上线了代驾、顺风车、巴士等多项服务,同时,在去年一年的营收'; var computeContentData = AmpUtils.getCutString({ width: 280, line: 3, string: content, chFontSize: 12, enFontSize: 9 }); var cutContent = computeContentData.string; cutContent = (cutContent == null) ? '' : cutContent; var cutType = computeContentData.type; var time = AmpUtils.convertTimeToRecently(data.time); var type = data.type; var feedbackClass = 'amp-message-item amp-animated'; if ('【回复】意见反馈' == title) { feedbackClass = 'amp-message-item amp-animated amp-feedback-message'; } else if ('【回复】应用评价反馈' == title) { feedbackClass = 'amp-message-item amp-animated amp-assess-message'; if (typeof(data.pcUrl) == 'string') { try { var pcUrl = JSON.parse(data.pcUrl); appId = pcUrl.appId; appName = pcUrl.appName; isHasHead = pcUrl.isHasHead; isThirdParty = pcUrl.isThirdParty; url = pcUrl.url; } catch (e) {} } } else { feedbackClass = 'amp-message-item amp-animated amp-normal-message'; } return $('#tpl-tag-messages').html() .replace(/@title/g, title) .replace('@smallContent', cutContent) .replace('@fullContent', content) .replace('@typeId', typeId) .replace('@type', type) .replace('@time', time) .replace('@cutType', cutType) .replace('@tipTitle', title) .replace('@messageId', id) .replace('amp-message-item amp-animated', feedbackClass) .replace('@url', url) .replace('@appId', appId) .replace('@appName', appName) .replace('@hashead', isHasHead) .replace('@isthirdparty', isThirdParty); }; template.getRecommendHtml = function(data) { var recommendedCard = "推荐卡片-猜你需要的APP"; var thePlatformAdministrator = "平台管理员向你推荐了这个应用卡片,您可以选择是否保留在桌面上。"; var keep = "留下"; var iDoNotNeedIt = "我不需要"; var keepTheCardIn = "将卡片留在"; var newDesktop = "新建的桌面"; if (AmpGlobal.currentLang == "en_US") { recommendedCard = $.i18n("recommendedCard"); thePlatformAdministrator = $.i18n("thePlatformAdministrator"); keep = $.i18n("keep"); iDoNotNeedIt = $.i18n("iDoNotNeedIt"); keepTheCardIn = $.i18n("keepTheCardIn"); newDesktop = $.i18n("newDesktop"); } return $('#tpl-card-recommed').html() .replace('@desktopnacContent', data) .replace('@recommendedCard', recommendedCard) .replace('@thePlatformAdministrator', thePlatformAdministrator) .replace('@keep', keep) .replace('@iDoNotNeedIt', iDoNotNeedIt) .replace('@keepTheCardIn', keepTheCardIn) .replace('@newDesktop', newDesktop); }; /** * 获取推荐卡片非当前桌面的tpl */ template.getRecommendDesktopNav = function(data) { var desktopId = data.desktopId; var desktopName = data.desktopName; var desktopType = data.desktopType; var cardWid = data.cardWid; return $('#tpl-recommend-desktop-nav').html() .replace('@desktopId', desktopId) .replace('@desktopName', desktopName) .replace('@desktopName', desktopName) .replace('@desktopType', desktopType) .replace('@cardWid', cardWid); }; /** * 获取个人中心页面空页面的tpl */ template.getPersonalEmptyPage = function(data) { return $('#tpl-personal-empty-page').html() .replace('@message', data); }; /** * 获取周期服务页面空页面的tpl */ template.getPersonalAsideRightZqfwEmptyPage = function(data) { return $('#tpl-personal-aside-zqfw-empty-page').html() .replace('@message', data); }; /** * 管理员新增桌面提醒tpl */ template.getAdminNewDesktopHtm = function() { var newDesktops = "新增桌面-管理员新增的桌面"; var administratorSetNewDesktop = "平台管理员根据您的业务需要,为您设置了新的桌面,好好使用吧!"; var iKnow = "我知道了"; if (AmpGlobal.currentLang == "en_US") { newDesktops = $.i18n("newDesktops"); administratorSetNewDesktop = $.i18n("administratorSetNewDesktop"); iKnow = $.i18n("iKnow"); } return $('#tpl-admin-new-desktop').html() .replace("@newDesktops", newDesktops) .replace("@administratorSetNewDesktop", administratorSetNewDesktop) .replace("@iKnow", iKnow); }; /** * 用户创建桌面弹框 */ template.createDesktopDialogHtm = function() { var newDesktop = "新建的桌面"; var desktopName = "命名桌面"; var save = "保存"; var cancel = "取消"; var desktopLength = "8"; if (AmpGlobal.currentLang == "en_US") { newDesktop = $.i18n("newDesktop"); desktopName = $.i18n("desktopName"); save = $.i18n("save"); cancel = $.i18n("cancel"); desktopLength = $.i18n("desktopLength"); } return $('#tpl-create-desktop').html() .replace("@newDesktop", newDesktop) .replace("@desktopName", desktopName) .replace("@save", save) .replace("@cancel", cancel) .replace("@desktopLength", desktopLength); }; /** * 用户创建重命名文件夹 */ template.createFolderNameDialogHtm = function(folderName, folderId) { var title = "重命名文件夹"; var newFolderName = folderName; var save = "保存"; var cancel = "取消"; var folderLength = "5"; if (AmpGlobal.currentLang == "en_US") { title = $.i18n("rename folder"); save = $.i18n("save"); cancel = $.i18n("cancel"); desktopLength = $.i18n("desktopLength"); } return $('#tpl-create-folder-name').html() .replace("@title", title) .replace("@newFolderName", newFolderName) .replace("@save", save) .replace("@cancel", cancel) .replace("@folderLength", folderLength).replace("@folderId", folderId); } /** * 顶部栏添加拓展项弹框 */ template.headerExpandDialogHtm = function(param) { var headerExpandHtm = ''; if ($('#tpl-header-expand').length > 0) { headerExpandHtm = $('#tpl-header-expand').html() .replace('@expandContent', param); } return headerExpandHtm; }; /** * 获取拓展项的数据 */ template.headerExpandItem = function(data) { var menu_id = data.wid; var menu_url = data.url; var menu_name = data.name; var isOpenNewWindow = data.isOpenNewWindow; var headerExpandItemHtm = ''; var isAddUserid = data.isAddUserid; if (isAddUserid == "1" || isAddUserid == 1) { var userId = sessionStorage.ampUserId; if (menu_url.indexOf("?") < 0) { menu_url = menu_url + "?userId=" + userId; } else { menu_url = menu_url + "&userId=" + userId; } } if ($('#tpl-header-expand-item').length > 0) { headerExpandItemHtm = $('#tpl-header-expand-item').html() .replace('@menuId', menu_id) .replace('@menuUrl', menu_url) .replace('@dataName', menu_name) .replace('@isOpenNewWindow', isOpenNewWindow) .replace('@menuName', menu_name); } return headerExpandItemHtm; }; /** * 获取搜索中心搜索历史弹框 */ /* template.servicesSearchHistory = function(param) { return $('#tpl-services-searchHistory').html().replace('@searchHistoryContent', param); };*/ /** * 获取右侧边栏数据 */ template.getAsideRightTaskItem = function(data, flag) { // var taskTitle = (data.author ? data.author + '-' : '') + (data.subject || ''); var taskTitle = data.subject || ''; var imgHtm = ''; var isDisplayDataHtm = ''; if (data.isSingleData) { imgHtm = template.getAsideRightTaskItemImgHtm(); } if (data.isDisplayData) { isDisplayDataHtm = template.getAsideRightTaskItemDisplayDataHtm(data.dataNum); } var taskTypeColor = "task-type-db"; var todoList = ""; if ("3" == flag) { todoList = "审核中"; } if ("1" == flag) { if (data.priority && data.priority === 1) { todoList = "紧急"; taskTypeColor = "task-type-jj"; } else { todoList = "请处理"; taskTypeColor = "task-type-db"; } } var approvalAdvice = "审批意见"; var flowChart = "流程图"; var completed = "已完成"; if (AmpGlobal.currentLang == "en_US") { todoList = $.i18n("ToDoOnly"); if ("3" == flag) { todoList = $.i18n("processing"); } if ("1" == flag) { if (data.priority && data.priority === 1) { todoList = $.i18n("urgent"); } else { todoList = $.i18n("ToDoOnly"); } } approvalAdvice = $.i18n("approvalAdvice"); flowChart = $.i18n("flowChart"); completed = $.i18n("completed"); } if ("COMPLETE" == data.processStatus) { todoList = completed; taskTypeColor = "task-type-ywc"; } if ("ABORT" == data.processStatus) { todoList = "已终止"; taskTypeColor = "task-type-jj"; if (AmpGlobal.currentLang == "en_US") { todoList = $.i18n("terminated"); } } return $('#tpl-aside-right-process-item').html() .replace('@formUrl', data.formUrl) .replace('@appId', data.appId) .replace('@taskId', data.taskId) .replace('@createTime', data.createTime) /* .replace('@spyjAppId', data.appId)*/ /* .replace('@processInstanceId', data.processInstanceId)*/ .replace('@lctappId', data.appId) /* .replace('@lctprocessInstanceId', data.processInstanceId)*/ .replace('@fulltaskTitle', taskTitle) .replace('@taskTitle', taskTitle) /* .replace('@imgHtm', imgHtm)*/ .replace('@isDisplayData', isDisplayDataHtm) .replace('@todoList', todoList) /* .replace('@approvalAdvice', approvalAdvice)*/ /* .replace('@flowChart', flowChart)*/ .replace('@taskTypeColor', taskTypeColor); }; template.getAsideRightTaskItemImgHtm = function(data) { return $('#tpl-aside-right-process-item-img').html(); } template.getAsideRightTaskItemDisplayDataHtm = function(data) { var items = "条"; if (AmpGlobal.currentLang == "en_US") { items = $.i18n("items"); } return $('#tpl-aside-right-process-item-displayData').html().replace('@dataNum', data).replace('@items', items); } /** * 获取右侧栏周期服务的数据 */ template.getAsideRightTaskZqfwItem = function(data) { var begainDate = data.openBeginTime; var endDate = data.openEndTime; var now = (new Date()).getTime(); var days = getDays(begainDate); var displayDate = ''; var tipTxt = ''; var tipClass = ''; var open = '开放'; var opening = '开放中'; var today = '今天'; var finish = '结束'; var leftFor = '还剩'; var daysCn = '天'; if (AmpGlobal.currentLang == "en_US") { open = $.i18n("open"); opening = $.i18n("opening"); today = $.i18n("today"); finish = $.i18n("finish"); leftFor = $.i18n("leftFor"); daysCn = $.i18n("open"); } if (days > 0) { if (AmpGlobal.currentLang == "en_US") { leftFor = ""; daysCn = " Left"; } displayDate = dateFormat(begainDate) + ' ' + open; tipTxt = leftFor + days + daysCn; tipClass = 'tip amp-color-gray-lv3'; //cycle_service_listTmp[i].isOpen = 'N'; } else if (days < 0) { displayDate = dateFormat(endDate) + ' ' + finish; tipTxt = opening; tipClass = 'tip amp-color-success-new-lv1'; //cycle_service_listTmp[i].isOpen = 'Y'; } else { if (begainDate > now) { displayDate = dateFormat(begainDate) + ' ' + open; tipTxt = today; tipClass = 'tip amp-color-gray-lv3'; //cycle_service_listTmp[i].isOpen = 'N'; } else { displayDate = dateFormat(endDate) + ' ' + finish; tipTxt = opening; tipClass = 'tip amp-color-success-new-lv1'; //cycle_service_listTmp[i].isOpen = 'Y'; } } var attrStr = AmpUtils.assemblyAppAttributesToStr(data); return $('#tpl-aside-right-process-item-zqfwData').html() .replace('@middleIcon', data.middleIcon) .replace('@appName', data.appName) .replace('@displayDate', displayDate) .replace('@tipClass', tipClass) .replace('@tipTxt', tipTxt) .replace('@attrStr', attrStr); } function getDays(time) { var year = (new Date()).getFullYear(); var day = (new Date()).getDate(); var month = (new Date()).getMonth(); var y = (new Date(time)).getFullYear(); var d = (new Date(time)).getDate(); var m = (new Date(time)).getMonth(); return (new Date(y, m, d).getTime() - new Date(year, month, day).getTime()) / 86400000; } function dateFormat(dateTime) { var time = new Date(parseInt(dateTime)); var m = time.getMonth() + 1 var d = time.getDate(); var h = time.getHours(); var mm = time.getMinutes(); if (m < 10) { m = '0' + m; } if (d < 10) { d = '0' + d; } if (h < 10) { h = '0' + h; } if (mm < 10) { mm = '0' + mm; } return m + '/' + d + ' ' + h + ':' + mm; } /** * 获取桌面下模糊化效果的单个item * @count {[当前需要放入的模糊卡片的个数]} */ template.getDesktopBlurHtm = function(count) { var $blurStr = template.getDesktopBlurItemsHtm(count); return $('#tpl-personal-center-desktop-blur').html().replace('@content', $blurStr); } template.getDesktopBlurItemsHtm = function(count) { var $blurItem = $('#tpl-personal-center-desktop-blur-item').html(); var $blurStr = ''; if (count > 1) { for (var i = 0; i < count; i++) { $blurStr += $blurItem; } } else { $blurStr = $blurItem; } return $blurStr; } function getChinaName(newSkinName) { var skinName = newSkinName; var newSkinName = ''; var customSkinName = getCustomSkinName(skinName); //定制皮肤的颜色 switch (skinName) { case 'indigo': newSkinName = customSkinName == '' ? '靛蓝' : customSkinName; // newSkinName = '靛蓝'; break; case 'teal': newSkinName = customSkinName == '' ? '水鸭绿' : customSkinName; // newSkinName = '水鸭绿'; break; case 'millennium': newSkinName = customSkinName == '' ? '千禧绿' : customSkinName; // newSkinName = '千禧绿'; break; case 'cherry': newSkinName = customSkinName == '' ? '樱桃红' : customSkinName; // newSkinName = '樱桃红'; break; case 'magenta': newSkinName = customSkinName == '' ? '绛紫' : customSkinName; // newSkinName = '绛紫'; break; case 'golden': newSkinName = customSkinName == '' ? '香槟金' : customSkinName; // newSkinName = '香槟金'; break; } return newSkinName; } /** * 获取定制皮肤的名称 */ function getCustomSkinName(skinName) { var _custom_skin_list = AMPConfigure.portalSkin_custom; var newSkinName = ''; if (typeof _custom_skin_list != 'undefined') { skinList = _custom_skin_list.length; if (skinList > 0) { for (var i = 0; i < skinList; i++) { var skinItem = _custom_skin_list[i]; if (skinItem.enable && skinItem.skinColor == skinName) { newSkinName = skinItem.skinName; break; } } } } return newSkinName; } template.getCanUseAppGroup = function() { var groupHtm = $('#tpl-canUseApp-group-apps').html(); return groupHtm; } template.geMyfavoriteTabHtml = function(data) { return $('#tpl-myfavorite-apps-tab').html() .replace('@header', data.header) .replace('@content', data.content) .replace('@tabUlId', data.tabUlId); }; template.getMyFavoriteCategoryTabContentItemHtml = function(data) { return $('#tpl-canUseApp-tab-content-item').html() .replace('@id', data.id) .replace('@content', data.content) .replace('@customClass', data.customClass) .replace('@num', data.id) .replace('@classify', data.key); }; })(window.AmpTemplate = window.AmpTemplate || {}); /** * 公共方法块 */ ; (function(utils, undefined) { /** * body 点击事件监听 */ utils.bodyEventsListen = function() { $('body').on('click', function(event) { bodyClickHandle(event); }) }; /** * ajax请求公共方法-promise方式调用 * @param url 请求地址 * @param params 请求参数,json对象 * @returns {*} */ utils.doSendAjax = function(url, params) { var deferred = $.Deferred(); $.ajax({ type: 'GET', url: url, traditional: true, data: params, dataType: 'json', cache: false, success: function(resp) { if (!resp.hasLogin) { checkSessionInvalid(); } deferred.resolve(resp); }, error: function(resp) { deferred.reject(resp); } }); return deferred.promise(); }; /** * ajax请求公共方法-promise方式调用 * @param url 请求地址 * @param params 请求参数,json对象 * @returns {*} */ utils.doJsonpAjax = function(url, params) { var deferred = $.Deferred(); $.ajax({ type: 'GET', url: url, traditional: true, data: params, dataType: 'json', cache: false, success: function(resp) { if (!resp.hasLogin) { checkSessionInvalid(); } deferred.resolve(resp); }, error: function(resp) { deferred.reject(resp); } }); return deferred.promise(); }; utils.checkIsLogin = function() { }; utils.goLoginPage = function() { window.location.href = AMPConstant.requestPath + "login?service=" + window.location.href; }; utils.logout = function() { window.location.href = AMPConstant.requestPath + "logout?service=" + window.location.href; }; utils.getCutString = function(data) { return getCutString(data); }; utils.convertTimeToRecently = function(_time) { return convertTimeToRecently(_time); }; /** * 根据用户类型获取用户的角色id * @param userType 用户类型 * @returns {string} */ utils.getUserRoleId = function(userType) { var id = "1__0"; if (userType) { switch (userType) { case 1: id = "1__0"; break; case 2: id = "1__1"; break; case 3: id = "1__2"; break; case 4: id = "1__3"; break; case 5: id = "1__4"; break; } } else { var configRoleData = AMPConfigure.role_data; var configRoleDataLen = configRoleData.length; for (var i = 0; i < configRoleDataLen; i++) { var configRoleItem = configRoleData[i]; if (configRoleItem.active) { id = configRoleItem.id; break; } } } return id; }; /** * 读取widget的json数据 * @param params * @returns {*} * @url "pc_card/" + appId + '/' + cardId + "/card.html"; */ utils.loadWidgetJson = function(params) { var deferred = $.Deferred(); var appId = params.appId; var cardId = params.cardId; var desktopNum = params.desktopNum; //卡片是否需要定制 var url = ''; if (typeof(AMPConfigure.desktop_custom) != "undefined" && AMPConfigure.desktop_custom.pccard_customization) { if ((typeof desktopNum != 'undefined') && !desktopNum) { url = "portal_custom/pc_card_custom/" + appId + '/' + cardId + "/card.json"; } else { url = "pc_card/" + appId + '/' + cardId + "/card.json"; } } else { url = "pc_card/" + appId + '/' + cardId + "/card.json"; } $.ajax({ type: 'GET', url: url, dataType: 'json', async: false, success: function(resp) { deferred.resolve(resp, params); }, error: function(resp) { deferred.reject(resp, params); } }); return deferred.promise(); }; /** * 设置容器的最小高度 * @param container 要设置的容器 * @param options 参数 {diffHeight: 手动添加的偏移高度, excludeContainers:[要排除的容器列表]} */ utils.setContainerMinHeight = function(container, options) { var excludeHeight = 0; var diffHeight = options.diffHeight ? parseInt(options.diffHeight, 10) : 0; var excludeContainers = options.excludeContainers; if (excludeContainers) { var excludeContainersLen = excludeContainers.length; if (excludeContainersLen > 0) { for (var i = 0; i < excludeContainersLen; i++) { excludeHeight += excludeContainers[i].outerHeight(true); } } } var windowHeight = window.innerHeight; var containerHeight = windowHeight - excludeHeight - diffHeight; container.css('height', containerHeight + 'px'); }; /** * 点击翻页按钮,处理卡片翻转动画 * @param toShowData * @param toHideData */ utils.clickPage4RotateYState = function(toShowData, toHideData) { var $toShowContainer = toShowData.container; var toShowPageContainer = toShowData.pageContainer; var $toHideContainer = toHideData.container; var $toHideContainerChild = $toHideContainer.children(); var toHideContainerChildLen = $toHideContainerChild.length; var toHidePageContainer = toHideData.pageContainer; $toHideContainerChild.each(function(index, item) { utils.setRotateYState($(this), 'hide', index * AmpGlobal.rotateYTimeStep); }); setTimeout(function() { $toHideContainer.addClass('amp-hide'); $toShowContainer.removeClass('amp-hide'); if (toHidePageContainer.length !== 0 && toShowPageContainer.length !== 0) { toHidePageContainer.removeClass('amp-active'); toShowPageContainer.addClass('amp-active'); } setTimeout(function() { $toShowContainer.children().each(function(index) { utils.setRotateYState($(this), 'show', index * AmpGlobal.rotateYTimeStep); }); }, 50); }, 450 + ((toHideContainerChildLen - 3) * AmpGlobal.rotateYTimeStep)); }; /** * 给节点设置翻转样式 * @param $item 节点 * @param type show显示,hide隐藏 * @param time 延迟时间 */ utils.setRotateYState = function($item, type, time) { setTimeout(function() { if (type === 'show') { $item.removeClass('amp-rotateY-hide'); } else { $item.addClass('amp-rotateY-hide'); } }, time); }; /** * 整个块移动的渐隐渐现效果切换 * @param toShowData * @param toHideData */ utils.animateMove = function(toShowData, toHideData) { var $toShowContainer = toShowData.container; var toShowIndex = toShowData.index; var toShowPageContainer = toShowData.pageContainer; var toHideIndex = toHideData.index; var $toHideContainer = toHideData.container; var toHidePageContainer = toHideData.pageContainer; var toShowAnimateClass = ''; var toHideAnimateClass = ''; if (toShowIndex > toHideIndex) { toShowAnimateClass = 'amp-animate-move-right-in'; toHideAnimateClass = 'amp-animate-move-left-out'; } else { toShowAnimateClass = 'amp-animate-move-left-in'; toHideAnimateClass = 'amp-animate-move-right-out'; } $toHideContainer.removeClass('amp-animate-move-right-in amp-animate-move-left-in') .addClass(toHideAnimateClass).removeClass('amp-hide'); setTimeout(function() { $toHideContainer.addClass('amp-hide'); $toShowContainer .removeClass('amp-animate-move-right-out amp-animate-move-left-out') .addClass(toShowAnimateClass).removeClass('amp-hide'); if (toHidePageContainer.length !== 0 && toShowPageContainer.length !== 0) { $('#ampEhallBody').find('.amp-ehall-nav').each(function(index) { var $roleNavItems = $(this).children(); if ($($roleNavItems[toHideIndex]).hasClass('amp-active') && $toHideContainer.hasClass('amp-hide')) { $($roleNavItems[toHideIndex]).removeClass('amp-active'); $($roleNavItems[toShowIndex]).addClass('amp-active'); } else { $toShowContainer.addClass('amp-hide'); } }); } }, 250); }; /** * 用斜杠拼接应用分类 * @param category * @returns {string} */ utils.getCategoryListStr = function(category) { var categoryStr = ''; if (category) { var categoryLen = category.length; if (categoryLen > 0) { for (var i = 0; i < categoryLen; i++) { if (i !== 0) { categoryStr += '/' + category[i].categoryName; } else { categoryStr += category[i].categoryName; } } } } return categoryStr; }; /** * 美化滚动条 * @param $container * @param params */ utils.niceScrollInit = function($container, params) { if(!$container)return; $container.niceScroll({ zindex: 1000, cursorwidth: '12px', autohidemode: false, horizrailenabled: false, }); }; /** * 美化滚动条 常显示滚动条 * @param $container * @param params */ utils.niceScrollShow = function($container, params) { if(!$container)return; $container.niceScroll({ zindex: 1000, cursorwidth: '12px', autohidemode: false, horizrailenabled: false, }); }; /** * 恢复美化滚动条 * @param $container */ utils.niceScrollResize = function($container) { if(!$container)return; $container.getNiceScroll().resize(); }; /** * 恢复美化滚动条 * @param $container */ utils.niceScrollHide = function($container) { $container.getNiceScroll().hide(); }; utils.customScrollInit = function($container) { if(!$container)return; $container.mCustomScrollbar({ theme: "minimal-dark" }); }; /** * 拼装应用属性 * @param data * @returns {string} */ utils.assemblyAppAttributesToStr = function(data) { var appId = data.appId; var appKey = data.appKey; //var url = data.appOpenUrl; var url = "appShow?appId=" + appId; /* if (data.deployPrefix != undefined && data.appPc) { url = data.deployPrefix + data.appPc.entranceUrl; } */ var title = data.appName; var favorite = data.favoriteApp; var hasPermission = data.hasPermission; var appPc = data.appPc; var description = ''; var descriptionAuth = ''; var showFullScreen = ''; var isHasHead = ''; var isThirdParty = ''; if (appPc) { description = appPc.isEnableDescription; descriptionAuth = appPc.descriptionAuth; showFullScreen = appPc.isOpenInNewTab; isHasHead = appPc.isHasHead; isThirdParty = appPc.isThirdParty; } else { description = data.isEnableDescription; descriptionAuth = data.descriptionAuth; showFullScreen = data.isOpenInNewTab; } var unviewableDescription = data.unviewableDescription; var type = data.type; var opening = data.opening; var maintaining = data.maintaining; var img = data.middleIcon; var version = data.version; var categoryStr = utils.getCategoryListStr(data.categoryList); var attrStr = ' amp-appid="' + appId + '"'; attrStr += ' amp-appkey="' + appKey + '"'; attrStr += ' amp-full-screen="' + showFullScreen + '"'; attrStr += ' amp-url="' + url + '"'; attrStr += ' amp-title="' + title + '"'; attrStr += ' amp-favorite="' + favorite + '"'; attrStr += ' amp-haspermission="' + hasPermission + '"'; attrStr += ' amp-hasdescription="' + description + '"'; attrStr += ' amp-descriptionauth="' + descriptionAuth + '"'; attrStr += ' amp-unviewabledescription="' + unviewableDescription + '"'; attrStr += ' amp-type="' + type + '"'; attrStr += ' amp-opening="' + opening + '"'; attrStr += ' amp-maintaining="' + maintaining + '"'; attrStr += ' amp-img="' + img + '"'; attrStr += ' amp-version="' + version + '"'; attrStr += ' amp-category="' + categoryStr + '"'; attrStr += ' amp-hashead="' + isHasHead + '"'; attrStr += ' amp-isThirdParty="' + isThirdParty + '"'; return attrStr; }; utils.copyAppAttributesFromDomToDom = function($copyDom, $setDom) { $setDom.attr('amp-appid', $copyDom.attr('amp-appid')); $setDom.attr('amp-appkey', $copyDom.attr('amp-appkey')); $setDom.attr('amp-url', $copyDom.attr('amp-url')); $setDom.attr('amp-title', $copyDom.attr('amp-title')); $setDom.attr('amp-type', $copyDom.attr('amp-type')); $setDom.attr('amp-hashead', $copyDom.attr('amp-hashead')); $setDom.attr('amp-isthirdparty', $copyDom.attr('amp-isthirdparty')); $setDom.attr('amp-modulename', $copyDom.attr('amp-modulename')); }; /** * 加载widget组件的html * @param widgetId * @param callback */ //utils.loadWidgetComponentHtml = function(appId, cardId, callback) { utils.loadWidgetComponentHtml = function(params, callback) { //测试专用 /* var appId = 'widget-theme'; var cardId = '-01';*/ var appId = params.appId; var cardId = params.cardId; var desktopNum = params.desktopNum; var widgetId = cardId; if (!widgetId || widgetId === "undefined") { return; } var linkId = 'card-link-' + widgetId; if ($("#" + linkId).length > 0) { return; } var link = document.createElement('link'); link.id = linkId; link.rel = 'import'; // link.href = "pc_card/" + appId + '/' + cardId + "/card.html"; //卡片是否需要定制 var linkHref = ''; if (typeof(AMPConfigure.desktop_custom) != "undefined" && AMPConfigure.desktop_custom.pccard_customization) { if ((typeof desktopNum != 'undefined') && !desktopNum) { linkHref = "portal_custom/pc_card_custom/" + appId + '/' + cardId + "/card.html"; } else { linkHref = "pc_card/" + appId + '/' + cardId + "/card.html"; } } else { linkHref = "pc_card/" + appId + '/' + cardId + "/card.html"; } link.href = linkHref; document.getElementsByTagName('head')[0].appendChild(link); $("body").on("widgetComplete", widgetId, function() { return callback(widgetId); }); }; /** * 清除html注释 * @param str * @returns {string|void|XML|*} */ utils.replaceHtmlAnnotation = function(str) { var re = new RegExp("]*?>"); var html = str.replace(re, ''); return html; }; utils.currentPageBlurAnimate = function(flag) { var $activePage = null; var $activeArticles = $('body').find('article.amp-active[amp-page-flag="true"]'); if ($activeArticles.length === 1) { $activePage = $activeArticles; } else { $activeArticles.each(function() { var $article = $(this); var id = $article.attr('id'); if (id === 'ampServiceArticle') { $activePage = $article; return false; } if (id !== 'ampEhallArticle' && id !== 'ampClassifyArticle') { $activePage = $article; } }); } if ($activePage) { utils.containerBlurAnimate($activePage, flag); } }; /** * 设置容器高斯模糊 * @param $container 容器 * @param flag blur模糊,其他值则还原 */ utils.containerBlurAnimate = function($container, flag) { //模糊度 var blurDegree = AmpGlobal.blurDegree; //模糊起始数 var index = flag === 'blur' ? 1 : blurDegree; //动画时间 var animateTime = AmpGlobal.animateTimes; //每秒帧数 var frames = 60; //循环次数 var cycleCount = animateTime * frames / 1000; //刷新间隔时间 var intervalTimes = animateTime / cycleCount; //每次步进数值 var step = parseInt(frames / cycleCount, 10); var currentBlurNum = getContainerBlurNum($container); if (flag === 'blur') { if (currentBlurNum === blurDegree) { return; } } else { if (!currentBlurNum) { return; } } var data = { index: index, container: $container, flag: flag, intervalTimes: intervalTimes, blurDegree: blurDegree, step: step, stopFlag: false }; containerBlurAnimate(data); }; utils.setContainerBlue = function($container, flag) { setContainerBlue($container, flag); }; /** * 同步应用的属性 * @param appId * @param data 要同步的json列表,key是要同步的属性,value是要同步的值 */ utils.synchronousAppAttributes = function(appId, data) { $('body').find('.appFlag[amp-appid="' + appId + '"]').each(function() { var $item = $(this); for (var key in data) { var value = data[key]; $item.attr(key, value); } }); $('body').find('.ampAppdescFlag[amp-appid="' + appId + '"]').each(function() { var $item = $(this); for (var key in data) { var value = data[key]; $item.attr(key, value); } }); }; utils.getContainerPosition = function($container) { var offset = $container.offset(); var width = $container.outerWidth(); var height = $container.outerHeight(); return { top: offset.top, left: offset.left, right: offset.left + width, bottom: offset.top + height, width: width, height: height } }; //创建一个guid如:fe493a2e-d9b9-337f-1678-85bb9e88733a utils.NewGuid = function() { return (S4() + S4() + "-" + S4() + "-" + S4() + "-" + S4() + "-" + S4() + S4() + S4()); }; function S4() { return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1); } /** * html转义 * @param value 需要转义的字符串 */ utils.encode = function(value) { return $('
').text(value).html(); }; utils.decode = function(value) { return $('
').html(value).text(); }; function checkSessionInvalid() { if ($("#user").find("img").attr("data-tooltip-title")) { utils.goLoginPage(); return; } } /** * 点击body时,统一处理的方法 * @param e */ function bodyClickHandle(e) { var $target = $(e.target || e.srcElement); if ($target.closest('#ampPageHeaderSearch').length === 0 && $target.attr('id') !== 'ampPageHeaderSearch' && !$('#ampServiceArticle').hasClass('amp-active')) { AmpHeader.searchRestore(); } if ($target.closest('#ampHeaderToolUser').length === 0 && $target.closest('#ampHeaderToolUserName').length === 0) { $('#ampHeaderUserInfo').removeClass('amp-active'); } } function containerBlurAnimate(data) { var index = data.index; var $container = data.container; var flag = data.flag; var intervalTimes = data.intervalTimes; var blurDegree = data.blurDegree; var step = data.step; var stopFlag = data.stopFlag; $container.css({ '-webkit-filter': 'blur(' + index + 'px)', '-moz-filter': 'blur(' + index + 'px)', '-ms-filter': 'progid:DXImageTransform.Microsoft.Blur(PixelRadius=' + index + ')', 'filter': 'blur(' + index + 'px)', 'filter': 'progid:DXImageTransform.Microsoft.Blur(pixelRadius=' + index + ', MakeShadow=false)' }); setTimeout(function() { if (flag === 'blur') { if (stopFlag) { return; } data.index = index + step; if (data.index > blurDegree) { data.index = blurDegree; data.stopFlag = true; } } else { if (stopFlag) { return; } index--; data.index = index - step; if (data.index < 0) { data.index = 0; data.stopFlag = true; } } containerBlurAnimate(data); }, intervalTimes); } function getContainerBlurNum($container) { var numRe = /\d+/; var blur = null; if ($container.css('filter') && $container.css('filter') !== 'none') { blur = $container.css('filter').match(numRe); } else { if ($container.css('-webkit-filter')) { blur = $container.css('-webkit-filter').match(numRe); } else if ($container.css('-ms-filter')) { blur = $container.css('-ms-filter').match(numRe); } else if ($container.css('-moz-filter')) { blur = $container.css('-moz-filter').match(numRe); } } var blurNum = 0; if (blur) { blurNum = parseInt(blur[0], 10); } return blurNum; } function setContainerBlue($container, flag) { //模糊度 var blurDegree = AmpGlobal.blurDegree; //模糊起始数 var index = flag === 'blur' ? blurDegree : 0; $container.css({ '-webkit-filter': 'blur(' + index + 'px)', '-moz-filter': 'blur(' + index + 'px)', '-ms-filter': 'blur(' + index + 'px)', 'filter': 'blur(' + index + 'px)', 'filter': 'progid:DXImageTransform.Microsoft.Blur(pixelRadius=' + index + ', MakeShadow=false)' }); } AmpUtils.tooltipInit = function() { var $body = $("body"); //hover时显示tooltip $body.on("mouseover", ".tooltipFlag", function(e) { showTooltip(e); }); //鼠标移除时删除tooltip $body.on("mouseout", ".tooltipFlag", function(e) { removeTooltip(e); }); }; /** * 显示提示信息 * @param e */ function showTooltip(e) { var $targetObj = $(e.target || e.srcElement); if (!$targetObj.hasClass("tooltipFlag")) { return; } var targetWidth = $targetObj[0].offsetWidth, targetHeight = $targetObj[0].offsetHeight, targetOffset = $targetObj.offset(), isShowInLeftAlign = $targetObj.hasClass("tooltipLeftFlag"), title = $targetObj.attr("data-tooltip-title"); if (title) { var guid = AmpUtils.NewGuid(), $tooltip = createTooltipHtml(title, guid), tooltipWidth = $tooltip.outerWidth(true), tooltipHeight = $tooltip.outerHeight(true), targetMiddleLeft = isShowInLeftAlign ? 0 : parseInt(targetOffset.left + targetWidth / 2), tooltipLeft = isShowInLeftAlign ? targetOffset.left : targetMiddleLeft - parseInt(tooltipWidth / 2), tooltipTop = targetOffset.top + targetHeight + 4, _style = { "left": tooltipLeft + "px", "top": tooltipTop + "px", "height": 0 }; if (tooltipLeft + tooltipWidth > $("body").width()) { _style = { "right": "0", "top": tooltipTop + "px", "height": 0 }; } $tooltip.css(_style).show().animate({ "height": tooltipHeight + "px" }, 300); $targetObj.attr("data-tooltip-guid", guid); } } //移除提示信息 function removeTooltip(e) { var $targetObj = $(e.target || e.srcElement), guid = $targetObj.attr("data-tooltip-guid"), $tooltip = $("body").find("#tooltip_" + guid); $tooltip.animate({ "height": 0 }, 300).promise().done(function() { $tooltip.remove(); }); } //创建一个guid如:fe493a2e-d9b9-337f-1678-85bb9e88733a AmpUtils.NewGuid = function() { return (s4() + s4() + "-" + s4() + "-" + s4() + "-" + s4() + "-" + s4() + s4() + s4()); }; function s4() { return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1); } //获取提示div的html function createTooltipHtml(title, guid) { $("body").append('
' + title + '
'); return $("#tooltip_" + guid); } utils.setLocalStorageData = function(_key, value) { var storage = window.localStorage; storage.setItem(_key, value); }; utils.getLocalStorageData = function(_key) { var storage = window.localStorage; return storage.getItem(_key); }; utils.deleteLocalStorageData = function(_key) { localStorage.removeItem(_key); }; utils.setSessionStorageData = function(_key, value) { sessionStorage.setItem(_key, value); }; utils.getSessionStorageData = function(_key) { return sessionStorage.getItem(_key); }; utils.deleteSessionStorageData = function(_key) { sessionStorage.removeItem(_key); }; //登录背景与page背景的替换 utils.animateLoginOut = function() { $('#ampPageBgImg').animate({ opacity: "0.5" }, 10, 'swing', function() { $(this).removeClass('amp-login-img').addClass('amp-page-img').animate({ opacity: "1" }, 10, 'linear'); utils.getUserSkinImg(); }); }; utils.animateLoginIn = function() { $('#ampPageBgImg').animate({ opacity: "0.5" }, 10, 'swing', function() { $(this).removeClass('amp-page-img').addClass('amp-login-img').animate({ opacity: "1" }, 10, 'linear'); utils.getUserSkinImg(); }); }; utils.getByteLen = function(val) { var len = 0; for (var i = 0; i < val.length; i++) { var a = val.charAt(i); if (a.match(/[^\x00-\xff]/ig) != null) { len += 2; } else { len += 1; } } return len; }; utils.isIE = function() { //ie? if (!!window.ActiveXObject || "ActiveXObject" in window) { return true; } else { return false; } }; function getCutString(data) { var type = 'normal'; var newStr = ''; var width = data.width; var line = data.line; var str = data.string; var tag_re = /<[^>]+>/g; var empty_tag_re = /<[^>]+> *<[^>]+>/g; var emptystr = str ? str.replace(empty_tag_re, ''): null; var pure_str = emptystr ? emptystr.replace(tag_re, ''): null; var textLen = (pure_str == null) ? 0 : pure_str.length; var chFontSize = data.chFontSize; //var enFontSize = data.enFontSize; //按所有文本都是中文字符计算出的文字个数 var computeTextLen = parseInt(width * line / chFontSize, 10); //当内容的字符数比计算出的字符数少,则不做任何处理 if (textLen <= computeTextLen) { newStr = str; } else { var tag_index_list = getHtmlTagIndexData(str); type = 'cut'; newStr = getCutText((width * line) - (chFontSize * 2), computeTextLen, pure_str, data); newStr = restoreTagToStr(newStr, tag_index_list); newStr += '...'; } return { string: newStr, type: type }; } function restoreTagToStr(str, tagIndexList) { var newStr = ''; var indexLen = tagIndexList.length; if (indexLen === 0) { newStr = str; } else { var strList = str.split(''); var strListLen = strList.length; for (var i = 0; i < indexLen; i++) { var item = tagIndexList[i]; var index = item.index; var tag = item.tag; if (index < strListLen) { if (/^<\//.test(tag)) { strList[index - 1] = strList[index - 1] + tag; } else { strList[index] = tag + strList[index]; } } else { if (/^<\//.test(tag)) { var removeStrIndex = tagIndexList[i - 1].index; strList.splice(removeStrIndex, strListLen - removeStrIndex); } break; } } newStr = strList.join(''); } return newStr; } function getHtmlTagIndexData(str) { var tag_re = /<[^>]+>/g; var tag_match = str.match(tag_re); var tag_index_list = []; if (tag_match) { var match_len = tag_match.length; for (var i = 0; i < match_len; i++) { var tag = tag_match[i]; var tag_index = str.indexOf(tag); str = str.replace(tag, ''); tag_index_list.push({ index: tag_index, tag: tag }); } } return tag_index_list; } function getHtmlTagIndexOfString(str, options, startIndex, doTimes) { var str_index = str.indexOf(options.tag, startIndex); doTimes++; if (doTimes === options.times) { return str_index; } else { return getHtmlTagIndexOfString(str, options, str_index + 1, doTimes); } } /** * [getCutText 获取截断文本] * @param {number} width 可以使用的宽度 * @param {number} textLen 计算后文本的字符数 * @param {string} text 字符串内容 * @return {string} */ function getCutText(width, textLen, text, options) { //按传入的长度截取字符 var cutText = text.substring(0, textLen); //截取后剩余的字符 var surplusText = text.substring(textLen, text.length); //获取该字符串的宽度 var textWidth = getTextWidth(cutText, options); //当字符的宽度小于理论宽度,计算偏差字符 var diffText = ''; if (textWidth < width) { var diffWidth = width - textWidth; //当偏差的宽度大于1个中文字符时,继续截断 if (diffWidth > options.chFontSize) { var diffTextLen = parseInt(diffWidth / options.chFontSize, 10); diffText = getCutText(diffWidth, diffTextLen, surplusText, options); } } return cutText + diffText; } /** * [getTextWidth 获取文本宽度] * @param {type} text 目标文本 * @return {type} */ function getTextWidth(text, options) { //匹配中文 var chinese = text.match(/[^\x00-\xff]/g); var chineseLen = chinese ? chinese.length : 0; //大写字母和@ var capitalEn = text.match(/[A-Z@]/g); var capitalEnLen = capitalEn ? capitalEn.length : 0; var lowerEnLen = text.length - chineseLen - capitalEnLen; //大写字母按中文字符的宽度算 var width = (chineseLen + capitalEnLen) * options.chFontSize + lowerEnLen * options.enFontSize; return width; } function convertTimeToRecently(_time) { var nowTime = new Date(); var now_year = nowTime.getFullYear(); var now_month = nowTime.getMonth() + 1; var now_date = nowTime.getDate(); var convert_re = new RegExp("(\\d*)-(\\d*)-(\\d*) (\\d*):(\\d*):(\\d*)"); var convert_match = _time.match(convert_re); var convert_year = convert_match[1]; var convert_month = convert_match[2]; var convert_date = convert_match[3]; var convert_hours = convert_match[4]; var convert_minutes = convert_match[5]; var one_day_time = 24 * 60 * 60 * 1000; var type = ''; var now_time = new Date(now_year + '/' + now_month + '/' + now_date).getTime(); var convert_time = new Date(convert_year + '/' + convert_month + '/' + convert_date).getTime(); var time_diff = (now_time - convert_time) / one_day_time; if (time_diff < 1) { var cnStr = '今天'; if (AmpGlobal.currentLang == "en_US") { cnStr = $.i18n("today"); } type = cnStr; } else if (time_diff < 2) { var cnStr = '昨天'; if (AmpGlobal.currentLang == "en_US") { cnStr = $.i18n("yesterday"); } type = cnStr; } else if (time_diff < 3) { var cnStr = '前天'; if (AmpGlobal.currentLang == "en_US") { cnStr = $.i18n("theDayBeforeYesterday"); } type = cnStr; } else { type = convert_month + '-' + convert_date; } return type + ' ' + convert_hours + ':' + convert_minutes; } /** * 获取body或屏幕的宽高 * @returns {*} */ AmpUtils.getScreenWidthHeight = function() { return { "screenH": window.screen.availHeight, "screenW": window.screen.availWidth }; }; utils.getTaskAjax = function(url) { var deferred = $.Deferred(); $.ajax({ type: 'get', url: url, dataType: 'jsonp', jsonp: 'callback', cache: false, success: function(resp) { if (!resp.hasLogin) { checkSessionInvalid(); } deferred.resolve(resp); }, error: function(resp) { deferred.reject(resp); } }); return deferred.promise(); }; /** * 设置滚动条 * @param {Object} container 容器 * @param {Number} delay 延时 */ utils.setScroll = function(container, delay) { delay = delay || 550; if (container.css('overflow-y') === 'hidden') { // 已经初始化完成,不能重复初始化 setTimeout(function() { container.getNiceScroll().resize(); }, delay); return; } setTimeout(function() { AmpUtils.niceScrollInit(container); }, delay); // 左侧显示出来动画时间 450ms,默认设置为550 } /** * 循环监听某个事件是否已经发生, * 为了解决变态的 ie9 渲染太慢问题 * @param {Number} interval 循环检测的间隔 * @param {Function} checkFunc 判断事件发生的方法,比如根据元素的left,top等 * @param {Function} callback 发生事件后续的处理 */ utils.checkEvent = function(checkFunc, callback, interval) { if (!checkFunc || !callback) { return; } interval = interval || 50; // 默认 50ms 检测一次 var maxTime = 20; // 最多检测 20 次,大概 1s if (checkFunc()) { callback(); } else { var timer = null; var check = function() { timer = setTimeout(function() { if (checkFunc()) { clearTimeout(timer); callback(); } else { maxTime--; clearTimeout(timer); if (maxTime !== 0) { check(); } } }, interval); }; check(); } }; //获取公共应用jsonp 路径 utils.getJsonpAppPath = function() { return AMPConstant.jsonpRequestPath; } utils.setIe9PlaceHolder = function() { if (navigator.userAgent.indexOf("MSIE 9.0") > 0) { $('input,text,textarea').placeholder(); } } //写cookies utils.setCookie = function(name, value) { /* var days = 30; var exp = new Date; exp.setTime(exp.getTime() + days * 24 * 60 * 60 * 1000); documeng.cookie = name + "=" + escape(value) + ";expirs=" + exp.toGMTString();*/ document.cookie = name + "=" + escape(value) + ";path=/" + ";expires=" + (new Date(2099, 12, 31)).toGMTString(); } utils.getCookie = function(cookie_name) { var allcookies = document.cookie; var cookie_pos = allcookies.indexOf(cookie_name); if (cookie_pos != -1) { cookie_pos += cookie_name.length + 1; var cookie_end = allcookies.indexOf(";", cookie_pos); if (cookie_end == -1) { cookie_end = allcookies.length; } var value = unescape(allcookies.substring(cookie_pos, cookie_end)); } return value; }; utils.IsPC = function() { var userAgentInfo = navigator.userAgent; var Agents = ["Android", "iPhone", "SymbianOS", "Windows Phone", "iPad", "iPod" ]; var flag = true; for (var v = 0; v < Agents.length; v++) { if (userAgentInfo.indexOf(Agents[v]) > 0) { flag = false; break; } } return flag; }; utils.zhuge = function(ename, props, type) { /*if (!type) { window.zhuge.track(ename, props); } else { window.zhuge.identify(ename, props); }*/ }; utils.dataAnalysis = function(ename, props, type, callback) { if (typeof tracker == 'undefined') { if (typeof callback === 'function') { callback.call(null); } return; } if (!type) { if (callback) { tracker.track(ename, props, callback); } else { tracker.track(ename, props); } } else { if(props && props.schoolId) tracker.load(props.schoolId, "amp", "应用管理平台"); if (callback) { tracker.identify(ename, props, callback); } else { tracker.identify(ename, props); } } }; utils.moduleName = function($target) { var moduleName = ''; var $ehallPage = $target.closest('#ampEhallBody'); if ($ehallPage.hasClass('ampLoadActiveFlag')) { var $ehallId = $ehallPage.find('article.amp-active').attr('id'); if ('ampEhallSlideIndex' === $ehallId) { moduleName = '办事大厅-推荐服务'; } else if ('ampClassifyArticle' === $ehallId) { moduleName = '办事大厅-应用分类查看'; } } var $asideLeft = $target.closest('#ampPersonalAsideLeft'); if ($asideLeft.length > 0) { moduleName = '个人中心-左侧边栏-' + $asideLeft.find('div#ampPersonalAsideLeftNormal').find('div.amp-active').find('span').html(); } var $ampWidget = $target.closest('.amp-widget'); if ($ampWidget.length > 0) { moduleName = '个人中心-' + $ampWidget.children().attr('widget_title') + '卡片'; } var $ampRight = $target.closest("#ampPersonalAsideRight"); if ($ampRight.length > 0) { moduleName = '个人中心-右侧边栏-周期服务'; } var $ampSearchLeft = $target.closest(".amp-aside-apps"); if ($ampSearchLeft.length > 0) { moduleName = '搜索中心-' + $ampSearchLeft.children('h5').text(); } var $ampSearchRight = $target.closest('#ampServiceRightContent'); if ($ampSearchRight.length > 0) { moduleName = '搜索中心-应用列表'; } return moduleName; } /** * 评价时同步页面上的应用数据 * @param appId */ AmpUtils.synchronousAppAssess = function(appId) { var $iframeList = $("#iframeList"); $iframeList.find('iframe').each(function() { var $iframe = $(this); var iframeSrc = $iframe.attr('src'); if (iframeSrc.indexOf('ehall.html') > 0 || iframeSrc.indexOf('serviceCenter.html') > 0 || iframeSrc.indexOf('favorite.html') > 0 || iframeSrc.indexOf('personalCenter.html') > 0) { var iframeWindow = this.contentWindow; var $container = iframeWindow.$('body'); var $existApp = $container.find("div[data-appid=" + appId + "]"); if ($existApp.length > 0) { if (iframeSrc.indexOf('serviceCenter.html') > 0) { //直接点击查询按钮 iframeWindow.fwzxSearchBtn.click(); } else if (iframeSrc.indexOf('ehall.html') > 0) { //点击当前active的tab,并将所有的tab的road属性去掉 iframeWindow.$("#homeTabList").children().each(function() { var $tabItem = $(this); $tabItem.removeAttr('data-flag'); if ($tabItem.hasClass('active')) { $tabItem.click(); } }); } else if (iframeSrc.indexOf('personalCenter.html') > 0) { //重新加载含有该app的widget $existApp.each(function() { var $widgetBlock = $(this).closest('.my-site-widget'); var widgetTag = $widgetBlock.attr('data-widget-id'); $widgetBlock.find(widgetTag).after('<' + widgetTag + '>').remove(); }); } else if (iframeSrc.indexOf('favorite.html') > 0) { //点击查询的按钮 iframeWindow.favSearchBtn.click(); } } } }); }; utils.detectmob = function() { if (navigator.userAgent.match(/Android/i) || navigator.userAgent.match(/webOS/i) || navigator.userAgent.match(/iPhone/i) || navigator.userAgent.match(/iPad/i) || navigator.userAgent.match(/iPod/i) || navigator.userAgent.match(/BlackBerry/i) || navigator.userAgent.match(/Windows Phone/i)) { return true; //移动端 } else { return false; //Pc } } utils.setTeacherSide = function() { var newUrl = ''; var host = window.location.host; var pathname = window.location.pathname; if (pathname.indexOf('indexShell.html') > 0) { return; } var updateurl = pathname.split('/'); var newupdateurl = ''; var curEnvTerminal = '0'; var sideTeacherFlag = false; for (var i = 0; i < updateurl.length; i++) { if (i == (updateurl.length - 1)) { if (AmpUtils.detectmob()) { //移动端 curEnvTerminal = '1'; //移动端 newupdateurl += '/index_teacher_phone.html'; } else { newupdateurl += '/index_teacher.html'; } sideTeacherFlag = true; } else { if (updateurl[i] != '') newupdateurl += '/' + updateurl[i]; } } if (sideTeacherFlag) { try { AmpDataUtils.setCurrentEnv(curEnvTerminal, function(data) { if (data.result == 'success') { newUrl = host + newupdateurl; window.location.href = window.location.protocol + '//' + newUrl; } }); } catch (e) { console.log(e.message); } } else { newUrl = host + newupdateurl; window.location.href = window.location.protocol + '//' + newUrl; } return sideTeacherFlag; } utils.setXdSide = function() { var newUrl = ''; var host = window.location.host; var pathname = window.location.pathname; var updateurl = pathname.split('/'); var newupdateurl = ''; var curEnvTerminal = '0'; for (var i = 0; i < updateurl.length; i++) { if (i == (updateurl.length - 1)) { newupdateurl += '/index_xd.html'; } else { if (updateurl[i] != '') newupdateurl += '/' + updateurl[i]; } } newUrl = host + newupdateurl; window.location.href = window.location.protocol + '//' + newUrl; } /** * 获取背景图片 */ utils.getUserSkinImg = function() { var bgUrl = AmpGlobal.currentBgUrl; var loginBgUrl = AmpGlobal.currentLoginBgUrl; //设置当前背景图片 if (bgUrl && loginBgUrl) { if ($('#ampPageBgImg').hasClass('amp-page-img')) { $('#ampPageBgImg').css("background-image", "url(" + bgUrl + ")"); } else { $('#ampPageBgImg').css("background-image", "url(" + loginBgUrl + ")"); } } } })(window.AmpUtils = window.AmpUtils || {}); /** * widget 定制化 */ ; (function(widgetCustom, undefined) { widgetCustom.eventsListen = function() { eventsListen(); }; function eventsListen() { $('body').on('click', function(e) { var $target = $(e.target || e.srcElement); var $set = $target.closest('.amp-wf-head-set'); var $body = $('body'); if ($set.length === 0) { /* $body.find('.amp-wf-head.amp-active').removeClass('amp-bg-color-primary-lv3').removeClass('amp-active'); */ $body.find('.amp-wf-head.amp-active').removeClass('amp-card-wf-head-keep').removeClass('amp-active'); $body.find('.amp-wf-setting.amp-active').removeClass('amp-active'); } else { $body.find('.amp-wf-head.amp-active').each(function() { var $head = $(this); if ($head.find('.amp-wf-head-set')[0] !== $set[0]) { /* $head.removeClass('amp-bg-color-primary-lv3').removeClass('amp-active');*/ $head.removeClass('amp-card-wf-head-keep').removeClass('amp-active'); $head.closest('amp-w-frame').parent() .children('amp-w-setting').children('.amp-wf-setting').toggleClass('amp-active'); } }); } }); } widgetCustom.getDesktopId = function() { return $('#ampDesktopNav').children('.amp-active').attr('amp-desktop-id'); }; })(window.AmpWidgetCustom = window.AmpWidgetCustom || {}); ; (function(canUseApps, undefined) { canUseApps.space = { searchFilterFlag: false //过滤可用应用是否需要添加文件夹 }; /** * 显示可用应用 * @param classify 应用分类id */ canUseApps.show = function(classify) { showApps(classify); }; /** * 将数据进行缓存 * @param data * @param data.classify 左侧的分类 * @param data.data 分类对应的数据,以键值对的形式存放 */ canUseApps.saveData = function(data) { saveData(data); }; function saveData(data) { var apps = null; if (data.pcAppCategory) { //重组数据 apps = recombineData(data.pcAppCategory); } //初始化tab initTab(apps); //事件监听 eventsListen(); //数据缓存 sessionStorage.setItem('allCanUseApps', JSON.stringify(apps)); //添加可用应用文件夹数据List var appFolderListData = data.appFolderList; sessionStorage.setItem('appFolderListData', JSON.stringify(appFolderListData)); } /** * 初始化tab * @param data */ function initTab(data) { var html = getTabHtml(data); $('#ampPersonalAsideLeftAllCanUseApps').html(html); //美化滚动条 AmpUtils.niceScrollInit($('#ampPersonalAsideLeftAllCanUseAppsTabContent')); setTimeout(function() { try { // ie9才支持此方法,catch一下防止报错 $('#ampPersonalAsideLeftAllCanUseApps').find('input').placeholder(); } catch (e) { // do nothing } }, 0); } /** * 重构数据 * @param data * @returns {{}} */ function recombineData(data) { var newData = {}; var classify = newData.classify = []; var dataObj = newData.data = {}; if (data) { //2017-02-28 此处注释的原因:后台返回已排好序的全部分类 前端不需要再重组全部分类 //添加全部的分类 // data.splice(0, 0, getAllUseApps(data)); var len = data.length; for (var i = 0; i < len; i++) { var item = data[i]; var categoryId = item.categoryId; var appCount = item.appList.length; item.appCount = appCount; classify.push(categoryId); dataObj[categoryId] = item; } } return newData; } /** * 显示APP列表 * @param classify 所属分类id */ function showApps(classify, subClassifyId) { var $tabContent = $('#ampPersonalAsideLeftAllCanUseAppsTabContent'); var data = JSON.parse(sessionStorage.getItem('allCanUseApps')); var contentHtml = getAppsContentHtml(data, classify, subClassifyId); $tabContent.children('[amp-classify="' + classify + '"]').html(contentHtml); //更新菜单对应的所有的数字 $('#ampPersonalAsideLeftAllCanUseAppsTabUl').find('li').each(function() { var classifyId = $(this).attr('amp-id'); var subClassifyId = $(this).attr('amp-subid'); var appListcount = getAppsCount(data, classifyId, subClassifyId); $(this).find('.amp-app-count').text(appListcount); }); } /** * 获取空提示页面 */ function getEmptyHtml() { var cnStr = '暂无可用应用'; if (AmpGlobal.currentLang == "en_US") { cnStr = $.i18n("noAvailableApps"); } var emptyMessage = cnStr; return AmpTemplate.getPersonalEmptyPage(emptyMessage); } /** * 获取APP列表所对应的数量 */ function getAppsCount(data, classifyId, subClassifyId) { var searchKey = $.trim($('#ampPersonalAsideLeftAllCanUseAppsSearchInput').val()); var appsData = data.data; var classifyData = appsData[classifyId]; var subClassifyapp = classifyData.subCategoryList; var appList = []; if (subClassifyId != undefined) { for (var i = 0; i < subClassifyapp.length; i++) { if (subClassifyapp[i].categoryId == subClassifyId) { appList = filterApp(subClassifyapp[i].appList, searchKey); break; } } } else { if (classifyId == 'all') { appList = filterApp(classifyData.appList, searchKey); } else { appList = filterApp(classifyData, searchKey); var newAppList = []; var hasTwoAppsList = []; if (appList.length == undefined) { newAppList.push(appList.appList); } else { //appLIst 有可能包含一二级菜单 if (subClassifyId == undefined) { //表示没有二级 if (typeof appList[0] == 'object' && isNaN(appList[0].length)) { for (var i = 0; i < appList.length; i++) { hasTwoAppsList.push(appList[i]); } } else { //一级app var apps = appList[0]; if (apps != undefined) { if (apps.length != undefined) { for (var k = 0; k < apps.length; k++) { hasTwoAppsList.push(apps[k]); } } else { hasTwoAppsList.push(apps); } /* hasTwoAppsList.push(apps);*/ } for (var i = 1; i < appList.length; i++) { var twoAppsList = appList[i].appList; if (typeof twoAppsList == 'object' && !isNaN(twoAppsList.length)) { for (var j = 0; j < twoAppsList.length; j++) { hasTwoAppsList.push(twoAppsList[j]); } } } } newAppList.push(hasTwoAppsList); } } // newAppList.push(appList); //返回的list数据要去重 appList = newrecombineData(newAppList); } } var appLen = appList.length; return appLen; } /** * 获取APP列表html * @param data * @param classify 分类id * @returns {*} */ function getAppsContentHtml(data, classify, subClassifyId) { var searchKey = $.trim($('#ampPersonalAsideLeftAllCanUseAppsSearchInput').val()); var appsData = data.data; var classifyData = appsData[classify]; var appList = {}; if (subClassifyId !== undefined) { //判断点击的是否是二级菜单 var subCategoryList = classifyData.subCategoryList; var subCategoryAppList = {}; for (var i = 0; i < subCategoryList.length; i++) { if (subCategoryList[i].categoryId === subClassifyId) { subCategoryAppList = subCategoryList[i].appList; } } appList = filterApp(subCategoryAppList, searchKey); } else { if (classify == 'all') { appList = filterApp(classifyData.appList, searchKey); } else { appList = filterApp(classifyData, searchKey); } } //如果searchKey 为空值,则显示文件夹 if (searchKey == '') { canUseApps.space.searchFilterFlag = false; } //判断是否有文件夹,如果有文件夹,则将文件夹加载全部分类的后面显示 //如果是按回车键搜索的 则不需要添加文件夹 if (!canUseApps.space.searchFilterFlag) { if (classify == 'all') { //添加文件夹的数据 var appFolderListData = JSON.parse(sessionStorage.getItem('appFolderListData')); var appFolderListDataLen = appFolderListData.length; if (appFolderListDataLen > 0) { appList = appList.concat(appFolderListData); //如果有文件夹则将文件夹的数据缓存起来 saveSessionAppFolder(appFolderListData); } } } var appLen = appList.length; if (appLen === 0) { return getEmptyHtml(appList); } //判断hover状态 i图标是否显示 即需要判断是否有详情页 //一种是 classfid 为 all的 //一种是非all的组数据 var appsHtml = ''; if (classify == 'all' || subClassifyId != undefined) { appsHtml = getClassifyAllContentHtm(appList); } else { if (appList.appList != undefined) { appsHtml = getClassifyAllContentHtm(appList.appList); } else { if (appList.length == 1 && typeof(appList[0].appList) == 'undefined') { appsHtml = getClassifyAllContentHtm(appList); } else { //只有一级分类 var flag = false; for (var i = 0; i < appList.length; i++) { if (appList[i].appList != undefined) { flag = true; break; } } if (!flag) { appsHtml = getClassifyAllContentHtm(appList); } else { //有二级分类 appsHtml = getClassifyGroupAppContentHtm(appList); } // appsHtml = getClassifyGroupAppContentHtm(appList); } } /* if (appList.length > 0) { appsHtml = getClassifyAllContentHtm(appList); } else { if (appList.appList != undefined) { appsHtml = getClassifyAllContentHtm(appList.appList); } else { appsHtml = getClassifyGroupAppContentHtm(appList); } }*/ } // var groupHtm = AmpTemplate.getCanUseAppGroup().replace('@canUseAppListHtml', appsHtml); return appsHtml; } function getClassifyAllContentHtm(appList) { var appsHtml = ''; var appLen = appList.length; var tpl = $('#tpl-app-single-canUseApp').html(); for (var i = 0; i < appLen; i++) { var iShowIconHtml = ''; var app = appList[i]; var img = app.middleIcon; var title = app.appName; var attrStr = AmpUtils.assemblyAppAttributesToStr(app); if (app.appPc != undefined && app.appPc != null) { if (app.appPc.isEnableDescription) { iShowIconHtml = $('#tpl-single-hover-app-card-i-icon').html() .replace('@attributedesc', attrStr); } } //如果是文件夹,则不显示是否有详情的图标 if (app.type) { iShowIconHtml = ''; } appsHtml += tpl.replace('@attributes', attrStr) .replace('@img', img) .replace('@title', title) .replace('@iShowIconHtml', iShowIconHtml) .replace('@appBelongFlag', 'canUseAppFlag') .replace('@top', '2') .replace('@dragAppFlag', ''); } return appsHtml; } function getClassifyGroupAppContentHtm(appList) { var iShowIconHtml = ''; var appsHtml = ''; var groupAppHtml = ''; var singleHtml = ''; var tpl = $('#tpl-app-single-canUseApp').html(); var appLen = appList.length; for (var i = 0; i < appLen; i++) { var app = appList[i]; if (app.appList == undefined) { //表示没有二级分类 if (typeof app == 'object' && isNaN(appList[0].length)) { var img = app.middleIcon; var title = app.appName; var attrStr = AmpUtils.assemblyAppAttributesToStr(app); if (app.appPc != undefined) { if (app.appPc.isEnableDescription) { iShowIconHtml = $('#tpl-single-hover-app-card-i-icon').html() .replace('@attributedesc', attrStr); } } //如果是文件夹,则不显示是否有详情的图标 if (app.type) { iShowIconHtml = ''; } singleHtml += tpl.replace('@attributes', attrStr) .replace('@img', img) .replace('@title', title) .replace('@iShowIconHtml', iShowIconHtml) .replace('@appBelongFlag', 'canUseAppFlag') .replace('@top', '2') .replace('@dragAppFlag', ''); } else { for (var j = 0; j < app.length; j++) { var img = app[j].middleIcon; var title = app[j].appName; var attrStr = AmpUtils.assemblyAppAttributesToStr(app[j]); if (app[j].appPc != undefined) { if (app[j].appPc.isEnableDescription) { iShowIconHtml = $('#tpl-single-hover-app-card-i-icon').html() .replace('@attributedesc', attrStr); } } //如果是文件夹,则不显示是否有详情的图标 if (app.type) { iShowIconHtml = ''; } singleHtml += tpl.replace('@attributes', attrStr) .replace('@img', img) .replace('@title', title) .replace('@iShowIconHtml', iShowIconHtml) .replace('@appBelongFlag', 'canUseAppFlag') .replace('@top', '2') .replace('@dragAppFlag', ''); } } } else { //表示有二级分类 var subCategoryName = app.categoryName; var subCategoryId = app.categoryId; var subAppList = app.appList; var subApplistHtml = ''; for (var k = 0; k < subAppList.length; k++) { var img = subAppList[k].middleIcon; var title = subAppList[k].appName; var attrStr = AmpUtils.assemblyAppAttributesToStr(subAppList[k]); if (subAppList[k].appPc != undefined) { if (subAppList[k].appPc.isEnableDescription) { iShowIconHtml = $('#tpl-single-hover-app-card-i-icon').html() .replace('@attributedesc', attrStr); } } //如果是文件夹,则不显示是否有详情的图标 if (app.type) { iShowIconHtml = ''; } subApplistHtml += tpl.replace('@attributes', attrStr) .replace('@img', img) .replace('@title', title) .replace('@iShowIconHtml', iShowIconHtml) .replace('@top', '8') .replace('@dragAppFlag', '');; } groupAppHtml += AmpTemplate.getCanUseAppGroup().replace('@subCategoryName', subCategoryName) .replace('@canUseAppListHtml', subApplistHtml); } } appsHtml = singleHtml + groupAppHtml; return appsHtml; } /** * 过滤APP * @param apps 要过滤的数据 * @param searchKey 查询的关键词 * @returns {Array} */ function filterApp(apps, searchKey) { var re = new RegExp(searchKey); var filterData = []; //当关键词为空时,返回原数据 if (!searchKey) { //判断是否有二级分类 if (apps.subCategoryList !== undefined && apps.subCategoryList !== null && apps.subCategoryList.length > 0) { //添加一级分类 filterData.push(apps.appList); for (var i = 0; i < apps.subCategoryList.length; i++) { filterData.push(apps.subCategoryList[i]); } } else { filterData = apps; } } else { //判断是否有二级菜单 if (apps.subCategoryList !== undefined && apps.subCategoryList !== null && apps.subCategoryList.length > 0) { //一级分类 var appsLen = apps.appList.length; var appList = []; for (var i = 0; i < appsLen; i++) { var app = apps.appList[i]; var appName = app.appName; if (re.test(appName)) { // appList.push(app); filterData.push(app); } } //二级分类 for (var i = 0; i < apps.subCategoryList.length; i++) { var app = apps.subCategoryList[i]; var subApps = app.appList; var subAppList = []; for (var j = 0; j < subApps.length; j++) { var appItem = subApps[j]; var appName = subApps[j].appName; if (re.test(appName)) { subAppList.push(appItem); } } if (subAppList.length > 0) { app.appList = subAppList; filterData.push(app); } } } else { var appsLen = apps.length; if (appsLen == undefined) { apps = apps.appList; appsLen = apps.length; } for (var i = 0; i < appsLen; i++) { var app = apps[i]; var appName = app.appName; if (re.test(appName)) { filterData.push(app); } } } } return filterData; } /** * 获取tab的html * @param data * @returns {*} */ function getTabHtml(data) { if (!data) { return getEmptyHtml(); } var classify = data.classify; var appsData = data.data; var len = classify.length; var ulItemsHtml = ''; var contentItemsHtml = ''; //ul分类模板 var ulItemTpl = AmpTemplate.getCategoryTabHeadItemTplHtml(); //tab内容模板 var contentItemTpl = $('#tpl-canUseApp-tab-content-item').html(); //二级分类内容 // var subLitpl = ''; var subCategoryList = {}; for (var i = 0; i < len; i++) { var classify_id = classify[i]; var classify_item = appsData[classify_id]; var classify_name = classify_item.categoryName; var activeClass = ''; var appCount = classify_item.appCount; var hasUnReadMarkClass = ''; var hasSubCategoryFlag = ''; var subCategoryState = ''; hasSubCategoryFlag = (classify_item.subCategoryList != null && classify_item.subCategoryList.length > 0) ? "hasSubCategory" : ""; subCategoryState = (classify_item.subCategoryList != null && classify_item.subCategoryList.length > 0) ? "closeSubCategory" : ""; //一級分类 ulItemsHtml += ulItemTpl.replace('@id', classify_id) .replace('@name', classify_name) .replace('@customClass', activeClass) .replace('@hasUnReadMarkClass', hasUnReadMarkClass) .replace('@appCount', appCount) .replace('@hasSubCategoryFlag', hasSubCategoryFlag) .replace('@subCategoryState', subCategoryState) .replace('@titleName', classify_name); if (classify_id != 'all') { //获取二级分类的 li菜单 subCategoryList = classify_item.subCategoryList; if (subCategoryList != null) { var subCategoryLen = subCategoryList.length; for (var j = 0; j < subCategoryLen; j++) { var subCategoryItem = subCategoryList[j]; ulItemsHtml += $('#tpl-sub-category-tab-head-item').html().replace('@id', classify_id) .replace('@subId', subCategoryItem.categoryId) .replace('@name', subCategoryItem.categoryName) .replace('@appCount', subCategoryItem.appList.length); } } } //此时的tab内容是空的 contentItemsHtml += contentItemTpl.replace('@customClass', '') .replace('@classify', classify_id) .replace('@content', '') .replace('@id', ''); } var searchAvailableServices = "搜索可用服务"; if (AmpGlobal.currentLang == "en_US") { searchAvailableServices = $.i18n("searchAvailableServices"); } var tabHtml = $('#tpl-canUseApp-tab').html() .replace('@header', ulItemsHtml) .replace('@content', contentItemsHtml) .replace('@searchAvailableServices', searchAvailableServices); return tabHtml; } /** * 获取"全部"分类数据 * @param classifyData * @returns {Object} */ function getAllUseApps(classifyData) { var allApps = new Object(); var allAppsList = []; var flag = false; var cnStr = '全部'; if (AmpGlobal.currentLang == "en_US") { cnStr = $.i18n("all"); } allApps.categoryName = cnStr; allApps.categoryId = 'all'; if (classifyData) { var tempAppsObj = {}; var classifyDataLen = classifyData.length; for (var i = 0; i < classifyDataLen; i++) { //通过appId键值对方式过滤重复的APP数据 saveAllAppsToTempObj(tempAppsObj, classifyData[i].appList); if (classifyData[i].hasUnReadMark) { flag = true; } } for (var key in tempAppsObj) { var app = tempAppsObj[key]; allAppsList.push(app); } allApps.appList = allAppsList; if (flag) { allApps.hasUnReadMark = true; } } return allApps; } /** * 通过appId键值对方式过滤重复的APP数据 * @param tempAppsObj * @param apps */ function saveAllAppsToTempObj(tempAppsObj, apps) { var appsLen = apps.length; for (var i = 0; i < appsLen; i++) { var app = apps[i]; var appId = app.appId; tempAppsObj[appId] = app; } } function eventsListen() { var $canUseApps = $('#ampPersonalAsideLeftAllCanUseApps'); //点击分类 $canUseApps.on('click', 'li', function() { //判断是否有二级 tabChange($(this)); }); //点击详情 //TODO 类名要修改,同时修改css的 $canUseApps.on('click', '.icon-wenti1', function(e) { AmpDetail.open($(this).closest('.appFlag')); e.stopPropagation(); }); //查询图标点击 $('#ampPersonalAsideLeftAllCanUseAppsSearchIcon').on('click', function() { canUseApps.space.searchFilterFlag = true; searchApps(); }); //查询输入框回车 $('#ampPersonalAsideLeftAllCanUseAppsSearchInput').on('keyup', function(e) { if (e.keyCode === 13) { canUseApps.space.searchFilterFlag = true; $('#ampPersonalAsideleftCanuseappDelete').css('display', 'block'); searchApps(); //诸葛io埋点 var searchKey = $.trim($('#ampPersonalAsideLeftAllCanUseAppsSearchInput').val()); if (searchKey) AmpUtils.zhuge("搜索可用应用", { "关键字": searchKey }); } }); $('#ampPersonalAsideLeftAllCanUseAppsDeleteIcon').on('click', function(e) { $('#ampPersonalAsideLeftAllCanUseAppsSearchInput').val(''); $(this).parent().css('display', 'none'); canUseApps.space.searchFilterFlag = false; searchApps(); }); } /** * 切换tab * @param $item */ function tabChange($item) { if ($item.hasClass('amp-active')) { return; } //判断当前是否有二级菜单打开,如果有则先关闭二级菜单 var $asideLeftuseApps = $('#ampPersonalAsideLeftAllCanUseApps'); var $openSubCategoryTabs = $asideLeftuseApps.find('li.openSubCategory'); if (!$item.hasClass('amp-canuseapp-sub-category') && $openSubCategoryTabs.length > 0) { //关闭当前打开的二级菜单 closeSubCategory($openSubCategoryTabs); $openSubCategoryTabs.removeClass('openSubCategory').addClass('closeSubCategory'); } //判断是否有二级 有二级缓慢打开二级菜单 if ($item.hasClass('hasSubCategory')) { if ($item.hasClass('closeSubCategory')) { openSubCategory($item); $item.removeClass('closeSubCategory').addClass('openSubCategory'); } else { closeSubCategory($item); $item.removeClass('openSubCategory').addClass('closeSubCategory'); } } $item.siblings('.amp-active').removeClass('amp-active'); $item.addClass('amp-active'); var classify = $item.attr('amp-id'); var subClassifyId = $item.attr('amp-subid'); var $tabContent = $('#ampPersonalAsideLeftAllCanUseAppsTabContent'); $tabContent.children('.amp-category-content-item').addClass('amp-hide'); $tabContent.children('[amp-classify="' + classify + '"]').removeClass('amp-hide'); showApps(classify, subClassifyId); } /** * 查询APP */ function searchApps() { var classify = $('#ampPersonalAsideLeftAllCanUseAppsTabUl').children('.amp-active').attr('amp-id'); showApps(classify); } /** * 文件夹数据缓存 * @type {[type]} */ function saveSessionAppFolder(appFolderListData) { var appFolderListData = appFolderListData; var appFolderListLen = appFolderListData.length; for (var i = 0; i < appFolderListLen; i++) { var folderId = appFolderListData[i].appId; AmpDataUtils.space.folderData[folderId] = appFolderListData[i]; } } /** * 一级分类返回的数据要去重 * @type {[type]} 两种list 只有一级的 有二级分类的 */ function newrecombineData(appList) { // var appList = appList.appList; var newAppList = []; var appLen = appList.length; for (var i = 0; i < appLen; i++) { var apps = appList[i]; //分两种情况 //一种是保存的都是一级分类下的数据 //二级分类的数据 if (apps.appList == undefined) { // 是一级分类 for (var j = 0; j < apps.length; j++) { var appItem = apps[j]; newAppList.push(appItem); } } else { for (var k = 0; k < apps.appList.length; k++) { var appItem = apps.appList[k]; newAppList.push(appItem); } } } var tempAppsObj = {}; var allAppsList = []; //通过appId键值对方式过滤重复的APP数据 saveAllAppsToTempObj(tempAppsObj, newAppList); for (var key in tempAppsObj) { var app = tempAppsObj[key]; allAppsList.push(app); } return allAppsList; } function openSubCategory($item) { var $item = $item; var categoryId = $item.attr('amp-id'); var $leftAllCanUseAppsTab = $('#ampPersonalAsideLeftAllCanUseAppsTabUl'); var subCategoryList = $leftAllCanUseAppsTab.find('.amp-canuseapp-sub-category[amp-id=' + categoryId + ']'); //先关闭其他的二级分类 $leftAllCanUseAppsTab.find('li.amp-canuseapp-sub-category').addClass('amp-hide'); subCategoryList.each(function(index) { var $item = $(this); setTimeout(function() { $item.removeClass('amp-hide'); }, 0); }); } function closeSubCategory($item) { var $item = $item; var categoryId = $item.attr('amp-id'); var subCategoryList = $('#ampPersonalAsideLeftAllCanUseAppsTabUl').find('.amp-canuseapp-sub-category[amp-id=' + categoryId + ']'); var subCategoryLen = subCategoryList.length; subCategoryList.each(function(index) { var $item = $(this); setTimeout(function() { $item.addClass('amp-hide'); }, 0); }); } })(window.AmpCanUseApps = window.AmpCanUseApps || {}); ; (function(canUseCard, undefined) { /** * 显示可用卡片 * @param classify 应用分类id */ canUseCard.show = function(classify) { showCards(classify); }; /** * 将数据进行缓存 * @param data * @param data.classify 左侧的分类 * @param data.data 分类对应的数据,以键值对的形式存放 */ canUseCard.saveData = function(data) { saveCard(data); }; function saveCard(data) { var cards = null; if (data.pcCardCategory) { //重组数据 cards = recombineCardData(data.pcCardCategory); } //初始化tab initCardTab(cards); //事件监听 eventsListen(); //数据缓存 sessionStorage.setItem('canUseCardsData', JSON.stringify(cards)); AmpUtils.setIe9PlaceHolder(); } /** * 初始化tab * 判断右侧是否有桌面 如果没有桌面 则提示先创建桌面 * @param data */ function initCardTab(data) { var html = getCardTabHtml(data); $('#ampPersonalAsideLeftCanUseCards').html(html); if (!isHasDesktop()) { AmpPersonalCenter.showCanUseCardEmptyPage(); } } function isHasDesktop() { //判断是否有桌面 var flag = false; var $desktopNav = $('#ampDesktopNav'); var desktopLen = $desktopNav.find('.amp-tab-item').filter('[amp-desktop-id]').length; if (desktopLen > 0) { flag = true; } return flag; } function getCardTabHtml(data) { /*var classifyData = data.pcCardCategory;*/ if (!data) { return getEmptyHtml(); } var classifyData = data.data; var classifyDataLen = classifyData.length; //判断是否有新增的app var hasUnReadMark = isNewCreateCVard(classifyData); if (hasUnReadMark) { var hasUnReadMarkHtml = ''; $('.amp-tab-item[amp-id="canUseCards"]').append(hasUnReadMarkHtml); $('.amp-aside-box-mini-item[amp-id="canUseCards"]').addClass('amp-left-top'); } var contentsHtml = ''; var classifyHeadHtml = ''; var firstFlag = true; for (var key in classifyData) { var classifyItem = classifyData[key]; var headActiveClass = !firstFlag ? '' : 'amp-active'; var ReadMarkFlag = classifyItem.hasUnReadMark; var hasUnReadMarkClass = ReadMarkFlag ? 'tabhasUnReadMark' : ''; var appCount = getCanUseCardCount(classifyItem); classifyHeadHtml += AmpTemplate.getCategoryTabHeadItemHtml({ id: key, name: classifyItem.categoryName, customClass: headActiveClass, hasUnReadMarkClass: hasUnReadMarkClass, appCount: appCount }); var appList = classifyItem.appList; var cardsHtml = ''; var cardList = []; $.each(appList, function(index, data) { var cardItem = data.appPcCardList; if (!cardItem) { return; } var middleIcon = data.middleIcon; $.each(cardItem, function(index, data) { data.middleIcon = middleIcon; cardList.push(data); }); }); cardsHtml += AmpPersonalCenter.getCanUseAppsHtml(cardList, 'complex'); var contentClass = !firstFlag ? 'amp-hide' : ''; contentsHtml += AmpTemplate.getCategoryTabContentItemHtml({ id: 'ampCategoryContentCanUseItem' + key, content: cardsHtml, customClass: contentClass, key: key }); firstFlag = false; } var tabUlId = 'canUseTabListId'; var classifyHtml = AmpTemplate.getCategoryTabHtml({ header: classifyHeadHtml, content: contentsHtml, tabUlId: tabUlId }); return classifyHtml; } function isNewCreateCVard(classifyData) { var flag = false; $.each(classifyData, function(index, data) { if (data.hasUnReadMark) { flag = true; return false } }); return flag; } /** * 获取APP列表所对应的数量 */ function getCanUseCardCount(classifyItem) { var count = 0; var appList = classifyItem.appList; appListLen = appList.length; if (appListLen > 0) { for (var key in appList) { if (appList[key].appPcCardList) { count += appList[key].appPcCardList.length; } } } return count; } /** * 获取空页面 */ function getEmptyHtml() { var cnStr = '暂无可用卡片'; if (AmpGlobal.currentLang == "en_US") { cnStr = $.i18n("noAvailableCards"); } var emptyMessage = cnStr; return AmpTemplate.getPersonalEmptyPage(emptyMessage); } /** * 重组数据 * @param data * @returns {{}} */ function recombineCardData(data) { var newData = {}; var classify = newData.classify = []; var dataObj = newData.data = {}; if (data) { //添加全部的分类 data.splice(0, 0, getAllUseCards(data)); var len = data.length; for (var i = 0; i < len; i++) { var item = data[i]; var categoryId = item.categoryId; var appCount = item.appList.length; item.appCount = appCount; classify.push(categoryId); dataObj[categoryId] = item; } } return newData; } /** * 获取"全部"分类数据 * @param classifyData * @returns {Object} */ function getAllUseCards(classifyData) { var allCards = new Object(); var allCardsList = []; var flag = false; var cnStr = '全部'; if (AmpGlobal.currentLang == "en_US") { cnStr = $.i18n("all"); } allCards.categoryName = cnStr; allCards.categoryId = 'all'; if (classifyData) { var tempCardsObj = {}; var classifyDataLen = classifyData.length; for (var i = 0; i < classifyDataLen; i++) { saveAllCardsToTempObj(tempCardsObj, classifyData[i].appList); /* for (var k in classifyData[i].appList) { allCardsList.push(classifyData[i].appList[k]); }*/ if (classifyData[i].hasUnReadMark) { flag = true; } } for (var key in tempCardsObj) { var app = tempCardsObj[key]; allCardsList.push(app); } allCards.appList = allCardsList; if (flag) { allCards.hasUnReadMark = true; } } return allCards; } /** * 通过appId键值对方式过滤重复的APP数据 * @param tempAppsObj * @param apps */ function saveAllCardsToTempObj(tempCardsObj, apps) { var appsLen = apps.length; for (var i = 0; i < appsLen; i++) { var app = apps[i]; var appId = app.appId; tempCardsObj[appId] = app; } } function eventsListen() { var $canUseCards = $('#ampPersonalAsideLeftCanUseCards'); //查询图标点击 $('#ampPersonalAsideLeftAllCanUseCardsSearchIcon').on('click', function() { searchCards(); }); //查询输入框回车 $('#ampPersonalAsideLeftAllCanUseCardsSearchInput').on('keyup', function(e) { if (e.keyCode === 13) { $('#ampPersonalAsideleftCanusecardDelete').css('display', 'block'); searchCards(); //诸葛io埋点 var searchKey = $.trim($('#ampPersonalAsideLeftAllCanUseCardsSearchInput').val()); if (searchKey) AmpUtils.zhuge("搜索可用卡片", {"关键字": searchKey}); } }); $('#ampPersonalAsideLeftAllCanUseCardsDeleteIcon').on('click', function(e) { $('#ampPersonalAsideLeftAllCanUseCardsSearchInput').val(''); $(this).parent().css('display', 'none'); searchCards(); }); } /** * 切换tab * @param $item */ canUseCard.cardtabChange = function($item) { if ($item.hasClass('amp-active')) { return; } $item.siblings('.amp-active').removeClass('amp-active'); $item.addClass('amp-active'); var classify = $item.attr('amp-id'); var $tabContent = $('#ampCategoryTabContent'); $tabContent.children('.amp-category-content-item').addClass('amp-hide'); $tabContent.children('[amp-id="' + classify + '"]').removeClass('amp-hide'); showCards(classify); } /** * 查询APP */ function searchCards() { var classify = $('#canUseTabListId').children('.amp-active').attr('amp-id'); showCards(classify); } /** * 显示APP列表 * @param classify 所属分类id */ function showCards(classify) { var $tabContent = $('#ampCategoryTabContent'); var data = JSON.parse(sessionStorage.getItem('canUseCardsData')); var contentHtml = getCardsContentHtml(data, classify); $tabContent.children('[amp-id="' + classify + '"]').html(contentHtml); //更新分类所对应的数字 $('#canUseTabListId').find('li').each(function() { var classifyId = $(this).attr('amp-id'); var appListcount = getCardsCount(data, classifyId); $(this).find('.amp-app-count').text(appListcount); }); } /** * 获取APP列表所对应的数量 */ function getCardsCount(data, classifyId) { var searchKey = $.trim($('#ampPersonalAsideLeftAllCanUseCardsSearchInput').val()); var appsData = data.data; var classifyData = appsData[classifyId]; var appList = filterCard(classifyData.appList, searchKey); var appLen = appList.length; return appLen; } /** * 获取APP列表html * @param data * @param classify 分类id * @returns {*} */ function getCardsContentHtml(data, classify) { var searchKey = $.trim($('#ampPersonalAsideLeftAllCanUseCardsSearchInput').val()); var cardsData = data.data; var classifyData = cardsData[classify]; var appList = filterCard(classifyData.appList, searchKey); var appLen = appList.length; if (appLen === 0) { return getEmptyHtml(); } var cardsHtml = ''; var cardList = []; $.each(appList, function(index, data) { var cardItem = data.appPcCardList; if (!cardItem) { return; } var middleIcon = data.middleIcon; $.each(cardItem, function(index, data) { data.middleIcon = middleIcon; cardList.push(data); }); }); cardsHtml += AmpPersonalCenter.getCanUseAppsHtml(cardList, 'complex'); return cardsHtml; } /** * 过滤APP * @param apps 要过滤的数据 * @param searchKey 查询的关键词 * @returns {Array} */ function filterCard(apps, searchKey) { var re = new RegExp(searchKey); var filterData = []; //当关键词为空时,返回原数据 if (!searchKey) { filterData = apps; } else { var appsLen = apps.length; for (var i = 0; i < appsLen; i++) { var app = apps[i]; var appName = app.appName; if (re.test(appName)) { filterData.push(app); } } } return filterData; } })(window.AmpCanUseCard = window.AmpCanUseCard || {}); ; (function(leftAside, undefined) { /** * 点击mini条,激活对应的tab */ $('#ampPersonalAsideLeftMini').on('click', '.amp-aside-box-mini-item', function() { localStorage.leftAsideOpenFlag = '1'; //记录打开的状态 // AmpDesktopCommon.setDesktopWidth('left', 'normal'); AmpPersonalCenter.setCustomDesktopCenter('left', 'normal'); changeMessageActiveTab($(this)); var delay = 1000; //推荐卡片2s时间显示 setTimeout(function() { //判断打开normal模式是否会遮盖桌面的卡片,如果遮盖,作处理 setAsideLeftBgColor(); if (AmpGlobal.platformType != '0') { AmpPersonalCenter.showRecommendCrad(); AmpPersonalCenter.setCreateDesktopPosition(); AmpPersonalCenter.initSortingCards(); } AmpPersonalCenter.setDesktopBlurHtm(); //当前桌面是否需要显示管理员新增桌面提醒 AmpPersonalCenter.showAdminNewDesktop(); }, delay); //修改基础版本 导致代码错误 AmpUtils.setIe9PlaceHolder(); }); //点击收缩按钮 $('#ampPersonalAsideLeftClose').on('click', function() { localStorage.leftAsideOpenFlag = '0'; AmpUtils.setIe9PlaceHolder(); if (navigator.userAgent.indexOf("MSIE 9.0") > 0) { setTimeout(function() { // AmpDesktopCommon.setDesktopWidth('left', 'mini'); AmpPersonalCenter.setCustomDesktopCenter('left', 'mini'); }, 450); } else { // AmpDesktopCommon.setDesktopWidth('left', 'mini'); AmpPersonalCenter.setCustomDesktopCenter('left', 'mini'); } var delay = 1000; //推荐卡片2s时间显示 setTimeout(function() { setTimeout(function() { //推荐卡片滚动到可见区域内 //判断左侧是否是可用卡片的tab页, var $tabContentItem0 = $('#ampTabContentItem0'); if ($tabContentItem0.find('.recommedCard').length > 0) { var recommendCardScrollTop = $tabContentItem0.find('.recommedCard:first').offset().top; $('#ampDesktopContent').animate({ scrollTop: recommendCardScrollTop - 240 }, 300); } }, 200); if (AmpGlobal.platformType != '0') { AmpPersonalCenter.showRecommendCrad(); AmpPersonalCenter.setCreateDesktopPosition(); AmpPersonalCenter.initSortingCards(); } AmpPersonalCenter.setDesktopBlurHtm(); //当前桌面是否需要显示管理员新增桌面提醒 AmpPersonalCenter.showAdminNewDesktop(); }, delay); //桌面卡片如果是拖拽的模式 应该置为 添加卡片的模式 AmpPersonalCenter.setPcDesktopToolAddOrDrag(true); /* var $ampDesktopContent = $('#ampDesktopContent'); var $el = $ampDesktopContent.children('.amp-active'); if ($el.length > 0) { $el.attr('is-sortable-init', 'false'); }*/ }); /** * 点击mini条,激活对应的tab * @param $item 被点击的节点 */ function changeMessageActiveTab($item) { var type = $item.attr('amp-id'); $('#ampPersonalAsideLeftMini').find('.amp-active').removeClass('amp-active'); var clickItem = $('#ampPersonalAsideLeftTabHead').find('[amp-id="' + type + '"]'); AmpPersonalCenter.asideLeftTabChange(clickItem); } function setAsideLeftBgColor() { var asideLeftWith = 416; var offsetLeft = $('#ampDesktopContent').offset().left; var desktopPaddingLeft = $('#ampDesktopNav').css('padding-left'); var $asideLeftContent = $('#ampPersonalAsideLeftTabContent'); var $asideLeftTab = $('#ampPersonalAsideLeftTabHead'); var $asideLeftClose = $('#ampPersonalAsideLeftClose'); var leftWidth = parseInt(asideLeftWith); var personalWidth = parseInt(offsetLeft) + parseInt(desktopPaddingLeft); if (personalWidth < leftWidth) { $asideLeftContent.addClass('amp-aside-covered-bg'); $asideLeftTab.find('.amp-tab-item').addClass('amp-aside-covered-bg'); $asideLeftClose.addClass('amp-aside-covered-bg'); } else { $asideLeftContent.removeClass('amp-aside-covered-bg'); $asideLeftTab.find('.amp-tab-item').removeClass('amp-aside-covered-bg'); $asideLeftClose.removeClass('amp-aside-covered-bg'); } } })(window.AmpPersonalLeftAside = window.AmpPersonalLeftAside || {}); ; (function(message, undefined) { var timerMassage = null; message.space = { //控制多次加载数据 lazyComplete: true, login: false }; //事件监听 eventsListen(); refreshMessage(); refreshUnreadMessage(); //显示消息 message.show = function() { getData(0); }; message.refresh = function() { getData() } function refreshMessage() { //消息刷新时间默认3分钟 var time = 60; var dlay = +time * 10000 * 6 function refresh() { //清空已存在的html getData(0, function(data) { //登陆信息有效时候才执行防止页面数据被清空 if (data.result == "success" && data.hasLogin) { $('#ampTagMessages').empty(); show(data); message.space.lazyComplete = true; } else { clearTimeout(timerMassage) } }); //刷新未读消息数量 refreshUnreadMessage(); if (typeof AMPConfigure.messageDataRefreshEnable != 'undefined' && AMPConfigure.messageDataRefreshEnable) { timerMassage = setTimeout(refresh, dlay) } } if (typeof AMPConfigure.messageDataRefreshEnable != 'undefined' && AMPConfigure.messageDataRefreshEnable) { timerMassage = setTimeout(refresh, dlay) } } /** * 获取消息数据并显示 * @param startIndex 获取数据的起始条数 */ function getData(startIndex, fn) { message.space.lazyComplete = false; var params = {}; params.typeName = '未读消息'; params.start = startIndex; var fnc = fn || function(data) { if (data.result == 'success' && data.hasLogin) { show(data); message.space.lazyComplete = true; } }; AmpDataUtils.getTagsMessages(params, fnc); } //请求未读消息的数量 function refreshUnreadMessage() { AmpDataUtils.getAsideWidgetsDataOfUnreadMessage(function(data) { if (data.result == 'success') { if (data.taskSideMessageBiz.appId == null) { messageCount = data.taskSideMessageBiz.totalSize; if (messageCount && messageCount != '0') { $('#ampMessageTaskCount').addClass('amp-task-count-bg').text(messageCount); $('#messageSumCount').text(messageCount); $('#ampPersonalAsideRightTabHead [amp-id="message"]').find('.amp-red-corner').removeClass('amp-hide'); } else { $('#messageSumCount').text('0'); } } } }); } /** * 显示消息 * @param res 请求回来的消息数据 */ function show(res) { var $message = $('#ampTagMessages'); var data = res.data; var messages = data.children; var messageSumCount = data.count; if (messageSumCount) { $('#ampMessageTaskCount').text(messageSumCount); } var html = ''; //当没有消息时,取消懒加载,若是从未加载过数据则显示无数据提示 if (messages.length === 0) { offLazyLoad(); if ($message.children('.amp-message-item').length === 0) { html = getEmptyHtml(); } } else { html = getMessagesHtml(messages); } if ($message.children('.amp-personal-empty-page').length > 0) { $message.html(html); } else { $message.append(html); } $('#ampTagMessages').off("click", '.amp-feedback-message').on("click", '.amp-feedback-message', function() { window.open(AMPConstant.requestPath + 'new/indexShell.html?portal/html/myFeedback/feedback.html'); }); $('#ampTagMessages').off("click", ".amp-normal-message").on("click", '.amp-normal-message', function() { var typeId = $(this).attr('amp-typeid'); window.open(AMPConstant.requestPath + 'new/portal/html/message/scenes_message_center.html?typeId=' + typeId); }); $('#ampTagMessages').off("click", ".amp-assess-message").on("click", ".amp-assess-message", function() { var $item = $(this); var url = $item.attr('amp-url'); var appId = $item.attr('amp-appid'); var hasHead = $item.attr('amp-hashead'); var appName = $item.attr('amp-appname'); var isthirdparty = $item.attr('amp-isthirdparty'); if (!(appId && appName && hasHead && isthirdparty && url)) { return; } if (hasHead == '1') { //有head //分两种情况,分两种情况,如果是第三方应用,则添加评价功能,如果不是第三方应用,则正常跳转。 if (isthirdparty == '1') { //是第三方应用 var isthirdpartyUrl = "thirdAppIndexShell.html"; localStorage.isthirdpartyUrl = url; localStorage.isthirdpartyAppId = appId; window.open(isthirdpartyUrl); } else { if (url.indexOf('http') === -1 && url.indexOf('//') === -1) { url = AMPConstant.requestPath + url; } window.open(url); } } else { //没有head //参数1 url 参数2 是否有head 参数3 appID 参数4 appName var noHeadUrl = AMPConstant.requestPath + "new/indexShell.html"; localStorage.openHasNoHeadAppUrl = url; localStorage.openHasNoHeadAppId = appId; localStorage.openHasNoHead = '0'; localStorage.openHasNoHeadTitle = appName; localStorage.isthirdparty = isthirdparty; window.open(noHeadUrl); } }); AmpUtils.setScroll($message, 1); } /** * 空提示html */ function getEmptyHtml() { var emptyMessage = '暂无未读消息'; if (AmpGlobal.currentLang == "en_US") { emptyMessage = $.i18n("noUnreadMessages"); } return AmpTemplate.getPersonalEmptyPage(emptyMessage); } function eventsListen() { //懒加载方法 lazyLoad(); var $message = $("#ampTagMessages"); //展开收缩消息内容 $message.on('click', '.amp-arrow', function(e) { showContent($(this).closest('.amp-message-item').children('.amp-message-description')); e.stopPropagation(); }); //移除单个消息 $message.on('click', '.icon-chacha, .amp-message-item', function(e) { removeMessage($(this).closest('.amp-message-item')); e.stopPropagation(); }); $('#ampPersonalMessageHeader').on('click', 'span', function() { var type = $(this).attr('amp-type'); //全部设为已读 if (type === 'allRead') { offLazyLoad(); allMessageRead(); } else { //进入消息中心 goMessageCenter(); //诸葛io AmpUtils.zhuge("查看消息中心", { "来源": "个人中心-右侧边栏-点上方的消息栏目时触发" }); } }); } /** * 移除单个消息 * @param $message 消息节点 */ function removeMessage($message) { $clickItem = $message; var messageId = $clickItem.attr('amp-message-id'); var $messMiniCount = $('#ampMessageTaskCount'); AmpDataUtils.setMsgsRead(messageId, function(data) { if (data.result == 'success') { //更新总消息中的数字 移除一条减去一条 var $messageSumCount = $('#messageSumCount'); var messageSum = $messageSumCount.text(); $messageSumCount.text(parseInt(messageSum) - 1); if (!(parseInt(messageSum) - 1)) { $('.amp-tab-item[amp-id="message"]').find('.amp-red-corner').removeClass('amp-red-corner'); } var miniBoxMessCount = parseInt($messMiniCount.text()) - 1; if (!miniBoxMessCount) { //移除红色提示 $('#ampMessageTaskCount').removeClass('amp-task-count-bg'); $messMiniCount.text(''); } else { $messMiniCount.text(miniBoxMessCount); } $message.addClass('amp-animate-move-right-out'); //动画完成,移除节点 setTimeout(function() { $message.remove(); }, AmpGlobal.animateTimes); } }); } /** * 展开收缩内容 * @param $content 内容节点 */ function showContent($content) { //初始化设置内容的高度,以便实现动画 var flag = initContentHeight($content); //如果是第一次初始化高度,需延迟做动画处理,避免动画失效 if (flag === 'init') { setTimeout(function() { changeContentHeight($content); }, 10); } else { changeContentHeight($content); } } /** * 初始化设置内容高度 * @param $content 内容节点 * @returns {string} 判断高度是否已经初始化过了 */ function initContentHeight($content) { var flag = 'hasInit'; //已经初始化 if (!$content.attr('small-height')) { flag = 'init'; //第一次初始化 var $small = $content.children('.amp-message-small'); var $full = $content.children('.amp-message-full'); var smallHeight = $small.outerHeight(); var fullHeight = $full.outerHeight(); $content.css({ height: smallHeight + 'px' }) .attr('small-height', smallHeight + 'px') .attr('full-height', fullHeight + 'px'); } return flag; } /** * 改变内容高度的动画 * @param $content */ function changeContentHeight($content) { var $message = $content.closest('.amp-message-item'); if ($message.hasClass('amp-show-full')) { var smallHeight = $content.attr('small-height'); $content.css({ height: smallHeight }); setTimeout(function() { $message.removeClass('amp-show-full'); }, AmpGlobal.animateTimes); } else { var fullHeight = $content.attr('full-height'); $content.css({ height: fullHeight }); $message.addClass('amp-show-full'); } } /** * 未读消息的懒加载 */ function lazyLoad() { $("#ampTagMessages").on('scroll', function() { var $message = $(this), viewH = $message.height(), //可见高度 contentH = $message.get(0).scrollHeight, //内容高度 scrollTop = $message.scrollTop(); //滚动高度 if (contentH - viewH - scrollTop - 45 <= 0) { //到达底部100px时,加载新内容 //等数据加载完才能继续加载下20条数据 var alreadyLoadMessageCount = $message.children().length; if (message.space.lazyComplete) { getData(alreadyLoadMessageCount); } } }); } /** * 取消懒加载事件监听 */ function offLazyLoad() { $("#ampTagMessages").off('scroll'); } /** * 获取消息html * @param data * @returns {string} */ function getMessagesHtml(data) { var html = ''; var len = data.length; for (var i = 0; i < len; i++) { html += AmpTemplate.getTagsMessages(data[i]); } return html; } /** * 消息设为已读 */ function allMessageRead() { var $message = $('#ampTagMessages'); var window_height = window.innerHeight; var message_top = $message.offset().top; //隐藏nicescroll,避免最后出现闪烁的情况 $message.getNiceScroll().hide(); //取到所有可见区域的消息,只对这些消息做动画处理 var animate_items = []; $message.children('.amp-message-item').each(function(index) { var $item = $(this); var top = $item.offset().top; var height = $item.outerHeight(); var bottom = top + height; if (bottom >= message_top && top <= window_height) { animate_items.unshift($item); } }); //做移除动画 var len = animate_items.length; var animate_diff_time = 100; for (var i = 0; i < len; i++) { var $item = animate_items[i]; allMessageReadRemoveItem($item, i, animate_diff_time); } //当所有动画结束后,就清空消息 setTimeout(function() { //调用接口删除消息 AmpDataUtils.setAllTagMsgsRead(function(data) { if (data.result == 'success') { //更新消息的总数 var $messageSumCount = $('#messageSumCount'); $messageSumCount.text(0); var html = getEmptyHtml(); $message.html(html); $message.getNiceScroll().show(); } }); }, animate_diff_time * len + AmpGlobal.animateTimes); } /** * 全部设为已读的移除动画 * @param $message 单个消息节点 * @param index 该节点移除的顺序 * @param animate_diff_time 移除动画的间隔时间 */ function allMessageReadRemoveItem($message, index, animate_diff_time) { setTimeout(function() { $message.addClass('amp-animate-move-right-out'); }, index * animate_diff_time); } /** * 进入消息中心 */ function goMessageCenter() { window.open("portal/html/message/scenes_message_center.html"); } })(window.AmpMessage = window.AmpMessage || {}); ; (function(myfavoriteApp, undefined) { myfavoriteApp.space = { dragFolderId: '', //将应用拖拽到目标文件夹的folderId dragingFlag: false, //当前是否是拖拽状态中 elLeftSort: '', //左边排序的初始化内容 elRightSort: '' //右边排序的初始化内容 }; /** * 显示可用应用 * @param classify 应用分类id */ myfavoriteApp.initMyFavoriteApps = function(data) { sessionStorage.setItem('myFavoriteAppsData', JSON.stringify(data)); //初始化我的收藏的数据 myfavoriteApp.initMyFavApps(); //事件监听 eventListen(); //美化滚动条 AmpUtils.niceScrollInit($('#ampMyFavoriteCategoryTabContent')); }; /** * 移除创建文件夹的弹框 */ myfavoriteApp.removeCreateFolderDialog = function(obj) { var $myFavoriteFolder = $('#ampMyFavoriteCreateFolder'); if ($myFavoriteFolder.length > 0) { $myFavoriteFolder.remove(); if (obj.closest('li.amp-hover-slow-motion').length < 1) { //菜单返回到收藏夹的菜单 myfavoriteApp.favTabChange($('#myFavoriteTabListId').find('li[amp-id="0"]')); } } } function eventListen() { var $myFavorite = $('#ampPersonalAsideLeftMyFavorite'); //点击分类 $myFavorite.off('click').on('click', 'li', function() { //判断是否点击的是整理按钮 var classify = $(this).attr('amp-id'); if (classify == 'favoriteset') { //整理arrange arrangeFavorite($(this)); } else { if ($(this).hasClass('amp-hide')) { //菜单返回到收藏夹的菜单 myfavoriteApp.favTabChange($('#myFavoriteTabListId').find('li[amp-id="0"]')); } else { myfavoriteApp.favTabChange($(this)); } } }); //点击文件夹删除触发的事件 $myFavorite.on('click', '.amp-app-delete', function(e) { var $target = $(e.target || e.srcElement); var $targetli = $target.closest('li'); // var folderId = $targetli.attr('amp-id'); // 隐藏所有的菜单元素,并添加删除属性 $targetli.addClass('amp-hide'); $targetli.attr('amp-folder-delete', 'true'); $targetli.find('.amp-app-operate').addClass('amp-hide'); }); //点击文件夹操作按钮触发的事件 $myFavorite.on('click', '.amp-app-operateBtn', function(e) { var $target = $(e.target || e.srcElement); var $targetli = $target.closest('li'); $targetli.find('.amp-app-operate').removeClass('amp-hide'); $targetli.siblings('li').find('.amp-app-operate').addClass('amp-hide'); }); //点击文件夹重命名按钮触发的事件 $myFavorite.on('click', '.amp-app-rename', function(e) { var $target = $(e.target || e.srcElement); var $targetli = $target.closest('li'); if ($('#ampAdminNewFolderName').length == 0) { //获取重命名文件夹的名称 var folderName = $targetli.find('.amp-left-aside-canuseapp-name').text(); var folderId = $targetli.attr('amp-id'); var createFolderHtml = AmpTemplate.createFolderNameDialogHtm(folderName, folderId); $('#ampPersonalAsideLeftMyFavorite').append(createFolderHtml); $targetli.find('.amp-app-operate').addClass('amp-hide'); } }); //添加应用 触发事件 $('body').on('click', '.amp-favorite-icon-jia', function() { $('#ampPageHeaderSearch').click(); }); //重命名文件夹名称保存取消操作 $myFavorite.on('click', '.amp-create-foldername-btn-save', function(e) { var $target = $(e.target || e.srcElement); var folderId = $target.closest('.amp-create-folderName').attr('folderId'); saveFolderName(folderId); }); $myFavorite.on('click', '.amp-create-foldername-btn-cancel', function(e) { cancelFolderName(); }); } function saveFolderName(folderId) { var newVal = $('#ampCreateFolderNameInput').val(); newVal = $.trim(newVal); var $myFavoriteTab = $('#myFavoriteTabListId'); var $tab_li = $myFavoriteTab.find('li[amp-id="' + folderId + '"]'); var $folderName = $tab_li.find('.amp-left-aside-canuseapp-name'); if (newVal) { $folderName.attr('amp-old-folderName', $folderName.text()); $tab_li.attr('amp-folderName-edit', 'true'); //更新新的文件名: $folderName.text(newVal); //关闭弹框 cancelFolderName(); } else { var cnStr = '请输入重命名文件夹名称'; if (AmpGlobal.currentLang == "en_US") { cnStr = $.i18n("enterFolderName"); } AmpPrompt.show({ content: cnStr }); return; } } function cancelFolderName() { $('#ampAdminNewFolderName').remove(); } function eventDragListen() { var moveCorrectFolder = "请移动到正确的目标文件夹"; var belongToFolderSuccess = "归入文件夹成功"; if (AmpGlobal.currentLang == "en_US") { moveCorrectFolder = $.i18n("moveCorrectFolder"); belongToFolderSuccess = $.i18n("belongToFolderSuccess"); } var $myFavorite = $('#ampPersonalAsideLeftMyFavorite'); //如果是ie9浏览器 ,则调用 mousermove if (navigator.userAgent.indexOf("MSIE") >= 0) { $("#myFavoriteTabListId").mouseenter(function(e) { var $target = $(e.target || e.srcElement); var $targetli = $target.closest('li'); //如果是选择的非法文件夹,提示请选择合适的文件夹拖动 var $myFavoriteTab = $('#myFavoriteTabListId'); var $activeTab = $myFavoriteTab.find('li.amp-active'); var folderId = $targetli.attr('amp-id'); $targetli.addClass('amp-drag-active'); if (myfavoriteApp.space.dragingFlag && folderId != undefined && folderId != '' && $myFavorite.hasClass('isEditState')) { if ($targetli.hasClass('amp-drag-active')) { myfavoriteApp.space.dragFolderId = folderId; //目标文件夹的folderId myfavoriteApp.space.dragingFlag = false; setTimeout(function() { $targetli.removeClass('amp-drag-active'); }, 1000); if (folderId == $activeTab.attr('amp-id') || folderId == 'create') { AmpPrompt.show({ content: moveCorrectFolder }); } } } $targetli.removeClass('amp-drag-active'); }); } else { $("#myFavoriteTabListId").mouseup(function(e) { var $target = $(e.target || e.srcElement); var $targetli = $target.closest('li'); //如果是选择的非法文件夹,提示请选择合适的文件夹拖动 var $myFavoriteTab = $('#myFavoriteTabListId'); var $activeTab = $myFavoriteTab.find('li.amp-active'); var folderId = $targetli.attr('amp-id'); console.log(myfavoriteApp.space.dragingFlag); if (navigator.userAgent.indexOf("MSIE 9.0") > 0) { $targetli.addClass('amp-drag-active'); } if (myfavoriteApp.space.dragingFlag && $myFavorite.hasClass('isEditState')) { if ($targetli.hasClass('amp-drag-active')) { setTimeout(function() { $targetli.removeClass('amp-drag-active'); }, 1000); if (folderId == $activeTab.attr('amp-id') || folderId == 'create') { AmpPrompt.show({ content: moveCorrectFolder }); } myfavoriteApp.space.dragFolderId = folderId; //目标文件夹的folderId myfavoriteApp.space.dragingFlag = false; } } if (navigator.userAgent.indexOf("MSIE 9.0") > 0) { $targetli.removeClass('amp-drag-active'); } }); $("#myFavoriteTabListId .amp-favorite-edit").hover( //为li绑定了鼠标进入和鼠标移开的两个参数 function() { $(this).addClass('amp-drag-active'); }, function() { $(this).removeClass('amp-drag-active'); } ); } } myfavoriteApp.initMyFavApps = function() { var html = getTabHtml(); var organize = '整理'; var save = '保存'; var cancel = '取消'; if (AmpGlobal.currentLang == "en_US") { organize = $.i18n("organize"); save = $.i18n("save"); cancel = $.i18n("cancel"); } var setHtml = $('#tpl-myfavorite-set').html() .replace("@organize", organize) .replace("@save", save) .replace("@cancel", cancel); $('#ampPersonalAsideLeftMyFavorite').html(html + setHtml); } function getTabHtml() { var data = JSON.parse(sessionStorage.getItem('myFavoriteAppsData')); var userFavFolders = data.userFavFolders; var userFavFoldersLen = userFavFolders.length; var searchApps = data.searchResult; var contentsHtml = ''; //左侧边栏菜单div var classifyHtml = ''; //左侧边栏菜单ul li 数据 var params = {}; params.searchApps = searchApps; params.userFavFolders = userFavFolders; var getAllApps = showFavoriteAllapps(params); classifyHtml = getAllApps.classifyHtml; contentsHtml = getAllApps.contentsHtml; //显示文件夹的数据 if (userFavFoldersLen > 0) { for (var i = 0; i < userFavFoldersLen; i++) { var appList = userFavFolders[i]; params.folderList = appList; var folderParams = showFavoriteAllapps(params); classifyHtml += folderParams.classifyHtml; contentsHtml += folderParams.contentsHtml;; } } //添加新建文件夹的菜单数据 var createNewFolder = '新建文件夹'; if (AmpGlobal.currentLang == "en_US") { createNewFolder = $.i18n("createNewFolder"); } classifyHtml += $('#tpl-myfavorite-create-folder').html().replace("@createNewFolder", createNewFolder); contentsHtml += AmpTemplate.getMyFavoriteCategoryTabContentItemHtml({ id: 'ampCategoryContentMyFavoriteItem' + 'create', content: '', customClass: '', key: 'create' }); var tabUlId = 'myFavoriteTabListId'; var html = AmpTemplate.geMyfavoriteTabHtml({ header: classifyHtml, content: contentsHtml, tabUlId: tabUlId }); return html; } //我的收藏一级菜单切换事件 myfavoriteApp.favTabChange = function($item) { if ($item.hasClass('amp-active')) { return; } //判断是否有创建文件夹的弹框存在,如果存在弹框,则移除弹框 var $favCreateFolder = $('#ampMyFavoriteCreateFolder'); if ($favCreateFolder.length > 0) { $('#ampMyFavoriteCreateFolder').remove(); } //如果是创建文件夹按钮,则创建文件夹 if ($item.attr('amp-id') == 'create') { //是否是创建文件夹按钮 //判断当前文件夹是否已经有10个 var folders = $('#myFavoriteTabListId').find('li[amp-folder="true"]').length; if (folders > 9) { AmpPrompt.show({ content: $.i18n("folderOutOfLimit") }); return; } else { //创建文件夹弹框 createFolder(); } } $item.siblings('.amp-active').removeClass('amp-active'); $item.addClass('amp-active'); var classify = $item.attr('amp-id'); var $tabContent = $('#ampMyFavoriteCategoryTabContent'); $tabContent.children('.amp-category-content-item').addClass('amp-hide').removeClass('amp-active'); $tabContent.children('[amp-classify="' + classify + '"]').removeClass('amp-hide'); //初始化 app拖拽事件 initSortingAppToFolder(); } function createFolder() { var createNewFolder = "新建文件夹"; var newFolder = "新建文件夹"; var folderCan = "文件夹可以放置您需要放置的应用"; var confirm = "确定"; var cancel = "取消"; var folderLength = "5"; if (AmpGlobal.currentLang == "en_US") { createNewFolder = $.i18n("createNewFolder"); newFolder = $.i18n("newFolder"); folderCan = $.i18n("folderCan"); confirm = $.i18n("confirm"); cancel = $.i18n("cancel"); folderLength = $.i18n("folderLength"); } var folderPage = $('#tpl-myfavorite-create-folder-page').html() .replace("@createNewFolder", createNewFolder) .replace("@newFolder", newFolder) .replace("@folderCan", folderCan) .replace("@confirm", confirm) .replace("@cancel", cancel) .replace("@folderLength", folderLength); $('body').append(folderPage); var $myFavoriteFolder = $('#ampMyFavoriteCreateFolder'); var offset = $('#ampPersonalAsideLeftMyFavorite').find('li[amp-id="create"]').offset(); $myFavoriteFolder.css({ 'left': '120px', 'top': '108px' }); } myfavoriteApp.saveFolder = function() { var folderName = $('#ampFolderInput').val(); folderName = $.trim(folderName); var params = {}; if (folderName) { var newFolderName = encodeURI(folderName); AmpDataUtils.saveUserFavFolder(newFolderName, function(data) { var cnStr = '新建文件夹成功'; if (AmpGlobal.currentLang == "en_US") { cnStr = $.i18n("creatFolderSuccess"); } AmpPrompt.show({ content: cnStr }); params.folderName = folderName; params.folderId = data.folderId; //菜单显示一个文件夹 createFolderItem(params); //同步我的收藏卡片创建新的文件夹 AmpOpenFavorite.favoriteCardSyncAddNewFolder(params); //诸葛io埋点 AmpUtils.zhuge("新建收藏文件夹", { "文件夹名称": folderName }); }); } else { var cnStr = '请输入文件夹名称'; if (AmpGlobal.currentLang == "en_US") { cnStr = $.i18n("enterFolderName"); } AmpPrompt.show({ content: cnStr }); return; } } function showFavoriteAllapps(params) { var searchApps = params.searchApps; var folderList = params.folderList; var userFavFolders = params.userFavFolders; var datas = searchApps; var len = datas.length; var contentsHtml = ''; //左侧边栏菜单div var classifyHtml = ''; //左侧边栏菜单ul li 数据 var appsHtml = ''; //所有app的html var params = {}; var key = ''; var categoryName = ''; var appCount = 0; var activeClass = ''; var customClass = ''; var ampFavoriteType = false; var showiconFlag = 'amp-active'; var renameVal = '重命名'; if (AmpGlobal.currentLang == "en_US") { renameVal = $.i18n("rename"); } var deleteVal = '删除'; if (AmpGlobal.currentLang == "en_US") { deleteVal = $.i18n("delete"); } // if (len) { //收藏夹有数据 if (folderList == undefined) { //收藏夹所有的数据 folderId 为0的数据 var favoriteAllDatas = []; for (var k = 0; k < searchApps.length; k++) { if (searchApps[k].favoriteFolderId == '0') { favoriteAllDatas.push(searchApps[k]); } } //appCount = favoriteAllDatas.length; appCount = searchApps.length; key = '0'; categoryName = '收藏夹'; if (AmpGlobal.currentLang == "en_US") { categoryName = $.i18n("favorite"); } activeClass = 'amp-active'; customClass = 'amp-active'; //获取收藏夹下面的所有的应用包括子文件夹下面的应用 // appsHtml = getFavoriteAppsHtml(favoriteAllDatas); appsHtml = getAllFavoriteAppsHtml(searchApps, userFavFolders); } else { key = folderList.wid; categoryName = folderList.folderName; activeClass = ''; customClass = 'amp-hide'; ampFavoriteType = true; var folderAppList = []; for (var i = 0; i < len; i++) { if (searchApps[i].favoriteFolderId == key) { folderAppList.push(searchApps[i]); } } // var folderAppList = searchApps[key]; appCount = folderAppList == undefined ? 0 : folderAppList.length; appsHtml = getFavoriteAppsHtml(folderAppList, true, true); } showiconFlag = ampFavoriteType ? 'amp-active' : 'amp-hide'; classifyHtml += $('#tpl-myfavorite-app-tab-item').html() .replace('@id', key) .replace('@name', categoryName) .replace('@appCount', appCount) .replace('@activeClass', activeClass) .replace('@ampFavoriteType', ampFavoriteType) .replace('@showiconFlag', showiconFlag) .replace('@rename', renameVal) .replace('@delete', deleteVal); contentsHtml += AmpTemplate.getMyFavoriteCategoryTabContentItemHtml({ id: 'ampCategoryContentMyFavoriteItem' + key, content: appsHtml, customClass: customClass, key: key }); params.classifyHtml = classifyHtml; params.contentsHtml = contentsHtml; return params; } /** * [getFavoriteAppsHtml description] * @param {[type]} appList * @param {[type]} flag 是否需要添加应用的按钮 * @param {[type]} dragAppFlag app是否需要拖拽的标志 * @return {[type]} [description] */ function getFavoriteAppsHtml(appList, flag, dragAppFlag) { var appsHtml = ''; var appLen = appList == undefined ? 0 : appList.length; var tpl = $('#tpl-app-single-canUseApp').html(); var dragAppFlagHtm = ''; if (dragAppFlag) { dragAppFlagHtm = $('#tpl-app-single-myfaviriteDragApp').html(); } if (appLen) { for (var i = 0; i < appLen; i++) { var iShowIconHtml = ''; var app = appList[i]; var img = app.middleIcon; var title = app.appName; var attrStr = AmpUtils.assemblyAppAttributesToStr(app); if (app.type) { //type 为1 表示是文件夹的数据 //缓存文件夹的数据 cacheFolderData(app); } if (app.appPc != undefined && app.appPc != null) { if (app.appPc.isEnableDescription) { iShowIconHtml = $('#tpl-single-hover-app-card-i-icon').html() .replace('@attributedesc', attrStr); } } //如果是文件夹,则不显示是否有详情的图标 if (app.type) { iShowIconHtml = ''; } appsHtml += tpl.replace('@attributes', attrStr) .replace('@img', img) .replace('@title', title) .replace('@iShowIconHtml', iShowIconHtml) .replace('@appBelongFlag', 'myFavoriteFlag') .replace('@dragAppFlag', dragAppFlagHtm); } } var addApps = "添加应用"; if (AmpGlobal.currentLang == "en_US") { addApps = $.i18n("addApps"); } if (flag) { appsHtml += $('#tpl-favorite-tool').html().replace("@addApps", addApps); } return appsHtml; } function createFolderItem(params) { var folderId = params.folderId; var folderName = params.folderName; var appItemTabHtm = ''; //菜单 var appItemContentHtm = ''; //内容 var addAppsHtml = ''; //添加应用 var addApps = "添加应用"; if (AmpGlobal.currentLang == "en_US") { addApps = $.i18n("addApps"); } addAppsHtml = $('#tpl-favorite-tool').html().replace("@addApps", addApps); var renameVal = '重命名'; if (AmpGlobal.currentLang == "en_US") { renameVal = $.i18n("rename"); } var deleteVal = '删除'; if (AmpGlobal.currentLang == "en_US") { deleteVal = $.i18n("delete"); } appItemTabHtm = $('#tpl-myfavorite-app-tab-item').html() .replace('@activeClass', 'amp-active') .replace('@id', folderId) .replace('@name', folderName) .replace('@appCount', 0) .replace('@ampFavoriteType', true) .replace('@showiconFlag', 'amp-active') .replace('@rename', renameVal) .replace('@delete', deleteVal); appItemContentHtm = AmpTemplate.getMyFavoriteCategoryTabContentItemHtml({ id: 'ampCategoryContentMyFavoriteItem' + folderId, content: addAppsHtml, customClass: 'amp-active', key: folderId }); //在创建桌面之前插入 $('#ampPersonalAsideLeftMyFavorite').find('li[amp-id="create"]').removeClass('amp-active').before(appItemTabHtm); $('#ampMyFavoriteCategoryTabContent').find('div[amp-classify="create"]').removeClass('amp-active').before(appItemContentHtm); //移除创建桌面的弹框 $('#ampMyFavoriteCreateFolder').remove(); } function arrangeFavorite($item) { var $leftMyFavorite = $('#ampPersonalAsideLeftMyFavorite'); var $favoriteSetBtn = $('#ampMyfavoriteSetBtn'); var $activeLi = $leftMyFavorite.find('li[amp-folder=true]'); var $favTab = $('#myFavoriteTabListId'); //var $appDelete = $activeLi.find('.amp-app-delete'); var $appCount = $activeLi.find('.amp-app-count'); var $appOperateBtn = $activeLi.find('.amp-app-operateBtn'); //隐藏新建文件夹按钮 hideCreateFolder(true); //移除app上的所有监听事件 removeAppEvent(true); if ($item.hasClass('favoriteArrangeFlag')) { //整理按钮 //$appDelete.removeClass('amp-hide'); $appOperateBtn.removeClass('amp-hide'); $appCount.addClass('amp-hide'); $item.addClass('amp-hide').siblings('li').removeClass('amp-hide'); $leftMyFavorite.addClass('isEditState'); $favTab.find('li').addClass('amp-favorite-edit'); //初始化拖拽应用到文件夹 initSortingAppToFolder(); //隐藏新建文件夹按钮 hideCreateFolder(false); } else if ($item.hasClass('favoriteCancelFlag')) { //取消按钮 //将所有删除的动作或拖拽的动作还原 notEditableSet('cancle'); //取消排序 cancelSortable(); //取消app的监听事件 removeAppEvent(false); //取消文件夹的重命名操作 cancelRenameFolderName(); } else if ($item.hasClass('favoriteSaveFlag')) { //保存按钮 //保存所有的执行的动作数据 删除和拖拽 saveArrangeDatas(); //取消排序 cancelSortable(); //取消app的监听事件 removeAppEvent(false); } } function cancelRenameFolderName() { var $favorite_tab = $('#myFavoriteTabListId'); var folderName_edits = $favorite_tab.find('li[amp-folderName-edit="true"]'); $.each(folderName_edits, function(index) { var $item = $(this); var $folder_name_box = $item.find('.amp-left-aside-canuseapp-name'); var old_folderName = $folder_name_box.attr('amp-old-foldername'); $folder_name_box.text(old_folderName); $item.removeAttr('amp-folderName-edit'); $folder_name_box.removeAttr('amp-old-foldername'); }); //关闭重命名的弹框 cancelFolderName(); //关闭操作按钮的弹框 cancelOperatePanel(); } function cancelOperatePanel() { var $favorite_tab = $('#myFavoriteTabListId'); $favorite_tab.find('li').find('.amp-app-operate').addClass('amp-hide'); } function saveArrangeDatas() { var $leftMyFavorite = $('#ampPersonalAsideLeftMyFavorite'); var $myFavoriteTabContent = $('#ampMyFavoriteCategoryTabContent'); var delFolderList = $leftMyFavorite.find('li[amp-folder-delete="true"]'); var dragAppsList = $myFavoriteTabContent.find('.myFavoriteFlag[isdragfavoriteappflag="true"]'); var $favorite_tab = $('#myFavoriteTabListId'); var renameFolderList = $favorite_tab.find('li[amp-folderName-edit="true"]'); var arrangeDatas = ''; //整理的所有数据 var deleteFolderIds = ''; //删除的数据 var updateAppFavs = []; //更新的所有数据 var updateAppItem = ''; var deleteFolderName = []; var renameFolderNames = []; //重命名文件夹名称的数据 var renameFolderItem = ''; $.each(delFolderList, function(index) { var $item = $(this); var folderId = $item.attr('amp-id'); deleteFolderIds += "'" + folderId + "',"; deleteFolderName.push($item.find('.amp-left-aside-canuseapp-name').text()); }); //删除的数据 deleteFolderIds = deleteFolderIds.substr(0, deleteFolderIds.length - 1); //拖拽的数据 $.each(dragAppsList, function(index) { var $item = $(this); var appId = $item.attr('amp-appid'); var folderId = $item.closest('.amp-category-content-item').attr('amp-classify'); $item.attr('isdragfavoriteappflag', 'false'); updateAppItem += "{'appId':'" + appId + "','folderId':'" + folderId + "'}" + ","; }); updateAppItem = updateAppItem.substr(0, updateAppItem.length - 1); //重命名文件夹名称的数据 $.each(renameFolderList, function(index) { var $item = $(this); var $folder_name_box = $item.find('.amp-left-aside-canuseapp-name'); var folderId = $item.attr('amp-id'); var folderName = encodeURI($folder_name_box.text()); renameFolderItem += "{'wid':'" + folderId + "','folderName':'" + folderName + "'}" + ","; }); renameFolderItem = renameFolderItem.substr(0, renameFolderItem.length - 1); //所有数据 arrangeDatas = '{"deleteFolderIds":[' + deleteFolderIds + '],updateAppFavs:[' + updateAppItem + '],userFavoriteFolders:[' + renameFolderItem + ']}'; //执行整理操作 AmpDataUtils.saveFavFolderOperates(arrangeDatas, function(data) { //保存成功后,执行非编辑状态 if (data.result == 'success') { notEditableSet('save'); var delAppids = data.delAppIds; if(delAppids && delAppids.length > 0){ for(var i=0; i 0) { folderListApps.folderName = folderName; folderListApps.appList = appList; folderList.push(folderListApps); } } for (var m = 0; m < folderList.length; m++) { var appsHtml = ''; var appList = folderList[m].appList; var folderName = folderList[m].folderName; if (m == (folderList.length - 1)) { appsHtml = getFavoriteAppsHtml(appList, true, false); //有添加应用的按钮 } else { appsHtml = getFavoriteAppsHtml(appList, false, false); //无添加应用的按钮 } groupHtml += AmpTemplate.getCanUseAppGroup().replace('@subCategoryName', folderName) .replace('@canUseAppListHtml', appsHtml); } if (!groupHtml) { favGroupHtml += getFavoriteAppsHtml(allAppList, true, true); } else { favGroupHtml += getFavoriteAppsHtml(allAppList, false, true); } return favGroupHtml + groupHtml; } })(window.AmpMyfavoriteApp = window.AmpMyfavoriteApp || {}); /** * 个人中心 */ ; (function(personalCenter, undefined) { personalCenter.space = { //侧边栏,主区域的widget,侧边栏的widget加载时,改变状态,当值为3时表示都已经加载 loadState: 0, loadCompleteState: 2, desktopRefresh: false, //是否需要刷新当前桌面 sessionStorageRecommendData: [], //存取推荐卡片的数据 favEmpty: false, hasRightSideData: false //判断 右侧边栏是否有流程跟踪和待办任务数据 }; /** * 初始化 */ personalCenter.init = function() { //如果我的收藏、主页面卡片、任务栏数据未加载完成,则显示正在加载中提示 setTimeout(function() { if (personalCenter.space.loadState !== personalCenter.space.loadCompleteState) { AmpLoading.show(); } }, 500); //给各个模块添加美化滚动条 AmpUtils.niceScrollInit($('#ampDesktopContent')); // AmpUtils.niceScrollInit($('#ampPersonalAsideRight')); // AmpUtils.niceScrollInit($('#ampPersonalAsideRightTask')); AmpUtils.niceScrollInit($('#ampTagMessages')); //设置主区域widget容器居中 setTimeout(function() { AmpDesktopCommon.setDesktopWidth('left', 'mini'); }, 50); eventsListen(); //获取相关容器的显示数据 personalCenter.getMyFavoriteApps(); personalCenter.getMainWidgetsData(); personalCenter.getUserCategoryAppData(); personalCenter.getTaskCount(); removeWidgetListen(); //获取侧边栏的显示数据 }; /** * 设置主区域widget容器居中 */ personalCenter.initContainerLayout = function(flag) {}; /** * 获取我的收藏数据 */ personalCenter.getMyFavoriteApps = function() { AmpDataUtils.getMyFavoriteApps(function(data) { showMyFavoriteApps(data); }); }; //获取可用应用 personalCenter.getUserCategoryAppData = function() { AmpDataUtils.getUserCategoryAppData(function(data) { // saveAllCanUseAppsToSession(data); AmpCanUseApps.saveData(data); AmpCanUseCard.saveData(data); /* saveCanUseCardsToSession(data);*/ //可用应用请求完成之后,调用可用卡片的接口 【性能测试】 // personalCenter.getCanUseCardsData(); }); }; /** * 统计右侧边栏mini状态的数据 * 需要判断侧边栏是否有待办任务和流程跟踪,如果没有,则不需要请求getTaskCount接口数据 * @return {[type]} [description] */ personalCenter.getTaskCount = function() { AmpDataUtils.getAsideWidgetsData(function(data) { if (data.result == 'success') { //右侧边任务栏显示的个数 var taskSideCardData = data.taskSideCard; var zqfwCount = 0; var messageCount = 0; if (taskSideCardData) { for (var key in taskSideCardData) { var taskItem = taskSideCardData[key]; if (taskItem.appId == '4764373267044847') { zqfwCount = taskItem.totalSize; if (zqfwCount) { $('#ampzqfwTaskCount').addClass('amp-task-count-bg').text(zqfwCount); } $('#zqfwTask').removeClass('amp-aside-box-hide'); } if (taskItem.appId == '4764356755066632') { //待办任务 personalCenter.space.hasRightSideData = true; $('#dbTask').removeClass('amp-aside-box-hide'); } if (taskItem.appId == '4764368506642413') { //流程跟踪 personalCenter.space.hasRightSideData = true; $('#lcgzTask').removeClass('amp-aside-box-hide'); } } if (personalCenter.space.hasRightSideData) { var refresh_time = parent.window.AMPConfigure.taskcenterDataRefreshTime || 1; //分钟 var time = parseInt(refresh_time) * 60000; window.setTimeout(function(){ refreshTaskCount(); }, 500); window.setInterval(function() { //从缓存读取数据 refreshTaskCount() }, time); } } sessionStorage.setItem('zqfwCount', zqfwCount); } }); } /** * 定时刷新任务列表 * * */ function refreshTaskCount() { if(sessionStorage.getItem('ampTaskCenterDatas')) { var datas = JSON.parse(sessionStorage.getItem('ampTaskCenterDatas')); //AmpUtils.getSessionStorageData("ampTaskCenterDatas"); var dbCount = datas.queryTodoTask.taskDataTotal; var lcgzCount = datas.queryProcessTrack.taskDataTotal; if (dbCount) { $('#ampDbTaskCount').addClass('amp-task-count-bg').text(dbCount); } if (lcgzCount) { $('#ampLcgzTaskCount').addClass('amp-task-count-bg').text(lcgzCount); } sessionStorage.setItem('taskCount', parseInt(dbCount) + parseInt(lcgzCount)); } } /** * 获取主区域的widget数据 * type: 是否是刷新widgets */ personalCenter.getMainWidgetsData = function(data) { if (data != undefined && data) { personalCenter.space.desktopRefresh = true; showMainWidgets(data); } else { //获取桌面卡片的接口 AmpDataUtils.desktopInfo(function(data) { showMainWidgets(data); }); } }; /** * 隐藏主区域的widget */ personalCenter.hideMainWidgets = function() { $('#ampDesktopContent').find('.amp-widget').addClass('amp-hide'); }; /** * 显示主区域的widget */ personalCenter.showMainWidgets = function() { // showMainWidgetsAnimateHandle(); initMainNavAndMainCard(); }; personalCenter.dragViewing = function() { $(window).scroll(function() { var a = document.getElementById("eq").offsetTop; if (a >= $(window).scrollTop() && a < ($(window).scrollTop() + $(window).height())) { alert("div在可视范围"); } }); }; /** * 显示主区域的widget * @param data */ function showMainWidgets(data) { // console.log(data) // data.desktopUserList[0].isEditable=0 var desktopData = null; var desktopDataLen = 0; if (data) { //判断桌面是否有整体干预 var flag = isHasOverallInte(data); if (!flag) { return false; } desktopData = data.desktopUserList; //此处涉及到定制 局部干预 desktopData = isHasSortDataCustom(desktopData); desktopDataLen = desktopData.length; } if (desktopDataLen === 0) { if (AmpGlobal.platformType != '0') { showEmptyDesktopPage(); } } var desktopContentHtmlData = {}; var desktopNavItemsHtml = ''; var recommendDesktopNavHtml = ''; var sysDesktopFlag = true; for (var i = 0; i < desktopDataLen; i++) { var desktopItem = desktopData[i]; var desktopId = desktopItem.desktopId; var desktopParentId = desktopItem.desktopId; //是否可编辑 var isEditable= desktopItem.isEditable; var desktopName = desktopItem.desktopName; var desktopType = desktopItem.desktopType; var widgets = desktopItem.appPcCardList; var widgetsLen = widgets ? widgets.length : 0; var activeDesktopClass = i !== 0 ? '' : 'amp-active'; var adminNewHtml = desktopItem.isNew == 1 ? ' ' : ''; //如果是基础版,不显示用户自定义的桌面 if (AmpGlobal.platformType == '0') { if (desktopType == '1') { continue; } else { //如果是第一个系统桌面,则默认显示 if (i == 0) { activeDesktopClass = sysDesktopFlag ? 'amp-active' : ''; } else { activeDesktopClass = ''; } } } desktopNavItemsHtml += '
' + desktopName + adminNewHtml + '
'; //获取桌面的widget var widgetsHtml = getwidgetsHtml({ widgets: widgets, widgetsLen: widgetsLen, desktopNum: i //桌面序号 用于西电首页第一个桌面的定制 }); if (i == 0) { //获取推荐卡片的数据 if (AmpGlobal.platformType != '0') { var recommendWidgets = data.appPcCardBizList; if (recommendWidgets) { var recommendWidgetsLen = recommendWidgets.length; var recommCardClass = 'recommedCard'; widgetsHtml += getwidgetsHtml({ widgets: recommendWidgets, widgetsLen: recommendWidgetsLen, recommCardClass: recommCardClass }); } } } else { //获取推荐卡片非选中桌面的信息 并保存到session中 if (AmpGlobal.platformType != '0') { var recommendDeskopnavData = {}; recommendDeskopnavData.desktopId = desktopId; recommendDeskopnavData.desktopName = desktopName; recommendDeskopnavData.desktopType = desktopType; recommendDesktopNavHtml += AmpTemplate.getRecommendDesktopNav(recommendDeskopnavData); } } //基础版删去掉widget添加功能 platformType为0:基础版 if (AmpGlobal.platformType != '0') { // widgetsHtml += AmpTemplate.getWidgetLostPermissionCard('widget-notice-01'); //失去权限的widget if (typeof(AMPConfigure.desktop_custom) != "undefined" && AMPConfigure.desktop_custom.pccard_customization && i == 0) { //判断是否是桌面定制,如果是定制,去掉首页的添加工具卡片 widgetsHtml = widgetsHtml; } else { widgetsHtml += AmpTemplate.getWidgetAddCardMainHtml(); //添加小工具的widget widgetsHtml += AmpTemplate.getWidgetDragCardMainHtml(); //拖拽的widget } } /* widgetsHtml = checkToAddEmptyWidetPlaceholder(widgetsHtml, widgetsLen);*/ widgetsHtml = '
' + widgetsHtml + '
'; var $desktopContent = $('#ampDesktopContent'); if (i === 0) { // widget加载动画结束之后继续处理,代替不稳定的定时器,不过只支持 IE9+ $desktopContent.off('animationend').on('animationend', '.amp-tab-content-item', function() { if (AmpGlobal.platformType != '0') { adjustDesktopNav(); sortingWidget(); setTimeout(function() { personalCenter.showRecommendCrad(); //当前桌面是否需要显示管理员新增桌面提醒 personalCenter.showAdminNewDesktop(); }, 0); } }); $desktopContent.html(widgetsHtml); AmpWidgetUtils.addLoadingToWidget($desktopContent); } else { //如果是基础版,不显示用户自定义的桌面 if (AmpGlobal.platformType == '0') { if (desktopType == '0' && sysDesktopFlag) { $desktopContent.append(widgetsHtml); AmpWidgetUtils.addLoadingToWidget($desktopContent); } sysDesktopFlag = false; } desktopContentHtmlData[desktopId] = widgetsHtml; } } //基础版删掉桌面创建和设置按钮 if (AmpGlobal.platformType != '0') { var desktopNavTopButtonHtm = $('#tpl-personalCenterSet-btn').html(); desktopNavItemsHtml += desktopNavTopButtonHtm; } $('#ampDesktopNav').html(desktopNavItemsHtml); sessionStorage.setItem('ampDesktopData', JSON.stringify(desktopContentHtmlData)); sessionStorage.setItem('recommendDesktopNavHtml', recommendDesktopNavHtml); setTimeout(function() { //检查数据是否都加载完成 if (personalCenter.space.desktopRefresh) { // showMainWidgetsAnimateHandle(); initMainNavAndMainCard(); } else { checkLoadReadyHandle(); } }, 10); } /** * 当桌面数据为空时,显示空页面 */ function showEmptyDesktopPage() { var $desktopNav = $('#ampDesktopNav'); var $desktopContent = $('#ampDesktopContent'); var desktopNavItemsHtml = ''; //基础版删掉桌面创建和设置按钮 if (AmpGlobal.platformType != '0') { var desktopNavTopButtonHtm = $('#tpl-personalCenterSet-btn').html(); desktopNavItemsHtml += desktopNavTopButtonHtm; } $desktopNav.html(desktopNavItemsHtml); $desktopNav.addClass('amp-active'); var createANewDesktop = "新建桌面"; var openANewServiceExperience = "开启全新服务体验"; if (AmpGlobal.currentLang == "en_US") { createANewDesktop = $.i18n("createANewDesktop"); openANewServiceExperience = $.i18n("openANewServiceExperience"); } var emptyDesktopHtml = $('#tpl-desktop-ampty-page').html() .replace("@openANewServiceExperience", openANewServiceExperience) .replace("@createANewDesktop", createANewDesktop); $desktopContent.html(emptyDesktopHtml); } /** * 显示我的收藏 * @param data */ function showMyFavoriteApps(data) { AmpMyfavoriteApp.initMyFavoriteApps(data); /* var appsHtml = ''; var $myFavorite = $('#ampPersonalAsideLeftMyFavorite'); if (data) { var favoriteApps = data.searchResult; if (favoriteApps) { var favoriteAppsLen = favoriteApps.length; if (favoriteAppsLen > 0) { for (var i = 0; i < favoriteAppsLen; i++) { var appCardSingleHtml = ''; var appCardHtml = ''; var hoverCardHtml = ''; var appItem = favoriteApps[i]; appCardSingleHtml = AmpTemplate.getFavAppCardSingleHtml(appItem); // appCardHtml += AmpTemplate.getAppCardHtml(appItem); appCardHtml += AmpTemplate.getServiceAppCardHtml({ data: appItem }); hoverCardHtml += AmpTemplate.getHoverAppHtml({ data: appItem }); if (appItem.type === 1) { var folderId = appItem.appId; AmpDataUtils.space.folderData[folderId] = appItem; } var appGroupHtml = AmpTemplate.getAppCardGroupHtml(appCardSingleHtml + appCardHtml); // var appGroupHtml = AmpTemplate.getAppCardGroupHtml(appCardHtml + hoverHtml); if (appItem.type == 1) { var appGroupHtml = AmpTemplate.getAppCardGroupHtml(appCardSingleHtml + appCardHtml); } else { var appGroupHtml = $('#tpl-hover-app-card-group').html().replace('@content', appCardSingleHtml + hoverCardHtml); } // var appGroupHtml = $('#tpl-hover-app-card-group').html().replace('@content', appCardSingleHtml + hoverHtml); appsHtml += appGroupHtml; } } } //向页面添加数据 var str = '添加应用'; if (AmpGlobal.currentLang == "en_US") { str = $.i18n("addApps"); } var favortaieToolHtml = $('#tpl-favorite-tool').html().replace('@text', str); $myFavorite.html(appsHtml + favortaieToolHtml); }*/ // appsHtml += AmpTemplate.getWidgetAddCardAsideHtml(); // var containerHtml = AmpTemplate.getAppsCardGroupContainer1Html({ // title: '我的收藏', // content: appsHtml // }); // AmpUtils.niceScrollInit($myFavorite); //检查数据是否都加载完成 checkLoadReadyHandle(); } /** * 检查数据是否都加载完成,加载完成后执行模块动画 * 每加载一个模块loadState加一 * loadState为3时表示加载完成(左侧栏,右侧栏,主区域) */ function checkLoadReadyHandle() { personalCenter.space.loadState++; if (personalCenter.space.loadState === personalCenter.space.loadCompleteState) { AmpLoading.close(); $('#ampPersonalAsideLeft').removeClass('amp-hide'); $('#ampPersonalAsideRight').removeClass('amp-hide'); //showMainWidgetsAnimateHandle(); initMainNavAndMainCard(); //数据加载完成之后,判断我的收藏是否有数据 如果没有数据则定位到可用应用 // initLeftTabActive(); if (personalCenter.space.favEmpty) { initLeftTabActive(); } //如果是IE,需要重新美化滚动条 if (navigator.userAgent.indexOf("MSIE") > 0 || AmpUtils.isIE()) { $("#ampDesktopContent").getNiceScroll().remove(); AmpUtils.niceScrollInit($('#ampDesktopContent')); } //加载完成之后,如果存在进度条 ,则隐藏进度条 hideProgressBar(); //判断是否有定制 页面加载完之后的回调函数 可对个人中心页面进行操作 isHasOperatePageFunc(); //判断是否需要打开搜索弹框 var flag = AmpUtils.getCookie('openLoginServicePageFlag'); var inputVal = AmpUtils.getCookie('loginServiceserchVal'); if (flag == 'true') { //打开状态 if (inputVal != '') { $('#ampPageHeaderSearch').click(); } else { $('#ampPageHeaderSearch').click(); } } } } function initMainNavAndMainCard() { //桌面的数量 如果用户桌面为3个,则新增桌面消失 removeCreateDesktopBtn(); //桌面是否过多需要压缩显示 compressDesktopnavShow(); //主区域卡片顺序显示动画 showMainWidgetsAnimateHandle(); // setCustomDesktopCenter(); personalCenter.setCustomDesktopCenter(); } function adjustDesktopNav() { var hasCanUseCards = isAsideLeftCanUseCards(); if (hasCanUseCards) { refreshAsideLeftApp(); } var $desktopContent = $('#ampDesktopContent'); var $desktopNav = $('#ampDesktopNav'); // if (!$desktopNav.hasClass('amp-active')) { // var desktopContentLeft = $desktopContent.offset().left; // var firstWidgetLeft = $desktopContent.find('.amp-widget').offset().left; // var desktopTabLeft = firstWidgetLeft - desktopContentLeft; // desktopTabLeft = desktopTabLeft < 0 ? 0 : desktopTabLeft; // $desktopNav.css({ // 'margin-left': desktopTabLeft + 'px' // }).addClass('amp-active'); // } } /** * 主区域widget加载,按顺序显示动画 */ function showMainWidgetsAnimateHandle() { var $desktopContent = $('#ampDesktopContent'); var $desktopNav = $('#ampDesktopNav'); var activeDesktopId = $desktopNav.find('.amp-active').attr('amp-desktop-id'); var $widgets = $desktopContent.children('[amp-desktop-id="' + activeDesktopId + '"]'); var $widgetList = $widgets.children(); var animateStepTime = 150; //添加小工具、拖拽卡片的判断 var hasCanUseCards = isAsideLeftCanUseCards(); $widgetList.each(function(index) { var $widgetItem = $(this); if (hasCanUseCards) { if ($widgetItem.hasClass('amp-widget-add')) { return true; } else if ($widgetItem.hasClass('ampLoadingDragCompleteFlag')) { $widgetItem.removeClass('amp-widget-drag-hide'); } } else { if ($widgetItem.hasClass('ampLoadingDragCompleteFlag')) { $widgetItem.addClass('amp-widget-drag-hide'); } } // $widgetItem.removeClass('amp-hide').addClass('amp-animate-move-bottom-in'); $widgetItem.removeClass('amp-hide'); setTimeout(function() { if ($widgetItem.find('amp-w-frame').attr('has-scroll') === 'true') { AmpUtils.niceScrollInit($widgetItem.find('.amp-wf-body')); } }, 450 + 10); }); if ($widgetList.length > 2) { $widgets.find('.amp-desktop-tool').addClass('amp-tool-hide'); } //如果是ie9 浏览器,桌面栏需要单独处理 if (navigator.userAgent.indexOf("MSIE") > 0) { if (navigator.userAgent.indexOf("MSIE 9.0") > 0) { if (AmpGlobal.platformType != '0') { adjustDesktopNav(); sortingWidget(); setTimeout(function() { personalCenter.showRecommendCrad(); //当前桌面是否需要显示管理员新增桌面提醒 personalCenter.showAdminNewDesktop(); }, 0); } } } var cardLen = $widgetList.length; setTimeout(function() { //当页面有滚动条时,页面添加模糊效果 var count = parseInt($('#ampDesktopContent').width() / 540); var $desktopBlurHtm = AmpTemplate.getDesktopBlurHtm(count); $('#ampDesktopContent').append($desktopBlurHtm); //桌面推荐卡片小红点位置的处理 $widgetList.each(function(index) { var $widgetItem = $(this); if ($widgetItem.hasClass('recommedCard')) { var className = 'newRecommendCard' + index; $($widgetItem).addClass(className); var widgetName = $widgetItem.children().attr('widget_title'); if (AmpGlobal.currentLang == "en_US") { widgetName = $widgetItem.children().attr('widget_title_enus'); } var htmlBody = '
' + widgetName + '
'; $('body').append(htmlBody); var widgetNameWidth = $('.widget-name-title span').width() + 25 + "px"; if (($('.widget-name-title span').width() + 25) < 90) { widgetNameWidth = 90 + 'px'; } $('body').append(''); $('body').find('.widget-name-title').remove(); } }); }, cardLen * animateStepTime); //等待卡片加载完成之后,根据配置文件 是否需要打开双侧侧边栏 setTimeout(function() { personalCenter.openAsideBoxConfig(); }, cardLen * animateStepTime); //如果是基础版本,则移除卡片上拖拽的样式 if (AmpGlobal.platformType == '0') { $desktopContent.find('.amp-widget').find('.amp-wf-head').removeClass('amp-card-move-flag'); } } function eventsListen() { $('#ampDesktopNav').on('click', '.amp-tab-item', function() { var $item = $(this); if ($item.hasClass('ampDesktopAddFlag')) { //创建桌面 showDesktopCreat($(this)); } else if ($item.hasClass('ampDesktopSetFlag')) { //桌面设置 if (navigator.userAgent.indexOf("MSIE") > 0 || AmpUtils.isIE()) { $('#ampPersonalArticle').addClass('amp-hide').removeClass('amp-active'); } else { /* AmpUtils.currentPageBlurAnimate('blur');*/ $('#ampPersonalArticle').addClass('amp-hide').removeClass('amp-active'); } setTimeout(function() { AmpDesktopSet.init(); }, AmpGlobal.animateTimes); } else if ($item.hasClass('amp-desktop-admin')) { return; } else { if (!$item.hasClass('amp-desktop-add-input-container')) { desktopChangeHandle($(this)); showMainDesktopDragTool(); } //if (AmpGlobal.platformType != '0') { //可拖拽排序 // sortingCardsToDesktop(); //桌面卡片排序的初始化 // sortingWidget(); // } //诸葛io埋点 AmpUtils.zhuge("切换桌面", { "桌面名称": $item.text() }); } }); //空页面的情况创建桌面 $('#ampDesktopContent').on('click', '.empty-desktop-create', function() { showDesktopCreat($(this)); }); $('#ampPersonalAsideLeftTabHead').on('click', '.amp-tab-item', function() { asideLeftTabChange($(this), true); //如果是可用卡片的tab页 才需要执行以下的操作 if ($(this).attr('amp-id') == 'canUseCards') { refreshAsideLeftApp(); /* scrollBottom();*/ } showCenterToolOrDrag($(this)); }); $('#ampPersonalAsideLeftCanUseCards').on('click', 'li', function() { /* canUseAllAppsClassifyChange($(this));*/ AmpCanUseCard.cardtabChange($(this)); var $item = $(this); if ($(this).parent().attr('id') == 'canUseTabListId') { refreshAsideLeftApp(); //去掉最新添加app的样式(小圆点) removeLatestAppFlag($(this)); //可拖拽排序 sortingCardsToDesktop(); } }); //点击添加小工具 展示拖拽的页面 左侧栏并跳转到可用卡片的项 $('#ampDesktopContent').on('click', '.amp-widget-add', function() { //设置桌面为拖拽卡片的页面 personalCenter.setPcDesktopToolAddOrDrag(false); //左侧栏跳转到可用卡片的页签 jumpToUseCardTab(); }); //可用卡片添加点击事件的处理 $('#ampPersonalAsideLeftCanUseCards').on('click touchend', '.amp-app-complex-add', function() { var flag = compareCardFlag($(this)); if (!flag) { return; } else { appendToDesktopWidget($(this)); } }); $('#ampPersonalAsideLeftCanUseCards').on('click touchend', '.amp-app-complex-del', function() { var flag = compareCardFlag($(this)); if (flag) { return; } else { delToDesktopWidget($(this)); } }); //推荐卡片的我不需要按钮事件 $('#ampDesktopContent').on('click', '.amp-recommend-no-need', function() { delRecommendCard(); }); //推荐卡片留下的操作 $('#ampDesktopContent').on('click', '.recommend-keep-title', function() { appendRecommendCard(); }); $('#ampDesktopContent').on('click', '.desktop-title', function() { $('#ampRecommendShowDesktop').toggle(); }); $('#ampDesktopContent').on('click', '.recommend-keep-desktop-nav', function() { saveRecommendCards($(this)); }); //点击收藏中的添加应用按钮 /* $('#ampPersonalAsideLeftMyFavorite').on('click', '.amp-app-favorite-add-btn', function() { $('#ampPageHeaderSearch').click(); });*/ /* $("#ampDesktopNav").on('mouseover', '.amp-desktop-admin', function() { $('#ampDesktopNavMore').toggle(250); });*/ //管理员新增桌面提醒 '我知道了' $('#ampDesktopContent').on('click', '.amp-recommend-i-know', function() { updateAdminNewDektop($(this)); }); $('#ampDesktopNav').on('click', '.amp-create-btn-cancel', function() { cancelCreateDesktopDialog($(this)); }); $('#ampDesktopNav').on('click', '.amp-create-btn-save', function() { saveCreateDesktopDialog($(this)); }); $('#ampCreateDesktopInput').on('change', function() {}); $("#ampDesktopContent").scroll(function() { setDesktopCardScroll(); }); $("#ampDesktopContent").scroll(function() { var scrollTop = $('#ampDesktopContent').scrollTop(); if (scrollTop > 0) { $('#amp-desktopBlur').css('opacity', '1'); $('#amp-desktopBlur').css('height', '20px'); } else { $('#amp-desktopBlur').css('height', '0'); } }); //我的收藏文件夹创建 按钮触发事件 $('body').on('click', '.amp-myfavorite-create-folder', function(e) { var $target = $(e.target || e.srcElement); var $myFavoriteFolder = $('#ampMyFavoriteCreateFolder'); //取消 if ($target.attr('id') == 'ampFolderCancle') { $myFavoriteFolder.remove(); //菜单返回到收藏夹的菜单 AmpMyfavoriteApp.favTabChange($('#myFavoriteTabListId').find('li[amp-id="0"]')); } //保存 if ($target.attr('id') == 'ampFolderSave') { AmpMyfavoriteApp.saveFolder(); } }); } function desktopChangeHandle($clickItem) { var $desktopNav = $('#ampDesktopNav'); var $toHideDesktop = $desktopNav.find('.amp-active'); var toHideDesktopId = $toHideDesktop.attr('amp-desktop-id'); var toShowDesktopId = $clickItem.attr('amp-desktop-id'); //判断是否是定制 如果是定制,首页的第一个桌面则不可添加桌面 if (typeof(AMPConfigure.desktop_custom) != "undefined" && AMPConfigure.desktop_custom.pccard_customization) { var canUseCardsActive = $('#ampPersonalAsideLeftTabHead').find('.amp-tab-item[amp-id="canUseCards"]').hasClass('amp-active'); if (canUseCardsActive && ($desktopNav.find('.amp-tab-item:first').attr('amp-desktop-id') == toShowDesktopId)) { $('#ampPersonalAsideLeftTabHead').find('[amp-id="myFavorite"]').click(); //默认跳转到我的收藏页面 } } $toHideDesktop.removeClass('amp-active'); $clickItem.addClass('amp-active'); var $desktopContent = $('#ampDesktopContent'); var $toHideWidgetsContainer = $desktopContent.children('[amp-desktop-id="' + toHideDesktopId + '"]'); $toHideWidgetsContainer.removeClass('amp-active'); $toHideWidgetsContainer.find('.amp-widget').addClass('amp-hide'); var toShowWidgetsContainer = $desktopContent.children('[amp-desktop-id="' + toShowDesktopId + '"]'); toShowWidgetsContainer.addClass('amp-active'); if (toShowWidgetsContainer.length !== 0) { toShowWidgetsContainer.removeClass('amp-hide'); } else { var toShowWidgetsHtml = JSON.parse(sessionStorage.getItem('ampDesktopData'))[toShowDesktopId]; $desktopContent.append(toShowWidgetsHtml); AmpWidgetUtils.addLoadingToWidget($desktopContent); } //判断推荐卡片是否有数据 showdesktopRecommendCards(toShowDesktopId); // showMainWidgetsAnimateHandle(); initMainNavAndMainCard(); //如果是管理员新增的桌面,则需要发送更新管理员新增桌面的请求 if ($clickItem.find('span').length == 1) { saveUpdateAdminNewDesktop(toShowDesktopId); } } function showdesktopRecommendCards(toShowDesktopId) { var $desktopContent = $('#ampDesktopContent'); var sessionStorageRecommendData = personalCenter.space.sessionStorageRecommendData; var sessionStorageRecommendDataLen = sessionStorageRecommendData.length; if (sessionStorageRecommendDataLen > 0) { for (var key in sessionStorageRecommendData) { var recommenDesktopItem = sessionStorageRecommendData[key]; var recommendDesktopId = recommenDesktopItem.desktopId; var recommendCardWid = recommenDesktopItem.cardWid; var recommendCardId = recommenDesktopItem.cardId; var desktopRecommendCardHtm = recommenDesktopItem.desktopRecommendCardHtm; var flag = false; if (recommendDesktopId == toShowDesktopId) { //判断推荐的卡片是否存在与桌面中,如果存在,则不显示 var toShowWidgets = $desktopContent.children('[amp-desktop-id="' + toShowDesktopId + '"]').children(); var _recommendCardLen = toShowWidgets.filter('[widget-wid="' + recommendCardWid + '"]').length; if (_recommendCardLen == 0) { var widgetCardHtm = ''; for (var key in toShowWidgets) { var $item = toShowWidgets[key]; if (key == toShowWidgets.length - 3) { widgetCardHtm += desktopRecommendCardHtm; if ($item.outerHTML != undefined) { widgetCardHtm += $item.outerHTML; } } else { if ($item.outerHTML != undefined) { widgetCardHtm += $item.outerHTML; } } } $desktopContent.children('[amp-desktop-id="' + toShowDesktopId + '"]').html(widgetCardHtm); } } } } } function showCanUseCards() { var canUseCards = sessionStorage.getItem('canUseCards'); var $canUse = $('#ampPersonalAsideLeftCanUseCards'); var emptyFlag = $(canUseCards).find('ul li').length; if (emptyFlag == 0 || !emptyFlag) { var cnStr = '暂无应用卡片'; if (AmpGlobal.currentLang == "en_US") { cnStr = $.i18n("noAppCards"); } var emptyMessage = cnStr; var emptyPage = AmpTemplate.getPersonalEmptyPage(emptyMessage); canUseCards = emptyPage; } $canUse.html(canUseCards); //判断是否有桌面 showCanUseCardTipPage(); /* var $desktopNav = $('#ampDesktopNav'); var desktopLen = $desktopNav.find('.amp-tab-item').filter('[amp-desktop-id]').length; if (desktopLen == 0) { var emptyCanUseCardsHtml = $('#tpl-CanUseCards-ampty-page').html(); $canUse.children().css('display', 'none'); $canUse.append(emptyCanUseCardsHtml); } */ //从可用卡片中拖动到桌面 sortingCardsToDesktop(); } personalCenter.getCanUseAppsHtml = function(apps, type) { var appsHtml = ''; var appsLen = apps.length; for (var i = 0; i < appsLen; i++) { var hasUnReadMarkClass = ''; var hasBtnClass = ''; hasUnReadMarkClass = apps[i].unReadMark ? 'apphasUnReadMark' : ''; apps[i].hasUnReadMarkClass = hasUnReadMarkClass; //与右侧的第一个桌面做比较, if (type == 'complex') { hasBtnClass = hasInDesktopContent(apps[i]) ? 'amp-app-complex-del' : 'amp-app-complex-add'; apps[i].hasBtnClass = hasBtnClass; } appsHtml += AmpTemplate.getSingleAppHtml(apps[i], type); } return appsHtml; } /** * 当前数据与第一个选中的桌面做比较,看是否存在于右侧的桌面中 * flag 返回 true false */ function hasInDesktopContent(data) { var cardId = data.cardId; var flag = false; var $desktopNav = $("#ampDesktopNav"); var $desktopContent = $("#ampDesktopContent"); var activeDesktopId = $desktopNav.find('.amp-active').attr('amp-desktop-id'); var $widgets = $desktopContent.children('[amp-desktop-id="' + activeDesktopId + '"]'); // $desktopContent.find(".dragToDesktop").removeClass('amp-hide').addClass('amp-animate-move-bottom-in'); var $widgetList = $widgets.children(); $widgetList.each(function(index) { var $widgetItem = $(this); var widgetId = $widgetItem.attr('widget-id'); if (cardId == widgetId) { flag = true; return false; } }); return flag; } function canUseAppsClassify(appItem, classifyData) { var categoryList = appItem.appList; var categoryListLen = categoryList.length; for (var i = 0; i < categoryListLen; i++) { var categoryItem = categoryList[i]; var categoryId = categoryItem.appId; var classify = classifyData[categoryId]; if (!classify) { classifyData[categoryId] = {}; classify = classifyData[categoryId]; classify.name = categoryItem.appName; classify.apps = []; } classify.apps.push(appItem); } return classifyData; } // 增加左侧面板的滚动支持 function setScroll(container, delay) { delay = delay || 550; if (container.css('overflow-y') === 'hidden') { // 已经初始化完成,不能重复初始化 setTimeout(function() { container.getNiceScroll().resize(); }, delay); return; } setTimeout(function() { AmpUtils.niceScrollInit(container); }, delay); // 左侧显示出来动画时间 450ms,默认设置为550 } function asideLeftTabChange($item, immediate) { // 第二个参数表示是否立即执行 var toShowHeadId = $item.attr('amp-id'); var toScrollId = { myFavorite: '#ampPersonalAsideLeftMyFavorite', allCanUseApps: '#ampPersonalAsideLeftAllCanUseAppsTabContent' }[toShowHeadId]; //判断是否是定制 如果是定制,首页的第一个桌面则不可添加桌面 if (typeof(AMPConfigure.desktop_custom) != "undefined" && AMPConfigure.desktop_custom.pccard_customization) { if (toShowHeadId == 'canUseCards' && $('#ampDesktopNav').find('.amp-tab-item:first').hasClass('amp-active')) { AmpPrompt.show({ content: '当前桌面不能添加卡片,请选择其他桌面添加!' }); return; } } if ($item.hasClass('amp-active')) { //判断当前ul是否有选中的项,如果没有,则选中全部标签 showAllCanApps($item); showAllCanCards($item); if (toScrollId) { setScroll($(toScrollId)); } //桌面是否要展示拖拽图标 if (toShowHeadId == 'canUseCards') { //设置桌面为拖拽卡片的页面 personalCenter.setPcDesktopToolAddOrDrag(false); //可拖拽排序 sortingCardsToDesktop(); } return; } var $container = $item.closest('.amp-tab'); var $content = $container.find('.amp-tab-content'); var $toHideHeadItem = $container.find('.amp-tab-item.amp-active'); var toHideHeadId = $toHideHeadItem.attr('amp-id'); $toHideHeadItem.removeClass('amp-active'); $content.children('[amp-id="' + toHideHeadId + '"]').addClass('amp-hide'); $item.addClass('amp-active'); $content.children('[amp-id="' + toShowHeadId + '"]').removeClass('amp-hide'); var scrollPanel = null; /* var scrollCateUlPan = null;*/ if (toShowHeadId === 'allCanUseApps') { var $canUseAppsUl = $('#ampPersonalAsideLeftAllCanUseAppsTabUl'); if ($canUseAppsUl.children('amp-active').length === 0) { $canUseAppsUl.children('[amp-id="all"]').click(); // AmpCanUseApps.show('all'); } scrollPanel = $('#ampPersonalAsideLeftAllCanUseAppsTabContent'); scrollCateUlPan = $('#ampPersonalAsideLeftAllCanUseAppsTabUl'); } else if (toShowHeadId === 'canUseCards') { //设置桌面为拖拽卡片的页面 personalCenter.setPcDesktopToolAddOrDrag(false); //可拖拽排序 sortingCardsToDesktop(); var $canUseCards = $('#ampPersonalAsideLeftCanUseCards'); if ($.trim($canUseCards.html()).length === 0) { showCanUseCards(); } //去除第一个li上的小红点,下次进来看不到小红点 //console.log('35435'); var $firsttabLi = $canUseCards.find('ul li:first'); removeLatestAppFlag($firsttabLi); scrollPanel = $('#ampPersonalAsideLeftCanUseCards #ampCategoryTabContent'); scrollCateUlPan = $('#ampPersonalAsideLeftCanUseCards #canUseTabListId'); //对比左右两边的数据 refreshAsideLeftApp(); } else { scrollPanel = $('#ampPersonalAsideLeftMyFavorite'); } if (scrollPanel) { if (immediate) { setScroll(scrollPanel, 1); setScroll(scrollCateUlPan, 1); } else { setScroll(scrollPanel); setScroll(scrollCateUlPan); } } } personalCenter.asideLeftTabChange = asideLeftTabChange; function showAllCanApps($item) { var toShowHeadId = $item.attr('amp-id'); if (toShowHeadId === 'allCanUseApps') { var $canUseAppsUl = $('#ampPersonalAsideLeftAllCanUseAppsTabUl'); if ($canUseAppsUl.children('.amp-active').length === 0) { $canUseAppsUl.children('[amp-id="all"]').click(); } } } function showAllCanCards($item) { var toShowHeadId = $item.attr('amp-id'); if (toShowHeadId === 'canUseCards') { var $canUseCardsUl = $('#canUseTabListId'); if ($canUseCardsUl.children('[amp-id="all"]').hasClass('amp-active')) { $canUseCardsUl.children('[amp-id="all"]').click(); } } } function canUseAllAppsClassifyChange($item) { if ($item.hasClass('amp-active')) { return; } var $ul = $item.closest('ul'); var $categoryTab = $item.closest('.amp-category-tab'); var $tabContent = $categoryTab.children('div'); var toShowId = $item.attr('amp-id'); var $toShowContent = $tabContent.children('[amp-id="' + toShowId + '"]'); var $toHideTabHeadItem = $ul.children('.amp-active'); var toHideId = $toHideTabHeadItem.attr('amp-id'); var $toHideContent = $tabContent.children('[amp-id="' + toHideId + '"]'); $toHideTabHeadItem.removeClass('amp-active'); $toHideContent.addClass('amp-hide'); $item.addClass('amp-active'); $toShowContent.removeClass('amp-hide'); } function removeWidgetListen() { $('body').on('widgetRemove', function(e, data) { var desktopId = data.desktopId; var desktopType = data.desktopType; var cardId = data.widgetId; var cardWid = data.cardWid; var cardName = data.cardName; var desktopName = data.desktopName; //删除卡片(widget) AmpDataUtils.deleteUserDesktopCard(data, function(resp) { if (resp.result === 'success') { var cnStr = '删除成功'; if (AmpGlobal.currentLang == "en_US") { cnStr = $.i18n("deletedSuccessfully"); } AmpPrompt.show({ content: cnStr }); //对比左右的数据 refreshAsideLeftApp(); showOrHideTool(); //诸葛io埋点 AmpUtils.zhuge("删除桌面卡片", { "桌面名": desktopName, "卡片名": cardName, "来源": "卡片右上方点删除" }); } }); }); } function checkToAddEmptyWidetPlaceholder(widgetsHtml, widgetsLen) { // if (widgetsLen % 2 !== 0) { widgetsHtml += $('#tpl-widget-main-item').html() .replace('@content', '') .replace('@widgetId', 'ampEmptyWidgetPlaceholderFlag'); // } return widgetsHtml; } /** * 对应桌面widget卡片拖拽排序 */ function sortingWidget() { var $desktopNav = $("#ampDesktopNav"); var desktopId = $desktopNav.find('.amp-active').attr('amp-desktop-id'); var desktopType = $desktopNav.find('.amp-active').attr('amp-desktop-type'); var params = {}; params.desktopId = desktopId; params.desktopType = desktopType; var $ampDesktopContent = $('#ampDesktopContent'); var $el = $ampDesktopContent.children('.amp-active'); if ($el.attr('is-sortable-init') !== 'true') { if (navigator.userAgent.indexOf("MSIE") > 0 && navigator.userAgent.indexOf("MSIE 9.0") > 0) { document.body.onselectstart = document.body.ondrag = function() { return false; } } initSortable($el[0]); $el.attr('is-sortable-init', 'true'); } //Safari 浏览器兼容性处理 var OsObject = window.navigator.userAgent; if (OsObject.indexOf("Safari") > 0) { if ($el.find('.amp-widget-drag').length > 1) { $el.find('.amp-widget-drag:eq(1)').addClass('amp-hide'); } } } function initSortable(el) { Sortable.create(el, { filter: '.amp-card-hasno-drag', handle: '.amp-card-wf-head', animation: 150, draggable: ".amp-widget-only-drag", scroll: true, // or HTMLElement ghostClass: 'amp-sort-ghost-class', setData: function( /** DataTransfer */ dataTransfer, /** HTMLElement*/ dragEl) { $(dragEl).find('.amp-wf-body').hide(); }, onStart: function( /**Event*/ evt) { var $item = $(evt.item); $item.find('.amp-wf-body').show(); }, onEnd: function(evt) { // $(evt.dragged).find('.amp-wf-body').show(); var $desktopNav = $("#ampDesktopNav"); var $desktopContent = $("#ampDesktopContent"); var desktopId = $desktopNav.find('.amp-active').attr('amp-desktop-id'); var desktopType = $desktopNav.find('.amp-active').attr('amp-desktop-type'); var $widgetsAfter = $desktopContent.children('[amp-desktop-id="' + desktopId + '"]'); var cardsList = $widgetsAfter.children().not('.recommedCard'); var params = {}; params.desktopId = desktopId; params.desktopType = desktopType; cardListSave(cardsList, params); setDesktopCardScroll(); } }); } /** * 可用卡片的数据获取 */ function saveCanUseCardsToSession(data) { var classifyData = data.pcCardCategory; if (!classifyData) { return; } var classifyDataLen = classifyData.length; //判断最近是否有新添加的卡片 var hasUnReadMark = isNewCreateCVard(classifyData); if (hasUnReadMark) { var hasUnReadMarkHtml = ''; $('.amp-tab-item[amp-id="canUseCards"]').append(hasUnReadMarkHtml); $('.amp-aside-box-mini-item[amp-id="canUseCards"]').addClass('amp-left-top'); } var contentsHtml = ''; var classifyHeadHtml = ''; var firstFlag = true; for (var key in classifyData) { var classifyItem = classifyData[key]; var headActiveClass = !firstFlag ? '' : 'amp-active'; var ReadMarkFlag = classifyItem.hasUnReadMark; var hasUnReadMarkClass = ReadMarkFlag ? 'tabhasUnReadMark' : ''; //获取分类下的卡片的数量 var appCount = getCanUseCardCount(classifyItem); classifyHeadHtml += AmpTemplate.getCategoryTabHeadItemHtml({ id: key, name: classifyItem.categoryName, customClass: headActiveClass, hasUnReadMarkClass: hasUnReadMarkClass, appCount: appCount }); var appList = classifyItem.appList; var cardsHtml = ''; var cardList = []; $.each(appList, function(index, data) { var cardItem = data.appPcCardList; if (!cardItem) { return; } var middleIcon = data.middleIcon; $.each(cardItem, function(index, data) { data.middleIcon = middleIcon; cardList.push(data); }); }); cardsHtml += getCanUseAppsHtml(cardList, 'complex'); var contentClass = !firstFlag ? 'amp-hide' : ''; contentsHtml += AmpTemplate.getCategoryTabContentItemHtml({ id: 'ampCategoryContentCanUseItem' + key, content: cardsHtml, customClass: contentClass, key: key }); firstFlag = false; } var tabUlId = 'canUseTabListId'; var classifyHtml = AmpTemplate.getCategoryTabHtml({ header: classifyHeadHtml, content: contentsHtml, tabUlId: tabUlId }); sessionStorage.setItem('canUseCards', classifyHtml); } /** * 判断桌面的个数,如果用户桌面为3个,则"+"号消失 */ function removeCreateDesktopBtn() { var $desktopNav = $('#ampDesktopNav'); var desktopCount = $desktopNav.find('.amp-tab-item').filter('[amp-desktop-type="1"]').length; if (desktopCount >= 3) { $desktopNav.find('.ampDesktopAddFlag').remove(); } } /** * 创建桌面 */ function showDesktopCreat($clickItem) { if ($clickItem.hasClass('amp-btn-active')) { return; } if ($(".ampDesktopAddFlag") && $(".ampDesktopAddFlag").length == 1) { $(".ampDesktopAddFlag").addClass('amp-btn-active'); } if ($(".empty-desktop-create") && $(".empty-desktop-create").length == 1) { $(".empty-desktop-create").addClass('amp-btn-active'); } var createHtml = AmpTemplate.createDesktopDialogHtm(); $('#ampDesktopNav').append(createHtml); $("#ampCreateDesktopInput").focus().select(); //设置创建桌面弹框的位置 var addBtnLeft = $('#ampDesktopNav').find('.ampDesktopAddFlag').offset().left - $('#ampPersonalAsideLeft').width() - 16; $('#ampAdminNewDesktop').css('left', '' + addBtnLeft + 'px'); } /** * 新增一个桌面的nav和content */ function initNewDesktop(data, newDesktopName) { var desktopNavItemsHtml = ''; var desktopId = data.desktopId; var desktopName = newDesktopName; //新建桌面默认有可编辑权限 var isEditable = data.isEditable||1; //1:表示 创建用户桌面 var activeDesktopType = 1; desktopNavItemsHtml += '
' + desktopName + '
'; var $ampDesktopSystem = $('#ampDesktopNav').children().filter('[amp-desktop-type="0"]:first'); //移除已选中桌面的高亮样式 $('#ampDesktopNav').find('.amp-tab-item.amp-active').removeClass('amp-active'); /* if ($ampDesktopSystem.length == 1) { $ampDesktopSystem.before(desktopNavItemsHtml); } else {*/ $('.ampDesktopBtn:first').before(desktopNavItemsHtml); /* }*/ var countNav = $('#ampDesktopNav [amp-desktop-id]').length - 1; var widgetsHtml = ''; var widgetsLen = 1; widgetsHtml += AmpTemplate.getWidgetDragCardMainHtml(); //拖拽的widget widgetsHtml += AmpTemplate.getWidgetAddCardMainHtml(); //添加小工具的widget //widgetsHtml = checkToAddEmptyWidetPlaceholder(widgetsHtml, widgetsLen); widgetsHtml = '
' + widgetsHtml + '
'; var $desktopContent = $('#ampDesktopContent'); $desktopContent.find('.amp-tab-content-item').removeClass('amp-active').addClass('amp-hide'); $desktopContent.append(widgetsHtml); //顯示拖拽頁面的標誌 showCenterDragTool(); //桌面的数量 如果为4个,则新增桌面消失 removeCreateDesktopBtn(); compressDesktopnavShow(); refreshAsideLeftApp(); } /** * 显示拖拽页面的标志 * 左侧栏跳到可用卡片tab页 */ function showCenterDragTool() { var $ampDesktopNav = $("#ampDesktopNav"); var $ampDesktopContent = $("#ampDesktopContent"); var ampDesktopId = $ampDesktopNav.find(".amp-active").attr('amp-desktop-id'); var $ampDesktopWidget = $ampDesktopContent.find('.amp-tab-content-item[amp-desktop-id="' + ampDesktopId + '"]'); $ampDesktopWidget.find('.amp-widget-add').addClass('amp-hide').removeClass('amp-animate-move-bottom-in'); $ampDesktopWidget.find('.amp-widget-drag').removeClass('amp-widget-drag-hide'); //左侧栏跳到可用卡片的tab页 jumpToUseCardTab(); } /** * 判断左侧边栏展开模式,来显示桌面显示拖拽图标还是添加卡片图标 */ function showMainDesktopDragTool() { var $personalAsideLeft = $('#ampPersonalAsideLeft'); var $ampDesktopNav = $("#ampDesktopNav"); var $ampDesktopContent = $("#ampDesktopContent"); var ampDesktopId = $ampDesktopNav.find(".amp-active").attr('amp-desktop-id'); var $ampDesktopWidget = $ampDesktopContent.find('.amp-tab-content-item[amp-desktop-id="' + ampDesktopId + '"]'); if ($personalAsideLeft.hasClass('amp-mini')) { //mini状态 $ampDesktopWidget.find('.amp-widget-add').removeClass('amp-hide').addClass('amp-animate-move-bottom-in'); $ampDesktopWidget.find('.amp-widget-drag').addClass('amp-widget-drag-hide'); } } /** * 点击左侧栏跳到可用卡片的tab页 */ function jumpToUseCardTab() { var $personalAsideLeft = $('#ampPersonalAsideLeft'); var $personalAsideLeftTabCard = $('#ampPersonalAsideLeftTabHead').find('[amp-id="canUseCards"]'); if ($personalAsideLeft.hasClass('amp-mini')) { //如果可用卡片是未打开状态,则打开卡片tab页 $('#ampPersonalAsideLeftMini .amp-aside-box-mini-item').click(); $personalAsideLeftTabCard.click(); } else { if (!$personalAsideLeftTabCard.hasClass('amp-active')) { $personalAsideLeftTabCard.click(); } } } /** * 点击添加小工具页面的拖拽页面 */ /* function showDesktopDrag($clickItem) { var $desktopCreatNav = $('#ampDesktopNav').find(".amp-desktop-add-input-container"); if ($clickItem.closest('div').hasClass('amp-widget')) { $clickItem.closest("div").addClass('amp-hide'); $clickItem.closest("div").siblings('.ampLoadingDragCompleteFlag') .removeClass('amp-widget-drag-hide') .removeClass('amp-hide') .addClass('amp-animate-move-bottom-in'); } else if ($clickItem.hasClass('amp-tab-item')) { //改变desktopNav 切换的状态 // $clickItem.siblings('div').removeClass('amp-active'); // $desktopCreatNav.addClass('amp-active'); var $desktopContent = $("#ampDesktopContent"); var activeDesktopNavId = $clickItem.siblings('.amp-active').attr('amp-desktop-id') || $clickItem.attr('amp-desktop-id'); var activeDesktopContent = $desktopContent.find('[amp-desktop-id="' + activeDesktopNavId + '"]').attr('id'); $('#' + activeDesktopContent + '').removeClass('amp-hide'); $('#' + activeDesktopContent + ' div').removeClass('amp-widget-drag-hide') .removeClass('amp-hide') .addClass('amp-animate-move-bottom-in'); $('#' + activeDesktopContent + ' div.amp-widget-add').addClass('amp-hide'); /* $('#' + activeDesktopContent + '').siblings('div').addClass('amp-hide');*/ /* } var $clickItemTab = $('.amp-tab-item[amp-id= canUseCards]'); asideLeftTabChange($clickItemTab); refreshAsideLeftApp($clickItemTab);*/ /* }*/ /** * 卡片拖拽及卡片排序 * 单条卡片拖拽 * 多条卡片拖拽 */ function sortingCardsToDesktop() { var $ampDesktopContent = $('#ampDesktopContent'); var $leftCanUseCards = $('#ampPersonalAsideLeftCanUseCards'); var $elLeft = $leftCanUseCards.find('.amp-category-content-item').not('.amp-hide'); var $elRight = $ampDesktopContent.children('.amp-active'); var $elUl = $leftCanUseCards.find('ul'); if (!$elLeft || !$elLeft[0]) { return; } if (!$elRight || !$elRight[0]) { return; } if ($elLeft.attr('is-sortable-init-side') !== 'true' || $elRight.attr('is-sortable-init-side') !== 'true') { singleDragCard($elLeft, $elRight); $elLeft.attr('is-sortable-init-side', 'true'); } if ($elRight.attr('is-sortable-init-side') !== 'true' || $elUl.attr('is-sortable-init-side') !== 'true') { multipleDragCard($elUl, $elRight); $elRight.attr('is-sortable-init-side', 'true'); } } /** * 单个卡片拖拽 * @return {[type]} [description] */ function singleDragCard($elLeft, $elRight) { //单条拖拽 Sortable.create($elLeft[0], { filter: ".ampHasAddedFlag,.amp-card-hasno-drag", group: { name: 'card', pull: 'clone', put: false }, animation: 100, sort: false, scroll: false, // or HTMLElement onMoveToSelf: function(evt) { var $item = $(evt.dragged); $item.removeClass('amp-sorting-crad-change-big'); $item.find('h5').removeClass('apphasUnReadMark'); $item.find('.amp-app-complex-btn').addClass('amp-app-complex-add'); }, onMove: function(evt) { var $item = $(evt.dragged); $item.addClass('amp-sorting-crad-change-big'); $item.find('h5').removeClass('apphasUnReadMark'); $item.find('.amp-app-complex-btn').removeClass('amp-app-complex-add'); }, onEnd: function(evt) { var item = evt.item; var $item = $(item); var $clone = $(evt.clone); var $keep = $(evt.item); //改变拖拽后的状态,可删除的状态 $clone.find('.amp-app-complex-btn') .removeClass('amp-app-complex-add') .addClass('amp-app-complex-del'); $keep.find('.amp-app-complex-btn') .removeClass('amp-app-complex-add') .addClass('amp-app-complex-del'); $clone.addClass('ampHasAddedFlag'); $keep.addClass('ampHasAddedFlag'); var widgets = []; var widgetLen = 0; //单条卡片拖拽 var widgetItem = getWidgetItems($item); widgets.push(widgetItem); widgetLen = widgets.length; var dragCardClass = "dragToDesktop"; var getWidgetItemHtm = getwidgetsHtml({ widgets: widgets, widgetsLen: widgetLen, dragCardClass: dragCardClass }); var $desktopNav = $("#ampDesktopNav"); var $desktopContent = $("#ampDesktopContent"); var activeDesktopId = $desktopNav.find('.amp-active').attr('amp-desktop-id'); var desktopType = $desktopNav.find('.amp-active').attr('amp-desktop-type'); var $widgets = $desktopContent.children('[amp-desktop-id="' + activeDesktopId + '"]'); if ($widgets.find('.amp-app-complex').length != 0) { $widgets.find('.amp-app-complex').after(getWidgetItemHtm).remove(); } else { $widgets.find('.amp-widget-add').before(getWidgetItemHtm); } //刷新推荐卡片的提醒位置 setTimeout(function() { personalCenter.showRecommendCrad(); }, 450); $desktopContent.find(".dragToDesktop").removeClass('amp-hide').addClass('amp-animate-move-bottom-in'); //点击新增,当前桌面卡片的数据 插入到数据库 var $widgetsAfter = $desktopContent.children('[amp-desktop-id="' + activeDesktopId + '"]'); var cardsList = $widgetsAfter.children().not('.recommedCard'); var params = {}; params.desktopId = activeDesktopId; params.desktopType = desktopType; cardListSave(cardsList, params); setDesktopCardScroll(); } }); if (navigator.userAgent.indexOf("MSIE 9.0") < 0) { //非IE9浏览器 Sortable.create($elRight[0], { group: { name: 'card', put: [$elLeft[0].id] }, forceFallback: true, animation: 100, scroll: false, // or HTMLElement filter: '.amp-card-hasno-drag', handle: '.amp-card-wf-head', draggable: ".amp-widget-only-drag", ghostClass: 'amp-sort-ghost-class', sort: false, filter: '.amp-card-hasno-drag' }) } } /** * 多个卡片拖拽 * @return {[type]} [description] */ function multipleDragCard($elUl, $elRight) { var $elUl = $elUl; var $elRight = $elRight; //批量拖拽 Sortable.create($elUl[0], { group: { name: 'card', pull: 'clone', put: false }, animation: 100, sort: false, scroll: false, filter: '.amp-card-hasno-drag', onMoveToSelf: function(evt) { $(evt.dragged).removeClass('amp-sorting-crad-change-big'); $(evt.dragged).find('h5').removeClass('tabhasUnReadMark'); }, onMove: function(evt) { $(evt.dragged).addClass('amp-sorting-crad-change-big'); $(evt.dragged).find('h5').removeClass('tabhasUnReadMark'); }, onEnd: function(evt) { var ampId = $(evt.item).attr('amp-id'); var $ampCategoryTabContent = $('#ampCategoryTabContent'); var $ampCategoryItem = $ampCategoryTabContent.children('[amp-id="' + ampId + '"]').children(); $ampCategoryItem = $ampCategoryItem.find('.amp-app-complex-add').closest('.amp-app-complex'); var widgets = []; var widgetLen = 0; var cardName = []; $ampCategoryItem.each(function() { var $item = $(this); $item.addClass('ampHasAddedFlag'); var widgetItem = getWidgetItems($item); widgets.push(widgetItem); cardName.push($item.attr('card-name')); }); widgetLen = widgets.length; var dragCardClass = "dragToDesktop"; var getWidgetItemHtm = getwidgetsHtml({ widgets: widgets, widgetsLen: widgetLen, dragCardClass: dragCardClass }); var $desktopNav = $("#ampDesktopNav"); var $desktopContent = $("#ampDesktopContent"); var activeDesktopId = $desktopNav.find('.amp-active').attr('amp-desktop-id'); var desktopType = $desktopNav.find('.amp-active').attr('amp-desktop-type'); var desktopName = $desktopNav.find('.amp-active').text(); var $widgets = $desktopContent.children('[amp-desktop-id="' + activeDesktopId + '"]'); $widgets.find('li.amp-sorting-crad-change-big').after(getWidgetItemHtm).remove(); $desktopContent.find(".dragToDesktop").removeClass('amp-hide').addClass('amp-animate-move-bottom-in'); //点击拖拽后按钮的状态 $ampCategoryItem.find('.amp-app-complex-btn') .removeClass('amp-app-complex-add') .addClass('amp-app-complex-del'); //点击新增,当前桌面卡片的数据 插入到数据库 var $widgetsAfter = $desktopContent.children('[amp-desktop-id="' + activeDesktopId + '"]'); var cardsList = $widgetsAfter.children().not('.recommedCard'); var params = {}; params.desktopId = activeDesktopId; params.desktopType = desktopType; params.desktopName = desktopName; params.cardName = cardName; cardListSave(cardsList, params); setDesktopCardScroll(); } }); if (navigator.userAgent.indexOf("MSIE 9.0") < 0) { //非IE9浏览器 Sortable.create($elRight[0], { group: { name: 'card', put: [$elUl[0].id] }, animation: 100, scroll: false, // or HTMLElement filter: '.amp-card-hasno-drag', handle: '.amp-card-wf-head', draggable: ".amp-widget-only-drag", ghostClass: 'amp-sort-ghost-class', sort: false, onStart: function() {} }); } } function getWidgetItems($item) { var appId = $item.attr('amp-appid'); var cardId = $item.attr('cardnickname'); var cardName = $item.attr('card-name'); var cardWid = $item.attr('app-card-wid'); var widgetItem = { 'appId': appId, 'cardName': cardName, 'cardId': cardId, 'cardWid': cardWid }; return widgetItem; } /** * 获取每个卡片的widget * widgets 所有卡片 * widgetsLen 卡片的length * dragCardClass 拖拽卡片的class * recommCardClass 推荐卡片的class * desktopNum 桌面序号 */ function getwidgetsHtml(params) { var widgets = params.widgets; var widgetsLen = params.widgetsLen; var dragCardClass = params.dragCardClass; var recommCardClass = params.recommCardClass; var desktopNum = params.desktopNum; //桌面序号 var widgetsHtml = ''; var widgetsJsonData = {}; for (var k = 0; k < widgetsLen; k++) { var widgetItem = widgets[k]; var widgetName = widgetItem.cardName; var widgetNameEnus = widgetItem.cardNameEnus; var widgetId = widgetItem.cardId; var widgetWid = widgetItem.cardWid || widgetItem.wid; var hasAuthLose = widgetItem.hasAuthLose; var appId = widgetItem.appId; var cardId = widgetItem.cardId; var appkey = widgetItem.appKey; var refreshClass = ''; //是否需要刷新按钮 //读取card的json数据 var loadCradJsonFlag = true; var cardParams = {}; cardParams.appId = appId; cardParams.cardId = cardId; cardParams.desktopNum = desktopNum; AmpUtils.loadWidgetJson(cardParams).done(function(params, itemData) { //判断 数据库 卡片名称是否存在,如果存在,卡片title读取数据库的值,如果不存在,读取card.json中的值 if (widgetName) { params.widget_title = widgetName; } widgetsJsonData[itemData.cardId] = params; // console.log("加载卡片的数据"); }).fail(function(resp, itemData) { // console.log('卡片读取json失败'); loadCradJsonFlag = false; }); if (!loadCradJsonFlag) { return; } if (appId == '5117447931670328') { refreshClass = 'refreshFlag'; } // AmpUtils.loadWidgetComponentHtml(appId, cardId, function(loadWidgetId) { AmpUtils.loadWidgetComponentHtml(cardParams, function(loadWidgetId) { AmpWidgetUtils.loadWidgetComplete(loadWidgetId, 'main'); }); if (hasAuthLose) { widgetsHtml += AmpTemplate.getWidgetLostPermissionCard({ widgetId: widgetId, widgetWid: widgetWid, widgetsJsonData: widgetsJsonData }); //失去权限的widget } else { widgetsHtml += AmpTemplate.getWidgetMainItemHtml({ widgetId: widgetId, dragCardClass: dragCardClass, widgetWid: widgetWid, recommCardClass: recommCardClass, widgetsJsonData: widgetsJsonData, appId: appId, appKey: appkey, widgetTitle: widgetName, widgetTitleEnus: widgetNameEnus, refreshClass: refreshClass }); } } return widgetsHtml; } function appendToDesktopWidget($clickItem) { var $clickItem = $clickItem; $clickItem.removeClass('amp-app-complex-add').addClass('amp-app-complex-del'); $clickItem.closest('.amp-app-complex').addClass('ampHasAddedFlag'); //飞入动画效果 showAppFlyAminate($clickItem); setTimeout(function() { var widgets = []; var widgetLen = 0; //单条卡片拖拽 var $item = $clickItem.parent(); var widgetItem = getWidgetItems($item); widgets.push(widgetItem); widgetLen = widgets.length; var dragCardClass = "dragToDesktop"; var getWidgetItemHtm = getwidgetsHtml({ widgets: widgets, widgetsLen: widgetLen, dragCardClass: dragCardClass }); var $desktopNav = $("#ampDesktopNav"); var $desktopContent = $("#ampDesktopContent"); var desktopId = $desktopNav.find('.amp-active').attr('amp-desktop-id'); var desktopType = $desktopNav.find('.amp-active').attr('amp-desktop-type'); var $widgetsBefore = $desktopContent.children('[amp-desktop-id="' + desktopId + '"]'); var desktopName = $desktopNav.find('.amp-active').text(); setTimeout(function() { //如果有推荐的数据则插入到推荐数据的前面 //如果没有推荐数据 则插入到drag工具的前面 var $recommendCards = $widgetsBefore.children().filter('.recommedCard'); if ($recommendCards.length > 0) { $recommendCards.first().before(getWidgetItemHtm); //刷新推荐数据 setTimeout(function() { personalCenter.showRecommendCrad(); }, 450); } else { $widgetsBefore.find(".amp-desktop-tool:first").before(getWidgetItemHtm); } //判断是否需要显示小工具 showOrHideTool(); $desktopContent.find(".dragToDesktop").removeClass('amp-hide').addClass('amp-animate-small-to-big'); //滚动条滚动到拖拽工具的位置(即滚动到底部) setTimeout(function() { $desktopContent.find(".dragToDesktop").removeClass('amp-animate-small-to-big').removeClass('dragToDesktop'); dragCardscrollBottom(); }, 500); //点击新增,当前桌面卡片的数据 插入到数据库 var $widgetsAfter = $desktopContent.children('[amp-desktop-id="' + desktopId + '"]'); var cardsList = $widgetsAfter.children().not('.recommedCard'); var params = {}; params.desktopId = desktopId; params.desktopType = desktopType; params.desktopName = desktopName; params.cardName = $item.children('h5').text(); cardListSave(cardsList, params); }, 100); $('body').find('.clone-img').remove(); }, 500); } function delToDesktopWidget($clickItem) { var $clickItem = $clickItem; $clickItem.removeClass('amp-app-complex-del').addClass('amp-app-complex-add'); $clickItem.closest('.amp-app-complex').removeClass('ampHasAddedFlag'); var cardId = $clickItem.parent().attr('cardnickname'); var cardWid = $clickItem.parent().attr('app-card-wid'); var cardName = $clickItem.parent().text(); var $desktopNav = $("#ampDesktopNav"); var $desktopContent = $("#ampDesktopContent"); var desktopId = $desktopNav.find('.amp-active').attr('amp-desktop-id'); var desktopType = $desktopNav.find('.amp-active').attr('amp-desktop-type'); var desktopName = $desktopNav.find('.amp-active').attr('title'); var $widgets = $desktopContent.children('[amp-desktop-id="' + desktopId + '"]'); var $widgetItem = $widgets.children('[widget-wid="' + cardWid + '"]'); /* $widgetItem.addClass('amp-hide');*/ //判断删除的是否是推荐卡片,如果是删除推荐卡片,调用推荐卡片的删除接口 var cardRecommendFlag = $widgetItem.hasClass('recommedCard'); //移除当前卡片 $widgetItem.addClass('amp-animate-big-to-small'); $widgetItem.hide(100, function() { $(this).remove(); setTimeout(function() { personalCenter.showRecommendCrad(); }, 150); //判断是否需要显示小工具 showOrHideTool(); }); if (cardRecommendFlag) { var cardRecommenddata = {}; cardRecommenddata.cardWid = cardWid; delRecommendCardData(cardRecommenddata); } else { var data = {}; data.desktopId = desktopId; data.desktopType = desktopType; data.cardWid = cardWid; data.desktopName = desktopName; //删除卡片(widget) AmpDataUtils.deleteUserDesktopCard(data, function(resp) { if (resp.result === 'success') { var cnStr = '删除成功'; if (AmpGlobal.currentLang == "en_US") { cnStr = $.i18n("deletedSuccessfully"); } AmpPrompt.show({ content: cnStr }); //诸葛io埋点 AmpUtils.zhuge("删除桌面卡片", { "桌面名": desktopName, "卡片名": cardName, "来源": "左侧可用卡片中点-按钮" }); } }); } } /** * 展示推荐卡片的提醒 */ personalCenter.showRecommendCrad = function() { //获取是否可编辑属性 var $ampDesktopNav=$('#ampDesktopNav') //判断是否是第一个桌面 有推荐卡片 var isFlag = isFirstDesktop(); //判断提醒是否已经加载 var hasRecommend = $('#ampRecommendBtn').css('display'); var $recommedCardContainer = $('.amp-recommed-card-container'); if (isFlag) { $recommedCardContainer.css('display', 'block'); } else { $recommedCardContainer.css('display', 'none'); return false; } if ($('#ampTabContentItem0').find('.amp-recommed-card-container').length == 0) { var $recommendDesktopNavHtml = sessionStorage.getItem('recommendDesktopNavHtml'); $recommendCardHtml = AmpTemplate.getRecommendHtml($recommendDesktopNavHtml); $('#ampTabContentItem0').append($recommendCardHtml); if ($recommendDesktopNavHtml == '') { $('#ampDesktopTitle').remove(); } } setTimeout(function() { //定位位置 var $desktopContent = $('#ampDesktopContent'); var $offsetRecommedCard = $('#ampDesktopContent').find('.amp-tab-content-item:first').find('.recommedCard:first'); var $offsetdragCard = $('#ampDesktopContent').find('.amp-widget-drag'); var recommedCardOffsetTop = $offsetRecommedCard.offset().top; var offsetTop = ''; var offsetLeft = ''; var changeHeight = ''; if (recommedCardOffsetTop < 240 && recommedCardOffsetTop > 0) { /* var offsetTop = $offsetRecommedCard.offset().top - 90 + 'px';*/ offsetTop = recommedCardOffsetTop - 80 + 'px'; $("#ampRecommendBtn").addClass('amp-recommend-down').removeClass('amp-recommend-up'); } else if (recommedCardOffsetTop < 0) { offsetTop = -recommedCardOffsetTop + ($desktopContent.offsetHeight - $desktopContent.scrollTop()) + 'px'; } else { changeHeight = $desktopContent.scrollTop(); //滚动条的高度 if (changeHeight) { offsetTop = changeHeight + $offsetRecommedCard.offset().top - 240 + 'px'; } else { offsetTop = $offsetRecommedCard.offset().top - 240 + 'px'; } $("#ampRecommendBtn").removeClass('amp-recommend-down').addClass('amp-recommend-up'); } //判断左侧当前是mini状态 还是正常状态 var $ampPersonalAsideLeftWidth = $('#ampPersonalAsideLeft').width(); var $ampPersonalAsideRightWidth = $('#ampPersonalAsideRight').width(); if ($ampPersonalAsideLeftWidth == 60) { offsetLeft = $offsetRecommedCard.offset().left - 100 + 16 + 'px'; } else { if ($ampPersonalAsideRightWidth == 60) { offsetLeft = $offsetRecommedCard.offset().left - 580 + 'px'; } else { offsetLeft = $offsetRecommedCard.offset().left - 420 + 'px'; /*offsetTop = offsetTop + 40 + 'px';*/ } } $('.amp-recommed-card-container').css({ top: offsetTop, left: offsetLeft }); $('.amp-recommed-card-container').show(); }, 600); var hasCanUseCards = isAsideLeftCanUseCards(); if (!hasCanUseCards) { setTimeout(function() { //推荐卡片滚动到可见区域内 //判断左侧是否是可用卡片的tab页, var recommendCardScrollTop = $('#ampTabContentItem0').find('.recommedCard:first').offset().top; $('#ampDesktopContent').animate({ scrollTop: recommendCardScrollTop - 240 }, 300); }, 200); } }; /* function isNewCreateCVard(classifyData) { var flag = false; $.each(classifyData, function(index, data) { if (data.hasUnReadMark) { flag = true; return false } }); return flag; }*/ /** * 显示当前桌面下的图拽图标 * @param {[type]} classifyData [description] * @return {[type]} [description] */ function showSingleDesktopDrag($clickItem) { var $desktopContent = $("#ampDesktopContent"); var activeDesktopNavId = $clickItem.attr('amp-desktop-id'); var activeDesktopContent = $desktopContent.find('[amp-desktop-id="' + activeDesktopNavId + '"]').attr('id'); $('#' + activeDesktopContent + ' div.amp-widget-drag').removeClass('amp-widget-drag-hide') .removeClass('amp-hide') .addClass('amp-animate-move-bottom-in'); $('#' + activeDesktopContent + ' div.amp-widget-add') .addClass('amp-hide') .removeClass('amp-animate-move-bottom-in'); } /** * 当前的数据与桌面数据作比较,并改变状态 * @type {[type]} */ function refreshAsideLeftApp($clickItem) { var $ampDesktopContent = $('#ampDesktopContent'); var $leftCanUseCards = $('#ampPersonalAsideLeftCanUseCards'); var $elLeft = $leftCanUseCards.find('.amp-category-content-item').not('.amp-hide'); var appItems = $elLeft.children(); appItems.each(function() { $clickItem = $(this); var cardWid = $clickItem.attr('app-card-wid'); var flag = false; var $desktopNav = $("#ampDesktopNav"); var $desktopContent = $("#ampDesktopContent"); var activeDesktopId = $desktopNav.find('.amp-active').attr('amp-desktop-id'); //是否可编辑 var isEditable = $desktopNav.find('.amp-active').attr('is-editable') var $widgets = $desktopContent.children('[amp-desktop-id="' + activeDesktopId + '"]'); var $widgetList = $widgets.children(); $widgetList.each(function(index) { var $widgetItem = $(this); var widgetId = $widgetItem.attr('widget-wid'); if (cardWid == widgetId) { flag = true; } //可编辑的显示按钮不可编辑隐藏按钮 if(isEditable==='1'){ $clickItem.find('.amp-app-complex-btn').show() if (flag) { $clickItem.find('.amp-app-complex-btn').addClass('amp-app-complex-del').removeClass('amp-app-complex-add'); $clickItem.addClass('ampHasAddedFlag'); return true; } else { $clickItem.find('.amp-app-complex-btn').addClass('amp-app-complex-add').removeClass('amp-app-complex-del'); $clickItem.removeClass('ampHasAddedFlag'); // $clickItem.closest('.amp-app-complex').addClass('ampHasAddedFlag'); return true; } }else { //隐藏新增按钮阻止拖拽 $clickItem.find('.amp-app-complex-btn').hide() $clickItem.addClass('ampHasAddedFlag'); } }); }); } /** * 判断中心是否需要显示添加小工具卡片或拖拽卡片 * @type {[type]} */ function showCenterToolOrDrag($clickItem) { var hasCanUseCards = isAsideLeftCanUseCards(); var $ampDesktopNav = $("#ampDesktopNav"); var $ampDesktopContent = $("#ampDesktopContent"); var ampDesktopId = $ampDesktopNav.find(".amp-active").attr('amp-desktop-id'); var $ampDesktopWidget = $ampDesktopContent.find('.amp-tab-content-item[amp-desktop-id="' + ampDesktopId + '"]'); if (hasCanUseCards) { $ampDesktopWidget.find('.amp-widget-add').addClass('amp-hide').removeClass('amp-animate-move-bottom-in'); $ampDesktopWidget.find('.amp-widget-drag').removeClass('amp-widget-drag-hide'); } else { $ampDesktopWidget.find('.amp-widget-add').removeClass('amp-hide').addClass('amp-animate-move-bottom-in'); $ampDesktopWidget.find('.amp-widget-drag').addClass('amp-widget-drag-hide'); } if ($ampDesktopWidget.children().hasClass('ampEmptyWidgetPlaceholderFlag')) { $ampDesktopWidget.find('.ampEmptyWidgetPlaceholderFlag').removeClass('amp-hide'); } } /** * 判断左侧是否是可用卡片的状态 * @type {[type]} */ function isAsideLeftCanUseCards() { var flag = false; var $ampAsideLeftTab = $('#ampPersonalAsideLeftTabHead'); var ampId = $ampAsideLeftTab.children('.amp-active').attr('amp-id'); if (ampId == 'canUseCards') { flag = true; } return flag; } /** * 判断当前桌面是否是第一个桌面 * 判断是否有推荐卡片 */ function isFirstDesktop() { var flag = false; var $desktopNav = $('#ampDesktopNav'); var $desktopContent = $('#ampDesktopContent'); var activeDesktopId = $desktopNav.find('.amp-active').attr('amp-desktop-id'); var firstDesktopId = $desktopNav.find('.amp-tab-item:first').attr('amp-desktop-id'); var $widgets = $desktopContent.children('[amp-desktop-id="' + activeDesktopId + '"]'); if (activeDesktopId == firstDesktopId && $widgets.children().hasClass('recommedCard')) { flag = true; } return flag; } /** * 点击app 图片飞入中心的动画效果 * @type {[type]} */ function showAppFlyAminate($clickItem) { var $item = $clickItem; var $img = $item.siblings('.amp-app-complex-img'); var flyElm = $img.clone().addClass('clone-img').css('opacity', '0.7'); //当前桌面对应的拖拽卡片的位置 var $desktopContent = $('#ampDesktopContent'); var $desktopNav = $('#ampDesktopNav'); var activeDesktopId = $desktopNav.find('.amp-active').attr('amp-desktop-id'); var $widgets = $desktopContent.children('[amp-desktop-id="' + activeDesktopId + '"]'); var offsetTop = $widgets.find('.amp-widget-drag-icon').offset().top; var offsetLeft = $widgets.find('.amp-widget-drag-icon').offset().left; flyElm.css({ 'z-index': 9000, 'display': 'block', 'position': 'absolute', 'top': $img.offset().top + 'px', 'left': $img.offset().left + 'px', 'width': $img.width() + 'px', 'height': $img.height() + 'px' }); $('body').append(flyElm); flyElm.animate({ top: offsetTop, left: offsetLeft, width: 50, height: 50 }, 'slow'); } /** * 中心页面新增一个卡片、多个卡片、卡片排序 * @type {[type]} */ function cardListSave(cardsList, params) { var desktopId = params.desktopId; var desktopType = params.desktopType; var desktopName = params.desktopName; var cardName = params.cardName; var target = ''; var key = 0; var objectJson = ''; cardsList.each(function() { var cardWid = $(this).attr('widget-wid'); if (cardWid != undefined & cardWid != '@widgetWid') { key++; cardSeq = key; objectJson += '{"cardWid":"' + cardWid + '","cardSeq":' + parseInt(cardSeq) + '},'; } }); objectJson = objectJson.substr(0, objectJson.length - 1); if (objectJson == '') { return; } else { objectJson = '[' + objectJson + ']'; } var target = ''; var desktopUserEntityJson = '{"desktopId":"' + desktopId + '","desktopType":"' + parseInt(desktopType) + '","target":"' + target + '","desktopUserLayoutList":' + objectJson + '}'; var params = 'desktopUserEntityJson=' + desktopUserEntityJson; AmpDataUtils.editDesktop(params, function(resp) { if (resp.result === 'success') { // console.log("添加成功"); /* AmpPrompt.show({ content: "添加成功" });*/ //诸葛io埋点 /*AmpUtils.zhuge("添加卡片到桌面", { "桌面名": desktopName, "卡片名": cardName.join(",") });*/ } }); } /** * 桌面拖拽情况下,滚动条滚动到底部 */ function dragCardscrollBottom() { var $desktopNav = $("#ampDesktopNav"); var $ampDesktopContent = $('#ampDesktopContent'); var desktopId = $desktopNav.find('.amp-active').attr('amp-desktop-id'); var hasActiveFlag = $ampDesktopContent.find('.amp-tab-content-item[amp-desktop-id="' + desktopId + '"]').find('.amp-widget-add').hasClass('amp-hide'); if (hasActiveFlag) { scrollBottom(); } } function saveRecommendCardToSession(data) { var cardList = data.appPcCardBizList; var cardListLen = cardList.length; var recommCardClass = 'recommedCard'; var recommendCardHtml = getwidgetsHtml({ widgets: cardList, widgetsLen: cardListLen, recommCardClass: recommCardClass }); sessionStorage.setItem('recommendCardHtml', recommendCardHtml); } /** * 推荐卡片 * 我不需要 */ function delRecommendCard() { //获取 推荐数据的第一条数据 var $desktopContent = $('#ampDesktopContent'); var $firstRecommend = $desktopContent.find('.recommedCard:first'); var cardWid = $firstRecommend.attr('widget-wid'); var data = {}; data.cardWid = cardWid; delRecommendCardData(data); } /** * 删除推荐卡片操作数据库的方法 */ function delRecommendCardData(data) { var $desktopContent = $('#ampDesktopContent'); var $firstRecommend = $desktopContent.find('.recommedCard:first'); var cardWid = data.cardWid; var status = 0; var cardJson = '{"cardWid":"' + cardWid + '","status":' + parseInt(status) + '}'; // var params = 'appPcCardRecommendJson=' + cardJson; AmpDataUtils.updateRecommendCardStatus(cardJson, function(resp) { if (resp.result === 'success') { var cnStr = '删除成功'; if (AmpGlobal.currentLang == "en_US") { cnStr = $.i18n("deletedSuccessfully"); } AmpPrompt.show({ content: cnStr }); //删除当前的卡片 $firstRecommend.remove(); personalCenter.showRecommendCrad(); showOrHideTool(); } }); } /** * 推荐卡片 * 留下 */ function appendRecommendCard() { var $desktopContent = $('#ampDesktopContent'); var $desktopNav = $("#ampDesktopNav"); var desktopId = $desktopNav.find('.amp-active').attr('amp-desktop-id'); var desktopType = $desktopNav.find('.amp-active').attr('amp-desktop-type'); var $firstRecommend = $desktopContent.find('.recommedCard:first'); var cardWid = $firstRecommend.attr('widget-wid'); var cardSeq = $desktopContent.find('.recommedCard:first').index() + 1; var status = 1; var cardJson = '{"desktopId":"' + desktopId + '","desktopType":' + parseInt(desktopType) + ',"status":' + parseInt(status) + ',"cardWid":"' + cardWid + '","cardSeq":' + parseInt(cardSeq) + '}'; AmpDataUtils.updateRecommendCardStatus(cardJson, function(resp) { if (resp.result === 'success') { var cnStr = '添加成功'; if (AmpGlobal.currentLang == "en_US") { cnStr = $.i18n("addedSuccessfully"); } AmpPrompt.show({ content: cnStr }); //刷新提醒卡片的位置 $firstRecommend.removeClass('recommedCard'); personalCenter.showRecommendCrad(); } }); } /** * 选择留在其他桌面的推荐卡片 */ function saveRecommendCards($clickItem) { var $desktopContent = $('#ampDesktopContent'); var $desktopNav = $("#ampDesktopNav"); var $firstRecommend = $desktopContent.find('.recommedCard:first'); var cardWid = $firstRecommend.attr('widget-wid'); var cardId = $firstRecommend.attr('widget-id'); var appId = $firstRecommend.attr('app-id'); var desktopId = $clickItem.attr('desktop-id'); var desktopType = $clickItem.attr('desktop-type'); var status = 1; var cardJson = '{"desktopId":"' + desktopId + '","desktopType":' + parseInt(desktopType) + ',"status":' + parseInt(status) + ',"cardWid":"' + cardWid + '"}'; //刷新提醒卡片的位置 $firstRecommend.remove(); $firstRecommend.removeClass('recommedCard'); personalCenter.showRecommendCrad(); //找到添加的桌面添加一个卡片 var desktopRecommendWidgets = []; var desktopRecommendData = {}; desktopRecommendData.appId = appId; desktopRecommendData.cardId = cardId; desktopRecommendData.cardWid = cardWid; desktopRecommendWidgets.push(desktopRecommendData); var desktopRecommendWidgetsLen = desktopRecommendWidgets.length; var desktopRecommendCardHtm = getwidgetsHtml({ widgets: desktopRecommendWidgets, widgetsLen: desktopRecommendWidgetsLen }); var desktopRecomDatas = {}; desktopRecomDatas.desktopId = desktopId; desktopRecomDatas.desktopRecommendCardHtm = desktopRecommendCardHtm; desktopRecomDatas.cardWid = cardWid; desktopRecomDatas.cardId = cardId; personalCenter.space.sessionStorageRecommendData.push(desktopRecomDatas); $('#ampRecommendShowDesktop').hide(); /*sessionStorage.setItem('desktopRecommenddesktopId', desktopId); sessionStorage.setItem('desktopRecommendCardHtm', desktopRecommendCardHtm);*/ AmpDataUtils.updateRecommendCardStatus(cardJson, function(resp) { if (resp.result === 'success') { var cnStr = '添加成功'; if (AmpGlobal.currentLang == "en_US") { cnStr = $.i18n("addedSuccessfully"); } AmpPrompt.show({ content: cnStr }); //刷新提醒卡片的位置 $firstRecommend.removeClass('recommedCard'); personalCenter.showRecommendCrad(); } }); } /** * 获取可用卡片当前分类下的卡片的数量 */ /* function getCanUseCardCount(classifyItem) { var count = 0; var appList = classifyItem.appList; appListLen = appList.length; if (appListLen > 0) { for (var key in appList) { if (appList[key].appPcCardList) { count += appList[key].appPcCardList.length; } } } return count; }*/ /** * 加载完成后向第一个桌面添加推荐卡片的数据 */ function appendToDesktopRecommendCards() { var $desktopContent = $('#ampDesktopContent'); var $desktopNav = $('#ampDesktopNav'); var firstDesktopId = $desktopNav.find('.amp-tab-item:first').attr('amp-desktop-id'); var $widgets = $desktopContent.children('[amp-desktop-id="' + firstDesktopId + '"]'); var widgetsHtml = sessionStorage.getItem('recommendCardHtml'); $widgets.find('.amp-widget-add').before(widgetsHtml); //判断桌面是否需要添加空的widget //添加后桌面的卡片数量 var $widgetsAfterHtml = $desktopContent.children('[amp-desktop-id="' + firstDesktopId + '"]').children(); var widgetsAfterHtmlLen = $widgetsAfterHtml.length; var cardsHtml = ''; $widgetsAfterHtml.each(function() { cardsHtml += this.outerHTML; }); $widgetsAfterHtml = checkToAddEmptyWidetPlaceholder(cardsHtml, widgetsAfterHtmlLen); $widgets.html(cardsHtml); } /** * 去除最新添加的app的样式 * @type {[type]} */ function removeLatestAppFlag($clickItem) { var hasMark = $clickItem.hasClass('tabhasUnReadMark'); if (!hasMark) { return false; } var toShowAmpId = $clickItem.attr('amp-id'); var $ampCategoryTabContent = $('#ampCategoryTabContent'); var $ampApps = $ampCategoryTabContent.children('[amp-id="' + toShowAmpId + '"]').children().find('.apphasUnReadMark').closest('.amp-app-complex'); var appLists = []; $ampApps.each(function() { var appId = $(this).attr('amp-appid'); var cardWid = $(this).attr('app-card-wid'); var appItem = { appId: appId, cardWid: cardWid }; appLists.push(appItem); }); saveMarkStatus(appLists); } /** * 最新添加标记的保存,下次进入最新添加标记不再显示 * @param {[type]} appLists 保存对象 */ function saveMarkStatus(appLists) { var objectJson = ''; var appListsLen = appLists.length; if (appListsLen == 0) { return false; } for (var key in appLists) { var cardWid = appLists[key].cardWid; var appId = appLists[key].appId; objectJson += '{"appId":"' + appId + '","cardWid":"' + cardWid + '"},'; } objectJson = objectJson.substr(0, objectJson.length - 1); objectJson = '[' + objectJson + ']'; var userPcCardRecordJson = '{"userPcCardRecordJson":' + objectJson + '}'; /*var params = 'userPcCardRecordJson=' + objectJson;*/ AmpDataUtils.updatePcCardMarkStatus(objectJson, function(resp) { if (resp.result === 'success') { // console.log("更新成功!"); } }); } function showTagMessages() { var messagesHtm = sessionStorage.getItem('tagMessagesHtm'); var $ampTagMessage = $('#ampTagMessages'); if (!messagesHtm) { var emptyMessage = '暂无未读消息'; if (AmpGlobal.currentLang == "en_US") { emptyMessage = $.i18n("noUnreadMessages"); } var emptyPage = AmpTemplate.getPersonalEmptyPage(emptyMessage); messagesHtm = emptyPage; } $ampTagMessage.html(messagesHtm); } /** * 原生代码 滚动条自动滚动到底部 */ function scrollBottom() { lct = document.getElementById('ampDesktopContent'); lct.scrollTop = Math.max(0, lct.scrollHeight - lct.offsetHeight + 480); $('#ampDesktopContent').getNiceScroll().resize(); setTimeout(function() { AmpPersonalCenter.showRecommendCrad(); }, 450); } /** * 判断当前桌面是否有桌面,如果没有桌面,则可用卡片显示空页面 */ personalCenter.showCanUseCardEmptyPage = function() { showCanUseCardTipPage(); } function showCanUseCardTipPage() { //判断是否有桌面 var $canUse = $('#ampPersonalAsideLeftCanUseCards'); var $desktopNav = $('#ampDesktopNav'); var desktopLen = $desktopNav.find('.amp-tab-item').filter('[amp-desktop-id]').length; if (desktopLen == 0) { var pleaseCreateANewDesktop = "请先在右侧新建桌面,方可添加应用卡片"; if (AmpGlobal.currentLang == "en_US") { pleaseCreateANewDesktop = $.i18n("pleaseCreateANewDesktop"); } var emptyCanUseCardsHtml = $('#tpl-CanUseCards-ampty-page').html().replace("@pleaseCreateANewDesktop", pleaseCreateANewDesktop); $canUse.children().css('display', 'none'); $canUse.append(emptyCanUseCardsHtml); } } /** * 如果桌面过多,则压缩状态显示 */ function compressDesktopnavShow() { var $desktopNav = $('#ampDesktopNav'); var $desktopNavHtm = $desktopNav.find('.amp-tab-item'); var desktopnavLen = $desktopNavHtm.filter('[amp-desktop-type]').length; var tabsHtm = ''; var tabsMoreHtm = ''; var tabsBtnHtm = ''; var _admin_new_flag = false; var compressSedktopActiveClass = ''; var adminNewHtml = ''; if (desktopnavLen <= 4) { return; } else { $desktopNavHtm.each(function(index) { if ($(this).filter('[amp-desktop-id]').length == 1 && index < 4 && !$(this).hasClass('amp-desktop-admin')) { tabsHtm += $(this)[0].outerHTML; } else if ($(this).filter('[amp-desktop-id]').length == 1 && index >= 4 && !$(this).hasClass('amp-desktop-admin')) { if ($(this).find('span').hasClass('amp-admin-new-desktopnav')) { _admin_new_flag = true; } if ($(this).hasClass('amp-active')) { compressSedktopActiveClass = 'amp-desktop-admin-active'; } tabsMoreHtm += $(this)[0].outerHTML; } else if (!$(this).hasClass('amp-desktop-admin')) { tabsBtnHtm += $(this)[0].outerHTML; } }); if (_admin_new_flag) { adminNewHtml = ''; } var moreHtml = '
' + tabsMoreHtm + '
' tabsHtm += '
' + '' + adminNewHtml + moreHtml + '
'; $desktopNav.html(tabsHtm + tabsBtnHtm); //美化滚动条 AmpUtils.niceScrollInit($('#ampDesktopNavMore')); } } /** * 展现管理员新增桌面的提醒 */ personalCenter.showAdminNewDesktop = function() { var $desktopContent = $('#ampDesktopContent'); var $desktopNav = $('#ampDesktopNav'); var activeDesktopId = $desktopContent.children('.amp-active').attr('id'); var adminNewHtml = ''; if ($desktopNav.find('.amp-tab-item.amp-active').find('span').length == 1) { adminNewHtml = AmpTemplate.getAdminNewDesktopHtm(); } //如果桌面存在管理员新建桌面提醒,则删除 if ($('#ampAdminNewDesktopRecommed').length > 0) { $('#ampAdminNewDesktopRecommed').remove(); } $('#' + activeDesktopId + '').append(adminNewHtml); } function updateAdminNewDektop($clickItem) { var $desktopContent = $('#ampDesktopContent'); var $desktopNav = $('#ampDesktopNav'); $desktopNav.find('.amp-tab-item.amp-active').find('span').remove(); $desktopContent.children('.amp-active').children('.amp-admin-new-desktop-recommed').remove(); //判断是否需要删除省略号的角标 var hasDesktopMoreFlag = $desktopNav.find('.amp-tab-item.amp-active').parent().hasClass('amp-desktopnav-more'); var hasDesktopMoreSpanLen = $desktopNav.find('.amp-tab-item.amp-active').parent().find('.amp-tab-item span').length; if (hasDesktopMoreFlag && hasDesktopMoreSpanLen == 0) { $desktopNav.find('.amp-tab-item.amp-desktop-admin').find('span').remove(); } var desktopId = $desktopNav.find('.amp-tab-item.amp-active').attr('amp-desktop-id'); saveUpdateAdminNewDesktop(desktopId); } function saveUpdateAdminNewDesktop(desktopId) { var param = desktopId; AmpDataUtils.updateUserDesktopStatus(param, function(data) { if (data.result == 'success') { // console.log('新增管理员桌面更新成功'); } }); } function initLeftTabActive() { //如果收藏数据为空,则tab页定位到可用的应用 // var favorateContentLen = $('#ampPersonalAsideLeftMyFavorite').find('.amp-app-favorite-add-btn').length; // if (favorateContentLen == 1) { // personalCenter.space.loadState--; // var $personalAsideLeftTabHead = $('#ampPersonalAsideLeftTabHead'); // asideLeftTabChange($personalAsideLeftTabHead.find('.amp-tab-item:nth-child(2)')); // setTimeout(function() { var $personalAsideLeftTabHead = $('#ampPersonalAsideLeftTabHead'); asideLeftTabChange($personalAsideLeftTabHead.find('.amp-tab-item:nth-child(2)')); // }, 450); // } } /** * 获取可用应用中的全部应用 */ function getAllUseApps(classifyData) { var allApps = new Object(); var allAppsList = []; var flag = false; var cnStr = '全部'; if (AmpGlobal.currentLang == "en_US") { cnStr = $.i18n("all"); } allApps.categoryName = cnStr; if (classifyData) { var classifyDataLen = classifyData.length; for (var i = 0; i < classifyDataLen; i++) { for (var k in classifyData[i].appList) { allAppsList.push(classifyData[i].appList[k]); } if (classifyData[i].hasUnReadMark) { flag = true; } } allApps.appList = allAppsList; if (flag) { allApps.hasUnReadMark = true; } } return allApps; } /** * 点击‘-’号判断 桌面是否不存在此卡片了 */ function compareCardFlag($clickItem) { var flag; var cardId = $clickItem.parent().attr('cardnickname'); var cardWid = $clickItem.parent().attr('app-card-wid'); var $desktopNav = $("#ampDesktopNav"); var $desktopContent = $("#ampDesktopContent"); var desktopId = $desktopNav.find('.amp-active').attr('amp-desktop-id'); var $widgets = $desktopContent.children('[amp-desktop-id="' + desktopId + '"]'); var $widgetItem = $widgets.children('[widget-wid="' + cardWid + '"]'); if ($widgetItem.length > 0) { flag = false; } else { flag = true; } return flag; } /** * 创建桌面弹框 取消按钮的操作 */ function cancelCreateDesktopDialog($clickItem) { var $clickItemCreate = $clickItem.closest('.amp-create-desktop'); $clickItemCreate.removeClass('amp-animate-move-top-in').addClass('amp-animate-move-top-out'); setTimeout(function() { $clickItemCreate.siblings('.ampDesktopAddFlag').removeClass('amp-btn-active'); $clickItemCreate.remove(); if ($(".empty-desktop-create") && $(".empty-desktop-create").length == 1) { $(".empty-desktop-create").removeClass('amp-btn-active'); } }, 250); } /** * 创建桌面弹框 保存按钮的操作 */ function saveCreateDesktopDialog($clickItem) { //判断文本框是否为空,如果为空则给出提示 var desktopVal = $('#ampCreateDesktopInput').val(); if (desktopVal) { var newDesktopName = desktopVal; var params = 'desktopName=' + encodeURI(newDesktopName); AmpDataUtils.desktopCreat(params, function(data) { //新增一个桌面 if (data.result == 'success') { cancelCreateDesktopDialog($clickItem); initNewDesktop(data, newDesktopName); var $canUse = $('#ampPersonalAsideLeftCanUseCards'); $('.amp-empty-page').remove(); $canUse.children().css('display', 'block'); $('#ampDesktopNav').find('.ampDesktopAddFlag').removeClass('amp-btn-active'); } else { var cnStr = '创建桌面失败'; if (AmpGlobal.currentLang == "en_US") { cnStr = $.i18n("failedToCreateADesktop"); } AmpPrompt.show({ content: cnStr }); } }); //诸葛io埋点 AmpUtils.zhuge("创建桌面", { "桌面名称": desktopVal, "来源": "点页面上方桌面名称后的+号" }); } else { } } /** * 桌面展示添加or拖拽的图标 */ personalCenter.setPcDesktopToolAddOrDrag = function(flag) { var $ampDesktopNav = $("#ampDesktopNav"); var $ampDesktopContent = $("#ampDesktopContent"); var ampDesktopId = $ampDesktopNav.find(".amp-active").attr('amp-desktop-id'); var $ampDesktopWidget = $ampDesktopContent.find('.amp-tab-content-item[amp-desktop-id="' + ampDesktopId + '"]'); if (!flag) { //drag $ampDesktopWidget.find('.amp-widget-add').addClass('amp-hide').removeClass('amp-animate-move-bottom-in'); $ampDesktopWidget.find('.amp-widget-drag').removeClass('amp-widget-drag-hide'); } else { // add $ampDesktopWidget.find('.amp-widget-add').removeClass('amp-hide').addClass('amp-animate-move-bottom-in'); $ampDesktopWidget.find('.amp-widget-drag').addClass('amp-widget-drag-hide'); } } // 增加桌面卡片的滚动支持 function setDesktopCardScroll() { var $desktopNav = $("#ampDesktopNav"); var $desktopContent = $("#ampDesktopContent"); var activeDesktopId = $desktopNav.find('.amp-active').attr('amp-desktop-id'); var $widgets = $desktopContent.children('[amp-desktop-id="' + activeDesktopId + '"]'); var $widgetList = $widgets.children(); $widgetList.each(function(index) { var $widgetItem = $(this); //重置卡片中的div上的滚动条 var $hasScrollBox = $widgetItem.find('div[has-scroll="true"]'); $hasScrollBox.each(function() { if ($(this).attr('has-scroll-show') == 'true') { AmpUtils.niceScrollShow($(this)); } else { AmpUtils.niceScrollInit($(this)); } }); //重置卡片的滚动条 if ($widgetItem.find('amp-w-frame').attr('has-scroll') === 'true') { AmpUtils.niceScrollInit($widgetItem.find('.amp-wf-body')); $widgetItem.find('.amp-wf-body').getNiceScroll().resize(); } }); } personalCenter.initSortingCards = function() { sortingWidget(); } personalCenter.setDesktopBlurHtm = function() { var count = parseInt($('#ampDesktopContent').width() / 540); var $desktopBlurItemsHtm = AmpTemplate.getDesktopBlurItemsHtm(count); $('#amp-desktopBlur').html($desktopBlurItemsHtm); } personalCenter.setCreateDesktopPosition = function() { //设置创建桌面弹框的位置 var $ampDesktopNavAddFlag = $('#ampDesktopNav').find('.ampDesktopAddFlag'); if ($ampDesktopNavAddFlag.length > 0) { var addBtnLeft = $ampDesktopNavAddFlag.offset().left - $('#ampPersonalAsideLeft').width() - 16; $('#ampAdminNewDesktop').css('left', '' + addBtnLeft + 'px'); } } personalCenter.openAsideBoxConfig = function() { var configVal = AMPConfigure.personalCenterAsideOpenConfig; var leftClick = $('#ampPersonalAsideLeftMini').find('.amp-aside-box-mini-item[amp-id="myFavorite"]'); var rightClick = $('#ampPersonalAsideRightMini').find('.amp-aside-box-mini-item[id="zqfwTask"]'); var leftAsideOpenFlag = localStorage.leftAsideOpenFlag != undefined ? localStorage.leftAsideOpenFlag : configVal.charAt(0); var rightAsideOpenFlag = localStorage.rightAsideOpenFlag != undefined ? localStorage.rightAsideOpenFlag : configVal.charAt(1); leftAsideOpenFlag = leftAsideOpenFlag == '' ? 0 : leftAsideOpenFlag; rightAsideOpenFlag = rightAsideOpenFlag == '' ? 0 : rightAsideOpenFlag; var openFlag = '' + leftAsideOpenFlag + rightAsideOpenFlag; var $asideLeft = $('#ampPersonalAsideLeft'); var $asideRight = $('#ampPersonalAsideRight'); if (openFlag == '01') { //右边打开 if ($asideRight.hasClass('amp-mini')) { rightClick.click(); } } else if (openFlag == '10') { //左边打开 //判断左边是否打开,如果未打开,则打开左侧边栏 if ($asideLeft.hasClass('amp-mini')) { leftClick.click(); } } else if (openFlag == '11') { //双打开 if ($asideRight.hasClass('amp-mini')) { //判断右边打开是否会遮住桌面卡片,如果遮住,就默认不打开右侧边栏 setTimeout(function() { var $desktopContent = $('#ampDesktopContent'); var desktopWidth = 540; //桌面最小的宽度 var windowWidth = $(window).width(); var leftWidth = desktopWidth + $desktopContent.offset().left; if ((windowWidth - leftWidth) > 312) { rightClick.click(); } }, 450); //延时是为了保证先打开左侧边栏再打开右侧边栏(按顺序打开) } if ($asideLeft.hasClass('amp-mini')) { leftClick.click(); } } } function hideProgressBar() { setTimeout(function() { localStorage.changeLanguageFlag = 'false'; $('#ampProgressBar').removeClass('amp-active').addClass('amp-hide'); }, 0); } /** * 定制方法的处理 * 重新排序桌面卡片的数据 * 局部干预 * 参数:desktopData 获取重新排序好的数据 */ function isHasSortDataCustom(desktopData) { var desktopDatas = desktopData; if (AmpIsPortalCustom.sortDesktopData && typeof(AmpIsPortalCustom.sortDesktopData) == 'function') { desktopDatas = AmpIsPortalCustom.sortDesktopData(desktopData); } return desktopDatas; } /** * [isHasOverallInte 桌面整体干预方法] * @param {[type]} data [桌面查询出来的数据] * @return {Boolean} [true false] */ function isHasOverallInte(data) { if (AmpIsPortalCustom.desktopOverallInte && typeof(AmpIsPortalCustom.desktopOverallInte) == 'function') { //表示存在整体干预 AmpIsPortalCustom.desktopOverallInte(data); checkLoadReadyHandle(); return false; } return true; } /** * 个人中心页面加载完成的回调 * @return {Boolean} [description] */ function isHasOperatePageFunc() { if (AmpIsPortalCustom.personalCenterCallback && typeof(AmpIsPortalCustom.personalCenterCallback) == 'function') { AmpIsPortalCustom.personalCenterCallback(); return true; } return false; } /** * 设置个人中心第一个定制的桌面居中显示 * @param {[type]} position [位置] * @param {[type]} type [类型] */ personalCenter.setCustomDesktopCenter = function(position, type) { var $desktopNav = $('#ampDesktopNav'); var hasFirstDesktopFlag = $desktopNav.find('.amp-tab-item:first').hasClass('amp-active'); position = position == undefined ? 'left' : position; if (type == undefined) { if (localStorage.leftAsideOpenFlag == '1') { type = 'normal'; } else { type = 'mini'; } } //判断是否是定制的桌面 if (typeof(AMPConfigure.desktop_custom) != "undefined" && AMPConfigure.desktop_custom.pccard_customization && hasFirstDesktopFlag) { //判断是否是桌面定制,如果是定制,去掉首页的添加工具卡片 cardWidth = getCustomCardWidth(); AmpDesktopCommon.setDesktopWidth(position, type, cardWidth); } else { AmpDesktopCommon.setDesktopWidth(position, type); } } /** * 获取定制卡片的宽度 */ function getCustomCardWidth() { var cardWidth = 540; // 默认卡片的宽度为540 //判断是否有定制卡片的宽度 if (AmpIsPortalCustom.setCustomCardWidth && typeof(AmpIsPortalCustom.setCustomCardWidth) == 'function') { cardWidth = AmpIsPortalCustom.setCustomCardWidth(); } return cardWidth; } function showOrHideTool() { var $desktopContent = $('#ampDesktopContent'); var $desktopNav = $('#ampDesktopNav'); var activeDesktopId = $desktopNav.find('.amp-active').attr('amp-desktop-id'); var $widgets = $desktopContent.children('[amp-desktop-id="' + activeDesktopId + '"]'); var $widgetList = $widgets.children(); var $amptool = $widgets.find('.amp-desktop-tool'); if ($widgetList.length > 2) { $amptool.addClass('amp-tool-hide'); } else { $amptool.removeClass('amp-tool-hide'); } } })(window.AmpPersonalCenter = window.AmpPersonalCenter || {}); ; (function(rightAside, undefined) { rightAside.space = { clickMiNiTab: null, //拓展项数据 //控制多次加载数据 lazyComplete: true, loadingCount: 0 }; /** * 点击mini条,激活对应的tab */ $('#ampPersonalAsideRightMini').on('click', '.amp-aside-box-mini-item', function() { localStorage.rightAsideOpenFlag = '1'; var clickMiNiTab = $(this).attr('id'); rightAside.space.clickMiNiTab = clickMiNiTab; changeActiveTab($(this)); // AmpDesktopCommon.setDesktopWidth('right', 'normal'); AmpPersonalCenter.setCustomDesktopCenter('right', 'normal'); setTimeout(function() { if (AmpGlobal.platformType != '0') { AmpPersonalCenter.showRecommendCrad(); AmpPersonalCenter.setCreateDesktopPosition(); } //桌面切断的处理 AmpPersonalCenter.setDesktopBlurHtm(); //当前桌面是否需要显示管理员新增桌面提醒 AmpPersonalCenter.showAdminNewDesktop(); }, 750); }); /** * 点击tab时 */ $('#ampPersonalAsideRightTabHead').on('click', '.amp-tab-item', function() { var $item = $(this); //设置任务中心和消息中心的总数量 setTotalCount(); asideRightTabChange($item); //诸葛io埋点 var toShowHeadId = $item.attr('amp-id'); if (toShowHeadId === 'message') { AmpUtils.zhuge("查看未读消息", {}); } else { AmpUtils.zhuge("打开任务中心", {}); } }); /** * 点击arrow箭头展开收缩 */ $('#ampPersonalAsideRightTask').on('click', '.amp-personal-aside-right-task-item', function() { localStorage.rightAsideOpenFlag = '0'; changeTaskExpandCollapse($(this)); }); //点击收缩按钮 $('#ampPersonalAsideRightClose').on('click', function() { localStorage.rightAsideOpenFlag = '0'; if (navigator.userAgent.indexOf("MSIE 9.0") > 0) { setTimeout(function() { // AmpDesktopCommon.setDesktopWidth('right', 'mini'); AmpPersonalCenter.setCustomDesktopCenter('right', 'mini'); }, 450); } else { //AmpDesktopCommon.setDesktopWidth('right', 'mini'); AmpPersonalCenter.setCustomDesktopCenter('right', 'mini'); } setTimeout(function() { if (AmpGlobal.platformType != '0') { AmpPersonalCenter.showRecommendCrad(); AmpPersonalCenter.setCreateDesktopPosition(); } //桌面切断的处理 AmpPersonalCenter.setDesktopBlurHtm(); //当前桌面是否需要显示管理员新增桌面提醒 AmpPersonalCenter.showAdminNewDesktop(); }, 750); }); //待办事项、流程跟踪 查看更多 $('#ampPersonalAsideRightTask').on('click', '.right-side-do-more', function() { var $asideRightMore = $(this).parent(); var _asideRightId = $asideRightMore.attr('id'); if (_asideRightId == 'ampPersonalAsideRightLcgzTaskItem') { window.open(AMPConstant.taskCenterRequestPath + 'sys/taskCenter/*default/index.do#/processTrack', '_blank'); } else if (_asideRightId == 'ampPersonalAsideRightDbTaskItem') { window.open(AMPConstant.taskCenterRequestPath + 'sys/taskCenter/*default/index.do#/todoTask', '_blank'); } }); $('#ampPersonalAsideRightTask').on('click', '.amp-card-service-item', function(e) { var $target = $(e.target); var targetId = $target.closest('.amp-personal-aside-right-task-item-content').attr('id'); if ($target.closest('.view-comment').length) { viewComment($target); } else if ($target.closest('.check-flow').length) { viewFlowChart($target); } else { if (targetId !== 'ampPersonalAsideRightZqfwTaskItem') { var $target_procee_item = $target.closest('.aside-process-item'); var url = $target_procee_item.attr('url'); var APP_ID = $target_procee_item.attr('appid'); var TASK_ID = $target_procee_item.attr('taskid'); if (url && url != 'undefined' && url != 'null') { window.open(url, '_blank'); if ($target_procee_item.closest('.amp-personal-aside-right-task-item-content').attr('id') == 'ampPersonalAsideRightDbTaskItem') { var params = {}; params.APP_ID = APP_ID; params.TASK_ID = TASK_ID; AmpDataUtils.updateReceiveDate(params, function(resp) {}); } } } } }); lazyLoad(); function asideRightTabChange($item) { if ($item.hasClass('amp-active')) { if (rightAside.space.clickMiNiTab != undefined && rightAside.space.clickMiNiTab != null) { if (!hasAlreadyExpand($('.ampTaskArrowFlag[amp-id="' + rightAside.space.clickMiNiTab + '"]'))) { changeTaskExpandCollapse($('.ampTaskArrowFlag[amp-id="' + rightAside.space.clickMiNiTab + '"]')); } } return; } var toShowHeadId = $item.attr('amp-id'); var $container = $item.closest('.amp-tab'); var $content = $container.find('.amp-tab-content'); var $toHideHeadItem = $container.find('.amp-tab-item.amp-active'); var toHideHeadId = $toHideHeadItem.attr('amp-id'); $toHideHeadItem.removeClass('amp-active'); $content.children('[amp-id="' + toHideHeadId + '"]').addClass('amp-hide'); $item.addClass('amp-active'); $content.children('[amp-id="' + toShowHeadId + '"]').removeClass('amp-hide'); if (toShowHeadId === 'message') { showMessageContent() $('#ampPersonalAsideRightTask').css('display', 'none'); $('#ampPersonalAsideRightMessage').css('display', 'block'); AmpUtils.setScroll($('#ampTagMessages'), 1); } else { showTaskContent(); $('#ampPersonalAsideRightTask').css('display', 'block'); $('#ampPersonalAsideRightMessage').css('display', 'none'); if (rightAside.space.clickMiNiTab != undefined && rightAside.space.clickMiNiTab != null) { if (!hasAlreadyExpand($('.ampTaskArrowFlag[amp-id="' + rightAside.space.clickMiNiTab + '"]'))) { changeTaskExpandCollapse($('.ampTaskArrowFlag[amp-id="' + rightAside.space.clickMiNiTab + '"]')); } } AmpUtils.setScroll($('#ampPersonalAsideRightTask'), 1); //如果数据为空,则显示空页面 var taskSumCount = parseInt($.trim($('#taskSumCount').text())) == '' ? 0 : $.trim($('#taskSumCount').text()); if (!taskSumCount) { //如果 任务中心没数据,则在周期服务的下面显示空页面 没有向下点击的箭头提示 $('#ampTaskEmptyPage').removeClass('amp-hide'); $('#ampPersonalAsideRightTask').find('.ampTaskArrowFlag').remove(); } } } /** *判断点击的tab页是否已经打开,如果已经打开,则忽略 */ function hasAlreadyExpand($clickItem) { var flag = false; var $clickItem = $clickItem; var $taskBox = $clickItem.closest('div.amp-personal-aside-right-task-box'); var $taskBoxContent = $taskBox.find('.amp-personal-aside-right-task-item-content'); if (!$taskBoxContent.hasClass('amp-hide')) { flag = true; } return flag; } /** * 展示点击的mini tab下的数据 * @return {[type]} [description] */ function showTaskContent() { // if (rightAside.space.loadingCount !== 0) { // return; // } var flag; var hasAsideFlag = AmpPersonalCenter.space.hasRightSideData; var $ampPersonalAsideRightTask = $('#ampPersonalAsideRightTask'); if (hasAsideFlag) { $ampPersonalAsideRightTask.find('.hasAsideRIghtFlag').removeClass('amp-hide'); var refresh_time = parent.window.AMPConfigure.taskcenterDataRefreshTime || 1; //分钟 var time = parseInt(refresh_time) * 60000; refreshTask(true); window.setInterval(function() { //从缓存读取数据 refreshTask(false); }, time); // AmpDataUtils.getTaskDbLcData('1', function(data) { //加载待办任务 // flag = '1'; // showTaskItemHtml(data, flag); // rightAside.space.loadingCount++; // }); // AmpDataUtils.getTaskDbLcData('3', function(data) { //加载流程跟踪 // flag = '3'; // showTaskItemHtml(data, flag); // rightAside.space.loadingCount++; // }); } else { //隐藏待办任务和流程跟踪的tab页 $ampPersonalAsideRightTask.find('.hasAsideRIghtFlag').addClass('amp-hide'); } //周期服务传默认值 var params = {}; params.pageNumber = '1'; params.pageSize = '20'; AmpDataUtils.getTaskZqfwData(params, function(data) { //加载周期服务数据 showTaskZqfwItemHtml(data); // rightAside.space.loadingCount++; }); } function refreshTask(refresh_flag) { //flag 为false 自动刷新 var datas = JSON.parse(sessionStorage.getItem('ampTaskCenterDatas')); var dbdata = datas.queryTodoTask; var lcgzdata = datas.queryProcessTrack; showTaskItemHtml(dbdata, '1', refresh_flag); showTaskItemHtml(lcgzdata, '3', refresh_flag); } function showMessageContent() { var $ampTagMessages = $('#ampTagMessages'); if ($.trim($ampTagMessages.html()).length === 0) { AmpMessage.show(); } } //刷新消息 /** * 点击mini条,激活对应的tab * @param $item 被点击的节点 */ function changeActiveTab($item) { var type = $item.attr('amp-id'); $('#ampPersonalAsideRightMini').find('.amp-active').removeClass('amp-active'); $('#ampPersonalAsideRightTabHead').find('[amp-id="' + type + '"]').click(); var asideRight = $('#ampPersonalAsideRight'); if (type == 'message') { // ie9以上使用动画事件判断是否显示完成 asideRight.off('animationend').on('animationend', function() { AmpUtils.setScroll($('#ampTagMessages'), 1); //动画完成启动刷新消息 }); $('#ampPersonalAsideRightTask').css('display', 'none'); $('#ampPersonalAsideRightMessage').css('display', 'block'); // ie9 使用其他方法 AmpUtils.checkEvent(function() { return $('#ampPersonalAsideRightMessage').offset().left > 0; }, function() { AmpUtils.setScroll($('#ampTagMessages'), 1); }); } else if (type == 'task') { asideRight.off('animationend').on('animationend', function() { AmpUtils.setScroll($('#ampPersonalAsideRightTask'), 1); }); $('#ampPersonalAsideRightTask').css('display', 'block'); $('#ampPersonalAsideRightMessage').css('display', 'none'); AmpUtils.checkEvent(function() { return $('#ampPersonalAsideRightTask').offset().left > 0; }, function() { AmpUtils.setScroll($('#ampPersonalAsideRightTask'), 1); }); } } function setTotalCount() { var refresh_time = parent.window.AMPConfigure.taskcenterDataRefreshTime || 1; //分钟 var time = parseInt(refresh_time) * 60000; refreshTaskTabCount(); window.setInterval(function() { refreshTaskTabCount(); }, time); } function refreshTaskTabCount() { var $taskSumCount = $('#taskSumCount'); //从缓存读取数据 var taskCount = sessionStorage.getItem('taskCount'); var zqfwCount = sessionStorage.getItem('zqfwCount'); var t_count = parseInt(taskCount) + parseInt(zqfwCount); if (parseInt(t_count) != '0') { $taskSumCount.text(t_count); //判断如果待办数据不为0 则显示红色提醒的角标 if (parseInt($taskSumCount.text())) { $('#ampPersonalAsideRightTabHead [amp-id="task"]').find('.amp-red-corner').removeClass('amp-hide'); } } } /** * 加载侧边栏的数据 * @param {[type]} data [description] * @return {[type]} [description] */ function showTaskItemHtml(data, flag, refresh_flag) { taskData = data.taskData; taskDataTotal = data.taskDataTotal; var remainTotal = 0; var taskHtml = ''; var moreHtml = ''; if (taskData) { remainTotal = taskDataTotal - taskData.length; for (var i = 0; i < taskData.length; i++) { taskHtml += AmpTemplate.getAsideRightTaskItem(taskData[i], flag); } } if (flag == '1') { //代办 //更多的数据 var cnStr = '打开待办事项>'; var seeMore = '查看更多'; var item = '项'; if (AmpGlobal.currentLang == "en_US") { cnStr = $.i18n("openTodoList"); seeMore = $.i18n("seeMore"); item = $.i18n("itemCard"); } if (taskDataTotal < 6) { moreHtml = $('#tpl-aside-right-process-item-open').html().replace('@text', cnStr); } else { moreHtml = $('#tpl-aside-right-process-item-more').html() .replace('@total', remainTotal) .replace('@seeMore', seeMore) .replace('@item', item); } $('#ampPersonalAsideRightDbTaskItem').html(taskHtml + moreHtml); $('#dbTaskCountTotal').text(taskDataTotal); //设置待办任务的高度 var dbContext_h = $(window).height() - 215; //内容区可展示的最大高度 if ((taskDataTotal * 70 + 30) > dbContext_h) { $('#ampPersonalAsideRightDbTaskItem').css('height', dbContext_h); $('#ampPersonalAsideRightDbTaskItem').niceScroll(); } } else if (flag == '3') { var cnStr = '打开流程跟踪>'; var seeMore = '查看更多'; var item = '项'; if (AmpGlobal.currentLang == "en_US") { cnStr = $.i18n("openProcessTracking"); seeMore = $.i18n("seeMore"); item = $.i18n("itemCard"); } if (taskDataTotal < 6) { moreHtml = $('#tpl-aside-right-process-item-open').html().replace('@text', cnStr); } else { moreHtml = $('#tpl-aside-right-process-item-more').html().replace('@total', remainTotal) .replace('@seeMore', seeMore) .replace('@item', item); } $('#ampPersonalAsideRightLcgzTaskItem').html(taskHtml + moreHtml); $('#lcgzTaskCountTotal').text(taskDataTotal); //设置我发起的高度 var fqContext_h = $(window).height() - 215; //内容区可展示的最大高度 if ((taskDataTotal * 70 + 30) > fqContext_h) { $('#ampPersonalAsideRightLcgzTaskItem').css('height', fqContext_h); $('#ampPersonalAsideRightLcgzTaskItem').niceScroll(); } } if (rightAside.space.clickMiNiTab != undefined && rightAside.space.clickMiNiTab != null) { if (!hasAlreadyExpand($('.ampTaskArrowFlag[amp-id="' + rightAside.space.clickMiNiTab + '"]'))) { if (refresh_flag) { changeTaskExpandCollapse($('.ampTaskArrowFlag[amp-id="' + rightAside.space.clickMiNiTab + '"]')); } } } } function showTaskZqfwItemHtml(data) { var $asideRightZqfwTaskItem = $('#ampPersonalAsideRightZqfwTaskItem'); var zqfwData = data.hasAndReadyToOpenServiceList; var totalSize = data.totalSize; var taskHtml = ''; if (zqfwData.length == 0) { if ($asideRightZqfwTaskItem.children().length == 0) { offLazyLoad(); //taskHtml = getEmptyHtml();//update by zff 2017-05-17 右侧边栏的任务中心会出现两个空页面故注释周期下面的空页面 } } else { if (zqfwData.length < 20 && zqfwData.length > 0) { offLazyLoad(); } if (zqfwData) { zqfwData.forEach(function(itemData) { taskHtml += AmpTemplate.getAsideRightTaskZqfwItem(itemData); }); } } // if ($asideRightZqfwTaskItem.children('.amp-personal-empty-page').length > 0) { $asideRightZqfwTaskItem.html(taskHtml); // } else { // $asideRightZqfwTaskItem.append(taskHtml); // } /* $('#ampPersonalAsideRightZqfwTaskItem').html(taskHtml);*/ $('#zqfwTaskCountTotal').text(totalSize); //设置周期服务的高度 var zqContext_h = $(window).height() - 215; //内容区可展示的最大高度 if ((zqfwData.length * 70 + 30) > zqContext_h) { $asideRightZqfwTaskItem.css('height', zqContext_h); $asideRightZqfwTaskItem.niceScroll(); } return; } /** * 空提示html */ function getEmptyHtml() { var emptyMessage = "享受轻松的时光吧~您没有任务"; if (AmpGlobal.currentLang == "en_US") { emptyMessage = $.i18n("enjoy") + "~" + $.i18n("noTask"); } return AmpTemplate.getPersonalAsideRightZqfwEmptyPage(emptyMessage); } /** * 打开任务中心下面的内容 * @param {[type]} $clickItem [description] * @return {[type]} [description] */ function changeTaskExpandCollapse($clickItem) { //统计任务中心的总数据 var ampzqfwTaskCount = $.trim($('#ampzqfwTaskCount').text()) == '' ? 0 : $.trim($('#ampzqfwTaskCount').text()); var ampDbTaskCount = $.trim($('#ampDbTaskCount').text()) == '' ? 0 : $.trim($('#ampDbTaskCount').text()); var ampLcgzTaskCount = $.trim($('#ampLcgzTaskCount').text()) == '' ? 0 : $.trim($('#ampLcgzTaskCount').text()); var taskSumCount = parseInt(ampzqfwTaskCount) + parseInt(ampDbTaskCount) + parseInt(ampLcgzTaskCount); if (!taskSumCount) { //如果 任务中心没数据,则在周期服务的下面显示空页面 没有向下点击的箭头提示 $('#ampTaskEmptyPage').removeClass('amp-hide'); $('#ampPersonalAsideRightTask').find('.ampTaskArrowFlag').remove(); } else { //如果任务中心有一个卡片有数据,则空页面不显示,打开任务中心的提示显示出来 var $clickItem = $clickItem; var $taskBox = $clickItem.closest('div.amp-personal-aside-right-task-box'); var $taskBoxContent = $taskBox.find('.amp-personal-aside-right-task-item-content'); if ($taskBoxContent.children().length == 0 && $taskBox.find('.ampPersonalAsideRightZqfwTaskItemFlag').length == 0) { return; } if ($taskBoxContent.hasClass('amp-hide')) { $taskBoxContent.slideDown(500); $taskBoxContent.removeClass('amp-hide').addClass('amp-active'); $taskBox.addClass('amp-aside-right-box-expand'); } else { $taskBoxContent.slideUp(500, function() { $taskBoxContent.addClass('amp-hide').removeClass('amp-active'); }); $taskBox.removeClass('amp-aside-right-box-expand'); } var $siblingsTaskItemContent = $taskBox.siblings('.amp-personal-aside-right-task-box').find('.amp-personal-aside-right-task-item-content'); $siblingsTaskItemContent.each(function() { $(this).slideUp(500, function() { $taskBox.siblings('.amp-personal-aside-right-task-box').removeClass('amp-aside-right-box-expand'); $(this).addClass('amp-hide'); $(this).hide(); }); }); } } function viewFlowChart($target) { var $target = $target; var appId = $target.attr('appId'); var processIntanceId = $target.attr('processIntanceId'); var url = parent.window.AMPConstant.taskCenterRequestPath + 'sys/taskCenter/*default/index.do?min=1#/flowChart/' + appId + '/' + processIntanceId; window.open(url, '_blank'); } function viewComment($target) { var appId = $target.attr('appId'); var processIntanceId = $target.attr('processIntanceId'); var url = AMPConstant.taskCenterRequestPath + 'sys/taskCenter/*default/index.do?min=1#/flowComments/' + appId + '/' + processIntanceId; var cnStr = '查看办理意见'; if (AmpGlobal.currentLang == "en_US") { cnStr = $.i18n("checkAdvice"); } window.AmpDialog({ title: cnStr, height: 500, remote: { url: url } }); } /** * 周期服务的懒加载 */ function lazyLoad() { $("#ampPersonalAsideRightTask").on('scroll', function() { var $item = $(this); var $zqfwTask = $('#ampPersonalAsideRightZqfwTaskItem'), viewH = $item.height(), //可见高度 contentH = $item.get(0).scrollHeight, //内容高度 scrollTop = $item.scrollTop(); //滚动高度 if (contentH - viewH - scrollTop - 110 <= 0) { //到达底部100px时,加载新内容 //等数据加载完才能继续加载下20条数据 var alreadyLoadMessageCount = $zqfwTask.children().length; if (rightAside.space.lazyComplete) { var params = {}; params.pageNumber = '' + parseInt((alreadyLoadMessageCount / 20) + 1) + ''; params.pageSize = '20'; getNextZqfwData(params); } } }); } function getNextZqfwData(params) { rightAside.space.lazyComplete = false AmpDataUtils.getTaskZqfwData(params, function(data) { showTaskZqfwItemHtml(data); rightAside.space.lazyComplete = true; }); } /* function showZqfw(data) { var zqfwData = data.hasAndReadyToOpenServiceList; var totalSize = data.totalSize; var taskHtml = ''; if (zqfwData.length == 0) {) { offLazyLoad(); } else { if (zqfwData) { zqfwData.forEach(function(itemData) { taskHtml += AmpTemplate.getAsideRightTaskZqfwItem(itemData); }); } } $('#ampPersonalAsideRightZqfwTaskItem').append(taskHtml); }*/ /** * 取消懒加载事件监听 */ function offLazyLoad() { $("#ampPersonalAsideRightTask").off('scroll'); } })(window.AmpPersonalRightAside = window.AmpPersonalRightAside || {}); ; (function(rightCard, undefined) { /** * 显示侧边栏卡片 */ /* rightCard.showCard = function() { AmpDataUtils.getAsideWidgetsData(function(data) { showAsideWidgets(data); }); };*/ /** * 显示侧边栏的widget * @param data */ /* function showAsideWidgets(data) { var data = data.taskSideCard; if (data) { var dataLen = data.length; if (dataLen > 0) { var normalWidgetsHtml = ''; for (var i = 0; i < dataLen; i++) { var widgetItem = data[i]; var widgetId = widgetItem.cardId; var appId = widgetItem.appId; var cardId = widgetItem.cardId; AmpUtils.loadWidgetComponentHtml(appId, cardId, function(loadWidgetId) { AmpWidgetUtils.loadWidgetComplete(loadWidgetId, 'aside'); }); normalWidgetsHtml += AmpTemplate.getWidgetAsideNormalItemHtml(widgetId); } var $ampPersonalAsideRightTask = $('#ampPersonalAsideRightTask'); $ampPersonalAsideRightTask.html(normalWidgetsHtml); AmpWidgetUtils.addLoadingToWidget($ampPersonalAsideRightTask); } } }*/ })(window.AmpRightAsideCard = window.AmpRightAsideCard || {}); ;(function(utils, undefined) { /** * 单个widget加载完成的处理 * @param widgetId * @param loadType aside,main */ utils.loadWidgetComplete = function (widgetId, loadType) { loadWidgetComplete(widgetId, loadType) }; /** * 给widget添加loading * @param $container widget外框节点 */ utils.addLoadingToWidget = function ($container) { addLoadingToWidget($container); }; /** * 单个widget加载完成的回调 * @param widgetId * @param loadType main主区域,aside侧边栏 */ function loadWidgetComplete(widgetId, loadType) { $('body').find(widgetId).each(function() { var $widgetParent = $(this).parent(); $widgetParent.addClass('ampLoadingCompleteFlag'); AmpLoading.close({ container: $widgetParent }); }); } function addLoadingToWidget($container) { $container.find('div.amp-widget:not(.ampLoadingCompleteFlag)').each(function() { var $widget = $(this); if ($widget.hasClass('ampEmptyWidgetPlaceholderFlag')) { return; } if ($widget.children().children().length === 0) { AmpLoading.show({ type: 'breath', container: $widget, customClass: 'amp-border-radios-12' }); } }); } })(window.AmpWidgetUtils = window.AmpWidgetUtils || {}); /** * 桌面共通的js 方法 */ ; (function(desktopCommon, undefined) { desktopCommon.space = { leftAsideWidth: 416 + 20, //20是收缩按钮宽度 leftAsideMiniWidth: 60, rightAsideWidth: 312 + 20, rightAsideMiniWidth: 60, widgetWidth: 540 + 16 //16是widget的间距 }; desktopCommon.setDesktopWidth = function(position, type, cardWidth) { if (typeof cardWidth != 'undefined') { desktopCommon.space.widgetWidth = cardWidth + 16; } else { desktopCommon.space.widgetWidth = 540 + 16; } setDesktopWidth(position, type); }; /** * 设置桌面的宽度 * @param position 操作的侧边栏,left,right * @param toActive 变化的动作,mini,normal */ function setDesktopWidth(position, toActive) { var options = desktopCommon.space; var leftAsideWidth = options.leftAsideWidth; var leftMiniWidth = options.leftAsideMiniWidth; var rightAsideWidth = options.rightAsideWidth; var rightAsideMiniWidth = options.rightAsideMiniWidth; var windowWidth = window.innerWidth; var $desktop = $('#ampPersonalMainWidgetSection'); var leftAsideState = $desktop.attr('amp-left-state'); var rightAsideState = $desktop.attr('amp-right-state'); var width = 0; var left = 0; //当左右侧边栏可同时展开时,要收缩的侧边栏 var tooMiniAside = ''; //操作左侧栏 if (position === 'left') { //左侧栏收缩 if (toActive === 'mini') { //右侧栏是展开状态 if (rightAsideState === 'normal') { left = leftMiniWidth; width = windowWidth - leftMiniWidth - rightAsideWidth; } //左侧栏展开 } else { left = leftAsideWidth; //右侧栏是收缩状态 if (rightAsideState === 'mini') { width = windowWidth - leftAsideWidth - rightAsideMiniWidth; //右侧栏是展开状态 } else { //当左右侧边栏可同时展开时 if (checkAllAsideCanShow(windowWidth)) { width = windowWidth - leftAsideWidth - rightAsideWidth; //当左右侧边栏不能同时展开时 } else { tooMiniAside = 'right'; width = windowWidth - leftAsideWidth - rightAsideMiniWidth; } } } //操作右侧栏 } else { //右侧栏收缩 if (toActive === 'mini') { //左侧栏是展开状态 if (leftAsideState === 'normal') { left = leftAsideWidth; width = windowWidth - leftAsideWidth - rightAsideMiniWidth; } //右侧栏展开 } else { //左侧栏是收缩状态 if (leftAsideState === 'mini') { left = leftMiniWidth; width = windowWidth - leftMiniWidth - rightAsideWidth; //左侧栏是展开状态 } else { //当左右侧边栏可同时展开时 if (checkAllAsideCanShow(windowWidth)) { left = leftAsideWidth; width = windowWidth - leftAsideWidth - rightAsideWidth; //当左右侧边栏不能同时展开时 } else { left = leftMiniWidth; tooMiniAside = 'left'; width = windowWidth - leftMiniWidth - rightAsideWidth; } } } } //设置桌面的左边距 var desktopPaddingLeft = getDesktopPaddingLeft(windowWidth, width); if (tooMiniAside === 'left') { $('#ampPersonalAsideLeft').addClass('amp-mini'); $desktop.attr('amp-left-state', 'mini'); } else if (tooMiniAside === 'right') { $('#ampPersonalAsideRight').addClass('amp-mini'); $desktop.attr('amp-right-state', 'mini'); } //当左右都是收缩状态时 if (width === 0 && left === 0) { $desktop.removeAttr('style'); } else { $desktop.css({ 'left': left + 'px', 'width': width + 'px' }); } // $desktop.css({'padding-left': desktopPaddingLeft+'px'}).attr('amp-'+position+'-state', toActive); $desktop.attr('amp-' + position + '-state', toActive); $('#ampDesktopNav').css({ 'padding-left': desktopPaddingLeft + 'px' }); $('#ampDesktopContent').css({ 'padding-left': desktopPaddingLeft + 'px' }).getNiceScroll().resize(); } /** * 判断左右侧边栏是否可同时展开 * @param windowWidth * @returns {boolean} */ function checkAllAsideCanShow(windowWidth) { var flag = true; var options = desktopCommon.space; var leftAsideWidth = options.leftAsideWidth; var rightAsideWidth = options.rightAsideWidth; var widgetWidth = options.widgetWidth; if (windowWidth - leftAsideWidth - rightAsideWidth < widgetWidth) { flag = false; } return flag; } /** * 获取桌面tab的左边距 * @param windowWidth * @param desktopWidth * @returns {number} */ function getDesktopPaddingLeft(windowWidth, desktopWidth) { var options = desktopCommon.space; var leftMiniWidth = options.leftAsideMiniWidth; var rightAsideMiniWidth = options.rightAsideMiniWidth; //当desktopWidth为0,说明两个侧边栏都是mini状态 if (!desktopWidth) { desktopWidth = windowWidth - leftMiniWidth - rightAsideMiniWidth - 16; } var widgetWidth = options.widgetWidth; var widgetCount = parseInt(desktopWidth / widgetWidth, 10); var allWidgetWidth = widgetWidth * widgetCount; var paddingLeft = parseInt((desktopWidth - allWidgetWidth) / 2, 10); return paddingLeft + 8; //8是widget间的间距的一半 } })(window.AmpDesktopCommon = window.AmpDesktopCommon || {}); /*; (function(desktopSet, undefined) { })(window.AmpDesktopSet = window.AmpDesktopSet || {});*/ ; (function(desktopSet, undefined) { desktopSet.space = { inputLockFlag: false }; /** * 初始化 */ desktopSet.init = function(option) { getDesktopList(); }; /** * 获取桌面列表内容 * @returns {object} */ function getDesktopList() { AmpDataUtils.getUserDesktopProperty(function(data) { var html = initHtml(data); $('body').append(html); setTimeout(function() { initFunctions(); }, 10); }); } function initHtml(data) { var desktopListData = {}; var desktopList = data.desktopUserConfList; var desktopListLen = parseInt(desktopList.length, 10); var desktopListHtml = ''; var userDesktopLen = 0; var ie10flag = false; var OsObject = window.navigator.userAgent; if (!!window.ActiveXObject || "ActiveXObject" in window) { if (OsObject.indexOf("MSIE") > 0) { var version = OsObject.match(/MSIE \d+/i); var versionNum = version[0].match(/\d+/i); if (parseInt(versionNum) <= 10) { ie10flag = true; } } } if (desktopList !== null || desktopListLen !== 0) { for (var i = 0; i < desktopListLen; i++) { var desktopId = desktopList[i].desktopId; var desktopName = desktopList[i].desktopName; var desktopType = desktopList[i].desktopType; if (desktopType == '1') { //表示是用户桌面 userDesktopLen++; } var isDelete = desktopList[i].isDelete; var isReset = desktopList[i].isReset; var desktopSeq = desktopList[i].desktopSeq; var hasDelClass = isDelete == 0 ? 'set-shanchu' : ''; var hasResetClass = isReset == 0 ? 'set-refresh' : ''; //判断是否是默认桌面,如果是默认桌面则后面会显示(默认桌面) var defaultDesktopMessage = ''; if (!desktopType) { var cnStr = '默认桌面 '; if (AmpGlobal.currentLang == "en_US") { cnStr = $.i18n("defaultDesktop"); } defaultDesktopMessage = '( ' + cnStr + ')'; } var recoverStr = "重置"; var deleteStr = "删除"; var desktopLength = "8"; var rightNumClass = ""; var textPaddingRight = "padding-right-55"; if (AmpGlobal.currentLang == "en_US") { recoverStr = $.i18n("recover"); deleteStr = $.i18n("delete"); desktopLength = $.i18n("desktopLength"); if (ie10flag) { rightNumClass = "right-45"; textPaddingRight = ""; } } desktopListHtml += $('#tpl-desktop-set-container').html() .replace('@desktopId', desktopId) .replace('@desktopName', desktopName) .replace('@desktopType', desktopType) .replace('@setRefresh', hasResetClass) .replace('@setShanchu', hasDelClass) .replace('@desktopSeq', desktopSeq) .replace('@defaultDesktopMessage', defaultDesktopMessage) .replace("@recover", recoverStr) .replace("@delete", deleteStr) .replace("@desktopLength", desktopLength) .replace("@desktopLength", desktopLength) .replace("@rightNumClass", rightNumClass) .replace("@textPaddingRight", textPaddingRight); } } var desktopListCount = desktopListLen; var desktopListHtml = desktopListHtml; var newDesktop = "新建的桌面"; var desktopSettings = "桌面设置"; var aTotalOf = "共 "; var desktops = " /3个自建桌面"; var complete = "完成"; var saveDesktop = "保存该桌面?"; var create = "新建"; var desktopLength = "8"; var rightNumClass = ""; var textPaddingRight = "padding-right-55"; if (AmpGlobal.currentLang == "en_US") { newDesktop = $.i18n("newDesktop"); desktopSettings = $.i18n("desktopSettings"); aTotalOf = $.i18n("desktopSettingPre"); desktops = $.i18n("desktopSettingEnd"); complete = $.i18n("complete"); saveDesktop = $.i18n("saveDesktop"); create = $.i18n("create"); desktopLength = $.i18n("desktopLength"); if (ie10flag) { rightNumClass = "right-45"; textPaddingRight = ""; } } var deskopsetCreatHtml = $('#tpl-desktop-set-creat-container').html() .replace("@newDesktop", newDesktop) .replace("@create", create) .replace("@saveDesktop", saveDesktop) .replace("@desktopLength", desktopLength) .replace("@desktopLength", desktopLength) .replace("@rightNumClass", rightNumClass) .replace("@textPaddingRight", textPaddingRight); var html = $('#tpl-desktop-set-page').html() .replace('@desktopListCount', desktopListCount) .replace('@desktopListHtml', desktopListHtml) .replace('@deskopsetCreatHtml', deskopsetCreatHtml) .replace('@desktopSettings', desktopSettings) .replace('@aTotalOf', aTotalOf) .replace('@desktops', desktops) .replace('@complete', complete); return html; } /** * 对设置页面的美化及监听 */ function initFunctions() { $('.amp-desktop-set-wrap').addClass('amp-active'); //设置内容最大高度 desktopSet.setContainerMaxHeight(); //美化滚动条 AmpUtils.niceScrollInit($('.amp-desktop-set-container')); //拖动排序桌面 sortingDesktop(); //事件监听 eventsListen(); //判断当前新建桌面的按钮是否需要显示 isShowCreate(); } /** * 计算设置内容最大高度 */ desktopSet.setContainerMaxHeight = function() { //浏览器窗口高度 var screenHeight = $(window).height(); //桌面窗口最大高度 var blockMaxHeight = screenHeight - 44 - 60 * 2; //内容最大高度 var containerMaxHeight = blockMaxHeight - 90 - 104; $('#ampDesktopSet').find('.amp-desktop-set-container').css({ 'max-height': containerMaxHeight + 'px' }); } /** * 拖动桌面排序 */ function sortingDesktop() { var desktopList = Sortable.create(ampDesktopSortContainer, { handle: '.amp-desktop-set-drag-icon', animation: 150, filter: '.widget-del-btn', onEnd: function() { var desktopJson = ''; $('#ampDesktopSortContainer').find('.amp-desktop-set-list').each(function() { var $item = $(this); var desktopId = $item.attr('amp-desktop-id'); var desktopSeq = $item.index(); var desktopType = $item.attr('amp-desktop-type'); desktopJson += '{"desktopId":"' + desktopId + '","desktopSeq":"' + desktopSeq + '","desktopType":"' + desktopType + '"},'; }); desktopJson = desktopJson.substr(0, desktopJson.length - 1); desktopJson = '[' + desktopJson + ']'; AmpDataUtils.updateUserDesktopSeq(desktopJson, function(resp) { if (resp.result === 'success') { var cnStr = '排序成功'; if (AmpGlobal.currentLang == "en_US") { cnStr = $.i18n("sortedSuccessfully"); } AmpPrompt.show({ content: cnStr }); } }); //诸葛io埋点 AmpUtils.zhuge("桌面排序", {}); } }); } /** * 点击事件的处理 */ function eventsListen() { var $desktop = $('#ampDesktopSet'); //浏览器窗口高度改变 $(window).resize(function() { desktopSet.setContainerMaxHeight(); }); //点击关闭 $desktop.on('click', '.amp-desktop-set-close-icon,.amp-desktop-set-close-btn', function() { reFreshCenterPage(); }); //切换至编辑状态 $desktop.on('click', '.amp-desktop-set-list-name', function(e) { var $target = $(e.currentTarget); var $container = $target.siblings('.amp-desktop-set-list-input-container'); var val = $target.find('span.desktopName').text(); if (val == '') { var cnStr = '新建的桌面'; if (AmpGlobal.currentLang == "en_US") { cnStr = $.i18n("newDesktop"); } val = cnStr; } $target.hide().closest('.amp-desktop-set-list'); $container.show().find('.amp-desktop-set-list-input').attr("data-old-val",val); $container.show().find('.amp-desktop-set-list-input').val(val).focus(); calculateWords($container); }); $('.amp-desktop-set-list-input').on('input', function(e) { if (!desktopSet.space.inputLockFlag) { var $container = $(e.currentTarget).closest('.amp-desktop-set-list-input-container'); calculateWords($container); } }).on('compositionstart', function() { desktopSet.space.inputLockFlag = true; }).on('compositionend', function(e) { desktopSet.space.inputLockFlag = false; if (!desktopSet.space.inputLockFlag) { var $container = $(e.currentTarget).closest('.amp-desktop-set-list-input-container'); calculateWords($container); } }); //append html input事件失效的问题 $('#ampDesktopSortContainer').on('input', '.amp-desktop-set-list-input', function(e) { if (!desktopSet.space.inputLockFlag) { var $container = $(e.currentTarget).closest('.amp-desktop-set-list-input-container'); calculateWords($container); } }); /* $('#ampDesktopSortContainer').on('compositionstart', '.amp-desktop-set-list-input', function() { desktopSet.space.inputLockFlag = true; }); $('#ampDesktopSortContainer').on('compositionend', '.amp-desktop-set-list-input', function() { desktopSet.space.inputLockFlag = false; }); $('#ampDesktopSortContainer').on('input', '.amp-desktop-set-list-input', function() { if (!desktopSet.space.inputLockFlag) { var $container = $(e.currentTarget).closest('.amp-desktop-set-list-input-container'); calculateWords($container); } });*/ //失去焦点时保存 $desktop.on('blur', '.amp-desktop-set-list-input', function(e) { var $target = $(e.currentTarget); if ($target.closest('.amp-desktop-set-list').attr('id') == 'ampDesktopCreatContainer') { return false; } var desktopName = $target.val(); if ($.trim(desktopName) == '') { $target.focus(); var cnStr = '桌面不能为空'; if (AmpGlobal.currentLang == "en_US") { cnStr = $.i18n("cannotBeEmpty"); } AmpPrompt.show({ content: cnStr }); return false; } //判断如果是新建桌面的input框,则不处理 //判断如果是新建桌面的input框,则不处理 if ($target.attr('id') == 'ampdesktopSetCreateInput') { return false; } var data = {}; if (desktopName) { $target.closest('.amp-desktop-set-list').removeClass('amp-desktop-set-list-focus-bg'); $target.closest('.amp-desktop-set-list-input-container').hide().siblings('.amp-desktop-set-list-name').show().find('span.desktopName').text(desktopName); var desktopId = $target.closest('.amp-desktop-set-list').attr('amp-desktop-id'); var desktopType = $target.closest('.amp-desktop-set-list').attr('amp-desktop-type'); var target = '1'; //1 表示对桌面的重命名 var cnStr = '重命名成功'; if (AmpGlobal.currentLang == "en_US") { cnStr = $.i18n("renameSuccessfully"); } data.desktopName = desktopName; data.desktopId = desktopId; data.desktopType = desktopType; data.target = target; data.desc = cnStr; operateFunc(data, $target); //诸葛io埋点 AmpUtils.zhuge("修改桌面名称", {"桌面新名称": desktopName, "桌面旧名称": $target.attr("data-old-val")}); } }); //点击恢复图标 var deleteTip = '确认删除该桌面?'; var resetTip = '确认恢复默认配置?'; if (AmpGlobal.currentLang == "en_US") { deleteTip = $.i18n("confirmToDelete"); resetTip = $.i18n("confirmToRestore"); } $desktop.on('click', '.amp-desktop-set-restore-icon', function(e) { var $target = $(e.currentTarget); $target.closest('.amp-desktop-set-list').removeClass('amp-bg-color-primary-hover-lv4').addClass('amp-desktop-set-list-yellow-bg'); $target.closest('.amp-desktop-set-list-toolbar').addClass('hide').siblings('.amp-desktop-set-list-confirm').show().attr('amp-btn-role', 'restore'); $target.closest('.amp-desktop-set-list').find('.amp-desktop-set-list-confirm-text').text(resetTip); }); //点击删除图标 $desktop.on('click', '.amp-desktop-set-delete-icon', function(e) { var $target = $(e.currentTarget); $target.closest('.amp-desktop-set-list').removeClass('amp-bg-color-primary-hover-lv4').addClass('amp-desktop-set-list-yellow-bg'); $target.closest('.amp-desktop-set-list-toolbar').addClass('hide').siblings('.amp-desktop-set-list-confirm').show().attr('amp-btn-role', 'delete');; $target.closest('.amp-desktop-set-list').find('.amp-desktop-set-list-confirm-text').text(deleteTip); }); //点击取消按钮 $desktop.on('click', '.amp-cancel-btn', function(e) { var $target = $(e.currentTarget); $target.closest('.amp-desktop-set-list').removeClass('amp-desktop-set-list-yellow-bg').addClass('amp-bg-color-primary-hover-lv4'); $target.closest('.amp-desktop-set-list-confirm').hide().siblings('.amp-desktop-set-list-toolbar').removeClass('hide'); }); //点击确认按钮 $desktop.on('click', '.amp-confirm-btn', function(e) { var $target = $(e.currentTarget); var $list = $target.closest('.amp-desktop-set-list'); var desktopId = $list.attr('amp-desktop-id'); var role = $target.closest('.amp-desktop-set-list-confirm').attr('amp-btn-role'); var data = { desktopId: desktopId }; //确认删除 if (role === 'delete') { data.type = 'delete'; $list.remove(); var desktopCount = parseInt($('#ampDesktopSortContainer').find('.amp-desktop-set-list').length, 10); $('#desktopCount').text(desktopCount); var data = {}; var desktopName = $target.closest('.amp-desktop-set-list').find('.amp-desktop-set-list-name').find('span.desktopName').html(); var desktopId = $target.closest('.amp-desktop-set-list').attr('amp-desktop-id'); var desktopType = $target.closest('.amp-desktop-set-list').attr('amp-desktop-type'); var target = '3'; //3 表示对桌面的删除 var cnStr = '删除成功'; if (AmpGlobal.currentLang == "en_US") { cnStr = $.i18n("deletedSuccessfully"); } data.desktopName = desktopName; data.desktopId = desktopId; data.desktopType = desktopType; data.target = target; data.desc = cnStr; operateFunc(data, $target); //诸葛io埋点 AmpUtils.zhuge("删除桌面", {"桌面名称": desktopName}); } else { //确认恢复 $target.closest('.amp-desktop-set-list').removeClass('amp-desktop-set-list-yellow-bg').addClass('amp-bg-color-primary-hover-lv4'); $target.closest('.amp-desktop-set-list-confirm').hide().siblings('.amp-desktop-set-list-toolbar').removeClass('hide'); var data = {}; var desktopName = $target.closest('.amp-desktop-set-list').find('.amp-desktop-set-list-name').find('span.desktopName').html(); var desktopId = $target.closest('.amp-desktop-set-list').attr('amp-desktop-id'); var desktopType = $target.closest('.amp-desktop-set-list').attr('amp-desktop-type'); var target = '2'; //2 表示对桌面的恢复 var cnStr = '恢复成功'; if (AmpGlobal.currentLang == "en_US") { cnStr = $.i18n("recoveredSuccessfully"); } data.desktopName = desktopName; data.desktopId = desktopId; data.desktopType = desktopType; data.target = target; data.desc = cnStr; operateFunc(data, $target); //诸葛io埋点 AmpUtils.zhuge("恢复桌面默认设置", {"桌面名称": desktopName}); } }); //点击新建 $desktop.on('click', '.create', function(e) { /* var newDesktopName = "新建的桌面"; var params = 'desktopName=' + encodeURI(newDesktopName); AmpDataUtils.desktopCreat(params, function(data) { if (data.result == 'success') { // console.log('桌面创建成功!'); reFreshCenterPage(); } });*/ //2017-02-28 交互设计修改 var $target = $(e.currentTarget); $target.closest('.amp-desktop-set-list').removeClass('amp-bg-color-primary-hover-lv4').addClass('amp-desktop-set-list-yellow-bg'); $target.closest('.amp-desktop-set-list-center').find('.amp-desktop-set-list-name').hide().siblings('.amp-desktop-set-list-input-container').show(); $target.closest('.amp-desktop-set-list').find('.amp-desktop-set-list-confirm').show().attr('amp-btn-role', 'delete'); $('#ampdesktopSetCreateInput').focus(); }); // 点击新建中的取消按钮 $desktop.on('click', '.amp-create-cancel-btn', function(e) { var $target = $(e.currentTarget); $target.closest('.amp-desktop-set-list').removeClass('amp-desktop-set-list-yellow-bg').addClass('amp-bg-color-primary-hover-lv4'); $target.closest('.amp-desktop-set-list-confirm').hide().removeClass('hide'); $target.closest('.amp-desktop-set-list').find('.amp-desktop-set-list-center').find('.amp-desktop-set-list-name').show(); $target.closest('.amp-desktop-set-list').find('.amp-desktop-set-list-center').find('.amp-desktop-set-list-input-container').hide(); }); //点击新建中的保存按钮 $desktop.on('click', '.amp-create-save-btn', function(e) { saveCreateNewDesktop(); }); } /** * 计算输入框字数 */ function calculateWords($container) { var words = $container.find('.amp-desktop-set-list-input').val(); var len = parseInt(words.length, 10); $container.find('span[amp-input-role="actual"]').text(len); } /** * 对桌面 重命名、删除、恢复操作 */ function operateFunc(data, $target) { var desktopName = data.desktopName; var desktopId = data.desktopId; var desktopType = data.desktopType; var target = data.target; var desc = data.desc; var desktopUserEntityJson = '{"desktopName":"' + encodeURI(desktopName) + '","desktopId":"' + desktopId + '","desktopType":"' + parseInt(desktopType) + '","target":"' + target + '"}'; var params = 'desktopUserEntityJson=' + desktopUserEntityJson; AmpDataUtils.editDesktop(params, function(resp) { if (resp.result === 'success') { AmpPrompt.show({ content: desc }); //如果是恢复桌面,立即恢复桌面名称 if (target == '2') { $target.closest('.amp-desktop-set-list').find('.amp-desktop-set-list-name').find('span.desktopName').text(resp.desktopName); } } isShowCreate(); }); } function isShowCreate() { var $desktopSortContainer = $('#ampDesktopSortContainer'); var $desktopCreatContainer = $('#ampDesktopCreatContainer'); var desktopLen = $desktopSortContainer.children().filter('[amp-desktop-type="1"]').length; var cnStr = '共'; var cnStr2 = '/3个自建桌面'; var cnStr3 = "您的桌面数量已满"; if (AmpGlobal.currentLang == "en_US") { cnStr = $.i18n("desktopSettingPre"); cnStr2 = $.i18n("desktopSettingEnd"); cnStr3 = $.i18n("fullDesktopNum"); } if (desktopLen > 2) { $desktopCreatContainer.css('display', 'none'); $('.amp-desktop-set-subTitle').text(cnStr + '3' + cnStr2 + ',' + cnStr3); } else { $desktopCreatContainer.css('display', 'block'); $('.amp-desktop-set-subTitle').text(cnStr + desktopLen + cnStr2); $desktopCreatContainer.removeClass('amp-desktop-set-list-yellow-bg').addClass('amp-bg-color-primary-hover-lv4'); $desktopCreatContainer.find('.amp-desktop-set-list-confirm').hide().removeClass('hide'); $desktopCreatContainer.find('.amp-desktop-set-list-center').find('.amp-desktop-set-list-name').show(); $desktopCreatContainer.find('.amp-desktop-set-list-center').find('.amp-desktop-set-list-input-container').hide(); } } /** * 隐藏当前的页面,刷新主页面 */ function reFreshCenterPage() { var $wrap = $('.amp-desktop-set-wrap'); $wrap.removeClass('amp-active'); setTimeout(function() { //重新获取桌面数据 刷新桌面 AmpDataUtils.userDesktopInfo('', function(data) { AmpUtils.currentPageBlurAnimate('restore'); $wrap.remove(); //刷新页面 var $personalArticle = $('#ampPersonalArticle'); if (navigator.userAgent.indexOf("MSIE") > 0 || AmpUtils.isIE()) { if ($('#ampPageHeaderPersonalIcon').hasClass('amp-active')) { $personalArticle.addClass('amp-active').removeClass('amp-hide'); } } else { if ($('#ampPageHeaderPersonalIcon').hasClass('amp-active')) { $personalArticle.addClass('amp-active'); } } AmpPersonalCenter.getMainWidgetsData(data); AmpPersonalCenter.showCanUseCardEmptyPage(); setTimeout(function() { AmpPersonalCenter.initContainerLayout(); //如果桌面数为0 ,则主页面的桌面的nav左距离为0 }, 50); }); }, 450); } /** * 保存新创建的桌面 */ function saveCreateNewDesktop() { var desktopVal = $('#ampdesktopSetCreateInput').val(); if (desktopVal) { var newDesktopName = desktopVal; var params = 'desktopName=' + encodeURI(newDesktopName); AmpDataUtils.desktopCreat(params, function(data) { //新增一个桌面 if (data.result == 'success') { //创建桌面成功之后需要做两件事:2017-02-28 // 1.在设置列表中前端新增一个桌面列表 // 2.判断当前用户桌面是否已达到3个桌面,若已达到3个用户桌面,则新建按钮不显示,反之则显示新建按钮 // 在设置列表中前端新增一个桌面列表 addNewDesktopToSetLists(data, newDesktopName); } else { var cnStr = "创建桌面失败"; if (AmpGlobal.currentLang == "en_US") { cnStr = $.i18n("failedToCreateADesktop"); } AmpPrompt.show({ content: cnStr }); } }); //诸葛io埋点 AmpUtils.zhuge("创建桌面", {"桌面名称": desktopVal, "来源": "桌面设置界面中新建"}); } else { var cnStr = "请输入桌面名称"; if (AmpGlobal.currentLang == "en_US") { cnStr = $.i18n("enterDesttopName"); } AmpPrompt.show({ content: cnStr }); return; } } function addNewDesktopToSetLists(data, newDesktopName) { var ie10flag = false; var OsObject = window.navigator.userAgent; if (!!window.ActiveXObject || "ActiveXObject" in window) { if (OsObject.indexOf("MSIE") > 0) { var version = OsObject.match(/MSIE \d+/i); var versionNum = version[0].match(/\d+/i); if (parseInt(versionNum) <= 10) { ie10flag = true; } } } var desktopId = data.desktopId; var desktopName = newDesktopName; var desktopType = '1'; var isDelete = 1; var isReset = 0; var desktopSeq = '19'; var hasDelClass = isDelete == 0 ? 'set-shanchu' : ''; var hasResetClass = isReset == 0 ? 'set-refresh' : ''; //判断是否是默认桌面,如果是默认桌面则后面会显示(默认桌面) var defaultDesktopMessage = ''; var newDesktopListHtml = ''; var recoverStr = "保存"; var deleteStr = "删除"; var desktopLength = "8"; var rightNumClass = ""; var textPaddingRight = "padding-right-55"; if (AmpGlobal.currentLang == "en_US") { recoverStr = $.i18n("recover"); deleteStr = $.i18n("delete"); desktopLength = $.i18n("desktopLength"); if (ie10flag) { rightNumClass = "right-45"; textPaddingRight = ""; } } newDesktopListHtml = $('#tpl-desktop-set-container').html() .replace('@desktopId', desktopId) .replace('@desktopName', desktopName) .replace('@desktopType', desktopType) .replace('@setRefresh', hasResetClass) .replace('@setShanchu', hasDelClass) .replace('@desktopSeq', desktopSeq) .replace('@defaultDesktopMessage', defaultDesktopMessage) .replace("@recover", recoverStr) .replace("@delete", deleteStr) .replace("@desktopLength", desktopLength) .replace("@desktopLength", desktopLength) .replace("@rightNumClass", rightNumClass) .replace("@textPaddingRight", textPaddingRight); $('#ampDesktopSortContainer').append(newDesktopListHtml); //新建完之后,判断当前用户桌面是否已达到3个桌面,若已达到3个用户桌面,则新建按钮不显示,反之则显示新建按钮 isShowCreateBtn(); } /** * 判断当前用户桌面是否已达到3个桌面,若已达到3个用户桌面,则新建按钮不显示,反之则显示新建按钮 */ function isShowCreateBtn() { var $desktopSortContainer = $('#ampDesktopSortContainer'); var $desktopCreatContainer = $('#ampDesktopCreatContainer'); var userDesktopLen = $desktopSortContainer.find('.amp-desktop-set-list[amp-desktop-type="1"]').length; //重新设置桌面的小标题 var cnStr = '共'; var cnStr2 = '/3个自建桌面'; if (AmpGlobal.currentLang == "en_US") { cnStr = $.i18n("desktopSettingPre"); cnStr2 = $.i18n("desktopSettingEnd"); } $('.amp-desktop-set-subTitle').text(cnStr + userDesktopLen + cnStr2); if (userDesktopLen > 2) { //大于等于3 新建按钮不显示 $desktopCreatContainer.hide(); } else { //小于3 新建按钮显示 $desktopCreatContainer.removeClass('amp-desktop-set-list-yellow-bg').addClass('amp-bg-color-primary-hover-lv4'); $desktopCreatContainer.find('.amp-desktop-set-list-confirm').hide().removeClass('hide'); $desktopCreatContainer.find('.amp-desktop-set-list-center').find('.amp-desktop-set-list-name').show(); $desktopCreatContainer.find('.amp-desktop-set-list-center').find('.amp-desktop-set-list-input-container').hide(); } } })(window.AmpDesktopSet = window.AmpDesktopSet || {});