Authored by xwx

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 1772 additions and 953 deletions
@@ -734,7 +734,6 @@ layui.extend({ @@ -734,7 +734,6 @@ layui.extend({
734 tryFunc(); 734 tryFunc();
735 }) 735 })
736 736
737 - layui.pageTips.ajaxSetupInit();  
738 737
739 //对外输出 738 //对外输出
740 exports('index', { 739 exports('index', {
@@ -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
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 - }  
73 -  
74 - },  
75 -  
76 - /**  
77 - * hash变更  
78 - */  
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 }, 74 },
92 75
93 - ajaxSetupInit: function () { 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 + // },
94 92
95 - // sessionStorage.setItem("batchNo", "");  
96 - // sessionStorage.setItem("groupId", ""); 93 + // ajaxSetupInit: function () {
97 // 94 //
98 // // 清空按钮名称 95 // // 清空按钮名称
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"))), 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 + // },
115 115
116 - menuPath: this.getPath("menuPath"),  
117 - menuName: this.getEncodeName('menuName'),//encodeURIComponent(sessionStorage.getItem("menuName")),  
118 116
119 - buttonPath: this.getPath("buttonPath"),  
120 - buttonName: this.getEncodeName('buttonName'),//encodeURIComponent(sessionStorage.getItem("buttonName"))  
121 - }  
122 - }); 117 + /**
  118 + * 定时刷新任务
  119 + * @constructor
  120 + */
  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);
  308 + }
  309 + },
  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 + })
319 } 320 }
320 }, 321 },
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 322
330 - let layHref = thisObj.attr('lay-href') ? thisObj.attr('lay-href') : '';  
331 - sessionStorage.setItem("buttonName", thisObj.text());  
332 - sessionStorage.setItem("buttonPath", layHref);  
333 323
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 - // }  
354 - }, 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}元素点击事件绑定完成!`) 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}元素点击事件绑定完成!`)
366 // $(item).unbind('click.handle').on('click.handle', (function (e) { 352 // $(item).unbind('click.handle').on('click.handle', (function (e) {
367 // e.preventDefault(); 353 // e.preventDefault();
368 // that.clickEventHandle($(this), item) 354 // that.clickEventHandle($(this), item)
369 // })) 355 // }))
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 - }) 356 + // }, 500)
  357 + // })
