Authored by xwx

告警模板绑定之后后修改状态为未同步

... ... @@ -9,7 +9,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions','xmSelect',
var xmSelect = layui.xmSelect;
var treeTable = layui.treeTable;
var domainName = common.domainName;
var resListSelectIds = [];
//对外暴露的接口
exports('alarmpolicyIndex', function (data) {
var sessions = layui.sessions;
... ... @@ -17,7 +17,8 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions','xmSelect',
//获得权限列表
var checkList = common.checkPermission(accessToken);
var resName = '';
resListSelectIds = [];
var table_data = [];
if (data && data.type == 'alarmTemplate') {
$('#alarmpolicy_policyType').val('0');
$('#alarmpolicy_policyType').attr('disabled','disabled');
... ... @@ -96,7 +97,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions','xmSelect',
}
, even: true
, cols: [[
{type: 'checkbox'}
{type: 'checkbox',field: 'checkbox'}
, {field: 'policyType', title: '策略类型', align: 'center', sort: true, width:120,
templet: function(d){
var checked = '';
... ... @@ -157,7 +158,8 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions','xmSelect',
'</div>'
}
]],
done:function () {
done:function (res) {
table_data = res.data;
//设置默认
form.on('switch(switchPolicyType)', function(obj){
var alarmPolicyId = obj.elem.id;
... ... @@ -204,9 +206,61 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions','xmSelect',
var id = $(this).data("id");
deleteAlarmPolicy(id)
});
//回显
if(data && data.oldData){
resListSelectIds = data.oldData;
$.each(res.data,function (i,e) {
$.each(data.oldData,function (j,k) {
if(e.alarmPolicyId === k){
var index= e.LAY_TABLE_INDEX;
$("[lay-id='alarmpolicyTable']").find('tr[data-index=' + index + '] input[name="layTableCheckbox"]').next().click();
}
})
})
}
}
});
//监听ckecked选中事件
table.on('checkbox(alarmpolicyTable)', function(obj){
if (obj.checked == true) {
if (obj.type == 'one' && resListSelectIds.indexOf(obj.data.resId) === -1) {//勾选单条
resListSelectIds.push(obj.data.alarmPolicyId);
}
if (obj.type == 'all') {//勾选全部
for (var i = 0; i < table_data.length; i++) {
if (resListSelectIds.indexOf(obj.data.alarmPolicyId) === -1) {
resListSelectIds.push(table_data[i].alarmPolicyId);
}
}
}
} else {
if (obj.type == 'one') {
for (var i = 0; i < resListSelectIds.length; i++) {
if (resListSelectIds[i] == obj.data.resId) {
resListSelectIds = resListSelectIds.filter(function (item) {
return item != resListSelectIds[i];
});
}
}
} else {
for (var i = 0; i < resListSelectIds.length; i++) {
for (var j = 0; j < table_data.length; j++) {
if (resListSelectIds[i] == table_data[j].resId) {
resListSelectIds = resListSelectIds.filter(function (item) {
return item != resListSelectIds[i];
});
}
}
}
}
}
// 跨域发送信息,不能删除
obj.data["checked"] = obj.checked;
window.top.postMessage({res:obj.data},"*");
})
//同步策略
function syncAlarmPolicy(alarmPolicyId){
if (typeof (alarmPolicyId) != "string") {
... ...
... ... @@ -59,59 +59,47 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','reslist','sessions','
return;
}
var tempData = table.checkStatus('alarmtemplateTable').data;
if(tempData && tempData.length > 0){
$('[lay-id="/baseconfig/alarmpolicy/index"]').find('.layui-tab-close').trigger('click');
var url = 'baseconfig/alarmpolicy/index';
var params = {type:'alarmTemplate'};
view('commonViewModel').render(url,params).then(function (res) {
layer.open({
title: ["配置策略", 'font-size:18px;'],
type: 1,
area: ['90%', '90%'],
resize: false,
content: laytpl(res.body).render(JSON.stringify(params)),
btn: ["选择","取消"],
id:'alarm_template_Table_tactics',//设定一个id,防止重复弹出
success: function (index, layero) {
var oldAlarmPolicyIdList = [];
if (tempData.length<=1){
admin.req({
url: common.domainName + '/api-web/alarmPolicy/getbytempId/'+tempData[0].alarmTempId,
async: false,
error: function () {
layer.close(loading);
}
}).done(function (response) {
if (response) {
oldAlarmPolicyIdList = response.data.map(item => item.alarmPolicyId)
}
});
}
},
yes: function (index, layero) {
var policyData = layui.alarmpolicyIndex().getData();
if(policyData && policyData.length > 0){
var tempIds = [],policyIds=[];
$.each(tempData,function (i,v){
tempIds.push(v.alarmTempId);
})
$.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 (){
layer.closeAll();
reloadalarmtemplateTable();
});
}else{
layer.msg(res.msg, { offset: '15px' , icon: 7 , time: 1000 });
}
}
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){
tempIds.push(v.alarmTempId);
})
$.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 (){
layer.closeAll();
reloadalarmtemplateTable();
});
}else{
layer.msg("请至少选择一条策略", { offset: '15px' , icon: 7 , time: 1000 });
return false;
layer.msg(res.msg, { offset: '15px' , icon: 7 , time: 1000 });
}
return true;
}
})
})
// common.openWin("baseconfig/alarmpolicy/index","配置策略",{type:'alarmTemplate'},["选择","取消"], function () {
//
// });
});
});
}else{
layer.msg("请至少选择一条数据!", { offset: '15px' , icon: 7 , time: 1000 });
}
... ... @@ -135,7 +123,24 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','reslist','sessions','
layer.msg('请选择一条要配置的数据',{icon: 7,time:2000});
return;
}
common.openWin("template/res/reslist","配置资源",{},["选择","取消"], function () {
var oldResIdList = [];
if (tempIds.length<=1){
admin.req({
url: common.domainName + '/api-web/alarmtemplate/getResIdByTempId',
async: false,
data: {
tempId:tempIds.toString(),
},
error: function () {
layer.close(loading);
}
}).done(function (response) {
if (response) {
oldResIdList = response.data.map(item => item.resId)
}
});
}
common.openWin("template/res/reslist","配置资源",{oldData:oldResIdList},["选择","取消"], function () {
var resObj = layui.reslist().getData();
if(resObj && resObj.length > 0){
var resIds = [];
... ...
... ... @@ -84,13 +84,25 @@
</div>
</div>
</article>
<script template lay-done="layui.data.sendParams(d.params)">
</script>
<textarea id="alarm_policyIndex_id" style="display: none;">{{d}}</textarea>
<script>
layui.data.sendParams = function (params) {
layui.use('alarmpolicyIndex', function (fn) {
fn(params);
});
};
</script>
\ No newline at end of file
layui.use('alarmpolicyIndex', function (fn) {
var $ = layui.$;
var param = $("#alarm_policyIndex_id").val();
if(param.indexOf('{{d') != -1){
fn();
}else{
fn(JSON.parse(param));
}
});
</script>
<!--<script template lay-done="layui.data.sendParams(d.params)">-->
<!--</script>-->
<!--<script>-->
<!-- layui.data.sendParams = function (params) {-->
<!-- layui.use('alarmpolicyIndex', function (fn) {-->
<!-- fn(params);-->
<!-- });-->
<!-- };-->
<!--</script>-->
... ...