413 lines
20 KiB
JavaScript
Raw Permalink Normal View History

2025-08-13 11:14:39 +08:00
/*
* PIT-ADMS V7.0.3 敏捷开发框架
* Copyright (c) 2013-2018 Hexagon PPM
* 创建人研发部
* 2017.03.16
* 手风琴风格皮肤
*/
var pageid = 'AdminSystemManage';
var userId;
var verify;
var toDo;
var processtoDo;
var bootstrap = function ($, learun) {
"use strict";
// 菜单操作
var meuns = {
init: function (parentId) {
this.load(parentId);
this.bind();
///获取用户待办事项
},
load: function (parentId) {
var modulesTree = learun.clientdata.get(['modulesTree']);
var modules = modulesTree[parentId] || [];
var $firstmenus = $('<ul class="lr-first-menu-list"></ul>');
console.log(modules,"-----modules")
for (var i = 0, l = modules.length; i < l; i++) {
var item = modules[i];
if (item.F_IsMenu == 1) {
var $firstMenuItem = $('<li></li>');
if (!!item.F_Description) {
$firstMenuItem.attr('title', item.F_Description);
}
var secondModules = modulesTree[item.F_ModuleId] || [];
var menuItemHtml = '<a id="' + item.F_ModuleId + '" href="javascript:void(0);" class="lr-menu-item">';
menuItemHtml += '<i class="' + item.F_Icon + ' lr-menu-item-icon"></i>';
menuItemHtml += '<span class="lr-menu-item-text">' + item.F_FullName + '</span>';
if (secondModules != "") {
menuItemHtml += '<span class="lr-menu-item-arrow"><i class="fa fa-angle-left"></i></span></a>';
}
$firstMenuItem.append(menuItemHtml);
// 第二级菜单
// var secondModules = modulesTree[item.F_ModuleId] || [];
var $secondMenus = $('<ul class="lr-second-menu-list"></ul>');
var secondMenuHad = false;
for (var j = 0, sl = secondModules.length; j < sl; j++) {
var secondItem = secondModules[j];
if (secondItem.F_IsMenu == 1) {
secondMenuHad = true;
var $secondMenuItem = $('<li></li>');
if (!!secondItem.F_Description) {
$secondMenuItem.attr('title', secondItem.F_Description);
}
var secondItemHtml = '<a id="' + secondItem.F_ModuleId + '" href="javascript:void(0);" class="lr-menu-item" >';
secondItemHtml += '<i class="' + secondItem.F_Icon + ' lr-menu-item-icon"></i>';
secondItemHtml += '<span class="lr-menu-item-text">' + secondItem.F_FullName + '</span>';
secondItemHtml += '</a>';
$secondMenuItem.append(secondItemHtml);
// 第三级菜单
var threeModules = modulesTree[secondItem.F_ModuleId] || [];
var $threeMenus = $('<ul class="lr-three-menu-list"></ul>');
var threeMenuHad = false;
for (var m = 0, tl = threeModules.length; m < tl; m++) {
var threeItem = threeModules[m];
if (threeItem.F_IsMenu == 1) {
threeMenuHad = true;
var $threeMenuItem = $('<li></li>');
$threeMenuItem.attr('title', threeItem.F_FullName);
var threeItemHtml = '<a id="' + threeItem.F_ModuleId + '" href="javascript:void(0);" class="lr-menu-item" >';
threeItemHtml += '<i class="' + threeItem.F_Icon + ' lr-menu-item-icon"></i>';
threeItemHtml += '<span class="lr-menu-item-text">' + threeItem.F_FullName + '</span>';
threeItemHtml += '</a>';
$threeMenuItem.append(threeItemHtml);
$threeMenus.append($threeMenuItem);
}
}
if (threeMenuHad) {
$secondMenuItem.addClass('lr-meun-had');
$secondMenuItem.find('a').append('<span class="lr-menu-item-arrow"><i class="fa fa-angle-left"></i></span>');
$secondMenuItem.append($threeMenus);
}
$secondMenus.append($secondMenuItem);
}
}
if (secondMenuHad) {
$firstMenuItem.append($secondMenus);
}
$firstmenus.append($firstMenuItem);
}
}
$('#lr_frame_menu').html($firstmenus);
// 语言包翻译
$('.lr-menu-item-text').each(function () {
var $this = $(this);
var text = $this.text();
learun.language.get(text, function (text) {
$this.text(text);
$this.parent().parent().attr('title', text);
});
});
if (modules.length == 0) {
$(".lr-frame-menu").hide();
$("#lr_frame_menu_btn").hide();
$(".lr-logo-title").css("paddingLeft", "20px");
//$(".lr-frame-main").css("padding", "56px 330px 200px 380px");
$(".lr-frame-main").css("padding", "56px 0px 0px 0px");
} else {
$(".lr-frame-menu").show();
$("#lr_frame_menu_btn").show();
// $(".lr-frame-main").css("padding", "56px 330px 200px 530px");
$(".lr-frame-main").css("padding", "56px 0px 0px 200px");
}
},
bind: function () {
$("#lr_frame_menu").lrscroll();
//$('#lr_frame_menu_btn').on('click', function () {
// var $body = $('body');
// if ($body.hasClass('lr-menu-closed')) {
// $body.removeClass('lr-menu-closed');
// // $("#lr_frame_main").css("padding", "56px 330px 200px 530px
// $("#lr_frame_main").css("padding", "56px 0px 0px 200px");
// }
// else {
// $body.addClass('lr-menu-closed');
// // $("#lr_frame_main").css("padding", "56px 330px 200px 380px");
// $("#lr_frame_main").css("padding", "56px 0px 0px 50px");
// }
//});
$('#lr_frame_menu_btn').on('click', function () {
if (!$(".lr-frame-menu").is(":hidden")) {
$(".lr-frame-menu").hide();
$(".lr-frame-main").css("padding", "56px 0px 0px 0px");
}
else {
$(".lr-frame-menu").show();
$(".lr-frame-main").css("padding", "56px 0px 0px 200px");
}
});
$('#lr_frame_menu a').hover(function () {
if ($('body').hasClass('lr-menu-closed')) {
var id = $(this).attr('id');
var text = $('#' + id + '>span').text();
layer.tips(text, $(this));
}
}, function () {
if ($('body').hasClass('lr-menu-closed')) {
layer.closeAll('tips');
}
});
$('.lr-frame-personCenter .dropdown-toggle').hover(function () {
if ($('body').hasClass('lr-menu-closed')) {
var text = $(this).text();
layer.tips(text, $(this));
}
}, function () {
if ($('body').hasClass('lr-menu-closed')) {
layer.closeAll('tips');
}
});
// 添加点击事件
$('#lr_frame_menu a').on('click', function () {
var $obj = $(this);
var id = $obj.attr('id');
var _module = learun.clientdata.get(['modulesMap', id]);
switch (_module.F_Target) {
case 'iframe':// 窗口
if (learun.validator.isNotNull(_module.F_UrlAddress).code) {
learun.frameTab.open(_module);
}
else {
}
break;
case 'expand':// 打开子菜单
var $ul = $obj.next();
if ($ul.is(':visible')) {
$ul.slideUp(500, function () {
$obj.removeClass('open');
});
}
else {
if ($ul.hasClass('lr-second-menu-list')) {
$('#lr_frame_menu .lr-second-menu-list').slideUp(300, function () {
$(this).prev().removeClass('open');
});
}
else {
$ul.parents('.lr-second-menu-list').find('.lr-three-menu-list').slideUp(300, function () {
$(this).prev().removeClass('open');
});
}
$ul.slideDown(300, function () {
$obj.addClass('open');
});
}
break;
}
});
}
};
// 单位平台一级菜单ID
var parentId = '1';
meuns.init(parentId);
var getTime = function (time) {
var d = new Date();
var c = d.DateDiff('d', time);
if (c <= 1) {
return learun.formatDate(time, 'hh:mm:ss');
}
else {
return learun.formatDate(time, 'yyyy/MM/dd');
}
}
//【消息提醒】
userId = $("#Hidden_UserId").val();
//创建集线器代理
var chat = $.connection.chatHub;
//定义供服务端调用的方法,发送消息 lr_im_msg
chat.client.sendMsg = function (messages) {
if (messages.Count > 0) {
$("#lr-im-alarm-model").css("display", "block");
if (messages.Count > 99) {
$("#MsgCount").text("99+");
$("#MsgCount").css("width", "22px");
} else {
$("#MsgCount").text(messages.Count);
}
$("#MsgContent").html('');
//var data = eval("(" + messages.Json + ")");
var html = "";
var data = JSON.parse(messages.Json);
for (var i = 0; i < data.length; i++) {
html += `<li class="list-group-item" id="${data[i].F_MsgId}" onclick="openMsg('${data[i].F_Content}','${data[i].F_MsgId}','${data[i].F_IsRead}')">`;
if (data[i].Title.length >= 20) {
html += '<span class="">&nbsp;' + data[i].Title.substring(0, 20) + '...</span >';
} else {
html += '<span class="">&nbsp;' + data[i].Title + '</span >';
}
//html += '<span class="" style="overflow: hidden;text-overflow:ellipsis;white-space: nowrap;" >' + data[i].Title + '</span >';
//html += '<span class="warning-date"></span>';
html += '<span class="warning-content">' + learun.formatDate(data[i].F_CreateDate, "yyyy-MM-dd hh:mm:ss") + '&nbsp;&nbsp;&nbsp;&nbsp;发送人:' + data[i].F_SendUserId + '</span>';
html += '</li>'
}
$("#MsgContent").append(html);
$("#lr-im-alarm-model").animate({ bottom: 0 }, 1000);
} else {
$("#lr-im-alarm-model").css("display", "none");
}
}
//定义供服务端调用的方法,发送消息 流程任务
chat.client.broadcastMessage = function (messages) {
if (messages.Count > 0) {
$("#process").css("display", "block");
if (messages.Count > 99) {
$("#processContent").text("99+");
$("#processContent").css("width", "22px");
} else {
$("#processContent").text(messages.Count);
}
$("#processContent").html('');
var data = eval("(" + messages.Json + ")");
var html = "";
for (var i = 0; i < data.length; i++) {
html += '<li class="list-group-item" onclick="verify(&quot;' + data[i].F_Id + '&quot;,&quot;' + data[i].F_TaskId + '&quot;,&quot;' + data[i].F_Title + '&quot;,&quot;' + data[i].F_SchemeName + '&quot;,&quot;' + data[i].F_TaskName + '&quot;,' + data[i].F_TaskType + ',&quot;' + data[i].F_SchemeCode + '&quot;)">';
if (data[i].F_TaskType == 3) {
html += '<span class="warning-type" >【加签】' + data[i].F_SchemeName + '</span>';
}
else {
html += '<span class="warning-type" >' + data[i].F_SchemeName + '</span >';
}
html += '<span class="warning-date">' + learun.formatDate(data[i].F_CreateDate, "yyyy-MM-dd hh:mm:ss") + '</span>';
if (data[i].F_SchemeName != data[i].F_Title) {
var name = data[i].F_TaskName + '(' + data[i].F_Title + ')';
if (name.length > 21) {
name = name.substring(0, 20) + '......';
}
html += '<span title="' + data[i].F_TaskName + '(' + data[i].F_Title + ')' + '" class="warning-content">' + name + '</span>';
}
else {
var name = data[i].F_TaskName;
if (name.length > 20) {
name = data[i].F_TaskName.substring(0, 20) + '...';
}
html += '<span title="' + data[i].F_TaskName + '" class="warning-content">' + name + '</span>';
}
html += '</li>'
}
$("#processContent").append(html);
$("#process").animate({ bottom: '0px' }, 1000);
} else {
$("#process").css("display", "none");
}
};
$.connection.hub.qs = { 'userId': $("#Hidden_UserId").val(), 'ProjectId': "" };
//默认加载执行
function init() {
chat.server.send(userId, "");
}
//AgainCreateFlow SignAuditFlow AuditFlow SignFlowNew 审批后台需要推送即时消息方法。
$.connection.hub.start().done(init);//开启客户端SignalR并首次运行init
//关闭消息弹框
$("#box-head-close").click(function () {
$("#lr-im-alarm-model").animate({ bottom: '-800px' }, 1000);
});
//关闭流程弹框
$("#processclose").click(function () {
$("#process").animate({ bottom: '-500px' }, 1000);
});
//跳转到对应的处理页面
verify = function (processId, taskId, title, schemeName, taskName, taskType) {
var UpdateStatus = false;
$.ajax({
type: 'GET',
url: top.$.rootUrl + '/LR_NewWorkFlow/NWFProcess/UpdateLook?taskId=' + taskId + '&UserId=' + $("#Hidden_UserId").val() + '&isLook=1',
data: null,
async: false,
success: function (data) {
var dataInfo = JSON.parse(data);
if (dataInfo["code"] != 200) {
UpdateStatus = true;
}
//else {
// //刷新页面消息提醒内容
// chat.server.send(userId);
//}
},
error: function (msg) { }, complete: function (data) {
}
});
if (UpdateStatus) {
learun.alert.warning("状态更新失败!");
return;
}
if (schemeName != title && title) {
title = schemeName + "(" + title + ")";
}
else {
title = schemeName;
}
//1审批2传阅3加签4子流程5重新创建[ShortcutEntrance(快捷入口)]
switch (taskType) {
case 1:// 审批
learun.frameTab.open({ F_ModuleId: taskId, F_Icon: 'fa magic', F_FullName: '审批-' + title + '/' + taskName, F_UrlAddress: '/LR_NewWorkFlow/NWFProcess/NWFContainerForm?tabIframeId=' + taskId + '&type=audit' + "&processId=" + processId + "&taskId=" + taskId + "&ShortcutEntrance=1" });
break;
case 2:// 传阅
learun.frameTab.open({ F_ModuleId: taskId, F_Icon: 'fa magic', F_FullName: '查阅-' + title + '/' + taskName, F_UrlAddress: '/LR_NewWorkFlow/NWFProcess/NWFContainerForm?tabIframeId=' + taskId + '&type=refer' + "&processId=" + processId + "&taskId=" + taskId + "&ShortcutEntrance=1" });
break;
case 3:// 加签
learun.frameTab.open({ F_ModuleId: taskId, F_Icon: 'fa magic', F_FullName: '加签审核-' + title + '/' + taskName, F_UrlAddress: '/LR_NewWorkFlow/NWFProcess/NWFContainerForm?tabIframeId=' + taskId + '&type=signAudit' + "&processId=" + processId + "&taskId=" + taskId + "&ShortcutEntrance=1" });
break;
case 4:// 子流程
learun.frameTab.open({ F_ModuleId: taskId, F_Icon: 'fa magic', F_FullName: '子流程-' + title + '/' + taskName, F_UrlAddress: '/LR_NewWorkFlow/NWFProcess/NWFContainerForm?tabIframeId=' + taskId + '&type=chlid' + "&processId=" + processId + "&taskId=" + taskId + "&ShortcutEntrance=1" });
break;
case 5:// 重新创建
learun.frameTab.open({ F_ModuleId: processId, F_Icon: 'fa magic', F_FullName: '重新发起-' + title, F_UrlAddress: '/LR_NewWorkFlow/NWFProcess/NWFContainerForm?processId=' + processId + '&tabIframeId=' + processId + '&type=againCreate' + "&ShortcutEntrance=1" });
break;
case 6:// 重新创建
learun.frameTab.open({ F_ModuleId: taskId, F_Icon: 'fa magic', F_FullName: '子流程-' + title + '/' + taskName, F_UrlAddress: '/LR_NewWorkFlow/NWFProcess/NWFContainerForm?tabIframeId=' + taskId + '&type=againChild' + "&processId=" + processId + "&taskId=" + taskId + "&ShortcutEntrance=1" });
break;
}
//点击之后缩回消息提醒框
//$("#lr-im-alarm-model").animate({ bottom: '-500px' }, 1000);
}
processtoDo = function () {
if ($("#lr_frame_tabs_ul").find("li[id='lr_tab_56ce34c2-882e-47d1-b12d-5036e3b79fcf']").length <= 0) {
learun.frameTab.open({ F_ModuleId: '56ce34c2-882e-47d1-b12d-5036e3b79fcf', F_Icon: 'fa fa-user', F_FullName: '流程任务', F_UrlAddress: '/LR_NewWorkFlow/NWFProcess/Index' });
}
};
toDo = function () {
learun.frameTab.open({ F_Icon: 'fa magic', F_FullName: '消息中心', F_UrlAddress: '/LR_IM/IMMsg/Index' });
};
};
function openMsg(content, id, isRead) {
$("#" + id).remove();
if ($("#MsgContent").html() == '') {
$("#lr-im-alarm-model").animate({ bottom: '-500px' }, 1000);
}
top.layer.open({
type: 1,
content: `<div style="font-size:18px;margin:20px 20px 0px 20px">${content}</div>`,
area: [1000 + 'px', 600 + 'px'],
title: '内容详情',
maxmin: true,
success: function (layero, index) {
$.post(top.$.rootUrl + '/LR_IM/IMMsg/UpdateIsread', { msgId: id, isRead: "1" }, function (data) {
let str = window.parent.$("#getMsgCount").text();
let str1 = str.substring(1, str.length - 1);
if (str1 && isRead == 0) {
if ((str1 - 1) == 0) {
window.parent.$("#getMsgCount").text("")
} else {
window.parent.$("#getMsgCount").text("(" + (str1 - 1) + ")")
}
}
})
},
});
}