Merge branch 'master-500-prod-joke-new' into 'master-500-prod'
500-dev指标组页面优化及页面指标管理页面新增 500-dev指标组页面优化及页面指标管理页面新增 See merge request !754
Showing
7 changed files
with
716 additions
and
9 deletions
@@ -321,7 +321,8 @@ layui.define(['xmSelect', 'md5'], function (exports) { | @@ -321,7 +321,8 @@ layui.define(['xmSelect', 'md5'], function (exports) { | ||
321 | resTypeSelect: function (targtetId, callback, ajaxParams) { | 321 | resTypeSelect: function (targtetId, callback, ajaxParams) { |
322 | var options = "<option value=''>=资源类型=</option>"; | 322 | var options = "<option value=''>=资源类型=</option>"; |
323 | admin.req(Object.assign({ | 323 | admin.req(Object.assign({ |
324 | - url: this.domainName + '/api-web/home/restype/getAllResType' | 324 | + url: this.domainName + '/api-web/home/restype/getAllResType', |
325 | + async: false | ||
325 | }, ajaxParams)).done(function (res) { | 326 | }, ajaxParams)).done(function (res) { |
326 | var reslist = res.data; | 327 | var reslist = res.data; |
327 | $.each(reslist, function (i, v) { | 328 | $.each(reslist, function (i, v) { |
@@ -446,6 +447,7 @@ layui.define(['xmSelect', 'md5'], function (exports) { | @@ -446,6 +447,7 @@ layui.define(['xmSelect', 'md5'], function (exports) { | ||
446 | var accessToken = sessions.getToken()['access_token']; | 447 | var accessToken = sessions.getToken()['access_token']; |
447 | $.ajax({ | 448 | $.ajax({ |
448 | url: obj.domainName + '/api-web/manage/protocol/page?page=1&limit=10000&access_token=' + accessToken, | 449 | url: obj.domainName + '/api-web/manage/protocol/page?page=1&limit=10000&access_token=' + accessToken, |
450 | + async: false, | ||
449 | success: function (res) { | 451 | success: function (res) { |
450 | if (res && res.data) { | 452 | if (res && res.data) { |
451 | res.data.forEach(function (v) { | 453 | res.data.forEach(function (v) { |
1 | -layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', "commonDetail"], function (exports) { | 1 | +layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', "commonDetail", 'xmSelect'], function (exports) { |
2 | var $ = layui.$; | 2 | var $ = layui.$; |
3 | var form = layui.form; | 3 | var form = layui.form; |
4 | var layer = layui.layer; | 4 | var layer = layui.layer; |
5 | var admin = layui.admin; | 5 | var admin = layui.admin; |
6 | var table = layui.table; | 6 | var table = layui.table; |
7 | + var xmSelect = layui.xmSelect; | ||
7 | var common = layui.common; | 8 | var common = layui.common; |
8 | var domainName = common.domainName; | 9 | var domainName = common.domainName; |
9 | 10 | ||
@@ -13,12 +14,20 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', "commonDe | @@ -13,12 +14,20 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', "commonDe | ||
13 | var accessToken = sessions.getToken()['access_token']; | 14 | var accessToken = sessions.getToken()['access_token']; |
14 | var checkList = common.checkPermission(accessToken); | 15 | var checkList = common.checkPermission(accessToken); |
15 | 16 | ||
17 | + form.render(); | ||
18 | + | ||
16 | //回车事件 | 19 | //回车事件 |
17 | $('#kpiflag_keyword').keydown(function (e) { | 20 | $('#kpiflag_keyword').keydown(function (e) { |
18 | if (e.keyCode === 13) { | 21 | if (e.keyCode === 13) { |
19 | reloadTable(); | 22 | reloadTable(); |
20 | } | 23 | } |
21 | }); | 24 | }); |
25 | + $("#kpiflagQueryBtn").unbind().on("click", function () { | ||
26 | + reloadTable(); | ||
27 | + }) | ||
28 | + form.on('select(change)', function (data) { | ||
29 | + reloadTable(); | ||
30 | + }) | ||
22 | $("#addkpiflag").unbind().on("click", function () { | 31 | $("#addkpiflag").unbind().on("click", function () { |
23 | if ($.inArray('back:kpiflag:save', checkList) == -1) { | 32 | if ($.inArray('back:kpiflag:save', checkList) == -1) { |
24 | layer.msg('暂无权限!', {icon: 7, time: 3000}); | 33 | layer.msg('暂无权限!', {icon: 7, time: 3000}); |
@@ -44,29 +53,50 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', "commonDe | @@ -44,29 +53,50 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', "commonDe | ||
44 | , where: { | 53 | , where: { |
45 | access_token: accessToken, | 54 | access_token: accessToken, |
46 | keyWord: $("#kpiflag_keyword").val(), | 55 | keyWord: $("#kpiflag_keyword").val(), |
56 | + dimension: $('select[name="dimension"]').val() | ||
47 | } | 57 | } |
48 | - , height: 'full-340' | 58 | + , height: 'full-200' |
49 | , cellMinWidth: 80 | 59 | , cellMinWidth: 80 |
50 | , page: { | 60 | , page: { |
51 | layout: ['count', 'prev', 'page', 'next', 'limit', 'skip'] | 61 | layout: ['count', 'prev', 'page', 'next', 'limit', 'skip'] |
52 | , theme: '#1E9FFF' | 62 | , theme: '#1E9FFF' |
53 | } | 63 | } |
54 | - , limit: 10 | ||
55 | , even: true | 64 | , even: true |
56 | , cols: [[ | 65 | , cols: [[ |
57 | {type: 'checkbox'} | 66 | {type: 'checkbox'} |
67 | + , {field: 'index', title: '序号', align: 'center', type: 'numbers'} | ||
58 | , { | 68 | , { |
59 | field: 'name', title: '名称', align: 'center', sort: true, | 69 | field: 'name', title: '名称', align: 'center', sort: true, |
60 | - templet: '<div><span kpiflag-data-edit="{{d.id}}" data-flag="{{d.flag}}" class="layui-table-link">{{d.name}}</span></div>' | 70 | + templet: '<div>' + |
71 | + '<span kpiflag-data-edit="{{d.id}}" data-flag="{{d.flag}}" class="layui-table-link">{{d.name}}</span>' + | ||
72 | + '</div>' | ||
61 | } | 73 | } |
62 | , {field: 'flag', title: '标识', align: 'center', sort: true} | 74 | , {field: 'flag', title: '标识', align: 'center', sort: true} |
63 | - , {field: 'remark', title: '备注', align: 'center'} | 75 | + , { field: 'dimension', title: '维度', align: 'center', width: 80, templet: ` |
76 | + <div> | ||
77 | + {{# | ||
78 | + if (d.dimension == '1D') { | ||
79 | + }} <span>一维</span> {{# | ||
80 | + }else{ | ||
81 | + }} <span>二维</span> {{# | ||
82 | + } | ||
83 | + }} | ||
84 | + </div> | ||
85 | + ` | ||
86 | + } | ||
87 | + , {field: 'kpis', title: '绑定指标', align: 'left'} | ||
88 | + , {field: 'restypes', title: '绑定资源类型', align: 'left'} | ||
89 | + , {field: 'createUser', title: '创建人',width: 100, align: 'center'} | ||
90 | + , {field: 'createTime', title: '创建时间', align: 'center'} | ||
91 | + , {field: 'remark', title: '备注', align: 'left'} | ||
64 | , { | 92 | , { |
65 | title: '操作', | 93 | title: '操作', |
66 | align: 'center', | 94 | align: 'center', |
67 | fixed: 'right', | 95 | fixed: 'right', |
68 | - width: 120, | ||
69 | - templet: '<div><span kpiflag-data-delete="{{d.id}}" data-flag="{{d.flag}}" class="layui-table-link">删除</span>' | 96 | + width: 100, |
97 | + templet: '<div>' + | ||
98 | + '<button kpiflag-data-delete="{{d.id}}" data-flag="{{d.flag}}" class="layui-btn layui-btn-xs layui-btn-normal link-restypepage-delete" lay-tips="删除"><i class="layui-icon layui-icon-delete"></i></button>' + | ||
99 | + '</div>' | ||
70 | } | 100 | } |
71 | ]], | 101 | ]], |
72 | done: function (res, curr, count) { | 102 | done: function (res, curr, count) { |
@@ -112,7 +142,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', "commonDe | @@ -112,7 +142,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', "commonDe | ||
112 | return; | 142 | return; |
113 | } | 143 | } |
114 | //确认提示框 | 144 | //确认提示框 |
115 | - layer.confirm('确认删除当前采集协议及协议参数吗?', { | 145 | + layer.confirm('确认删除数据吗?', { |
116 | btn: ['确定', '取消'] //按钮 | 146 | btn: ['确定', '取消'] //按钮 |
117 | }, function () { | 147 | }, function () { |
118 | admin.req({ | 148 | admin.req({ |
@@ -142,6 +172,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', "commonDe | @@ -142,6 +172,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', "commonDe | ||
142 | , where: { | 172 | , where: { |
143 | access_token: accessToken, | 173 | access_token: accessToken, |
144 | keyWord: $("#kpiflag_keyword").val(), | 174 | keyWord: $("#kpiflag_keyword").val(), |
175 | + dimension: $('select[name="dimension"]').val() | ||
145 | } | 176 | } |
146 | }); | 177 | }); |
147 | } | 178 | } |
1 | +/** 指标组新增 */ | ||
2 | +layui.define(['table', 'form', 'laydate', 'common', 'sessions', 'laydate', 'element', 'admin', 'kpiIndex', 'resourcetype'], function (exports) { | ||
3 | + var $ = layui.$; | ||
4 | + var form = layui.form; | ||
5 | + var table = layui.table; | ||
6 | + var common = layui.common; | ||
7 | + var admin = layui.admin; | ||
8 | + var view = layui.view; | ||
9 | + var element = layui.element; | ||
10 | + | ||
11 | + // 对外暴露的接口 | ||
12 | + exports('restypepageEdit', function (data) { | ||
13 | + var id = data.id ? data.id : ''; | ||
14 | + var sessions = layui.sessions; | ||
15 | + var accessToken = sessions.getToken().access_token; | ||
16 | + var domainName = common.domainName; | ||
17 | + // 表格数据 | ||
18 | + var restypepageKpiTableData = []; | ||
19 | + // 指标自定义类型数据组装option | ||
20 | + var restypekpitype; | ||
21 | + //指标表格 | ||
22 | + var restypepageKpiTable; | ||
23 | + // 加载遮罩 | ||
24 | + var loading; | ||
25 | + // 如果是编辑,回显数据 | ||
26 | + var restypePageData = { | ||
27 | + id: '', | ||
28 | + resType: '', | ||
29 | + os: '', | ||
30 | + provider: '', | ||
31 | + model: '', | ||
32 | + protocol: '' | ||
33 | + }; | ||
34 | + | ||
35 | + //初始化下拉框数据 | ||
36 | + initSelect(); | ||
37 | + //进入页面后第一次加载指标表格数据 | ||
38 | + loadRestypepageKpiFlagTable(); | ||
39 | + //获取指标自定义类型字典数据 | ||
40 | + getRestypePageKpiTypes(); | ||
41 | + | ||
42 | + /** | ||
43 | + * 初始化下拉框数据 | ||
44 | + * | ||
45 | + * */ | ||
46 | + function initSelect() { | ||
47 | + common.resTypeSelect("restypepagekpi_select_resType", function () { | ||
48 | + form.render("select"); | ||
49 | + }); | ||
50 | + common.renderCollProtocolSelect('restypepagekpiCollProtocol', function () { | ||
51 | + form.render("select"); | ||
52 | + }); | ||
53 | + common.renderCollProtocolSelect('restypepagekpiCollProtocol'); | ||
54 | + //绑定厂商下拉选择 | ||
55 | + common.providerSelect("restypepagekpiProvider", function () { | ||
56 | + form.render("select"); | ||
57 | + }); | ||
58 | + common.renderDdicSelect('restypepagekpiOs', 'os', function () { | ||
59 | + form.render("select"); | ||
60 | + }, "=操作系统="); | ||
61 | + // 根据id查询资源类型页面配置信息,在下拉框加载完成后,防止因未加载完成,造成回填异常 | ||
62 | + getrestypePageInfo(id); | ||
63 | + } | ||
64 | + | ||
65 | + | ||
66 | + /** | ||
67 | + * 获取指标自定义类型字典数据 | ||
68 | + * | ||
69 | + * */ | ||
70 | + function getRestypePageKpiTypes() { | ||
71 | + var options = ''; | ||
72 | + admin.req({ | ||
73 | + url: common.domainName + '/api-web/manage/ddic/findSucDdics/restypepage_kpi_type', | ||
74 | + type: 'POST', | ||
75 | + async: false, | ||
76 | + }).done(function (res) { | ||
77 | + var list = res.data; | ||
78 | + $.each(list, function (i, v) { | ||
79 | + options += '<option value="' + v.ddicCode + '">' + v.ddicName + '</option>'; | ||
80 | + }); | ||
81 | + restypekpitype = options; | ||
82 | + }).error(function (error) { | ||
83 | + console.error(error); | ||
84 | + }); | ||
85 | + } | ||
86 | + | ||
87 | + /** | ||
88 | + * 根据id查询资源类型页面配置信息 | ||
89 | + * | ||
90 | + * */ | ||
91 | + function getrestypePageInfo(id) { | ||
92 | + if (id){ | ||
93 | + $.ajax({ | ||
94 | + url: common.domainName + '/api-web/manage/restypePage/getById?access_token=' + accessToken + '&id=' + id, | ||
95 | + type: 'get', | ||
96 | + success: function (res) { | ||
97 | + restypePageData = res.object; | ||
98 | + form.val('form-restypepage-edit', res.object); | ||
99 | + restypepageKpiTableData = res.object.restypePageKpis; | ||
100 | + reloadRestypepageKpiFlagTable(); | ||
101 | + } | ||
102 | + }); | ||
103 | + } | ||
104 | + } | ||
105 | + | ||
106 | + element.render('collapse'); | ||
107 | + form.render(); | ||
108 | + | ||
109 | + /** | ||
110 | + * 加载指标表格数据 | ||
111 | + * | ||
112 | + * */ | ||
113 | + function loadRestypepageKpiFlagTable(){ | ||
114 | + restypepageKpiTable = table.render({ | ||
115 | + elem: '#restypepage-edit-table' | ||
116 | + , cellMinWidth: 80 | ||
117 | + , limit: 10 | ||
118 | + , even: true | ||
119 | + , data: restypepageKpiTableData | ||
120 | + , cols: [[ | ||
121 | + {field: 'index', title: '序号', align: 'center', type: 'numbers'}, | ||
122 | + {field: 'kpiName', title: '指标名称', align: 'center'}, | ||
123 | + { | ||
124 | + field: 'kpiIdent', title: '指标分类', align: 'center', | ||
125 | + templet: function (d) { | ||
126 | + switch (d.kpiIdent) { | ||
127 | + case '0': | ||
128 | + return '基本指标'; | ||
129 | + case '1': | ||
130 | + return '性能指标'; | ||
131 | + case '2': | ||
132 | + return '状态指标'; | ||
133 | + case '3': | ||
134 | + return '告警指标'; | ||
135 | + default: | ||
136 | + return ''; | ||
137 | + } | ||
138 | + } | ||
139 | + }, | ||
140 | + { | ||
141 | + title: '类型', align: 'center', | ||
142 | + templet: function (d) { | ||
143 | + var selectDom = $('<select class="typeSel" lay-search="" class="layui-select" data-index="' + (d.LAY_INDEX-1) + '" lay-filter="select-restypepagekpi-table-type">' + | ||
144 | + restypekpitype + | ||
145 | + '</select>'); | ||
146 | + var index = (d.LAY_INDEX-1); | ||
147 | + var type = restypepageKpiTableData[index].type; | ||
148 | + selectDom.find('option[value="'+type+'"]').attr('selected', 'selected'); | ||
149 | + return selectDom.prop('outerHTML'); | ||
150 | + } | ||
151 | + }, { | ||
152 | + field: 'id', title: 'id', align: 'center' , hide: true, templet: function (d) { | ||
153 | + var inputDom = $('<input id="txt-restypepagekpi-table-id-' + (d.LAY_INDEX-1) + '" data-index="' + (d.LAY_INDEX-1) + '" autocomplete="off" class="layui-input txt-restypepagekpi-table-id">'); | ||
154 | + var index = (d.LAY_INDEX-1); | ||
155 | + var id = restypepageKpiTableData[index].id; | ||
156 | + if (id != '' && id != null) { | ||
157 | + inputDom.attr("value", id); | ||
158 | + } | ||
159 | + return inputDom.prop('outerHTML'); | ||
160 | + } | ||
161 | + } | ||
162 | + , { | ||
163 | + field: 'sort', title: '排序', align: 'center', | ||
164 | + templet: function (d) { | ||
165 | + var inputDom = $('<input id="txt-restypepagekpi-table-sort-' + (d.LAY_INDEX-1) + '" data-index="' + (d.LAY_INDEX-1) + '" type="number" autocomplete="off" class="layui-input txt-restypepagekpi-table-sort">'); | ||
166 | + if (d.sort != null) { | ||
167 | + inputDom.attr("value", restypepageKpiTableData[(d.LAY_INDEX-1)].sort); | ||
168 | + } | ||
169 | + return inputDom.prop('outerHTML'); | ||
170 | + } | ||
171 | + }, { | ||
172 | + title: '操作', | ||
173 | + width: 100, | ||
174 | + align: 'center', | ||
175 | + templet: '<div><span data-index="{{(d.LAY_INDEX-1)}}" class="link link-restypepagekpi-delete">' + | ||
176 | + '<a class="layui-btn layui-btn-xs layui-btn-normal" title="删除"><i class="layui-icon"></i></a></span>' | ||
177 | + }]], | ||
178 | + done: function (res, curr, count) { | ||
179 | + form.render(); | ||
180 | + $(".restypepage-edit-table .layui-table-body,.restypepage-edit-table .layui-table-box,.restypepage-edit-table .layui-table-cell").css('overflow', 'visible'); | ||
181 | + // 排序下拉框改变事件 | ||
182 | + form.on('select(select-restypepagekpi-table-type)', function (data) { | ||
183 | + var index = $(data.elem).data('index'); | ||
184 | + restypepageKpiTableData[index].type = data.value; | ||
185 | + }); | ||
186 | + // 排序输入框输入事件 | ||
187 | + $('.txt-restypepagekpi-table-sort').change(function () { | ||
188 | + restypepageKpiTableData[$(this).data('index')].sort = $(this).val(); | ||
189 | + }); | ||
190 | + // 删除事件 | ||
191 | + $('.link-restypepagekpi-delete').click(function () { | ||
192 | + restypepageKpiTableData.splice($(this).data('index'), 1); | ||
193 | + reloadRestypepageKpiFlagTable(); | ||
194 | + }); | ||
195 | + } | ||
196 | + }); | ||
197 | + } | ||
198 | + | ||
199 | + // 刷新指标表格 | ||
200 | + function reloadRestypepageKpiFlagTable() { | ||
201 | + restypepageKpiTable.reload({ | ||
202 | + page: {curr: 1}, | ||
203 | + data: restypepageKpiTableData | ||
204 | + }); | ||
205 | + } | ||
206 | + | ||
207 | + // 表单提交事件 | ||
208 | + form.on('submit(form-restypepage-edit)', function (data) { | ||
209 | + loading = layer.load(2); | ||
210 | + var restypePage = { | ||
211 | + id: id, | ||
212 | + resType: '', | ||
213 | + os: '', | ||
214 | + provider: '', | ||
215 | + model: '', | ||
216 | + protocol: '', | ||
217 | + remark: '', | ||
218 | + restypePageKpis: restypepageKpiTableData | ||
219 | + }; | ||
220 | + Object.assign(restypePage, form.val('form-restypepage-edit')); | ||
221 | + admin.req({ | ||
222 | + url: common.domainName + '/api-web/manage/restypePage/saveRestypePage?access_token=' + accessToken, | ||
223 | + type: 'POST', | ||
224 | + contentType: 'application/json', | ||
225 | + data: JSON.stringify(restypePage), | ||
226 | + error: function () { | ||
227 | + layer.close(loading); | ||
228 | + } | ||
229 | + }).done(function (response) { | ||
230 | + layer.close(loading); | ||
231 | + if (response.success) { | ||
232 | + layer.msg('保存成功', {icon: 1, timeout: 3000}); | ||
233 | + layer.closeAll('page'); | ||
234 | + table.reload('table-restypepage-list', { | ||
235 | + page: { | ||
236 | + curr: 1 | ||
237 | + } | ||
238 | + , where: { | ||
239 | + access_token: accessToken, | ||
240 | + keyword: $("#restypepageQueryForm").find("input[name='keyword']").val(), | ||
241 | + resType: $("#restypepageQueryForm").find("select[name='restypepageresType']").val(), | ||
242 | + os: $("#restypepageQueryForm").find("select[name='restypepageos']").val(), | ||
243 | + protocol: $("#restypepageQueryForm").find("select[name='restypepagecollProtocol']").val(), | ||
244 | + provider: $("#restypepageQueryForm").find("select[name='restypepageprovider']").val(), | ||
245 | + } | ||
246 | + }); | ||
247 | + } else { | ||
248 | + layer.msg('保存失败', {icon: 2, timeout: 3000}); | ||
249 | + } | ||
250 | + }); | ||
251 | + return false; | ||
252 | + }); | ||
253 | + | ||
254 | + // 选择指标 | ||
255 | + $('#btn-restypepage-kpi-bind').click(function () { | ||
256 | + $('[lay-id="/baseconfig/kpi/index"]').find('.layui-tab-close').trigger('click'); | ||
257 | + layer.open({ | ||
258 | + title: '选择指标', | ||
259 | + id: 'restypepageKpiIndexChooseHtml', | ||
260 | + type: 1, | ||
261 | + area: ['90%', '800px'], | ||
262 | + btn: ['确定', '取消'], | ||
263 | + scrollbar: true, | ||
264 | + success: function () { | ||
265 | + view(this.id).render('/baseconfig/kpi/index', {}); | ||
266 | + }, | ||
267 | + yes: function (index, layero) { | ||
268 | + var kpiIndex = layui.kpiIndex({}); | ||
269 | + var data = kpiIndex.getData(); | ||
270 | + if (data.length > 0) { | ||
271 | + $.each(data, function (i, e) { | ||
272 | + var flag = true; | ||
273 | + $.each(restypepageKpiTableData, function (j, k) { | ||
274 | + if (e.kpiId == k.kpiId) { | ||
275 | + flag = false; | ||
276 | + } | ||
277 | + }); | ||
278 | + if (flag == true) { | ||
279 | + restypepageKpiTableData.push({ | ||
280 | + id: '', | ||
281 | + pageId: id, | ||
282 | + resType: restypePageData.resType, | ||
283 | + kpiId: e.kpiId, | ||
284 | + kpiName: e.kpiName, | ||
285 | + kpiIdent: e.kpiIdent, | ||
286 | + type: 'base', | ||
287 | + sort: i | ||
288 | + }); | ||
289 | + } | ||
290 | + }); | ||
291 | + layer.close(index); | ||
292 | + reloadRestypepageKpiFlagTable(); | ||
293 | + } else { | ||
294 | + layer.msg("无选中的数据", {offset: '15px', icon: 7, time: 2000}) | ||
295 | + return false; | ||
296 | + } | ||
297 | + } | ||
298 | + }); | ||
299 | + form.render(); | ||
300 | + }); | ||
301 | + }); | ||
302 | +}); |
1 | +layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'treeTable', 'xmSelect'], function (exports) { | ||
2 | + var $ = layui.$; | ||
3 | + var form = layui.form; | ||
4 | + var layer = layui.layer; | ||
5 | + var admin = layui.admin; | ||
6 | + var table = layui.table; | ||
7 | + var common = layui.common; | ||
8 | + var treeTable = layui.treeTable; | ||
9 | + var xmSelect = layui.xmSelect; | ||
10 | + | ||
11 | + exports('restypepageIndex', function () { | ||
12 | + var sessions = layui.sessions; | ||
13 | + var accessToken = sessions.getToken()['access_token']; | ||
14 | + var domainName = common.domainName; | ||
15 | + var restypepageTable; | ||
16 | + //加载权限列表 | ||
17 | + var checkList = common.checkPermission(accessToken); | ||
18 | + | ||
19 | + //初始化下拉框 | ||
20 | + initSelect(); | ||
21 | + //初始化事件 | ||
22 | + initEvent() | ||
23 | + //初次加载表格 | ||
24 | + loadTable(); | ||
25 | + | ||
26 | + | ||
27 | + /** | ||
28 | + * 初初始化事件 | ||
29 | + * | ||
30 | + * */ | ||
31 | + function initEvent() { | ||
32 | + // 回车搜索 | ||
33 | + $('form[lay-filter="form-restypepage-condition"] input').keydown(function (e) { | ||
34 | + if (e.keyCode === 13) { | ||
35 | + reloadTable(); | ||
36 | + } | ||
37 | + }); | ||
38 | + //查询按钮点击事件 | ||
39 | + $("#restypepageQueryBtn").unbind().on("click", function () { | ||
40 | + reloadTable(); | ||
41 | + }) | ||
42 | + //搜索下拉框change事件监听 | ||
43 | + form.on('select(change)', function (data) { | ||
44 | + reloadTable(); | ||
45 | + }) | ||
46 | + // 添加资源类型页面配置信息 | ||
47 | + $('#btn-restypepage-add').click(function () { | ||
48 | + if ($.inArray('back:restypepage:add', checkList) == -1) { | ||
49 | + layer.msg('暂无权限!', {icon: 7, time: 3000}); | ||
50 | + return; | ||
51 | + } | ||
52 | + openEditHtml(); | ||
53 | + }); | ||
54 | + // 删除事件 | ||
55 | + $('#btn-restypepage-delete').click(function () { | ||
56 | + var checks = table.checkStatus('table-restypepage-list').data; | ||
57 | + var ids = $.map(checks, function (item) { | ||
58 | + return item.id; | ||
59 | + }); | ||
60 | + deleteByIds(ids); | ||
61 | + }); | ||
62 | + } | ||
63 | + | ||
64 | + | ||
65 | + /** | ||
66 | + * 初始化下拉框数据 | ||
67 | + * | ||
68 | + * */ | ||
69 | + function initSelect() { | ||
70 | + common.renderCollProtocolSelect('restypepageCollProtocol', function () { | ||
71 | + form.render("select"); | ||
72 | + }); | ||
73 | + // common.renderCollProtocolSelect('restypepageCollProtocol'); | ||
74 | + //绑定厂商下拉选择 | ||
75 | + common.providerSelect("restypepageProvider", function () { | ||
76 | + form.render("select"); | ||
77 | + }); | ||
78 | + | ||
79 | + common.renderDdicSelect('restypepageOs', 'os', function () { | ||
80 | + form.render("select"); | ||
81 | + }, "=操作系统="); | ||
82 | + //资源类型下拉框 | ||
83 | + common.resTypeSelect("restypepage_select_resType",function () { | ||
84 | + form.render("select"); | ||
85 | + }); | ||
86 | + } | ||
87 | + /** | ||
88 | + * 将查询条件作为方法 | ||
89 | + * | ||
90 | + * */ | ||
91 | + function whereSearch() { | ||
92 | + form.render(); | ||
93 | + var $from = $("#restypepageQueryForm") | ||
94 | + var search = { | ||
95 | + access_token: accessToken, | ||
96 | + keyword: $from.find("input[name='keyword']").val(), | ||
97 | + resType: $from.find("select[name='restypepageresType']").val(), | ||
98 | + os: $from.find("select[name='restypepageos']").val(), | ||
99 | + protocol: $from.find("select[name='restypepagecollProtocol']").val(), | ||
100 | + provider: $from.find("select[name='restypepageprovider']").val(), | ||
101 | + } | ||
102 | + return search; | ||
103 | + } | ||
104 | + | ||
105 | + // 加载表格 | ||
106 | + function loadTable() { | ||
107 | + restypepageTable = table.render({ | ||
108 | + elem: '#table-restypepage-list', | ||
109 | + url: domainName + '/api-web/manage/restypePage/page', | ||
110 | + where: whereSearch(), | ||
111 | + height: 'full-200', | ||
112 | + limit: common.limit, | ||
113 | + limits: common.limits, | ||
114 | + page: { | ||
115 | + layout: ['count', 'prev', 'page', 'next', 'limit', 'skip'], | ||
116 | + theme: '#1E9FFF' | ||
117 | + }, | ||
118 | + cols: [[ | ||
119 | + { type: 'checkbox' } | ||
120 | + , {field: 'index', title: '序号', align: 'center', type: 'numbers'} | ||
121 | + , { field: 'resTypeName', title: '资源类型', align: 'center'} | ||
122 | + , { field: 'osName', title: '操作系统', align: 'center'} | ||
123 | + , { field: 'provderName', title: '厂商', align: 'center'} | ||
124 | + , { field: 'protocolName', title: '采集协议', align: 'center'} | ||
125 | + , { field: 'model', title: '型号', align: 'center'} | ||
126 | + , { field: 'keyword', title: '辅助关键字', align: 'center'} | ||
127 | + , { field: 'kpis', title: '配置指标', align: 'left',width: 300} | ||
128 | + , { field: 'remark', title: '备注', align: 'left',width: 300} | ||
129 | + , { | ||
130 | + title: '操作', align: 'center', width: 100, | ||
131 | + templet: | ||
132 | + '<div>' + | ||
133 | + '<button data-id="{{d.id}}" class="layui-btn layui-btn-xs layui-btn-normal link-restypepage-edit" lay-tips="编辑"><i class="layui-icon layui-icon-edit"></i></button>'+ | ||
134 | + '<button data-id="{{d.id}}" class="layui-btn layui-btn-xs layui-btn-normal link-restypepage-delete" lay-tips="删除"><i class="layui-icon layui-icon-delete"></i></button>' + | ||
135 | + '</div>' | ||
136 | + }]], | ||
137 | + done: function (res) { | ||
138 | + // 点击编辑事件 | ||
139 | + $('.link-restypepage-edit').click(function () { | ||
140 | + if ($.inArray('back:restypepage:add', checkList) == -1) { | ||
141 | + layer.msg('暂无权限!', {icon: 7, time: 3000}); | ||
142 | + return; | ||
143 | + } | ||
144 | + openEditHtml($(this).data('id')); | ||
145 | + }); | ||
146 | + // 点击删除事件 | ||
147 | + $('.link-restypepage-delete').click(function () { | ||
148 | + deleteByIds([$(this).data('id')]); | ||
149 | + }); | ||
150 | + } | ||
151 | + }); | ||
152 | + } | ||
153 | + | ||
154 | + //刷新表格 | ||
155 | + function reloadTable() { | ||
156 | + restypepageTable.reload({ | ||
157 | + page: { | ||
158 | + curr: 1 | ||
159 | + } | ||
160 | + , where: whereSearch() | ||
161 | + }); | ||
162 | + } | ||
163 | + | ||
164 | + // 新增或编辑资源类型页面配置信息 | ||
165 | + function openEditHtml(id) { | ||
166 | + common.openWin('/baseconfig/restypepage/add', `<a class="layui-icon layui-icon-edit win_title_icon"></a>` + id ? '编辑' : '新增', | ||
167 | + {id: id}, ['保存', '取消'], function () { | ||
168 | + $('#btn-restypepage-submit').click(); | ||
169 | + }, null, ['80%', '90%'], null, {resize: false}); | ||
170 | + form.render(); | ||
171 | + } | ||
172 | + | ||
173 | + // 根据id删除字典信息 | ||
174 | + function deleteByIds(ids) { | ||
175 | + if ($.inArray('back:restypepage:delete', checkList) == -1) { | ||
176 | + layer.msg('暂无权限!', {icon: 7, time: 3000}); | ||
177 | + return; | ||
178 | + } | ||
179 | + if (ids.length == 0) { | ||
180 | + layer.msg('请至少选择一条数据', {icon: 0, time: 3000}); | ||
181 | + return; | ||
182 | + } | ||
183 | + layer.confirm('确认要删除数据吗?', {icon: 3}, function () { | ||
184 | + layer.load(2); | ||
185 | + admin.req({ | ||
186 | + url: domainName + '/api-web/manage/restypePage/deleteByIds', | ||
187 | + data: { | ||
188 | + ids: ids | ||
189 | + } | ||
190 | + }).done(function (response) { | ||
191 | + layer.closeAll('loading'); | ||
192 | + if (response.success) { | ||
193 | + layer.msg('删除成功!', {icon: 1, time: 3000}); | ||
194 | + reloadTable(); | ||
195 | + } else { | ||
196 | + layer.msg('删除失败!', {icon: 2, time: 3000}); | ||
197 | + } | ||
198 | + }).error(function () { | ||
199 | + layer.closeAll('loading'); | ||
200 | + }); | ||
201 | + }); | ||
202 | + } | ||
203 | + }); | ||
204 | +}); |
@@ -17,6 +17,10 @@ | @@ -17,6 +17,10 @@ | ||
17 | <input style="display: none" type="text"> | 17 | <input style="display: none" type="text"> |
18 | </div> | 18 | </div> |
19 | </div> | 19 | </div> |
20 | + <button class="layui-btn layui-btn-normal" id="kpiflagQueryBtn" type="button"> | ||
21 | + <!--lsq 查询按钮取消掉图标 2022-06-30--> | ||
22 | + 查询 | ||
23 | + </button> | ||
20 | </div> | 24 | </div> |
21 | </form> | 25 | </form> |
22 | </div> | 26 | </div> |
1 | +<article> | ||
2 | + <form class="layui-form layui-form-pane" action="" lay-filter="form-restypepage-edit"> | ||
3 | + <fieldset class="layui-elem-field layui-field-title"> | ||
4 | + <legend>基本信息</legend> | ||
5 | + </fieldset> | ||
6 | + <div class="layui-form-item"> | ||
7 | + <div class="inline-half layui-inline"> | ||
8 | + <label class="layui-form-label">资源类型<span style="color: red">*</span></label> | ||
9 | + <div class="layui-input-inline"> | ||
10 | + <select name="resType" lay-verify="required" lay-search="" id="restypepagekpi_select_resType" class="layui-select"> | ||
11 | + <option value="">=资源类型=</option> | ||
12 | + </select> | ||
13 | + </div> | ||
14 | + </div> | ||
15 | + <div class="inline-half layui-inline"> | ||
16 | + <label class="layui-form-label">操作系统</label> | ||
17 | + <div class="layui-input-inline"> | ||
18 | + <select name="os" id="restypepagekpiOs" lay-search="" class="layui-select"> | ||
19 | + <option value="">=操作系统=</option> | ||
20 | + </select> | ||
21 | + </div> | ||
22 | + </div> | ||
23 | + </div> | ||
24 | + <div class="layui-form-item"> | ||
25 | + <div class="inline-half layui-inline"> | ||
26 | + <label class="layui-form-label">厂商</label> | ||
27 | + <div class="layui-input-inline"> | ||
28 | + <select name="provider" id="restypepagekpiProvider" lay-search="" class="layui-select"> | ||
29 | + <option value="">=厂商=</option> | ||
30 | + </select> | ||
31 | + </div> | ||
32 | + </div> | ||
33 | + <div class="inline-half layui-inline"> | ||
34 | + <label class="layui-form-label">采集协议</label> | ||
35 | + <div class="layui-input-inline"> | ||
36 | + <select name="protocol" id="restypepagekpiCollProtocol" lay-search="" class="layui-select"> | ||
37 | + <option value="">=采集协议=</option> | ||
38 | + </select> | ||
39 | + </div> | ||
40 | + </div> | ||
41 | + </div> | ||
42 | + <div class="layui-form-item"> | ||
43 | + <div class="inline-half layui-inline"> | ||
44 | + <label class="layui-form-label">型号</label> | ||
45 | + <div class="layui-input-inline"> | ||
46 | + <input type="text" name="model" placeholder="请输入型号" class="layui-input"> | ||
47 | + </div> | ||
48 | + </div> | ||
49 | + <div class="inline-half layui-inline"> | ||
50 | + <label class="layui-form-label">排序<span style="color: red">*</span></label> | ||
51 | + <div class="layui-input-inline"> | ||
52 | + <input class="layui-input" lay-verify="required" name="sort" value="1" placeholder="请输入排序" type="number"> | ||
53 | + </div> | ||
54 | + </div> | ||
55 | + </div> | ||
56 | + <div class="layui-form-item"> | ||
57 | + <div class="inline-half layui-inline"> | ||
58 | + <label class="layui-form-label">辅助关键字</label> | ||
59 | + <div class="layui-input-inline"> | ||
60 | + <input type="text" name="keyword" placeholder="请输入辅助关键字" class="layui-input"> | ||
61 | + </div> | ||
62 | + </div> | ||
63 | + </div> | ||
64 | + <div class="layui-form-item"> | ||
65 | + <label class="layui-form-label textarea-label">备注</label> | ||
66 | + <div class="layui-input-block"> | ||
67 | + <textarea name="remark" placeholder="请输入备注" class="layui-textarea"></textarea> | ||
68 | + </div> | ||
69 | + </div> | ||
70 | + <button id="btn-restypepage-submit" class="hide" lay-submit lay-filter="kpi-flag-submit">提交</button> | ||
71 | + </form> | ||
72 | + <form class="layui-form layui-form-pane" onsubmit="return false"> | ||
73 | + <fieldset class="layui-elem-field layui-field-title"> | ||
74 | + <legend>选择指标 | ||
75 | + <button class="layui-btn layui-btn-xs layui-btn-normal fieldset-btn" id="btn-restypepage-kpi-bind"><i class="layui-icon"></i></button> | ||
76 | + </legend> | ||
77 | + </fieldset> | ||
78 | + <div class="layui-form-item layui-form-item-flex restypepage-edit-table"> | ||
79 | + <table id="restypepage-edit-table" class="input-flex-1"></table> | ||
80 | + </div> | ||
81 | + </form> | ||
82 | +</article> | ||
83 | +<script> | ||
84 | + layui.use('restypepageEdit', function (fn) { | ||
85 | + fn({{d}}); | ||
86 | + }); | ||
87 | +</script> | ||
88 | +<style> | ||
89 | + [lay-id="restypepage-edit-table"] .layui-table-cell { | ||
90 | + height: auto !important; | ||
91 | + } | ||
92 | +</style> |
hg-monitor-web-base/src/main/resources/static/src/views/baseconfig/restypepage/index.html
0 → 100644
1 | +<title>资源类型页面配置</title> | ||
2 | +<article class="page-container"> | ||
3 | + <div class="page-panel"> | ||
4 | + <div class="main commonDiv"> | ||
5 | + <div class="layui-card"> | ||
6 | + <div class="layui-card-header"> | ||
7 | + <div class="layui-status"> | ||
8 | + <form class="layui-card-header layuiadmin-card-header-auto layui-form" | ||
9 | + lay-filter="form-restypepage-condition" id="restypepageQueryForm"> | ||
10 | + <div class="layui-form-item"> | ||
11 | + <div class="layui-inline"> | ||
12 | + <div class="layui-input-inline layui-input-inline--long"> | ||
13 | + <input autocomplete="off" class="layui-input" name="keyword" placeholder="输入关键字,回车搜索" lay-tips="关键字检索包含:</br>型号</br>关键字</br>备注</br>绑定指标" | ||
14 | + type="text"> | ||
15 | + </div> | ||
16 | + </div> | ||
17 | + <div class="layui-inline"> | ||
18 | + <div class="layui-input-inline"> | ||
19 | + <select name="restypepageresType" id="restypepage_select_resType" lay-search="" lay-filter="change"> | ||
20 | + <option value="">=资源类型=</option> | ||
21 | + </select> | ||
22 | + </div> | ||
23 | + </div> | ||
24 | + <div class="layui-inline"> | ||
25 | + <div class="layui-input-inline"> | ||
26 | + <select id="restypepageCollProtocol" lay-search="" name="restypepagecollProtocol" lay-filter="change"> | ||
27 | + <option value="">=采集协议=</option> | ||
28 | + </select> | ||
29 | + </div> | ||
30 | + </div> | ||
31 | + <div class="layui-inline"> | ||
32 | + <div class="layui-input-inline"> | ||
33 | + <select id="restypepageOs" lay-search="" name="restypepageos" lay-filter="change"> | ||
34 | + <option value="">=操作系统=</option> | ||
35 | + </select> | ||
36 | + </div> | ||
37 | + </div> | ||
38 | + <div class="layui-inline"> | ||
39 | + <div class="layui-input-inline"> | ||
40 | + <select id="restypepageProvider" lay-search="" name="restypepageprovider" lay-filter="change"> | ||
41 | + <option value="">=厂商=</option> | ||
42 | + </select> | ||
43 | + </div> | ||
44 | + </div> | ||
45 | + <button class="layui-btn layui-btn-normal" id="restypepageQueryBtn" type="button"> | ||
46 | + <!--lsq 查询按钮取消掉图标 2022-06-30--> | ||
47 | + 查询 | ||
48 | + </button> | ||
49 | + </div> | ||
50 | + </form> | ||
51 | + </div> | ||
52 | + </div> | ||
53 | + <div class="layui-card-body"> | ||
54 | + <div class="warn-btns"> | ||
55 | + <button class="layui-btn layui-btn-sm layui-btn-normal" id="btn-restypepage-add"> | ||
56 | + <i class="layui-icon layui-icon-add-1"></i>新增 | ||
57 | + </button> | ||
58 | + <button class="layui-btn layui-btn-sm layui-btn-normal" id="btn-restypepage-delete"> | ||
59 | + <i class="layui-icon layui-icon-delete"></i>删除 | ||
60 | + </button> | ||
61 | + </div> | ||
62 | + <table id="table-restypepage-list" lay-filter="table-restypepage-list"></table> | ||
63 | + </div> | ||
64 | + </div> | ||
65 | + </div> | ||
66 | + </div> | ||
67 | +</article> | ||
68 | +<script> | ||
69 | + layui.use('restypepageIndex', function (fn) { | ||
70 | + fn(); | ||
71 | + }); | ||
72 | +</script> |
-
Please register or login to post a comment