js局部刷新
2017-01-16 09:54
134 查看
(function(){
_tools = {
initPage : function(options){
if(this.notIsCompatible()){
this.showErrorPage();
return false;
}
$.history.init(this.loadPage);
this.initHomePage(options);
this.initMenuList();
this.getLoginCount(options.loginName, "loginCount");
this.initIdentity(options.showIdentity, options.loginName, options.positionId, "identityPage", options.currentIdentity);
},
currentTimeMillis : function(){
return new Date().Format("yyyy-MM-dd hh:mm:ss");
},
appendParams : function (url, param){
return url + ((url && url.indexOf("?") > -1) ? "&" : "?") + param;
},
replaceChar : function(url, char, jionChar){
if(url && url != null){
while(url.indexOf(char) > -1){
url = url.replace(char, jionChar);
}
}
return url;
},
hasElement : function(id){
return document.getElementById(id) != null;
},
notIsCompatible : function(){
return (Pa.util.browser.msie && Pa.util.browser.version < 8);
},
showErrorPage : function(){
$("body").empty().load("/ecpub/bond/index/erro_ie.html");
},
initHomePage : function(options){
if((options.urltarget != null && options.urltarget.length > 0)){
options.urltarget = this.replaceChar(options.urltarget, "$", "&");
this.openPage(options.urltarget, "", undefined, this.findMenuName(options.urltarget));
}else if(options.showPage){
$("#homePage").find("a")[0].click();
}
},
initMenuList : function(){
try{
var _self = this;
$("#menuList li[event='Y'] a").click(function(){
if("_BLANK" == $(this).attr("openType")){
_self.openWindow($(this).attr('url').replace(/^.*#/, ''));
}else if(window.location.href.indexOf($(this).attr('href')) > -1){
_self.loadPage($(this).attr('href').replace(/^.*#/, ''));
}else if($(this).attr('eventName') == "click"){
_self.loadPage($(this).attr('url').replace(/^.*#/, ''));
}
});
$("#menuList a[parentMenu='Y']").each(function(i, menuItem){
var menuSubItem = $(this).parent().find("div a[menuName^='menuItem_']");
var url = menuSubItem.attr("url");
if(url != null && url != ""){
if("_BLANK" == menuSubItem.attr("openType")){
$(menuItem).attr("href", "javascript:void(0)").attr("url", url);
}else{
$(menuItem).attr("href", "#" + url);
}
}
});
}catch(e){}
},
findMenuName : function(url){
return this.findMapByKey(url, "menuName");
},
findMapByKey : function(url, name){
if(url.indexOf(name) > -1){
url = url.substring(url.indexOf(name));
if(url.indexOf("&") != -1){
return url.substring(name.length + 1, url.indexOf("&"));
}else if(url.indexOf("?") != -1){
return url.substring(name.length + 1, url.indexOf("?"));
}else{
return url.substring(name.length + 1);
}
}
return undefined;
},
findContainer : function(url){
var container = this.findMapByKey(url, "container");
if(container)
return container;
else
return this.getMainFrame().attr("id");
},
selectedMenu : function($this){
if($this){
$("#menuList").find(".selected").removeClass("selected");
$($this).addClass("selected");
}
},
homePage : function(viewName, $this){
this.selectedMenu($this);
var _self = this;
Pa.util.asyncRequest({
url : "/ecpub/bond/index/main-"+viewName+"-content.jsp",
beforeSend : function(){
Pa.util.showProcesser(_self.getMainFrame().attr("id"));
},
callback: function(data){
_self.getMainFrame().html(data);
Pa.util.asyncLoad();
},
error : function(){
_self.getMainFrame().html("加载数据出错");
}
});
},
getMainFrame : function (){
return $("#mainFrame");
},
changeIdentity : function(){
this.chooseIdentity('', $("#identityPage").html(), 500, 200, 0, 0);
},
chooseIdentity : function(title, html, width, height, sw, sh){
var iWidth = document.documentElement.clientWidth;
var iHeight = document.documentElement.clientHeight;
var gdtTop = document.documentElement.scrollTop;
var bgObj = document.getElementById("BgDiv");
bgObj.style.cssText = "position:absolute;left:0px;top:0px;width:"+iWidth+"px;height:"+Math.max(document.body.clientHeight, iHeight)+"px;filter:Alpha(Opacity=40);opacity:0.3;z-index:1001;background-color:#424242";
bgObj.style.display = "block";
var msgObj=document.getElementById("MsgDiv");
msgObj.style.cssText = "position:absolute;font-size:12px;top:"+(gdtTop+((iHeight-height-sh)/2))+"px;left:"+(iWidth-width-sw)/2+"px;width:"+width+"px;height:"+height+"px;padding:1px;line-height:22px;z-index:1002;";
msgObj.style.display = "block";
msgObj.onmousedown = function(){
var e = getEvent();
var deltaX=e.clientX-parseInt(msgObj.style.left);
var deltaY=e.clientY-parseInt(msgObj.style.top);
var drag=true;
if(e.preventDefault){
e.preventDefault();
}
}
msgObj.innerHTML = html;
function getEvent() {
return window.event || arguments.callee.caller.arguments[0];
}
},
initIdentity : function(showIdentity, loginName, positionId, id, currentIdentity){
var _self = this;
if(showIdentity == "Y"){
Pa.util.asyncRequest({
url : "queryIdentify.do",
data : "loginName=" + loginName,
callback : function(data){
var result = eval("("+data+")");
if(result.error != undefined){
alert(result.message);
}else{
_self.loadIdentity(result.identityList, positionId, id, currentIdentity);
}
}
});
}
},
loadIdentity : function(identitys, positionId, id, currentIdentity){
if(identitys && identitys.length > 1){
var htmlContent = "<div class=\"changeUserBox\" id=\"changeUserBox\" width=\"500px;\">";
htmlContent += "<a href=\"javascript:void(0);\" class=\"a_close_changeuser\" id=\"a_close_changeuser\" onclick=\"Pa.tools.closeIdentity()\"></a>";
htmlContent += "<div class=\"changeUserContent\">";
htmlContent += "<h1 class=\"changeUserTitle\"><span class=\"ico_changeuser2\"></span> <strong class=\"font14\">切换身份</strong>";
htmlContent += "当前身份:<strong class=\"orange\">"+currentIdentity+"</strong></h1>";
htmlContent += "<ul class=\"ulchangeUser\" id=\"ulchangeUser\">";
for(var i = 0; i < identitys.length; i++){
htmlContent += "<li "
if(identitys[i].postnId == positionId){
htmlContent += "class='orange' ";
}
htmlContent += "><input type='radio' name='radio_postnId' value='"+identitys[i].postnId+"'";
if(identitys[i].postnId == positionId){
htmlContent += " checked='checked'";
}
var organizationName = identitys[i].organizationName;
var channelName = identitys[i].channelName;
if (organizationName == null || organizationName == '') {
organizationName = "无机构";
}
if (channelName == null || channelName == '') {
channelName = "无渠道";
}
htmlContent += "/>"+organizationName+"--"+channelName+"</li>";
}
htmlContent += "<p class=\"pchangeUser\"><button class=\"btnOrange\" onclick=\"Pa.tools.saveIdentity()\">保 存 <span class=\"tl\">";
htmlContent += "</span><span class=\"tr\"></span><span class=\"bl\"></span><span class=\"br\"></span> </button>";
htmlContent += "</p></div></div><div id=\"chanage_\"></div>";
$("#"+id).html(htmlContent);
}
},
saveIdentity : function(){
var positionId = $("#ulchangeUser input[type='radio']:checked").attr("value");
var _self = this;
Pa.util.asyncRequest({
url : "changeIdentity.do?positionId="+positionId,
callback: function(data){
_self.closeIdentity();
window.location.href="/login.do";
},
error : function(){
alert("切换身份出错!");
}
});
},
closeIdentity : function(){
$("#BgDiv").hide();
$("#MsgDiv").hide();
},
getLoginCount : function(loginName, id){
var param = {"service" : "activityService", "method" : "commonFunctionObject", "statement" : "queryUserLoginCountByUM", "loginName" :loginName };
Pa.util.asyncRequest({
url : "asynVerifyRequest.do?json="+JSON.stringify(param),
callback: function(req){
var result = eval("(" + req + ")");
$("#"+id).html(result.result);
},
error : function(){
$("#"+id).html("加载积分出错");
}
});
},
execute : function(url, id, menuName, data, type, callback){
if(url != null && url != ""){
id = id || this.getMainFrame().attr("id");
Pa.util.handlePage(url, id, true, data, type, callback);
if(menuName){
this.selectedMenu($("#"+menuName));
}
if($("#menuList li.selected").find("i").attr("class") != "home"){
$("#mainFrame").addClass("contain");
}
this.callback(Pa.tools.findMapByKey(url, "callFunction"), url);
}
},
loadPage : function(url){
if(url != null && $.trim(url) != ""){
var parameter = Pa.tools.getParameter(decodeURIComponent(url));
Pa.tools.execute(parameter.url, parameter.container, parameter.menuName);
}
},
getParameter : function(url){
url = this.replaceChar(url, "$", "&");
var container = this.findContainer(url);
var parameter = {};
if(this.hasElement(container)){
parameter.container = container;
parameter.url = this.builderURI(url);
}else{
parameter.container = this.getMainFrame().attr("id");
var parentUrl = this.builderURI($("#"+this.findMapByKey(url, "parentId")).find("a:first").attr('url').replace(/^.*#/, ''));
parameter.url = this.appendParams(parentUrl, "urltarget="+this.builderURI(url));
}
parameter.menuName = this.findMenuName(url);
return parameter;
},
builderURI : function(url){
if(url.indexOf("?") == -1)
return url;
var uri = url.substring(0, url.indexOf("?") + 1);
url = url.substring(url.indexOf("?") + 1);
var parameters = url.split("&");
for(var i = 0; i < parameters.length; i++){
if(i > 0)
uri += "&";
var param = parameters[i].split("=");
uri += param[0] + "=" + encodeURIComponent(param[1]);
}
return uri;
},
jsonToURL : function(parameter){
var url = "";
if(parameter){
for(var key in parameter){
var val = parameter[key];
if(url.length > 0)
url +="&";
url += key + "=" + val;
}
}
return url;
},
logout : function(){
window.location.href="/team_logoff.jsp";
},
gotoPage : function(url){
window.location.href="bond-studio.do#"+url;
},
openPage : function (url, data, id, menuName, openType, type, callback){
if("_BLANK" == openType) {
this.openWindow(url);
} else {
this.execute(url, id , menuName, data, type, callback);
}
},
openWindow : function (url){
window.open(url);
},
callFunction : function(method, args){
try{
eval(method+"(\""+args+"\")");
}catch(e){}
},
callback : function(method, args){
if(method && method != null && method != ""){
this.callFunction(method, args);
}
},
backToPage : function(options){
if(options.backPage)
this.gotoPage(options.url);
else
this.openPage(options.url, options.data, options.id, options.menuName, options.openType);
}
};
if(typeof window.Pa != "object")
window.Pa = {};
window.Pa.tools = _tools;
})();
function initLinkRef(){
var hrefs = $("a[autoRef]");
var props = "";
var url = "";
var linkObj;
for(var i = 0; i < hrefs.length; i++){
linkObj = $(hrefs[i]);
linkObj.attr("href", createRef(linkObj));
}
}
function createRef(link){
var props = link.attr("autoRef").split(",");
var url = "#"+link.attr("ref")+"?";
for(var j = 0; j < props.length; j++){
if(j > 0)
url+="&";
props[j] = props[j].replace(/^\s+|\s+$/g,"");
url += props[j] + "=" + link.attr(props[j]);
}
return url + "&randomDate="+Pa.tools.currentTimeMillis();
}
function openPage(url, data, id, menuName, openType, type, callback){
Pa.tools.openPage(url, data, id, menuName, openType, type, callback);
}
function gotoPage(url){
Pa.tools.gotoPage(url);
}
function openWindow(url){
Pa.tools.openWindow(url);
}
/**验证 时间格式
* @param $this
* @return
*/
function validate($this){
if($.trim($this.val()) != "" && Pa.util.validDate($.trim($this.val())) == false){
alert("请输入正确的时间,格式:yyyy-mm-dd");
$this.focus();
return true;
}
return false;
}
/**验证 2个时间的大小
* @param $begin
* @param $end
* @return
*/
function validateTwoDate($begin, $end){
if($.trim($begin.val()) != "" &&
$.trim($end.val()) != "" &&
Pa.util.compareDate($begin.val(), $end.val()) == '>'){
$end.focus();
$end.val("");
alert("结束时间不能早于开始时间。");
return true;
}
return false;
}
/**验证用户是否输入数字
* @param $this
* @return
*/
function validateNumber($this,descText){
if($($this).val() != "" && !Pa.util.isDemical($($this).val())){
alert(descText+"请输入数字。");
$($this).val("");
$($this).focus("");
return true;
}
return false;
}
/**
* 打开新的页面(包括(菜单)框架)
* 传入的URL不需要转码,内部自动转码,取值时需要自己解码
* @param url 页面url,必填,一般是.do结尾,形如:bond-createAccount.do
* @param menuName 主框架中选中的菜单,如客户菜单名为:menuItem_client
* @param params url后面带的参数,对象格式,形如:{"action":"create"}
* @param target 如果为空或者非"_blank","_self","_top","_parent",则默认为"_blank"
*/
function openNewWindow(url, menuName, params, target){
var urltarget = url;
var reqParams = {"url":url};
if(isNotNull(url)){
if(urltarget.indexOf("/") == -1){
urltarget = "/" + urltarget;
}
if(isNotNull(menuName)){
urltarget += "?menuName="+menuName;
}
if(isNotNull(params)){
var concat = "&";
var index = 0;
for(var key in params){
var val = params[key];
if (isNotNull(key)) {
if (index == 0) {
if (urltarget.indexOf("?") == -1) {
concat = "?";
} else {
concat = "&";
}
} else {
concat = "&";
}
urltarget += concat + key + "=" + val;
index++;
}
}
}
}else{
alert("请求的url不能为空!");
return;
}
var reqTarget = "_blank";
if(isNotNull(target)){
if("_blank" == target || "_self" == target || "_top" == target || "_parent" == target){
reqTarget = target;
}
}
window.open("bond-studio.do#" + urltarget, reqTarget);
return;
}
/**
* 判断是否为空
* @param exp 输入
* @returns {Boolean}
*/
function isNotNull(exp){
if(exp == undefined || exp == null || exp == ''){
return false;
}
return true;
}
/**
*
* 项目管理员5个页面 成员下拉框
* @param buId 区域/事业部
* @param busId 分公司/部门团队
* @param checkval
*/
function queryPManUserOption(buId,busId,checkval) {
if(!buId && !busId)
{
return "";
}
var result = asynRequestFunction({
"service": "commonServiceEcpub",
"method": "queryForList",
"sqlId": "queryUserInfoByBuId",
"buId": buId,
"busId": busId
}).result;
var returnstr="";
for (var i = 0; i < result.length; i++) {
if(checkval == result[i].USERID)
{
returnstr = returnstr + "<option selected='selected' value='" + result[i].USERID + "' title='" + result[i].USER_NAME + "'>" + result[i].USER_NAME + "</option>";
}
else
{
returnstr = returnstr + "<option value='" + result[i].USERID + "' title='" + result[i].USER_NAME + "'>" + result[i].USER_NAME + "</option>";
}
}
return returnstr;
}
function doPcVisitRecord(requestUrl, currentWindowUrl, objId, objType, objRange,operationName, skip){
var paramData = new Object();
paramData['requestTime'] = Pa.tools.currentTimeMillis();
paramData['requestUrl'] = requestUrl;
paramData['currentWindowUrl'] = currentWindowUrl;
paramData['platForm'] = 'PC';
paramData['platFormVersion'] = '0';
paramData['platFormVersionDate'] = '2000-01-01';
paramData['objId'] = objId;
paramData['objType'] = objType;
paramData['objRange'] = objRange;
paramData['operationName'] = operationName;
// skip参数用来在statisticFilter内区分哪些是需要做记录的请求
if( skip == undefined ){
paramData['skipStatisticFilter'] = 'YES'; // 跳过filter,直接由statisticController处理
}else{
paramData['skipStatisticFilter'] = 'NO';
}
$.ajax({
type: "POST",
async : true,
data: paramData,
url : '/statisticController.do?'
});
}
function getCurrentWindowUrl(menuName){
var url = window.location.href;
if( menuName == 'client' ){
if( url.indexOf('bond-AccountMain') != -1 ){
url = 'bond-accountManager.do?accountMenu=myStandardAccount';
}else if( url.indexOf('bond-accountDetail') != -1 ){
url = 'bond-accountDetail.do';
}else{
url = url.substring((url.indexOf("#") +1), url.indexOf("&parentId") );
}
}else if( menuName == 'opty' ){
url = url.substring((url.indexOf("#") + 1), url.indexOf("?") );
}else{
url = url.substring((url.indexOf("#") + 1), url.indexOf("?") );
}
if( url[0] == '/' ){
url = url.substring(1);
}
return url;
}
function accountClicked(thisObj){
var requestUrl = $(thisObj).attr('href');
// 10 is the length of "accountId"
var accountId = requestUrl.substring((requestUrl.indexOf("accountId") + 10), (requestUrl.indexOf("&accountName")));
var objType = 'psClient';
if( requestUrl.indexOf('personalFlag') == -1 ){
objType = 'orgClient';
}
requestUrl= requestUrl.substring((requestUrl.indexOf("#") + 1), (requestUrl.indexOf("?")));
var currentWindowUrl = getCurrentWindowUrl('client');
doPcVisitRecord(requestUrl, currentWindowUrl, accountId, 'orgClient', 'single', 'browse');
}
调用方式
openPage("bond-accountContactprivateList.do?accountId="+$("#accountId").val(),null,"bondAccountPrivateContactListBody");
openPage("bond-accntQuarterlyFinancIndex.do?"+$("#bondAccountFinancIndexForm").serialize(),null,"accountDetailMid_div");
_tools = {
initPage : function(options){
if(this.notIsCompatible()){
this.showErrorPage();
return false;
}
$.history.init(this.loadPage);
this.initHomePage(options);
this.initMenuList();
this.getLoginCount(options.loginName, "loginCount");
this.initIdentity(options.showIdentity, options.loginName, options.positionId, "identityPage", options.currentIdentity);
},
currentTimeMillis : function(){
return new Date().Format("yyyy-MM-dd hh:mm:ss");
},
appendParams : function (url, param){
return url + ((url && url.indexOf("?") > -1) ? "&" : "?") + param;
},
replaceChar : function(url, char, jionChar){
if(url && url != null){
while(url.indexOf(char) > -1){
url = url.replace(char, jionChar);
}
}
return url;
},
hasElement : function(id){
return document.getElementById(id) != null;
},
notIsCompatible : function(){
return (Pa.util.browser.msie && Pa.util.browser.version < 8);
},
showErrorPage : function(){
$("body").empty().load("/ecpub/bond/index/erro_ie.html");
},
initHomePage : function(options){
if((options.urltarget != null && options.urltarget.length > 0)){
options.urltarget = this.replaceChar(options.urltarget, "$", "&");
this.openPage(options.urltarget, "", undefined, this.findMenuName(options.urltarget));
}else if(options.showPage){
$("#homePage").find("a")[0].click();
}
},
initMenuList : function(){
try{
var _self = this;
$("#menuList li[event='Y'] a").click(function(){
if("_BLANK" == $(this).attr("openType")){
_self.openWindow($(this).attr('url').replace(/^.*#/, ''));
}else if(window.location.href.indexOf($(this).attr('href')) > -1){
_self.loadPage($(this).attr('href').replace(/^.*#/, ''));
}else if($(this).attr('eventName') == "click"){
_self.loadPage($(this).attr('url').replace(/^.*#/, ''));
}
});
$("#menuList a[parentMenu='Y']").each(function(i, menuItem){
var menuSubItem = $(this).parent().find("div a[menuName^='menuItem_']");
var url = menuSubItem.attr("url");
if(url != null && url != ""){
if("_BLANK" == menuSubItem.attr("openType")){
$(menuItem).attr("href", "javascript:void(0)").attr("url", url);
}else{
$(menuItem).attr("href", "#" + url);
}
}
});
}catch(e){}
},
findMenuName : function(url){
return this.findMapByKey(url, "menuName");
},
findMapByKey : function(url, name){
if(url.indexOf(name) > -1){
url = url.substring(url.indexOf(name));
if(url.indexOf("&") != -1){
return url.substring(name.length + 1, url.indexOf("&"));
}else if(url.indexOf("?") != -1){
return url.substring(name.length + 1, url.indexOf("?"));
}else{
return url.substring(name.length + 1);
}
}
return undefined;
},
findContainer : function(url){
var container = this.findMapByKey(url, "container");
if(container)
return container;
else
return this.getMainFrame().attr("id");
},
selectedMenu : function($this){
if($this){
$("#menuList").find(".selected").removeClass("selected");
$($this).addClass("selected");
}
},
homePage : function(viewName, $this){
this.selectedMenu($this);
var _self = this;
Pa.util.asyncRequest({
url : "/ecpub/bond/index/main-"+viewName+"-content.jsp",
beforeSend : function(){
Pa.util.showProcesser(_self.getMainFrame().attr("id"));
},
callback: function(data){
_self.getMainFrame().html(data);
Pa.util.asyncLoad();
},
error : function(){
_self.getMainFrame().html("加载数据出错");
}
});
},
getMainFrame : function (){
return $("#mainFrame");
},
changeIdentity : function(){
this.chooseIdentity('', $("#identityPage").html(), 500, 200, 0, 0);
},
chooseIdentity : function(title, html, width, height, sw, sh){
var iWidth = document.documentElement.clientWidth;
var iHeight = document.documentElement.clientHeight;
var gdtTop = document.documentElement.scrollTop;
var bgObj = document.getElementById("BgDiv");
bgObj.style.cssText = "position:absolute;left:0px;top:0px;width:"+iWidth+"px;height:"+Math.max(document.body.clientHeight, iHeight)+"px;filter:Alpha(Opacity=40);opacity:0.3;z-index:1001;background-color:#424242";
bgObj.style.display = "block";
var msgObj=document.getElementById("MsgDiv");
msgObj.style.cssText = "position:absolute;font-size:12px;top:"+(gdtTop+((iHeight-height-sh)/2))+"px;left:"+(iWidth-width-sw)/2+"px;width:"+width+"px;height:"+height+"px;padding:1px;line-height:22px;z-index:1002;";
msgObj.style.display = "block";
msgObj.onmousedown = function(){
var e = getEvent();
var deltaX=e.clientX-parseInt(msgObj.style.left);
var deltaY=e.clientY-parseInt(msgObj.style.top);
var drag=true;
if(e.preventDefault){
e.preventDefault();
}
}
msgObj.innerHTML = html;
function getEvent() {
return window.event || arguments.callee.caller.arguments[0];
}
},
initIdentity : function(showIdentity, loginName, positionId, id, currentIdentity){
var _self = this;
if(showIdentity == "Y"){
Pa.util.asyncRequest({
url : "queryIdentify.do",
data : "loginName=" + loginName,
callback : function(data){
var result = eval("("+data+")");
if(result.error != undefined){
alert(result.message);
}else{
_self.loadIdentity(result.identityList, positionId, id, currentIdentity);
}
}
});
}
},
loadIdentity : function(identitys, positionId, id, currentIdentity){
if(identitys && identitys.length > 1){
var htmlContent = "<div class=\"changeUserBox\" id=\"changeUserBox\" width=\"500px;\">";
htmlContent += "<a href=\"javascript:void(0);\" class=\"a_close_changeuser\" id=\"a_close_changeuser\" onclick=\"Pa.tools.closeIdentity()\"></a>";
htmlContent += "<div class=\"changeUserContent\">";
htmlContent += "<h1 class=\"changeUserTitle\"><span class=\"ico_changeuser2\"></span> <strong class=\"font14\">切换身份</strong>";
htmlContent += "当前身份:<strong class=\"orange\">"+currentIdentity+"</strong></h1>";
htmlContent += "<ul class=\"ulchangeUser\" id=\"ulchangeUser\">";
for(var i = 0; i < identitys.length; i++){
htmlContent += "<li "
if(identitys[i].postnId == positionId){
htmlContent += "class='orange' ";
}
htmlContent += "><input type='radio' name='radio_postnId' value='"+identitys[i].postnId+"'";
if(identitys[i].postnId == positionId){
htmlContent += " checked='checked'";
}
var organizationName = identitys[i].organizationName;
var channelName = identitys[i].channelName;
if (organizationName == null || organizationName == '') {
organizationName = "无机构";
}
if (channelName == null || channelName == '') {
channelName = "无渠道";
}
htmlContent += "/>"+organizationName+"--"+channelName+"</li>";
}
htmlContent += "<p class=\"pchangeUser\"><button class=\"btnOrange\" onclick=\"Pa.tools.saveIdentity()\">保 存 <span class=\"tl\">";
htmlContent += "</span><span class=\"tr\"></span><span class=\"bl\"></span><span class=\"br\"></span> </button>";
htmlContent += "</p></div></div><div id=\"chanage_\"></div>";
$("#"+id).html(htmlContent);
}
},
saveIdentity : function(){
var positionId = $("#ulchangeUser input[type='radio']:checked").attr("value");
var _self = this;
Pa.util.asyncRequest({
url : "changeIdentity.do?positionId="+positionId,
callback: function(data){
_self.closeIdentity();
window.location.href="/login.do";
},
error : function(){
alert("切换身份出错!");
}
});
},
closeIdentity : function(){
$("#BgDiv").hide();
$("#MsgDiv").hide();
},
getLoginCount : function(loginName, id){
var param = {"service" : "activityService", "method" : "commonFunctionObject", "statement" : "queryUserLoginCountByUM", "loginName" :loginName };
Pa.util.asyncRequest({
url : "asynVerifyRequest.do?json="+JSON.stringify(param),
callback: function(req){
var result = eval("(" + req + ")");
$("#"+id).html(result.result);
},
error : function(){
$("#"+id).html("加载积分出错");
}
});
},
execute : function(url, id, menuName, data, type, callback){
if(url != null && url != ""){
id = id || this.getMainFrame().attr("id");
Pa.util.handlePage(url, id, true, data, type, callback);
if(menuName){
this.selectedMenu($("#"+menuName));
}
if($("#menuList li.selected").find("i").attr("class") != "home"){
$("#mainFrame").addClass("contain");
}
this.callback(Pa.tools.findMapByKey(url, "callFunction"), url);
}
},
loadPage : function(url){
if(url != null && $.trim(url) != ""){
var parameter = Pa.tools.getParameter(decodeURIComponent(url));
Pa.tools.execute(parameter.url, parameter.container, parameter.menuName);
}
},
getParameter : function(url){
url = this.replaceChar(url, "$", "&");
var container = this.findContainer(url);
var parameter = {};
if(this.hasElement(container)){
parameter.container = container;
parameter.url = this.builderURI(url);
}else{
parameter.container = this.getMainFrame().attr("id");
var parentUrl = this.builderURI($("#"+this.findMapByKey(url, "parentId")).find("a:first").attr('url').replace(/^.*#/, ''));
parameter.url = this.appendParams(parentUrl, "urltarget="+this.builderURI(url));
}
parameter.menuName = this.findMenuName(url);
return parameter;
},
builderURI : function(url){
if(url.indexOf("?") == -1)
return url;
var uri = url.substring(0, url.indexOf("?") + 1);
url = url.substring(url.indexOf("?") + 1);
var parameters = url.split("&");
for(var i = 0; i < parameters.length; i++){
if(i > 0)
uri += "&";
var param = parameters[i].split("=");
uri += param[0] + "=" + encodeURIComponent(param[1]);
}
return uri;
},
jsonToURL : function(parameter){
var url = "";
if(parameter){
for(var key in parameter){
var val = parameter[key];
if(url.length > 0)
url +="&";
url += key + "=" + val;
}
}
return url;
},
logout : function(){
window.location.href="/team_logoff.jsp";
},
gotoPage : function(url){
window.location.href="bond-studio.do#"+url;
},
openPage : function (url, data, id, menuName, openType, type, callback){
if("_BLANK" == openType) {
this.openWindow(url);
} else {
this.execute(url, id , menuName, data, type, callback);
}
},
openWindow : function (url){
window.open(url);
},
callFunction : function(method, args){
try{
eval(method+"(\""+args+"\")");
}catch(e){}
},
callback : function(method, args){
if(method && method != null && method != ""){
this.callFunction(method, args);
}
},
backToPage : function(options){
if(options.backPage)
this.gotoPage(options.url);
else
this.openPage(options.url, options.data, options.id, options.menuName, options.openType);
}
};
if(typeof window.Pa != "object")
window.Pa = {};
window.Pa.tools = _tools;
})();
function initLinkRef(){
var hrefs = $("a[autoRef]");
var props = "";
var url = "";
var linkObj;
for(var i = 0; i < hrefs.length; i++){
linkObj = $(hrefs[i]);
linkObj.attr("href", createRef(linkObj));
}
}
function createRef(link){
var props = link.attr("autoRef").split(",");
var url = "#"+link.attr("ref")+"?";
for(var j = 0; j < props.length; j++){
if(j > 0)
url+="&";
props[j] = props[j].replace(/^\s+|\s+$/g,"");
url += props[j] + "=" + link.attr(props[j]);
}
return url + "&randomDate="+Pa.tools.currentTimeMillis();
}
function openPage(url, data, id, menuName, openType, type, callback){
Pa.tools.openPage(url, data, id, menuName, openType, type, callback);
}
function gotoPage(url){
Pa.tools.gotoPage(url);
}
function openWindow(url){
Pa.tools.openWindow(url);
}
/**验证 时间格式
* @param $this
* @return
*/
function validate($this){
if($.trim($this.val()) != "" && Pa.util.validDate($.trim($this.val())) == false){
alert("请输入正确的时间,格式:yyyy-mm-dd");
$this.focus();
return true;
}
return false;
}
/**验证 2个时间的大小
* @param $begin
* @param $end
* @return
*/
function validateTwoDate($begin, $end){
if($.trim($begin.val()) != "" &&
$.trim($end.val()) != "" &&
Pa.util.compareDate($begin.val(), $end.val()) == '>'){
$end.focus();
$end.val("");
alert("结束时间不能早于开始时间。");
return true;
}
return false;
}
/**验证用户是否输入数字
* @param $this
* @return
*/
function validateNumber($this,descText){
if($($this).val() != "" && !Pa.util.isDemical($($this).val())){
alert(descText+"请输入数字。");
$($this).val("");
$($this).focus("");
return true;
}
return false;
}
/**
* 打开新的页面(包括(菜单)框架)
* 传入的URL不需要转码,内部自动转码,取值时需要自己解码
* @param url 页面url,必填,一般是.do结尾,形如:bond-createAccount.do
* @param menuName 主框架中选中的菜单,如客户菜单名为:menuItem_client
* @param params url后面带的参数,对象格式,形如:{"action":"create"}
* @param target 如果为空或者非"_blank","_self","_top","_parent",则默认为"_blank"
*/
function openNewWindow(url, menuName, params, target){
var urltarget = url;
var reqParams = {"url":url};
if(isNotNull(url)){
if(urltarget.indexOf("/") == -1){
urltarget = "/" + urltarget;
}
if(isNotNull(menuName)){
urltarget += "?menuName="+menuName;
}
if(isNotNull(params)){
var concat = "&";
var index = 0;
for(var key in params){
var val = params[key];
if (isNotNull(key)) {
if (index == 0) {
if (urltarget.indexOf("?") == -1) {
concat = "?";
} else {
concat = "&";
}
} else {
concat = "&";
}
urltarget += concat + key + "=" + val;
index++;
}
}
}
}else{
alert("请求的url不能为空!");
return;
}
var reqTarget = "_blank";
if(isNotNull(target)){
if("_blank" == target || "_self" == target || "_top" == target || "_parent" == target){
reqTarget = target;
}
}
window.open("bond-studio.do#" + urltarget, reqTarget);
return;
}
/**
* 判断是否为空
* @param exp 输入
* @returns {Boolean}
*/
function isNotNull(exp){
if(exp == undefined || exp == null || exp == ''){
return false;
}
return true;
}
/**
*
* 项目管理员5个页面 成员下拉框
* @param buId 区域/事业部
* @param busId 分公司/部门团队
* @param checkval
*/
function queryPManUserOption(buId,busId,checkval) {
if(!buId && !busId)
{
return "";
}
var result = asynRequestFunction({
"service": "commonServiceEcpub",
"method": "queryForList",
"sqlId": "queryUserInfoByBuId",
"buId": buId,
"busId": busId
}).result;
var returnstr="";
for (var i = 0; i < result.length; i++) {
if(checkval == result[i].USERID)
{
returnstr = returnstr + "<option selected='selected' value='" + result[i].USERID + "' title='" + result[i].USER_NAME + "'>" + result[i].USER_NAME + "</option>";
}
else
{
returnstr = returnstr + "<option value='" + result[i].USERID + "' title='" + result[i].USER_NAME + "'>" + result[i].USER_NAME + "</option>";
}
}
return returnstr;
}
function doPcVisitRecord(requestUrl, currentWindowUrl, objId, objType, objRange,operationName, skip){
var paramData = new Object();
paramData['requestTime'] = Pa.tools.currentTimeMillis();
paramData['requestUrl'] = requestUrl;
paramData['currentWindowUrl'] = currentWindowUrl;
paramData['platForm'] = 'PC';
paramData['platFormVersion'] = '0';
paramData['platFormVersionDate'] = '2000-01-01';
paramData['objId'] = objId;
paramData['objType'] = objType;
paramData['objRange'] = objRange;
paramData['operationName'] = operationName;
// skip参数用来在statisticFilter内区分哪些是需要做记录的请求
if( skip == undefined ){
paramData['skipStatisticFilter'] = 'YES'; // 跳过filter,直接由statisticController处理
}else{
paramData['skipStatisticFilter'] = 'NO';
}
$.ajax({
type: "POST",
async : true,
data: paramData,
url : '/statisticController.do?'
});
}
function getCurrentWindowUrl(menuName){
var url = window.location.href;
if( menuName == 'client' ){
if( url.indexOf('bond-AccountMain') != -1 ){
url = 'bond-accountManager.do?accountMenu=myStandardAccount';
}else if( url.indexOf('bond-accountDetail') != -1 ){
url = 'bond-accountDetail.do';
}else{
url = url.substring((url.indexOf("#") +1), url.indexOf("&parentId") );
}
}else if( menuName == 'opty' ){
url = url.substring((url.indexOf("#") + 1), url.indexOf("?") );
}else{
url = url.substring((url.indexOf("#") + 1), url.indexOf("?") );
}
if( url[0] == '/' ){
url = url.substring(1);
}
return url;
}
function accountClicked(thisObj){
var requestUrl = $(thisObj).attr('href');
// 10 is the length of "accountId"
var accountId = requestUrl.substring((requestUrl.indexOf("accountId") + 10), (requestUrl.indexOf("&accountName")));
var objType = 'psClient';
if( requestUrl.indexOf('personalFlag') == -1 ){
objType = 'orgClient';
}
requestUrl= requestUrl.substring((requestUrl.indexOf("#") + 1), (requestUrl.indexOf("?")));
var currentWindowUrl = getCurrentWindowUrl('client');
doPcVisitRecord(requestUrl, currentWindowUrl, accountId, 'orgClient', 'single', 'browse');
}
调用方式
openPage("bond-accountContactprivateList.do?accountId="+$("#accountId").val(),null,"bondAccountPrivateContactListBody");
openPage("bond-accntQuarterlyFinancIndex.do?"+$("#bondAccountFinancIndexForm").serialize(),null,"accountDetailMid_div");
相关文章推荐
- js中的instanceof运算符
- package.json 里 devDependencies和dependencies的区别
- 6-正则表达式例子(总结)
- JavaScript实现的select点菜功能示例
- 6-正则表达式详细+数组note
- D3 数据可视化的简单例子
- js获取手机型号和手机操作系统版本号
- JS 上传文件 Uploadify 网址及 v3.2.1 参数说明
- JS自定义事件的定义和触发(createEvent, dispatchEvent)
- es6新增属性学习
- js修改属性值,取参数值
- 解决Eclipse报errors running builder ‘javascript validator’ on project .
- js dorado
- JSP----An internal error occurred during: "Requesting JavaScript AST from selection" .
- JS 密码强度校验的正则表达式(简单且好用)
- JS 工具 构建工具
- JavaScript基于DOM操作实现简单的数学运算功能示例
- [bzoj4710][JSOI2011]分特产
- 数据当中含有双引号,用jstl表达式为表单赋值时出错
- js实现弹窗暗层效果