|
|
//资源列表
|
|
|
layui.define(['table', 'form', 'admin', 'layer', 'common','sessions', 'xmSelect'], function (exports) {
|
|
|
layui.define(['table', 'form', 'admin', 'layer', 'common','sessions', 'xmSelect', 'cascader'], function (exports) {
|
|
|
var $ = layui.$;
|
|
|
var form = layui.form;
|
|
|
var table = layui.table;
|
|
|
var xmSelect = layui.table;
|
|
|
// var xmSelect = layui.table;
|
|
|
var common = layui.common;
|
|
|
var resListSelectIds = [];
|
|
|
let protocolList = [];
|
|
|
var cascader = layui.cascader;
|
|
|
//对外暴露的接口
|
|
|
exports('reslist', function (data) {
|
|
|
var sessions = layui.sessions;
|
|
|
var router = layui.router();
|
|
|
var accessToken = sessions.getToken().access_token;
|
|
|
var accessToken = '187e56d0-e408-4982-8d9c-fb3d52c5de13' //sessions.getToken().access_token;
|
|
|
var resType = (data && common.isNotEmpty(data.resType)) ? data.resType : '';
|
|
|
var table_data = [];
|
|
|
// 业务类型Id
|
...
|
...
|
@@ -38,6 +40,87 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions', 'xmSelect' |
|
|
if (router.search.resType) {
|
|
|
resType = router.search.resType;
|
|
|
}
|
|
|
|
|
|
// 设备类型 下拉选
|
|
|
$.ajax({
|
|
|
url: 'http://192.168.0.44:8080/log-access/v1/lm2_logfmt_dirs/queryTreeList?access_token='+ accessToken,
|
|
|
type: 'get',
|
|
|
success: function (res) {
|
|
|
if (res && res.data) {
|
|
|
res.data.map(item=>{
|
|
|
item.label = item.name;
|
|
|
item.value = item.id;
|
|
|
})
|
|
|
var data = handleTree(res.data,'id','pId','children','label')
|
|
|
cascader({
|
|
|
elem: "#devType",
|
|
|
data: data,
|
|
|
showLastLevels: true,
|
|
|
success: function (valData,labelData) {
|
|
|
console.log(valData,labelData);
|
|
|
let data = valData[valData.length-1];
|
|
|
reloadTable(data);
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
})
|
|
|
|
|
|
/**
|
|
|
* 构造树型结构数据
|
|
|
* zhangtianqi
|
|
|
* @param {*} data 数据源
|
|
|
* @param {*} id id字段 默认 'id'
|
|
|
* @param {*} parentId 父节点字段 默认 'parentId'
|
|
|
* @param {*} children 孩子节点字段 默认 'children'
|
|
|
*/
|
|
|
function handleTree(data, id, parentId, children, title) {
|
|
|
let config = {
|
|
|
id: id || 'id',
|
|
|
parentId: parentId || 'parentId',
|
|
|
childrenList: children || 'children',
|
|
|
title: title || 'title'
|
|
|
};
|
|
|
|
|
|
var childrenListMap = {};
|
|
|
var nodeIds = {};
|
|
|
var tree = [];
|
|
|
|
|
|
for (let d of data) {
|
|
|
let parentId = d[config.parentId];
|
|
|
if (childrenListMap[parentId] == null) {
|
|
|
childrenListMap[parentId] = [];
|
|
|
}
|
|
|
nodeIds[d[config.id]] = d;
|
|
|
childrenListMap[parentId].push(d);
|
|
|
}
|
|
|
|
|
|
for (let d of data) {
|
|
|
let parentId = d[config.parentId];
|
|
|
if (nodeIds[parentId] == null) {
|
|
|
tree.push(d);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
for (let t of tree) {
|
|
|
adaptToChildrenList(t);
|
|
|
}
|
|
|
|
|
|
function adaptToChildrenList(o) {
|
|
|
if (childrenListMap[o[config.id]] !== null) {
|
|
|
o[config.childrenList] = childrenListMap[o[config.id]];
|
|
|
}
|
|
|
if (o[config.childrenList]) {
|
|
|
for (let c of o[config.childrenList]) {
|
|
|
adaptToChildrenList(c);
|
|
|
}
|
|
|
}else{
|
|
|
delete o[config.childrenList]
|
|
|
}
|
|
|
}
|
|
|
return tree;
|
|
|
};
|
|
|
|
|
|
// 如果参数有busId
|
|
|
if(data && common.isNotEmpty(data.busId)){
|
|
|
busId = data.busId;
|
...
|
...
|
@@ -49,6 +132,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions', 'xmSelect' |
|
|
$("#reslist_resListBizTypes").val(busId);
|
|
|
form.render("select");
|
|
|
});
|
|
|
|
|
|
//绑定资源类型下拉选择
|
|
|
common.resTypeXmSelect({
|
|
|
el: '#reslist_restype',
|
...
|
...
|
@@ -77,10 +161,34 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions', 'xmSelect' |
|
|
//回车搜索
|
|
|
$('#reslist_keyword').keydown(function (e) {
|
|
|
if (e.keyCode === 13) {
|
|
|
reloadTable(resType);
|
|
|
// reloadTable(resType);
|
|
|
reloadTable()
|
|
|
}
|
|
|
});
|
|
|
|
|
|
$.ajax({
|
|
|
url: `http://192.168.0.44:8080/log-deploy/v1/lm2_protocol?access_token=${accessToken}`,
|
|
|
method:"get",
|
|
|
success(res){
|
|
|
protocolList = res.data;
|
|
|
// 设置协议类型 下拉选
|
|
|
let options = "<option value=''>=所属业务=</option>";
|
|
|
$.each(protocolList, function (i, v) {
|
|
|
options += '<option value="' + v.id + '">' + v.protocolType + '</option>';
|
|
|
});
|
|
|
$('#protocolType').html(options);
|
|
|
},
|
|
|
})
|
|
|
// 回显表格协议类型字段
|
|
|
function agreementType(agreementId) {
|
|
|
var agreementType = '';
|
|
|
protocolList.forEach(v => {
|
|
|
if (v.id == agreementId) {
|
|
|
agreementType = v.protocolType;
|
|
|
}
|
|
|
});
|
|
|
return agreementType;
|
|
|
};
|
|
|
|
|
|
//选择框搜索事件
|
|
|
bindSelectEvent();
|
...
|
...
|
@@ -88,7 +196,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions', 'xmSelect' |
|
|
resType || (resType = 'all')
|
|
|
var reslisTable = table.render({
|
|
|
elem: '#reslist_resListTable'
|
|
|
, url: common.domainName + '/api-web/home/res-list/' + resType
|
|
|
/*, url: common.domainName + '/api-web/home/res-list/' + resType
|
|
|
, where: {
|
|
|
access_token: accessToken,
|
|
|
resName: $("#reslist_keyword").val(),
|
...
|
...
|
@@ -109,6 +217,16 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions', 'xmSelect' |
|
|
os:$("#resManageIndexForm").find("select[id='reslist_os']").val(),
|
|
|
collProtocolList:$("#resManageIndexForm").find("select[id='collProtocol']").val(),
|
|
|
pageName:'reslist'
|
|
|
}*/
|
|
|
, url: 'http://192.168.0.44:8080/log-access/v1/lm2_join_device'
|
|
|
,where:{
|
|
|
access_token: accessToken,
|
|
|
protocolType: '',
|
|
|
_condition_: undefined,
|
|
|
_sort_:'-join_time',
|
|
|
devType: '',
|
|
|
noType: undefined,
|
|
|
joinType: undefined,
|
|
|
}
|
|
|
, height: 'full-350'
|
|
|
, cellMinWidth: 80
|
...
|
...
|
@@ -121,13 +239,38 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions', 'xmSelect' |
|
|
, cols: [[
|
|
|
{type: 'checkbox'},
|
|
|
{type: 'numbers', title: '序号', align: 'center'}
|
|
|
, {field: 'resName', title: '资源名称', minWidth: 300, align: 'center'}
|
|
|
, {field: 'ip', title: 'IP地址', align: 'center'}
|
|
|
, {field: 'os', title: 'os', align: 'center'}
|
|
|
, {field: 'collProtocol', title: '采集协议', align: 'center'}
|
|
|
, {field: 'adminName', title: '负责人', align: 'center'}
|
|
|
, {field: 'resTypeName', title: '资源类型', align: 'center'}
|
|
|
, {field: 'healthDesc', title: '资源状态', align: 'center'}
|
|
|
, {field: 'ipAddr', title: 'IP地址', align: 'center'}
|
|
|
, {field: 'devIdent', title: '设备标识', align: 'center'}
|
|
|
, {field: 'logfmtDirName', title: '设备类型', align: 'center'}
|
|
|
, {field: 'lm2LogjoinDirDTOS', title: '业务类型', align: 'center',
|
|
|
templet(e){
|
|
|
if (e.lm2LogjoinDirDTOS){
|
|
|
let el=''
|
|
|
$.each(e.lm2LogjoinDirNameStrs,(i,v)=>{
|
|
|
el += `<span>${v}</span><br>`
|
|
|
})
|
|
|
return el
|
|
|
}else{
|
|
|
return ``
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
, {field: 'protocolType', title: '协议类型', align: 'center',
|
|
|
templet:function (e){
|
|
|
return `${agreementType(e.protocolType)}`
|
|
|
}}
|
|
|
, {field: 'joinType', title: '设备来源', align: 'center',
|
|
|
templet(e){
|
|
|
if (e.joinType == 0) {
|
|
|
return "自动上报"
|
|
|
} else if (e.joinType == 1) {
|
|
|
return "手动录入"
|
|
|
} else {
|
|
|
return ""
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
, {field: 'joinTime', title: '接入时间', align: 'center'}
|
|
|
]],
|
|
|
done: function (res) {
|
|
|
table_data = res.data;
|
...
|
...
|
@@ -156,6 +299,18 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions', 'xmSelect' |
|
|
});
|
|
|
//绑定下拉搜索事件
|
|
|
function bindSelectEvent() {
|
|
|
//协议类型搜索
|
|
|
form.on('select(protocolType)', function(data){
|
|
|
// reloadTable(resType);
|
|
|
reloadTable()
|
|
|
});
|
|
|
//设备来源搜索
|
|
|
form.on('select(joinType)', function(data){
|
|
|
// reloadTable(resType);
|
|
|
reloadTable()
|
|
|
});
|
|
|
|
|
|
|
|
|
//选择业务搜索
|
|
|
form.on('select(reslist_resListBizTypes)', function(data){
|
|
|
reloadTable(resType);
|
...
|
...
|
@@ -197,8 +352,9 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions', 'xmSelect' |
|
|
//刷新表格
|
|
|
function reloadTable(resType) {
|
|
|
reslisTable.reload({
|
|
|
url: common.domainName + '/api-web/home/res-list/' + (resType ? resType : 'all')
|
|
|
, where: {
|
|
|
//url: common.domainName + '/api-web/home/res-list/' + (resType ? resType : 'all')
|
|
|
url:"http://192.168.0.44:8080/log-access/v1/lm2_join_device"
|
|
|
/*, where: {
|
|
|
access_token: accessToken,
|
|
|
resName: $("#reslist_keyword").val(),
|
|
|
busId: $("#reslist_resListBizTypes").val(),
|
...
|
...
|
@@ -216,8 +372,18 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions', 'xmSelect' |
|
|
os:$("#resManageIndexForm").find("select[id='reslist_os']").val(),
|
|
|
collProtocolList:$("#resManageIndexForm").find("select[id='collProtocol']").val(),
|
|
|
editMode: 'true'
|
|
|
},
|
|
|
page: {
|
|
|
},*/
|
|
|
,where:{
|
|
|
currentPage: 1,
|
|
|
pageLimit: 10,
|
|
|
protocolType: $('#protocolType').val(),
|
|
|
_condition_: $('#reslist_keyword').val(),
|
|
|
_sort_:'-join_time',
|
|
|
devType: resType?resType:'',
|
|
|
noType: undefined,
|
|
|
joinType: $('#joinType').val(),
|
|
|
}
|
|
|
,page: {
|
|
|
curr: 1 //重新从第 1 页开始
|
|
|
},
|
|
|
done: function (res) {
|
...
|
...
|
|