...
|
...
|
@@ -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}×tamp=${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);
|
|
|
}); |
...
|
...
|
|