Commit 3a4f34ad authored by 单奇雲's avatar 单奇雲

1.新增检索功能 2.调试点详情界面

parent 3698e659
* {
margin: 0;
padding: 0;
list-style: none;
}
/*
KISSY CSS Reset
理念:1. reset 的目的不是清除浏览器的默认样式,这仅是部分工作。清除和重置是紧密不可分的。
2. reset 的目的不是让默认样式在所有浏览器下一致,而是减少默认样式有可能带来的问题。
3. reset 期望提供一套普适通用的基础样式。但没有银弹,推荐根据具体需求,裁剪和修改后再使用。
特色:1. 适应中文;2. 基于最新主流浏览器。
维护:玉伯<lifesinger@gmail.com>, 正淳<ragecarrier@gmail.com>
*/
/** 清除内外边距 **/
body, h1, h2, h3, h4, h5, h6, hr, p, blockquote, /* structural elements 结构元素 */
dl, dt, dd, ul, ol, li, /* list elements 列表元素 */
pre, /* text formatting elements 文本格式元素 */
form, fieldset, legend, button, input, textarea, /* form elements 表单元素 */
th, td /* table elements 表格元素 */ {
margin: 0;
padding: 0;
}
/** 设置默认字体 **/
body,
button, input, select, textarea /* for ie */ {
font: 12px/1.5 tahoma, arial, \5b8b\4f53, sans-serif;
}
h1,
h2,
h3,
h4,
h5,
h6 {
font-size: 100%;
}
address,
cite,
dfn,
em,
var {
font-style: normal;
} /* 将斜体扶正 */
code,
kbd,
pre,
samp {
font-family: courier new, courier, monospace;
} /* 统一等宽字体 */
small {
font-size: 12px;
} /* 小于 12px 的中文很难阅读,让 small 正常化 */
/** 重置列表元素 **/
ul,
ol {
list-style: none;
}
/** 重置文本格式元素 **/
a {
text-decoration: none;
}
a:hover {
text-decoration: underline;
}
/** 重置表单元素 **/
legend {
color: #000;
} /* for ie6 */
fieldset,
img {
border: 0;
} /* img 搭车:让链接里的 img 无边框 */
button,
input,
select,
textarea {
font-size: 100%;
} /* 使得表单元素在 ie 下能继承字体大小 */
/* 注:optgroup 无法扶正 */
/** 重置表格元素 **/
table {
border-collapse: collapse;
border-spacing: 0;
}
/* 清除浮动 */
.ks-clear:after,
.clear:after {
content: '\20';
display: block;
height: 0;
clear: both;
}
.ks-clear,
.clear {
*zoom: 1;
}
.main {
padding: 30px 100px;
width: 960px;
margin: 0 auto;
}
.main h1 {
font-size: 36px;
color: #333;
text-align: left;
margin-bottom: 30px;
border-bottom: 1px solid #eee;
}
.helps {
margin-top: 40px;
}
.helps pre {
padding: 20px;
margin: 10px 0;
border: solid 1px #e7e1cd;
background-color: #fffdef;
overflow: auto;
}
.icon_lists {
width: 100% !important;
}
.icon_lists li {
float: left;
width: 100px;
height: 180px;
text-align: center;
list-style: none !important;
}
.icon_lists .icon {
font-size: 42px;
line-height: 100px;
margin: 10px 0;
color: #333;
-webkit-transition: font-size 0.25s ease-out 0s;
-moz-transition: font-size 0.25s ease-out 0s;
transition: font-size 0.25s ease-out 0s;
}
.icon_lists .icon:hover {
font-size: 100px;
}
.markdown {
color: #666;
font-size: 14px;
line-height: 1.8;
}
.highlight {
line-height: 1.5;
}
.markdown img {
vertical-align: middle;
max-width: 100%;
}
.markdown h1 {
color: #404040;
font-weight: 500;
line-height: 40px;
margin-bottom: 24px;
}
.markdown h2,
.markdown h3,
.markdown h4,
.markdown h5,
.markdown h6 {
color: #404040;
margin: 1.6em 0 0.6em 0;
font-weight: 500;
clear: both;
}
.markdown h1 {
font-size: 28px;
}
.markdown h2 {
font-size: 22px;
}
.markdown h3 {
font-size: 16px;
}
.markdown h4 {
font-size: 14px;
}
.markdown h5 {
font-size: 12px;
}
.markdown h6 {
font-size: 12px;
}
.markdown hr {
height: 1px;
border: 0;
background: #e9e9e9;
margin: 16px 0;
clear: both;
}
.markdown p,
.markdown pre {
margin: 1em 0;
}
.markdown > p,
.markdown > blockquote,
.markdown > .highlight,
.markdown > ol,
.markdown > ul {
width: 80%;
}
.markdown ul > li {
list-style: circle;
}
.markdown > ul li,
.markdown blockquote ul > li {
margin-left: 20px;
padding-left: 4px;
}
.markdown > ul li p,
.markdown > ol li p {
margin: 0.6em 0;
}
.markdown ol > li {
list-style: decimal;
}
.markdown > ol li,
.markdown blockquote ol > li {
margin-left: 20px;
padding-left: 4px;
}
.markdown code {
margin: 0 3px;
padding: 0 5px;
background: #eee;
border-radius: 3px;
}
.markdown pre {
border-radius: 6px;
background: #f7f7f7;
padding: 20px;
}
.markdown pre code {
border: none;
background: #f7f7f7;
margin: 0;
}
.markdown strong,
.markdown b {
font-weight: 600;
}
.markdown > table {
border-collapse: collapse;
border-spacing: 0px;
empty-cells: show;
border: 1px solid #e9e9e9;
width: 95%;
margin-bottom: 24px;
}
.markdown > table th {
white-space: nowrap;
color: #333;
font-weight: 600;
}
.markdown > table th,
.markdown > table td {
border: 1px solid #e9e9e9;
padding: 8px 16px;
text-align: left;
}
.markdown > table th {
background: #f7f7f7;
}
.markdown blockquote {
font-size: 90%;
color: #999;
border-left: 4px solid #e9e9e9;
padding-left: 0.8em;
margin: 1em 0;
font-style: italic;
}
.markdown blockquote p {
margin: 0;
}
.markdown .anchor {
opacity: 0;
transition: opacity 0.3s ease;
margin-left: 8px;
}
.markdown .waiting {
color: #ccc;
}
.markdown h1:hover .anchor,
.markdown h2:hover .anchor,
.markdown h3:hover .anchor,
.markdown h4:hover .anchor,
.markdown h5:hover .anchor,
.markdown h6:hover .anchor {
opacity: 1;
display: inline-block;
}
.markdown > br,
.markdown > p > br {
clear: both;
}
.hljs {
display: block;
background: white;
padding: 0.5em;
color: #333333;
overflow-x: auto;
}
.hljs-comment,
.hljs-meta {
color: #969896;
}
.hljs-string,
.hljs-variable,
.hljs-template-variable,
.hljs-strong,
.hljs-emphasis,
.hljs-quote {
color: #df5000;
}
.hljs-keyword,
.hljs-selector-tag,
.hljs-type {
color: #a71d5d;
}
.hljs-literal,
.hljs-symbol,
.hljs-bullet,
.hljs-attribute {
color: #0086b3;
}
.hljs-section,
.hljs-name {
color: #63a35c;
}
.hljs-tag {
color: #333333;
}
.hljs-title,
.hljs-attr,
.hljs-selector-id,
.hljs-selector-class,
.hljs-selector-attr,
.hljs-selector-pseudo {
color: #795da3;
}
.hljs-addition {
color: #55a532;
background-color: #eaffea;
}
.hljs-deletion {
color: #bd2c00;
background-color: #ffecec;
}
.hljs-link {
text-decoration: underline;
}
pre {
background: #fff;
}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>IconFont</title>
<link rel="stylesheet" href="demo.css">
<link rel="stylesheet" href="iconfont.css">
</head>
<body>
<div class="main markdown">
<h1>IconFont 图标</h1>
<ul class="icon_lists clear">
<li>
<i class="icon amosicon amosicon-compile"></i>
<div class="name">编译</div>
<div class="fontclass">.amosicon-compile</div>
</li>
<li>
<i class="icon amosicon amosicon-next-page"></i>
<div class="name">下一页</div>
<div class="fontclass">.amosicon-next-page</div>
</li>
<li>
<i class="icon amosicon amosicon-arrow-left-top-thin"></i>
<div class="name">左上</div>
<div class="fontclass">.amosicon-arrow-left-top-thin</div>
</li>
<li>
<i class="icon amosicon amosicon-favorite1"></i>
<div class="name">favorite</div>
<div class="fontclass">.amosicon-favorite1</div>
</li>
<li>
<i class="icon amosicon amosicon-left"></i>
<div class="name">left</div>
<div class="fontclass">.amosicon-left</div>
</li>
<li>
<i class="icon amosicon amosicon-user1"></i>
<div class="name">用户</div>
<div class="fontclass">.amosicon-user1</div>
</li>
<li>
<i class="icon amosicon amosicon-youxiang"></i>
<div class="name">邮箱</div>
<div class="fontclass">.amosicon-youxiang</div>
</li>
<li>
<i class="icon amosicon amosicon-pre-page"></i>
<div class="name">上一页</div>
<div class="fontclass">.amosicon-pre-page</div>
</li>
<li>
<i class="icon amosicon amosicon-xiala"></i>
<div class="name">下拉</div>
<div class="fontclass">.amosicon-xiala</div>
</li>
<li>
<i class="icon amosicon amosicon-add2"></i>
<div class="name">添加</div>
<div class="fontclass">.amosicon-add2</div>
</li>
<li>
<i class="icon amosicon amosicon-list-dot"></i>
<div class="name">list</div>
<div class="fontclass">.amosicon-list-dot</div>
</li>
<li>
<i class="icon amosicon amosicon-delete"></i>
<div class="name">delete</div>
<div class="fontclass">.amosicon-delete</div>
</li>
<li>
<i class="icon amosicon amosicon-tuichu"></i>
<div class="name">退出</div>
<div class="fontclass">.amosicon-tuichu</div>
</li>
<li>
<i class="icon amosicon amosicon-file-upload-2"></i>
<div class="name">文件上传</div>
<div class="fontclass">.amosicon-file-upload-2</div>
</li>
<li>
<i class="icon amosicon amosicon-zhuxiao4"></i>
<div class="name">注销</div>
<div class="fontclass">.amosicon-zhuxiao4</div>
</li>
<li>
<i class="icon amosicon amosicon-youxiang1"></i>
<div class="name">邮箱</div>
<div class="fontclass">.amosicon-youxiang1</div>
</li>
<li>
<i class="icon amosicon amosicon-danwei"></i>
<div class="name">单位</div>
<div class="fontclass">.amosicon-danwei</div>
</li>
<li>
<i class="icon amosicon amosicon-refresh"></i>
<div class="name">刷新</div>
<div class="fontclass">.amosicon-refresh</div>
</li>
<li>
<i class="icon amosicon amosicon-gengduo"></i>
<div class="name">更多</div>
<div class="fontclass">.amosicon-gengduo</div>
</li>
<li>
<i class="icon amosicon amosicon-down"></i>
<div class="name">down</div>
<div class="fontclass">.amosicon-down</div>
</li>
<li>
<i class="icon amosicon amosicon-pie-chart"></i>
<div class="name">chart pie </div>
<div class="fontclass">.amosicon-pie-chart</div>
</li>
<li>
<i class="icon amosicon amosicon-user"></i>
<div class="name">user</div>
<div class="fontclass">.amosicon-user</div>
</li>
<li>
<i class="icon amosicon amosicon-picture"></i>
<div class="name">picture</div>
<div class="fontclass">.amosicon-picture</div>
</li>
<li>
<i class="icon amosicon amosicon-video1"></i>
<div class="name">视频</div>
<div class="fontclass">.amosicon-video1</div>
</li>
<li>
<i class="icon amosicon amosicon-folder"></i>
<div class="name">folder</div>
<div class="fontclass">.amosicon-folder</div>
</li>
<li>
<i class="icon amosicon amosicon-selected"></i>
<div class="name">selected</div>
<div class="fontclass">.amosicon-selected</div>
</li>
<li>
<i class="icon amosicon amosicon-viewgallery"></i>
<div class="name">ViewGallery</div>
<div class="fontclass">.amosicon-viewgallery</div>
</li>
<li>
<i class="icon amosicon amosicon-selectall"></i>
<div class="name">Select all</div>
<div class="fontclass">.amosicon-selectall</div>
</li>
<li>
<i class="icon amosicon amosicon-list1"></i>
<div class="name">list</div>
<div class="fontclass">.amosicon-list1</div>
</li>
<li>
<i class="icon amosicon amosicon-eye"></i>
<div class="name">eye</div>
<div class="fontclass">.amosicon-eye</div>
</li>
<li>
<i class="icon amosicon amosicon-right"></i>
<div class="name">right</div>
<div class="fontclass">.amosicon-right</div>
</li>
<li>
<i class="icon amosicon amosicon-up"></i>
<div class="name">up</div>
<div class="fontclass">.amosicon-up</div>
</li>
<li>
<i class="icon amosicon amosicon-shipinbofang"></i>
<div class="name">视频播放</div>
<div class="fontclass">.amosicon-shipinbofang</div>
</li>
<li>
<i class="icon amosicon amosicon-xiaoxi"></i>
<div class="name">消息</div>
<div class="fontclass">.amosicon-xiaoxi</div>
</li>
<li>
<i class="icon amosicon amosicon-xuanzhong"></i>
<div class="name">选中</div>
<div class="fontclass">.amosicon-xuanzhong</div>
</li>
<li>
<i class="icon amosicon amosicon-message"></i>
<div class="name">消息</div>
<div class="fontclass">.amosicon-message</div>
</li>
<li>
<i class="icon amosicon amosicon-area-chart"></i>
<div class="name">area-chart</div>
<div class="fontclass">.amosicon-area-chart</div>
</li>
<li>
<i class="icon amosicon amosicon-tianjia2"></i>
<div class="name">添加</div>
<div class="fontclass">.amosicon-tianjia2</div>
</li>
<li>
<i class="icon amosicon amosicon-shipin"></i>
<div class="name">视频</div>
<div class="fontclass">.amosicon-shipin</div>
</li>
<li>
<i class="icon amosicon amosicon-python"></i>
<div class="name">python</div>
<div class="fontclass">.amosicon-python</div>
</li>
<li>
<i class="icon amosicon amosicon-shengyin"></i>
<div class="name">声音</div>
<div class="fontclass">.amosicon-shengyin</div>
</li>
<li>
<i class="icon amosicon amosicon-xiaoxi2"></i>
<div class="name">消息</div>
<div class="fontclass">.amosicon-xiaoxi2</div>
</li>
<li>
<i class="icon amosicon amosicon-question"></i>
<div class="name">question</div>
<div class="fontclass">.amosicon-question</div>
</li>
<li>
<i class="icon amosicon amosicon-auto"></i>
<div class="name">auto</div>
<div class="fontclass">.amosicon-auto</div>
</li>
<li>
<i class="icon amosicon amosicon-task"></i>
<div class="name">task</div>
<div class="fontclass">.amosicon-task</div>
</li>
<li>
<i class="icon amosicon amosicon-atmaway"></i>
<div class="name">atm-away</div>
<div class="fontclass">.amosicon-atmaway</div>
</li>
<li>
<i class="icon amosicon amosicon-cross"></i>
<div class="name">cross</div>
<div class="fontclass">.amosicon-cross</div>
</li>
<li>
<i class="icon amosicon amosicon-fire-fat"></i>
<div class="name">fire</div>
<div class="fontclass">.amosicon-fire-fat</div>
</li>
<li>
<i class="icon amosicon amosicon-tools-2"></i>
<div class="name">工具</div>
<div class="fontclass">.amosicon-tools-2</div>
</li>
<li>
<i class="icon amosicon amosicon-message-1"></i>
<div class="name">消息</div>
<div class="fontclass">.amosicon-message-1</div>
</li>
<li>
<i class="icon amosicon amosicon-pin"></i>
<div class="name">pin</div>
<div class="fontclass">.amosicon-pin</div>
</li>
<li>
<i class="icon amosicon amosicon-wenjianjia"></i>
<div class="name">文件夹</div>
<div class="fontclass">.amosicon-wenjianjia</div>
</li>
<li>
<i class="icon amosicon amosicon-full-screen"></i>
<div class="name">full-screen</div>
<div class="fontclass">.amosicon-full-screen</div>
</li>
<li>
<i class="icon amosicon amosicon-tubiao15"></i>
<div class="name">消息</div>
<div class="fontclass">.amosicon-tubiao15</div>
</li>
<li>
<i class="icon amosicon amosicon-shangchuanshipin"></i>
<div class="name">上传视频</div>
<div class="fontclass">.amosicon-shangchuanshipin</div>
</li>
<li>
<i class="icon amosicon amosicon-warning"></i>
<div class="name">warning</div>
<div class="fontclass">.amosicon-warning</div>
</li>
<li>
<i class="icon amosicon amosicon-file-upload-3"></i>
<div class="name">上传文件</div>
<div class="fontclass">.amosicon-file-upload-3</div>
</li>
<li>
<i class="icon amosicon amosicon-application-1"></i>
<div class="name">application</div>
<div class="fontclass">.amosicon-application-1</div>
</li>
<li>
<i class="icon amosicon amosicon-link"></i>
<div class="name">link</div>
<div class="fontclass">.amosicon-link</div>
</li>
<li>
<i class="icon amosicon amosicon-fat-menu-unfold"></i>
<div class="name">menu-unfold</div>
<div class="fontclass">.amosicon-fat-menu-unfold</div>
</li>
<li>
<i class="icon amosicon amosicon-fat-menu-fold"></i>
<div class="name">menu-fold</div>
<div class="fontclass">.amosicon-fat-menu-fold</div>
</li>
<li>
<i class="icon amosicon amosicon-xuanzhong1"></i>
<div class="name">选中</div>
<div class="fontclass">.amosicon-xuanzhong1</div>
</li>
<li>
<i class="icon amosicon amosicon-guifan"></i>
<div class="name">规范</div>
<div class="fontclass">.amosicon-guifan</div>
</li>
<li>
<i class="icon amosicon amosicon-bars"></i>
<div class="name">bars</div>
<div class="fontclass">.amosicon-bars</div>
</li>
<li>
<i class="icon amosicon amosicon-scaffold-store"></i>
<div class="name">bms_脚手架_库存</div>
<div class="fontclass">.amosicon-scaffold-store</div>
</li>
<li>
<i class="icon amosicon amosicon-angle-more"></i>
<div class="name">更多</div>
<div class="fontclass">.amosicon-angle-more</div>
</li>
<li>
<i class="icon amosicon amosicon-scaffold"></i>
<div class="name">脚手架管理</div>
<div class="fontclass">.amosicon-scaffold</div>
</li>
<li>
<i class="icon amosicon amosicon-notification"></i>
<div class="name">notification</div>
<div class="fontclass">.amosicon-notification</div>
</li>
<li>
<i class="icon amosicon amosicon-picture1"></i>
<div class="name">picture</div>
<div class="fontclass">.amosicon-picture1</div>
</li>
<li>
<i class="icon amosicon amosicon-save"></i>
<div class="name">save</div>
<div class="fontclass">.amosicon-save</div>
</li>
<li>
<i class="icon amosicon amosicon-file"></i>
<div class="name">file</div>
<div class="fontclass">.amosicon-file</div>
</li>
<li>
<i class="icon amosicon amosicon-zoom-in"></i>
<div class="name">放大</div>
<div class="fontclass">.amosicon-zoom-in</div>
</li>
<li>
<i class="icon amosicon amosicon-success"></i>
<div class="name">success</div>
<div class="fontclass">.amosicon-success</div>
</li>
<li>
<i class="icon amosicon amosicon-window"></i>
<div class="name">new-window</div>
<div class="fontclass">.amosicon-window</div>
</li>
<li>
<i class="icon amosicon amosicon-remove"></i>
<div class="name">移除</div>
<div class="fontclass">.amosicon-remove</div>
</li>
<li>
<i class="icon amosicon amosicon-xuanzhong2"></i>
<div class="name">选中</div>
<div class="fontclass">.amosicon-xuanzhong2</div>
</li>
<li>
<i class="icon amosicon amosicon-zhuxiao"></i>
<div class="name">注销</div>
<div class="fontclass">.amosicon-zhuxiao</div>
</li>
<li>
<i class="icon amosicon amosicon-down-right-arrow"></i>
<div class="name">arrow-down-right</div>
<div class="fontclass">.amosicon-down-right-arrow</div>
</li>
<li>
<i class="icon amosicon amosicon-folder-open"></i>
<div class="name">folder-open</div>
<div class="fontclass">.amosicon-folder-open</div>
</li>
<li>
<i class="icon amosicon amosicon-tree"></i>
<div class="name">tree</div>
<div class="fontclass">.amosicon-tree</div>
</li>
<li>
<i class="icon amosicon amosicon-danger"></i>
<div class="name">warning</div>
<div class="fontclass">.amosicon-danger</div>
</li>
<li>
<i class="icon amosicon amosicon-phone"></i>
<div class="name">phone</div>
<div class="fontclass">.amosicon-phone</div>
</li>
<li>
<i class="icon amosicon amosicon-help"></i>
<div class="name">帮助</div>
<div class="fontclass">.amosicon-help</div>
</li>
<li>
<i class="icon amosicon amosicon-huidaodingbu"></i>
<div class="name">回到顶部</div>
<div class="fontclass">.amosicon-huidaodingbu</div>
</li>
<li>
<i class="icon amosicon amosicon-entry-sub-graph"></i>
<div class="name">subdirectory_arrow_right</div>
<div class="fontclass">.amosicon-entry-sub-graph</div>
</li>
<li>
<i class="icon amosicon amosicon-tianjia1"></i>
<div class="name">添加</div>
<div class="fontclass">.amosicon-tianjia1</div>
</li>
<li>
<i class="icon amosicon amosicon-right-bottom"></i>
<div class="name">rightBottom_02</div>
<div class="fontclass">.amosicon-right-bottom</div>
</li>
<li>
<i class="icon amosicon amosicon-shipinbofang1"></i>
<div class="name">视频播放</div>
<div class="fontclass">.amosicon-shipinbofang1</div>
</li>
<li>
<i class="icon amosicon amosicon-check"></i>
<div class="name">选中</div>
<div class="fontclass">.amosicon-check</div>
</li>
<li>
<i class="icon amosicon amosicon-exit-3d"></i>
<div class="name">退出</div>
<div class="fontclass">.amosicon-exit-3d</div>
</li>
<li>
<i class="icon amosicon amosicon-zhinan"></i>
<div class="name">指南</div>
<div class="fontclass">.amosicon-zhinan</div>
</li>
<li>
<i class="icon amosicon amosicon-list11"></i>
<div class="name">list</div>
<div class="fontclass">.amosicon-list11</div>
</li>
<li>
<i class="icon amosicon amosicon-xuanzhong3"></i>
<div class="name">选中</div>
<div class="fontclass">.amosicon-xuanzhong3</div>
</li>
<li>
<i class="icon amosicon amosicon-workflow-design"></i>
<div class="name">WorkflowDesign</div>
<div class="fontclass">.amosicon-workflow-design</div>
</li>
<li>
<i class="icon amosicon amosicon-workflow-monitor"></i>
<div class="name">WorkflowMonitoring</div>
<div class="fontclass">.amosicon-workflow-monitor</div>
</li>
<li>
<i class="icon amosicon amosicon-task-2"></i>
<div class="name">task</div>
<div class="fontclass">.amosicon-task-2</div>
</li>
<li>
<i class="icon amosicon amosicon-wxbbaobiao"></i>
<div class="name">wxb报表</div>
<div class="fontclass">.amosicon-wxbbaobiao</div>
</li>
<li>
<i class="icon amosicon amosicon-wxbgongju"></i>
<div class="name">wxb工具</div>
<div class="fontclass">.amosicon-wxbgongju</div>
</li>
<li>
<i class="icon amosicon amosicon-wxbsousuotuiguang"></i>
<div class="name">wxb搜索推广</div>
<div class="fontclass">.amosicon-wxbsousuotuiguang</div>
</li>
<li>
<i class="icon amosicon amosicon-wxbdingwei"></i>
<div class="name">wxb定位</div>
<div class="fontclass">.amosicon-wxbdingwei</div>
</li>
<li>
<i class="icon amosicon amosicon-setting"></i>
<div class="name">setting</div>
<div class="fontclass">.amosicon-setting</div>
</li>
<li>
<i class="icon amosicon amosicon-favorite"></i>
<div class="name">favorite</div>
<div class="fontclass">.amosicon-favorite</div>
</li>
<li>
<i class="icon amosicon amosicon-icontotop"></i>
<div class="name">icon-toTop</div>
<div class="fontclass">.amosicon-icontotop</div>
</li>
<li>
<i class="icon amosicon amosicon-copy"></i>
<div class="name">copy</div>
<div class="fontclass">.amosicon-copy</div>
</li>
<li>
<i class="icon amosicon amosicon-gengduo-copy"></i>
<div class="name">更多</div>
<div class="fontclass">.amosicon-gengduo-copy</div>
</li>
<li>
<i class="icon amosicon amosicon-caozuo"></i>
<div class="name">操作指南</div>
<div class="fontclass">.amosicon-caozuo</div>
</li>
<li>
<i class="icon amosicon amosicon-test"></i>
<div class="name">test</div>
<div class="fontclass">.amosicon-test</div>
</li>
<li>
<i class="icon amosicon amosicon-label"></i>
<div class="name">标签1</div>
<div class="fontclass">.amosicon-label</div>
</li>
<li>
<i class="icon amosicon amosicon-yichu"></i>
<div class="name">移除</div>
<div class="fontclass">.amosicon-yichu</div>
</li>
<li>
<i class="icon amosicon amosicon-tools"></i>
<div class="name">工具</div>
<div class="fontclass">.amosicon-tools</div>
</li>
<li>
<i class="icon amosicon amosicon-shouye1"></i>
<div class="name">首页-首页</div>
<div class="fontclass">.amosicon-shouye1</div>
</li>
<li>
<i class="icon amosicon amosicon-zhuxiao1"></i>
<div class="name">注销</div>
<div class="fontclass">.amosicon-zhuxiao1</div>
</li>
<li>
<i class="icon amosicon amosicon-huidaodingbu1"></i>
<div class="name">回到顶部</div>
<div class="fontclass">.amosicon-huidaodingbu1</div>
</li>
<li>
<i class="icon amosicon amosicon-home"></i>
<div class="name">home</div>
<div class="fontclass">.amosicon-home</div>
</li>
<li>
<i class="icon amosicon amosicon-close"></i>
<div class="name">close</div>
<div class="fontclass">.amosicon-close</div>
</li>
<li>
<i class="icon amosicon amosicon-down-right"></i>
<div class="name">是的_right149</div>
<div class="fontclass">.amosicon-down-right</div>
</li>
<li>
<i class="icon amosicon amosicon-ok"></i>
<div class="name">ok</div>
<div class="fontclass">.amosicon-ok</div>
</li>
<li>
<i class="icon amosicon amosicon-shouye"></i>
<div class="name">首页</div>
<div class="fontclass">.amosicon-shouye</div>
</li>
<li>
<i class="icon amosicon amosicon-file-upload"></i>
<div class="name">上传文件</div>
<div class="fontclass">.amosicon-file-upload</div>
</li>
<li>
<i class="icon amosicon amosicon-exit-fat"></i>
<div class="name">退出</div>
<div class="fontclass">.amosicon-exit-fat</div>
</li>
<li>
<i class="icon amosicon amosicon-tree1"></i>
<div class="name">tree</div>
<div class="fontclass">.amosicon-tree1</div>
</li>
<li>
<i class="icon amosicon amosicon-setting1"></i>
<div class="name">setting</div>
<div class="fontclass">.amosicon-setting1</div>
</li>
<li>
<i class="icon amosicon amosicon-huidaodingbu2"></i>
<div class="name">回到顶部</div>
<div class="fontclass">.amosicon-huidaodingbu2</div>
</li>
<li>
<i class="icon amosicon amosicon-shipin1"></i>
<div class="name">视频</div>
<div class="fontclass">.amosicon-shipin1</div>
</li>
<li>
<i class="icon amosicon amosicon-info"></i>
<div class="name">info</div>
<div class="fontclass">.amosicon-info</div>
</li>
<li>
<i class="icon amosicon amosicon-totop"></i>
<div class="name">toTop</div>
<div class="fontclass">.amosicon-totop</div>
</li>
<li>
<i class="icon amosicon amosicon-paper-clip"></i>
<div class="name">paper-clip</div>
<div class="fontclass">.amosicon-paper-clip</div>
</li>
<li>
<i class="icon amosicon amosicon-playvideobutton"></i>
<div class="name">play-video-button</div>
<div class="fontclass">.amosicon-playvideobutton</div>
</li>
<li>
<i class="icon amosicon amosicon-file-lef"></i>
<div class="name">file</div>
<div class="fontclass">.amosicon-file-lef</div>
</li>
<li>
<i class="icon amosicon amosicon-char"></i>
<div class="name">字符</div>
<div class="fontclass">.amosicon-char</div>
</li>
<li>
<i class="icon amosicon amosicon-xuanzhong4"></i>
<div class="name">选中</div>
<div class="fontclass">.amosicon-xuanzhong4</div>
</li>
<li>
<i class="icon amosicon amosicon-task-1"></i>
<div class="name">task</div>
<div class="fontclass">.amosicon-task-1</div>
</li>
<li>
<i class="icon amosicon amosicon-shangchuanwenjian"></i>
<div class="name">上传文件</div>
<div class="fontclass">.amosicon-shangchuanwenjian</div>
</li>
<li>
<i class="icon amosicon amosicon-dingdanguanbi"></i>
<div class="name">订单关闭</div>
<div class="fontclass">.amosicon-dingdanguanbi</div>
</li>
<li>
<i class="icon amosicon amosicon-video-upload"></i>
<div class="name">上传视频</div>
<div class="fontclass">.amosicon-video-upload</div>
</li>
<li>
<i class="icon amosicon amosicon-voice"></i>
<div class="name">声音</div>
<div class="fontclass">.amosicon-voice</div>
</li>
<li>
<i class="icon amosicon amosicon-zhiyin"></i>
<div class="name">指引</div>
<div class="fontclass">.amosicon-zhiyin</div>
</li>
<li>
<i class="icon amosicon amosicon-sim-menu-fold"></i>
<div class="name">icon_menu_fold_30x30</div>
<div class="fontclass">.amosicon-sim-menu-fold</div>
</li>
<li>
<i class="icon amosicon amosicon-selected-1"></i>
<div class="name">选中</div>
<div class="fontclass">.amosicon-selected-1</div>
</li>
<li>
<i class="icon amosicon amosicon-shuoming"></i>
<div class="name">说明</div>
<div class="fontclass">.amosicon-shuoming</div>
</li>
<li>
<i class="icon amosicon amosicon-hot"></i>
<div class="name">hot</div>
<div class="fontclass">.amosicon-hot</div>
</li>
<li>
<i class="icon amosicon amosicon-dabao"></i>
<div class="name">打包</div>
<div class="fontclass">.amosicon-dabao</div>
</li>
<li>
<i class="icon amosicon amosicon-history"></i>
<div class="name">history</div>
<div class="fontclass">.amosicon-history</div>
</li>
<li>
<i class="icon amosicon amosicon-html-copy"></i>
<div class="name">html</div>
<div class="fontclass">.amosicon-html-copy</div>
</li>
<li>
<i class="icon amosicon amosicon-sim-menu-unfold"></i>
<div class="name">icon_menu_unfold_30x30</div>
<div class="fontclass">.amosicon-sim-menu-unfold</div>
</li>
<li>
<i class="icon amosicon amosicon-rumenpian"></i>
<div class="name">入门篇</div>
<div class="fontclass">.amosicon-rumenpian</div>
</li>
<li>
<i class="icon amosicon amosicon-huanjing"></i>
<div class="name">环境</div>
<div class="fontclass">.amosicon-huanjing</div>
</li>
<li>
<i class="icon amosicon amosicon-data"></i>
<div class="name">data</div>
<div class="fontclass">.amosicon-data</div>
</li>
<li>
<i class="icon amosicon amosicon-add-sub-view"></i>
<div class="name">通用类_添加视图</div>
<div class="fontclass">.amosicon-add-sub-view</div>
</li>
<li>
<i class="icon amosicon amosicon-dingzhi"></i>
<div class="name">定制</div>
<div class="fontclass">.amosicon-dingzhi</div>
</li>
<li>
<i class="icon amosicon amosicon-error"></i>
<div class="name">error</div>
<div class="fontclass">.amosicon-error</div>
</li>
<li>
<i class="icon amosicon amosicon-xuanzhong7"></i>
<div class="name">选中</div>
<div class="fontclass">.amosicon-xuanzhong7</div>
</li>
<li>
<i class="icon amosicon amosicon-yichu1"></i>
<div class="name">移除</div>
<div class="fontclass">.amosicon-yichu1</div>
</li>
<li>
<i class="icon amosicon amosicon-gengduo1"></i>
<div class="name">更多</div>
<div class="fontclass">.amosicon-gengduo1</div>
</li>
<li>
<i class="icon amosicon amosicon-edit"></i>
<div class="name">edit</div>
<div class="fontclass">.amosicon-edit</div>
</li>
<li>
<i class="icon amosicon amosicon-folder-close"></i>
<div class="name">folder-close</div>
<div class="fontclass">.amosicon-folder-close</div>
</li>
<li>
<i class="icon amosicon amosicon-skin"></i>
<div class="name">皮肤</div>
<div class="fontclass">.amosicon-skin</div>
</li>
<li>
<i class="icon amosicon amosicon-workflow"></i>
<div class="name">workflow</div>
<div class="fontclass">.amosicon-workflow</div>
</li>
<li>
<i class="icon amosicon amosicon-single-tree"></i>
<div class="name">tree</div>
<div class="fontclass">.amosicon-single-tree</div>
</li>
<li>
<i class="icon amosicon amosicon-good"></i>
<div class="name">good</div>
<div class="fontclass">.amosicon-good</div>
</li>
<li>
<i class="icon amosicon amosicon-template"></i>
<div class="name">template</div>
<div class="fontclass">.amosicon-template</div>
</li>
<li>
<i class="icon amosicon amosicon-jianhao"></i>
<div class="name">减号</div>
<div class="fontclass">.amosicon-jianhao</div>
</li>
<li>
<i class="icon amosicon amosicon-themeisle"></i>
<div class="name">themeisle</div>
<div class="fontclass">.amosicon-themeisle</div>
</li>
<li>
<i class="icon amosicon amosicon-ziyuanjieyong"></i>
<div class="name">资源借用</div>
<div class="fontclass">.amosicon-ziyuanjieyong</div>
</li>
<li>
<i class="icon amosicon amosicon-npm"></i>
<div class="name">npm</div>
<div class="fontclass">.amosicon-npm</div>
</li>
<li>
<i class="icon amosicon amosicon-arrow-left"></i>
<div class="name">左箭头</div>
<div class="fontclass">.amosicon-arrow-left</div>
</li>
<li>
<i class="icon amosicon amosicon-fanhui"></i>
<div class="name">返回</div>
<div class="fontclass">.amosicon-fanhui</div>
</li>
<li>
<i class="icon amosicon amosicon-list"></i>
<div class="name">列-表</div>
<div class="fontclass">.amosicon-list</div>
</li>
<li>
<i class="icon amosicon amosicon-i-down"></i>
<div class="name">向下 Down 1000</div>
<div class="fontclass">.amosicon-i-down</div>
</li>
<li>
<i class="icon amosicon amosicon-gengduo2"></i>
<div class="name">更多</div>
<div class="fontclass">.amosicon-gengduo2</div>
</li>
<li>
<i class="icon amosicon amosicon-business"></i>
<div class="name">业务</div>
<div class="fontclass">.amosicon-business</div>
</li>
<li>
<i class="icon amosicon amosicon-prj-mgmt"></i>
<div class="name">工程管理</div>
<div class="fontclass">.amosicon-prj-mgmt</div>
</li>
<li>
<i class="icon amosicon amosicon-ray"></i>
<div class="name">ray</div>
<div class="fontclass">.amosicon-ray</div>
</li>
<li>
<i class="icon amosicon amosicon-sandaogangwutianchong"></i>
<div class="name">三道杠无填充</div>
<div class="fontclass">.amosicon-sandaogangwutianchong</div>
</li>
<li>
<i class="icon amosicon amosicon-shangchuanshipin2"></i>
<div class="name">上传视频</div>
<div class="fontclass">.amosicon-shangchuanshipin2</div>
</li>
<li>
<i class="icon amosicon amosicon-online-check"></i>
<div class="name">desktop on-line statistics</div>
<div class="fontclass">.amosicon-online-check</div>
</li>
<li>
<i class="icon amosicon amosicon-fanhui1"></i>
<div class="name">返回</div>
<div class="fontclass">.amosicon-fanhui1</div>
</li>
<li>
<i class="icon amosicon amosicon-file-tree"></i>
<div class="name">file-tree</div>
<div class="fontclass">.amosicon-file-tree</div>
</li>
<li>
<i class="icon amosicon amosicon-chuansuokuang"></i>
<div class="name">穿梭框</div>
<div class="fontclass">.amosicon-chuansuokuang</div>
</li>
<li>
<i class="icon amosicon amosicon-eye-o"></i>
<div class="name">eye-o</div>
<div class="fontclass">.amosicon-eye-o</div>
</li>
<li>
<i class="icon amosicon amosicon-sass"></i>
<div class="name">sass</div>
<div class="fontclass">.amosicon-sass</div>
</li>
<li>
<i class="icon amosicon amosicon-qr-code"></i>
<div class="name">qr-code</div>
<div class="fontclass">.amosicon-qr-code</div>
</li>
<li>
<i class="icon amosicon amosicon-guanbi"></i>
<div class="name">关闭-半角</div>
<div class="fontclass">.amosicon-guanbi</div>
</li>
<li>
<i class="icon amosicon amosicon-jinrongtubiao_yichu"></i>
<div class="name">移除</div>
<div class="fontclass">.amosicon-jinrongtubiao_yichu</div>
</li>
<li>
<i class="icon amosicon amosicon-ruby"></i>
<div class="name">ruby</div>
<div class="fontclass">.amosicon-ruby</div>
</li>
<li>
<i class="icon amosicon amosicon-exit"></i>
<div class="name">退出</div>
<div class="fontclass">.amosicon-exit</div>
</li>
<li>
<i class="icon amosicon amosicon-alarm-tip-single"></i>
<div class="name">报警</div>
<div class="fontclass">.amosicon-alarm-tip-single</div>
</li>
<li>
<i class="icon amosicon amosicon-bar-chart"></i>
<div class="name">chart-bar</div>
<div class="fontclass">.amosicon-bar-chart</div>
</li>
<li>
<i class="icon amosicon amosicon-tools-1"></i>
<div class="name">工具</div>
<div class="fontclass">.amosicon-tools-1</div>
</li>
<li>
<i class="icon amosicon amosicon-yichu2"></i>
<div class="name">移除</div>
<div class="fontclass">.amosicon-yichu2</div>
</li>
<li>
<i class="icon amosicon amosicon-dingzhi1"></i>
<div class="name">定制</div>
<div class="fontclass">.amosicon-dingzhi1</div>
</li>
<li>
<i class="icon amosicon amosicon-tuwen_ic_data"></i>
<div class="name">详情consult</div>
<div class="fontclass">.amosicon-tuwen_ic_data</div>
</li>
<li>
<i class="icon amosicon amosicon-thin-menu-unfold"></i>
<div class="name">menu-unfold</div>
<div class="fontclass">.amosicon-thin-menu-unfold</div>
</li>
<li>
<i class="icon amosicon amosicon-standard"></i>
<div class="name">规范</div>
<div class="fontclass">.amosicon-standard</div>
</li>
<li>
<i class="icon amosicon amosicon-success-single"></i>
<div class="name">success</div>
<div class="fontclass">.amosicon-success-single</div>
</li>
<li>
<i class="icon amosicon amosicon-env"></i>
<div class="name">环境</div>
<div class="fontclass">.amosicon-env</div>
</li>
<li>
<i class="icon amosicon amosicon-wendang"></i>
<div class="name">符号-文档</div>
<div class="fontclass">.amosicon-wendang</div>
</li>
<li>
<i class="icon amosicon amosicon-history-logs"></i>
<div class="name">history</div>
<div class="fontclass">.amosicon-history-logs</div>
</li>
<li>
<i class="icon amosicon amosicon-basic-coms"></i>
<div class="name">基 础管理 </div>
<div class="fontclass">.amosicon-basic-coms</div>
</li>
<li>
<i class="icon amosicon amosicon-database"></i>
<div class="name">添加数据源</div>
<div class="fontclass">.amosicon-database</div>
</li>
<li>
<i class="icon amosicon amosicon-hide"></i>
<div class="name">隐藏列</div>
<div class="fontclass">.amosicon-hide</div>
</li>
<li>
<i class="icon amosicon amosicon-bianji"></i>
<div class="name">edit</div>
<div class="fontclass">.amosicon-bianji</div>
</li>
<li>
<i class="icon amosicon amosicon-luru"></i>
<div class="name">input</div>
<div class="fontclass">.amosicon-luru</div>
</li>
<li>
<i class="icon amosicon amosicon-querenchuku"></i>
<div class="name">enty-out-storage</div>
<div class="fontclass">.amosicon-querenchuku</div>
</li>
<li>
<i class="icon amosicon amosicon-shezhi"></i>
<div class="name">setting</div>
<div class="fontclass">.amosicon-shezhi</div>
</li>
<li>
<i class="icon amosicon amosicon-zhuxiao2"></i>
<div class="name">注销</div>
<div class="fontclass">.amosicon-zhuxiao2</div>
</li>
<li>
<i class="icon amosicon amosicon-dingzhi2"></i>
<div class="name">定制</div>
<div class="fontclass">.amosicon-dingzhi2</div>
</li>
<li>
<i class="icon amosicon amosicon-vuejs"></i>
<div class="name">vue</div>
<div class="fontclass">.amosicon-vuejs</div>
</li>
<li>
<i class="icon amosicon amosicon-i-table"></i>
<div class="name">表格</div>
<div class="fontclass">.amosicon-i-table</div>
</li>
<li>
<i class="icon amosicon amosicon-cancel"></i>
<div class="name">cancel</div>
<div class="fontclass">.amosicon-cancel</div>
</li>
<li>
<i class="icon amosicon amosicon-java"></i>
<div class="name">java</div>
<div class="fontclass">.amosicon-java</div>
</li>
<li>
<i class="icon amosicon amosicon-update-log"></i>
<div class="name">更新日志</div>
<div class="fontclass">.amosicon-update-log</div>
</li>
<li>
<i class="icon amosicon amosicon-alarm-tip"></i>
<div class="name">报警</div>
<div class="fontclass">.amosicon-alarm-tip</div>
</li>
<li>
<i class="icon amosicon amosicon-basic"></i>
<div class="name">基础</div>
<div class="fontclass">.amosicon-basic</div>
</li>
<li>
<i class="icon amosicon amosicon-zhuxiao3"></i>
<div class="name">注销</div>
<div class="fontclass">.amosicon-zhuxiao3</div>
</li>
<li>
<i class="icon amosicon amosicon-template-copy"></i>
<div class="name">template</div>
<div class="fontclass">.amosicon-template-copy</div>
</li>
<li>
<i class="icon amosicon amosicon-appstore"></i>
<div class="name">appStore</div>
<div class="fontclass">.amosicon-appstore</div>
</li>
<li>
<i class="icon amosicon amosicon-video"></i>
<div class="name">video</div>
<div class="fontclass">.amosicon-video</div>
</li>
<li>
<i class="icon amosicon amosicon-ccgl-rukuyugao-8"></i>
<div class="name">入库</div>
<div class="fontclass">.amosicon-ccgl-rukuyugao-8</div>
</li>
<li>
<i class="icon amosicon amosicon-ccgl-chukucaozuo-13"></i>
<div class="name">出库</div>
<div class="fontclass">.amosicon-ccgl-chukucaozuo-13</div>
</li>
<li>
<i class="icon amosicon amosicon-html"></i>
<div class="name">html</div>
<div class="fontclass">.amosicon-html</div>
</li>
<li>
<i class="icon amosicon amosicon-angle-selected"></i>
<div class="name">选中</div>
<div class="fontclass">.amosicon-angle-selected</div>
</li>
<li>
<i class="icon amosicon amosicon-application"></i>
<div class="name">Application</div>
<div class="fontclass">.amosicon-application</div>
</li>
<li>
<i class="icon amosicon amosicon-collection"></i>
<div class="name">收 藏</div>
<div class="fontclass">.amosicon-collection</div>
</li>
<li>
<i class="icon amosicon amosicon-zhiyin1"></i>
<div class="name">指引</div>
<div class="fontclass">.amosicon-zhiyin1</div>
</li>
<li>
<i class="icon amosicon amosicon-xinfeng"></i>
<div class="name">信封 </div>
<div class="fontclass">.amosicon-xinfeng</div>
</li>
<li>
<i class="icon amosicon amosicon-tubiao"></i>
<div class="name">图表</div>
<div class="fontclass">.amosicon-tubiao</div>
</li>
<li>
<i class="icon amosicon amosicon-danwei1"></i>
<div class="name">单位</div>
<div class="fontclass">.amosicon-danwei1</div>
</li>
<li>
<i class="icon amosicon amosicon-card"></i>
<div class="name">卡片</div>
<div class="fontclass">.amosicon-card</div>
</li>
<li>
<i class="icon amosicon amosicon-webpack-1"></i>
<div class="name">Webpack</div>
<div class="fontclass">.amosicon-webpack-1</div>
</li>
<li>
<i class="icon amosicon amosicon-code-hide"></i>
<div class="name">code</div>
<div class="fontclass">.amosicon-code-hide</div>
</li>
<li>
<i class="icon amosicon amosicon-password"></i>
<div class="name">password</div>
<div class="fontclass">.amosicon-password</div>
</li>
<li>
<i class="icon amosicon amosicon-bar-code"></i>
<div class="name">条纹码 条形码 条码</div>
<div class="fontclass">.amosicon-bar-code</div>
</li>
<li>
<i class="icon amosicon amosicon-close-circle"></i>
<div class="name">close</div>
<div class="fontclass">.amosicon-close-circle</div>
</li>
<li>
<i class="icon amosicon amosicon-fire-thin"></i>
<div class="name">fire</div>
<div class="fontclass">.amosicon-fire-thin</div>
</li>
<li>
<i class="icon amosicon amosicon-data-table"></i>
<div class="name">数据表格2</div>
<div class="fontclass">.amosicon-data-table</div>
</li>
<li>
<i class="icon amosicon amosicon-code-show"></i>
<div class="name">code</div>
<div class="fontclass">.amosicon-code-show</div>
</li>
<li>
<i class="icon amosicon amosicon-enzyme"></i>
<div class="name">enzyme</div>
<div class="fontclass">.amosicon-enzyme</div>
</li>
<li>
<i class="icon amosicon amosicon-huidaodingbu-copy"></i>
<div class="name">回到顶部</div>
<div class="fontclass">.amosicon-huidaodingbu-copy</div>
</li>
<li>
<i class="icon amosicon amosicon-shipinshangchuan"></i>
<div class="name">视频上传</div>
<div class="fontclass">.amosicon-shipinshangchuan</div>
</li>
<li>
<i class="icon amosicon amosicon-js"></i>
<div class="name">js</div>
<div class="fontclass">.amosicon-js</div>
</li>
<li>
<i class="icon amosicon amosicon-minus-square"></i>
<div class="name"></div>
<div class="fontclass">.amosicon-minus-square</div>
</li>
<li>
<i class="icon amosicon amosicon-arrow-right"></i>
<div class="name">右箭头</div>
<div class="fontclass">.amosicon-arrow-right</div>
</li>
<li>
<i class="icon amosicon amosicon-jiancha"></i>
<div class="name">检查</div>
<div class="fontclass">.amosicon-jiancha</div>
</li>
<li>
<i class="icon amosicon amosicon-right-bottom-arrow"></i>
<div class="name">右下箭头</div>
<div class="fontclass">.amosicon-right-bottom-arrow</div>
</li>
<li>
<i class="icon amosicon amosicon-table"></i>
<div class="name">table</div>
<div class="fontclass">.amosicon-table</div>
</li>
<li>
<i class="icon amosicon amosicon-gulp"></i>
<div class="name">gulp</div>
<div class="fontclass">.amosicon-gulp</div>
</li>
<li>
<i class="icon amosicon amosicon-react"></i>
<div class="name">react</div>
<div class="fontclass">.amosicon-react</div>
</li>
<li>
<i class="icon amosicon amosicon-sass-1"></i>
<div class="name">sass</div>
<div class="fontclass">.amosicon-sass-1</div>
</li>
<li>
<i class="icon amosicon amosicon-arrow-left-top"></i>
<div class="name">左上箭头</div>
<div class="fontclass">.amosicon-arrow-left-top</div>
</li>
<li>
<i class="icon amosicon amosicon-tags"></i>
<div class="name">tags</div>
<div class="fontclass">.amosicon-tags</div>
</li>
<li>
<i class="icon amosicon amosicon-component-lib"></i>
<div class="name">组件库</div>
<div class="fontclass">.amosicon-component-lib</div>
</li>
<li>
<i class="icon amosicon amosicon-add"></i>
<div class="name">add</div>
<div class="fontclass">.amosicon-add</div>
</li>
<li>
<i class="icon amosicon amosicon-initiate-assistance"></i>
<div class="name">initiate-assistance</div>
<div class="fontclass">.amosicon-initiate-assistance</div>
</li>
<li>
<i class="icon amosicon amosicon-weixiujilu"></i>
<div class="name">维修记录</div>
<div class="fontclass">.amosicon-weixiujilu</div>
</li>
<li>
<i class="icon amosicon amosicon-fire"></i>
<div class="name"></div>
<div class="fontclass">.amosicon-fire</div>
</li>
<li>
<i class="icon amosicon amosicon-jiaohu-1"></i>
<div class="name">交互</div>
<div class="fontclass">.amosicon-jiaohu-1</div>
</li>
<li>
<i class="icon amosicon amosicon-jiaohu"></i>
<div class="name">交互随即查询</div>
<div class="fontclass">.amosicon-jiaohu</div>
</li>
<li>
<i class="icon amosicon amosicon-store"></i>
<div class="name">公文范例库</div>
<div class="fontclass">.amosicon-store</div>
</li>
<li>
<i class="icon amosicon amosicon-postcss"></i>
<div class="name">postcss</div>
<div class="fontclass">.amosicon-postcss</div>
</li>
<li>
<i class="icon amosicon amosicon-webpack"></i>
<div class="name">webpack</div>
<div class="fontclass">.amosicon-webpack</div>
</li>
<li>
<i class="icon amosicon amosicon-add-knowledge"></i>
<div class="name">新增知识库</div>
<div class="fontclass">.amosicon-add-knowledge</div>
</li>
<li>
<i class="icon amosicon amosicon-re-edit"></i>
<div class="name">重命名</div>
<div class="fontclass">.amosicon-re-edit</div>
</li>
<li>
<i class="icon amosicon amosicon-guide"></i>
<div class="name">操作指南</div>
<div class="fontclass">.amosicon-guide</div>
</li>
<li>
<i class="icon amosicon amosicon-hudong"></i>
<div class="name">交互图标</div>
<div class="fontclass">.amosicon-hudong</div>
</li>
<li>
<i class="icon amosicon amosicon-arrow-right-top-fat"></i>
<div class="name">右上</div>
<div class="fontclass">.amosicon-arrow-right-top-fat</div>
</li>
<li>
<i class="icon amosicon amosicon-caret-right"></i>
<div class="name">caret-right</div>
<div class="fontclass">.amosicon-caret-right</div>
</li>
<li>
<i class="icon amosicon amosicon-home-1"></i>
<div class="name">首页</div>
<div class="fontclass">.amosicon-home-1</div>
</li>
<li>
<i class="icon amosicon amosicon-thin-menu-fold"></i>
<div class="name">menu fold</div>
<div class="fontclass">.amosicon-thin-menu-fold</div>
</li>
<li>
<i class="icon amosicon amosicon-biz"></i>
<div class="name">业务</div>
<div class="fontclass">.amosicon-biz</div>
</li>
<li>
<i class="icon amosicon amosicon-list-rect"></i>
<div class="name">list</div>
<div class="fontclass">.amosicon-list-rect</div>
</li>
<li>
<i class="icon amosicon amosicon-table-1"></i>
<div class="name">table</div>
<div class="fontclass">.amosicon-table-1</div>
</li>
<li>
<i class="icon amosicon amosicon-react-1"></i>
<div class="name">react</div>
<div class="fontclass">.amosicon-react-1</div>
</li>
<li>
<i class="icon amosicon amosicon-arrow-right-top"></i>
<div class="name">右斜上箭头</div>
<div class="fontclass">.amosicon-arrow-right-top</div>
</li>
<li>
<i class="icon amosicon amosicon-number-more"></i>
<div class="name">more</div>
<div class="fontclass">.amosicon-number-more</div>
</li>
<li>
<i class="icon amosicon amosicon-doc"></i>
<div class="name">文档</div>
<div class="fontclass">.amosicon-doc</div>
</li>
<li>
<i class="icon amosicon amosicon-develop-env-1"></i>
<div class="name">开发环境</div>
<div class="fontclass">.amosicon-develop-env-1</div>
</li>
<li>
<i class="icon amosicon amosicon-date"></i>
<div class="name">日期</div>
<div class="fontclass">.amosicon-date</div>
</li>
<li>
<i class="icon amosicon amosicon-develop-env"></i>
<div class="name">开发环境</div>
<div class="fontclass">.amosicon-develop-env</div>
</li>
<li>
<i class="icon amosicon amosicon-search"></i>
<div class="name">search</div>
<div class="fontclass">.amosicon-search</div>
</li>
<li>
<i class="icon amosicon amosicon-zoom-out"></i>
<div class="name">缩小</div>
<div class="fontclass">.amosicon-zoom-out</div>
</li>
<li>
<i class="icon amosicon amosicon-number"></i>
<div class="name"></div>
<div class="fontclass">.amosicon-number</div>
</li>
<li>
<i class="icon amosicon amosicon-qr-code1"></i>
<div class="name">qr-code</div>
<div class="fontclass">.amosicon-qr-code1</div>
</li>
<li>
<i class="icon amosicon amosicon-open-in-new"></i>
<div class="name">open-in-new</div>
<div class="fontclass">.amosicon-open-in-new</div>
</li>
</ul>
<h2 id="font-class-">font-class引用</h2>
<hr>
<p>font-class是unicode使用方式的一种变种,主要是解决unicode书写不直观,语意不明确的问题。</p>
<p>与unicode使用方式相比,具有如下特点:</p>
<ul>
<li>兼容性良好,支持ie8+,及所有现代浏览器。</li>
<li>相比于unicode语意明确,书写更直观。可以很容易分辨这个icon是什么。</li>
<li>因为使用class来定义图标,所以当要替换图标时,只需要修改class里面的unicode引用。</li>
<li>不过因为本质上还是使用的字体,所以多色图标还是不支持的。</li>
</ul>
<p>使用步骤如下:</p>
<h3 id="-fontclass-">第一步:引入项目下面生成的fontclass代码:</h3>
<pre><code class="lang-js hljs javascript"><span class="hljs-comment">&lt;link rel="stylesheet" type="text/css" href="./iconfont.css"&gt;</span></code></pre>
<h3 id="-">第二步:挑选相应图标并获取类名,应用于页面:</h3>
<pre><code class="lang-css hljs">&lt;<span class="hljs-selector-tag">i</span> <span class="hljs-selector-tag">class</span>="<span class="hljs-selector-tag">amosicon</span> <span class="hljs-selector-tag">amosicon-xxx</span>"&gt;&lt;/<span class="hljs-selector-tag">i</span>&gt;</code></pre>
<blockquote>
<p>"amosicon"是你项目下的font-family。可以通过编辑项目查看,默认是"iconfont"。</p>
</blockquote>
</div>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>IconFont</title>
<link rel="stylesheet" href="demo.css">
<script src="iconfont.js"></script>
<style type="text/css">
.icon {
/* 通过设置 font-size 来改变图标大小 */
width: 1em; height: 1em;
/* 图标和文字相邻时,垂直对齐 */
vertical-align: -0.15em;
/* 通过设置 color 来改变 SVG 的颜色/fill */
fill: currentColor;
/* path 和 stroke 溢出 viewBox 部分在 IE 下会显示
normalize.css 中也包含这行 */
overflow: hidden;
}
</style>
</head>
<body>
<div class="main markdown">
<h1>IconFont 图标</h1>
<ul class="icon_lists clear">
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-compile"></use>
</svg>
<div class="name">编译</div>
<div class="fontclass">#amosicon-compile</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-next-page"></use>
</svg>
<div class="name">下一页</div>
<div class="fontclass">#amosicon-next-page</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-arrow-left-top-thin"></use>
</svg>
<div class="name">左上</div>
<div class="fontclass">#amosicon-arrow-left-top-thin</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-favorite1"></use>
</svg>
<div class="name">favorite</div>
<div class="fontclass">#amosicon-favorite1</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-left"></use>
</svg>
<div class="name">left</div>
<div class="fontclass">#amosicon-left</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-user1"></use>
</svg>
<div class="name">用户</div>
<div class="fontclass">#amosicon-user1</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-youxiang"></use>
</svg>
<div class="name">邮箱</div>
<div class="fontclass">#amosicon-youxiang</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-pre-page"></use>
</svg>
<div class="name">上一页</div>
<div class="fontclass">#amosicon-pre-page</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-xiala"></use>
</svg>
<div class="name">下拉</div>
<div class="fontclass">#amosicon-xiala</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-add2"></use>
</svg>
<div class="name">添加</div>
<div class="fontclass">#amosicon-add2</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-list-dot"></use>
</svg>
<div class="name">list</div>
<div class="fontclass">#amosicon-list-dot</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-delete"></use>
</svg>
<div class="name">delete</div>
<div class="fontclass">#amosicon-delete</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-tuichu"></use>
</svg>
<div class="name">退出</div>
<div class="fontclass">#amosicon-tuichu</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-file-upload-2"></use>
</svg>
<div class="name">文件上传</div>
<div class="fontclass">#amosicon-file-upload-2</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-zhuxiao4"></use>
</svg>
<div class="name">注销</div>
<div class="fontclass">#amosicon-zhuxiao4</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-youxiang1"></use>
</svg>
<div class="name">邮箱</div>
<div class="fontclass">#amosicon-youxiang1</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-danwei"></use>
</svg>
<div class="name">单位</div>
<div class="fontclass">#amosicon-danwei</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-refresh"></use>
</svg>
<div class="name">刷新</div>
<div class="fontclass">#amosicon-refresh</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-gengduo"></use>
</svg>
<div class="name">更多</div>
<div class="fontclass">#amosicon-gengduo</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-down"></use>
</svg>
<div class="name">down</div>
<div class="fontclass">#amosicon-down</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-pie-chart"></use>
</svg>
<div class="name">chart pie </div>
<div class="fontclass">#amosicon-pie-chart</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-user"></use>
</svg>
<div class="name">user</div>
<div class="fontclass">#amosicon-user</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-picture"></use>
</svg>
<div class="name">picture</div>
<div class="fontclass">#amosicon-picture</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-video1"></use>
</svg>
<div class="name">视频</div>
<div class="fontclass">#amosicon-video1</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-folder"></use>
</svg>
<div class="name">folder</div>
<div class="fontclass">#amosicon-folder</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-selected"></use>
</svg>
<div class="name">selected</div>
<div class="fontclass">#amosicon-selected</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-viewgallery"></use>
</svg>
<div class="name">ViewGallery</div>
<div class="fontclass">#amosicon-viewgallery</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-selectall"></use>
</svg>
<div class="name">Select all</div>
<div class="fontclass">#amosicon-selectall</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-list1"></use>
</svg>
<div class="name">list</div>
<div class="fontclass">#amosicon-list1</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-eye"></use>
</svg>
<div class="name">eye</div>
<div class="fontclass">#amosicon-eye</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-right"></use>
</svg>
<div class="name">right</div>
<div class="fontclass">#amosicon-right</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-up"></use>
</svg>
<div class="name">up</div>
<div class="fontclass">#amosicon-up</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-shipinbofang"></use>
</svg>
<div class="name">视频播放</div>
<div class="fontclass">#amosicon-shipinbofang</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-xiaoxi"></use>
</svg>
<div class="name">消息</div>
<div class="fontclass">#amosicon-xiaoxi</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-xuanzhong"></use>
</svg>
<div class="name">选中</div>
<div class="fontclass">#amosicon-xuanzhong</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-message"></use>
</svg>
<div class="name">消息</div>
<div class="fontclass">#amosicon-message</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-area-chart"></use>
</svg>
<div class="name">area-chart</div>
<div class="fontclass">#amosicon-area-chart</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-tianjia2"></use>
</svg>
<div class="name">添加</div>
<div class="fontclass">#amosicon-tianjia2</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-shipin"></use>
</svg>
<div class="name">视频</div>
<div class="fontclass">#amosicon-shipin</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-python"></use>
</svg>
<div class="name">python</div>
<div class="fontclass">#amosicon-python</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-shengyin"></use>
</svg>
<div class="name">声音</div>
<div class="fontclass">#amosicon-shengyin</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-xiaoxi2"></use>
</svg>
<div class="name">消息</div>
<div class="fontclass">#amosicon-xiaoxi2</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-question"></use>
</svg>
<div class="name">question</div>
<div class="fontclass">#amosicon-question</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-auto"></use>
</svg>
<div class="name">auto</div>
<div class="fontclass">#amosicon-auto</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-task"></use>
</svg>
<div class="name">task</div>
<div class="fontclass">#amosicon-task</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-atmaway"></use>
</svg>
<div class="name">atm-away</div>
<div class="fontclass">#amosicon-atmaway</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-cross"></use>
</svg>
<div class="name">cross</div>
<div class="fontclass">#amosicon-cross</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-fire-fat"></use>
</svg>
<div class="name">fire</div>
<div class="fontclass">#amosicon-fire-fat</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-tools-2"></use>
</svg>
<div class="name">工具</div>
<div class="fontclass">#amosicon-tools-2</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-message-1"></use>
</svg>
<div class="name">消息</div>
<div class="fontclass">#amosicon-message-1</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-pin"></use>
</svg>
<div class="name">pin</div>
<div class="fontclass">#amosicon-pin</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-wenjianjia"></use>
</svg>
<div class="name">文件夹</div>
<div class="fontclass">#amosicon-wenjianjia</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-full-screen"></use>
</svg>
<div class="name">full-screen</div>
<div class="fontclass">#amosicon-full-screen</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-tubiao15"></use>
</svg>
<div class="name">消息</div>
<div class="fontclass">#amosicon-tubiao15</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-shangchuanshipin"></use>
</svg>
<div class="name">上传视频</div>
<div class="fontclass">#amosicon-shangchuanshipin</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-warning"></use>
</svg>
<div class="name">warning</div>
<div class="fontclass">#amosicon-warning</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-file-upload-3"></use>
</svg>
<div class="name">上传文件</div>
<div class="fontclass">#amosicon-file-upload-3</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-application-1"></use>
</svg>
<div class="name">application</div>
<div class="fontclass">#amosicon-application-1</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-link"></use>
</svg>
<div class="name">link</div>
<div class="fontclass">#amosicon-link</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-fat-menu-unfold"></use>
</svg>
<div class="name">menu-unfold</div>
<div class="fontclass">#amosicon-fat-menu-unfold</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-fat-menu-fold"></use>
</svg>
<div class="name">menu-fold</div>
<div class="fontclass">#amosicon-fat-menu-fold</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-xuanzhong1"></use>
</svg>
<div class="name">选中</div>
<div class="fontclass">#amosicon-xuanzhong1</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-guifan"></use>
</svg>
<div class="name">规范</div>
<div class="fontclass">#amosicon-guifan</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-bars"></use>
</svg>
<div class="name">bars</div>
<div class="fontclass">#amosicon-bars</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-scaffold-store"></use>
</svg>
<div class="name">bms_脚手架_库存</div>
<div class="fontclass">#amosicon-scaffold-store</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-angle-more"></use>
</svg>
<div class="name">更多</div>
<div class="fontclass">#amosicon-angle-more</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-scaffold"></use>
</svg>
<div class="name">脚手架管理</div>
<div class="fontclass">#amosicon-scaffold</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-notification"></use>
</svg>
<div class="name">notification</div>
<div class="fontclass">#amosicon-notification</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-picture1"></use>
</svg>
<div class="name">picture</div>
<div class="fontclass">#amosicon-picture1</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-save"></use>
</svg>
<div class="name">save</div>
<div class="fontclass">#amosicon-save</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-file"></use>
</svg>
<div class="name">file</div>
<div class="fontclass">#amosicon-file</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-zoom-in"></use>
</svg>
<div class="name">放大</div>
<div class="fontclass">#amosicon-zoom-in</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-success"></use>
</svg>
<div class="name">success</div>
<div class="fontclass">#amosicon-success</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-window"></use>
</svg>
<div class="name">new-window</div>
<div class="fontclass">#amosicon-window</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-remove"></use>
</svg>
<div class="name">移除</div>
<div class="fontclass">#amosicon-remove</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-xuanzhong2"></use>
</svg>
<div class="name">选中</div>
<div class="fontclass">#amosicon-xuanzhong2</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-zhuxiao"></use>
</svg>
<div class="name">注销</div>
<div class="fontclass">#amosicon-zhuxiao</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-down-right-arrow"></use>
</svg>
<div class="name">arrow-down-right</div>
<div class="fontclass">#amosicon-down-right-arrow</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-folder-open"></use>
</svg>
<div class="name">folder-open</div>
<div class="fontclass">#amosicon-folder-open</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-tree"></use>
</svg>
<div class="name">tree</div>
<div class="fontclass">#amosicon-tree</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-danger"></use>
</svg>
<div class="name">warning</div>
<div class="fontclass">#amosicon-danger</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-phone"></use>
</svg>
<div class="name">phone</div>
<div class="fontclass">#amosicon-phone</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-help"></use>
</svg>
<div class="name">帮助</div>
<div class="fontclass">#amosicon-help</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-huidaodingbu"></use>
</svg>
<div class="name">回到顶部</div>
<div class="fontclass">#amosicon-huidaodingbu</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-entry-sub-graph"></use>
</svg>
<div class="name">subdirectory_arrow_right</div>
<div class="fontclass">#amosicon-entry-sub-graph</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-tianjia1"></use>
</svg>
<div class="name">添加</div>
<div class="fontclass">#amosicon-tianjia1</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-right-bottom"></use>
</svg>
<div class="name">rightBottom_02</div>
<div class="fontclass">#amosicon-right-bottom</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-shipinbofang1"></use>
</svg>
<div class="name">视频播放</div>
<div class="fontclass">#amosicon-shipinbofang1</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-check"></use>
</svg>
<div class="name">选中</div>
<div class="fontclass">#amosicon-check</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-exit-3d"></use>
</svg>
<div class="name">退出</div>
<div class="fontclass">#amosicon-exit-3d</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-zhinan"></use>
</svg>
<div class="name">指南</div>
<div class="fontclass">#amosicon-zhinan</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-list11"></use>
</svg>
<div class="name">list</div>
<div class="fontclass">#amosicon-list11</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-xuanzhong3"></use>
</svg>
<div class="name">选中</div>
<div class="fontclass">#amosicon-xuanzhong3</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-workflow-design"></use>
</svg>
<div class="name">WorkflowDesign</div>
<div class="fontclass">#amosicon-workflow-design</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-workflow-monitor"></use>
</svg>
<div class="name">WorkflowMonitoring</div>
<div class="fontclass">#amosicon-workflow-monitor</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-task-2"></use>
</svg>
<div class="name">task</div>
<div class="fontclass">#amosicon-task-2</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-wxbbaobiao"></use>
</svg>
<div class="name">wxb报表</div>
<div class="fontclass">#amosicon-wxbbaobiao</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-wxbgongju"></use>
</svg>
<div class="name">wxb工具</div>
<div class="fontclass">#amosicon-wxbgongju</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-wxbsousuotuiguang"></use>
</svg>
<div class="name">wxb搜索推广</div>
<div class="fontclass">#amosicon-wxbsousuotuiguang</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-wxbdingwei"></use>
</svg>
<div class="name">wxb定位</div>
<div class="fontclass">#amosicon-wxbdingwei</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-setting"></use>
</svg>
<div class="name">setting</div>
<div class="fontclass">#amosicon-setting</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-favorite"></use>
</svg>
<div class="name">favorite</div>
<div class="fontclass">#amosicon-favorite</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-icontotop"></use>
</svg>
<div class="name">icon-toTop</div>
<div class="fontclass">#amosicon-icontotop</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-copy"></use>
</svg>
<div class="name">copy</div>
<div class="fontclass">#amosicon-copy</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-gengduo-copy"></use>
</svg>
<div class="name">更多</div>
<div class="fontclass">#amosicon-gengduo-copy</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-caozuo"></use>
</svg>
<div class="name">操作指南</div>
<div class="fontclass">#amosicon-caozuo</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-test"></use>
</svg>
<div class="name">test</div>
<div class="fontclass">#amosicon-test</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-label"></use>
</svg>
<div class="name">标签1</div>
<div class="fontclass">#amosicon-label</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-yichu"></use>
</svg>
<div class="name">移除</div>
<div class="fontclass">#amosicon-yichu</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-tools"></use>
</svg>
<div class="name">工具</div>
<div class="fontclass">#amosicon-tools</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-shouye1"></use>
</svg>
<div class="name">首页-首页</div>
<div class="fontclass">#amosicon-shouye1</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-zhuxiao1"></use>
</svg>
<div class="name">注销</div>
<div class="fontclass">#amosicon-zhuxiao1</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-huidaodingbu1"></use>
</svg>
<div class="name">回到顶部</div>
<div class="fontclass">#amosicon-huidaodingbu1</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-home"></use>
</svg>
<div class="name">home</div>
<div class="fontclass">#amosicon-home</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-close"></use>
</svg>
<div class="name">close</div>
<div class="fontclass">#amosicon-close</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-down-right"></use>
</svg>
<div class="name">是的_right149</div>
<div class="fontclass">#amosicon-down-right</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-ok"></use>
</svg>
<div class="name">ok</div>
<div class="fontclass">#amosicon-ok</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-shouye"></use>
</svg>
<div class="name">首页</div>
<div class="fontclass">#amosicon-shouye</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-file-upload"></use>
</svg>
<div class="name">上传文件</div>
<div class="fontclass">#amosicon-file-upload</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-exit-fat"></use>
</svg>
<div class="name">退出</div>
<div class="fontclass">#amosicon-exit-fat</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-tree1"></use>
</svg>
<div class="name">tree</div>
<div class="fontclass">#amosicon-tree1</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-setting1"></use>
</svg>
<div class="name">setting</div>
<div class="fontclass">#amosicon-setting1</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-huidaodingbu2"></use>
</svg>
<div class="name">回到顶部</div>
<div class="fontclass">#amosicon-huidaodingbu2</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-shipin1"></use>
</svg>
<div class="name">视频</div>
<div class="fontclass">#amosicon-shipin1</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-info"></use>
</svg>
<div class="name">info</div>
<div class="fontclass">#amosicon-info</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-totop"></use>
</svg>
<div class="name">toTop</div>
<div class="fontclass">#amosicon-totop</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-paper-clip"></use>
</svg>
<div class="name">paper-clip</div>
<div class="fontclass">#amosicon-paper-clip</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-playvideobutton"></use>
</svg>
<div class="name">play-video-button</div>
<div class="fontclass">#amosicon-playvideobutton</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-file-lef"></use>
</svg>
<div class="name">file</div>
<div class="fontclass">#amosicon-file-lef</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-char"></use>
</svg>
<div class="name">字符</div>
<div class="fontclass">#amosicon-char</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-xuanzhong4"></use>
</svg>
<div class="name">选中</div>
<div class="fontclass">#amosicon-xuanzhong4</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-task-1"></use>
</svg>
<div class="name">task</div>
<div class="fontclass">#amosicon-task-1</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-shangchuanwenjian"></use>
</svg>
<div class="name">上传文件</div>
<div class="fontclass">#amosicon-shangchuanwenjian</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-dingdanguanbi"></use>
</svg>
<div class="name">订单关闭</div>
<div class="fontclass">#amosicon-dingdanguanbi</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-video-upload"></use>
</svg>
<div class="name">上传视频</div>
<div class="fontclass">#amosicon-video-upload</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-voice"></use>
</svg>
<div class="name">声音</div>
<div class="fontclass">#amosicon-voice</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-zhiyin"></use>
</svg>
<div class="name">指引</div>
<div class="fontclass">#amosicon-zhiyin</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-sim-menu-fold"></use>
</svg>
<div class="name">icon_menu_fold_30x30</div>
<div class="fontclass">#amosicon-sim-menu-fold</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-selected-1"></use>
</svg>
<div class="name">选中</div>
<div class="fontclass">#amosicon-selected-1</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-shuoming"></use>
</svg>
<div class="name">说明</div>
<div class="fontclass">#amosicon-shuoming</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-hot"></use>
</svg>
<div class="name">hot</div>
<div class="fontclass">#amosicon-hot</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-dabao"></use>
</svg>
<div class="name">打包</div>
<div class="fontclass">#amosicon-dabao</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-history"></use>
</svg>
<div class="name">history</div>
<div class="fontclass">#amosicon-history</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-html-copy"></use>
</svg>
<div class="name">html</div>
<div class="fontclass">#amosicon-html-copy</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-sim-menu-unfold"></use>
</svg>
<div class="name">icon_menu_unfold_30x30</div>
<div class="fontclass">#amosicon-sim-menu-unfold</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-rumenpian"></use>
</svg>
<div class="name">入门篇</div>
<div class="fontclass">#amosicon-rumenpian</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-huanjing"></use>
</svg>
<div class="name">环境</div>
<div class="fontclass">#amosicon-huanjing</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-data"></use>
</svg>
<div class="name">data</div>
<div class="fontclass">#amosicon-data</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-add-sub-view"></use>
</svg>
<div class="name">通用类_添加视图</div>
<div class="fontclass">#amosicon-add-sub-view</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-dingzhi"></use>
</svg>
<div class="name">定制</div>
<div class="fontclass">#amosicon-dingzhi</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-error"></use>
</svg>
<div class="name">error</div>
<div class="fontclass">#amosicon-error</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-xuanzhong7"></use>
</svg>
<div class="name">选中</div>
<div class="fontclass">#amosicon-xuanzhong7</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-yichu1"></use>
</svg>
<div class="name">移除</div>
<div class="fontclass">#amosicon-yichu1</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-gengduo1"></use>
</svg>
<div class="name">更多</div>
<div class="fontclass">#amosicon-gengduo1</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-edit"></use>
</svg>
<div class="name">edit</div>
<div class="fontclass">#amosicon-edit</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-folder-close"></use>
</svg>
<div class="name">folder-close</div>
<div class="fontclass">#amosicon-folder-close</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-skin"></use>
</svg>
<div class="name">皮肤</div>
<div class="fontclass">#amosicon-skin</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-workflow"></use>
</svg>
<div class="name">workflow</div>
<div class="fontclass">#amosicon-workflow</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-single-tree"></use>
</svg>
<div class="name">tree</div>
<div class="fontclass">#amosicon-single-tree</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-good"></use>
</svg>
<div class="name">good</div>
<div class="fontclass">#amosicon-good</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-template"></use>
</svg>
<div class="name">template</div>
<div class="fontclass">#amosicon-template</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-jianhao"></use>
</svg>
<div class="name">减号</div>
<div class="fontclass">#amosicon-jianhao</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-themeisle"></use>
</svg>
<div class="name">themeisle</div>
<div class="fontclass">#amosicon-themeisle</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-ziyuanjieyong"></use>
</svg>
<div class="name">资源借用</div>
<div class="fontclass">#amosicon-ziyuanjieyong</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-npm"></use>
</svg>
<div class="name">npm</div>
<div class="fontclass">#amosicon-npm</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-arrow-left"></use>
</svg>
<div class="name">左箭头</div>
<div class="fontclass">#amosicon-arrow-left</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-fanhui"></use>
</svg>
<div class="name">返回</div>
<div class="fontclass">#amosicon-fanhui</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-list"></use>
</svg>
<div class="name">列-表</div>
<div class="fontclass">#amosicon-list</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-i-down"></use>
</svg>
<div class="name">向下 Down 1000</div>
<div class="fontclass">#amosicon-i-down</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-gengduo2"></use>
</svg>
<div class="name">更多</div>
<div class="fontclass">#amosicon-gengduo2</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-business"></use>
</svg>
<div class="name">业务</div>
<div class="fontclass">#amosicon-business</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-prj-mgmt"></use>
</svg>
<div class="name">工程管理</div>
<div class="fontclass">#amosicon-prj-mgmt</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-ray"></use>
</svg>
<div class="name">ray</div>
<div class="fontclass">#amosicon-ray</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-sandaogangwutianchong"></use>
</svg>
<div class="name">三道杠无填充</div>
<div class="fontclass">#amosicon-sandaogangwutianchong</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-shangchuanshipin2"></use>
</svg>
<div class="name">上传视频</div>
<div class="fontclass">#amosicon-shangchuanshipin2</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-online-check"></use>
</svg>
<div class="name">desktop on-line statistics</div>
<div class="fontclass">#amosicon-online-check</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-fanhui1"></use>
</svg>
<div class="name">返回</div>
<div class="fontclass">#amosicon-fanhui1</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-file-tree"></use>
</svg>
<div class="name">file-tree</div>
<div class="fontclass">#amosicon-file-tree</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-chuansuokuang"></use>
</svg>
<div class="name">穿梭框</div>
<div class="fontclass">#amosicon-chuansuokuang</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-eye-o"></use>
</svg>
<div class="name">eye-o</div>
<div class="fontclass">#amosicon-eye-o</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-sass"></use>
</svg>
<div class="name">sass</div>
<div class="fontclass">#amosicon-sass</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-qr-code"></use>
</svg>
<div class="name">qr-code</div>
<div class="fontclass">#amosicon-qr-code</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-guanbi"></use>
</svg>
<div class="name">关闭-半角</div>
<div class="fontclass">#amosicon-guanbi</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-jinrongtubiao_yichu"></use>
</svg>
<div class="name">移除</div>
<div class="fontclass">#amosicon-jinrongtubiao_yichu</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-ruby"></use>
</svg>
<div class="name">ruby</div>
<div class="fontclass">#amosicon-ruby</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-exit"></use>
</svg>
<div class="name">退出</div>
<div class="fontclass">#amosicon-exit</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-alarm-tip-single"></use>
</svg>
<div class="name">报警</div>
<div class="fontclass">#amosicon-alarm-tip-single</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-bar-chart"></use>
</svg>
<div class="name">chart-bar</div>
<div class="fontclass">#amosicon-bar-chart</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-tools-1"></use>
</svg>
<div class="name">工具</div>
<div class="fontclass">#amosicon-tools-1</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-yichu2"></use>
</svg>
<div class="name">移除</div>
<div class="fontclass">#amosicon-yichu2</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-dingzhi1"></use>
</svg>
<div class="name">定制</div>
<div class="fontclass">#amosicon-dingzhi1</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-tuwen_ic_data"></use>
</svg>
<div class="name">详情consult</div>
<div class="fontclass">#amosicon-tuwen_ic_data</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-thin-menu-unfold"></use>
</svg>
<div class="name">menu-unfold</div>
<div class="fontclass">#amosicon-thin-menu-unfold</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-standard"></use>
</svg>
<div class="name">规范</div>
<div class="fontclass">#amosicon-standard</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-success-single"></use>
</svg>
<div class="name">success</div>
<div class="fontclass">#amosicon-success-single</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-env"></use>
</svg>
<div class="name">环境</div>
<div class="fontclass">#amosicon-env</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-wendang"></use>
</svg>
<div class="name">符号-文档</div>
<div class="fontclass">#amosicon-wendang</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-history-logs"></use>
</svg>
<div class="name">history</div>
<div class="fontclass">#amosicon-history-logs</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-basic-coms"></use>
</svg>
<div class="name">基 础管理 </div>
<div class="fontclass">#amosicon-basic-coms</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-database"></use>
</svg>
<div class="name">添加数据源</div>
<div class="fontclass">#amosicon-database</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-hide"></use>
</svg>
<div class="name">隐藏列</div>
<div class="fontclass">#amosicon-hide</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-bianji"></use>
</svg>
<div class="name">edit</div>
<div class="fontclass">#amosicon-bianji</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-luru"></use>
</svg>
<div class="name">input</div>
<div class="fontclass">#amosicon-luru</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-querenchuku"></use>
</svg>
<div class="name">enty-out-storage</div>
<div class="fontclass">#amosicon-querenchuku</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-shezhi"></use>
</svg>
<div class="name">setting</div>
<div class="fontclass">#amosicon-shezhi</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-zhuxiao2"></use>
</svg>
<div class="name">注销</div>
<div class="fontclass">#amosicon-zhuxiao2</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-dingzhi2"></use>
</svg>
<div class="name">定制</div>
<div class="fontclass">#amosicon-dingzhi2</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-vuejs"></use>
</svg>
<div class="name">vue</div>
<div class="fontclass">#amosicon-vuejs</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-i-table"></use>
</svg>
<div class="name">表格</div>
<div class="fontclass">#amosicon-i-table</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-cancel"></use>
</svg>
<div class="name">cancel</div>
<div class="fontclass">#amosicon-cancel</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-java"></use>
</svg>
<div class="name">java</div>
<div class="fontclass">#amosicon-java</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-update-log"></use>
</svg>
<div class="name">更新日志</div>
<div class="fontclass">#amosicon-update-log</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-alarm-tip"></use>
</svg>
<div class="name">报警</div>
<div class="fontclass">#amosicon-alarm-tip</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-basic"></use>
</svg>
<div class="name">基础</div>
<div class="fontclass">#amosicon-basic</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-zhuxiao3"></use>
</svg>
<div class="name">注销</div>
<div class="fontclass">#amosicon-zhuxiao3</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-template-copy"></use>
</svg>
<div class="name">template</div>
<div class="fontclass">#amosicon-template-copy</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-appstore"></use>
</svg>
<div class="name">appStore</div>
<div class="fontclass">#amosicon-appstore</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-video"></use>
</svg>
<div class="name">video</div>
<div class="fontclass">#amosicon-video</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-ccgl-rukuyugao-8"></use>
</svg>
<div class="name">入库</div>
<div class="fontclass">#amosicon-ccgl-rukuyugao-8</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-ccgl-chukucaozuo-13"></use>
</svg>
<div class="name">出库</div>
<div class="fontclass">#amosicon-ccgl-chukucaozuo-13</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-html"></use>
</svg>
<div class="name">html</div>
<div class="fontclass">#amosicon-html</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-angle-selected"></use>
</svg>
<div class="name">选中</div>
<div class="fontclass">#amosicon-angle-selected</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-application"></use>
</svg>
<div class="name">Application</div>
<div class="fontclass">#amosicon-application</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-collection"></use>
</svg>
<div class="name">收 藏</div>
<div class="fontclass">#amosicon-collection</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-zhiyin1"></use>
</svg>
<div class="name">指引</div>
<div class="fontclass">#amosicon-zhiyin1</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-xinfeng"></use>
</svg>
<div class="name">信封 </div>
<div class="fontclass">#amosicon-xinfeng</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-tubiao"></use>
</svg>
<div class="name">图表</div>
<div class="fontclass">#amosicon-tubiao</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-danwei1"></use>
</svg>
<div class="name">单位</div>
<div class="fontclass">#amosicon-danwei1</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-card"></use>
</svg>
<div class="name">卡片</div>
<div class="fontclass">#amosicon-card</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-webpack-1"></use>
</svg>
<div class="name">Webpack</div>
<div class="fontclass">#amosicon-webpack-1</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-code-hide"></use>
</svg>
<div class="name">code</div>
<div class="fontclass">#amosicon-code-hide</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-password"></use>
</svg>
<div class="name">password</div>
<div class="fontclass">#amosicon-password</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-bar-code"></use>
</svg>
<div class="name">条纹码 条形码 条码</div>
<div class="fontclass">#amosicon-bar-code</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-close-circle"></use>
</svg>
<div class="name">close</div>
<div class="fontclass">#amosicon-close-circle</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-fire-thin"></use>
</svg>
<div class="name">fire</div>
<div class="fontclass">#amosicon-fire-thin</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-data-table"></use>
</svg>
<div class="name">数据表格2</div>
<div class="fontclass">#amosicon-data-table</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-code-show"></use>
</svg>
<div class="name">code</div>
<div class="fontclass">#amosicon-code-show</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-enzyme"></use>
</svg>
<div class="name">enzyme</div>
<div class="fontclass">#amosicon-enzyme</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-huidaodingbu-copy"></use>
</svg>
<div class="name">回到顶部</div>
<div class="fontclass">#amosicon-huidaodingbu-copy</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-shipinshangchuan"></use>
</svg>
<div class="name">视频上传</div>
<div class="fontclass">#amosicon-shipinshangchuan</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-js"></use>
</svg>
<div class="name">js</div>
<div class="fontclass">#amosicon-js</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-minus-square"></use>
</svg>
<div class="name"></div>
<div class="fontclass">#amosicon-minus-square</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-arrow-right"></use>
</svg>
<div class="name">右箭头</div>
<div class="fontclass">#amosicon-arrow-right</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-jiancha"></use>
</svg>
<div class="name">检查</div>
<div class="fontclass">#amosicon-jiancha</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-right-bottom-arrow"></use>
</svg>
<div class="name">右下箭头</div>
<div class="fontclass">#amosicon-right-bottom-arrow</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-table"></use>
</svg>
<div class="name">table</div>
<div class="fontclass">#amosicon-table</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-gulp"></use>
</svg>
<div class="name">gulp</div>
<div class="fontclass">#amosicon-gulp</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-react"></use>
</svg>
<div class="name">react</div>
<div class="fontclass">#amosicon-react</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-sass-1"></use>
</svg>
<div class="name">sass</div>
<div class="fontclass">#amosicon-sass-1</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-arrow-left-top"></use>
</svg>
<div class="name">左上箭头</div>
<div class="fontclass">#amosicon-arrow-left-top</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-tags"></use>
</svg>
<div class="name">tags</div>
<div class="fontclass">#amosicon-tags</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-component-lib"></use>
</svg>
<div class="name">组件库</div>
<div class="fontclass">#amosicon-component-lib</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-add"></use>
</svg>
<div class="name">add</div>
<div class="fontclass">#amosicon-add</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-initiate-assistance"></use>
</svg>
<div class="name">initiate-assistance</div>
<div class="fontclass">#amosicon-initiate-assistance</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-weixiujilu"></use>
</svg>
<div class="name">维修记录</div>
<div class="fontclass">#amosicon-weixiujilu</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-fire"></use>
</svg>
<div class="name"></div>
<div class="fontclass">#amosicon-fire</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-jiaohu-1"></use>
</svg>
<div class="name">交互</div>
<div class="fontclass">#amosicon-jiaohu-1</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-jiaohu"></use>
</svg>
<div class="name">交互随即查询</div>
<div class="fontclass">#amosicon-jiaohu</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-store"></use>
</svg>
<div class="name">公文范例库</div>
<div class="fontclass">#amosicon-store</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-postcss"></use>
</svg>
<div class="name">postcss</div>
<div class="fontclass">#amosicon-postcss</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-webpack"></use>
</svg>
<div class="name">webpack</div>
<div class="fontclass">#amosicon-webpack</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-add-knowledge"></use>
</svg>
<div class="name">新增知识库</div>
<div class="fontclass">#amosicon-add-knowledge</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-re-edit"></use>
</svg>
<div class="name">重命名</div>
<div class="fontclass">#amosicon-re-edit</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-guide"></use>
</svg>
<div class="name">操作指南</div>
<div class="fontclass">#amosicon-guide</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-hudong"></use>
</svg>
<div class="name">交互图标</div>
<div class="fontclass">#amosicon-hudong</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-arrow-right-top-fat"></use>
</svg>
<div class="name">右上</div>
<div class="fontclass">#amosicon-arrow-right-top-fat</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-caret-right"></use>
</svg>
<div class="name">caret-right</div>
<div class="fontclass">#amosicon-caret-right</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-home-1"></use>
</svg>
<div class="name">首页</div>
<div class="fontclass">#amosicon-home-1</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-thin-menu-fold"></use>
</svg>
<div class="name">menu fold</div>
<div class="fontclass">#amosicon-thin-menu-fold</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-biz"></use>
</svg>
<div class="name">业务</div>
<div class="fontclass">#amosicon-biz</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-list-rect"></use>
</svg>
<div class="name">list</div>
<div class="fontclass">#amosicon-list-rect</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-table-1"></use>
</svg>
<div class="name">table</div>
<div class="fontclass">#amosicon-table-1</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-react-1"></use>
</svg>
<div class="name">react</div>
<div class="fontclass">#amosicon-react-1</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-arrow-right-top"></use>
</svg>
<div class="name">右斜上箭头</div>
<div class="fontclass">#amosicon-arrow-right-top</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-number-more"></use>
</svg>
<div class="name">more</div>
<div class="fontclass">#amosicon-number-more</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-doc"></use>
</svg>
<div class="name">文档</div>
<div class="fontclass">#amosicon-doc</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-develop-env-1"></use>
</svg>
<div class="name">开发环境</div>
<div class="fontclass">#amosicon-develop-env-1</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-date"></use>
</svg>
<div class="name">日期</div>
<div class="fontclass">#amosicon-date</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-develop-env"></use>
</svg>
<div class="name">开发环境</div>
<div class="fontclass">#amosicon-develop-env</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-search"></use>
</svg>
<div class="name">search</div>
<div class="fontclass">#amosicon-search</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-zoom-out"></use>
</svg>
<div class="name">缩小</div>
<div class="fontclass">#amosicon-zoom-out</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-number"></use>
</svg>
<div class="name"></div>
<div class="fontclass">#amosicon-number</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-qr-code1"></use>
</svg>
<div class="name">qr-code</div>
<div class="fontclass">#amosicon-qr-code1</div>
</li>
<li>
<svg class="icon" aria-hidden="true">
<use xlink:href="#amosicon-open-in-new"></use>
</svg>
<div class="name">open-in-new</div>
<div class="fontclass">#amosicon-open-in-new</div>
</li>
</ul>
<h2 id="symbol-">symbol引用</h2>
<hr>
<p>这是一种全新的使用方式,应该说这才是未来的主流,也是平台目前推荐的用法。相关介绍可以参考这篇<a href="">文章</a>
这种用法其实是做了一个svg的集合,与另外两种相比具有如下特点:</p>
<ul>
<li>支持多色图标了,不再受单色限制。</li>
<li>通过一些技巧,支持像字体那样,通过<code>font-size</code>,<code>color</code>来调整样式。</li>
<li>兼容性较差,支持 ie9+,及现代浏览器。</li>
<li>浏览器渲染svg的性能一般,还不如png。</li>
</ul>
<p>使用步骤如下:</p>
<h3 id="-symbol-">第一步:引入项目下面生成的symbol代码:</h3>
<pre><code class="lang-js hljs javascript"><span class="hljs-comment">&lt;script src="./iconfont.js"&gt;&lt;/script&gt;</span></code></pre>
<h3 id="-css-">第二步:加入通用css代码(引入一次就行):</h3>
<pre><code class="lang-js hljs javascript">&lt;style type=<span class="hljs-string">"text/css"</span>&gt;
.icon {
width: <span class="hljs-number">1</span>em; height: <span class="hljs-number">1</span>em;
vertical-align: <span class="hljs-number">-0.15</span>em;
fill: currentColor;
overflow: hidden;
}
&lt;<span class="hljs-regexp">/style&gt;</span></code></pre>
<h3 id="-">第三步:挑选相应图标并获取类名,应用于页面:</h3>
<pre><code class="lang-js hljs javascript">&lt;svg <span class="hljs-class"><span class="hljs-keyword">class</span></span>=<span class="hljs-string">"icon"</span> aria-hidden=<span class="hljs-string">"true"</span>&gt;<span class="xml"><span class="hljs-tag">
&lt;<span class="hljs-name">use</span> <span class="hljs-attr">xlink:href</span>=<span class="hljs-string">"#amosicon-xxx"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">use</span>&gt;</span>
</span>&lt;<span class="hljs-regexp">/svg&gt;
</span></code></pre>
</div>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>IconFont</title>
<link rel="stylesheet" href="demo.css">
<style type="text/css">
@font-face {font-family: "amosicon";
src: url('iconfont.eot'); /* IE9*/
src: url('iconfont.eot#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('iconfont.woff') format('woff'), /* chrome, firefox */
url('iconfont.ttf') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/
url('iconfont.svg#amosicon') format('svg'); /* iOS 4.1- */
}
.amosicon {
font-family:"amosicon" !important;
font-size:16px;
font-style:normal;
-webkit-font-smoothing: antialiased;
-webkit-text-stroke-width: 0.2px;
-moz-osx-font-smoothing: grayscale;
}
</style>
</head>
<body>
<div class="main markdown">
<h1>IconFont 图标</h1>
<ul class="icon_lists clear">
<li>
<i class="icon amosicon">&#xe601;</i>
<div class="name">编译</div>
<div class="code">&amp;#xe601;</div>
</li>
<li>
<i class="icon amosicon">&#xe60b;</i>
<div class="name">下一页</div>
<div class="code">&amp;#xe60b;</div>
</li>
<li>
<i class="icon amosicon">&#xe66b;</i>
<div class="name">左上</div>
<div class="code">&amp;#xe66b;</div>
</li>
<li>
<i class="icon amosicon">&#xe610;</i>
<div class="name">favorite</div>
<div class="code">&amp;#xe610;</div>
</li>
<li>
<i class="icon amosicon">&#xe62e;</i>
<div class="name">left</div>
<div class="code">&amp;#xe62e;</div>
</li>
<li>
<i class="icon amosicon">&#xe60d;</i>
<div class="name">用户</div>
<div class="code">&amp;#xe60d;</div>
</li>
<li>
<i class="icon amosicon">&#xe61f;</i>
<div class="name">邮箱</div>
<div class="code">&amp;#xe61f;</div>
</li>
<li>
<i class="icon amosicon">&#xe6a7;</i>
<div class="name">上一页</div>
<div class="code">&amp;#xe6a7;</div>
</li>
<li>
<i class="icon amosicon">&#xe60e;</i>
<div class="name">下拉</div>
<div class="code">&amp;#xe60e;</div>
</li>
<li>
<i class="icon amosicon">&#xe60f;</i>
<div class="name">添加</div>
<div class="code">&amp;#xe60f;</div>
</li>
<li>
<i class="icon amosicon">&#xe656;</i>
<div class="name">list</div>
<div class="code">&amp;#xe656;</div>
</li>
<li>
<i class="icon amosicon">&#xe633;</i>
<div class="name">delete</div>
<div class="code">&amp;#xe633;</div>
</li>
<li>
<i class="icon amosicon">&#xe6a3;</i>
<div class="name">退出</div>
<div class="code">&amp;#xe6a3;</div>
</li>
<li>
<i class="icon amosicon">&#xe63a;</i>
<div class="name">文件上传</div>
<div class="code">&amp;#xe63a;</div>
</li>
<li>
<i class="icon amosicon">&#xe63c;</i>
<div class="name">注销</div>
<div class="code">&amp;#xe63c;</div>
</li>
<li>
<i class="icon amosicon">&#xe627;</i>
<div class="name">邮箱</div>
<div class="code">&amp;#xe627;</div>
</li>
<li>
<i class="icon amosicon">&#xe65f;</i>
<div class="name">单位</div>
<div class="code">&amp;#xe65f;</div>
</li>
<li>
<i class="icon amosicon">&#xe69f;</i>
<div class="name">刷新</div>
<div class="code">&amp;#xe69f;</div>
</li>
<li>
<i class="icon amosicon">&#xe669;</i>
<div class="name">更多</div>
<div class="code">&amp;#xe669;</div>
</li>
<li>
<i class="icon amosicon">&#xe611;</i>
<div class="name">down</div>
<div class="code">&amp;#xe611;</div>
</li>
<li>
<i class="icon amosicon">&#xe605;</i>
<div class="name">chart pie </div>
<div class="code">&amp;#xe605;</div>
</li>
<li>
<i class="icon amosicon">&#xe6a0;</i>
<div class="name">user</div>
<div class="code">&amp;#xe6a0;</div>
</li>
<li>
<i class="icon amosicon">&#xe6da;</i>
<div class="name">picture</div>
<div class="code">&amp;#xe6da;</div>
</li>
<li>
<i class="icon amosicon">&#xe621;</i>
<div class="name">视频</div>
<div class="code">&amp;#xe621;</div>
</li>
<li>
<i class="icon amosicon">&#xe6a1;</i>
<div class="name">folder</div>
<div class="code">&amp;#xe6a1;</div>
</li>
<li>
<i class="icon amosicon">&#xe6ad;</i>
<div class="name">selected</div>
<div class="code">&amp;#xe6ad;</div>
</li>
<li>
<i class="icon amosicon">&#xe6b4;</i>
<div class="name">ViewGallery</div>
<div class="code">&amp;#xe6b4;</div>
</li>
<li>
<i class="icon amosicon">&#xe720;</i>
<div class="name">Select all</div>
<div class="code">&amp;#xe720;</div>
</li>
<li>
<i class="icon amosicon">&#xe696;</i>
<div class="name">list</div>
<div class="code">&amp;#xe696;</div>
</li>
<li>
<i class="icon amosicon">&#xe775;</i>
<div class="name">eye</div>
<div class="code">&amp;#xe775;</div>
</li>
<li>
<i class="icon amosicon">&#xe614;</i>
<div class="name">right</div>
<div class="code">&amp;#xe614;</div>
</li>
<li>
<i class="icon amosicon">&#xe620;</i>
<div class="name">up</div>
<div class="code">&amp;#xe620;</div>
</li>
<li>
<i class="icon amosicon">&#xe62f;</i>
<div class="name">视频播放</div>
<div class="code">&amp;#xe62f;</div>
</li>
<li>
<i class="icon amosicon">&#xe622;</i>
<div class="name">消息</div>
<div class="code">&amp;#xe622;</div>
</li>
<li>
<i class="icon amosicon">&#xe63b;</i>
<div class="name">选中</div>
<div class="code">&amp;#xe63b;</div>
</li>
<li>
<i class="icon amosicon">&#xe625;</i>
<div class="name">消息</div>
<div class="code">&amp;#xe625;</div>
</li>
<li>
<i class="icon amosicon">&#xe62a;</i>
<div class="name">area-chart</div>
<div class="code">&amp;#xe62a;</div>
</li>
<li>
<i class="icon amosicon">&#xe629;</i>
<div class="name">添加</div>
<div class="code">&amp;#xe629;</div>
</li>
<li>
<i class="icon amosicon">&#xe62b;</i>
<div class="name">视频</div>
<div class="code">&amp;#xe62b;</div>
</li>
<li>
<i class="icon amosicon">&#xe61a;</i>
<div class="name">python</div>
<div class="code">&amp;#xe61a;</div>
</li>
<li>
<i class="icon amosicon">&#xe630;</i>
<div class="name">声音</div>
<div class="code">&amp;#xe630;</div>
</li>
<li>
<i class="icon amosicon">&#xe6f1;</i>
<div class="name">消息</div>
<div class="code">&amp;#xe6f1;</div>
</li>
<li>
<i class="icon amosicon">&#xe612;</i>
<div class="name">question</div>
<div class="code">&amp;#xe612;</div>
</li>
<li>
<i class="icon amosicon">&#xe6e3;</i>
<div class="name">auto</div>
<div class="code">&amp;#xe6e3;</div>
</li>
<li>
<i class="icon amosicon">&#xe655;</i>
<div class="name">task</div>
<div class="code">&amp;#xe655;</div>
</li>
<li>
<i class="icon amosicon">&#xe6e9;</i>
<div class="name">atm-away</div>
<div class="code">&amp;#xe6e9;</div>
</li>
<li>
<i class="icon amosicon">&#xe69b;</i>
<div class="name">cross</div>
<div class="code">&amp;#xe69b;</div>
</li>
<li>
<i class="icon amosicon">&#xe65a;</i>
<div class="name">fire</div>
<div class="code">&amp;#xe65a;</div>
</li>
<li>
<i class="icon amosicon">&#xe684;</i>
<div class="name">工具</div>
<div class="code">&amp;#xe684;</div>
</li>
<li>
<i class="icon amosicon">&#xe631;</i>
<div class="name">消息</div>
<div class="code">&amp;#xe631;</div>
</li>
<li>
<i class="icon amosicon">&#xe6f2;</i>
<div class="name">pin</div>
<div class="code">&amp;#xe6f2;</div>
</li>
<li>
<i class="icon amosicon">&#xe632;</i>
<div class="name">文件夹</div>
<div class="code">&amp;#xe632;</div>
</li>
<li>
<i class="icon amosicon">&#xe691;</i>
<div class="name">full-screen</div>
<div class="code">&amp;#xe691;</div>
</li>
<li>
<i class="icon amosicon">&#xe652;</i>
<div class="name">消息</div>
<div class="code">&amp;#xe652;</div>
</li>
<li>
<i class="icon amosicon">&#xe634;</i>
<div class="name">上传视频</div>
<div class="code">&amp;#xe634;</div>
</li>
<li>
<i class="icon amosicon">&#xe63d;</i>
<div class="name">warning</div>
<div class="code">&amp;#xe63d;</div>
</li>
<li>
<i class="icon amosicon">&#xe63e;</i>
<div class="name">上传文件</div>
<div class="code">&amp;#xe63e;</div>
</li>
<li>
<i class="icon amosicon">&#xe67b;</i>
<div class="name">application</div>
<div class="code">&amp;#xe67b;</div>
</li>
<li>
<i class="icon amosicon">&#xe718;</i>
<div class="name">link</div>
<div class="code">&amp;#xe718;</div>
</li>
<li>
<i class="icon amosicon">&#xe86c;</i>
<div class="name">menu-unfold</div>
<div class="code">&amp;#xe86c;</div>
</li>
<li>
<i class="icon amosicon">&#xe86d;</i>
<div class="name">menu-fold</div>
<div class="code">&amp;#xe86d;</div>
</li>
<li>
<i class="icon amosicon">&#xe63f;</i>
<div class="name">选中</div>
<div class="code">&amp;#xe63f;</div>
</li>
<li>
<i class="icon amosicon">&#xe70e;</i>
<div class="name">规范</div>
<div class="code">&amp;#xe70e;</div>
</li>
<li>
<i class="icon amosicon">&#xe9ee;</i>
<div class="name">bars</div>
<div class="code">&amp;#xe9ee;</div>
</li>
<li>
<i class="icon amosicon">&#xe602;</i>
<div class="name">bms_脚手架_库存</div>
<div class="code">&amp;#xe602;</div>
</li>
<li>
<i class="icon amosicon">&#xe6b2;</i>
<div class="name">更多</div>
<div class="code">&amp;#xe6b2;</div>
</li>
<li>
<i class="icon amosicon">&#xe64f;</i>
<div class="name">脚手架管理</div>
<div class="code">&amp;#xe64f;</div>
</li>
<li>
<i class="icon amosicon">&#xe907;</i>
<div class="name">notification</div>
<div class="code">&amp;#xe907;</div>
</li>
<li>
<i class="icon amosicon">&#xea0d;</i>
<div class="name">picture</div>
<div class="code">&amp;#xea0d;</div>
</li>
<li>
<i class="icon amosicon">&#xe67a;</i>
<div class="name">save</div>
<div class="code">&amp;#xe67a;</div>
</li>
<li>
<i class="icon amosicon">&#xe677;</i>
<div class="name">file</div>
<div class="code">&amp;#xe677;</div>
</li>
<li>
<i class="icon amosicon">&#xe67f;</i>
<div class="name">放大</div>
<div class="code">&amp;#xe67f;</div>
</li>
<li>
<i class="icon amosicon">&#xe717;</i>
<div class="name">success</div>
<div class="code">&amp;#xe717;</div>
</li>
<li>
<i class="icon amosicon">&#xe7cc;</i>
<div class="name">new-window</div>
<div class="code">&amp;#xe7cc;</div>
</li>
<li>
<i class="icon amosicon">&#xe67c;</i>
<div class="name">移除</div>
<div class="code">&amp;#xe67c;</div>
</li>
<li>
<i class="icon amosicon">&#xe663;</i>
<div class="name">选中</div>
<div class="code">&amp;#xe663;</div>
</li>
<li>
<i class="icon amosicon">&#xe95c;</i>
<div class="name">注销</div>
<div class="code">&amp;#xe95c;</div>
</li>
<li>
<i class="icon amosicon">&#xe683;</i>
<div class="name">arrow-down-right</div>
<div class="code">&amp;#xe683;</div>
</li>
<li>
<i class="icon amosicon">&#xe6f9;</i>
<div class="name">folder-open</div>
<div class="code">&amp;#xe6f9;</div>
</li>
<li>
<i class="icon amosicon">&#xe815;</i>
<div class="name">tree</div>
<div class="code">&amp;#xe815;</div>
</li>
<li>
<i class="icon amosicon">&#xe840;</i>
<div class="name">warning</div>
<div class="code">&amp;#xe840;</div>
</li>
<li>
<i class="icon amosicon">&#xe725;</i>
<div class="name">phone</div>
<div class="code">&amp;#xe725;</div>
</li>
<li>
<i class="icon amosicon">&#xe640;</i>
<div class="name">帮助</div>
<div class="code">&amp;#xe640;</div>
</li>
<li>
<i class="icon amosicon">&#xe65e;</i>
<div class="name">回到顶部</div>
<div class="code">&amp;#xe65e;</div>
</li>
<li>
<i class="icon amosicon">&#xed40;</i>
<div class="name">subdirectory_arrow_right</div>
<div class="code">&amp;#xed40;</div>
</li>
<li>
<i class="icon amosicon">&#xe643;</i>
<div class="name">添加</div>
<div class="code">&amp;#xe643;</div>
</li>
<li>
<i class="icon amosicon">&#xe685;</i>
<div class="name">rightBottom_02</div>
<div class="code">&amp;#xe685;</div>
</li>
<li>
<i class="icon amosicon">&#xe6bc;</i>
<div class="name">视频播放</div>
<div class="code">&amp;#xe6bc;</div>
</li>
<li>
<i class="icon amosicon">&#xe6b1;</i>
<div class="name">选中</div>
<div class="code">&amp;#xe6b1;</div>
</li>
<li>
<i class="icon amosicon">&#xe67d;</i>
<div class="name">退出</div>
<div class="code">&amp;#xe67d;</div>
</li>
<li>
<i class="icon amosicon">&#xe671;</i>
<div class="name">指南</div>
<div class="code">&amp;#xe671;</div>
</li>
<li>
<i class="icon amosicon">&#xe66c;</i>
<div class="name">list</div>
<div class="code">&amp;#xe66c;</div>
</li>
<li>
<i class="icon amosicon">&#xe644;</i>
<div class="name">选中</div>
<div class="code">&amp;#xe644;</div>
</li>
<li>
<i class="icon amosicon">&#xe686;</i>
<div class="name">WorkflowDesign</div>
<div class="code">&amp;#xe686;</div>
</li>
<li>
<i class="icon amosicon">&#xe687;</i>
<div class="name">WorkflowMonitoring</div>
<div class="code">&amp;#xe687;</div>
</li>
<li>
<i class="icon amosicon">&#xe819;</i>
<div class="name">task</div>
<div class="code">&amp;#xe819;</div>
</li>
<li>
<i class="icon amosicon">&#xe645;</i>
<div class="name">wxb报表</div>
<div class="code">&amp;#xe645;</div>
</li>
<li>
<i class="icon amosicon">&#xe646;</i>
<div class="name">wxb工具</div>
<div class="code">&amp;#xe646;</div>
</li>
<li>
<i class="icon amosicon">&#xe648;</i>
<div class="name">wxb搜索推广</div>
<div class="code">&amp;#xe648;</div>
</li>
<li>
<i class="icon amosicon">&#xe649;</i>
<div class="name">wxb定位</div>
<div class="code">&amp;#xe649;</div>
</li>
<li>
<i class="icon amosicon">&#xe615;</i>
<div class="name">setting</div>
<div class="code">&amp;#xe615;</div>
</li>
<li>
<i class="icon amosicon">&#xe65b;</i>
<div class="name">favorite</div>
<div class="code">&amp;#xe65b;</div>
</li>
<li>
<i class="icon amosicon">&#xe64a;</i>
<div class="name">icon-toTop</div>
<div class="code">&amp;#xe64a;</div>
</li>
<li>
<i class="icon amosicon">&#xe744;</i>
<div class="name">copy</div>
<div class="code">&amp;#xe744;</div>
</li>
<li>
<i class="icon amosicon">&#xe64b;</i>
<div class="name">更多</div>
<div class="code">&amp;#xe64b;</div>
</li>
<li>
<i class="icon amosicon">&#xe636;</i>
<div class="name">操作指南</div>
<div class="code">&amp;#xe636;</div>
</li>
<li>
<i class="icon amosicon">&#xe76e;</i>
<div class="name">test</div>
<div class="code">&amp;#xe76e;</div>
</li>
<li>
<i class="icon amosicon">&#xe6a8;</i>
<div class="name">标签1</div>
<div class="code">&amp;#xe6a8;</div>
</li>
<li>
<i class="icon amosicon">&#xe64c;</i>
<div class="name">移除</div>
<div class="code">&amp;#xe64c;</div>
</li>
<li>
<i class="icon amosicon">&#xe930;</i>
<div class="name">工具</div>
<div class="code">&amp;#xe930;</div>
</li>
<li>
<i class="icon amosicon">&#xe64d;</i>
<div class="name">首页-首页</div>
<div class="code">&amp;#xe64d;</div>
</li>
<li>
<i class="icon amosicon">&#xe69c;</i>
<div class="name">注销</div>
<div class="code">&amp;#xe69c;</div>
</li>
<li>
<i class="icon amosicon">&#xe6a4;</i>
<div class="name">回到顶部</div>
<div class="code">&amp;#xe6a4;</div>
</li>
<li>
<i class="icon amosicon">&#xe600;</i>
<div class="name">home</div>
<div class="code">&amp;#xe600;</div>
</li>
<li>
<i class="icon amosicon">&#xe64e;</i>
<div class="name">close</div>
<div class="code">&amp;#xe64e;</div>
</li>
<li>
<i class="icon amosicon">&#xe6ca;</i>
<div class="name">是的_right149</div>
<div class="code">&amp;#xe6ca;</div>
</li>
<li>
<i class="icon amosicon">&#xe680;</i>
<div class="name">ok</div>
<div class="code">&amp;#xe680;</div>
</li>
<li>
<i class="icon amosicon">&#xe6bd;</i>
<div class="name">首页</div>
<div class="code">&amp;#xe6bd;</div>
</li>
<li>
<i class="icon amosicon">&#xe65d;</i>
<div class="name">上传文件</div>
<div class="code">&amp;#xe65d;</div>
</li>
<li>
<i class="icon amosicon">&#xe67e;</i>
<div class="name">退出</div>
<div class="code">&amp;#xe67e;</div>
</li>
<li>
<i class="icon amosicon">&#xe688;</i>
<div class="name">tree</div>
<div class="code">&amp;#xe688;</div>
</li>
<li>
<i class="icon amosicon">&#xe719;</i>
<div class="name">setting</div>
<div class="code">&amp;#xe719;</div>
</li>
<li>
<i class="icon amosicon">&#xe660;</i>
<div class="name">回到顶部</div>
<div class="code">&amp;#xe660;</div>
</li>
<li>
<i class="icon amosicon">&#xe661;</i>
<div class="name">视频</div>
<div class="code">&amp;#xe661;</div>
</li>
<li>
<i class="icon amosicon">&#xe662;</i>
<div class="name">info</div>
<div class="code">&amp;#xe662;</div>
</li>
<li>
<i class="icon amosicon">&#xe666;</i>
<div class="name">toTop</div>
<div class="code">&amp;#xe666;</div>
</li>
<li>
<i class="icon amosicon">&#xe667;</i>
<div class="name">paper-clip</div>
<div class="code">&amp;#xe667;</div>
</li>
<li>
<i class="icon amosicon">&#xe6f5;</i>
<div class="name">play-video-button</div>
<div class="code">&amp;#xe6f5;</div>
</li>
<li>
<i class="icon amosicon">&#xe692;</i>
<div class="name">file</div>
<div class="code">&amp;#xe692;</div>
</li>
<li>
<i class="icon amosicon">&#xe871;</i>
<div class="name">字符</div>
<div class="code">&amp;#xe871;</div>
</li>
<li>
<i class="icon amosicon">&#xe673;</i>
<div class="name">选中</div>
<div class="code">&amp;#xe673;</div>
</li>
<li>
<i class="icon amosicon">&#xe668;</i>
<div class="name">task</div>
<div class="code">&amp;#xe668;</div>
</li>
<li>
<i class="icon amosicon">&#xe66d;</i>
<div class="name">上传文件</div>
<div class="code">&amp;#xe66d;</div>
</li>
<li>
<i class="icon amosicon">&#xe66e;</i>
<div class="name">订单关闭</div>
<div class="code">&amp;#xe66e;</div>
</li>
<li>
<i class="icon amosicon">&#xe672;</i>
<div class="name">上传视频</div>
<div class="code">&amp;#xe672;</div>
</li>
<li>
<i class="icon amosicon">&#xe674;</i>
<div class="name">声音</div>
<div class="code">&amp;#xe674;</div>
</li>
<li>
<i class="icon amosicon">&#xe651;</i>
<div class="name">指引</div>
<div class="code">&amp;#xe651;</div>
</li>
<li>
<i class="icon amosicon">&#xe60a;</i>
<div class="name">icon_menu_fold_30x30</div>
<div class="code">&amp;#xe60a;</div>
</li>
<li>
<i class="icon amosicon">&#xe675;</i>
<div class="name">选中</div>
<div class="code">&amp;#xe675;</div>
</li>
<li>
<i class="icon amosicon">&#xe678;</i>
<div class="name">说明</div>
<div class="code">&amp;#xe678;</div>
</li>
<li>
<i class="icon amosicon">&#xe756;</i>
<div class="name">hot</div>
<div class="code">&amp;#xe756;</div>
</li>
<li>
<i class="icon amosicon">&#xe61c;</i>
<div class="name">打包</div>
<div class="code">&amp;#xe61c;</div>
</li>
<li>
<i class="icon amosicon">&#xe681;</i>
<div class="name">history</div>
<div class="code">&amp;#xe681;</div>
</li>
<li>
<i class="icon amosicon">&#xe707;</i>
<div class="name">html</div>
<div class="code">&amp;#xe707;</div>
</li>
<li>
<i class="icon amosicon">&#xe608;</i>
<div class="name">icon_menu_unfold_30x30</div>
<div class="code">&amp;#xe608;</div>
</li>
<li>
<i class="icon amosicon">&#xe616;</i>
<div class="name">入门篇</div>
<div class="code">&amp;#xe616;</div>
</li>
<li>
<i class="icon amosicon">&#xe657;</i>
<div class="name">环境</div>
<div class="code">&amp;#xe657;</div>
</li>
<li>
<i class="icon amosicon">&#xe757;</i>
<div class="name">data</div>
<div class="code">&amp;#xe757;</div>
</li>
<li>
<i class="icon amosicon">&#xea51;</i>
<div class="name">通用类_添加视图</div>
<div class="code">&amp;#xea51;</div>
</li>
<li>
<i class="icon amosicon">&#xe624;</i>
<div class="name">定制</div>
<div class="code">&amp;#xe624;</div>
</li>
<li>
<i class="icon amosicon">&#xe689;</i>
<div class="name">error</div>
<div class="code">&amp;#xe689;</div>
</li>
<li>
<i class="icon amosicon">&#xe68a;</i>
<div class="name">选中</div>
<div class="code">&amp;#xe68a;</div>
</li>
<li>
<i class="icon amosicon">&#xe6c1;</i>
<div class="name">移除</div>
<div class="code">&amp;#xe6c1;</div>
</li>
<li>
<i class="icon amosicon">&#xe68b;</i>
<div class="name">更多</div>
<div class="code">&amp;#xe68b;</div>
</li>
<li>
<i class="icon amosicon">&#xe6eb;</i>
<div class="name">edit</div>
<div class="code">&amp;#xe6eb;</div>
</li>
<li>
<i class="icon amosicon">&#xe6e7;</i>
<div class="name">folder-close</div>
<div class="code">&amp;#xe6e7;</div>
</li>
<li>
<i class="icon amosicon">&#xe68c;</i>
<div class="name">皮肤</div>
<div class="code">&amp;#xe68c;</div>
</li>
<li>
<i class="icon amosicon">&#xe68d;</i>
<div class="name">workflow</div>
<div class="code">&amp;#xe68d;</div>
</li>
<li>
<i class="icon amosicon">&#xe68e;</i>
<div class="name">tree</div>
<div class="code">&amp;#xe68e;</div>
</li>
<li>
<i class="icon amosicon">&#xe699;</i>
<div class="name">good</div>
<div class="code">&amp;#xe699;</div>
</li>
<li>
<i class="icon amosicon">&#xe6bb;</i>
<div class="name">template</div>
<div class="code">&amp;#xe6bb;</div>
</li>
<li>
<i class="icon amosicon">&#xe68f;</i>
<div class="name">减号</div>
<div class="code">&amp;#xe68f;</div>
</li>
<li>
<i class="icon amosicon">&#xe71a;</i>
<div class="name">themeisle</div>
<div class="code">&amp;#xe71a;</div>
</li>
<li>
<i class="icon amosicon">&#xe690;</i>
<div class="name">资源借用</div>
<div class="code">&amp;#xe690;</div>
</li>
<li>
<i class="icon amosicon">&#xe6db;</i>
<div class="name">npm</div>
<div class="code">&amp;#xe6db;</div>
</li>
<li>
<i class="icon amosicon">&#xe637;</i>
<div class="name">左箭头</div>
<div class="code">&amp;#xe637;</div>
</li>
<li>
<i class="icon amosicon">&#xe693;</i>
<div class="name">返回</div>
<div class="code">&amp;#xe693;</div>
</li>
<li>
<i class="icon amosicon">&#xe6a2;</i>
<div class="name">列-表</div>
<div class="code">&amp;#xe6a2;</div>
</li>
<li>
<i class="icon amosicon">&#xe6a9;</i>
<div class="name">向下 Down 1000</div>
<div class="code">&amp;#xe6a9;</div>
</li>
<li>
<i class="icon amosicon">&#xe694;</i>
<div class="name">更多</div>
<div class="code">&amp;#xe694;</div>
</li>
<li>
<i class="icon amosicon">&#xe61e;</i>
<div class="name">业务</div>
<div class="code">&amp;#xe61e;</div>
</li>
<li>
<i class="icon amosicon">&#xe704;</i>
<div class="name">工程管理</div>
<div class="code">&amp;#xe704;</div>
</li>
<li>
<i class="icon amosicon">&#xe66a;</i>
<div class="name">ray</div>
<div class="code">&amp;#xe66a;</div>
</li>
<li>
<i class="icon amosicon">&#xe695;</i>
<div class="name">三道杠无填充</div>
<div class="code">&amp;#xe695;</div>
</li>
<li>
<i class="icon amosicon">&#xe7f0;</i>
<div class="name">上传视频</div>
<div class="code">&amp;#xe7f0;</div>
</li>
<li>
<i class="icon amosicon">&#xe670;</i>
<div class="name">desktop on-line statistics</div>
<div class="code">&amp;#xe670;</div>
</li>
<li>
<i class="icon amosicon">&#xe6d6;</i>
<div class="name">返回</div>
<div class="code">&amp;#xe6d6;</div>
</li>
<li>
<i class="icon amosicon">&#xe736;</i>
<div class="name">file-tree</div>
<div class="code">&amp;#xe736;</div>
</li>
<li>
<i class="icon amosicon">&#xe6a6;</i>
<div class="name">穿梭框</div>
<div class="code">&amp;#xe6a6;</div>
</li>
<li>
<i class="icon amosicon">&#xe856;</i>
<div class="name">eye-o</div>
<div class="code">&amp;#xe856;</div>
</li>
<li>
<i class="icon amosicon">&#xe617;</i>
<div class="name">sass</div>
<div class="code">&amp;#xe617;</div>
</li>
<li>
<i class="icon amosicon">&#xe603;</i>
<div class="name">qr-code</div>
<div class="code">&amp;#xe603;</div>
</li>
<li>
<i class="icon amosicon">&#xe6c4;</i>
<div class="name">关闭-半角</div>
<div class="code">&amp;#xe6c4;</div>
</li>
<li>
<i class="icon amosicon">&#xe6c5;</i>
<div class="name">移除</div>
<div class="code">&amp;#xe6c5;</div>
</li>
<li>
<i class="icon amosicon">&#xe772;</i>
<div class="name">ruby</div>
<div class="code">&amp;#xe772;</div>
</li>
<li>
<i class="icon amosicon">&#xe6c6;</i>
<div class="name">退出</div>
<div class="code">&amp;#xe6c6;</div>
</li>
<li>
<i class="icon amosicon">&#xe6c7;</i>
<div class="name">报警</div>
<div class="code">&amp;#xe6c7;</div>
</li>
<li>
<i class="icon amosicon">&#xe60c;</i>
<div class="name">chart-bar</div>
<div class="code">&amp;#xe60c;</div>
</li>
<li>
<i class="icon amosicon">&#xe62d;</i>
<div class="name">工具</div>
<div class="code">&amp;#xe62d;</div>
</li>
<li>
<i class="icon amosicon">&#xe6c9;</i>
<div class="name">移除</div>
<div class="code">&amp;#xe6c9;</div>
</li>
<li>
<i class="icon amosicon">&#xe623;</i>
<div class="name">定制</div>
<div class="code">&amp;#xe623;</div>
</li>
<li>
<i class="icon amosicon">&#xe6cb;</i>
<div class="name">详情consult</div>
<div class="code">&amp;#xe6cb;</div>
</li>
<li>
<i class="icon amosicon">&#xe682;</i>
<div class="name">menu-unfold</div>
<div class="code">&amp;#xe682;</div>
</li>
<li>
<i class="icon amosicon">&#xe6b0;</i>
<div class="name">规范</div>
<div class="code">&amp;#xe6b0;</div>
</li>
<li>
<i class="icon amosicon">&#xe782;</i>
<div class="name">success</div>
<div class="code">&amp;#xe782;</div>
</li>
<li>
<i class="icon amosicon">&#xe658;</i>
<div class="name">环境</div>
<div class="code">&amp;#xe658;</div>
</li>
<li>
<i class="icon amosicon">&#xe679;</i>
<div class="name">符号-文档</div>
<div class="code">&amp;#xe679;</div>
</li>
<li>
<i class="icon amosicon">&#xe6cc;</i>
<div class="name">history</div>
<div class="code">&amp;#xe6cc;</div>
</li>
<li>
<i class="icon amosicon">&#xe654;</i>
<div class="name">基 础管理 </div>
<div class="code">&amp;#xe654;</div>
</li>
<li>
<i class="icon amosicon">&#xe6ac;</i>
<div class="name">添加数据源</div>
<div class="code">&amp;#xe6ac;</div>
</li>
<li>
<i class="icon amosicon">&#xe69d;</i>
<div class="name">隐藏列</div>
<div class="code">&amp;#xe69d;</div>
</li>
<li>
<i class="icon amosicon">&#xe6cd;</i>
<div class="name">edit</div>
<div class="code">&amp;#xe6cd;</div>
</li>
<li>
<i class="icon amosicon">&#xe6ce;</i>
<div class="name">input</div>
<div class="code">&amp;#xe6ce;</div>
</li>
<li>
<i class="icon amosicon">&#xe6cf;</i>
<div class="name">enty-out-storage</div>
<div class="code">&amp;#xe6cf;</div>
</li>
<li>
<i class="icon amosicon">&#xe6d0;</i>
<div class="name">setting</div>
<div class="code">&amp;#xe6d0;</div>
</li>
<li>
<i class="icon amosicon">&#xe71f;</i>
<div class="name">注销</div>
<div class="code">&amp;#xe71f;</div>
</li>
<li>
<i class="icon amosicon">&#xe7df;</i>
<div class="name">定制</div>
<div class="code">&amp;#xe7df;</div>
</li>
<li>
<i class="icon amosicon">&#xe618;</i>
<div class="name">vue</div>
<div class="code">&amp;#xe618;</div>
</li>
<li>
<i class="icon amosicon">&#xe71b;</i>
<div class="name">表格</div>
<div class="code">&amp;#xe71b;</div>
</li>
<li>
<i class="icon amosicon">&#xe6d1;</i>
<div class="name">cancel</div>
<div class="code">&amp;#xe6d1;</div>
</li>
<li>
<i class="icon amosicon">&#xe607;</i>
<div class="name">java</div>
<div class="code">&amp;#xe607;</div>
</li>
<li>
<i class="icon amosicon">&#xe642;</i>
<div class="name">更新日志</div>
<div class="code">&amp;#xe642;</div>
</li>
<li>
<i class="icon amosicon">&#xe6d2;</i>
<div class="name">报警</div>
<div class="code">&amp;#xe6d2;</div>
</li>
<li>
<i class="icon amosicon">&#xe676;</i>
<div class="name">基础</div>
<div class="code">&amp;#xe676;</div>
</li>
<li>
<i class="icon amosicon">&#xe7fe;</i>
<div class="name">注销</div>
<div class="code">&amp;#xe7fe;</div>
</li>
<li>
<i class="icon amosicon">&#xe604;</i>
<div class="name">template</div>
<div class="code">&amp;#xe604;</div>
</li>
<li>
<i class="icon amosicon">&#xe61b;</i>
<div class="name">appStore</div>
<div class="code">&amp;#xe61b;</div>
</li>
<li>
<i class="icon amosicon">&#xe820;</i>
<div class="name">video</div>
<div class="code">&amp;#xe820;</div>
</li>
<li>
<i class="icon amosicon">&#xe6d4;</i>
<div class="name">入库</div>
<div class="code">&amp;#xe6d4;</div>
</li>
<li>
<i class="icon amosicon">&#xe6d5;</i>
<div class="name">出库</div>
<div class="code">&amp;#xe6d5;</div>
</li>
<li>
<i class="icon amosicon">&#xe609;</i>
<div class="name">html</div>
<div class="code">&amp;#xe609;</div>
</li>
<li>
<i class="icon amosicon">&#xe6d7;</i>
<div class="name">选中</div>
<div class="code">&amp;#xe6d7;</div>
</li>
<li>
<i class="icon amosicon">&#xe66f;</i>
<div class="name">Application</div>
<div class="code">&amp;#xe66f;</div>
</li>
<li>
<i class="icon amosicon">&#xe6d8;</i>
<div class="name">收 藏</div>
<div class="code">&amp;#xe6d8;</div>
</li>
<li>
<i class="icon amosicon">&#xe635;</i>
<div class="name">指引</div>
<div class="code">&amp;#xe635;</div>
</li>
<li>
<i class="icon amosicon">&#xe6d9;</i>
<div class="name">信封 </div>
<div class="code">&amp;#xe6d9;</div>
</li>
<li>
<i class="icon amosicon">&#xe638;</i>
<div class="name">图表</div>
<div class="code">&amp;#xe638;</div>
</li>
<li>
<i class="icon amosicon">&#xe6dc;</i>
<div class="name">单位</div>
<div class="code">&amp;#xe6dc;</div>
</li>
<li>
<i class="icon amosicon">&#xe6dd;</i>
<div class="name">卡片</div>
<div class="code">&amp;#xe6dd;</div>
</li>
<li>
<i class="icon amosicon">&#xe641;</i>
<div class="name">Webpack</div>
<div class="code">&amp;#xe641;</div>
</li>
<li>
<i class="icon amosicon">&#xe6de;</i>
<div class="name">code</div>
<div class="code">&amp;#xe6de;</div>
</li>
<li>
<i class="icon amosicon">&#xe82b;</i>
<div class="name">password</div>
<div class="code">&amp;#xe82b;</div>
</li>
<li>
<i class="icon amosicon">&#xe716;</i>
<div class="name">条纹码 条形码 条码</div>
<div class="code">&amp;#xe716;</div>
</li>
<li>
<i class="icon amosicon">&#xe6df;</i>
<div class="name">close</div>
<div class="code">&amp;#xe6df;</div>
</li>
<li>
<i class="icon amosicon">&#xe6e0;</i>
<div class="name">fire</div>
<div class="code">&amp;#xe6e0;</div>
</li>
<li>
<i class="icon amosicon">&#xe69a;</i>
<div class="name">数据表格2</div>
<div class="code">&amp;#xe69a;</div>
</li>
<li>
<i class="icon amosicon">&#xe712;</i>
<div class="name">code</div>
<div class="code">&amp;#xe712;</div>
</li>
<li>
<i class="icon amosicon">&#xe6ba;</i>
<div class="name">enzyme</div>
<div class="code">&amp;#xe6ba;</div>
</li>
<li>
<i class="icon amosicon">&#xe833;</i>
<div class="name">回到顶部</div>
<div class="code">&amp;#xe833;</div>
</li>
<li>
<i class="icon amosicon">&#xe6ec;</i>
<div class="name">视频上传</div>
<div class="code">&amp;#xe6ec;</div>
</li>
<li>
<i class="icon amosicon">&#xe619;</i>
<div class="name">js</div>
<div class="code">&amp;#xe619;</div>
</li>
<li>
<i class="icon amosicon">&#xe6ed;</i>
<div class="name"></div>
<div class="code">&amp;#xe6ed;</div>
</li>
<li>
<i class="icon amosicon">&#xe647;</i>
<div class="name">右箭头</div>
<div class="code">&amp;#xe647;</div>
</li>
<li>
<i class="icon amosicon">&#xe6ef;</i>
<div class="name">检查</div>
<div class="code">&amp;#xe6ef;</div>
</li>
<li>
<i class="icon amosicon">&#xe781;</i>
<div class="name">右下箭头</div>
<div class="code">&amp;#xe781;</div>
</li>
<li>
<i class="icon amosicon">&#xe6f0;</i>
<div class="name">table</div>
<div class="code">&amp;#xe6f0;</div>
</li>
<li>
<i class="icon amosicon">&#xe628;</i>
<div class="name">gulp</div>
<div class="code">&amp;#xe628;</div>
</li>
<li>
<i class="icon amosicon">&#xe650;</i>
<div class="name">react</div>
<div class="code">&amp;#xe650;</div>
</li>
<li>
<i class="icon amosicon">&#xe653;</i>
<div class="name">sass</div>
<div class="code">&amp;#xe653;</div>
</li>
<li>
<i class="icon amosicon">&#xe6f3;</i>
<div class="name">左上箭头</div>
<div class="code">&amp;#xe6f3;</div>
</li>
<li>
<i class="icon amosicon">&#xe6e4;</i>
<div class="name">tags</div>
<div class="code">&amp;#xe6e4;</div>
</li>
<li>
<i class="icon amosicon">&#xe665;</i>
<div class="name">组件库</div>
<div class="code">&amp;#xe665;</div>
</li>
<li>
<i class="icon amosicon">&#xe6f6;</i>
<div class="name">add</div>
<div class="code">&amp;#xe6f6;</div>
</li>
<li>
<i class="icon amosicon">&#xe69e;</i>
<div class="name">initiate-assistance</div>
<div class="code">&amp;#xe69e;</div>
</li>
<li>
<i class="icon amosicon">&#xe6f7;</i>
<div class="name">维修记录</div>
<div class="code">&amp;#xe6f7;</div>
</li>
<li>
<i class="icon amosicon">&#xe6f8;</i>
<div class="name"></div>
<div class="code">&amp;#xe6f8;</div>
</li>
<li>
<i class="icon amosicon">&#xe626;</i>
<div class="name">交互</div>
<div class="code">&amp;#xe626;</div>
</li>
<li>
<i class="icon amosicon">&#xe613;</i>
<div class="name">交互随即查询</div>
<div class="code">&amp;#xe613;</div>
</li>
<li>
<i class="icon amosicon">&#xe639;</i>
<div class="name">公文范例库</div>
<div class="code">&amp;#xe639;</div>
</li>
<li>
<i class="icon amosicon">&#xe721;</i>
<div class="name">postcss</div>
<div class="code">&amp;#xe721;</div>
</li>
<li>
<i class="icon amosicon">&#xe738;</i>
<div class="name">webpack</div>
<div class="code">&amp;#xe738;</div>
</li>
<li>
<i class="icon amosicon">&#xe6aa;</i>
<div class="name">新增知识库</div>
<div class="code">&amp;#xe6aa;</div>
</li>
<li>
<i class="icon amosicon">&#xe697;</i>
<div class="name">重命名</div>
<div class="code">&amp;#xe697;</div>
</li>
<li>
<i class="icon amosicon">&#xe6a5;</i>
<div class="name">操作指南</div>
<div class="code">&amp;#xe6a5;</div>
</li>
<li>
<i class="icon amosicon">&#xe6b5;</i>
<div class="name">交互图标</div>
<div class="code">&amp;#xe6b5;</div>
</li>
<li>
<i class="icon amosicon">&#xe6fa;</i>
<div class="name">右上</div>
<div class="code">&amp;#xe6fa;</div>
</li>
<li>
<i class="icon amosicon">&#xe6fb;</i>
<div class="name">caret-right</div>
<div class="code">&amp;#xe6fb;</div>
</li>
<li>
<i class="icon amosicon">&#xe61d;</i>
<div class="name">首页</div>
<div class="code">&amp;#xe61d;</div>
</li>
<li>
<i class="icon amosicon">&#xe7af;</i>
<div class="name">menu fold</div>
<div class="code">&amp;#xe7af;</div>
</li>
<li>
<i class="icon amosicon">&#xe659;</i>
<div class="name">业务</div>
<div class="code">&amp;#xe659;</div>
</li>
<li>
<i class="icon amosicon">&#xe6fc;</i>
<div class="name">list</div>
<div class="code">&amp;#xe6fc;</div>
</li>
<li>
<i class="icon amosicon">&#xe6fd;</i>
<div class="name">table</div>
<div class="code">&amp;#xe6fd;</div>
</li>
<li>
<i class="icon amosicon">&#xe664;</i>
<div class="name">react</div>
<div class="code">&amp;#xe664;</div>
</li>
<li>
<i class="icon amosicon">&#xe6fe;</i>
<div class="name">右斜上箭头</div>
<div class="code">&amp;#xe6fe;</div>
</li>
<li>
<i class="icon amosicon">&#xe6ff;</i>
<div class="name">more</div>
<div class="code">&amp;#xe6ff;</div>
</li>
<li>
<i class="icon amosicon">&#xe65c;</i>
<div class="name">文档</div>
<div class="code">&amp;#xe65c;</div>
</li>
<li>
<i class="icon amosicon">&#xe62c;</i>
<div class="name">开发环境</div>
<div class="code">&amp;#xe62c;</div>
</li>
<li>
<i class="icon amosicon">&#xe70a;</i>
<div class="name">日期</div>
<div class="code">&amp;#xe70a;</div>
</li>
<li>
<i class="icon amosicon">&#xe606;</i>
<div class="name">开发环境</div>
<div class="code">&amp;#xe606;</div>
</li>
<li>
<i class="icon amosicon">&#xe700;</i>
<div class="name">search</div>
<div class="code">&amp;#xe700;</div>
</li>
<li>
<i class="icon amosicon">&#xe701;</i>
<div class="name">缩小</div>
<div class="code">&amp;#xe701;</div>
</li>
<li>
<i class="icon amosicon">&#xe698;</i>
<div class="name"></div>
<div class="code">&amp;#xe698;</div>
</li>
<li>
<i class="icon amosicon">&#xe702;</i>
<div class="name">qr-code</div>
<div class="code">&amp;#xe702;</div>
</li>
<li>
<i class="icon amosicon">&#xe703;</i>
<div class="name">open-in-new</div>
<div class="code">&amp;#xe703;</div>
</li>
</ul>
<h2 id="unicode-">unicode引用</h2>
<hr>
<p>unicode是字体在网页端最原始的应用方式,特点是:</p>
<ul>
<li>兼容性最好,支持ie6+,及所有现代浏览器。</li>
<li>支持按字体的方式去动态调整图标大小,颜色等等。</li>
<li>但是因为是字体,所以不支持多色。只能使用平台里单色的图标,就算项目里有多色图标也会自动去色。</li>
</ul>
<blockquote>
<p>注意:新版iconfont支持多色图标,这些多色图标在unicode模式下将不能使用,如果有需求建议使用symbol的引用方式</p>
</blockquote>
<p>unicode使用步骤如下:</p>
<h3 id="-font-face">第一步:拷贝项目下面生成的font-face</h3>
<pre><code class="lang-js hljs javascript">@font-face {
font-family: <span class="hljs-string">'amosicon'</span>;
src: url(<span class="hljs-string">'iconfont.eot'</span>);
src: url(<span class="hljs-string">'iconfont.eot?#iefix'</span>) format(<span class="hljs-string">'embedded-opentype'</span>),
url(<span class="hljs-string">'iconfont.woff'</span>) format(<span class="hljs-string">'woff'</span>),
url(<span class="hljs-string">'iconfont.ttf'</span>) format(<span class="hljs-string">'truetype'</span>),
url(<span class="hljs-string">'iconfont.svg#amosicon'</span>) format(<span class="hljs-string">'svg'</span>);
}
</code></pre>
<h3 id="-iconfont-">第二步:定义使用iconfont的样式</h3>
<pre><code class="lang-js hljs javascript">.amosicon{
font-family:<span class="hljs-string">"amosicon"</span> !important;
font-size:<span class="hljs-number">16</span>px;font-style:normal;
-webkit-font-smoothing: antialiased;
-webkit-text-stroke-width: <span class="hljs-number">0.2</span>px;
-moz-osx-font-smoothing: grayscale;
}
</code></pre>
<h3 id="-">第三步:挑选相应图标并获取字体编码,应用于页面</h3>
<pre><code class="lang-js hljs javascript">&lt;i <span class="hljs-class"><span class="hljs-keyword">class</span></span>=<span class="hljs-string">"amosicon"</span>&gt;&amp;#x33;<span class="xml"><span class="hljs-tag">&lt;/<span class="hljs-name">i</span>&gt;</span></span></code></pre>
<blockquote>
<p>"amosicon"是你项目下的font-family。可以通过编辑项目查看,默认是"iconfont"。</p>
</blockquote>
</div>
</body>
</html>
@font-face {
font-family: 'amosicon';
src: url('iconfont.eot?t=1529485367557'); /* IE9*/
src: url('iconfont.eot?t=1529485367557#iefix') format('embedded-opentype'),
/* IE6-IE8 */
url('data:application/x-font-woff;charset=utf-8;base64,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')
format('woff'),
url('iconfont.ttf?t=1529485367557') format('truetype'),
/* chrome, firefox, opera, Safari, Android, iOS 4.2+*/ url('iconfont.svg?t=1529485367557#amosicon') format('svg'); /* iOS 4.1- */
}
.amosicon {
font-family: 'amosicon' !important;
font-size: 16px;
font-style: normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.amosicon-compile:before {
content: '\e601';
}
.amosicon-next-page:before {
content: '\e60b';
}
.amosicon-arrow-left-top-thin:before {
content: '\e66b';
}
.amosicon-favorite1:before {
content: '\e610';
}
.amosicon-left:before {
content: '\e62e';
}
.amosicon-user1:before {
content: '\e60d';
}
.amosicon-youxiang:before {
content: '\e61f';
}
.amosicon-pre-page:before {
content: '\e6a7';
}
.amosicon-xiala:before {
content: '\e60e';
}
.amosicon-add2:before {
content: '\e60f';
}
.amosicon-list-dot:before {
content: '\e656';
}
.amosicon-delete:before {
content: '\e633';
}
.amosicon-tuichu:before {
content: '\e6a3';
}
.amosicon-file-upload-2:before {
content: '\e63a';
}
.amosicon-zhuxiao4:before {
content: '\e63c';
}
.amosicon-youxiang1:before {
content: '\e627';
}
.amosicon-danwei:before {
content: '\e65f';
}
.amosicon-refresh:before {
content: '\e69f';
}
.amosicon-gengduo:before {
content: '\e669';
}
.amosicon-down:before {
content: '\e611';
}
.amosicon-pie-chart:before {
content: '\e605';
}
.amosicon-user:before {
content: '\e6a0';
}
.amosicon-picture:before {
content: '\e6da';
}
.amosicon-video1:before {
content: '\e621';
}
.amosicon-folder:before {
content: '\e6a1';
}
.amosicon-selected:before {
content: '\e6ad';
}
.amosicon-viewgallery:before {
content: '\e6b4';
}
.amosicon-selectall:before {
content: '\e720';
}
.amosicon-list1:before {
content: '\e696';
}
.amosicon-eye:before {
content: '\e775';
}
.amosicon-right:before {
content: '\e614';
}
.amosicon-up:before {
content: '\e620';
}
.amosicon-shipinbofang:before {
content: '\e62f';
}
.amosicon-xiaoxi:before {
content: '\e622';
}
.amosicon-xuanzhong:before {
content: '\e63b';
}
.amosicon-message:before {
content: '\e625';
}
.amosicon-area-chart:before {
content: '\e62a';
}
.amosicon-tianjia2:before {
content: '\e629';
}
.amosicon-shipin:before {
content: '\e62b';
}
.amosicon-python:before {
content: '\e61a';
}
.amosicon-shengyin:before {
content: '\e630';
}
.amosicon-xiaoxi2:before {
content: '\e6f1';
}
.amosicon-question:before {
content: '\e612';
}
.amosicon-auto:before {
content: '\e6e3';
}
.amosicon-task:before {
content: '\e655';
}
.amosicon-atmaway:before {
content: '\e6e9';
}
.amosicon-cross:before {
content: '\e69b';
}
.amosicon-fire-fat:before {
content: '\e65a';
}
.amosicon-tools-2:before {
content: '\e684';
}
.amosicon-message-1:before {
content: '\e631';
}
.amosicon-pin:before {
content: '\e6f2';
}
.amosicon-wenjianjia:before {
content: '\e632';
}
.amosicon-full-screen:before {
content: '\e691';
}
.amosicon-tubiao15:before {
content: '\e652';
}
.amosicon-shangchuanshipin:before {
content: '\e634';
}
.amosicon-warning:before {
content: '\e63d';
}
.amosicon-file-upload-3:before {
content: '\e63e';
}
.amosicon-application-1:before {
content: '\e67b';
}
.amosicon-link:before {
content: '\e718';
}
.amosicon-fat-menu-unfold:before {
content: '\e86c';
}
.amosicon-fat-menu-fold:before {
content: '\e86d';
}
.amosicon-xuanzhong1:before {
content: '\e63f';
}
.amosicon-guifan:before {
content: '\e70e';
}
.amosicon-bars:before {
content: '\e9ee';
}
.amosicon-scaffold-store:before {
content: '\e602';
}
.amosicon-angle-more:before {
content: '\e6b2';
}
.amosicon-scaffold:before {
content: '\e64f';
}
.amosicon-notification:before {
content: '\e907';
}
.amosicon-picture1:before {
content: '\ea0d';
}
.amosicon-save:before {
content: '\e67a';
}
.amosicon-file:before {
content: '\e677';
}
.amosicon-zoom-in:before {
content: '\e67f';
}
.amosicon-success:before {
content: '\e717';
}
.amosicon-window:before {
content: '\e7cc';
}
.amosicon-remove:before {
content: '\e67c';
}
.amosicon-xuanzhong2:before {
content: '\e663';
}
.amosicon-zhuxiao:before {
content: '\e95c';
}
.amosicon-down-right-arrow:before {
content: '\e683';
}
.amosicon-folder-open:before {
content: '\e6f9';
}
.amosicon-tree:before {
content: '\e815';
}
.amosicon-danger:before {
content: '\e840';
}
.amosicon-phone:before {
content: '\e725';
}
.amosicon-help:before {
content: '\e640';
}
.amosicon-huidaodingbu:before {
content: '\e65e';
}
.amosicon-entry-sub-graph:before {
content: '\ed40';
}
.amosicon-tianjia1:before {
content: '\e643';
}
.amosicon-right-bottom:before {
content: '\e685';
}
.amosicon-shipinbofang1:before {
content: '\e6bc';
}
.amosicon-check:before {
content: '\e6b1';
}
.amosicon-exit-3d:before {
content: '\e67d';
}
.amosicon-zhinan:before {
content: '\e671';
}
.amosicon-list11:before {
content: '\e66c';
}
.amosicon-xuanzhong3:before {
content: '\e644';
}
.amosicon-workflow-design:before {
content: '\e686';
}
.amosicon-workflow-monitor:before {
content: '\e687';
}
.amosicon-task-2:before {
content: '\e819';
}
.amosicon-wxbbaobiao:before {
content: '\e645';
}
.amosicon-wxbgongju:before {
content: '\e646';
}
.amosicon-wxbsousuotuiguang:before {
content: '\e648';
}
.amosicon-wxbdingwei:before {
content: '\e649';
}
.amosicon-setting:before {
content: '\e615';
}
.amosicon-favorite:before {
content: '\e65b';
}
.amosicon-icontotop:before {
content: '\e64a';
}
.amosicon-copy:before {
content: '\e744';
}
.amosicon-gengduo-copy:before {
content: '\e64b';
}
.amosicon-caozuo:before {
content: '\e636';
}
.amosicon-test:before {
content: '\e76e';
}
.amosicon-label:before {
content: '\e6a8';
}
.amosicon-yichu:before {
content: '\e64c';
}
.amosicon-tools:before {
content: '\e930';
}
.amosicon-shouye1:before {
content: '\e64d';
}
.amosicon-zhuxiao1:before {
content: '\e69c';
}
.amosicon-huidaodingbu1:before {
content: '\e6a4';
}
.amosicon-home:before {
content: '\e600';
}
.amosicon-close:before {
content: '\e64e';
}
.amosicon-down-right:before {
content: '\e6ca';
}
.amosicon-ok:before {
content: '\e680';
}
.amosicon-shouye:before {
content: '\e6bd';
}
.amosicon-file-upload:before {
content: '\e65d';
}
.amosicon-exit-fat:before {
content: '\e67e';
}
.amosicon-tree1:before {
content: '\e688';
}
.amosicon-setting1:before {
content: '\e719';
}
.amosicon-huidaodingbu2:before {
content: '\e660';
}
.amosicon-shipin1:before {
content: '\e661';
}
.amosicon-info:before {
content: '\e662';
}
.amosicon-totop:before {
content: '\e666';
}
.amosicon-paper-clip:before {
content: '\e667';
}
.amosicon-playvideobutton:before {
content: '\e6f5';
}
.amosicon-file-lef:before {
content: '\e692';
}
.amosicon-char:before {
content: '\e871';
}
.amosicon-xuanzhong4:before {
content: '\e673';
}
.amosicon-task-1:before {
content: '\e668';
}
.amosicon-shangchuanwenjian:before {
content: '\e66d';
}
.amosicon-dingdanguanbi:before {
content: '\e66e';
}
.amosicon-video-upload:before {
content: '\e672';
}
.amosicon-voice:before {
content: '\e674';
}
.amosicon-zhiyin:before {
content: '\e651';
}
.amosicon-sim-menu-fold:before {
content: '\e60a';
}
.amosicon-selected-1:before {
content: '\e675';
}
.amosicon-shuoming:before {
content: '\e678';
}
.amosicon-hot:before {
content: '\e756';
}
.amosicon-dabao:before {
content: '\e61c';
}
.amosicon-history:before {
content: '\e681';
}
.amosicon-html-copy:before {
content: '\e707';
}
.amosicon-sim-menu-unfold:before {
content: '\e608';
}
.amosicon-rumenpian:before {
content: '\e616';
}
.amosicon-huanjing:before {
content: '\e657';
}
.amosicon-data:before {
content: '\e757';
}
.amosicon-add-sub-view:before {
content: '\ea51';
}
.amosicon-dingzhi:before {
content: '\e624';
}
.amosicon-error:before {
content: '\e689';
}
.amosicon-xuanzhong7:before {
content: '\e68a';
}
.amosicon-yichu1:before {
content: '\e6c1';
}
.amosicon-gengduo1:before {
content: '\e68b';
}
.amosicon-edit:before {
content: '\e6eb';
}
.amosicon-folder-close:before {
content: '\e6e7';
}
.amosicon-skin:before {
content: '\e68c';
}
.amosicon-workflow:before {
content: '\e68d';
}
.amosicon-single-tree:before {
content: '\e68e';
}
.amosicon-good:before {
content: '\e699';
}
.amosicon-template:before {
content: '\e6bb';
}
.amosicon-jianhao:before {
content: '\e68f';
}
.amosicon-themeisle:before {
content: '\e71a';
}
.amosicon-ziyuanjieyong:before {
content: '\e690';
}
.amosicon-npm:before {
content: '\e6db';
}
.amosicon-arrow-left:before {
content: '\e637';
}
.amosicon-fanhui:before {
content: '\e693';
}
.amosicon-list:before {
content: '\e6a2';
}
.amosicon-i-down:before {
content: '\e6a9';
}
.amosicon-gengduo2:before {
content: '\e694';
}
.amosicon-business:before {
content: '\e61e';
}
.amosicon-prj-mgmt:before {
content: '\e704';
}
.amosicon-ray:before {
content: '\e66a';
}
.amosicon-sandaogangwutianchong:before {
content: '\e695';
}
.amosicon-shangchuanshipin2:before {
content: '\e7f0';
}
.amosicon-online-check:before {
content: '\e670';
}
.amosicon-fanhui1:before {
content: '\e6d6';
}
.amosicon-file-tree:before {
content: '\e736';
}
.amosicon-chuansuokuang:before {
content: '\e6a6';
}
.amosicon-eye-o:before {
content: '\e856';
}
.amosicon-sass:before {
content: '\e617';
}
.amosicon-qr-code:before {
content: '\e603';
}
.amosicon-guanbi:before {
content: '\e6c4';
}
.amosicon-jinrongtubiao_yichu:before {
content: '\e6c5';
}
.amosicon-ruby:before {
content: '\e772';
}
.amosicon-exit:before {
content: '\e6c6';
}
.amosicon-alarm-tip-single:before {
content: '\e6c7';
}
.amosicon-bar-chart:before {
content: '\e60c';
}
.amosicon-tools-1:before {
content: '\e62d';
}
.amosicon-yichu2:before {
content: '\e6c9';
}
.amosicon-dingzhi1:before {
content: '\e623';
}
.amosicon-tuwen_ic_data:before {
content: '\e6cb';
}
.amosicon-thin-menu-unfold:before {
content: '\e682';
}
.amosicon-standard:before {
content: '\e6b0';
}
.amosicon-success-single:before {
content: '\e782';
}
.amosicon-env:before {
content: '\e658';
}
.amosicon-wendang:before {
content: '\e679';
}
.amosicon-history-logs:before {
content: '\e6cc';
}
.amosicon-basic-coms:before {
content: '\e654';
}
.amosicon-database:before {
content: '\e6ac';
}
.amosicon-hide:before {
content: '\e69d';
}
.amosicon-bianji:before {
content: '\e6cd';
}
.amosicon-luru:before {
content: '\e6ce';
}
.amosicon-querenchuku:before {
content: '\e6cf';
}
.amosicon-shezhi:before {
content: '\e6d0';
}
.amosicon-zhuxiao2:before {
content: '\e71f';
}
.amosicon-dingzhi2:before {
content: '\e7df';
}
.amosicon-vuejs:before {
content: '\e618';
}
.amosicon-i-table:before {
content: '\e71b';
}
.amosicon-cancel:before {
content: '\e6d1';
}
.amosicon-java:before {
content: '\e607';
}
.amosicon-update-log:before {
content: '\e642';
}
.amosicon-alarm-tip:before {
content: '\e6d2';
}
.amosicon-basic:before {
content: '\e676';
}
.amosicon-zhuxiao3:before {
content: '\e7fe';
}
.amosicon-template-copy:before {
content: '\e604';
}
.amosicon-appstore:before {
content: '\e61b';
}
.amosicon-video:before {
content: '\e820';
}
.amosicon-ccgl-rukuyugao-8:before {
content: '\e6d4';
}
.amosicon-ccgl-chukucaozuo-13:before {
content: '\e6d5';
}
.amosicon-html:before {
content: '\e609';
}
.amosicon-angle-selected:before {
content: '\e6d7';
}
.amosicon-application:before {
content: '\e66f';
}
.amosicon-collection:before {
content: '\e6d8';
}
.amosicon-zhiyin1:before {
content: '\e635';
}
.amosicon-xinfeng:before {
content: '\e6d9';
}
.amosicon-tubiao:before {
content: '\e638';
}
.amosicon-danwei1:before {
content: '\e6dc';
}
.amosicon-card:before {
content: '\e6dd';
}
.amosicon-webpack-1:before {
content: '\e641';
}
.amosicon-code-hide:before {
content: '\e6de';
}
.amosicon-password:before {
content: '\e82b';
}
.amosicon-bar-code:before {
content: '\e716';
}
.amosicon-close-circle:before {
content: '\e6df';
}
.amosicon-fire-thin:before {
content: '\e6e0';
}
.amosicon-data-table:before {
content: '\e69a';
}
.amosicon-code-show:before {
content: '\e712';
}
.amosicon-enzyme:before {
content: '\e6ba';
}
.amosicon-huidaodingbu-copy:before {
content: '\e833';
}
.amosicon-shipinshangchuan:before {
content: '\e6ec';
}
.amosicon-js:before {
content: '\e619';
}
.amosicon-minus-square:before {
content: '\e6ed';
}
.amosicon-arrow-right:before {
content: '\e647';
}
.amosicon-jiancha:before {
content: '\e6ef';
}
.amosicon-right-bottom-arrow:before {
content: '\e781';
}
.amosicon-table:before {
content: '\e6f0';
}
.amosicon-gulp:before {
content: '\e628';
}
.amosicon-react:before {
content: '\e650';
}
.amosicon-sass-1:before {
content: '\e653';
}
.amosicon-arrow-left-top:before {
content: '\e6f3';
}
.amosicon-tags:before {
content: '\e6e4';
}
.amosicon-component-lib:before {
content: '\e665';
}
.amosicon-add:before {
content: '\e6f6';
}
.amosicon-initiate-assistance:before {
content: '\e69e';
}
.amosicon-weixiujilu:before {
content: '\e6f7';
}
.amosicon-fire:before {
content: '\e6f8';
}
.amosicon-jiaohu-1:before {
content: '\e626';
}
.amosicon-jiaohu:before {
content: '\e613';
}
.amosicon-store:before {
content: '\e639';
}
.amosicon-postcss:before {
content: '\e721';
}
.amosicon-webpack:before {
content: '\e738';
}
.amosicon-add-knowledge:before {
content: '\e6aa';
}
.amosicon-re-edit:before {
content: '\e697';
}
.amosicon-guide:before {
content: '\e6a5';
}
.amosicon-hudong:before {
content: '\e6b5';
}
.amosicon-arrow-right-top-fat:before {
content: '\e6fa';
}
.amosicon-caret-right:before {
content: '\e6fb';
}
.amosicon-home-1:before {
content: '\e61d';
}
.amosicon-thin-menu-fold:before {
content: '\e7af';
}
.amosicon-biz:before {
content: '\e659';
}
.amosicon-list-rect:before {
content: '\e6fc';
}
.amosicon-table-1:before {
content: '\e6fd';
}
.amosicon-react-1:before {
content: '\e664';
}
.amosicon-arrow-right-top:before {
content: '\e6fe';
}
.amosicon-number-more:before {
content: '\e6ff';
}
.amosicon-doc:before {
content: '\e65c';
}
.amosicon-develop-env-1:before {
content: '\e62c';
}
.amosicon-date:before {
content: '\e70a';
}
.amosicon-develop-env:before {
content: '\e606';
}
.amosicon-search:before {
content: '\e700';
}
.amosicon-zoom-out:before {
content: '\e701';
}
.amosicon-number:before {
content: '\e698';
}
.amosicon-qr-code1:before {
content: '\e702';
}
.amosicon-open-in-new:before {
content: '\e703';
}
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -6,7 +6,7 @@ const pluginURI = AmosConfig.httpURI.pluginURI;
const convertorURI = AmosConfig.httpURI.convertorURI;
// 三维视图
const view3dURI = AmosConfig.httpURI.convertorURI;
const patrolURI = AmosConfig.httpURI.convertorURI;
const patrolURI = AmosConfig.httpURI.patrolURI;
const baseURI = AmosConfig.httpURI.convertorURI;
//规则
const ruleURI = AmosConfig.httpURI.rulesConfigURI;
......@@ -17,10 +17,10 @@ export const FscSerUrl = {
//*******************************************************************************
// 3D视图
//*******************************************************************************
view3dInitUrl: completePrefix(view3dURI, 'view3d/initViewNode?type={type}'), // 初始化三维视图 get
view3dInitUrl: completePrefix(view3dURI, 'api/view3d/init3dViewNode?type={type}'), // 初始化三维视图 get
view3dInitLinkUrl: completePrefix(view3dURI, 'view3d/initViewLink'), // 初始化三维视图 获取link get
searchRegionListUrl: completePrefix(patrolURI, 'api/group/queryDept'), //右侧菜单-检索-区域集合
searchViewUrl: completePrefix(view3dURI, 'view3d/3ddata/all?inputText={inputText}&dataLevel={dataLevel}&orgCode={orgCode}&nodeState={nodeState}&type={type}&current={page}&pageSize={pageSize}&routeName={routeName}&protectObjName={protectObjName}'), // 右侧菜单-检索
searchViewUrl: completePrefix(view3dURI, 'api/view3d/retrieve/all?inputText={inputText}&dataLevel={dataLevel}&orgCode={orgCode}&nodeState={nodeState}&type={type}&current={page}&pageSize={pageSize}&routeName={routeName}&protectObjName={protectObjName}'), // 右侧菜单-检索
searchLinkUrl: completePrefix(view3dURI, 'view3d/link/searchView?linkId={linkId}'), // 根据单条巡检线 检索节点与线路 get
monitorRegionListUrl: completePrefix(view3dURI, 'monitorRegionListUrl'), //右侧菜单-监控-区域集合
monitorUrl: completePrefix(view3dURI, 'monitorUrl?current={page}&pageSize={size}'), //右侧菜单-监控
......@@ -53,6 +53,8 @@ export const FscSerUrl = {
export const FasSerUrl = {
selectedOrgInfoUrl: completePrefix(convertorURI, 'api/region/current'),//获取选择的公司
//*******************************************************************************
// 换流站视图
//*******************************************************************************
......
import { commonGet, commonPost, commonDelete } from './../utils/request';
import { FasSerUrl } from './../consts/urlConsts';
export const getSelectedOrgInfoAction = (id) => {
return commonGet(FasSerUrl.selectedOrgInfoUrl);
};
\ No newline at end of file
.side-pane-data {
bottom: 0;
.datapane-drawer {
height: 100%;
}
}
.datapane-container {
display: flex;
width: 100%;
height: 100%;
flex-direction: column;
font-size: 13px;
color: $biz-table-font-color;
.datapanel-search {
width: 100%;
height: 40px;
border-bottom: $content-border;
.search-input {
width: 100%;
height: 100%;
padding: 0 1rem;
line-height: 35px;
background: $component-bg-linear;
input {
width: calc(100% - 38px);
height: 24px;
padding: 0 11px;
color: $biz-table-font-color;
background: white;//transparent;
border-color: $datapane-border-color;
border-radius: 12px;
}
button {
height: auto;
padding: 0;
margin-left: 10px;
background: transparent;
border: 0;
img {
width: 23px;
}
}
.amos-group {
width: 100%;
.amos-select-dropdown {
width: 40% !important;
}
.amos-input {
width: 40% !important;
height: 30px !important;
padding: 0;
margin-left: 10px;
line-height: 28px;
}
}
}
}
.datapane-filter {
height: 45px;
border-bottom: $content-border;
.datapane-filter-content {
display: flex;
width: 100%;
height: 100%;
align-items: center;
padding: 0 15px;
background: $component-bg-linear;
.datapane-filter-item {
flex: 1;
width: 0;
height: 28px;
margin-right: 6px;
border-radius: 4px;
&:last-child {
margin-right: 0;
}
}
.datapane-filter-input {
text-align: center;
background: white;//transparent;
border: $content-border;
&::-webkit-input-placeholder {
color: red;//$content-color;
}
&::-moz-placeholder {
color: red;//$content-color;
}
&::-ms-input-placeholder {
color: red;//$content-color;
}
}
.datapane-filter-date {
input {
height: 28px;
font-size: 13px;
color: $core-color;//$content-color;
text-align: center;
background: white;//transparent;
border: $content-border;
-webkit-text-fill-color: $core-color;
&::-webkit-input-placeholder {
color: red;//$content-color;
}
&::-moz-placeholder {
color: red;//$content-color;
}
&::-ms-input-placeholder {
color: red;//$content-color;
}
}
.ant-calendar-picker-clear {
color: $content-color;
background: transparent;
}
}
.datapane-filter-select {
min-width: 70px;
padding-right: 18px;
font-size: 13px;
line-height: 26px;
color: $core-color;//$content-color;
text-align: center;
background: white;//transparent;
border: $content-border;
border-radius: 4px;
.amos-select-title {
padding-left: 5px;
}
.amos-select-dropdown-icon {
position: absolute;
right: 5px;
display: inline-block;
font-size: 12px;
}
}
}
}
.datapane-content {
flex: 1;
width: 100%;
background: $content-color;
.search-welcome {
display: flex;
width: 100%;
padding: 38px;
font-size: 13px;
color: $content-color;
flex-direction: column;
align-items: center;
.search-welcome-img {
width: 29px;
margin-bottom: 28px;
}
}
.datapane-list-content {
padding: 10px;
.datapane-item {
position: relative;
padding: 10px;
margin-bottom: 8px;
line-height: 2;
border: $content-border;
&:hover {
// color: red;
background-color: #e6f7ff;//$content-item-bg-active;
border: 1px solid $core-color;
}
}
}
}
.trajectory-play-btn {
position: absolute;
right: 0;
bottom: 0;
height: auto;
padding: 6px;
font-size: 12px;
cursor: pointer;
background-color: $content-color;
border: $content-border;
border-right: 0;
border-bottom: 0;
p {
color: $biz-table-font-color;
}
}
}
.amos-select-dropdown-popover {
> .amos-popover-content {
min-height: auto;
.datapane-select-option {
padding-right: 16px;
padding-left: 8px;
color: $biz-table-font-color;
background: $content-color;
&.amos-select-option-selected {
color: $selected-color;
.amos-select-option-icon-selected {
right: 3px;
font-size: 13px;
}
}
}
}
}
.list-paginate {
.list-paginate-more {
width: 100%;
background: $list-paginate-color;
height: auto;
padding: 6px;
border: 0;
}
.list-paginate-nomore {
display: block;
text-align: center;
margin-top: 8px;
img {
width: 35px;
position: relative;
vertical-align: middle;
top: -3px;
margin-right: 5px;
}
}
.list-paginate-loading {
display: block;
width: 100%;
text-align: center;
img {
width: 70px;
}
}
}
.list-group-item {
position: relative;
border-left: $content-border;
padding: 0px 5px;
padding-left: 10px;
font-size: 13px;
.broadcast-item {
line-height: 2;
padding: 10px;
&:hover {
border: $content-border;
background: $list-group-hover;
}
}
&.list-group-first-item {
padding-top: 18px;
margin-top: 8px;
.list-group-start {
position: absolute;
top: -6px;
left: 7px;
}
&::before {
content: "";
display: block;
width: 8px;
height: 8px;
border-radius: 4px;
background: $content-color;
position: absolute;
left: -5px;
top: 0;
}
}
}
.datapane-setting {
width: 100%;
height: 100%;
color: $content-color;
background: $content-color;
.datapane-setting-content {
padding: 5px;
}
.region-select {
height: 28px;
margin: 18px 0;
color: $core-color;
background: $list-group-hover;
border: $content-border;
border-radius: 18px;
}
.datapane-setting-collapse {
background: transparent;
border: 0;
.amos-collapse-item {
margin-bottom: 3px;
background: transparent;
border: 0;
.amos-collapse-header {
padding: 2px 5px 2px 15px;
color: $biz-table-font-color;
background: $content-header-bg;
i {
font-size: 13px;
position: absolute;
right: 0;
}
}
.amos-collapse-content {
padding: 5px;
overflow: hidden;
color: rgba(0, 0, 0, 0.65);
background-color: $content-color;//transparent;
.amos-collapse-content-box {
margin: 0;
color: $biz-table-font-color;
}
&::after {
height: 0px;
display: inline;
}
&::before {
height: 0px;
display: inline;
}
}
}
}
.datapane-setting-user {
display: flex;
padding: 20px 5px;
.user-info {
flex: 1;
padding-right: 5px;
padding-left: 12px;
font-size: 13px;
line-height: 2;
}
.user-img {
width: 94px;
img {
width: 94px;
height: 94px;
padding: 10px;
border: $content-border;
}
}
button {
height: 28px;
margin-top: 18px;
color: $core-color;
background: $list-group-hover;
border: $content-border;
border-radius: 18px;
}
}
.datapane-setting-shortcutkey {
padding: 5px;
.shortcutkey-table {
width: 100%;
font-size: 13px;
.shortcutkey-header {
text-align: center;
border: $content-border;
background: $shortcutkey-header-color;
td {
padding: 4px;
border: $content-border;
}
}
.shortcutkey-group {
td {
padding: 12px 5px;
}
}
.shortcutkey-item {
border: $content-border;
td {
padding: 7px 5px 7px 12px;
border: $content-border;
}
}
}
}
}
import './index.scss'
import './../assets/bizFont/iconfont.js';
\ No newline at end of file
import './../assets/bizFont/iconfont.js';
......@@ -4,6 +4,7 @@
@import './mask.scss';
@import './points.scss';
@import './markers.scss';
@import './datapane.scss';
@import './pointsDetails.scss';
@import './rules.scss';
@import './screensaver.scss';
......@@ -11,6 +12,7 @@
@import './planDetail.scss';
@import './../assets/bizFont/iconfont.css';
@import './../assets/amosFont/iconfont.css';
......
......@@ -20,7 +20,8 @@ const defaultPageable = {
const compleHeaders = () => {
return {
// ...defaultHeaders,
token: getToken(),
// token: getToken(),
'X-Access-Token': getToken()
};
};
......@@ -28,8 +29,8 @@ const compleHeaders = () => {
* 获取 token
*/
const getToken = () => {
// return lsTool.read(SysConsts.token);
return "0c0633a5-6e7d-4754-9909-30be49624d92";
return lsTool.read(SysConsts.token);
// return "582ca8b2-e439-4ba2-a1dc-0206d752a7fa";
}
/**
......
......@@ -4,6 +4,7 @@ import { Connect } from 'amos-framework';
import AmosWebSocket from 'amos-websocket';
import SysWsURL, { completeToken } from './../consts/wsUrlConsts';
import SideControl from './sideControl';
import DataPane from './datapane';
import Explain from './explain';
import RulesLayer from './global/RulesLayer';
import globalMsg from './pagefactory/msgFactory';
......@@ -74,11 +75,11 @@ class MaskContent extends Component {
<div className="mask-content">
<AmosWebSocket ref={node => this.aws = node} url={wsURL} onMessage={this.handleData} reconnect debug />
<SideControl multiple={multiple} onItemClick={onItemClick} layerConfig={layerConfig} animationProps={controlAnimation} />
{/* <DataPane animationProps={datapaneAnim} /> */}
<DataPane animationProps={datapaneAnim} />
<TopMsg alarmStart={alarmStart} />
<RulesLayer />
{/* <RulesLayer />
{alarmStarted && <LayerPool animationProps={layerPoolAnimation} planStart={planStart} planQuit={planQuit} planStarted={planStarted} />}
<Explain visible={showExplain} onExplainClose={onExplainClose} />
<Explain visible={showExplain} onExplainClose={onExplainClose} /> */}
</div>
);
}
......
......@@ -101,10 +101,15 @@ class PointsPool extends Component {
markers={markers.riskSource}
onCreated={(val) => this.onMarkersCreated('riskSource', val)}
/>
<PatrolPoint
{/* <PatrolPoint
{...rest}
markers={markers.risk}
onCreated={(val) => this.onMarkersCreated('risk', val)}
/> */}
<PatrolPoint
{...rest}
markers={markers.patrol}
onCreated={(val) => this.onMarkersCreated('patrol', val)}
/>
<PersonPoint3D
{...rest}
......
......@@ -370,11 +370,13 @@ class View3D extends Component {
onCameraZoomChange = delta => {
let { totalDelta, markerType, showMap } = this.state;
totalDelta = totalDelta + delta;
if (totalDelta < mousewheelCount && showMap) {
// if (totalDelta < mousewheelCount && showMap) {
if(showMap){
this.asyncLoadMarkerData(markerType);
} else if (totalDelta >= mousewheelCount && !showMap) {
this.loadMarkTypeStatistics(markerType);
}
// } else if (totalDelta >= mousewheelCount && !showMap) {
// this.loadMarkTypeStatistics(markerType);
// }
this.setState({ totalDelta });
}
......@@ -489,11 +491,11 @@ class View3D extends Component {
markers
});
} else {
if (totalDelta < mousewheelCount) {
// if (totalDelta < mousewheelCount) {
this.asyncLoadMarkerData(item.type);
} else if (totalDelta >= mousewheelCount) {
this.loadMarkTypeStatistics(item.type);
}
// } else if (totalDelta >= mousewheelCount) {
// this.loadMarkTypeStatistics(item.type);
// }
}
}
};
......@@ -580,11 +582,11 @@ class View3D extends Component {
} else {
this.clearMarkers();
if (!isCancel) {
if (totalDelta < mousewheelCount) {
// if (totalDelta < mousewheelCount) {
this.asyncLoadMarkerData(item.type);
} else if (totalDelta >= mousewheelCount) {
this.loadMarkTypeStatistics(item.type);
}
// } else if (totalDelta >= mousewheelCount) {
// this.loadMarkTypeStatistics(item.type);
// }
} else {
this.setState({ markerType: null });
}
......
......@@ -86,32 +86,32 @@ export const bizControls = [
{ key: 'level_4', label: '4级' },
{ key: 'level_5', label: '5级' }
] },
{ key: 'risk-point', icon: 'dianwei-zhongdianshebei', type: 'risk', label: '巡检点',subs: [
{ key: 'risk-point', icon: 'dianwei-zhongdianshebei', type: 'patrol', label: '巡检点',subs: [
{ key: 'level_3', label: '漏检' },
{ key: 'level_2', label: '不合格' },
{ key: 'level_1', label: '合格' },
{ key: 'level_0', label: '未计划' }
] },
{ key: 'impEquipment-point', icon: 'zhongdianshebeixiangqing', type: 'impEquipment', label: '重点设备' },
{ key: 'fireResource-point', icon: 'xiaofang', type: 'fireResource', label: '消防设备', subs: [
{ key: 'hydrant', label: '消防栓' },
{ key: 'pool', label: '消防水池' },
{ key: 'fireCar', label: '消防车' },
{ key: 'fireEquipment', label: '灭火器' },
{ key: 'fireChamber', label: '消防室' },
{ key: 'fireFoamRoom', label: '泡沫间' },
{ key: 'fireDetection', label: '火探' }
] },
{ key: 'monitorEquipment-point', icon: 'shujudian', type: 'monitorEquipment', label: '探测设备' },
{ key: 'monitor-point', icon: 'xunjiandian', type: 'video', label: '视频点' }
// { key: 'fireResource-point', icon: 'xiaofang', type: 'fireResource', label: '消防设备', subs: [
// { key: 'hydrant', label: '消防栓' },
// { key: 'pool', label: '消防水池' },
// { key: 'fireCar', label: '消防车' },
// { key: 'fireEquipment', label: '灭火器' },
// { key: 'fireChamber', label: '消防室' },
// { key: 'fireFoamRoom', label: '泡沫间' },
// { key: 'fireDetection', label: '火探' }
// ] },
// { key: 'monitorEquipment-point', icon: 'shujudian', type: 'monitorEquipment', label: '探测设备' },
// { key: 'monitor-point', icon: 'xunjiandian', type: 'video', label: '视频点' }
];
export const bizControlsTypes = [
{ key: 'riskSource', label: '风险点' },
{ key: 'risk' , label: '巡检点' },
{ key: 'patrol' , label: '巡检点' },
{ key: 'impEquipment', label: '重点设备' },
{ key: 'fireResource', label: '消防设备' },
{ key: 'fireEquipment', label: '消防设备' },
{ key: 'monitorEquipment', label: '探测设备' },
{ key: 'video', label: '视频点' }
];
......
import React, { Component } from 'react';
import PropTypes from 'prop-types';
import { Animate, Connect } from 'amos-framework';
import getContent from './getContent';
import DrawerContent from './DrawerContent';
import BizIcon from '../common/icon/BizIcon';
import { eventTopics } from './../consts';
const eventConnect = Connect.eventConnect;
const AnimateAddonBox = Animate.AnimateAddonBox;
/**
* 右侧 drawer
*
* @class Drawer
* @extends {Component}
*/
@eventConnect
class Drawer extends Component {
constructor(props) {
super(props);
this.state = {
activeBar: {},
activeKey: '',
content: null,
expanded: false,
// 数据列表状态,用于展示小红点
dataStutas: {
msg: true
},
showLabel: {
search: false,
msg: false,
record: false,
broadcast: false,
setting: false
} // 是否显示提示
};
}
componentDidMount(){
this.props.subscribe(eventTopics.base3d_view, (topic, data) => {//view3d调用
const { activeBar } = this.state;
if (topic === eventTopics.plan_step && activeBar.key !== 'broadcast') {
this.onBarItemClick(data);
} else if (topic === eventTopics.plan_step && activeBar.key === 'broadcast') {
this.props.trigger(eventTopics.broadcast_fresh, { batchNo: data.batchNo } );
}
});
this.props.subscribe(eventTopics.view3d_init, (topic, data) => {
this.closeDrawer();
});
}
onBarItemClick = (item) => {
const { dataStutas } = this.state;
dataStutas[item.key] = false;
this.setState({
expanded: true,
activeBar: item,
content: getContent(item.key),
dataStutas
});
}
closeDrawer = () => {
this.setState({
expanded: false,
activeBar: {}
});
}
changeLabelState(e, type, key) {
let { showLabel } = this.state;
if (type === 'over') {// mouse over
showLabel[key] = true;
} else if (type === 'out') {// mouse out
showLabel[key] = false;
}
this.setState({ showLabel });
}
renderDrawerBar = () => {
const { activeBar, dataStutas, showLabel } = this.state;
const { barList } = this.props;
return (
<ul className="drawer-bar-list">
{
barList.map(bl => {
// const imgPath = imgStatic.datapane[bl.icon];
const cls = activeBar && activeBar.key === bl.key ? 'drawer-bar-item drawer-bar-item-active' : 'drawer-bar-item';
const showDot = dataStutas[bl.key];
return (
<li key={bl.key} className={cls} onClick={() => this.onBarItemClick(bl)} onMouseOver={(e) => this.changeLabelState(e, 'over', bl.key)} onMouseOut={(e) => this.changeLabelState(e, 'out', bl.key)} >
{showDot && <span className="bar-status-dot" />}
<div className="bar-info">
<BizIcon icon={bl.icon} />
{/*<p>{bl.label}</p>*/}
<div className="marker-icon-title" style={{ visibility: showLabel[bl.key] ? 'inherit' : 'hidden' }}>
<div className="title-text">{bl.label}</div>
</div>
</div>
</li>
);
})
}
</ul>
);
}
render() {
const { content: DrawerComponent, activeBar, expanded } = this.state;
return (
<Animate key="drawer-panel" transitionName="slide-right" showProp="toggle" transitionLeave={false}>
<AnimateAddonBox toggle={expanded}>
<div className="datapane-drawer">
<div className="drawer-bar">
<div className="bar-top" />
{this.renderDrawerBar()}
<div className="bar-bottom" />
</div>
{
expanded &&
<DrawerContent
onClose={this.closeDrawer}
header={activeBar.title}
body={<DrawerComponent batchNo={activeBar.batchNo || ''} />}
// footer={<PlanStepFooter activeKey={activeBar.key} />}
/>
}
</div>
</AnimateAddonBox>
</Animate>
);
}
}
Drawer.propTypes = {
barList: PropTypes.arrayOf(PropTypes.shape({
key: PropTypes.string,
icon: PropTypes.string,
label: PropTypes.string,
title: PropTypes.string
}))
};
export default Drawer;
import React, { Component } from 'react';
import PropTypes from 'prop-types';
import Icon from 'amos-icon';
class DrawerContent extends Component {
render() {
const { header, onClose, body } = this.props;
return (
<div className="drawer-content">
<div className="drawer-content-header">
<div className="drawer-content-header-title">
<span>{header}</span>
</div>
<div className="drawer-content-header-close" onClick={onClose}>
<Icon icon="close" />
</div>
</div>
<div className="drawer-content-body">{body}</div>
</div>
);
}
}
DrawerContent.propTypes = {
header: PropTypes.string,
onClose: PropTypes.func,
body: PropTypes.node
};
export default DrawerContent;
import React, { Component } from 'react';
import PropTypes from 'prop-types';
import { Select } from 'amos-framework';
import { SingleQueryEnum } from 'amos-processor/lib/config/queryEnum';
import { DatePicker } from 'amos-antd';
import { getImpEquipmentAction } from './../../../services/3dService';
const Option = Select.Option;
/**
* 检索-过滤栏
*
* @class Filter
* @extends {Component}
*/
class Filter extends Component {
static propTypes = {
onFilterChange: PropTypes.func,
typeList: PropTypes.array
};
static defaultProps = {
typeList: []
};
constructor(props) {
super(props);
this.state = {
typeList: []
};
}
componentDidMount() {
getImpEquipmentAction().then(d => this.setState({ typeList: d || [] }));
}
render() {
const { onFilterChange } = this.props;
const { typeList } = this.state;
return (
<div className="datapane-filter-content">
<Select
className="datapane-filter-item datapane-filter-select"
data={typeList}
renderOption={item => <Option className="datapane-select-option" value={item.id}>{item.name}</Option>}
defaultOption={<Option className="datapane-select-option">重点设备</Option>}
onChange={(e) => onFilterChange('equipmentId', e, SingleQueryEnum.EQUAL)}
/>
<DatePicker
className="datapane-filter-item datapane-filter-date"
placeholder="时间"
format="YYYY/MM/DD"
onChange={(e) => onFilterChange('createTime', e._d.getTime(), SingleQueryEnum.EQUAL)}
/>
</div>
);
}
}
export default Filter;
import React, { Component } from 'react';
import PropTypes from 'prop-types';
import { Button, Modal, Connect } from 'amos-framework';
import { CONSTS } from './../../../consts/storageConsts';
import BizIcon from '../../common/icon/BizIcon';
import FireStrength3dSimpleView from './../../equipmentLedger/FireResources/FireStrength/FireStrength3dSimpleView';
import FireResourceView from './../../equipmentLedger/FireResources/3dSimpleViewIndex';
import { eventTopics } from './../../consts';
import { tirggerTransTopic } from './../../dataProcessor';
const initFooterBtns = [
{ key: 'contact', icon: 'tongxunlu', label: '通讯录', color: '#33cc00', disabled: false },
{ key: 'equipment', icon: 'zhongdianshebeixiangqing', label: '重点设备详情', color: '#cccccc', disabled: true }, // color: '#0099ff'
{ key: 'powerload', icon: 'dianyuanfuhetu', label: '电源负荷图', color: '#cccccc', disabled: true }, // color: '#ff9900'
{ key: 'blockage', icon: 'dianlangoufengdutu', label: '电缆沟封堵图', color: '#cccccc', disabled: true }, // color: '#6b6b6b'
{ key: 'route', icon: 'xiaofangchejinzhanhangcheluxiantu', label: '消防车进站行车路线图', color: '#cccccc', disabled: true }, // color: '#ff0000'
{ key: 'waterintake', icon: 'xiaofangqushuitu', label: '消防取水图', color: '#cccccc', disabled: true }, // color: '#ff0000'
{ key: 'resource', icon: 'ziyuanliebiao', label: '资源列表', color: '#ff6600', disabled: false } // color: '#ff6600'
];
const eventConnect = Connect.eventConnect;
@eventConnect
class PlanStepFooter extends Component {
constructor(props) {
super(props);
this.state = {
show: false,
btnKey: '',
equipmentId: '',
isInit: false,
footerBtns: [],
offSet: 0,
showLabel: {
contact: false,
equipment: false,
powerload: false,
blockage: false,
route: false,
waterintake: false,
resource: false
} // 是否显示提示
};
}
componentDidMount() {
let { footerBtns } = this.state;
// Object.assign(footerBtns, initFooterBtns);
footerBtns = JSON.parse(JSON.stringify(initFooterBtns));
this.setState({ footerBtns });
this.props.subscribe(eventTopics.plan_step, (topic, data) => {
let { type, equipmentId } = data;
let { footerBtns } = this.state;
// Object.assign(footerBtns, initFooterBtns);
if (topic === eventTopics.plan_step){
footerBtns.map(btn => {
if (type === 'equipment' && btn.key === type) {
btn.color = '#0099ff';
btn.disabled = false;
} else if (type === 'powerload' && btn.key === type) {
btn.color = '#ff9900';
btn.disabled = false;
} else if (type === 'blockage' && btn.key === type) {
btn.color = '#6b6b6b';
btn.disabled = false;
} else if (type === 'route' && btn.key === type) {
btn.color = '#ff0000';
btn.disabled = false;
} else if (type === 'waterintake' && btn.key === type) {
btn.color = '#ff0000';
btn.disabled = false;
} else if (type === 'resource' && btn.key === type) {
btn.color = '#ff6600';
btn.disabled = false;
}
return btn;
});
this.setState({ equipmentId });
}
});
this.props.subscribe(eventTopics.view3d_init, (topic, data) => {
this.setState({ isInit: true });
});
}
onBtnClick = (button) => {
console.log(button);
let { equipmentId } = this.state;
switch (button.key) {
case 'contact': this.setState({ show: true, btnKey: button.key }); break;
case 'equipment':
tirggerTransTopic(CONSTS.forward, { details: { dialogId: equipmentId, type: 'impEquipment' }, dateTime: Date.now() });
break;
case 'powerload':
tirggerTransTopic(CONSTS.forward, { details: { type: 'impEquipment', dialogId: equipmentId, show: 'picture1' }, dateTime: Date.now() });
break;
case 'blockage':
tirggerTransTopic(CONSTS.forward, { details: { type: 'impEquipment', dialogId: equipmentId, show: 'picture2' }, dateTime: Date.now() });
break;
case 'route':
tirggerTransTopic(CONSTS.forward, { details: { type: 'impEquipment', dialogId: equipmentId, show: 'picture3' }, dateTime: Date.now() });
break;
case 'waterintake':
tirggerTransTopic(CONSTS.forward, { details: { type: 'impEquipment', dialogId: equipmentId, show: 'picture4' }, dateTime: Date.now() });
break;
case 'resource': this.setState({ show: true, btnKey: button.key }); break;
}
}
getHead = () => {
const { btnKey } = this.state;
if (btnKey === 'contact') {
return '常用通讯录';
} else if (btnKey === 'resource') {
return '消防资源列表';
}
}
getContext = () => {
const { btnKey } = this.state;
if (btnKey === 'contact') {
return <FireStrength3dSimpleView />;
} else if (btnKey === 'resource') {
return <FireResourceView />;
}
}
getFooter = () => {
return (<Button onClick={() => this.cancel()}>取消</Button>);
}
cancel() {
this.setState({
show: false
});
}
changeLabelState(e, type, key) {
let { showLabel } = this.state;
let offSet = 0;
if (type === 'over') {// mouse over
showLabel[key] = true;
} else if (type === 'out') {// mouse out
showLabel[key] = false;
}
if (key === 'resource') {
offSet = -20;
} else {
offSet = -(e.currentTarget.children[1].clientWidth - e.currentTarget.children[0].clientWidth) / 2;
}
this.setState({ showLabel, offSet });
}
render() {
let { show, footerBtns, isInit, showLabel, offSet } = this.state;
let _true_ = true;
if (isInit) {
footerBtns = JSON.parse(JSON.stringify(initFooterBtns));
}
return (
<div className='plan-step-footer' >
<tr>
{
footerBtns.map(btn => {
return (
<td key={btn.key} onMouseOver={(e) => this.changeLabelState(e, 'over', btn.key)} onMouseOut={(e) => this.changeLabelState(e, 'out', btn.key)} >
<Button icon={<BizIcon icon={btn.icon} color={btn.color} />} transparent onClick={() => this.onBtnClick(btn)} disabled={btn.disabled} />
<div className="marker-icon-title" style={{ visibility: showLabel[btn.key] ? 'inherit' : 'hidden', marginLeft: offSet }}>
<div className="title-text" >{btn.label}</div>
</div>
</td>
);
})
}
</tr>
<Modal
className='plan-step-view-modal'
header={this.getHead()}
footer={this.getFooter()}
width='55%'
visible={show}
destroyContent
onCancel={() => this.cancel()}
onOk={() => {}}
content={this.getContext()}
outterClosable={_true_}
/>
</div>
);
}
}
PlanStepFooter.propTypes = {
activeKey: PropTypes.string,
subscribe: PropTypes.fun
};
export default PlanStepFooter;
import React, { Component } from 'react';
import PropTypes from 'prop-types';
const defaultCicle = 5;//默认到计时
/**
*
* 倒计时
* @class TimerTool
* @extends {Component}
*/
class TimerTool extends Component {
constructor(props) {
super(props);
this.state = {
time: defaultCicle,
timeContent: defaultCicle + 's',
showContent: true
};
}
componentWillMount(){
const { delayed } = this.props;
delayed && this.setState({ time: delayed, timeContent: delayed + 's' });
}
componentDidMount() {
this.count();
}
componentWillUnmount(){
clearInterval(this.timer);
}
count = () => {
clearInterval(this.timer);
let { time: ti } = this.state;
const { delayed } = this.props;
let delayTime = delayed ? delayed : defaultCicle;
this.timer = setInterval(() => {
if (ti > 0) {
ti = ti - 1;
this.setState({ time: ti, timeContent: ti + 's' });
} else {
clearInterval(this.timer);
this.setState({ time: delayTime, timeContent: delayTime + 's',showContent: false });
const { autoClick } = this.props;
autoClick && autoClick();
}
}, 1000);
}
initTime =()=>{
clearInterval(this.timer);
const { delayed } = this.props;
let delayTime = delayed ? delayed : defaultCicle;
this.setState({ time: delayTime, timeContent: delayTime + 's',showContent: false });
}
render() {
let { timeContent,showContent } = this.state;
return (
<span style={{ color: 'red' }}>{showContent ? timeContent : ''}</span>
);
}
}
TimerTool.propTypes = {
delayed: PropTypes.Object,
autoClick: PropTypes.func
};
export default TimerTool;
import React from 'react';
import moment from 'moment';
import { broadcastAction, exeRecordAction } from './../../../services/3dService';
import { Connect, Timeline, Button, message, CardPane,Modal } from 'amos-framework';
import DataPaneBasic from './../common/DataPaneBasic';
import DataPaneContent from './../common/DataPaneContent';
import Filter from './Filter';
import PaneItem from './../common/PaneItem';
import ListPaginate from './../common/ListPaginate';
import { eventTopics } from './../../consts';
import SymIcon from './../../common/icon/SymIcon';
import { ruleAction, ruleRePlayAction } from './../../../services/ruleService';
import PlanStepFooter from './PlanStepFooter';
import './../../../styles/broadcast.scss';
import TimerTool from './TimerTool';
const eventConnect = Connect.eventConnect;
/**
* 预案-步骤
* @class Broadcast
* @extends {DataPaneBasic}
*/
@eventConnect
class Broadcast extends DataPaneBasic {
constructor(props) {
super(props);
this.state = {
data: [],
filter: [],
visible: false,
content: {},
showFireConfirm: false,
page: 0,
pageSize: 10,
showTimeLine: false
};
}
componentDidMount(){
const { batchNo } = this.props;
batchNo ? this.getPlanExeRecord(batchNo) : this.onSearch();
this.props.subscribe(eventTopics.broadcast_fresh, (topic, data) => {
if (topic === eventTopics.broadcast_fresh){
this.onHandleMsg(data.batchNo);
}
});
}
onHandleMsg = (batchNo) => {
this.getPlanExeRecord(batchNo);
}
/**
* 点击记录中的一个
*/
onClick = (item) => {
this.init3dView(item).then(e=>{
this.getPlanExeRecord(item.batch_No);
this.ruleRePlay(item.batch_No);
});
}
init3dView = async () =>{
await this.props.trigger(eventTopics.view_fresh, {});
}
ruleRePlay =(batchNo)=>{
ruleRePlayAction(batchNo).then(data=>{
message.success('预案回播开始');
},error => {
message.danger('预案回播失败');
});
}
/**
* 查询预案执行明细
* @memberof Broadcast
*/
getPlanExeRecord =(batchNo)=>{
batchNo && this.refshTimeLine(batchNo);
}
refshTimeLine =(batchNo)=>{
broadcastAction(batchNo).then(data => {
const { showTimeLine } = this.state;
showTimeLine ? '' : this.setState({ showTimeLine: true });//显示执行明细
this.setState({ data });
});
}
/**
* 查询预案执行记录
* @memberof Broadcast
*/
onSearch = (page) => {
const { filter, pageSize, showTimeLine } = this.state;
exeRecordAction(filter, page || 0, pageSize).then(d => {
showTimeLine ? this.setState({ showTimeLine: false }) : '';//不显示执行明细
this.list.setData(d, this);
});
}
renderItem = (data) => {
return (
data.map(item=>{
return (<Timeline.Item>
<CardPane className='card-pane-front' extra={<SymIcon icon={item.icon} style={{ width: '16px' ,height: '16px' }} />} title={item.name} />
{(item.subCategoryList || []).map(e=>{
return (e.name === 'DEFAULT' ? this.renderDetItem(e) : <Timeline>{this.renderTimeLineItem(e)}</Timeline>);
})
}
</Timeline.Item>);
})
);
}
renderDetItem = (e)=>{
return (e.contentList || []).map((item,index) =>{
return this.getDetailContentByRecordType(item,index);
});
}
renderTimeLineItem = (e)=>{
return (e.contentList || []).map((item,index) =>{
return <Timeline.Item><p>{item.name}</p>{this.getDetailContentByRecordType(item,index)}</Timeline.Item>;
});
}
onButtonClick =(content)=>{
if (content.code === 'all_Resource') {
this.props.trigger(eventTopics.show_fire_equip,content);
} else if (content.confirm && content.code !== 'all_Resource') {//触发view3d,弹出框
this.open(content);
} else {//调用后台接口
(this[content.code] || {}).initTime ? this[content.code].initTime() : '';
ruleAction(content.requestUrl,content).then(e=>{
message.success('操作成功');
},error=>{
message.danger('操作失败');
});
}
}
getDetailContentByRecordType = (item,index)=>{
let styles = { marginTop: '8px' };
let cardStyle = { marginTop: '15px' };
if (item.recordType === 'MESSAGE') {
return (
<CardPane className='card-pane-front' style={index > 0 ? cardStyle : {}} title={item.name}>
<div className='broadcast-detail-message'>
<span>{ item.createDate ? moment(item.createDate).format('YYYY-MM-DD HH:mm:ss') : ''}</span>
<p style={styles}>{item.content}</p>
</div>
</CardPane>
);
} else if (item.recordType === 'OPERATE') {
let content = JSON.parse(item.content);
return (
<CardPane className='card-pane-front'>
<div className='broadcast-detail-operate'>
{(content.operate || []).map(e=>{
e.batchNo = item.batchNo;
e.id = item.id;
let disable = (e.state === 'wait' || !e.state) ? false : true;
let style = e.state === 'executed' ? { backgroundColor: '#c8f1c8',borderColor: '#009900' } : {};
return (<Button
disabled={disable}
className="broadcast-button"
style={style}
icon={<SymIcon icon={e.icon} style={{ width: '16px' ,height: '16px' }} />}
onClick={()=>this.onButtonClick(e)}>
{e.title}{(e.state === 'wait' && (e.delayed || 0) > 0) ? <TimerTool ref={timer =>this[e.code] = timer} autoClick={() => this.onButtonClick(e)} delayed={e.delayed} /> : '' } </Button>);
})}
</div>
</CardPane>
);
}
}
renderPaneItem =(item)=>{
return [
{ name: '名称', value: 'name' },
{ name: '时间', value: 'create_time' },
{ name: '重点设备', value: 'equipment_Name' }
];
}
open = (content) => {
this.setState({
showFireConfirm: true,
content
});
}
cancel = () => {
this.setState({
showFireConfirm: false,
content: {}
});
}
onModalOk =(content)=>{
this.cancel();
ruleAction(content.requestUrl,content).then(e=>{
message.success('确认成功');
},error=>{
message.danger('确认失败');
});
}
render() {
const { data, showTimeLine, pageSize, showFireConfirm, content } = this.state;
let timelineStyle = { marginTop: '15px', marginLeft: '8px', marginBottom: '45px' };
return (
<DataPaneContent
onFilterChange={this.onFilterChange}
filter={Filter}
searchName='contingencyName'
>
{!showTimeLine ? <ListPaginate
ref={node => this.list = node}
data={data}
pageSize={pageSize}
onChangePage={this.onSearch}
renderItem={e => <PaneItem renderItem={this.renderPaneItem} key={e.id} data={e} onClick={this.onClick} />}
/> :
<Timeline style={timelineStyle}>
{this.renderItem(data)}
</Timeline>
}
<PlanStepFooter />
<Modal
header={content.title || ''}
visible={showFireConfirm}
className='fire-confirm-modal'
destroyContent
content={content.content || ''}
onCancel={this.cancel}
onOk={()=>this.onModalOk(content)}
okText='是'
cancelText='否'
/>
</DataPaneContent>
);
}
}
export default Broadcast;
import { Component } from 'react';
class DataPaneBasic extends Component {
constructor(props) {
super(props);
this.state = {
data: [],
filter: [],
page: 0,
pageSize: 10
};
}
/**
* 搜索条件改变
* @memberof Search
*/
onFilterChange = (name, value, type) => {
let { filter } = this.state;
if (value) {
const flag = filter.some(e => {
if (e.name === name) {
e.value = value;
return true;
}
});
!flag && filter.push({ name, value, type });
} else {
filter = filter.filter(e => e.name !== name);
}
this.setState({ filter }, this.onSearch);
}
onSearch = () => {
}
}
export default DataPaneBasic;
import React, { Component } from 'react';
import PropTypes from 'prop-types';
import { SingleQueryEnum } from 'amos-processor/lib/config/queryEnum';
import Search from './../../common/Search';
/**
* 右侧菜单内容容器
*
* @class DataPanelContent
* @extends {Component}
*/
class DataPanelContent extends Component {
static propTypes = {
filter: PropTypes.any,
searchName: PropTypes.string,
children: PropTypes.any,
onFilterChange: PropTypes.func,
showSearch: PropTypes.bool,
dataList: PropTypes.array,
searchType: PropTypes.string,
searchTextName: PropTypes.string,
type: PropTypes.string
};
static defaultProps = {
showSearch: true,
searchName: 'searchValue',
searchTextName: 'inputText',
searchType: 'input',
dataList: [],
onFilterChange(){}
};
constructor(props) {
super(props);
this.state = {
type: ''
};
}
onSearch = (value) => {
const { searchName, onFilterChange, searchType, searchTextName } = this.props;
if (searchType === 'selectAndInput') {
onFilterChange(searchTextName, value, SingleQueryEnum.LIKE);
} else {
onFilterChange(searchName, value, SingleQueryEnum.LIKE);
}
}
searchOnChange = (value) => {
const { searchName, onFilterChange } = this.props;
this.setState({ type: value });
onFilterChange(searchName, value, SingleQueryEnum.LIKE);
}
render() {
const { filter, children, showSearch, onFilterChange , searchType, dataList } = this.props;
const { type } = this.state;
const Filter = filter ? filter : null;
return (
<div className="datapane-container">
{
showSearch && <div className="datapanel-search">
<Search searchOnChange={this.searchOnChange} onSearch={this.onSearch} searchType={searchType} dataList={dataList} />
</div>
}
{
Filter ?
<div className="datapane-filter">
<Filter {...this.props} type={type} onFilterChange={onFilterChange} />
</div> : null
}
<div className="datapane-content">
{
children
}
</div>
</div>
);
}
}
export default DataPanelContent;
import React, { Component } from 'react';
import PropTypes from 'prop-types';
import { Button, Scrollbars } from 'amos-framework';
import imgStatic from './../../../consts/imgStatic';
class GroupListPaginate extends Component {
static propTypes = {
pageSize: PropTypes.number,
onChangePage: PropTypes.func,
groupBy: PropTypes.func,
renderItem: PropTypes.func,
data: PropTypes.array
};
static defaultProps = {
pageSize: 10,
renderItem(){},
data: [],
onChangePage(){},
groupBy(){}
};
constructor(props) {
super(props);
this.state = {
pageSize: props.pageSize,
page: 0,
tip: undefined
};
}
onChangePage = () => {
const { page } = this.state;
this.setState({ tip: 'running' }, () => this.props.onChangePage(page + 1));
}
onScrollFrame = (e) => {
if (e && e.top === 1) {
!this.state.tip && this.state.tip !== 'running' && this.onChangePage();
}
}
setData = (d, parent) => {
let { data } = this.props;
let { tip } = this.state;
const { content, totalPages, number } = d || {};
if (number === 0) {
data = content;
} else {
if (content.length > 0) {
data.push(...content);
}
}
if (totalPages === (number + 1)) {
tip = 'finsh';
} else {
tip = undefined;
}
this.setState({ tip, page: number });
if (number === 0) {
this.scroll.scrollToTop();
}
parent.setState({ data });
}
setPage = (page) => {
this.setState({ page });
}
render() {
const { renderItem, data, groupBy } = this.props;
const { tip } = this.state;
let flag = '';
data.map(e => {
const data = groupBy(e);
if (flag !== data) {
e.groupByValue = data;
flag = data;
} else {
e.groupByValue = undefined;
}
});
return (
<Scrollbars
ref={node => this.scroll = node}
onScrollFrame={this.onScrollFrame}
>
<div className="list-paginate datapane-list-content" ref={node => this.node = node}>
{
data.map(e => renderItem(e))
}
{
!tip && data.lengt > 0 && <Button className="list-paginate-more" onClick={this.onChangePage}>
加载更多
</Button>
}
{
tip === 'finsh' && <span className="list-paginate-nomore" ><img src={imgStatic.datapane.noMore} alt="" />没有更多了</span>
}
{
tip === 'running' && <span className="list-paginate-loading" >
<img src={imgStatic.datapane.loading} alt="" />
<p>加载中</p>
</span>
}
</div>
</Scrollbars>
);
}
}
export default GroupListPaginate;
import React, { Component } from 'react';
import PropTypes from 'prop-types';
import { Button, Scrollbars } from 'amos-framework';
import imgStatic from './../../../consts/imgStatic';
class ListPaginate extends Component {
static propTypes = {
pageSize: PropTypes.number,
onChangePage: PropTypes.func,
renderItem: PropTypes.func,
data: PropTypes.array
};
static defaultProps = {
pageSize: 10,
renderItem(){},
data: [],
onChangePage(){}
};
constructor(props) {
super(props);
this.state = {
pageSize: props.pageSize,
page: 0,
tip: undefined
};
}
onChangePage = () => {
const { page } = this.state;
this.setState({ tip: 'running' }, () => this.props.onChangePage(page + 1));
}
onScrollFrame = (e) => {
if (e && e.top === 1) {
!this.state.tip && this.state.tip !== 'running' && this.onChangePage();
}
}
setData = (d, parent) => {
let { data } = this.props;
let { tip } = this.state;
const { content, totalPages, number } = d || {};
if (number === 0) {
data = content;
} else {
if (content.length > 0) {
data.push(...content);
}
}
if (totalPages === (number + 1)) {
tip = 'finsh';
} else {
tip = undefined;
}
if (number === 0) {
this.scroll && this.scroll.scrollToTop();
}
this.setState({ tip, page: number });
parent.setState({ data });
}
setPage = (page) => {
this.setState({ page });
}
render() {
const { renderItem, data } = this.props;
const { tip } = this.state;
return (
<Scrollbars
ref={node => this.scroll = node}
onScrollFrame={this.onScrollFrame}
>
<div className="list-paginate datapane-list-content" ref={node => this.node = node}>
{
data.map(e => renderItem(e))
}
{
!tip && data.length > 0 && <Button className="list-paginate-more" onClick={this.onChangePage}>
加载更多
</Button>
}
{
tip === 'finsh' && <span className="list-paginate-nomore" ><img src={imgStatic.datapane.noMore} alt="" />没有更多了</span>
}
{
tip === 'running' && <span className="list-paginate-loading" >
<img src={imgStatic.datapane.loading} alt="" />
<p>加载中</p>
</span>
}
</div>
</Scrollbars>
);
}
}
export default ListPaginate;
import React, { Component } from 'react';
import PropTypes from 'prop-types';
class PaneItem extends Component {
static propTypes = {
data: PropTypes.object,
onClick: PropTypes.func,
renderItem: PropTypes.func
};
static defaultProps = {
data: {},
onClick(){}
};
constructor(props) {
super(props);
}
render() {
const { data, onClick, renderItem } = this.props;
return (
<div className="datapane-item">
{
renderItem(data).map(e => {
return (<p key={e.name} className="datapane-prop" onClick={() => onClick(data)}>
<span className="datapane-prop-name">{e.name}</span>
{
e.render ? e.render(data) : <span className="datapane-prop-value">{data[e.value] || ''}</span>
}
</p>);
})
}
</div>
);
}
}
export default PaneItem;
import React from 'react';
import Search from './search';
// import Monitor from './monitor';
import Record from './record';
import Trajectory from './trajectory';
import Msg from './msg';
import Broadcast from './broadcast';
import Setting from './setting';
const mapping = {
search: Search,
msg: Msg,
trajectory: Trajectory,
record: Record,
broadcast: Broadcast,
// monitor: Monitor,
setting: Setting
};
const Unkown = props => <div>暂未定义</div>;
export default function getContent(key){
return mapping[key] || Unkown;
}
import React, { Component } from 'react';
import PropTypes from 'prop-types';
import { SidePane } from 'amos-framework';
import Drawer from './Drawer';
const dataPanes = [
{ key: 'search', icon: 'sousuo', label: '检索', title: '信息检索' },
{ key: 'msg', icon: 'xiaoxi', label: '消息', title: '消息提醒' },
// { key: 'trajectory', icon: 'trajectory', label: '轨迹', title: '巡检轨迹' },
{ key: 'record', icon: 'yuan1', label: '轨迹', title: '巡检轨迹' },
// { key: 'job', icon: 'job', label: '工单', title: '工单查看' },
{ key: 'broadcast', icon: 'buzhou7', label: '步骤', title: '步骤' },
// { key: 'statistics', icon: 'statistics', label: '统计', title: '统计信息' },
// { key: 'monitor', icon: 'monitor', label: '监控', title: '视频监控' },
{ key: 'setting', icon: 'shezhi', label: '设置', title: '系统设置' }
];
class DataPane extends Component {
render() {
const { animationProps } = this.props;
return (
<SidePane className="side-pane-data" left={false} right={0} top={40} {...animationProps}>
<Drawer barList={dataPanes} />
</SidePane>
);
}
}
DataPane.propTypes = {
animationProps: PropTypes.object
};
export default DataPane;
import React, { Component } from 'react';
import PropTypes from 'prop-types';
import { trim } from 'amos-tool';
import { Select, Input } from 'amos-framework';
import { SingleQueryEnum } from 'amos-processor/lib/config/queryEnum';
import {
monitorRegionListAction
} from './../../../services/3dService';
const Option = Select.Option;
/**
* 检索-过滤栏
*
* @class Filter
* @extends {Component}
*/
class Filter extends Component {
static propTypes = {
onFilterChange: PropTypes.func
};
constructor(props) {
super(props);
this.state = {
regionList: []
};
}
componentDidMount() {
monitorRegionListAction().then(d => this.setState({ regionList: d || [] }));
}
render() {
const { onFilterChange } = this.props;
const { regionList } = this.state;
return (
<div className="datapane-filter-content">
<Select
className="datapane-filter-item datapane-filter-select"
data={regionList}
renderOption={item => <Option className="datapane-select-option" value={item.id}>{item.name}</Option>}
defaultOption={<Option className="datapane-select-option">区域</Option>}
onChange={(e) => onFilterChange('category', e, SingleQueryEnum.EQUAL)}
/>
<Input
className="datapane-filter-item datapane-filter-input"
placeholder="编号"
onBlur={(e) => onFilterChange('code', trim(e.target.value), SingleQueryEnum.LIKE)}
/>
</div>
);
}
}
export default Filter;
import React from 'react';
import {
monitorAction
} from './../../../services/3dService';
import DataPaneBasic from './../common/DataPaneBasic';
import DataPaneContent from './../common/DataPaneContent';
import Filter from './Filter';
import PaneItem from './../common/PaneItem';
import ListPaginate from './../common/ListPaginate';
/**
* 监控
* @class Monitor
* @extends {DataPaneBasic}
*/
class Monitor extends DataPaneBasic {
constructor(props) {
super(props);
this.state = {
data: [],
filter: [],
page: 0,
pageSize: 10
};
}
componentDidMount(){
this.onSearch();
}
/**
* 点击监控中的一个
*/
onClick = (item) => {
}
onSearch = (page) => {
const { filter, pageSize } = this.state;
monitorAction(filter, page || 0, pageSize).then(d => {
this.list.setData(d, this);
});
}
renderItem = (item) => {
return [
{ name: '视频点', value: 'name' },
{ name: '编号', value: 'code' }
];
}
render() {
const { data, pageSize } = this.state;
return (
<DataPaneContent
onFilterChange={this.onFilterChange}
filter={Filter}
>
<ListPaginate
ref={node => this.list = node}
data={data}
pageSize={pageSize}
onChangePage={this.onSearch}
renderItem={e => <PaneItem renderItem={this.renderItem} key={e.id} data={e} onClick={this.onClick} />}
/>
</DataPaneContent>
);
}
}
export default Monitor;
import React, { Component } from 'react';
import PropTypes from 'prop-types';
import { SingleQueryEnum } from 'amos-processor/lib/config/queryEnum';
import { Select } from 'amos-framework';
import { DatePicker } from 'amos-antd';
const Option = Select.Option;
const typeList = [
{ id: '01', name: '未读' },
{ id: '02', name: '已读' }
];
const MsgTypeEnum = [{ id: 'protal', name: '巡检' }, { id: 'equiment', name: '设备' }, { id: 'risk', name: '风险' }];
/**
* 检索-过滤栏
*
* @class Filter
* @extends {Component}
*/
class Filter extends Component {
static propTypes = {
onFilterChange: PropTypes.func
};
constructor(props) {
super(props);
this.state = {
categoryList: []
};
}
componentDidMount() {
// msgCategoryListAction().then(d => this.setState({ categoryList: d || [] }));
}
onFilterChange = (date, dateString) => {
let searchDate = dateString.split('/').join('-');
this.props.onFilterChange('time', searchDate, SingleQueryEnum.EQUAL);
}
render() {
const { onFilterChange } = this.props;
const { categoryList } = this.state;
return (
<div className="datapane-filter-content">
<Select
className="datapane-filter-item datapane-filter-select"
data={MsgTypeEnum}
renderOption={item => <Option className="datapane-select-option" value={item.id}>{item.name}</Option>}
defaultOption={<Option className="datapane-select-option">类别</Option>}
onChange={(e) => onFilterChange('category', e, SingleQueryEnum.EQUAL)}
/>
{/*<Select
className="datapane-filter-item datapane-filter-select"
data={typeList}
renderOption={item => <Option className="datapane-select-option" value={item.id}>{item.name}</Option>}
defaultOption={<Option className="datapane-select-option">所有</Option>}
onChange={(e) => onFilterChange('type', e, SingleQueryEnum.EQUAL)}
/>*/}
<DatePicker
className="datapane-filter-item datapane-filter-date"
placeholder="时间"
format="YYYY/MM/DD"
onChange={this.onFilterChange}
/>
</div>
);
}
}
export default Filter;
import React from 'react';
import {
msgAction
} from './../../../services/3dService';
import { Connect } from 'amos-framework';
import DataPaneBasic from './../common/DataPaneBasic';
import DataPaneContent from './../common/DataPaneContent';
import Filter from './Filter';
import PaneItem from './../common/PaneItem';
import ListPaginate from './../common/ListPaginate';
import { eventTopics } from './../../consts';
const eventConnect = Connect.eventConnect;
/**
* 消息
* @class Msg
* @extends {Component}
*/
@eventConnect
class Msg extends DataPaneBasic {
constructor(props) {
super(props);
this.state = {
searchName: 'title',
data: [],
filter: [],
page: 0,
pageSize: 10
};
}
componentDidMount(){
this.onSearch();
this.props.subscribe(eventTopics.datapane_msg, (topic, data) => {
console.log('datapane_msg****', data);
this.onHandleMsg(data);
});
}
/**
* 点击监控中的一个
*/
onClick = (item) => {
}
onHandleMsg = (data) => {
this.onSearch();
}
onSearch = (page) => {
const { filter, pageSize } = this.state;
let searchParam = {};
filter.map(item => {
searchParam[item.name] = item.value;
});
msgAction(searchParam, page || 0, pageSize).then(d => {
this.list && this.list.setData(d, this);
});
}
renderItem = (item) => {
return [
{ name: '标题', value: 'title' },
{ name: '类型', value: 'type' },
{ name: '时间', value: 'timeStr' },
{ name: '内容',
value: 'content',
render: text => {
return item.content.slice(0,item.content.lastIndexOf('<'));
}
}
];
}
render() {
const { searchName, data, pageSize } = this.state;
return (
<DataPaneContent
onFilterChange={this.onFilterChange}
filter={Filter}
searchName={searchName}
>
<ListPaginate
ref={node => this.list = node}
data={data}
pageSize={pageSize}
onChangePage={this.onSearch}
renderItem={e => <PaneItem renderItem={this.renderItem} key={e.id} data={e} onClick={this.onClick} />}
/>
</DataPaneContent>
);
}
}
export default Msg;
import React, { Component } from 'react';
import PropTypes from 'prop-types';
import { Select } from 'amos-framework';
import { SingleQueryEnum } from 'amos-processor/lib/config/queryEnum';
import { DatePicker } from 'amos-antd';
const Option = Select.Option;
/**
* 检索-过滤栏
*
* @class Filter
* @extends {Component}
*/
class Filter extends Component {
static propTypes = {
onFilterChange: PropTypes.func,
statusList: PropTypes.array
};
static defaultProps = {
statusList: []
};
constructor(props) {
super(props);
this.state = {
};
}
render() {
const { onFilterChange, statusList } = this.props;
return (
<div className="datapane-filter-content">
<Select
className="datapane-filter-item datapane-filter-select"
data={statusList}
renderOption={item => <Option className="datapane-select-option" value={item.code}>{item.name}</Option>}
defaultOption={<Option className="datapane-select-option">全部</Option>}
onChange={(e) => onFilterChange('isOK', e, SingleQueryEnum.EQUAL)}
/>
<DatePicker
className="datapane-filter-item datapane-filter-date"
placeholder="时间"
format="YYYY-MM-DD"
onChange={(e, s) => onFilterChange('beginDate', s, SingleQueryEnum.EQUAL)}
/>
</div>
);
}
}
export default Filter;
import React from 'react';
import {
recordAction,
recordStatusListAction
} from './../../../services/3dService';
import Icon from 'amos-icon';
import DataPaneBasic from './../common/DataPaneBasic';
import DataPaneContent from './../common/DataPaneContent';
import Filter from './Filter';
import PaneItem from './../common/PaneItem';
import ListPaginate from './../common/ListPaginate';
/**
* 预案
* @class Plan
* @extends {DataPaneBasic}
*/
class Plan extends DataPaneBasic {
constructor(props) {
super(props);
this.state = {
searchName: 'pointName',
data: [],
filter: [],
statusList: [],
page: 0,
pageSize: 10
};
}
componentDidMount(){
this.onSearch();
recordStatusListAction().then(d => this.setState({ statusList: d || [] }));
}
/**
* 点击记录中的一个
*/
onClick = (item) => {
}
onSearch = (page) => {
const { filter, pageSize } = this.state;
recordAction(filter, page || 0, pageSize).then(d => {
this.list.setData(d, this);
});
}
renderItem = (item) => {
return [
{ name: '名称', value: 'pointName' },
{ name: '类型', value: 'checkTime' },
{ name: '重点设备', value: 'status' }
];
}
render() {
const { searchName, data, statusList, pageSize } = this.state;
return (
<DataPaneContent
onFilterChange={this.onFilterChange}
statusList={statusList}
filter={Filter}
searchName={searchName}
>
<ListPaginate
ref={node => this.list = node}
data={data}
pageSize={pageSize}
onChangePage={this.onSearch}
renderItem={e => <PaneItem renderItem={this.renderItem} key={e.id} data={e} onClick={this.onClick} />}
/>
</DataPaneContent>
);
}
}
export default Plan;
import React, { Component } from 'react';
import PropTypes from 'prop-types';
import { Select } from 'amos-framework';
import { SingleQueryEnum } from 'amos-processor/lib/config/queryEnum';
import { DatePicker } from 'amos-antd';
const Option = Select.Option;
/**
* 检索-过滤栏
*
* @class Filter
* @extends {Component}
*/
class Filter extends Component {
static propTypes = {
onFilterChange: PropTypes.func,
statusList: PropTypes.array
};
static defaultProps = {
statusList: []
};
constructor(props) {
super(props);
this.state = {
};
}
render() {
const { onFilterChange, statusList } = this.props;
return (
<div className="datapane-filter-content">
<Select
className="datapane-filter-item datapane-filter-select"
data={statusList}
renderOption={item => <Option className="datapane-select-option" value={item.code}>{item.name}</Option>}
defaultOption={<Option className="datapane-select-option">全部</Option>}
onChange={(e) => onFilterChange('isOK', e, SingleQueryEnum.EQUAL)}
/>
<DatePicker
className="datapane-filter-item datapane-filter-date"
placeholder="时间"
format="YYYY-MM-DD"
onChange={(e, s) => onFilterChange('beginDate', s, SingleQueryEnum.EQUAL)}
/>
</div>
);
}
}
export default Filter;
import React from 'react';
import {
recordAction,
recordStatusListAction
} from './../../../services/3dService';
import Icon from 'amos-icon';
import DataPaneBasic from './../common/DataPaneBasic';
import DataPaneContent from './../common/DataPaneContent';
import Filter from './Filter';
import PaneItem from './../common/PaneItem';
import ListPaginate from './../common/ListPaginate';
/**
* 记录
* @class Record
* @extends {DataPaneBasic}
*/
class Record extends DataPaneBasic {
constructor(props) {
super(props);
this.state = {
searchName: 'pointName',
data: [],
filter: [],
statusList: [],
page: 0,
pageSize: 10
};
}
componentDidMount(){
this.onSearch();
recordStatusListAction().then(d => this.setState({ statusList: d || [] }));
}
/**
* 点击记录中的一个
*/
onClick = (item) => {
}
onSearch = (page) => {
const { filter, pageSize } = this.state;
recordAction(filter, page || 0, pageSize).then(d => {
this.list.setData(d, this);
});
}
renderItem = (item) => {
const status = this.state.statusList.find(e => e.code === item.isOk) || {};
return [
{ name: '巡检点', value: 'pointName' },
{ name: '时间', value: 'checkTime' },
{ name: '状态', value: 'status', render: () => (
<span className="datapane-prop-value" style={{ color: status.color }}>
{status.name}&nbsp;{ status.color && <Icon icon="warning" style={{ color: status.color }} /> }
</span>
) }
];
}
render() {
const { searchName, data, statusList, pageSize } = this.state;
return (
<DataPaneContent
onFilterChange={this.onFilterChange}
statusList={statusList}
filter={Filter}
searchName={searchName}
>
<ListPaginate
ref={node => this.list = node}
data={data}
pageSize={pageSize}
onChangePage={this.onSearch}
renderItem={e => <PaneItem renderItem={this.renderItem} key={e.checkID} data={e} onClick={this.onClick} />}
/>
</DataPaneContent>
);
}
}
export default Record;
import React, { Component } from 'react';
import PropTypes from 'prop-types';
import { MultiSelect, Select } from 'amos-framework';
import { SingleQueryEnum } from 'amos-processor/lib/config/queryEnum';
import {
searchRegionListAction,
initView3DLinkAction,
getImpEquipmentAction
} from './../../../services/3dService';
import { riskSourceLevel ,riskSourceStatus, fireResource } from '../../conf';
const Option = Select .Option;
/**
* 检索-过滤栏
*
* @class Filter
* @extends {Component}
*/
class Filter extends Component {
static propTypes = {
onFilterChange: PropTypes.func,
type: PropTypes.string
};
constructor(props) {
super(props);
this.state = {
regionList: [],
routeList: [],
impEquiList: [],
type: ''
};
}
componentDidMount() {
const { type } = this.props;
searchRegionListAction().then(d => this.setState({ regionList: d || [], type }));
initView3DLinkAction().then(d => this.setState({ routeList: d || [] , type }));
getImpEquipmentAction().then(d => this.setState({ impEquiList: d || [] , type }));
}
componentWillReceiveProps = (nextProps) => {
const { type } = nextProps;
this.setState({ type });
}
getRiskSourceReander = () => {
const { onFilterChange } = this.props;
return (
<div className="datapane-filter-content">
<Select
className="datapane-filter-item datapane-filter-select"
data={riskSourceLevel}
renderOption={item => <Option className="datapane-select-option" value={item.key}>{item.label}</Option>}
defaultOption={<Option className="datapane-select-option">全部</Option>}
onChange={(e) => onFilterChange('dataLevel', e, SingleQueryEnum.EQUAL)}
/>
</div>
);
}
getRiskReander = () => {
const { onFilterChange } = this.props;
const { routeList } = this.state;
return (
<div className="datapane-filter-content">
<Select
className="datapane-filter-item datapane-filter-select"
data={routeList}
renderOption={item => <Option className="datapane-select-option" value={item.name}>{item.name}</Option>}
defaultOption={<Option className="datapane-select-option">全部路线</Option>}
onChange={(e) => onFilterChange('route', e, SingleQueryEnum.EQUAL)}
/>
<Select
className="datapane-filter-item datapane-filter-select"
data={riskSourceStatus}
renderOption={item => <Option className="datapane-select-option" value={item.key}>{item.label}</Option>}
defaultOption={<Option className="datapane-select-option">全部</Option>}
onChange={(e) => onFilterChange('nodeState', e, SingleQueryEnum.EQUAL)}
/>
</div>
);
}
getFireResourceRender = () => {
const { onFilterChange } = this.props;
return (
<div className="datapane-filter-content">
<Select
className="datapane-filter-item datapane-filter-select"
data={fireResource}
renderOption={item => <Option className="datapane-select-option" value={item.key}>{item.label}</Option>}
defaultOption={<Option className="datapane-select-option">全部</Option>}
onChange={(e) => onFilterChange('fireResource', e, SingleQueryEnum.EQUAL)}
/>
</div>
);
}
getVideoRender = () => {
const { onFilterChange } = this.props;
const { impEquiList } = this.state;
return (
<div className="datapane-filter-content">
<Select
className="datapane-filter-item datapane-filter-select"
data={impEquiList}
renderOption={item => <Option className="datapane-select-option" value={item.name}>{item.name}</Option>}
defaultOption={<Option className="datapane-select-option">全部</Option>}
onChange={(e) => onFilterChange('impEquipment', e, SingleQueryEnum.EQUAL)}
/>
</div>
);
}
getFilterRender = () => {
const { type } = this.state;
if (type === 'riskSource') {
return this.getRiskSourceReander();
} else if (type === 'risk') {
return this.getRiskReander();
} else if (type === 'fireResource') {
return this.getFireResourceRender();
} else if (type === 'monitorEquipment') {
return this.getVideoRender();
} else if (type === 'video') {
return this.getVideoRender();
} else {
return '';
}
}
render() {
return this.getFilterRender();
}
}
export default Filter;
import React, { Component } from 'react';
import imgStatic from './../../../consts/imgStatic';
/**
* 检索条件为空时提示组件
*
* @class SearchWelCome
* @extends {Component}
*/
class SearchWelCome extends Component {
render() {
return (
<div className="search-welcome">
<img className="search-welcome-img" src={imgStatic.datapane.smilingFace} alt="" />
<p className="search-welcome-text" style={{ color: 'grey' }}>HI!您好,我可以帮助您检索您想要的信息!</p>
</div>
);
}
}
export default SearchWelCome;
import React from 'react';
import { Connect } from 'amos-framework';
import {
searchAction
} from './../../../services/3dService';
import DataPaneBasic from './../common/DataPaneBasic';
import DataPaneContent from './../common/DataPaneContent';
import Filter from './Filter';
import PaneItem from './../common/PaneItem';
import SearchWelCome from './SearchWelCome';
import ListPaginate from './../common/ListPaginate';
import { eventTopics, operateTypes } from './../../consts';
import { updateViewData, update3DViewData } from './../../dataProcessor';
import { bizControlsTypes } from './../../conf';
const eventConnect = Connect.eventConnect;
/**
* 检索
* @class Search
* @extends {DataPaneBasic}
*/
@eventConnect
class Search extends DataPaneBasic {
constructor(props) {
super(props);
this.state = {
searchName: 'type',
data: [],
filter: [],
page: 0,
pageSize: 10,
isStart: true
};
}
componentDidMount(){
this.onSearch(0);
}
/**
* 点击检索结果中的一个
*/
onClick = (item) => {
// 更新视图数据
// let views = new Array();
// views.push(item);
// let args = {
// target: views,
// operateType: operateTypes.POINT_SEARCH
// };
// update3DViewData(args);
}
onSearch = (page) => {
const { filter, pageSize, isStart } = this.state;
if (isStart) {
this.setState({ isStart: false });
}
let inputText = '';
let dataLevel = '';
let orgCode = '';
let nodeState = '';
let type = '';
let routeName = '';
let protectObjName = '';
( filter || [] ).forEach((item, i) => {
if (item.name === 'type') {
type = item.value;
} else if (item.name === 'dataLevel') {
dataLevel = item.value;
} else if (item.name === 'nodeState') {
nodeState = item.value;
} else if (item.name === 'inputText'){
inputText = item.value;
} else if (item.name === 'route'){
routeName = item.value;
} else if (item.name === 'impEquipment'){
protectObjName = item.value;
}
});
searchAction(inputText, dataLevel, orgCode, nodeState, protectObjName, routeName, type, page || 0, pageSize).then(d => {
// 填充列表数据
this.listRef.setData(d, this);
});
}
renderItem = (item) => {
if ('riskSource' === item.type) {
return [
{ name: '编号', value: 'code' },
{ name: '名称', value: 'label' },
{ name: '等级', value: 'level' },
{ name: '类别', value: 'typeName' }
];
} else if ('patrol' === item.type) {
return [
{ name: '编号', value: 'code' },
{ name: '名称', value: 'label' },
{ name: '路线', value: 'routeName' },
{ name: '状态', value: 'title' },
{ name: '责任人', value: 'person' },
{ name: '类别', value: 'typeName' }
];
} else if ('monitorEquipment' === item.type) {
return [
{ name: '编号', value: 'code' },
{ name: '名称', value: 'label' },
{ name: '监控对象', value: 'protectObjName' },
{ name: '类别', value: 'typeName' }
];
} else if ('video' === item.type) {
return [
{ name: '编号', value: 'code' },
{ name: '名称', value: 'label' },
{ name: '监控对象', value: 'protectObjName' },
{ name: '类别', value: 'typeName' }
];
} else {
return [
{ name: '编号', value: 'code' },
{ name: '名称', value: 'label' },
{ name: '类别', value: 'typeName' }
];
}
}
render() {
const { searchName, data, pageSize, isStart, filter } = this.state;
let type = '';
( filter || [] ).forEach((item, i) => {
if (item.name === 'type') {
type = item.value;
}
});
return (
<DataPaneContent
onFilterChange={this.onFilterChange}
filter={Filter}
type={type}
dataList={bizControlsTypes}
searchType={'selectAndInput'}
searchName={searchName}
>
{
!isStart ?
<ListPaginate
ref={node => this.listRef = node}
data={data}
pageSize={pageSize}
onChangePage={this.onSearch}
renderItem={e => <PaneItem renderItem={this.renderItem} key={e.id} data={e} onClick={this.onClick} />}
/>
: <SearchWelCome />
}
</DataPaneContent>
);
}
}
export default Search;
import React, { Component } from 'react';
import { shortcutKeys } from './../../conf';
/**
* 设置-快捷键
* @class ShortcutKey
* @extends {Component}
*/
class ShortcutKey extends Component {
constructor(props) {
super(props);
this.state = {
};
}
renderItem = () => {
let res = [];
(shortcutKeys || []).map(e => {
res.push(<tr key={e.category} className="shortcutkey-group"><td colSpan={3}>{e.category}:</td></tr>);
e.keys.map(item => {
res.push(<tr key={e.name} className="shortcutkey-item"><td>{item.name}</td><td>{item.key}</td><td>{item.status}</td></tr>);
})
})
return res;
}
render() {
return (
<div className="datapane-setting-shortcutkey">
<table className="shortcutkey-table">
<tr className="shortcutkey-header"><td>功能</td><td>热键</td><td>状态</td></tr>
{
this.renderItem()
}
</table>
</div>
);
}
}
export default ShortcutKey;
import React, { Component } from 'react';
import PropTypes from 'prop-types';
import { browserHistory } from 'amos-react-router';
import imgStatic from './../../../consts/imgStatic';
import { CONSTS } from './../../../consts/storageConsts';
import { SecurityUrl } from './../../../consts/urlConsts';
import { tirggerTransTopic } from './../../dataProcessor';
import { getSelectedOrgInfoAction } from './../../../services/securityService';
import { Store } from 'amos-tool';
const lsTool = Store.lsTool;
/**
* 设置-账户设置
* @class UserSetting
* @extends {Component}
*/
class UserSetting extends Component {
static propTypes = {
logout: PropTypes.func,
sweepReducers: PropTypes.func,
write: PropTypes.func,
toStr: PropTypes.func,
isLoginout: PropTypes.bool
};
static propTypes = {
logout(){},
sweepReducers(){},
write(){},
toStr(){}
};
constructor(props) {
super(props);
this.state = {
user: {}
};
}
componentDidMount() {
this.onInit();
this.getSelectedOrgInfo();
}
componentWillReceiveProps(nextProps) {
if (nextProps.isLoginout) {
browserHistory.push('/login');
}
}
getSelectedOrgInfo =()=>{
getSelectedOrgInfoAction().then(data=>{
// const { user } = this.state;
// user.company = data.company;
// user.department = data.department;
this.setState( { user:data } );
});
}
onInit = function() {
//let userInfo = currentUsercurrentUser() || {};
// let userId = (userInfo || {}).userId;
// getCurrentUser().then(data => {
// let userName = data.realName;
// let departmentInfo = {};
// let companyInfo = {};
// this.setState( { user: { nickName: userName, company: companyInfo, department: departmentInfo } } );
// });
}
/**
* 注销
*/
onLogOut = () => {
const { logout, sweepReducers } = this.props;
//const user = currentUser();
tirggerTransTopic(CONSTS.control, { control: { logOut: true } });
logout && logout(SecurityUrl.loginOutUrl);
sweepReducers && sweepReducers();
}
render() {
let { user } = this.state;
// const user = currentUser() || {};
console.log(user);
return (
<div className="datapane-setting-user">
<div className="user-info">
<p>用户名:{user.nickName}</p>
<p>公司:{(user.company || {}).companyName}</p>
<p>部门:{(user.department || {}).departmentName}</p>
{/* <Button onClick={this.onLogOut}>注销</Button> */}
</div>
<div className="user-img">
<img src={imgStatic.datapane.user} alt="" />
{/* <Button>修改图像</Button> */}
</div>
</div>
);
}
}
export default UserSetting;
import React, { Component } from 'react';
import { browserHistory } from 'amos-react-router';
import { Collapse, Scrollbars, Button } from 'amos-framework';
import UserSetting from './UserSetting';
import ShortcutKey from './ShortcutKey';
const Panel = Collapse.Panel;
/**
* 设置
* @class Setting
* @extends {Component}
*/
class Setting extends Component {
constructor(props) {
super(props);
this.state = {
};
}
changeRegion = () => {
browserHistory.push({
pathname: '/region',
state: 'changeRegion'
});
}
render() {
return (
<div className="datapane-setting">
<Scrollbars>
<div className="datapane-setting-content">
<Collapse className="datapane-setting-collapse" activeKey={['1', '2', '3']} onChange={key=>console.log(key)}>
<Panel header="厂区选择" key="1">
<Button className="region-select" onClick={this.changeRegion}>切换厂区</Button>
</Panel>
<Panel header="账户设置" key="2">
<UserSetting />
</Panel>
<Panel header="快捷键" key="3">
<ShortcutKey />
</Panel>
</Collapse>
</div>
</Scrollbars>
</div>
);
}
}
export default Setting;
import React, { Component } from 'react';
import PropTypes from 'prop-types';
import { SingleQueryEnum } from 'amos-processor/lib/config/queryEnum';
import { Select } from 'amos-framework';
import { DatePicker } from 'amos-antd';
const Option = Select.Option;
/**
* 检索-过滤栏
*
* @class Filter
* @extends {Component}
*/
class Filter extends Component {
static propTypes = {
onFilterChange: PropTypes.func,
personList: PropTypes.array
};
static defaultProps = {
personList: []
};
constructor(props) {
super(props);
this.state = {
};
}
render() {
const { onFilterChange, personList } = this.props;
return (
<div className="datapane-filter-content">
<Select
className="datapane-filter-item datapane-filter-select"
data={personList}
renderOption={item => <Option className="datapane-select-option" value={item.id}>{item.name}</Option>}
defaultOption={<Option className="datapane-select-option">人员</Option>}
onChange={(e) => onFilterChange('userId', e, SingleQueryEnum.EQUAL)}
/>
<DatePicker
className="datapane-filter-item datapane-filter-date"
placeholder="时间"
format="YYYYMMDD"
onChange={(e, s) => onFilterChange('checkDate', s, SingleQueryEnum.EQUAL)}
/>
</div>
);
}
}
export default Filter;
import React from 'react';
import {
trajectoryAction,
trajectoryPersonListAction
} from './../../../services/3dService';
import imgStatic from './../../../consts/imgStatic';
import { Button } from 'amos-framework';
import DataPaneBasic from './../common/DataPaneBasic';
import DataPaneContent from './../common/DataPaneContent';
import Filter from './Filter';
import PaneItem from './../common/PaneItem';
import ListPaginate from './../common/ListPaginate';
/**
* 轨迹
* @class Trajectory
* @extends {DataPaneBasic}
*/
class Trajectory extends DataPaneBasic {
constructor(props) {
super(props);
this.state = {
data: [],
filter: [],
personList: [],
page: 0,
pageSize: 10
};
}
componentDidMount(){
this.onSearch();
trajectoryPersonListAction('user').then(d => this.setState({ personList: (d || {}).users || [] }));
}
/**
* 点击记录中的一个
*/
onClick = (item) => {
window.alert(JSON.stringify(item));
}
onSearch = (page) => {
const { filter, pageSize } = this.state;
trajectoryAction(filter, page || 0, pageSize).then(d => {
this.list.setData(d, this);
});
}
renderItem = (item) => {
return [
{ name: '巡检人', value: 'userName' },
{ name: '时间', value: 'checkTime' },
{ name: '轨迹', value: 'traName', render: () => (
<span className="datapane-prop-value">
{
item.traName
}
<Button className="trajectory-play-btn" onClick={()=>this.onClick(item)}>
<img src={imgStatic.datapane.play} alt="" />
<p>播放</p>
</Button>
</span>
) }
];
}
render() {
const { data, personList, pageSize } = this.state;
return (
<DataPaneContent
onFilterChange={this.onFilterChange}
personList={personList}
filter={Filter}
>
<ListPaginate
ref={node => this.list = node}
data={data}
pageSize={pageSize}
onChangePage={this.onSearch}
renderItem={e => <PaneItem renderItem={this.renderItem} key={e.checkId} data={e} />}
/>
</DataPaneContent>
);
}
}
export default Trajectory;
......@@ -43,7 +43,8 @@ class PointDialog extends Component {
onOpenClick = marker => {
const { id, type } = marker.extData || {};
if (type === 'risk') {
// if (type === 'risk') {
if (type === 'patrol') {
this.setState(
{
open: true
......
......@@ -96,7 +96,8 @@ class ControlItem extends Component {
renderSubContent = () => {
const { subs = [], type } = this.props;
if (type === 'risk') {
// if (type === 'risk') {
if (type === 'patrol') {
return (
<ul>
{
......
......@@ -68,7 +68,7 @@ class SideControl extends Component {
return (
<SidePane className="side-control-pane" {...animationProps}>
<BizControlPane controls={_bizControls} isActive={this.isActive} onItemClick={this.onBizItemClick} />
<InnateControlPane controls={viewController} layerConfig={layerConfig} />
{/* <InnateControlPane controls={viewController} layerConfig={layerConfig} /> */}
</SidePane>
);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment