Showing
3 changed files
with
111 additions
and
40 deletions
@@ -9,7 +9,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions','xmSelect', | @@ -9,7 +9,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions','xmSelect', | ||
9 | var xmSelect = layui.xmSelect; | 9 | var xmSelect = layui.xmSelect; |
10 | var treeTable = layui.treeTable; | 10 | var treeTable = layui.treeTable; |
11 | var domainName = common.domainName; | 11 | var domainName = common.domainName; |
12 | - | 12 | + var resListSelectIds = []; |
13 | //对外暴露的接口 | 13 | //对外暴露的接口 |
14 | exports('alarmpolicyIndex', function (data) { | 14 | exports('alarmpolicyIndex', function (data) { |
15 | var sessions = layui.sessions; | 15 | var sessions = layui.sessions; |
@@ -17,7 +17,8 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions','xmSelect', | @@ -17,7 +17,8 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions','xmSelect', | ||
17 | //获得权限列表 | 17 | //获得权限列表 |
18 | var checkList = common.checkPermission(accessToken); | 18 | var checkList = common.checkPermission(accessToken); |
19 | var resName = ''; | 19 | var resName = ''; |
20 | - | 20 | + resListSelectIds = []; |
21 | + var table_data = []; | ||
21 | if (data && data.type == 'alarmTemplate') { | 22 | if (data && data.type == 'alarmTemplate') { |
22 | $('#alarmpolicy_policyType').val('0'); | 23 | $('#alarmpolicy_policyType').val('0'); |
23 | $('#alarmpolicy_policyType').attr('disabled','disabled'); | 24 | $('#alarmpolicy_policyType').attr('disabled','disabled'); |
@@ -96,7 +97,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions','xmSelect', | @@ -96,7 +97,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions','xmSelect', | ||
96 | } | 97 | } |
97 | , even: true | 98 | , even: true |
98 | , cols: [[ | 99 | , cols: [[ |
99 | - {type: 'checkbox'} | 100 | + {type: 'checkbox',field: 'checkbox'} |
100 | , {field: 'policyType', title: '策略类型', align: 'center', sort: true, width:120, | 101 | , {field: 'policyType', title: '策略类型', align: 'center', sort: true, width:120, |
101 | templet: function(d){ | 102 | templet: function(d){ |
102 | var checked = ''; | 103 | var checked = ''; |
@@ -157,7 +158,8 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions','xmSelect', | @@ -157,7 +158,8 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions','xmSelect', | ||
157 | '</div>' | 158 | '</div>' |
158 | } | 159 | } |
159 | ]], | 160 | ]], |
160 | - done:function () { | 161 | + done:function (res) { |
162 | + table_data = res.data; | ||
161 | //设置默认 | 163 | //设置默认 |
162 | form.on('switch(switchPolicyType)', function(obj){ | 164 | form.on('switch(switchPolicyType)', function(obj){ |
163 | var alarmPolicyId = obj.elem.id; | 165 | var alarmPolicyId = obj.elem.id; |
@@ -204,9 +206,61 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions','xmSelect', | @@ -204,9 +206,61 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions','xmSelect', | ||
204 | var id = $(this).data("id"); | 206 | var id = $(this).data("id"); |
205 | deleteAlarmPolicy(id) | 207 | deleteAlarmPolicy(id) |
206 | }); | 208 | }); |
209 | + | ||
210 | + //回显 | ||
211 | + if(data && data.oldData){ | ||
212 | + resListSelectIds = data.oldData; | ||
213 | + $.each(res.data,function (i,e) { | ||
214 | + $.each(data.oldData,function (j,k) { | ||
215 | + if(e.alarmPolicyId === k){ | ||
216 | + var index= e.LAY_TABLE_INDEX; | ||
217 | + $("[lay-id='alarmpolicyTable']").find('tr[data-index=' + index + '] input[name="layTableCheckbox"]').next().click(); | ||
207 | } | 218 | } |
219 | + }) | ||
220 | + }) | ||
221 | + } | ||
222 | + } | ||
223 | + }); | ||
224 | + //监听ckecked选中事件 | ||
225 | + table.on('checkbox(alarmpolicyTable)', function(obj){ | ||
226 | + if (obj.checked == true) { | ||
227 | + if (obj.type == 'one' && resListSelectIds.indexOf(obj.data.resId) === -1) {//勾选单条 | ||
228 | + resListSelectIds.push(obj.data.alarmPolicyId); | ||
229 | + } | ||
230 | + if (obj.type == 'all') {//勾选全部 | ||
231 | + for (var i = 0; i < table_data.length; i++) { | ||
232 | + if (resListSelectIds.indexOf(obj.data.alarmPolicyId) === -1) { | ||
233 | + resListSelectIds.push(table_data[i].alarmPolicyId); | ||
234 | + } | ||
235 | + } | ||
236 | + } | ||
237 | + } else { | ||
238 | + if (obj.type == 'one') { | ||
239 | + for (var i = 0; i < resListSelectIds.length; i++) { | ||
240 | + if (resListSelectIds[i] == obj.data.resId) { | ||
241 | + resListSelectIds = resListSelectIds.filter(function (item) { | ||
242 | + return item != resListSelectIds[i]; | ||
208 | }); | 243 | }); |
244 | + } | ||
245 | + } | ||
246 | + } else { | ||
247 | + for (var i = 0; i < resListSelectIds.length; i++) { | ||
248 | + for (var j = 0; j < table_data.length; j++) { | ||
249 | + if (resListSelectIds[i] == table_data[j].resId) { | ||
250 | + resListSelectIds = resListSelectIds.filter(function (item) { | ||
251 | + return item != resListSelectIds[i]; | ||
252 | + }); | ||
253 | + } | ||
254 | + } | ||
255 | + } | ||
256 | + } | ||
257 | + } | ||
258 | + | ||
259 | + // 跨域发送信息,不能删除 | ||
260 | + obj.data["checked"] = obj.checked; | ||
261 | + window.top.postMessage({res:obj.data},"*"); | ||
209 | 262 | ||
263 | + }) | ||
210 | //同步策略 | 264 | //同步策略 |
211 | function syncAlarmPolicy(alarmPolicyId){ | 265 | function syncAlarmPolicy(alarmPolicyId){ |
212 | if (typeof (alarmPolicyId) != "string") { | 266 | if (typeof (alarmPolicyId) != "string") { |
@@ -59,25 +59,24 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','reslist','sessions',' | @@ -59,25 +59,24 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','reslist','sessions',' | ||
59 | return; | 59 | return; |
60 | } | 60 | } |
61 | var tempData = table.checkStatus('alarmtemplateTable').data; | 61 | var tempData = table.checkStatus('alarmtemplateTable').data; |
62 | - if(tempData && tempData.length > 0){ | ||
63 | - $('[lay-id="/baseconfig/alarmpolicy/index"]').find('.layui-tab-close').trigger('click'); | ||
64 | - var url = 'baseconfig/alarmpolicy/index'; | ||
65 | - var params = {type:'alarmTemplate'}; | ||
66 | - view('commonViewModel').render(url,params).then(function (res) { | ||
67 | - layer.open({ | ||
68 | - title: ["配置策略", 'font-size:18px;'], | ||
69 | - type: 1, | ||
70 | - area: ['90%', '90%'], | ||
71 | - resize: false, | ||
72 | - content: laytpl(res.body).render(JSON.stringify(params)), | ||
73 | - btn: ["选择","取消"], | ||
74 | - id:'alarm_template_Table_tactics',//设定一个id,防止重复弹出 | ||
75 | - success: function (index, layero) { | 62 | + var oldAlarmPolicyIdList = []; |
63 | + if (tempData.length<=1){ | ||
64 | + admin.req({ | ||
65 | + url: common.domainName + '/api-web/alarmPolicy/getbytempId/'+tempData[0].alarmTempId, | ||
66 | + async: false, | ||
67 | + error: function () { | ||
68 | + layer.close(loading); | ||
69 | + } | ||
70 | + }).done(function (response) { | ||
71 | + if (response) { | ||
72 | + oldAlarmPolicyIdList = response.data.map(item => item.alarmPolicyId) | ||
73 | + } | ||
74 | + }); | ||
75 | + } | ||
76 | 76 | ||
77 | - }, | ||
78 | - yes: function (index, layero) { | 77 | + if(tempData && tempData.length > 0){ |
78 | + common.openWin("baseconfig/alarmpolicy/index","选择策略",{oldData:oldAlarmPolicyIdList},["选择","取消"], function () { | ||
79 | var policyData = layui.alarmpolicyIndex().getData(); | 79 | var policyData = layui.alarmpolicyIndex().getData(); |
80 | - if(policyData && policyData.length > 0){ | ||
81 | var tempIds = [],policyIds=[]; | 80 | var tempIds = [],policyIds=[]; |
82 | $.each(tempData,function (i,v){ | 81 | $.each(tempData,function (i,v){ |
83 | tempIds.push(v.alarmTempId); | 82 | tempIds.push(v.alarmTempId); |
@@ -100,18 +99,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','reslist','sessions',' | @@ -100,18 +99,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','reslist','sessions',' | ||
100 | } | 99 | } |
101 | } | 100 | } |
102 | }); | 101 | }); |
103 | - }else{ | ||
104 | - layer.msg("请至少选择一条策略", { offset: '15px' , icon: 7 , time: 1000 }); | ||
105 | - return false; | ||
106 | - } | ||
107 | - return true; | ||
108 | - } | ||
109 | - }) | ||
110 | - }) | ||
111 | - | ||
112 | - // common.openWin("baseconfig/alarmpolicy/index","配置策略",{type:'alarmTemplate'},["选择","取消"], function () { | ||
113 | - // | ||
114 | - // }); | 102 | + }); |
115 | }else{ | 103 | }else{ |
116 | layer.msg("请至少选择一条数据!", { offset: '15px' , icon: 7 , time: 1000 }); | 104 | layer.msg("请至少选择一条数据!", { offset: '15px' , icon: 7 , time: 1000 }); |
117 | } | 105 | } |
@@ -135,7 +123,24 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','reslist','sessions',' | @@ -135,7 +123,24 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','reslist','sessions',' | ||
135 | layer.msg('请选择一条要配置的数据',{icon: 7,time:2000}); | 123 | layer.msg('请选择一条要配置的数据',{icon: 7,time:2000}); |
136 | return; | 124 | return; |
137 | } | 125 | } |
138 | - common.openWin("template/res/reslist","配置资源",{},["选择","取消"], function () { | 126 | + var oldResIdList = []; |
127 | + if (tempIds.length<=1){ | ||
128 | + admin.req({ | ||
129 | + url: common.domainName + '/api-web/alarmtemplate/getResIdByTempId', | ||
130 | + async: false, | ||
131 | + data: { | ||
132 | + tempId:tempIds.toString(), | ||
133 | + }, | ||
134 | + error: function () { | ||
135 | + layer.close(loading); | ||
136 | + } | ||
137 | + }).done(function (response) { | ||
138 | + if (response) { | ||
139 | + oldResIdList = response.data.map(item => item.resId) | ||
140 | + } | ||
141 | + }); | ||
142 | + } | ||
143 | + common.openWin("template/res/reslist","配置资源",{oldData:oldResIdList},["选择","取消"], function () { | ||
139 | var resObj = layui.reslist().getData(); | 144 | var resObj = layui.reslist().getData(); |
140 | if(resObj && resObj.length > 0){ | 145 | if(resObj && resObj.length > 0){ |
141 | var resIds = []; | 146 | var resIds = []; |
@@ -84,13 +84,25 @@ | @@ -84,13 +84,25 @@ | ||
84 | </div> | 84 | </div> |
85 | </div> | 85 | </div> |
86 | </article> | 86 | </article> |
87 | -<script template lay-done="layui.data.sendParams(d.params)"> | ||
88 | - | ||
89 | -</script> | 87 | +<textarea id="alarm_policyIndex_id" style="display: none;">{{d}}</textarea> |
90 | <script> | 88 | <script> |
91 | - layui.data.sendParams = function (params) { | ||
92 | layui.use('alarmpolicyIndex', function (fn) { | 89 | layui.use('alarmpolicyIndex', function (fn) { |
93 | - fn(params); | 90 | + var $ = layui.$; |
91 | + var param = $("#alarm_policyIndex_id").val(); | ||
92 | + if(param.indexOf('{{d') != -1){ | ||
93 | + fn(); | ||
94 | + }else{ | ||
95 | + fn(JSON.parse(param)); | ||
96 | + } | ||
94 | }); | 97 | }); |
95 | - }; | ||
96 | </script> | 98 | </script> |
99 | +<!--<script template lay-done="layui.data.sendParams(d.params)">--> | ||
100 | + | ||
101 | +<!--</script>--> | ||
102 | +<!--<script>--> | ||
103 | +<!-- layui.data.sendParams = function (params) {--> | ||
104 | +<!-- layui.use('alarmpolicyIndex', function (fn) {--> | ||
105 | +<!-- fn(params);--> | ||
106 | +<!-- });--> | ||
107 | +<!-- };--> | ||
108 | +<!--</script>--> |
-
Please register or login to post a comment