84 lines
2.3 KiB
JavaScript
84 lines
2.3 KiB
JavaScript
// 通用js方法文件
|
||
|
||
/**
|
||
* 打开一个新的窗口,post请求,
|
||
* @param id id 唯一值,body中创建请求表单的id
|
||
* @param sid sessionId
|
||
* @param cmd 请求cmd
|
||
* @param params 参数列表{param1 : value1,param2 : value2}
|
||
* @param target 不给定则默认_blank新窗口
|
||
*/
|
||
const newPageWin = function (id, sid, cmd, params, target) {
|
||
if (!params) {
|
||
params = {};
|
||
}
|
||
params.cmd = cmd;
|
||
params.sid = sid;
|
||
newWin(id, wHref, params, target);
|
||
}
|
||
|
||
/**
|
||
* 打开一个新的窗口,post请求
|
||
* @param id 唯一值,body中创建请求表单的id
|
||
* @param url 例如 ./w,./jd
|
||
* @param params 这个{param1 : value1,param2 : value2}
|
||
* @param target 打开窗口方式 _blank,_self
|
||
*/
|
||
const newWin = function (id, url, params, target) {
|
||
// 防止反复添加
|
||
var dom = document.getElementById(id);
|
||
if(dom) {
|
||
document.body.removeChild(dom);
|
||
}
|
||
var temp_form = document.createElement("form");
|
||
temp_form.action = url;
|
||
temp_form.target = target == undefined ? "_blank" : target;
|
||
temp_form.method = "get";
|
||
temp_form.style.display = "none";
|
||
for (var x in params) {
|
||
var opt = document.createElement("textarea");
|
||
opt.name = x;
|
||
opt.value = params[x];
|
||
temp_form.appendChild(opt);
|
||
}
|
||
temp_form.setAttribute('id', id);
|
||
document.body.appendChild(temp_form);
|
||
temp_form.submit();
|
||
}
|
||
|
||
// 打开流程模型文件
|
||
const openDesigner = function(teamId, id, sid) {
|
||
newPageWin('palDesigner', sid, 'com.actionsoft.apps.coe.pal_pl_repository_designer', {uuid: id, teamId: teamId});
|
||
}
|
||
|
||
// 退出pal
|
||
const logout = function(sid) {
|
||
window.location.replace("./w?sid=" + sid + "&cmd=com.actionsoft.apps.coe.pal_user_logout");
|
||
}
|
||
|
||
// 类jquery方法
|
||
const closest = function(node, targetNodeName) {// 类似jquery closest函数,获得匹配选择器的第一个祖先元素,从当前元素开始沿 DOM 树向上
|
||
let curr = node;
|
||
while (curr.nodeName != targetNodeName && curr.nodeName != 'BODY') {
|
||
curr = curr.parentNode;
|
||
}
|
||
if (curr.nodeName == targetNodeName) {
|
||
return curr;
|
||
} else {
|
||
return null;
|
||
}
|
||
}
|
||
|
||
/**
|
||
* 修改PAL网页标题
|
||
* @param newTitle
|
||
*/
|
||
const updateHtmlTitle = function(newTitle) {
|
||
document.getElementsByTagName("title")[0].innerText = newTitle;
|
||
}
|
||
|
||
export {newWin, newPageWin, openDesigner, logout, closest, updateHtmlTitle}
|
||
|
||
|
||
|