379 }, 358 },
380 /** 359 /**
381 * 绑定鼠标右键事件 360 * 绑定鼠标右键事件
1 -<title>操作日志</title> 1 +<title>操作日志统计</title>
2 <iframe class="layadmin-iframe" src="/vue3/index.html#/vue3/operationLog" style="height: 99.5%!important;"/> 2 <iframe class="layadmin-iframe" src="/vue3/index.html#/vue3/operationLog" style="height: 99.5%!important;"/>
  1 +<title>我的操作日志</title>
  2 +<iframe class="layadmin-iframe" src="/vue3/index.html#/vue3/operationLog/userList" style="height: 99.5%!important;"/>
@@ -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 264 + width: 10px;
  265 +. el-scrollbar__bar . is-horizontal > div
190 } 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 -}  
@@ -215,35 +215,35 @@ @@ -215,35 +215,35 @@
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 { 218 +.markdown>p,
  219 +.markdown>blockquote,
  220 +.markdown>.highlight,
  221 +.markdown>ol,
  222 +.markdown>ul {
223 width: 80%; 223 width: 80%;
224 } 224 }
225 225
226 -.markdown ul > li { 226 +.markdown ul>li {
227 list-style: circle; 227 list-style: circle;
228 } 228 }
229 229
230 -.markdown > ul li,  
231 -.markdown blockquote ul > li { 230 +.markdown>ul li,
  231 +.markdown blockquote ul>li {
232 margin-left: 20px; 232 margin-left: 20px;
233 padding-left: 4px; 233 padding-left: 4px;
234 } 234 }
235 235
236 -.markdown > ul li p,  
237 -.markdown > ol li p { 236 +.markdown>ul li p,
  237 +.markdown>ol li p {
238 margin: 0.6em 0; 238 margin: 0.6em 0;
239 } 239 }
240 240
241 -.markdown ol > li { 241 +.markdown ol>li {
242 list-style: decimal; 242 list-style: decimal;
243 } 243 }
244 244
245 -.markdown > ol li,  
246 -.markdown blockquote ol > li { 245 +.markdown>ol li,
  246 +.markdown blockquote ol>li {
247 margin-left: 20px; 247 margin-left: 20px;
248 padding-left: 4px; 248 padding-left: 4px;
249 } 249 }
@@ -260,7 +260,7 @@ @@ -260,7 +260,7 @@
260 font-weight: 600; 260 font-weight: 600;
261 } 261 }
262 262
263 -.markdown > table { 263 +.markdown>table {
264 border-collapse: collapse; 264 border-collapse: collapse;
265 border-spacing: 0px; 265 border-spacing: 0px;
266 empty-cells: show; 266 empty-cells: show;
@@ -269,20 +269,20 @@ @@ -269,20 +269,20 @@
269 margin-bottom: 24px; 269 margin-bottom: 24px;
270 } 270 }
271 271
272 -.markdown > table th { 272 +.markdown>table th {
273 white-space: nowrap; 273 white-space: nowrap;
274 color: #333; 274 color: #333;
275 font-weight: 600; 275 font-weight: 600;
276 } 276 }
277 277
278 -.markdown > table th,  
279 -.markdown > table td { 278 +.markdown>table th,
  279 +.markdown>table td {
280 border: 1px solid #e9e9e9; 280 border: 1px solid #e9e9e9;
281 padding: 8px 16px; 281 padding: 8px 16px;
282 text-align: left; 282 text-align: left;
283 } 283 }
284 284
285 -.markdown > table th { 285 +.markdown>table th {
286 background: #F7F7F7; 286 background: #F7F7F7;
287 } 287 }
288 288
@@ -318,8 +318,8 @@ @@ -318,8 +318,8 @@
318 display: inline-block; 318 display: inline-block;
319 } 319 }
320 320
321 -.markdown > br,  
322 -.markdown > p > br { 321 +.markdown>br,
  322 +.markdown>p>br {
323 clear: both; 323 clear: both;
324 } 324 }
325 325
@@ -453,13 +453,13 @@ pre[class*="language-"] { @@ -453,13 +453,13 @@ pre[class*="language-"] {
453 overflow: auto; 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-"] { 462 +:not(pre)>code[class*="language-"] {
463 padding: .1em; 463 padding: .1em;
464 border-radius: .3em; 464 border-radius: .3em;
465 white-space: normal; 465 white-space: normal;
@@ -3,14 +3,11 @@ @@ -3,14 +3,11 @@
3 <head> 3 <head>
4 <meta charset="utf-8"/> 4 <meta charset="utf-8"/>
5 <title>iconfont Demo</title> 5 <title>iconfont Demo</title>
6 - <link href="//img.alicdn.com/imgextra/i2/O1CN01ZyAlrn1MwaMhqz36G_!!6000000001499-73-tps-64-64.ico"  
7 - rel="shortcut icon"  
8 - type="image/x-icon"/>  
9 - <link href="//img.alicdn.com/imgextra/i4/O1CN01EYTRnJ297D6vehehJ_!!6000000008020-55-tps-64-64.svg" rel="icon"  
10 - type="image/svg+xml"/>  
11 - <link href="https://g.alicdn.com/thx/cube/1.3.2/cube.min.css" rel="stylesheet">  
12 - <link href="demo.css" rel="stylesheet">  
13 - <link href="iconfont.css" rel="stylesheet"> 6 + <link rel="shortcut icon" href="//img.alicdn.com/imgextra/i2/O1CN01ZyAlrn1MwaMhqz36G_!!6000000001499-73-tps-64-64.ico" type="image/x-icon"/>
  7 + <link rel="icon" type="image/svg+xml" href="//img.alicdn.com/imgextra/i4/O1CN01EYTRnJ297D6vehehJ_!!6000000008020-55-tps-64-64.svg"/>
  8 + <link rel="stylesheet" href="https://g.alicdn.com/thx/cube/1.3.2/cube.min.css">
  9 + <link rel="stylesheet" href="demo.css">
  10 + <link rel="stylesheet" href="iconfont.css">
14 <script src="iconfont.js"></script> 11 <script src="iconfont.js"></script>
15 <!-- jQuery --> 12 <!-- jQuery -->
16 <script src="https://a1.alicdn.com/oss/uploads/2018/12/26/7bfddb60-08e8-11e9-9b04-53e73bb6408b.js"></script> 13 <script src="https://a1.alicdn.com/oss/uploads/2018/12/26/7bfddb60-08e8-11e9-9b04-53e73bb6408b.js"></script>
@@ -38,21 +35,19 @@ @@ -38,21 +35,19 @@
38 </style> 35 </style>
39 </head> 36 </head>
40 <body> 37 <body>
41 -<div class="main">  
42 - <h1 class="logo"><a href="https://www.iconfont.cn/" target="_blank" title="iconfont 首页">  
43 - <img src="https://img.alicdn.com/imgextra/i3/O1CN01Mn65HV1FfSEzR6DKv_!!6000000000514-55-tps-228-59.svg"  
44 - width="200"> 38 + <div class="main">
  39 + <h1 class="logo"><a href="https://www.iconfont.cn/" title="iconfont 首页" target="_blank">
  40 + <img width="200" src="https://img.alicdn.com/imgextra/i3/O1CN01Mn65HV1FfSEzR6DKv_!!6000000000514-55-tps-228-59.svg">
45 41
46 </a></h1> 42 </a></h1>
47 <div class="nav-tabs"> 43 <div class="nav-tabs">
48 - <ul class="dib-box" id="tabs"> 44 + <ul id="tabs" class="dib-box">
49 <li class="dib active"><span>Unicode</span></li> 45 <li class="dib active"><span>Unicode</span></li>
50 <li class="dib"><span>Font class</span></li> 46 <li class="dib"><span>Font class</span></li>
51 <li class="dib"><span>Symbol</span></li> 47 <li class="dib"><span>Symbol</span></li>
52 </ul> 48 </ul>
53 49
54 - <a class="nav-more" href="https://www.iconfont.cn/manage/index?manage_type=myprojects&projectId=2843738"  
55 - target="_blank">查看项目</a> 50 + <a href="https://www.iconfont.cn/manage/index?manage_type=myprojects&projectId=2843738" target="_blank" class="nav-more">查看项目</a>
56 51
57 </div> 52 </div>
58 <div class="tab-container"> 53 <div class="tab-container">
@@ -60,6 +55,48 @@ @@ -60,6 +55,48 @@
60 <ul class="icon_lists dib-box"> 55 <ul class="icon_lists dib-box">
61 56
62 <li class="dib"> 57 <li class="dib">
  58 + <span class="icon iconfont">&#xe67c;</span>
  59 + <div class="name">提示</div>
  60 + <div class="code-name">&amp;#xe67c;</div>
  61 + </li>
  62 +
  63 + <li class="dib">
  64 + <span class="icon iconfont">&#xec1e;</span>
  65 + <div class="name"></div>
  66 + <div class="code-name">&amp;#xec1e;</div>
  67 + </li>
  68 +
  69 + <li class="dib">
  70 + <span class="icon iconfont">&#xe8c4;</span>
  71 + <div class="name">216更多-竖向</div>
  72 + <div class="code-name">&amp;#xe8c4;</div>
  73 + </li>
  74 +
  75 + <li class="dib">
  76 + <span class="icon iconfont">&#xe67b;</span>
  77 + <div class="name">微信</div>
  78 + <div class="code-name">&amp;#xe67b;</div>
  79 + </li>
  80 +
  81 + <li class="dib">
  82 + <span class="icon iconfont">&#xe908;</span>
  83 + <div class="name">邮箱</div>
  84 + <div class="code-name">&amp;#xe908;</div>
  85 + </li>
  86 +
  87 + <li class="dib">
  88 + <span class="icon iconfont">&#xeb42;</span>
  89 + <div class="name">短信群发</div>
  90 + <div class="code-name">&amp;#xeb42;</div>
  91 + </li>
  92 +
  93 + <li class="dib">
  94 + <span class="icon iconfont">&#xea6f;</span>
  95 + <div class="name">业务资源拓扑</div>
  96 + <div class="code-name">&amp;#xea6f;</div>
  97 + </li>
  98 +
  99 + <li class="dib">
63 <span class="icon iconfont">&#xeb67;</span> 100 <span class="icon iconfont">&#xeb67;</span>
64 <div class="name">仪表盘</div> 101 <div class="name">仪表盘</div>
65 <div class="code-name">&amp;#xeb67;</div> 102 <div class="code-name">&amp;#xeb67;</div>
@@ -1412,17 +1449,17 @@ @@ -1412,17 +1449,17 @@
1412 </blockquote> 1449 </blockquote>
1413 <p>Unicode 使用步骤如下:</p> 1450 <p>Unicode 使用步骤如下:</p>
1414 <h3 id="-font-face">第一步:拷贝项目下面生成的 <code>@font-face</code></h3> 1451 <h3 id="-font-face">第一步:拷贝项目下面生成的 <code>@font-face</code></h3>
1415 - <pre><code class="language-css"  
1416 - >@font-face { 1452 +<pre><code class="language-css"
  1453 +>@font-face {
1417 font-family: 'iconfont'; 1454 font-family: 'iconfont';
1418 - src: url('iconfont.woff2?t=1639498542236') format('woff2'),  
1419 - url('iconfont.woff?t=1639498542236') format('woff'),  
1420 - url('iconfont.ttf?t=1639498542236') format('truetype'); 1455 + src: url('iconfont.woff2?t=1659325108758') format('woff2'),
  1456 + url('iconfont.woff?t=1659325108758') format('woff'),
  1457 + url('iconfont.ttf?t=1659325108758') format('truetype');
1421 } 1458 }
1422 </code></pre> 1459 </code></pre>
1423 <h3 id="-iconfont-">第二步:定义使用 iconfont 的样式</h3> 1460 <h3 id="-iconfont-">第二步:定义使用 iconfont 的样式</h3>
1424 - <pre><code class="language-css"  
1425 - >.iconfont { 1461 +<pre><code class="language-css"
  1462 +>.iconfont {
1426 font-family: "iconfont" !important; 1463 font-family: "iconfont" !important;
1427 font-size: 16px; 1464 font-size: 16px;
1428 font-style: normal; 1465 font-style: normal;
@@ -1431,7 +1468,7 @@ @@ -1431,7 +1468,7 @@
1431 } 1468 }
1432 </code></pre> 1469 </code></pre>
1433 <h3 id="-">第三步:挑选相应图标并获取字体编码,应用于页面</h3> 1470 <h3 id="-">第三步:挑选相应图标并获取字体编码,应用于页面</h3>
1434 - <pre> 1471 +<pre>
1435 <code class="language-html" 1472 <code class="language-html"
1436 >&lt;span class="iconfont"&gt;&amp;#x33;&lt;/span&gt; 1473 >&lt;span class="iconfont"&gt;&amp;#x33;&lt;/span&gt;
1437 </code></pre> 1474 </code></pre>
@@ -1444,6 +1481,69 @@ @@ -1444,6 +1481,69 @@
1444 <ul class="icon_lists dib-box"> 1481 <ul class="icon_lists dib-box">
1445 1482
1446 <li class="dib"> 1483 <li class="dib">
  1484 + <span class="icon iconfont icon-tishi"></span>
  1485 + <div class="name">
  1486 + 提示
  1487 + </div>
  1488 + <div class="code-name">.icon-tishi
  1489 + </div>
  1490 + </li>
  1491 +
  1492 + <li class="dib">
  1493 + <span class="icon iconfont icon-dian"></span>
  1494 + <div class="name">
  1495 +
  1496 + </div>
  1497 + <div class="code-name">.icon-dian
  1498 + </div>
  1499 + </li>
  1500 +
  1501 + <li class="dib">
  1502 + <span class="icon iconfont icon-gengduo-shuxiang"></span>
  1503 + <div class="name">
  1504 + 216更多-竖向
  1505 + </div>
  1506 + <div class="code-name">.icon-gengduo-shuxiang
  1507 + </div>
  1508 + </li>
  1509 +
  1510 + <li class="dib">
  1511 + <span class="icon iconfont icon-weixin"></span>
  1512 + <div class="name">
  1513 + 微信
  1514 + </div>
  1515 + <div class="code-name">.icon-weixin
  1516 + </div>
  1517 + </li>
  1518 +
  1519 + <li class="dib">
  1520 + <span class="icon iconfont icon-youxiang"></span>
  1521 + <div class="name">
  1522 + 邮箱
  1523 + </div>
  1524 + <div class="code-name">.icon-youxiang
  1525 + </div>
  1526 + </li>
  1527 +
  1528 + <li class="dib">
  1529 + <span class="icon iconfont icon-duanxinqunfa"></span>
  1530 + <div class="name">
  1531 + 短信群发
  1532 + </div>
  1533 + <div class="code-name">.icon-duanxinqunfa
  1534 + </div>
  1535 + </li>
  1536 +
  1537 + <li class="dib">
  1538 + <span class="icon iconfont icon-yewuziyuantuopu"></span>
  1539 + <div class="name">
  1540 + 业务资源拓扑
  1541 + </div>
  1542 + <div class="code-name">.icon-yewuziyuantuopu
  1543 + </div>
  1544 + </li>
  1545 +
  1546 + <li class="dib">
1447 <span class="icon iconfont icon-yibiaopan"></span> 1547 <span class="icon iconfont icon-yibiaopan"></span>
1448 <div class="name"> 1548 <div class="name">
1449 仪表盘 1549 仪表盘
@@ -3463,10 +3563,10 @@ @@ -3463,10 +3563,10 @@
3463 </ul> 3563 </ul>
3464 <p>使用步骤如下:</p> 3564 <p>使用步骤如下:</p>
3465 <h3 id="-fontclass-">第一步:引入项目下面生成的 fontclass 代码:</h3> 3565 <h3 id="-fontclass-">第一步:引入项目下面生成的 fontclass 代码:</h3>
3466 - <pre><code class="language-html">&lt;link rel="stylesheet" href="./iconfont.css"&gt; 3566 +<pre><code class="language-html">&lt;link rel="stylesheet" href="./iconfont.css"&gt;
3467 </code></pre> 3567 </code></pre>
3468 <h3 id="-">第二步:挑选相应图标并获取类名,应用于页面:</h3> 3568 <h3 id="-">第二步:挑选相应图标并获取类名,应用于页面:</h3>
3469 - <pre><code class="language-html">&lt;span class="iconfont icon-xxx"&gt;&lt;/span&gt; 3569 +<pre><code class="language-html">&lt;span class="iconfont icon-xxx"&gt;&lt;/span&gt;
3470 </code></pre> 3570 </code></pre>
3471 <blockquote> 3571 <blockquote>
3472 <p>" 3572 <p>"
@@ -3478,7 +3578,63 @@ @@ -3478,7 +3578,63 @@
3478 <ul class="icon_lists dib-box"> 3578 <ul class="icon_lists dib-box">
3479 3579
3480 <li class="dib"> 3580 <li class="dib">
3481 - <svg aria-hidden="true" class="icon svg-icon"> 3581 + <svg class="icon svg-icon" aria-hidden="true">
  3582 + <use xlink:href="#icon-tishi"></use>
  3583 + </svg>
  3584 + <div class="name">提示</div>
  3585 + <div class="code-name">#icon-tishi</div>
  3586 + </li>
  3587 +
  3588 + <li class="dib">
  3589 + <svg class="icon svg-icon" aria-hidden="true">
  3590 + <use xlink:href="#icon-dian"></use>
  3591 + </svg>
  3592 + <div class="name"></div>
  3593 + <div class="code-name">#icon-dian</div>
  3594 + </li>
  3595 +
  3596 + <li class="dib">
  3597 + <svg class="icon svg-icon" aria-hidden="true">
  3598 + <use xlink:href="#icon-gengduo-shuxiang"></use>
  3599 + </svg>
  3600 + <div class="name">216更多-竖向</div>
  3601 + <div class="code-name">#icon-gengduo-shuxiang</div>
  3602 + </li>
  3603 +
  3604 + <li class="dib">
  3605 + <svg class="icon svg-icon" aria-hidden="true">
  3606 + <use xlink:href="#icon-weixin"></use>
  3607 + </svg>
  3608 + <div class="name">微信</div>
  3609 + <div class="code-name">#icon-weixin</div>
  3610 + </li>
  3611 +
  3612 + <li class="dib">
  3613 + <svg class="icon svg-icon" aria-hidden="true">
  3614 + <use xlink:href="#icon-youxiang"></use>
  3615 + </svg>
  3616 + <div class="name">邮箱</div>
  3617 + <div class="code-name">#icon-youxiang</div>
  3618 + </li>
  3619 +
  3620 + <li class="dib">
  3621 + <svg class="icon svg-icon" aria-hidden="true">
  3622 + <use xlink:href="#icon-duanxinqunfa"></use>
  3623 + </svg>
  3624 + <div class="name">短信群发</div>
  3625 + <div class="code-name">#icon-duanxinqunfa</div>
  3626 + </li>
  3627 +
  3628 + <li class="dib">
  3629 + <svg class="icon svg-icon" aria-hidden="true">
  3630 + <use xlink:href="#icon-yewuziyuantuopu"></use>
  3631 + </svg>
  3632 + <div class="name">业务资源拓扑</div>
  3633 + <div class="code-name">#icon-yewuziyuantuopu</div>
  3634 + </li>
  3635 +
  3636 + <li class="dib">
  3637 + <svg class="icon svg-icon" aria-hidden="true">
3482 <use xlink:href="#icon-yibiaopan"></use> 3638 <use xlink:href="#icon-yibiaopan"></use>
3483 </svg> 3639 </svg>
3484 <div class="name">仪表盘</div> 3640 <div class="name">仪表盘</div>
@@ -3486,7 +3642,7 @@ @@ -3486,7 +3642,7 @@
3486 </li> 3642 </li>
3487 3643
3488 <li class="dib"> 3644 <li class="dib">
3489 - <svg aria-hidden="true" class="icon svg-icon"> 3645 + <svg class="icon svg-icon" aria-hidden="true">
3490 <use xlink:href="#icon-nginx"></use> 3646 <use xlink:href="#icon-nginx"></use>
3491 </svg> 3647 </svg>
3492 <div class="name">nginx</div> 3648 <div class="name">nginx</div>
@@ -3494,7 +3650,7 @@ @@ -3494,7 +3650,7 @@
3494 </li> 3650 </li>
3495 3651
3496 <li class="dib"> 3652 <li class="dib">
3497 - <svg aria-hidden="true" class="icon svg-icon"> 3653 + <svg class="icon svg-icon" aria-hidden="true">
3498 <use xlink:href="#icon-dianya"></use> 3654 <use xlink:href="#icon-dianya"></use>
3499 </svg> 3655 </svg>
3500 <div class="name">电流</div> 3656 <div class="name">电流</div>
@@ -3502,7 +3658,7 @@ @@ -3502,7 +3658,7 @@
3502 </li> 3658 </li>
3503 3659
3504 <li class="dib"> 3660 <li class="dib">
3505 - <svg aria-hidden="true" class="icon svg-icon"> 3661 + <svg class="icon svg-icon" aria-hidden="true">
3506 <use xlink:href="#icon-shujujiekou"></use> 3662 <use xlink:href="#icon-shujujiekou"></use>
3507 </svg> 3663 </svg>
3508 <div class="name">数据接口</div> 3664 <div class="name">数据接口</div>
@@ -3510,7 +3666,7 @@ @@ -3510,7 +3666,7 @@
3510 </li> 3666 </li>
3511 3667
3512 <li class="dib"> 3668 <li class="dib">
3513 - <svg aria-hidden="true" class="icon svg-icon"> 3669 + <svg class="icon svg-icon" aria-hidden="true">
3514 <use xlink:href="#icon-xudianchizu"></use> 3670 <use xlink:href="#icon-xudianchizu"></use>
3515 </svg> 3671 </svg>
3516 <div class="name">蓄电池组</div> 3672 <div class="name">蓄电池组</div>
@@ -3518,7 +3674,7 @@ @@ -3518,7 +3674,7 @@
3518 </li> 3674 </li>
3519 3675
3520 <li class="dib"> 3676 <li class="dib">
3521 - <svg aria-hidden="true" class="icon svg-icon"> 3677 + <svg class="icon svg-icon" aria-hidden="true">
3522 <use xlink:href="#icon-tomcat2"></use> 3678 <use xlink:href="#icon-tomcat2"></use>
3523 </svg> 3679 </svg>
3524 <div class="name">tomcat</div> 3680 <div class="name">tomcat</div>
@@ -3526,7 +3682,7 @@ @@ -3526,7 +3682,7 @@
3526 </li> 3682 </li>
3527 3683
3528 <li class="dib"> 3684 <li class="dib">
3529 - <svg aria-hidden="true" class="icon svg-icon"> 3685 + <svg class="icon svg-icon" aria-hidden="true">
3530 <use xlink:href="#icon-xiaoxingji"></use> 3686 <use xlink:href="#icon-xiaoxingji"></use>
3531 </svg> 3687 </svg>
3532 <div class="name">小型机</div> 3688 <div class="name">小型机</div>
@@ -3534,7 +3690,7 @@ @@ -3534,7 +3690,7 @@
3534 </li> 3690 </li>
3535 3691
3536 <li class="dib"> 3692 <li class="dib">
3537 - <svg aria-hidden="true" class="icon svg-icon"> 3693 + <svg class="icon svg-icon" aria-hidden="true">
3538 <use xlink:href="#icon-dianyabiao"></use> 3694 <use xlink:href="#icon-dianyabiao"></use>
3539 </svg> 3695 </svg>
3540 <div class="name">电压表</div> 3696 <div class="name">电压表</div>
@@ -3542,7 +3698,7 @@ @@ -3542,7 +3698,7 @@
3542 </li> 3698 </li>
3543 3699
3544 <li class="dib"> 3700 <li class="dib">
3545 - <svg aria-hidden="true" class="icon svg-icon"> 3701 + <svg class="icon svg-icon" aria-hidden="true">
3546 <use xlink:href="#icon-suzhuji"></use> 3702 <use xlink:href="#icon-suzhuji"></use>
3547 </svg> 3703 </svg>
3548 <div class="name">宿主机</div> 3704 <div class="name">宿主机</div>
@@ -3550,7 +3706,7 @@ @@ -3550,7 +3706,7 @@
3550 </li> 3706 </li>
3551 3707
3552 <li class="dib"> 3708 <li class="dib">
3553 - <svg aria-hidden="true" class="icon svg-icon"> 3709 + <svg class="icon svg-icon" aria-hidden="true">
3554 <use xlink:href="#icon-kongtiao1"></use> 3710 <use xlink:href="#icon-kongtiao1"></use>
3555 </svg> 3711 </svg>
3556 <div class="name">空调</div> 3712 <div class="name">空调</div>
@@ -3558,7 +3714,7 @@ @@ -3558,7 +3714,7 @@
3558 </li> 3714 </li>
3559 3715
3560 <li class="dib"> 3716 <li class="dib">
3561 - <svg aria-hidden="true" class="icon svg-icon"> 3717 + <svg class="icon svg-icon" aria-hidden="true">
3562 <use xlink:href="#icon-kaiguan"></use> 3718 <use xlink:href="#icon-kaiguan"></use>
3563 </svg> 3719 </svg>
3564 <div class="name">开关</div> 3720 <div class="name">开关</div>
@@ -3566,7 +3722,7 @@ @@ -3566,7 +3722,7 @@
3566 </li> 3722 </li>
3567 3723
3568 <li class="dib"> 3724 <li class="dib">
3569 - <svg aria-hidden="true" class="icon svg-icon"> 3725 + <svg class="icon svg-icon" aria-hidden="true">
3570 <use xlink:href="#icon-wenduji"></use> 3726 <use xlink:href="#icon-wenduji"></use>
3571 </svg> 3727 </svg>
3572 <div class="name">温度计</div> 3728 <div class="name">温度计</div>
@@ -3574,7 +3730,7 @@ @@ -3574,7 +3730,7 @@
3574 </li> 3730 </li>
3575 3731
3576 <li class="dib"> 3732 <li class="dib">
3577 - <svg aria-hidden="true" class="icon svg-icon"> 3733 + <svg class="icon svg-icon" aria-hidden="true">
3578 <use xlink:href="#icon-kaiguan1"></use> 3734 <use xlink:href="#icon-kaiguan1"></use>
3579 </svg> 3735 </svg>
3580 <div class="name">开关</div> 3736 <div class="name">开关</div>
@@ -3582,7 +3738,7 @@ @@ -3582,7 +3738,7 @@
3582 </li> 3738 </li>
3583 3739
3584 <li class="dib"> 3740 <li class="dib">
3585 - <svg aria-hidden="true" class="icon svg-icon"> 3741 + <svg class="icon svg-icon" aria-hidden="true">
3586 <use xlink:href="#icon-xuehua"></use> 3742 <use xlink:href="#icon-xuehua"></use>
3587 </svg> 3743 </svg>
3588 <div class="name">雪花</div> 3744 <div class="name">雪花</div>
@@ -3590,7 +3746,7 @@ @@ -3590,7 +3746,7 @@
3590 </li> 3746 </li>
3591 3747
3592 <li class="dib"> 3748 <li class="dib">
3593 - <svg aria-hidden="true" class="icon svg-icon"> 3749 + <svg class="icon svg-icon" aria-hidden="true">
3594 <use xlink:href="#icon-aliyun"></use> 3750 <use xlink:href="#icon-aliyun"></use>
3595 </svg> 3751 </svg>
3596 <div class="name">阿里云</div> 3752 <div class="name">阿里云</div>
@@ -3598,7 +3754,7 @@ @@ -3598,7 +3754,7 @@
3598 </li> 3754 </li>
3599 3755
3600 <li class="dib"> 3756 <li class="dib">
3601 - <svg aria-hidden="true" class="icon svg-icon"> 3757 + <svg class="icon svg-icon" aria-hidden="true">
3602 <use xlink:href="#icon-kongtiao2"></use> 3758 <use xlink:href="#icon-kongtiao2"></use>
3603 </svg> 3759 </svg>
3604 <div class="name">空调</div> 3760 <div class="name">空调</div>
@@ -3606,7 +3762,7 @@ @@ -3606,7 +3762,7 @@
3606 </li> 3762 </li>
3607 3763
3608 <li class="dib"> 3764 <li class="dib">
3609 - <svg aria-hidden="true" class="icon svg-icon"> 3765 + <svg class="icon svg-icon" aria-hidden="true">
3610 <use xlink:href="#icon-kaiguan2"></use> 3766 <use xlink:href="#icon-kaiguan2"></use>
3611 </svg> 3767 </svg>
3612 <div class="name">开关</div> 3768 <div class="name">开关</div>
@@ -3614,7 +3770,7 @@ @@ -3614,7 +3770,7 @@
3614 </li> 3770 </li>
3615 3771
3616 <li class="dib"> 3772 <li class="dib">
3617 - <svg aria-hidden="true" class="icon svg-icon"> 3773 + <svg class="icon svg-icon" aria-hidden="true">
3618 <use xlink:href="#icon-dianchizu"></use> 3774 <use xlink:href="#icon-dianchizu"></use>
3619 </svg> 3775 </svg>
3620 <div class="name">电池组</div> 3776 <div class="name">电池组</div>
@@ -3622,7 +3778,7 @@ @@ -3622,7 +3778,7 @@
3622 </li> 3778 </li>
3623 3779
3624 <li class="dib"> 3780 <li class="dib">
3625 - <svg aria-hidden="true" class="icon svg-icon"> 3781 + <svg class="icon svg-icon" aria-hidden="true">
3626 <use xlink:href="#icon-dianchizu1"></use> 3782 <use xlink:href="#icon-dianchizu1"></use>
3627 </svg> 3783 </svg>
3628 <div class="name">电池组</div> 3784 <div class="name">电池组</div>
@@ -3630,7 +3786,7 @@ @@ -3630,7 +3786,7 @@
3630 </li> 3786 </li>
3631 3787
3632 <li class="dib"> 3788 <li class="dib">
3633 - <svg aria-hidden="true" class="icon svg-icon"> 3789 + <svg class="icon svg-icon" aria-hidden="true">
3634 <use xlink:href="#icon-CADshezhi"></use> 3790 <use xlink:href="#icon-CADshezhi"></use>
3635 </svg> 3791 </svg>
3636 <div class="name">CAD设置</div> 3792 <div class="name">CAD设置</div>
@@ -3638,7 +3794,7 @@ @@ -3638,7 +3794,7 @@
3638 </li> 3794 </li>
3639 3795
3640 <li class="dib"> 3796 <li class="dib">
3641 - <svg aria-hidden="true" class="icon svg-icon"> 3797 + <svg class="icon svg-icon" aria-hidden="true">
3642 <use xlink:href="#icon-EPStubiao"></use> 3798 <use xlink:href="#icon-EPStubiao"></use>
3643 </svg> 3799 </svg>
3644 <div class="name">EPS图标</div> 3800 <div class="name">EPS图标</div>
@@ -3646,7 +3802,7 @@ @@ -3646,7 +3802,7 @@
3646 </li> 3802 </li>
3647 3803
3648 <li class="dib"> 3804 <li class="dib">
3649 - <svg aria-hidden="true" class="icon svg-icon"> 3805 + <svg class="icon svg-icon" aria-hidden="true">
3650 <use xlink:href="#icon-webLogic"></use> 3806 <use xlink:href="#icon-webLogic"></use>
3651 </svg> 3807 </svg>
3652 <div class="name">webLogic</div> 3808 <div class="name">webLogic</div>
@@ -3654,7 +3810,7 @@ @@ -3654,7 +3810,7 @@
3654 </li> 3810 </li>
3655 3811
3656 <li class="dib"> 3812 <li class="dib">
3657 - <svg aria-hidden="true" class="icon svg-icon"> 3813 + <svg class="icon svg-icon" aria-hidden="true">
3658 <use xlink:href="#icon-xiaoxingji1"></use> 3814 <use xlink:href="#icon-xiaoxingji1"></use>
3659 </svg> 3815 </svg>
3660 <div class="name">小型机</div> 3816 <div class="name">小型机</div>
@@ -3662,7 +3818,7 @@ @@ -3662,7 +3818,7 @@
3662 </li> 3818 </li>
3663 3819
3664 <li class="dib"> 3820 <li class="dib">
3665 - <svg aria-hidden="true" class="icon svg-icon"> 3821 + <svg class="icon svg-icon" aria-hidden="true">
3666 <use xlink:href="#icon-wenduji1"></use> 3822 <use xlink:href="#icon-wenduji1"></use>
3667 </svg> 3823 </svg>
3668 <div class="name">温度计</div> 3824 <div class="name">温度计</div>
@@ -3670,7 +3826,7 @@ @@ -3670,7 +3826,7 @@
3670 </li> 3826 </li>
3671 3827
3672 <li class="dib"> 3828 <li class="dib">
3673 - <svg aria-hidden="true" class="icon svg-icon"> 3829 + <svg class="icon svg-icon" aria-hidden="true">
3674 <use xlink:href="#icon-guangyuwang"></use> 3830 <use xlink:href="#icon-guangyuwang"></use>
3675 </svg> 3831 </svg>
3676 <div class="name">广域网</div> 3832 <div class="name">广域网</div>
@@ -3678,7 +3834,7 @@ @@ -3678,7 +3834,7 @@
3678 </li> 3834 </li>
3679 3835
3680 <li class="dib"> 3836 <li class="dib">
3681 - <svg aria-hidden="true" class="icon svg-icon"> 3837 + <svg class="icon svg-icon" aria-hidden="true">
3682 <use xlink:href="#icon-wangguanshezhi"></use> 3838 <use xlink:href="#icon-wangguanshezhi"></use>
3683 </svg> 3839 </svg>
3684 <div class="name">网关设置</div> 3840 <div class="name">网关设置</div>
@@ -3686,7 +3842,7 @@ @@ -3686,7 +3842,7 @@
3686 </li> 3842 </li>
3687 3843
3688 <li class="dib"> 3844 <li class="dib">
3689 - <svg aria-hidden="true" class="icon svg-icon"> 3845 + <svg class="icon svg-icon" aria-hidden="true">
3690 <use xlink:href="#icon-sanjiaohuanji"></use> 3846 <use xlink:href="#icon-sanjiaohuanji"></use>
3691 </svg> 3847 </svg>
3692 <div class="name">san交换机</div> 3848 <div class="name">san交换机</div>
@@ -3694,7 +3850,7 @@ @@ -3694,7 +3850,7 @@
3694 </li> 3850 </li>
3695 3851
3696 <li class="dib"> 3852 <li class="dib">
3697 - <svg aria-hidden="true" class="icon svg-icon"> 3853 + <svg class="icon svg-icon" aria-hidden="true">
3698 <use xlink:href="#icon-Redis1"></use> 3854 <use xlink:href="#icon-Redis1"></use>
3699 </svg> 3855 </svg>
3700 <div class="name">Redis</div> 3856 <div class="name">Redis</div>
@@ -3702,7 +3858,7 @@ @@ -3702,7 +3858,7 @@
3702 </li> 3858 </li>
3703 3859
3704 <li class="dib"> 3860 <li class="dib">
3705 - <svg aria-hidden="true" class="icon svg-icon"> 3861 + <svg class="icon svg-icon" aria-hidden="true">
3706 <use xlink:href="#icon-dianchi3"></use> 3862 <use xlink:href="#icon-dianchi3"></use>
3707 </svg> 3863 </svg>
3708 <div class="name">电池</div> 3864 <div class="name">电池</div>
@@ -3710,7 +3866,7 @@ @@ -3710,7 +3866,7 @@
3710 </li> 3866 </li>
3711 3867
3712 <li class="dib"> 3868 <li class="dib">
3713 - <svg aria-hidden="true" class="icon svg-icon"> 3869 + <svg class="icon svg-icon" aria-hidden="true">
3714 <use xlink:href="#icon-xiaoxingji2"></use> 3870 <use xlink:href="#icon-xiaoxingji2"></use>
3715 </svg> 3871 </svg>
3716 <div class="name">小型机</div> 3872 <div class="name">小型机</div>
@@ -3718,7 +3874,7 @@ @@ -3718,7 +3874,7 @@
3718 </li> 3874 </li>
3719 3875
3720 <li class="dib"> 3876 <li class="dib">
3721 - <svg aria-hidden="true" class="icon svg-icon"> 3877 + <svg class="icon svg-icon" aria-hidden="true">
3722 <use xlink:href="#icon-xiaoxingji3"></use> 3878 <use xlink:href="#icon-xiaoxingji3"></use>
3723 </svg> 3879 </svg>
3724 <div class="name">小型机服务器</div> 3880 <div class="name">小型机服务器</div>
@@ -3726,7 +3882,7 @@ @@ -3726,7 +3882,7 @@
3726 </li> 3882 </li>
3727 3883
3728 <li class="dib"> 3884 <li class="dib">
3729 - <svg aria-hidden="true" class="icon svg-icon"> 3885 + <svg class="icon svg-icon" aria-hidden="true">
3730 <use xlink:href="#icon-dns"></use> 3886 <use xlink:href="#icon-dns"></use>
3731 </svg> 3887 </svg>
3732 <div class="name">dns</div> 3888 <div class="name">dns</div>
@@ -3734,7 +3890,7 @@ @@ -3734,7 +3890,7 @@
3734 </li> 3890 </li>
3735 3891
3736 <li class="dib"> 3892 <li class="dib">
3737 - <svg aria-hidden="true" class="icon svg-icon"> 3893 + <svg class="icon svg-icon" aria-hidden="true">
3738 <use xlink:href="#icon-yangan"></use> 3894 <use xlink:href="#icon-yangan"></use>
3739 </svg> 3895 </svg>
3740 <div class="name">烟感</div> 3896 <div class="name">烟感</div>
@@ -3742,7 +3898,7 @@ @@ -3742,7 +3898,7 @@
3742 </li> 3898 </li>
3743 3899
3744 <li class="dib"> 3900 <li class="dib">
3745 - <svg aria-hidden="true" class="icon svg-icon"> 3901 + <svg class="icon svg-icon" aria-hidden="true">
3746 <use xlink:href="#icon-shujuku"></use> 3902 <use xlink:href="#icon-shujuku"></use>
3747 </svg> 3903 </svg>
3748 <div class="name">数据库</div> 3904 <div class="name">数据库</div>
@@ -3750,7 +3906,7 @@ @@ -3750,7 +3906,7 @@
3750 </li> 3906 </li>
3751 3907
3752 <li class="dib"> 3908 <li class="dib">
3753 - <svg aria-hidden="true" class="icon svg-icon"> 3909 + <svg class="icon svg-icon" aria-hidden="true">
3754 <use xlink:href="#icon-xuehua1"></use> 3910 <use xlink:href="#icon-xuehua1"></use>
3755 </svg> 3911 </svg>
3756 <div class="name">雪花</div> 3912 <div class="name">雪花</div>
@@ -3758,7 +3914,7 @@ @@ -3758,7 +3914,7 @@
3758 </li> 3914 </li>
3759 3915
3760 <li class="dib"> 3916 <li class="dib">
3761 - <svg aria-hidden="true" class="icon svg-icon"> 3917 + <svg class="icon svg-icon" aria-hidden="true">
3762 <use xlink:href="#icon-kongtiao3"></use> 3918 <use xlink:href="#icon-kongtiao3"></use>
3763 </svg> 3919 </svg>
3764 <div class="name">空调</div> 3920 <div class="name">空调</div>
@@ -3766,7 +3922,7 @@ @@ -3766,7 +3922,7 @@
3766 </li> 3922 </li>
3767 3923
3768 <li class="dib"> 3924 <li class="dib">
3769 - <svg aria-hidden="true" class="icon svg-icon"> 3925 + <svg class="icon svg-icon" aria-hidden="true">
3770 <use xlink:href="#icon-jifang"></use> 3926 <use xlink:href="#icon-jifang"></use>
3771 </svg> 3927 </svg>
3772 <div class="name">机房</div> 3928 <div class="name">机房</div>
@@ -3774,7 +3930,7 @@ @@ -3774,7 +3930,7 @@
3774 </li> 3930 </li>
3775 3931
3776 <li class="dib"> 3932 <li class="dib">
3777 - <svg aria-hidden="true" class="icon svg-icon"> 3933 + <svg class="icon svg-icon" aria-hidden="true">
3778 <use xlink:href="#icon-eps"></use> 3934 <use xlink:href="#icon-eps"></use>
3779 </svg> 3935 </svg>
3780 <div class="name">eps</div> 3936 <div class="name">eps</div>
@@ -3782,7 +3938,7 @@ @@ -3782,7 +3938,7 @@
3782 </li> 3938 </li>
3783 3939
3784 <li class="dib"> 3940 <li class="dib">
3785 - <svg aria-hidden="true" class="icon svg-icon"> 3941 + <svg class="icon svg-icon" aria-hidden="true">
3786 <use xlink:href="#icon-sharpicons_snowflake"></use> 3942 <use xlink:href="#icon-sharpicons_snowflake"></use>
3787 </svg> 3943 </svg>
3788 <div class="name">sharpicons_snowflake</div> 3944 <div class="name">sharpicons_snowflake</div>
@@ -3790,7 +3946,7 @@ @@ -3790,7 +3946,7 @@
3790 </li> 3946 </li>
3791 3947
3792 <li class="dib"> 3948 <li class="dib">
3793 - <svg aria-hidden="true" class="icon svg-icon"> 3949 + <svg class="icon svg-icon" aria-hidden="true">
3794 <use xlink:href="#icon-SANjiaohuanji"></use> 3950 <use xlink:href="#icon-SANjiaohuanji"></use>
3795 </svg> 3951 </svg>
3796 <div class="name">SAN交换机</div> 3952 <div class="name">SAN交换机</div>
@@ -3798,7 +3954,7 @@ @@ -3798,7 +3954,7 @@
3798 </li> 3954 </li>
3799 3955
3800 <li class="dib"> 3956 <li class="dib">
3801 - <svg aria-hidden="true" class="icon svg-icon"> 3957 + <svg class="icon svg-icon" aria-hidden="true">
3802 <use xlink:href="#icon-dianchi4"></use> 3958 <use xlink:href="#icon-dianchi4"></use>
3803 </svg> 3959 </svg>
3804 <div class="name">电池</div> 3960 <div class="name">电池</div>
@@ -3806,7 +3962,7 @@ @@ -3806,7 +3962,7 @@
3806 </li> 3962 </li>
3807 3963
3808 <li class="dib"> 3964 <li class="dib">
3809 - <svg aria-hidden="true" class="icon svg-icon"> 3965 + <svg class="icon svg-icon" aria-hidden="true">
3810 <use xlink:href="#icon-dianyabiao1"></use> 3966 <use xlink:href="#icon-dianyabiao1"></use>
3811 </svg> 3967 </svg>
3812 <div class="name">电压表</div> 3968 <div class="name">电压表</div>
@@ -3814,7 +3970,7 @@ @@ -3814,7 +3970,7 @@
3814 </li> 3970 </li>
3815 3971
3816 <li class="dib"> 3972 <li class="dib">
3817 - <svg aria-hidden="true" class="icon svg-icon"> 3973 + <svg class="icon svg-icon" aria-hidden="true">
3818 <use xlink:href="#icon-dianchizu2"></use> 3974 <use xlink:href="#icon-dianchizu2"></use>
3819 </svg> 3975 </svg>
3820 <div class="name">电池组</div> 3976 <div class="name">电池组</div>
@@ -3822,7 +3978,7 @@ @@ -3822,7 +3978,7 @@
3822 </li> 3978 </li>
3823 3979
3824 <li class="dib"> 3980 <li class="dib">
3825 - <svg aria-hidden="true" class="icon svg-icon"> 3981 + <svg class="icon svg-icon" aria-hidden="true">
3826 <use xlink:href="#icon-hengban-huaweiyun-quanbu"></use> 3982 <use xlink:href="#icon-hengban-huaweiyun-quanbu"></use>
3827 </svg> 3983 </svg>
3828 <div class="name">横版-华为云-全部</div> 3984 <div class="name">横版-华为云-全部</div>
@@ -3830,7 +3986,7 @@ @@ -3830,7 +3986,7 @@
3830 </li> 3986 </li>
3831 3987
3832 <li class="dib"> 3988 <li class="dib">
3833 - <svg aria-hidden="true" class="icon svg-icon"> 3989 + <svg class="icon svg-icon" aria-hidden="true">
3834 <use xlink:href="#icon-UPS"></use> 3990 <use xlink:href="#icon-UPS"></use>
3835 </svg> 3991 </svg>
3836 <div class="name">UPS</div> 3992 <div class="name">UPS</div>
@@ -3838,7 +3994,7 @@ @@ -3838,7 +3994,7 @@
3838 </li> 3994 </li>
3839 3995
3840 <li class="dib"> 3996 <li class="dib">
3841 - <svg aria-hidden="true" class="icon svg-icon"> 3997 + <svg class="icon svg-icon" aria-hidden="true">
3842 <use xlink:href="#icon-yangan1"></use> 3998 <use xlink:href="#icon-yangan1"></use>
3843 </svg> 3999 </svg>
3844 <div class="name">烟感</div> 4000 <div class="name">烟感</div>
@@ -3846,7 +4002,7 @@ @@ -3846,7 +4002,7 @@
3846 </li> 4002 </li>
3847 4003
3848 <li class="dib"> 4004 <li class="dib">
3849 - <svg aria-hidden="true" class="icon svg-icon"> 4005 + <svg class="icon svg-icon" aria-hidden="true">
3850 <use xlink:href="#icon-dianliu"></use> 4006 <use xlink:href="#icon-dianliu"></use>
3851 </svg> 4007 </svg>
3852 <div class="name">电流</div> 4008 <div class="name">电流</div>
@@ -3854,7 +4010,7 @@ @@ -3854,7 +4010,7 @@
3854 </li> 4010 </li>
3855 4011
3856 <li class="dib"> 4012 <li class="dib">
3857 - <svg aria-hidden="true" class="icon svg-icon"> 4013 + <svg class="icon svg-icon" aria-hidden="true">
3858 <use xlink:href="#icon-dianchi-wu"></use> 4014 <use xlink:href="#icon-dianchi-wu"></use>
3859 </svg> 4015 </svg>
3860 <div class="name">电池 - 无</div> 4016 <div class="name">电池 - 无</div>
@@ -3862,7 +4018,7 @@ @@ -3862,7 +4018,7 @@
3862 </li> 4018 </li>
3863 4019
3864 <li class="dib"> 4020 <li class="dib">
3865 - <svg aria-hidden="true" class="icon svg-icon"> 4021 + <svg class="icon svg-icon" aria-hidden="true">
3866 <use xlink:href="#icon-ecsyunfuwuqi"></use> 4022 <use xlink:href="#icon-ecsyunfuwuqi"></use>
3867 </svg> 4023 </svg>
3868 <div class="name">ecs云服务器</div> 4024 <div class="name">ecs云服务器</div>
@@ -3870,7 +4026,7 @@ @@ -3870,7 +4026,7 @@
3870 </li> 4026 </li>
3871 4027
3872 <li class="dib"> 4028 <li class="dib">
3873 - <svg aria-hidden="true" class="icon svg-icon"> 4029 + <svg class="icon svg-icon" aria-hidden="true">
3874 <use xlink:href="#icon-ups"></use> 4030 <use xlink:href="#icon-ups"></use>
3875 </svg> 4031 </svg>
3876 <div class="name">ups</div> 4032 <div class="name">ups</div>
@@ -3878,7 +4034,7 @@ @@ -3878,7 +4034,7 @@
3878 </li> 4034 </li>
3879 4035
3880 <li class="dib"> 4036 <li class="dib">
3881 - <svg aria-hidden="true" class="icon svg-icon"> 4037 + <svg class="icon svg-icon" aria-hidden="true">
3882 <use xlink:href="#icon-mysqlshujukumgrban"></use> 4038 <use xlink:href="#icon-mysqlshujukumgrban"></use>
3883 </svg> 4039 </svg>
3884 <div class="name">mysql数据库(mgr版)</div> 4040 <div class="name">mysql数据库(mgr版)</div>
@@ -3886,7 +4042,7 @@ @@ -3886,7 +4042,7 @@
3886 </li> 4042 </li>
3887 4043
3888 <li class="dib"> 4044 <li class="dib">
3889 - <svg aria-hidden="true" class="icon svg-icon"> 4045 + <svg class="icon svg-icon" aria-hidden="true">
3890 <use xlink:href="#icon-dianya1"></use> 4046 <use xlink:href="#icon-dianya1"></use>
3891 </svg> 4047 </svg>
3892 <div class="name">电压</div> 4048 <div class="name">电压</div>
@@ -3894,7 +4050,7 @@ @@ -3894,7 +4050,7 @@
3894 </li> 4050 </li>
3895 4051
3896 <li class="dib"> 4052 <li class="dib">
3897 - <svg aria-hidden="true" class="icon svg-icon"> 4053 + <svg class="icon svg-icon" aria-hidden="true">
3898 <use xlink:href="#icon-VMware"></use> 4054 <use xlink:href="#icon-VMware"></use>
3899 </svg> 4055 </svg>
3900 <div class="name">VMware</div> 4056 <div class="name">VMware</div>
@@ -3902,7 +4058,7 @@ @@ -3902,7 +4058,7 @@
3902 </li> 4058 </li>
3903 4059
3904 <li class="dib"> 4060 <li class="dib">
3905 - <svg aria-hidden="true" class="icon svg-icon"> 4061 + <svg class="icon svg-icon" aria-hidden="true">
3906 <use xlink:href="#icon-yibiaopan1"></use> 4062 <use xlink:href="#icon-yibiaopan1"></use>
3907 </svg> 4063 </svg>
3908 <div class="name">仪表盘</div> 4064 <div class="name">仪表盘</div>
@@ -3910,7 +4066,7 @@ @@ -3910,7 +4066,7 @@
3910 </li> 4066 </li>
3911 4067
3912 <li class="dib"> 4068 <li class="dib">
3913 - <svg aria-hidden="true" class="icon svg-icon"> 4069 + <svg class="icon svg-icon" aria-hidden="true">
3914 <use xlink:href="#icon-ecsyunfuwuqiECS"></use> 4070 <use xlink:href="#icon-ecsyunfuwuqiECS"></use>
3915 </svg> 4071 </svg>
3916 <div class="name">ecs 云服务器ECS</div> 4072 <div class="name">ecs 云服务器ECS</div>
@@ -3918,7 +4074,7 @@ @@ -3918,7 +4074,7 @@
3918 </li> 4074 </li>
3919 4075
3920 <li class="dib"> 4076 <li class="dib">
3921 - <svg aria-hidden="true" class="icon svg-icon"> 4077 + <svg class="icon svg-icon" aria-hidden="true">
3922 <use xlink:href="#icon-ecsyunfuwuqiECS1"></use> 4078 <use xlink:href="#icon-ecsyunfuwuqiECS1"></use>
3923 </svg> 4079 </svg>
3924 <div class="name">ecs 云服务器ECS</div> 4080 <div class="name">ecs 云服务器ECS</div>
@@ -3926,7 +4082,7 @@ @@ -3926,7 +4082,7 @@
3926 </li> 4082 </li>
3927 4083
3928 <li class="dib"> 4084 <li class="dib">
3929 - <svg aria-hidden="true" class="icon svg-icon"> 4085 + <svg class="icon svg-icon" aria-hidden="true">
3930 <use xlink:href="#icon-ruqinjiance1"></use> 4086 <use xlink:href="#icon-ruqinjiance1"></use>
3931 </svg> 4087 </svg>
3932 <div class="name">入侵检测</div> 4088 <div class="name">入侵检测</div>
@@ -3934,7 +4090,7 @@ @@ -3934,7 +4090,7 @@
3934 </li> 4090 </li>
3935 4091
3936 <li class="dib"> 4092 <li class="dib">
3937 - <svg aria-hidden="true" class="icon svg-icon"> 4093 + <svg class="icon svg-icon" aria-hidden="true">
3938 <use xlink:href="#icon-gongxiangcunchu"></use> 4094 <use xlink:href="#icon-gongxiangcunchu"></use>
3939 </svg> 4095 </svg>
3940 <div class="name">共享存储</div> 4096 <div class="name">共享存储</div>
@@ -3942,7 +4098,7 @@ @@ -3942,7 +4098,7 @@
3942 </li> 4098 </li>
3943 4099
3944 <li class="dib"> 4100 <li class="dib">
3945 - <svg aria-hidden="true" class="icon svg-icon"> 4101 + <svg class="icon svg-icon" aria-hidden="true">
3946 <use xlink:href="#icon-dianliu1"></use> 4102 <use xlink:href="#icon-dianliu1"></use>
3947 </svg> 4103 </svg>
3948 <div class="name">电流</div> 4104 <div class="name">电流</div>
@@ -3950,7 +4106,7 @@ @@ -3950,7 +4106,7 @@
3950 </li> 4106 </li>
3951 4107
3952 <li class="dib"> 4108 <li class="dib">
3953 - <svg aria-hidden="true" class="icon svg-icon"> 4109 + <svg class="icon svg-icon" aria-hidden="true">
3954 <use xlink:href="#icon-icon-huaweiyunxuniji"></use> 4110 <use xlink:href="#icon-icon-huaweiyunxuniji"></use>
3955 </svg> 4111 </svg>
3956 <div class="name">icon-华为云虚拟机</div> 4112 <div class="name">icon-华为云虚拟机</div>
@@ -3958,7 +4114,7 @@ @@ -3958,7 +4114,7 @@
3958 </li> 4114 </li>
3959 4115
3960 <li class="dib"> 4116 <li class="dib">
3961 - <svg aria-hidden="true" class="icon svg-icon"> 4117 + <svg class="icon svg-icon" aria-hidden="true">
3962 <use xlink:href="#icon-MySQLshujuku"></use> 4118 <use xlink:href="#icon-MySQLshujuku"></use>
3963 </svg> 4119 </svg>
3964 <div class="name">MySQL数据库</div> 4120 <div class="name">MySQL数据库</div>
@@ -3966,7 +4122,7 @@ @@ -3966,7 +4122,7 @@
3966 </li> 4122 </li>
3967 4123
3968 <li class="dib"> 4124 <li class="dib">
3969 - <svg aria-hidden="true" class="icon svg-icon"> 4125 + <svg class="icon svg-icon" aria-hidden="true">
3970 <use xlink:href="#icon-Internet-yunzhuangjiedian"></use> 4126 <use xlink:href="#icon-Internet-yunzhuangjiedian"></use>
3971 </svg> 4127 </svg>
3972 <div class="name">Internet-云状节点</div> 4128 <div class="name">Internet-云状节点</div>
@@ -3974,7 +4130,7 @@ @@ -3974,7 +4130,7 @@
3974 </li> 4130 </li>
3975 4131
3976 <li class="dib"> 4132 <li class="dib">
3977 - <svg aria-hidden="true" class="icon svg-icon"> 4133 + <svg class="icon svg-icon" aria-hidden="true">
3978 <use xlink:href="#icon-Internet-yunzhuangjiedian1"></use> 4134 <use xlink:href="#icon-Internet-yunzhuangjiedian1"></use>
3979 </svg> 4135 </svg>
3980 <div class="name">Internet-云状节点</div> 4136 <div class="name">Internet-云状节点</div>
@@ -3982,7 +4138,7 @@ @@ -3982,7 +4138,7 @@
3982 </li> 4138 </li>
3983 4139
3984 <li class="dib"> 4140 <li class="dib">
3985 - <svg aria-hidden="true" class="icon svg-icon"> 4141 + <svg class="icon svg-icon" aria-hidden="true">
3986 <use xlink:href="#icon-yangan2"></use> 4142 <use xlink:href="#icon-yangan2"></use>
3987 </svg> 4143 </svg>
3988 <div class="name">烟感</div> 4144 <div class="name">烟感</div>
@@ -3990,7 +4146,7 @@ @@ -3990,7 +4146,7 @@
3990 </li> 4146 </li>
3991 4147
3992 <li class="dib"> 4148 <li class="dib">
3993 - <svg aria-hidden="true" class="icon svg-icon"> 4149 + <svg class="icon svg-icon" aria-hidden="true">
3994 <use xlink:href="#icon-KAFAKA"></use> 4150 <use xlink:href="#icon-KAFAKA"></use>
3995 </svg> 4151 </svg>
3996 <div class="name">KAFAKA</div> 4152 <div class="name">KAFAKA</div>
@@ -3998,7 +4154,7 @@ @@ -3998,7 +4154,7 @@
3998 </li> 4154 </li>
3999 4155
4000 <li class="dib"> 4156 <li class="dib">
4001 - <svg aria-hidden="true" class="icon svg-icon"> 4157 + <svg class="icon svg-icon" aria-hidden="true">
4002 <use xlink:href="#icon-zhongjiqi"></use> 4158 <use xlink:href="#icon-zhongjiqi"></use>
4003 </svg> 4159 </svg>
4004 <div class="name">中继器</div> 4160 <div class="name">中继器</div>
@@ -4006,7 +4162,7 @@ @@ -4006,7 +4162,7 @@
4006 </li> 4162 </li>
4007 4163
4008 <li class="dib"> 4164 <li class="dib">
4009 - <svg aria-hidden="true" class="icon svg-icon"> 4165 + <svg class="icon svg-icon" aria-hidden="true">
4010 <use xlink:href="#icon-wangguan"></use> 4166 <use xlink:href="#icon-wangguan"></use>
4011 </svg> 4167 </svg>
4012 <div class="name">网关</div> 4168 <div class="name">网关</div>
@@ -4014,7 +4170,7 @@ @@ -4014,7 +4170,7 @@
4014 </li> 4170 </li>
4015 4171
4016 <li class="dib"> 4172 <li class="dib">
4017 - <svg aria-hidden="true" class="icon svg-icon"> 4173 + <svg class="icon svg-icon" aria-hidden="true">
4018 <use xlink:href="#icon-alarm-full"></use> 4174 <use xlink:href="#icon-alarm-full"></use>
4019 </svg> 4175 </svg>
4020 <div class="name">报警,警报,报警灯,危险</div> 4176 <div class="name">报警,警报,报警灯,危险</div>
@@ -4022,7 +4178,7 @@ @@ -4022,7 +4178,7 @@
4022 </li> 4178 </li>
4023 4179
4024 <li class="dib"> 4180 <li class="dib">
4025 - <svg aria-hidden="true" class="icon svg-icon"> 4181 + <svg class="icon svg-icon" aria-hidden="true">
4026 <use xlink:href="#icon-alarm"></use> 4182 <use xlink:href="#icon-alarm"></use>
4027 </svg> 4183 </svg>
4028 <div class="name">报警,警报,报警灯,危险</div> 4184 <div class="name">报警,警报,报警灯,危险</div>
@@ -4030,7 +4186,7 @@ @@ -4030,7 +4186,7 @@
4030 </li> 4186 </li>
4031 4187
4032 <li class="dib"> 4188 <li class="dib">
4033 - <svg aria-hidden="true" class="icon svg-icon"> 4189 + <svg class="icon svg-icon" aria-hidden="true">
4034 <use xlink:href="#icon-blood-full"></use> 4190 <use xlink:href="#icon-blood-full"></use>
4035 </svg> 4191 </svg>
4036 <div class="name">血,血液,水,水滴</div> 4192 <div class="name">血,血液,水,水滴</div>
@@ -4038,7 +4194,7 @@ @@ -4038,7 +4194,7 @@
4038 </li> 4194 </li>
4039 4195
4040 <li class="dib"> 4196 <li class="dib">
4041 - <svg aria-hidden="true" class="icon svg-icon"> 4197 + <svg class="icon svg-icon" aria-hidden="true">
4042 <use xlink:href="#icon-mianxingbaojingdengtubiao"></use> 4198 <use xlink:href="#icon-mianxingbaojingdengtubiao"></use>
4043 </svg> 4199 </svg>
4044 <div class="name">面性报警灯图标</div> 4200 <div class="name">面性报警灯图标</div>
@@ -4046,7 +4202,7 @@ @@ -4046,7 +4202,7 @@
4046 </li> 4202 </li>
4047 4203
4048 <li class="dib"> 4204 <li class="dib">
4049 - <svg aria-hidden="true" class="icon svg-icon"> 4205 + <svg class="icon svg-icon" aria-hidden="true">
4050 <use xlink:href="#icon-fuwuqi2"></use> 4206 <use xlink:href="#icon-fuwuqi2"></use>
4051 </svg> 4207 </svg>
4052 <div class="name">服务器</div> 4208 <div class="name">服务器</div>
@@ -4054,7 +4210,7 @@ @@ -4054,7 +4210,7 @@
4054 </li> 4210 </li>
4055 4211
4056 <li class="dib"> 4212 <li class="dib">
4057 - <svg aria-hidden="true" class="icon svg-icon"> 4213 + <svg class="icon svg-icon" aria-hidden="true">
4058 <use xlink:href="#icon-fenqu"></use> 4214 <use xlink:href="#icon-fenqu"></use>
4059 </svg> 4215 </svg>
4060 <div class="name">分区</div> 4216 <div class="name">分区</div>
@@ -4062,7 +4218,7 @@ @@ -4062,7 +4218,7 @@
4062 </li> 4218 </li>
4063 4219
4064 <li class="dib"> 4220 <li class="dib">
4065 - <svg aria-hidden="true" class="icon svg-icon"> 4221 + <svg class="icon svg-icon" aria-hidden="true">
4066 <use xlink:href="#icon-wenduji2"></use> 4222 <use xlink:href="#icon-wenduji2"></use>
4067 </svg> 4223 </svg>
4068 <div class="name">温度计</div> 4224 <div class="name">温度计</div>
@@ -4070,7 +4226,7 @@ @@ -4070,7 +4226,7 @@
4070 </li> 4226 </li>
4071 4227
4072 <li class="dib"> 4228 <li class="dib">
4073 - <svg aria-hidden="true" class="icon svg-icon"> 4229 + <svg class="icon svg-icon" aria-hidden="true">
4074 <use xlink:href="#icon-shujukucaozuo-chaxunmysqlshujuku"></use> 4230 <use xlink:href="#icon-shujukucaozuo-chaxunmysqlshujuku"></use>
4075 </svg> 4231 </svg>
4076 <div class="name">数据库操作-查询mysql数据库</div> 4232 <div class="name">数据库操作-查询mysql数据库</div>
@@ -4078,7 +4234,7 @@ @@ -4078,7 +4234,7 @@
4078 </li> 4234 </li>
4079 4235
4080 <li class="dib"> 4236 <li class="dib">
4081 - <svg aria-hidden="true" class="icon svg-icon"> 4237 + <svg class="icon svg-icon" aria-hidden="true">
4082 <use xlink:href="#icon-jifang1"></use> 4238 <use xlink:href="#icon-jifang1"></use>
4083 </svg> 4239 </svg>
4084 <div class="name">机房</div> 4240 <div class="name">机房</div>
@@ -4086,7 +4242,7 @@ @@ -4086,7 +4242,7 @@
4086 </li> 4242 </li>
4087 4243
4088 <li class="dib"> 4244 <li class="dib">
4089 - <svg aria-hidden="true" class="icon svg-icon"> 4245 + <svg class="icon svg-icon" aria-hidden="true">
4090 <use xlink:href="#icon-zhuanyongsuzhuji"></use> 4246 <use xlink:href="#icon-zhuanyongsuzhuji"></use>
4091 </svg> 4247 </svg>
4092 <div class="name">专用宿主机</div> 4248 <div class="name">专用宿主机</div>
@@ -4094,7 +4250,7 @@ @@ -4094,7 +4250,7 @@
4094 </li> 4250 </li>
4095 4251
4096 <li class="dib"> 4252 <li class="dib">
4097 - <svg aria-hidden="true" class="icon svg-icon"> 4253 + <svg class="icon svg-icon" aria-hidden="true">
4098 <use xlink:href="#icon-danxingwangka"></use> 4254 <use xlink:href="#icon-danxingwangka"></use>
4099 </svg> 4255 </svg>
4100 <div class="name">弹性网卡</div> 4256 <div class="name">弹性网卡</div>
@@ -4102,7 +4258,7 @@ @@ -4102,7 +4258,7 @@
4102 </li> 4258 </li>
4103 4259
4104 <li class="dib"> 4260 <li class="dib">
4105 - <svg aria-hidden="true" class="icon svg-icon"> 4261 + <svg class="icon svg-icon" aria-hidden="true">
4106 <use xlink:href="#icon-wuliwangkaduankou"></use> 4262 <use xlink:href="#icon-wuliwangkaduankou"></use>
4107 </svg> 4263 </svg>
4108 <div class="name">物理网卡端口</div> 4264 <div class="name">物理网卡端口</div>
@@ -4110,7 +4266,7 @@ @@ -4110,7 +4266,7 @@
4110 </li> 4266 </li>
4111 4267
4112 <li class="dib"> 4268 <li class="dib">
4113 - <svg aria-hidden="true" class="icon svg-icon"> 4269 + <svg class="icon svg-icon" aria-hidden="true">
4114 <use xlink:href="#icon-wangluoruqinjiance"></use> 4270 <use xlink:href="#icon-wangluoruqinjiance"></use>
4115 </svg> 4271 </svg>
4116 <div class="name">网络入侵检测</div> 4272 <div class="name">网络入侵检测</div>
@@ -4118,7 +4274,7 @@ @@ -4118,7 +4274,7 @@
4118 </li> 4274 </li>
4119 4275
4120 <li class="dib"> 4276 <li class="dib">
4121 - <svg aria-hidden="true" class="icon svg-icon"> 4277 + <svg class="icon svg-icon" aria-hidden="true">
4122 <use xlink:href="#icon-qiansuanxudianchizu"></use> 4278 <use xlink:href="#icon-qiansuanxudianchizu"></use>
4123 </svg> 4279 </svg>
4124 <div class="name">铅酸蓄电池组</div> 4280 <div class="name">铅酸蓄电池组</div>
@@ -4126,7 +4282,7 @@ @@ -4126,7 +4282,7 @@
4126 </li> 4282 </li>
4127 4283
4128 <li class="dib"> 4284 <li class="dib">
4129 - <svg aria-hidden="true" class="icon svg-icon"> 4285 + <svg class="icon svg-icon" aria-hidden="true">
4130 <use xlink:href="#icon-UPS1"></use> 4286 <use xlink:href="#icon-UPS1"></use>
4131 </svg> 4287 </svg>
4132 <div class="name">UPS</div> 4288 <div class="name">UPS</div>
@@ -4134,7 +4290,7 @@ @@ -4134,7 +4290,7 @@
4134 </li> 4290 </li>
4135 4291
4136 <li class="dib"> 4292 <li class="dib">
4137 - <svg aria-hidden="true" class="icon svg-icon"> 4293 + <svg class="icon svg-icon" aria-hidden="true">
4138 <use xlink:href="#icon-guangyuwangxianlu"></use> 4294 <use xlink:href="#icon-guangyuwangxianlu"></use>
4139 </svg> 4295 </svg>
4140 <div class="name">广域网线路</div> 4296 <div class="name">广域网线路</div>
@@ -4142,7 +4298,7 @@ @@ -4142,7 +4298,7 @@
4142 </li> 4298 </li>
4143 4299
4144 <li class="dib"> 4300 <li class="dib">
4145 - <svg aria-hidden="true" class="icon svg-icon"> 4301 + <svg class="icon svg-icon" aria-hidden="true">
4146 <use xlink:href="#icon-wuliwangka"></use> 4302 <use xlink:href="#icon-wuliwangka"></use>
4147 </svg> 4303 </svg>
4148 <div class="name">物理网卡</div> 4304 <div class="name">物理网卡</div>
@@ -4150,7 +4306,7 @@ @@ -4150,7 +4306,7 @@
4150 </li> 4306 </li>
4151 4307
4152 <li class="dib"> 4308 <li class="dib">
4153 - <svg aria-hidden="true" class="icon svg-icon"> 4309 + <svg class="icon svg-icon" aria-hidden="true">
4154 <use xlink:href="#icon-Nginx"></use> 4310 <use xlink:href="#icon-Nginx"></use>
4155 </svg> 4311 </svg>
4156 <div class="name">Nginx</div> 4312 <div class="name">Nginx</div>
@@ -4158,7 +4314,7 @@ @@ -4158,7 +4314,7 @@
4158 </li> 4314 </li>
4159 4315
4160 <li class="dib"> 4316 <li class="dib">
4161 - <svg aria-hidden="true" class="icon svg-icon"> 4317 + <svg class="icon svg-icon" aria-hidden="true">
4162 <use xlink:href="#icon-Weblogic"></use> 4318 <use xlink:href="#icon-Weblogic"></use>
4163 </svg> 4319 </svg>
4164 <div class="name">Weblogic</div> 4320 <div class="name">Weblogic</div>
@@ -4166,7 +4322,7 @@ @@ -4166,7 +4322,7 @@
4166 </li> 4322 </li>
4167 4323
4168 <li class="dib"> 4324 <li class="dib">
4169 - <svg aria-hidden="true" class="icon svg-icon"> 4325 + <svg class="icon svg-icon" aria-hidden="true">
4170 <use xlink:href="#icon-TOMCAT"></use> 4326 <use xlink:href="#icon-TOMCAT"></use>
4171 </svg> 4327 </svg>
4172 <div class="name">TOMCAT</div> 4328 <div class="name">TOMCAT</div>
@@ -4174,7 +4330,7 @@ @@ -4174,7 +4330,7 @@
4174 </li> 4330 </li>
4175 4331
4176 <li class="dib"> 4332 <li class="dib">
4177 - <svg aria-hidden="true" class="icon svg-icon"> 4333 + <svg class="icon svg-icon" aria-hidden="true">
4178 <use xlink:href="#icon-wulifuwuqi1"></use> 4334 <use xlink:href="#icon-wulifuwuqi1"></use>
4179 </svg> 4335 </svg>
4180 <div class="name">物理服务器</div> 4336 <div class="name">物理服务器</div>
@@ -4182,7 +4338,7 @@ @@ -4182,7 +4338,7 @@
4182 </li> 4338 </li>
4183 4339
4184 <li class="dib"> 4340 <li class="dib">
4185 - <svg aria-hidden="true" class="icon svg-icon"> 4341 + <svg class="icon svg-icon" aria-hidden="true">
4186 <use xlink:href="#icon-VMware1"></use> 4342 <use xlink:href="#icon-VMware1"></use>
4187 </svg> 4343 </svg>
4188 <div class="name">VMware</div> 4344 <div class="name">VMware</div>
@@ -4190,7 +4346,7 @@ @@ -4190,7 +4346,7 @@
4190 </li> 4346 </li>
4191 4347
4192 <li class="dib"> 4348 <li class="dib">
4193 - <svg aria-hidden="true" class="icon svg-icon"> 4349 + <svg class="icon svg-icon" aria-hidden="true">
4194 <use xlink:href="#icon-jiqun"></use> 4350 <use xlink:href="#icon-jiqun"></use>
4195 </svg> 4351 </svg>
4196 <div class="name">集群</div> 4352 <div class="name">集群</div>
@@ -4198,7 +4354,7 @@ @@ -4198,7 +4354,7 @@
4198 </li> 4354 </li>
4199 4355
4200 <li class="dib"> 4356 <li class="dib">
4201 - <svg aria-hidden="true" class="icon svg-icon"> 4357 + <svg class="icon svg-icon" aria-hidden="true">
4202 <use xlink:href="#icon-bianyuanjiaohuanji"></use> 4358 <use xlink:href="#icon-bianyuanjiaohuanji"></use>
4203 </svg> 4359 </svg>
4204 <div class="name">边缘交换机</div> 4360 <div class="name">边缘交换机</div>
@@ -4206,7 +4362,7 @@ @@ -4206,7 +4362,7 @@
4206 </li> 4362 </li>
4207 4363
4208 <li class="dib"> 4364 <li class="dib">
4209 - <svg aria-hidden="true" class="icon svg-icon"> 4365 + <svg class="icon svg-icon" aria-hidden="true">
4210 <use xlink:href="#icon-epsdaoru"></use> 4366 <use xlink:href="#icon-epsdaoru"></use>
4211 </svg> 4367 </svg>
4212 <div class="name">eps导入</div> 4368 <div class="name">eps导入</div>
@@ -4214,7 +4370,7 @@ @@ -4214,7 +4370,7 @@
4214 </li> 4370 </li>
4215 4371
4216 <li class="dib"> 4372 <li class="dib">
4217 - <svg aria-hidden="true" class="icon svg-icon"> 4373 + <svg class="icon svg-icon" aria-hidden="true">
4218 <use xlink:href="#icon-epsdaochu"></use> 4374 <use xlink:href="#icon-epsdaochu"></use>
4219 </svg> 4375 </svg>
4220 <div class="name">eps导出</div> 4376 <div class="name">eps导出</div>
@@ -4222,7 +4378,7 @@ @@ -4222,7 +4378,7 @@
4222 </li> 4378 </li>
4223 4379
4224 <li class="dib"> 4380 <li class="dib">
4225 - <svg aria-hidden="true" class="icon svg-icon"> 4381 + <svg class="icon svg-icon" aria-hidden="true">
4226 <use xlink:href="#icon-zhongjiqi1"></use> 4382 <use xlink:href="#icon-zhongjiqi1"></use>
4227 </svg> 4383 </svg>
4228 <div class="name">中继器</div> 4384 <div class="name">中继器</div>
@@ -4230,7 +4386,7 @@ @@ -4230,7 +4386,7 @@
4230 </li> 4386 </li>
4231 4387
4232 <li class="dib"> 4388 <li class="dib">
4233 - <svg aria-hidden="true" class="icon svg-icon"> 4389 + <svg class="icon svg-icon" aria-hidden="true">
4234 <use xlink:href="#icon-a-ziyuan117"></use> 4390 <use xlink:href="#icon-a-ziyuan117"></use>
4235 </svg> 4391 </svg>
4236 <div class="name">Tomcat</div> 4392 <div class="name">Tomcat</div>
@@ -4238,7 +4394,7 @@ @@ -4238,7 +4394,7 @@
4238 </li> 4394 </li>
4239 4395
4240 <li class="dib"> 4396 <li class="dib">
4241 - <svg aria-hidden="true" class="icon svg-icon"> 4397 + <svg class="icon svg-icon" aria-hidden="true">
4242 <use xlink:href="#icon-suzhuji1"></use> 4398 <use xlink:href="#icon-suzhuji1"></use>
4243 </svg> 4399 </svg>
4244 <div class="name">宿主机</div> 4400 <div class="name">宿主机</div>
@@ -4246,7 +4402,7 @@ @@ -4246,7 +4402,7 @@
4246 </li> 4402 </li>
4247 4403
4248 <li class="dib"> 4404 <li class="dib">
4249 - <svg aria-hidden="true" class="icon svg-icon"> 4405 + <svg class="icon svg-icon" aria-hidden="true">
4250 <use xlink:href="#icon-binghaitushi_shuizi"></use> 4406 <use xlink:href="#icon-binghaitushi_shuizi"></use>
4251 </svg> 4407 </svg>
4252 <div class="name">病害图示_水渍</div> 4408 <div class="name">病害图示_水渍</div>
@@ -4254,7 +4410,7 @@ @@ -4254,7 +4410,7 @@
4254 </li> 4410 </li>
4255 4411
4256 <li class="dib"> 4412 <li class="dib">
4257 - <svg aria-hidden="true" class="icon svg-icon"> 4413 + <svg class="icon svg-icon" aria-hidden="true">
4258 <use xlink:href="#icon-gongxiangcunchu1"></use> 4414 <use xlink:href="#icon-gongxiangcunchu1"></use>
4259 </svg> 4415 </svg>
4260 <div class="name">共享存储</div> 4416 <div class="name">共享存储</div>
@@ -4262,7 +4418,7 @@ @@ -4262,7 +4418,7 @@
4262 </li> 4418 </li>
4263 4419
4264 <li class="dib"> 4420 <li class="dib">
4265 - <svg aria-hidden="true" class="icon svg-icon"> 4421 + <svg class="icon svg-icon" aria-hidden="true">
4266 <use xlink:href="#icon-loudiandianliu-xian"></use> 4422 <use xlink:href="#icon-loudiandianliu-xian"></use>
4267 </svg> 4423 </svg>
4268 <div class="name">漏电电流-线</div> 4424 <div class="name">漏电电流-线</div>
@@ -4270,7 +4426,7 @@ @@ -4270,7 +4426,7 @@
4270 </li> 4426 </li>
4271 4427
4272 <li class="dib"> 4428 <li class="dib">
4273 - <svg aria-hidden="true" class="icon svg-icon"> 4429 + <svg class="icon svg-icon" aria-hidden="true">
4274 <use xlink:href="#icon-alarm-full1"></use> 4430 <use xlink:href="#icon-alarm-full1"></use>
4275 </svg> 4431 </svg>
4276 <div class="name">报警,警报,报警灯,危险</div> 4432 <div class="name">报警,警报,报警灯,危险</div>
@@ -4278,7 +4434,7 @@ @@ -4278,7 +4434,7 @@
4278 </li> 4434 </li>
4279 4435
4280 <li class="dib"> 4436 <li class="dib">
4281 - <svg aria-hidden="true" class="icon svg-icon"> 4437 + <svg class="icon svg-icon" aria-hidden="true">
4282 <use xlink:href="#icon-xiaoxingji4"></use> 4438 <use xlink:href="#icon-xiaoxingji4"></use>
4283 </svg> 4439 </svg>
4284 <div class="name">小型机</div> 4440 <div class="name">小型机</div>
@@ -4286,7 +4442,7 @@ @@ -4286,7 +4442,7 @@
4286 </li> 4442 </li>
4287 4443
4288 <li class="dib"> 4444 <li class="dib">
4289 - <svg aria-hidden="true" class="icon svg-icon"> 4445 + <svg class="icon svg-icon" aria-hidden="true">
4290 <use xlink:href="#icon-dianliu2"></use> 4446 <use xlink:href="#icon-dianliu2"></use>
4291 </svg> 4447 </svg>
4292 <div class="name">电流</div> 4448 <div class="name">电流</div>
@@ -4294,7 +4450,7 @@ @@ -4294,7 +4450,7 @@
4294 </li> 4450 </li>
4295 4451
4296 <li class="dib"> 4452 <li class="dib">
4297 - <svg aria-hidden="true" class="icon svg-icon"> 4453 + <svg class="icon svg-icon" aria-hidden="true">
4298 <use xlink:href="#icon-huaweiyun"></use> 4454 <use xlink:href="#icon-huaweiyun"></use>
4299 </svg> 4455 </svg>
4300 <div class="name">华为云</div> 4456 <div class="name">华为云</div>
@@ -4302,7 +4458,7 @@ @@ -4302,7 +4458,7 @@
4302 </li> 4458 </li>
4303 4459
4304 <li class="dib"> 4460 <li class="dib">
4305 - <svg aria-hidden="true" class="icon svg-icon"> 4461 + <svg class="icon svg-icon" aria-hidden="true">
4306 <use xlink:href="#icon-dianchi"></use> 4462 <use xlink:href="#icon-dianchi"></use>
4307 </svg> 4463 </svg>
4308 <div class="name">电池</div> 4464 <div class="name">电池</div>
@@ -4310,7 +4466,7 @@ @@ -4310,7 +4466,7 @@
4310 </li> 4466 </li>
4311 4467
4312 <li class="dib"> 4468 <li class="dib">
4313 - <svg aria-hidden="true" class="icon svg-icon"> 4469 + <svg class="icon svg-icon" aria-hidden="true">
4314 <use xlink:href="#icon-chongdian"></use> 4470 <use xlink:href="#icon-chongdian"></use>
4315 </svg> 4471 </svg>
4316 <div class="name">充电</div> 4472 <div class="name">充电</div>
@@ -4318,7 +4474,7 @@ @@ -4318,7 +4474,7 @@
4318 </li> 4474 </li>
4319 4475
4320 <li class="dib"> 4476 <li class="dib">
4321 - <svg aria-hidden="true" class="icon svg-icon"> 4477 + <svg class="icon svg-icon" aria-hidden="true">
4322 <use xlink:href="#icon-5"></use> 4478 <use xlink:href="#icon-5"></use>
4323 </svg> 4479 </svg>
4324 <div class="name">water</div> 4480 <div class="name">water</div>
@@ -4326,7 +4482,7 @@ @@ -4326,7 +4482,7 @@
4326 </li> 4482 </li>
4327 4483
4328 <li class="dib"> 4484 <li class="dib">
4329 - <svg aria-hidden="true" class="icon svg-icon"> 4485 + <svg class="icon svg-icon" aria-hidden="true">
4330 <use xlink:href="#icon-tomcat"></use> 4486 <use xlink:href="#icon-tomcat"></use>
4331 </svg> 4487 </svg>
4332 <div class="name">tomcat</div> 4488 <div class="name">tomcat</div>
@@ -4334,7 +4490,7 @@ @@ -4334,7 +4490,7 @@
4334 </li> 4490 </li>
4335 4491
4336 <li class="dib"> 4492 <li class="dib">
4337 - <svg aria-hidden="true" class="icon svg-icon"> 4493 + <svg class="icon svg-icon" aria-hidden="true">
4338 <use xlink:href="#icon-ids"></use> 4494 <use xlink:href="#icon-ids"></use>
4339 </svg> 4495 </svg>
4340 <div class="name">ids</div> 4496 <div class="name">ids</div>
@@ -4342,7 +4498,7 @@ @@ -4342,7 +4498,7 @@
4342 </li> 4498 </li>
4343 4499
4344 <li class="dib"> 4500 <li class="dib">
4345 - <svg aria-hidden="true" class="icon svg-icon"> 4501 + <svg class="icon svg-icon" aria-hidden="true">
4346 <use xlink:href="#icon-fuzaijunheng"></use> 4502 <use xlink:href="#icon-fuzaijunheng"></use>
4347 </svg> 4503 </svg>
4348 <div class="name">负载均衡</div> 4504 <div class="name">负载均衡</div>
@@ -4350,7 +4506,7 @@ @@ -4350,7 +4506,7 @@
4350 </li> 4506 </li>
4351 4507
4352 <li class="dib"> 4508 <li class="dib">
4353 - <svg aria-hidden="true" class="icon svg-icon"> 4509 + <svg class="icon svg-icon" aria-hidden="true">
4354 <use xlink:href="#icon-xuniips"></use> 4510 <use xlink:href="#icon-xuniips"></use>
4355 </svg> 4511 </svg>
4356 <div class="name">虚拟IPS</div> 4512 <div class="name">虚拟IPS</div>
@@ -4358,7 +4514,7 @@ @@ -4358,7 +4514,7 @@
4358 </li> 4514 </li>
4359 4515
4360 <li class="dib"> 4516 <li class="dib">
4361 - <svg aria-hidden="true" class="icon svg-icon"> 4517 + <svg class="icon svg-icon" aria-hidden="true">
4362 <use xlink:href="#icon-xuniips1"></use> 4518 <use xlink:href="#icon-xuniips1"></use>
4363 </svg> 4519 </svg>
4364 <div class="name">虚拟IPS</div> 4520 <div class="name">虚拟IPS</div>
@@ -4366,7 +4522,7 @@ @@ -4366,7 +4522,7 @@
4366 </li> 4522 </li>
4367 4523
4368 <li class="dib"> 4524 <li class="dib">
4369 - <svg aria-hidden="true" class="icon svg-icon"> 4525 + <svg class="icon svg-icon" aria-hidden="true">
4370 <use xlink:href="#icon-fanghuoqiang37"></use> 4526 <use xlink:href="#icon-fanghuoqiang37"></use>
4371 </svg> 4527 </svg>
4372 <div class="name">防火墙</div> 4528 <div class="name">防火墙</div>
@@ -4374,7 +4530,7 @@ @@ -4374,7 +4530,7 @@
4374 </li> 4530 </li>
4375 4531
4376 <li class="dib"> 4532 <li class="dib">
4377 - <svg aria-hidden="true" class="icon svg-icon"> 4533 + <svg class="icon svg-icon" aria-hidden="true">
4378 <use xlink:href="#icon-vlb"></use> 4534 <use xlink:href="#icon-vlb"></use>
4379 </svg> 4535 </svg>
4380 <div class="name">弹性负载均衡</div> 4536 <div class="name">弹性负载均衡</div>
@@ -4382,7 +4538,7 @@ @@ -4382,7 +4538,7 @@
4382 </li> 4538 </li>
4383 4539
4384 <li class="dib"> 4540 <li class="dib">
4385 - <svg aria-hidden="true" class="icon svg-icon"> 4541 + <svg class="icon svg-icon" aria-hidden="true">
4386 <use xlink:href="#icon-shouye"></use> 4542 <use xlink:href="#icon-shouye"></use>
4387 </svg> 4543 </svg>
4388 <div class="name">血糖</div> 4544 <div class="name">血糖</div>
@@ -4390,7 +4546,7 @@ @@ -4390,7 +4546,7 @@
4390 </li> 4546 </li>
4391 4547
4392 <li class="dib"> 4548 <li class="dib">
4393 - <svg aria-hidden="true" class="icon svg-icon"> 4549 + <svg class="icon svg-icon" aria-hidden="true">
4394 <use xlink:href="#icon-shuizisunshixian"></use> 4550 <use xlink:href="#icon-shuizisunshixian"></use>
4395 </svg> 4551 </svg>
4396 <div class="name">水渍损失险</div> 4552 <div class="name">水渍损失险</div>
@@ -4398,7 +4554,7 @@ @@ -4398,7 +4554,7 @@
4398 </li> 4554 </li>
4399 4555
4400 <li class="dib"> 4556 <li class="dib">
4401 - <svg aria-hidden="true" class="icon svg-icon"> 4557 + <svg class="icon svg-icon" aria-hidden="true">
4402 <use xlink:href="#icon-ruqinjiance"></use> 4558 <use xlink:href="#icon-ruqinjiance"></use>
4403 </svg> 4559 </svg>
4404 <div class="name">入侵检测</div> 4560 <div class="name">入侵检测</div>
@@ -4406,7 +4562,7 @@ @@ -4406,7 +4562,7 @@
4406 </li> 4562 </li>
4407 4563
4408 <li class="dib"> 4564 <li class="dib">
4409 - <svg aria-hidden="true" class="icon svg-icon"> 4565 + <svg class="icon svg-icon" aria-hidden="true">
4410 <use xlink:href="#icon-jiaohuanji"></use> 4566 <use xlink:href="#icon-jiaohuanji"></use>
4411 </svg> 4567 </svg>
4412 <div class="name">交换机</div> 4568 <div class="name">交换机</div>
@@ -4414,7 +4570,7 @@ @@ -4414,7 +4570,7 @@
4414 </li> 4570 </li>
4415 4571
4416 <li class="dib"> 4572 <li class="dib">
4417 - <svg aria-hidden="true" class="icon svg-icon"> 4573 + <svg class="icon svg-icon" aria-hidden="true">
4418 <use xlink:href="#icon-jingwuicon_svg-"></use> 4574 <use xlink:href="#icon-jingwuicon_svg-"></use>
4419 </svg> 4575 </svg>
4420 <div class="name">警报</div> 4576 <div class="name">警报</div>
@@ -4422,7 +4578,7 @@ @@ -4422,7 +4578,7 @@
4422 </li> 4578 </li>
4423 4579
4424 <li class="dib"> 4580 <li class="dib">
4425 - <svg aria-hidden="true" class="icon svg-icon"> 4581 + <svg class="icon svg-icon" aria-hidden="true">
4426 <use xlink:href="#icon-tomcat1"></use> 4582 <use xlink:href="#icon-tomcat1"></use>
4427 </svg> 4583 </svg>
4428 <div class="name">tomcat</div> 4584 <div class="name">tomcat</div>
@@ -4430,7 +4586,7 @@ @@ -4430,7 +4586,7 @@
4430 </li> 4586 </li>
4431 4587
4432 <li class="dib"> 4588 <li class="dib">
4433 - <svg aria-hidden="true" class="icon svg-icon"> 4589 + <svg class="icon svg-icon" aria-hidden="true">
4434 <use xlink:href="#icon-jiaohuanji1"></use> 4590 <use xlink:href="#icon-jiaohuanji1"></use>
4435 </svg> 4591 </svg>
4436 <div class="name">交换机</div> 4592 <div class="name">交换机</div>
@@ -4438,7 +4594,7 @@ @@ -4438,7 +4594,7 @@
4438 </li> 4594 </li>
4439 4595
4440 <li class="dib"> 4596 <li class="dib">
4441 - <svg aria-hidden="true" class="icon svg-icon"> 4597 + <svg class="icon svg-icon" aria-hidden="true">
4442 <use xlink:href="#icon-oracleshujuku"></use> 4598 <use xlink:href="#icon-oracleshujuku"></use>
4443 </svg> 4599 </svg>
4444 <div class="name">oracle数据库</div> 4600 <div class="name">oracle数据库</div>
@@ -4446,7 +4602,7 @@ @@ -4446,7 +4602,7 @@
4446 </li> 4602 </li>
4447 4603
4448 <li class="dib"> 4604 <li class="dib">
4449 - <svg aria-hidden="true" class="icon svg-icon"> 4605 + <svg class="icon svg-icon" aria-hidden="true">
4450 <use xlink:href="#icon-fanghuoqiang"></use> 4606 <use xlink:href="#icon-fanghuoqiang"></use>
4451 </svg> 4607 </svg>
4452 <div class="name">防火墙</div> 4608 <div class="name">防火墙</div>
@@ -4454,7 +4610,7 @@ @@ -4454,7 +4610,7 @@
4454 </li> 4610 </li>
4455 4611
4456 <li class="dib"> 4612 <li class="dib">
4457 - <svg aria-hidden="true" class="icon svg-icon"> 4613 + <svg class="icon svg-icon" aria-hidden="true">
4458 <use xlink:href="#icon-fuwuqi"></use> 4614 <use xlink:href="#icon-fuwuqi"></use>
4459 </svg> 4615 </svg>
4460 <div class="name">服务器</div> 4616 <div class="name">服务器</div>
@@ -4462,7 +4618,7 @@ @@ -4462,7 +4618,7 @@
4462 </li> 4618 </li>
4463 4619
4464 <li class="dib"> 4620 <li class="dib">
4465 - <svg aria-hidden="true" class="icon svg-icon"> 4621 + <svg class="icon svg-icon" aria-hidden="true">
4466 <use xlink:href="#icon-fuwuqi1"></use> 4622 <use xlink:href="#icon-fuwuqi1"></use>
4467 </svg> 4623 </svg>
4468 <div class="name">服务器</div> 4624 <div class="name">服务器</div>
@@ -4470,7 +4626,7 @@ @@ -4470,7 +4626,7 @@
4470 </li> 4626 </li>
4471 4627
4472 <li class="dib"> 4628 <li class="dib">
4473 - <svg aria-hidden="true" class="icon svg-icon"> 4629 + <svg class="icon svg-icon" aria-hidden="true">
4474 <use xlink:href="#icon-kongtiao"></use> 4630 <use xlink:href="#icon-kongtiao"></use>
4475 </svg> 4631 </svg>
4476 <div class="name">空调</div> 4632 <div class="name">空调</div>
@@ -4478,7 +4634,7 @@ @@ -4478,7 +4634,7 @@
4478 </li> 4634 </li>
4479 4635
4480 <li class="dib"> 4636 <li class="dib">
4481 - <svg aria-hidden="true" class="icon svg-icon"> 4637 + <svg class="icon svg-icon" aria-hidden="true">
4482 <use xlink:href="#icon-yunshujuku"></use> 4638 <use xlink:href="#icon-yunshujuku"></use>
4483 </svg> 4639 </svg>
4484 <div class="name">云数据库</div> 4640 <div class="name">云数据库</div>
@@ -4486,7 +4642,7 @@ @@ -4486,7 +4642,7 @@
4486 </li> 4642 </li>
4487 4643
4488 <li class="dib"> 4644 <li class="dib">
4489 - <svg aria-hidden="true" class="icon svg-icon"> 4645 + <svg class="icon svg-icon" aria-hidden="true">
4490 <use xlink:href="#icon-dianchi1"></use> 4646 <use xlink:href="#icon-dianchi1"></use>
4491 </svg> 4647 </svg>
4492 <div class="name">电池</div> 4648 <div class="name">电池</div>
@@ -4494,7 +4650,7 @@ @@ -4494,7 +4650,7 @@
4494 </li> 4650 </li>
4495 4651
4496 <li class="dib"> 4652 <li class="dib">
4497 - <svg aria-hidden="true" class="icon svg-icon"> 4653 + <svg class="icon svg-icon" aria-hidden="true">
4498 <use xlink:href="#icon-Redis"></use> 4654 <use xlink:href="#icon-Redis"></use>
4499 </svg> 4655 </svg>
4500 <div class="name">Redis</div> 4656 <div class="name">Redis</div>
@@ -4502,7 +4658,7 @@ @@ -4502,7 +4658,7 @@
4502 </li> 4658 </li>
4503 4659
4504 <li class="dib"> 4660 <li class="dib">
4505 - <svg aria-hidden="true" class="icon svg-icon"> 4661 + <svg class="icon svg-icon" aria-hidden="true">
4506 <use xlink:href="#icon-icon-current"></use> 4662 <use xlink:href="#icon-icon-current"></use>
4507 </svg> 4663 </svg>
4508 <div class="name">电流</div> 4664 <div class="name">电流</div>
@@ -4510,7 +4666,7 @@ @@ -4510,7 +4666,7 @@
4510 </li> 4666 </li>
4511 4667
4512 <li class="dib"> 4668 <li class="dib">
4513 - <svg aria-hidden="true" class="icon svg-icon"> 4669 + <svg class="icon svg-icon" aria-hidden="true">
4514 <use xlink:href="#icon-oracleshujuku1"></use> 4670 <use xlink:href="#icon-oracleshujuku1"></use>
4515 </svg> 4671 </svg>
4516 <div class="name">oracle数据库</div> 4672 <div class="name">oracle数据库</div>
@@ -4518,7 +4674,7 @@ @@ -4518,7 +4674,7 @@
4518 </li> 4674 </li>
4519 4675
4520 <li class="dib"> 4676 <li class="dib">
4521 - <svg aria-hidden="true" class="icon svg-icon"> 4677 + <svg class="icon svg-icon" aria-hidden="true">
4522 <use xlink:href="#icon-DNS-xiugai"></use> 4678 <use xlink:href="#icon-DNS-xiugai"></use>
4523 </svg> 4679 </svg>
4524 <div class="name">DNS-修改</div> 4680 <div class="name">DNS-修改</div>
@@ -4526,7 +4682,7 @@ @@ -4526,7 +4682,7 @@
4526 </li> 4682 </li>
4527 4683
4528 <li class="dib"> 4684 <li class="dib">
4529 - <svg aria-hidden="true" class="icon svg-icon"> 4685 + <svg class="icon svg-icon" aria-hidden="true">
4530 <use xlink:href="#icon-wulifuwuqi"></use> 4686 <use xlink:href="#icon-wulifuwuqi"></use>
4531 </svg> 4687 </svg>
4532 <div class="name">物理服务器</div> 4688 <div class="name">物理服务器</div>
@@ -4534,7 +4690,7 @@ @@ -4534,7 +4690,7 @@
4534 </li> 4690 </li>
4535 4691
4536 <li class="dib"> 4692 <li class="dib">
4537 - <svg aria-hidden="true" class="icon svg-icon"> 4693 + <svg class="icon svg-icon" aria-hidden="true">
4538 <use xlink:href="#icon-dianchi2"></use> 4694 <use xlink:href="#icon-dianchi2"></use>
4539 </svg> 4695 </svg>
4540 <div class="name">电池</div> 4696 <div class="name">电池</div>
@@ -4542,7 +4698,7 @@ @@ -4542,7 +4698,7 @@
4542 </li> 4698 </li>
4543 4699
4544 <li class="dib"> 4700 <li class="dib">
4545 - <svg aria-hidden="true" class="icon svg-icon"> 4701 + <svg class="icon svg-icon" aria-hidden="true">
4546 <use xlink:href="#icon-daochu"></use> 4702 <use xlink:href="#icon-daochu"></use>
4547 </svg> 4703 </svg>
4548 <div class="name">导出</div> 4704 <div class="name">导出</div>
@@ -4550,7 +4706,7 @@ @@ -4550,7 +4706,7 @@
4550 </li> 4706 </li>
4551 4707
4552 <li class="dib"> 4708 <li class="dib">
4553 - <svg aria-hidden="true" class="icon svg-icon"> 4709 + <svg class="icon svg-icon" aria-hidden="true">
4554 <use xlink:href="#icon-daochu1"></use> 4710 <use xlink:href="#icon-daochu1"></use>
4555 </svg> 4711 </svg>
4556 <div class="name">导出</div> 4712 <div class="name">导出</div>
@@ -4558,7 +4714,7 @@ @@ -4558,7 +4714,7 @@
4558 </li> 4714 </li>
4559 4715
4560 <li class="dib"> 4716 <li class="dib">
4561 - <svg aria-hidden="true" class="icon svg-icon"> 4717 + <svg class="icon svg-icon" aria-hidden="true">
4562 <use xlink:href="#icon-database"></use> 4718 <use xlink:href="#icon-database"></use>
4563 </svg> 4719 </svg>
4564 <div class="name">数据库,数据</div> 4720 <div class="name">数据库,数据</div>
@@ -4566,7 +4722,7 @@ @@ -4566,7 +4722,7 @@
4566 </li> 4722 </li>
4567 4723
4568 <li class="dib"> 4724 <li class="dib">
4569 - <svg aria-hidden="true" class="icon svg-icon"> 4725 + <svg class="icon svg-icon" aria-hidden="true">
4570 <use xlink:href="#icon-OPCtiaobanjiquanxianshenqing"></use> 4726 <use xlink:href="#icon-OPCtiaobanjiquanxianshenqing"></use>
4571 </svg> 4727 </svg>
4572 <div class="name">OPC跳板机权限申请</div> 4728 <div class="name">OPC跳板机权限申请</div>
@@ -4574,7 +4730,7 @@ @@ -4574,7 +4730,7 @@
4574 </li> 4730 </li>
4575 4731
4576 <li class="dib"> 4732 <li class="dib">
4577 - <svg aria-hidden="true" class="icon svg-icon"> 4733 + <svg class="icon svg-icon" aria-hidden="true">
4578 <use xlink:href="#icon-assets"></use> 4734 <use xlink:href="#icon-assets"></use>
4579 </svg> 4735 </svg>
4580 <div class="name">资产</div> 4736 <div class="name">资产</div>
@@ -4582,7 +4738,7 @@ @@ -4582,7 +4738,7 @@
4582 </li> 4738 </li>
4583 4739
4584 <li class="dib"> 4740 <li class="dib">
4585 - <svg aria-hidden="true" class="icon svg-icon"> 4741 + <svg class="icon svg-icon" aria-hidden="true">
4586 <use xlink:href="#icon-shoucang"></use> 4742 <use xlink:href="#icon-shoucang"></use>
4587 </svg> 4743 </svg>
4588 <div class="name">收藏</div> 4744 <div class="name">收藏</div>
@@ -4590,7 +4746,7 @@ @@ -4590,7 +4746,7 @@
4590 </li> 4746 </li>
4591 4747
4592 <li class="dib"> 4748 <li class="dib">
4593 - <svg aria-hidden="true" class="icon svg-icon"> 4749 + <svg class="icon svg-icon" aria-hidden="true">
4594 <use xlink:href="#icon-wangluotuopu"></use> 4750 <use xlink:href="#icon-wangluotuopu"></use>
4595 </svg> 4751 </svg>
4596 <div class="name">网络拓扑</div> 4752 <div class="name">网络拓扑</div>
@@ -4598,7 +4754,7 @@ @@ -4598,7 +4754,7 @@
4598 </li> 4754 </li>
4599 4755
4600 <li class="dib"> 4756 <li class="dib">
4601 - <svg aria-hidden="true" class="icon svg-icon"> 4757 + <svg class="icon svg-icon" aria-hidden="true">
4602 <use xlink:href="#icon-shoucang1"></use> 4758 <use xlink:href="#icon-shoucang1"></use>
4603 </svg> 4759 </svg>
4604 <div class="name">收藏</div> 4760 <div class="name">收藏</div>
@@ -4606,7 +4762,7 @@ @@ -4606,7 +4762,7 @@
4606 </li> 4762 </li>
4607 4763
4608 <li class="dib"> 4764 <li class="dib">
4609 - <svg aria-hidden="true" class="icon svg-icon"> 4765 + <svg class="icon svg-icon" aria-hidden="true">
4610 <use xlink:href="#icon-xunizhuomian"></use> 4766 <use xlink:href="#icon-xunizhuomian"></use>
4611 </svg> 4767 </svg>
4612 <div class="name">虚拟桌面</div> 4768 <div class="name">虚拟桌面</div>
@@ -4614,7 +4770,7 @@ @@ -4614,7 +4770,7 @@
4614 </li> 4770 </li>
4615 4771
4616 <li class="dib"> 4772 <li class="dib">
4617 - <svg aria-hidden="true" class="icon svg-icon"> 4773 + <svg class="icon svg-icon" aria-hidden="true">
4618 <use xlink:href="#icon-baoleiji"></use> 4774 <use xlink:href="#icon-baoleiji"></use>
4619 </svg> 4775 </svg>
4620 <div class="name">堡垒机</div> 4776 <div class="name">堡垒机</div>
@@ -4622,7 +4778,7 @@ @@ -4622,7 +4778,7 @@
4622 </li> 4778 </li>
4623 4779
4624 <li class="dib"> 4780 <li class="dib">
4625 - <svg aria-hidden="true" class="icon svg-icon"> 4781 + <svg class="icon svg-icon" aria-hidden="true">
4626 <use xlink:href="#icon-baoleijisas"></use> 4782 <use xlink:href="#icon-baoleijisas"></use>
4627 </svg> 4783 </svg>
4628 <div class="name">堡垒机sas</div> 4784 <div class="name">堡垒机sas</div>
@@ -4630,7 +4786,7 @@ @@ -4630,7 +4786,7 @@
4630 </li> 4786 </li>
4631 4787
4632 <li class="dib"> 4788 <li class="dib">
4633 - <svg aria-hidden="true" class="icon svg-icon"> 4789 + <svg class="icon svg-icon" aria-hidden="true">
4634 <use xlink:href="#icon-baoleijishouquanshenqingliucheng"></use> 4790 <use xlink:href="#icon-baoleijishouquanshenqingliucheng"></use>
4635 </svg> 4791 </svg>
4636 <div class="name">堡垒机授权申请流程</div> 4792 <div class="name">堡垒机授权申请流程</div>
@@ -4638,7 +4794,7 @@ @@ -4638,7 +4794,7 @@
4638 </li> 4794 </li>
4639 4795
4640 <li class="dib"> 4796 <li class="dib">
4641 - <svg aria-hidden="true" class="icon svg-icon"> 4797 + <svg class="icon svg-icon" aria-hidden="true">
4642 <use xlink:href="#icon-xunizhuomian1"></use> 4798 <use xlink:href="#icon-xunizhuomian1"></use>
4643 </svg> 4799 </svg>
4644 <div class="name">虚拟桌面</div> 4800 <div class="name">虚拟桌面</div>
@@ -4646,7 +4802,7 @@ @@ -4646,7 +4802,7 @@
4646 </li> 4802 </li>
4647 4803
4648 <li class="dib"> 4804 <li class="dib">
4649 - <svg aria-hidden="true" class="icon svg-icon"> 4805 + <svg class="icon svg-icon" aria-hidden="true">
4650 <use xlink:href="#icon-shuiba2"></use> 4806 <use xlink:href="#icon-shuiba2"></use>
4651 </svg> 4807 </svg>
4652 <div class="name">水坝b</div> 4808 <div class="name">水坝b</div>
@@ -4654,7 +4810,7 @@ @@ -4654,7 +4810,7 @@
4654 </li> 4810 </li>
4655 4811
4656 <li class="dib"> 4812 <li class="dib">
4657 - <svg aria-hidden="true" class="icon svg-icon"> 4813 + <svg class="icon svg-icon" aria-hidden="true">
4658 <use xlink:href="#icon-xunizhuomian2"></use> 4814 <use xlink:href="#icon-xunizhuomian2"></use>
4659 </svg> 4815 </svg>
4660 <div class="name">虚拟桌面</div> 4816 <div class="name">虚拟桌面</div>
@@ -4662,7 +4818,7 @@ @@ -4662,7 +4818,7 @@
4662 </li> 4818 </li>
4663 4819
4664 <li class="dib"> 4820 <li class="dib">
4665 - <svg aria-hidden="true" class="icon svg-icon"> 4821 + <svg class="icon svg-icon" aria-hidden="true">
4666 <use xlink:href="#icon-gunshuiba"></use> 4822 <use xlink:href="#icon-gunshuiba"></use>
4667 </svg> 4823 </svg>
4668 <div class="name">滚水坝</div> 4824 <div class="name">滚水坝</div>
@@ -4670,7 +4826,7 @@ @@ -4670,7 +4826,7 @@
4670 </li> 4826 </li>
4671 4827
4672 <li class="dib"> 4828 <li class="dib">
4673 - <svg aria-hidden="true" class="icon svg-icon"> 4829 + <svg class="icon svg-icon" aria-hidden="true">
4674 <use xlink:href="#icon-line1"></use> 4830 <use xlink:href="#icon-line1"></use>
4675 </svg> 4831 </svg>
4676 <div class="name">线</div> 4832 <div class="name">线</div>
@@ -4678,7 +4834,7 @@ @@ -4678,7 +4834,7 @@
4678 </li> 4834 </li>
4679 4835
4680 <li class="dib"> 4836 <li class="dib">
4681 - <svg aria-hidden="true" class="icon svg-icon"> 4837 + <svg class="icon svg-icon" aria-hidden="true">
4682 <use xlink:href="#icon-line"></use> 4838 <use xlink:href="#icon-line"></use>
4683 </svg> 4839 </svg>
4684 <div class="name">line</div> 4840 <div class="name">line</div>
@@ -4686,7 +4842,7 @@ @@ -4686,7 +4842,7 @@
4686 </li> 4842 </li>
4687 4843
4688 <li class="dib"> 4844 <li class="dib">
4689 - <svg aria-hidden="true" class="icon svg-icon"> 4845 + <svg class="icon svg-icon" aria-hidden="true">
4690 <use xlink:href="#icon-luyouqi"></use> 4846 <use xlink:href="#icon-luyouqi"></use>
4691 </svg> 4847 </svg>
4692 <div class="name">路由器</div> 4848 <div class="name">路由器</div>
@@ -4694,7 +4850,7 @@ @@ -4694,7 +4850,7 @@
4694 </li> 4850 </li>
4695 4851
4696 <li class="dib"> 4852 <li class="dib">
4697 - <svg aria-hidden="true" class="icon svg-icon"> 4853 + <svg class="icon svg-icon" aria-hidden="true">
4698 <use xlink:href="#icon-sousuo"></use> 4854 <use xlink:href="#icon-sousuo"></use>
4699 </svg> 4855 </svg>
4700 <div class="name">搜索</div> 4856 <div class="name">搜索</div>
@@ -4702,7 +4858,7 @@ @@ -4702,7 +4858,7 @@
4702 </li> 4858 </li>
4703 4859
4704 <li class="dib"> 4860 <li class="dib">
4705 - <svg aria-hidden="true" class="icon svg-icon"> 4861 + <svg class="icon svg-icon" aria-hidden="true">
4706 <use xlink:href="#icon-icon--mubiaoku"></use> 4862 <use xlink:href="#icon-icon--mubiaoku"></use>
4707 </svg> 4863 </svg>
4708 <div class="name">目标库</div> 4864 <div class="name">目标库</div>
@@ -4710,7 +4866,7 @@ @@ -4710,7 +4866,7 @@
4710 </li> 4866 </li>
4711 4867
4712 <li class="dib"> 4868 <li class="dib">
4713 - <svg aria-hidden="true" class="icon svg-icon"> 4869 + <svg class="icon svg-icon" aria-hidden="true">
4714 <use xlink:href="#icon-icon--download"></use> 4870 <use xlink:href="#icon-icon--download"></use>
4715 </svg> 4871 </svg>
4716 <div class="name">下载</div> 4872 <div class="name">下载</div>
@@ -4718,7 +4874,7 @@ @@ -4718,7 +4874,7 @@
4718 </li> 4874 </li>
4719 4875
4720 <li class="dib"> 4876 <li class="dib">
4721 - <svg aria-hidden="true" class="icon svg-icon"> 4877 + <svg class="icon svg-icon" aria-hidden="true">
4722 <use xlink:href="#icon-icon--shangchuan"></use> 4878 <use xlink:href="#icon-icon--shangchuan"></use>
4723 </svg> 4879 </svg>
4724 <div class="name">上传</div> 4880 <div class="name">上传</div>
@@ -4726,7 +4882,7 @@ @@ -4726,7 +4882,7 @@
4726 </li> 4882 </li>
4727 4883
4728 <li class="dib"> 4884 <li class="dib">
4729 - <svg aria-hidden="true" class="icon svg-icon"> 4885 + <svg class="icon svg-icon" aria-hidden="true">
4730 <use xlink:href="#icon-icon--tongji"></use> 4886 <use xlink:href="#icon-icon--tongji"></use>
4731 </svg> 4887 </svg>
4732 <div class="name">统计</div> 4888 <div class="name">统计</div>
@@ -4734,7 +4890,7 @@ @@ -4734,7 +4890,7 @@
4734 </li> 4890 </li>
4735 4891
4736 <li class="dib"> 4892 <li class="dib">
4737 - <svg aria-hidden="true" class="icon svg-icon"> 4893 + <svg class="icon svg-icon" aria-hidden="true">
4738 <use xlink:href="#icon-icon--quanxian"></use> 4894 <use xlink:href="#icon-icon--quanxian"></use>
4739 </svg> 4895 </svg>
4740 <div class="name">权限</div> 4896 <div class="name">权限</div>
@@ -4742,7 +4898,7 @@ @@ -4742,7 +4898,7 @@
4742 </li> 4898 </li>
4743 4899
4744 <li class="dib"> 4900 <li class="dib">
4745 - <svg aria-hidden="true" class="icon svg-icon"> 4901 + <svg class="icon svg-icon" aria-hidden="true">
4746 <use xlink:href="#icon-icon--yingbing"></use> 4902 <use xlink:href="#icon-icon--yingbing"></use>
4747 </svg> 4903 </svg>
4748 <div class="name">迎宾</div> 4904 <div class="name">迎宾</div>
@@ -4750,7 +4906,7 @@ @@ -4750,7 +4906,7 @@
4750 </li> 4906 </li>
4751 4907
4752 <li class="dib"> 4908 <li class="dib">
4753 - <svg aria-hidden="true" class="icon svg-icon"> 4909 + <svg class="icon svg-icon" aria-hidden="true">
4754 <use xlink:href="#icon-icon--yes"></use> 4910 <use xlink:href="#icon-icon--yes"></use>
4755 </svg> 4911 </svg>
4756 <div class="name"></div> 4912 <div class="name"></div>
@@ -4758,7 +4914,7 @@ @@ -4758,7 +4914,7 @@
4758 </li> 4914 </li>
4759 4915
4760 <li class="dib"> 4916 <li class="dib">
4761 - <svg aria-hidden="true" class="icon svg-icon"> 4917 + <svg class="icon svg-icon" aria-hidden="true">
4762 <use xlink:href="#icon-icon--shanchu"></use> 4918 <use xlink:href="#icon-icon--shanchu"></use>
4763 </svg> 4919 </svg>
4764 <div class="name">删除</div> 4920 <div class="name">删除</div>
@@ -4766,7 +4922,7 @@ @@ -4766,7 +4922,7 @@
4766 </li> 4922 </li>
4767 4923
4768 <li class="dib"> 4924 <li class="dib">
4769 - <svg aria-hidden="true" class="icon svg-icon"> 4925 + <svg class="icon svg-icon" aria-hidden="true">
4770 <use xlink:href="#icon-icon-rizhi"></use> 4926 <use xlink:href="#icon-icon-rizhi"></use>
4771 </svg> 4927 </svg>
4772 <div class="name">日志</div> 4928 <div class="name">日志</div>
@@ -4774,7 +4930,7 @@ @@ -4774,7 +4930,7 @@
4774 </li> 4930 </li>
4775 4931
4776 <li class="dib"> 4932 <li class="dib">
4777 - <svg aria-hidden="true" class="icon svg-icon"> 4933 + <svg class="icon svg-icon" aria-hidden="true">
4778 <use xlink:href="#icon-icon-gaojing"></use> 4934 <use xlink:href="#icon-icon-gaojing"></use>
4779 </svg> 4935 </svg>
4780 <div class="name">告警</div> 4936 <div class="name">告警</div>
@@ -4782,7 +4938,7 @@ @@ -4782,7 +4938,7 @@
4782 </li> 4938 </li>
4783 4939
4784 <li class="dib"> 4940 <li class="dib">
4785 - <svg aria-hidden="true" class="icon svg-icon"> 4941 + <svg class="icon svg-icon" aria-hidden="true">
4786 <use xlink:href="#icon-icon-liucheng"></use> 4942 <use xlink:href="#icon-icon-liucheng"></use>
4787 </svg> 4943 </svg>
4788 <div class="name">流程</div> 4944 <div class="name">流程</div>
@@ -4790,7 +4946,7 @@ @@ -4790,7 +4946,7 @@
4790 </li> 4946 </li>
4791 4947
4792 <li class="dib"> 4948 <li class="dib">
4793 - <svg aria-hidden="true" class="icon svg-icon"> 4949 + <svg class="icon svg-icon" aria-hidden="true">
4794 <use xlink:href="#icon-yuangongchelianglika"></use> 4950 <use xlink:href="#icon-yuangongchelianglika"></use>
4795 </svg> 4951 </svg>
4796 <div class="name">人员离开</div> 4952 <div class="name">人员离开</div>
@@ -4798,7 +4954,7 @@ @@ -4798,7 +4954,7 @@
4798 </li> 4954 </li>
4799 4955
4800 <li class="dib"> 4956 <li class="dib">
4801 - <svg aria-hidden="true" class="icon svg-icon"> 4957 + <svg class="icon svg-icon" aria-hidden="true">
4802 <use xlink:href="#icon-yuangongcheliangjinr"></use> 4958 <use xlink:href="#icon-yuangongcheliangjinr"></use>
4803 </svg> 4959 </svg>
4804 <div class="name">人员进入</div> 4960 <div class="name">人员进入</div>
@@ -4806,7 +4962,7 @@ @@ -4806,7 +4962,7 @@
4806 </li> 4962 </li>
4807 4963
4808 <li class="dib"> 4964 <li class="dib">
4809 - <svg aria-hidden="true" class="icon svg-icon"> 4965 + <svg class="icon svg-icon" aria-hidden="true">
4810 <use xlink:href="#icon-lunxun"></use> 4966 <use xlink:href="#icon-lunxun"></use>
4811 </svg> 4967 </svg>
4812 <div class="name">轮巡</div> 4968 <div class="name">轮巡</div>
@@ -4814,7 +4970,7 @@ @@ -4814,7 +4970,7 @@
4814 </li> 4970 </li>
4815 4971
4816 <li class="dib"> 4972 <li class="dib">
4817 - <svg aria-hidden="true" class="icon svg-icon"> 4973 + <svg class="icon svg-icon" aria-hidden="true">
4818 <use xlink:href="#icon-haoyou"></use> 4974 <use xlink:href="#icon-haoyou"></use>
4819 </svg> 4975 </svg>
4820 <div class="name">好友</div> 4976 <div class="name">好友</div>
@@ -4822,7 +4978,7 @@ @@ -4822,7 +4978,7 @@
4822 </li> 4978 </li>
4823 4979
4824 <li class="dib"> 4980 <li class="dib">
4825 - <svg aria-hidden="true" class="icon svg-icon"> 4981 + <svg class="icon svg-icon" aria-hidden="true">
4826 <use xlink:href="#icon-yonghu"></use> 4982 <use xlink:href="#icon-yonghu"></use>
4827 </svg> 4983 </svg>
4828 <div class="name">224用户</div> 4984 <div class="name">224用户</div>
@@ -4830,7 +4986,7 @@ @@ -4830,7 +4986,7 @@
4830 </li> 4986 </li>
4831 4987
4832 <li class="dib"> 4988 <li class="dib">
4833 - <svg aria-hidden="true" class="icon svg-icon"> 4989 + <svg class="icon svg-icon" aria-hidden="true">
4834 <use xlink:href="#icon-jiaoseguanli"></use> 4990 <use xlink:href="#icon-jiaoseguanli"></use>
4835 </svg> 4991 </svg>
4836 <div class="name">角色管理</div> 4992 <div class="name">角色管理</div>
@@ -4838,7 +4994,7 @@ @@ -4838,7 +4994,7 @@
4838 </li> 4994 </li>
4839 4995
4840 <li class="dib"> 4996 <li class="dib">
4841 - <svg aria-hidden="true" class="icon svg-icon"> 4997 + <svg class="icon svg-icon" aria-hidden="true">
4842 <use xlink:href="#icon-liebiaomoshi"></use> 4998 <use xlink:href="#icon-liebiaomoshi"></use>
4843 </svg> 4999 </svg>
4844 <div class="name">列表模式</div> 5000 <div class="name">列表模式</div>
@@ -4846,7 +5002,7 @@ @@ -4846,7 +5002,7 @@
4846 </li> 5002 </li>
4847 5003
4848 <li class="dib"> 5004 <li class="dib">
4849 - <svg aria-hidden="true" class="icon svg-icon"> 5005 + <svg class="icon svg-icon" aria-hidden="true">
4850 <use xlink:href="#icon-liebiao"></use> 5006 <use xlink:href="#icon-liebiao"></use>
4851 </svg> 5007 </svg>
4852 <div class="name">列表</div> 5008 <div class="name">列表</div>
@@ -4854,7 +5010,7 @@ @@ -4854,7 +5010,7 @@
4854 </li> 5010 </li>
4855 5011
4856 <li class="dib"> 5012 <li class="dib">
4857 - <svg aria-hidden="true" class="icon svg-icon"> 5013 + <svg class="icon svg-icon" aria-hidden="true">
4858 <use xlink:href="#icon-bt_duigou_B"></use> 5014 <use xlink:href="#icon-bt_duigou_B"></use>
4859 </svg> 5015 </svg>
4860 <div class="name">AK-BT_对勾_B</div> 5016 <div class="name">AK-BT_对勾_B</div>
@@ -4862,7 +5018,7 @@ @@ -4862,7 +5018,7 @@
4862 </li> 5018 </li>
4863 5019
4864 <li class="dib"> 5020 <li class="dib">
4865 - <svg aria-hidden="true" class="icon svg-icon"> 5021 + <svg class="icon svg-icon" aria-hidden="true">
4866 <use xlink:href="#icon-duigouxuanzhong"></use> 5022 <use xlink:href="#icon-duigouxuanzhong"></use>
4867 </svg> 5023 </svg>
4868 <div class="name">对勾选中</div> 5024 <div class="name">对勾选中</div>
@@ -4870,7 +5026,7 @@ @@ -4870,7 +5026,7 @@
4870 </li> 5026 </li>
4871 5027
4872 <li class="dib"> 5028 <li class="dib">
4873 - <svg aria-hidden="true" class="icon svg-icon"> 5029 + <svg class="icon svg-icon" aria-hidden="true">
4874 <use xlink:href="#icon-confirm-line"></use> 5030 <use xlink:href="#icon-confirm-line"></use>
4875 </svg> 5031 </svg>
4876 <div class="name">对勾</div> 5032 <div class="name">对勾</div>
@@ -4878,7 +5034,7 @@ @@ -4878,7 +5034,7 @@
4878 </li> 5034 </li>
4879 5035
4880 <li class="dib"> 5036 <li class="dib">
4881 - <svg aria-hidden="true" class="icon svg-icon"> 5037 + <svg class="icon svg-icon" aria-hidden="true">
4882 <use xlink:href="#icon-duigou_kuai"></use> 5038 <use xlink:href="#icon-duigou_kuai"></use>
4883 </svg> 5039 </svg>
4884 <div class="name">对勾_块</div> 5040 <div class="name">对勾_块</div>
@@ -4886,7 +5042,7 @@ @@ -4886,7 +5042,7 @@
4886 </li> 5042 </li>
4887 5043
4888 <li class="dib"> 5044 <li class="dib">
4889 - <svg aria-hidden="true" class="icon svg-icon"> 5045 + <svg class="icon svg-icon" aria-hidden="true">
4890 <use xlink:href="#icon-duigou3"></use> 5046 <use xlink:href="#icon-duigou3"></use>
4891 </svg> 5047 </svg>
4892 <div class="name">进度条-对勾</div> 5048 <div class="name">进度条-对勾</div>
@@ -4894,7 +5050,7 @@ @@ -4894,7 +5050,7 @@
4894 </li> 5050 </li>
4895 5051
4896 <li class="dib"> 5052 <li class="dib">
4897 - <svg aria-hidden="true" class="icon svg-icon"> 5053 + <svg class="icon svg-icon" aria-hidden="true">
4898 <use xlink:href="#icon-cha"></use> 5054 <use xlink:href="#icon-cha"></use>
4899 </svg> 5055 </svg>
4900 <div class="name"></div> 5056 <div class="name"></div>
@@ -4902,7 +5058,7 @@ @@ -4902,7 +5058,7 @@
4902 </li> 5058 </li>
4903 5059
4904 <li class="dib"> 5060 <li class="dib">
4905 - <svg aria-hidden="true" class="icon svg-icon"> 5061 + <svg class="icon svg-icon" aria-hidden="true">
4906 <use xlink:href="#icon-duigou4"></use> 5062 <use xlink:href="#icon-duigou4"></use>
4907 </svg> 5063 </svg>
4908 <div class="name">对,勾</div> 5064 <div class="name">对,勾</div>
@@ -4910,7 +5066,7 @@ @@ -4910,7 +5066,7 @@
4910 </li> 5066 </li>
4911 5067
4912 <li class="dib"> 5068 <li class="dib">
4913 - <svg aria-hidden="true" class="icon svg-icon"> 5069 + <svg class="icon svg-icon" aria-hidden="true">
4914 <use xlink:href="#icon-guifandaohanglancha"></use> 5070 <use xlink:href="#icon-guifandaohanglancha"></use>
4915 </svg> 5071 </svg>
4916 <div class="name">规范-导航栏-叉</div> 5072 <div class="name">规范-导航栏-叉</div>
@@ -4918,7 +5074,7 @@ @@ -4918,7 +5074,7 @@
4918 </li> 5074 </li>
4919 5075
4920 <li class="dib"> 5076 <li class="dib">
4921 - <svg aria-hidden="true" class="icon svg-icon"> 5077 + <svg class="icon svg-icon" aria-hidden="true">
4922 <use xlink:href="#icon-ziyuan"></use> 5078 <use xlink:href="#icon-ziyuan"></use>
4923 </svg> 5079 </svg>
4924 <div class="name">地图找房_交叉</div> 5080 <div class="name">地图找房_交叉</div>
@@ -4926,7 +5082,7 @@ @@ -4926,7 +5082,7 @@
4926 </li> 5082 </li>
4927 5083
4928 <li class="dib"> 5084 <li class="dib">
4929 - <svg aria-hidden="true" class="icon svg-icon"> 5085 + <svg class="icon svg-icon" aria-hidden="true">
4930 <use xlink:href="#icon-duigou"></use> 5086 <use xlink:href="#icon-duigou"></use>
4931 </svg> 5087 </svg>
4932 <div class="name">对勾</div> 5088 <div class="name">对勾</div>
@@ -4934,7 +5090,7 @@ @@ -4934,7 +5090,7 @@
4934 </li> 5090 </li>
4935 5091
4936 <li class="dib"> 5092 <li class="dib">
4937 - <svg aria-hidden="true" class="icon svg-icon"> 5093 + <svg class="icon svg-icon" aria-hidden="true">
4938 <use xlink:href="#icon-duigou1"></use> 5094 <use xlink:href="#icon-duigou1"></use>
4939 </svg> 5095 </svg>
4940 <div class="name">对勾</div> 5096 <div class="name">对勾</div>
@@ -4942,7 +5098,7 @@ @@ -4942,7 +5098,7 @@
4942 </li> 5098 </li>
4943 5099
4944 <li class="dib"> 5100 <li class="dib">
4945 - <svg aria-hidden="true" class="icon svg-icon"> 5101 + <svg class="icon svg-icon" aria-hidden="true">
4946 <use xlink:href="#icon-duigou2"></use> 5102 <use xlink:href="#icon-duigou2"></use>
4947 </svg> 5103 </svg>
4948 <div class="name">操作-对勾</div> 5104 <div class="name">操作-对勾</div>
@@ -4950,7 +5106,7 @@ @@ -4950,7 +5106,7 @@
4950 </li> 5106 </li>
4951 5107
4952 <li class="dib"> 5108 <li class="dib">
4953 - <svg aria-hidden="true" class="icon svg-icon"> 5109 + <svg class="icon svg-icon" aria-hidden="true">
4954 <use xlink:href="#icon-bt_duigou_a"></use> 5110 <use xlink:href="#icon-bt_duigou_a"></use>
4955 </svg> 5111 </svg>
4956 <div class="name">AK-BT_对勾_A</div> 5112 <div class="name">AK-BT_对勾_A</div>
@@ -4958,7 +5114,7 @@ @@ -4958,7 +5114,7 @@
4958 </li> 5114 </li>
4959 5115
4960 <li class="dib"> 5116 <li class="dib">
4961 - <svg aria-hidden="true" class="icon svg-icon"> 5117 + <svg class="icon svg-icon" aria-hidden="true">
4962 <use xlink:href="#icon-wenjian"></use> 5118 <use xlink:href="#icon-wenjian"></use>
4963 </svg> 5119 </svg>
4964 <div class="name">文件</div> 5120 <div class="name">文件</div>
@@ -4966,7 +5122,7 @@ @@ -4966,7 +5122,7 @@
4966 </li> 5122 </li>
4967 5123
4968 <li class="dib"> 5124 <li class="dib">
4969 - <svg aria-hidden="true" class="icon svg-icon"> 5125 + <svg class="icon svg-icon" aria-hidden="true">
4970 <use xlink:href="#icon-bianjiwenjian"></use> 5126 <use xlink:href="#icon-bianjiwenjian"></use>
4971 </svg> 5127 </svg>
4972 <div class="name">编辑文件</div> 5128 <div class="name">编辑文件</div>
@@ -4974,7 +5130,7 @@ @@ -4974,7 +5130,7 @@
4974 </li> 5130 </li>
4975 5131
4976 <li class="dib"> 5132 <li class="dib">
4977 - <svg aria-hidden="true" class="icon svg-icon"> 5133 + <svg class="icon svg-icon" aria-hidden="true">
4978 <use xlink:href="#icon-dengdaiwenjian"></use> 5134 <use xlink:href="#icon-dengdaiwenjian"></use>
4979 </svg> 5135 </svg>
4980 <div class="name">等待文件</div> 5136 <div class="name">等待文件</div>
@@ -4982,7 +5138,7 @@ @@ -4982,7 +5138,7 @@
4982 </li> 5138 </li>
4983 5139
4984 <li class="dib"> 5140 <li class="dib">
4985 - <svg aria-hidden="true" class="icon svg-icon"> 5141 + <svg class="icon svg-icon" aria-hidden="true">
4986 <use xlink:href="#icon-shanchuwenjian"></use> 5142 <use xlink:href="#icon-shanchuwenjian"></use>
4987 </svg> 5143 </svg>
4988 <div class="name">删除文件</div> 5144 <div class="name">删除文件</div>
@@ -4990,7 +5146,7 @@ @@ -4990,7 +5146,7 @@
4990 </li> 5146 </li>
4991 5147
4992 <li class="dib"> 5148 <li class="dib">
4993 - <svg aria-hidden="true" class="icon svg-icon"> 5149 + <svg class="icon svg-icon" aria-hidden="true">
4994 <use xlink:href="#icon-jianqiewenjian"></use> 5150 <use xlink:href="#icon-jianqiewenjian"></use>
4995 </svg> 5151 </svg>
4996 <div class="name">剪切文件</div> 5152 <div class="name">剪切文件</div>
@@ -4998,7 +5154,7 @@ @@ -4998,7 +5154,7 @@
4998 </li> 5154 </li>
4999 5155
5000 <li class="dib"> 5156 <li class="dib">
5001 - <svg aria-hidden="true" class="icon svg-icon"> 5157 + <svg class="icon svg-icon" aria-hidden="true">
5002 <use xlink:href="#icon-wenjianjia"></use> 5158 <use xlink:href="#icon-wenjianjia"></use>
5003 </svg> 5159 </svg>
5004 <div class="name">文件夹</div> 5160 <div class="name">文件夹</div>
@@ -5006,7 +5162,7 @@ @@ -5006,7 +5162,7 @@
5006 </li> 5162 </li>
5007 5163
5008 <li class="dib"> 5164 <li class="dib">
5009 - <svg aria-hidden="true" class="icon svg-icon"> 5165 + <svg class="icon svg-icon" aria-hidden="true">
5010 <use xlink:href="#icon-shanchuwenjianjia"></use> 5166 <use xlink:href="#icon-shanchuwenjianjia"></use>
5011 </svg> 5167 </svg>
5012 <div class="name">删除文件夹</div> 5168 <div class="name">删除文件夹</div>
@@ -5014,7 +5170,7 @@ @@ -5014,7 +5170,7 @@
5014 </li> 5170 </li>
5015 5171
5016 <li class="dib"> 5172 <li class="dib">
5017 - <svg aria-hidden="true" class="icon svg-icon"> 5173 + <svg class="icon svg-icon" aria-hidden="true">
5018 <use xlink:href="#icon-weidaqiadewenjianjia"></use> 5174 <use xlink:href="#icon-weidaqiadewenjianjia"></use>
5019 </svg> 5175 </svg>
5020 <div class="name">未打卡的文件夹</div> 5176 <div class="name">未打卡的文件夹</div>
@@ -5022,7 +5178,7 @@ @@ -5022,7 +5178,7 @@
5022 </li> 5178 </li>
5023 5179
5024 <li class="dib"> 5180 <li class="dib">
5025 - <svg aria-hidden="true" class="icon svg-icon"> 5181 + <svg class="icon svg-icon" aria-hidden="true">
5026 <use xlink:href="#icon-ziliaoku"></use> 5182 <use xlink:href="#icon-ziliaoku"></use>
5027 </svg> 5183 </svg>
5028 <div class="name">资料库</div> 5184 <div class="name">资料库</div>
@@ -5030,7 +5186,7 @@ @@ -5030,7 +5186,7 @@
5030 </li> 5186 </li>
5031 5187
5032 <li class="dib"> 5188 <li class="dib">
5033 - <svg aria-hidden="true" class="icon svg-icon"> 5189 + <svg class="icon svg-icon" aria-hidden="true">
5034 <use xlink:href="#icon-wenben"></use> 5190 <use xlink:href="#icon-wenben"></use>
5035 </svg> 5191 </svg>
5036 <div class="name">文本</div> 5192 <div class="name">文本</div>
@@ -5038,7 +5194,7 @@ @@ -5038,7 +5194,7 @@
5038 </li> 5194 </li>
5039 5195
5040 <li class="dib"> 5196 <li class="dib">
5041 - <svg aria-hidden="true" class="icon svg-icon"> 5197 + <svg class="icon svg-icon" aria-hidden="true">
5042 <use xlink:href="#icon-daimawenjian"></use> 5198 <use xlink:href="#icon-daimawenjian"></use>
5043 </svg> 5199 </svg>
5044 <div class="name">代码文件</div> 5200 <div class="name">代码文件</div>
@@ -5046,7 +5202,7 @@ @@ -5046,7 +5202,7 @@
5046 </li> 5202 </li>
5047 5203
5048 <li class="dib"> 5204 <li class="dib">
5049 - <svg aria-hidden="true" class="icon svg-icon"> 5205 + <svg class="icon svg-icon" aria-hidden="true">
5050 <use xlink:href="#icon-excel"></use> 5206 <use xlink:href="#icon-excel"></use>
5051 </svg> 5207 </svg>
5052 <div class="name">excel</div> 5208 <div class="name">excel</div>
@@ -5054,7 +5210,7 @@ @@ -5054,7 +5210,7 @@
5054 </li> 5210 </li>
5055 5211
5056 <li class="dib"> 5212 <li class="dib">
5057 - <svg aria-hidden="true" class="icon svg-icon"> 5213 + <svg class="icon svg-icon" aria-hidden="true">
5058 <use xlink:href="#icon-24gf-fileEmpty"></use> 5214 <use xlink:href="#icon-24gf-fileEmpty"></use>
5059 </svg> 5215 </svg>
5060 <div class="name">24gf-fileEmpty</div> 5216 <div class="name">24gf-fileEmpty</div>
@@ -5062,7 +5218,7 @@ @@ -5062,7 +5218,7 @@
5062 </li> 5218 </li>
5063 5219
5064 <li class="dib"> 5220 <li class="dib">
5065 - <svg aria-hidden="true" class="icon svg-icon"> 5221 + <svg class="icon svg-icon" aria-hidden="true">
5066 <use xlink:href="#icon-24gf-fileText"></use> 5222 <use xlink:href="#icon-24gf-fileText"></use>
5067 </svg> 5223 </svg>
5068 <div class="name">24gf-fileText</div> 5224 <div class="name">24gf-fileText</div>
@@ -5070,7 +5226,7 @@ @@ -5070,7 +5226,7 @@
5070 </li> 5226 </li>
5071 5227
5072 <li class="dib"> 5228 <li class="dib">
5073 - <svg aria-hidden="true" class="icon svg-icon"> 5229 + <svg class="icon svg-icon" aria-hidden="true">
5074 <use xlink:href="#icon-24gf-folderHeart"></use> 5230 <use xlink:href="#icon-24gf-folderHeart"></use>
5075 </svg> 5231 </svg>
5076 <div class="name">24gf-folderHeart</div> 5232 <div class="name">24gf-folderHeart</div>
@@ -5078,7 +5234,7 @@ @@ -5078,7 +5234,7 @@
5078 </li> 5234 </li>
5079 5235
5080 <li class="dib"> 5236 <li class="dib">
5081 - <svg aria-hidden="true" class="icon svg-icon"> 5237 + <svg class="icon svg-icon" aria-hidden="true">
5082 <use xlink:href="#icon-24gf-folderStar"></use> 5238 <use xlink:href="#icon-24gf-folderStar"></use>
5083 </svg> 5239 </svg>
5084 <div class="name">24gf-folderStar</div> 5240 <div class="name">24gf-folderStar</div>
@@ -5086,7 +5242,7 @@ @@ -5086,7 +5242,7 @@
5086 </li> 5242 </li>
5087 5243
5088 <li class="dib"> 5244 <li class="dib">
5089 - <svg aria-hidden="true" class="icon svg-icon"> 5245 + <svg class="icon svg-icon" aria-hidden="true">
5090 <use xlink:href="#icon-24gf-folderOpen"></use> 5246 <use xlink:href="#icon-24gf-folderOpen"></use>
5091 </svg> 5247 </svg>
5092 <div class="name">24gf-folderOpen</div> 5248 <div class="name">24gf-folderOpen</div>
@@ -5094,7 +5250,7 @@ @@ -5094,7 +5250,7 @@
5094 </li> 5250 </li>
5095 5251
5096 <li class="dib"> 5252 <li class="dib">
5097 - <svg aria-hidden="true" class="icon svg-icon"> 5253 + <svg class="icon svg-icon" aria-hidden="true">
5098 <use xlink:href="#icon-wenjian1"></use> 5254 <use xlink:href="#icon-wenjian1"></use>
5099 </svg> 5255 </svg>
5100 <div class="name">文件</div> 5256 <div class="name">文件</div>
@@ -5102,7 +5258,7 @@ @@ -5102,7 +5258,7 @@
5102 </li> 5258 </li>
5103 5259
5104 <li class="dib"> 5260 <li class="dib">
5105 - <svg aria-hidden="true" class="icon svg-icon"> 5261 + <svg class="icon svg-icon" aria-hidden="true">
5106 <use xlink:href="#icon-image"></use> 5262 <use xlink:href="#icon-image"></use>
5107 </svg> 5263 </svg>
5108 <div class="name">文件,图片,image</div> 5264 <div class="name">文件,图片,image</div>
@@ -5110,7 +5266,7 @@ @@ -5110,7 +5266,7 @@
5110 </li> 5266 </li>
5111 5267
5112 <li class="dib"> 5268 <li class="dib">
5113 - <svg aria-hidden="true" class="icon svg-icon"> 5269 + <svg class="icon svg-icon" aria-hidden="true">
5114 <use xlink:href="#icon-image-full"></use> 5270 <use xlink:href="#icon-image-full"></use>
5115 </svg> 5271 </svg>
5116 <div class="name">文件,图片,image</div> 5272 <div class="name">文件,图片,image</div>
@@ -5118,7 +5274,7 @@ @@ -5118,7 +5274,7 @@
5118 </li> 5274 </li>
5119 5275
5120 <li class="dib"> 5276 <li class="dib">
5121 - <svg aria-hidden="true" class="icon svg-icon"> 5277 + <svg class="icon svg-icon" aria-hidden="true">
5122 <use xlink:href="#icon-json-full"></use> 5278 <use xlink:href="#icon-json-full"></use>
5123 </svg> 5279 </svg>
5124 <div class="name">文件,json</div> 5280 <div class="name">文件,json</div>
@@ -5126,7 +5282,7 @@ @@ -5126,7 +5282,7 @@
5126 </li> 5282 </li>
5127 5283
5128 <li class="dib"> 5284 <li class="dib">
5129 - <svg aria-hidden="true" class="icon svg-icon"> 5285 + <svg class="icon svg-icon" aria-hidden="true">
5130 <use xlink:href="#icon-json"></use> 5286 <use xlink:href="#icon-json"></use>
5131 </svg> 5287 </svg>
5132 <div class="name">文件,json</div> 5288 <div class="name">文件,json</div>
@@ -5134,7 +5290,7 @@ @@ -5134,7 +5290,7 @@
5134 </li> 5290 </li>
5135 5291
5136 <li class="dib"> 5292 <li class="dib">
5137 - <svg aria-hidden="true" class="icon svg-icon"> 5293 + <svg class="icon svg-icon" aria-hidden="true">
5138 <use xlink:href="#icon-pdf"></use> 5294 <use xlink:href="#icon-pdf"></use>
5139 </svg> 5295 </svg>
5140 <div class="name">文件,pdf</div> 5296 <div class="name">文件,pdf</div>
@@ -5142,7 +5298,7 @@ @@ -5142,7 +5298,7 @@
5142 </li> 5298 </li>
5143 5299
5144 <li class="dib"> 5300 <li class="dib">
5145 - <svg aria-hidden="true" class="icon svg-icon"> 5301 + <svg class="icon svg-icon" aria-hidden="true">
5146 <use xlink:href="#icon-pdf-full"></use> 5302 <use xlink:href="#icon-pdf-full"></use>
5147 </svg> 5303 </svg>
5148 <div class="name">文件,pdf</div> 5304 <div class="name">文件,pdf</div>
@@ -5150,7 +5306,7 @@ @@ -5150,7 +5306,7 @@
5150 </li> 5306 </li>
5151 5307
5152 <li class="dib"> 5308 <li class="dib">
5153 - <svg aria-hidden="true" class="icon svg-icon"> 5309 + <svg class="icon svg-icon" aria-hidden="true">
5154 <use xlink:href="#icon-txt-full"></use> 5310 <use xlink:href="#icon-txt-full"></use>
5155 </svg> 5311 </svg>
5156 <div class="name">文件,txt</div> 5312 <div class="name">文件,txt</div>
@@ -5158,7 +5314,7 @@ @@ -5158,7 +5314,7 @@
5158 </li> 5314 </li>
5159 5315
5160 <li class="dib"> 5316 <li class="dib">
5161 - <svg aria-hidden="true" class="icon svg-icon"> 5317 + <svg class="icon svg-icon" aria-hidden="true">
5162 <use xlink:href="#icon-txt"></use> 5318 <use xlink:href="#icon-txt"></use>
5163 </svg> 5319 </svg>
5164 <div class="name">文件,txt</div> 5320 <div class="name">文件,txt</div>
@@ -5166,7 +5322,7 @@ @@ -5166,7 +5322,7 @@
5166 </li> 5322 </li>
5167 5323
5168 <li class="dib"> 5324 <li class="dib">
5169 - <svg aria-hidden="true" class="icon svg-icon"> 5325 + <svg class="icon svg-icon" aria-hidden="true">
5170 <use xlink:href="#icon-excel1"></use> 5326 <use xlink:href="#icon-excel1"></use>
5171 </svg> 5327 </svg>
5172 <div class="name">文件,excel</div> 5328 <div class="name">文件,excel</div>
@@ -5174,7 +5330,7 @@ @@ -5174,7 +5330,7 @@
5174 </li> 5330 </li>
5175 5331
5176 <li class="dib"> 5332 <li class="dib">
5177 - <svg aria-hidden="true" class="icon svg-icon"> 5333 + <svg class="icon svg-icon" aria-hidden="true">
5178 <use xlink:href="#icon-excel-full"></use> 5334 <use xlink:href="#icon-excel-full"></use>
5179 </svg> 5335 </svg>
5180 <div class="name">文件,excel</div> 5336 <div class="name">文件,excel</div>
@@ -5182,7 +5338,7 @@ @@ -5182,7 +5338,7 @@
5182 </li> 5338 </li>
5183 5339
5184 <li class="dib"> 5340 <li class="dib">
5185 - <svg aria-hidden="true" class="icon svg-icon"> 5341 + <svg class="icon svg-icon" aria-hidden="true">
5186 <use xlink:href="#icon-ppt"></use> 5342 <use xlink:href="#icon-ppt"></use>
5187 </svg> 5343 </svg>
5188 <div class="name">文件,ppt</div> 5344 <div class="name">文件,ppt</div>
@@ -5190,7 +5346,7 @@ @@ -5190,7 +5346,7 @@
5190 </li> 5346 </li>
5191 5347
5192 <li class="dib"> 5348 <li class="dib">
5193 - <svg aria-hidden="true" class="icon svg-icon"> 5349 + <svg class="icon svg-icon" aria-hidden="true">
5194 <use xlink:href="#icon-ppt-full"></use> 5350 <use xlink:href="#icon-ppt-full"></use>
5195 </svg> 5351 </svg>
5196 <div class="name">文件,ppt</div> 5352 <div class="name">文件,ppt</div>
@@ -5198,7 +5354,7 @@ @@ -5198,7 +5354,7 @@
5198 </li> 5354 </li>
5199 5355
5200 <li class="dib"> 5356 <li class="dib">
5201 - <svg aria-hidden="true" class="icon svg-icon"> 5357 + <svg class="icon svg-icon" aria-hidden="true">
5202 <use xlink:href="#icon-word-full"></use> 5358 <use xlink:href="#icon-word-full"></use>
5203 </svg> 5359 </svg>
5204 <div class="name">文件,word</div> 5360 <div class="name">文件,word</div>
@@ -5206,7 +5362,7 @@ @@ -5206,7 +5362,7 @@
5206 </li> 5362 </li>
5207 5363
5208 <li class="dib"> 5364 <li class="dib">
5209 - <svg aria-hidden="true" class="icon svg-icon"> 5365 + <svg class="icon svg-icon" aria-hidden="true">
5210 <use xlink:href="#icon-word"></use> 5366 <use xlink:href="#icon-word"></use>
5211 </svg> 5367 </svg>
5212 <div class="name">文件,word</div> 5368 <div class="name">文件,word</div>
@@ -5214,7 +5370,7 @@ @@ -5214,7 +5370,7 @@
5214 </li> 5370 </li>
5215 5371
5216 <li class="dib"> 5372 <li class="dib">
5217 - <svg aria-hidden="true" class="icon svg-icon"> 5373 + <svg class="icon svg-icon" aria-hidden="true">
5218 <use xlink:href="#icon-audio-full"></use> 5374 <use xlink:href="#icon-audio-full"></use>
5219 </svg> 5375 </svg>
5220 <div class="name">文件,音频</div> 5376 <div class="name">文件,音频</div>
@@ -5222,7 +5378,7 @@ @@ -5222,7 +5378,7 @@
5222 </li> 5378 </li>
5223 5379
5224 <li class="dib"> 5380 <li class="dib">
5225 - <svg aria-hidden="true" class="icon svg-icon"> 5381 + <svg class="icon svg-icon" aria-hidden="true">
5226 <use xlink:href="#icon-audio"></use> 5382 <use xlink:href="#icon-audio"></use>
5227 </svg> 5383 </svg>
5228 <div class="name">文件,音频</div> 5384 <div class="name">文件,音频</div>
@@ -5230,7 +5386,7 @@ @@ -5230,7 +5386,7 @@
5230 </li> 5386 </li>
5231 5387
5232 <li class="dib"> 5388 <li class="dib">
5233 - <svg aria-hidden="true" class="icon svg-icon"> 5389 + <svg class="icon svg-icon" aria-hidden="true">
5234 <use xlink:href="#icon-avi-full"></use> 5390 <use xlink:href="#icon-avi-full"></use>
5235 </svg> 5391 </svg>
5236 <div class="name">文件,视频</div> 5392 <div class="name">文件,视频</div>
@@ -5238,7 +5394,7 @@ @@ -5238,7 +5394,7 @@
5238 </li> 5394 </li>
5239 5395
5240 <li class="dib"> 5396 <li class="dib">
5241 - <svg aria-hidden="true" class="icon svg-icon"> 5397 + <svg class="icon svg-icon" aria-hidden="true">
5242 <use xlink:href="#icon-avi"></use> 5398 <use xlink:href="#icon-avi"></use>
5243 </svg> 5399 </svg>
5244 <div class="name">文件,视频</div> 5400 <div class="name">文件,视频</div>
@@ -5246,7 +5402,7 @@ @@ -5246,7 +5402,7 @@
5246 </li> 5402 </li>
5247 5403
5248 <li class="dib"> 5404 <li class="dib">
5249 - <svg aria-hidden="true" class="icon svg-icon"> 5405 + <svg class="icon svg-icon" aria-hidden="true">
5250 <use xlink:href="#icon-zip-full"></use> 5406 <use xlink:href="#icon-zip-full"></use>
5251 </svg> 5407 </svg>
5252 <div class="name">文件,zip</div> 5408 <div class="name">文件,zip</div>
@@ -5254,7 +5410,7 @@ @@ -5254,7 +5410,7 @@
5254 </li> 5410 </li>
5255 5411
5256 <li class="dib"> 5412 <li class="dib">
5257 - <svg aria-hidden="true" class="icon svg-icon"> 5413 + <svg class="icon svg-icon" aria-hidden="true">
5258 <use xlink:href="#icon-zip"></use> 5414 <use xlink:href="#icon-zip"></use>
5259 </svg> 5415 </svg>
5260 <div class="name">文件,zip</div> 5416 <div class="name">文件,zip</div>
@@ -5276,10 +5432,10 @@ @@ -5276,10 +5432,10 @@
5276 </ul> 5432 </ul>
5277 <p>使用步骤如下:</p> 5433 <p>使用步骤如下:</p>
5278 <h3 id="-symbol-">第一步:引入项目下面生成的 symbol 代码:</h3> 5434 <h3 id="-symbol-">第一步:引入项目下面生成的 symbol 代码:</h3>
5279 - <pre><code class="language-html">&lt;script src="./iconfont.js"&gt;&lt;/script&gt; 5435 +<pre><code class="language-html">&lt;script src="./iconfont.js"&gt;&lt;/script&gt;
5280 </code></pre> 5436 </code></pre>
5281 <h3 id="-css-">第二步:加入通用 CSS 代码(引入一次就行):</h3> 5437 <h3 id="-css-">第二步:加入通用 CSS 代码(引入一次就行):</h3>
5282 - <pre><code class="language-html">&lt;style&gt; 5438 +<pre><code class="language-html">&lt;style&gt;
5283 .icon { 5439 .icon {
5284 width: 1em; 5440 width: 1em;
5285 height: 1em; 5441 height: 1em;
@@ -5290,7 +5446,7 @@ @@ -5290,7 +5446,7 @@
5290 &lt;/style&gt; 5446 &lt;/style&gt;
5291 </code></pre> 5447 </code></pre>
5292 <h3 id="-">第三步:挑选相应图标并获取类名,应用于页面:</h3> 5448 <h3 id="-">第三步:挑选相应图标并获取类名,应用于页面:</h3>
5293 - <pre><code class="language-html">&lt;svg class="icon" aria-hidden="true"&gt; 5449 +<pre><code class="language-html">&lt;svg class="icon" aria-hidden="true"&gt;
5294 &lt;use xlink:href="#icon-xxx"&gt;&lt;/use&gt; 5450 &lt;use xlink:href="#icon-xxx"&gt;&lt;/use&gt;
5295 &lt;/svg&gt; 5451 &lt;/svg&gt;
5296 </code></pre> 5452 </code></pre>
@@ -5298,8 +5454,8 @@ @@ -5298,8 +5454,8 @@
5298 </div> 5454 </div>
5299 5455
5300 </div> 5456 </div>
5301 -</div>  
5302 -<script> 5457 + </div>
  5458 + <script>
5303 $(document).ready(function () { 5459 $(document).ready(function () {
5304 $('.tab-container .content:first').show() 5460 $('.tab-container .content:first').show()
5305 5461
@@ -5317,6 +5473,6 @@ @@ -5317,6 +5473,6 @@
5317 } 5473 }
5318 }) 5474 })
5319 }) 5475 })
5320 -</script> 5476 + </script>
5321 </body> 5477 </body>
5322 </html> 5478 </html>
1 @font-face { 1 @font-face {
2 font-family: "iconfont"; /* Project id 2843738 */ 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'); 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 {
@@ -13,6 +13,34 @@ @@ -13,6 +13,34 @@
13 -moz-osx-font-smoothing: grayscale; 13 -moz-osx-font-smoothing: grayscale;
14 } 14 }
15 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";
  42 +}
  43 +
