//公共参数
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 = '
';
}else{
authTag = '';
}
//判断是否存在子级
if('Y' == haveChild){
authTag += '';
}else{
authTag += '';
}
//添加字体图标
authTag += '' + name;
}
//a标签结束
authTag += '';
//当存在子级的时候添加子级的内容(拼接子级内容)
if('Y' == haveChild){
var subNodes = authTree.subNodes;
for(var i = 0; i < subNodes.length; i++){
var subNode = subNodes[i];
//第一个添加标记
if(i == 0){
authTag += '';
}
}
}
//最后填充li结束
authTag += '';
return authTag;
}
//初始化homePage
function initHomePage(){
//加载新的页签
//1.加载心的页签
$('#main-tabs').append('首页');
//2.加载新的iframe
$('.tab-content').append(''
+ '
');
//重置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(''+ tab_text
+ '');
//3.隐藏显示的iframe
$('.tab-content > div').removeClass('active');
//4.加载新的iframe
$('.tab-content').append(''
+ '
');
}
//重置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("");
//判断是否打开设计模式
if("admin" == $("#current_username").val()){
$("#operator_printer").prepend("");
}
$("#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');
}
})
}