提交 17dd2dbe authored 作者: wangjiahao's avatar wangjiahao

feat: 更换其他组件图标 将上传图片组件 移动到侧边栏中

上级 f2f698b2
......@@ -64,16 +64,6 @@
:element="item"
:out-style="getShapeStyleInt(item.style)"
/>
<!-- <component
:is="item.component"
v-else
:id="'component' + item.id"
class="component"
:style="getComponentStyle(item.style)"
:prop-value="item.propValue"
:element="item"
@input="handleInput"
/> -->
</de-drag>
<!-- 右击菜单 -->
<ContextMenu />
......
......@@ -41,9 +41,9 @@
<el-tooltip :content="$t('panel.redo') ">
<el-button class="el-icon-refresh-left" size="mini" circle @click="redo" />
</el-tooltip>
<el-tooltip :content="$t('panel.insert_picture') ">
<el-button class="el-icon-upload" size="mini" circle @click="goFile" />
</el-tooltip>
<!-- <el-tooltip :content="$t('panel.insert_picture') ">-->
<!-- <el-button class="el-icon-upload" size="mini" circle @click="goFile" />-->
<!-- </el-tooltip>-->
<el-tooltip :content="$t('panel.clean_canvas')" style="margin-right: 10px">
<el-button class="el-icon-document-delete" size="mini" circle @click="clearCanvas" />
</el-tooltip>
......
......@@ -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'
}
]
......
/* 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;
}
差异被折叠。
@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";
}
......
差异被折叠。
{
"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
}
]
}
......@@ -4,7 +4,7 @@
<div class="widget-subject">
<div class="filter-header">
<div class="filter-header-text"> 样式组件 </div>
<div class="filter-header-text"> 样式 </div>
</div>
<div class="filter-widget-content">
......@@ -24,17 +24,48 @@
</div>
</div>
<div class="widget-subject">
<div class="filter-header">
<div class="filter-header-text">
<span>图片</span>
</div>
</div>
<div class="filter-widget-content">
<div
v-for="(item, index) in pictureList"
:key="index"
:data-id="item.id"
:data-index="index"
:class="'filter-widget '+ (item.defaultClass || '')"
@click="goFile"
>
<div class="filter-widget-icon">
<i :class="(item.icon || 'el-icon-setting') + ' widget-icon-i'" />
</div>
<div class="filter-widget-text">{{ item.label }}</div>
</div>
</div>
</div>
<input id="input" ref="files" type="file" hidden @change="handleFileChange">
</div>
</template>
<script>
import { assistList } from '@/components/canvas/custom-component/component-list'
import { assistList, pictureList } from '@/components/canvas/custom-component/component-list'
import toast from '@/components/canvas/utils/toast'
import { commonStyle, commonAttr } from '@/components/canvas/custom-component/component-list'
import generateID from '@/components/canvas/utils/generateID'
export default {
name: 'FilterGroup',
data() {
return {
assistList
assistList,
pictureList
}
},
......@@ -46,6 +77,51 @@ export default {
id: ev.target.dataset.id
}
ev.dataTransfer.setData('componentInfo', JSON.stringify(dataTrans))
},
goFile() {
this.$refs.files.click()
},
handleFileChange(e) {
const file = e.target.files[0]
if (!file.type.includes('image')) {
toast('只能插入图片')
return
}
const reader = new FileReader()
reader.onload = (res) => {
const fileResult = res.target.result
const img = new Image()
img.onload = () => {
const scaleWith = img.width / 400
const scaleHeight = img.height / 200
let scale = scaleWith > scaleHeight ? scaleWith : scaleHeight
scale = scale > 1 ? scale : 1
this.$store.commit('addComponent', {
component: {
...commonAttr,
id: generateID(),
component: 'Picture',
label: '图片',
icon: '',
propValue: fileResult,
style: {
...commonStyle,
top: 0,
left: 500,
width: img.width / scale,
height: img.height / scale
}
}
})
this.$store.commit('recordSnapshot')
}
img.src = fileResult
}
reader.readAsDataURL(file)
}
}
}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论