From 17dd2dbe5987e488940ef80ec958fcd947edc4d1 Mon Sep 17 00:00:00 2001 From: wangjiahao <1522128093@qq.com> Date: Fri, 18 Jun 2021 10:58:26 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=9B=B4=E6=8D=A2=E5=85=B6=E4=BB=96?= =?UTF-8?q?=E7=BB=84=E4=BB=B6=E5=9B=BE=E6=A0=87=20=E5=B0=86=E4=B8=8A?= =?UTF-8?q?=E4=BC=A0=E5=9B=BE=E7=89=87=E7=BB=84=E4=BB=B6=20=E7=A7=BB?= =?UTF-8?q?=E5=8A=A8=E5=88=B0=E4=BE=A7=E8=BE=B9=E6=A0=8F=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../canvas/components/Editor/index.vue | 10 - .../components/canvas/components/Toolbar.vue | 6 +- .../canvas/custom-component/component-list.js | 15 +- frontend/src/styles/deicon/demo.css | 539 ++++++++++++++++ frontend/src/styles/deicon/demo_index.html | 602 ++++++++++++++++++ frontend/src/styles/deicon/iconfont.css | 24 +- frontend/src/styles/deicon/iconfont.eot | Bin 6724 -> 0 bytes frontend/src/styles/deicon/iconfont.js | 1 + frontend/src/styles/deicon/iconfont.json | 135 ++++ frontend/src/styles/deicon/iconfont.ttf | Bin 6556 -> 7556 bytes frontend/src/styles/deicon/iconfont.woff | Bin 4152 -> 4704 bytes frontend/src/styles/deicon/iconfont.woff2 | Bin 3360 -> 3832 bytes .../src/views/panel/AssistComponent/index.vue | 82 ++- 13 files changed, 1389 insertions(+), 25 deletions(-) create mode 100644 frontend/src/styles/deicon/demo.css create mode 100644 frontend/src/styles/deicon/demo_index.html delete mode 100644 frontend/src/styles/deicon/iconfont.eot create mode 100644 frontend/src/styles/deicon/iconfont.js create mode 100644 frontend/src/styles/deicon/iconfont.json diff --git a/frontend/src/components/canvas/components/Editor/index.vue b/frontend/src/components/canvas/components/Editor/index.vue index a10a64e971..b30a605ff2 100644 --- a/frontend/src/components/canvas/components/Editor/index.vue +++ b/frontend/src/components/canvas/components/Editor/index.vue @@ -64,16 +64,6 @@ :element="item" :out-style="getShapeStyleInt(item.style)" /> - diff --git a/frontend/src/components/canvas/components/Toolbar.vue b/frontend/src/components/canvas/components/Toolbar.vue index 430c970e6f..5f58da1044 100644 --- a/frontend/src/components/canvas/components/Toolbar.vue +++ b/frontend/src/components/canvas/components/Toolbar.vue @@ -41,9 +41,9 @@ - - - + + + diff --git a/frontend/src/components/canvas/custom-component/component-list.js b/frontend/src/components/canvas/custom-component/component-list.js index afd70add33..6d30085a98 100644 --- a/frontend/src/components/canvas/custom-component/component-list.js +++ b/frontend/src/components/canvas/custom-component/component-list.js @@ -17,7 +17,7 @@ export const assistList = [ component: 'v-text', type: 'v-text', label: '文字', - icon: 'iconfont icon-shuru', + icon: 'iconfont icon-text', defaultClass: 'text-filter' }, { @@ -25,7 +25,18 @@ export const assistList = [ component: 'rect-shape', type: 'rect-shape', label: '矩形', - icon: 'iconfont icon-xialakuang', + icon: 'iconfont icon-juxing', + defaultClass: 'text-filter' + } +] + +export const pictureList = [ + { + id: '20001', + component: 'picture', + type: 'picture', + label: '点击上传', + icon: 'iconfont icon-picture', defaultClass: 'text-filter' } ] diff --git a/frontend/src/styles/deicon/demo.css b/frontend/src/styles/deicon/demo.css new file mode 100644 index 0000000000..a67054a0a0 --- /dev/null +++ b/frontend/src/styles/deicon/demo.css @@ -0,0 +1,539 @@ +/* Logo 字体 */ +@font-face { + font-family: "iconfont logo"; + src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834'); + src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834#iefix') format('embedded-opentype'), + url('https://at.alicdn.com/t/font_985780_km7mi63cihi.woff?t=1545807318834') format('woff'), + url('https://at.alicdn.com/t/font_985780_km7mi63cihi.ttf?t=1545807318834') format('truetype'), + url('https://at.alicdn.com/t/font_985780_km7mi63cihi.svg?t=1545807318834#iconfont') format('svg'); +} + +.logo { + font-family: "iconfont logo"; + font-size: 160px; + font-style: normal; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +/* tabs */ +.nav-tabs { + position: relative; +} + +.nav-tabs .nav-more { + position: absolute; + right: 0; + bottom: 0; + height: 42px; + line-height: 42px; + color: #666; +} + +#tabs { + border-bottom: 1px solid #eee; +} + +#tabs li { + cursor: pointer; + width: 100px; + height: 40px; + line-height: 40px; + text-align: center; + font-size: 16px; + border-bottom: 2px solid transparent; + position: relative; + z-index: 1; + margin-bottom: -1px; + color: #666; +} + + +#tabs .active { + border-bottom-color: #f00; + color: #222; +} + +.tab-container .content { + display: none; +} + +/* 页面布局 */ +.main { + padding: 30px 100px; + width: 960px; + margin: 0 auto; +} + +.main .logo { + color: #333; + text-align: left; + margin-bottom: 30px; + line-height: 1; + height: 110px; + margin-top: -50px; + overflow: hidden; + *zoom: 1; +} + +.main .logo a { + font-size: 160px; + color: #333; +} + +.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; + overflow: hidden; + *zoom: 1; +} + +.icon_lists li { + width: 100px; + margin-bottom: 10px; + margin-right: 20px; + text-align: center; + list-style: none !important; + cursor: default; +} + +.icon_lists li .code-name { + line-height: 1.2; +} + +.icon_lists .icon { + display: block; + height: 100px; + line-height: 100px; + font-size: 42px; + margin: 10px auto; + color: #333; + -webkit-transition: font-size 0.25s linear, width 0.25s linear; + -moz-transition: font-size 0.25s linear, width 0.25s linear; + transition: font-size 0.25s linear, width 0.25s linear; +} + +.icon_lists .icon:hover { + font-size: 100px; +} + +.icon_lists .svg-icon { + /* 通过设置 font-size 来改变图标大小 */ + width: 1em; + /* 图标和文字相邻时,垂直对齐 */ + vertical-align: -0.15em; + /* 通过设置 color 来改变 SVG 的颜色/fill */ + fill: currentColor; + /* path 和 stroke 溢出 viewBox 部分在 IE 下会显示 + normalize.css 中也包含这行 */ + overflow: hidden; +} + +.icon_lists li .name, +.icon_lists li .code-name { + color: #666; +} + +/* markdown 样式 */ +.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 { + 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 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; +} + +.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; +} + +/* 代码高亮 */ +/* PrismJS 1.15.0 +https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript */ +/** + * prism.js default theme for JavaScript, CSS and HTML + * Based on dabblet (http://dabblet.com) + * @author Lea Verou + */ +code[class*="language-"], +pre[class*="language-"] { + color: black; + background: none; + text-shadow: 0 1px white; + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} + +pre[class*="language-"]::-moz-selection, +pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, +code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #b3d4fc; +} + +pre[class*="language-"]::selection, +pre[class*="language-"] ::selection, +code[class*="language-"]::selection, +code[class*="language-"] ::selection { + text-shadow: none; + background: #b3d4fc; +} + +@media print { + + code[class*="language-"], + pre[class*="language-"] { + text-shadow: none; + } +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +:not(pre)>code[class*="language-"], +pre[class*="language-"] { + background: #f5f2f0; +} + +/* Inline code */ +:not(pre)>code[class*="language-"] { + padding: .1em; + border-radius: .3em; + white-space: normal; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: slategray; +} + +.token.punctuation { + color: #999; +} + +.namespace { + opacity: .7; +} + +.token.property, +.token.tag, +.token.boolean, +.token.number, +.token.constant, +.token.symbol, +.token.deleted { + color: #905; +} + +.token.selector, +.token.attr-name, +.token.string, +.token.char, +.token.builtin, +.token.inserted { + color: #690; +} + +.token.operator, +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #9a6e3a; + background: hsla(0, 0%, 100%, .5); +} + +.token.atrule, +.token.attr-value, +.token.keyword { + color: #07a; +} + +.token.function, +.token.class-name { + color: #DD4A68; +} + +.token.regex, +.token.important, +.token.variable { + color: #e90; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.italic { + font-style: italic; +} + +.token.entity { + cursor: help; +} diff --git a/frontend/src/styles/deicon/demo_index.html b/frontend/src/styles/deicon/demo_index.html new file mode 100644 index 0000000000..0185d772da --- /dev/null +++ b/frontend/src/styles/deicon/demo_index.html @@ -0,0 +1,602 @@ + + + + + iconfont Demo + + + + + + + + + + + + + +
+

+ + +

+ +
+
+
    + +
  • + +
    矩形
    +
    &#xe648;
    +
  • + +
  • + +
    text
    +
    &#xe959;
    +
  • + +
  • + +
    picture
    +
    &#xe643;
    +
  • + +
  • + +
    输入
    +
    &#xe6ab;
    +
  • + +
  • + +
    +
    &#xe628;
    +
  • + +
  • + +
    查询搜索
    +
    &#xe615;
    +
  • + +
  • + +
    季度
    +
    &#xe624;
    +
  • + +
  • + +
    数字顺序
    +
    &#xe7de;
    +
  • + +
  • + +
    树列表
    +
    &#xe6a6;
    +
  • + +
  • + +
    日期
    +
    &#xe639;
    +
  • + +
  • + +
    左侧-区间
    +
    &#xe6dd;
    +
  • + +
  • + +
    列表
    +
    &#xe66f;
    +
  • + +
  • + +
    下拉框
    +
    &#xe8ca;
    +
  • + +
  • + +
    下拉树
    +
    &#xe8d0;
    +
  • + +
  • + +
    重置
    +
    &#xe611;
    +
  • + +
  • + +
    +
    &#xe691;
    +
  • + +
  • + +
    +
    &#xe692;
    +
  • + +
  • + +
    +
    &#xe695;
    +
  • + +
+
+

Unicode 引用

+
+ +

Unicode 是字体在网页端最原始的应用方式,特点是:

+
    +
  • 支持按字体的方式去动态调整图标大小,颜色等等。
  • +
  • 默认情况下不支持多色,直接添加多色图标会自动去色。
  • +
+
+

注意:新版 iconfont 支持两种方式引用多色图标:SVG symbol 引用方式和彩色字体图标模式。(使用彩色字体图标需要在「编辑项目」中开启「彩色」选项后并重新生成。)

+
+

Unicode 使用步骤如下:

+

第一步:拷贝项目下面生成的 @font-face

+
@font-face {
+  font-family: 'iconfont';
+  src: url('iconfont.woff2?t=1623984849135') format('woff2'),
+       url('iconfont.woff?t=1623984849135') format('woff'),
+       url('iconfont.ttf?t=1623984849135') format('truetype');
+}
+
+

第二步:定义使用 iconfont 的样式

+
.iconfont {
+  font-family: "iconfont" !important;
+  font-size: 16px;
+  font-style: normal;
+  -webkit-font-smoothing: antialiased;
+  -moz-osx-font-smoothing: grayscale;
+}
+
+

第三步:挑选相应图标并获取字体编码,应用于页面

+
+<span class="iconfont">&#x33;</span>
+
+
+

"iconfont" 是你项目下的 font-family。可以通过编辑项目查看,默认是 "iconfont"。

+
+
+
+
+
    + +
  • + +
    + 矩形 +
    +
    .icon-juxing +
    +
  • + +
  • + +
    + text +
    +
    .icon-text +
    +
  • + +
  • + +
    + picture +
    +
    .icon-picture +
    +
  • + +
  • + +
    + 输入 +
    +
    .icon-shuru +
    +
  • + +
  • + +
    + 树 +
    +
    .icon-tree +
    +
  • + +
  • + +
    + 查询搜索 +
    +
    .icon-chaxunsousuo +
    +
  • + +
  • + +
    + 季度 +
    +
    .icon-jidu +
    +
  • + +
  • + +
    + 数字顺序 +
    +
    .icon-shuzishunxu +
    +
  • + +
  • + +
    + 树列表 +
    +
    .icon-Group- +
    +
  • + +
  • + +
    + 日期 +
    +
    .icon-riqi +
    +
  • + +
  • + +
    + 左侧-区间 +
    +
    .icon-zuoce-qujian +
    +
  • + +
  • + +
    + 列表 +
    +
    .icon-liebiao +
    +
  • + +
  • + +
    + 下拉框 +
    +
    .icon-xialakuang +
    +
  • + +
  • + +
    + 下拉树 +
    +
    .icon-xialashu +
    +
  • + +
  • + +
    + 重置 +
    +
    .icon-zhongzhi +
    +
  • + +
  • + +
    + 日 +
    +
    .icon-ri +
    +
  • + +
  • + +
    + 年 +
    +
    .icon-nian +
    +
  • + +
  • + +
    + 月 +
    +
    .icon-yue +
    +
  • + +
+
+

font-class 引用

+
+ +

font-class 是 Unicode 使用方式的一种变种,主要是解决 Unicode 书写不直观,语意不明确的问题。

+

与 Unicode 使用方式相比,具有如下特点:

+
    +
  • 相比于 Unicode 语意明确,书写更直观。可以很容易分辨这个 icon 是什么。
  • +
  • 因为使用 class 来定义图标,所以当要替换图标时,只需要修改 class 里面的 Unicode 引用。
  • +
+

使用步骤如下:

+

第一步:引入项目下面生成的 fontclass 代码:

+
<link rel="stylesheet" href="./iconfont.css">
+
+

第二步:挑选相应图标并获取类名,应用于页面:

+
<span class="iconfont icon-xxx"></span>
+
+
+

" + iconfont" 是你项目下的 font-family。可以通过编辑项目查看,默认是 "iconfont"。

+
+
+
+
+
    + +
  • + +
    矩形
    +
    #icon-juxing
    +
  • + +
  • + +
    text
    +
    #icon-text
    +
  • + +
  • + +
    picture
    +
    #icon-picture
    +
  • + +
  • + +
    输入
    +
    #icon-shuru
    +
  • + +
  • + +
    +
    #icon-tree
    +
  • + +
  • + +
    查询搜索
    +
    #icon-chaxunsousuo
    +
  • + +
  • + +
    季度
    +
    #icon-jidu
    +
  • + +
  • + +
    数字顺序
    +
    #icon-shuzishunxu
    +
  • + +
  • + +
    树列表
    +
    #icon-Group-
    +
  • + +
  • + +
    日期
    +
    #icon-riqi
    +
  • + +
  • + +
    左侧-区间
    +
    #icon-zuoce-qujian
    +
  • + +
  • + +
    列表
    +
    #icon-liebiao
    +
  • + +
  • + +
    下拉框
    +
    #icon-xialakuang
    +
  • + +
  • + +
    下拉树
    +
    #icon-xialashu
    +
  • + +
  • + +
    重置
    +
    #icon-zhongzhi
    +
  • + +
  • + +
    +
    #icon-ri
    +
  • + +
  • + +
    +
    #icon-nian
    +
  • + +
  • + +
    +
    #icon-yue
    +
  • + +
+
+

Symbol 引用

+
+ +

这是一种全新的使用方式,应该说这才是未来的主流,也是平台目前推荐的用法。相关介绍可以参考这篇文章 + 这种用法其实是做了一个 SVG 的集合,与另外两种相比具有如下特点:

+
    +
  • 支持多色图标了,不再受单色限制。
  • +
  • 通过一些技巧,支持像字体那样,通过 font-size, color 来调整样式。
  • +
  • 兼容性较差,支持 IE9+,及现代浏览器。
  • +
  • 浏览器渲染 SVG 的性能一般,还不如 png。
  • +
+

使用步骤如下:

+

第一步:引入项目下面生成的 symbol 代码:

+
<script src="./iconfont.js"></script>
+
+

第二步:加入通用 CSS 代码(引入一次就行):

+
<style>
+.icon {
+  width: 1em;
+  height: 1em;
+  vertical-align: -0.15em;
+  fill: currentColor;
+  overflow: hidden;
+}
+</style>
+
+

第三步:挑选相应图标并获取类名,应用于页面:

+
<svg class="icon" aria-hidden="true">
+  <use xlink:href="#icon-xxx"></use>
+</svg>
+
+
+
+ +
+
+ + + diff --git a/frontend/src/styles/deicon/iconfont.css b/frontend/src/styles/deicon/iconfont.css index 4388484f5b..800a45892e 100644 --- a/frontend/src/styles/deicon/iconfont.css +++ b/frontend/src/styles/deicon/iconfont.css @@ -1,10 +1,8 @@ -@font-face {font-family: "iconfont"; - src: url('iconfont.eot?t=1617248036081'); /* IE9 */ - src: url('iconfont.eot?t=1617248036081#iefix') format('embedded-opentype'), /* IE6-IE8 */ - url('data:application/x-font-woff2;charset=utf-8;base64,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') format('woff2'), - url('iconfont.woff?t=1617248036081') format('woff'), - url('iconfont.ttf?t=1617248036081') format('truetype') /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */ - /*url('/@/icons/svg/iconfont.svg?t=1617248036081#iconfont') format('svg'); !* iOS 4.1- *!*/ +@font-face { + font-family: "iconfont"; /* Project id 2459092 */ + src: url('iconfont.woff2?t=1623984849135') format('woff2'), + url('iconfont.woff?t=1623984849135') format('woff'), + url('iconfont.ttf?t=1623984849135') format('truetype'); } .iconfont { @@ -15,6 +13,18 @@ -moz-osx-font-smoothing: grayscale; } +.icon-juxing:before { + content: "\e648"; +} + +.icon-text:before { + content: "\e959"; +} + +.icon-picture:before { + content: "\e643"; +} + .icon-shuru:before { content: "\e6ab"; } diff --git a/frontend/src/styles/deicon/iconfont.eot b/frontend/src/styles/deicon/iconfont.eot deleted file mode 100644 index 1f8b8d072d06e0b60477de3ffdc0b751c98c4d9e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6724 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 JaK6Ua{{U<}S402+ diff --git a/frontend/src/styles/deicon/iconfont.js b/frontend/src/styles/deicon/iconfont.js new file mode 100644 index 0000000000..c5ccd4d7c0 --- /dev/null +++ b/frontend/src/styles/deicon/iconfont.js @@ -0,0 +1 @@ +!function(c){var h,a,l,v,t,o,i='',e=(e=document.getElementsByTagName("script"))[e.length-1].getAttribute("data-injectcss");if(e&&!c.__iconfont__svg__cssinject__){c.__iconfont__svg__cssinject__=!0;try{document.write("")}catch(c){console&&console.log(c)}}function z(){t||(t=!0,l())}h=function(){var c,h,a;(a=document.createElement("div")).innerHTML=i,i=null,(h=a.getElementsByTagName("svg")[0])&&(h.setAttribute("aria-hidden","true"),h.style.position="absolute",h.style.width=0,h.style.height=0,h.style.overflow="hidden",c=h,(a=document.body).firstChild?(h=a.firstChild).parentNode.insertBefore(c,h):a.appendChild(c))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(h,0):(a=function(){document.removeEventListener("DOMContentLoaded",a,!1),h()},document.addEventListener("DOMContentLoaded",a,!1)):document.attachEvent&&(l=h,v=c.document,t=!1,(o=function(){try{v.documentElement.doScroll("left")}catch(c){return void setTimeout(o,50)}z()})(),v.onreadystatechange=function(){"complete"==v.readyState&&(v.onreadystatechange=null,z())})}(window); \ No newline at end of file diff --git a/frontend/src/styles/deicon/iconfont.json b/frontend/src/styles/deicon/iconfont.json new file mode 100644 index 0000000000..e9ce984096 --- /dev/null +++ b/frontend/src/styles/deicon/iconfont.json @@ -0,0 +1,135 @@ +{ + "id": "2459092", + "name": "DataEase", + "font_family": "iconfont", + "css_prefix_text": "icon-", + "description": "", + "glyphs": [ + { + "icon_id": "2404485", + "name": "矩形", + "font_class": "juxing", + "unicode": "e648", + "unicode_decimal": 58952 + }, + { + "icon_id": "924549", + "name": "text", + "font_class": "text", + "unicode": "e959", + "unicode_decimal": 59737 + }, + { + "icon_id": "5994104", + "name": "picture", + "font_class": "picture", + "unicode": "e643", + "unicode_decimal": 58947 + }, + { + "icon_id": "4016505", + "name": "输入", + "font_class": "shuru", + "unicode": "e6ab", + "unicode_decimal": 59051 + }, + { + "icon_id": "16852593", + "name": "树", + "font_class": "tree", + "unicode": "e628", + "unicode_decimal": 58920 + }, + { + "icon_id": "17407748", + "name": "查询搜索", + "font_class": "chaxunsousuo", + "unicode": "e615", + "unicode_decimal": 58901 + }, + { + "icon_id": "1281301", + "name": "季度", + "font_class": "jidu", + "unicode": "e624", + "unicode_decimal": 58916 + }, + { + "icon_id": "4553739", + "name": "数字顺序", + "font_class": "shuzishunxu", + "unicode": "e7de", + "unicode_decimal": 59358 + }, + { + "icon_id": "4685765", + "name": "树列表", + "font_class": "Group-", + "unicode": "e6a6", + "unicode_decimal": 59046 + }, + { + "icon_id": "4770736", + "name": "日期", + "font_class": "riqi", + "unicode": "e639", + "unicode_decimal": 58937 + }, + { + "icon_id": "4878484", + "name": "左侧-区间", + "font_class": "zuoce-qujian", + "unicode": "e6dd", + "unicode_decimal": 59101 + }, + { + "icon_id": "6056156", + "name": "列表", + "font_class": "liebiao", + "unicode": "e66f", + "unicode_decimal": 58991 + }, + { + "icon_id": "10907065", + "name": "下拉框", + "font_class": "xialakuang", + "unicode": "e8ca", + "unicode_decimal": 59594 + }, + { + "icon_id": "10908304", + "name": "下拉树", + "font_class": "xialashu", + "unicode": "e8d0", + "unicode_decimal": 59600 + }, + { + "icon_id": "12978136", + "name": "重置", + "font_class": "zhongzhi", + "unicode": "e611", + "unicode_decimal": 58897 + }, + { + "icon_id": "16197990", + "name": "日", + "font_class": "ri", + "unicode": "e691", + "unicode_decimal": 59025 + }, + { + "icon_id": "16197997", + "name": "年", + "font_class": "nian", + "unicode": "e692", + "unicode_decimal": 59026 + }, + { + "icon_id": "16198002", + "name": "月", + "font_class": "yue", + "unicode": "e695", + "unicode_decimal": 59029 + } + ] +} diff --git a/frontend/src/styles/deicon/iconfont.ttf b/frontend/src/styles/deicon/iconfont.ttf index a5fbbee4bbc27afc23ed5aee3c326a8f8c425bb6..ecd3c9b6b1a24724cb6db4850199035667a74da3 100644 GIT binary patch literal 7556 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 UM|O|%>2Y}y%+ldmc%h8_50EALw*UYD literal 6556 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 diff --git a/frontend/src/styles/deicon/iconfont.woff b/frontend/src/styles/deicon/iconfont.woff index 30a8ef78680a9ee15f2d74393bc589f6f7db3abc..05fa75f07e4afba9c7c3cd0218b2ddfc9fb186a8 100644 GIT binary patch delta 4377 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 LwLqaI5a|B^(LOK$ delta 3821 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 diff --git a/frontend/src/styles/deicon/iconfont.woff2 b/frontend/src/styles/deicon/iconfont.woff2 index 06b9a5132ba2b349d9515cfe1066dde87e83ea17..ed0a74539da03138ec5f9033808a8a1130f8e67f 100644 GIT binary patch literal 3832 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 literal 3360 zcmV+*4d3#2Pew8T0RR9101Y4j3jhEB02!PB01VRr0RR9100000000000000000000 z0000SLIzd3Z3lrk8wM3KgTlrE1SsB-?7uwVh78D| zFF>ML!x|@4BOs0|{miP`gcw`WBO!eC>-6vWdYySc80ke`Q$>RL91s7$-?x3B4d zd;(6Do`&$uOHw68lEM%7-G{LG1$V?t+d7E-iJja*{4_`ZUpB41gh9RQlxL^^)xM0(~POuTx}mvmpRtJ zgbR53sCvpN8=^zqR@JPV#Y1)V;#P4U5B%>RzpO-^LM3qywCB{;39Dbp?j=(iucdX2 zJ&MjoButTsciQ^5Acc79YfT-WJppF)#gFfP9grrPYMC!}$g~ao{q4*5*WcfiW2&J2 zN}ZR(j9YeYZ?q*@p{AjutEal3{==(iY7tdjYb*U#YM{qgQiAq~2mlg@DL@8M02Ck| z05y;@fCflAKnJ7)pbOFsWjSOuKow*IK!DswE_J>=$fd&fv!Lk{E&Q}VU(Gs)i&Xwo zr3}JlL91#)Xx2B>Q@wRPiI2!|^dSXt?GlzF5O#=#8F5^R8Kd;(vF3D2(HM$|Pf%F1 zdP74(wCJO#F(^yOH33B7mD4Ee8R+vF6beDI*+zzX6mAp%^YUvHG?EmmCgY~lae>wM zq7TEb!r;f1(VCx-=a3-~8ue!2fgcd?)F6%-DSp>W`gWlGtY^Bfc=<4zeRs0A>UQ9I zvX*v}{;SkJGaNUZoxw1G8Ok%`BYtF>lVc=V|1p>Slu#@Gm zOxDE4g`%Ny)gJz8#q?y;4RrO3CR(+g5+VcFMQUKs8<~mJuO+p;wQwDdWOCi4OiF4N z`sf%9U$7NVYDyOB0@Y<^JVXm?d}hw3lz&apnGAs4b19HVh_d60WSRJ zdJ*SJ6?#gehl3D~IxT2dPvJ@t5B1omoX)&e|NMJUu-Por~+>+)D6VVo` zTp2FyPAyBGB%5I-wj1q;JD{M|9=*_m&v;r$N;SG}$>v_^wrg?uQ%=<|f5L$nwL-$5j zHr-#;Jo<1pQPX>A*Yw!mblcq>!_2Vg=tKM9t*wwdHa~E_>{XPi&a~jZ{WT-Z+`vXDiS9MhMgO&KHT%A4 zw(9z-L8l=l$|2dZ_EIdZxr7<%*H(4NPeZWvbF1#pUTu9Dt$F^%Rp0sOp=<&ljWfSY z$N?j<58m4lpy&r&p%@tgJswq4j`t}8{d)NRDB#17M^((OQ^%-r(B!)j|!Q7buvb$fQ5py=qZ z??39Tz>Xf(BOdP$7p)!YzXqtXmynQMhW4$T{#Tgi-@RytwUkW0zFDk#@ThO%pJ%*} zV3lX|-oB%^x4NbkTaN*`eSb9O$dMTI@IYGTThC`WY~4BPbM2bXp54hkbans@&c%Zbf^=M6kU=oV*i*AD!J~^rqQ?n0 z;W%S~@c$9I*_;T@Y@NT-8i6k!j7JbbI$vE75fLB4{qIK*VR#Jjmk7bbh+s~Nwu&?t zxN1P2J4cd$AiOil6@E%Xr4lGx|58iSdf^AV4ZEb>v;W`rTHwZ?6w^GRO=eI~yuQbG z(!-ifb0rmm%A6C0_C?m$eS%W`GPw80Pd-@X0Qz5$K->$iI)6th#V`xK&VeD?41s_V znTZ|OC)fe>@z39yTbS^7xMw5)?HbD}*^=qFkuD79a;DEUnwLT0)rs}>DN+g5seWe_ zrkugXACKQdck)(^JYm_`8txQZR9UXk0?$rEW%vrd^VIK;@{{)K3ntKEL{6e!q6yS; zPf7#UzE~GacWy5pN~Vk57!CrMA`cMB`mJWF@(L`cUVRmM3D&1^787jtb?f7OOFwqf z3FWGuC%|5m!C?ic?2TCq(rH4$0%S4OiOzTCc0lL^p%V>JZug16KO!_3yLBQfJV;tt zXxg=d%@RpLm_=mh$c-JQ_yigiC2{`+hBgcu%urvJ;9fKa%-A*}!38*=6$nI!a6XR# zv$QN1`OAsUx8b2q9%oAg)G>9A`c53<#7}%vI%qR!_`^2aA;pZ!U@BuU zC&$Hl!qMV`kR53fvUTFT(8vyzz2`_0}=f~8|PBu52bnxDVp_t1|+%1Mq! zJ@+Gi|E?T7B3_|4vk08U(HL?JoFyi_pa)6jPfjxKBzn$@NnE`)~G(#-Wa7$(4Zlt zB)dUf7~R-@Ox@_Oy`Ox3q@TZDvCcKDZ{rUr`U96oRJkz1FIyFF#xaXuxoiQYMq1rI zj#ZMdg6wPtp(KtAk^^_JKT1Aoo(4#OYx(co+*WA>3g^t6nGNMY$^qxZ$H;*!Bc(TU zb7zTwXx$6|#jM{;(NK0a6y=H>N4I4$o7t92=cFtk0b7S#YW-99fz7Gr!`7CQc`D&x z|1)ie#asQhE2zum5nFLn;qpY$HDNIAW0~TaVrF_$VoXeko9z6|<(Vrko-Yf$m-}?F zyIgcP6>3G%=H*UQQIV@zz14LqTfN0~i;UR3+34zW!&U9NjC<6}2%e(A(B5!BeX$~7 z!7CUaLtVG%HUPiKXhJ%0=4d3XU>~QrP+zF^O)TV=FVhs@=oT8loc$r z9%rqn*6l>}BKc)JdI4Lbsnyp!(6Dp0>pLe0y`PxeHZg9OxBvR{r{1=`J@2;ZE^V#; zdi^@ByEc!#p0c`=%FZ3V%h-e-QaNpfRCiFZZu(Mmzj!ZtkhqP4J=ErqcG};o?$d2ca`y~LgT`F#^Yu!h*phUE(&w$FD%L} z0#$iu=9PdaWsWlLsk8-=p(IV1|n|EqyV=Qch? z`T-!FhF`GQoA9^2T!(c4l>fK{5duI4Kh;G)gP-GjHUy=9*jDl$uOJ1z$GneZ@cJx( zucp<1AM=6E!Q#p^-1{4Y`HSSWPxI1E1eAt;=3@ZV!9Yj-ub~oe$m43q)u#-vk5sIs z_Mtq0_ZEPr`vCACqj?A(EK{G5)jv48AVvi`J(Mt*3OUpURWLcDDh5B)WDUYLZsCDS zfPgXzfMqa)AqWAsAQ;CHgdo5L5h6nGBPtr1_`TxAA$GQB=Xnn)(0s{uFiSOO=Uf1-4dn>CY+#TDZgpH4ys qimeQ&(``WLP}9SK`33DoCwCV~bw=EsdP
-
样式组件
+
样式
@@ -24,17 +24,48 @@
+
+
+
+ 图片 +
+
+ +
+
+
+ +
+
{{ item.label }}
+
+
+
+ + +