Authored by zhichao

fix:自监控管理->常用运维接口功能迁移页面接口调整

... ... @@ -264,15 +264,14 @@ layui.define(['xmSelect', 'md5'], function (exports) {
});
var url = obj.domainName + '/api-web/home/priviewOfiice/' + id + '?document=' + document + '&access_token=' + accessToken;
var loadIndex = layer.load(1, {shade: [0.3], content: '文件正在转换...'});
$.ajax({
admin.req({
type: "get",
url: url,
async: true,
success: function (data) {
if (data.code == 0) {
layer.close(loadIndex);
window.open("/src/lib/extend/pdfjs/web/viewer.html?test=" + encodeURIComponent(data.pdfPath));
}
async: true
}).done(function (data) {
if (data.code == 0) {
layer.close(loadIndex);
window.open("/src/lib/extend/pdfjs/web/viewer.html?test=" + encodeURIComponent(data.pdfPath));
}
});
},
... ... @@ -285,15 +284,14 @@ layui.define(['xmSelect', 'md5'], function (exports) {
});
var url = obj.domainName + `/api-web/openoffice/convertPdf/?path=${encodeURIComponent(filepath)}` + '&access_token=' + accessToken;
var loadIndex = layer.load(1, {shade: [0.3], content: '文件正在转换...'});
$.ajax({
admin.req({
type: "get",
url: url,
async: true,
success: function (data) {
if (data.code == 0) {
layer.close(loadIndex);
window.open("/src/lib/extend/pdfjs/web/viewer.html?test=" + encodeURIComponent(data.str));
}
async: true
}).done(function (data) {
if (data.code == 0) {
layer.close(loadIndex);
window.open("/src/lib/extend/pdfjs/web/viewer.html?test=" + encodeURIComponent(data.str));
}
});
},
... ... @@ -339,39 +337,38 @@ layui.define(['xmSelect', 'md5'], function (exports) {
resTypeXmSelect: function (xmSelectParams) {
admin.req({
url: `${obj.domainName}/api-web/manage/restype/list`,
async: false,
success: function (res) {
// 资源类型下拉框
var resTypeList = res.data;
var resTypeTree = obj.pidToChildren(resTypeList, "resTypeCode", "parentId");
xmSelect.render(Object.assign({
el: '#',
tips: '=资源类型=',
filterable: true,
radio: false,
clickClose: false,
initValue: [],
prop: {
name: 'resTypeName',
value: 'resTypeCode'
},
toolbar: {
show: true,
list: ['CLEAR']
},
tree: {
show: true,
showFolderIcon: true,
showLine: true,
strict: false,
indent: 20
},
data: resTypeTree,
on: function (data) {
async: false
}).done(function (res) {
// 资源类型下拉框
var resTypeList = res.data;
var resTypeTree = obj.pidToChildren(resTypeList, "resTypeCode", "parentId");
xmSelect.render(Object.assign({
el: '#',
tips: '=资源类型=',
filterable: true,
radio: false,
clickClose: false,
initValue: [],
prop: {
name: 'resTypeName',
value: 'resTypeCode'
},
toolbar: {
show: true,
list: ['CLEAR']
},
tree: {
show: true,
showFolderIcon: true,
showLine: true,
strict: false,
indent: 20
},
data: resTypeTree,
on: function (data) {
}
}, xmSelectParams));
}
}
}, xmSelectParams));
});
},
/**
... ... @@ -477,45 +474,44 @@ layui.define(['xmSelect', 'md5'], function (exports) {
var roleId = roleId_ ? roleId_ : '';
admin.req({
url: `${obj.domainName}/api-user/menus/findMenus?username=` + username + '&roleIds=' + roleId,
success: function (res) {
// 菜单下拉框
var menuList = res.data;
// menuList.forEach(item => {
// item.disabled = item.isLeaf !== 'Y';
// });
var menuTree = obj.pidToChildren(menuList, "id", "parentId");
//XuHaoJie 2021/10/21 添加是否是父节点
addProperty(menuTree);
var menuSelect = xmSelect.render(Object.assign({
el: '#',
tips: '=菜单=',
filterable: true,
radio: false,
clickClose: false,
initValue: [],
prop: {
name: 'name',
value: 'id'
},
toolbar: {
show: true,
list: ['CLEAR']
},
tree: {
show: true,
showFolderIcon: true,
showLine: true,
strict: false,
indent: 20
},
data: menuTree,
on: function (data) {
}).done(function (res) {
// 菜单下拉框
var menuList = res.data;
// menuList.forEach(item => {
// item.disabled = item.isLeaf !== 'Y';
// });
var menuTree = obj.pidToChildren(menuList, "id", "parentId");
//XuHaoJie 2021/10/21 添加是否是父节点
addProperty(menuTree);
var menuSelect = xmSelect.render(Object.assign({
el: '#',
tips: '=菜单=',
filterable: true,
radio: false,
clickClose: false,
initValue: [],
prop: {
name: 'name',
value: 'id'
},
toolbar: {
show: true,
list: ['CLEAR']
},
tree: {
show: true,
showFolderIcon: true,
showLine: true,
strict: false,
indent: 20
},
data: menuTree,
on: function (data) {
}
}, xmSelectParams));
if (done) {
done(menuSelect);
}
}, xmSelectParams));
if (done) {
done(menuSelect);
}
});
... ... @@ -534,32 +530,31 @@ layui.define(['xmSelect', 'md5'], function (exports) {
},
relationTypeXmSelect: function (xmSelectParams, done) {
admin.req({
url: `${obj.domainName}/api-web/relationType/getAll`,
success: function (res) {
var relationTypeList = res.data;
var relationTypeSelect = xmSelect.render(Object.assign({
el: '#',
tips: '=关系=',
filterable: true,
radio: false,
clickClose: false,
initValue: [],
prop: {
name: 'typeName',
value: 'reType'
},
toolbar: {
show: true,
list: ['ALL', 'CLEAR']
},
data: relationTypeList,
on: function (data) {
url: `${obj.domainName}/api-web/relationType/getAll`
}).done(function (res) {
var relationTypeList = res.data;
var relationTypeSelect = xmSelect.render(Object.assign({
el: '#',
tips: '=关系=',
filterable: true,
radio: false,
clickClose: false,
initValue: [],
prop: {
name: 'typeName',
value: 'reType'
},
toolbar: {
show: true,
list: ['ALL', 'CLEAR']
},
data: relationTypeList,
on: function (data) {
}
}, xmSelectParams));
if (done) {
done(relationTypeSelect);
}
}, xmSelectParams));
if (done) {
done(relationTypeSelect);
}
});
},
... ... @@ -616,49 +611,46 @@ layui.define(['xmSelect', 'md5'], function (exports) {
admin.req({
url: `${this.domainName}/api-web/manage/ddic/findSucDdics/${ddicCategory}?access_token=${accessToken}`
, method: 'get'
, success: function (res) {
if (res && res.data) {
var ddiclist = res.data;
$.each(ddiclist, function (i, v) {
options += '<option value="' + v.ddicCode + '">' + v.ddicName + '</option>';
});
$('#' + targtetId).html($(options));
if (callback) {
callback(ddiclist);
}
}).done(function (res) {
if (res && res.data) {
var ddiclist = res.data;
$.each(ddiclist, function (i, v) {
options += '<option value="' + v.ddicCode + '">' + v.ddicName + '</option>';
});
$('#' + targtetId).html($(options));
if (callback) {
callback(ddiclist);
}
}
, error(error) {
console.error(error);
}
}).error(function (error) {
console.error(error);
});
},
// 用户下拉框
userXmSelect: function (xmSelectParams) {
var userSelect;
$.ajax({
url: this.domainName + '/api-user/users/getAll?access_token=' + localStorage.getItem("access_token"),
async: false,
success: function (response) {
userSelect = xmSelect.render(Object.assign({
el: '#',
tips: '=选择用户=',
prop: {
name: 'nickname',
value: 'username'
},
autoRow: true,
filterable: true,
toolbar: {
show: true,
list: ['ALL', 'REVERSE', 'CLEAR']
},
data: response,
on: function (data) {
admin.req({
url: this.domainName + '/mj/user/getAll?accessToken=' + localStorage.getItem("access_token"),
async: false
}).done(function (response) {
userSelect = xmSelect.render(Object.assign({
el: '#',
tips: '=选择用户=',
prop: {
name: 'nickname',
value: 'username'
},
autoRow: true,
filterable: true,
toolbar: {
show: true,
list: ['ALL', 'REVERSE', 'CLEAR']
},
data: response,
on: function (data) {
}
}, xmSelectParams));
}
}
}, xmSelectParams));
});
return userSelect;
},
... ... @@ -839,19 +831,18 @@ layui.define(['xmSelect', 'md5'], function (exports) {
return "template/detail/" + resType.toLowerCase();
},
checkHasCluster: function (resType, resId) {
$.ajax({
admin.req({
url: this.domainName + '/api-web/detail/block?access_token=' + layui.sessions.getToken()['access_token'],
data: {
resId: resId,
kpiId: 'KPI096EB5BA'
},
async: false,
success: function (res) {
async: false
}).done(function (res) {
if (res && res.data && res.data.length > 0) {
if (res.data[0].value == '是') {
resType = 'ORACLE_RAC';
}
if (res && res.data && res.data.length > 0) {
if (res.data[0].value == '是') {
resType = 'ORACLE_RAC';
}
}
});
... ... @@ -859,51 +850,50 @@ layui.define(['xmSelect', 'md5'], function (exports) {
},
//BMC服务器和共享存储根据厂商和型号跳转不同的详情页
detailPathByProviderAndModel: function (resType, resId) {
$.ajax({
admin.req({
url: this.domainName + '/api-web/manage/resource/findById?access_token=' + layui.sessions.getToken()['access_token'],
data: {resId: resId},
async: false,
success: function (res) {
var res = res.obj;
var bean = res['bean'];
async: false
}).done(function (res) {
var res = res.obj;
var bean = res['bean'];
//存放BMC服务器厂商和详情页关系的map
var BMCMap = new Map();
BMCMap.set('DELL', 'HOST_BMC_DELL');
BMCMap.set('H3C', 'HOST_BMC_H3C');
BMCMap.set('HUAWEI', 'HOST_BMC_HUAWEI');
BMCMap.set('LENOVO', 'HOST_BMC_LENOVO');
BMCMap.set("IBM", "HOST_BMC_IBM");
BMCMap.set('Inspur', 'HOST_BMC_INSPUR');
BMCMap.set('sugon', 'HOST_BMC_SUGON');
BMCMap.set('HP', 'HOST_BMC_HP');
BMCMap.set('HP_knifeBox', 'HOST_BMC_HP_KNIFEBOX');
BMCMap.set('HUAWEI_KNIFEBOX', 'HOST_BMC_HUAWEI_KNIFEBOX');
BMCMap.set('HUAWEI_BLADE', 'HOST_BMC_HUAWEI_BLADE');
//存放BMC服务器厂商和详情页关系的map
var BMCMap = new Map();
BMCMap.set('DELL', 'HOST_BMC_DELL');
BMCMap.set('H3C', 'HOST_BMC_H3C');
BMCMap.set('HUAWEI', 'HOST_BMC_HUAWEI');
BMCMap.set('LENOVO', 'HOST_BMC_LENOVO');
BMCMap.set("IBM", "HOST_BMC_IBM");
BMCMap.set('Inspur', 'HOST_BMC_INSPUR');
BMCMap.set('sugon', 'HOST_BMC_SUGON');
BMCMap.set('HP', 'HOST_BMC_HP');
BMCMap.set('HP_knifeBox', 'HOST_BMC_HP_KNIFEBOX');
BMCMap.set('HUAWEI_KNIFEBOX', 'HOST_BMC_HUAWEI_KNIFEBOX');
BMCMap.set('HUAWEI_BLADE', 'HOST_BMC_HUAWEI_BLADE');
//存放共享存储厂商和详情页关系的map
var shareMap = new Map();
shareMap.set('HUAWEI', 'STORAGE_SHARE');
shareMap.set('Inspur', 'STORAGE_SHARE_INSPUR');
//存放共享存储厂商和详情页关系的map
var shareMap = new Map();
shareMap.set('HUAWEI', 'STORAGE_SHARE');
shareMap.set('Inspur', 'STORAGE_SHARE_INSPUR');
if (resType.indexOf('HOST_X86SERVER') != -1) {
if (bean.provider == 'HP' && bean.model.split('-')[0] == 'C7000') {
resType = BMCMap.get('HP_knifeBox');
} else if (bean.provider == 'H3C' && bean.model.split('-')[1] == 'R690') {
resType = BMCMap.get('HP');
} else if (bean.provider === 'HUAWEI' && bean.model === 'E9000') {
resType = BMCMap.get('HUAWEI_KNIFEBOX');
} else if (bean.resCode && bean.resCode.indexOf('华为Blade__') && bean.parentId) {
resType = BMCMap.get('HUAWEI_BLADE');
} else {
if (BMCMap.get(bean.provider)) {
resType = BMCMap.get(bean.provider)
}
if (resType.indexOf('HOST_X86SERVER') != -1) {
if (bean.provider == 'HP' && bean.model.split('-')[0] == 'C7000') {
resType = BMCMap.get('HP_knifeBox');
} else if (bean.provider == 'H3C' && bean.model.split('-')[1] == 'R690') {
resType = BMCMap.get('HP');
} else if (bean.provider === 'HUAWEI' && bean.model === 'E9000') {
resType = BMCMap.get('HUAWEI_KNIFEBOX');
} else if (bean.resCode && bean.resCode.indexOf('华为Blade__') && bean.parentId) {
resType = BMCMap.get('HUAWEI_BLADE');
} else {
if (BMCMap.get(bean.provider)) {
resType = BMCMap.get(bean.provider)
}
}
if (resType.indexOf('STORAGE_SHARE') != -1) {
resType = shareMap.get(bean.provider)
}
}
if (resType.indexOf('STORAGE_SHARE') != -1) {
resType = shareMap.get(bean.provider)
}
})
return resType;
... ... @@ -1374,8 +1364,9 @@ layui.define(['xmSelect', 'md5'], function (exports) {
}
alink.setAttribute("lay-href", layHref.split('=')[0] + param);
admin.req({
url: obj.domainName + '/api-web/mxgraph/getJtopoInfoById/' + layHref.split('=')[2],
success(response) {
url: obj.domainName + '/api-web/mxgraph/getJtopoInfoById/' + layHref.split('=')[2]
}).done(
function (response) {
//LH 修改 弹框展示子拓扑
layer.open({
title: response.object.topoName,
... ... @@ -1383,11 +1374,9 @@ layui.define(['xmSelect', 'md5'], function (exports) {
area: ['90%', '90%'],
content: obj.graphEditorOrigin + "/jgraph/grapheditor/viewer.html?access_token=" + localStorage.getItem('access_token') + '&id=' + layHref.split('=')[2],//+ "&layout=organic",
})
},
error() {
layer.closeAll('loading');
layer.msg('生成资源拓扑失败...', {icon: 2});
}
}).error(function () {
layer.closeAll('loading');
layer.msg('生成资源拓扑失败...', {icon: 2});
});
// document.body.appendChild(alink);
... ... @@ -1404,66 +1393,65 @@ layui.define(['xmSelect', 'md5'], function (exports) {
admin.req({
url: obj.domainName + "/api-web/home/resource/findById?resId=" + resId
, type: "get"
, done: function (res) {
if (res.str === 'false') {
layer.msg('暂无该资源权限!', {icon: 0});
return;
}).done(function (res) {
if (res.str === 'false') {
layer.msg('暂无该资源权限!', {icon: 0});
return;
}
var data = res.object;
if (data) {
// var resTypeName = data.resTypeName ? data.resTypeName + " | " : "";
// var resName = data.resName ? data.resName + " | " : "";
// var resIp = data.ip ? data.ip + " | " : "";
// var resPositon = data.resPositon ? data.resPositon + " | " : "";
// var resLabel = data.resLabel ? data.resLabel + " | " : "";
// var admin = data.admin ? data.admin : "";
// var title = resTypeName + resName + resIp + resPositon + resLabel + admin;
var resId = data.resId;
var resType = data.resType;
var resName = data.resName;
var ip = data.ip;
var resTypeName = data.resTypeName;
var adminName = data.adminName;
var manageIp = data.manageIp;
var collProtocol = data.collProtocol;
var title = resName;
if (title && title != '') {
title += '|';
}
var data = res.object;
if (data) {
// var resTypeName = data.resTypeName ? data.resTypeName + " | " : "";
// var resName = data.resName ? data.resName + " | " : "";
// var resIp = data.ip ? data.ip + " | " : "";
// var resPositon = data.resPositon ? data.resPositon + " | " : "";
// var resLabel = data.resLabel ? data.resLabel + " | " : "";
// var admin = data.admin ? data.admin : "";
// var title = resTypeName + resName + resIp + resPositon + resLabel + admin;
var resId = data.resId;
var resType = data.resType;
var resName = data.resName;
var ip = data.ip;
var resTypeName = data.resTypeName;
var adminName = data.adminName;
var manageIp = data.manageIp;
var collProtocol = data.collProtocol;
var title = resName;
if (title && title != '') {
title += '|';
}
if (resTypeName && resType !== 'HOST_X86SERVER') {
title += resTypeName + '|';
}
if (ip) {
if (resType === 'HOST_X86SERVER') {
if (collProtocol && (collProtocol.split(",").length > 1 || collProtocol === 'SSH')) {
title += '应用IP-' + ip + '|';
}
} else {
title += ip + '|';
}
}
if (resType === 'HOST_X86SERVER' && collProtocol && collProtocol.indexOf('SNMP') !== -1) {
if (manageIp) {
title += '管理IP-' + manageIp + '|';
if (resTypeName && resType !== 'HOST_X86SERVER') {
title += resTypeName + '|';
}
if (ip) {
if (resType === 'HOST_X86SERVER') {
if (collProtocol && (collProtocol.split(",").length > 1 || collProtocol === 'SSH')) {
title += '应用IP-' + ip + '|';
}
} else {
title += ip + '|';
}
if (adminName) {
title += adminName + '|';
}
if (title.length > 0) {
title = title.substr(0, title.length - 1);
}
if (!commonDetail) {
commonDetail = layui.commonDetail;
}
if (data.pingEnable == '2') { //如果pingEnable为2,则进入ping状态详情页面
commonDetail.openNewWin('template/detail/pingIndex', title, {'resId': data.resId}, false);
} else { //否则进入监控详情页面
commonDetail.openDetail(data.resId, data.resType, title);
}
if (resType === 'HOST_X86SERVER' && collProtocol && collProtocol.indexOf('SNMP') !== -1) {
if (manageIp) {
title += '管理IP-' + manageIp + '|';
}
} else {
layer.msg("获取资源详细信息失败,请稍后再试!", {offset: '15px', icon: 7, time: 2000});
}
if (adminName) {
title += adminName + '|';
}
if (title.length > 0) {
title = title.substr(0, title.length - 1);
}
if (!commonDetail) {
commonDetail = layui.commonDetail;
}
if (data.pingEnable == '2') { //如果pingEnable为2,则进入ping状态详情页面
commonDetail.openNewWin('template/detail/pingIndex', title, {'resId': data.resId}, false);
} else { //否则进入监控详情页面
commonDetail.openDetail(data.resId, data.resType, title);
}
} else {
layer.msg("获取资源详细信息失败,请稍后再试!", {offset: '15px', icon: 7, time: 2000});
}
});
},
... ... @@ -1471,49 +1459,46 @@ layui.define(['xmSelect', 'md5'], function (exports) {
layer.load(2);
admin.req({
url: obj.domainName + '/api-web/mxgraph/generateByResId',
data: {resId},
success(response) {
layer.closeAll('loading');
if (response && response.success) {
layer.open({
type: 2,
content: obj.graphEditorOrigin + "/jgraph/grapheditor/viewer.html?access_token=" + localStorage.getItem('access_token') + '&id=' + response.str + "&layout=organic",
area: ['98%', '98%'],
title: ''
});
} else {
layer.msg('生成资源拓扑失败!', {icon: 2});
}
},
error() {
layer.closeAll('loading');
layer.msg('生成资源拓扑失败...', {icon: 2});
data: {resId}
}).done(function (response) {
layer.closeAll('loading');
if (response && response.success) {
layer.open({
type: 2,
content: obj.graphEditorOrigin + "/jgraph/grapheditor/viewer.html?access_token=" + localStorage.getItem('access_token') + '&id=' + response.str + "&layout=organic",
area: ['98%', '98%'],
title: ''
});
} else {
layer.msg('生成资源拓扑失败!', {icon: 2});
}
});
}).error(function () {
layer.closeAll('loading');
layer.msg('生成资源拓扑失败...', {icon: 2});
})
},
viewAjView: function (reportCode, height, width) {
layer.load(2);
admin.req({
url: obj.domainName + '/api-web/ajConfig/findOneById',
data: {id: reportCode},
success(response) {
data: {id: reportCode}
}).done(function (response) {
layer.closeAll('loading');
if (response && response.success) {
layer.open({
type: 2,
content: obj.ajScreenStatement + "/#/bigscreen/viewer?reportCode=" + response.object.designPage + response.object.param + "&access_token=" + localStorage.getItem('access_token'),
area: [height, width],
title: response.object.title
});
} else {
layer.open({
type: 2,
content: obj.ajScreenStatement + "/#/bigscreen/viewer?reportCode=" + reportCode + "&access_token=" + localStorage.getItem('access_token'),
area: [height, width],
title: ''
});
layer.closeAll('loading');
if (response && response.success) {
layer.open({
type: 2,
content: obj.ajScreenStatement + "/#/bigscreen/viewer?reportCode=" + response.object.designPage + response.object.param + "&access_token=" + localStorage.getItem('access_token'),
area: [height, width],
title: response.object.title
});
} else {
layer.open({
type: 2,
content: obj.ajScreenStatement + "/#/bigscreen/viewer?reportCode=" + reportCode + "&access_token=" + localStorage.getItem('access_token'),
area: [height, width],
title: ''
});
layer.closeAll('loading');
}
}
});
},
... ... @@ -1521,24 +1506,22 @@ layui.define(['xmSelect', 'md5'], function (exports) {
layer.load(2);
admin.req({
url: obj.domainName + '/api-web/mxgraph/generateByBusId',
data: {busId},
success(response) {
layer.closeAll('loading');
if (response && response.success) {
layer.open({
type: 2,
content: obj.graphEditorOrigin + "/jgraph/grapheditor/viewer.html?access_token=" + localStorage.getItem('access_token') + '&id=' + response.str + "&layout=organic",
area: ['98%', '98%'],
title: ''
});
} else {
layer.msg('生成业务拓扑失败!', {icon: 2});
}
},
error() {
layer.closeAll('loading');
layer.msg('生成业务拓扑失败...', {icon: 2});
data: {busId}
}).done(function (response) {
layer.closeAll('loading');
if (response && response.success) {
layer.open({
type: 2,
content: obj.graphEditorOrigin + "/jgraph/grapheditor/viewer.html?access_token=" + localStorage.getItem('access_token') + '&id=' + response.str + "&layout=organic",
area: ['98%', '98%'],
title: ''
});
} else {
layer.msg('生成业务拓扑失败!', {icon: 2});
}
}).error(function () {
layer.closeAll('loading');
layer.msg('生成业务拓扑失败...', {icon: 2});
});
},
... ... @@ -1573,54 +1556,52 @@ layui.define(['xmSelect', 'md5'], function (exports) {
//绑定业务下拉选择数据
admin.req({
url: this.domainName + '/api-web/home/business/findAllBusType',
async: false,
success: function (response) {
if (response && response.success) {
var bizList = response.data.map(item => {
return {
name: item.busTypeName,
value: item.busId,
parentId: item.parentId
}
});
var bizTree = obj.pidToChildren(bizList, 'value', 'parentId', canNotCheckPranet);
// 影响业务下拉框
xmSelect.render(Object.assign({
el: '#',
name: '',
tips: '=所属业务=',
//默认开启多选、选完不关闭下拉
radio: false,
clickClose: false,
//开启搜索
filterable: true,
direction: 'down',
initValue: [],
toolbar: {
show: true,
list: ['ALL', 'REVERSE', 'CLEAR']
},
height: '400px',
tree: {
show: true,
showFolderIcon: true,
showLine: true,
strict: true,
//间距
indent: 20,
},
data: bizTree,
on: function (data) {
}
}, xmSelectParams));
} else {
layer.msg('获取业务失败', {icon: 2});
}
},
error: function () {
async: false
}).done(function (response) {
if (response && response.success) {
var bizList = response.data.map(item => {
return {
name: item.busTypeName,
value: item.busId,
parentId: item.parentId
}
});
var bizTree = obj.pidToChildren(bizList, 'value', 'parentId', canNotCheckPranet);
// 影响业务下拉框
xmSelect.render(Object.assign({
el: '#',
name: '',
tips: '=所属业务=',
//默认开启多选、选完不关闭下拉
radio: false,
clickClose: false,
//开启搜索
filterable: true,
direction: 'down',
initValue: [],
toolbar: {
show: true,
list: ['ALL', 'REVERSE', 'CLEAR']
},
height: '400px',
tree: {
show: true,
showFolderIcon: true,
showLine: true,
strict: true,
//间距
indent: 20,
},
data: bizTree,
on: function (data) {
}
}, xmSelectParams));
} else {
layer.msg('获取业务失败', {icon: 2});
}
},);
}).error(function () {
layer.msg('获取业务失败', {icon: 2});
})
},
getTingyunToken: function () {
var token = '';
... ... @@ -1691,23 +1672,21 @@ layui.define(['xmSelect', 'md5'], function (exports) {
var err = null;
do {
try {
$.ajax(Object.assign({
admin.req(Object.assign({
url: '',
headers: {
Authorization: token
},
async: false,
success(response) {
res = response;
if (response && response.code.toString().startsWith('401')) {
throw new Error();
}
},
error(error) {
err = error;
async: false
}, ajaxParams)).done(function (response) {
res = response;
if (response && response.code.toString().startsWith('401')) {
throw new Error();
}
}, ajaxParams));
}).error(function (error) {
err = error;
throw new Error();
});
} catch (e) {
failCount--;
if (failCount) {
... ... @@ -1771,14 +1750,12 @@ layui.define(['xmSelect', 'md5'], function (exports) {
admin.req({
url: this.domainName + '/api-web/manage/resource/getShowType?resId=' + resId + '&username=' + username,
async: false,
success: function (response) {
if (response && response.success) {
value = response.str;
}
},
error: function () {
layer.msg('获取用户权限失败', {icon: 2});
}).done(function (response) {
if (response && response.success) {
value = response.str;
}
}).error(function () {
layer.msg('获取用户权限失败', {icon: 2});
});
return value;
},
... ... @@ -2008,7 +1985,7 @@ layui.define(['xmSelect', 'md5'], function (exports) {
return fmt;
}
if(form){
if (form) {
// 表单验证
form.verify({
json: function (d) {
... ...
... ... @@ -19,18 +19,16 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'laydate'
layer.close(confirmIndex);
layer.load(2);
admin.req({
url: domainName + '/api-web/manage/sync/redis',
done: function (response) {
layer.closeAll('loading');
if (response.success) {
layer.msg('同步成功!', {icon: 1, time: 3000});
} else {
layer.msg('同步失败!' + response.msg, {icon: 2, time: 3000});
}
},
error: function () {
layer.closeAll('loading');
url: domainName + '/api-web/manage/sync/redis'
}).done(function (response) {
layer.closeAll('loading');
if (response.success) {
layer.msg('同步成功!', {icon: 1, time: 3000});
} else {
layer.msg('同步失败!' + response.msg, {icon: 2, time: 3000});
}
}).error(function () {
layer.closeAll('loading');
});
});
});
... ... @@ -41,18 +39,16 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'laydate'
layer.close(confirmIndex);
layer.load(2);
admin.req({
url: domainName + '/api-web/manage/sync/es',
done: function (response) {
layer.closeAll('loading');
if (response.success) {
layer.msg('同步成功!', {icon: 1, time: 3000});
} else {
layer.msg('同步失败!' + response.msg, {icon: 2, time: 3000});
}
},
error: function () {
layer.closeAll('loading');
url: domainName + '/api-web/manage/sync/es'
}).done(function (response) {
layer.closeAll('loading');
if (response.success) {
layer.msg('同步成功!', {icon: 1, time: 3000});
} else {
layer.msg('同步失败!' + response.msg, {icon: 2, time: 3000});
}
}).error(function () {
layer.closeAll('loading');
});
});
});
... ... @@ -79,18 +75,16 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'laydate'
data: {
url: $btnDom.data('url'),
urlPrefix: $btnDom.data('prefix')
},
success: function (response) {
layer.closeAll('loading');
if (response.success) {
layer.confirm('请求成功!<br/>' + response.msg, {icon: 1});
} else {
layer.confirm('请求失败!' + response.msg, {icon: 2});
}
},
error: function (e) {
layer.closeAll('loading');
}
}).done(function (response) {
layer.closeAll('loading');
if (response.success) {
layer.confirm('请求成功!<br/>' + response.msg, {icon: 1});
} else {
layer.confirm('请求失败!' + response.msg, {icon: 2});
}
}).error(function (e) {
layer.closeAll('loading');
});
});
});
... ... @@ -108,18 +102,16 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'laydate'
data: {
url: '/delete/key?key=' + value,
urlPrefix: $('#btn-delete-redis-key').data('prefix')
},
success: function (response) {
layer.closeAll('loading');
if (response.success) {
layer.confirm('请求成功!<br/>' + response.msg, {icon: 1});
} else {
layer.confirm('请求失败!' + response.msg, {icon: 2});
}
},
error: function (e) {
layer.closeAll('loading');
}
}).done(function (response) {
layer.closeAll('loading');
if (response.success) {
layer.confirm('请求成功!<br/>' + response.msg, {icon: 1});
} else {
layer.confirm('请求失败!' + response.msg, {icon: 2});
}
}).error(function (e) {
layer.closeAll('loading');
});
});
});
... ... @@ -146,18 +138,16 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'laydate'
data: {
url: $btnDom.data('url') + data[0].resId,
urlPrefix: $btnDom.data('prefix')
},
success: function (response) {
layer.closeAll('loading');
if (response.success) {
layer.confirm('请求成功!<br/>' + response.msg, {icon: 1});
} else {
layer.confirm('请求失败!' + response.msg, {icon: 2});
}
},
error: function (e) {
layer.closeAll('loading');
}
}).done(function (response) {
layer.closeAll('loading');
if (response.success) {
layer.confirm('请求成功!<br/>' + response.msg, {icon: 1});
} else {
layer.confirm('请求失败!' + response.msg, {icon: 2});
}
}).error(function (e) {
layer.closeAll('loading');
});
return true
});
... ... @@ -187,18 +177,16 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'laydate'
data: {
url: $btnDom.data('url') + data[0].id,
urlPrefix: $btnDom.data('prefix')
},
success: function (response) {
layer.closeAll('loading');
if (response.success) {
layer.confirm('请求成功!<br/>' + response.msg, {icon: 1});
} else {
layer.confirm('请求失败!' + response.msg, {icon: 2});
}
},
error: function (e) {
layer.closeAll('loading');
}
}).done(function (response) {
layer.closeAll('loading');
if (response.success) {
layer.confirm('请求成功!<br/>' + response.msg, {icon: 1});
} else {
layer.confirm('请求失败!' + response.msg, {icon: 2});
}
}).error(function (e) {
layer.closeAll('loading');
});
return true
}, null, null, function () {
... ... @@ -247,7 +235,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'laydate'
}).done(function (response) {
if (response.data.length == 0) {
admin.req({
url: domainName + '/api-web/manage/ddic/save?access_token=' + accessToken,
url: domainName + '/api-web/manage/ddic/save',
type: 'POST',
contentType: 'application/json',
data: JSON.stringify(ddic)
... ... @@ -273,7 +261,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'laydate'
//查询所有数据IP中的数据
function selectIP() {
admin.req({
url: domainName + '/api-web/manage/ddic/page?access_token=' + accessToken + "&ddicCategory=syncAddr",
url: domainName + '/api-web/manage/ddic/page?ddicCategory=syncAddr',
}).done(function (response) {
$('#url-prefix').empty();
var html = '<option value="http://127.0.0.1:8414">http://127.0.0.1:8414</option>'
... ... @@ -305,19 +293,17 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'laydate'
layer.close(confirmIndex);
layer.load(2);
admin.req({
url: domainName + '/api-web/manage/sync/initInstallRelationInfo',
success: function (response) {
layer.closeAll('loading');
if (response.success) {
layer.confirm(response.str, {icon: 1});
} else {
layer.confirm('初始化失败!', {icon: 2});
}
},
error: function (e) {
layer.closeAll('loading');
url: domainName + '/api-web/manage/sync/initInstallRelationInfo'
}).done(function (response) {
layer.closeAll('loading');
if (response.success) {
layer.confirm(response.str, {icon: 1});
} else {
layer.confirm('初始化失败!', {icon: 2});
}
}).error(function (e) {
layer.closeAll('loading');
layer.confirm('初始化失败!', {icon: 2});
});
});
});
... ... @@ -363,22 +349,20 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'laydate'
url: domainName + '/api-web/manage/kpi/list',
data: {
restype: ''
},
success(response) {
if (response && response.success) {
var options = '<option value="">=指标Id=</option>';
response.data.forEach(item => {
options += `<option value="${item.kpiId}###${item.kpiName}">${item.kpiId}&emsp;${item.kpiName}&emsp;${item.kpiIdent}</option>`;
});
$form.find('select[name="kpiId"]').html(options);
form.render('select', 'form-input-collector');
} else {
this.error();
}
},
error() {
layer.msg('获取指标信息失败!', {icon: 2});
}
}).done(function (response) {
if (response && response.success) {
var options = '<option value="">=指标Id=</option>';
response.data.forEach(item => {
options += `<option value="${item.kpiId}###${item.kpiName}">${item.kpiId}&emsp;${item.kpiName}&emsp;${item.kpiIdent}</option>`;
});
$form.find('select[name="kpiId"]').html(options);
form.render('select', 'form-input-collector');
} else {
this.error();
}
}).error(function () {
layer.msg('获取指标信息失败!', {icon: 2});
});
// 选择kpi
form.on('select(slt-input-collector-kpiId)', function (data) {
... ... @@ -403,24 +387,22 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'laydate'
collectorData.kpiId = kpiInfos[0];
collectorData.kpiName = kpiInfos[1];
layer.load(2);
$.ajax({
url: domainName + '/api-web/manage/sync/crtDataReal?access_token=' + accessToken,
admin.req({
url: domainName + '/api-web/manage/sync/crtDataReal',
type: 'POST',
data: JSON.stringify(collectorData),
contentType: 'application/json',
success(response) {
layer.closeAll('loading');
if (response && response.code === 'success') {
layer.closeAll('page');
layer.msg(response.message, {icon: 1});
} else {
layer.msg(response.message, {icon: 2});
}
},
error() {
layer.closeAll('loading');
layer.msg('录入失败!', {icon: 2});
contentType: 'application/json'
}).done(function (response) {
layer.closeAll('loading');
if (response && response.code === 'success') {
layer.closeAll('page');
layer.msg(response.message, {icon: 1});
} else {
layer.msg(response.message, {icon: 2});
}
}).error(function () {
layer.closeAll('loading');
layer.msg('录入失败!', {icon: 2});
})
});
},
... ... @@ -468,21 +450,19 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'laydate'
layer.load(2);
admin.req({
url: domainName + '/api-web/manage/sync/sendMsg',
data: msgData,
success(response) {
layer.closeAll('loading');
if (response && response.success) {
layer.msg('发送成功!', {icon: 1});
layer.closeAll('page');
} else {
layer.msg('发送失败!', {icon: 2});
}
},
error() {
layer.closeAll('loading');
data: msgData
}).done(function (response) {
layer.closeAll('loading');
if (response && response.success) {
layer.msg('发送成功!', {icon: 1});
layer.closeAll('page');
} else {
layer.msg('发送失败!', {icon: 2});
}
});
}).error(function () {
layer.closeAll('loading');
layer.msg('发送失败!', {icon: 2});
})
});
},
yes() {
... ... @@ -527,45 +507,41 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'laydate'
url: domainName + '/api-web/manage/kpi/list',
data: {
restype: ''
},
success(response) {
if (response && response.success) {
var options = '<option value="">=指标Id=</option>';
response.data.forEach(item => {
options += `<option value="${item.kpiId}">${item.kpiId}&emsp;${item.kpiName}&emsp;${item.kpiIdent}</option>`;
});
$form.find('select[name="kpiId"]').html(options);
form.render('select', 'form-es-export');
} else {
this.error();
}
},
error() {
layer.msg('获取指标信息失败!', {icon: 2});
}
}).done(function (response) {
if (response && response.success) {
var options = '<option value="">=指标Id=</option>';
response.data.forEach(item => {
options += `<option value="${item.kpiId}">${item.kpiId}&emsp;${item.kpiName}&emsp;${item.kpiIdent}</option>`;
});
$form.find('select[name="kpiId"]').html(options);
form.render('select', 'form-es-export');
} else {
this.error();
}
}).error(function () {
layer.msg('获取指标信息失败!', {icon: 2});
});
// 表单提交
form.on('submit(form-es-export)', function (data) {
var formData = form.val('form-es-export');
layer.load(2);
$.ajax({
url: domainName + '/api-web/manage/sync/esExport?access_token=' + accessToken,
admin.req({
url: domainName + '/api-web/manage/sync/esExport',
type: 'GET',
data: formData,
success(response) {
layer.closeAll('loading');
if (response && response.success) {
layer.closeAll('page');
layer.msg(response.msg, {icon: 1});
} else {
layer.msg(response.msg, {icon: 2});
}
},
error() {
layer.closeAll('loading');
layer.msg('导出失败!', {icon: 2});
data: formData
}).done(function (response) {
layer.closeAll('loading');
if (response && response.success) {
layer.closeAll('page');
layer.msg(response.msg, {icon: 1});
} else {
layer.msg(response.msg, {icon: 2});
}
}).error(function () {
layer.closeAll('loading');
layer.msg('导出失败!', {icon: 2});
})
});
},
... ... @@ -580,24 +556,22 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'laydate'
$('#btn-es-import').unbind('click').on('click', function () {
layer.prompt({title: '文件路径', formType: 2}, function (text, index) {
$.ajax({
url: domainName + '/api-web/manage/sync/esImport?access_token=' + accessToken,
admin.req({
url: domainName + '/api-web/manage/sync/esImport',
data: {
filePath: text
},
success(response) {
layer.closeAll('loading');
if (response && response.success) {
layer.close(index);
layer.msg(response.msg, {icon: 1});
} else {
layer.msg(response.msg, {icon: 2});
}
},
error() {
layer.closeAll('loading');
layer.msg('导出失败!', {icon: 2});
}
}).done(function (response) {
layer.closeAll('loading');
if (response && response.success) {
layer.close(index);
layer.msg(response.msg, {icon: 1});
} else {
layer.msg(response.msg, {icon: 2});
}
}).error(function () {
layer.closeAll('loading');
layer.msg('导出失败!', {icon: 2});
});
})
});
... ... @@ -612,20 +586,18 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'laydate'
data: {
resTypeCode,
clusterResTypeCode
},
success(response) {
layer.closeAll('loading');
if (response.success) {
layer.confirm(response.msg, {icon: 1});
} else {
layer.confirm(response.msg, {icon: 2});
}
},
error(e) {
layer.closeAll('loading');
layer.confirm('生成失败!', {icon: 2});
}
});
}).done(function (response) {
layer.closeAll('loading');
if (response.success) {
layer.confirm(response.msg, {icon: 1});
} else {
layer.confirm(response.msg, {icon: 2});
}
}).error(function () {
layer.closeAll('loading');
layer.confirm('生成失败!', {icon: 2});
})
});
};
... ... @@ -649,22 +621,18 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'laydate'
layer.load(2);
admin.req({
url: domainName + '/api-web/bChecktemplate/gatherExport',
data: {
tempName: tempName.tempName
},
success: function (response) {
layer.closeAll('loading');
if (response.success) {
layer.confirm('请求成功!<br/>' + response.msg, {icon: 1});
} else {
layer.confirm('请求失败!' + response.msg, {icon: 2});
}
},
error: function (e) {
layer.closeAll('loading');
}
}).done(function (response) {
layer.closeAll('loading');
if (response.success) {
layer.confirm('请求成功!<br/>' + response.msg, {icon: 1});
} else {
layer.confirm('请求失败!' + response.msg, {icon: 2});
}
}).error(function (e) {
layer.closeAll('loading');
});
return true
});
... ... @@ -674,24 +642,22 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'laydate'
$('#btn-gather-import').unbind('click').on('click', function () {
layer.prompt({title: '文件路径', formType: 2}, function (text, index) {
$.ajax({
url: domainName + '/api-web/manage/sync/gatherImport?access_token=' + accessToken,
admin.req({
url: domainName + '/api-web/manage/sync/gatherImport',
data: {
filePath: text
},
success(response) {
layer.closeAll('loading');
if (response && response.success) {
layer.close(index);
layer.msg(response.msg, {icon: 1});
} else {
layer.msg(response.msg, {icon: 2});
}
},
error() {
layer.closeAll('loading');
layer.msg('导入失败!', {icon: 2});
}
}).done(function (response) {
layer.closeAll('loading');
if (response && response.success) {
layer.close(index);
layer.msg(response.msg, {icon: 1});
} else {
layer.msg(response.msg, {icon: 2});
}
}).error(function () {
layer.closeAll('loading');
layer.msg('导入失败!', {icon: 2});
});
})
});
... ...
... ... @@ -66,7 +66,7 @@
</button>
</div>
<div class="layui-col-md3">
<button class="layui-btn btn-general" data-prefix="api-url-workstation-config"
<button disabled="disabled" class="layui-btn btn-general" data-prefix="api-url-workstation-config"
data-url="/workstation/refresh/logType"
lay-tips="刷新redis中日志配置信息">刷新日志配置信息
</button>
... ... @@ -110,10 +110,10 @@
<button class="layui-btn" id="btn-send-msg" lay-tips="手动发送短信">手动发送短信</button>
</div>
<div class="layui-col-md3">
<button class="layui-btn" lay-tips="手动录入告警信息">手动录入告警信息</button>
<button disabled="disabled" class="layui-btn" lay-tips="手动录入告警信息">手动录入告警信息</button>
</div>
<div class="layui-col-md3">
<button class="layui-btn" id="btn-input-collector-result" lay-tips="手动录入采集结果">
<button disabled="disabled" class="layui-btn" id="btn-input-collector-result" lay-tips="手动录入采集结果">
手动录入采集结果
</button>
</div>
... ... @@ -176,7 +176,7 @@
</button>
</div>
<div class="layui-col-md3">
<button class="layui-btn" id="btn-gather-import" lay-tips="导入">导入</button>
<button disabled="disabled" class="layui-btn" id="btn-gather-import" lay-tips="导入">导入</button>
</div>
</div>
</div>
... ...
... ... @@ -38,18 +38,18 @@ layui.define(['xmSelect', 'md5'], function (exports) {
* 获取墨镜平台的token
* @returns {string}
*/
getMjToken : () =>{
getMjToken: () => {
return localStorage.getItem("AuthVal")
},
getMjTokenKey : () =>{
getMjTokenKey: () => {
return localStorage.getItem("AuthKey")
},
/**
* 加载皮肤样式表
*/
loadTheme : () =>{
loadTheme: () => {
let theme = localStorage.getItem("theme");
if(!theme){
if (!theme) {
theme = 'simplicity';
}
let url = obj.domainName + `/mj/public/css/sub-sys/monitor-${theme}.css`;
... ... @@ -288,15 +288,14 @@ layui.define(['xmSelect', 'md5'], function (exports) {
});
var url = obj.domainName + '/api-web/home/priviewOfiice/' + id + '?document=' + document + '&access_token=' + accessToken;
var loadIndex = layer.load(1, {shade: [0.3], content: '文件正在转换...'});
$.ajax({
admin.req({
type: "get",
url: url,
async: true,
success: function (data) {
if (data.code == 0) {
layer.close(loadIndex);
window.open("/src/lib/extend/pdfjs/web/viewer.html?test=" + encodeURIComponent(data.pdfPath));
}
async: true
}).done(function (data) {
if (data.code == 0) {
layer.close(loadIndex);
window.open("/src/lib/extend/pdfjs/web/viewer.html?test=" + encodeURIComponent(data.pdfPath));
}
});
},
... ... @@ -309,15 +308,14 @@ layui.define(['xmSelect', 'md5'], function (exports) {
});
var url = obj.domainName + `/api-web/openoffice/convertPdf/?path=${encodeURIComponent(filepath)}` + '&access_token=' + accessToken;
var loadIndex = layer.load(1, {shade: [0.3], content: '文件正在转换...'});
$.ajax({
admin.req({
type: "get",
url: url,
async: true,
success: function (data) {
if (data.code == 0) {
layer.close(loadIndex);
window.open("/src/lib/extend/pdfjs/web/viewer.html?test=" + encodeURIComponent(data.str));
}
async: true
}).done(function (data) {
if (data.code == 0) {
layer.close(loadIndex);
window.open("/src/lib/extend/pdfjs/web/viewer.html?test=" + encodeURIComponent(data.str));
}
});
},
... ... @@ -362,39 +360,38 @@ layui.define(['xmSelect', 'md5'], function (exports) {
resTypeXmSelect: function (xmSelectParams) {
admin.req({
url: `${obj.domainName}/api-web/manage/restype/list`,
async: false,
success: function (res) {
// 资源类型下拉框
var resTypeList = res.data;
var resTypeTree = obj.pidToChildren(resTypeList, "resTypeCode", "parentId");
xmSelect.render(Object.assign({
el: '#',
tips: '=资源类型=',
filterable: true,
radio: false,
clickClose: false,
initValue: [],
prop: {
name: 'resTypeName',
value: 'resTypeCode'
},
toolbar: {
show: true,
list: ['CLEAR']
},
tree: {
show: true,
showFolderIcon: true,
showLine: true,
strict: false,
indent: 20
},
data: resTypeTree,
on: function (data) {
async: false
}).done(function (res) {
// 资源类型下拉框
var resTypeList = res.data;
var resTypeTree = obj.pidToChildren(resTypeList, "resTypeCode", "parentId");
xmSelect.render(Object.assign({
el: '#',
tips: '=资源类型=',
filterable: true,
radio: false,
clickClose: false,
initValue: [],
prop: {
name: 'resTypeName',
value: 'resTypeCode'
},
toolbar: {
show: true,
list: ['CLEAR']
},
tree: {
show: true,
showFolderIcon: true,
showLine: true,
strict: false,
indent: 20
},
data: resTypeTree,
on: function (data) {
}
}, xmSelectParams));
}
}
}, xmSelectParams));
});
},
/**
... ... @@ -502,45 +499,44 @@ layui.define(['xmSelect', 'md5'], function (exports) {
var roleId = roleId_ ? roleId_ : '';
admin.req({
url: `${obj.domainName}/api-user/menus/findMenus?username=` + username + '&roleIds=' + roleId,
success: function (res) {
// 菜单下拉框
var menuList = res.data;
// menuList.forEach(item => {
// item.disabled = item.isLeaf !== 'Y';
// });
var menuTree = obj.pidToChildren(menuList, "id", "parentId");
//XuHaoJie 2021/10/21 添加是否是父节点
addProperty(menuTree);
var menuSelect = xmSelect.render(Object.assign({
el: '#',
tips: '=菜单=',
filterable: true,
radio: false,
clickClose: false,
initValue: [],
prop: {
name: 'name',
value: 'id'
},
toolbar: {
show: true,
list: ['CLEAR']
},
tree: {
show: true,
showFolderIcon: true,
showLine: true,
strict: false,
indent: 20
},
data: menuTree,
on: function (data) {
}).done(function (res) {
// 菜单下拉框
var menuList = res.data;
// menuList.forEach(item => {
// item.disabled = item.isLeaf !== 'Y';
// });
var menuTree = obj.pidToChildren(menuList, "id", "parentId");
//XuHaoJie 2021/10/21 添加是否是父节点
addProperty(menuTree);
var menuSelect = xmSelect.render(Object.assign({
el: '#',
tips: '=菜单=',
filterable: true,
radio: false,
clickClose: false,
initValue: [],
prop: {
name: 'name',
value: 'id'
},
toolbar: {
show: true,
list: ['CLEAR']
},
tree: {
show: true,
showFolderIcon: true,
showLine: true,
strict: false,
indent: 20
},
data: menuTree,
on: function (data) {
}
}, xmSelectParams));
if (done) {
done(menuSelect);
}
}, xmSelectParams));
if (done) {
done(menuSelect);
}
});
... ... @@ -559,32 +555,31 @@ layui.define(['xmSelect', 'md5'], function (exports) {
},
relationTypeXmSelect: function (xmSelectParams, done) {
admin.req({
url: `${obj.domainName}/api-web/relationType/getAll`,
success: function (res) {
var relationTypeList = res.data;
var relationTypeSelect = xmSelect.render(Object.assign({
el: '#',
tips: '=关系=',
filterable: true,
radio: false,
clickClose: false,
initValue: [],
prop: {
name: 'typeName',
value: 'reType'
},
toolbar: {
show: true,
list: ['ALL', 'CLEAR']
},
data: relationTypeList,
on: function (data) {
url: `${obj.domainName}/api-web/relationType/getAll`
}).done(function (res) {
var relationTypeList = res.data;
var relationTypeSelect = xmSelect.render(Object.assign({
el: '#',
tips: '=关系=',
filterable: true,
radio: false,
clickClose: false,
initValue: [],
prop: {
name: 'typeName',
value: 'reType'
},
toolbar: {
show: true,
list: ['ALL', 'CLEAR']
},
data: relationTypeList,
on: function (data) {
}
}, xmSelectParams));
if (done) {
done(relationTypeSelect);
}
}, xmSelectParams));
if (done) {
done(relationTypeSelect);
}
});
},
... ... @@ -638,52 +633,49 @@ layui.define(['xmSelect', 'md5'], function (exports) {
accessToken = sessions.getToken()['access_token'];
});
var options = "<option value=''>=请选择=</option>";
$.ajax({
admin.req({
url: `${this.domainName}/api-web/manage/ddic/findSucDdics/${ddicCategory}?access_token=${accessToken}`
, method: 'get'
, success: function (res) {
if (res && res.data) {
var ddiclist = res.data;
$.each(ddiclist, function (i, v) {
options += '<option value="' + v.ddicCode + '">' + v.ddicName + '</option>';
});
$('#' + targtetId).html($(options));
if (callback) {
callback(ddiclist);
}
}).done(function (res) {
if (res && res.data) {
var ddiclist = res.data;
$.each(ddiclist, function (i, v) {
options += '<option value="' + v.ddicCode + '">' + v.ddicName + '</option>';
});
$('#' + targtetId).html($(options));
if (callback) {
callback(ddiclist);
}
}
, error(error) {
console.error(error);
}
}).error(function (error) {
console.error(error);
});
},
// 用户下拉框
userXmSelect: function (xmSelectParams) {
var userSelect;
$.ajax({
url: this.domainName + '/api-user/users/getAll?access_token=' + localStorage.getItem("access_token"),
async: false,
success: function (response) {
userSelect = xmSelect.render(Object.assign({
el: '#',
tips: '=选择用户=',
prop: {
name: 'nickname',
value: 'username'
},
autoRow: true,
filterable: true,
toolbar: {
show: true,
list: ['ALL', 'REVERSE', 'CLEAR']
},
data: response,
on: function (data) {
admin.req({
url: this.domainName + '/mj/user/getAll',
async: false
}).done(function (response) {
userSelect = xmSelect.render(Object.assign({
el: '#',
tips: '=选择用户=',
prop: {
name: 'nickname',
value: 'username'
},
autoRow: true,
filterable: true,
toolbar: {
show: true,
list: ['ALL', 'REVERSE', 'CLEAR']
},
data: response,
on: function (data) {
}
}, xmSelectParams));
}
}
}, xmSelectParams));
});
return userSelect;
},
... ... @@ -817,7 +809,7 @@ layui.define(['xmSelect', 'md5'], function (exports) {
});
},
//详细页地址
detailPath: function (resType, resId, protocol,resDetal) {
detailPath: function (resType, resId, protocol, resDetal) {
//供从详细页配置策略时使用
localStorage.setItem("currentResType", resType);
//网络设备
... ... @@ -865,25 +857,24 @@ layui.define(['xmSelect', 'md5'], function (exports) {
}
// 20220828 宁夏详情页迁移
if(resDetal && resDetal.resType =='MIDDLEWARE_MQ' && resDetal.os == 'windows'){
if (resDetal && resDetal.resType == 'MIDDLEWARE_MQ' && resDetal.os == 'windows') {
resType = "MIDDLEWARE_MQ_WINDOWS";
}
return "template/detail/" + resType.toLowerCase();
},
checkHasCluster: function (resType, resId) {
$.ajax({
admin.req({
url: this.domainName + '/api-web/detail/block?access_token=' + layui.sessions.getToken()['access_token'],
data: {
resId: resId,
kpiId: 'KPI096EB5BA'
},
async: false,
success: function (res) {
async: false
}).done(function (res) {
if (res && res.data && res.data.length > 0) {
if (res.data[0].value == '是') {
resType = 'ORACLE_RAC';
}
if (res && res.data && res.data.length > 0) {
if (res.data[0].value == '是') {
resType = 'ORACLE_RAC';
}
}
});
... ... @@ -891,58 +882,57 @@ layui.define(['xmSelect', 'md5'], function (exports) {
},
//BMC服务器和共享存储根据厂商和型号跳转不同的详情页
detailPathByProviderAndModel: function (resType, resId) {
$.ajax({
admin.req({
url: this.domainName + '/api-web/manage/resource/findById?access_token=' + layui.sessions.getToken()['access_token'],
data: {resId: resId},
async: false,
success: function (res) {
var res = res.obj;
var bean = res['bean'];
//存放BMC服务器厂商和详情页关系的map
var BMCMap = new Map();
BMCMap.set('DELL', 'HOST_BMC_DELL');
BMCMap.set('H3C', 'HOST_BMC_H3C');
BMCMap.set('HUAWEI', 'HOST_BMC_HUAWEI');
BMCMap.set('LENOVO', 'HOST_BMC_LENOVO');
BMCMap.set("IBM", "HOST_BMC_IBM");
BMCMap.set('Inspur', 'HOST_BMC_INSPUR');
BMCMap.set('sugon', 'HOST_BMC_SUGON');
BMCMap.set('HP', 'HOST_BMC_HP');
BMCMap.set('HP_knifeBox', 'HOST_BMC_HP_KNIFEBOX');
BMCMap.set('HUAWEI_KNIFEBOX', 'HOST_BMC_HUAWEI_KNIFEBOX');
BMCMap.set('HUAWEI_BLADE', 'HOST_BMC_HUAWEI_BLADE');
//存放共享存储厂商和详情页关系的map
var shareMap = new Map();
shareMap.set('HUAWEI', 'STORAGE_SHARE');
shareMap.set('Inspur', 'STORAGE_SHARE_INSPUR');
//lsq 增加hongshan厂商对应详情页关系 2022-08-28
shareMap.set('macrosan', 'STORAGE_SHARE_HS');
if (resType.indexOf('HOST_X86SERVER') != -1) {
if (bean.provider == 'HP' && bean.model.split('-')[0] == 'C7000') {
resType = BMCMap.get('HP_knifeBox');
} else if (bean.provider == 'H3C' && bean.model.split('-')[1] == 'R690') {
resType = BMCMap.get('HP');
} else if (bean.provider === 'HUAWEI' && bean.model === 'E9000') {
resType = BMCMap.get('HUAWEI_KNIFEBOX');
} else if (bean.resCode && bean.resCode.indexOf('华为Blade__') && bean.parentId) {
resType = BMCMap.get('HUAWEI_BLADE');
} else {
if (BMCMap.get(bean.provider)) {
resType = BMCMap.get(bean.provider)
}
async: false
}).done(function (res) {
var res = res.obj;
var bean = res['bean'];
//存放BMC服务器厂商和详情页关系的map
var BMCMap = new Map();
BMCMap.set('DELL', 'HOST_BMC_DELL');
BMCMap.set('H3C', 'HOST_BMC_H3C');
BMCMap.set('HUAWEI', 'HOST_BMC_HUAWEI');
BMCMap.set('LENOVO', 'HOST_BMC_LENOVO');
BMCMap.set("IBM", "HOST_BMC_IBM");
BMCMap.set('Inspur', 'HOST_BMC_INSPUR');
BMCMap.set('sugon', 'HOST_BMC_SUGON');
BMCMap.set('HP', 'HOST_BMC_HP');
BMCMap.set('HP_knifeBox', 'HOST_BMC_HP_KNIFEBOX');
BMCMap.set('HUAWEI_KNIFEBOX', 'HOST_BMC_HUAWEI_KNIFEBOX');
BMCMap.set('HUAWEI_BLADE', 'HOST_BMC_HUAWEI_BLADE');
//存放共享存储厂商和详情页关系的map
var shareMap = new Map();
shareMap.set('HUAWEI', 'STORAGE_SHARE');
shareMap.set('Inspur', 'STORAGE_SHARE_INSPUR');
//lsq 增加hongshan厂商对应详情页关系 2022-08-28
shareMap.set('macrosan', 'STORAGE_SHARE_HS');
if (resType.indexOf('HOST_X86SERVER') != -1) {
if (bean.provider == 'HP' && bean.model.split('-')[0] == 'C7000') {
resType = BMCMap.get('HP_knifeBox');
} else if (bean.provider == 'H3C' && bean.model.split('-')[1] == 'R690') {
resType = BMCMap.get('HP');
} else if (bean.provider === 'HUAWEI' && bean.model === 'E9000') {
resType = BMCMap.get('HUAWEI_KNIFEBOX');
} else if (bean.resCode && bean.resCode.indexOf('华为Blade__') && bean.parentId) {
resType = BMCMap.get('HUAWEI_BLADE');
} else {
if (BMCMap.get(bean.provider)) {
resType = BMCMap.get(bean.provider)
}
}
if (resType.indexOf('STORAGE_SHARE') != -1) {
resType = shareMap.get(bean.provider)
}
}
if (resType.indexOf('STORAGE_SHARE') != -1) {
resType = shareMap.get(bean.provider)
}
// 中间件MQ
if (resType.indexOf('MIDDLEWARE_MQ') != -1 && bean.os == 'windows') {
resType = 'MIDDLEWARE_MQ_WINDOWS';
}
// 中间件MQ
if (resType.indexOf('MIDDLEWARE_MQ') != -1 && bean.os == 'windows') {
resType = 'MIDDLEWARE_MQ_WINDOWS';
}
})
return resType;
... ... @@ -1414,8 +1404,9 @@ layui.define(['xmSelect', 'md5'], function (exports) {
}
alink.setAttribute("lay-href", layHref.split('=')[0] + param);
admin.req({
url: obj.domainName + '/api-web/mxgraph/getJtopoInfoById/' + layHref.split('=')[2],
success(response) {
url: obj.domainName + '/api-web/mxgraph/getJtopoInfoById/' + layHref.split('=')[2]
}).done(
function (response) {
//LH 修改 弹框展示子拓扑
layer.open({
title: response.object.topoName,
... ... @@ -1423,11 +1414,9 @@ layui.define(['xmSelect', 'md5'], function (exports) {
area: ['90%', '90%'],
content: obj.graphEditorOrigin + "/jgraph/grapheditor/viewer.html?access_token=" + localStorage.getItem('access_token') + '&id=' + layHref.split('=')[2],//+ "&layout=organic",
})
},
error() {
layer.closeAll('loading');
layer.msg('生成资源拓扑失败...', {icon: 2});
}
}).error(function () {
layer.closeAll('loading');
layer.msg('生成资源拓扑失败...', {icon: 2});
});
// document.body.appendChild(alink);
... ... @@ -1444,66 +1433,65 @@ layui.define(['xmSelect', 'md5'], function (exports) {
admin.req({
url: obj.domainName + "/api-web/home/resource/findById?resId=" + resId
, type: "get"
, done: function (res) {
if (res.str === 'false') {
layer.msg('暂无该资源权限!', {icon: 0});
return;
}).done(function (res) {
if (res.str === 'false') {
layer.msg('暂无该资源权限!', {icon: 0});
return;
}
var data = res.object;
if (data) {
// var resTypeName = data.resTypeName ? data.resTypeName + " | " : "";
// var resName = data.resName ? data.resName + " | " : "";
// var resIp = data.ip ? data.ip + " | " : "";
// var resPositon = data.resPositon ? data.resPositon + " | " : "";
// var resLabel = data.resLabel ? data.resLabel + " | " : "";
// var admin = data.admin ? data.admin : "";
// var title = resTypeName + resName + resIp + resPositon + resLabel + admin;
var resId = data.resId;
var resType = data.resType;
var resName = data.resName;
var ip = data.ip;
var resTypeName = data.resTypeName;
var adminName = data.adminName;
var manageIp = data.manageIp;
var collProtocol = data.collProtocol;
var title = resName;
if (title && title != '') {
title += '|';
}
var data = res.object;
if (data) {
// var resTypeName = data.resTypeName ? data.resTypeName + " | " : "";
// var resName = data.resName ? data.resName + " | " : "";
// var resIp = data.ip ? data.ip + " | " : "";
// var resPositon = data.resPositon ? data.resPositon + " | " : "";
// var resLabel = data.resLabel ? data.resLabel + " | " : "";
// var admin = data.admin ? data.admin : "";
// var title = resTypeName + resName + resIp + resPositon + resLabel + admin;
var resId = data.resId;
var resType = data.resType;
var resName = data.resName;
var ip = data.ip;
var resTypeName = data.resTypeName;
var adminName = data.adminName;
var manageIp = data.manageIp;
var collProtocol = data.collProtocol;
var title = resName;
if (title && title != '') {
title += '|';
}
if (resTypeName && resType !== 'HOST_X86SERVER') {
title += resTypeName + '|';
}
if (ip) {
if (resType === 'HOST_X86SERVER') {
if (collProtocol && (collProtocol.split(",").length > 1 || collProtocol === 'SSH')) {
title += '应用IP-' + ip + '|';
}
} else {
title += ip + '|';
}
}
if (resType === 'HOST_X86SERVER' && collProtocol && collProtocol.indexOf('SNMP') !== -1) {
if (manageIp) {
title += '管理IP-' + manageIp + '|';
if (resTypeName && resType !== 'HOST_X86SERVER') {
title += resTypeName + '|';
}
if (ip) {
if (resType === 'HOST_X86SERVER') {
if (collProtocol && (collProtocol.split(",").length > 1 || collProtocol === 'SSH')) {
title += '应用IP-' + ip + '|';
}
} else {
title += ip + '|';
}
if (adminName) {
title += adminName + '|';
}
if (title.length > 0) {
title = title.substr(0, title.length - 1);
}
if (!commonDetail) {
commonDetail = layui.commonDetail;
}
if (data.pingEnable == '2') { //如果pingEnable为2,则进入ping状态详情页面
commonDetail.openNewWin('template/detail/pingIndex', title, {'resId': data.resId}, false);
} else { //否则进入监控详情页面
commonDetail.openDetail(data.resId, data.resType, title);
}
if (resType === 'HOST_X86SERVER' && collProtocol && collProtocol.indexOf('SNMP') !== -1) {
if (manageIp) {
title += '管理IP-' + manageIp + '|';
}
} else {
layer.msg("获取资源详细信息失败,请稍后再试!", {offset: '15px', icon: 7, time: 2000});
}
if (adminName) {
title += adminName + '|';
}
if (title.length > 0) {
title = title.substr(0, title.length - 1);
}
if (!commonDetail) {
commonDetail = layui.commonDetail;
}
if (data.pingEnable == '2') { //如果pingEnable为2,则进入ping状态详情页面
commonDetail.openNewWin('template/detail/pingIndex', title, {'resId': data.resId}, false);
} else { //否则进入监控详情页面
commonDetail.openDetail(data.resId, data.resType, title);
}
} else {
layer.msg("获取资源详细信息失败,请稍后再试!", {offset: '15px', icon: 7, time: 2000});
}
});
},
... ... @@ -1511,25 +1499,24 @@ layui.define(['xmSelect', 'md5'], function (exports) {
layer.load(2);
admin.req({
url: obj.domainName + '/api-web/ajConfig/findOneById',
data: {id: reportCode},
success(response) {
data: {id: reportCode}
}).done(function (response) {
layer.closeAll('loading');
if (response && response.success) {
layer.open({
type: 2,
content: obj.ajScreenStatement + "/#/bigscreen/viewer?reportCode=" + response.object.designPage + response.object.param + "&access_token=" + localStorage.getItem('access_token'),
area: [height, width],
title: response.object.title
});
} else {
layer.open({
type: 2,
content: obj.ajScreenStatement + "/#/bigscreen/viewer?reportCode=" + reportCode + "&access_token=" + localStorage.getItem('access_token'),
area: [height, width],
title: ''
});
layer.closeAll('loading');
if (response && response.success) {
layer.open({
type: 2,
content: obj.ajScreenStatement + "/#/bigscreen/viewer?reportCode=" + response.object.designPage + response.object.param + "&access_token=" + localStorage.getItem('access_token'),
area: [height, width],
title: response.object.title
});
} else {
layer.open({
type: 2,
content: obj.ajScreenStatement + "/#/bigscreen/viewer?reportCode=" + reportCode + "&access_token=" + localStorage.getItem('access_token'),
area: [height, width],
title: ''
});
layer.closeAll('loading');
}
}
});
},
... ... @@ -1561,7 +1548,7 @@ layui.define(['xmSelect', 'md5'], function (exports) {
if (win) {
window.parent.postMessage({
type: 'dialog',
message: {'params':{},'type':'openResTopo','title':'业务拓扑','params':{'resId':resId}}
message: {'params': {}, 'type': 'openResTopo', 'title': '业务拓扑', 'params': {'resId': resId}}
}, '*')
}
},
... ... @@ -1594,7 +1581,7 @@ layui.define(['xmSelect', 'md5'], function (exports) {
if (win) {
window.parent.postMessage({
type: 'dialog',
message: {'params':{},'type':'openBizTopo','title':'业务拓扑','params':{'busId':busId}}
message: {'params': {}, 'type': 'openBizTopo', 'title': '业务拓扑', 'params': {'busId': busId}}
}, '*')
}
},
... ... @@ -1630,54 +1617,52 @@ layui.define(['xmSelect', 'md5'], function (exports) {
//绑定业务下拉选择数据
admin.req({
url: this.domainName + '/api-web/home/business/findAllBusType',
async: false,
success: function (response) {
if (response && response.success) {
var bizList = response.data.map(item => {
return {
name: item.busTypeName,
value: item.busId,
parentId: item.parentId
}
});
var bizTree = obj.pidToChildren(bizList, 'value', 'parentId', canNotCheckPranet);
// 影响业务下拉框
xmSelect.render(Object.assign({
el: '#',
name: '',
tips: '=所属业务=',
//默认开启多选、选完不关闭下拉
radio: false,
clickClose: false,
//开启搜索
filterable: true,
direction: 'down',
initValue: [],
toolbar: {
show: true,
list: ['ALL', 'REVERSE', 'CLEAR']
},
height: '400px',
tree: {
show: true,
showFolderIcon: true,
showLine: true,
strict: true,
//间距
indent: 20,
},
data: bizTree,
on: function (data) {
}
}, xmSelectParams));
} else {
layer.msg('获取业务失败', {icon: 2});
}
},
error: function () {
async: false
}).done(function (response) {
if (response && response.success) {
var bizList = response.data.map(item => {
return {
name: item.busTypeName,
value: item.busId,
parentId: item.parentId
}
});
var bizTree = obj.pidToChildren(bizList, 'value', 'parentId', canNotCheckPranet);
// 影响业务下拉框
xmSelect.render(Object.assign({
el: '#',
name: '',
tips: '=所属业务=',
//默认开启多选、选完不关闭下拉
radio: false,
clickClose: false,
//开启搜索
filterable: true,
direction: 'down',
initValue: [],
toolbar: {
show: true,
list: ['ALL', 'REVERSE', 'CLEAR']
},
height: '400px',
tree: {
show: true,
showFolderIcon: true,
showLine: true,
strict: true,
//间距
indent: 20,
},
data: bizTree,
on: function (data) {
}
}, xmSelectParams));
} else {
layer.msg('获取业务失败', {icon: 2});
}
},);
}).error(function () {
layer.msg('获取业务失败', {icon: 2});
})
},
getTingyunToken: function () {
var token = '';
... ... @@ -1698,6 +1683,7 @@ layui.define(['xmSelect', 'md5'], function (exports) {
let resp = layer.loadConfig('config.tingyun');
var api_key = resp.api_key;
var secret_key = resp.secret_key;
var timestamp = Date.now();
var auth = md5(`api_key=${api_key}&secret_key=${secret_key}&timestamp=${timestamp}`);
... ... @@ -1747,23 +1733,21 @@ layui.define(['xmSelect', 'md5'], function (exports) {
var err = null;
do {
try {
$.ajax(Object.assign({
admin.req(Object.assign({
url: '',
headers: {
Authorization: token
},
async: false,
success(response) {
res = response;
if (response && response.code.toString().startsWith('401')) {
throw new Error();
}
},
error(error) {
err = error;
async: false
}, ajaxParams)).done(function (response) {
res = response;
if (response && response.code.toString().startsWith('401')) {
throw new Error();
}
}, ajaxParams));
}).error(function (error) {
err = error;
throw new Error();
});
} catch (e) {
failCount--;
if (failCount) {
... ... @@ -1827,14 +1811,12 @@ layui.define(['xmSelect', 'md5'], function (exports) {
admin.req({
url: this.domainName + '/api-web/manage/resource/getShowType?resId=' + resId + '&username=' + username,
async: false,
success: function (response) {
if (response && response.success) {
value = response.str;
}
},
error: function () {
layer.msg('获取用户权限失败', {icon: 2});
}).done(function (response) {
if (response && response.success) {
value = response.str;
}
}).error(function () {
layer.msg('获取用户权限失败', {icon: 2});
});
return value;
},
... ... @@ -2126,7 +2108,7 @@ layui.define(['xmSelect', 'md5'], function (exports) {
}
// 表单验证
if(form){
if (form) {
form.verify({
json: function (d) {
try {
... ... @@ -2139,6 +2121,7 @@ layui.define(['xmSelect', 'md5'], function (exports) {
}
});
}
//对外暴露的接口
exports('common', obj);
});
... ...