Merge pull request #8 from FairyEver/dev

components rename

Former-commit-id: d86bb9deb519d458cf53cf6db02129bd150d3f9f
Former-commit-id: 81705560572d3ee80e6092cbd617d7b6353d56e0
Former-commit-id: 4c6cc9cae9ea7ffa30f2dbfc77b35733424d9cee
This commit is contained in:
李杨
2018-06-10 22:37:52 +08:00
committed by GitHub
116 changed files with 678 additions and 1454 deletions

View File

@@ -57,7 +57,7 @@ module.exports = {
loader: 'svg-sprite-loader', loader: 'svg-sprite-loader',
include: [resolve('src/assets/icons/svg')], include: [resolve('src/assets/icons/svg')],
options: { options: {
symbolId: 'dd-[name]' symbolId: 'd2-[name]'
} }
}, },
{ {

View File

@@ -19,12 +19,12 @@
``` vue ``` vue
<template> <template>
<Container> <d2-container>
<template slot="header"> <template slot="header">
可选的 header 内容 ... 可选的 header 内容 ...
</template> </template>
主体内容 ... 主体内容 ...
</Container> </d2-container>
</template> </template>
<script> <script>
@@ -44,18 +44,18 @@ export default {
高度根据内容适应 高度根据内容适应
``` vue ``` vue
<Container> <d2-container>
主体内容 主体内容
</Container> </d2-container>
``` ```
使用 `slot` 使用 `slot`
``` vue ``` vue
<Container> <d2-container>
<template slot="header">我是插入到 header 中的内容</template> <template slot="header">我是插入到 header 中的内容</template>
主体内容 主体内容
</Container> </d2-container>
``` ```
## 自适应填充页面容器 ## 自适应填充页面容器
@@ -66,7 +66,7 @@ export default {
``` vue ``` vue
<template> <template>
<Container type="full"> <d2-container type="full">
<template slot="header"> <template slot="header">
可选的 header 内容 ... 可选的 header 内容 ...
</template> </template>
@@ -74,7 +74,7 @@ export default {
<template slot="footer"> <template slot="footer">
可选的 footer 内容 ... 可选的 footer 内容 ...
</template> </template>
</Container> </d2-container>
</template> </template>
``` ```
@@ -83,7 +83,7 @@ export default {
不显示任何背景色和边框 不显示任何背景色和边框
``` vue ``` vue
<Container type="ghost"> <d2-container type="ghost">
主体内容 主体内容
</Container> </d2-container>
``` ```

View File

@@ -15,13 +15,13 @@
``` vue ``` vue
// 基本使用方法 // 基本使用方法
<CountUp :end="100"></CountUp> <d2-count-up :end="100"/>
// 设置始末值 // 设置始末值
<CountUp :start="14" :end="100"></CountUp> <d2-count-up :start="14" :end="100"/>
// 设置动画时间 // 设置动画时间
<CountUp :end="100" :decimals="2"></CountUp> <d2-count-up :end="100" :decimals="2"/>
``` ```
组件会在页面上渲染 `<span>` 标签 组件会在页面上渲染 `<span>` 标签

View File

@@ -9,7 +9,7 @@
## 示例 ## 示例
``` vue ``` vue
<Highlight code="alert('Hello')"></Highlight> <d2-highlight code="alert('Hello')"/>
``` ```
::: tip ::: tip

View File

@@ -13,7 +13,7 @@
然后使用组件 然后使用组件
``` vue ``` vue
<IconSvg name="刚才的svg文件名"></IconSvg> <d2-icon-svg name="刚才的svg文件名"/>
``` ```
## 获取已经注册的所有图标 ## 获取已经注册的所有图标

View File

@@ -12,22 +12,22 @@
``` vue ``` vue
// 这样用没有毛病 但是也没什么用 // 这样用没有毛病 但是也没什么用
<Icon></Icon> <d2-icon/>
// 指定图标名称 // 指定图标名称
<Icon name="github"></Icon> <d2-icon name="github"/>
// 设置行内样式 // 设置行内样式
<Icon name="github" style="font-size: 100px;"></Icon> <d2-icon name="github" style="font-size: 100px;"/>
// 设置 class // 设置 class
<Icon name="github" class="icon-class-demo"></Icon> <d2-icon name="github" class="icon-class-demo"/>
``` ```
这个组件只是简化了写法而已 这个组件只是简化了写法而已
``` vue ``` vue
<Icon name="github"></Icon> <d2-icon name="github"/>
// 等同于 // 等同于
<i class="fa fa-github" aria-hidden="true"></i> <i class="fa fa-github" aria-hidden="true"></i>
``` ```

View File

@@ -14,7 +14,7 @@
加载一个.md文件 加载一个.md文件
``` vue ``` vue
<markdown url="/static/md/xxxx.md"></markdown> <d2-markdown url="/static/md/xxxx.md"/>
``` ```
加载资源 加载资源
@@ -26,7 +26,7 @@ const md = `# Header
text` text`
<markdown :md="md"></markdown> <d2-markdown :md="md"/>
``` ```
## 百度网盘分享链接优化 ## 百度网盘分享链接优化

View File

@@ -8,6 +8,9 @@
* [ 修改 ] 顶栏和侧边栏菜单新的结构生成方式,新的方案使用 `数据` + `递归组件` 实现无限制多级菜单 * [ 修改 ] 顶栏和侧边栏菜单新的结构生成方式,新的方案使用 `数据` + `递归组件` 实现无限制多级菜单
* [ 修改 ] 路由注册回归最简单的写法 * [ 修改 ] 路由注册回归最简单的写法
* [ 修复 ] 首次加载 loading 样式类名和程序内类名冲突,新的加载类名使用 `d2-app-loading` 前缀
* [ 修改 ] 所有类似 `dd-` 的样式前缀(包括自动注册图标的id前缀)统一改为 `d2-`
* [ 修复 ] 修复 `highlight` 组件和 `markdown` 组件的样式冲突
## v1.0.0 ## v1.0.0

View File

@@ -10,10 +10,6 @@ html, body {
bottom: 0px; bottom: 0px;
left: 0px; left: 0px;
right: 0px; right: 0px;
pre {
margin: 0px;
border-radius: 4px;
}
a { a {
text-decoration: none; text-decoration: none;
} }

View File

@@ -2,7 +2,7 @@
@import '~@/assets/style/unit/_size.scss'; @import '~@/assets/style/unit/_size.scss';
// 工具类名统一前缀 // 工具类名统一前缀
$prefix: dd; $prefix: d2;
// 禁止用户选中 鼠标变为手形 // 禁止用户选中 鼠标变为手形
%unable-select { %unable-select {

View File

@@ -28,12 +28,12 @@ $theme-container-full-border-color: #d8dfea;
.el-menu--horizontal .el-menu .el-submenu__title:hover { .el-menu--horizontal .el-menu .el-submenu__title:hover {
@include theme-menu-hover-style; @include theme-menu-hover-style;
} }
// [组件] dd-container-full // [组件] d2-container-full
.dd-container-full { .d2-container-full {
.dd-container-full__header { .d2-container-full__header {
border-bottom: 1px solid $theme-container-full-border-color; border-bottom: 1px solid $theme-container-full-border-color;
} }
.dd-container-full__footer { .d2-container-full__footer {
border-top: 1px solid $theme-container-full-border-color; border-top: 1px solid $theme-container-full-border-color;
} }
} }
@@ -80,13 +80,11 @@ $theme-container-full-border-color: #d8dfea;
} }
} }
// 顶栏右侧 // 顶栏右侧
.dd-header-right { .d2-header-right {
.btn-text { .btn-text {
color: #FFF; color: #FFF;
} &:hover {
.el-dropdown { background-color: rgba(#FFF, .1);
.el-dropdown-link {
color: #FFF;
} }
} }
} }

View File

@@ -46,11 +46,17 @@
} }
} }
// 顶栏右侧的按钮 // 顶栏右侧的按钮
.dd-header-right { .d2-header-right {
float: right; float: right;
height: 60px; height: 60px;
display: flex; display: flex;
align-items: center; align-items: center;
.btn-text {
padding: 14px 12px;
border-radius: 4px;
margin: 0px !important;
margin-left: 10px !important;
}
.el-dropdown { .el-dropdown {
user-select: none; user-select: none;
cursor: pointer; cursor: pointer;
@@ -64,7 +70,7 @@
transition: width .3s; transition: width .3s;
overflow: inherit; overflow: inherit;
// 空菜单 // 空菜单
.dd-side-menu-empty { .d2-side-menu-empty {
background-color: rgba(#000, .03); background-color: rgba(#000, .03);
margin: $margin; margin: $margin;
margin-top: 0px; margin-top: 0px;
@@ -109,8 +115,8 @@
overflow: hidden; overflow: hidden;
} }
} }
// [组件] dd-container-full // [组件] d2-container-full
.dd-container-full { .d2-container-full {
position: absolute; position: absolute;
border-top-left-radius: 4px; border-top-left-radius: 4px;
border-top-right-radius: 4px; border-top-right-radius: 4px;
@@ -120,7 +126,7 @@
&:hover { &:hover {
box-shadow: none; box-shadow: none;
} }
.dd-container-full__header { .d2-container-full__header {
position: absolute; position: absolute;
top: 0px; top: 0px;
left: 0px; left: 0px;
@@ -128,7 +134,7 @@
padding: 18px 20px; padding: 18px 20px;
box-sizing: border-box; box-sizing: border-box;
} }
.dd-container-full__body { .d2-container-full__body {
position: absolute; position: absolute;
padding: 20px; padding: 20px;
left: 0px; left: 0px;
@@ -136,7 +142,7 @@
bottom: 0px; bottom: 0px;
overflow: auto; overflow: auto;
} }
.dd-container-full__footer { .d2-container-full__footer {
position: absolute; position: absolute;
bottom: 0px; bottom: 0px;
left: 0px; left: 0px;

View File

@@ -13,7 +13,7 @@ export default {
props: { props: {
padding: { padding: {
required: false, required: false,
default: () => [30, 30, 30, 30] default: () => [40, 40, 40, 40]
} }
}, },
data () { data () {

View File

@@ -14,7 +14,7 @@ export default {
// 设置图表的内边距 http://antv.alipay.com/zh-cn/g2/3.x/api/chart.html#_padding // 设置图表的内边距 http://antv.alipay.com/zh-cn/g2/3.x/api/chart.html#_padding
padding: { padding: {
required: false, required: false,
default: () => [30, 40, 45, 50] default: () => [30, 40, 40, 50]
}, },
// 设置图表整体的边框和背景样式 http://antv.alipay.com/zh-cn/g2/3.x/api/chart.html#_background // 设置图表整体的边框和背景样式 http://antv.alipay.com/zh-cn/g2/3.x/api/chart.html#_background
background: { background: {

View File

@@ -1,16 +1,16 @@
import Vue from 'vue' import Vue from 'vue'
Vue.component('G2AreaBase', resolve => { require(['@/components/charts/G2/components/Area/base.vue'], resolve) }) Vue.component('d2-chart-area-base', () => import('@/components/charts/G2/components/Area/base.vue'))
Vue.component('G2BarBase', resolve => { require(['@/components/charts/G2/components/Bar/base.vue'], resolve) }) Vue.component('d2-chart-bar-base', () => import('@/components/charts/G2/components/Bar/base.vue'))
Vue.component('G2ColumnBase', resolve => { require(['@/components/charts/G2/components/Column/base.vue'], resolve) }) Vue.component('d2-chart-column-base', () => import('@/components/charts/G2/components/Column/base.vue'))
Vue.component('G2LineBase', resolve => { require(['@/components/charts/G2/components/Line/base.vue'], resolve) }) Vue.component('d2-chart-line-base', () => import('@/components/charts/G2/components/Line/base.vue'))
Vue.component('G2LineStep', resolve => { require(['@/components/charts/G2/components/Line/step.vue'], resolve) }) Vue.component('d2-chart-line-step', () => import('@/components/charts/G2/components/Line/step.vue'))
Vue.component('G2NightingaleRoseBase', resolve => { require(['@/components/charts/G2/components/NightingaleRose/base.vue'], resolve) }) Vue.component('d2-chart-nightingale-rose-base', () => import('@/components/charts/G2/components/NightingaleRose/base.vue'))
Vue.component('G2PieBase', resolve => { require(['@/components/charts/G2/components/Pie/base.vue'], resolve) }) Vue.component('d2-chart-pie-base', () => import('@/components/charts/G2/components/Pie/base.vue'))
Vue.component('G2RadarBase', resolve => { require(['@/components/charts/G2/components/Radar/base.vue'], resolve) }) Vue.component('d2-chart-radar-base', () => import('@/components/charts/G2/components/Radar/base.vue'))

View File

@@ -1,26 +0,0 @@
<template>
<el-menu
mode="horizontal"
:router="true">
<template v-for="(menu, menuIndex) in menus">
<d2-menu-item v-if="menu.children === undefined" :menu="menu" :key="menuIndex"/>
<d2-submenu v-else :menu="menu" :key="menuIndex"/>
</template>
</el-menu>
</template>
<script>
import menus from '@/menu/index.js'
export default {
name: 'HeaderMenu',
components: {
D2MenuItem: () => import('../D2MenuItem/index.vue'),
D2Submenu: () => import('../D2Submenu/index.vue')
},
data () {
return {
menus
}
}
}
</script>

View File

@@ -1,16 +0,0 @@
<template>
<div class="dd-header-right">
<FullScreen></FullScreen>
<UserDropdown></UserDropdown>
</div>
</template>
<script>
export default {
name: 'HeaderRight',
components: {
FullScreen: () => import('./components/FullScreen.vue'),
UserDropdown: () => import('./components/UserDropdown.vue')
}
}
</script>

View File

@@ -1,110 +0,0 @@
<template>
<div class="markdown-editor">
<textarea></textarea>
</div>
</template>
<script>
import SimpleMDE from 'simplemde'
import marked from 'marked'
export default {
name: 'markdown-editor',
props: {
value: String,
previewClass: String,
autoinit: {
type: Boolean,
default () {
return true
}
},
highlight: {
type: Boolean,
default () {
return false
}
},
sanitize: {
type: Boolean,
default () {
return false
}
},
configs: {
type: Object,
default () {
return {}
}
}
},
mounted () {
if (this.autoinit) this.initialize()
},
activated () {
const editor = this.simplemde
if (!editor) return
const isActive = editor.isSideBySideActive() || editor.isPreviewActive()
if (isActive) editor.toggleFullScreen()
},
methods: {
initialize () {
const configs = {
element: this.$el.firstElementChild,
initialValue: this.value,
renderingConfig: {}
}
Object.assign(configs, this.configs)
// 判断是否开启代码高亮
if (this.highlight) {
configs.renderingConfig.codeSyntaxHighlighting = true
}
// 设置是否渲染输入的html
marked.setOptions({ sanitize: this.sanitize })
// 实例化编辑器
this.simplemde = new SimpleMDE(configs)
// 添加自定义 previewClass
const className = this.previewClass || ''
this.addPreviewClass(className)
// 绑定事件
this.bindingEvents()
},
bindingEvents () {
this.simplemde.codemirror.on('change', () => {
this.$emit('input', this.simplemde.value())
})
},
addPreviewClass (className) {
const wrapper = this.simplemde.codemirror.getWrapperElement()
const preview = document.createElement('div')
wrapper.nextSibling.className += ` ${className}`
preview.className = `editor-preview ${className}`
wrapper.appendChild(preview)
}
},
destroyed () {
this.simplemde = null
},
watch: {
value (val) {
if (val === this.simplemde.value()) return
this.simplemde.value(val)
}
}
}
</script>
<style>
.markdown-editor .markdown-body {
padding: 0.5em
}
.markdown-editor .editor-preview-active, .markdown-editor .editor-preview-active-side {
display: block
}
</style>

View File

@@ -1,19 +1,20 @@
<template> <template>
<div class="dd-container-full" :style="cardStyle"> <div class="d2-container-full" :style="cardStyle">
<div v-if="$slots.header" class="dd-container-full__header" ref="header"> <div v-if="$slots.header" class="d2-container-full__header" ref="header">
<slot name="header"></slot> <slot name="header"/>
</div> </div>
<div class="dd-container-full__body" :style="bodyStyle"> <div class="d2-container-full__body" :style="bodyStyle">
<slot></slot> <slot/>
</div> </div>
<div v-if="$slots.footer" class="dd-container-full__footer" ref="footer"> <div v-if="$slots.footer" class="d2-container-full__footer" ref="footer">
<slot name="footer"></slot> <slot name="footer"/>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
export default { export default {
name: 'd2-container-full',
props: { props: {
// //
top: { top: {

View File

@@ -1,26 +1,27 @@
<template> <template>
<div class="container-component" :class="{responsive}"> <div class="container-component" :class="{responsive}">
<!-- [card] 卡片容器 --> <!-- [card] 卡片容器 -->
<el-card v-if="type === 'card'" class="dd-mr dd-mb"> <el-card v-if="type === 'card'" class="d2-mr d2-mb">
<slot v-if="$slots.header" name="header" slot="header"></slot> <slot v-if="$slots.header" name="header" slot="header"/>
<slot></slot> <slot/>
</el-card> </el-card>
<!-- [ghost] 隐形的容器 --> <!-- [ghost] 隐形的容器 -->
<div v-if="type === 'ghost'" class="dd-mr dd-mb"> <div v-if="type === 'ghost'" class="d2-mr d2-mb">
<slot name="header"></slot> <slot name="header"/>
<slot></slot> <slot/>
</div> </div>
<!-- [container-full] 撑满 --> <!-- [container-full] 撑满 -->
<container-full v-if="type === 'full'" :right="20" :bottom="0"> <d2-container-full v-if="type === 'full'" :right="20" :bottom="0">
<slot v-if="$slots.header" name="header" slot="header"></slot> <slot v-if="$slots.header" name="header" slot="header"/>
<slot></slot> <slot/>
<slot v-if="$slots.footer" name="footer" slot="footer"></slot> <slot v-if="$slots.footer" name="footer" slot="footer"/>
</container-full> </d2-container-full>
</div> </div>
</template> </template>
<script> <script>
export default { export default {
name: 'd2-container',
props: { props: {
// //
type: { type: {
@@ -36,7 +37,7 @@ export default {
} }
}, },
components: { components: {
containerFull: () => import('../ContainerFull/index.vue') 'd2-container-full': () => import('../d2-container-full/index.vue')
} }
} }
</script> </script>

View File

@@ -5,6 +5,7 @@
<script> <script>
import CountUp from 'countup.js' import CountUp from 'countup.js'
export default { export default {
name: 'd2-count-up',
props: { props: {
start: { start: {
type: Number, type: Number,

View File

@@ -1,5 +1,5 @@
<template> <template>
<pre v-html="highlightHTML"></pre> <pre class="d2-highlight" v-html="highlightHTML"></pre>
</template> </template>
<script> <script>
@@ -7,6 +7,7 @@
// http://highlightjs.readthedocs.io/en/latest/api.html#configure-options // http://highlightjs.readthedocs.io/en/latest/api.html#configure-options
import highlight from 'highlight.js' import highlight from 'highlight.js'
export default { export default {
name: 'd2-highlight',
props: { props: {
code: { code: {
type: String, type: String,
@@ -34,3 +35,10 @@ export default {
} }
} }
</script> </script>
<style lang="scss" scoped>
.d2-highlight {
margin: 0px;
border-radius: 4px;
}
</style>

View File

@@ -6,8 +6,8 @@
:placement="placement" :placement="placement"
width="300" width="300"
trigger="click"> trigger="click">
<div class="header dd-clearfix dd-mb-10" v-if="clearable"> <div class="header d2-clearfix d2-mb-10" v-if="clearable">
<el-button type="danger" icon="el-icon-delete" size="mini" class="dd-fr" @click="selectIcon()">清空</el-button> <el-button type="danger" icon="el-icon-delete" size="mini" class="d2-fr" @click="selectIcon()">清空</el-button>
</div> </div>
<el-input <el-input
v-model="searchText" v-model="searchText"
@@ -61,6 +61,7 @@
<script> <script>
import icon from '@/assets/library/font-awesome-4.7.0-icon/icon.js' import icon from '@/assets/library/font-awesome-4.7.0-icon/icon.js'
export default { export default {
name: 'd2-icon-select',
props: { props: {
// //
value: { value: {

View File

@@ -6,6 +6,7 @@
<script> <script>
export default { export default {
name: 'd2-icon-svg',
props: { props: {
name: { name: {
type: String, type: String,
@@ -14,7 +15,7 @@ export default {
}, },
computed: { computed: {
icon () { icon () {
return `#dd-${this.name}` return `#d2-${this.name}`
} }
} }
} }

