Authored by wangtao
//告警模板
layui.define(['table', 'form', 'admin', 'layer', 'common','reslist','sessions','view','laytpl'], function (exports) {
layui.define(['table', 'form', 'admin', 'layer', 'common', 'reslist', 'sessions', 'view', 'laytpl'], function (exports) {
var $ = layui.$;
var form = layui.form;
var layer = layui.layer;
... ... @@ -20,7 +20,6 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','reslist','sessions','
var checkList = common.checkPermission(accessToken);
//回车搜索
$('#alarmtemplatekw').keydown(function (e) {
if (e.keyCode === 13) {
... ... @@ -28,12 +27,12 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','reslist','sessions','
}
});
$('#alarmtemplateQueryBtn').on('click',function () {
$('#alarmtemplateQueryBtn').on('click', function () {
reloadalarmtemplateTable();
});
form.render(null, 'alarmtemplate-form');
//新增
$("#alarmtemplate_create").on("click",function () {
$("#alarmtemplate_create").on("click", function () {
if ($.inArray('back:alarmtemp:save', checkList) == -1) {
layer.msg('暂无权限!', {icon: 7, time: 3000});
return;
... ... @@ -41,11 +40,11 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','reslist','sessions','
openAlarmTemplateForm();
});
//删除
$("#alarmtemplate_delete").on("click",function () {
$("#alarmtemplate_delete").on("click", function () {
deletealarmtemplate();
});
//同步
$("#alarmtemplate_sync").on("click",function () {
$("#alarmtemplate_sync").on("click", function () {
if ($.inArray('back:alarmtemp:synchronization', checkList) == -1) {
layer.msg('暂无权限!', {icon: 7, time: 3000});
return;
... ... @@ -53,16 +52,16 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','reslist','sessions','
syncAlarmTemplate();
});
//配置策略
$("#alarmtemplate_configpolicy").on("click",function () {
$("#alarmtemplate_configpolicy").on("click", function () {
if ($.inArray('back:alarmtemp:tactics', checkList) == -1) {
layer.msg('暂无权限!', {icon: 7, time: 3000});
return;
}
var tempData = table.checkStatus('alarmtemplateTable').data;
var oldAlarmPolicyIdList = [];
if (tempData.length<=1){
if (tempData.length == 1) {
admin.req({
url: common.domainName + '/api-web/alarmPolicy/getbytempId/'+tempData[0].alarmTempId,
url: common.domainName + '/api-web/alarmPolicy/getbytempId/' + tempData[0].alarmTempId,
async: false,
error: function () {
layer.close(loading);
... ... @@ -72,64 +71,67 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','reslist','sessions','
oldAlarmPolicyIdList = response.data.map(item => item.alarmPolicyId)
}
});
}else{
layer.msg("请至少选择一条数据!", {offset: '15px', icon: 7, time: 1000});
return false;
}
if(tempData && tempData.length > 0){
common.openWin("baseconfig/alarmpolicy/index","选择策略",{oldData:oldAlarmPolicyIdList},["选择","取消"], function () {
if (tempData && tempData.length > 0) {
common.openWin("baseconfig/alarmpolicy/index", "选择策略", {oldData: oldAlarmPolicyIdList}, ["选择", "取消"], function () {
var policyData = layui.alarmpolicyIndex().getData();
var tempIds = [],policyIds=[];
$.each(tempData,function (i,v){
var tempIds = [], policyIds = [];
$.each(tempData, function (i, v) {
tempIds.push(v.alarmTempId);
})
$.each(policyData,function (i,v){
$.each(policyData, function (i, v) {
policyIds.push(v.alarmPolicyId);
})
admin.req({
url : domainName + '/api-web/alarmtemplate/config/policy'
,type:'post'
,data:{ tempIds:tempIds.toString(),policyIds:policyIds.toString() }
,done:function (res){
if(res.success){
layer.msg(res.msg, { offset: '15px' , icon: 1 , time: 1000 },function (){
url: domainName + '/api-web/alarmtemplate/config/policy'
, type: 'post'
, data: {tempIds: tempIds.toString(), policyIds: policyIds.toString()}
, done: function (res) {
if (res.success) {
layer.msg(res.msg, {offset: '15px', icon: 1, time: 1000}, function () {
layer.closeAll();
reloadalarmtemplateTable();
});
}else{
layer.msg(res.msg, { offset: '15px' , icon: 7 , time: 1000 });
} else {
layer.msg(res.msg, {offset: '15px', icon: 7, time: 1000});
}
}
});
});
}else{
layer.msg("请至少选择一条数据!", { offset: '15px' , icon: 7 , time: 1000 });
} else {
layer.msg("请至少选择一条数据!", {offset: '15px', icon: 7, time: 1000});
}
});
//配置资源
$("#alarmtemplate_configres").on("click",function () {
$("#alarmtemplate_configres").on("click", function () {
if ($.inArray('back:alarmtemp:resource', checkList) == -1) {
layer.msg('暂无权限!', {icon: 7, time: 3000});
return;
}
var tempIds = [];
var data = table.checkStatus('alarmtemplateTable').data;
if(data && data.length > 0){
$.each(data,function (i,obj) {
if (data && data.length > 0) {
$.each(data, function (i, obj) {
tempIds.push(obj.alarmTempId);
});
}
if (tempIds.length != 1) {
layer.msg('请选择一条要配置的数据',{icon: 7,time:2000});
layer.msg('请选择一条要配置的数据', {icon: 7, time: 2000});
return;
}
var oldResIdList = [];
if (tempIds.length<=1){
if (tempIds.length <= 1) {
admin.req({
url: common.domainName + '/api-web/alarmtemplate/getResIdByTempId',
async: false,
data: {
tempId:tempIds.toString(),
tempId: tempIds.toString(),
},
error: function () {
layer.close(loading);
... ... @@ -140,23 +142,23 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','reslist','sessions','
}
});
}
common.openWin("template/res/reslist","配置资源",{oldData:oldResIdList},["选择","取消"], function () {
common.openWin("template/res/reslist", "配置资源", {oldData: oldResIdList}, ["选择", "取消"], function () {
var resObj = layui.reslist().getData();
if(resObj && resObj.length > 0){
if (resObj && resObj.length > 0) {
var resIds = [];
$.each(resObj,function (i,v){
$.each(resObj, function (i, v) {
resIds.push(v.resId);
})
admin.req({
url : domainName + '/api-web/manage/resource/alarmTemplate?resIds='+resIds.toString()+'&alarmTempId='+tempIds.toString()+'&access_token='+accessToken,
done:function (res){
if(res.success){
layer.msg("配置成功!", { offset: '15px' , icon: 1 , time: 1000 },function (){
url: domainName + '/api-web/manage/resource/alarmTemplate?resIds=' + resIds.toString() + '&alarmTempId=' + tempIds.toString() + '&access_token=' + accessToken,
done: function (res) {
if (res.success) {
layer.msg("配置成功!", {offset: '15px', icon: 1, time: 1000}, function () {
layer.closeAll();
reloadalarmtemplateTable();
});
}else{
layer.msg("配置失败,请重试或者与管理员联系!", { offset: '15px' , icon: 7 , time: 1000 });
} else {
layer.msg("配置失败,请重试或者与管理员联系!", {offset: '15px', icon: 7, time: 1000});
}
}
});
... ... @@ -174,13 +176,13 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','reslist','sessions','
$('#alarmtemplate_unbindRes').unbind('click').on('click', function () {
var tempIds = [];
var checks = table.checkStatus('alarmtemplateTable').data;
if(checks && checks.length > 0){
$.each(checks,function (i,obj) {
if (checks && checks.length > 0) {
$.each(checks, function (i, obj) {
tempIds.push(obj.alarmTempId);
});
}
if (tempIds.length == 0) {
layer.msg('请选择数据',{icon: 7,time:2000});
layer.msg('请选择数据', {icon: 7, time: 2000});
return;
}
layer.confirm('确认要取消绑定吗?', {icon: 3}, function (index) {
... ... @@ -222,18 +224,18 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','reslist','sessions','
var alarmtemplateTable = table.render({
elem: '#alarmtemplateTable'
, url: domainName + '/api-web/alarmtemplate/page'
, where:{
access_token:accessToken,
alarmTempName:$("#alarmtemplatekw").val(),
policyId:policyId,
, where: {
access_token: accessToken,
alarmTempName: $("#alarmtemplatekw").val(),
policyId: policyId,
resIdList: resIdList
}
, height: 'full-200'
, page: {
layout: ['count', 'prev', 'page', 'next', 'limit', 'skip']
,theme: '#1E9FFF'//自定义分页主题颜色
, theme: '#1E9FFF'//自定义分页主题颜色
}
, end: function(e){
, end: function (e) {
form.render();
}
, limit: 20
... ... @@ -245,40 +247,46 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','reslist','sessions','
templet: '<div><span data-id="{{d.alarmTempId}}" class="layui-table-link view-alarmtemplate-name">{{d.alarmTempName}}</span></div>'
}
// , {field: 'tempType', title: '模板类型', align: 'center', sort: true, width:240}
, {field: 'alarmTempTotal', title: '绑定告警策略数', align: 'center', sort: true, width:240,
templet:function (d){
if(d.policyTotal != '0'){
, {
field: 'alarmTempTotal', title: '绑定告警策略数', align: 'center', sort: true, width: 240,
templet: function (d) {
if (d.policyTotal != '0') {
return `<div><span data-id="${d.alarmTempId}" class="layui-table-link view-alarmtemplate-policy-total">${d.policyTotal}</span></div>`;
}else{
} else {
return d.policyTotal;
}
}}
, {field: 'alarmTempTotal', title: '绑定资源数', align: 'center', sort: true, width:240,
templet:function (d){
if(d.resTotal != '0'){
}
}
, {
field: 'alarmTempTotal', title: '绑定资源数', align: 'center', sort: true, width: 240,
templet: function (d) {
if (d.resTotal != '0') {
return `<div><span data-id="${d.alarmTempId}" class="layui-table-link view-alarmtemplate-res-total">${d.resTotal}</span></div>`;
}else{
} else {
return d.resTotal;
}
}}
, {field: 'syncFlag',title: '同步状态',align: 'center', sort: true,width:200,
templet: function(d){
if(d.syncFlag == 0){ //未同步
}
}
, {
field: 'syncFlag', title: '同步状态', align: 'center', sort: true, width: 200,
templet: function (d) {
if (d.syncFlag == 0) { //未同步
return `<input type="checkbox" id="${d.alarmTempId}" name="close" lay-skin="switch" lay-filter="switchSyncAlarmTemplate" lay-text="已同步|未同步">`;
}else{
} else {
return ' <button type="button" class="layui-btn layui-bg-green layui-btn-radius layui-btn-xs p-0-15">已同步</button>';
}
}
}
, {title: '操作', align: 'center',width:'10%',fixed: 'right',
, {
title: '操作', align: 'center', width: '10%', fixed: 'right',
templet: '<div>' +
'<button data-id="{{d.alarmTempId}}" lay-tips="删除" type="button" class="layui-btn layui-btn-xs layui-btn-normal delete-alarmtemplate-btn"><i class="layui-icon layui-icon-delete"></i></button>'+
'<button data-id="{{d.alarmTempId}}" lay-tips="删除" type="button" class="layui-btn layui-btn-xs layui-btn-normal delete-alarmtemplate-btn"><i class="layui-icon layui-icon-delete"></i></button>' +
'</div>'
}
]],
done:function () {
done: function () {
//点击名称编辑
$(".view-alarmtemplate-name").on("click",function () {
$(".view-alarmtemplate-name").on("click", function () {
if ($.inArray('back:alarmtemp:update', checkList) == -1) {
layer.msg('暂无权限!', {icon: 7, time: 3000});
return;
... ... @@ -287,26 +295,34 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','reslist','sessions','
});
//查看模板的策略数
$(".view-alarmtemplate-policy-total").on("click",function (){
$(".view-alarmtemplate-policy-total").on("click", function () {
$('[lay-id="/baseconfig/alarmpolicy/index"]').find('.layui-tab-close').trigger('click');
var id = $(this).data("id");
admin.req({
url:domainName + '/api-web/alarmPolicy/getbytempId/'+id
,done:function (res){
if(res.data && res.data.length > 0){
url: domainName + '/api-web/alarmPolicy/getbytempId/' + id
, done: function (res) {
if (res.data && res.data.length > 0) {
var trs = '';
$.each(res.data,function (i,d){
$.each(res.data, function (i, d) {
var isDefault = '';
if(d.policyType == '1'){ //默认
if (d.policyType == '1') { //默认
isDefault = '<button type="button" class="layui-btn layui-btn-warm layui-btn-radius layui-btn-xs p-0-15">默认</button>';
}else{
} else {
isDefault = '<button type="button" class="layui-btn layui-btn-primary layui-btn-radius layui-btn-xs p-0-15">非默认</button>';
}
var kpiIdent = '';
if(d.kpiIdent == '0'){ kpiIdent = "基本指标";}
if(d.kpiIdent == '1'){ kpiIdent = "性能指标";}
if(d.kpiIdent == '2'){ kpiIdent = "状态指标";}
if(d.kpiIdent == '3'){ kpiIdent = "告警指标";}
if (d.kpiIdent == '0') {
kpiIdent = "基本指标";
}
if (d.kpiIdent == '1') {
kpiIdent = "性能指标";
}
if (d.kpiIdent == '2') {
kpiIdent = "状态指标";
}
if (d.kpiIdent == '3') {
kpiIdent = "告警指标";
}
trs += ` <tr data-id="${d.alarmPolicyId}">
<td><div><span data-id="${d.alarmPolicyId}" class="layui-table-link view-template-alarmpolicy-name">${d.alarmPolicyName}</span></div></td>
<td>${isDefault}</td>
... ... @@ -327,7 +343,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','reslist','sessions','
, title: "告警策略"
, shade: 0.8
, area: ['80%', '90%']
, btn:["关闭"]
, btn: ["关闭"]
, id: 'alarm_policy_by_tempId_index' //设定一个id,防止重复弹出
, content: tb
})
... ... @@ -337,7 +353,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','reslist','sessions','
});
//查看告警模板的资源数量
$(".view-alarmtemplate-res-total").on("click",function (){
$(".view-alarmtemplate-res-total").on("click", function () {
var alarmTempId = $(this).data("id");
common.openWin("template/res/reslist", "资源列表", {alarmTempId: alarmTempId}, ["关闭"], function () {
return true;
... ... @@ -345,13 +361,13 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','reslist','sessions','
});
//设置同步
form.on('switch(switchSyncAlarmTemplate)', function(obj){
form.on('switch(switchSyncAlarmTemplate)', function (obj) {
var alarmtemplateId = obj.elem.id;
syncAlarmTemplate(alarmtemplateId);
});
//删除
$(".delete-alarmtemplate-btn").on("click",function () {
$(".delete-alarmtemplate-btn").on("click", function () {
var id = $(this).data("id");
deletealarmtemplate(id)
});
... ... @@ -361,26 +377,26 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','reslist','sessions','
//刷新表格
function reloadalarmtemplateTable() {
alarmtemplateTable.reload({
where:{
access_token:accessToken,
policyId:policyId,
resIdList:resIdList,
alarmTempName:$("#alarmtemplatekw").val()
where: {
access_token: accessToken,
policyId: policyId,
resIdList: resIdList,
alarmTempName: $("#alarmtemplatekw").val()
}
});
}
function syncAlarmTemplate(tempId){
function syncAlarmTemplate(tempId) {
if (typeof (tempId) != "string") {
var ids = [];
var data = table.checkStatus('alarmtemplateTable').data;
if(data && data.length > 0){
$.each(data,function (i,obj) {
if (data && data.length > 0) {
$.each(data, function (i, obj) {
ids.push(obj.alarmTempId);
});
}
if (ids.length == 0) {
layer.msg('请选择要同步的数据',{icon: 7,time:2000});
layer.msg('请选择要同步的数据', {icon: 7, time: 2000});
return;
}
tempId = ids.toString();
... ... @@ -399,18 +415,18 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','reslist','sessions','
});
admin.req({
url:common.domainName + '/api-web/alarmtemplate/sync'
, data:{
ids:tempId
url: common.domainName + '/api-web/alarmtemplate/sync'
, data: {
ids: tempId
}
}).done(function (res) {
layer.close(syncalarmtempload)
if(res.success){
layer.msg(res.msg, { offset: '15px' , icon: 1, time: 2000},function (){
if (res.success) {
layer.msg(res.msg, {offset: '15px', icon: 1, time: 2000}, function () {
reloadalarmtemplateTable();
});
}else{
layer.msg(res.msg, { offset: '15px' , icon: 7, time: 2000});
} else {
layer.msg(res.msg, {offset: '15px', icon: 7, time: 2000});
}
});
... ... @@ -425,13 +441,13 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','reslist','sessions','
if (typeof (id) != "string") {
var ids = [];
var data = table.checkStatus('alarmtemplateTable').data;
if(data && data.length > 0){
$.each(data,function (i,obj) {
if (data && data.length > 0) {
$.each(data, function (i, obj) {
ids.push(obj.alarmTempId);
});
}
if (ids.length == 0) {
layer.msg('请选择要删除的数据',{icon: 7,time:2000});
layer.msg('请选择要删除的数据', {icon: 7, time: 2000});
return;
}
id = ids.toString();
... ... @@ -442,17 +458,17 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','reslist','sessions','
}, function () {
admin.req({
url: common.domainName + '/api-web/alarmtemplate/delete'
,type:"delete"
,data:{ids:id}
, type: "delete"
, data: {ids: id}
}).done(function (res) {
if(res.success){
if (res.success) {
layer.msg('删除成功', {
offset: '15px' , icon: 1 , time: 2000
offset: '15px', icon: 1, time: 2000
}, function () {
reloadalarmtemplateTable();
});
}else{
layer.msg(res.msg, { offset: '15px' , icon: 7 , time: 2000 });
} else {
layer.msg(res.msg, {offset: '15px', icon: 7, time: 2000});
}
}).error(function (error) {
... ... @@ -460,6 +476,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','reslist','sessions','
});
});
}
return { reloadtemplate: reloadalarmtemplateTable};
return {reloadtemplate: reloadalarmtemplateTable};
});
});
... ...
... ... @@ -268,6 +268,10 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'treeTabl
layer.msg('请选择用户', {icon: 7, time: 3000});
return false;
}
if (!noticeTimely.templates) {
layer.msg('请配置自定义展示中的展示内容', {icon: 7, time: 3000});
return false;
}
noticeTimely.site = $('#notice_timely_select').val() + $('#notice_timely_site').val();
//获取配置参数
var map = getParam();
... ...