//jqGrid的配置信息
if($.jgrid){
$.jgrid.defaults.width = 1000;
$.jgrid.defaults.responsive = true;
$.jgrid.defaults.styleUI = 'Bootstrap';
}
//工具集合Tools
window.T = {};
// 获取请求参数
// 使用示例
// location.href = http://localhost/index.html?id=123
// T.p('id') --> 123;
var url = function(name) {
var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if(r!=null)return unescape(r[2]); return null;
};
T.p = url;
//只执行一次getToken()
var hasNewToken = false;
//登录token
var token = localStorage.getItem("token"); //localStorage sessionStorage
if(!token){
// parent.location.href = baseURL + 'admin/login.html';
//根据参数是否带有username和validatenumber来判断请求来源是否是办公自动化系统,若是则进行反向验证登录\
if(T.p("username")&&T.p("validateNumber")){
ValidLoginUser(T.p("validateNumber"));
}
if(iisRun) getToken();
}
function ValidLoginUser(validateNumber){
$.ajax({
type: "get",
async:false,
url:restServerBaseURL + "sys/portallogin" ,
dataType: "json",
timeout: 10000,
data: "",
error:function(){
alert('读取数据错误');
},
success:function(data){
//debugger
if(data.result.validateResult==true){
console.log('调用成功');
}
}
});
}
//jquery全局配置
$.ajaxSetup({
// beforeSend: function(xhr) {
// console.log("beforeSend:token is [%s]",token);
// },
dataType: "json",
cache: false,
headers: {
"token": token
},
xhrFields: {
withCredentials: true
},
crossDomain: true,
complete: function(xhr) {
// console.log("complete:token is [%s], xhr.responseJSON:",token,xhr.responseJSON);
//无效的token,则跳转到登录页面
if(!!xhr.responseJSON && xhr.responseJSON.code == 401){
//localStorage.setItem("token", "");
//alert("无效的token,请刷新页面或重新登陆系统!");
//parent.location.href = baseURL + 'admin/login.html';
//debugger;
//getToken();
}
//无效的token的另一种情况:ajax请求未完成即返回错误
// if(!!token && !xhr.responseJSON){
// debugger;
// getToken();
// }
}
});
//jqgrid全局配置
if($.jgrid){
$.extend($.jgrid.defaults, {
ajaxGridOptions : {
headers: {
"token": token
}
}
});
}
//获得Token
function getToken() {
// console.log("getToken:");
if(hasNewToken){
return;
}
hasNewToken = true;
//debugger
$.ajax({
// async: false,
type: "GET",
url: restServerBaseURL + "sys/caslogin2",
dataType: "jsonp",
jsonp: "callback",
jsonpCallback: "casloginCallback",
beforeSend: function(xhr) {},
complete: function(xhr) {}, //覆盖全局方法
success: function (r) {
if(r.code == 0){//登录成功
// console.log("\tnewToken:",r.token);
localStorage.setItem("token", r.token);
token = r.token;
parent.location.reload();
}else{
alert(r.msg);
}
},
error: function(xhr, err) {
if(xhr.status == 404){
alert("无效的REST服务器:" + restServerBaseURL);
}
}
});
}
//权限判断
function hasPermission(permission) { //alert ykm 2019-01-18 修改因门户点击进运维监控,没有权限的用户进到(//弹出窗口的权限判断)出现错误
if (window.parent.permissions != undefined) {
if(window.parent.permissions.indexOf(permission) > -1) {
return true;
}
else {
return false;
}
} else if(window.opener != undefined && window.opener.parent != undefined && window.opener.parent != null && window.opener.parent.permissions != undefined && window.opener.parent.permissions != null && window.opener.parent.permissions.indexOf(permission) > -1){ //弹出窗口的权限判断
return true;
} else if(window.opener != undefined && window.opener.opener != undefined && window.opener.opener.parent.permissions != undefined && window.opener.opener.parent.permissions.indexOf(permission) > -1){
return true;//窗口里再弹窗口 (单位管理)
}else{
return false
}
}
//重写alert
window.alert = function(msg, callback){
parent.layer.alert(msg, function(index){
parent.layer.close(index);
if(typeof(callback) === "function"){
callback("ok");
}
});
}
//重写confirm式样框
window.confirm = function(msg, callback){
parent.layer.confirm(msg, {btn: ['确定','取消']},
function(){//确定事件
if(typeof(callback) === "function"){
callback("ok");
}
});
}
//选择一条记录
function getSelectedRow() {
var grid = $("#jqGrid");
var rowKey = grid.getGridParam("selrow");
if(!rowKey){
alert("请选择一笔记录!");
return;
}
var selectedIDs = grid.getGridParam("selarrrow");
if(selectedIDs.length > 1){
alert("只能选择一笔记录!");
return;
}
return selectedIDs[0];
}
//选择多条记录
function getSelectedRows() {
var grid = $("#jqGrid");
var rowKey = grid.getGridParam("selrow");
if(!rowKey){
alert("请选择操作记录!");
return;
}
return grid.getGridParam("selarrrow");
}
//判断是否为空
function isBlank(value) {
return !value || !/\S/.test(value);
}
function openLayer(width, height, title, div){
layer.open({
type: 1,
skin: 'layui-layer-molv',
title: title,
shadeClose: false,
area: [width, height],
content: jQuery("#"+div)
});
}
function openLayerOfBtn(width, height, title, div, callback){
layer.open({
type: 1,
skin: 'layui-layer-molv',
title: title,
shadeClose: false,
area: [width, height],
content: jQuery("#"+div),
btn: ['确定', '取消'],
btn1: function (index) {
callback();
layer.close(index);
}
});
}
//选择附件layer
function openAttachmentLayer(callback, mime_type){
var attachment_jqGrid=$("#attachment_layer_jqGrid");
layer.open({
type: 1,
skin: 'layui-layer-molv',
title: '选择附件',
shadeClose: false,
area: ['80%', '80%'],
content: jQuery("#attachment_layer"),
btn: ['确定', '取消'],
btn1: function (index) {
var rowKey = attachment_jqGrid.getGridParam("selrow");
if(!rowKey){
alert("请选择一条记录");
return ;
}
var rowData = attachment_jqGrid.jqGrid("getRowData", rowKey);
var path=rowData.path;
callback(uploadFileResource+path);
layer.close(index);
}
});
attachment_jqGrid.jqGrid({
url: restServerBaseURL + 'sys/attachment/list',
postData:{mime_type: mime_type},
datatype: "json",
colModel: [
{ label: 'id', name: 'id', index: 'id', key: true, hidden: true },
{ label: '标题', name: 'title', width: 100 },
{ label: '地址', name: 'path', width: 100, hidden: true},
{ label: '缩略图', name: 'img', width: 100, formatter: function(value, options, row){
var mime=row.mimeType;
var path=row.path;
if(mime.indexOf('image') >= 0){
return '';
}else if(mime.indexOf('audio') >= 0){
return '
';
}else if(mime.indexOf('video') >= 0){
return '
';
}else if(mime.indexOf('application') >= 0){
return '
';
}
} },
{ label: '创建时间', name: 'createTime', width: 90 }
],
viewrecords: true,
height: "100%",
rowNum: 10,
//rowList : [10,20,30],
rownumbers: true,
rownumWidth: 25,
autowidth: true,
multiselect: false,
pager: "#attachment_layer_jqGridPager",
jsonReader : {
root: "page.list",
page: "page.currPage",
total: "page.totalPage",
records: "page.totalCount"
},
prmNames : {
page:"page",
rows:"limit",
order: "order"
},
gridComplete:function(){
//隐藏grid底部滚动条
attachment_jqGrid.closest(".ui-jqgrid-bdiv").css({ "overflow-x" : "hidden" });
}
});
}
//创建attachment-layer组件
var attachmentLayerTemplate=Vue.extend({
template:[
'