通用-订阅管理优化-添加业务系统和资源类型订阅
Showing
8 changed files
with
401 additions
and
65 deletions
@@ -251,9 +251,11 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions'], function | @@ -251,9 +251,11 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions'], function | ||
251 | return '<div class="small-icon small-icon-msg"></div>' | 251 | return '<div class="small-icon small-icon-msg"></div>' |
252 | break; | 252 | break; |
253 | } | 253 | } |
254 | - }} | ||
255 | - , {field: 'alarmTempTotal', title: '订阅对象', align: 'center', sort: true, width:120, | ||
256 | - templet:function (d){ | 254 | + } |
255 | + } | ||
256 | + , { | ||
257 | + field: 'alarmTempTotal', title: '订阅对象', align: 'center', sort: true, minWidth: 140, | ||
258 | + templet: function (d) { | ||
257 | // if(d.useTotal != '0'){ | 259 | // if(d.useTotal != '0'){ |
258 | // return `<div><span data-id="${d.subId}" class="layui-table-link view-alarmsubscribe-target">${d.useTotal}</span></div>`; | 260 | // return `<div><span data-id="${d.subId}" class="layui-table-link view-alarmsubscribe-target">${d.useTotal}</span></div>`; |
259 | // }else{ | 261 | // }else{ |
@@ -263,7 +265,9 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions'], function | @@ -263,7 +265,9 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions'], function | ||
263 | return `<div> | 265 | return `<div> |
264 | <!--<span data-id="${d.subId}" class="layui-table-link view-alarmsubscribe-target">${d.useTotal}</span> / --> | 266 | <!--<span data-id="${d.subId}" class="layui-table-link view-alarmsubscribe-target">${d.useTotal}</span> / --> |
265 | <span data-id="${d.subId}" class="layui-table-link view-alarmsubscribe-resource" lay-tips="资源订阅">${d.resSubTotal}</span> / | 267 | <span data-id="${d.subId}" class="layui-table-link view-alarmsubscribe-resource" lay-tips="资源订阅">${d.resSubTotal}</span> / |
266 | - <span data-id="${d.subId}" class="layui-table-link view-alarmsubscribe-kpi" lay-tips="指标订阅">${d.kpiSubTotal}</span> | 268 | + <span data-id="${d.subId}" class="layui-table-link view-alarmsubscribe-kpi" lay-tips="指标订阅">${d.kpiSubTotal}</span> / |
269 | + <span data-id="${d.subId}" class="layui-table-link view-alarmsubscribe-resType" lay-tips="资源类型">${d.resTypeSubTotal}</span> / | ||
270 | + <span data-id="${d.subId}" class="layui-table-link view-alarmsubscribe-busId" lay-tips="业务系统">${d.busSubTotal}</span> | ||
267 | </div>`; | 271 | </div>`; |
268 | 272 | ||
269 | }} | 273 | }} |
@@ -304,9 +308,11 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions'], function | @@ -304,9 +308,11 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions'], function | ||
304 | } | 308 | } |
305 | , {title: '操作', align: 'center',width:200,fixed: 'right', toolbar: | 309 | , {title: '操作', align: 'center',width:200,fixed: 'right', toolbar: |
306 | '<div>' + | 310 | '<div>' + |
307 | - '<button data-id="{{d.subId}}" lay-tips="删除" type="button" class="layui-btn layui-btn-xs layui-btn-normal delete-alarmsubscribe-btn"><i class="layui-icon layui-icon-delete"></i></button>'+ | ||
308 | - '<button data-id="{{d.subId}}" lay-tips="资源订阅" type="button" class="layui-btn layui-btn-xs layui-btn-normal alarmsubscribe-resource-btn"><i class="layui-icon layui-icon-star"></i></button>'+ | ||
309 | - '<button data-id="{{d.subId}}" lay-tips="指标订阅" type="button" class="layui-btn layui-btn-xs layui-btn-normal alarmsubscribe-kpi-btn"><i class="layui-icon layui-icon-star-fill"></i></button>'+ | 311 | + '<button data-id="{{d.subId}}" lay-tips="删除" type="button" class="layui-btn layui-btn-xs layui-btn-normal delete-alarmsubscribe-btn"><i class="layui-icon layui-icon-delete"></i></button>' + |
312 | + '<button data-id="{{d.subId}}" lay-tips="资源订阅" type="button" class="layui-btn layui-btn-xs layui-btn-normal alarmsubscribe-resource-btn"><i class="layui-icon layui-icon-star"></i></button>' + | ||
313 | + '<button data-id="{{d.subId}}" lay-tips="指标订阅" type="button" class="layui-btn layui-btn-xs layui-btn-normal alarmsubscribe-kpi-btn"><i class="layui-icon layui-icon-star-fill"></i></button>' + | ||
314 | + '<button data-id="{{d.subId}}" lay-tips="资源类型订阅" type="button" class="layui-btn layui-btn-xs layui-btn-normal alarmsubscribe-resType-btn"><i class="layui-icon layui-icon-star-fill"></i></button>' + | ||
315 | + '<button data-id="{{d.subId}}" lay-tips="业务类型订阅" type="button" class="layui-btn layui-btn-xs layui-btn-normal alarmsubscribe-busId-btn"><i class="layui-icon layui-icon-star-fill"></i></button>' + | ||
310 | '</div>' | 316 | '</div>' |
311 | } | 317 | } |
312 | ]], | 318 | ]], |
@@ -475,7 +481,8 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions'], function | @@ -475,7 +481,8 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions'], function | ||
475 | ,data:{ | 481 | ,data:{ |
476 | subId:subId, | 482 | subId:subId, |
477 | busId:busId, | 483 | busId:busId, |
478 | - resTypeCode:resTypeCode | 484 | + resTypeCode:resTypeCode, |
485 | + keyword:$('#condition-resType-keyword').val() | ||
479 | } | 486 | } |
480 | ,done:function (res){ | 487 | ,done:function (res){ |
481 | layer.closeAll('loading'); | 488 | layer.closeAll('loading'); |
@@ -613,6 +620,15 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions'], function | @@ -613,6 +620,15 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions'], function | ||
613 | }); | 620 | }); |
614 | } | 621 | } |
615 | }); | 622 | }); |
623 | + | ||
624 | + //回车搜索 | ||
625 | + $('#condition-resType-keyword').keydown(function (e) { | ||
626 | + if (e.keyCode === 13) { | ||
627 | + var bus = xmSelect.get('#dyglResListBusType', true); | ||
628 | + var resType = xmSelect.get('#dyglResListResType', true); | ||
629 | + reloadTbody(bus.getValue('valueStr'),resType.getValue('valueStr')); | ||
630 | + } | ||
631 | + }); | ||
616 | } | 632 | } |
617 | }); | 633 | }); |
618 | 634 | ||
@@ -658,7 +674,6 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions'], function | @@ -658,7 +674,6 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions'], function | ||
658 | } | 674 | } |
659 | 675 | ||
660 | function reloadData(res) { | 676 | function reloadData(res) { |
661 | - | ||
662 | var trs = ''; | 677 | var trs = ''; |
663 | $.each(res.data,function (i,v){ | 678 | $.each(res.data,function (i,v){ |
664 | trs += `<tr><td>${i+1}</td><td>${v.resName}</td><td>${v.ip}</td><td>${v.adminName}</td> | 679 | trs += `<tr><td>${i+1}</td><td>${v.resName}</td><td>${v.ip}</td><td>${v.adminName}</td> |
@@ -668,6 +683,11 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions'], function | @@ -668,6 +683,11 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions'], function | ||
668 | <form class="layui-form layui-card-header layuiadmin-card-header-auto" lay-filter="dyglTools-form"> | 683 | <form class="layui-form layui-card-header layuiadmin-card-header-auto" lay-filter="dyglTools-form"> |
669 | <div class="layui-form-item"> | 684 | <div class="layui-form-item"> |
670 | <div class="layui-inline"> | 685 | <div class="layui-inline"> |
686 | + <div class="layui-input-inline layui-input-inline--long"> | ||
687 | + <input type="text" id="condition-resType-keyword" placeholder="输入名称,回车搜索" autocomplete="off" | ||
688 | + lay-tips="关键字检索包含: </br>IP地址</br>资源名称</br>负责人" | ||
689 | + class="layui-input"> | ||
690 | + </div> | ||
671 | <div class="layui-input-inline layui-input-inline--long multi-query" id="dyglResListBusType"> | 691 | <div class="layui-input-inline layui-input-inline--long multi-query" id="dyglResListBusType"> |
672 | </div> | 692 | </div> |
673 | <div class="layui-input-inline layui-input-inline--long multi-query" id="dyglResListResType"> | 693 | <div class="layui-input-inline layui-input-inline--long multi-query" id="dyglResListResType"> |
@@ -742,8 +762,8 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions'], function | @@ -742,8 +762,8 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions'], function | ||
742 | reloadalarmsubscribeTable(); | 762 | reloadalarmsubscribeTable(); |
743 | }); | 763 | }); |
744 | $("#"+id).parent().parent().remove(); | 764 | $("#"+id).parent().parent().remove(); |
745 | - }else{ | ||
746 | - layer.msg("删除失败,请与管理员联系",{icon:7,time:3000}); | 765 | + } else { |
766 | + layer.msg("删除失败,请与管理员联系", {icon: 7, time: 3000}); | ||
747 | } | 767 | } |
748 | } | 768 | } |
749 | }); | 769 | }); |
@@ -752,16 +772,37 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions'], function | @@ -752,16 +772,37 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions'], function | ||
752 | } | 772 | } |
753 | }); | 773 | }); |
754 | }); | 774 | }); |
755 | - | 775 | + //查看资源类型订阅列表 |
776 | + $(".view-alarmsubscribe-resType").on("click", function () { | ||
777 | + var subId = $(this).data("id"); | ||
778 | + common.openWin("template/res/typeSubscribeList", "选择资源类型", { | ||
779 | + subId: subId, | ||
780 | + type: 0 | ||
781 | + }, ["返回"], function () { | ||
782 | + reloadalarmsubscribeTable(); | ||
783 | + return true; | ||
784 | + }); | ||
785 | + }); | ||
786 | + //查看业务类型订阅列表 | ||
787 | + $(".view-alarmsubscribe-busId").on("click", function () { | ||
788 | + var subId = $(this).data("id"); | ||
789 | + common.openWin("template/res/typeSubscribeList", "选择业务系统", { | ||
790 | + subId: subId, | ||
791 | + type: 1 | ||
792 | + }, ["返回"], function () { | ||
793 | + reloadalarmsubscribeTable(); | ||
794 | + return true; | ||
795 | + }); | ||
796 | + }); | ||
756 | //资源订阅 | 797 | //资源订阅 |
757 | - $(".alarmsubscribe-resource-btn").on("click",function (){ | 798 | + $(".alarmsubscribe-resource-btn").on("click", function () { |
758 | if ($.inArray('back:alarmsubscribe:resource', checkList) == -1) { | 799 | if ($.inArray('back:alarmsubscribe:resource', checkList) == -1) { |
759 | layer.msg('暂无权限!', {icon: 7, time: 3000}); | 800 | layer.msg('暂无权限!', {icon: 7, time: 3000}); |
760 | return; | 801 | return; |
761 | } | 802 | } |
762 | var subId = $(this).data("id"); | 803 | var subId = $(this).data("id"); |
763 | - var oldData = getResOrKpiBySubId(subId,'res'); | ||
764 | - oldData = $.map(oldData,function (item) { | 804 | + var oldData = getResOrKpiBySubId(subId, 'res'); |
805 | + oldData = $.map(oldData, function (item) { | ||
765 | return item.resId; | 806 | return item.resId; |
766 | }) | 807 | }) |
767 | common.openWin("template/res/reslist","选择资源",{oldData:oldData},["选择"], function () { | 808 | common.openWin("template/res/reslist","选择资源",{oldData:oldData},["选择"], function () { |
@@ -873,17 +914,65 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions'], function | @@ -873,17 +914,65 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions'], function | ||
873 | return true; | 914 | return true; |
874 | }); | 915 | }); |
875 | }); | 916 | }); |
917 | + //资源类型订阅 | ||
918 | + $(".alarmsubscribe-resType-btn").on("click", function () { | ||
919 | + var subId = $(this).data("id"); | ||
920 | + var list = getResTypeOrBusId(subId, 0); | ||
921 | + //回填数据 | ||
922 | + common.openWin("baseconfig/resourcetype/index", "选择资源类型", {"resTypes": list,"showType":0}, ["选择"], function () { | ||
923 | + //找到选择的资源类型 并且订阅 | ||
924 | + var resourcetype = layui.resourcetype({"resTypes": list}); | ||
925 | + var data = resourcetype.getResTypeChecks(); | ||
926 | + insertResTypeOrBusId(data, 0, subId); | ||
927 | + }); | ||
928 | + }); | ||
929 | + //业务类型订阅 | ||
930 | + $(".alarmsubscribe-busId-btn").on("click", function () { | ||
931 | + var subId = $(this).data("id"); | ||
932 | + var list = getResTypeOrBusId(subId, 1); | ||
933 | + //回填数据 | ||
934 | + common.openWin("baseconfig/bustype/index", "选择业务类型", {busIds: list}, ["选择"], function () { | ||
935 | + //找到选择的所有业务 并且订阅 | ||
936 | + var bustype = layui.bustype({"busIds": list}); | ||
937 | + var data = bustype.getData(); | ||
938 | + insertResTypeOrBusId(data, 1, subId); | ||
939 | + }); | ||
940 | + }); | ||
876 | } | 941 | } |
877 | }); | 942 | }); |
878 | 943 | ||
944 | + //添加或修改 资源类型订阅或业务订阅 | ||
945 | + function insertResTypeOrBusId(data, type, subId, id) { | ||
946 | + let typeCode = data.map(item => item.resTypeCode ? item.resTypeCode : item.busId).toString(); | ||
947 | + let typeSubscribe = { | ||
948 | + id: id, | ||
949 | + subId: subId, | ||
950 | + subType: type, | ||
951 | + typeCode: typeCode | ||
952 | + }; | ||
953 | + admin.req({ | ||
954 | + url: common.domainName + '/api-web/bTypeSubscribe/insertOrChange?access_token=' + accessToken, | ||
955 | + type: 'post', | ||
956 | + contentType: 'application/json', | ||
957 | + data: JSON.stringify(typeSubscribe), | ||
958 | + success: function (response) { | ||
959 | + if (response.success) { | ||
960 | + layer.closeAll(); | ||
961 | + layer.msg(!id ? '添加成功' : '修改成功', {icon: 1, time: 3000}); | ||
962 | + reloadalarmsubscribeTable(); | ||
963 | + } | ||
964 | + }, | ||
965 | + }); | ||
966 | + } | ||
967 | + | ||
879 | //根据订阅id获取订阅的资源或指标 | 968 | //根据订阅id获取订阅的资源或指标 |
880 | - function getResOrKpiBySubId(subId,type) { | 969 | + function getResOrKpiBySubId(subId, type) { |
881 | var oldData = []; | 970 | var oldData = []; |
882 | var url = ''; | 971 | var url = ''; |
883 | if (type == 'res') { | 972 | if (type == 'res') { |
884 | - url = common.domainName+'/api-web/manage/resource/getResIdsBySubId?subId=' + subId; | 973 | + url = common.domainName + '/api-web/manage/resource/getResIdsBySubId?subId=' + subId; |
885 | } else if (type == 'kpi') { | 974 | } else if (type == 'kpi') { |
886 | - url = common.domainName+'/api-web/alarmsubscribe/getResAndKpiBySubId?subId=' + subId; | 975 | + url = common.domainName + '/api-web/alarmsubscribe/getResAndKpiBySubId?subId=' + subId; |
887 | } | 976 | } |
888 | admin.req({ | 977 | admin.req({ |
889 | url: url, | 978 | url: url, |
@@ -896,13 +985,28 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions'], function | @@ -896,13 +985,28 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions'], function | ||
896 | } | 985 | } |
897 | 986 | ||
898 | //打开告警订阅窗口 | 987 | //打开告警订阅窗口 |
899 | - function openAlarmsubscribeForm(id){ | ||
900 | - var title = id?"编辑告警订阅":"新增告警订阅"; | ||
901 | - title = `<a class="layui-icon layui-icon-edit win_title_icon"></a>${title}`; | ||
902 | - common.openWin('baseconfig/alarmsubscribe/add',title, {id:id},['保存','取消'],function () { | 988 | + function openAlarmsubscribeForm(id) { |
989 | + var title = id ? "编辑告警订阅" : "新增告警订阅"; | ||
990 | + title = `<a class="layui-icon layui-icon-edit win_title_icon"></a>${title}`; | ||
991 | + common.openWin('baseconfig/alarmsubscribe/add', title, {id: id}, ['保存', '取消'], function () { | ||
903 | $("#alarmsubscribe-form-save-id").trigger("click"); | 992 | $("#alarmsubscribe-form-save-id").trigger("click"); |
904 | return false; | 993 | return false; |
905 | - },null,['60%','80%'],null,null); | 994 | + }, null, ['60%', '80%'], null, null); |
995 | + } | ||
996 | + | ||
997 | + //根据busId获取业务类型或资源的订阅 | ||
998 | + function getResTypeOrBusId(subId, type) { | ||
999 | + let list = []; | ||
1000 | + admin.req({ | ||
1001 | + url: common.domainName + '/api-web/bTypeSubscribe/subscribeList?subId=' + subId + '&subType=' + type, | ||
1002 | + async: false, | ||
1003 | + success: function (response) { | ||
1004 | + if (response.success) { | ||
1005 | + list = response.data.map(item => item.typeCode); | ||
1006 | + } | ||
1007 | + }, | ||
1008 | + }); | ||
1009 | + return list; | ||
906 | } | 1010 | } |
907 | 1011 | ||
908 | 1012 | ||
@@ -910,9 +1014,9 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions'], function | @@ -910,9 +1014,9 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions'], function | ||
910 | function reloadalarmsubscribeTable() { | 1014 | function reloadalarmsubscribeTable() { |
911 | var conditions = form.val('alarmsubscribe-form'); | 1015 | var conditions = form.val('alarmsubscribe-form'); |
912 | alarmsubscribeTable.reload({ | 1016 | alarmsubscribeTable.reload({ |
913 | - where:{ | ||
914 | - access_token:accessToken, | ||
915 | - policyId:policyId, | 1017 | + where: { |
1018 | + access_token: accessToken, | ||
1019 | + policyId: policyId, | ||
916 | subName: conditions.subName, | 1020 | subName: conditions.subName, |
917 | subType: subTypeSelect.getValue('valueStr'), | 1021 | subType: subTypeSelect.getValue('valueStr'), |
918 | subWay: noticeWaySelect.getValue("valueStr"), | 1022 | subWay: noticeWaySelect.getValue("valueStr"), |
@@ -1019,10 +1123,9 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions'], function | @@ -1019,10 +1123,9 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions'], function | ||
1019 | } | 1123 | } |
1020 | } | 1124 | } |
1021 | }); | 1125 | }); |
1022 | - | ||
1023 | //获取选中的数据 | 1126 | //获取选中的数据 |
1024 | function getCheckSubscribeData() { | 1127 | function getCheckSubscribeData() { |
1025 | - return table.checkStatus('alarmsubscribeTable').data; | 1128 | + return table.checkStatus('alarmsubscTable').data; |
1026 | } | 1129 | } |
1027 | 1130 | ||
1028 | return { getSubscribeData: getCheckSubscribeData,reloadsubscribe:reloadalarmsubscribeTable}; | 1131 | return { getSubscribeData: getCheckSubscribeData,reloadsubscribe:reloadalarmsubscribeTable}; |
@@ -26,6 +26,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'laytpl', 'common', 'view', 'se | @@ -26,6 +26,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'laytpl', 'common', 'view', 'se | ||
26 | } | 26 | } |
27 | var mode = (data && data.mode) ? data.mode : ''; | 27 | var mode = (data && data.mode) ? data.mode : ''; |
28 | var username = (data && data.username) ? data.username : ''; | 28 | var username = (data && data.username) ? data.username : ''; |
29 | + let busIds = data.busIds ? data.busIds : []; | ||
29 | //展示类型 | 30 | //展示类型 |
30 | var showTypeList=[]; | 31 | var showTypeList=[]; |
31 | var dataBusType=[]; | 32 | var dataBusType=[]; |
@@ -257,7 +258,11 @@ layui.define(['table', 'form', 'admin', 'layer', 'laytpl', 'common', 'view', 'se | @@ -257,7 +258,11 @@ layui.define(['table', 'form', 'admin', 'layer', 'laytpl', 'common', 'view', 'se | ||
257 | }) | 258 | }) |
258 | } | 259 | } |
259 | } | 260 | } |
260 | - | 261 | + //回填数据 |
262 | + if(data && data.busIds){ | ||
263 | + //第一次进来回填数据 | ||
264 | + busTypeTable.setChecked(busIds); | ||
265 | + } | ||
261 | // 点击编号编辑事件 | 266 | // 点击编号编辑事件 |
262 | $('.btn-bustype-edit').click(function () { | 267 | $('.btn-bustype-edit').click(function () { |
263 | if ($.inArray('back:bustype:update', checkList) == -1) { | 268 | if ($.inArray('back:bustype:update', checkList) == -1) { |
@@ -17,23 +17,31 @@ layui.define(['form', 'admin', 'layer', 'laytpl', 'common', 'view', 'sessions', | @@ -17,23 +17,31 @@ layui.define(['form', 'admin', 'layer', 'laytpl', 'common', 'view', 'sessions', | ||
17 | var sessions = layui.sessions; | 17 | var sessions = layui.sessions; |
18 | var accessToken = sessions.getToken()['access_token']; | 18 | var accessToken = sessions.getToken()['access_token']; |
19 | var router = layui.router(); | 19 | var router = layui.router(); |
20 | - var resource_view=''; | ||
21 | - var biz_view=''; | ||
22 | - var collTypeSelect=''; | 20 | + var resource_view = ''; |
21 | + var biz_view = ''; | ||
22 | + var collTypeSelect = ''; | ||
23 | + //传递参数 | ||
24 | + let resTypes = data && data.resTypes ? data.resTypes : []; | ||
25 | + let showType = data && data.showType==0 ? data.showType : 1; | ||
26 | + if(showType == 0){ | ||
27 | + $('#resourceType-forbidden-type option[value="2"]').removeAttr("selected"); | ||
28 | + $('#resourceType-forbidden-type option[value="0"]').attr("selected", true); | ||
29 | + form.render(); | ||
30 | + } | ||
23 | // 查询条件 | 31 | // 查询条件 |
24 | - var conditions = {resTypeName: '',userAccount:''} | 32 | + var conditions = {resTypeName: '', userAccount: ''} |
25 | // 加载遮罩 | 33 | // 加载遮罩 |
26 | var loading; | 34 | var loading; |
27 | //获取权限列表 | 35 | //获取权限列表 |
28 | var checkList = common.checkPermission(accessToken); | 36 | var checkList = common.checkPermission(accessToken); |
29 | - var ddicCollType=[]; | 37 | + var ddicCollType = []; |
30 | //保存子节点 | 38 | //保存子节点 |
31 | - var arr=[]; | ||
32 | - var fun=undefined; | 39 | + var arr = []; |
40 | + var fun = undefined; | ||
33 | //展示类型 | 41 | //展示类型 |
34 | var showTypeList=[]; | 42 | var showTypeList=[]; |
35 | //展示类型是否展示 获取页面参数 | 43 | //展示类型是否展示 获取页面参数 |
36 | - var sign=typeof (data.sign) != 'undefined'?data.sign:true; | 44 | + var sign=data && typeof (data.sign) != 'undefined'?data.sign:true; |
37 | //获取连接 | 45 | //获取连接 |
38 | var loginName = localStorage.getItem('lgn'); | 46 | var loginName = localStorage.getItem('lgn'); |
39 | if (loginName != 'admin') { | 47 | if (loginName != 'admin') { |
@@ -788,6 +796,9 @@ layui.define(['form', 'admin', 'layer', 'laytpl', 'common', 'view', 'sessions', | @@ -788,6 +796,9 @@ layui.define(['form', 'admin', 'layer', 'laytpl', 'common', 'view', 'sessions', | ||
788 | }; | 796 | }; |
789 | //设置禁用或启用 | 797 | //设置禁用或启用 |
790 | form.on('switch(switchResourceTypeForbidden)', function(obj){ | 798 | form.on('switch(switchResourceTypeForbidden)', function(obj){ |
799 | + if(data && showType == 0){//点击事件不生效 | ||
800 | + return ; | ||
801 | + } | ||
791 | var resTypeCode = obj.elem.id; | 802 | var resTypeCode = obj.elem.id; |
792 | //找到当前父节点的行 | 803 | //找到当前父节点的行 |
793 | var $res = $('.ew-tree-table').find('table tbody tr[data-id="' + resTypeCode + '"]').eq(0); | 804 | var $res = $('.ew-tree-table').find('table tbody tr[data-id="' + resTypeCode + '"]').eq(0); |
@@ -969,7 +980,7 @@ layui.define(['form', 'admin', 'layer', 'laytpl', 'common', 'view', 'sessions', | @@ -969,7 +980,7 @@ layui.define(['form', 'admin', 'layer', 'laytpl', 'common', 'view', 'sessions', | ||
969 | function loadResTypeTable() { | 980 | function loadResTypeTable() { |
970 | loading = layer.load(2) | 981 | loading = layer.load(2) |
971 | conditions.resTypeName = $('#condition-restype-name').val(); | 982 | conditions.resTypeName = $('#condition-restype-name').val(); |
972 | - conditions.userAccount = data.username && data.username[0] ? data.username[0] : ''; | 983 | + conditions.userAccount = data && data.username && data.username[0] ? data.username[0] : ''; |
973 | admin.req({ | 984 | admin.req({ |
974 | url: domainName + '/api-web/manage/restype/listAll' | 985 | url: domainName + '/api-web/manage/restype/listAll' |
975 | , data: conditions | 986 | , data: conditions |
@@ -1148,19 +1159,32 @@ layui.define(['form', 'admin', 'layer', 'laytpl', 'common', 'view', 'sessions', | @@ -1148,19 +1159,32 @@ layui.define(['form', 'admin', 'layer', 'laytpl', 'common', 'view', 'sessions', | ||
1148 | }); | 1159 | }); |
1149 | //回填数据 | 1160 | //回填数据 |
1150 | if (data && data.username) { | 1161 | if (data && data.username) { |
1151 | - if (data.username.length == 1) { | ||
1152 | - $.ajax({ | ||
1153 | - type: "get", | ||
1154 | - url: domainName + "/api-web/manage/restype/getResTypeByUser?access_token=" + accessToken + "&username=" + data.username[0], | ||
1155 | - success: function (res) { | ||
1156 | - if (res && res.success) { | ||
1157 | - var resTypeData = res.data; | ||
1158 | - restypeTable.setChecked(resTypeData.map(item => item.resType)) | ||
1159 | - } | ||
1160 | - }, | ||
1161 | - }) | 1162 | + if (data.username.length == 1) { |
1163 | + $.ajax({ | ||
1164 | + type: "get", | ||
1165 | + url: domainName + "/api-web/manage/restype/getResTypeByUser?access_token=" + accessToken + "&username=" + data.username[0], | ||
1166 | + success: function (res) { | ||
1167 | + if (res && res.success) { | ||
1168 | + var resTypeData = res.data; | ||
1169 | + restypeTable.setChecked(resTypeData.map(item => item.resType)) | ||
1170 | + } | ||
1171 | + }, | ||
1172 | + }) | ||
1173 | + } | ||
1174 | + } | ||
1175 | + //回填数据 | ||
1176 | + if(data && data.resTypes){ | ||
1177 | + //第一次进来回填数据 | ||
1178 | + restypeTable.setChecked(resTypes); | ||
1179 | + } | ||
1180 | + //启用禁用不可点 | ||
1181 | + if(data && showType == 0){ | ||
1182 | + //隐藏下拉框 | ||
1183 | + $('.layui-inline-resourceType-forbidden').hide(); | ||
1184 | + $.each($('.main td[data-field="forbidden"]'),function (i,v) { | ||
1185 | + $(this).find('.layui-unselect').addClass("layui-notClick");//设为不可点击 | ||
1186 | + }); | ||
1162 | } | 1187 | } |
1163 | - } | ||
1164 | //默认全部展开 | 1188 | //默认全部展开 |
1165 | restypeTable.expandAll(); | 1189 | restypeTable.expandAll(); |
1166 | // 删除按钮事件 | 1190 | // 删除按钮事件 |
1 | +//资源指标列表 | ||
2 | +layui.define(['table', 'form', 'sessions', 'common'], function (exports) { | ||
3 | + var $ = layui.$; | ||
4 | + var form = layui.form; | ||
5 | + var table = layui.table; | ||
6 | + var common = layui.common; | ||
7 | + var layer = layui.layer; | ||
8 | + var admin = layui.admin; | ||
9 | + | ||
10 | + //对外暴露的接口 | ||
11 | + exports('typeSubscribeList', function (data) { | ||
12 | + var sessions = layui.sessions; | ||
13 | + var accessToken = sessions.getToken().access_token; | ||
14 | + var subType = data.type ? data.type : 0;//默认为资源类型 | ||
15 | + var subId = data.subId ? data.subId : ''; | ||
16 | + //回车搜索 | ||
17 | + $('#type_subscribe_list_keyword').keydown(function (e) { | ||
18 | + if (e.keyCode === 13) { | ||
19 | + reloadTypeSubscribeTable(); | ||
20 | + } | ||
21 | + }); | ||
22 | + | ||
23 | + var cols = []; | ||
24 | + if (subType) {//业务类型 | ||
25 | + cols = [[ | ||
26 | + {type: 'checkbox'}, | ||
27 | + {type: 'numbers', title: '序号', align: 'center'} | ||
28 | + , {field: 'busTypeName', title: '业务名称', minWidth: 200, align: 'center'} | ||
29 | + , {field: 'busTypeDesc', title: '业务备注', minWidth: 350, align: 'center'} | ||
30 | + , {field: 'subName', title: '订阅名称', minWidth: 170, align: 'center'} | ||
31 | + , {field: 'createTime', title: '订阅时间', minWidth: 150, align: 'center'} | ||
32 | + , { | ||
33 | + title: '操作', align: 'center', minWidth: 150, | ||
34 | + templet: '<div><span data-subId="{{d.subId}}" data-id="{{d.id}}" data-typeCode="{{d.typeCode}}" class="layui-table-link typeSubscribe-btn-delete">删除</span>' | ||
35 | + } | ||
36 | + ]] | ||
37 | + } else {//资源类型 | ||
38 | + cols = [[ | ||
39 | + {type: 'checkbox'}, | ||
40 | + {type: 'numbers', title: '序号', align: 'center'} | ||
41 | + , {field: 'typeCode', title: '编码', minWidth: 400, align: 'center'} | ||
42 | + , {field: 'resTypeName', title: '资源类型名称', minWidth: 140, align: 'center'} | ||
43 | + , {field: 'resTypeDesc', title: '资源类型备注', minWidth: 200, align: 'center'} | ||
44 | + , {field: 'subName', title: '订阅名称', minWidth: 140, align: 'center'} | ||
45 | + , {field: 'createTime', title: '订阅时间', minWidth: 140, align: 'center'} | ||
46 | + , { | ||
47 | + title: '操作', align: 'center', minWidth: 150, | ||
48 | + templet: '<div><span data-subId="{{d.subId}}" data-id="{{d.id}}" data-typeCode="{{d.typeCode}}" class="layui-table-link typeSubscribe-btn-delete">删除</span>' | ||
49 | + } | ||
50 | + ]] | ||
51 | + } | ||
52 | + //渲染表格 | ||
53 | + var typeSubscribeListable = table.render({ | ||
54 | + elem: '#type_subscribe_list_table' | ||
55 | + , url: common.domainName + '/api-web/bTypeSubscribe/typeSubscribeList' | ||
56 | + , where: { | ||
57 | + access_token: accessToken, | ||
58 | + keyword: $("#type_subscribe_list_keyword").val(), | ||
59 | + subType: subType, | ||
60 | + subId: subId | ||
61 | + } | ||
62 | + , height: 'full' | ||
63 | + , cellMinWidth: 80 | ||
64 | + , page: { | ||
65 | + layout: ['count', 'prev', 'page', 'next', 'limit', 'skip'] | ||
66 | + } | ||
67 | + , cols: cols | ||
68 | + , done: function () { | ||
69 | + //删除 | ||
70 | + $(".typeSubscribe-btn-delete").on("click", function () { | ||
71 | + var $this = $(this); | ||
72 | + var id = $this.data('id'); | ||
73 | + var ids = new Array(id); | ||
74 | + deleteTypeSubscribe(ids); | ||
75 | + }); | ||
76 | + } | ||
77 | + }); | ||
78 | + | ||
79 | + //删除数据 | ||
80 | + function deleteTypeSubscribe(ids) { | ||
81 | + layer.confirm('数据删除后将无法恢复,您确定要删除吗?', { | ||
82 | + btn: ['确定', '取消'] //按钮 | ||
83 | + }, function () { | ||
84 | + admin.req({ | ||
85 | + url: common.domainName + '/api-web/bTypeSubscribe/deleteTypeSubscribe?access_token=' + accessToken | ||
86 | + , type: "POST" | ||
87 | + , traditional: true | ||
88 | + , dataType: "json" | ||
89 | + , data: {ids: ids} | ||
90 | + }).done(function (res) { | ||
91 | + if (res.success) { | ||
92 | + layer.msg('删除成功', { | ||
93 | + offset: '15px' | ||
94 | + , icon: 1 | ||
95 | + , time: 1000 | ||
96 | + }, function () { | ||
97 | + reloadTypeSubscribeTable(); | ||
98 | + }); | ||
99 | + } | ||
100 | + }).error(function (error) { | ||
101 | + console.log(error); | ||
102 | + }); | ||
103 | + }); | ||
104 | + } | ||
105 | + | ||
106 | + //删除 | ||
107 | + $("#typeSubscribe_delete").on("click", function () { | ||
108 | + //获取选中数据 | ||
109 | + var li = getCheckKpiData(); | ||
110 | + deleteTypeSubscribe(li.map(item => item.id)); | ||
111 | + }); | ||
112 | + | ||
113 | + //刷新表格 | ||
114 | + function reloadTypeSubscribeTable() { | ||
115 | + typeSubscribeListable.reload({ | ||
116 | + where: { | ||
117 | + keyword: $("#type_subscribe_list_keyword").val(), | ||
118 | + subType: subType, | ||
119 | + subId: subId, | ||
120 | + access_token: accessToken | ||
121 | + } | ||
122 | + }); | ||
123 | + } | ||
124 | + | ||
125 | + //获取选中的数据 | ||
126 | + function getCheckKpiData() { | ||
127 | + return table.checkStatus('type_subscribe_list_table').data; | ||
128 | + } | ||
129 | + | ||
130 | + return {getData: getCheckKpiData}; | ||
131 | + }); | ||
132 | +}); |
@@ -7885,4 +7885,8 @@ form[lay-filter="activewarning-form"] .layui-inline { | @@ -7885,4 +7885,8 @@ form[lay-filter="activewarning-form"] .layui-inline { | ||
7885 | } | 7885 | } |
7886 | .detail_menubox li{ | 7886 | .detail_menubox li{ |
7887 | font-size: 12px !important; | 7887 | font-size: 12px !important; |
7888 | +} | ||
7889 | +.layui-notClick{ | ||
7890 | + pointer-events: none!important; | ||
7891 | + cursor:not-allowed!important; | ||
7888 | } | 7892 | } |
@@ -94,12 +94,23 @@ | @@ -94,12 +94,23 @@ | ||
94 | </div> | 94 | </div> |
95 | </div> | 95 | </div> |
96 | </script> | 96 | </script> |
97 | - | ||
98 | -<script template lay-done="layui.data.sendParams(d.params)"></script> | 97 | +<textarea id="bustype_param_id" style="display: none;">{{d}}</textarea> |
99 | <script> | 98 | <script> |
100 | - layui.data.sendParams = function (params) { | ||
101 | - layui.use('bustype', function (fn) { | ||
102 | - fn(params); | ||
103 | - }); | ||
104 | - }; | ||
105 | -</script> | ||
99 | + layui.use('bustype', function (fn) { | ||
100 | + var $ = layui.$; | ||
101 | + var param = $("#bustype_param_id").val(); | ||
102 | + if(param.indexOf('{{d') != -1){ | ||
103 | + fn(); | ||
104 | + }else{ | ||
105 | + fn(JSON.parse(param)); | ||
106 | + } | ||
107 | + }); | ||
108 | +</script> | ||
109 | +<!--<script template lay-done="layui.data.sendParams(d.params)"></script>--> | ||
110 | +<!--<script>--> | ||
111 | +<!-- layui.data.sendParams = function (params) {--> | ||
112 | +<!-- layui.use('bustype', function (fn) {--> | ||
113 | +<!-- fn(params);--> | ||
114 | +<!-- });--> | ||
115 | +<!-- };--> | ||
116 | +<!--</script>--> |
@@ -155,11 +155,26 @@ | @@ -155,11 +155,26 @@ | ||
155 | </button> | 155 | </button> |
156 | </div> | 156 | </div> |
157 | </script> | 157 | </script> |
158 | -<script template lay-done="layui.data.sendParams(d.params)"></script> | 158 | +<textarea id="resourcetype_param_id" style="display: none;">{{d}}</textarea> |
159 | <script> | 159 | <script> |
160 | - layui.data.sendParams = function (params) { | ||
161 | - layui.use('resourcetype', function (fn) { | ||
162 | - fn(params); | ||
163 | - }); | ||
164 | - }; | ||
165 | -</script> | ||
160 | + layui.use('resourcetype', function (fn) { | ||
161 | + var $ = layui.$; | ||
162 | + var param = $("#resourcetype_param_id").val(); | ||
163 | + if(param.indexOf('{{d') != -1){ | ||
164 | + fn(); | ||
165 | + }else{ | ||
166 | + fn(JSON.parse(param)); | ||
167 | + } | ||
168 | + }); | ||
169 | +</script> | ||
170 | + | ||
171 | +<!--<script template lay-done="layui.data.sendParams(d)"></script>--> | ||
172 | +<!--<script>--> | ||
173 | +<!-- layui.data.sendParams = function (d) {--> | ||
174 | +<!-- console.log(d);--> | ||
175 | +<!-- console.log(d.params);--> | ||
176 | +<!-- layui.use('resourcetype', function (fn) {--> | ||
177 | +<!-- fn(d.params);--> | ||
178 | +<!-- });--> | ||
179 | +<!-- };--> | ||
180 | +<!--</script>--> |
hg-monitor-web-base/src/main/resources/static/src/views/template/res/typeSubscribeList.html
0 → 100644
1 | +<title>资源类型订阅列表</title> | ||
2 | +<article class="page-container"> | ||
3 | + <div class="page-panel"> | ||
4 | + <div class="main"> | ||
5 | + <div class="layui-card"> | ||
6 | + <div class="layui-card-header"> | ||
7 | + <div class="layui-status"> | ||
8 | + <form class="layui-form layui-card-header layuiadmin-card-header-auto" lay-filter="res-list-query-form"> | ||
9 | + <div class="layui-form-item"> | ||
10 | + <div class="layui-inline"> | ||
11 | + <div class="layui-input-inline layui-input-inline--long"> | ||
12 | + <input id="type_subscribe_list_keyword" type="text" placeholder="输入关键字,回车搜索" lay-tips='关键字检索包括:<br>名称</br>编码</br>备注' name="keyword" class="layui-input"> | ||
13 | + </div> | ||
14 | + </div> | ||
15 | + </div> | ||
16 | + </form> | ||
17 | + </div> | ||
18 | + </div> | ||
19 | + <div class="layui-card-body"> | ||
20 | + <div class="layui-btn-container"> | ||
21 | + <button class="layui-btn layui-btn-sm layui-btn-normal" id="typeSubscribe_delete"> | ||
22 | + <i class="layui-icon"></i>删除</button> | ||
23 | + </div> | ||
24 | + <table id="type_subscribe_list_table"></table> | ||
25 | + </div> | ||
26 | + </div> | ||
27 | + </div> | ||
28 | + </div> | ||
29 | +</article> | ||
30 | + | ||
31 | +<textarea class="hide" id="typeSubscribeList-params">{{d}}</textarea> | ||
32 | +<script> | ||
33 | + var params = document.getElementById("typeSubscribeList-params").value; | ||
34 | + layui.use('typeSubscribeList', function (fn) { | ||
35 | + if (params.indexOf("{{d") !== -1) { | ||
36 | + fn(); | ||
37 | + } else { | ||
38 | + fn(JSON.parse(params)); | ||
39 | + } | ||
40 | + }); | ||
41 | + | ||
42 | +</script> |
-
Please register or login to post a comment