16 .icon-yibiaopan:before { 44 .icon-yibiaopan:before {
17 content: "\eb67"; 45 content: "\eb67";
18 } 46 }
@@ -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",
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 +}
  1 +“组合式函数”(Composables) 是一个利用 Vue 的组合式 API 来封装和复用有状态逻辑的函数。
  2 +
  3 +命名#
  4 +组合式函数约定用驼峰命名法命名,并以“use”作为开头。
  5 +
  6 +文档:
  7 +https://cn.vuejs.org/guide/reusability/composables.html#mouse-tracker-example
@@ -54,47 +54,24 @@ Promise.all([ @@ -54,47 +54,24 @@ 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;  
85 - }  
86 - let name=encodeURIComponent(nameText)  
87 - $.ajaxSetup({  
88 - headers:{  
89 - menuPath:menuPath,  
90 - elementName:name  
91 - }  
92 - }); 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)
93 } 70 }
94 } 71 }
95 } 72 }
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实例
@@ -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>  
24 - </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>
25 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>
26 </el-col> 25 </el-col>
27 - <el-col :span="10">  
28 - <div class="search">  
29 - <div class="operation-log-search"> 26 + <el-col :span="10" class="search">
30 <el-button-group class="ml-4"> 27 <el-button-group class="ml-4">
31 - <el-button :size="$global.elementConfig.size.button" :type="search.status == 'yesterday' ? 'primary' : ''"  
32 - @click="getDataList('yesterday')">昨天 28 + <el-button :size="$global.elementConfig.size.button"
  29 + :type="search.dateType == 'yesterday' ? 'primary' : ''"
  30 + @click="loadPage('yesterday')">昨天