View File

@@ -4,6 +4,7 @@
<script> <script>
export default { export default {
name: 'd2-icon',
props: { props: {
name: { name: {
type: String, type: String,

View File

@@ -0,0 +1,26 @@
<template>
<el-menu
mode="horizontal"
:router="true">
<template v-for="(menu, menuIndex) in menus">
<d2-layout-main-menu-item v-if="menu.children === undefined" :menu="menu" :key="menuIndex"/>
<d2-layout-main-menu-sub v-else :menu="menu" :key="menuIndex"/>
</template>
</el-menu>
</template>
<script>
import menus from '@/menu/index.js'
export default {
name: 'd2-layout-main-menu-header',
components: {
'd2-layout-main-menu-item': () => import('../d2-layout-main-menu-item/index.vue'),
'd2-layout-main-menu-sub': () => import('../d2-layout-main-menu-sub/index.vue')
},
data () {
return {
menus
}
}
}
</script>

View File

@@ -1,12 +1,11 @@
<template> <template>
<el-tooltip <el-tooltip
class="item"
effect="dark" effect="dark"
:content="isFullScreen ? '退出全屏' : '全屏'" :content="isFullScreen ? '退出全屏' : '全屏'"
placement="bottom"> placement="bottom">
<el-button class="dd-mr btn-text" type="text" @click="toggleFullScreen"> <el-button class="d2-mr btn-text" type="text" @click="toggleFullScreen">
<Icon v-if="isFullScreen" name="compress"></Icon> <d2-icon v-if="isFullScreen" name="compress"/>
<Icon v-else name="arrows-alt"></Icon> <d2-icon v-else name="arrows-alt"/>
</el-button> </el-button>
</el-tooltip> </el-tooltip>
</template> </template>

View File

@@ -0,0 +1,59 @@
<template>
<div>
<el-tooltip effect="dark" content="theme" placement="bottom">
<el-button class="d2-ml-0 d2-mr btn-text" type="text" @click="dialogVisible = true">
<d2-icon name="diamond"/>
</el-button>
</el-tooltip>
<el-dialog title="主题" :visible.sync="dialogVisible">
<el-table :data="tableData">
<el-table-column prop="name" label="主题名称" width="100"></el-table-column>
<el-table-column
label="预览"
width="220">
<template slot-scope="scope">
<div
class="theme-preview"
:style="{'backgroundImage': `url(${ scope.row.preview })`}">
</div>
</template>
</el-table-column>
<el-table-column
prop="address"
label="地址">
</el-table-column>
</el-table>
</el-dialog>
</div>
</template>
<script>
export default {
data () {
return {
dialogVisible: false,
tableData: [
{
name: 'd2admin',
preview: '/static/image/theme-preview/d2admin@2x.png'
},
{
name: 'star',
preview: '/static/image/theme-preview/star@2x.png'
}
]
}
}
}
</script>
<style lang="scss" scoped>
@import '~@/assets/style/public.scss';
.theme-preview {
height: 100px;
width: 200px;
border-radius: 4px;
background-size: cover;
border: 1px solid $color-border-1;
}
</style>

View File

@@ -1,9 +1,9 @@
<template> <template>
<el-dropdown class="dd-mr"> <el-dropdown class="d2-mr">
<span class="el-dropdown-link">你好</span> <span class="btn-text">你好</span>
<el-dropdown-menu slot="dropdown"> <el-dropdown-menu slot="dropdown">
<el-dropdown-item @click.native="logOff"><Icon name="power-off"></Icon> 注销</el-dropdown-item> <el-dropdown-item @click.native="logOff"><d2-icon name="power-off"/> 注销</el-dropdown-item>
<el-dropdown-item><Icon name="user-circle-o"></Icon> 个人中心</el-dropdown-item> <el-dropdown-item><d2-icon name="user-circle-o"/> 个人中心</el-dropdown-item>
</el-dropdown-menu> </el-dropdown-menu>
</el-dropdown> </el-dropdown>
</template> </template>

View File

@@ -0,0 +1,18 @@
<template>
<div class="d2-header-right">
<d2-layout-main-header-right-full-screen/>
<d2-layout-main-header-right-theme/>
<d2-layout-main-header-right-user/>
</div>
</template>
<script>
export default {
name: 'd2-layout-main-header-right',
components: {
'd2-layout-main-header-right-full-screen': () => import('./components/-full-screen.vue'),
'd2-layout-main-header-right-theme': () => import('./components/-theme.vue'),
'd2-layout-main-header-right-user': () => import('./components/-user.vue')
}
}
</script>

View File

@@ -0,0 +1,26 @@
<template>
<el-menu
mode="horizontal"
:router="true">
<template v-for="(menu, menuIndex) in menus">
<d2-layout-main-menu-item v-if="menu.children === undefined" :menu="menu" :key="menuIndex"/>
<d2-layout-main-menu-sub v-else :menu="menu" :key="menuIndex"/>
</template>
</el-menu>
</template>
<script>
import menus from '@/menu/index.js'
export default {
name: 'd2-layout-main-menu-header',
components: {
'd2-layout-main-menu-item': () => import('../-menu-item/index.vue'),
'd2-layout-main-menu-sub': () => import('../-menu-sub/index.vue')
},
data () {
return {
menus
}
}
}
</script>

View File

@@ -7,7 +7,7 @@
<script> <script>
export default { export default {
name: 'D2MenuItem', name: 'd2-layout-main-menu-item',
props: { props: {
menu: { menu: {
type: Object, type: Object,

View File

@@ -5,11 +5,11 @@
:unique-opened="true" :unique-opened="true"
:router="true"> :router="true">
<template v-for="(menu, menuIndex) in menus"> <template v-for="(menu, menuIndex) in menus">
<d2-menu-item v-if="menu.children === undefined" :menu="menu" :key="menuIndex"/> <d2-layout-main-menu-item v-if="menu.children === undefined" :menu="menu" :key="menuIndex"/>
<d2-submenu v-else :menu="menu" :key="menuIndex"/> <d2-layout-main-menu-sub v-else :menu="menu" :key="menuIndex"/>
</template> </template>
</el-menu> </el-menu>
<!-- <div v-if="sideMenu.filter(e => e.title).length === 0 && !collapse" class="dd-side-menu-empty"> <!-- <div v-if="sideMenu.filter(e => e.title).length === 0 && !collapse" class="d2-menu-side-empty">
没有菜单 没有菜单
</div> --> </div> -->
</div> </div>
@@ -18,6 +18,7 @@
<script> <script>
import { side } from '@/menu/index.js' import { side } from '@/menu/index.js'
export default { export default {
name: 'd2-layout-main-menu-side',
props: { props: {
collapse: { collapse: {
type: Boolean, type: Boolean,
@@ -26,8 +27,8 @@ export default {
} }
}, },
components: { components: {
D2MenuItem: () => import('../D2MenuItem/index.vue'), 'd2-layout-main-menu-item': () => import('../-menu-item/index.vue'),
D2Submenu: () => import('../D2Submenu/index.vue') 'd2-layout-main-menu-sub': () => import('../-menu-sub/index.vue')
}, },
data () { data () {
return { return {

View File

@@ -5,15 +5,15 @@
<span slot="title">{{menu.title}}</span> <span slot="title">{{menu.title}}</span>
</template> </template>
<template v-for="(child, childIndex) in menu.children"> <template v-for="(child, childIndex) in menu.children">
<d2-menu-item v-if="child.children === undefined" :menu="child" :key="childIndex"/> <d2-layout-main-menu-item v-if="child.children === undefined" :menu="child" :key="childIndex"/>
<d2-submenu v-else :menu="child" :key="childIndex"/> <d2-layout-main-menu-sub v-else :menu="child" :key="childIndex"/>
</template> </template>
</el-submenu> </el-submenu>
</template> </template>
<script> <script>
export default { export default {
name: 'D2Submenu', name: 'd2-layout-main-menu-sub',
props: { props: {
menu: { menu: {
type: Object, type: Object,
@@ -22,7 +22,7 @@ export default {
} }
}, },
components: { components: {
D2MenuItem: () => import('../D2MenuItem/index.vue') 'd2-layout-main-menu-item': () => import('../-menu-item/index.vue')
} }
} }
</script> </script>

View File

@@ -0,0 +1,48 @@
<template>
<div>
<el-menu
:collapse="collapse"
:unique-opened="true"
:router="true">
<template v-for="(menu, menuIndex) in menus">
<d2-layout-main-menu-item v-if="menu.children === undefined" :menu="menu" :key="menuIndex"/>
<d2-layout-main-menu-sub v-else :menu="menu" :key="menuIndex"/>
</template>
</el-menu>
<!-- <div v-if="sideMenu.filter(e => e.title).length === 0 && !collapse" class="d2-menu-side-empty">
没有菜单
</div> -->
</div>
</template>
<script>
import { side } from '@/menu/index.js'
export default {
name: 'd2-layout-main-menu-side',
props: {
collapse: {
type: Boolean,
required: false,
default: false
}
},
components: {
'd2-layout-main-menu-item': () => import('../d2-layout-main-menu-item/index.vue'),
'd2-layout-main-menu-sub': () => import('../d2-layout-main-menu-sub/index.vue')
},
data () {
return {
menus: []
}
},
watch: {
'$route.matched': {
handler (val) {
const path = val[0].path
this.menus = side.filter(menu => menu.path === path)
},
immediate: true
}
}
}
</script>

View File

@@ -7,16 +7,16 @@
<img v-else src="@/assets/image/logo/header.png"> <img v-else src="@/assets/image/logo/header.png">
</div> </div>
<div class="toggle-aside-btn" @click="collapse = !collapse"> <div class="toggle-aside-btn" @click="collapse = !collapse">
<Icon name="bars"/> <d2-icon name="bars"/>
</div> </div>
<HeaderMenu/> <d2-layout-main-menu-header/>
<HeaderRight/> <d2-layout-main-header-right/>
</el-header> </el-header>
<!-- 下面 主体 --> <!-- 下面 主体 -->
<el-container> <el-container>
<!-- 主体 侧边栏 --> <!-- 主体 侧边栏 -->
<el-aside :style="{width: collapse ? asideWidthCollapse : asideWidth}"> <el-aside :style="{width: collapse ? asideWidthCollapse : asideWidth}">
<SideMenu :collapse="collapse"/> <d2-layout-main-menu-side :collapse="collapse"/>
</el-aside> </el-aside>
<!-- 主体 --> <!-- 主体 -->
<el-main> <el-main>
@@ -30,10 +30,11 @@
<script> <script>
export default { export default {
name: 'd2-layout-main',
components: { components: {
SideMenu: () => import('./components/SideMenu'), 'd2-layout-main-menu-side': () => import('./components/-menu-side'),
HeaderMenu: () => import('./components/HeaderMenu'), 'd2-layout-main-menu-header': () => import('./components/-menu-header'),
HeaderRight: () => import('./components/HeaderRight') 'd2-layout-main-header-right': () => import('./components/-header-right')
}, },
data () { data () {
return { return {

View File

@@ -12,6 +12,7 @@ import marked from 'marked'
import highlight from 'highlight.js' import highlight from 'highlight.js'
import bandupan from './plugin/baidupan' import bandupan from './plugin/baidupan'
export default { export default {
name: 'd2-markdown',
props: { props: {
url: { url: {
type: String, type: String,

View File

@@ -5,6 +5,7 @@
<script> <script>
import SimpleMDE from 'simplemde' import SimpleMDE from 'simplemde'
export default { export default {
name: 'd2-mde',
props: { props: {
// //
value: { value: {

View File

@@ -8,7 +8,7 @@ import 'quill/dist/quill.core.css'
import 'quill/dist/quill.snow.css' import 'quill/dist/quill.snow.css'
import 'quill/dist/quill.bubble.css' import 'quill/dist/quill.bubble.css'
export default { export default {
name: 'QuillEditor', name: 'd2-quill',
props: { props: {
value: { value: {
type: String, type: String,

View File

@@ -1,11 +1,18 @@
import Vue from 'vue' import Vue from 'vue'
Vue.component('Container', resolve => { require(['@/components/core/Container'], resolve) }) import { GridLayout, GridItem } from 'vue-grid-layout'
Vue.component('CountUp', resolve => { require(['@/components/core/CountUp'], resolve) }) import SplitPane from 'vue-splitpane'
Vue.component('Highlight', resolve => { require(['@/components/core/Highlight'], resolve) })
Vue.component('Icon', resolve => { require(['@/components/core/Icon'], resolve) }) Vue.component('d2-grid-layout', GridLayout)
Vue.component('IconSelect', resolve => { require(['@/components/core/IconSelect/index.vue'], resolve) }) Vue.component('d2-grid-item', GridItem)
Vue.component('IconSvg', resolve => { require(['@/components/core/IconSvg/index.vue'], resolve) }) Vue.component('SplitPane', SplitPane)
Vue.component('Markdown', resolve => { require(['@/components/core/Markdown'], resolve) })
Vue.component('QuillEditor', resolve => { require(['@/components/core/QuillEditor'], resolve) }) Vue.component('d2-container', () => import('@/components/core/d2-container'))
Vue.component('SimpleMDE', resolve => { require(['@/components/core/SimpleMDE'], resolve) }) Vue.component('d2-count-up', () => import('@/components/core/d2-count-up'))
Vue.component('d2-highlight', () => import('@/components/core/d2-highlight'))
Vue.component('d2-icon', () => import('@/components/core/d2-icon'))
Vue.component('d2-icon-select', () => import('@/components/core/d2-icon-select/index.vue'))
Vue.component('d2-icon-svg', () => import('@/components/core/d2-icon-svg/index.vue'))
Vue.component('d2-markdown', () => import('@/components/core/d2-markdown'))
Vue.component('d2-quill', () => import('@/components/core/d2-quill'))
Vue.component('d2-mde', () => import('@/components/core/d2-mde'))

View File

@@ -1,35 +0,0 @@
<i18n src="./lang.json"></i18n>
<template>
<el-tooltip :content="url" :placement="tooltipPlacement">
<a :href="url" target="_blank" class="link">
{{$t('label')}}
<i class="fa fa-github"></i>
</a>
</el-tooltip>
</template>
<script>
export default {
props: {
url: {
type: String,
required: false,
default: 'https://github.com/FairyEver'
},
tooltipPlacement: {
type: String,
required: false,
default: 'top-end'
}
}
}
</script>
<style lang="scss" scoped>
@import '~@/assets/style/unit/_color.scss';
.link {
color: $color-primary;
}
</style>

View File

@@ -1,11 +0,0 @@
{
"cn": {
"label": "在 Github 查看"
},
"en": {
"label": "View in Github"
},
"ja": {
"label": "調べでGithub"
}
}

View File

@@ -1,58 +0,0 @@
<template>
<div>
<el-popover
ref="pop"
placement="top"
width="160"
v-model="popover.visible">
<p class="dd-mt-0 dd-mb-10">
<i class="fa fa-github"></i>
github
</p>
<p class="dd-mt-0 dd-mb-10" style="font-size: 10px;">{{name}}</p>
<div style="text-align: right; margin: 0">
<el-button size="mini" type="text" @click="popover.visible = false">
取消
</el-button>
<el-button type="primary" size="mini" @click="jump">
确定
</el-button>
</div>
</el-popover>
<el-button
v-popover:pop
v-bind="$attrs">
<i class="fa fa-github"></i>
{{name}}
</el-button>
</div>
</template>
<script>
export default {
props: {
name: {
type: String,
required: false,
default: ''
},
url: {
type: String,
required: false,
default: 'https://github.com/FairyEver'
}
},
data () {
return {
popover: {
visible: false
}
}
},
methods: {
jump () {
window.open(this.url)
}
}
}
</script>

View File

@@ -1,25 +0,0 @@
<template>
<div class="dd-clearfix">
<span v-if="title" class="dd-fl">{{title}}</span>
<span class="dd-fr">
<GithubLink v-if="url" :url="url"></GithubLink>
</span>
</div>
</template>
<script>
export default {
props: {
url: {
type: String,
required: false,
default: ''
},
title: {
type: String,
required: false,
default: ''
}
}
}
</script>

View File

@@ -1,10 +1,10 @@
<template> <template>
<div class="page-index-article-body"> <div class="page-index-article-body">
<div class="page-index-article-body__logo"> <div class="page-index-article-body__logo">
<slot></slot> <slot/>
</div> </div>
<p class="page-index-article-body__title">{{title}}</p> <p class="page-index-article-body__title">{{title}}</p>
<p class="page-index-article-body__sub-title dd-mt-0">{{subTitle}}</p> <p class="page-index-article-body__sub-title d2-mt-0">{{subTitle}}</p>
<a target="blank" href="https://github.com/FairyEver/d2admin-vue-element"> <a target="blank" href="https://github.com/FairyEver/d2admin-vue-element">
<img <img
style="position: absolute; top: 0; right: 0; border: 0;" style="position: absolute; top: 0; right: 0; border: 0;"

View File

@@ -0,0 +1,19 @@
<template>
<div class="d2-clearfix">
<span v-if="title" class="d2-fl">{{title}}</span>
<span class="d2-fr"></span>
</div>
</template>
<script>
export default {
name: 'd2-demo-page-header',
props: {
title: {
type: String,
required: false,
default: ''
}
}
}
</script>

View File

@@ -1,11 +1,4 @@
import Vue from 'vue' import Vue from 'vue'
import {GridLayout, GridItem} from 'vue-grid-layout'
import SplitPane from 'vue-splitpane'
Vue.component('GridLayout', GridLayout) Vue.component('d2-demo-page-header', () => import('@/components/demo/d2-demo-page-header'))
Vue.component('GridItem', GridItem) Vue.component('d2-demo-page-cover', () => import('@/components/demo/d2-demo-page-cover'))
Vue.component('SplitPane', SplitPane)
Vue.component('GithubLink', resolve => { require(['@/components/demo/GithubLink'], resolve) })
Vue.component('GithubLinkButton', resolve => { require(['@/components/demo/GithubLinkButton'], resolve) })
Vue.component('PageHeader', resolve => { require(['@/components/demo/PageHeader'], resolve) })
Vue.component('PageIndexArticle', resolve => { require(['@/components/demo/PageIndexArticle'], resolve) })

View File

@@ -1,9 +1,9 @@
<template> <template>
<Container type="full"> <d2-container type="full">
<PageIndexArticle <d2-demo-page-cover
title="I AM D2ADMIN" title="I AM D2ADMIN"
sub-title="追求简约美感 & 上手即用的后台管理系统模板"> sub-title="追求简约美感 & 上手即用的后台管理系统模板">
<img src="@/assets/image/logo/w500.png"> <img src="@/assets/image/logo/w500.png">
</PageIndexArticle> </d2-demo-page-cover>
</Container> </d2-container>
</template> </template>

View File

@@ -1,9 +1,9 @@
<template> <template>
<Container type="full"> <d2-container type="full">
<PageIndexArticle <d2-demo-page-cover
title="示例业务页面" title="示例业务页面"
sub-title="如果用不到 建议删除相关代码"> sub-title="如果用不到 建议删除相关代码">
<img src="@/assets/image/logo/w500-business.png"> <img src="@/assets/image/logo/w500-business.png">
</PageIndexArticle> </d2-demo-page-cover>
</Container> </d2-container>
</template> </template>

View File

@@ -1,8 +1,8 @@
<template> <template>
<Container type="full"> <d2-container type="full">
<template slot="header"> <template slot="header">
用户中心 用户中心
</template> </template>
doing... doing...
</Container> </d2-container>
</template> </template>

View File

@@ -1,13 +1,13 @@
<template> <template>
<div> <div>
{{title}} {{title}}
<span class="dd-fr"> <span class="d2-fr">
<Icon <d2-icon
class="chart-card-header-icon" class="chart-card-header-icon"
:class="{active}" :class="{active}"
name="refresh" name="refresh"
@click.native="handleRefresh"> @click.native="handleRefresh">
</Icon> </d2-icon>
</span> </span>
</div> </div>
</template> </template>

View File

@@ -1,56 +1,56 @@
<template> <template>
<Container type="ghost" :responsive="true" class="demo-chart-index"> <d2-container type="ghost" :responsive="true" class="demo-chart-index">
<el-row :gutter="20"> <el-row :gutter="20">
<el-col class="col" :span="8"> <el-col class="col" :span="8">
<el-card class="header-in"> <el-card class="header-in">
<ChartCardHeader slot="header" @refresh="handleRefreshData(0)" title="G2LineBase"></ChartCardHeader> <ChartCardHeader slot="header" @refresh="handleRefreshData(0)" title="<d2-chart-line-base/>"></ChartCardHeader>
<G2LineBase :ref="chart[0].refName" v-bind="chart[0]" @ready="isReady(0)"></G2LineBase> <d2-chart-line-base :ref="chart[0].refName" v-bind="chart[0]" @ready="isReady(0)"></d2-chart-line-base>
</el-card> </el-card>
</el-col> </el-col>
<el-col class="col" :span="8"> <el-col class="col" :span="8">
<el-card class="header-in"> <el-card class="header-in">
<ChartCardHeader slot="header" @refresh="handleRefreshData(1)" title="G2LineStep"></ChartCardHeader> <ChartCardHeader slot="header" @refresh="handleRefreshData(1)" title="<d2-chart-line-step/>"></ChartCardHeader>
<G2LineStep :ref="chart[1].refName" v-bind="chart[1]" @ready="isReady(1)"></G2LineStep> <d2-chart-line-step :ref="chart[1].refName" v-bind="chart[1]" @ready="isReady(1)"></d2-chart-line-step>
</el-card> </el-card>
</el-col> </el-col>
<el-col class="col" :span="8"> <el-col class="col" :span="8">
<el-card class="header-in"> <el-card class="header-in">
<ChartCardHeader slot="header" @refresh="handleRefreshData(2)" title="G2ColumnBase"></ChartCardHeader> <ChartCardHeader slot="header" @refresh="handleRefreshData(2)" title="<d2-chart-column-base/>"></ChartCardHeader>
<G2ColumnBase :ref="chart[2].refName" v-bind="chart[2]" @ready="isReady(2)"></G2ColumnBase> <d2-chart-column-base :ref="chart[2].refName" v-bind="chart[2]" @ready="isReady(2)"></d2-chart-column-base>
</el-card> </el-card>
</el-col> </el-col>
<el-col class="col" :span="8"> <el-col class="col" :span="8">
<el-card class="header-in"> <el-card class="header-in">
<ChartCardHeader slot="header" @refresh="handleRefreshData(3)" title="G2BarBase"></ChartCardHeader> <ChartCardHeader slot="header" @refresh="handleRefreshData(3)" title="<d2-chart-bar-base/>"></ChartCardHeader>
<G2BarBase :ref="chart[3].refName" v-bind="chart[3]" @ready="isReady(3)"></G2BarBase> <d2-chart-bar-base :ref="chart[3].refName" v-bind="chart[3]" @ready="isReady(3)"></d2-chart-bar-base>
</el-card> </el-card>
</el-col> </el-col>
<el-col class="col" :span="8"> <el-col class="col" :span="8">
<el-card class="header-in"> <el-card class="header-in">
<ChartCardHeader slot="header" @refresh="handleRefreshData(4)" title="G2PieBase"></ChartCardHeader> <ChartCardHeader slot="header" @refresh="handleRefreshData(4)" title="<d2-chart-pie-base/>"></ChartCardHeader>
<G2PieBase :ref="chart[4].refName" v-bind="chart[4]" @ready="isReady(4)"></G2PieBase> <d2-chart-pie-base :ref="chart[4].refName" v-bind="chart[4]" @ready="isReady(4)"></d2-chart-pie-base>
</el-card> </el-card>
</el-col> </el-col>
<el-col class="col" :span="8"> <el-col class="col" :span="8">
<el-card class="header-in"> <el-card class="header-in">
<ChartCardHeader slot="header" @refresh="handleRefreshData(5)" title="G2NightingaleRoseBase"></ChartCardHeader> <ChartCardHeader slot="header" @refresh="handleRefreshData(5)" title="<d2-chart-nightingale-rose-base/>"></ChartCardHeader>
<G2NightingaleRoseBase :ref="chart[5].refName" v-bind="chart[5]" @ready="isReady(5)"></G2NightingaleRoseBase> <d2-chart-nightingale-rose-base :ref="chart[5].refName" v-bind="chart[5]" @ready="isReady(5)"></d2-chart-nightingale-rose-base>
</el-card> </el-card>
</el-col> </el-col>
<el-col class="col" :span="8"> <el-col class="col" :span="8">
<el-card class="header-in"> <el-card class="header-in">
<ChartCardHeader slot="header" @refresh="handleRefreshData(6)" title="G2RadarBase"></ChartCardHeader> <ChartCardHeader slot="header" @refresh="handleRefreshData(6)" title="<d2-chart-radar-base/>"></ChartCardHeader>
<G2RadarBase :ref="chart[6].refName" v-bind="chart[6]" @ready="isReady(6)"></G2RadarBase> <d2-chart-radar-base :ref="chart[6].refName" v-bind="chart[6]" @ready="isReady(6)"></d2-chart-radar-base>
</el-card> </el-card>
</el-col> </el-col>
<el-col class="col" :span="8"> <el-col class="col" :span="8">
<el-card class="header-in"> <el-card class="header-in">
<ChartCardHeader slot="header" @refresh="handleRefreshData(7)" title="G2AreaBase"></ChartCardHeader> <ChartCardHeader slot="header" @refresh="handleRefreshData(7)" title="<d2-chart-area-base/>"></ChartCardHeader>
<G2AreaBase :ref="chart[7].refName" v-bind="chart[7]" @ready="isReady(7)"></G2AreaBase> <d2-chart-area-base :ref="chart[7].refName" v-bind="chart[7]" @ready="isReady(7)"></d2-chart-area-base>
</el-card> </el-card>
</el-col> </el-col>
</el-row> </el-row>
</Container> </d2-container>
</template> </template>
<script> <script>
@@ -63,49 +63,49 @@ export default {
chart: [ chart: [
{ {
api: {url: '/api/chart/G2Line', data: {type: 'base'}}, api: {url: '/api/chart/G2Line', data: {type: 'base'}},
refName: 'G2LineBase', refName: 'd2-chart-line-base',
ready: false, ready: false,
data: [] data: []
}, },
{ {
api: {url: '/api/chart/G2Line', data: {type: 'step'}}, api: {url: '/api/chart/G2Line', data: {type: 'step'}},
refName: 'G2LineStep', refName: 'd2-chart-line-step',
ready: false, ready: false,
data: [] data: []
}, },
{ {
api: {url: '/api/chart/G2Column', data: {type: 'base'}}, api: {url: '/api/chart/G2Column', data: {type: 'base'}},
refName: 'G2ColumnBase', refName: 'd2-chart-column-base',
ready: false, ready: false,
data: [] data: []
}, },
{ {
api: {url: '/api/chart/G2Bar', data: {type: 'base'}}, api: {url: '/api/chart/G2Bar', data: {type: 'base'}},
refName: 'G2BarBase', refName: 'd2-chart-bar-base',
ready: false, ready: false,
data: [] data: []
}, },
{ {
api: {url: '/api/chart/G2Pie', data: {type: 'base'}}, api: {url: '/api/chart/G2Pie', data: {type: 'base'}},
refName: 'G2PieBase', refName: 'd2-chart-pie-base',
ready: false, ready: false,
data: [] data: []
}, },
{ {
api: {url: '/api/chart/G2NightingaleRose', data: {type: 'base'}}, api: {url: '/api/chart/G2NightingaleRose', data: {type: 'base'}},
refName: 'G2NightingaleRoseBase', refName: 'd2-chart-nightingale-rose-base',
ready: false, ready: false,
data: [] data: []
}, },
{ {
api: {url: '/api/chart/G2Radar', data: {type: 'base'}}, api: {url: '/api/chart/G2Radar', data: {type: 'base'}},
refName: 'G2RadarBase', refName: 'd2-chart-radar-base',
ready: false, ready: false,
data: [] data: []
}, },
{ {
api: {url: '/api/chart/G2Area', data: {type: 'base'}}, api: {url: '/api/chart/G2Area', data: {type: 'base'}},
refName: 'G2AreaBase', refName: 'd2-chart-area-base',
ready: false, ready: false,
data: [] data: []
} }

View File

@@ -1,7 +1,7 @@
@import '~@/assets/style/public.scss'; @import '~@/assets/style/public.scss';
.demo-chart-index { .demo-chart-index {
.col { .col {
height: 300px; height: 340px;
margin-bottom: 20px; margin-bottom: 20px;
.el-card { .el-card {
@extend %unable-select; @extend %unable-select;

View File

@@ -1,12 +1,12 @@
<template> <template>
<Container type="ghost" :responsive="true"> <d2-container type="ghost" :responsive="true">
<ChartDemoCard class="dd-mb" v-bind="card" @resize="$refs.chart.resize()"> <ChartDemoCard class="d2-mb" v-bind="card" @resize="$refs.chart.resize()">
<G2PieBase slot-scope="{data}" ref="chart" :data="data" v-bind="chart"></G2PieBase> <d2-chart-pie-base slot-scope="{data}" ref="chart" :data="data" v-bind="chart"></d2-chart-pie-base>
</ChartDemoCard> </ChartDemoCard>
<el-card> <el-card>
<Markdown url="/static/md/组件 - 图表.md"></Markdown> <d2-markdown url="/static/md/组件 - 图表.md"/>
</el-card> </el-card>
</Container> </d2-container>
</template> </template>
<script> <script>

View File

@@ -1,12 +1,12 @@
<template> <template>
<Container type="ghost" :responsive="true"> <d2-container type="ghost" :responsive="true">
<ChartDemoCard class="dd-mb" v-bind="card" @resize="$refs.chart.resize()"> <ChartDemoCard class="d2-mb" v-bind="card" @resize="$refs.chart.resize()">
<G2AreaBase slot-scope="{data}" ref="chart" :data="data" v-bind="chart"></G2AreaBase> <d2-chart-area-base slot-scope="{data}" ref="chart" :data="data" v-bind="chart"></d2-chart-area-base>
</ChartDemoCard> </ChartDemoCard>
<el-card> <el-card>
<Markdown url="/static/md/组件 - 图表.md"></Markdown> <d2-markdown url="/static/md/组件 - 图表.md"/>
</el-card> </el-card>
</Container> </d2-container>
</template> </template>
<script> <script>

View File

@@ -1,12 +1,12 @@
<template> <template>
<Container type="ghost" :responsive="true"> <d2-container type="ghost" :responsive="true">
<ChartDemoCard class="dd-mb" v-bind="card" @resize="$refs.chart.resize()"> <ChartDemoCard class="d2-mb" v-bind="card" @resize="$refs.chart.resize()">
<G2BarBase slot-scope="{data}" ref="chart" :data="data" v-bind="chart"></G2BarBase> <d2-chart-bar-base slot-scope="{data}" ref="chart" :data="data" v-bind="chart"></d2-chart-bar-base>
</ChartDemoCard> </ChartDemoCard>
<el-card> <el-card>
<Markdown url="/static/md/组件 - 图表.md"></Markdown> <d2-markdown url="/static/md/组件 - 图表.md"/>
</el-card> </el-card>
</Container> </d2-container>
</template> </template>
<script> <script>

View File

@@ -1,12 +1,12 @@
<template> <template>
<Container type="ghost" :responsive="true"> <d2-container type="ghost" :responsive="true">
<ChartDemoCard class="dd-mb" v-bind="card" @resize="$refs.chart.resize()"> <ChartDemoCard class="d2-mb" v-bind="card" @resize="$refs.chart.resize()">
<G2ColumnBase slot-scope="{data}" ref="chart" :data="data" v-bind="chart"></G2ColumnBase> <d2-chart-column-base slot-scope="{data}" ref="chart" :data="data" v-bind="chart"></d2-chart-column-base>
</ChartDemoCard> </ChartDemoCard>
<el-card> <el-card>
<Markdown url="/static/md/组件 - 图表.md"></Markdown> <d2-markdown url="/static/md/组件 - 图表.md"/>
</el-card> </el-card>
</Container> </d2-container>
</template> </template>
<script> <script>

View File

@@ -2,7 +2,7 @@
<el-card> <el-card>
<div slot="header"> <div slot="header">
<el-button type="primary" size="mini" @click="syncData"> <el-button type="primary" size="mini" @click="syncData">
<Icon name="refresh"></Icon> <d2-icon name="refresh"/>
加载数据 加载数据
</el-button> </el-button>
<el-radio-group v-model="height" size="mini"> <el-radio-group v-model="height" size="mini">
@@ -10,7 +10,7 @@
</el-radio-group> </el-radio-group>
</div> </div>
<div :style="style"> <div :style="style">
<slot :data="data"></slot> <slot :data="data"/>
</div> </div>
</el-card> </el-card>
</template> </template>

View File

@@ -1,12 +1,12 @@
<template> <template>
<Container type="ghost" :responsive="true"> <d2-container type="ghost" :responsive="true">
<ChartDemoCard class="dd-mb" v-bind="card" @resize="$refs.chart.resize()"> <ChartDemoCard class="d2-mb" v-bind="card" @resize="$refs.chart.resize()">
<G2LineBase slot-scope="{data}" ref="chart" :data="data" v-bind="chart"></G2LineBase> <d2-chart-line-base slot-scope="{data}" ref="chart" :data="data" v-bind="chart"></d2-chart-line-base>
</ChartDemoCard> </ChartDemoCard>
<el-card> <el-card>
<Markdown url="/static/md/组件 - 图表.md"></Markdown> <d2-markdown url="/static/md/组件 - 图表.md"/>
</el-card> </el-card>
</Container> </d2-container>
</template> </template>
<script> <script>

View File

@@ -1,12 +1,12 @@
<template> <template>
<Container type="ghost" :responsive="true"> <d2-container type="ghost" :responsive="true">
<ChartDemoCard class="dd-mb" v-bind="card" @resize="$refs.chart.resize()"> <ChartDemoCard class="d2-mb" v-bind="card" @resize="$refs.chart.resize()">
<G2LineStep slot-scope="{data}" ref="chart" :data="data" v-bind="chart"></G2LineStep> <d2-chart-line-step slot-scope="{data}" ref="chart" :data="data" v-bind="chart"></d2-chart-line-step>
</ChartDemoCard> </ChartDemoCard>
<el-card> <el-card>
<Markdown url="/static/md/组件 - 图表.md"></Markdown> <d2-markdown url="/static/md/组件 - 图表.md"/>
</el-card> </el-card>
</Container> </d2-container>
</template> </template>
<script> <script>

View File

@@ -1,12 +1,12 @@
<template> <template>
<Container type="ghost" :responsive="true"> <d2-container type="ghost" :responsive="true">
<ChartDemoCard class="dd-mb" v-bind="card" @resize="$refs.chart.resize()"> <ChartDemoCard class="d2-mb" v-bind="card" @resize="$refs.chart.resize()">
<G2NightingaleRoseBase slot-scope="{data}" ref="chart" :data="data" v-bind="chart"></G2NightingaleRoseBase> <d2-chart-nightingale-rose-base slot-scope="{data}" ref="chart" :data="data" v-bind="chart"></d2-chart-nightingale-rose-base>
</ChartDemoCard> </ChartDemoCard>
<el-card> <el-card>
<Markdown url="/static/md/组件 - 图表.md"></Markdown> <d2-markdown url="/static/md/组件 - 图表.md"/>
</el-card> </el-card>
</Container> </d2-container>
</template> </template>
<script> <script>

View File

@@ -1,12 +1,12 @@
<template> <template>
<Container type="ghost" :responsive="true"> <d2-container type="ghost" :responsive="true">
<ChartDemoCard class="dd-mb" v-bind="card" @resize="$refs.chart.resize()"> <ChartDemoCard class="d2-mb" v-bind="card" @resize="$refs.chart.resize()">
<G2RadarBase slot-scope="{data}" ref="chart" :data="data" v-bind="chart"></G2RadarBase> <d2-chart-radar-base slot-scope="{data}" ref="chart" :data="data" v-bind="chart"></d2-chart-radar-base>
</ChartDemoCard> </ChartDemoCard>
<el-card> <el-card>
<Markdown url="/static/md/组件 - 图表.md"></Markdown> <d2-markdown url="/static/md/组件 - 图表.md"/>
</el-card> </el-card>
</Container> </d2-container>
</template> </template>
<script> <script>

View File

@@ -1,13 +1,13 @@
<template> <template>
<div> <div>
{{title}} {{title}}
<span class="dd-fr"> <span class="d2-fr">
<Icon <d2-icon
class="chart-card-header-icon" class="chart-card-header-icon"
:class="{active}" :class="{active}"
name="refresh" name="refresh"
@click.native="handleRefresh"> @click.native="handleRefresh">
</Icon> </d2-icon>
</span> </span>
</div> </div>
</template> </template>

View File

@@ -1,64 +1,64 @@
<template> <template>
<Container type="ghost" :responsive="true" class="demo-chart-index"> <d2-container type="ghost" :responsive="true" class="demo-chart-index">
<GridLayout v-bind="layout" @layout-updated="layoutUpdatedHandler"> <d2-grid-layout v-bind="layout" @layout-updated="layoutUpdatedHandler">
<!-- 卡片 --> <!-- 卡片 -->
<GridItem v-bind="layout.layout[0]" @resized="handleResized(chart[0].refName)"> <d2-grid-item v-bind="layout.layout[0]" @resized="handleResized(chart[0].refName)">
<el-card class="header-in"> <el-card class="header-in">
<ChartCardHeader slot="header" @refresh="handleRefreshData(0)" title="G2LineBase"></ChartCardHeader> <ChartCardHeader slot="header" @refresh="handleRefreshData(0)" title="d2-chart-line-base"></ChartCardHeader>
<G2LineBase :ref="chart[0].refName" v-bind="chart[0]" @ready="isReady(0)"></G2LineBase> <d2-chart-line-base :ref="chart[0].refName" v-bind="chart[0]" @ready="isReady(0)"></d2-chart-line-base>
</el-card> </el-card>
</GridItem> </d2-grid-item>
<!-- 卡片 --> <!-- 卡片 -->
<GridItem v-bind="layout.layout[1]" @resized="handleResized(chart[1].refName)"> <d2-grid-item v-bind="layout.layout[1]" @resized="handleResized(chart[1].refName)">
<el-card class="header-in"> <el-card class="header-in">
<ChartCardHeader slot="header" @refresh="handleRefreshData(1)" title="G2LineStep"></ChartCardHeader> <ChartCardHeader slot="header" @refresh="handleRefreshData(1)" title="d2-chart-line-step"></ChartCardHeader>
<G2LineStep :ref="chart[1].refName" v-bind="chart[1]" @ready="isReady(1)"></G2LineStep> <d2-chart-line-step :ref="chart[1].refName" v-bind="chart[1]" @ready="isReady(1)"></d2-chart-line-step>
</el-card> </el-card>
</GridItem> </d2-grid-item>
<!-- 卡片 --> <!-- 卡片 -->
<GridItem v-bind="layout.layout[2]" @resized="handleResized(chart[2].refName)"> <d2-grid-item v-bind="layout.layout[2]" @resized="handleResized(chart[2].refName)">
<el-card class="header-in"> <el-card class="header-in">
<ChartCardHeader slot="header" @refresh="handleRefreshData(2)" title="G2ColumnBase"></ChartCardHeader> <ChartCardHeader slot="header" @refresh="handleRefreshData(2)" title="d2-chart-column-base"></ChartCardHeader>
<G2ColumnBase :ref="chart[2].refName" v-bind="chart[2]" @ready="isReady(2)"></G2ColumnBase> <d2-chart-column-base :ref="chart[2].refName" v-bind="chart[2]" @ready="isReady(2)"></d2-chart-column-base>
</el-card> </el-card>
</GridItem> </d2-grid-item>
<!-- 卡片 --> <!-- 卡片 -->
<GridItem v-bind="layout.layout[3]" @resized="handleResized(chart[3].refName)"> <d2-grid-item v-bind="layout.layout[3]" @resized="handleResized(chart[3].refName)">
<el-card class="header-in"> <el-card class="header-in">
<ChartCardHeader slot="header" @refresh="handleRefreshData(3)" title="G2BarBase"></ChartCardHeader> <ChartCardHeader slot="header" @refresh="handleRefreshData(3)" title="d2-chart-bar-base"></ChartCardHeader>
<G2BarBase :ref="chart[3].refName" v-bind="chart[3]" @ready="isReady(3)"></G2BarBase> <d2-chart-bar-base :ref="chart[3].refName" v-bind="chart[3]" @ready="isReady(3)"></d2-chart-bar-base>
</el-card> </el-card>
</GridItem> </d2-grid-item>
<!-- 卡片 --> <!-- 卡片 -->
<GridItem v-bind="layout.layout[4]" @resized="handleResized(chart[4].refName)"> <d2-grid-item v-bind="layout.layout[4]" @resized="handleResized(chart[4].refName)">
<el-card class="header-in"> <el-card class="header-in">
<ChartCardHeader slot="header" @refresh="handleRefreshData(4)" title="G2PieBase"></ChartCardHeader> <ChartCardHeader slot="header" @refresh="handleRefreshData(4)" title="d2-chart-pie-base"></ChartCardHeader>
<G2PieBase :ref="chart[4].refName" v-bind="chart[4]" @ready="isReady(4)"></G2PieBase> <d2-chart-pie-base :ref="chart[4].refName" v-bind="chart[4]" @ready="isReady(4)"></d2-chart-pie-base>
</el-card> </el-card>
</GridItem> </d2-grid-item>
<!-- 卡片 --> <!-- 卡片 -->
<GridItem v-bind="layout.layout[5]" @resized="handleResized(chart[5].refName)"> <d2-grid-item v-bind="layout.layout[5]" @resized="handleResized(chart[5].refName)">
<el-card class="header-in"> <el-card class="header-in">
<ChartCardHeader slot="header" @refresh="handleRefreshData(5)" title="G2NightingaleRoseBase"></ChartCardHeader> <ChartCardHeader slot="header" @refresh="handleRefreshData(5)" title="d2-chart-nightingale-rose-base"></ChartCardHeader>
<G2NightingaleRoseBase :ref="chart[5].refName" v-bind="chart[5]" @ready="isReady(5)"></G2NightingaleRoseBase> <d2-chart-nightingale-rose-base :ref="chart[5].refName" v-bind="chart[5]" @ready="isReady(5)"></d2-chart-nightingale-rose-base>
</el-card> </el-card>
</GridItem> </d2-grid-item>
<!-- 卡片 --> <!-- 卡片 -->
<GridItem v-bind="layout.layout[6]" @resized="handleResized(chart[6].refName)"> <d2-grid-item v-bind="layout.layout[6]" @resized="handleResized(chart[6].refName)">
<el-card class="header-in"> <el-card class="header-in">
<ChartCardHeader slot="header" @refresh="handleRefreshData(6)" title="G2RadarBase"></ChartCardHeader> <ChartCardHeader slot="header" @refresh="handleRefreshData(6)" title="d2-chart-radar-base"></ChartCardHeader>
<G2RadarBase :ref="chart[6].refName" v-bind="chart[6]" @ready="isReady(6)"></G2RadarBase> <d2-chart-radar-base :ref="chart[6].refName" v-bind="chart[6]" @ready="isReady(6)"></d2-chart-radar-base>
</el-card> </el-card>
</GridItem> </d2-grid-item>
<!-- 卡片 --> <!-- 卡片 -->
<GridItem v-bind="layout.layout[7]" @resized="handleResized(chart[7].refName)"> <d2-grid-item v-bind="layout.layout[7]" @resized="handleResized(chart[7].refName)">
<el-card class="header-in"> <el-card class="header-in">
<ChartCardHeader slot="header" @refresh="handleRefreshData(7)" title="G2AreaBase"></ChartCardHeader> <ChartCardHeader slot="header" @refresh="handleRefreshData(7)" title="d2-chart-area-base"></ChartCardHeader>
<G2AreaBase :ref="chart[7].refName" v-bind="chart[7]" @ready="isReady(7)"></G2AreaBase> <d2-chart-area-base :ref="chart[7].refName" v-bind="chart[7]" @ready="isReady(7)"></d2-chart-area-base>
</el-card> </el-card>
</GridItem> </d2-grid-item>
</GridLayout> </d2-grid-layout>
</Container> </d2-container>
</template> </template>
<script> <script>
@@ -71,49 +71,49 @@ export default {
chart: [ chart: [
{ {
api: {url: '/api/chart/G2Line', data: {type: 'base'}}, api: {url: '/api/chart/G2Line', data: {type: 'base'}},
refName: 'G2LineBase', refName: 'd2-chart-line-base',
ready: false, ready: false,
data: [] data: []
}, },
{ {
api: {url: '/api/chart/G2Line', data: {type: 'step'}}, api: {url: '/api/chart/G2Line', data: {type: 'step'}},
refName: 'G2LineStep', refName: 'd2-chart-line-step',
ready: false, ready: false,
data: [] data: []
}, },
{ {
api: {url: '/api/chart/G2Column', data: {type: 'base'}}, api: {url: '/api/chart/G2Column', data: {type: 'base'}},
refName: 'G2ColumnBase', refName: 'd2-chart-column-base',
ready: false, ready: false,
data: [] data: []
}, },
{ {
api: {url: '/api/chart/G2Bar', data: {type: 'base'}}, api: {url: '/api/chart/G2Bar', data: {type: 'base'}},
refName: 'G2BarBase', refName: 'd2-chart-bar-base',
ready: false, ready: false,
data: [] data: []
}, },
{ {
api: {url: '/api/chart/G2Pie', data: {type: 'base'}}, api: {url: '/api/chart/G2Pie', data: {type: 'base'}},
refName: 'G2PieBase', refName: 'd2-chart-pie-base',
ready: false, ready: false,
data: [] data: []
}, },
{ {
api: {url: '/api/chart/G2NightingaleRose', data: {type: 'base'}}, api: {url: '/api/chart/G2NightingaleRose', data: {type: 'base'}},
refName: 'G2NightingaleRoseBase', refName: 'd2-chart-nightingale-rose-base',
ready: false, ready: false,
data: [] data: []
}, },
{ {
api: {url: '/api/chart/G2Radar', data: {type: 'base'}}, api: {url: '/api/chart/G2Radar', data: {type: 'base'}},
refName: 'G2RadarBase', refName: 'd2-chart-radar-base',
ready: false, ready: false,
data: [] data: []
}, },
{ {
api: {url: '/api/chart/G2Area', data: {type: 'base'}}, api: {url: '/api/chart/G2Area', data: {type: 'base'}},
refName: 'G2AreaBase', refName: 'd2-chart-area-base',
ready: false, ready: false,
data: [] data: []
} }

View File

@@ -1,9 +1,9 @@
<template> <template>
<Container type="full"> <d2-container type="full">
<PageIndexArticle <d2-demo-page-cover
title="内置 G2 图表库" title="内置 G2 图表库"
sub-title="如果用不到 建议删除相关代码和依赖"> sub-title="如果用不到 建议删除相关代码和依赖">
<img src="@/assets/image/logo/w500-chart.png"> <img src="@/assets/image/logo/w500-chart.png">
</PageIndexArticle> </d2-demo-page-cover>
</Container> </d2-container>
</template> </template>

View File

@@ -1,11 +1,11 @@
<template> <template>
<Container type="full"> <d2-container type="full">
<template slot="header"> <template slot="header">
我是插入到 header 中的内容 我是插入到 header 中的内容
</template> </template>
<Markdown url="/static/md/组件 - 页面容器 - 撑满.md"></Markdown> <d2-markdown url="/static/md/组件 - 页面容器 - 撑满.md"/>
<template slot="footer"> <template slot="footer">
我是插入到 footer 中的内容 我是插入到 footer 中的内容
</template> </template>
</Container> </d2-container>
</template> </template>

View File

@@ -1,7 +1,7 @@
<template> <template>
<Container type="ghost"> <d2-container type="ghost">
<el-card style="width: 50%;"> <el-card style="width: 50%;">
<Markdown url="/static/md/组件 - 页面容器 - 隐形.md"></Markdown> <d2-markdown url="/static/md/组件 - 页面容器 - 隐形.md"/>
</el-card> </el-card>
</Container> </d2-container>
</template> </template>

View File

@@ -1,6 +1,6 @@
<template> <template>
<Container> <d2-container>
<template slot="header">我是插入到 header 中的内容</template> <template slot="header">我是插入到 header 中的内容</template>
<Markdown url="/static/md/组件 - 页面容器 - 基础.md"></Markdown> <d2-markdown url="/static/md/组件 - 页面容器 - 基础.md"/>
</Container> </d2-container>
</template> </template>

View File

@@ -1,17 +1,14 @@
<template> <template>
<Container type="ghost" class="page"> <d2-container type="ghost" class="page">
<el-card> <el-card>
<PageHeader <d2-demo-page-header title="数字动画组件"/>
title="数字动画组件"
url="https://github.com/inorganik/countUp.js">
</PageHeader>
</el-card> </el-card>
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="6"> <el-col :span="6">
<el-card> <el-card>
<p slot="title">只设置目标数字</p> <p slot="title">只设置目标数字</p>
<div class="group"> <div class="group">
<CountUp :end="100"></CountUp> <d2-count-up :end="100"/>
</div> </div>
</el-card> </el-card>
</el-col> </el-col>
@@ -19,7 +16,7 @@
<el-card> <el-card>
<p slot="title">设置起止数值</p> <p slot="title">设置起止数值</p>
<div class="group"> <div class="group">
<CountUp :start="14" :end="100"></CountUp> <d2-count-up :start="14" :end="100"/>
</div> </div>
</el-card> </el-card>
</el-col> </el-col>
@@ -27,7 +24,7 @@
<el-card> <el-card>
<p slot="title">小数位数</p> <p slot="title">小数位数</p>
<div class="group"> <div class="group">
<CountUp :end="100" :decimals="2"></CountUp> <d2-count-up :end="100" :decimals="2"/>
</div> </div>
</el-card> </el-card>
</el-col> </el-col>
@@ -35,7 +32,7 @@
<el-card> <el-card>
<p slot="title">动画时长</p> <p slot="title">动画时长</p>
<div class="group"> <div class="group">
<CountUp :end="100" :duration="6"></CountUp> <d2-count-up :end="100" :duration="6"/>
</div> </div>
</el-card> </el-card>
</el-col> </el-col>
@@ -43,7 +40,7 @@
<el-card> <el-card>
<p slot="title">回调函数</p> <p slot="title">回调函数</p>
<div class="group"> <div class="group">
<CountUp :end="100" :callback="() => {className = 'end'}" :class="className"></CountUp> <d2-count-up :end="100" :callback="() => {className = 'end'}" :class="className"/>
</div> </div>
</el-card> </el-card>
</el-col> </el-col>
@@ -51,15 +48,15 @@
<el-card> <el-card>
<p slot="title">结束一秒后更新数值</p> <p slot="title">结束一秒后更新数值</p>
<div class="group"> <div class="group">
<CountUp :end="end" :callback="update"></CountUp> <d2-count-up :end="end" :callback="update"/>
</div> </div>
</el-card> </el-card>
</el-col> </el-col>
</el-row> </el-row>
<el-card> <el-card>
<Markdown url="/static/md/组件 - 数字动画.md"></Markdown> <d2-markdown url="/static/md/组件 - 数字动画.md"/>
</el-card> </el-card>
</Container> </d2-container>
</template> </template>
<script> <script>

View File

@@ -1,24 +1,19 @@
<template> <template>
<Container type="ghost"> <d2-container type="ghost">
<el-card class="dd-mb"> <el-card class="d2-mb">
<PageHeader <d2-demo-page-header slot="header" title="基本示例"/>
slot="header" <d2-quill
title="基本示例"
url="https://github.com/quilljs/quill">
</PageHeader>
<QuillEditor
style="min-height: 200px;" style="min-height: 200px;"
v-model="value" v-model="value"
@text-change="textChangeHandler" @text-change="textChangeHandler"
@selection-change="selectionChangeHandler" @selection-change="selectionChangeHandler"
@editor-change="editorChangeHandler"> @editor-change="editorChangeHandler"/>
</QuillEditor>
</el-card> </el-card>
<el-card> <el-card>
<template slot="header">输出</template> <template slot="header">输出</template>
<Highlight :code="formated"></Highlight> <d2-highlight :code="formated"/>
</el-card> </el-card>
</Container> </d2-container>
</template> </template>
<script> <script>

View File

@@ -1,21 +1,16 @@
<template> <template>
<Container type="ghost"> <d2-container type="ghost">
<el-card class="dd-mb"> <el-card class="d2-mb">
<PageHeader <d2-demo-page-header slot="header" title="基本示例"/>
slot="header" <d2-mde
title="基本示例"
url="https://github.com/sparksuite/simplemde-markdown-editor">
</PageHeader>
<SimpleMDE
v-model="text" v-model="text"
class="mde"> class="mde"/>
</SimpleMDE>
</el-card> </el-card>
<el-card> <el-card>
<template slot="header">输出</template> <template slot="header">输出</template>
<pre>{{text}}</pre> <pre>{{text}}</pre>
</el-card> </el-card>
</Container> </d2-container>
</template> </template>
<script> <script>

View File

@@ -1,39 +1,36 @@
<template> <template>
<Container type="ghost"> <d2-container type="ghost">
<el-card class="dd-mb"> <el-card class="d2-mb">
<PageHeader <d2-demo-page-header title="代码高亮组件"/>
title="代码高亮组件"
url="https://github.com/isagalaev/highlight.js">
</PageHeader>
</el-card> </el-card>
<el-card class="dd-mb"> <el-card class="d2-mb">
<p slot="title">javascript</p> <p slot="title">javascript</p>
<Highlight :code="codeJavascript"></Highlight> <d2-highlight :code="codeJavascript"/>
</el-card> </el-card>
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="8"> <el-col :span="8">
<el-card class="dd-mb"> <el-card class="d2-mb">
<p slot="title">css</p> <p slot="title">css</p>
<Highlight :code="codeCSS"></Highlight> <d2-highlight :code="codeCSS"/>
</el-card> </el-card>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-card class="dd-mb"> <el-card class="d2-mb">
<p slot="title">scss</p> <p slot="title">scss</p>
<Highlight :code="codeSCSS"></Highlight> <d2-highlight :code="codeSCSS"/>
</el-card> </el-card>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-card class="dd-mb"> <el-card class="d2-mb">
<p slot="title">html</p> <p slot="title">html</p>
<Highlight :code="codeHTML"></Highlight> <d2-highlight :code="codeHTML"/>
</el-card> </el-card>
</el-col> </el-col>
</el-row> </el-row>
<el-card> <el-card>
<Markdown url="/static/md/组件 - 代码高亮.md"></Markdown> <d2-markdown url="/static/md/组件 - 代码高亮.md"/>
</el-card> </el-card>
</Container> </d2-container>
</template> </template>
<script> <script>

View File

@@ -54,7 +54,7 @@ export default {
return `<i class="fa fa-${this.icon}" aria-hidden="true"></i>` return `<i class="fa fa-${this.icon}" aria-hidden="true"></i>`
}, },
iconComponent () { iconComponent () {
return `<Icon name="${this.icon}"></Icon>` return `<d2-icon name="${this.icon}"/>`
} }
}, },
methods: { methods: {

View File

@@ -1,20 +1,16 @@
<template> <template>
<Container type="ghost"> <d2-container type="ghost">
<el-card class="dd-mb"> <el-card class="d2-mb">
<PageHeader <d2-demo-page-header slot="header" title="图标组件"/>
slot="header" <d2-icon/>
title="图标组件" <d2-icon name="github"/>
url="https://github.com/FairyEver/d2admin-vue-element/blob/master/src/components/core/Icon/index.vue"> <d2-icon name="github" style="font-size: 100px;"/>
</PageHeader> <d2-icon name="github" class="icon-class-demo"/>
<Icon></Icon>
<Icon name="github"></Icon>
<Icon name="github" style="font-size: 100px;"></Icon>
<Icon name="github" class="icon-class-demo"></Icon>
</el-card> </el-card>
<el-card> <el-card>
<Markdown url="/static/md/组件 - 图标组件.md"></Markdown> <d2-markdown url="/static/md/组件 - 图标组件.md"/>
</el-card> </el-card>
</Container> </d2-container>
</template> </template>
<style lang="scss"> <style lang="scss">

View File

@@ -1,5 +1,5 @@
<template> <template>
<Container type="ghost"> <d2-container type="ghost">
<el-card> <el-card>
<template slot="header"> <template slot="header">
<el-radio-group v-model="showIndex" size="mini"> <el-radio-group v-model="showIndex" size="mini">
@@ -15,15 +15,15 @@
<el-alert <el-alert
title="点击图标复制代码" title="点击图标复制代码"
type="info" type="info"
class="dd-m-10" class="d2-m-10"
style="width: auto;"> style="width: auto;">
</el-alert> </el-alert>
<el-col v-for="(iconItem, iconIndex) in iconShow.icon" :key="iconIndex" :span="6" class="dd-p-10"> <el-col v-for="(iconItem, iconIndex) in iconShow.icon" :key="iconIndex" :span="6" class="d2-p-10">
<IconCell :icon="iconItem"></IconCell> <d2-iconCell :icon="iconItem"></d2-iconCell>
</el-col> </el-col>
</el-row> </el-row>
</el-card> </el-card>
</Container> </d2-container>
</template> </template>
<script> <script>

View File

@@ -1,11 +1,7 @@
<template> <template>
<Container type="ghost"> <d2-container type="ghost">
<el-card class="dd-mb"> <el-card class="d2-mb">
<PageHeader <d2-demo-page-header slot="header" title="图标选择器"/>
slot="header"
title="图标选择器"
url="https://github.com/FairyEver/d2admin-vue-element/blob/master/src/components/core/IconSelect/index.vue">
</PageHeader>
<div class="title-group"> <div class="title-group">
<p class="title">一般用法</p> <p class="title">一般用法</p>
<p class="sub-title"> <p class="sub-title">
@@ -16,7 +12,7 @@
<template v-else>未选择</template> <template v-else>未选择</template>
</p> </p>
</div> </div>
<IconSelect v-model="icon"></IconSelect> <d2-icon-select v-model="icon"/>
<div class="title-group"> <div class="title-group">
<p class="title">用户可以输入</p> <p class="title">用户可以输入</p>
<p class="sub-title"> <p class="sub-title">
@@ -27,12 +23,12 @@
<template v-else>未选择</template> <template v-else>未选择</template>
</p> </p>
</div> </div>
<IconSelect v-model="icon2" :user-input="true"></IconSelect> <d2-icon-select v-model="icon2" :user-input="true"/>
</el-card> </el-card>
<el-card> <el-card>
<Markdown url="/static/md/组件 - 图标选择器.md"></Markdown> <d2-markdown url="/static/md/组件 - 图标选择器.md"/>
</el-card> </el-card>
</Container> </d2-container>
</template> </template>
<script> <script>

View File

@@ -1,13 +1,10 @@
<template> <template>
<Container type="ghost"> <d2-container type="ghost">
<el-card class="dd-mb"> <el-card class="d2-mb">
<PageHeader <d2-demo-page-header slot="header" title="SVG图标组件"/>
slot="header"
title="SVG图标组件">
</PageHeader>
<el-row> <el-row>
<el-col class="icon-card" :span="4" v-for="(icon, index) in $IconSvg" :key="index"> <el-col class="icon-card" :span="4" v-for="(icon, index) in $IconSvg" :key="index">
<IconSvg class="icon" :name="icon"></IconSvg> <d2-icon-svg class="icon" :name="icon"/>
<div class="icon-title"> <div class="icon-title">
<span>{{icon}}</span> <span>{{icon}}</span>
</div> </div>
@@ -15,9 +12,9 @@
</el-row> </el-row>
</el-card> </el-card>
<el-card> <el-card>
<Markdown url="/static/md/组件 - 图标组件 - svg.md"></Markdown> <d2-markdown url="/static/md/组件 - 图标组件 - svg.md"/>
</el-card> </el-card>
</Container> </d2-container>
</template> </template>
<style lang="scss" scoped> <style lang="scss" scoped>

View File

@@ -1,9 +1,9 @@
<template> <template>
<Container type="full"> <d2-container type="full">
<PageIndexArticle <d2-demo-page-cover
title="内置组件" title="内置组件"
sub-title="D2Admin 为你提供了一些上手即用的组件"> sub-title="D2Admin 为你提供了一些上手即用的组件">
<img src="@/assets/image/logo/w500-component.png"> <img src="@/assets/image/logo/w500-component.png">
</PageIndexArticle> </d2-demo-page-cover>
</Container> </d2-container>
</template> </template>

View File

@@ -1,9 +1,9 @@
<template> <template>
<Container type="ghost" class="demo-plugins-vue-grid-layout-demo"> <d2-container type="ghost" class="demo-plugins-vue-grid-layout-demo">
<GridLayout <d2-grid-layout
v-bind="layout" v-bind="layout"
@layout-updated="layoutUpdatedHandler"> @layout-updated="layoutUpdatedHandler">
<GridItem <d2-grid-item
v-for="(item, index) in layout.layout" v-for="(item, index) in layout.layout"
:key="index" :key="index"
v-bind="item" v-bind="item"
@@ -14,19 +14,14 @@
<el-card> <el-card>
<el-tag size="mini" type="info" slot="header">Card {{item.i}}</el-tag> <el-tag size="mini" type="info" slot="header">Card {{item.i}}</el-tag>
<template v-if="item.i === '0'"> <template v-if="item.i === '0'">
<div class="dd-mb">拖拽卡片调整位置</div> <div class="d2-mb">拖拽卡片调整位置</div>
<div class="dd-mb">拖拽卡片右下角的手柄调整卡片大小</div> <div class="d2-mb">拖拽卡片右下角的手柄调整卡片大小</div>
<div class="dd-mb">在控制台打印出数据变化</div> <div class="d2-mb">在控制台打印出数据变化</div>
<GithubLinkButton
name="vue-grid-layout"
url="https://github.com/jbaysolutions/vue-grid-layout"
type="success">
</GithubLinkButton>
</template> </template>
</el-card> </el-card>
</GridItem> </d2-grid-item>
</GridLayout> </d2-grid-layout>
</Container> </d2-container>
</template> </template>
<script> <script>

View File

@@ -1,10 +1,6 @@
<template> <template>
<Container> <d2-container>
<PageHeader <d2-demo-page-header slot="header" title="基本示例"/>
slot="header"
title="基本示例"
url="https://github.com/PanJiaChen/vue-split-pane">
</PageHeader>
<div style="height: 400px; margin: -16px;"> <div style="height: 400px; margin: -16px;">
<SplitPane :min-percent='20' :default-percent='30' split="vertical"> <SplitPane :min-percent='20' :default-percent='30' split="vertical">
<template slot="paneL"><div style="margin: 10px;"></div></template> <template slot="paneL"><div style="margin: 10px;"></div></template>
@@ -16,7 +12,7 @@
</template> </template>
</SplitPane> </SplitPane>
</div> </div>
</Container> </d2-container>
</template> </template>
<script> <script>

View File

@@ -1,10 +1,6 @@
<template> <template>
<Container> <d2-container>
<PageHeader <d2-demo-page-header slot="header" title="效果演示"/>
slot="header" <d2-markdown url="/static/md/组件 - markdown - 演示.md"/>
title="效果演示" </d2-container>
url="https://github.com/FairyEver/d2admin-vue-element/blob/master/src/components/core/Markdown/index.vue">
</PageHeader>
<markdown url="/static/md/组件 - markdown - 演示.md"></markdown>
</Container>
</template> </template>

View File

@@ -1,8 +1,8 @@
<template> <template>
<Container type="full"> <d2-container type="full">
<template slot="header"> <template slot="header">
多环境发布 多环境发布
</template> </template>
<p>当前是{{$env ? '开发' : '生产'}}环境</p> <p>当前是{{$env ? '开发' : '生产'}}环境</p>
</Container> </d2-container>
</template> </template>

View File

@@ -1,13 +1,9 @@
<template> <template>
<Container> <d2-container>
<PageHeader <d2-demo-page-header slot="header" title="基本示例"/>
slot="header"
title="基本示例"
url="https://github.com/lgarron/clipboard-polyfill">
</PageHeader>
<el-row :gutter="10"> <el-row :gutter="10">
<el-col :span="12"> <el-col :span="12">
<div class="dd-mb"> <div class="d2-mb">
<el-input v-model="text" style="width: 200px;"></el-input> <el-input v-model="text" style="width: 200px;"></el-input>
<el-button @click="copyText()">将左侧输入框内的文字复制进剪贴板</el-button> <el-button @click="copyText()">将左侧输入框内的文字复制进剪贴板</el-button>
</div> </div>
@@ -15,12 +11,12 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-alert <el-alert
class="dd-mb" class="d2-mb"
title="只有在 IE 浏览器下你才可以通过下面这两个按钮获取剪贴板数据" title="只有在 IE 浏览器下你才可以通过下面这两个按钮获取剪贴板数据"
type="warning" type="warning"
show-icon> show-icon>
</el-alert> </el-alert>
<div class="dd-mb"> <div class="d2-mb">
<el-tooltip content="需要 IE 浏览器" placement="top"> <el-tooltip content="需要 IE 浏览器" placement="top">
<el-button @click="readText">readText( )</el-button> <el-button @click="readText">readText( )</el-button>
</el-tooltip> </el-tooltip>
@@ -31,7 +27,7 @@
<el-input type="textarea" placeholder="在这里检验你的剪贴板 ( text/plain 数据 )"></el-input> <el-input type="textarea" placeholder="在这里检验你的剪贴板 ( text/plain 数据 )"></el-input>
</el-col> </el-col>
</el-row> </el-row>
</Container> </d2-container>
</template> </template>
<script> <script>

View File

@@ -1,20 +1,17 @@
<template> <template>
<Container> <d2-container>
<PageHeader <d2-demo-page-header slot="header" title="导出表格"/>
slot="header" <div class="d2-mb">
title="导出表格">
</PageHeader>
<div class="dd-mb">
<el-button type="primary" @click="exportCsv"> <el-button type="primary" @click="exportCsv">
<Icon name="download"></Icon> <d2-icon name="download"/>
导出 CSV 导出 CSV
</el-button> </el-button>
<el-button type="primary" @click="exportExcel"> <el-button type="primary" @click="exportExcel">
<Icon name="download"></Icon> <d2-icon name="download"/>
导出 Excel 导出 Excel
</el-button> </el-button>
</div> </div>
<el-table v-bind="table" style="width: 100%" class="dd-mb"> <el-table v-bind="table" style="width: 100%" class="d2-mb">
<el-table-column <el-table-column
v-for="(item, index) in table.columns" v-for="(item, index) in table.columns"
:key="index" :key="index"
@@ -22,8 +19,8 @@
:label="item.label"> :label="item.label">
</el-table-column> </el-table-column>
</el-table> </el-table>
<Markdown url="/static/md/插件 - 导出.md"></Markdown> <d2-markdown url="/static/md/插件 - 导出.md"/>
</Container> </d2-container>
</template> </template>
<script> <script>

View File

@@ -1,23 +1,20 @@
<template> <template>
<Container> <d2-container>
<PageHeader <d2-demo-page-header slot="header" title="导出文本"/>
slot="header"
title="导出文本">
</PageHeader>
<el-input <el-input
type="textarea" type="textarea"
:autosize="{minRows: 2, maxRows: 4}" :autosize="{minRows: 2, maxRows: 4}"
placeholder="请输入内容 然后点击保存按钮导出文本文档" placeholder="请输入内容 然后点击保存按钮导出文本文档"
v-model="text"> v-model="text">
</el-input> </el-input>
<div class="dd-mt dd-mb"> <div class="d2-mt d2-mb">
<el-button type="primary" @click="exportTxt"> <el-button type="primary" @click="exportTxt">
<Icon name="download"></Icon> <d2-icon name="download"/>
保存为 txt 保存为 txt
</el-button> </el-button>
</div> </div>
<Markdown url="/static/md/插件 - 导出.md"></Markdown> <d2-markdown url="/static/md/插件 - 导出.md"/>
</Container> </d2-container>
</template> </template>
<script> <script>

View File

@@ -1,5 +1,5 @@
<template> <template>
<div class="dd-mb"> <div class="d2-mb">
<el-radio-group v-model="lang" @change="handleChange"> <el-radio-group v-model="lang" @change="handleChange">
<el-radio-button label="cn">中文</el-radio-button> <el-radio-button label="cn">中文</el-radio-button>
<el-radio-button label="ja">日本語</el-radio-button> <el-radio-button label="ja">日本語</el-radio-button>

View File

@@ -1,13 +1,9 @@
<template> <template>
<Container> <d2-container>
<PageHeader <d2-demo-page-header slot="header" :title="`${$t('pub.pageHeader.demo')} 1`"/>
slot="header"
:title="`${$t('pub.pageHeader.demo')} 1`"
url="http://kazupon.github.io/vue-i18n/en/">
</PageHeader>
<DemoI18nControl></DemoI18nControl> <DemoI18nControl></DemoI18nControl>
<DemoI18n></DemoI18n> <DemoI18n></DemoI18n>
</Container> </d2-container>
</template> </template>
<script> <script>

View File

@@ -1,13 +1,9 @@
<template> <template>
<Container> <d2-container>
<PageHeader <d2-demo-page-header slot="header" :title="`${$t('pub.pageHeader.demo')} 2`"/>
slot="header"
:title="`${$t('pub.pageHeader.demo')} 2`"
url="http://kazupon.github.io/vue-i18n/en/">
</PageHeader>
<DemoI18nControl></DemoI18nControl> <DemoI18nControl></DemoI18nControl>
<DemoI18n></DemoI18n> <DemoI18n></DemoI18n>
</Container> </d2-container>
</template> </template>
<script> <script>

View File

@@ -1,25 +1,21 @@
<template> <template>
<Container> <d2-container>
<PageHeader <d2-demo-page-header slot="header" title="导入 csv"/>
slot="header" <div class="d2-mb">
title="导入 csv"
url="https://github.com/mholt/PapaParse">
</PageHeader>
<div class="dd-mb">
<el-button @click="download"> <el-button @click="download">
<Icon name="download"></Icon> <d2-icon name="download"/>
下载演示 .csv 表格 下载演示 .csv 表格
</el-button> </el-button>
</div> </div>
<div class="dd-mb"> <div class="d2-mb">
<el-upload :before-upload="handleUpload" action="default"> <el-upload :before-upload="handleUpload" action="default">
<el-button type="success"> <el-button type="success">
<Icon name="file-o"></Icon> <d2-icon name="file-o"/>
选择要导入的 .csv 表格 选择要导入的 .csv 表格
</el-button> </el-button>
</el-upload> </el-upload>
</div> </div>
<el-table v-bind="table" class="dd-mb"> <el-table v-bind="table" class="d2-mb">
<el-table-column <el-table-column
v-for="(item, index) in table.columns" v-for="(item, index) in table.columns"
:key="index" :key="index"
@@ -27,8 +23,8 @@
:label="item.label"> :label="item.label">
</el-table-column> </el-table-column>
</el-table> </el-table>
<Markdown url="/static/md/插件 - 导入.md"></Markdown> <d2-markdown url="/static/md/插件 - 导入.md"/>
</Container> </d2-container>
</template> </template>
<script> <script>

View File

@@ -1,25 +1,21 @@
<template> <template>
<Container> <d2-container>
<PageHeader <d2-demo-page-header slot="header" title="导入 xlsx"/>
slot="header" <div class="d2-mb">
title="导入 xlsx"
url="https://github.com/SheetJS/js-xlsx">
</PageHeader>
<div class="dd-mb">
<el-button @click="download"> <el-button @click="download">
<Icon name="download"></Icon> <d2-icon name="download"/>
下载演示 .xlsx 表格 下载演示 .xlsx 表格
</el-button> </el-button>
</div> </div>
<div class="dd-mb"> <div class="d2-mb">
<el-upload :before-upload="handleUpload" action="default"> <el-upload :before-upload="handleUpload" action="default">
<el-button type="success"> <el-button type="success">
<Icon name="file-o"></Icon> <d2-icon name="file-o"/>
选择要导入的 .xlsx 表格 选择要导入的 .xlsx 表格
</el-button> </el-button>
</el-upload> </el-upload>
</div> </div>
<el-table v-bind="table" class="dd-mb"> <el-table v-bind="table" class="d2-mb">
<el-table-column <el-table-column
v-for="(item, index) in table.columns" v-for="(item, index) in table.columns"
:key="index" :key="index"
@@ -27,8 +23,8 @@
:label="item.label"> :label="item.label">
</el-table-column> </el-table-column>
</el-table> </el-table>
<Markdown url="/static/md/插件 - 导入.md"></Markdown> <d2-markdown url="/static/md/插件 - 导入.md"/>
</Container> </d2-container>
</template> </template>
<script> <script>

View File

@@ -1,9 +1,9 @@
<template> <template>
<Container type="full"> <d2-container type="full">
<PageIndexArticle <d2-demo-page-cover
title="插件演示" title="插件演示"
sub-title="D2Admin 集成了许多实用插件"> sub-title="D2Admin 集成了许多实用插件">
<img src="@/assets/image/logo/w500-plugin.png"> <img src="@/assets/image/logo/w500-plugin.png">
</PageIndexArticle> </d2-demo-page-cover>
</Container> </d2-container>
</template> </template>

View File

@@ -1,12 +1,8 @@
<template> <template>
<Container type="ghost"> <d2-container type="ghost">
<el-card class="dd-mb"> <el-card class="d2-mb">
<PageHeader <d2-demo-page-header slot="header" title="基本示例"/>
slot="header" <p class="d2-mt-0">基本读写删</p>
title="基本示例"
url="https://github.com/js-cookie/js-cookie">
</PageHeader>
<p class="dd-mt-0">基本读写删</p>
<el-button type="primary" @click="set('test-user-name', 'test-user')">set('test-user-name', 'normalValue')</el-button> <el-button type="primary" @click="set('test-user-name', 'test-user')">set('test-user-name', 'normalValue')</el-button>
<el-button type="info" @click="get('test-user-name')">get('test-user-name')</el-button> <el-button type="info" @click="get('test-user-name')">get('test-user-name')</el-button>
<el-button type="error" @click="remove('test-user-name')">remove('test-user-name')</el-button> <el-button type="error" @click="remove('test-user-name')">remove('test-user-name')</el-button>
@@ -17,7 +13,7 @@
<p>获取所有可以获得的数据</p> <p>获取所有可以获得的数据</p>
<el-button type="info" @click="getAll">getAll</el-button> <el-button type="info" @click="getAll">getAll</el-button>
</el-card> </el-card>
</Container> </d2-container>
</template> </template>
<script> <script>

View File

@@ -1,10 +1,10 @@
<template> <template>
<Container type="ghost"> <d2-container type="ghost">
<el-card> <el-card>
<div slot="header"> <div slot="header">
<el-button @click="ajax">发送请求</el-button> <el-button @click="ajax">发送请求</el-button>
</div> </div>
<el-table v-bind="table" style="width: 100%" class="dd-mb"> <el-table v-bind="table" style="width: 100%" class="d2-mb">
<el-table-column <el-table-column
v-for="(item, index) in table.columns" v-for="(item, index) in table.columns"
:key="index" :key="index"
@@ -12,9 +12,9 @@
:label="item.label"> :label="item.label">
</el-table-column> </el-table-column>
</el-table> </el-table>
<Markdown url="/static/md/插件 - mock拦截ajax.md"></Markdown> <d2-markdown url="/static/md/插件 - mock拦截ajax.md"/>
</el-card> </el-card>
</Container> </d2-container>
</template> </template>
<script> <script>

View File

@@ -1,20 +1,20 @@
<template> <template>
<el-card class="dd-mb"> <el-card class="d2-mb">
<div slot="header" class="dd-clearfix"> <div slot="header" class="d2-clearfix">
<el-button type="text" size="mini">{{title}}</el-button> <el-button type="text" size="mini">{{title}}</el-button>
<el-tooltip content="重新 mock 数据" placement="top-end"> <el-tooltip content="重新 mock 数据" placement="top-end">
<el-button type="primary" size="mini" @click="$emit('reload')" class="dd-fr">刷新</el-button> <el-button type="primary" size="mini" @click="$emit('reload')" class="d2-fr">刷新</el-button>
</el-tooltip> </el-tooltip>
</div> </div>
<el-row :gutter="10"> <el-row :gutter="10">
<el-col :span="12"> <el-col :span="12">
<div class="col col-l"> <div class="col col-l">
<Highlight :code="code"></Highlight> <d2-highlight :code="code"/>
</div> </div>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<div class="col col-r"> <div class="col col-r">
<Highlight :code="mock"></Highlight> <d2-highlight :code="mock"/>
</div> </div>
</el-col> </el-col>
</el-row> </el-row>

View File

@@ -1,12 +1,8 @@
<template> <template>
<Container type="ghost"> <d2-container type="ghost">
<el-card class="dd-mb"> <el-card class="d2-mb">
<PageHeader <d2-demo-page-header slot="header" title="数据占位符"/>
slot="header" <d2-markdown url="/static/md/插件 - mock演示页面介绍.md"/>
title="数据占位符"
url="https://github.com/nuysoft/Mock">
</PageHeader>
<Markdown url="/static/md/插件 - mock演示页面介绍.md"></Markdown>
</el-card> </el-card>
<MockDemoCard <MockDemoCard
v-for="(item, index) in settingDPD" v-for="(item, index) in settingDPD"
@@ -16,7 +12,7 @@
:mock="mockResult[index]" :mock="mockResult[index]"
@reload="doMock(index)"> @reload="doMock(index)">
</MockDemoCard> </MockDemoCard>
</Container> </d2-container>
</template> </template>
<script> <script>

View File

@@ -1,12 +1,8 @@
<template> <template>
<Container type="ghost"> <d2-container type="ghost">
<el-card class="dd-mb"> <el-card class="d2-mb">
<PageHeader <d2-demo-page-header slot="header" title="数据模板"/>
slot="header" <d2-markdown url="/static/md/插件 - mock演示页面介绍.md"/>
title="数据模板"
url="https://github.com/nuysoft/Mock">
</PageHeader>
<Markdown url="/static/md/插件 - mock演示页面介绍.md"></Markdown>
</el-card> </el-card>
<MockDemoCard <MockDemoCard
v-for="(item, index) in settingDTD" v-for="(item, index) in settingDTD"
@@ -28,7 +24,7 @@
:mock="regexp.mocked" :mock="regexp.mocked"
@reload="regexpMock()"> @reload="regexpMock()">
</MockDemoCard> </MockDemoCard>
</Container> </d2-container>
</template> </template>
<script> <script>

View File

@@ -1,19 +1,16 @@
<template> <template>
<Container type="ghost"> <d2-container type="ghost">
<el-card class="dd-mb"> <el-card class="d2-mb">
<PageHeader <d2-demo-page-header title="基本示例"/>
title="基本示例"
url="https://github.com/hustcc/timeago.js">
</PageHeader>
</el-card> </el-card>
<el-card class="dd-mb"> <el-card class="d2-mb">
<div class="dd-text-center"> <div class="d2-text-center">
<h1 style="font-size: 30px;">您在{{openPageDateAgo}}打开的此页面</h1> <h1 style="font-size: 30px;">您在{{openPageDateAgo}}打开的此页面</h1>
<p style="font-size: 10px;">请稍等一下 10秒后会开始自动刷新</p> <p style="font-size: 10px;">请稍等一下 10秒后会开始自动刷新</p>
</div> </div>
</el-card> </el-card>
<el-card class="dd-mb"> <el-card class="d2-mb">
<div class="dd-text-center"> <div class="d2-text-center">
<h1 style="font-size: 30px;">{{dateTimeRangeAgo}}</h1> <h1 style="font-size: 30px;">{{dateTimeRangeAgo}}</h1>
<el-date-picker <el-date-picker
v-model="dateTimeRange" v-model="dateTimeRange"
@@ -25,9 +22,9 @@
</div> </div>
</el-card> </el-card>
<el-card> <el-card>
<Markdown url="/static/md/插件 - timeago.md"></Markdown> <d2-markdown url="/static/md/插件 - timeago.md"/>
</el-card> </el-card>
</Container> </d2-container>
</template> </template>
<script> <script>

View File

@@ -9,7 +9,7 @@ const routes = [
{ {
path: '/', path: '/',
redirect: { name: 'index' }, redirect: { name: 'index' },
component: () => import('@/components/core/MainLayout/index.vue'), component: () => import('@/components/core/d2-layout-main/index.vue'),
children: [ children: [
{ {
path: 'index', path: 'index',
@@ -24,7 +24,7 @@ const routes = [
name: 'demo-components', name: 'demo-components',
meta: { requiresAuth: true }, meta: { requiresAuth: true },
redirect: { name: 'demo-components-index' }, redirect: { name: 'demo-components-index' },
component: () => import('@/components/core/MainLayout/index.vue'), component: () => import('@/components/core/d2-layout-main/index.vue'),
children: (pre => [ children: (pre => [
{ path: 'container/full', name: `${pre}container-full`, component: () => import('@/pages/demo/components/container/full.vue') }, { path: 'container/full', name: `${pre}container-full`, component: () => import('@/pages/demo/components/container/full.vue') },
{ path: 'container/ghost', name: `${pre}container-ghost`, component: () => import('@/pages/demo/components/container/ghost.vue') }, { path: 'container/ghost', name: `${pre}container-ghost`, component: () => import('@/pages/demo/components/container/ghost.vue') },
@@ -48,7 +48,7 @@ const routes = [
name: 'demo-plugins', name: 'demo-plugins',
meta: { requiresAuth: true }, meta: { requiresAuth: true },
redirect: { name: 'demo-plugins-index' }, redirect: { name: 'demo-plugins-index' },
component: () => import('@/components/core/MainLayout/index.vue'), component: () => import('@/components/core/d2-layout-main/index.vue'),
children: (pre => [ children: (pre => [
{ path: 'build', name: `${pre}build`, component: () => import('@/pages/demo/plugins/build/index.vue') }, { path: 'build', name: `${pre}build`, component: () => import('@/pages/demo/plugins/build/index.vue') },
{ path: 'clipboard-polyfill', name: `${pre}clipboard-polyfill`, component: () => import('@/pages/demo/plugins/clipboard-polyfill/index.vue') }, { path: 'clipboard-polyfill', name: `${pre}clipboard-polyfill`, component: () => import('@/pages/demo/plugins/clipboard-polyfill/index.vue') },
@@ -71,7 +71,7 @@ const routes = [
name: 'demo-chart', name: 'demo-chart',
meta: { requiresAuth: true }, meta: { requiresAuth: true },
redirect: { name: 'demo-chart-index' }, redirect: { name: 'demo-chart-index' },
component: () => import('@/components/core/MainLayout/index.vue'), component: () => import('@/components/core/d2-layout-main/index.vue'),
children: (pre => [ children: (pre => [
{ path: 'all', name: `${pre}all`, component: () => import('@/pages/demo/chart/all/index.vue') }, { path: 'all', name: `${pre}all`, component: () => import('@/pages/demo/chart/all/index.vue') },
{ path: 'demo/areaBase', name: `${pre}demo-areaBase`, component: () => import('@/pages/demo/chart/demo/areaBase.vue') }, { path: 'demo/areaBase', name: `${pre}demo-areaBase`, component: () => import('@/pages/demo/chart/demo/areaBase.vue') },
@@ -91,7 +91,7 @@ const routes = [
name: 'demo-business', name: 'demo-business',
meta: { requiresAuth: true }, meta: { requiresAuth: true },
redirect: { name: 'demo-business-index' }, redirect: { name: 'demo-business-index' },
component: () => import('@/components/core/MainLayout/index.vue'), component: () => import('@/components/core/d2-layout-main/index.vue'),
children: (pre => [ children: (pre => [
{ path: 'index', name: `${pre}index`, component: () => import('@/pages/demo/business/index/index.vue') } { path: 'index', name: `${pre}index`, component: () => import('@/pages/demo/business/index/index.vue') }
])('demo-business-') ])('demo-business-')

View File

@@ -1,26 +0,0 @@
export default [
// 首页
{
path: '/',
component: resolve => { require(['@/components/core/MainLayout/index.vue'], resolve) },
redirect: {
name: 'index'
},
children: [
{
path: 'index',
name: 'index',
meta: {
requiresAuth: true
},
component: resolve => { require(['@/pages/core/index/index.vue'], resolve) }
}
]
},
// 登陆
{
path: '/login',
name: 'login',
component: resolve => { require(['@/pages/core/login/index.vue'], resolve) }
}
]

Some files were not shown because too many files have changed in this diff Show More