/**
* 打开应用
*/
;
(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 + '>' + widgetId + '>')
.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 + ' >' + params.widgetId + '>')
.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 + '>' + 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 ? '' : '';
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 + '>' + 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 + '>' + 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 + '>' + 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 || {});