33 </el-button> 31 </el-button>
34 - <el-button :size="$global.elementConfig.size.button" :type="search.status == 'today' ? 'primary' : ''"  
35 - @click="getDataList('today')">今天 32 + <el-button :size="$global.elementConfig.size.button"
  33 + :type="search.dateType == 'today' ? 'primary' : ''"
  34 + @click="loadPage('today')">今天
36 </el-button> 35 </el-button>
37 - <el-button :size="$global.elementConfig.size.button" :type="search.status == 'lastWeek' ? 'primary' : ''"  
38 - @click="getDataList('lastWeek')">上周 36 + <el-button :size="$global.elementConfig.size.button"
  37 + :type="search.dateType == 'lastWeek' ? 'primary' : ''"
  38 + @click="loadPage('lastWeek')">上周
39 </el-button> 39 </el-button>
40 - <el-button :size="$global.elementConfig.size.button" :type="search.status == 'thisWeek' ? 'primary' : ''"  
41 - @click="getDataList('thisWeek')">本周 40 + <el-button :size="$global.elementConfig.size.button"
  41 + :type="search.dateType == 'thisWeek' ? 'primary' : ''"
  42 + @click="loadPage('thisWeek')">本周
42 </el-button> 43 </el-button>
43 - <el-button :size="$global.elementConfig.size.button" :type="search.status == 'thisMonth' ? 'primary' : ''"  
44 - @click="getDataList('thisMonth')">本月 44 + <el-button :size="$global.elementConfig.size.button"
  45 + :type="search.dateType == 'thisMonth' ? 'primary' : ''"
  46 + @click="loadPage('thisMonth')">本月
