forked from AkkomaGang/admin-fe
add view
This commit is contained in:
parent
d10370086e
commit
15a7d074d2
14 changed files with 385 additions and 94 deletions
|
@ -1,6 +1,12 @@
|
||||||
;(function(window) {
|
;(function(window) {
|
||||||
|
|
||||||
var svgSprite = '<svg>' +
|
var svgSprite = '<svg>' +
|
||||||
|
'' +
|
||||||
|
'<symbol id="icon-tubiaoleixingzhengchang" viewBox="0 0 1024 1024">' +
|
||||||
|
'' +
|
||||||
|
'<path d="M64 448 320 448 320 960 64 960 64 448 64 448ZM704 256 960 256 960 960 704 960 704 256 704 256ZM384 64 640 64 640 960 384 960 384 64 384 64Z" ></path>' +
|
||||||
|
'' +
|
||||||
|
'</symbol>' +
|
||||||
'' +
|
'' +
|
||||||
'<symbol id="icon-zujian" viewBox="0 0 1024 1024">' +
|
'<symbol id="icon-zujian" viewBox="0 0 1024 1024">' +
|
||||||
'' +
|
'' +
|
||||||
|
|
149
src/components/Charts/keyboard2.vue
Normal file
149
src/components/Charts/keyboard2.vue
Normal file
|
@ -0,0 +1,149 @@
|
||||||
|
<template>
|
||||||
|
<div :class="className" :id="id" :style="{height:height,width:width}"></div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
// 引入 ECharts 主模块
|
||||||
|
const echarts = require('echarts/lib/echarts');
|
||||||
|
// 引入柱状图
|
||||||
|
require('echarts/lib/chart/bar');
|
||||||
|
require('echarts/lib/chart/line');
|
||||||
|
// 引入提示框和标题组件
|
||||||
|
require('echarts/lib/component/tooltip');
|
||||||
|
require('echarts/lib/component/title');
|
||||||
|
|
||||||
|
require('echarts/lib/component/visualMap');
|
||||||
|
export default {
|
||||||
|
name: 'barPercent',
|
||||||
|
props: {
|
||||||
|
className: {
|
||||||
|
type: String,
|
||||||
|
default: 'bar-percent-chart'
|
||||||
|
},
|
||||||
|
id: {
|
||||||
|
type: String,
|
||||||
|
default: 'bar-percent-chart'
|
||||||
|
},
|
||||||
|
width: {
|
||||||
|
type: String,
|
||||||
|
default: '200px'
|
||||||
|
},
|
||||||
|
height: {
|
||||||
|
type: String,
|
||||||
|
default: '200px'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {};
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
this.initBar();
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
initBar() {
|
||||||
|
this.chart = echarts.init(document.getElementById(this.id));
|
||||||
|
|
||||||
|
const xAxisData = [];
|
||||||
|
const data = [];
|
||||||
|
const data2 = [];
|
||||||
|
for (let i = 0; i < 50; i++) {
|
||||||
|
xAxisData.push(i);
|
||||||
|
data.push((Math.sin(i / 5) * (i / 5 - 10) + i / 6) * 5);
|
||||||
|
data2.push((Math.sin(i / 5) * (i / 5 + 10) + i / 6) * 3);
|
||||||
|
}
|
||||||
|
this.chart.setOption(
|
||||||
|
{
|
||||||
|
backgroundColor: '#08263a',
|
||||||
|
xAxis: [{
|
||||||
|
show: false,
|
||||||
|
data: xAxisData
|
||||||
|
}, {
|
||||||
|
show: false,
|
||||||
|
data: xAxisData
|
||||||
|
}],
|
||||||
|
visualMap: {
|
||||||
|
show: false,
|
||||||
|
min: 0,
|
||||||
|
max: 50,
|
||||||
|
dimension: 0,
|
||||||
|
inRange: {
|
||||||
|
color: ['#4a657a', '#308e92', '#b1cfa5', '#f5d69f', '#f5898b', '#ef5055']
|
||||||
|
}
|
||||||
|
},
|
||||||
|
yAxis: {
|
||||||
|
axisLine: {
|
||||||
|
show: false
|
||||||
|
},
|
||||||
|
axisLabel: {
|
||||||
|
textStyle: {
|
||||||
|
color: '#4a657a'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
splitLine: {
|
||||||
|
show: true,
|
||||||
|
lineStyle: {
|
||||||
|
color: '#08263f'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
axisTick: {
|
||||||
|
show: false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
series: [{
|
||||||
|
name: 'back',
|
||||||
|
type: 'bar',
|
||||||
|
data: data2,
|
||||||
|
z: 1,
|
||||||
|
itemStyle: {
|
||||||
|
normal: {
|
||||||
|
opacity: 0.4,
|
||||||
|
barBorderRadius: 5,
|
||||||
|
shadowBlur: 3,
|
||||||
|
shadowColor: '#111'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
name: 'Simulate Shadow',
|
||||||
|
type: 'line',
|
||||||
|
data,
|
||||||
|
z: 2,
|
||||||
|
showSymbol: false,
|
||||||
|
animationDelay: 0,
|
||||||
|
animationEasing: 'linear',
|
||||||
|
animationDuration: 1200,
|
||||||
|
lineStyle: {
|
||||||
|
normal: {
|
||||||
|
color: 'transparent'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
areaStyle: {
|
||||||
|
normal: {
|
||||||
|
color: '#08263a',
|
||||||
|
shadowBlur: 50,
|
||||||
|
shadowColor: '#000'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
name: 'front',
|
||||||
|
type: 'bar',
|
||||||
|
data,
|
||||||
|
xAxisIndex: 1,
|
||||||
|
z: 3,
|
||||||
|
itemStyle: {
|
||||||
|
normal: {
|
||||||
|
barBorderRadius: 5
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}],
|
||||||
|
animationEasing: 'elasticOut',
|
||||||
|
animationEasingUpdate: 'elasticOut',
|
||||||
|
animationDelay(idx) {
|
||||||
|
return idx * 20;
|
||||||
|
},
|
||||||
|
animationDelayUpdate(idx) {
|
||||||
|
return idx * 20;
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
|
@ -1,8 +1,6 @@
|
||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<svg @click="toggleClick" class="wscn-icon hamburger" :class="{'is-active':isActive}" aria-hidden="true">
|
<svg t="1492500959545" @click="toggleClick" class="wscn-icon hamburger" :class="{'is-active':isActive}" style="" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1691" xmlns:xlink="http://www.w3.org/1999/xlink" width="64" height="64"><path d="M966.8023 568.849776 57.196677 568.849776c-31.397081 0-56.850799-25.452695-56.850799-56.850799l0 0c0-31.397081 25.452695-56.849776 56.850799-56.849776l909.605623 0c31.397081 0 56.849776 25.452695 56.849776 56.849776l0 0C1023.653099 543.397081 998.200404 568.849776 966.8023 568.849776z" p-id="1692"></path><path d="M966.8023 881.527125 57.196677 881.527125c-31.397081 0-56.850799-25.452695-56.850799-56.849776l0 0c0-31.397081 25.452695-56.849776 56.850799-56.849776l909.605623 0c31.397081 0 56.849776 25.452695 56.849776 56.849776l0 0C1023.653099 856.07443 998.200404 881.527125 966.8023 881.527125z" p-id="1693"></path><path d="M966.8023 256.17345 57.196677 256.17345c-31.397081 0-56.850799-25.452695-56.850799-56.849776l0 0c0-31.397081 25.452695-56.850799 56.850799-56.850799l909.605623 0c31.397081 0 56.849776 25.452695 56.849776 56.850799l0 0C1023.653099 230.720755 998.200404 256.17345 966.8023 256.17345z" p-id="1694"></path></svg>
|
||||||
<use xlink:href="#icon-hamburger"></use>
|
|
||||||
</svg>
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|
|
@ -19,6 +19,12 @@ import reset from '../views/login/reset';
|
||||||
/* components*/
|
/* components*/
|
||||||
const Tinymce = resolve => require(['../views/components/tinymce'], resolve);
|
const Tinymce = resolve => require(['../views/components/tinymce'], resolve);
|
||||||
const Markdown = resolve => require(['../views/components/markdown'], resolve);
|
const Markdown = resolve => require(['../views/components/markdown'], resolve);
|
||||||
|
const Jsoneditor = resolve => require(['../views/components/jsoneditor'], resolve);
|
||||||
|
|
||||||
|
/* charts*/
|
||||||
|
const KeyboardChart = resolve => require(['../views/charts/keyboard'], resolve);
|
||||||
|
const KeyboardChart2 = resolve => require(['../views/charts/keyboard2'], resolve);
|
||||||
|
|
||||||
|
|
||||||
/* admin*/
|
/* admin*/
|
||||||
// const AdminCreateUser = resolve => require(['../views/admin/createUser'], resolve);
|
// const AdminCreateUser = resolve => require(['../views/admin/createUser'], resolve);
|
||||||
|
@ -52,14 +58,27 @@ export default new Router({
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: '/admin',
|
path: '/components',
|
||||||
component: Layout,
|
component: Layout,
|
||||||
redirect: 'noredirect',
|
redirect: 'noredirect',
|
||||||
name: '组件',
|
name: '组件',
|
||||||
icon: 'zujian',
|
icon: 'zujian',
|
||||||
children: [
|
children: [
|
||||||
{ path: 'tinymce', component: Tinymce, name: '富文本编辑器' },
|
{ path: 'tinymce', component: Tinymce, name: '富文本编辑器' },
|
||||||
{ path: 'markdown', component: Markdown, name: 'Markdown' }
|
{ path: 'markdown', component: Markdown, name: 'Markdown' },
|
||||||
|
{ path: 'jsoneditor', component: Jsoneditor, name: 'json编辑器' }
|
||||||
|
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: '/charts',
|
||||||
|
component: Layout,
|
||||||
|
redirect: 'noredirect',
|
||||||
|
name: '图表',
|
||||||
|
icon: 'tubiaoleixingzhengchang',
|
||||||
|
children: [
|
||||||
|
{ path: 'keyboard', component: KeyboardChart, name: '键盘图表' },
|
||||||
|
{ path: 'keyboard2', component: KeyboardChart2, name: '键盘图表2' }
|
||||||
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
|
@ -1,17 +1,17 @@
|
||||||
@import './btn.scss';
|
@import './btn.scss';
|
||||||
// @import './editor.scss';
|
// @import './editor.scss';
|
||||||
@import "./mixin.scss";
|
@import "./mixin.scss";
|
||||||
|
|
||||||
body {
|
body {
|
||||||
//height: 100%;
|
//height: 100%;
|
||||||
//overflow-y: scroll;
|
//overflow-y: scroll;
|
||||||
-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: Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Arial,sans-serif;
|
font-family: Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, Microsoft YaHei, Arial, sans-serif;
|
||||||
//@include scrollBar;
|
//@include scrollBar;
|
||||||
}
|
}
|
||||||
label{
|
|
||||||
|
label {
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -19,7 +19,9 @@ html {
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
}
|
}
|
||||||
|
|
||||||
*, *:before, *:after {
|
*,
|
||||||
|
*:before,
|
||||||
|
*:after {
|
||||||
box-sizing: inherit;
|
box-sizing: inherit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -68,21 +70,29 @@ a:hover {
|
||||||
display: block;
|
display: block;
|
||||||
}
|
}
|
||||||
|
|
||||||
.components-container{
|
.components-container {
|
||||||
margin: 30px 50px;
|
margin: 30px 50px;
|
||||||
|
position: relative;
|
||||||
}
|
}
|
||||||
|
|
||||||
code{
|
.editor-container .CodeMirror {
|
||||||
background: #eef1f6;
|
height: 100%!important;
|
||||||
padding: 20px 10px;
|
|
||||||
margin-bottom: 20px;
|
|
||||||
display: block;
|
|
||||||
}
|
}
|
||||||
.fade-enter-active, .fade-leave-active {
|
|
||||||
|
code {
|
||||||
|
background: #eef1f6;
|
||||||
|
padding: 20px 10px;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fade-enter-active,
|
||||||
|
.fade-leave-active {
|
||||||
transition: all .2s ease
|
transition: all .2s ease
|
||||||
}
|
}
|
||||||
|
|
||||||
.fade-enter, .fade-leave-active {
|
.fade-enter,
|
||||||
|
.fade-leave-active {
|
||||||
opacity: 0;
|
opacity: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -101,7 +111,6 @@ code{
|
||||||
// margin: 0 auto;
|
// margin: 0 auto;
|
||||||
// }
|
// }
|
||||||
//}
|
//}
|
||||||
|
|
||||||
//main-container全局样式
|
//main-container全局样式
|
||||||
.app-container {
|
.app-container {
|
||||||
padding: 20px;
|
padding: 20px;
|
||||||
|
@ -139,7 +148,6 @@ code{
|
||||||
.el-upload {
|
.el-upload {
|
||||||
float: left;
|
float: left;
|
||||||
width: 100px;
|
width: 100px;
|
||||||
|
|
||||||
}
|
}
|
||||||
.el-upload-list {
|
.el-upload-list {
|
||||||
float: left;
|
float: left;
|
||||||
|
@ -190,15 +198,18 @@ code{
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.link-type,.link-type:focus {
|
.link-type,
|
||||||
|
.link-type:focus {
|
||||||
color: #337ab7;
|
color: #337ab7;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
&:hover{
|
&:hover {
|
||||||
color: rgb(32, 160, 255);
|
color: rgb(32, 160, 255);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.publishedTag, .draftTag, .deletedTag {
|
.publishedTag,
|
||||||
|
.draftTag,
|
||||||
|
.deletedTag {
|
||||||
color: #fff;
|
color: #fff;
|
||||||
background-color: $panGreen;
|
background-color: $panGreen;
|
||||||
line-height: 1;
|
line-height: 1;
|
||||||
|
@ -242,7 +253,7 @@ code{
|
||||||
.el-checkbox {
|
.el-checkbox {
|
||||||
margin: 0 20px 15px 0;
|
margin: 0 20px 15px 0;
|
||||||
}
|
}
|
||||||
.el-checkbox + .el-checkbox {
|
.el-checkbox+.el-checkbox {
|
||||||
margin-left: 0px;
|
margin-left: 0px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -272,8 +283,8 @@ code{
|
||||||
p {
|
p {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
}
|
}
|
||||||
.el-collapse-item__content{
|
.el-collapse-item__content {
|
||||||
padding-right:0px;
|
padding-right: 0px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -328,12 +339,14 @@ code{
|
||||||
margin-right: 8px;
|
margin-right: 8px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.small-padding{
|
|
||||||
.cell{
|
.small-padding {
|
||||||
|
.cell {
|
||||||
padding-left: 8px;
|
padding-left: 8px;
|
||||||
padding-right: 8px;
|
padding-right: 8px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.status-col {
|
.status-col {
|
||||||
.cell {
|
.cell {
|
||||||
padding: 0 10px;
|
padding: 0 10px;
|
||||||
|
@ -348,7 +361,10 @@ code{
|
||||||
// margin-left: 0px!important;
|
// margin-left: 0px!important;
|
||||||
//}
|
//}
|
||||||
.no-border {
|
.no-border {
|
||||||
.el-input-group__prepend, .el-input__inner, .el-date-editor__editor, .multiselect__tags {
|
.el-input-group__prepend,
|
||||||
|
.el-input__inner,
|
||||||
|
.el-date-editor__editor,
|
||||||
|
.multiselect__tags {
|
||||||
border: none;
|
border: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -384,7 +400,7 @@ code{
|
||||||
}
|
}
|
||||||
|
|
||||||
//暂时性解决diolag 问题 https://github.com/ElemeFE/element/issues/2461
|
//暂时性解决diolag 问题 https://github.com/ElemeFE/element/issues/2461
|
||||||
.el-dialog{
|
.el-dialog {
|
||||||
transform: none;
|
transform: none;
|
||||||
left: 0;
|
left: 0;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
29
src/views/charts/keyboard.vue
Normal file
29
src/views/charts/keyboard.vue
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
<template>
|
||||||
|
<div class="components-container" style='height:100vh'>
|
||||||
|
<div class='chart-container'>
|
||||||
|
<keyboardChart height='100%' width='100%' />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import keyboardChart from 'components/Charts/keyboard';
|
||||||
|
|
||||||
|
export default {
|
||||||
|
components: { keyboardChart },
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
.chart-container{
|
||||||
|
position: relative;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
29
src/views/charts/keyboard2.vue
Normal file
29
src/views/charts/keyboard2.vue
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
<template>
|
||||||
|
<div class="components-container" style='height:100vh'>
|
||||||
|
<div class='chart-container'>
|
||||||
|
<keyboardChart2 id='apple' height='100%' width='100%' />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import keyboardChart2 from 'components/Charts/keyboard2';
|
||||||
|
|
||||||
|
export default {
|
||||||
|
components: { keyboardChart2 },
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
.chart-container{
|
||||||
|
position: relative;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
22
src/views/charts/markdown.vue
Normal file
22
src/views/charts/markdown.vue
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
<template>
|
||||||
|
<div class="components-container">
|
||||||
|
<code>公司做的后台主要是一个cms系统,公司也是已自媒体为核心的,所以富文本是后台很核心的功能。在选择富文本的过程中也走了不少的弯路,市面上常见的富文本都基本用过了,最终选择了tinymce</code>
|
||||||
|
<div class="editor-container">
|
||||||
|
<MdEditor id='contentEditor' ref="contentEditor" v-model='content' :height="150"></MdEditor>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import MdEditor from 'components/MdEditor';
|
||||||
|
|
||||||
|
export default {
|
||||||
|
components: { MdEditor },
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
content: 'Simplemde'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
28
src/views/charts/tinymce.vue
Normal file
28
src/views/charts/tinymce.vue
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
<template>
|
||||||
|
<div class="components-container">
|
||||||
|
<code>公司做的后台主要是一个cms系统,公司也是已自媒体为核心的,所以富文本是后台很核心的功能。在选择富文本的过程中也走了不少的弯路,市面上常见的富文本都基本用过了,最终选择了tinymce</code>
|
||||||
|
<div class="editor-container">
|
||||||
|
<Tinymce :height=200 ref="editor" v-model="content"></Tinymce>
|
||||||
|
</div>
|
||||||
|
<!--<div class='editor-content'>
|
||||||
|
{{content}}
|
||||||
|
</div>-->
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import Tinymce from 'components/Tinymce';
|
||||||
|
|
||||||
|
export default {
|
||||||
|
components: { Tinymce },
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
content: 'Tinymce'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
|
@ -1,61 +0,0 @@
|
||||||
<template>
|
|
||||||
<div class="errorpage-container"> 404
|
|
||||||
<splitPane v-on:resize="resize" split="vertical">
|
|
||||||
<template slot="paneL">
|
|
||||||
<div class="left-container"></div>
|
|
||||||
</template>
|
|
||||||
<template slot="paneR">
|
|
||||||
<splitPane split="horizontal">
|
|
||||||
<template slot="paneL">
|
|
||||||
<div class="top-container"></div>
|
|
||||||
</template>
|
|
||||||
<template slot="paneR">
|
|
||||||
<div class="bottom-container">
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
</splitPane>
|
|
||||||
</template>
|
|
||||||
</splitPane>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
|
|
||||||
<script>
|
|
||||||
import splitPane from 'components/SplitPane/SplitPane'
|
|
||||||
export default {
|
|
||||||
components: { splitPane },
|
|
||||||
methods: {
|
|
||||||
resize() {
|
|
||||||
console.log('resize')
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
</script>
|
|
||||||
<style rel="stylesheet/scss" lang="scss" scoped>
|
|
||||||
.errorpage-container{
|
|
||||||
position: relative;
|
|
||||||
height: 100vh;
|
|
||||||
}
|
|
||||||
.left-container {
|
|
||||||
background-color: #F38181;
|
|
||||||
height:100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.right-container {
|
|
||||||
background-color: #FCE38A;
|
|
||||||
height: 200px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.top-container {
|
|
||||||
background-color: #FCE38A;
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.bottom-container {
|
|
||||||
width: 100%;
|
|
||||||
background-color: #95E1D3;
|
|
||||||
height: 100%;
|
|
||||||
|
|
||||||
}
|
|
||||||
</style>
|
|
29
src/views/components/dndlist.vue
Normal file
29
src/views/components/dndlist.vue
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
<template>
|
||||||
|
<div class="components-container">
|
||||||
|
<code>公司做的后台主要是一个cms系统,公司也是已自媒体为核心的,所以富文本是后台很核心的功能。在选择富文本的过程中也走了不少的弯路,市面上常见的富文本都基本用过了,最终选择了tinymce</code>
|
||||||
|
<div class="editor-container">
|
||||||
|
<TwoDndList :list1="list1" :list2="list2" :list1Title="头条列表" list2Title="文章池"></TwoDndList>
|
||||||
|
</div>
|
||||||
|
<!--<div class='editor-content'>
|
||||||
|
{{content}}
|
||||||
|
</div>-->
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import DndList from 'components/twoDndList'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
components: { DndList },
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
list1: [],
|
||||||
|
list2: []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
28
src/views/components/jsoneditor.vue
Normal file
28
src/views/components/jsoneditor.vue
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
<template>
|
||||||
|
<div class="components-container" style='height:100vh'>
|
||||||
|
<code>有校验</code>
|
||||||
|
<div class="editor-container">
|
||||||
|
<json-editor ref="jsonEditor" v-model="value"></json-editor>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import jsonEditor from 'components/jsonEditor';
|
||||||
|
const jsonData = '[{"items":[{"market_type":"forexdata","symbol":"XAUUSD"},{"market_type":"forexdata","symbol":"UKOIL"},{"market_type":"forexdata","symbol":"CORN"}],"name":""},{"items":[{"market_type":"forexdata","symbol":"XAUUSD"},{"market_type":"forexdata","symbol":"XAGUSD"},{"market_type":"forexdata","symbol":"AUTD"},{"market_type":"forexdata","symbol":"AGTD"}],"name":"贵金属"},{"items":[{"market_type":"forexdata","symbol":"CORN"},{"market_type":"forexdata","symbol":"WHEAT"},{"market_type":"forexdata","symbol":"SOYBEAN"},{"market_type":"forexdata","symbol":"SUGAR"}],"name":"农产品"},{"items":[{"market_type":"forexdata","symbol":"UKOIL"},{"market_type":"forexdata","symbol":"USOIL"},{"market_type":"forexdata","symbol":"NGAS"}],"name":"能源化工"}]';
|
||||||
|
export default {
|
||||||
|
components: { jsonEditor },
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
value: JSON.parse(jsonData)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
.editor-container{
|
||||||
|
position: relative;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
|
@ -19,13 +19,12 @@
|
||||||
<script>
|
<script>
|
||||||
import { mapGetters } from 'vuex';
|
import { mapGetters } from 'vuex';
|
||||||
import PanThumb from 'components/PanThumb';
|
import PanThumb from 'components/PanThumb';
|
||||||
import emptyGif from 'assets/gifs/business_fella.gif';
|
|
||||||
export default {
|
export default {
|
||||||
name: 'dashboard-default',
|
name: 'dashboard-default',
|
||||||
components: { PanThumb },
|
components: { PanThumb },
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
emptyGif
|
emptyGif: 'https://wpimg.wallstcn.com/0e03b7da-db9e-4819-ba10-9016ddfdaed3'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
|
|
|
@ -27,12 +27,12 @@
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import errGif from 'assets/401.gif';
|
import errGif from 'assets/401.gif';
|
||||||
import ewizardClap from 'assets/gifs/wizard_clap.gif';
|
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
errGif: errGif + '?' + +new Date(),
|
errGif: errGif + '?' + +new Date(),
|
||||||
ewizardClap,
|
ewizardClap: 'https://wpimg.wallstcn.com/007ef517-bafd-4066-aae4-6883632d9646',
|
||||||
dialogVisible: false
|
dialogVisible: false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
Loading…
Reference in a new issue