Merge branch 'master-500-dev' of http://113.200.75.45:82/monitor_v3/hg-monitor-w…
…eb into master-500-dev-xwx
Showing
36 changed files
with
1836 additions
and
1173 deletions
@@ -83,8 +83,6 @@ layui.define(['laytpl', 'layer'], function (exports) { | @@ -83,8 +83,6 @@ layui.define(['laytpl', 'layer'], function (exports) { | ||
83 | options.data = options.data || {}; | 83 | options.data = options.data || {}; |
84 | options.headers = options.headers || {}; | 84 | options.headers = options.headers || {}; |
85 | 85 | ||
86 | - layui.pageTips.viewReqHeader(options); | ||
87 | - // | ||
88 | if (request.tokenName) { | 86 | if (request.tokenName) { |
89 | var sendData = typeof options.data === 'string' | 87 | var sendData = typeof options.data === 'string' |
90 | ? JSON.parse(options.data) | 88 | ? JSON.parse(options.data) |
@@ -26,113 +26,113 @@ layui.define(['element', 'admin', 'view'], function (exports) { | @@ -26,113 +26,113 @@ layui.define(['element', 'admin', 'view'], function (exports) { | ||
26 | hashChane: function () { | 26 | hashChane: function () { |
27 | 27 | ||
28 | var that = this; | 28 | var that = this; |
29 | + // window.onload = function () { | ||
30 | + // // 绑定事件 | ||
31 | + // that.bindElemClickEvent(); | ||
32 | + // } | ||
29 | 33 | ||
30 | - window.onload = function (){ | ||
31 | - // 绑定事件 | ||
32 | - that.bindElemClickEvent(); | ||
33 | - } | ||
34 | - | ||
35 | - // debugger | ||
36 | var hash = window.top.location.hash; | 34 | var hash = window.top.location.hash; |
37 | - sessionStorage.setItem("pagePath", hash); | ||
38 | - sessionStorage.setItem("batchNo", that.getOperateUUID()); | 35 | + // sessionStorage.setItem("pagePath", hash); |
36 | + // sessionStorage.setItem("batchNo", that.getOperateUUID()); | ||
39 | 37 | ||
40 | if (hash == '#/') { | 38 | if (hash == '#/') { |
41 | - sessionStorage.setItem("pageName", "首页"); | ||
42 | - sessionStorage.setItem("menuName", "首页"); | ||
43 | - sessionStorage.setItem("menuPath", ""); | ||
44 | - sessionStorage.setItem("groupId",that.getOperateUUID()); | 39 | + // sessionStorage.setItem("pageName", "首页"); |
40 | + // sessionStorage.setItem("menuName", "首页"); | ||
41 | + // sessionStorage.setItem("menuPath", ""); | ||
42 | + // sessionStorage.setItem("groupId", that.getOperateUUID()); | ||
43 | + that.saveMenuLog("首页", "/") | ||
44 | + | ||
45 | return; | 45 | return; |
46 | } else if (hash == '#/user/login/redirect=%2F') { | 46 | } else if (hash == '#/user/login/redirect=%2F') { |
47 | sessionStorage.setItem("pageName", "登录"); | 47 | sessionStorage.setItem("pageName", "登录"); |
48 | return; | 48 | return; |
49 | } | 49 | } |
50 | + // | ||
51 | + // | ||
52 | + // var url = []; | ||
53 | + // window.top.location.hash.split('/').map(function (v) { | ||
54 | + // if (v.indexOf('=') == -1 && v != '#' && v != '') { | ||
55 | + // url.push(v); | ||
56 | + // return v; | ||
57 | + // } | ||
58 | + // return ''; | ||
59 | + // }) | ||
60 | + // | ||
61 | + // if (url.length > 0) { | ||
62 | + // $.ajax({ | ||
63 | + // url: setter.views + url.join('/') + setter.engine, | ||
64 | + // async: false, | ||
65 | + // success(res) { | ||
66 | + // var html = '<div>' + res + '</div>'; | ||
67 | + // var elemTitle = $(html).find('title') | ||
68 | + // , title = elemTitle.text() || (html.match(/\<title\>([\s\S]*)\<\/title>/) || [])[1]; | ||
69 | + // sessionStorage.setItem("pageName", title); | ||
70 | + // } | ||
71 | + // }); | ||
72 | + // } | ||
50 | 73 | ||
74 | + }, | ||
51 | 75 | ||
52 | - var url = []; | ||
53 | - window.top.location.hash.split('/').map(function (v) { | ||
54 | - if (v.indexOf('=') == -1 && v != '#' && v != '') { | ||
55 | - url.push(v); | ||
56 | - return v; | ||
57 | - } | ||
58 | - return ''; | ||
59 | - }) | 76 | + // /** |
77 | + // * hash变更 | ||
78 | + // */ | ||
79 | + // viewReqHeader: function (options) { | ||
80 | + // options.headers['batchNo'] = this.getPath("batchNo"); | ||
81 | + // options.headers['groupId'] = this.getPath("groupId"); | ||
82 | + // options.headers['intervalFunc'] = this.getPath("intervalFunc"); | ||
83 | + // options.headers['pagePath'] = this.getPath("pagePath"); | ||
84 | + // options.headers['pageName'] = this.getEncodeName('pageName'); //encodeURIComponent(sessionStorage.getItem("pageName")) | ||
85 | + // | ||
86 | + // options.headers['menuPath'] = this.getPath("menuPath") | ||
87 | + // options.headers['menuName'] = this.getEncodeName('menuName'); //encodeURIComponent(sessionStorage.getItem("menuName")) | ||
88 | + // | ||
89 | + // options.headers['buttonPath'] = this.getPath("buttonPath") | ||
90 | + // options.headers['buttonName'] = this.getEncodeName('buttonName'); //encodeURIComponent(sessionStorage.getItem("buttonName")) | ||
91 | + // }, | ||
60 | 92 | ||
61 | - if (url.length > 0) { | ||
62 | - $.ajax({ | ||
63 | - url: setter.views + url.join('/') + setter.engine, | ||
64 | - async: false, | ||
65 | - success(res) { | ||
66 | - var html = '<div>' + res + '</div>'; | ||
67 | - var elemTitle = $(html).find('title') | ||
68 | - , title = elemTitle.text() || (html.match(/\<title\>([\s\S]*)\<\/title>/) || [])[1]; | ||
69 | - sessionStorage.setItem("pageName", title); | ||
70 | - } | ||
71 | - }); | ||
72 | - } | 93 | + // ajaxSetupInit: function () { |
94 | + // | ||
95 | + // // 清空按钮名称 | ||
96 | + // sessionStorage.setItem("buttonPath", ""); | ||
97 | + // sessionStorage.setItem("buttonName", ""); | ||
98 | + // | ||
99 | + // $.ajaxSetup({ | ||
100 | + // headers: { | ||
101 | + // batchNo: this.getPath("batchNo"), | ||
102 | + // groupId: this.getPath("groupId"), | ||
103 | + // intervalFunc: this.getPath("IntervalFunc"), | ||
104 | + // pagePath: this.getPath("pagePath"), | ||
105 | + // pageName: this.getEncodeName('pageName'),// encodeURIComponent(sessionStorage.getItem(sessionStorage.getItem("pageName"))), | ||
106 | + // | ||
107 | + // menuPath: this.getPath("menuPath"), | ||
108 | + // menuName: this.getEncodeName('menuName'),//encodeURIComponent(sessionStorage.getItem("menuName")), | ||
109 | + // | ||
110 | + // buttonPath: this.getPath("buttonPath"), | ||
111 | + // buttonName: this.getEncodeName('buttonName'),//encodeURIComponent(sessionStorage.getItem("buttonName")) | ||
112 | + // } | ||
113 | + // }); | ||
114 | + // }, | ||
73 | 115 | ||
74 | - }, | ||
75 | 116 | ||
76 | /** | 117 | /** |
77 | - * hash变更 | 118 | + * 定时刷新任务 |
119 | + * @constructor | ||
78 | */ | 120 | */ |
79 | - viewReqHeader: function (options) { | ||
80 | - options.headers['batchNo'] = this.getPath("batchNo"); | ||
81 | - options.headers['groupId'] = this.getPath("groupId"); | ||
82 | - | ||
83 | - options.headers['pagePath'] = this.getPath("pagePath"); | ||
84 | - options.headers['pageName'] = this.getEncodeName('pageName'); //encodeURIComponent(sessionStorage.getItem("pageName")) | ||
85 | - | ||
86 | - options.headers['menuPath'] = this.getPath("menuPath") | ||
87 | - options.headers['menuName'] = this.getEncodeName('menuName'); //encodeURIComponent(sessionStorage.getItem("menuName")) | ||
88 | - | ||
89 | - options.headers['buttonPath'] = this.getPath("buttonPath") | ||
90 | - options.headers['buttonName'] = this.getEncodeName('buttonName'); //encodeURIComponent(sessionStorage.getItem("buttonName")) | ||
91 | - }, | ||
92 | - | ||
93 | - ajaxSetupInit: function () { | ||
94 | - | ||
95 | - // sessionStorage.setItem("batchNo", ""); | ||
96 | - // sessionStorage.setItem("groupId", ""); | ||
97 | - // | ||
98 | - // // 清空按钮名称 | ||
99 | - // sessionStorage.setItem("pagePath", ""); | ||
100 | - // sessionStorage.setItem("pageName", ""); | ||
101 | - // // 清空按钮名称 | ||
102 | - // sessionStorage.setItem("menuPath", ""); | ||
103 | - // sessionStorage.setItem("pageName", ""); | ||
104 | - // 清空按钮名称 | ||
105 | - sessionStorage.setItem("buttonPath", ""); | ||
106 | - sessionStorage.setItem("buttonName", ""); | ||
107 | - | ||
108 | - | ||
109 | - $.ajaxSetup({ | ||
110 | - headers: { | ||
111 | - batchNo: this.getPath("batchNo"), | ||
112 | - groupId: this.getPath("groupId"), | ||
113 | - pagePath: this.getPath("pagePath"), | ||
114 | - pageName: this.getEncodeName('pageName'),// encodeURIComponent(sessionStorage.getItem(sessionStorage.getItem("pageName"))), | ||
115 | - | ||
116 | - menuPath: this.getPath("menuPath"), | ||
117 | - menuName: this.getEncodeName('menuName'),//encodeURIComponent(sessionStorage.getItem("menuName")), | ||
118 | - | ||
119 | - buttonPath: this.getPath("buttonPath"), | ||
120 | - buttonName: this.getEncodeName('buttonName'),//encodeURIComponent(sessionStorage.getItem("buttonName")) | ||
121 | - } | ||
122 | - }); | 121 | + IntervalFunc: (isAuto) => { |
122 | + sessionStorage.setItem("IntervalFunc", isAuto); | ||
123 | }, | 123 | }, |
124 | 124 | ||
125 | - getPath:(key)=>{ | 125 | + getPath: (key) => { |
126 | var val = sessionStorage.getItem(key); | 126 | var val = sessionStorage.getItem(key); |
127 | - if(val){ | 127 | + if (val) { |
128 | return val; | 128 | return val; |
129 | } | 129 | } |
130 | return ''; | 130 | return ''; |
131 | }, | 131 | }, |
132 | 132 | ||
133 | - getEncodeName:(key)=>{ | 133 | + getEncodeName: (key) => { |
134 | var val = sessionStorage.getItem(key); | 134 | var val = sessionStorage.getItem(key); |
135 | - if(val){ | 135 | + if (val) { |
136 | return encodeURIComponent(val); | 136 | return encodeURIComponent(val); |
137 | } | 137 | } |
138 | return ''; | 138 | return ''; |
@@ -141,7 +141,7 @@ layui.define(['element', 'admin', 'view'], function (exports) { | @@ -141,7 +141,7 @@ layui.define(['element', 'admin', 'view'], function (exports) { | ||
141 | /** | 141 | /** |
142 | * 获取操作 | 142 | * 获取操作 |
143 | */ | 143 | */ |
144 | - getOperateUUID:() => { | 144 | + getOperateUUID: () => { |
145 | return window.generateUUID().replace(/-/g, "") + (new Date()).getTime(); | 145 | return window.generateUUID().replace(/-/g, "") + (new Date()).getTime(); |
146 | }, | 146 | }, |
147 | 147 | ||
@@ -157,7 +157,7 @@ layui.define(['element', 'admin', 'view'], function (exports) { | @@ -157,7 +157,7 @@ layui.define(['element', 'admin', 'view'], function (exports) { | ||
157 | // 绑定菜单点击事件 | 157 | // 绑定菜单点击事件 |
158 | that.bindMenuClickEvent(); | 158 | that.bindMenuClickEvent(); |
159 | // 绑定元素点击事件 | 159 | // 绑定元素点击事件 |
160 | - that.bindElemClickEvent(); | 160 | + // that.bindElemClickEvent(); |
161 | // console.log("日志事件注册完成!") | 161 | // console.log("日志事件注册完成!") |
162 | }, 500) | 162 | }, 500) |
163 | 163 | ||
@@ -224,22 +224,7 @@ layui.define(['element', 'admin', 'view'], function (exports) { | @@ -224,22 +224,7 @@ layui.define(['element', 'admin', 'view'], function (exports) { | ||
224 | } | 224 | } |
225 | }) | 225 | }) |
226 | }, | 226 | }, |
227 | - // /** | ||
228 | - // * ajax掉接口之前传参 | ||
229 | - // * @author lsq | ||
230 | - // * @date 2022-08-18 | ||
231 | - // * */ | ||
232 | - // sendAjaxData(menuPath, elementName) { | ||
233 | - // let name = encodeURIComponent(elementName); | ||
234 | - // | ||
235 | - // $.ajaxSetup({ | ||
236 | - // headers: { | ||
237 | - // menuPath: obj.getCurrentHash(), | ||
238 | - // elementName: name | ||
239 | - // } | ||
240 | - // | ||
241 | - // }); | ||
242 | - // }, | 227 | + |
243 | /** | 228 | /** |
244 | * 左侧菜单,鼠标点击事件 | 229 | * 左侧菜单,鼠标点击事件 |
245 | */ | 230 | */ |
@@ -299,13 +284,17 @@ layui.define(['element', 'admin', 'view'], function (exports) { | @@ -299,13 +284,17 @@ layui.define(['element', 'admin', 'view'], function (exports) { | ||
299 | //菜单点击传入属性lay-href的值,普通元素传入当前页面路由 | 284 | //菜单点击传入属性lay-href的值,普通元素传入当前页面路由 |
300 | if (flg) { | 285 | if (flg) { |
301 | // 清空按钮名称 | 286 | // 清空按钮名称 |
302 | - sessionStorage.setItem("buttonPath", ""); | ||
303 | - sessionStorage.setItem("buttonName", ""); | 287 | + // sessionStorage.setItem("buttonPath", ""); |
288 | + // sessionStorage.setItem("buttonName", ""); | ||
289 | + // | ||
290 | + // sessionStorage.setItem("groupId", that.getOperateUUID()); | ||
291 | + // //that.sendAjaxData(layHref, text) | ||
292 | + // sessionStorage.setItem("menuName", text); | ||
293 | + // sessionStorage.setItem("menuPath", layHref); | ||
294 | + | ||
295 | + that.saveMenuLog(text, layHref) | ||
296 | + | ||
304 | 297 | ||
305 | - sessionStorage.setItem("groupId",that.getOperateUUID()); | ||
306 | - //that.sendAjaxData(layHref, text) | ||
307 | - sessionStorage.setItem("menuName", text); | ||
308 | - sessionStorage.setItem("menuPath", layHref); | ||
309 | } else { | 298 | } else { |
310 | let locationPath = location.hash; | 299 | let locationPath = location.hash; |
311 | let pathArr = locationPath.split("#/"); | 300 | let pathArr = locationPath.split("#/"); |
@@ -314,68 +303,58 @@ layui.define(['element', 'admin', 'view'], function (exports) { | @@ -314,68 +303,58 @@ layui.define(['element', 'admin', 'view'], function (exports) { | ||
314 | path = pathArr[1] | 303 | path = pathArr[1] |
315 | } | 304 | } |
316 | // that.sendAjaxData(path, text) | 305 | // that.sendAjaxData(path, text) |
317 | - sessionStorage.setItem("buttonName", text); | ||
318 | - sessionStorage.setItem("buttonPath", layHref); | 306 | + // sessionStorage.setItem("buttonName", text); |
307 | + // sessionStorage.setItem("buttonPath", layHref); | ||
319 | } | 308 | } |
320 | }, | 309 | }, |
321 | - /** | ||
322 | - * 页面其他元素绑定事件 | ||
323 | - * @author lsq | ||
324 | - * @date 2022-08-11 | ||
325 | - */ | ||
326 | - clickEventHandle(thisObj, key) { | ||
327 | - let that = this; | ||
328 | - sessionStorage.setItem("groupId",that.getOperateUUID()); | ||
329 | - | ||
330 | - let layHref = thisObj.attr('lay-href') ? thisObj.attr('lay-href') : ''; | ||
331 | - sessionStorage.setItem("buttonName", thisObj.text()); | ||
332 | - sessionStorage.setItem("buttonPath", layHref); | ||
333 | - | ||
334 | - //绑定事件时增加一个class防止多次绑定事件 | ||
335 | - // thisObj.addClass("on_fn"); | ||
336 | - // that.pushArrNoRepeat(thisObj); | ||
337 | - // // 把点击的元素按顺序展示 | ||
338 | - // let handleStr = ''; | ||
339 | - // let menuStrArr = []; | ||
340 | - // let menuStrArrSecond = []; | ||
341 | - // that.data.handleLog.map(item => { | ||
342 | - // if (item.menuType) { | ||
343 | - // menuStrArr.push(item.text) | ||
344 | - // } else { | ||
345 | - // menuStrArrSecond.push(item.text) | ||
346 | - // } | ||
347 | - // }) | ||
348 | - // if (menuStrArr.length > 0) { | ||
349 | - // handleStr = menuStrArr.join('->'); | ||
350 | - // } | ||
351 | - // if (menuStrArrSecond.length > 0) { | ||
352 | - // handleStr += '->' + menuStrArrSecond.join(','); | ||
353 | - // } | 310 | + saveMenuLog(name, href) { |
311 | + if (href && href != '') { | ||
312 | + // 菜单请求日志 | ||
313 | + admin.req({ | ||
314 | + url: domainName + `/api-web/setGroupName?name=${name}&url=${href}` | ||
315 | + , method: 'GET' | ||
316 | + , async: true | ||
317 | + , success: function (res) { | ||
318 | + } | ||
319 | + }) | ||
320 | + } | ||
354 | }, | 321 | }, |
322 | + | ||
323 | + | ||
324 | + // /** | ||
325 | + // * 页面其他元素绑定事件 | ||
326 | + // * @author lsq | ||
327 | + // * @date 2022-08-11 | ||
328 | + // */ | ||
329 | + // clickEventHandle(thisObj, key) { | ||
330 | + // let that = this; | ||
331 | + // sessionStorage.setItem("groupId", that.getOperateUUID()); | ||
332 | + // sessionStorage.setItem("IntervalFunc", '0'); | ||
333 | + // | ||
334 | + // let layHref = thisObj.attr('lay-href') ? thisObj.attr('lay-href') : ''; | ||
335 | + // let title = thisObj.attr('title') == '点击鼠标右键查看功能点描述信息' ? '' : thisObj.attr('title'); | ||
336 | + // | ||
337 | + // let btnName = thisObj.text() ? thisObj.text() : title; | ||
338 | + // sessionStorage.setItem("buttonName", btnName); | ||
339 | + // sessionStorage.setItem("buttonPath", layHref); | ||
340 | + // }, | ||
355 | /** | 341 | /** |
356 | * 页面其他元素绑定事件 | 342 | * 页面其他元素绑定事件 |
357 | * @author lsq | 343 | * @author lsq |
358 | * @date 2022-08-11 | 344 | * @date 2022-08-11 |
359 | */ | 345 | */ |
360 | bindElemClickEvent() { | 346 | bindElemClickEvent() { |
361 | - let that = this; | ||
362 | - var eventKeys = ['button', '[data-bizid]', '.layui-table-link', '[data-zymc]', '[data-busid]','.layui-tree-txt','.layui-cols-items']; | ||
363 | - eventKeys.map(item => { | ||
364 | - // if (!$(item).hasClass("on_fn")) { | ||
365 | - // console.log(`${item}元素点击事件绑定完成!`) | ||
366 | - // $(item).unbind('click.handle').on('click.handle', (function (e) { | ||
367 | - // e.preventDefault(); | ||
368 | - // that.clickEventHandle($(this), item) | ||
369 | - // })) | ||
370 | - // } | ||
371 | - setTimeout(function (){ | ||
372 | - // console.log(`${item}元素点击事件绑定完成!`) | ||
373 | - $(item).unbind('click.handle').on('click.handle', (function (e) { | ||
374 | - e.preventDefault(); | ||
375 | - that.clickEventHandle($(this), item) | ||
376 | - })) | ||
377 | - },500) | ||
378 | - }) | 347 | + // let that = this; |
348 | + // var eventKeys = ['button', '[data-bizid]', '.layui-table-link', '[data-zymc]', '[data-busid]', '.layui-tree-txt', '.layui-cols-items']; | ||
349 | + // eventKeys.map(item => { | ||
350 | + // setTimeout(function () { | ||
351 | + // // console.log(`${item}元素点击事件绑定完成!`) | ||
352 | + // $(item).unbind('click.handle').on('click.handle', (function (e) { | ||
353 | + // e.preventDefault(); | ||
354 | + // that.clickEventHandle($(this), item) | ||
355 | + // })) | ||
356 | + // }, 500) | ||
357 | + // }) | ||
379 | }, | 358 | }, |
380 | /** | 359 | /** |
381 | * 绑定鼠标右键事件 | 360 | * 绑定鼠标右键事件 |
@@ -5,6 +5,7 @@ | @@ -5,6 +5,7 @@ | ||
5 | <link href="public/shui.png" rel="icon"/> | 5 | <link href="public/shui.png" rel="icon"/> |
6 | <meta content="width=device-width, initial-scale=1.0" name="viewport"> | 6 | <meta content="width=device-width, initial-scale=1.0" name="viewport"> |
7 | <title>智能综合监控平台</title> | 7 | <title>智能综合监控平台</title> |
8 | + <script src="public/lib/polyfill/polyfill.min.js"></script> | ||
8 | <script src="public/lib/vue/vue.global.prod.js"></script> | 9 | <script src="public/lib/vue/vue.global.prod.js"></script> |
9 | <script src="public/lib/vue/vue-router.global.prod.js"></script> | 10 | <script src="public/lib/vue/vue-router.global.prod.js"></script> |
10 | <script src="public/lib/vue/vuex.global.prod.js"></script> | 11 | <script src="public/lib/vue/vuex.global.prod.js"></script> |
@@ -16,7 +17,7 @@ | @@ -16,7 +17,7 @@ | ||
16 | <link href="public/lib/vant/index.css" rel="stylesheet"> | 17 | <link href="public/lib/vant/index.css" rel="stylesheet"> |
17 | <script src="public/lib/vant/vant.min.js"></script> | 18 | <script src="public/lib/vant/vant.min.js"></script> |
18 | <script src="public/lib/axios/axios.min.js"></script> | 19 | <script src="public/lib/axios/axios.min.js"></script> |
19 | - <!-- <script src="public/lib/dayjs/dayjs.min.js"></script> --> | 20 | + <script src="public/lib/dayjs/dayjs.min.js"></script> |
20 | <script src="public/lib/jquery/jquery.min.js"></script> | 21 | <script src="public/lib/jquery/jquery.min.js"></script> |
21 | 22 | ||
22 | <script src="public/lib/echarts/echarts.min.js"></script> | 23 | <script src="public/lib/echarts/echarts.min.js"></script> |
@@ -11,8 +11,6 @@ | @@ -11,8 +11,6 @@ | ||
11 | @import "../css/cmdbdatasync.css"; | 11 | @import "../css/cmdbdatasync.css"; |
12 | /*登录logo配置*/ | 12 | /*登录logo配置*/ |
13 | @import "../css/logoConfig.css"; | 13 | @import "../css/logoConfig.css"; |
14 | -/*lsq 操作记录日志样式 2022-09-26*/ | ||
15 | -@import "../css/operationLog.css"; | ||
16 | 14 | ||
17 | .d-flex { | 15 | .d-flex { |
18 | display: flex; | 16 | display: flex; |
@@ -33,14 +31,14 @@ | @@ -33,14 +31,14 @@ | ||
33 | /*最外层样式*/ | 31 | /*最外层样式*/ |
34 | .container { | 32 | .container { |
35 | background-color: #CCCCCC; | 33 | background-color: #CCCCCC; |
36 | - padding: 3px 3px; | ||
37 | - width: calc(100% - 10px); | 34 | + padding: 0px 0px; |
35 | + width: calc(100% - 6px); | ||
38 | } | 36 | } |
39 | 37 | ||
40 | .container .cm-card { | 38 | .container .cm-card { |
41 | overflow-y: auto; | 39 | overflow-y: auto; |
42 | background: white; | 40 | background: white; |
43 | - border-radius: 3px | 41 | + border-radius: 3px; |
44 | } | 42 | } |
45 | 43 | ||
46 | .container .cm-card .search { | 44 | .container .cm-card .search { |
@@ -63,13 +61,16 @@ | @@ -63,13 +61,16 @@ | ||
63 | margin-bottom: 3px !important; | 61 | margin-bottom: 3px !important; |
64 | /*width: 250px !important;*/ | 62 | /*width: 250px !important;*/ |
65 | } | 63 | } |
64 | + | ||
66 | /*lsq esData下的搜索条件栏样式调整 2022-06-27*/ | 65 | /*lsq esData下的搜索条件栏样式调整 2022-06-27*/ |
67 | .container .cm-card .search .condition.esData-conditon div { | 66 | .container .cm-card .search .condition.esData-conditon div { |
68 | margin-bottom: 0px !important; | 67 | margin-bottom: 0px !important; |
69 | } | 68 | } |
70 | -.container .cm-card .search .condition.esData-conditon{ | 69 | + |
70 | +.container .cm-card .search .condition.esData-conditon { | ||
71 | margin-bottom: 3px; | 71 | margin-bottom: 3px; |
72 | } | 72 | } |
73 | + | ||
73 | .container .cm-card .search .btns { | 74 | .container .cm-card .search .btns { |
74 | width: 200px; | 75 | width: 200px; |
75 | display: flex; | 76 | display: flex; |
@@ -82,6 +83,74 @@ | @@ -82,6 +83,74 @@ | ||
82 | padding: 0px 6px; | 83 | padding: 0px 6px; |
83 | } | 84 | } |
84 | 85 | ||
86 | +/* 盒子样式 */ | ||
87 | +.m-6 { | ||
88 | + margin: 6px; | ||
89 | +} | ||
90 | + | ||
91 | +.m-l-6 { | ||
92 | + margin-left: 6px; | ||
93 | +} | ||
94 | + | ||
95 | +.m-r-6 { | ||
96 | + margin-right: 6px; | ||
97 | +} | ||
98 | + | ||
99 | +.m-t-6 { | ||
100 | + margin-top: 6px; | ||
101 | +} | ||
102 | + | ||
103 | +.m-b-6 { | ||
104 | + margin-top: 6px; | ||
105 | +} | ||
106 | + | ||
107 | +.p-6 { | ||
108 | + padding: 6px; | ||
109 | +} | ||
110 | + | ||
111 | +.p-l-6 { | ||
112 | + padding-left: 6px; | ||
113 | +} | ||
114 | + | ||
115 | +.p-r-6 { | ||
116 | + padding-right: 6px; | ||
117 | +} | ||
118 | + | ||
119 | +.p-t-6 { | ||
120 | + padding-top: 6px; | ||
121 | +} | ||
122 | + | ||
123 | +.p-b-6 { | ||
124 | + padding-top: 6px; | ||
125 | +} | ||
126 | + | ||
127 | +.p-l-3 { | ||
128 | + padding-left: 3px; | ||
129 | +} | ||
130 | + | ||
131 | +.p-r-3 { | ||
132 | + padding-right: 3px; | ||
133 | +} | ||
134 | +.page-item{ | ||
135 | + padding: 0px 10px | ||
136 | +} | ||
137 | + | ||
138 | +.page-item-title-h3 { | ||
139 | + text-align: left; | ||
140 | + color: #2b9eef; | ||
141 | + padding-left: 6px; | ||
142 | +} | ||
143 | + | ||
144 | +.page-item-content { | ||
145 | + position: relative; | ||
146 | + cursor: default; | ||
147 | + border: 1px solid rgb(228, 228, 228); | ||
148 | + -webkit-tap-highlight-color: transparent; | ||
149 | + user-select: none; | ||
150 | + margin: 6px; | ||
151 | + padding: 6px; | ||
152 | +} | ||
153 | + | ||
85 | /* | 154 | /* |
86 | 共通弹框配置样式 | 155 | 共通弹框配置样式 |
87 | custom-class="config-dialog" | 156 | custom-class="config-dialog" |
@@ -161,30 +230,37 @@ custom-class="config-dialog" | @@ -161,30 +230,37 @@ custom-class="config-dialog" | ||
161 | .tree-table .el-table .el-table__cell.is-center div { | 230 | .tree-table .el-table .el-table__cell.is-center div { |
162 | justify-content: center; | 231 | justify-content: center; |
163 | } | 232 | } |
233 | + | ||
164 | /*lsq 资产视图下搜索栏样式调整 2022-06-27*/ | 234 | /*lsq 资产视图下搜索栏样式调整 2022-06-27*/ |
165 | -.resList-form.el-form--inline .el-form-item{ | 235 | +.resList-form.el-form--inline .el-form-item { |
166 | align-items: center; | 236 | align-items: center; |
167 | - margin-right:6px; | 237 | + margin-right: 6px; |
168 | } | 238 | } |
239 | + | ||
169 | /*lsq ping详情页面中搜索栏的样式调整 2022-06-28*/ | 240 | /*lsq ping详情页面中搜索栏的样式调整 2022-06-28*/ |
170 | -.container .cm-card .search .condition.ping div{ | 241 | +.container .cm-card .search .condition.ping div { |
171 | margin-bottom: 0px !important; | 242 | margin-bottom: 0px !important; |
172 | } | 243 | } |
173 | -.container .cm-card .search .condition.ping{ | 244 | + |
245 | +.container .cm-card .search .condition.ping { | ||
174 | margin-bottom: 6px; | 246 | margin-bottom: 6px; |
175 | } | 247 | } |
248 | + | ||
176 | /*lsq elementUI的滚动条样式修改 2022-06-28*/ | 249 | /*lsq elementUI的滚动条样式修改 2022-06-28*/ |
177 | .el-scrollbar__bar.is-vertical { | 250 | .el-scrollbar__bar.is-vertical { |
178 | - width:15px; | ||
179 | - top:0px; | 251 | + width: 15px; |
252 | + top: 0px; | ||
180 | } | 253 | } |
254 | + | ||
181 | .el-scrollbar__bar.is-horizontal { | 255 | .el-scrollbar__bar.is-horizontal { |
182 | height: 15px; | 256 | height: 15px; |
183 | - left:0px; | 257 | + left: 0px; |
184 | } | 258 | } |
185 | -.el-scrollbar__thumb,.el-scrollbar__thumb:hover { | 259 | + |
260 | +.el-scrollbar__thumb, .el-scrollbar__thumb:hover { | ||
186 | border-radius: 0px; | 261 | border-radius: 0px; |
187 | background-color: #CCCCCC; | 262 | background-color: #CCCCCC; |
188 | opacity: 1; | 263 | opacity: 1; |
189 | - width:10px;.el-scrollbar__bar.is-horizontal>div | ||
190 | -} | ||
264 | + width: 10px; | ||
265 | +. el-scrollbar__bar . is-horizontal > div | ||
266 | +} |
1 | -.operation-log-search{ | ||
2 | - display: flex; | ||
3 | - align-items: center; | ||
4 | - justify-content: center; | ||
5 | - margin-top:6px; | ||
6 | -} | ||
7 | -.container-none{ | ||
8 | - width:100%; | ||
9 | - height: 20px; | ||
10 | - background:#fafafa; | ||
11 | -} | ||
12 | -.operation-log-container.container .cm-card .search-table{padding:15px;} | ||
13 | -.echart-con{ | ||
14 | - padding:10px; | ||
15 | -} | ||
16 | -.echart-con .echart-title{ | ||
17 | - font-size: 16px; | ||
18 | - color:#1e9fff; | ||
19 | - text-align: left; | ||
20 | - margin-bottom: 6px; | ||
21 | - padding:10px; | ||
22 | -} | ||
23 | -.echart-left,.echart-right{ | ||
24 | - border:1px solid #eee; | ||
25 | -} | ||
26 | -.echart-chart{ | ||
27 | - height: 300px; | ||
28 | - | ||
29 | -} |
1 | /* Logo 字体 */ | 1 | /* Logo 字体 */ |
2 | @font-face { | 2 | @font-face { |
3 | - font-family: "iconfont logo"; | ||
4 | - src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834'); | ||
5 | - src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834#iefix') format('embedded-opentype'), | 3 | + font-family: "iconfont logo"; |
4 | + src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834'); | ||
5 | + src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834#iefix') format('embedded-opentype'), | ||
6 | url('https://at.alicdn.com/t/font_985780_km7mi63cihi.woff?t=1545807318834') format('woff'), | 6 | url('https://at.alicdn.com/t/font_985780_km7mi63cihi.woff?t=1545807318834') format('woff'), |
7 | url('https://at.alicdn.com/t/font_985780_km7mi63cihi.ttf?t=1545807318834') format('truetype'), | 7 | url('https://at.alicdn.com/t/font_985780_km7mi63cihi.ttf?t=1545807318834') format('truetype'), |
8 | url('https://at.alicdn.com/t/font_985780_km7mi63cihi.svg?t=1545807318834#iconfont') format('svg'); | 8 | url('https://at.alicdn.com/t/font_985780_km7mi63cihi.svg?t=1545807318834#iconfont') format('svg'); |
9 | } | 9 | } |
10 | 10 | ||
11 | .logo { | 11 | .logo { |
12 | - font-family: "iconfont logo"; | ||
13 | - font-size: 160px; | ||
14 | - font-style: normal; | ||
15 | - -webkit-font-smoothing: antialiased; | ||
16 | - -moz-osx-font-smoothing: grayscale; | 12 | + font-family: "iconfont logo"; |
13 | + font-size: 160px; | ||
14 | + font-style: normal; | ||
15 | + -webkit-font-smoothing: antialiased; | ||
16 | + -moz-osx-font-smoothing: grayscale; | ||
17 | } | 17 | } |
18 | 18 | ||
19 | /* tabs */ | 19 | /* tabs */ |
20 | .nav-tabs { | 20 | .nav-tabs { |
21 | - position: relative; | 21 | + position: relative; |
22 | } | 22 | } |
23 | 23 | ||
24 | .nav-tabs .nav-more { | 24 | .nav-tabs .nav-more { |
25 | - position: absolute; | ||
26 | - right: 0; | ||
27 | - bottom: 0; | ||
28 | - height: 42px; | ||
29 | - line-height: 42px; | ||
30 | - color: #666; | 25 | + position: absolute; |
26 | + right: 0; | ||
27 | + bottom: 0; | ||
28 | + height: 42px; | ||
29 | + line-height: 42px; | ||
30 | + color: #666; | ||
31 | } | 31 | } |
32 | 32 | ||
33 | #tabs { | 33 | #tabs { |
34 | - border-bottom: 1px solid #eee; | 34 | + border-bottom: 1px solid #eee; |
35 | } | 35 | } |
36 | 36 | ||
37 | #tabs li { | 37 | #tabs li { |
38 | - cursor: pointer; | ||
39 | - width: 100px; | ||
40 | - height: 40px; | ||
41 | - line-height: 40px; | ||
42 | - text-align: center; | ||
43 | - font-size: 16px; | ||
44 | - border-bottom: 2px solid transparent; | ||
45 | - position: relative; | ||
46 | - z-index: 1; | ||
47 | - margin-bottom: -1px; | ||
48 | - color: #666; | 38 | + cursor: pointer; |
39 | + width: 100px; | ||
40 | + height: 40px; | ||
41 | + line-height: 40px; | ||
42 | + text-align: center; | ||
43 | + font-size: 16px; | ||
44 | + border-bottom: 2px solid transparent; | ||
45 | + position: relative; | ||
46 | + z-index: 1; | ||
47 | + margin-bottom: -1px; | ||
48 | + color: #666; | ||
49 | } | 49 | } |
50 | 50 | ||
51 | 51 | ||
52 | #tabs .active { | 52 | #tabs .active { |
53 | - border-bottom-color: #f00; | ||
54 | - color: #222; | 53 | + border-bottom-color: #f00; |
54 | + color: #222; | ||
55 | } | 55 | } |
56 | 56 | ||
57 | .tab-container .content { | 57 | .tab-container .content { |
58 | - display: none; | 58 | + display: none; |
59 | } | 59 | } |
60 | 60 | ||
61 | /* 页面布局 */ | 61 | /* 页面布局 */ |
62 | .main { | 62 | .main { |
63 | - padding: 30px 100px; | ||
64 | - width: 960px; | ||
65 | - margin: 0 auto; | 63 | + padding: 30px 100px; |
64 | + width: 960px; | ||
65 | + margin: 0 auto; | ||
66 | } | 66 | } |
67 | 67 | ||
68 | .main .logo { | 68 | .main .logo { |
69 | - color: #333; | ||
70 | - text-align: left; | ||
71 | - margin-bottom: 30px; | ||
72 | - line-height: 1; | ||
73 | - height: 110px; | ||
74 | - margin-top: -50px; | ||
75 | - overflow: hidden; | ||
76 | - *zoom: 1; | 69 | + color: #333; |
70 | + text-align: left; | ||
71 | + margin-bottom: 30px; | ||
72 | + line-height: 1; | ||
73 | + height: 110px; | ||
74 | + margin-top: -50px; | ||
75 | + overflow: hidden; | ||
76 | + *zoom: 1; | ||
77 | } | 77 | } |
78 | 78 | ||
79 | .main .logo a { | 79 | .main .logo a { |
80 | - font-size: 160px; | ||
81 | - color: #333; | 80 | + font-size: 160px; |
81 | + color: #333; | ||
82 | } | 82 | } |
83 | 83 | ||
84 | .helps { | 84 | .helps { |
85 | - margin-top: 40px; | 85 | + margin-top: 40px; |
86 | } | 86 | } |
87 | 87 | ||
88 | .helps pre { | 88 | .helps pre { |
89 | - padding: 20px; | ||
90 | - margin: 10px 0; | ||
91 | - border: solid 1px #e7e1cd; | ||
92 | - background-color: #fffdef; | ||
93 | - overflow: auto; | 89 | + padding: 20px; |
90 | + margin: 10px 0; | ||
91 | + border: solid 1px #e7e1cd; | ||
92 | + background-color: #fffdef; | ||
93 | + overflow: auto; | ||
94 | } | 94 | } |
95 | 95 | ||
96 | .icon_lists { | 96 | .icon_lists { |
97 | - width: 100% !important; | ||
98 | - overflow: hidden; | ||
99 | - *zoom: 1; | 97 | + width: 100% !important; |
98 | + overflow: hidden; | ||
99 | + *zoom: 1; | ||
100 | } | 100 | } |
101 | 101 | ||
102 | .icon_lists li { | 102 | .icon_lists li { |
103 | - width: 100px; | ||
104 | - margin-bottom: 10px; | ||
105 | - margin-right: 20px; | ||
106 | - text-align: center; | ||
107 | - list-style: none !important; | ||
108 | - cursor: default; | 103 | + width: 100px; |
104 | + margin-bottom: 10px; | ||
105 | + margin-right: 20px; | ||
106 | + text-align: center; | ||
107 | + list-style: none !important; | ||
108 | + cursor: default; | ||
109 | } | 109 | } |
110 | 110 | ||
111 | .icon_lists li .code-name { | 111 | .icon_lists li .code-name { |
112 | - line-height: 1.2; | 112 | + line-height: 1.2; |
113 | } | 113 | } |
114 | 114 | ||
115 | .icon_lists .icon { | 115 | .icon_lists .icon { |
116 | - display: block; | ||
117 | - height: 100px; | ||
118 | - line-height: 100px; | ||
119 | - font-size: 42px; | ||
120 | - margin: 10px auto; | ||
121 | - color: #333; | ||
122 | - -webkit-transition: font-size 0.25s linear, width 0.25s linear; | ||
123 | - -moz-transition: font-size 0.25s linear, width 0.25s linear; | ||
124 | - transition: font-size 0.25s linear, width 0.25s linear; | 116 | + display: block; |
117 | + height: 100px; | ||
118 | + line-height: 100px; | ||
119 | + font-size: 42px; | ||
120 | + margin: 10px auto; | ||
121 | + color: #333; | ||
122 | + -webkit-transition: font-size 0.25s linear, width 0.25s linear; | ||
123 | + -moz-transition: font-size 0.25s linear, width 0.25s linear; | ||
124 | + transition: font-size 0.25s linear, width 0.25s linear; | ||
125 | } | 125 | } |
126 | 126 | ||
127 | .icon_lists .icon:hover { | 127 | .icon_lists .icon:hover { |
128 | - font-size: 100px; | 128 | + font-size: 100px; |
129 | } | 129 | } |
130 | 130 | ||
131 | .icon_lists .svg-icon { | 131 | .icon_lists .svg-icon { |
132 | - /* 通过设置 font-size 来改变图标大小 */ | ||
133 | - width: 1em; | ||
134 | - /* 图标和文字相邻时,垂直对齐 */ | ||
135 | - vertical-align: -0.15em; | ||
136 | - /* 通过设置 color 来改变 SVG 的颜色/fill */ | ||
137 | - fill: currentColor; | ||
138 | - /* path 和 stroke 溢出 viewBox 部分在 IE 下会显示 | ||
139 | - normalize.css 中也包含这行 */ | ||
140 | - overflow: hidden; | 132 | + /* 通过设置 font-size 来改变图标大小 */ |
133 | + width: 1em; | ||
134 | + /* 图标和文字相邻时,垂直对齐 */ | ||
135 | + vertical-align: -0.15em; | ||
136 | + /* 通过设置 color 来改变 SVG 的颜色/fill */ | ||
137 | + fill: currentColor; | ||
138 | + /* path 和 stroke 溢出 viewBox 部分在 IE 下会显示 | ||
139 | + normalize.css 中也包含这行 */ | ||
140 | + overflow: hidden; | ||
141 | } | 141 | } |
142 | 142 | ||
143 | .icon_lists li .name, | 143 | .icon_lists li .name, |
144 | .icon_lists li .code-name { | 144 | .icon_lists li .code-name { |
145 | - color: #666; | 145 | + color: #666; |
146 | } | 146 | } |
147 | 147 | ||
148 | /* markdown 样式 */ | 148 | /* markdown 样式 */ |
149 | .markdown { | 149 | .markdown { |
150 | - color: #666; | ||
151 | - font-size: 14px; | ||
152 | - line-height: 1.8; | 150 | + color: #666; |
151 | + font-size: 14px; | ||
152 | + line-height: 1.8; | ||
153 | } | 153 | } |
154 | 154 | ||
155 | .highlight { | 155 | .highlight { |
156 | - line-height: 1.5; | 156 | + line-height: 1.5; |
157 | } | 157 | } |
158 | 158 | ||
159 | .markdown img { | 159 | .markdown img { |
160 | - vertical-align: middle; | ||
161 | - max-width: 100%; | 160 | + vertical-align: middle; |
161 | + max-width: 100%; | ||
162 | } | 162 | } |
163 | 163 | ||
164 | .markdown h1 { | 164 | .markdown h1 { |
165 | - color: #404040; | ||
166 | - font-weight: 500; | ||
167 | - line-height: 40px; | ||
168 | - margin-bottom: 24px; | 165 | + color: #404040; |
166 | + font-weight: 500; | ||
167 | + line-height: 40px; | ||
168 | + margin-bottom: 24px; | ||
169 | } | 169 | } |
170 | 170 | ||
171 | .markdown h2, | 171 | .markdown h2, |
@@ -173,139 +173,139 @@ | @@ -173,139 +173,139 @@ | ||
173 | .markdown h4, | 173 | .markdown h4, |
174 | .markdown h5, | 174 | .markdown h5, |
175 | .markdown h6 { | 175 | .markdown h6 { |
176 | - color: #404040; | ||
177 | - margin: 1.6em 0 0.6em 0; | ||
178 | - font-weight: 500; | ||
179 | - clear: both; | 176 | + color: #404040; |
177 | + margin: 1.6em 0 0.6em 0; | ||
178 | + font-weight: 500; | ||
179 | + clear: both; | ||
180 | } | 180 | } |
181 | 181 | ||
182 | .markdown h1 { | 182 | .markdown h1 { |
183 | - font-size: 28px; | 183 | + font-size: 28px; |
184 | } | 184 | } |
185 | 185 | ||
186 | .markdown h2 { | 186 | .markdown h2 { |
187 | - font-size: 22px; | 187 | + font-size: 22px; |
188 | } | 188 | } |
189 | 189 | ||
190 | .markdown h3 { | 190 | .markdown h3 { |
191 | - font-size: 16px; | 191 | + font-size: 16px; |
192 | } | 192 | } |
193 | 193 | ||
194 | .markdown h4 { | 194 | .markdown h4 { |
195 | - font-size: 14px; | 195 | + font-size: 14px; |
196 | } | 196 | } |
197 | 197 | ||
198 | .markdown h5 { | 198 | .markdown h5 { |
199 | - font-size: 12px; | 199 | + font-size: 12px; |
200 | } | 200 | } |
201 | 201 | ||
202 | .markdown h6 { | 202 | .markdown h6 { |
203 | - font-size: 12px; | 203 | + font-size: 12px; |
204 | } | 204 | } |
205 | 205 | ||
206 | .markdown hr { | 206 | .markdown hr { |
207 | - height: 1px; | ||
208 | - border: 0; | ||
209 | - background: #e9e9e9; | ||
210 | - margin: 16px 0; | ||
211 | - clear: both; | 207 | + height: 1px; |
208 | + border: 0; | ||
209 | + background: #e9e9e9; | ||
210 | + margin: 16px 0; | ||
211 | + clear: both; | ||
212 | } | 212 | } |
213 | 213 | ||
214 | .markdown p { | 214 | .markdown p { |
215 | - margin: 1em 0; | 215 | + margin: 1em 0; |
216 | } | 216 | } |
217 | 217 | ||
218 | -.markdown > p, | ||
219 | -.markdown > blockquote, | ||
220 | -.markdown > .highlight, | ||
221 | -.markdown > ol, | ||
222 | -.markdown > ul { | ||
223 | - width: 80%; | 218 | +.markdown>p, |
219 | +.markdown>blockquote, | ||
220 | +.markdown>.highlight, | ||
221 | +.markdown>ol, | ||
222 | +.markdown>ul { | ||
223 | + width: 80%; | ||
224 | } | 224 | } |
225 | 225 | ||
226 | -.markdown ul > li { | ||
227 | - list-style: circle; | 226 | +.markdown ul>li { |
227 | + list-style: circle; | ||
228 | } | 228 | } |
229 | 229 | ||
230 | -.markdown > ul li, | ||
231 | -.markdown blockquote ul > li { | ||
232 | - margin-left: 20px; | ||
233 | - padding-left: 4px; | 230 | +.markdown>ul li, |
231 | +.markdown blockquote ul>li { | ||
232 | + margin-left: 20px; | ||
233 | + padding-left: 4px; | ||
234 | } | 234 | } |
235 | 235 | ||
236 | -.markdown > ul li p, | ||
237 | -.markdown > ol li p { | ||
238 | - margin: 0.6em 0; | 236 | +.markdown>ul li p, |
237 | +.markdown>ol li p { | ||
238 | + margin: 0.6em 0; | ||
239 | } | 239 | } |
240 | 240 | ||
241 | -.markdown ol > li { | ||
242 | - list-style: decimal; | 241 | +.markdown ol>li { |
242 | + list-style: decimal; | ||
243 | } | 243 | } |
244 | 244 | ||
245 | -.markdown > ol li, | ||
246 | -.markdown blockquote ol > li { | ||
247 | - margin-left: 20px; | ||
248 | - padding-left: 4px; | 245 | +.markdown>ol li, |
246 | +.markdown blockquote ol>li { | ||
247 | + margin-left: 20px; | ||
248 | + padding-left: 4px; | ||
249 | } | 249 | } |
250 | 250 | ||
251 | .markdown code { | 251 | .markdown code { |
252 | - margin: 0 3px; | ||
253 | - padding: 0 5px; | ||
254 | - background: #eee; | ||
255 | - border-radius: 3px; | 252 | + margin: 0 3px; |
253 | + padding: 0 5px; | ||
254 | + background: #eee; | ||
255 | + border-radius: 3px; | ||
256 | } | 256 | } |
257 | 257 | ||
258 | .markdown strong, | 258 | .markdown strong, |
259 | .markdown b { | 259 | .markdown b { |
260 | - font-weight: 600; | 260 | + font-weight: 600; |
261 | } | 261 | } |
262 | 262 | ||
263 | -.markdown > table { | ||
264 | - border-collapse: collapse; | ||
265 | - border-spacing: 0px; | ||
266 | - empty-cells: show; | ||
267 | - border: 1px solid #e9e9e9; | ||
268 | - width: 95%; | ||
269 | - margin-bottom: 24px; | 263 | +.markdown>table { |
264 | + border-collapse: collapse; | ||
265 | + border-spacing: 0px; | ||
266 | + empty-cells: show; | ||
267 | + border: 1px solid #e9e9e9; | ||
268 | + width: 95%; | ||
269 | + margin-bottom: 24px; | ||
270 | } | 270 | } |
271 | 271 | ||
272 | -.markdown > table th { | ||
273 | - white-space: nowrap; | ||
274 | - color: #333; | ||
275 | - font-weight: 600; | 272 | +.markdown>table th { |
273 | + white-space: nowrap; | ||
274 | + color: #333; | ||
275 | + font-weight: 600; | ||
276 | } | 276 | } |
277 | 277 | ||
278 | -.markdown > table th, | ||
279 | -.markdown > table td { | ||
280 | - border: 1px solid #e9e9e9; | ||
281 | - padding: 8px 16px; | ||
282 | - text-align: left; | 278 | +.markdown>table th, |
279 | +.markdown>table td { | ||
280 | + border: 1px solid #e9e9e9; | ||
281 | + padding: 8px 16px; | ||
282 | + text-align: left; | ||
283 | } | 283 | } |
284 | 284 | ||
285 | -.markdown > table th { | ||
286 | - background: #F7F7F7; | 285 | +.markdown>table th { |
286 | + background: #F7F7F7; | ||
287 | } | 287 | } |
288 | 288 | ||
289 | .markdown blockquote { | 289 | .markdown blockquote { |
290 | - font-size: 90%; | ||
291 | - color: #999; | ||
292 | - border-left: 4px solid #e9e9e9; | ||
293 | - padding-left: 0.8em; | ||
294 | - margin: 1em 0; | 290 | + font-size: 90%; |
291 | + color: #999; | ||
292 | + border-left: 4px solid #e9e9e9; | ||
293 | + padding-left: 0.8em; | ||
294 | + margin: 1em 0; | ||
295 | } | 295 | } |
296 | 296 | ||
297 | .markdown blockquote p { | 297 | .markdown blockquote p { |
298 | - margin: 0; | 298 | + margin: 0; |
299 | } | 299 | } |
300 | 300 | ||
301 | .markdown .anchor { | 301 | .markdown .anchor { |
302 | - opacity: 0; | ||
303 | - transition: opacity 0.3s ease; | ||
304 | - margin-left: 8px; | 302 | + opacity: 0; |
303 | + transition: opacity 0.3s ease; | ||
304 | + margin-left: 8px; | ||
305 | } | 305 | } |
306 | 306 | ||
307 | .markdown .waiting { | 307 | .markdown .waiting { |
308 | - color: #ccc; | 308 | + color: #ccc; |
309 | } | 309 | } |
310 | 310 | ||
311 | .markdown h1:hover .anchor, | 311 | .markdown h1:hover .anchor, |
@@ -314,27 +314,27 @@ | @@ -314,27 +314,27 @@ | ||
314 | .markdown h4:hover .anchor, | 314 | .markdown h4:hover .anchor, |
315 | .markdown h5:hover .anchor, | 315 | .markdown h5:hover .anchor, |
316 | .markdown h6:hover .anchor { | 316 | .markdown h6:hover .anchor { |
317 | - opacity: 1; | ||
318 | - display: inline-block; | 317 | + opacity: 1; |
318 | + display: inline-block; | ||
319 | } | 319 | } |
320 | 320 | ||
321 | -.markdown > br, | ||
322 | -.markdown > p > br { | ||
323 | - clear: both; | 321 | +.markdown>br, |
322 | +.markdown>p>br { | ||
323 | + clear: both; | ||
324 | } | 324 | } |
325 | 325 | ||
326 | 326 | ||
327 | .hljs { | 327 | .hljs { |
328 | - display: block; | ||
329 | - background: white; | ||
330 | - padding: 0.5em; | ||
331 | - color: #333333; | ||
332 | - overflow-x: auto; | 328 | + display: block; |
329 | + background: white; | ||
330 | + padding: 0.5em; | ||
331 | + color: #333333; | ||
332 | + overflow-x: auto; | ||
333 | } | 333 | } |
334 | 334 | ||
335 | .hljs-comment, | 335 | .hljs-comment, |
336 | .hljs-meta { | 336 | .hljs-meta { |
337 | - color: #969896; | 337 | + color: #969896; |
338 | } | 338 | } |
339 | 339 | ||
340 | .hljs-string, | 340 | .hljs-string, |
@@ -343,29 +343,29 @@ | @@ -343,29 +343,29 @@ | ||
343 | .hljs-strong, | 343 | .hljs-strong, |
344 | .hljs-emphasis, | 344 | .hljs-emphasis, |
345 | .hljs-quote { | 345 | .hljs-quote { |
346 | - color: #df5000; | 346 | + color: #df5000; |
347 | } | 347 | } |
348 | 348 | ||
349 | .hljs-keyword, | 349 | .hljs-keyword, |
350 | .hljs-selector-tag, | 350 | .hljs-selector-tag, |
351 | .hljs-type { | 351 | .hljs-type { |
352 | - color: #a71d5d; | 352 | + color: #a71d5d; |
353 | } | 353 | } |
354 | 354 | ||
355 | .hljs-literal, | 355 | .hljs-literal, |
356 | .hljs-symbol, | 356 | .hljs-symbol, |
357 | .hljs-bullet, | 357 | .hljs-bullet, |
358 | .hljs-attribute { | 358 | .hljs-attribute { |
359 | - color: #0086b3; | 359 | + color: #0086b3; |
360 | } | 360 | } |
361 | 361 | ||
362 | .hljs-section, | 362 | .hljs-section, |
363 | .hljs-name { | 363 | .hljs-name { |
364 | - color: #63a35c; | 364 | + color: #63a35c; |
365 | } | 365 | } |
366 | 366 | ||
367 | .hljs-tag { | 367 | .hljs-tag { |
368 | - color: #333333; | 368 | + color: #333333; |
369 | } | 369 | } |
370 | 370 | ||
371 | .hljs-title, | 371 | .hljs-title, |
@@ -374,21 +374,21 @@ | @@ -374,21 +374,21 @@ | ||
374 | .hljs-selector-class, | 374 | .hljs-selector-class, |
375 | .hljs-selector-attr, | 375 | .hljs-selector-attr, |
376 | .hljs-selector-pseudo { | 376 | .hljs-selector-pseudo { |
377 | - color: #795da3; | 377 | + color: #795da3; |
378 | } | 378 | } |
379 | 379 | ||
380 | .hljs-addition { | 380 | .hljs-addition { |
381 | - color: #55a532; | ||
382 | - background-color: #eaffea; | 381 | + color: #55a532; |
382 | + background-color: #eaffea; | ||
383 | } | 383 | } |
384 | 384 | ||
385 | .hljs-deletion { | 385 | .hljs-deletion { |
386 | - color: #bd2c00; | ||
387 | - background-color: #ffecec; | 386 | + color: #bd2c00; |
387 | + background-color: #ffecec; | ||
388 | } | 388 | } |
389 | 389 | ||
390 | .hljs-link { | 390 | .hljs-link { |
391 | - text-decoration: underline; | 391 | + text-decoration: underline; |
392 | } | 392 | } |
393 | 393 | ||
394 | /* 代码高亮 */ | 394 | /* 代码高亮 */ |
@@ -401,83 +401,83 @@ https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javasc | @@ -401,83 +401,83 @@ https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javasc | ||
401 | */ | 401 | */ |
402 | code[class*="language-"], | 402 | code[class*="language-"], |
403 | pre[class*="language-"] { | 403 | pre[class*="language-"] { |
404 | - color: black; | ||
405 | - background: none; | ||
406 | - text-shadow: 0 1px white; | ||
407 | - font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; | ||
408 | - text-align: left; | ||
409 | - white-space: pre; | ||
410 | - word-spacing: normal; | ||
411 | - word-break: normal; | ||
412 | - word-wrap: normal; | ||
413 | - line-height: 1.5; | ||
414 | - | ||
415 | - -moz-tab-size: 4; | ||
416 | - -o-tab-size: 4; | ||
417 | - tab-size: 4; | ||
418 | - | ||
419 | - -webkit-hyphens: none; | ||
420 | - -moz-hyphens: none; | ||
421 | - -ms-hyphens: none; | ||
422 | - hyphens: none; | 404 | + color: black; |
405 | + background: none; | ||
406 | + text-shadow: 0 1px white; | ||
407 | + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; | ||
408 | + text-align: left; | ||
409 | + white-space: pre; | ||
410 | + word-spacing: normal; | ||
411 | + word-break: normal; | ||
412 | + word-wrap: normal; | ||
413 | + line-height: 1.5; | ||
414 | + | ||
415 | + -moz-tab-size: 4; | ||
416 | + -o-tab-size: 4; | ||
417 | + tab-size: 4; | ||
418 | + | ||
419 | + -webkit-hyphens: none; | ||
420 | + -moz-hyphens: none; | ||
421 | + -ms-hyphens: none; | ||
422 | + hyphens: none; | ||
423 | } | 423 | } |
424 | 424 | ||
425 | pre[class*="language-"]::-moz-selection, | 425 | pre[class*="language-"]::-moz-selection, |
426 | pre[class*="language-"] ::-moz-selection, | 426 | pre[class*="language-"] ::-moz-selection, |
427 | code[class*="language-"]::-moz-selection, | 427 | code[class*="language-"]::-moz-selection, |
428 | code[class*="language-"] ::-moz-selection { | 428 | code[class*="language-"] ::-moz-selection { |
429 | - text-shadow: none; | ||
430 | - background: #b3d4fc; | 429 | + text-shadow: none; |
430 | + background: #b3d4fc; | ||
431 | } | 431 | } |
432 | 432 | ||
433 | pre[class*="language-"]::selection, | 433 | pre[class*="language-"]::selection, |
434 | pre[class*="language-"] ::selection, | 434 | pre[class*="language-"] ::selection, |
435 | code[class*="language-"]::selection, | 435 | code[class*="language-"]::selection, |
436 | code[class*="language-"] ::selection { | 436 | code[class*="language-"] ::selection { |
437 | - text-shadow: none; | ||
438 | - background: #b3d4fc; | 437 | + text-shadow: none; |
438 | + background: #b3d4fc; | ||
439 | } | 439 | } |
440 | 440 | ||
441 | @media print { | 441 | @media print { |
442 | 442 | ||
443 | - code[class*="language-"], | ||
444 | - pre[class*="language-"] { | ||
445 | - text-shadow: none; | ||
446 | - } | 443 | + code[class*="language-"], |
444 | + pre[class*="language-"] { | ||
445 | + text-shadow: none; | ||
446 | + } | ||
447 | } | 447 | } |
448 | 448 | ||
449 | /* Code blocks */ | 449 | /* Code blocks */ |
450 | pre[class*="language-"] { | 450 | pre[class*="language-"] { |
451 | - padding: 1em; | ||
452 | - margin: .5em 0; | ||
453 | - overflow: auto; | 451 | + padding: 1em; |
452 | + margin: .5em 0; | ||
453 | + overflow: auto; | ||
454 | } | 454 | } |
455 | 455 | ||
456 | -:not(pre) > code[class*="language-"], | 456 | +:not(pre)>code[class*="language-"], |
457 | pre[class*="language-"] { | 457 | pre[class*="language-"] { |
458 | - background: #f5f2f0; | 458 | + background: #f5f2f0; |
459 | } | 459 | } |
460 | 460 | ||
461 | /* Inline code */ | 461 | /* Inline code */ |
462 | -:not(pre) > code[class*="language-"] { | ||
463 | - padding: .1em; | ||
464 | - border-radius: .3em; | ||
465 | - white-space: normal; | 462 | +:not(pre)>code[class*="language-"] { |
463 | + padding: .1em; | ||
464 | + border-radius: .3em; | ||
465 | + white-space: normal; | ||
466 | } | 466 | } |
467 | 467 | ||
468 | .token.comment, | 468 | .token.comment, |
469 | .token.prolog, | 469 | .token.prolog, |
470 | .token.doctype, | 470 | .token.doctype, |
471 | .token.cdata { | 471 | .token.cdata { |
472 | - color: slategray; | 472 | + color: slategray; |
473 | } | 473 | } |
474 | 474 | ||
475 | .token.punctuation { | 475 | .token.punctuation { |
476 | - color: #999; | 476 | + color: #999; |
477 | } | 477 | } |
478 | 478 | ||
479 | .namespace { | 479 | .namespace { |
480 | - opacity: .7; | 480 | + opacity: .7; |
481 | } | 481 | } |
482 | 482 | ||
483 | .token.property, | 483 | .token.property, |
@@ -487,7 +487,7 @@ pre[class*="language-"] { | @@ -487,7 +487,7 @@ pre[class*="language-"] { | ||
487 | .token.constant, | 487 | .token.constant, |
488 | .token.symbol, | 488 | .token.symbol, |
489 | .token.deleted { | 489 | .token.deleted { |
490 | - color: #905; | 490 | + color: #905; |
491 | } | 491 | } |
492 | 492 | ||
493 | .token.selector, | 493 | .token.selector, |
@@ -496,7 +496,7 @@ pre[class*="language-"] { | @@ -496,7 +496,7 @@ pre[class*="language-"] { | ||
496 | .token.char, | 496 | .token.char, |
497 | .token.builtin, | 497 | .token.builtin, |
498 | .token.inserted { | 498 | .token.inserted { |
499 | - color: #690; | 499 | + color: #690; |
500 | } | 500 | } |
501 | 501 | ||
502 | .token.operator, | 502 | .token.operator, |
@@ -504,36 +504,36 @@ pre[class*="language-"] { | @@ -504,36 +504,36 @@ pre[class*="language-"] { | ||
504 | .token.url, | 504 | .token.url, |
505 | .language-css .token.string, | 505 | .language-css .token.string, |
506 | .style .token.string { | 506 | .style .token.string { |
507 | - color: #9a6e3a; | ||
508 | - background: hsla(0, 0%, 100%, .5); | 507 | + color: #9a6e3a; |
508 | + background: hsla(0, 0%, 100%, .5); | ||
509 | } | 509 | } |
510 | 510 | ||
511 | .token.atrule, | 511 | .token.atrule, |
512 | .token.attr-value, | 512 | .token.attr-value, |
513 | .token.keyword { | 513 | .token.keyword { |
514 | - color: #07a; | 514 | + color: #07a; |
515 | } | 515 | } |
516 | 516 | ||
517 | .token.function, | 517 | .token.function, |
518 | .token.class-name { | 518 | .token.class-name { |
519 | - color: #DD4A68; | 519 | + color: #DD4A68; |
520 | } | 520 | } |
521 | 521 | ||
522 | .token.regex, | 522 | .token.regex, |
523 | .token.important, | 523 | .token.important, |
524 | .token.variable { | 524 | .token.variable { |
525 | - color: #e90; | 525 | + color: #e90; |
526 | } | 526 | } |
527 | 527 | ||
528 | .token.important, | 528 | .token.important, |
529 | .token.bold { | 529 | .token.bold { |
530 | - font-weight: bold; | 530 | + font-weight: bold; |
531 | } | 531 | } |
532 | 532 | ||
533 | .token.italic { | 533 | .token.italic { |
534 | - font-style: italic; | 534 | + font-style: italic; |
535 | } | 535 | } |
536 | 536 | ||
537 | .token.entity { | 537 | .token.entity { |
538 | - cursor: help; | 538 | + cursor: help; |
539 | } | 539 | } |
This diff could not be displayed because it is too large.
1 | @font-face { | 1 | @font-face { |
2 | - font-family: "iconfont"; /* Project id 2843738 */ | ||
3 | - src: url('iconfont.woff2?t=1639498542236') format('woff2'), | ||
4 | - url('iconfont.woff?t=1639498542236') format('woff'), | ||
5 | - url('iconfont.ttf?t=1639498542236') format('truetype'); | 2 | + font-family: "iconfont"; /* Project id 2843738 */ |
3 | + src: url('iconfont.woff2?t=1659325108758') format('woff2'), | ||
4 | + url('iconfont.woff?t=1659325108758') format('woff'), | ||
5 | + url('iconfont.ttf?t=1659325108758') format('truetype'); | ||
6 | } | 6 | } |
7 | 7 | ||
8 | .iconfont { | 8 | .iconfont { |
9 | - font-family: "iconfont" !important; | ||
10 | - font-size: 16px; | ||
11 | - font-style: normal; | ||
12 | - -webkit-font-smoothing: antialiased; | ||
13 | - -moz-osx-font-smoothing: grayscale; | 9 | + font-family: "iconfont" !important; |
10 | + font-size: 16px; | ||
11 | + font-style: normal; | ||
12 | + -webkit-font-smoothing: antialiased; | ||
13 | + -moz-osx-font-smoothing: grayscale; | ||
14 | +} | ||
15 | + | ||
16 | +.icon-tishi:before { | ||
17 | + content: "\e67c"; | ||
18 | +} | ||
19 | + | ||
20 | +.icon-dian:before { | ||
21 | + content: "\ec1e"; | ||
22 | +} | ||
23 | + | ||
24 | +.icon-gengduo-shuxiang:before { | ||
25 | + content: "\e8c4"; | ||
26 | +} | ||
27 | + | ||
28 | +.icon-weixin:before { | ||
29 | + content: "\e67b"; | ||
30 | +} | ||
31 | + | ||
32 | +.icon-youxiang:before { | ||
33 | + content: "\e908"; | ||
34 | +} | ||
35 | + | ||
36 | +.icon-duanxinqunfa:before { | ||
37 | + content: "\eb42"; | ||
38 | +} | ||
39 | + | ||
40 | +.icon-yewuziyuantuopu:before { | ||
41 | + content: "\ea6f"; | ||
14 | } | 42 | } |
15 | 43 | ||
16 | .icon-yibiaopan:before { | 44 | .icon-yibiaopan:before { |
17 | - content: "\eb67"; | 45 | + content: "\eb67"; |
18 | } | 46 | } |
19 | 47 | ||
20 | .icon-nginx:before { | 48 | .icon-nginx:before { |
21 | - content: "\e63e"; | 49 | + content: "\e63e"; |
22 | } | 50 | } |
23 | 51 | ||
24 | .icon-dianya:before { | 52 | .icon-dianya:before { |
25 | - content: "\e639"; | 53 | + content: "\e639"; |
26 | } | 54 | } |
27 | 55 | ||
28 | .icon-shujujiekou:before { | 56 | .icon-shujujiekou:before { |
29 | - content: "\e641"; | 57 | + content: "\e641"; |
30 | } | 58 | } |
31 | 59 | ||
32 | .icon-xudianchizu:before { | 60 | .icon-xudianchizu:before { |
33 | - content: "\e7df"; | 61 | + content: "\e7df"; |
34 | } | 62 | } |
35 | 63 | ||
36 | .icon-tomcat2:before { | 64 | .icon-tomcat2:before { |
37 | - content: "\e63a"; | 65 | + content: "\e63a"; |
38 | } | 66 | } |
39 | 67 | ||
40 | .icon-xiaoxingji:before { | 68 | .icon-xiaoxingji:before { |
41 | - content: "\e63b"; | 69 | + content: "\e63b"; |
42 | } | 70 | } |
43 | 71 | ||
44 | .icon-dianyabiao:before { | 72 | .icon-dianyabiao:before { |
45 | - content: "\e658"; | 73 | + content: "\e658"; |
46 | } | 74 | } |
47 | 75 | ||
48 | .icon-suzhuji:before { | 76 | .icon-suzhuji:before { |
49 | - content: "\e63f"; | 77 | + content: "\e63f"; |
50 | } | 78 | } |
51 | 79 | ||
52 | .icon-kongtiao1:before { | 80 | .icon-kongtiao1:before { |
53 | - content: "\e90d"; | 81 | + content: "\e90d"; |
54 | } | 82 | } |
55 | 83 | ||
56 | .icon-kaiguan:before { | 84 | .icon-kaiguan:before { |
57 | - content: "\e642"; | 85 | + content: "\e642"; |
58 | } | 86 | } |
59 | 87 | ||
60 | .icon-wenduji:before { | 88 | .icon-wenduji:before { |
61 | - content: "\e643"; | 89 | + content: "\e643"; |
62 | } | 90 | } |
63 | 91 | ||
64 | .icon-kaiguan1:before { | 92 | .icon-kaiguan1:before { |
65 | - content: "\eaf7"; | 93 | + content: "\eaf7"; |
66 | } | 94 | } |
67 | 95 | ||
68 | .icon-xuehua:before { | 96 | .icon-xuehua:before { |
69 | - content: "\e644"; | 97 | + content: "\e644"; |
70 | } | 98 | } |
71 | 99 | ||
72 | .icon-aliyun:before { | 100 | .icon-aliyun:before { |
73 | - content: "\e6aa"; | 101 | + content: "\e6aa"; |
74 | } | 102 | } |
75 | 103 | ||
76 | .icon-kongtiao2:before { | 104 | .icon-kongtiao2:before { |
77 | - content: "\e645"; | 105 | + content: "\e645"; |
78 | } | 106 | } |
79 | 107 | ||
80 | .icon-kaiguan2:before { | 108 | .icon-kaiguan2:before { |
81 | - content: "\ec76"; | 109 | + content: "\ec76"; |
82 | } | 110 | } |
83 | 111 | ||
84 | .icon-dianchizu:before { | 112 | .icon-dianchizu:before { |
85 | - content: "\e647"; | 113 | + content: "\e647"; |
86 | } | 114 | } |
87 | 115 | ||
88 | .icon-dianchizu1:before { | 116 | .icon-dianchizu1:before { |
89 | - content: "\e646"; | 117 | + content: "\e646"; |
90 | } | 118 | } |
91 | 119 | ||
92 | .icon-CADshezhi:before { | 120 | .icon-CADshezhi:before { |
93 | - content: "\e649"; | 121 | + content: "\e649"; |
94 | } | 122 | } |
95 | 123 | ||
96 | .icon-EPStubiao:before { | 124 | .icon-EPStubiao:before { |
97 | - content: "\e64a"; | 125 | + content: "\e64a"; |
98 | } | 126 | } |
99 | 127 | ||
100 | .icon-webLogic:before { | 128 | .icon-webLogic:before { |
101 | - content: "\e73a"; | 129 | + content: "\e73a"; |
102 | } | 130 | } |
103 | 131 | ||
104 | .icon-xiaoxingji1:before { | 132 | .icon-xiaoxingji1:before { |
105 | - content: "\e65a"; | 133 | + content: "\e65a"; |
106 | } | 134 | } |
107 | 135 | ||
108 | .icon-wenduji1:before { | 136 | .icon-wenduji1:before { |
109 | - content: "\e64b"; | 137 | + content: "\e64b"; |
110 | } | 138 | } |
111 | 139 | ||
112 | .icon-guangyuwang:before { | 140 | .icon-guangyuwang:before { |
113 | - content: "\e64c"; | 141 | + content: "\e64c"; |
114 | } | 142 | } |
115 | 143 | ||
116 | .icon-wangguanshezhi:before { | 144 | .icon-wangguanshezhi:before { |
117 | - content: "\e69f"; | 145 | + content: "\e69f"; |
118 | } | 146 | } |
119 | 147 | ||
120 | .icon-sanjiaohuanji:before { | 148 | .icon-sanjiaohuanji:before { |
121 | - content: "\e64d"; | 149 | + content: "\e64d"; |
122 | } | 150 | } |
123 | 151 | ||
124 | .icon-Redis1:before { | 152 | .icon-Redis1:before { |
125 | - content: "\e64e"; | 153 | + content: "\e64e"; |
126 | } | 154 | } |
127 | 155 | ||
128 | .icon-dianchi3:before { | 156 | .icon-dianchi3:before { |
129 | - content: "\e64f"; | 157 | + content: "\e64f"; |
130 | } | 158 | } |
131 | 159 | ||
132 | .icon-xiaoxingji2:before { | 160 | .icon-xiaoxingji2:before { |
133 | - content: "\e734"; | 161 | + content: "\e734"; |
134 | } | 162 | } |
135 | 163 | ||
136 | .icon-xiaoxingji3:before { | 164 | .icon-xiaoxingji3:before { |
137 | - content: "\e749"; | 165 | + content: "\e749"; |
138 | } | 166 | } |
139 | 167 | ||
140 | .icon-dns:before { | 168 | .icon-dns:before { |
141 | - content: "\e650"; | 169 | + content: "\e650"; |
142 | } | 170 | } |
143 | 171 | ||
144 | .icon-yangan:before { | 172 | .icon-yangan:before { |
145 | - content: "\e651"; | 173 | + content: "\e651"; |
146 | } | 174 | } |
147 | 175 | ||
148 | .icon-shujuku:before { | 176 | .icon-shujuku:before { |
149 | - content: "\e652"; | 177 | + content: "\e652"; |
150 | } | 178 | } |
151 | 179 | ||
152 | .icon-xuehua1:before { | 180 | .icon-xuehua1:before { |
153 | - content: "\e653"; | 181 | + content: "\e653"; |
154 | } | 182 | } |
155 | 183 | ||
156 | .icon-kongtiao3:before { | 184 | .icon-kongtiao3:before { |
157 | - content: "\e655"; | 185 | + content: "\e655"; |
158 | } | 186 | } |
159 | 187 | ||
160 | .icon-jifang:before { | 188 | .icon-jifang:before { |
161 | - content: "\e6ca"; | 189 | + content: "\e6ca"; |
162 | } | 190 | } |
163 | 191 | ||
164 | .icon-eps:before { | 192 | .icon-eps:before { |
165 | - content: "\e8ae"; | 193 | + content: "\e8ae"; |
166 | } | 194 | } |
167 | 195 | ||
168 | .icon-sharpicons_snowflake:before { | 196 | .icon-sharpicons_snowflake:before { |
169 | - content: "\e7c4"; | 197 | + content: "\e7c4"; |
170 | } | 198 | } |
171 | 199 | ||
172 | .icon-SANjiaohuanji:before { | 200 | .icon-SANjiaohuanji:before { |
173 | - content: "\e656"; | 201 | + content: "\e656"; |
174 | } | 202 | } |
175 | 203 | ||
176 | .icon-dianchi4:before { | 204 | .icon-dianchi4:before { |
177 | - content: "\e659"; | 205 | + content: "\e659"; |
178 | } | 206 | } |
179 | 207 | ||
180 | .icon-dianyabiao1:before { | 208 | .icon-dianyabiao1:before { |
181 | - content: "\e65f"; | 209 | + content: "\e65f"; |
182 | } | 210 | } |
183 | 211 | ||
184 | .icon-dianchizu2:before { | 212 | .icon-dianchizu2:before { |
185 | - content: "\e82b"; | 213 | + content: "\e82b"; |
186 | } | 214 | } |
187 | 215 | ||
188 | .icon-hengban-huaweiyun-quanbu:before { | 216 | .icon-hengban-huaweiyun-quanbu:before { |
189 | - content: "\e6c9"; | 217 | + content: "\e6c9"; |
190 | } | 218 | } |
191 | 219 | ||
192 | .icon-UPS:before { | 220 | .icon-UPS:before { |
193 | - content: "\e661"; | 221 | + content: "\e661"; |
194 | } | 222 | } |
195 | 223 | ||
196 | .icon-yangan1:before { | 224 | .icon-yangan1:before { |
197 | - content: "\e67e"; | 225 | + content: "\e67e"; |
198 | } | 226 | } |
199 | 227 | ||
200 | .icon-dianliu:before { | 228 | .icon-dianliu:before { |
201 | - content: "\e68a"; | 229 | + content: "\e68a"; |
202 | } | 230 | } |
203 | 231 | ||
204 | .icon-dianchi-wu:before { | 232 | .icon-dianchi-wu:before { |
205 | - content: "\e662"; | 233 | + content: "\e662"; |
206 | } | 234 | } |
207 | 235 | ||
208 | .icon-ecsyunfuwuqi:before { | 236 | .icon-ecsyunfuwuqi:before { |
209 | - content: "\e666"; | 237 | + content: "\e666"; |
210 | } | 238 | } |
211 | 239 | ||
212 | .icon-ups:before { | 240 | .icon-ups:before { |
213 | - content: "\e7b9"; | 241 | + content: "\e7b9"; |
214 | } | 242 | } |
215 | 243 | ||
216 | .icon-mysqlshujukumgrban:before { | 244 | .icon-mysqlshujukumgrban:before { |
217 | - content: "\e663"; | 245 | + content: "\e663"; |
218 | } | 246 | } |
219 | 247 | ||
220 | .icon-dianya1:before { | 248 | .icon-dianya1:before { |
221 | - content: "\e665"; | 249 | + content: "\e665"; |
222 | } | 250 | } |
223 | 251 | ||
224 | .icon-VMware:before { | 252 | .icon-VMware:before { |
225 | - content: "\e843"; | 253 | + content: "\e843"; |
226 | } | 254 | } |
227 | 255 | ||
228 | .icon-yibiaopan1:before { | 256 | .icon-yibiaopan1:before { |
229 | - content: "\e664"; | 257 | + content: "\e664"; |
230 | } | 258 | } |
231 | 259 | ||
232 | .icon-ecsyunfuwuqiECS:before { | 260 | .icon-ecsyunfuwuqiECS:before { |
233 | - content: "\e667"; | 261 | + content: "\e667"; |
234 | } | 262 | } |
235 | 263 | ||
236 | .icon-ecsyunfuwuqiECS1:before { | 264 | .icon-ecsyunfuwuqiECS1:before { |
237 | - content: "\e6e8"; | 265 | + content: "\e6e8"; |
238 | } | 266 | } |
239 | 267 | ||
240 | .icon-ruqinjiance1:before { | 268 | .icon-ruqinjiance1:before { |
241 | - content: "\e668"; | 269 | + content: "\e668"; |
242 | } | 270 | } |
243 | 271 | ||
244 | .icon-gongxiangcunchu:before { | 272 | .icon-gongxiangcunchu:before { |
245 | - content: "\e754"; | 273 | + content: "\e754"; |
246 | } | 274 | } |
247 | 275 | ||
248 | .icon-dianliu1:before { | 276 | .icon-dianliu1:before { |
249 | - content: "\e673"; | 277 | + content: "\e673"; |
250 | } | 278 | } |
251 | 279 | ||
252 | .icon-icon-huaweiyunxuniji:before { | 280 | .icon-icon-huaweiyunxuniji:before { |
253 | - content: "\e927"; | 281 | + content: "\e927"; |
254 | } | 282 | } |
255 | 283 | ||
256 | .icon-MySQLshujuku:before { | 284 | .icon-MySQLshujuku:before { |
257 | - content: "\e72a"; | 285 | + content: "\e72a"; |
258 | } | 286 | } |
259 | 287 | ||
260 | .icon-Internet-yunzhuangjiedian:before { | 288 | .icon-Internet-yunzhuangjiedian:before { |
261 | - content: "\e6ac"; | 289 | + content: "\e6ac"; |
262 | } | 290 | } |
263 | 291 | ||
264 | .icon-Internet-yunzhuangjiedian1:before { | 292 | .icon-Internet-yunzhuangjiedian1:before { |
265 | - content: "\e6b6"; | 293 | + content: "\e6b6"; |
266 | } | 294 | } |
267 | 295 | ||
268 | .icon-yangan2:before { | 296 | .icon-yangan2:before { |
269 | - content: "\e669"; | 297 | + content: "\e669"; |
270 | } | 298 | } |
271 | 299 | ||
272 | .icon-KAFAKA:before { | 300 | .icon-KAFAKA:before { |
273 | - content: "\e801"; | 301 | + content: "\e801"; |
274 | } | 302 | } |
275 | 303 | ||
276 | .icon-zhongjiqi:before { | 304 | .icon-zhongjiqi:before { |
277 | - content: "\e6b9"; | 305 | + content: "\e6b9"; |
278 | } | 306 | } |
279 | 307 | ||
280 | .icon-wangguan:before { | 308 | .icon-wangguan:before { |
281 | - content: "\e67a"; | 309 | + content: "\e67a"; |
282 | } | 310 | } |
283 | 311 | ||
284 | .icon-alarm-full:before { | 312 | .icon-alarm-full:before { |
285 | - content: "\e871"; | 313 | + content: "\e871"; |
286 | } | 314 | } |
287 | 315 | ||
288 | .icon-alarm:before { | 316 | .icon-alarm:before { |
289 | - content: "\e872"; | 317 | + content: "\e872"; |
290 | } | 318 | } |
291 | 319 | ||
292 | .icon-blood-full:before { | 320 | .icon-blood-full:before { |
293 | - content: "\e918"; | 321 | + content: "\e918"; |
294 | } | 322 | } |
295 | 323 | ||
296 | .icon-mianxingbaojingdengtubiao:before { | 324 | .icon-mianxingbaojingdengtubiao:before { |
297 | - content: "\e6a3"; | 325 | + content: "\e6a3"; |
298 | } | 326 | } |
299 | 327 | ||
300 | .icon-fuwuqi2:before { | 328 | .icon-fuwuqi2:before { |
301 | - content: "\e98e"; | 329 | + content: "\e98e"; |
302 | } | 330 | } |
303 | 331 | ||
304 | .icon-fenqu:before { | 332 | .icon-fenqu:before { |
305 | - content: "\e684"; | 333 | + content: "\e684"; |
306 | } | 334 | } |
307 | 335 | ||
308 | .icon-wenduji2:before { | 336 | .icon-wenduji2:before { |
309 | - content: "\e66a"; | 337 | + content: "\e66a"; |
310 | } | 338 | } |
311 | 339 | ||
312 | .icon-shujukucaozuo-chaxunmysqlshujuku:before { | 340 | .icon-shujukucaozuo-chaxunmysqlshujuku:before { |
313 | - content: "\e66b"; | 341 | + content: "\e66b"; |
314 | } | 342 | } |
315 | 343 | ||
316 | .icon-jifang1:before { | 344 | .icon-jifang1:before { |
317 | - content: "\e66c"; | 345 | + content: "\e66c"; |
318 | } | 346 | } |
319 | 347 | ||
320 | .icon-zhuanyongsuzhuji:before { | 348 | .icon-zhuanyongsuzhuji:before { |
321 | - content: "\e66d"; | 349 | + content: "\e66d"; |
322 | } | 350 | } |
323 | 351 | ||
324 | .icon-danxingwangka:before { | 352 | .icon-danxingwangka:before { |
325 | - content: "\e66e"; | 353 | + content: "\e66e"; |
326 | } | 354 | } |
327 | 355 | ||
328 | .icon-wuliwangkaduankou:before { | 356 | .icon-wuliwangkaduankou:before { |
329 | - content: "\e66f"; | 357 | + content: "\e66f"; |
330 | } | 358 | } |
331 | 359 | ||
332 | .icon-wangluoruqinjiance:before { | 360 | .icon-wangluoruqinjiance:before { |
333 | - content: "\e672"; | 361 | + content: "\e672"; |
334 | } | 362 | } |
335 | 363 | ||
336 | .icon-qiansuanxudianchizu:before { | 364 | .icon-qiansuanxudianchizu:before { |
337 | - content: "\e674"; | 365 | + content: "\e674"; |
338 | } | 366 | } |
339 | 367 | ||
340 | .icon-UPS1:before { | 368 | .icon-UPS1:before { |
341 | - content: "\e676"; | 369 | + content: "\e676"; |
342 | } | 370 | } |
343 | 371 | ||
344 | .icon-guangyuwangxianlu:before { | 372 | .icon-guangyuwangxianlu:before { |
345 | - content: "\e678"; | 373 | + content: "\e678"; |
346 | } | 374 | } |
347 | 375 | ||
348 | .icon-wuliwangka:before { | 376 | .icon-wuliwangka:before { |
349 | - content: "\e67f"; | 377 | + content: "\e67f"; |
350 | } | 378 | } |
351 | 379 | ||
352 | .icon-Nginx:before { | 380 | .icon-Nginx:before { |
353 | - content: "\e683"; | 381 | + content: "\e683"; |
354 | } | 382 | } |
355 | 383 | ||
356 | .icon-Weblogic:before { | 384 | .icon-Weblogic:before { |
357 | - content: "\e685"; | 385 | + content: "\e685"; |
358 | } | 386 | } |
359 | 387 | ||
360 | .icon-TOMCAT:before { | 388 | .icon-TOMCAT:before { |
361 | - content: "\e687"; | 389 | + content: "\e687"; |
362 | } | 390 | } |
363 | 391 | ||
364 | .icon-wulifuwuqi1:before { | 392 | .icon-wulifuwuqi1:before { |
365 | - content: "\e688"; | 393 | + content: "\e688"; |
366 | } | 394 | } |
367 | 395 | ||
368 | .icon-VMware1:before { | 396 | .icon-VMware1:before { |
369 | - content: "\e68b"; | 397 | + content: "\e68b"; |
370 | } | 398 | } |
371 | 399 | ||
372 | .icon-jiqun:before { | 400 | .icon-jiqun:before { |
373 | - content: "\e68c"; | 401 | + content: "\e68c"; |
374 | } | 402 | } |
375 | 403 | ||
376 | .icon-bianyuanjiaohuanji:before { | 404 | .icon-bianyuanjiaohuanji:before { |
377 | - content: "\e770"; | 405 | + content: "\e770"; |
378 | } | 406 | } |
379 | 407 | ||
380 | .icon-epsdaoru:before { | 408 | .icon-epsdaoru:before { |
381 | - content: "\ee23"; | 409 | + content: "\ee23"; |
382 | } | 410 | } |
383 | 411 | ||
384 | .icon-epsdaochu:before { | 412 | .icon-epsdaochu:before { |
385 | - content: "\ee24"; | 413 | + content: "\ee24"; |
386 | } | 414 | } |
387 | 415 | ||
388 | .icon-zhongjiqi1:before { | 416 | .icon-zhongjiqi1:before { |
389 | - content: "\e8e0"; | 417 | + content: "\e8e0"; |
390 | } | 418 | } |
391 | 419 | ||
392 | .icon-a-ziyuan117:before { | 420 | .icon-a-ziyuan117:before { |
393 | - content: "\e670"; | 421 | + content: "\e670"; |
394 | } | 422 | } |
395 | 423 | ||
396 | .icon-suzhuji1:before { | 424 | .icon-suzhuji1:before { |
397 | - content: "\e671"; | 425 | + content: "\e671"; |
398 | } | 426 | } |
399 | 427 | ||
400 | .icon-binghaitushi_shuizi:before { | 428 | .icon-binghaitushi_shuizi:before { |
401 | - content: "\e6a5"; | 429 | + content: "\e6a5"; |
402 | } | 430 | } |
403 | 431 | ||
404 | .icon-gongxiangcunchu1:before { | 432 | .icon-gongxiangcunchu1:before { |
405 | - content: "\e677"; | 433 | + content: "\e677"; |
406 | } | 434 | } |
407 | 435 | ||
408 | .icon-loudiandianliu-xian:before { | 436 | .icon-loudiandianliu-xian:before { |
409 | - content: "\e7de"; | 437 | + content: "\e7de"; |
410 | } | 438 | } |
411 | 439 | ||
412 | .icon-alarm-full1:before { | 440 | .icon-alarm-full1:before { |
413 | - content: "\e679"; | 441 | + content: "\e679"; |
414 | } | 442 | } |
415 | 443 | ||
416 | .icon-xiaoxingji4:before { | 444 | .icon-xiaoxingji4:before { |
417 | - content: "\e7c3"; | 445 | + content: "\e7c3"; |
418 | } | 446 | } |
419 | 447 | ||
420 | .icon-dianliu2:before { | 448 | .icon-dianliu2:before { |
421 | - content: "\e7b0"; | 449 | + content: "\e7b0"; |
422 | } | 450 | } |
423 | 451 | ||
424 | .icon-huaweiyun:before { | 452 | .icon-huaweiyun:before { |
425 | - content: "\e7ca"; | 453 | + content: "\e7ca"; |
426 | } | 454 | } |
427 | 455 | ||
428 | .icon-dianchi:before { | 456 | .icon-dianchi:before { |
429 | - content: "\e624"; | 457 | + content: "\e624"; |
430 | } | 458 | } |
431 | 459 | ||
432 | .icon-chongdian:before { | 460 | .icon-chongdian:before { |
433 | - content: "\e627"; | 461 | + content: "\e627"; |
434 | } | 462 | } |
435 | 463 | ||
436 | .icon-5:before { | 464 | .icon-5:before { |
437 | - content: "\e628"; | 465 | + content: "\e628"; |
438 | } | 466 | } |
439 | 467 | ||
440 | .icon-tomcat:before { | 468 | .icon-tomcat:before { |
441 | - content: "\e629"; | 469 | + content: "\e629"; |
442 | } | 470 | } |
443 | 471 | ||
444 | .icon-ids:before { | 472 | .icon-ids:before { |
445 | - content: "\e6db"; | 473 | + content: "\e6db"; |
446 | } | 474 | } |
447 | 475 | ||
448 | .icon-fuzaijunheng:before { | 476 | .icon-fuzaijunheng:before { |
449 | - content: "\e62b"; | 477 | + content: "\e62b"; |
450 | } | 478 | } |
451 | 479 | ||
452 | .icon-xuniips:before { | 480 | .icon-xuniips:before { |
453 | - content: "\ea5d"; | 481 | + content: "\ea5d"; |
454 | } | 482 | } |
455 | 483 | ||
456 | .icon-xuniips1:before { | 484 | .icon-xuniips1:before { |
457 | - content: "\ea67"; | 485 | + content: "\ea67"; |
458 | } | 486 | } |
459 | 487 | ||
460 | .icon-fanghuoqiang37:before { | 488 | .icon-fanghuoqiang37:before { |
461 | - content: "\e728"; | 489 | + content: "\e728"; |
462 | } | 490 | } |
463 | 491 | ||
464 | .icon-vlb:before { | 492 | .icon-vlb:before { |
465 | - content: "\e729"; | 493 | + content: "\e729"; |
466 | } | 494 | } |
467 | 495 | ||
468 | .icon-shouye:before { | 496 | .icon-shouye:before { |
469 | - content: "\e636"; | 497 | + content: "\e636"; |
470 | } | 498 | } |
471 | 499 | ||
472 | .icon-shuizisunshixian:before { | 500 | .icon-shuizisunshixian:before { |
473 | - content: "\e6d6"; | 501 | + content: "\e6d6"; |
474 | } | 502 | } |
475 | 503 | ||
476 | .icon-ruqinjiance:before { | 504 | .icon-ruqinjiance:before { |
477 | - content: "\e65c"; | 505 | + content: "\e65c"; |
478 | } | 506 | } |
479 | 507 | ||
480 | .icon-jiaohuanji:before { | 508 | .icon-jiaohuanji:before { |
481 | - content: "\e836"; | 509 | + content: "\e836"; |
482 | } | 510 | } |
483 | 511 | ||
484 | .icon-jingwuicon_svg-:before { | 512 | .icon-jingwuicon_svg-:before { |
485 | - content: "\e65b"; | 513 | + content: "\e65b"; |
486 | } | 514 | } |
487 | 515 | ||
488 | .icon-tomcat1:before { | 516 | .icon-tomcat1:before { |
489 | - content: "\e62c"; | 517 | + content: "\e62c"; |
490 | } | 518 | } |
491 | 519 | ||
492 | .icon-jiaohuanji1:before { | 520 | .icon-jiaohuanji1:before { |
493 | - content: "\e62f"; | 521 | + content: "\e62f"; |
494 | } | 522 | } |
495 | 523 | ||
496 | .icon-oracleshujuku:before { | 524 | .icon-oracleshujuku:before { |
497 | - content: "\e630"; | 525 | + content: "\e630"; |
498 | } | 526 | } |
499 | 527 | ||
500 | .icon-fanghuoqiang:before { | 528 | .icon-fanghuoqiang:before { |
501 | - content: "\e648"; | 529 | + content: "\e648"; |
502 | } | 530 | } |
503 | 531 | ||
504 | .icon-fuwuqi:before { | 532 | .icon-fuwuqi:before { |
505 | - content: "\e631"; | 533 | + content: "\e631"; |
506 | } | 534 | } |
507 | 535 | ||
508 | .icon-fuwuqi1:before { | 536 | .icon-fuwuqi1:before { |
509 | - content: "\e632"; | 537 | + content: "\e632"; |
510 | } | 538 | } |
511 | 539 | ||
512 | .icon-kongtiao:before { | 540 | .icon-kongtiao:before { |
513 | - content: "\e67d"; | 541 | + content: "\e67d"; |
514 | } | 542 | } |
515 | 543 | ||
516 | .icon-yunshujuku:before { | 544 | .icon-yunshujuku:before { |
517 | - content: "\e744"; | 545 | + content: "\e744"; |
518 | } | 546 | } |
519 | 547 | ||
520 | .icon-dianchi1:before { | 548 | .icon-dianchi1:before { |
521 | - content: "\e633"; | 549 | + content: "\e633"; |
522 | } | 550 | } |
523 | 551 | ||
524 | .icon-Redis:before { | 552 | .icon-Redis:before { |
525 | - content: "\e6a2"; | 553 | + content: "\e6a2"; |
526 | } | 554 | } |
527 | 555 | ||
528 | .icon-icon-current:before { | 556 | .icon-icon-current:before { |
529 | - content: "\e634"; | 557 | + content: "\e634"; |
530 | } | 558 | } |
531 | 559 | ||
532 | .icon-oracleshujuku1:before { | 560 | .icon-oracleshujuku1:before { |
533 | - content: "\e635"; | 561 | + content: "\e635"; |
534 | } | 562 | } |
535 | 563 | ||
536 | .icon-DNS-xiugai:before { | 564 | .icon-DNS-xiugai:before { |
537 | - content: "\e637"; | 565 | + content: "\e637"; |
538 | } | 566 | } |
539 | 567 | ||
540 | .icon-wulifuwuqi:before { | 568 | .icon-wulifuwuqi:before { |
541 | - content: "\e6a8"; | 569 | + content: "\e6a8"; |
542 | } | 570 | } |
543 | 571 | ||
544 | .icon-dianchi2:before { | 572 | .icon-dianchi2:before { |
545 | - content: "\e638"; | 573 | + content: "\e638"; |
546 | } | 574 | } |
547 | 575 | ||
548 | .icon-daochu:before { | 576 | .icon-daochu:before { |
549 | - content: "\eabf"; | 577 | + content: "\eabf"; |
550 | } | 578 | } |
551 | 579 | ||
552 | .icon-daochu1:before { | 580 | .icon-daochu1:before { |
553 | - content: "\e623"; | 581 | + content: "\e623"; |
554 | } | 582 | } |
555 | 583 | ||
556 | .icon-database:before { | 584 | .icon-database:before { |
557 | - content: "\e940"; | 585 | + content: "\e940"; |
558 | } | 586 | } |
559 | 587 | ||
560 | .icon-OPCtiaobanjiquanxianshenqing:before { | 588 | .icon-OPCtiaobanjiquanxianshenqing:before { |
561 | - content: "\e620"; | 589 | + content: "\e620"; |
562 | } | 590 | } |
563 | 591 | ||
564 | .icon-assets:before { | 592 | .icon-assets:before { |
565 | - content: "\e615"; | 593 | + content: "\e615"; |
566 | } | 594 | } |
567 | 595 | ||
568 | .icon-shoucang:before { | 596 | .icon-shoucang:before { |
569 | - content: "\e61f"; | 597 | + content: "\e61f"; |
570 | } | 598 | } |
571 | 599 | ||
572 | .icon-wangluotuopu:before { | 600 | .icon-wangluotuopu:before { |
573 | - content: "\e835"; | 601 | + content: "\e835"; |
574 | } | 602 | } |
575 | 603 | ||
576 | .icon-shoucang1:before { | 604 | .icon-shoucang1:before { |
577 | - content: "\e622"; | 605 | + content: "\e622"; |
578 | } | 606 | } |
579 | 607 | ||
580 | .icon-xunizhuomian:before { | 608 | .icon-xunizhuomian:before { |
581 | - content: "\e613"; | 609 | + content: "\e613"; |
582 | } | 610 | } |
583 | 611 | ||
584 | .icon-baoleiji:before { | 612 | .icon-baoleiji:before { |
585 | - content: "\e63c"; | 613 | + content: "\e63c"; |
586 | } | 614 | } |
587 | 615 | ||
588 | .icon-baoleijisas:before { | 616 | .icon-baoleijisas:before { |
589 | - content: "\e61a"; | 617 | + content: "\e61a"; |
590 | } | 618 | } |
591 | 619 | ||
592 | .icon-baoleijishouquanshenqingliucheng:before { | 620 | .icon-baoleijishouquanshenqingliucheng:before { |
593 | - content: "\e657"; | 621 | + content: "\e657"; |
594 | } | 622 | } |
595 | 623 | ||
596 | .icon-xunizhuomian1:before { | 624 | .icon-xunizhuomian1:before { |
597 | - content: "\e63d"; | 625 | + content: "\e63d"; |
598 | } | 626 | } |
599 | 627 | ||
600 | .icon-shuiba2:before { | 628 | .icon-shuiba2:before { |
601 | - content: "\e905"; | 629 | + content: "\e905"; |
602 | } | 630 | } |
603 | 631 | ||
604 | .icon-xunizhuomian2:before { | 632 | .icon-xunizhuomian2:before { |
605 | - content: "\e675"; | 633 | + content: "\e675"; |
606 | } | 634 | } |
607 | 635 | ||
608 | .icon-gunshuiba:before { | 636 | .icon-gunshuiba:before { |
609 | - content: "\e614"; | 637 | + content: "\e614"; |
610 | } | 638 | } |
611 | 639 | ||
612 | .icon-line1:before { | 640 | .icon-line1:before { |
613 | - content: "\ebde"; | 641 | + content: "\ebde"; |
614 | } | 642 | } |
615 | 643 | ||
616 | .icon-line:before { | 644 | .icon-line:before { |
617 | - content: "\e7fd"; | 645 | + content: "\e7fd"; |
618 | } | 646 | } |
619 | 647 | ||
620 | .icon-luyouqi:before { | 648 | .icon-luyouqi:before { |
621 | - content: "\ec62"; | 649 | + content: "\ec62"; |
622 | } | 650 | } |
623 | 651 | ||
624 | .icon-sousuo:before { | 652 | .icon-sousuo:before { |
625 | - content: "\e752"; | 653 | + content: "\e752"; |
626 | } | 654 | } |
627 | 655 | ||
628 | .icon-icon--mubiaoku:before { | 656 | .icon-icon--mubiaoku:before { |
629 | - content: "\e610"; | 657 | + content: "\e610"; |
630 | } | 658 | } |
631 | 659 | ||
632 | .icon-icon--download:before { | 660 | .icon-icon--download:before { |
633 | - content: "\e612"; | 661 | + content: "\e612"; |
634 | } | 662 | } |
635 | 663 | ||
636 | .icon-icon--shangchuan:before { | 664 | .icon-icon--shangchuan:before { |
637 | - content: "\e616"; | 665 | + content: "\e616"; |
638 | } | 666 | } |
639 | 667 | ||
640 | .icon-icon--tongji:before { | 668 | .icon-icon--tongji:before { |
641 | - content: "\e61b"; | 669 | + content: "\e61b"; |
642 | } | 670 | } |
643 | 671 | ||
644 | .icon-icon--quanxian:before { | 672 | .icon-icon--quanxian:before { |
645 | - content: "\e61c"; | 673 | + content: "\e61c"; |
646 | } | 674 | } |
647 | 675 | ||
648 | .icon-icon--yingbing:before { | 676 | .icon-icon--yingbing:before { |
649 | - content: "\e61d"; | 677 | + content: "\e61d"; |
650 | } | 678 | } |
651 | 679 | ||
652 | .icon-icon--yes:before { | 680 | .icon-icon--yes:before { |
653 | - content: "\e61e"; | 681 | + content: "\e61e"; |
654 | } | 682 | } |
655 | 683 | ||
656 | .icon-icon--shanchu:before { | 684 | .icon-icon--shanchu:before { |
657 | - content: "\e621"; | 685 | + content: "\e621"; |
658 | } | 686 | } |
659 | 687 | ||
660 | .icon-icon-rizhi:before { | 688 | .icon-icon-rizhi:before { |
661 | - content: "\e625"; | 689 | + content: "\e625"; |
662 | } | 690 | } |
663 | 691 | ||
664 | .icon-icon-gaojing:before { | 692 | .icon-icon-gaojing:before { |
665 | - content: "\e626"; | 693 | + content: "\e626"; |
666 | } | 694 | } |
667 | 695 | ||
668 | .icon-icon-liucheng:before { | 696 | .icon-icon-liucheng:before { |
669 | - content: "\e62e"; | 697 | + content: "\e62e"; |
670 | } | 698 | } |
671 | 699 | ||
672 | .icon-yuangongchelianglika:before { | 700 | .icon-yuangongchelianglika:before { |
673 | - content: "\e65d"; | 701 | + content: "\e65d"; |
674 | } | 702 | } |
675 | 703 | ||
676 | .icon-yuangongcheliangjinr:before { | 704 | .icon-yuangongcheliangjinr:before { |
677 | - content: "\e65e"; | 705 | + content: "\e65e"; |
678 | } | 706 | } |
679 | 707 | ||
680 | .icon-lunxun:before { | 708 | .icon-lunxun:before { |
681 | - content: "\e660"; | 709 | + content: "\e660"; |
682 | } | 710 | } |
683 | 711 | ||
684 | .icon-haoyou:before { | 712 | .icon-haoyou:before { |
685 | - content: "\e60f"; | 713 | + content: "\e60f"; |
686 | } | 714 | } |
687 | 715 | ||
688 | .icon-yonghu:before { | 716 | .icon-yonghu:before { |
689 | - content: "\e8c8"; | 717 | + content: "\e8c8"; |
690 | } | 718 | } |
691 | 719 | ||
692 | .icon-jiaoseguanli:before { | 720 | .icon-jiaoseguanli:before { |
693 | - content: "\ea62"; | 721 | + content: "\ea62"; |
694 | } | 722 | } |
695 | 723 | ||
696 | .icon-liebiaomoshi:before { | 724 | .icon-liebiaomoshi:before { |
697 | - content: "\e60d"; | 725 | + content: "\e60d"; |
698 | } | 726 | } |
699 | 727 | ||
700 | .icon-liebiao:before { | 728 | .icon-liebiao:before { |
701 | - content: "\e62d"; | 729 | + content: "\e62d"; |
702 | } | 730 | } |
703 | 731 | ||
704 | .icon-bt_duigou_B:before { | 732 | .icon-bt_duigou_B:before { |
705 | - content: "\e60c"; | 733 | + content: "\e60c"; |
706 | } | 734 | } |
707 | 735 | ||
708 | .icon-duigouxuanzhong:before { | 736 | .icon-duigouxuanzhong:before { |
709 | - content: "\e617"; | 737 | + content: "\e617"; |
710 | } | 738 | } |
711 | 739 | ||
712 | .icon-confirm-line:before { | 740 | .icon-confirm-line:before { |
713 | - content: "\e62a"; | 741 | + content: "\e62a"; |
714 | } | 742 | } |
715 | 743 | ||
716 | .icon-duigou_kuai:before { | 744 | .icon-duigou_kuai:before { |
717 | - content: "\e60e"; | 745 | + content: "\e60e"; |
718 | } | 746 | } |
719 | 747 | ||
720 | .icon-duigou3:before { | 748 | .icon-duigou3:before { |
721 | - content: "\e640"; | 749 | + content: "\e640"; |
722 | } | 750 | } |
723 | 751 | ||
724 | .icon-cha:before { | 752 | .icon-cha:before { |
725 | - content: "\e686"; | 753 | + content: "\e686"; |
726 | } | 754 | } |
727 | 755 | ||
728 | .icon-duigou4:before { | 756 | .icon-duigou4:before { |
729 | - content: "\e6e7"; | 757 | + content: "\e6e7"; |
730 | } | 758 | } |
731 | 759 | ||
732 | .icon-guifandaohanglancha:before { | 760 | .icon-guifandaohanglancha:before { |
733 | - content: "\e618"; | 761 | + content: "\e618"; |
734 | } | 762 | } |
735 | 763 | ||
736 | .icon-ziyuan:before { | 764 | .icon-ziyuan:before { |
737 | - content: "\e654"; | 765 | + content: "\e654"; |
738 | } | 766 | } |
739 | 767 | ||
740 | .icon-duigou:before { | 768 | .icon-duigou:before { |
741 | - content: "\e730"; | 769 | + content: "\e730"; |
742 | } | 770 | } |
743 | 771 | ||
744 | .icon-duigou1:before { | 772 | .icon-duigou1:before { |
745 | - content: "\e733"; | 773 | + content: "\e733"; |
746 | } | 774 | } |
747 | 775 | ||
748 | .icon-duigou2:before { | 776 | .icon-duigou2:before { |
749 | - content: "\e6b5"; | 777 | + content: "\e6b5"; |
750 | } | 778 | } |
751 | 779 | ||
752 | .icon-bt_duigou_a:before { | 780 | .icon-bt_duigou_a:before { |
753 | - content: "\e60b"; | 781 | + content: "\e60b"; |
754 | } | 782 | } |
755 | 783 | ||
756 | .icon-wenjian:before { | 784 | .icon-wenjian:before { |
757 | - content: "\e600"; | 785 | + content: "\e600"; |
758 | } | 786 | } |
759 | 787 | ||
760 | .icon-bianjiwenjian:before { | 788 | .icon-bianjiwenjian:before { |
761 | - content: "\e601"; | 789 | + content: "\e601"; |
762 | } | 790 | } |
763 | 791 | ||
764 | .icon-dengdaiwenjian:before { | 792 | .icon-dengdaiwenjian:before { |
765 | - content: "\e602"; | 793 | + content: "\e602"; |
766 | } | 794 | } |
767 | 795 | ||
768 | .icon-shanchuwenjian:before { | 796 | .icon-shanchuwenjian:before { |
769 | - content: "\e603"; | 797 | + content: "\e603"; |
770 | } | 798 | } |
771 | 799 | ||
772 | .icon-jianqiewenjian:before { | 800 | .icon-jianqiewenjian:before { |
773 | - content: "\e604"; | 801 | + content: "\e604"; |
774 | } | 802 | } |
775 | 803 | ||
776 | .icon-wenjianjia:before { | 804 | .icon-wenjianjia:before { |
777 | - content: "\e605"; | 805 | + content: "\e605"; |
778 | } | 806 | } |
779 | 807 | ||
780 | .icon-shanchuwenjianjia:before { | 808 | .icon-shanchuwenjianjia:before { |
781 | - content: "\e606"; | 809 | + content: "\e606"; |
782 | } | 810 | } |
783 | 811 | ||
784 | .icon-weidaqiadewenjianjia:before { | 812 | .icon-weidaqiadewenjianjia:before { |
785 | - content: "\e607"; | 813 | + content: "\e607"; |
786 | } | 814 | } |
787 | 815 | ||
788 | .icon-ziliaoku:before { | 816 | .icon-ziliaoku:before { |
789 | - content: "\e608"; | 817 | + content: "\e608"; |
790 | } | 818 | } |
791 | 819 | ||
792 | .icon-wenben:before { | 820 | .icon-wenben:before { |
793 | - content: "\e609"; | 821 | + content: "\e609"; |
794 | } | 822 | } |
795 | 823 | ||
796 | .icon-daimawenjian:before { | 824 | .icon-daimawenjian:before { |
797 | - content: "\e60a"; | 825 | + content: "\e60a"; |
798 | } | 826 | } |
799 | 827 | ||
800 | .icon-excel:before { | 828 | .icon-excel:before { |
801 | - content: "\e611"; | 829 | + content: "\e611"; |
802 | } | 830 | } |
803 | 831 | ||
804 | .icon-24gf-fileEmpty:before { | 832 | .icon-24gf-fileEmpty:before { |
805 | - content: "\eac3"; | 833 | + content: "\eac3"; |
806 | } | 834 | } |
807 | 835 | ||
808 | .icon-24gf-fileText:before { | 836 | .icon-24gf-fileText:before { |
809 | - content: "\eac4"; | 837 | + content: "\eac4"; |
810 | } | 838 | } |
811 | 839 | ||
812 | .icon-24gf-folderHeart:before { | 840 | .icon-24gf-folderHeart:before { |
813 | - content: "\eac5"; | 841 | + content: "\eac5"; |
814 | } | 842 | } |
815 | 843 | ||
816 | .icon-24gf-folderStar:before { | 844 | .icon-24gf-folderStar:before { |
817 | - content: "\eac6"; | 845 | + content: "\eac6"; |
818 | } | 846 | } |
819 | 847 | ||
820 | .icon-24gf-folderOpen:before { | 848 | .icon-24gf-folderOpen:before { |
821 | - content: "\eac7"; | 849 | + content: "\eac7"; |
822 | } | 850 | } |
823 | 851 | ||
824 | .icon-wenjian1:before { | 852 | .icon-wenjian1:before { |
825 | - content: "\e619"; | 853 | + content: "\e619"; |
826 | } | 854 | } |
827 | 855 | ||
828 | .icon-image:before { | 856 | .icon-image:before { |
829 | - content: "\ea40"; | 857 | + content: "\ea40"; |
830 | } | 858 | } |
831 | 859 | ||
832 | .icon-image-full:before { | 860 | .icon-image-full:before { |
833 | - content: "\ea41"; | 861 | + content: "\ea41"; |
834 | } | 862 | } |
835 | 863 | ||
836 | .icon-json-full:before { | 864 | .icon-json-full:before { |
837 | - content: "\ea42"; | 865 | + content: "\ea42"; |
838 | } | 866 | } |
839 | 867 | ||
840 | .icon-json:before { | 868 | .icon-json:before { |
841 | - content: "\ea43"; | 869 | + content: "\ea43"; |
842 | } | 870 | } |
843 | 871 | ||
844 | .icon-pdf:before { | 872 | .icon-pdf:before { |
845 | - content: "\ea44"; | 873 | + content: "\ea44"; |
846 | } | 874 | } |
847 | 875 | ||
848 | .icon-pdf-full:before { | 876 | .icon-pdf-full:before { |
849 | - content: "\ea45"; | 877 | + content: "\ea45"; |
850 | } | 878 | } |
851 | 879 | ||
852 | .icon-txt-full:before { | 880 | .icon-txt-full:before { |
853 | - content: "\ea46"; | 881 | + content: "\ea46"; |
854 | } | 882 | } |
855 | 883 | ||
856 | .icon-txt:before { | 884 | .icon-txt:before { |
857 | - content: "\ea47"; | 885 | + content: "\ea47"; |
858 | } | 886 | } |
859 | 887 | ||
860 | .icon-excel1:before { | 888 | .icon-excel1:before { |
861 | - content: "\ea48"; | 889 | + content: "\ea48"; |
862 | } | 890 | } |
863 | 891 | ||
864 | .icon-excel-full:before { | 892 | .icon-excel-full:before { |
865 | - content: "\ea49"; | 893 | + content: "\ea49"; |
866 | } | 894 | } |
867 | 895 | ||
868 | .icon-ppt:before { | 896 | .icon-ppt:before { |
869 | - content: "\ea4a"; | 897 | + content: "\ea4a"; |
870 | } | 898 | } |
871 | 899 | ||
872 | .icon-ppt-full:before { | 900 | .icon-ppt-full:before { |
873 | - content: "\ea4b"; | 901 | + content: "\ea4b"; |
874 | } | 902 | } |
875 | 903 | ||
876 | .icon-word-full:before { | 904 | .icon-word-full:before { |
877 | - content: "\ea4c"; | 905 | + content: "\ea4c"; |
878 | } | 906 | } |
879 | 907 | ||
880 | .icon-word:before { | 908 | .icon-word:before { |
881 | - content: "\ea4d"; | 909 | + content: "\ea4d"; |
882 | } | 910 | } |
883 | 911 | ||
884 | .icon-audio-full:before { | 912 | .icon-audio-full:before { |
885 | - content: "\ea4e"; | 913 | + content: "\ea4e"; |
886 | } | 914 | } |
887 | 915 | ||
888 | .icon-audio:before { | 916 | .icon-audio:before { |
889 | - content: "\ea4f"; | 917 | + content: "\ea4f"; |
890 | } | 918 | } |
891 | 919 | ||
892 | .icon-avi-full:before { | 920 | .icon-avi-full:before { |
893 | - content: "\ea50"; | 921 | + content: "\ea50"; |
894 | } | 922 | } |
895 | 923 | ||
896 | .icon-avi:before { | 924 | .icon-avi:before { |
897 | - content: "\ea51"; | 925 | + content: "\ea51"; |
898 | } | 926 | } |
899 | 927 | ||
900 | .icon-zip-full:before { | 928 | .icon-zip-full:before { |
901 | - content: "\ea52"; | 929 | + content: "\ea52"; |
902 | } | 930 | } |
903 | 931 | ||
904 | .icon-zip:before { | 932 | .icon-zip:before { |
905 | - content: "\ea53"; | 933 | + content: "\ea53"; |
906 | } | 934 | } |
907 | 935 |
This diff could not be displayed because it is too large.
@@ -6,6 +6,55 @@ | @@ -6,6 +6,55 @@ | ||
6 | "description": "", | 6 | "description": "", |
7 | "glyphs": [ | 7 | "glyphs": [ |
8 | { | 8 | { |
9 | + "icon_id": "577891", | ||
10 | + "name": "提示", | ||
11 | + "font_class": "tishi", | ||
12 | + "unicode": "e67c", | ||
13 | + "unicode_decimal": 59004 | ||
14 | + }, | ||
15 | + { | ||
16 | + "icon_id": "4933869", | ||
17 | + "name": "点", | ||
18 | + "font_class": "dian", | ||
19 | + "unicode": "ec1e", | ||
20 | + "unicode_decimal": 60446 | ||
21 | + }, | ||
22 | + { | ||
23 | + "icon_id": "1727447", | ||
24 | + "name": "216更多-竖向", | ||
25 | + "font_class": "gengduo-shuxiang", | ||
26 | + "unicode": "e8c4", | ||
27 | + "unicode_decimal": 59588 | ||
28 | + }, | ||
29 | + { | ||
30 | + "icon_id": "1206404", | ||
31 | + "name": "微信", | ||
32 | + "font_class": "weixin", | ||
33 | + "unicode": "e67b", | ||
34 | + "unicode_decimal": 59003 | ||
35 | + }, | ||
36 | + { | ||
37 | + "icon_id": "4552970", | ||
38 | + "name": "邮箱", | ||
39 | + "font_class": "youxiang", | ||
40 | + "unicode": "e908", | ||
41 | + "unicode_decimal": 59656 | ||
42 | + }, | ||
43 | + { | ||
44 | + "icon_id": "5387727", | ||
45 | + "name": "短信群发", | ||
46 | + "font_class": "duanxinqunfa", | ||
47 | + "unicode": "eb42", | ||
48 | + "unicode_decimal": 60226 | ||
49 | + }, | ||
50 | + { | ||
51 | + "icon_id": "742139", | ||
52 | + "name": "业务资源拓扑", | ||
53 | + "font_class": "yewuziyuantuopu", | ||
54 | + "unicode": "ea6f", | ||
55 | + "unicode_decimal": 60015 | ||
56 | + }, | ||
57 | + { | ||
9 | "icon_id": "3868284", | 58 | "icon_id": "3868284", |
10 | "name": "仪表盘", | 59 | "name": "仪表盘", |
11 | "font_class": "yibiaopan", | 60 | "font_class": "yibiaopan", |
No preview for this file type
No preview for this file type
No preview for this file type
1 | -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):t.dayjs=e()}(this,function(){"use strict";const t=60,e=60*t,s=24*e,r=7*s,n=(t,e,s)=>!t||t.length>=e?t:`${Array(e+1-t.length).join(s)}${t}`;class i{constructor(t){this.utc=!1;const e=this.parseConfig(t);this.date=new Date(e),this.timeZone=this.date.getTimezoneOffset()/60,this.timeZoneString=n(String(-1*this.timeZone).replace(/^(.)?(\d)/,"$10$200"),5,"+"),this.mYear=this.date.getFullYear(),this.mMonth=this.date.getMonth(),this.mDay=this.date.getDate(),this.mWeek=this.date.getDay(),this.mHour=this.date.getHours(),this.mMinute=this.date.getMinutes(),this.mSecond=this.date.getSeconds()}parseConfig(t){if(!t)return new Date;if(t instanceof Date)return t;if(/^(\d){8}$/.test(t)){return this.utc=!0,`${t.substr(0,4)}-${t.substr(4,2)}-${t.substr(6,2)}`}return t}year(){return this.mYear}month(){return this.mMonth}unix(){const t=this.utc?60*this.timeZone*60*1e3:0;return Math.floor((this.date.getTime()+t)/1e3)}toString(){return this.date.toUTCString()}startOf(t){switch(t){case"year":return new i(new Date(this.year(),0,1));case"month":return new i(new Date(this.year(),this.month(),1));default:return this}}add(n,a){let h;switch(a){case"m":case"minutes":h=t;break;case"h":case"hours":h=e;break;case"d":case"days":h=s;break;case"w":case"weeks":h=r;break;default:h=1}const u=this.unix()+n*h;return new i(1e3*u)}subtract(t,e){return this.add(-1*t,e)}format(t="YYYY-MM-DDTHH:mm:ssZ"){const e=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];return t.replace(/Y{2,4}|M{1,2}|D{1,2}|d{1,4}|H{1,2}|m{1,2}|s{1,2}|Z{1,2}/g,t=>{switch(t){case"YY":return String(this.mYear).slice(-2);case"YYYY":return String(this.mYear);case"M":return String(this.mMonth+1);case"MM":return n(String(this.mMonth+1),2,"0");case"D":return String(this.mDay);case"DD":return n(String(this.mDay),2,"0");case"d":return String(this.mWeek);case"dddd":return e[this.mWeek];case"H":return String(this.mHour);case"HH":return n(String(this.mHour),2,"0");case"m":return String(this.mMinute);case"mm":return n(String(this.mMinute),2,"0");case"s":return String(this.mSecond);case"ss":return n(String(this.mSecond),2,"0");case"Z":return`${this.timeZoneString.slice(0,-2)}:00`;case"ZZ":return this.timeZoneString;default:return t}})}}return t=>new i(t)}); | 1 | +!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):t.dayjs=n()}(this,function(){"use strict";var t="millisecond",n="second",e="minute",r="hour",i="day",s="week",u="month",o="quarter",a="year",h=/^(\d{4})-?(\d{1,2})-?(\d{0,2})[^0-9]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?.?(\d{1,3})?$/,f=/\[([^\]]+)]|Y{2,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,c=function(t,n,e){var r=String(t);return!r||r.length>=n?t:""+Array(n+1-r.length).join(e)+t},d={s:c,z:function(t){var n=-t.utcOffset(),e=Math.abs(n),r=Math.floor(e/60),i=e%60;return(n<=0?"+":"-")+c(r,2,"0")+":"+c(i,2,"0")},m:function(t,n){var e=12*(n.year()-t.year())+(n.month()-t.month()),r=t.clone().add(e,u),i=n-r<0,s=t.clone().add(e+(i?-1:1),u);return Number(-(e+(n-r)/(i?r-s:s-r))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(h){return{M:u,y:a,w:s,d:i,D:"date",h:r,m:e,s:n,ms:t,Q:o}[h]||String(h||"").toLowerCase().replace(/s$/,"")},u:function(t){return void 0===t}},$={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_")},l="en",m={};m[l]=$;var y=function(t){return t instanceof v},M=function(t,n,e){var r;if(!t)return l;if("string"==typeof t)m[t]&&(r=t),n&&(m[t]=n,r=t);else{var i=t.name;m[i]=t,r=i}return e||(l=r),r},g=function(t,n,e){if(y(t))return t.clone();var r=n?"string"==typeof n?{format:n,pl:e}:n:{};return r.date=t,new v(r)},D=d;D.l=M,D.i=y,D.w=function(t,n){return g(t,{locale:n.$L,utc:n.$u,$offset:n.$offset})};var v=function(){function c(t){this.$L=this.$L||M(t.locale,null,!0),this.parse(t)}var d=c.prototype;return d.parse=function(t){this.$d=function(t){var n=t.date,e=t.utc;if(null===n)return new Date(NaN);if(D.u(n))return new Date;if(n instanceof Date)return new Date(n);if("string"==typeof n&&!/Z$/i.test(n)){var r=n.match(h);if(r)return e?new Date(Date.UTC(r[1],r[2]-1,r[3]||1,r[4]||0,r[5]||0,r[6]||0,r[7]||0)):new Date(r[1],r[2]-1,r[3]||1,r[4]||0,r[5]||0,r[6]||0,r[7]||0)}return new Date(n)}(t),this.init()},d.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},d.$utils=function(){return D},d.isValid=function(){return!("Invalid Date"===this.$d.toString())},d.isSame=function(t,n){var e=g(t);return this.startOf(n)<=e&&e<=this.endOf(n)},d.isAfter=function(t,n){return g(t)<this.startOf(n)},d.isBefore=function(t,n){return this.endOf(n)<g(t)},d.$g=function(t,n,e){return D.u(t)?this[n]:this.set(e,t)},d.year=function(t){return this.$g(t,"$y",a)},d.month=function(t){return this.$g(t,"$M",u)},d.day=function(t){return this.$g(t,"$W",i)},d.date=function(t){return this.$g(t,"$D","date")},d.hour=function(t){return this.$g(t,"$H",r)},d.minute=function(t){return this.$g(t,"$m",e)},d.second=function(t){return this.$g(t,"$s",n)},d.millisecond=function(n){return this.$g(n,"$ms",t)},d.unix=function(){return Math.floor(this.valueOf()/1e3)},d.valueOf=function(){return this.$d.getTime()},d.startOf=function(t,o){var h=this,f=!!D.u(o)||o,c=D.p(t),d=function(t,n){var e=D.w(h.$u?Date.UTC(h.$y,n,t):new Date(h.$y,n,t),h);return f?e:e.endOf(i)},$=function(t,n){return D.w(h.toDate()[t].apply(h.toDate(),(f?[0,0,0,0]:[23,59,59,999]).slice(n)),h)},l=this.$W,m=this.$M,y=this.$D,M="set"+(this.$u?"UTC":"");switch(c){case a:return f?d(1,0):d(31,11);case u:return f?d(1,m):d(0,m+1);case s:var g=this.$locale().weekStart||0,v=(l<g?l+7:l)-g;return d(f?y-v:y+(6-v),m);case i:case"date":return $(M+"Hours",0);case r:return $(M+"Minutes",1);case e:return $(M+"Seconds",2);case n:return $(M+"Milliseconds",3);default:return this.clone()}},d.endOf=function(t){return this.startOf(t,!1)},d.$set=function(s,o){var h,f=D.p(s),c="set"+(this.$u?"UTC":""),d=(h={},h[i]=c+"Date",h.date=c+"Date",h[u]=c+"Month",h[a]=c+"FullYear",h[r]=c+"Hours",h[e]=c+"Minutes",h[n]=c+"Seconds",h[t]=c+"Milliseconds",h)[f],$=f===i?this.$D+(o-this.$W):o;if(f===u||f===a){var l=this.clone().set("date",1);l.$d[d]($),l.init(),this.$d=l.set("date",Math.min(this.$D,l.daysInMonth())).toDate()}else d&&this.$d[d]($);return this.init(),this},d.set=function(t,n){return this.clone().$set(t,n)},d.get=function(t){return this[D.p(t)]()},d.add=function(t,o){var h,f=this;t=Number(t);var c=D.p(o),d=function(n){var e=g(f);return D.w(e.date(e.date()+Math.round(n*t)),f)};if(c===u)return this.set(u,this.$M+t);if(c===a)return this.set(a,this.$y+t);if(c===i)return d(1);if(c===s)return d(7);var $=(h={},h[e]=6e4,h[r]=36e5,h[n]=1e3,h)[c]||1,l=this.$d.getTime()+t*$;return D.w(l,this)},d.subtract=function(t,n){return this.add(-1*t,n)},d.format=function(t){var n=this;if(!this.isValid())return"Invalid Date";var e=t||"YYYY-MM-DDTHH:mm:ssZ",r=D.z(this),i=this.$locale(),s=this.$H,u=this.$m,o=this.$M,a=i.weekdays,h=i.months,c=function(t,r,i,s){return t&&(t[r]||t(n,e))||i[r].substr(0,s)},d=function(t){return D.s(s%12||12,t,"0")},$=i.meridiem||function(t,n,e){var r=t<12?"AM":"PM";return e?r.toLowerCase():r},l={YY:String(this.$y).slice(-2),YYYY:this.$y,M:o+1,MM:D.s(o+1,2,"0"),MMM:c(i.monthsShort,o,h,3),MMMM:h[o]||h(this,e),D:this.$D,DD:D.s(this.$D,2,"0"),d:String(this.$W),dd:c(i.weekdaysMin,this.$W,a,2),ddd:c(i.weekdaysShort,this.$W,a,3),dddd:a[this.$W],H:String(s),HH:D.s(s,2,"0"),h:d(1),hh:d(2),a:$(s,u,!0),A:$(s,u,!1),m:String(u),mm:D.s(u,2,"0"),s:String(this.$s),ss:D.s(this.$s,2,"0"),SSS:D.s(this.$ms,3,"0"),Z:r};return e.replace(f,function(t,n){return n||l[t]||r.replace(":","")})},d.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},d.diff=function(t,h,f){var c,d=D.p(h),$=g(t),l=6e4*($.utcOffset()-this.utcOffset()),m=this-$,y=D.m(this,$);return y=(c={},c[a]=y/12,c[u]=y,c[o]=y/3,c[s]=(m-l)/6048e5,c[i]=(m-l)/864e5,c[r]=m/36e5,c[e]=m/6e4,c[n]=m/1e3,c)[d]||m,f?y:D.a(y)},d.daysInMonth=function(){return this.endOf(u).$D},d.$locale=function(){return m[this.$L]},d.locale=function(t,n){if(!t)return this.$L;var e=this.clone(),r=M(t,n,!0);return r&&(e.$L=r),e},d.clone=function(){return D.w(this.$d,this)},d.toDate=function(){return new Date(this.valueOf())},d.toJSON=function(){return this.isValid()?this.toISOString():null},d.toISOString=function(){return this.$d.toISOString()},d.toString=function(){return this.$d.toUTCString()},c}();return g.prototype=v.prototype,g.extend=function(t,n){return t(n,v,g),g},g.locale=M,g.isDayjs=y,g.unix=function(t){return g(1e3*t)},g.en=m[l],g.Ls=m,g}); |
1 | +/* Disable minification (remove `.min` from URL path) for more info */ | ||
2 | + | ||
3 | +(function(undefined) {var _mutation=function(){function e(e){return"function"==typeof Node?e instanceof Node:e&&"object"==typeof e&&e.nodeName&&e.nodeType>=1&&e.nodeType<=12}return function(n){if(1===n.length)return e(n[0])?n[0]:document.createTextNode(n[0]+"");for(var t=document.createDocumentFragment(),o=0;o<n.length;o++)t.appendChild(e(n[o])?n[o]:document.createTextNode(n[o]+""));return t}}();DocumentFragment.prototype.append=function(){this.appendChild(_mutation(arguments))};DocumentFragment.prototype.prepend=function(){this.insertBefore(_mutation(arguments),this.firstChild)};Document.prototype.after=Element.prototype.after=function(){if(this.parentNode){for(var t=Array.prototype.slice.call(arguments),e=this.nextSibling,o=e?t.indexOf(e):-1;-1!==o&&(e=e.nextSibling);)o=t.indexOf(e);this.parentNode.insertBefore(_mutation(arguments),e)}},"Text"in this&&(Text.prototype.after=Element.prototype.after);Document.prototype.append=Element.prototype.append=function(){this.appendChild(_mutation(arguments))};Document.prototype.before=Element.prototype.before=function(){if(this.parentNode){for(var e=Array.prototype.slice.call(arguments),t=this.previousSibling,o=t?e.indexOf(t):-1;-1!==o&&(t=t.previousSibling);)o=e.indexOf(t);this.parentNode.insertBefore(_mutation(arguments),t?t.nextSibling:this.parentNode.firstChild)}},"Text"in this&&(Text.prototype.before=Element.prototype.before);Element.prototype.matches=Element.prototype.webkitMatchesSelector||Element.prototype.oMatchesSelector||Element.prototype.msMatchesSelector||Element.prototype.mozMatchesSelector||function(e){for(var t=this,o=(t.document||t.ownerDocument).querySelectorAll(e),r=0;o[r]&&o[r]!==t;)++r;return!!o[r]};Element.prototype.closest=function(e){for(var n=this;n;){if(n.matches(e))return n;n="SVGElement"in window&&n instanceof SVGElement?n.parentNode:n.parentElement}return null};Document.prototype.prepend=Element.prototype.prepend=function(){this.insertBefore(_mutation(arguments),this.firstChild)};Document.prototype.replaceWith=Element.prototype.replaceWith=function(){this.parentNode&&this.parentNode.replaceChild(_mutation(arguments),this)},"Text"in this&&(Text.prototype.replaceWith=Element.prototype.replaceWith);!function(e){"use strict";function t(t){return!!t&&("Symbol"in e&&"iterator"in e.Symbol&&"function"==typeof t[Symbol.iterator]||!!Array.isArray(t))}function n(e){return"from"in Array?Array.from(e):Array.prototype.slice.call(e)}!function(){function r(e){var t="",n=!0;return e.forEach(function(e){var r=encodeURIComponent(e.name),a=encodeURIComponent(e.value);n||(t+="&"),t+=r+"="+a,n=!1}),t.replace(/%20/g,"+")}function a(e,t){var n=e.split("&");t&&-1===n[0].indexOf("=")&&(n[0]="="+n[0]);var r=[];n.forEach(function(e){if(0!==e.length){var t=e.indexOf("=");if(-1!==t)var n=e.substring(0,t),a=e.substring(t+1);else n=e,a="";n=n.replace(/\+/g," "),a=a.replace(/\+/g," "),r.push({name:n,value:a})}});var a=[];return r.forEach(function(e){a.push({name:decodeURIComponent(e.name),value:decodeURIComponent(e.value)})}),a}function i(e){if(c)return new s(e);var t=document.createElement("a");return t.href=e,t}function o(e){var i=this;this._list=[],e===undefined||null===e||(e instanceof o?this._list=a(String(e)):"object"==typeof e&&t(e)?n(e).forEach(function(e){if(!t(e))throw TypeError();var r=n(e);if(2!==r.length)throw TypeError();i._list.push({name:String(r[0]),value:String(r[1])})}):"object"==typeof e&&e?Object.keys(e).forEach(function(t){i._list.push({name:String(t),value:String(e[t])})}):(e=String(e),"?"===e.substring(0,1)&&(e=e.substring(1)),this._list=a(e))),this._url_object=null,this._setList=function(e){u||(i._list=e)};var u=!1;this._update_steps=function(){u||(u=!0,i._url_object&&("about:"===i._url_object.protocol&&-1!==i._url_object.pathname.indexOf("?")&&(i._url_object.pathname=i._url_object.pathname.split("?")[0]),i._url_object.search=r(i._list),u=!1))}}function u(e,t){var n=0;this.next=function(){if(n>=e.length)return{done:!0,value:undefined};var r=e[n++];return{done:!1,value:"key"===t?r.name:"value"===t?r.value:[r.name,r.value]}}}function l(t,n){function r(){var e=l.href.replace(/#$|\?$|\?(?=#)/g,"");l.href!==e&&(l.href=e)}function u(){m._setList(l.search?a(l.search.substring(1)):[]),m._update_steps()}if(!(this instanceof e.URL))throw new TypeError("Failed to construct 'URL': Please use the 'new' operator.");n&&(t=function(){if(c)return new s(t,n).href;var e;try{var r;if("[object OperaMini]"===Object.prototype.toString.call(window.operamini)?(e=document.createElement("iframe"),e.style.display="none",document.documentElement.appendChild(e),r=e.contentWindow.document):document.implementation&&document.implementation.createHTMLDocument?r=document.implementation.createHTMLDocument(""):document.implementation&&document.implementation.createDocument?(r=document.implementation.createDocument("http://www.w3.org/1999/xhtml","html",null),r.documentElement.appendChild(r.createElement("head")),r.documentElement.appendChild(r.createElement("body"))):window.ActiveXObject&&(r=new window.ActiveXObject("htmlfile"),r.write("<head></head><body></body>"),r.close()),!r)throw Error("base not supported");var a=r.createElement("base");a.href=n,r.getElementsByTagName("head")[0].appendChild(a);var i=r.createElement("a");return i.href=t,i.href}finally{e&&e.parentNode.removeChild(e)}}());var l=i(t||""),f=function(){if(!("defineProperties"in Object))return!1;try{var e={};return Object.defineProperties(e,{prop:{get:function(){return!0}}}),e.prop}catch(t){return!1}}(),h=f?this:document.createElement("a"),m=new o(l.search?l.search.substring(1):null);return m._url_object=h,Object.defineProperties(h,{href:{get:function(){return l.href},set:function(e){l.href=e,r(),u()},enumerable:!0,configurable:!0},origin:{get:function(){return"origin"in l?l.origin:this.protocol+"//"+this.host},enumerable:!0,configurable:!0},protocol:{get:function(){return l.protocol},set:function(e){l.protocol=e},enumerable:!0,configurable:!0},username:{get:function(){return l.username},set:function(e){l.username=e},enumerable:!0,configurable:!0},password:{get:function(){return l.password},set:function(e){l.password=e},enumerable:!0,configurable:!0},host:{get:function(){var e={"http:":/:80$/,"https:":/:443$/,"ftp:":/:21$/}[l.protocol];return e?l.host.replace(e,""):l.host},set:function(e){l.host=e},enumerable:!0,configurable:!0},hostname:{get:function(){return l.hostname},set:function(e){l.hostname=e},enumerable:!0,configurable:!0},port:{get:function(){return l.port},set:function(e){l.port=e},enumerable:!0,configurable:!0},pathname:{get:function(){return"/"!==l.pathname.charAt(0)?"/"+l.pathname:l.pathname},set:function(e){l.pathname=e},enumerable:!0,configurable:!0},search:{get:function(){return l.search},set:function(e){l.search!==e&&(l.search=e,r(),u())},enumerable:!0,configurable:!0},searchParams:{get:function(){return m},enumerable:!0,configurable:!0},hash:{get:function(){return l.hash},set:function(e){l.hash=e,r()},enumerable:!0,configurable:!0},toString:{value:function(){return l.toString()},enumerable:!1,configurable:!0},valueOf:{value:function(){return l.valueOf()},enumerable:!1,configurable:!0}}),h}var c,s=e.URL;try{if(s){if("searchParams"in(c=new e.URL("http://example.com")))return;"href"in c||(c=undefined)}}catch(h){}if(Object.defineProperties(o.prototype,{append:{value:function(e,t){this._list.push({name:e,value:t}),this._update_steps()},writable:!0,enumerable:!0,configurable:!0},"delete":{value:function(e){for(var t=0;t<this._list.length;)this._list[t].name===e?this._list.splice(t,1):++t;this._update_steps()},writable:!0,enumerable:!0,configurable:!0},get:{value:function(e){for(var t=0;t<this._list.length;++t)if(this._list[t].name===e)return this._list[t].value;return null},writable:!0,enumerable:!0,configurable:!0},getAll:{value:function(e){for(var t=[],n=0;n<this._list.length;++n)this._list[n].name===e&&t.push(this._list[n].value);return t},writable:!0,enumerable:!0,configurable:!0},has:{value:function(e){for(var t=0;t<this._list.length;++t)if(this._list[t].name===e)return!0;return!1},writable:!0,enumerable:!0,configurable:!0},set:{value:function(e,t){for(var n=!1,r=0;r<this._list.length;)this._list[r].name===e?n?this._list.splice(r,1):(this._list[r].value=t,n=!0,++r):++r;n||this._list.push({name:e,value:t}),this._update_steps()},writable:!0,enumerable:!0,configurable:!0},entries:{value:function(){return new u(this._list,"key+value")},writable:!0,enumerable:!0,configurable:!0},keys:{value:function(){return new u(this._list,"key")},writable:!0,enumerable:!0,configurable:!0},values:{value:function(){return new u(this._list,"value")},writable:!0,enumerable:!0,configurable:!0},forEach:{value:function(e){var t=arguments.length>1?arguments[1]:undefined;this._list.forEach(function(n,r){e.call(t,n.value,n.name)})},writable:!0,enumerable:!0,configurable:!0},toString:{value:function(){return r(this._list)},writable:!0,enumerable:!1,configurable:!0}}),"Symbol"in e&&"iterator"in e.Symbol&&(Object.defineProperty(o.prototype,e.Symbol.iterator,{value:o.prototype.entries,writable:!0,enumerable:!0,configurable:!0}),Object.defineProperty(u.prototype,e.Symbol.iterator,{value:function(){return this},writable:!0,enumerable:!0,configurable:!0})),s)for(var f in s)s.hasOwnProperty(f)&&"function"==typeof s[f]&&(l[f]=s[f]);e.URL=l,e.URLSearchParams=o}(),function(){if("1"!==new e.URLSearchParams([["a",1]]).get("a")||"1"!==new e.URLSearchParams({a:1}).get("a")){var r=e.URLSearchParams;e.URLSearchParams=function(e){if(e&&"object"==typeof e&&t(e)){var a=new r;return n(e).forEach(function(e){if(!t(e))throw TypeError();var r=n(e);if(2!==r.length)throw TypeError();a.append(r[0],r[1])}),a}return e&&"object"==typeof e?(a=new r,Object.keys(e).forEach(function(t){a.set(t,e[t])}),a):new r(e)}}}()}(self);}).call('object' === typeof window && window || 'object' === typeof self && self || 'object' === typeof global && global || {}); |
1 | +import http from "../script/http.js"; | ||
2 | + | ||
3 | +/** | ||
4 | + * 获取配置信息 | ||
5 | + * <p> | ||
6 | + * 作者: Wang | ||
7 | + * 时间:2022/7/26 11:18 | ||
8 | + */ | ||
9 | +const getOptions = (opt) => { | ||
10 | + if (!opt) { | ||
11 | + opt = {}; | ||
12 | + } | ||
13 | + return Object.assign({ | ||
14 | + showLoadding: true,// 展示加载库,默认展示 | ||
15 | + needToken: true,// 是否需要token,默认true | ||
16 | + asSync: true // 是否同步请求, | ||
17 | + }, opt); | ||
18 | +} | ||
19 | + | ||
20 | + | ||
21 | +/** | ||
22 | + * 发送get请求 | ||
23 | + * @param url 请求地址 | ||
24 | + * @param params 请求参数 | ||
25 | + * @param options 配置参数 | ||
26 | + * { | ||
27 | + * showLoadding : true ,// 展示加载库,默认展示 | ||
28 | + * needToken:true,// 是否需要token,默认true | ||
29 | + * asSync:true // 是否同步请求, | ||
30 | + * } | ||
31 | + * @returns {Promise<unknown>} | ||
32 | + */ | ||
33 | +export const get = (url, params, options) => { | ||
34 | + params = params || {}; | ||
35 | + | ||
36 | + var option = getOptions(options); | ||
37 | + return new Promise((resolve, reject) => { | ||
38 | + // 发送请求 | ||
39 | + http.get(url, params,function (res){ | ||
40 | + resolve(res); | ||
41 | + },function (res){ | ||
42 | + reject(res); | ||
43 | + },option.showLoadding,option.needToken,option.asSync); | ||
44 | + | ||
45 | + }) | ||
46 | +} | ||
47 | + | ||
48 | + | ||
49 | +/** | ||
50 | + * 发送get请求 | ||
51 | + * @param url 请求地址 | ||
52 | + * @param params 请求参数 | ||
53 | + * @param options 配置参数 | ||
54 | + * { | ||
55 | + * showLoadding : true ,// 展示加载库,默认展示 | ||
56 | + * needToken:true,// 是否需要token,默认true | ||
57 | + * asSync:true // 是否同步请求, | ||
58 | + * } | ||
59 | + * @returns {Promise<unknown>} | ||
60 | + */ | ||
61 | +export const post = (url, params, options) => { | ||
62 | + params = params || {}; | ||
63 | + | ||
64 | + var option = getOptions(options); | ||
65 | + return new Promise((resolve, reject) => { | ||
66 | + // 发送请求 | ||
67 | + http.post(url, params,function (res){ | ||
68 | + resolve(res); | ||
69 | + },function (res){ | ||
70 | + reject(res); | ||
71 | + },option.showLoadding,option.needToken,option.asSync); | ||
72 | + }) | ||
73 | +} | ||
74 | + | ||
75 | + |
1 | +import {get, post} from './BaseApi.js' | ||
2 | + | ||
3 | +/** | ||
4 | + * 获取巡检组以及组下的用户 | ||
5 | + * @returns {Promise<*>} | ||
6 | + */ | ||
7 | +const getGroupAndGroupUser = () => { | ||
8 | + return get('/api-log/log/groupUser', {}); | ||
9 | +} | ||
10 | + | ||
11 | +/** | ||
12 | + * 组统计 | ||
13 | + * @param params /api-log/user/log?userName=&id=&startTime=&endTime=&timeType= | ||
14 | + * @returns {Promise<*>} | ||
15 | + */ | ||
16 | +const stackedGraphGroup = (params) => { | ||
17 | + return get('/api-log/log/group', params); | ||
18 | +} | ||
19 | + | ||
20 | + | ||
21 | +/** | ||
22 | + * 用户统计 | ||
23 | + * @param params /api-log/log/user?userName=&id=1&startTime=&endTime=&timeType= | ||
24 | + * @returns {Promise<*>} | ||
25 | + */ | ||
26 | +const stackedGraphUser = (params) => { | ||
27 | + return get('/api-log/log/user', params); | ||
28 | +} | ||
29 | +/** | ||
30 | + * 获取操作日志列表 | ||
31 | + * @param params /api-log/log/groupList?userName=&id=1&startTime=&endTime=&timeType=&access_token=0f7119f9-9b86-4c9e-a122-ba651c9eea7a | ||
32 | + * @returns {Promise<*>} | ||
33 | + */ | ||
34 | +const getOperationLogList = (params) => { | ||
35 | + return get('/api-log/log/groupList', params); | ||
36 | +} | ||
37 | + | ||
38 | + | ||
39 | +export default { | ||
40 | + getGroupAndGroupUser, | ||
41 | + stackedGraphGroup, | ||
42 | + stackedGraphUser, | ||
43 | + getOperationLogList | ||
44 | +} |
1 | +<el-breadcrumb> | ||
2 | + <el-breadcrumb-item v-for="item in linkInfo"> | ||
3 | + <el-tooltip placement="top"> | ||
4 | + <template #content>{{item.flag ? '已存在操作记录' : '未查询到操作记录'}}</template> | ||
5 | + <div :style="{color:(item.flag ? '#67C23A' : '#F56C6C')}">{{item.name}}</div> | ||
6 | + </el-tooltip> | ||
7 | + </el-breadcrumb-item> | ||
8 | +</el-breadcrumb> |
1 | +export default { | ||
2 | + name: "operationLogLink", | ||
3 | + template: '', | ||
4 | + props: { | ||
5 | + opLink: { | ||
6 | + type: String, | ||
7 | + default: '', | ||
8 | + }, | ||
9 | + opLinkSource: { | ||
10 | + type: String, | ||
11 | + default: '', | ||
12 | + }, | ||
13 | + }, | ||
14 | + setup(props) { | ||
15 | + | ||
16 | + const linkInfo = Vue.ref([]); | ||
17 | + | ||
18 | + const getLinkInfo = () => { | ||
19 | + let l = props.opLink.split(' => '); | ||
20 | + let ls = props.opLinkSource.split(' => ') | ||
21 | + | ||
22 | + for (let i = 0; i < ls.length; i++) { | ||
23 | + let itemName = ls[i]; | ||
24 | + let linkDetail = { | ||
25 | + name: itemName, | ||
26 | + flag: l.includes(itemName) | ||
27 | + } | ||
28 | + linkInfo.value.push(linkDetail); | ||
29 | + } | ||
30 | + } | ||
31 | + | ||
32 | + | ||
33 | + Vue.onMounted(() => { | ||
34 | + getLinkInfo(); | ||
35 | + }); | ||
36 | + | ||
37 | + | ||
38 | + return { | ||
39 | + linkInfo | ||
40 | + } | ||
41 | + } | ||
42 | +} |
1 | +import store from '/vue3/src/store/index.js' | ||
2 | + | ||
3 | + | ||
4 | +/** | ||
5 | + * 获取接口数据 | ||
6 | + * @param storeApiName store中apide | ||
7 | + * @param params | ||
8 | + */ | ||
9 | +export function useGetData(storeApiName, params) { | ||
10 | + const data = Vue.ref({}) | ||
11 | + const error = Vue.ref('') | ||
12 | + const flag = Vue.ref(false); | ||
13 | + | ||
14 | + let api = store.dispatch(storeApiName, params); | ||
15 | + | ||
16 | + if (!api) { | ||
17 | + let msg = "无效的请求"; | ||
18 | + console.log(`${msg},API:${storeApiName} params:${params}`) | ||
19 | + error.value = msg | ||
20 | + return {data, error} | ||
21 | + } | ||
22 | + | ||
23 | + api.then((json) => { | ||
24 | + data.value = json; | ||
25 | + flag.value = true; | ||
26 | + }).catch((err) => { | ||
27 | + data.value.success = false; | ||
28 | + error.value = err | ||
29 | + flag.value = true; | ||
30 | + }); | ||
31 | + | ||
32 | + return {data, error, flag} | ||
33 | +} |
@@ -54,48 +54,25 @@ Promise.all([ | @@ -54,48 +54,25 @@ Promise.all([ | ||
54 | .component('cm-user-type-tree-input', Vue.defineAsyncComponent(() => myImport('components/common/inputusertree/index'))) | 54 | .component('cm-user-type-tree-input', Vue.defineAsyncComponent(() => myImport('components/common/inputusertree/index'))) |
55 | //菜单下拉树 | 55 | //菜单下拉树 |
56 | .component('cm-tree-select-menu', Vue.defineAsyncComponent(() => myImport('components/common/treeSelectMenu/index'))); | 56 | .component('cm-tree-select-menu', Vue.defineAsyncComponent(() => myImport('components/common/treeSelectMenu/index'))); |
57 | -// // 自定义指令 | ||
58 | -// app.directive('permissions', { | ||
59 | -// // 当被绑定的元素插入到 DOM 中时…… | ||
60 | -// mounted(el, binding, vnode) { | ||
61 | -// debugger | ||
62 | -// let p = sessionStorage.getItem('permissions') | ||
63 | -// let val = binding.value; | ||
64 | -// if (p && val) { | ||
65 | -// let arr = p.split(','); | ||
66 | -// | ||
67 | -// if (arr.indexOf(val) == -1) { | ||
68 | -// // 删除元素 | ||
69 | -// el.parentNode && el.parentNode.removeChild(el) | ||
70 | -// } | ||
71 | -// } | ||
72 | -// } | ||
73 | -// }) | ||
74 | - //start lsq 设置ajax请求增加headers参数 2022-09-20 | ||
75 | - let setAjaxData=(val)=>{ | ||
76 | - let p = window.top.location.hash; | ||
77 | - if (p) { | ||
78 | - let arr = p.split('#/'); | ||
79 | - if(arr && arr.length>1){ | ||
80 | - let menuPath=arr[1]; | ||
81 | - //title的值 | ||
82 | - let nameText=$(window.top.document).find("[lay-id='/"+menuPath+"'] span").text(); | ||
83 | - if(val){ | ||
84 | - nameText=val; | 57 | + |
58 | + // 自定义指令 授权按钮 | ||
59 | + app.directive('permissions', { | ||
60 | + // 当被绑定的元素插入到 DOM 中时…… | ||
61 | + mounted(el, binding, vnode) { | ||
62 | + let p = sessionStorage.getItem('permissions') | ||
63 | + let val = binding.value; | ||
64 | + if (p && val) { | ||
65 | + let arr = p.split(','); | ||
66 | + | ||
67 | + if (arr.indexOf(val) == -1) { | ||
68 | + // 删除元素 | ||
69 | + el.parentNode && el.parentNode.removeChild(el) | ||
85 | } | 70 | } |
86 | - let name=encodeURIComponent(nameText) | ||
87 | - $.ajaxSetup({ | ||
88 | - headers:{ | ||
89 | - menuPath:menuPath, | ||
90 | - elementName:name | ||
91 | - } | ||
92 | - }); | ||
93 | } | 71 | } |
94 | } | 72 | } |
95 | - } | ||
96 | - setAjaxData(); | ||
97 | - //end lsq 2022-09-20 | 73 | + }) |
74 | + | ||
98 | app.config.globalProperties.$global = res[3].default | 75 | app.config.globalProperties.$global = res[3].default |
99 | app.config.globalProperties.$http = res[4].default | 76 | app.config.globalProperties.$http = res[4].default |
100 | app.mount('#app'); // 挂载Vue的app实例 | 77 | app.mount('#app'); // 挂载Vue的app实例 |
101 | -}) | ||
78 | +}) |
@@ -183,6 +183,12 @@ const routes = [{ | @@ -183,6 +183,12 @@ const routes = [{ | ||
183 | path: '/vue3/operationLog', | 183 | path: '/vue3/operationLog', |
184 | name: 'operationLog', | 184 | name: 'operationLog', |
185 | component: () => myImport('views/operationLog/index') | 185 | component: () => myImport('views/operationLog/index') |
186 | + }, | ||
187 | + //操作日志 - 用户列表 | ||
188 | + { | ||
189 | + path: '/vue3/operationLog/userList', | ||
190 | + name: 'operationLogUserList', | ||
191 | + component: () => myImport('views/operationLog/userList') | ||
186 | } | 192 | } |
187 | ]; | 193 | ]; |
188 | 194 |
1 | +import operationLog from './modules/operationLog.js' | ||
2 | + | ||
1 | export default Vuex.createStore({ | 3 | export default Vuex.createStore({ |
2 | state: {}, | 4 | state: {}, |
3 | getters: {}, | 5 | getters: {}, |
4 | mutations: {}, | 6 | mutations: {}, |
5 | actions: {}, | 7 | actions: {}, |
6 | - modules: {} | 8 | + modules: { |
9 | + operationLog | ||
10 | + } | ||
7 | }) | 11 | }) |
1 | +import operationLog from '../../api/operationLog.js'; | ||
2 | + | ||
3 | +export default { | ||
4 | + state: {}, | ||
5 | + mutations: {}, | ||
6 | + getters: {}, | ||
7 | + actions: { | ||
8 | + stackedGraphGroup(context, params) { | ||
9 | + return operationLog.stackedGraphGroup(params); | ||
10 | + }, | ||
11 | + stackedGraphUser(context, params) { | ||
12 | + return operationLog.stackedGraphUser(params); | ||
13 | + }, | ||
14 | + getGroupAndGroupUser(context, params) { | ||
15 | + return operationLog.getGroupAndGroupUser(params); | ||
16 | + }, | ||
17 | + getOperationLogList(context, params) { | ||
18 | + return operationLog.getOperationLogList(params); | ||
19 | + }, | ||
20 | + } | ||
21 | +}; |
1 | -<div :style="{'height':height+'px','max-height':height+'px'}" class="container operation-log-container"> | 1 | +<div :style="{'height':height+'px','max-height':height+'px'}" class="container"> |
2 | <div :style="{'min-height':height+'px','max-height':height+'px','height':'100%'}" class="cm-card"> | 2 | <div :style="{'min-height':height+'px','max-height':height+'px','height':'100%'}" class="cm-card"> |
3 | + <!-- 搜索区域 --> | ||
3 | <el-row> | 4 | <el-row> |
4 | - <el-col :span="14" class="search-item"> | ||
5 | - <div class="search"> | ||
6 | - <div class="operation-log-search"> | ||
7 | - <el-button-group class="ml-4"> | ||
8 | - <el-button :size="$global.elementConfig.size.button" :type="search.status == 1 ? 'primary' : ''" | ||
9 | - @click="getDataList(1)">用户名 | ||
10 | - </el-button> | ||
11 | - <el-button :size="$global.elementConfig.size.button" :type="search.status == 2 ? 'primary' : ''" | ||
12 | - @click="getDataList(2)">巡检组 | ||
13 | - </el-button> | ||
14 | - </el-button-group> | ||
15 | - </div> | ||
16 | - </div> | ||
17 | - <div class="echart-con"> | ||
18 | - <div class="echart-left"> | ||
19 | - <div class="echart-title">巡检点击完成统计</div> | ||
20 | - <div class="echart-chart"> | ||
21 | - <LineChart :optionData="optionData" v-if="optionData"></LineChart> | ||
22 | - </div> | ||
23 | - </div> | 5 | + <el-col :span="14" class="search"> |
6 | + <div> | ||
7 | + <el-select v-model="search.groupId" clearable v-if="groupList && groupList.length > 0" | ||
8 | + :size="$global.elementConfig.size.input" placeholder="请选择巡检组" @change="getGroupUser"> | ||
9 | + <el-option | ||
10 | + v-for="item in groupList" | ||
11 | + :key="item.groupId" | ||
12 | + :label="item.groupName" | ||
13 | + :value="item.groupId"/> | ||
14 | + </el-select> | ||
15 | + | ||
16 | + <el-select v-model="search.userId" clearable class="m-l-6" :size="$global.elementConfig.size.input" | ||
17 | + placeholder="请选择用户"> | ||
18 | + <el-option | ||
19 | + v-for="item in userList" | ||
20 | + :key="item.username" | ||
21 | + :label="item.nickName" | ||
22 | + :value="item.username"/> | ||
23 | + </el-select> | ||
24 | </div> | 24 | </div> |
25 | + </el-col> | ||
26 | + <el-col :span="10" class="search"> | ||
27 | + <el-button-group class="ml-4"> | ||
28 | + <el-button :size="$global.elementConfig.size.button" | ||
29 | + :type="search.dateType == 'yesterday' ? 'primary' : ''" | ||
30 | + @click="loadPage('yesterday')">昨天 | ||
31 | + </el-button> | ||
32 | + <el-button :size="$global.elementConfig.size.button" | ||
33 | + :type="search.dateType == 'today' ? 'primary' : ''" | ||
34 | + @click="loadPage('today')">今天 | ||
35 | + </el-button> | ||
36 | + <el-button :size="$global.elementConfig.size.button" | ||
37 | + :type="search.dateType == 'lastWeek' ? 'primary' : ''" | ||
38 | + @click="loadPage('lastWeek')">上周 | ||
39 | + </el-button> | ||
40 | + <el-button :size="$global.elementConfig.size.button" | ||
41 | + :type="search.dateType == 'thisWeek' ? 'primary' : ''" | ||
42 | + @click="loadPage('thisWeek')">本周 | ||
43 | + </el-button> | ||
44 | + <el-button :size="$global.elementConfig.size.button" | ||
45 | + :type="search.dateType == 'thisMonth' ? 'primary' : ''" | ||
46 | + @click="loadPage('thisMonth')">本月 | ||
47 | + </el-button> | ||
48 | + <el-button style="border-radius: 0;" :size="$global.elementConfig.size.button" | ||
49 | + :type="search.dateType == 'all' ? 'primary' : ''" | ||
50 | + @click="loadPage('all')">全部 | ||
51 | + </el-button> | ||
52 | + </el-button-group> | ||
53 | + <el-date-picker | ||
54 | + :size="$global.elementConfig.size.input" | ||
55 | + style="width:150px;border-radius: 0 4px 4px 0;" | ||
56 | + end-placeholder="结束日期" | ||
57 | + format="YYYY-MM-DD" | ||
58 | + range-separator="-" | ||
59 | + start-placeholder="开始日期" | ||
60 | + type="daterange" | ||
61 | + v-model="search.dateTime" | ||
62 | + value-format="YYYY-MM-DD" | ||
63 | + :prefix-icon="'none'" | ||
64 | + @focus="dateFocus" | ||
65 | + @change="dateChange"/> | ||
25 | 66 | ||
67 | + <el-button :size="$global.elementConfig.size.button" class="m-l-6" type="primary" @click="loadPage('')"> | ||
68 | + 查询 | ||
69 | + </el-button> | ||
26 | </el-col> | 70 | </el-col> |
27 | - <el-col :span="10"> | ||
28 | - <div class="search"> | ||
29 | - <div class="operation-log-search"> | ||
30 | - <el-button-group class="ml-4"> | ||
31 | - <el-button :size="$global.elementConfig.size.button" :type="search.status == 'yesterday' ? 'primary' : ''" | ||
32 | - @click="getDataList('yesterday')">昨天 | ||
33 | - </el-button> | ||
34 | - <el-button :size="$global.elementConfig.size.button" :type="search.status == 'today' ? 'primary' : ''" | ||
35 | - @click="getDataList('today')">今天 | ||
36 | - </el-button> | ||
37 | - <el-button :size="$global.elementConfig.size.button" :type="search.status == 'lastWeek' ? 'primary' : ''" | ||
38 | - @click="getDataList('lastWeek')">上周 | ||
39 | - </el-button> | ||
40 | - <el-button :size="$global.elementConfig.size.button" :type="search.status == 'thisWeek' ? 'primary' : ''" | ||
41 | - @click="getDataList('thisWeek')">本周 | ||
42 | - </el-button> | ||
43 | - <el-button :size="$global.elementConfig.size.button" :type="search.status == 'thisMonth' ? 'primary' : ''" | ||
44 | - @click="getDataList('thisMonth')">本月 | ||
45 | - </el-button> | ||
46 | - <el-button style="border-radius: 0;" :size="$global.elementConfig.size.button" :type="search.status == 'all' ? 'primary' : ''" | ||
47 | - @click="getDataList('all')">全部 | ||
48 | - </el-button> | ||
49 | - </el-button-group> | ||
50 | - <el-date-picker | ||
51 | - :size="$global.elementConfig.size.input" | ||
52 | - style="width:150px;border-radius: 0 4px 4px 0;" | ||
53 | - end-placeholder="结束日期" | ||
54 | - format="YYYY-MM-DD" | ||
55 | - range-separator="-" | ||
56 | - start-placeholder="开始日期" | ||
57 | - type="daterange" | ||
58 | - v-model="search.dateTime" | ||
59 | - value-format="YYYY-MM-DD" | ||
60 | - :prefix-icon="'none'" | ||
61 | - @focus="dateFocus" | ||
62 | - @change="dateChange" | ||
63 | - /> | ||
64 | - </div> | 71 | + </el-row> |
72 | + | ||
73 | + <!--统计区区域--> | ||
74 | + <el-row> | ||
75 | + <el-col :span="12" class="p-r-3"> | ||
76 | + <h3 class="page-item-title-h3">巡检点击完成统计</h3> | ||
77 | + <div class="page-item-content" style="height: 300px"> | ||
78 | + <LineChart :optionData="stackedGraphGroupData" v-if="stackedGraphGroupData"></LineChart> | ||
65 | </div> | 79 | </div> |
66 | - <div class="echart-con"> | ||
67 | - <div class="echart-right"> | ||
68 | - <div class="echart-title">人员功能点击量</div> | ||
69 | - <div class="echart-chart"> | ||
70 | - <LineChart :optionData="optionDataR" v-if="optionDataR"></LineChart> | ||
71 | - </div> | ||
72 | - </div> | 80 | + </el-col> |
81 | + <el-col :span="12" class="p-l-3"> | ||
82 | + <h3 class="page-item-title-h3">人员功能点击量</h3> | ||
83 | + <div class="page-item-content" style="height: 300px"> | ||
84 | + <LineChart :optionData="stackedGraphUserData" v-if="stackedGraphUserData"></LineChart> | ||
73 | </div> | 85 | </div> |
74 | - | ||
75 | </el-col> | 86 | </el-col> |
76 | </el-row> | 87 | </el-row> |
77 | 88 | ||
78 | - <div class="container-none"></div> | ||
79 | - <div class="search-table"> | 89 | + <!--表格区域--> |
90 | + <div class="p-6"> | ||
80 | <cm-table-page :columns="tableData.columns" :dataList="tableData.dataList" | 91 | <cm-table-page :columns="tableData.columns" :dataList="tableData.dataList" |
81 | - :height="height - 110" | 92 | + :height="height - 480" |
93 | + :pageSizes='[10,20,50,100, 200, 300, 400]' | ||
82 | :loading="false" | 94 | :loading="false" |
83 | :pageSize="pageSize" | 95 | :pageSize="pageSize" |
84 | :showBorder="true" | 96 | :showBorder="true" |
@@ -89,16 +101,19 @@ | @@ -89,16 +101,19 @@ | ||
89 | :total="tableData.count" | 101 | :total="tableData.count" |
90 | @loaddata="loaddata"> | 102 | @loaddata="loaddata"> |
91 | <template #default="{row,prop,column}"> | 103 | <template #default="{row,prop,column}"> |
92 | - | 104 | + <div v-if="prop == 'link'"> |
105 | + <operationLogLink :opLink="row.link" :opLinkSource="row.linkSource"></operationLogLink> | ||
106 | + </div> | ||
107 | + <div v-if="prop == 'dwellTime'"> | ||
108 | + {{row.dwellTime}} | ||
109 | + <el-tooltip placement="top"> | ||
110 | + <template #content>统计规则<br/>当前操作路径的<span style="color: #67C23A">首次操作时间({{row.createTime}})</span>与<span style="color: #67C23A">最后一次的操作时间({{row.endTime}})</span>的间隔</template> | ||
111 | + <i class="iconfont icon-tishi"style="position: absolute;right: 5px;"></i> | ||
112 | + </el-tooltip> | ||
113 | + </div> | ||
93 | </template> | 114 | </template> |
94 | </cm-table-page> | 115 | </cm-table-page> |
95 | </div> | 116 | </div> |
96 | </div> | 117 | </div> |
97 | </div> | 118 | </div> |
98 | 119 | ||
99 | -<!--新增编辑弹框--> | ||
100 | -<cm-dialog :showDialogVisible="dialog.show" :showFooter="false" :title="dialog.title" @hidedialog="hideDialog"> | ||
101 | - <template v-slot> | ||
102 | - </template> | ||
103 | -</cm-dialog> | ||
104 | - |
1 | +import operationLogService from "./operationLogService.js"; | ||
2 | + | ||
1 | export default { | 3 | export default { |
2 | name: 'operationLog', | 4 | name: 'operationLog', |
3 | template: '', | 5 | template: '', |
4 | components: { | 6 | components: { |
5 | 'LineChart': Vue.defineAsyncComponent( | 7 | 'LineChart': Vue.defineAsyncComponent( |
6 | () => myImport('views/page/components/lineChart/index') | 8 | () => myImport('views/page/components/lineChart/index') |
9 | + ), | ||
10 | + 'operationLogLink': Vue.defineAsyncComponent( | ||
11 | + () => myImport('components/page/operationLog/operationLogLink') | ||
7 | ) | 12 | ) |
8 | }, | 13 | }, |
9 | props: [], | 14 | props: [], |
10 | setup(props, {attrs, slots, emit}) { | 15 | setup(props, {attrs, slots, emit}) { |
11 | const {proxy} = Vue.getCurrentInstance(); | 16 | const {proxy} = Vue.getCurrentInstance(); |
12 | - let isView = Vue.ref(false); | ||
13 | - let height = Vue.ref(window.innerHeight); | ||
14 | - let optionData = Vue.ref(''); | ||
15 | - let optionDataR = Vue.ref(''); | ||
16 | - let series = Vue.ref([]); | ||
17 | - let seriesR = Vue.ref([]); | ||
18 | - let names = Vue.ref(['智能综合巡检系统', '数据中心虚拟化', '备份系统']); | ||
19 | - let namesR = Vue.ref(['吴斌斌','袁晋鹏']) | ||
20 | - let kpiName=Vue.ref(''); | ||
21 | - let kpiNameR = Vue.ref(''); | ||
22 | - let kpiUnit=Vue.ref(''); | ||
23 | - let kpiUnitR=Vue.ref(''); | ||
24 | - let colorsArr = Vue.ref([ | ||
25 | - { | ||
26 | - start: '#468ced', | ||
27 | - end: '#68a5fa' | ||
28 | - }, | ||
29 | - { | ||
30 | - start: '#79dda1', | ||
31 | - end: '#9bddb5' | 17 | + let height = Vue.ref(window.innerHeight - 10); |
18 | + | ||
19 | + let groupList = Vue.ref([]); | ||
20 | + let userList = Vue.ref([]); | ||
21 | + let stackedGraphGroupData = Vue.ref({}); | ||
22 | + let stackedGraphUserData = Vue.ref({}); | ||
23 | + | ||
24 | + // 搜索 | ||
25 | + let search = Vue.ref({ | ||
26 | + groupId: '', | ||
27 | + userId: '', | ||
28 | + dateType: 'today', | ||
29 | + dateTime: '', | ||
30 | + page: 1, | ||
31 | + limit: 20, | ||
32 | + }); | ||
33 | + | ||
34 | + /** | ||
35 | + * 初始化报表 | ||
36 | + */ | ||
37 | + const loadPage = (dateType) => { | ||
38 | + | ||
39 | + // 加载表格内容 | ||
40 | + if (dateType && dateType != '') { | ||
41 | + // 设置最新的类型 | ||
42 | + search.value.dateType = dateType; | ||
43 | + } else { | ||
44 | + // 获取当前点击的配置 | ||
45 | + dateType = search.value.dateType; | ||
32 | } | 46 | } |
33 | - ]) | ||
34 | - const optionDataInit = () => { | ||
35 | 47 | ||
36 | - optionData.value = { | ||
37 | - tooltip: { | ||
38 | - trigger: 'axis', | ||
39 | - formatter: function (param) { | ||
40 | - var tips = kpiName.value + " " + param[0].name + "<br/>"; | ||
41 | - $.each(param, function (i, v) { | ||
42 | - tips += v.marker + " " + v.seriesName + ":" + v.value + kpiUnit.value + "</br>" | ||
43 | - }); | ||
44 | - return tips; | ||
45 | - } | ||
46 | - }, | ||
47 | - legend: { | ||
48 | - show: true | ||
49 | - }, | ||
50 | - grid: { | ||
51 | - top: '10%', | ||
52 | - left: '3%', | ||
53 | - right: '4%', | ||
54 | - bottom: '5%', | ||
55 | - containLabel: true | ||
56 | - }, | ||
57 | - toolbox: { | ||
58 | - feature: { | ||
59 | - saveAsImage: { | ||
60 | - show: false | ||
61 | - } | ||
62 | - } | ||
63 | - }, | ||
64 | - xAxis: { | ||
65 | - type: 'category', | ||
66 | - data: names.value, | ||
67 | - axisLine: { | ||
68 | - lineStyle: { | ||
69 | - color: '#c9c9c9' | ||
70 | - } | ||
71 | - }, | ||
72 | - axisLabel: { | ||
73 | - color: '#232425', | ||
74 | - showMaxLabel: true, | ||
75 | - lineHeight:18, | ||
76 | - formatter: function (params) { | ||
77 | - var newParamsName = ''; | ||
78 | - let paramsNameNumber = params.length; | ||
79 | - let provideNumber = 4; | ||
80 | - let rowNumber = Math.ceil(paramsNameNumber / provideNumber); | ||
81 | - if (paramsNameNumber > provideNumber) { | ||
82 | - for (let i = 0; i < rowNumber; i++) { | ||
83 | - let tempStr = ''; | ||
84 | - let start = i * provideNumber; | ||
85 | - let end = start + provideNumber; | ||
86 | - if (i == rowNumber - 1) { | ||
87 | - tempStr = params.substring(start, paramsNameNumber); | ||
88 | - } else { | ||
89 | - tempStr = params.substring(start, end) + "\n"; | ||
90 | - } | ||
91 | - newParamsName += tempStr; | ||
92 | - } | ||
93 | - } else { | ||
94 | - newParamsName = params; | ||
95 | - } | ||
96 | - return newParamsName; | ||
97 | - } | ||
98 | - }, | ||
99 | - splitArea: { | ||
100 | - show: true, | ||
101 | - areaStyle: { | ||
102 | - color: ['rgba(200,200,200,0.1)', 'transparent' | ||
103 | - ] | ||
104 | - } | ||
105 | - } | ||
106 | - }, | ||
107 | - yAxis: { | ||
108 | - type: 'value', | ||
109 | - scale: true, | ||
110 | - min:0, | ||
111 | - boundaryGap: ['10%', '10%'], | ||
112 | - axisLine: { | ||
113 | - lineStyle: { | ||
114 | - color: '#232425' | ||
115 | - }, | ||
116 | - show: false | ||
117 | - }, | ||
118 | - axisTick: { | ||
119 | - show: false | ||
120 | - }, | ||
121 | - splitLine: { | ||
122 | - lineStyle: { | ||
123 | - color: ['#ddd'], | ||
124 | - type: 'dotted', | 48 | + if (dateType != 'dateRange') { |
49 | + search.value.dateTime = []; | ||
50 | + } else { | ||
51 | + if (search.value.dateTime && search.value.dateTime.length == 0) { | ||
52 | + // 时间范围 | ||
53 | + proxy.$global.showMsg("请选择开始结束时间!", "warning"); | ||
54 | + return; | ||
55 | + } | ||
56 | + } | ||
125 | 57 | ||
126 | - } | ||
127 | - } | ||
128 | - }, | ||
129 | - series: series.value | ||
130 | - }; | ||
131 | - optionDataR.value= { | ||
132 | - tooltip: { | ||
133 | - trigger: 'axis', | ||
134 | - formatter: function (param) { | ||
135 | - var tips = kpiName.value + " " + param[0].name + "<br/>"; | ||
136 | - $.each(param, function (i, v) { | ||
137 | - tips += v.marker + " " + v.seriesName + ":" + v.value + kpiUnit.value + "</br>" | ||
138 | - }); | ||
139 | - return tips; | ||
140 | - } | ||
141 | - }, | ||
142 | - legend: { | ||
143 | - show: true | ||
144 | - }, | ||
145 | - grid: { | ||
146 | - top: '10%', | ||
147 | - left: '3%', | ||
148 | - right: '4%', | ||
149 | - bottom: '5%', | ||
150 | - containLabel: true | ||
151 | - }, | ||
152 | - toolbox: { | ||
153 | - feature: { | ||
154 | - saveAsImage: { | ||
155 | - show: false | ||
156 | - } | ||
157 | - } | ||
158 | - }, | ||
159 | - xAxis: { | ||
160 | - type: 'category', | ||
161 | - data: namesR.value, | ||
162 | - axisLine: { | ||
163 | - lineStyle: { | ||
164 | - color: '#c9c9c9' | ||
165 | - } | ||
166 | - }, | ||
167 | - axisLabel: { | ||
168 | - color: '#232425', | ||
169 | - showMaxLabel: true, | ||
170 | - lineHeight:18, | ||
171 | - formatter: function (params) { | ||
172 | - var newParamsName = ''; | ||
173 | - let paramsNameNumber = params.length; | ||
174 | - let provideNumber = 4; | ||
175 | - let rowNumber = Math.ceil(paramsNameNumber / provideNumber); | ||
176 | - if (paramsNameNumber > provideNumber) { | ||
177 | - for (let i = 0; i < rowNumber; i++) { | ||
178 | - let tempStr = ''; | ||
179 | - let start = i * provideNumber; | ||
180 | - let end = start + provideNumber; | ||
181 | - if (i == rowNumber - 1) { | ||
182 | - tempStr = params.substring(start, paramsNameNumber); | ||
183 | - } else { | ||
184 | - tempStr = params.substring(start, end) + "\n"; | ||
185 | - } | ||
186 | - newParamsName += tempStr; | ||
187 | - } | ||
188 | - } else { | ||
189 | - newParamsName = params; | ||
190 | - } | ||
191 | - return newParamsName; | ||
192 | - } | ||
193 | - }, | ||
194 | - splitArea: { | ||
195 | - show: true, | ||
196 | - areaStyle: { | ||
197 | - color: ['rgba(200,200,200,0.1)', 'transparent' | ||
198 | - ] | ||
199 | - } | ||
200 | - } | ||
201 | - }, | ||
202 | - yAxis: { | ||
203 | - type: 'value', | ||
204 | - scale: true, | ||
205 | - boundaryGap: ['10%', '10%'], | ||
206 | - axisLine: { | ||
207 | - lineStyle: { | ||
208 | - color: '#232425' | ||
209 | - }, | ||
210 | - show: false | ||
211 | - }, | ||
212 | - axisTick: { | ||
213 | - show: false | ||
214 | - }, | ||
215 | - splitLine: { | ||
216 | - lineStyle: { | ||
217 | - color: ['#ddd'], | ||
218 | - type: 'dotted', | 58 | + let startTime = ''; |
59 | + let endTime = '' | ||
60 | + if (search.value.dateTime && search.value.dateTime.length > 0) { | ||
61 | + startTime = search.value.dateTime[0]; | ||
62 | + endTime = search.value.dateTime[1]; | ||
63 | + } | ||
64 | + let params = { | ||
65 | + page: search.value.page, | ||
66 | + limit: search.value.limit, | ||
67 | + id: search.value.groupId, | ||
68 | + userName: search.value.userId, | ||
69 | + timeType: search.value.dateType, | ||
70 | + startTime: startTime, | ||
71 | + endTime: endTime | ||
72 | + } | ||
219 | 73 | ||
220 | - } | ||
221 | - } | ||
222 | - }, | ||
223 | - series: seriesR.value | ||
224 | - }; | 74 | + // 组统计 |
75 | + operationLogService.stackedGraphGroupInit(params, stackedGraphGroupData); | ||
76 | + // 用户统计 | ||
77 | + operationLogService.stackedGraphUserInit(params, stackedGraphUserData); | ||
78 | + // 下拉列表选项 | ||
79 | + operationLogService.getOperationLogGroupAndUserList(groupList); | ||
80 | + | ||
81 | + // 查询列表 | ||
82 | + operationLogService.pageList(params,tableData); | ||
225 | } | 83 | } |
226 | - let rateData=Vue.ref([ | ||
227 | - {name:'应点击量',data:[1,34,12]}, | ||
228 | - {name:'实际点击量',data:[15,24,10]} | ||
229 | - ]) | ||
230 | - let rateDataR=Vue.ref([ | ||
231 | - {name:'',data:[1,6,8,9,10]}, | ||
232 | - ]) | ||
233 | - const setSeries = () => { | ||
234 | - series.value = []; | ||
235 | - $.each(rateData.value, function (i, v) { | ||
236 | - series.value.push({ | ||
237 | - name: v.name, | ||
238 | - type: 'bar', | ||
239 | - barWidth: 16,//设置柱状图大小 | ||
240 | - data: v.data, | ||
241 | - stack:'total', | ||
242 | - symbolSize: 12, | ||
243 | - symbol: 'circle', | ||
244 | - itemStyle: { | ||
245 | - normal: { | ||
246 | - // color: colorsArr.value[i].start //图标颜色 | ||
247 | - color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ //关键在这里, 设置面积渐变 | ||
248 | - offset: 0, | ||
249 | - color: colorsArr.value[i].start //这里是我设置的渐变的颜色从线条颜色变为透明 | ||
250 | - }, { | ||
251 | - offset: 1, | ||
252 | - color: colorsArr.value[i].end | ||
253 | - }]) | ||
254 | - } | ||
255 | - } | ||
256 | - }) | ||
257 | - }); | ||
258 | 84 | ||
259 | - seriesR.value = []; | ||
260 | - $.each(rateDataR.value, function (i, v) { | ||
261 | - seriesR.value.push({ | ||
262 | - name: v.name, | ||
263 | - type: 'bar', | ||
264 | - barWidth: 16,//设置柱状图大小 | ||
265 | - data: v.data, | ||
266 | - stack:'noStack', | ||
267 | - symbolSize: 12, | ||
268 | - symbol: 'circle', | ||
269 | - itemStyle: { | ||
270 | - normal: { | ||
271 | - // color: colorsArr.value[i].start //图标颜色 | ||
272 | - color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ //关键在这里, 设置面积渐变 | ||
273 | - offset: 0, | ||
274 | - color: colorsArr.value[i].start //这里是我设置的渐变的颜色从线条颜色变为透明 | ||
275 | - }, { | ||
276 | - offset: 1, | ||
277 | - color: colorsArr.value[i].end | ||
278 | - }]) | ||
279 | - }, | ||
280 | - borderRadius:[3,3,0,0] | ||
281 | - } | ||
282 | - }) | 85 | + /** |
86 | + * 变更巡检组,获取用户列表 | ||
87 | + * @param val | ||
88 | + */ | ||
89 | + const getGroupUser = (val) => { | ||
90 | + let group = groupList.value.filter(item => { | ||
91 | + if (item.groupId === val) { | ||
92 | + return item; | ||
93 | + } | ||
283 | }); | 94 | }); |
95 | + if(group && group.length > 0){ | ||
96 | + userList.value = group[0].groupUser; | ||
97 | + } | ||
98 | + } | ||
99 | + | ||
100 | + /** | ||
101 | + * 分页事件,加载数据 | ||
102 | + * @param page | ||
103 | + * @param limit | ||
104 | + */ | ||
105 | + const loaddata = ({page, limit}) => { | ||
106 | + search.value.page = page; | ||
107 | + search.value.limit = limit; | ||
284 | 108 | ||
285 | - optionDataInit(); | 109 | + loadPage(''); |
286 | } | 110 | } |
287 | - let search = Vue.ref({ | ||
288 | - status: 'today', | ||
289 | - dateTime:'', | ||
290 | - keyword: '', | ||
291 | - page: 1, | ||
292 | - limit: 10, | ||
293 | - }); | ||
294 | - let dialog = Vue.ref({ | ||
295 | - title: "处理审批", | ||
296 | - show: false, | ||
297 | - amId: '', | ||
298 | - amStatus: 0, | ||
299 | - alarmId: '', | ||
300 | - }); | 111 | + |
301 | 112 | ||
302 | //表格字段 | 113 | //表格字段 |
303 | let tableData = Vue.ref({ | 114 | let tableData = Vue.ref({ |
@@ -305,143 +116,122 @@ export default { | @@ -305,143 +116,122 @@ export default { | ||
305 | dataList: [], | 116 | dataList: [], |
306 | columns: [ | 117 | columns: [ |
307 | { | 118 | { |
308 | - prop: 'alarmNo', | 119 | + prop: 'groupName', |
120 | + label: '组名称', | ||
121 | + sortable: true, | ||
122 | + align: 'center', | ||
123 | + width: '180' | ||
124 | + }, | ||
125 | + { | ||
126 | + prop: 'nickName', | ||
309 | label: '用户名', | 127 | label: '用户名', |
310 | sortable: true, | 128 | sortable: true, |
311 | align: 'center', | 129 | align: 'center', |
312 | width: '150' | 130 | width: '150' |
313 | }, | 131 | }, |
314 | { | 132 | { |
315 | - prop: 'resName', | 133 | + prop: 'createTime', |
316 | label: '时间', | 134 | label: '时间', |
317 | sortable: true, | 135 | sortable: true, |
318 | align: 'center', | 136 | align: 'center', |
319 | - width: '250', | 137 | + width: '170', |
320 | }, | 138 | }, |
321 | { | 139 | { |
322 | - prop: 'resTypeName', | 140 | + prop: 'ip', |
323 | label: 'IP地址', | 141 | label: 'IP地址', |
324 | sortable: true, | 142 | sortable: true, |
325 | align: 'center', | 143 | align: 'center', |
326 | width: '150' | 144 | width: '150' |
327 | }, { | 145 | }, { |
328 | - prop: 'managenameName', | 146 | + prop: 'link', |
329 | label: '访问位置', | 147 | label: '访问位置', |
330 | sortable: true, | 148 | sortable: true, |
331 | align: 'center', | 149 | align: 'center', |
332 | }, { | 150 | }, { |
333 | - prop: 'reason', | 151 | + prop: 'dwellTime', |
334 | label: '停留总时长', | 152 | label: '停留总时长', |
335 | sortable: true, | 153 | sortable: true, |
336 | align: 'center', | 154 | align: 'center', |
337 | - width: '120' | 155 | + width: '150' |
338 | } | 156 | } |
339 | ] | 157 | ] |
340 | }) | 158 | }) |
341 | //点击时间选择时,其他按钮不高亮 | 159 | //点击时间选择时,其他按钮不高亮 |
342 | - let dateFocus=()=>{ | ||
343 | - search.value.status = 'dateRange'; | 160 | + let dateFocus = () => { |
161 | + search.value.dateType = 'dateRange'; | ||
344 | } | 162 | } |
345 | //时间更改事件 | 163 | //时间更改事件 |
346 | - let dateChange=(val)=>{ | ||
347 | - console.log(val,search.value.dateTime) | ||
348 | - getDataList('dateRange') | ||
349 | - } | ||
350 | - | ||
351 | - //获取aj配置信息 | ||
352 | - let statusVal = Vue.ref('today'); | ||
353 | - let getDataList = (status) => { | ||
354 | - if (status == undefined) { | ||
355 | - status = 'today' | ||
356 | - } | ||
357 | - if(status != 'dateRange'){ | ||
358 | - search.value.dateTime=[]; | ||
359 | - } | ||
360 | - statusVal.value = status; | ||
361 | - search.value.status = status; | ||
362 | - let startTime=''; | ||
363 | - let endTime='' | ||
364 | - if(search.value.dateTime && search.value.dateTime.length>0){ | ||
365 | - startTime=search.value.dateTime[0]; | ||
366 | - endTime=search.value.dateTime[1]; | ||
367 | - } | ||
368 | - let params={ | ||
369 | - page: search.value.page, | ||
370 | - limit: search.value.limit, | ||
371 | - keyword: search.value.keyword, | ||
372 | - status: search.value.status, | ||
373 | - startTime:startTime, | ||
374 | - endTime:endTime | ||
375 | - } | ||
376 | - proxy.$http.get(`/api-web/bAlarmManage/page`, params, function (res) { | ||
377 | - if (res && res.data) { | ||
378 | - tableData.value.dataList = res.data; | ||
379 | - tableData.value.count = res.count; | ||
380 | - } else { | ||
381 | - tableData.value.dataList = []; | ||
382 | - tableData.value.count = 0; | ||
383 | - } | ||
384 | - }); | 164 | + let dateChange = (val) => { |
165 | + loadPage('dateRange') | ||
385 | } | 166 | } |
386 | 167 | ||
387 | - let loaddata = ({page, limit}) => { | ||
388 | - search.value.page = page; | ||
389 | - search.value.limit = limit; | ||
390 | - } | ||
391 | 168 | ||
169 | + // let getDataList = (dateType) => { | ||
170 | + // if (dateType) { | ||
171 | + // // 设置最新的类型 | ||
172 | + // search.value.dateType = dateType; | ||
173 | + // } else { | ||
174 | + // // 获取当前点击的配置 | ||
175 | + // dateType = search.value.dateType; | ||
176 | + // } | ||
177 | + // | ||
178 | + // if (dateType != 'dateRange') { | ||
179 | + // search.value.dateTime = []; | ||
180 | + // } else { | ||
181 | + // if (search.value.dateTime && search.value.dateTime.length == 0) { | ||
182 | + // // 时间范围 | ||
183 | + // proxy.$global.showMsg("请选择开始结束时间!", "warning"); | ||
184 | + // return; | ||
185 | + // } | ||
186 | + // } | ||
187 | + // | ||
188 | + // let startTime = ''; | ||
189 | + // let endTime = '' | ||
190 | + // if (search.value.dateTime && search.value.dateTime.length > 0) { | ||
191 | + // startTime = search.value.dateTime[0]; | ||
192 | + // endTime = search.value.dateTime[1]; | ||
193 | + // } | ||
194 | + // let params = { | ||
195 | + // page: search.value.page, | ||
196 | + // limit: search.value.limit, | ||
197 | + // id: search.value.groupId, | ||
198 | + // userName: search.value.userId, | ||
199 | + // timeType: search.value.dateType, | ||
200 | + // startTime: startTime, | ||
201 | + // endTime: endTime | ||
202 | + // } | ||
203 | + // // // 查询列表 | ||
204 | + // operationLogService.pageList(params,tableData); | ||
205 | + // | ||
206 | + // } | ||
392 | 207 | ||
393 | - let hideDialog = (flg) => { | ||
394 | - dialog.value.show = flg; | ||
395 | - if (!flg) { | ||
396 | - getDataList(dialog.value.amStatus) | ||
397 | - } | ||
398 | - } | ||
399 | - | ||
400 | - // 处理弹框 | ||
401 | - let handle = (row, flag) => { | ||
402 | - isView.value = flag; | ||
403 | - hideDialog(true); | ||
404 | - dialog.value.amId = row.id; | ||
405 | - dialog.value.amStatus = row.status; | ||
406 | - dialog.value.alarmId = row.alarmId; | ||
407 | - } | ||
408 | - //审核保存后关闭弹框 | ||
409 | - let saveback = (val) => { | ||
410 | - hideDialog(val) | ||
411 | - } | ||
412 | - let loginName = Vue.ref(localStorage.getItem('lgn')); | ||
413 | 208 | ||
414 | // 挂载完 | 209 | // 挂载完 |
415 | Vue.onMounted(() => { | 210 | Vue.onMounted(() => { |
416 | - getDataList(); | ||
417 | - setSeries(); | 211 | + // 默认加载搜索条件、统计图、表格 |
212 | + loadPage(); | ||
213 | + | ||
418 | }) | 214 | }) |
419 | 215 | ||
420 | return { | 216 | return { |
421 | - loginName, | ||
422 | height, | 217 | height, |
423 | - optionData, | ||
424 | - optionDataInit, | ||
425 | - series, | ||
426 | - names, | ||
427 | - rateData, | ||
428 | - optionDataR, | ||
429 | - seriesR, | ||
430 | - namesR, | ||
431 | - rateDataR, | ||
432 | - setSeries, | 218 | + groupList, |
219 | + userList, | ||
220 | + // 搜索条件 | ||
221 | + search, | ||
222 | + getGroupUser, | ||
433 | dateFocus, | 223 | dateFocus, |
434 | dateChange, | 224 | dateChange, |
435 | - dialog, | ||
436 | - hideDialog, | ||
437 | - search, | ||
438 | - tableData, | 225 | + |
226 | + stackedGraphGroupData, | ||
227 | + stackedGraphUserData, | ||
228 | + | ||
229 | + // 搜索数据 | ||
230 | + loadPage, | ||
439 | loaddata, | 231 | loaddata, |
440 | - getDataList, | ||
441 | - handle, | ||
442 | - saveback, | ||
443 | - statusVal, | ||
444 | - isView | 232 | + |
233 | + // 表格数据 | ||
234 | + tableData | ||
445 | } | 235 | } |
446 | } | 236 | } |
447 | 237 |
hg-monitor-web-base/src/main/resources/static/vue3/src/views/operationLog/operationLogService.js
0 → 100644
1 | +import {useGetData} from '/vue3/src/composables/usePageCurd.js' | ||
2 | + | ||
3 | +const getSeriesData = (resData) => { | ||
4 | + let series = []; | ||
5 | + let colorsArr = [ | ||
6 | + { | ||
7 | + start: '#468ced', | ||
8 | + end: '#68a5fa' | ||
9 | + }, | ||
10 | + { | ||
11 | + start: '#79dda1', | ||
12 | + end: '#9bddb5' | ||
13 | + } | ||
14 | + ]; | ||
15 | + $.each(resData, function (i, v) { | ||
16 | + series.push({ | ||
17 | + name: v.name, | ||
18 | + type: 'bar', | ||
19 | + barWidth: 16,//设置柱状图大小 | ||
20 | + data: v.data, | ||
21 | + stack: 'total', | ||
22 | + symbolSize: 12, | ||
23 | + symbol: 'circle', | ||
24 | + itemStyle: { | ||
25 | + normal: { | ||
26 | + color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ //关键在这里, 设置面积渐变 | ||
27 | + offset: 0, | ||
28 | + color: colorsArr[i].start //这里是我设置的渐变的颜色从线条颜色变为透明 | ||
29 | + }, { | ||
30 | + offset: 1, | ||
31 | + color: colorsArr[i].end | ||
32 | + }]) | ||
33 | + } | ||
34 | + } | ||
35 | + }) | ||
36 | + }); | ||
37 | + | ||
38 | + return series; | ||
39 | +} | ||
40 | + | ||
41 | + | ||
42 | +const getOptionData = (rateData, barNames) => { | ||
43 | + let seriesData = getSeriesData(rateData); | ||
44 | + return { | ||
45 | + tooltip: { | ||
46 | + trigger: 'axis', | ||
47 | + formatter: function (param) { | ||
48 | + var tips = param[0].name + "<br/>"; | ||
49 | + $.each(param, function (i, v) { | ||
50 | + tips += v.marker + " " + v.seriesName + ":" + v.value + "</br>" | ||
51 | + }); | ||
52 | + return tips; | ||
53 | + } | ||
54 | + }, | ||
55 | + legend: { | ||
56 | + show: true | ||
57 | + }, | ||
58 | + grid: { | ||
59 | + top: '10%', | ||
60 | + left: '3%', | ||
61 | + right: '4%', | ||
62 | + bottom: '5%', | ||
63 | + containLabel: true | ||
64 | + }, | ||
65 | + toolbox: { | ||
66 | + feature: { | ||
67 | + saveAsImage: { | ||
68 | + show: false | ||
69 | + } | ||
70 | + } | ||
71 | + }, | ||
72 | + xAxis: { | ||
73 | + type: 'category', | ||
74 | + data: barNames, | ||
75 | + axisLine: { | ||
76 | + lineStyle: { | ||
77 | + color: '#c9c9c9' | ||
78 | + } | ||
79 | + }, | ||
80 | + axisLabel: { | ||
81 | + color: '#232425', | ||
82 | + showMaxLabel: true, | ||
83 | + lineHeight: 18, | ||
84 | + formatter: function (params) { | ||
85 | + var newParamsName = ''; | ||
86 | + let paramsNameNumber = params.length; | ||
87 | + let provideNumber = 4; | ||
88 | + let rowNumber = Math.ceil(paramsNameNumber / provideNumber); | ||
89 | + if (paramsNameNumber > provideNumber) { | ||
90 | + for (let i = 0; i < rowNumber; i++) { | ||
91 | + let tempStr = ''; | ||
92 | + let start = i * provideNumber; | ||
93 | + let end = start + provideNumber; | ||
94 | + if (i == rowNumber - 1) { | ||
95 | + tempStr = params.substring(start, paramsNameNumber); | ||
96 | + } else { | ||
97 | + tempStr = params.substring(start, end) + "\n"; | ||
98 | + } | ||
99 | + newParamsName += tempStr; | ||
100 | + } | ||
101 | + } else { | ||
102 | + newParamsName = params; | ||
103 | + } | ||
104 | + return newParamsName; | ||
105 | + } | ||
106 | + }, | ||
107 | + splitArea: { | ||
108 | + show: true, | ||
109 | + areaStyle: { | ||
110 | + color: ['rgba(200,200,200,0.1)', 'transparent' | ||
111 | + ] | ||
112 | + } | ||
113 | + } | ||
114 | + }, | ||
115 | + yAxis: { | ||
116 | + type: 'value', | ||
117 | + scale: true, | ||
118 | + min: 0, | ||
119 | + boundaryGap: ['10%', '10%'], | ||
120 | + axisLine: { | ||
121 | + lineStyle: { | ||
122 | + color: '#232425' | ||
123 | + }, | ||
124 | + show: false | ||
125 | + }, | ||
126 | + axisTick: { | ||
127 | + show: false | ||
128 | + }, | ||
129 | + splitLine: { | ||
130 | + lineStyle: { | ||
131 | + color: ['#ddd'], | ||
132 | + type: 'dotted', | ||
133 | + | ||
134 | + } | ||
135 | + } | ||
136 | + }, | ||
137 | + series: seriesData | ||
138 | + }; | ||
139 | +} | ||
140 | + | ||
141 | + | ||
142 | +const operationLogService = { | ||
143 | + | ||
144 | + /** | ||
145 | + * 获取操作日志分组用户列表 | ||
146 | + * @param type group 组 user 用户 | ||
147 | + * @param groupId 组id | ||
148 | + * @param outData1 输出数据 | ||
149 | + * @returns [{ | ||
150 | + * groupName: '组1', | ||
151 | + * groupId: '1', | ||
152 | + * groupUser: [{username: 'admin', nickName: '管理员ad'}, | ||
153 | + * {username: 'root', nickName: '管理员ad1'}, | ||
154 | + * {username: 'admin1', nickName: '管理员ad1'}] | ||
155 | + * }] | ||
156 | + */ | ||
157 | + getOperationLogGroupAndUserList: (outGroupData) => { | ||
158 | + | ||
159 | + const {data, error} = useGetData('getGroupAndGroupUser', {}); | ||
160 | + | ||
161 | + Vue.watchEffect(() => { | ||
162 | + if (data.value && data.value.data) { | ||
163 | + outGroupData.value = data.value.data; | ||
164 | + } | ||
165 | + }) | ||
166 | + }, | ||
167 | + | ||
168 | + /** | ||
169 | + * 堆叠图-按照巡检组统计 | ||
170 | + * 样例数据: | ||
171 | + * let data = { | ||
172 | + * nameList: ['智能综合巡检系统', '数据中心虚拟化', '备份系统'], | ||
173 | + * dataList: [ | ||
174 | + * {name: '应点击量', data: [1, 34, 12]}, | ||
175 | + * {name: '实际点击量', data: [15, 24, 10]} | ||
176 | + * ] | ||
177 | + * } | ||
178 | + */ | ||
179 | + stackedGraphGroupInit: (params, outData) => { | ||
180 | + | ||
181 | + const {data, error} = useGetData('stackedGraphGroup', params); | ||
182 | + | ||
183 | + Vue.watchEffect(() => { | ||
184 | + if (data.value.object) { | ||
185 | + outData.value = getOptionData(data.value.object.dataList, data.value.object.nameList) | ||
186 | + } | ||
187 | + }) | ||
188 | + }, | ||
189 | + | ||
190 | + | ||
191 | + /** | ||
192 | + * 堆叠图-按照人员统计 | ||
193 | + * 样例数据 | ||
194 | + * let data = { | ||
195 | + * nameList: ['吴斌斌', '袁晋鹏'], | ||
196 | + * dataList: [ | ||
197 | + * {name: '应点击量', data: [1, 34, 12]}, | ||
198 | + * {name: '实际点击量', data: [15, 24, 10]} | ||
199 | + * ] | ||
200 | + * } | ||
201 | + */ | ||
202 | + stackedGraphUserInit: (params, outData) => { | ||
203 | + | ||
204 | + const {data, error} = useGetData('stackedGraphUser', params); | ||
205 | + | ||
206 | + Vue.watchEffect(() => { | ||
207 | + if (data.value.object) { | ||
208 | + outData.value = getOptionData(data.value.object.dataList, data.value.object.nameList) | ||
209 | + } | ||
210 | + }); | ||
211 | + }, | ||
212 | + | ||
213 | + pageList: (params, outData) => { | ||
214 | + const {data, error} = useGetData('getOperationLogList', params); | ||
215 | + | ||
216 | + Vue.watchEffect(() => { | ||
217 | + if (data.value) { | ||
218 | + outData.value.count = data.value.count; | ||
219 | + outData.value.dataList = data.value.data; | ||
220 | + } | ||
221 | + }); | ||
222 | + } | ||
223 | +} | ||
224 | + | ||
225 | + | ||
226 | +export default operationLogService |
1 | +<div :style="{'height':height+'px','max-height':height+'px'}" class="container"> | ||
2 | + <div :style="{'min-height':height+'px','max-height':height+'px','height':'100%'}" class="cm-card"> | ||
3 | + <!-- 搜索区域 --> | ||
4 | + <el-row> | ||
5 | + <el-col :span="10" class="search"> | ||
6 | + <el-button-group class="ml-4"> | ||
7 | + <el-button :size="$global.elementConfig.size.button" :type="search.dateType == 'yesterday' ? 'primary' : ''" | ||
8 | + @click="loadPage('yesterday')">昨天 | ||
9 | + </el-button> | ||
10 | + <el-button :size="$global.elementConfig.size.button" :type="search.dateType == 'today' ? 'primary' : ''" | ||
11 | + @click="loadPage('today')">今天 | ||
12 | + </el-button> | ||
13 | + <el-button :size="$global.elementConfig.size.button" :type="search.dateType == 'lastWeek' ? 'primary' : ''" | ||
14 | + @click="loadPage('lastWeek')">上周 | ||
15 | + </el-button> | ||
16 | + <el-button :size="$global.elementConfig.size.button" :type="search.dateType == 'thisWeek' ? 'primary' : ''" | ||
17 | + @click="loadPage('thisWeek')">本周 | ||
18 | + </el-button> | ||
19 | + <el-button :size="$global.elementConfig.size.button" :type="search.dateType == 'thisMonth' ? 'primary' : ''" | ||
20 | + @click="loadPage('thisMonth')">本月 | ||
21 | + </el-button> | ||
22 | + <el-button style="border-radius: 0;" :size="$global.elementConfig.size.button" :type="search.dateType == 'all' ? 'primary' : ''" | ||
23 | + @click="loadPage('all')">全部 | ||
24 | + </el-button> | ||
25 | + </el-button-group> | ||
26 | + <el-date-picker | ||
27 | + :size="$global.elementConfig.size.input" | ||
28 | + style="width:150px;border-radius: 0 4px 4px 0;" | ||
29 | + end-placeholder="结束日期" | ||
30 | + format="YYYY-MM-DD" | ||
31 | + range-separator="-" | ||
32 | + start-placeholder="开始日期" | ||
33 | + type="daterange" | ||
34 | + v-model="search.dateTime" | ||
35 | + value-format="YYYY-MM-DD" | ||
36 | + :prefix-icon="'none'" | ||
37 | + @focus="dateFocus" | ||
38 | + @change="dateChange"/> | ||
39 | + | ||
40 | + <el-button :size="$global.elementConfig.size.button" class="m-l-6" type="primary" @click="loadPage('')"> | ||
41 | + 查询 | ||
42 | + </el-button> | ||
43 | + </el-col> | ||
44 | + </el-row> | ||
45 | + | ||
46 | + <!--表格区域--> | ||
47 | + <div class="p-6"> | ||
48 | + <cm-table-page :columns="tableData.columns" :dataList="tableData.dataList" | ||
49 | + :height="height - 95" | ||
50 | + :pageSizes = '[10,20,50,100, 200, 300, 400]' | ||
51 | + :loading="false" | ||
52 | + :pageSize="pageSize" | ||
53 | + :showBorder="true" | ||
54 | + :showIndex="true" | ||
55 | + :showPage="true" | ||
56 | + :showSelection="false" | ||
57 | + :showTools="false" | ||
58 | + :total="tableData.count" | ||
59 | + @loaddata="loaddata"> | ||
60 | + <template #default="{row,prop,column}"> | ||
61 | + <div v-if="prop == 'link'"> | ||
62 | + <operationLogLink :opLink="row.link" :opLinkSource="row.linkSource"></operationLogLink> | ||
63 | + </div> | ||
64 | + <div v-if="prop == 'dwellTime'"> | ||
65 | + {{row.dwellTime}} | ||
66 | + <el-tooltip placement="top"> | ||
67 | + <template #content>统计规则<br/>当前操作路径的<span style="color: #67C23A">首次操作时间({{row.createTime}})</span>与<span style="color: #67C23A">最后一次的操作时间({{row.endTime}})</span>的间隔</template> | ||
68 | + <i class="iconfont icon-tishi"style="position: absolute;right: 5px;"></i> | ||
69 | + </el-tooltip> | ||
70 | + </div> | ||
71 | + </template> | ||
72 | + </cm-table-page> | ||
73 | + </div> | ||
74 | + </div> | ||
75 | +</div> | ||
76 | + |
1 | +import operationLogService from "./operationLogService.js"; | ||
2 | + | ||
3 | +export default { | ||
4 | + name: 'operationLog', | ||
5 | + template: '', | ||
6 | + components: { | ||
7 | + 'LineChart': Vue.defineAsyncComponent( | ||
8 | + () => myImport('views/page/components/lineChart/index') | ||
9 | + ), | ||
10 | + 'operationLogLink': Vue.defineAsyncComponent( | ||
11 | + () => myImport('components/page/operationLog/operationLogLink') | ||
12 | + ) | ||
13 | + }, | ||
14 | + props: [], | ||
15 | + setup(props, {attrs, slots, emit}) { | ||
16 | + const {proxy} = Vue.getCurrentInstance(); | ||
17 | + let height = Vue.ref(window.innerHeight - 10); | ||
18 | + | ||
19 | + let groupList = Vue.ref([]); | ||
20 | + let userList = Vue.ref([]); | ||
21 | + let stackedGraphGroupData = Vue.ref({}); | ||
22 | + let stackedGraphUserData = Vue.ref({}); | ||
23 | + | ||
24 | + // 搜索 | ||
25 | + let search = Vue.ref({ | ||
26 | + groupId: '', | ||
27 | + userId: '', | ||
28 | + dateType: 'today', | ||
29 | + dateTime: '', | ||
30 | + page: 1, | ||
31 | + limit: 20, | ||
32 | + }); | ||
33 | + | ||
34 | + /** | ||
35 | + * 初始化报表 | ||
36 | + */ | ||
37 | + const loadPage = (dateType) => { | ||
38 | + | ||
39 | + // 加载表格内容 | ||
40 | + if (dateType && dateType != '') { | ||
41 | + // 设置最新的类型 | ||
42 | + search.value.dateType = dateType; | ||
43 | + } else { | ||
44 | + // 获取当前点击的配置 | ||
45 | + dateType = search.value.dateType; | ||
46 | + } | ||
47 | + | ||
48 | + if (dateType != 'dateRange') { | ||
49 | + search.value.dateTime = []; | ||
50 | + } else { | ||
51 | + if (search.value.dateTime && search.value.dateTime.length == 0) { | ||
52 | + // 时间范围 | ||
53 | + proxy.$global.showMsg("请选择开始结束时间!", "warning"); | ||
54 | + return; | ||
55 | + } | ||
56 | + } | ||
57 | + | ||
58 | + let startTime = ''; | ||
59 | + let endTime = '' | ||
60 | + if (search.value.dateTime && search.value.dateTime.length > 0) { | ||
61 | + startTime = search.value.dateTime[0]; | ||
62 | + endTime = search.value.dateTime[1]; | ||
63 | + } | ||
64 | + let params = { | ||
65 | + page: search.value.page, | ||
66 | + limit: search.value.limit, | ||
67 | + id: search.value.groupId, | ||
68 | + userName: localStorage.getItem('lgn'), | ||
69 | + timeType: search.value.dateType, | ||
70 | + startTime: startTime, | ||
71 | + endTime: endTime | ||
72 | + } | ||
73 | + | ||
74 | + // 下拉列表选项 | ||
75 | + operationLogService.getOperationLogGroupAndUserList(groupList); | ||
76 | + | ||
77 | + // 查询列表 | ||
78 | + operationLogService.pageList(params,tableData); | ||
79 | + } | ||
80 | + | ||
81 | + /** | ||
82 | + * 变更巡检组,获取用户列表 | ||
83 | + * @param val | ||
84 | + */ | ||
85 | + const getGroupUser = (val) => { | ||
86 | + let group = groupList.value.filter(item => { | ||
87 | + if (item.groupId === val) { | ||
88 | + return item; | ||
89 | + } | ||
90 | + }); | ||
91 | + if(group && group.length > 0){ | ||
92 | + userList.value = group[0].groupUser; | ||
93 | + } | ||
94 | + } | ||
95 | + | ||
96 | + /** | ||
97 | + * 分页事件,加载数据 | ||
98 | + * @param page | ||
99 | + * @param limit | ||
100 | + */ | ||
101 | + const loaddata = ({page, limit}) => { | ||
102 | + search.value.page = page; | ||
103 | + search.value.limit = limit; | ||
104 | + | ||
105 | + loadPage(''); | ||
106 | + } | ||
107 | + | ||
108 | + | ||
109 | + //表格字段 | ||
110 | + let tableData = Vue.ref({ | ||
111 | + count: 0, | ||
112 | + dataList: [], | ||
113 | + columns: [ | ||
114 | + { | ||
115 | + prop: 'groupName', | ||
116 | + label: '组名称', | ||
117 | + sortable: true, | ||
118 | + align: 'center', | ||
119 | + width: '180' | ||
120 | + }, | ||
121 | + { | ||
122 | + prop: 'nickName', | ||
123 | + label: '用户名', | ||
124 | + sortable: true, | ||
125 | + align: 'center', | ||
126 | + width: '150' | ||
127 | + }, | ||
128 | + { | ||
129 | + prop: 'createTime', | ||
130 | + label: '时间', | ||
131 | + sortable: true, | ||
132 | + align: 'center', | ||
133 | + width: '170', | ||
134 | + }, | ||
135 | + { | ||
136 | + prop: 'ip', | ||
137 | + label: 'IP地址', | ||
138 | + sortable: true, | ||
139 | + align: 'center', | ||
140 | + width: '150' | ||
141 | + }, { | ||
142 | + prop: 'link', | ||
143 | + label: '访问位置', | ||
144 | + sortable: true, | ||
145 | + align: 'center', | ||
146 | + }, { | ||
147 | + prop: 'dwellTime', | ||
148 | + label: '停留总时长', | ||
149 | + sortable: true, | ||
150 | + align: 'center', | ||
151 | + width: '150' | ||
152 | + } | ||
153 | + ] | ||
154 | + }) | ||
155 | + //点击时间选择时,其他按钮不高亮 | ||
156 | + let dateFocus = () => { | ||
157 | + search.value.dateType = 'dateRange'; | ||
158 | + } | ||
159 | + //时间更改事件 | ||
160 | + let dateChange = (val) => { | ||
161 | + loadPage('dateRange') | ||
162 | + } | ||
163 | + | ||
164 | + | ||
165 | + // let getDataList = (dateType) => { | ||
166 | + // if (dateType) { | ||
167 | + // // 设置最新的类型 | ||
168 | + // search.value.dateType = dateType; | ||
169 | + // } else { | ||
170 | + // // 获取当前点击的配置 | ||
171 | + // dateType = search.value.dateType; | ||
172 | + // } | ||
173 | + // | ||
174 | + // if (dateType != 'dateRange') { | ||
175 | + // search.value.dateTime = []; | ||
176 | + // } else { | ||
177 | + // if (search.value.dateTime && search.value.dateTime.length == 0) { | ||
178 | + // // 时间范围 | ||
179 | + // proxy.$global.showMsg("请选择开始结束时间!", "warning"); | ||
180 | + // return; | ||
181 | + // } | ||
182 | + // } | ||
183 | + // | ||
184 | + // let startTime = ''; | ||
185 | + // let endTime = '' | ||
186 | + // if (search.value.dateTime && search.value.dateTime.length > 0) { | ||
187 | + // startTime = search.value.dateTime[0]; | ||
188 | + // endTime = search.value.dateTime[1]; | ||
189 | + // } | ||
190 | + // let params = { | ||
191 | + // page: search.value.page, | ||
192 | + // limit: search.value.limit, | ||
193 | + // id: search.value.groupId, | ||
194 | + // userName: search.value.userId, | ||
195 | + // timeType: search.value.dateType, | ||
196 | + // startTime: startTime, | ||
197 | + // endTime: endTime | ||
198 | + // } | ||
199 | + // // // 查询列表 | ||
200 | + // operationLogService.pageList(params,tableData); | ||
201 | + // | ||
202 | + // } | ||
203 | + | ||
204 | + | ||
205 | + // 挂载完 | ||
206 | + Vue.onMounted(() => { | ||
207 | + // 默认加载搜索条件、统计图、表格 | ||
208 | + loadPage(); | ||
209 | + | ||
210 | + }) | ||
211 | + | ||
212 | + return { | ||
213 | + height, | ||
214 | + groupList, | ||
215 | + userList, | ||
216 | + // 搜索条件 | ||
217 | + search, | ||
218 | + getGroupUser, | ||
219 | + dateFocus, | ||
220 | + dateChange, | ||
221 | + | ||
222 | + stackedGraphGroupData, | ||
223 | + stackedGraphUserData, | ||
224 | + | ||
225 | + // 搜索数据 | ||
226 | + loadPage, | ||
227 | + loaddata, | ||
228 | + | ||
229 | + // 表格数据 | ||
230 | + tableData | ||
231 | + } | ||
232 | + } | ||
233 | + | ||
234 | +} |
@@ -52,15 +52,15 @@ | @@ -52,15 +52,15 @@ | ||
52 | 52 | ||
53 | <el-row :gutter="20" style="padding: 3px 10px;"> | 53 | <el-row :gutter="20" style="padding: 3px 10px;"> |
54 | <el-col :span="8"> | 54 | <el-col :span="8"> |
55 | - <h3 style="text-align: left;color:#2b9eef;">资源类型快照量TOP5</h3> | 55 | + <h3 class="page-item-title-h3">资源类型快照量TOP5</h3> |
56 | <div ref="bizChartsRefs" style="width: 100%;height: 320px;border: 1px solid #e4e4e4;"></div> | 56 | <div ref="bizChartsRefs" style="width: 100%;height: 320px;border: 1px solid #e4e4e4;"></div> |
57 | </el-col> | 57 | </el-col> |
58 | <el-col :span="8"> | 58 | <el-col :span="8"> |
59 | - <h3 style="text-align: left;color:#2b9eef;">业务系统快照量TOP5</h3> | 59 | + <h3 class="page-item-title-h3">业务系统快照量TOP5</h3> |
60 | <div ref="devChartsRefs" style="width: 100%;height: 320px;border: 1px solid #e4e4e4;"></div> | 60 | <div ref="devChartsRefs" style="width: 100%;height: 320px;border: 1px solid #e4e4e4;"></div> |
61 | </el-col> | 61 | </el-col> |
62 | <el-col :span="8"> | 62 | <el-col :span="8"> |
63 | - <h3 style="text-align: left;color:#2b9eef;">快照量</h3> | 63 | + <h3 class="page-item-title-h3">快照量</h3> |
64 | <div ref="snapshotChartsRefs" style="width: 100%;height: 320px;border: 1px solid #e4e4e4;"></div> | 64 | <div ref="snapshotChartsRefs" style="width: 100%;height: 320px;border: 1px solid #e4e4e4;"></div> |
65 | </el-col> | 65 | </el-col> |
66 | </el-row> | 66 | </el-row> |
@@ -284,6 +284,12 @@ const routes = [{ | @@ -284,6 +284,12 @@ const routes = [{ | ||
284 | path: '/vue3/operationLog', | 284 | path: '/vue3/operationLog', |
285 | name: 'operationLog', | 285 | name: 'operationLog', |
286 | component: () => myImport('views/operationLog/index') | 286 | component: () => myImport('views/operationLog/index') |
287 | + }, | ||
288 | + //操作日志 - 用户列表 | ||
289 | + { | ||
290 | + path: '/vue3/operationLog/userList', | ||
291 | + name: 'operationLogUserList', | ||
292 | + component: () => myImport('views/operationLog/userList') | ||
287 | } | 293 | } |
288 | ]; | 294 | ]; |
289 | 295 |
-
Please register or login to post a comment