45 </el-button> 47 </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 style="border-radius: 0;" :size="$global.elementConfig.size.button"
  49 + :type="search.dateType == 'all' ? 'primary' : ''"
  50 + @click="loadPage('all')">全部
48 </el-button> 51 </el-button>
49 </el-button-group> 52 </el-button-group>
50 <el-date-picker 53 <el-date-picker
@@ -59,26 +62,35 @@ @@ -59,26 +62,35 @@
59 value-format="YYYY-MM-DD" 62 value-format="YYYY-MM-DD"
60 :prefix-icon="'none'" 63 :prefix-icon="'none'"
61 @focus="dateFocus" 64 @focus="dateFocus"
62 - @change="dateChange"  
63 - />  
64 - </div>  
65 - </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> 65 + @change="dateChange"/>
  66 +
  67 + <el-button :size="$global.elementConfig.size.button" class="m-l-6" type="primary" @click="loadPage('')">
  68 + 查询
  69 + </el-button>
  70 + </el-col>
  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>
72 </div> 79 </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'  
32 - }  
33 - ])  
34 - const optionDataInit = () => { 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({});
35 23
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>" 24 + // 搜索
  25 + let search = Vue.ref({
  26 + groupId: '',
  27 + userId: '',
  28 + dateType: 'today',
  29 + dateTime: '',
  30 + page: 1,
  31 + limit: 20,
43 }); 32 });
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); 33 +
  34 + /**
  35 + * 初始化报表
  36 + */
  37 + const loadPage = (dateType) => {
  38 +
  39 + // 加载表格内容
  40 + if (dateType && dateType != '') {
  41 + // 设置最新的类型
  42 + search.value.dateType = dateType;
88 } else { 43 } else {
89 - tempStr = params.substring(start, end) + "\n";  
90 - }  
91 - newParamsName += tempStr; 44 + // 获取当前点击的配置
  45 + dateType = search.value.dateType;
92 } 46 }
  47 +
  48 + if (dateType != 'dateRange') {
  49 + search.value.dateTime = [];
93 } else { 50 } else {
94 - newParamsName = params; 51 + if (search.value.dateTime && search.value.dateTime.length == 0) {
  52 + // 时间范围
  53 + proxy.$global.showMsg("请选择开始结束时间!", "warning");
  54 + return;
95 } 55 }
96 - return newParamsName;  
97 } 56 }
98 - },  
99 - splitArea: {  
100 - show: true,  
101 - areaStyle: {  
102 - color: ['rgba(200,200,200,0.1)', 'transparent'  
103 - ] 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];
104 } 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
105 } 72 }
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',  
125 73
  74 + // 组统计
  75 + operationLogService.stackedGraphGroupInit(params, stackedGraphGroupData);
  76 + // 用户统计
  77 + operationLogService.stackedGraphUserInit(params, stackedGraphUserData);
  78 + // 下拉列表选项
  79 + operationLogService.getOperationLogGroupAndUserList(groupList);
  80 +
  81 + // 查询列表
  82 + operationLogService.pageList(params,tableData);
