You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
582 lines
16 KiB
582 lines
16 KiB
//公共参数
|
|
var authTrees;//权限树结构
|
|
var currentPageStatus = 'Y';//原页面是否打开
|
|
|
|
//获取权限树结构
|
|
function getAuthTree(){
|
|
$.ajax({
|
|
url: "/base/getMenuTreesByUsername",
|
|
type: "POST",
|
|
async: false,
|
|
data: {"username": $("#current_username").val()},// 你的formid
|
|
dataType: "JSON",
|
|
success: function (data) {
|
|
if (data.success) {
|
|
authTrees = data.rows;
|
|
}else{
|
|
authTrees = new Array();
|
|
layer.msg('查无菜单!');
|
|
}
|
|
},
|
|
error: function(data) {
|
|
var responseText = data.responseText;
|
|
var json_str = JSON.parse(responseText);
|
|
var status = json_str.status;
|
|
var message = json_str.message;
|
|
//判断是否是session超时
|
|
if(403==status){
|
|
layer.alert(message,function(){
|
|
window.location.href="/login";
|
|
});
|
|
}
|
|
layer.closeAll('loading');
|
|
}
|
|
});
|
|
}
|
|
|
|
//初始化树结构
|
|
function initAuthTree(){
|
|
//权限的标签
|
|
var authTags = '';
|
|
//循环处理标签
|
|
for(var i = 0; i < authTrees.length; i++){
|
|
//处理标签逻辑
|
|
authTag = processAuthTags(authTrees[i]);
|
|
authTags += authTag;
|
|
}
|
|
//替换标签
|
|
$("#main-nav").html(authTags);
|
|
}
|
|
|
|
//处理权限的菜单
|
|
function processAuthTags(authTree){
|
|
//公共参数
|
|
var id = authTree.id;
|
|
var fontLabel = authTree.fontLabel;
|
|
var url = authTree.url;
|
|
var name = authTree.name;
|
|
var menuSet = authTree.menuSet;
|
|
var authTag = '';
|
|
var haveChild = authTree.haveChild;
|
|
var newTab = authTree.newTab;
|
|
var showMark = authTree.showMark;//是否显示菜单
|
|
var showClass = "show-menu";
|
|
if('Y' == showMark){
|
|
showClass = "show-menu";
|
|
}else{
|
|
showClass = "hide-menu";
|
|
}
|
|
//不同等级的class不同
|
|
if('Y' == haveChild){
|
|
authTag = '<li class="first-li '+ showClass + '">';
|
|
}else{
|
|
authTag = '<li class="second-li '+ showClass + '">';
|
|
}
|
|
//判断是否存在子级
|
|
if('Y' == haveChild){
|
|
authTag += '<a href="#' + menuSet + '" class="nav-header collapsed" data-toggle="collapse">';
|
|
//添加字体图标
|
|
authTag += '<i class="' + fontLabel + '"></i>' + name;
|
|
//添加向下的按钮
|
|
authTag += '<span class="pull-right glyphicon glyphicon-chevron-toggle"></span>';
|
|
}else{
|
|
//判断是否是需要另外弹出页面的菜单
|
|
if("Y" == newTab){
|
|
authTag += '<a href="' + url + '" class="tab-show '+ showClass +'" newTab="Y" target="_blank" id="' + id + '">';
|
|
}else{
|
|
authTag += '<a href="' + url + '" class="tab-show '+ showClass + '" id="' + id + '">';
|
|
}
|
|
//添加字体图标
|
|
authTag += '<i class="' + fontLabel + '"></i>' + name;
|
|
}
|
|
//a标签结束
|
|
authTag += '</a>';
|
|
//当存在子级的时候添加子级的内容(拼接子级内容)
|
|
if('Y' == haveChild){
|
|
var subNodes = authTree.subNodes;
|
|
for(var i = 0; i < subNodes.length; i++){
|
|
var subNode = subNodes[i];
|
|
//第一个添加标记
|
|
if(i == 0){
|
|
authTag += '<ul id="' + menuSet + '" class="nav nav-list custom-style collapse">';
|
|
}
|
|
//中间拼写标签
|
|
var subNodeTag = processAuthTags(subNode);
|
|
authTag += subNodeTag;
|
|
//最后添加标记
|
|
if(i == subNodes.length - 1){
|
|
authTag += '</ul>';
|
|
}
|
|
}
|
|
}
|
|
//最后填充li结束
|
|
authTag += '</li>';
|
|
return authTag;
|
|
}
|
|
|
|
//初始化homePage
|
|
function initHomePage(){
|
|
//加载新的页签
|
|
//1.加载心的页签
|
|
$('#main-tabs').append('<li id="tab_home" class="active"><a data-toggle="tab" '
|
|
+ 'href="#tab_content_home">首页</a></li>');
|
|
//2.加载新的iframe
|
|
$('.tab-content').append('<div id="tab_content_home" class="active" style="">'
|
|
+ '<iframe id="iframeTabHome" name="iframepage" frameborder="0" scrolling="no"'
|
|
+ 'src="/home"></iframe></div>');
|
|
//重置iframe的高度和宽度
|
|
resetIframeWidthAndHeight();
|
|
return false;
|
|
}
|
|
|
|
//给只有一级菜单级菜单的li绑定事件负责背景颜色
|
|
function bindFirstClick(){
|
|
$("li.first-li > a").bind("click", function(){
|
|
if($(this).hasClass('active')){
|
|
$(this).removeClass("active");
|
|
}else{
|
|
$(this).addClass("active");
|
|
}
|
|
});
|
|
}
|
|
|
|
//给只有二级菜单的li绑定事件负责背景颜色
|
|
function bindSecondClick(){
|
|
$("li.second-li > a").bind("click", function(){
|
|
$("li.second-li").find("a").removeClass("active");
|
|
if(!$(this).hasClass('active')){
|
|
$(this).addClass("active");
|
|
}
|
|
});
|
|
}
|
|
|
|
//数据展示绑定事件
|
|
function bindMenuClick(){
|
|
//数据展示
|
|
$("a.tab-show").bind("click", function(){
|
|
//当前的url
|
|
var content_url = $(this).attr("href");
|
|
var tab_id = "tab-"+$(this).attr("id");
|
|
var tab_text = $.trim($(this).text());
|
|
var tab_content_id = "tab-content-"+$(this).attr("id");
|
|
var newTab = $(this).attr("newTab");
|
|
//填充页签
|
|
if('Y' == newTab){
|
|
getPageStatus($(this).attr("id"));
|
|
if("Y" == currentPageStatus){
|
|
layer.msg('请先关闭车间工作平台页签!');
|
|
}else{
|
|
//重置标记
|
|
currentPageStatus = 'Y';
|
|
//打开或者刷新页面
|
|
window.open(content_url, '车间工作平台');
|
|
}
|
|
}else{
|
|
openTabLabel(tab_id, tab_content_id, tab_text, content_url, false);
|
|
}
|
|
return false;
|
|
});
|
|
}
|
|
|
|
/*页面加载完成事件绑定二级li的点击事件*/
|
|
$(function(){
|
|
//初始化权限数据
|
|
getAuthTree();
|
|
//初始化树结构
|
|
initAuthTree();
|
|
var window_width = $(window).width();
|
|
$(".main-show").css({
|
|
"width": window_width-5,
|
|
"left": 2,
|
|
});
|
|
//初始化page页面
|
|
initHomePage();
|
|
//加载一级权限点击事件
|
|
bindFirstClick();
|
|
//加载二级权限的事件
|
|
bindSecondClick();
|
|
//加载菜单的点击事件
|
|
bindMenuClick();
|
|
});
|
|
|
|
//打开页签加载内容
|
|
function openTabLabel(tab_id, tab_content_id, tab_text, content_url, innerTab){
|
|
//判断是否已经打开过了
|
|
if($('#main-tabs #' + tab_id).length > 0){
|
|
//如果存在当前的页签则直接显示
|
|
$('#main-tabs #' + tab_id + ' a').tab('show');
|
|
}else{
|
|
//不隐藏下划线
|
|
$('#main-tabs').removeClass('none-topline');
|
|
//加载新的页签
|
|
//1.隐藏当前的所有的页签
|
|
$('#main-tabs > li').removeClass('active');
|
|
//2.加载心的页签
|
|
$('#main-tabs').append('<li id=' +tab_id +' class="active"><a data-toggle="tab" '
|
|
+ 'href="#' + tab_content_id +'">'+ tab_text
|
|
+ '<i class="fa fa-times" aria-hidden="true"></i></a></li>');
|
|
//3.隐藏显示的iframe
|
|
$('.tab-content > div').removeClass('active');
|
|
//4.加载新的iframe
|
|
$('.tab-content').append('<div id="' + tab_content_id + '" class="active" style="">'
|
|
+ '<iframe id="iframe' + tab_content_id + '" name="iframepage"'
|
|
+'style="" frameborder="0" scrolling="no" src="' + content_url
|
|
+ '"></iframe></div>');
|
|
}
|
|
//重置iframe的高度和宽度
|
|
resetIframeWidthAndHeight();
|
|
//绑定移除事件
|
|
addRemoveFuntion(tab_id)
|
|
return false;
|
|
};
|
|
|
|
//绑定移除事件
|
|
function addRemoveFuntion(tabId){
|
|
$('#'+tabId).find('i.fa.fa-times').bind('click', function(){
|
|
var tabId = $(this).parents('li').attr('id');
|
|
var resourceCode = tabId.substring(4);
|
|
removeTabLabel(resourceCode);
|
|
});
|
|
return false;
|
|
}
|
|
|
|
//初始化计算合高度
|
|
function resetIframeWidthAndHeight(){
|
|
//可视区域的宽度和高度
|
|
var width = $(window).width();
|
|
var height = $(window).height();
|
|
//左侧侧边栏的宽度
|
|
var leftNavWidth = $("#main-nav").width();
|
|
//右侧的nav高度
|
|
var rightNavHeight = $("#right-nav").height();
|
|
//页签的高度
|
|
var tabHeight = $("#main-tabs").height();
|
|
//计算iframe的宽度和高度
|
|
var iframeWidth = width - leftNavWidth - 5;
|
|
var iframeHeight = height - rightNavHeight - tabHeight - 34;
|
|
//重置高度和宽度
|
|
$("iframe").css("width", iframeWidth + "px");
|
|
$("iframe").css("height", iframeHeight +"px");
|
|
return false;
|
|
}
|
|
|
|
//根据resourceCode移除
|
|
function removeTabLabel(resourceCode){
|
|
//获取当前resourceCode标签
|
|
var tabId = "tab-" + resourceCode;
|
|
var tabContentId = "tab-content-" + resourceCode;
|
|
//1.移除页签
|
|
$('#' + tabId).remove();
|
|
//2.移除页签iframe
|
|
$('#' + tabContentId).remove();
|
|
//判断是否存在最后一个标签
|
|
var tabSize = $('#main-tabs').find('li').length;
|
|
if(1 == tabSize){
|
|
//不用管了 不存在子级的元素了
|
|
$('#main-tabs #tab_home a').tab('show');
|
|
}else{
|
|
var lastTabId = $('#main-tabs').find('li:last').attr('id');
|
|
var resourceCode = lastTabId.substring(4);
|
|
var lastTabContentId = 'tab-content-' + resourceCode;
|
|
//当前的最后一个显示
|
|
$('#main-tabs #' + lastTabId + ' a').tab('show');
|
|
//$('#' + lastTabId).addClass('active');
|
|
//$('#' + lastTabContentId).addClass('active');
|
|
}
|
|
}
|
|
|
|
//展示修改密码模态框
|
|
function editPasswordPage(){
|
|
$("#first_password").val("");
|
|
$("#confirm_password").val("");
|
|
$("#user_password").modal();
|
|
}
|
|
|
|
/*//密码修改验证
|
|
$("input.checkedPassword").bind("blur",function(){
|
|
var first_password = $.trim($("#first_password").val());
|
|
var confirm_password = $.trim($("#confirm_password").val());
|
|
if(first_password==""){
|
|
layer.msg("密码不能为空!");
|
|
return false;
|
|
}
|
|
if(confirm_password==""){
|
|
layer.msg("确认密码不能为空!");
|
|
return false;
|
|
}
|
|
if(confirm_password!=first_password){
|
|
layer.msg("确认密码和密码必须相同!");
|
|
return false;
|
|
}
|
|
});*/
|
|
function editPasswordPage(){
|
|
$("#first_password").val("");
|
|
$("#confirm_password").val("");
|
|
$("#user_password").modal();
|
|
}
|
|
//修改密码
|
|
function savePassword(){
|
|
var first_password = $.trim($("#first_password").val());
|
|
var confirm_password = $.trim($("#confirm_password").val());
|
|
if(first_password==""){
|
|
layer.msg("密码不能为空!");
|
|
return false;
|
|
}
|
|
if(confirm_password==""){
|
|
layer.msg("确认密码不能为空!");
|
|
return false;
|
|
}
|
|
if(confirm_password!=first_password){
|
|
layer.msg("确认密码和密码必须相同!");
|
|
return false;
|
|
}
|
|
$.ajax({
|
|
url: "/user/uodatasetpassword",
|
|
type:"POST",
|
|
data:{"id": $("#current_id").val(),
|
|
"password": first_password,
|
|
"confirmpassword": confirm_password
|
|
},// 你的formid
|
|
dataType:"JSON",
|
|
success: function (data) {
|
|
if (data.success) {
|
|
layer.msg(data.msg);
|
|
$("#password_cancel").click();
|
|
if (data.success==true){
|
|
window.location.href="/login";
|
|
}
|
|
|
|
}else{
|
|
layer.msg(data.msg);
|
|
}
|
|
},
|
|
error: function(data) {
|
|
var responseText = data.responseText;
|
|
var json_str = JSON.parse(responseText);
|
|
var status = json_str.status;
|
|
var message = json_str.message;
|
|
//判断是否是session超时
|
|
if(403==status){
|
|
layer.alert(message,function(){
|
|
window.location.href="/login";
|
|
});
|
|
}
|
|
layer.closeAll('loading');
|
|
}
|
|
});
|
|
}
|
|
|
|
//清除输入内容
|
|
function clear(){
|
|
//初始化信息
|
|
$("#username").val("");
|
|
$("#display").val("");
|
|
$("#password").val("");
|
|
$("#user_des").val("");
|
|
$("#id").val("0");
|
|
$("#user_status").val("0");
|
|
}
|
|
|
|
//修改用户页面
|
|
function editUserPage(){
|
|
clear();
|
|
var id = $("#current_id").val();
|
|
var username = $("#current_username").val();
|
|
var display = $("#current_display").val();
|
|
$("#operate_username").val(username);
|
|
$("#operate_display").val(display);
|
|
$("#operate_id").val(id);
|
|
//显示隐藏的数据
|
|
$("#operate_user_modal").modal();
|
|
}
|
|
|
|
//用户的更新和新增
|
|
function operateUserSave(){
|
|
var username = $.trim($("#operate_username").val());
|
|
var display = $.trim($("#operate_display").val());
|
|
if (username=="") {
|
|
layer.msg("请输入用户账号!");
|
|
return false;
|
|
}
|
|
if (display=="") {
|
|
layer.msg("请输入用户名称!");
|
|
return false;
|
|
}
|
|
layer.load(2);
|
|
/**
|
|
* 保存数据
|
|
*/
|
|
$.ajax({
|
|
url: "/user/operateUserSave",
|
|
type:"POST",
|
|
data:$('#operate_user_form').serialize(),// 你的formid
|
|
dataType:"JSON",
|
|
success: function (data) {
|
|
layer.closeAll('loading');
|
|
if (data.success) {
|
|
layer.msg(data.msg);
|
|
clear();
|
|
$("#operate_user_cancel").click();
|
|
}else{
|
|
layer.msg(data.msg);
|
|
}
|
|
},
|
|
error: function(data) {
|
|
var responseText = data.responseText;
|
|
var json_str = JSON.parse(responseText);
|
|
var status = json_str.status;
|
|
var message = json_str.message;
|
|
//判断是否是session超时
|
|
if(403==status){
|
|
layer.alert(message,function(){
|
|
window.location.href="/login";
|
|
});
|
|
}
|
|
layer.closeAll('loading');
|
|
}
|
|
})
|
|
}
|
|
|
|
//公共方法
|
|
//子级页面的菜单调用
|
|
function subCallBackParentMenu(id){
|
|
$('#'+id).trigger('click');
|
|
}
|
|
//子级调用父级删除某一个子菜单
|
|
function subCallBackRemoveMenu(id){
|
|
removeTabLabel(id);
|
|
}
|
|
|
|
//子级页面的菜单调用
|
|
function subCallBackReload(){
|
|
window.location.reload();
|
|
}
|
|
|
|
//公共方法
|
|
//获取当前时间,格式YYYY-MM-DD
|
|
function getNowFormatDate() {
|
|
var date = new Date();
|
|
var seperator1 = "-";
|
|
var year = date.getFullYear();
|
|
var month = date.getMonth() + 1;
|
|
var strDate = date.getDate();
|
|
if (month >= 1 && month <= 9) {
|
|
month = "0" + month;
|
|
}
|
|
if (strDate >= 0 && strDate <= 9) {
|
|
strDate = "0" + strDate;
|
|
}
|
|
var currentdate = year + seperator1 + month + seperator1 + strDate;
|
|
return currentdate;
|
|
}
|
|
|
|
//获取菜单是否关闭了
|
|
function getPageStatus(pageId){
|
|
var pageKey = 'page-' + pageId;
|
|
var pageStatus = $.cookie(pageKey);
|
|
if(undefined == pageStatus){
|
|
//初始化参数
|
|
currentPageStatus = 'N';
|
|
$.cookie(pageKey, currentPageStatus, {
|
|
expires: 1,
|
|
path: '/'
|
|
});
|
|
}else{
|
|
currentPageStatus = pageStatus;
|
|
}
|
|
/*$.ajax({
|
|
url: "/produce/getPageStatus",
|
|
type: "POST",
|
|
async: false,
|
|
data: {"pageId": pageId},// 你的formid
|
|
dataType:"JSON",
|
|
success: function (data) {
|
|
if(data.success){
|
|
currentPageStatus = data.obj;
|
|
}
|
|
},
|
|
error: function(data) {
|
|
var responseText = data.responseText;
|
|
var json_str = JSON.parse(responseText);
|
|
var status = json_str.status;
|
|
var message = json_str.message;
|
|
//判断是否是session超时
|
|
if(403==status){
|
|
layer.alert(message,function(){
|
|
window.parent.subCallBackReload();
|
|
});
|
|
}
|
|
|
|
layer.closeAll('loading');
|
|
}
|
|
});*/
|
|
}
|
|
|
|
//打开打印机设置的页面
|
|
function editPrinterModal(){
|
|
//置空下拉框
|
|
$("#operator_printer").html('');
|
|
//添加下拉框
|
|
CLODOP.Create_Printer_List(document.getElementById('operator_printer'));
|
|
//CLODOP.Create_Printer_List($('#operator_printer'));
|
|
$("#operator_printer").prepend("<option value='-1'>先预览后打印</option>");
|
|
//判断是否打开设计模式
|
|
if("admin" == $("#current_username").val()){
|
|
$("#operator_printer").prepend("<option value='-2'>设计模式</option>");
|
|
}
|
|
$("#operator_printer").val($('#current_printer_index').val());
|
|
|
|
//显示modal
|
|
$('#printer_modal').modal();
|
|
}
|
|
|
|
//保存或修改用户的打印机
|
|
function savePrinter(){
|
|
let site = $('#current_site').val();
|
|
let username = $("#current_username").val();
|
|
let printerId = $("#printer_id").val();
|
|
let printerIndex = $.trim($("#operator_printer").val());
|
|
let printerName = $("#operator_printer").find('option:selected').text();
|
|
let printerMethod = "print";
|
|
//判断打印方式
|
|
if(-2 == printerIndex){
|
|
printerMethod = "design";
|
|
}else if(-1 == printerIndex){
|
|
printerMethod = "preview";
|
|
}
|
|
let currentRow = {"id": printerId, "site": site, "username": username, "labelNo": '', "printerIndex": printerIndex,
|
|
"printerName": printerName, "printerMethod": printerMethod, "status": 'Y'}
|
|
/**
|
|
* 保存数据
|
|
*/
|
|
$.ajax({
|
|
url: "/user/savePrinter",
|
|
type: "POST",
|
|
contentType: 'application/json;charset=utf-8',
|
|
data: JSON.stringify(currentRow),// 你的formid
|
|
dataType:"JSON",
|
|
success: function (data) {
|
|
layer.closeAll('loading');
|
|
if (data.success) {
|
|
$("#printer_cancel").click();
|
|
layer.msg(data.msg);
|
|
window.location.reload();
|
|
}else{
|
|
layer.msg(data.msg);
|
|
}
|
|
},
|
|
error: function(data) {
|
|
var responseText = data.responseText;
|
|
var json_str = JSON.parse(responseText);
|
|
var status = json_str.status;
|
|
var message = json_str.message;
|
|
//判断是否是session超时
|
|
if(403==status){
|
|
layer.alert(message,function(){
|
|
window.location.href="/login";
|
|
});
|
|
}
|
|
layer.closeAll('loading');
|
|
}
|
|
})
|
|
}
|