layui.define(['layer','form','element','vciWebMenu','util'],//数组里是需要使用的layui的组件
|
function(exports){
|
/**
|
* 主页,包含北区、西区、中间区域和南区
|
* @author wangting@2022-1-4
|
*/
|
var portal = {
|
sessionInfo:{},
|
themeName:'default',
|
moduleKey:'vciWebPortalDojoUI',
|
downloadFileUUID:[],
|
mainConfig:{
|
indexPageModel:"",
|
//注意,这里的配置会被更改
|
leftMenuWidth:"220",//左侧菜单的宽度
|
leftMenuMinWidth:'40',//左侧菜单的最小宽度
|
//北区相关的配置
|
companyLogo:"",//LOGO区域路径
|
companyMinLogo:"",//LOGO区域的缩略图
|
//功能图标
|
menuMinClass:'layui-icon-spread-left',//菜单最小显示
|
menuClass:'layui-icon-shrink-right',//菜单正常显示
|
refreshClass:'layui-icon-refresh',//刷新按钮
|
isShowSearch:false,//是否显示全文检索
|
isShowTheme:false,//是否可以切换主题
|
searchUrl:'',//全文检索执行路径
|
msgClass:'layui-icon-reply-fill',//消息中心样式
|
themeClass:'layui-icon-theme',//主题样式
|
noteClass:'layui-icon-note',//便签样式
|
favClass:'layui-icon-star-fill',//收藏
|
unFavClass:'layui-icon-star',//未收藏
|
fullClass:'layui-icon-screen-full',//全屏
|
restoreClass:'layui-icon-screen-restore',//全屏恢复
|
iconFontSize:"16px",//字体图标的字号大小
|
userCenterSrc:"layui-icon-user",//用户头像
|
//版权的信息
|
isShowVersion:"false",//是否显示版本信息
|
versionInfo:''//版本信息
|
},
|
loginUrl:'/webUserController/login',
|
favStore:null,//收藏的所有功能
|
portalDiv:null,
|
tabPanelFilter:'vciPortalTab',
|
menuStyle:'normal',//菜单显示的样式normal和min
|
menuChangeWidthEl:["#portal_menu"],//菜单宽度变换的时候要处理宽度的元素
|
menuChangeLeftEl:["#portal_body"],//菜单宽度变换的时候要处理left的元素
|
init:function(){
|
//在这里执行初始页面
|
//1.布局是在页面上直接定义好的.但是默认是隐藏的,所以需要后面执行显示
|
var me = this;
|
$webUtil.copyConfig(me,me.moduleKey);
|
var windowWidth=$('body').width()
|
if(windowWidth>configData.vciWebPortal.mainConfig.pageWidth1440){
|
me.mainConfig.leftMenuWidth='220'
|
}else if(windowWidth>configData.vciWebPortal.mainConfig.pageWidth1280){
|
me.mainConfig.leftMenuWidth='200'
|
}else {
|
me.mainConfig.leftMenuWidth='180'
|
}
|
me.portalDiv = $("#portal");
|
me.portalLogoDiv = $("#portal_logo");
|
me.portalToolDiv = $("#portal_toolmenu");
|
me.portalPersonDiv = $("#portal_personArea");
|
me.portalBody = $("#portal_body");
|
me.portalFooter =$("#portal_footer");
|
if(!me.mainConfig.iconFontSize){
|
me.mainConfig.iconFontSize = '16px';
|
}
|
//me.portalBody.css({'left':me.mainConfig.leftMenuWidth})
|
//2.设置logo区域
|
var logoInfoHtml = me.createLogoInfoHtml();
|
if(configData.isLogo) {
|
me.portalLogoDiv.html(logoInfoHtml);
|
}else if(configData.titleLogo){
|
me.portalLogoDiv.html('<img src="'+configData.titleLogo+'" alt="'+configData.title+'" height="40">');
|
}else{
|
me.portalLogoDiv.html(configData.title);
|
if(configData.titleFontSize){
|
me.portalLogoDiv.css('font-size',configData.titleFontSize+'px')
|
}
|
}
|
var toolHtml = me.createToolHtml();
|
me.portalToolDiv.html(toolHtml);
|
//3.处理个人中心
|
var personInfoHtml = me.createPersonInfoHtml();
|
me.portalPersonDiv.html(personInfoHtml);
|
//4.处理菜单
|
var webMenu = layui.vciWebMenu;
|
webMenu.menuUlId = 'portal_menu_tree';
|
webMenu.menuClickListener = function(id,menuObject,isFav){
|
me.showFavImage(isFav);
|
me.showTabByMenu(id,menuObject);
|
};
|
me.webMenu = webMenu;
|
me.webMenu.init();
|
//5.处理版权信息
|
if(me.mainConfig.isShowVersion && $webUtil.isNotNull(me.mainConfig.versionInfo)){
|
me.portalFooter.html("©版权信息 - " +me.mainConfig.versionInfo.trim() );
|
me.portalFooter.show();
|
}else{
|
me.portalFooter.remove();
|
me.portalBody.css("bottom","0px");
|
}
|
//6.处理首页
|
if(!me.mainConfig || $webUtil.isNull(me.mainConfig.indexPageModel)){
|
if(!me.mainConfig){
|
me.mainConfig = {
|
indexPageModel:"portal/vciDefaultIndex"
|
}
|
}else{
|
me.mainConfig.indexPageModel = "portal/vciDefaultIndex";
|
}
|
}
|
layui.use([me.mainConfig.indexPageModel], function () {
|
var index = layui[me.mainConfig.indexPageModel];
|
$("#vciPortalIndexContent").html(index.getContent());
|
index.init();
|
});
|
|
//7.绑定所有的事件,并显示内容
|
me.buildAllListener();
|
me.portalDiv.show();
|
var element = layui.element;
|
element.init();//刷新所有的元素
|
element.on('tabDelete(' + me.tabPanelFilter + ')',function(data){
|
var id = $(this).parent().attr("lay-id");
|
if(me.allAddedTab && me.allAddedTab[id] && me.allAddedTab[id].instanceObject){//调用销毁事件
|
try{
|
me.allAddedTab[id].instanceObject.destory();
|
}catch(e){
|
}
|
}
|
delete me.allAddedTab[id];
|
});
|
me.element = element;
|
//设置固定块
|
var util = layui.util;
|
|
//执行
|
util.fixbar({});
|
|
//easyui布局
|
$('#mainEasyuiLayout').layout();
|
// layui.use(['vciWebCheckSession'],function(){
|
// var vciWebCheckSession = layui.vciWebCheckSession;
|
// vciWebCheckSession.init();
|
// });
|
/*layui.use(['vciWebReminder'],function(){
|
var vciWebReminder = layui.vciWebReminder;
|
vciWebReminder.init()
|
})*/
|
},
|
createLogoInfoHtml:function(){
|
//设置LOGO区域
|
var me = this;
|
var html = '<a href="javascript:;">';
|
if($webUtil.isNotNull(me.mainConfig.companyLogo)){
|
html+='<img src="' + me.mainConfig.companyLogo + '" class="logoimg" style="width:' + me.mainConfig.leftMenuWidth + 'px;object-fit: cover;"/>';
|
}
|
return html + "</a>";
|
},
|
createToolHtml:function(){
|
var me = this;
|
var lis = [];
|
lis.push('<li class="layui-nav-item"><a href="javascript:;" lay-portal-event="swapMenu" title="菜单伸缩"><i class="layui-icon ' + me.mainConfig.menuClass + '" style="font-size:' + me.mainConfig.iconFontSize + '"></i></a></li>');
|
lis.push('<li class="layui-nav-item"><a href="javascript:;" lay-portal-event="refresh" title="刷新页面"><i class="layui-icon ' + me.mainConfig.refreshClass + '" style="font-size:' + me.mainConfig.iconFontSize + '"></i></a></li>');
|
if(me.mainConfig.isShowSearch == "true" || me.mainConfig.isShowSearch == true){
|
lis.push('<li class="layui-nav-item"><input type="text" placeholder="搜索...." autocomplete="off" class="layui-input layui-input-search" lay-portal-event="seach" /></li>');
|
}
|
return lis.join('');
|
},
|
createPersonInfoHtml:function(){
|
//创建个人中心部分的html代码
|
// 头像 人名
|
// 点击后出现设置菜单
|
var me = this;
|
var html = '';
|
//工艺
|
if(me.mainConfig.isShowMpm == 'true' || me.mainConfig.isShowMpm == true){
|
//html += '<li class="layui-nav-item"><a href="javascript:;" lay-portal-event="mpm"><i class="layui-icon layui-icon-windows" style="font-size:' + me.mainConfig.iconFontSize + '"></i></a></li>';
|
}
|
//看板
|
if(me.mainConfig.isShowWatch == "true" || me.mainConfig.isShowWatch == true){
|
html += '<li class="layui-nav-item"><a href="javascript:;" lay-portal-event="portal"><i class="layui-icon layui-icon-chart-screen" style="font-size:' + me.mainConfig.iconFontSize + '"></i>' +
|
'</a></li>';
|
}
|
//消息个数
|
//html += '<li class="layui-nav-item"><a href="javascript:;" lay-portal-event="msgcenter"><i class="layui-icon ' + me.mainConfig.msgClass + '" style="font-size:' + me.mainConfig.iconFontSize + '"></i><span class="layui-badge-dot" id="portal_msgcount_star"></span></a></li>';
|
//收藏图标
|
//html += '<li class="layui-nav-item"><a href="javascript:;" id="portal_fav" lay-portal-event="fav"><i class="layui-icon ' + me.mainConfig.unFavClass + '" style="font-size:' + me.mainConfig.iconFontSize+ '"></i></a></li>';
|
//切换主题
|
if(me.mainConfig.isShowTheme == "true" || me.mainConfig.isSHowTheme == true){
|
html += '<li class="layui-nav-item">' +
|
'<a href="javascript:;" lay-portal-event="changeTheme"><i class="layui-icon ' + me.mainConfig.themeClass + '" style="font-size: ' + me.mainConfig.iconFontSize +'"></i></a></li>';
|
}
|
//html += '<li class="layui-nav-item"><a href="javascript:;" lay-portal-event="swapScreen"><i class="layui-icon ' + me.mainConfig.fullClass + '" style="font-size:' + me.mainConfig.iconFontSize + '"></i></a></li>';
|
html += '<li class="layui-nav-item">' +
|
'<a href="javascript:;">';
|
if(me.mainConfig.userCenterSrc.indexOf(".")>-1){//头像,说明使用的图片
|
html += '<img src="' + me.mainConfig.userCenterSrc + '" class="layui-nav-img"/>';
|
}else{
|
html += '<i class="layui-icon ' + me.mainConfig.userCenterSrc +'" style="font-size:' + (me.mainConfig.iconFontSize?me.mainConfig.iconFontSize:'16px') + '"></i> ';
|
}
|
var showUserName = me.sessionInfo.userName && me.sessionInfo.userName.trim();
|
if(me.sessionInfo.personName && showUserName !=me.sessionInfo.personName.trim()){
|
showUserName += "(" + me.sessionInfo.personName.trim() + ")"
|
}
|
html += showUserName + '</a>';
|
var onlineUser = "";
|
if($webUtil.getCurrentUserId() == "sysAdmin"){
|
onlineUser = '<dd><a href="javascript:;" id="portal_onlineUser" lay-portal-event="onlineUser">在线用户</a></dd>' ;
|
}
|
html += '<dl class="layui-nav-child">' +
|
//'<dd><a href="javascript:;" id="portal_person_info" lay-portal-event="personinfo">基本资料</a></dd>' +
|
//'<dd><a href="javascript:;" id="portal_lockwindow" lay-portal-event="lockWindow">锁定窗口</a></dd>' +
|
'<dd><a href="javascript:;" id="portal_changepwd" lay-portal-event="changepdw">修改密码</a></dd>' +
|
onlineUser +
|
'<dd><a href="javascript:;" id="portal_workflowproxy" lay-portal-event="proProxy">流程代理</a></dd>' +
|
'<dd><a href="javascript:;" id="portal_install" lay-portal-event="install">使用和安装帮助</a></dd>' +
|
'<dd><a href="javascript:;" id="portal_logout" lay-portal-event="logout">退出</a></dd>' +
|
'</dl>';
|
html += '</li>';
|
return html;
|
},
|
buildAllListener:function(){
|
var me = this;
|
$("[lay-portal-event]").click(function(){
|
var event = $(this).attr("lay-portal-event");
|
if(!event){
|
event = $(this).parent().attr("lay-portal-event");
|
}
|
if(event && me[event]){
|
me[event]();
|
}
|
});
|
},
|
swapScreen:function(){
|
//切换屏幕
|
var me = this;
|
if(me.fullscreen){
|
//恢复
|
if(typeof window.ActiveXObject != "undefined") {
|
//这的方法 模拟f11键,使浏览器全屏
|
var wscript = new ActiveXObject("WScript.Shell");
|
if(wscript != null) {
|
wscript.SendKeys("{F11}");
|
}
|
}else{
|
if (document.exitFullscreen) {
|
document.exitFullscreen();
|
}
|
else if (document.mozCancelFullScreen) {
|
document.mozCancelFullScreen();
|
}
|
else if (document.webkitCancelFullScreen) {
|
document.webkitCancelFullScreen();
|
}
|
else if (document.msExitFullscreen) {
|
document.msExitFullscreen();
|
}
|
if(typeof cfs != "undefined" && cfs) {
|
cfs.call(el);
|
}
|
}
|
$("[lay-portal-event='swapScreen'] i").addClass(me.mainConfig.fullClass);
|
$("[lay-portal-event='swapScreen'] i").removeClass(me.mainConfig.restoreClass);
|
me.fullscreen = false;
|
}else{
|
//全屏
|
var el = document.documentElement;
|
var rfs = el.requestFullScreen || el.webkitRequestFullScreen || el.mozRequestFullScreen || el.msRequestFullscreen;
|
if(typeof window.ActiveXObject != "undefined") {
|
//这的方法 模拟f11键,使浏览器全屏
|
var wscript = new ActiveXObject("WScript.Shell");
|
if(wscript != null) {
|
wscript.SendKeys("{F11}");
|
}
|
}else if(typeof rfs != "undefined" && rfs){
|
rfs.call(el);
|
}
|
$("[lay-portal-event='swapScreen'] i").removeClass(me.mainConfig.fullClass);
|
$("[lay-portal-event='swapScreen'] i").addClass(me.mainConfig.restoreClass);
|
me.fullscreen = true;
|
}
|
},
|
swapMenu:function(){//切换菜单
|
var me = this;
|
if(me.menuStyle == "normal"){
|
//要最小化
|
me.minMenu();
|
}else{
|
me.maxMenu();
|
}
|
},
|
maxMenu:function(){
|
var me = this;
|
//$('#mainEasyuiLayout').layout('expand','west');
|
//$("#portal .layui-side-menu span").show();
|
//$("#portal_menu").removeClass("sidebarHover");
|
//$(".side-hover dl").hide();
|
//$(".layui-logo img").attr("src",me.mainConfig.companyLogo);
|
if(me.menuChangeWidthEl){
|
layui.each(me.menuChangeWidthEl,function(_index,_item){
|
$(_item).css("width",me.mainConfig.leftMenuWidth-5)
|
$(_item).parent('.layout-panel-west').css("width",me.mainConfig.leftMenuWidth);
|
});
|
}
|
if(me.menuChangeLeftEl){
|
layui.each(me.menuChangeLeftEl,function(_index,_item){
|
var width=$('body').width()-10-me.mainConfig.leftMenuWidth;
|
$(_item).css("width",width-5);
|
$(_item).parent('.layout-panel-center').css({"width":width,'left':me.mainConfig.leftMenuWidth+'px'});
|
})
|
}
|
$("[lay-portal-event='swapMenu'] i").addClass(me.mainConfig.menuClass);
|
$("[lay-portal-event='swapMenu'] i").removeClass(me.mainConfig.menuMinClass);
|
me.menuStyle = "normal";
|
},
|
minMenu:function(){
|
var me = this;
|
//$('#mainEasyuiLayout').layout('collapse','west');
|
//$("#portal .layui-side-menu span").hide();
|
//$("#portal_menu").addClass("sidebarHover");
|
//$(".layui-nav-item").siblings().removeClass("layui-nav-itemed")
|
//$(".layui-logo img").attr("src",me.mainConfig.companyMinLogo);
|
if(me.menuChangeWidthEl){
|
layui.each(me.menuChangeWidthEl,function(_index,_item){
|
$(_item).css("width",me.mainConfig.leftMenuMinWidth-5)
|
$(_item).parent('.layout-panel-west').css("width",me.mainConfig.leftMenuMinWidth);
|
|
});
|
}
|
if(me.menuChangeLeftEl){
|
layui.each(me.menuChangeLeftEl,function(_index,_item){
|
var width=$('body').width()-10-me.mainConfig.leftMenuMinWidth;
|
$(_item).css("width",width-5);
|
$(_item).parent('.layout-panel-center').css({"width":width,'left':me.mainConfig.leftMenuMinWidth+'px'});
|
});
|
}
|
$("[lay-portal-event='swapMenu'] i").removeClass(me.mainConfig.menuClass);
|
$("[lay-portal-event='swapMenu'] i").addClass(me.mainConfig.menuMinClass);
|
me.menuStyle = "min";
|
},
|
fav:function () {
|
var me =this;
|
me.webMenu.changeFav(function(isFav){
|
me.showFavImage(!isFav);
|
});
|
},
|
relogin:function(callback){
|
//重新登录
|
var me =this;
|
$webUtil.copyConfig(me,me.moduleKey);
|
var formHtml = '<form id="form_' + me.id + '_relogin" lay-filter="' + me.id + '_relogin" class="layui-form" ></form>';
|
var form = layui.form;
|
var btn=['登录','取消'];
|
var height =200;
|
var thisindex = layer.open({
|
type:1,
|
title:'输入密码重新登录',
|
btn:btn,
|
//skin:'layui-layer-lan',
|
content:formHtml,
|
area:['350px',height+'px'],
|
btnAlign:'r',
|
closeBtn:0,
|
shade:true,
|
resize:false,
|
success:function(layero){
|
var formItems = [];
|
formItems.push({
|
type:'password',
|
name:'password',
|
text:'请输入密码'
|
});
|
form.addItems(me.id+"_relogin",formItems,function(){},me.sourceData,{defaultColumnOneRow:1});
|
$("#form_" + me.id + "_relogin").keydown(function(e){
|
if(e.keyCode == 13){
|
$(this).parent().parent().find(".layui-layer-btn0").click();
|
}
|
layui.stope(e);
|
});
|
},
|
yes:function(index,layero){
|
//先验证
|
if(form.validata(me.id + "_relogin")){
|
var values = form.getValues(me.id + "_relogin");
|
browserInfo = checkBrowser();
|
var loginData = {
|
userid : $webUtil.getCurrentUserId(),
|
password : values['password'],
|
isForceLogin : true,
|
browser:browserInfo.browser,
|
browserversion:browserInfo.browserversion,
|
osversion: browserInfo.osversion
|
};
|
$webUtil.post(me.loginUrl,loginData,function(result){
|
if(result == undefined || result == null){
|
$webUtil.showErrorMsg("登录出现了错误!请查看服务器是否开启");
|
}
|
if (result.success){
|
//还需要刷新菜单,否则没有权限
|
me.webMenu.init();
|
$webUtil.showAutoMsg("登录成功,等到左侧功能菜单刷新完成后您就可以继续使用本系统");
|
layer.close(index);
|
if(callback){
|
callback();
|
}
|
}else {
|
$webUtil.showErrorMsg(result.msg);
|
}
|
});
|
}
|
},
|
btn2:function(index,layero){
|
window.location.href=projectName + "index.html";
|
}
|
});
|
},
|
changepdw:function(isMustChange,callback){
|
var me =this;
|
$webUtil.copyConfig(me,me.moduleKey);
|
var formHtml = '<form id="form_' + me.id + '_changepdw" lay-filter="' + me.id + '_changepdw" class="layui-form" ></form>';
|
var form = layui.form;
|
var btn=['修改','取消'];
|
var height =280;
|
if(isMustChange){
|
height = 320;
|
}
|
var thisindex = layer.open({
|
type:1,
|
title:'修改密码',
|
btn:btn,
|
//skin:'layui-layer-lan',
|
content:formHtml,
|
area:['350px',height+'px'],
|
btnAlign:'r',
|
closeBtn:0,
|
shade:true,
|
resize:false,
|
success:function(layero){
|
var formItems = [];
|
if(isMustChange){
|
formItems.push({
|
type:'word',
|
name:'label',
|
text:'您的密码已经过期,请立即更改密码',
|
labelWidth:340,
|
titleAlign:'center'
|
});
|
}
|
formItems.push({
|
type:'password',
|
name:'password',
|
text:'当前密码',
|
required:true
|
});
|
formItems.push({
|
type:'password',
|
name:'password',
|
text:'新密码',
|
required:true
|
});
|
formItems.push({
|
type:'password',
|
name:'confirmPassword',
|
text:'确认密码',
|
required:true
|
});
|
form.addItems(me.id+"_changepdw",formItems,function(){},me.sourceData,{defaultColumnOneRow:1});
|
},
|
yes:function(index,layero){
|
//先验证
|
if(form.validata()){
|
var values = form.getValues(me.id + "_changepdw");
|
values.userOid = $webUtil.getCurrentUserOid();
|
$webUtil.ajax('post','/userQueryController/changePassword',values,function(result){
|
if(result.success){
|
$webUtil.showMsg("修改密码成功",function(){
|
if(callback){
|
callback();
|
}
|
});
|
layer.close(thisindex);
|
|
}else{
|
$webUtil.showErrorMsg(result.msg);
|
}
|
},function(xhr,err){
|
$webUtil.showErrorMsg("请求服务出现了错误,可能服务器未开启");
|
},configData.frameworkPath);
|
}
|
},
|
btn2:function(index,layero){
|
if(isMustChange){
|
$webUtil.showConfirmMsg("您的密码已经过期,你必须修改后才能使用本系统,如果取消将会返回登录页面,是否继续?",function (index){
|
me.logout(true);
|
},function(){
|
|
});
|
}else {
|
layer.close(index);
|
}
|
}
|
});
|
},
|
install:function(){
|
var me = this;
|
$webUtil.dialog({
|
type: 2,
|
fullScreen:true,
|
content:(me.mainConfig.installHtml)?me.mainConfig.installHtml:"install.html",
|
title:'使用和安装说明'
|
});
|
},
|
proProxy:function(){
|
//流程代理
|
var me = this;
|
var menuObject = {
|
id:'workflowProxy',
|
text:'流程代理设置',
|
bsUrl:'USEJS://process/vciWebProProxy',
|
notAllowFav:true
|
};
|
me.showTabByMenu("workflowProxy",menuObject);
|
},
|
onlineUser:function(){
|
//在线用户列表
|
var me = this;
|
var menuObject = {
|
id:'vciWebOnlineUser',
|
text:'在线用户列表',
|
bsUrl:'USEJS://framework/vciWebOnlineUser',
|
notAllowFav:true
|
};
|
me.showTabByMenu("vciWebOnlineUser",menuObject);
|
},
|
logout:function(isIgnore){
|
if(isIgnore){
|
$webUtil.post(configData.logoutUrl,{},function(result){
|
//无论成功与否都需要跳转了
|
$.removeCookie('AuthorizationToken',{path:"/"});
|
window.location.href = projectName + "index.html";
|
},function (err,xhr) {
|
$.removeCookie('AuthorizationToken',{path:"/"});
|
window.location.href = projectName + "index.html";
|
});
|
}else {
|
$webUtil.showConfirmMsg('您确定要退出系统吗', function (index) {
|
$webUtil.post(configData.logoutUrl, {}, function (result) {
|
//无论成功与否都需要跳转了
|
$.removeCookie('AuthorizationToken',{path:"/"});
|
window.location.href = projectName + "index.html";
|
},function (err,xhr) {
|
$.removeCookie('AuthorizationToken',{path:"/"});
|
window.location.href = projectName + "index.html";
|
});
|
});
|
}
|
},
|
showFavImage:function(isFav){
|
var me = this;
|
if(isFav){
|
$("#portal_fav i").removeClass(me.mainConfig.unFavClass);
|
$("#portal_fav i").addClass(me.mainConfig.favClass);
|
}else{
|
$("#portal_fav i").removeClass(me.mainConfig.favClass);
|
$("#portal_fav i").addClass(me.mainConfig.unFavClass);
|
}
|
},
|
lockWindow:function(){//锁定窗口,必须使用密码才能解锁
|
var me = this;
|
var windowHtml = '<form class="layui-form" lay-filter="vciPortalLockWindow">' +
|
'<div class="layui-form-item" style="width:350px;margin-top:15px;">' +
|
'<label class="layui-form-label layui-field-required" style="width:140px;">请输入密码来解锁:</label>' +
|
'<div class="layui-input-inline" style="width:170px">' +
|
'<input type="password" name="password" required lay-verify="required" placeholder="请输入密码" autocomplete="off" class="layui-input "/>' +
|
'</div>' +
|
'</div>' +
|
'</form>';
|
var thisindex = layer.open({
|
type:1,
|
title:'锁定窗口',
|
btn:['解锁'],
|
//skin:'layui-layer-lan',
|
content:windowHtml,
|
area:['350px','200px'],
|
btnAlign:'r',
|
closeBtn:0,
|
shadeClose:false,
|
shade:true,
|
resize:false,
|
yes:function(index,layero){
|
var form = layui.form;
|
//先验证
|
if(form.validata()){
|
var values = form.getValues('vciPortalLockWindow');
|
$webUtil.post('/webUserController/checkPassword',values,function(result){
|
if(result.success){
|
layer.close(thisindex);
|
}else{
|
$webUtil.showErrorMsg(result.msg);
|
}
|
},function(xhr,err){
|
$webUtil.showErrorMsg("请求服务出现了错误,可能服务器未开启");
|
},configData.frameworkPath);
|
}
|
}
|
});
|
},
|
showTabByMenu:function(id,menuObject){
|
var me = this;
|
if(!me.allAddedTab){
|
me.allAddedTab = {};
|
}
|
var isAdded = false;
|
for(var key in me.allAddedTab){
|
if(key == id){
|
isAdded = true;
|
break;
|
}
|
}
|
if(!isAdded){
|
if(!menuObject){
|
menuObject = me.webMenu.getMenuObjectById(id);
|
}
|
var url = menuObject.bsUrl || menuObject.url || menuObject.href;
|
if($webUtil.isNull(url)) {
|
return ;
|
}
|
var urlUp = url.toUpperCase();
|
if($webUtil.startWith(urlUp,"USEJS:")){
|
//说明是使用js组件
|
var trueUrl = url.substring(6);
|
if($webUtil.startWith(trueUrl,"//")){
|
trueUrl = trueUrl.substring(2);
|
}
|
var sourceData = {};
|
sourceData['functionId'] = id;
|
me.wrapperSourceDataByUrl(trueUrl,sourceData);
|
if(menuObject && menuObject.initSourceData){
|
for(var key in menuObject.initSourceData){
|
sourceData[key] = menuObject.initSourceData[key];
|
}
|
}
|
if(trueUrl.indexOf("?")>-1) {
|
trueUrl = trueUrl.substring(0, trueUrl.indexOf("?"));
|
}
|
trueUrl=trueUrl.replace(/^\/+/,'');
|
layui.use([trueUrl],function(){
|
var newTabClass = layui[trueUrl];
|
newTabClass.id = id;
|
newTabClass.sourceData = sourceData;
|
if(menuObject.multiCompent){
|
newTabClass.multiCompent = menuObject.multiCompent;
|
}
|
me.element.tabAdd(me.tabPanelFilter,{
|
title:menuObject.text,
|
id:id,
|
item:newTabClass
|
});
|
me.element.tabChange(me.tabPanelFilter,id);
|
menuObject.instanceObject = newTabClass;
|
});
|
}else if( $webUtil.startWith(urlUp,"OPEN:")){
|
window.open(url,id,'fullscreen=yes');
|
//说明是弹出窗口
|
}else if($webUtil.startWith(urlUp,"UI://")
|
|| $webUtil.startWith(url.toUpperCase(),"PLM.UIF.ENGINE.CLIENT.UILAYOUTPANEL?")){
|
//说明是UI上下文的定义
|
var type = "";
|
var content = "";
|
var sourceData = {};
|
var trueUrl = "";
|
sourceData['functionId'] = id;
|
sourceData['sourceDataMap']={};
|
if($webUtil.startWith(urlUp,"UI://")){
|
trueUrl = url;
|
//UI://type#content?param=xxx
|
if(trueUrl.indexOf("?") > -1){
|
var temp = trueUrl.substring(3,trueUrl.indexOf("?"));
|
if(temp.indexOf("#") < 0){
|
$webUtil.showErrorMsg("请联系管理员,这个菜单的地址格式不正确。应该是UI://type#content?param=xxx这种形式");
|
return;
|
}
|
type = temp.split("#")[0];
|
content = temp.split("#")[1];
|
}else{
|
var temp = trueUrl.substring("UI://".length);
|
if(temp.indexOf("#") < 0){
|
$webUtil.showErrorMsg("请联系管理员,这个菜单的地址格式不正确。应该是UI://type#content?param=xxx这种形式");
|
return;
|
}
|
type = temp.split("#")[0];
|
content = temp.split("#")[1];
|
}
|
}else{
|
trueUrl = url;
|
//plm.uif.engine.client.UILayoutPanel?type=batchtask&context=batchtaskManagementExp
|
if(trueUrl.indexOf("?") <0){
|
$webUtil.showErrorMsg("请联系管理员,这个菜单的地址格式不正确。推荐使用UI://type#content?param=xxx这种形式");
|
return;
|
}
|
var temp = trueUrl.split("?")[1];
|
var paramsArray = temp.split("&");
|
for(var i = 0 ; i < paramsArray.length ; i ++){
|
var preParam =paramsArray[i].split("=");
|
if(preParam[0] == 'type'){
|
type = preParam[1];
|
}else if(preParam[0] == 'context' ){
|
content = preParam[1];
|
}else{
|
sourceData['sourceDataMap'][preParam[0]]=preParam[1]
|
}
|
}
|
}
|
me.wrapperSourceDataByUrl(trueUrl,sourceData.sourceDataMap);
|
if(menuObject && menuObject.initSourceData){
|
for(var key in menuObject.initSourceData){
|
sourceData['sourceDataMap'][key] = menuObject.initSourceData[key];
|
}
|
}
|
sourceData['btmType'] = type;
|
sourceData['content'] = content;
|
layui.use('platform/objectService/VciUIContentViewer',function () {
|
var newTabClass = layui['platform/objectService/VciUIContentViewer'];
|
newTabClass.id = id;
|
newTabClass.multiCompent = true;
|
newTabClass.sourceData = sourceData;
|
me.element.tabAdd(me.tabPanelFilter,{
|
title:menuObject.text,
|
id:id,
|
item:newTabClass
|
});
|
me.element.tabChange(me.tabPanelFilter,id);
|
menuObject.instanceObject = newTabClass;
|
});
|
}else if($webUtil.isNotNull(url) ){
|
//链接网页
|
me.element.tabAdd(me.tabPanelFilter,{
|
title:menuObject.text,
|
id:id,
|
href:url
|
});
|
me.element.tabChange(me.tabPanelFilter,id);
|
}else{
|
return;
|
}
|
me.allAddedTab[id] = menuObject;
|
}else{
|
me.element.tabChange(me.tabPanelFilter,id);//自动选择这个选项卡
|
}
|
if(menuObject.notAllowFav == true){
|
me.webMenu.currentMenuId = "";
|
}
|
},
|
wrapperSourceDataByUrl : function(trueUrl,sourceData){
|
if(trueUrl.indexOf("?") > -1){//说明有参数
|
var params = trueUrl.substring(trueUrl.indexOf("?")+1);
|
var paramsArray = params.split("&");
|
for(var i = 0 ; i < paramsArray.length ; i ++){
|
var preParam =paramsArray[i].split("=");
|
sourceData[preParam[0]] = preParam[1];
|
}
|
}
|
},
|
refresh:function(){
|
layui.table.reload('table_vciProcessUndoTask_vciDefaultIndex_protask_1');
|
layui.each(this.allAddedTab,function (i,tab){
|
if(tab.instanceObject.refreshAll){
|
tab.instanceObject.refreshAll()
|
}else{
|
try {
|
tab.instanceObject.refresh()
|
}catch (e) {
|
|
}
|
}
|
})
|
},
|
msgcenter:function(){
|
$("#portal_msgcount_star").hide();
|
//消息中心
|
var me = this;
|
var menuObject = {
|
id:'messageCenter',
|
text:'消息中心',
|
bsUrl:'USEJS://messages/vciWebMessage',
|
notAllowFav:true
|
};
|
portal.showTabByMenu("messageCenter",menuObject);
|
},
|
portal:function(){
|
var that = this;
|
var portalUrl = "url1";//非工人
|
var rolesname = $webUtil.getRolesName();
|
layui.each(rolesname,function(_index,_item){
|
if(_item == "工人"){
|
portalUrl = "url2"
|
}
|
});
|
window.open("portalUrl");
|
},
|
mpm:function (){
|
var that = this;
|
var winOpen = window.open("vci-client://do?token=" + $webUtil.getCurrentUserId(),'','location=no,width=1,height=1');
|
setTimeout(function(){winOpen.close();},500);
|
}
|
|
};
|
exports('vciWebPortalDojoUI',portal);
|
});
|