126 } 83 }
  84 +
  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;
127 } 93 }
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 }); 94 });
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; 95 + if(group && group.length > 0){
  96 + userList.value = group[0].groupUser;
190 } 97 }
191 - return newParamsName;  
192 } 98 }
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',  
219 99
220 - }  
221 - }  
222 - },  
223 - series: seriesR.value  
224 - };  
225 - }  
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 - }); 100 + /**
  101 + * 分页事件,加载数据
  102 + * @param page
  103 + * @param limit
  104 + */
  105 + const loaddata = ({page, limit}) => {
  106 + search.value.page = page;
  107 + search.value.limit = limit;
258 108
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] 109 + loadPage('');
281 } 110 }
282 - })  
283 - });  
284 111
285 - optionDataInit();  
286 - }  
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 - });  
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 - });  
385 - }  
386 -  
387 - let loaddata = ({page, limit}) => {  
388 - search.value.page = page;  
389 - search.value.limit = limit; 164 + let dateChange = (val) => {
  165 + loadPage('dateRange')
390 } 166 }
391 167
392 168
393 - let hideDialog = (flg) => {  
394 - dialog.value.show = flg;  
395 - if (!flg) {  
396 - getDataList(dialog.value.amStatus)  
397 - }  
398 - } 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 + // }
399 207
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
  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
1 -export default Vuex.createStore({  
2 - state: {},  
3 - getters: {},  
4 - mutations: {},  
5 - actions: {},  
6 - modules: {}  
7 -})