Commit affdbaa6 by zhaopanyu

zpy 12.19

parent cc54d61f
...@@ -1428,6 +1428,7 @@ export default { ...@@ -1428,6 +1428,7 @@ export default {
margin-top: -2px; margin-top: -2px;
margin-bottom: -5px; margin-bottom: -5px;
} */ } */
.custom-margin { .custom-margin {
margin: -6px 0px; margin: -6px 0px;
} }
......
...@@ -727,7 +727,7 @@ export default { ...@@ -727,7 +727,7 @@ export default {
} }
</script> </script>
<style> <style scoped>
.el-form-item { .el-form-item {
margin-bottom: 0; margin-bottom: 0;
} }
......
...@@ -1023,7 +1023,7 @@ export default { ...@@ -1023,7 +1023,7 @@ export default {
</script> </script>
<style> <style scoped>
.el-form-item { .el-form-item {
margin-bottom: 0; margin-bottom: 0;
} }
......
...@@ -727,7 +727,7 @@ export default { ...@@ -727,7 +727,7 @@ export default {
} }
</script> </script>
<style> <style scoped>
.el-form-item { .el-form-item {
margin-bottom: 0; margin-bottom: 0;
} }
......
...@@ -1007,7 +1007,7 @@ export default { ...@@ -1007,7 +1007,7 @@ export default {
</script> </script>
<style> <style scoped>
.el-form-item { .el-form-item {
margin-bottom: 0; margin-bottom: 0;
} }
......
...@@ -11,19 +11,11 @@ ...@@ -11,19 +11,11 @@
<div class="components-title"> <div class="components-title">
<svg-icon icon-class="component" />输入型组件 <svg-icon icon-class="component" />输入型组件
</div> </div>
<draggable <draggable class="components-draggable" :list="inputComponents"
class="components-draggable" :group="{ name: 'componentsGroup', pull: 'clone', put: false }" :clone="cloneComponent"
:list="inputComponents" draggable=".components-item" :sort="false" @end="onEnd">
:group="{ name: 'componentsGroup', pull: 'clone', put: false }" <div v-for="(element, index) in inputComponents" :key="index" class="components-item"
:clone="cloneComponent" @click="addComponent(element)">
draggable=".components-item"
:sort="false"
@end="onEnd"
>
<div
v-for="(element, index) in inputComponents" :key="index" class="components-item"
@click="addComponent(element)"
>
<div class="components-body"> <div class="components-body">
<svg-icon :icon-class="element.tagIcon" /> <svg-icon :icon-class="element.tagIcon" />
{{ element.label }} {{ element.label }}
...@@ -33,21 +25,11 @@ ...@@ -33,21 +25,11 @@
<div class="components-title"> <div class="components-title">
<svg-icon icon-class="component" />选择型组件 <svg-icon icon-class="component" />选择型组件
</div> </div>
<draggable <draggable class="components-draggable" :list="selectComponents"
class="components-draggable" :group="{ name: 'componentsGroup', pull: 'clone', put: false }" :clone="cloneComponent"
:list="selectComponents" draggable=".components-item" :sort="false" @end="onEnd">
:group="{ name: 'componentsGroup', pull: 'clone', put: false }" <div v-for="(element, index) in selectComponents" :key="index" class="components-item"
:clone="cloneComponent" @click="addComponent(element)">
draggable=".components-item"
:sort="false"
@end="onEnd"
>
<div
v-for="(element, index) in selectComponents"
:key="index"
class="components-item"
@click="addComponent(element)"
>
<div class="components-body"> <div class="components-body">
<svg-icon :icon-class="element.tagIcon" /> <svg-icon :icon-class="element.tagIcon" />
{{ element.label }} {{ element.label }}
...@@ -57,15 +39,11 @@ ...@@ -57,15 +39,11 @@
<div class="components-title"> <div class="components-title">
<svg-icon icon-class="component" /> 布局型组件 <svg-icon icon-class="component" /> 布局型组件
</div> </div>
<draggable <draggable class="components-draggable" :list="layoutComponents"
class="components-draggable" :list="layoutComponents"
:group="{ name: 'componentsGroup', pull: 'clone', put: false }" :clone="cloneComponent" :group="{ name: 'componentsGroup', pull: 'clone', put: false }" :clone="cloneComponent"
draggable=".components-item" :sort="false" @end="onEnd" draggable=".components-item" :sort="false" @end="onEnd">
> <div v-for="(element, index) in layoutComponents" :key="index" class="components-item"
<div @click="addComponent(element)">
v-for="(element, index) in layoutComponents" :key="index" class="components-item"
@click="addComponent(element)"
>
<div class="components-body"> <div class="components-body">
<svg-icon :icon-class="element.tagIcon" /> <svg-icon :icon-class="element.tagIcon" />
{{ element.label }} {{ element.label }}
...@@ -90,25 +68,12 @@ ...@@ -90,25 +68,12 @@
</div> </div>
<el-scrollbar class="center-scrollbar"> <el-scrollbar class="center-scrollbar">
<el-row class="center-board-row" :gutter="formConf.gutter"> <el-row class="center-board-row" :gutter="formConf.gutter">
<el-form <el-form :size="formConf.size" :label-position="formConf.labelPosition" :disabled="formConf.disabled"
:size="formConf.size" :label-width="formConf.labelWidth + 'px'">
:label-position="formConf.labelPosition"
:disabled="formConf.disabled"
:label-width="formConf.labelWidth + 'px'"
>
<draggable class="drawing-board" :list="drawingList" :animation="340" group="componentsGroup"> <draggable class="drawing-board" :list="drawingList" :animation="340" group="componentsGroup">
<draggable-item <draggable-item v-for="(element, index) in drawingList" :key="element.renderKey" :drawing-list="drawingList"
v-for="(element, index) in drawingList" :element="element" :index="index" :active-id="activeId" :form-conf="formConf" @activeItem="activeFormItem"
:key="element.renderKey" @copyItem="drawingItemCopy" @deleteItem="drawingItemDelete" />
:drawing-list="drawingList"
:element="element"
:index="index"
:active-id="activeId"
:form-conf="formConf"
@activeItem="activeFormItem"
@copyItem="drawingItemCopy"
@deleteItem="drawingItemDelete"
/>
</draggable> </draggable>
<div v-show="!drawingList.length" class="empty-info"> <div v-show="!drawingList.length" class="empty-info">
从左侧拖入或点选组件进行表单设计 从左侧拖入或点选组件进行表单设计
...@@ -118,19 +83,10 @@ ...@@ -118,19 +83,10 @@
</el-scrollbar> </el-scrollbar>
</div> </div>
<right-panel <right-panel :active-data="activeData" :form-conf="formConf" :show-field="!!drawingList.length"
:active-data="activeData" @tag-change="tagChange" />
:form-conf="formConf"
:show-field="!!drawingList.length" <code-type-dialog :visible.sync="dialogVisible" title="选择生成类型" :show-file-name="showFileName" @confirm="generate" />
@tag-change="tagChange"
/>
<code-type-dialog
:visible.sync="dialogVisible"
title="选择生成类型"
:show-file-name="showFileName"
@confirm="generate"
/>
<input id="copyNode" type="hidden"> <input id="copyNode" type="hidden">
</div> </div>
</template> </template>
...@@ -370,31 +326,36 @@ export default { ...@@ -370,31 +326,36 @@ export default {
} }
</script> </script>
<style lang='scss'> <style lang='scss' scoped>
body, html{ body,
html {
margin: 0; margin: 0;
padding: 0; padding: 0;
background: #fff; background: #fff;
-moz-osx-font-smoothing: grayscale; -moz-osx-font-smoothing: grayscale;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
text-rendering: optimizeLegibility; text-rendering: optimizeLegibility;
font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji; font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji;
} }
input, textarea{ input,
font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji; textarea {
font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji;
} }
.editor-tabs{ .editor-tabs {
background: #121315; background: #121315;
.el-tabs__header{
.el-tabs__header {
margin: 0; margin: 0;
border-bottom-color: #121315; border-bottom-color: #121315;
.el-tabs__nav{
.el-tabs__nav {
border-color: #121315; border-color: #121315;
} }
} }
.el-tabs__item{
.el-tabs__item {
height: 32px; height: 32px;
line-height: 32px; line-height: 32px;
color: #888a8e; color: #888a8e;
...@@ -403,15 +364,18 @@ input, textarea{ ...@@ -403,15 +364,18 @@ input, textarea{
margin-right: 5px; margin-right: 5px;
user-select: none; user-select: none;
} }
.el-tabs__item.is-active{
.el-tabs__item.is-active {
background: #1e1e1e; background: #1e1e1e;
border-bottom-color: #1e1e1e!important; border-bottom-color: #1e1e1e !important;
color: #fff; color: #fff;
} }
.el-icon-edit{
.el-icon-edit {
color: #f1fa8c; color: #f1fa8c;
} }
.el-icon-document{
.el-icon-document {
color: #a95812; color: #a95812;
} }
} }
...@@ -422,29 +386,35 @@ input, textarea{ ...@@ -422,29 +386,35 @@ input, textarea{
padding: 12px 18px 15px 15px; padding: 12px 18px 15px 15px;
} }
} }
.left-scrollbar .el-scrollbar__wrap { .left-scrollbar .el-scrollbar__wrap {
box-sizing: border-box; box-sizing: border-box;
overflow-x: hidden !important; overflow-x: hidden !important;
margin-bottom: 0 !important; margin-bottom: 0 !important;
} }
.center-tabs{
.el-tabs__header{ .center-tabs {
margin-bottom: 0!important; .el-tabs__header {
margin-bottom: 0 !important;
} }
.el-tabs__item{
.el-tabs__item {
width: 50%; width: 50%;
text-align: center; text-align: center;
} }
.el-tabs__nav{
.el-tabs__nav {
width: 100%; width: 100%;
} }
} }
.reg-item{
.reg-item {
padding: 12px 6px; padding: 12px 6px;
background: #f8f8f8; background: #f8f8f8;
position: relative; position: relative;
border-radius: 4px; border-radius: 4px;
.close-btn{
.close-btn {
position: absolute; position: absolute;
right: -6px; right: -6px;
top: -6px; top: -6px;
...@@ -459,18 +429,22 @@ input, textarea{ ...@@ -459,18 +429,22 @@ input, textarea{
z-index: 1; z-index: 1;
cursor: pointer; cursor: pointer;
font-size: 12px; font-size: 12px;
&:hover{
&:hover {
background: rgba(210, 23, 23, 0.5) background: rgba(210, 23, 23, 0.5)
} }
} }
& + .reg-item{
&+.reg-item {
margin-top: 18px; margin-top: 18px;
} }
} }
.action-bar{
.action-bar {
& .el-button+.el-button { & .el-button+.el-button {
margin-left: 15px; margin-left: 15px;
} }
& i { & i {
font-size: 20px; font-size: 20px;
vertical-align: middle; vertical-align: middle;
...@@ -479,32 +453,37 @@ input, textarea{ ...@@ -479,32 +453,37 @@ input, textarea{
} }
} }
.custom-tree-node{ .custom-tree-node {
width: 100%; width: 100%;
font-size: 14px; font-size: 14px;
.node-operation{
.node-operation {
float: right; float: right;
} }
i[class*="el-icon"] + i[class*="el-icon"]{
i[class*="el-icon"]+i[class*="el-icon"] {
margin-left: 6px; margin-left: 6px;
} }
.el-icon-plus{
.el-icon-plus {
color: #409EFF; color: #409EFF;
} }
.el-icon-delete{
.el-icon-delete {
color: #157a0c; color: #157a0c;
} }
} }
.left-scrollbar .el-scrollbar__view{ .left-scrollbar .el-scrollbar__view {
overflow-x: hidden; overflow-x: hidden;
} }
.el-rate{ .el-rate {
display: inline-block; display: inline-block;
vertical-align: text-top; vertical-align: text-top;
} }
.el-upload__tip{
.el-upload__tip {
line-height: 1.2; line-height: 1.2;
} }
...@@ -521,6 +500,7 @@ $lighterBlue: #409EFF; ...@@ -521,6 +500,7 @@ $lighterBlue: #409EFF;
padding: 8px; padding: 8px;
box-sizing: border-box; box-sizing: border-box;
height: 100%; height: 100%;
.components-item { .components-item {
display: inline-block; display: inline-block;
width: 48%; width: 48%;
...@@ -528,14 +508,17 @@ $lighterBlue: #409EFF; ...@@ -528,14 +508,17 @@ $lighterBlue: #409EFF;
transition: transform 0ms !important; transition: transform 0ms !important;
} }
} }
.components-draggable{
.components-draggable {
padding-bottom: 20px; padding-bottom: 20px;
} }
.components-title{
.components-title {
font-size: 14px; font-size: 14px;
color: #222; color: #222;
margin: 6px 2px; margin: 6px 2px;
.svg-icon{
.svg-icon {
color: #666; color: #666;
font-size: 18px; font-size: 18px;
} }
...@@ -548,13 +531,16 @@ $lighterBlue: #409EFF; ...@@ -548,13 +531,16 @@ $lighterBlue: #409EFF;
cursor: move; cursor: move;
border: 1px dashed $selectedColor; border: 1px dashed $selectedColor;
border-radius: 3px; border-radius: 3px;
.svg-icon{
.svg-icon {
color: #777; color: #777;
font-size: 15px; font-size: 15px;
} }
&:hover { &:hover {
border: 1px dashed #787be8; border: 1px dashed #787be8;
color: #787be8; color: #787be8;
.svg-icon { .svg-icon {
color: #787be8; color: #787be8;
} }
...@@ -568,10 +554,12 @@ $lighterBlue: #409EFF; ...@@ -568,10 +554,12 @@ $lighterBlue: #409EFF;
top: 0; top: 0;
height: 100vh; height: 100vh;
} }
.left-scrollbar{
.left-scrollbar {
height: calc(100vh - 42px); height: calc(100vh - 42px);
overflow: hidden; overflow: hidden;
} }
.center-scrollbar { .center-scrollbar {
height: calc(100vh - 42px); height: calc(100vh - 42px);
overflow: hidden; overflow: hidden;
...@@ -579,13 +567,15 @@ $lighterBlue: #409EFF; ...@@ -579,13 +567,15 @@ $lighterBlue: #409EFF;
border-right: 1px solid #f1e8e8; border-right: 1px solid #f1e8e8;
box-sizing: border-box; box-sizing: border-box;
} }
.center-board { .center-board {
height: 100vh; height: 100vh;
width: auto; width: auto;
margin: 0 350px 0 260px; margin: 0 350px 0 260px;
box-sizing: border-box; box-sizing: border-box;
} }
.empty-info{
.empty-info {
position: absolute; position: absolute;
top: 46%; top: 46%;
left: 0; left: 0;
...@@ -595,27 +585,32 @@ $lighterBlue: #409EFF; ...@@ -595,27 +585,32 @@ $lighterBlue: #409EFF;
color: #ccb1ea; color: #ccb1ea;
letter-spacing: 4px; letter-spacing: 4px;
} }
.action-bar{
.action-bar {
position: relative; position: relative;
height: 42px; height: 42px;
text-align: right; text-align: right;
padding: 0 15px; padding: 0 15px;
box-sizing: border-box;; box-sizing: border-box;
;
border: 1px solid #f1e8e8; border: 1px solid #f1e8e8;
border-top: none; border-top: none;
border-left: none; border-left: none;
.delete-btn{
.delete-btn {
color: #F56C6C; color: #F56C6C;
} }
} }
.logo-wrapper{
.logo-wrapper {
position: relative; position: relative;
height: 42px; height: 42px;
background: #fff; background: #fff;
border-bottom: 1px solid #f1e8e8; border-bottom: 1px solid #f1e8e8;
box-sizing: border-box; box-sizing: border-box;
} }
.logo{
.logo {
position: absolute; position: absolute;
left: 12px; left: 12px;
top: 6px; top: 6px;
...@@ -624,16 +619,19 @@ $lighterBlue: #409EFF; ...@@ -624,16 +619,19 @@ $lighterBlue: #409EFF;
font-weight: 600; font-weight: 600;
font-size: 17px; font-size: 17px;
white-space: nowrap; white-space: nowrap;
> img{
>img {
width: 30px; width: 30px;
height: 30px; height: 30px;
vertical-align: top; vertical-align: top;
} }
.github{
.github {
display: inline-block; display: inline-block;
vertical-align: sub; vertical-align: sub;
margin-left: 15px; margin-left: 15px;
> img{
>img {
height: 22px; height: 22px;
} }
} }
...@@ -642,23 +640,28 @@ $lighterBlue: #409EFF; ...@@ -642,23 +640,28 @@ $lighterBlue: #409EFF;
.center-board-row { .center-board-row {
padding: 12px 12px 15px 12px; padding: 12px 12px 15px 12px;
box-sizing: border-box; box-sizing: border-box;
& > .el-form {
&>.el-form {
// 69 = 12+15+42 // 69 = 12+15+42
height: calc(100vh - 69px); height: calc(100vh - 69px);
} }
} }
.drawing-board { .drawing-board {
height: 100%; height: 100%;
position: relative; position: relative;
.components-body { .components-body {
padding: 0; padding: 0;
margin: 0; margin: 0;
font-size: 0; font-size: 0;
} }
.sortable-ghost { .sortable-ghost {
position: relative; position: relative;
display: block; display: block;
overflow: hidden; overflow: hidden;
&::before { &::before {
content: " "; content: " ";
position: absolute; position: absolute;
...@@ -670,38 +673,48 @@ $lighterBlue: #409EFF; ...@@ -670,38 +673,48 @@ $lighterBlue: #409EFF;
z-index: 2; z-index: 2;
} }
} }
.components-item.sortable-ghost { .components-item.sortable-ghost {
width: 100%; width: 100%;
height: 60px; height: 60px;
background-color: $selectedColor; background-color: $selectedColor;
} }
.active-from-item { .active-from-item {
& > .el-form-item{ &>.el-form-item {
background: $selectedColor; background: $selectedColor;
border-radius: 6px; border-radius: 6px;
} }
& > .drawing-item-copy, & > .drawing-item-delete{
&>.drawing-item-copy,
&>.drawing-item-delete {
display: initial; display: initial;
} }
& > .component-name{
&>.component-name {
color: $lighterBlue; color: $lighterBlue;
} }
} }
.el-form-item{
.el-form-item {
margin-bottom: 15px; margin-bottom: 15px;
} }
} }
.drawing-item{
.drawing-item {
position: relative; position: relative;
cursor: move; cursor: move;
&.unfocus-bordered:not(.activeFromItem) > div:first-child {
&.unfocus-bordered:not(.activeFromItem)>div:first-child {
border: 1px dashed #ccc; border: 1px dashed #ccc;
} }
.el-form-item{
.el-form-item {
padding: 12px 10px; padding: 12px 10px;
} }
} }
.drawing-row-item{
.drawing-row-item {
position: relative; position: relative;
cursor: move; cursor: move;
box-sizing: border-box; box-sizing: border-box;
...@@ -709,22 +722,28 @@ $lighterBlue: #409EFF; ...@@ -709,22 +722,28 @@ $lighterBlue: #409EFF;
border-radius: 3px; border-radius: 3px;
padding: 0 2px; padding: 0 2px;
margin-bottom: 15px; margin-bottom: 15px;
.drawing-row-item { .drawing-row-item {
margin-bottom: 2px; margin-bottom: 2px;
} }
.el-col{
.el-col {
margin-top: 22px; margin-top: 22px;
} }
.el-form-item{
.el-form-item {
margin-bottom: 0; margin-bottom: 0;
} }
.drag-wrapper{
.drag-wrapper {
min-height: 80px; min-height: 80px;
} }
&.active-from-item{
&.active-from-item {
border: 1px dashed $lighterBlue; border: 1px dashed $lighterBlue;
} }
.component-name{
.component-name {
position: absolute; position: absolute;
top: 0; top: 0;
left: 0; left: 0;
...@@ -734,17 +753,23 @@ $lighterBlue: #409EFF; ...@@ -734,17 +753,23 @@ $lighterBlue: #409EFF;
padding: 0 6px; padding: 0 6px;
} }
} }
.drawing-item, .drawing-row-item{
.drawing-item,
.drawing-row-item {
&:hover { &:hover {
& > .el-form-item{ &>.el-form-item {
background: $selectedColor; background: $selectedColor;
border-radius: 6px; border-radius: 6px;
} }
& > .drawing-item-copy, & > .drawing-item-delete{
&>.drawing-item-copy,
&>.drawing-item-delete {
display: initial; display: initial;
} }
} }
& > .drawing-item-copy, & > .drawing-item-delete{
&>.drawing-item-copy,
&>.drawing-item-delete {
display: none; display: none;
position: absolute; position: absolute;
top: -10px; top: -10px;
...@@ -758,26 +783,29 @@ $lighterBlue: #409EFF; ...@@ -758,26 +783,29 @@ $lighterBlue: #409EFF;
cursor: pointer; cursor: pointer;
z-index: 1; z-index: 1;
} }
& > .drawing-item-copy{
&>.drawing-item-copy {
right: 56px; right: 56px;
border-color: $lighterBlue; border-color: $lighterBlue;
color: $lighterBlue; color: $lighterBlue;
background: #fff; background: #fff;
&:hover{
&:hover {
background: $lighterBlue; background: $lighterBlue;
color: #fff; color: #fff;
} }
} }
& > .drawing-item-delete{
&>.drawing-item-delete {
right: 24px; right: 24px;
border-color: #F56C6C; border-color: #F56C6C;
color: #F56C6C; color: #F56C6C;
background: #fff; background: #fff;
&:hover{
&:hover {
background: #F56C6C; background: #F56C6C;
color: #fff; color: #fff;
} }
} }
} }
</style> </style>
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