diff --git a/.editorconfig b/.editorconfig
index ea6e20f5..3454886e 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -1,4 +1,4 @@
-# http://editorconfig.org
+# https://editorconfig.org
root = true
[*]
diff --git a/README.md b/README.md
index 48599a7e..01034b51 100644
--- a/README.md
+++ b/README.md
@@ -30,11 +30,11 @@ English | [简体中文](./README.zh-CN.md)
## Introduction
-[vue-element-admin](http://panjiachen.github.io/vue-element-admin) is a production-ready front-end solution for admin interfaces. It based on [vue](https://github.com/vuejs/vue) and use the UI Toolkit [element-ui](https://github.com/ElemeFE/element).
+[vue-element-admin](https://panjiachen.github.io/vue-element-admin) is a production-ready front-end solution for admin interfaces. It based on [vue](https://github.com/vuejs/vue) and use the UI Toolkit [element-ui](https://github.com/ElemeFE/element).
It is a magical vue admin based on the newest development stack of vue, built-in i18n solution, typical templates for enterprise applications, lots of awesome features. It helps you build a large complex Single-Page Applications. I believe whatever your needs are, this project will help you.
-- [Preview](http://panjiachen.github.io/vue-element-admin)
+- [Preview](https://panjiachen.github.io/vue-element-admin)
- [Documentation](https://panjiachen.github.io/vue-element-admin-site/)
@@ -50,13 +50,13 @@ It is a magical vue admin based on the newest development stack of vue, built-in
- Desktop: [electron-vue-admin](https://github.com/PanJiaChen/electron-vue-admin)
- Typescript: [vue-typescript-admin-template](https://github.com/Armour/vue-typescript-admin-template) (Credits: [@Armour](https://github.com/Armour))
-**The current version is `4.0-beta`. If you find a problem, please put [issue](https://github.com/PanJiaChen/vue-element-admin/issues/new). If you want to use the old version - stable version, you can switch branch to [tag/3.11.0](https://github.com/PanJiaChen/vue-element-admin/tree/tag/3.11.0)**
+**The current version is `v4.0+` build on `vue-cli`. If you find a problem, please put [issue](https://github.com/PanJiaChen/vue-element-admin/issues/new). If you want to use the old version , you can switch branch to [tag/3.11.0](https://github.com/PanJiaChen/vue-element-admin/tree/tag/3.11.0), it does not rely on `vue-cli'**
**This project does not support low version browsers (e.g. IE). Please add polyfill by yourself.**
## Preparation
-You need to install [node](http://nodejs.org/) and [git](https://git-scm.com/) locally. The project is based on [ES2015+](http://es6.ruanyifeng.com/), [vue](https://cn.vuejs.org/index.html), [vuex](https://vuex.vuejs.org/zh-cn/), [vue-router](https://router.vuejs.org/zh-cn/), [vue-cli](https://github.com/vuejs/vue-cli) , [axios](https://github.com/axios/axios) and [element-ui](https://github.com/ElemeFE/element), all request data is simulated using [Mock.js](https://github.com/nuysoft/Mock).
+You need to install [node](https://nodejs.org/) and [git](https://git-scm.com/) locally. The project is based on [ES2015+](https://es6.ruanyifeng.com/), [vue](https://cn.vuejs.org/index.html), [vuex](https://vuex.vuejs.org/zh-cn/), [vue-router](https://router.vuejs.org/zh-cn/), [vue-cli](https://github.com/vuejs/vue-cli) , [axios](https://github.com/axios/axios) and [element-ui](https://github.com/ElemeFE/element), all request data is simulated using [Mock.js](https://github.com/nuysoft/Mock).
Understanding and learning this knowledge in advance will greatly help the use of this project.
@@ -187,7 +187,7 @@ Detailed changes for each release are documented in the [release notes](https://
## Online Demo
-[Preview](http://panjiachen.github.io/vue-element-admin)
+[Preview](https://panjiachen.github.io/vue-element-admin)
## Donate
@@ -203,7 +203,7 @@ If you find this project useful, you can buy author a glass of juice :tropical_d
Modern browsers and Internet Explorer 10+.
-| [
](http://godban.github.io/browsers-support-badges/)IE / Edge | [
](http://godban.github.io/browsers-support-badges/)Firefox | [
](http://godban.github.io/browsers-support-badges/)Chrome | [
](http://godban.github.io/browsers-support-badges/)Safari |
+| [
](https://godban.github.io/browsers-support-badges/)IE / Edge | [
](https://godban.github.io/browsers-support-badges/)Firefox | [
](https://godban.github.io/browsers-support-badges/)Chrome | [
](https://godban.github.io/browsers-support-badges/)Safari |
| --------- | --------- | --------- | --------- |
| IE10, IE11, Edge| last 2 versions| last 2 versions| last 2 versions
diff --git a/README.zh-CN.md b/README.zh-CN.md
index e0ec09bb..0e15d8a4 100644
--- a/README.zh-CN.md
+++ b/README.zh-CN.md
@@ -30,9 +30,9 @@
## 简介
-[vue-element-admin](http://panjiachen.github.io/vue-element-admin) 是一个后台前端解决方案,它基于 [vue](https://github.com/vuejs/vue) 和 [element-ui](https://github.com/ElemeFE/element)实现。它使用了最新的前端技术栈,内置了 i18n 国际化解决方案,动态路由,权限验证,提炼了典型的业务模型,提供了丰富的功能组件,它可以帮助你快速搭建企业级中后台产品原型。相信不管你的需求是什么,本项目都能帮助到你。
+[vue-element-admin](https://panjiachen.github.io/vue-element-admin) 是一个后台前端解决方案,它基于 [vue](https://github.com/vuejs/vue) 和 [element-ui](https://github.com/ElemeFE/element)实现。它使用了最新的前端技术栈,内置了 i18n 国际化解决方案,动态路由,权限验证,提炼了典型的业务模型,提供了丰富的功能组件,它可以帮助你快速搭建企业级中后台产品原型。相信不管你的需求是什么,本项目都能帮助到你。
-- [在线预览](http://panjiachen.github.io/vue-element-admin)
+- [在线预览](https://panjiachen.github.io/vue-element-admin)
- [使用文档](https://panjiachen.github.io/vue-element-admin-site/zh/)
@@ -50,7 +50,7 @@
- 桌面端: [electron-vue-admin](https://github.com/PanJiaChen/electron-vue-admin)
- Typescript 版: [vue-typescript-admin-template](https://github.com/Armour/vue-typescript-admin-template) (鸣谢: [@Armour](https://github.com/Armour))
-**目前版本为 `4.0-beta`,若发现问题,欢迎提[issue](https://github.com/PanJiaChen/vue-element-admin/issues/new)。若你想使用旧版本-稳定版,可以切换分支到[tag/3.11.0](https://github.com/PanJiaChen/vue-element-admin/tree/tag/3.11.0)**
+**目前版本为 `v4.0+` 基于 `vue-cli` 进行构建,若发现问题,欢迎提[issue](https://github.com/PanJiaChen/vue-element-admin/issues/new)。若你想使用旧版本,可以切换分支到[tag/3.11.0](https://github.com/PanJiaChen/vue-element-admin/tree/tag/3.11.0),它不依赖 `vue-cli`**
**该项目不支持低版本浏览器(如 ie),有需求请自行添加 polyfill [详情](https://github.com/PanJiaChen/vue-element-admin/wiki#babel-polyfill)**
@@ -204,7 +204,7 @@ Detailed changes for each release are documented in the [release notes](https://
## Online Demo
-[在线 Demo](http://panjiachen.github.io/vue-element-admin)
+[在线 Demo](https://panjiachen.github.io/vue-element-admin)
## Donate
@@ -221,7 +221,7 @@ Detailed changes for each release are documented in the [release notes](https://
Modern browsers and Internet Explorer 10+.
-| [
](http://godban.github.io/browsers-support-badges/)IE / Edge | [
](http://godban.github.io/browsers-support-badges/)Firefox | [
](http://godban.github.io/browsers-support-badges/)Chrome | [
](http://godban.github.io/browsers-support-badges/)Safari |
+| [
](https://godban.github.io/browsers-support-badges/)IE / Edge | [
](https://godban.github.io/browsers-support-badges/)Firefox | [
](https://godban.github.io/browsers-support-badges/)Chrome | [
](https://godban.github.io/browsers-support-badges/)Safari |
| --------- | --------- | --------- | --------- |
| IE10, IE11, Edge| last 2 versions| last 2 versions| last 2 versions
diff --git a/mock/article.js b/mock/article.js
index 45b75296..bc236eb9 100644
--- a/mock/article.js
+++ b/mock/article.js
@@ -3,7 +3,7 @@ import Mock from 'mockjs'
const List = []
const count = 100
-const baseContent = '
我是测试数据我是测试数据

'
+const baseContent = 'I am testing data, I am testing data.

'
const image_uri = 'https://wpimg.wallstcn.com/e4558086-631c-425c-9430-56ffb46e70b3'
for (let i = 0; i < count; i++) {
diff --git a/mock/index.js b/mock/index.js
index 08cdc471..6907e861 100644
--- a/mock/index.js
+++ b/mock/index.js
@@ -4,7 +4,7 @@ import { param2Obj } from '../src/utils'
import user from './user'
import role from './role'
import article from './article'
-import search from './remoteSearch'
+import search from './remote-search'
const mocks = [
...user,
diff --git a/mock/mock-server.js b/mock/mock-server.js
index af7e67ee..b29b7c3f 100644
--- a/mock/mock-server.js
+++ b/mock/mock-server.js
@@ -3,16 +3,16 @@ const bodyParser = require('body-parser')
const chalk = require('chalk')
function registerRoutes(app) {
- let mockStartIndex
+ let mockLastIndex
const { default: mocks } = require('./index.js')
for (const mock of mocks) {
app[mock.type](mock.url, mock.response)
- mockStartIndex = app._router.stack.length
+ mockLastIndex = app._router.stack.length
}
const mockRoutesLength = Object.keys(mocks).length
return {
mockRoutesLength: mockRoutesLength,
- mockStartIndex: mockStartIndex - mockRoutesLength
+ mockStartIndex: mockLastIndex - mockRoutesLength
}
}
@@ -29,7 +29,7 @@ module.exports = app => {
require('@babel/register')
// parse app.body
- // http://expressjs.com/en/4x/api.html#req.body
+ // https://expressjs.com/en/4x/api.html#req.body
app.use(bodyParser.json())
app.use(bodyParser.urlencoded({
extended: true
diff --git a/mock/remoteSearch.js b/mock/remote-search.js
similarity index 100%
rename from mock/remoteSearch.js
rename to mock/remote-search.js
diff --git a/mock/role/routes.js b/mock/role/routes.js
index 14413d48..5bb6c741 100644
--- a/mock/role/routes.js
+++ b/mock/role/routes.js
@@ -19,17 +19,17 @@ export const constantRoutes = [
},
{
path: '/auth-redirect',
- component: 'views/login/authRedirect',
+ component: 'views/login/auth-redirect',
hidden: true
},
{
path: '/404',
- component: 'views/errorPage/404',
+ component: 'views/error-page/404',
hidden: true
},
{
path: '/401',
- component: 'views/errorPage/401',
+ component: 'views/error-page/401',
hidden: true
},
{
@@ -129,7 +129,7 @@ export const asyncRoutes = [
{
path: '/components',
component: 'layout/Layout',
- redirect: 'noredirect',
+ redirect: 'noRedirect',
name: 'ComponentDemo',
meta: {
title: 'components',
@@ -150,19 +150,19 @@ export const asyncRoutes = [
},
{
path: 'json-editor',
- component: 'views/components-demo/jsonEditor',
+ component: 'views/components-demo/json-editor',
name: 'JsonEditorDemo',
meta: { title: 'jsonEditor' }
},
{
- path: 'splitpane',
- component: 'views/components-demo/splitpane',
+ path: 'split-pane',
+ component: 'views/components-demo/split-pane',
name: 'SplitpaneDemo',
meta: { title: 'splitPane' }
},
{
path: 'avatar-upload',
- component: 'views/components-demo/avatarUpload',
+ component: 'views/components-demo/avatar-upload',
name: 'AvatarUploadDemo',
meta: { title: 'avatarUpload' }
},
@@ -180,7 +180,7 @@ export const asyncRoutes = [
},
{
path: 'count-to',
- component: 'views/components-demo/countTo',
+ component: 'views/components-demo/count-to',
name: 'CountToDemo',
meta: { title: 'countTo' }
},
@@ -192,31 +192,31 @@ export const asyncRoutes = [
},
{
path: 'back-to-top',
- component: 'views/components-demo/backToTop',
+ component: 'views/components-demo/back-to-top',
name: 'BackToTopDemo',
meta: { title: 'backToTop' }
},
{
path: 'drag-dialog',
- component: 'views/components-demo/dragDialog',
+ component: 'views/components-demo/drag-dialog',
name: 'DragDialogDemo',
meta: { title: 'dragDialog' }
},
{
path: 'drag-select',
- component: 'views/components-demo/dragSelect',
+ component: 'views/components-demo/drag-select',
name: 'DragSelectDemo',
meta: { title: 'dragSelect' }
},
{
path: 'dnd-list',
- component: 'views/components-demo/dndList',
+ component: 'views/components-demo/dnd-list',
name: 'DndListDemo',
meta: { title: 'dndList' }
},
{
path: 'drag-kanban',
- component: 'views/components-demo/dragKanban',
+ component: 'views/components-demo/drag-kanban',
name: 'DragKanbanDemo',
meta: { title: 'dragKanban' }
}
@@ -225,7 +225,7 @@ export const asyncRoutes = [
{
path: '/charts',
component: 'layout/Layout',
- redirect: 'noredirect',
+ redirect: 'noRedirect',
name: 'Charts',
meta: {
title: 'charts',
@@ -361,7 +361,7 @@ export const asyncRoutes = [
{
path: '/error',
component: 'layout/Layout',
- redirect: 'noredirect',
+ redirect: 'noRedirect',
name: 'ErrorPages',
meta: {
title: 'errorPages',
@@ -370,13 +370,13 @@ export const asyncRoutes = [
children: [
{
path: '401',
- component: 'views/errorPage/401',
+ component: 'views/error-page/401',
name: 'Page401',
meta: { title: 'page401', noCache: true }
},
{
path: '404',
- component: 'views/errorPage/404',
+ component: 'views/error-page/404',
name: 'Page404',
meta: { title: 'page404', noCache: true }
}
@@ -386,11 +386,11 @@ export const asyncRoutes = [
{
path: '/error-log',
component: 'layout/Layout',
- redirect: 'noredirect',
+ redirect: 'noRedirect',
children: [
{
path: 'log',
- component: 'views/errorLog/index',
+ component: 'views/error-log/index',
name: 'ErrorLog',
meta: { title: 'errorLog', icon: 'bug' }
}
@@ -409,25 +409,25 @@ export const asyncRoutes = [
children: [
{
path: 'export-excel',
- component: 'views/excel/exportExcel',
+ component: 'views/excel/export-excel',
name: 'ExportExcel',
meta: { title: 'exportExcel' }
},
{
path: 'export-selected-excel',
- component: 'views/excel/selectExcel',
+ component: 'views/excel/select-excel',
name: 'SelectExcel',
meta: { title: 'selectExcel' }
},
{
path: 'export-merge-header',
- component: 'views/excel/mergeHeader',
+ component: 'views/excel/merge-header',
name: 'MergeHeader',
meta: { title: 'mergeHeader' }
},
{
path: 'upload-excel',
- component: 'views/excel/uploadExcel',
+ component: 'views/excel/upload-excel',
name: 'UploadExcel',
meta: { title: 'uploadExcel' }
}
@@ -472,7 +472,7 @@ export const asyncRoutes = [
{
path: '/theme',
component: 'layout/Layout',
- redirect: 'noredirect',
+ redirect: 'noRedirect',
children: [
{
path: 'index',
@@ -486,7 +486,7 @@ export const asyncRoutes = [
{
path: '/clipboard',
component: 'layout/Layout',
- redirect: 'noredirect',
+ redirect: 'noRedirect',
children: [
{
path: 'index',
diff --git a/package.json b/package.json
index b3d436e0..4cd22daa 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "vue-element-admin",
- "version": "4.0.0",
+ "version": "4.0.1",
"description": "A magical vue admin. An out-of-box UI solution for enterprise applications. Newest development stack of vue. Lots of awesome features",
"author": "Pan ",
"license": "MIT",
diff --git a/src/api/remoteSearch.js b/src/api/remote-search.js
similarity index 100%
rename from src/api/remoteSearch.js
rename to src/api/remote-search.js
diff --git a/src/components/BackToTop/index.vue b/src/components/BackToTop/index.vue
index c094037f..36522f4a 100644
--- a/src/components/BackToTop/index.vue
+++ b/src/components/BackToTop/index.vue
@@ -1,12 +1,7 @@
diff --git a/src/components/Breadcrumb/index.vue b/src/components/Breadcrumb/index.vue
index ff93ff45..b89d8da6 100644
--- a/src/components/Breadcrumb/index.vue
+++ b/src/components/Breadcrumb/index.vue
@@ -2,7 +2,7 @@
- {{
+ {{
generateTitle(item.meta.title) }}
{{ generateTitle(item.meta.title) }}
@@ -31,15 +31,23 @@ export default {
methods: {
generateTitle,
getBreadcrumb() {
- let matched = this.$route.matched.filter(item => item.name)
-
+ // only show routes with meta.title
+ let matched = this.$route.matched.filter(item => item.meta && item.meta.title)
const first = matched[0]
- if (first && first.name.trim().toLocaleLowerCase() !== 'Dashboard'.toLocaleLowerCase()) {
+
+ if (!this.isDashboard(first)) {
matched = [{ path: '/dashboard', meta: { title: 'dashboard' }}].concat(matched)
}
this.levelList = matched.filter(item => item.meta && item.meta.title && item.meta.breadcrumb !== false)
},
+ isDashboard(route) {
+ const name = route && route.name
+ if (!name) {
+ return false
+ }
+ return name.trim().toLocaleLowerCase() === 'Dashboard'.toLocaleLowerCase()
+ },
pathCompile(path) {
// To solve this problem https://github.com/PanJiaChen/vue-element-admin/issues/561
const { params } = this.$route
diff --git a/src/components/Charts/Keyboard.vue b/src/components/Charts/Keyboard.vue
new file mode 100644
index 00000000..0b258f36
--- /dev/null
+++ b/src/components/Charts/Keyboard.vue
@@ -0,0 +1,155 @@
+
+
+
+
+
diff --git a/src/components/Charts/lineMarker.vue b/src/components/Charts/LineMarker.vue
similarity index 100%
rename from src/components/Charts/lineMarker.vue
rename to src/components/Charts/LineMarker.vue
diff --git a/src/components/Charts/mixChart.vue b/src/components/Charts/MixChart.vue
similarity index 100%
rename from src/components/Charts/mixChart.vue
rename to src/components/Charts/MixChart.vue
diff --git a/src/components/Charts/keyboard.vue b/src/components/Charts/keyboard.vue
index 3f061bd0..0b258f36 100644
--- a/src/components/Charts/keyboard.vue
+++ b/src/components/Charts/keyboard.vue
@@ -53,103 +53,102 @@ export default {
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',
- grid: {
- left: '5%',
- right: '5%'
- },
- 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
+ this.chart.setOption({
+ backgroundColor: '#08263a',
+ grid: {
+ left: '5%',
+ right: '5%'
+ },
+ 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
+ }
+ })
}
}
}
diff --git a/src/components/Charts/mixins/resize.js b/src/components/Charts/mixins/resize.js
index c4c432f4..dccaf1a8 100644
--- a/src/components/Charts/mixins/resize.js
+++ b/src/components/Charts/mixins/resize.js
@@ -3,7 +3,7 @@ import { debounce } from '@/utils'
export default {
data() {
return {
- sidebarElm: null
+ $_sidebarElm: null
}
},
mounted() {
@@ -14,16 +14,18 @@ export default {
}, 100)
window.addEventListener('resize', this.__resizeHandler)
- this.sidebarElm = document.getElementsByClassName('sidebar-container')[0]
- this.sidebarElm && this.sidebarElm.addEventListener('transitionend', this.sidebarResizeHandler)
+ this.$_sidebarElm = document.getElementsByClassName('sidebar-container')[0]
+ this.$_sidebarElm && this.$_sidebarElm.addEventListener('transitionend', this.$_sidebarResizeHandler)
},
beforeDestroy() {
window.removeEventListener('resize', this.__resizeHandler)
- this.sidebarElm && this.sidebarElm.removeEventListener('transitionend', this.sidebarResizeHandler)
+ this.$_sidebarElm && this.$_sidebarElm.removeEventListener('transitionend', this.$_sidebarResizeHandler)
},
methods: {
- sidebarResizeHandler(e) {
+ // use $_ for mixins properties
+ // https://vuejs.org/v2/style-guide/index.html#Private-property-names-essential
+ $_sidebarResizeHandler(e) {
if (e.propertyName === 'width') {
this.__resizeHandler()
}
diff --git a/src/components/DragSelect/index.vue b/src/components/DragSelect/index.vue
index 4a2e6300..28256a8b 100644
--- a/src/components/DragSelect/index.vue
+++ b/src/components/DragSelect/index.vue
@@ -49,13 +49,13 @@ export default {
diff --git a/src/components/HeaderSearch/index.vue b/src/components/HeaderSearch/index.vue
index 6668ad5c..90eea067 100644
--- a/src/components/HeaderSearch/index.vue
+++ b/src/components/HeaderSearch/index.vue
@@ -121,7 +121,7 @@ export default {
data.title = [...data.title, i18ntitle]
- if (router.redirect !== 'noredirect') {
+ if (router.redirect !== 'noRedirect') {
// only push the routes with title
// special case: need to exclude parent router without redirect
res.push(data)
diff --git a/src/components/JsonEditor/index.vue b/src/components/JsonEditor/index.vue
index 81715f5d..07b282e4 100644
--- a/src/components/JsonEditor/index.vue
+++ b/src/components/JsonEditor/index.vue
@@ -25,8 +25,8 @@ export default {
},
watch: {
value(value) {
- const editor_value = this.jsonEditor.getValue()
- if (value !== editor_value) {
+ const editorValue = this.jsonEditor.getValue()
+ if (value !== editorValue) {
this.jsonEditor.setValue(JSON.stringify(this.value, null, 2))
}
}
diff --git a/src/components/Kanban/index.vue b/src/components/Kanban/index.vue
index c2cb4691..82f7dd7e 100644
--- a/src/components/Kanban/index.vue
+++ b/src/components/Kanban/index.vue
@@ -15,6 +15,7 @@
+
diff --git a/src/views/errorPage/401.vue b/src/views/error-page/401.vue
similarity index 100%
rename from src/views/errorPage/401.vue
rename to src/views/error-page/401.vue
diff --git a/src/views/errorPage/404.vue b/src/views/error-page/404.vue
similarity index 100%
rename from src/views/errorPage/404.vue
rename to src/views/error-page/404.vue
diff --git a/src/views/example/components/ArticleDetail.vue b/src/views/example/components/ArticleDetail.vue
index 2213e927..55d2972a 100644
--- a/src/views/example/components/ArticleDetail.vue
+++ b/src/views/example/components/ArticleDetail.vue
@@ -6,10 +6,10 @@
- 发布
+ Publush
- 草稿
+ Draft
@@ -20,28 +20,28 @@
- 标题
+ Title
-
-
+
+
-
-
+
+
-
+
-
-
- {{ contentShortLength }}字
+
+
+ {{ contentShortLength }}words
@@ -76,12 +76,12 @@
diff --git a/src/views/table/complexTable.vue b/src/views/table/complex-table.vue
similarity index 98%
rename from src/views/table/complexTable.vue
rename to src/views/table/complex-table.vue
index bfe577b1..43b00e80 100644
--- a/src/views/table/complexTable.vue
+++ b/src/views/table/complex-table.vue
@@ -148,9 +148,9 @@
diff --git a/src/views/table/inlineEditTable.vue b/src/views/table/inline-edit-table.vue
similarity index 100%
rename from src/views/table/inlineEditTable.vue
rename to src/views/table/inline-edit-table.vue
diff --git a/src/views/theme/index.vue b/src/views/theme/index.vue
index b67c2c67..bfa5953b 100644
--- a/src/views/theme/index.vue
+++ b/src/views/theme/index.vue
@@ -9,7 +9,7 @@
{{ $t('theme.change') }} :
-
{{ $t('theme.tips') }}
+
diff --git a/vue.config.js b/vue.config.js
index 9de648eb..df2f9f5d 100644
--- a/vue.config.js
+++ b/vue.config.js
@@ -1,12 +1,12 @@
'use strict'
const path = require('path')
-const pkg = require('./package.json')
+const defaultSettings = require('./src/settings.js')
function resolve(dir) {
return path.join(__dirname, dir)
}
-const name = pkg.name || 'vue-element-admin' // page title
+const name = defaultSettings.title || 'vue Element Admin' // page title
const port = 9527 // dev port
// All configuration item explanations can be find in https://cli.vuejs.org/config/
@@ -86,6 +86,7 @@ module.exports = {
.end()
config
+ // https://webpack.js.org/configuration/devtool/#development
.when(process.env.NODE_ENV === 'development',
config => config.devtool('cheap-source-map')
)