diff --git a/README.md b/README.md
index ed083293..6a37ec93 100644
--- a/README.md
+++ b/README.md
@@ -198,6 +198,14 @@ If you find this project useful, you can buy author a glass of juice :tropical_d
[Buy me a coffee](https://www.buymeacoffee.com/Pan)
+## Browsers support
+
+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 |
+| --------- | --------- | --------- | --------- |
+| IE10, IE11, Edge| last 2 versions| last 2 versions| last 2 versions
+
## License
[MIT](https://github.com/PanJiaChen/vue-element-admin/blob/master/LICENSE)
diff --git a/README.zh-CN.md b/README.zh-CN.md
index ccd136e7..c7d4efbb 100644
--- a/README.zh-CN.md
+++ b/README.zh-CN.md
@@ -210,6 +210,14 @@ Detailed changes for each release are documented in the [release notes](https://
[Paypal Me](https://www.paypal.me/panfree23)
+## Browsers support
+
+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 |
+| --------- | --------- | --------- | --------- |
+| IE10, IE11, Edge| last 2 versions| last 2 versions| last 2 versions
+
## License
[MIT](https://github.com/PanJiaChen/vue-element-admin/blob/master/LICENSE)
diff --git a/build/webpack.dev.conf.js b/build/webpack.dev.conf.js
index 5eba7eb3..26a5584a 100644
--- a/build/webpack.dev.conf.js
+++ b/build/webpack.dev.conf.js
@@ -58,8 +58,10 @@ const devWebpackConfig = merge(baseWebpackConfig, {
inject: true,
favicon: resolve('favicon.ico'),
title: 'vue-element-admin',
- path: config.dev.assetsPublicPath + config.dev.assetsSubDirectory
- })
+ templateParameters: {
+ BASE_URL: config.dev.assetsPublicPath + config.dev.assetsSubDirectory,
+ },
+ }),
]
})
diff --git a/build/webpack.prod.conf.js b/build/webpack.prod.conf.js
index 01f85732..946a134a 100644
--- a/build/webpack.prod.conf.js
+++ b/build/webpack.prod.conf.js
@@ -56,7 +56,9 @@ const webpackConfig = merge(baseWebpackConfig, {
inject: true,
favicon: resolve('favicon.ico'),
title: 'vue-element-admin',
- path: config.build.assetsPublicPath + config.build.assetsSubDirectory,
+ templateParameters: {
+ BASE_URL: config.build.assetsPublicPath + config.build.assetsSubDirectory,
+ },
minify: {
removeComments: true,
collapseWhitespace: true,
diff --git a/index.html b/index.html
index 489d1a53..7a7ecacf 100644
--- a/index.html
+++ b/index.html
@@ -8,7 +8,7 @@
vue-element-admin
-
+
diff --git a/package.json b/package.json
index 8372c4b5..06ac63d0 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "vue-element-admin",
- "version": "3.9.0",
+ "version": "3.9.1",
"description": "A magical vue admin. Typical templates for enterprise applications. Newest development stack of vue. Lots of awesome features",
"author": "Pan ",
"license": "MIT",
@@ -94,6 +94,7 @@
"node-sass": "^4.7.2",
"optimize-css-assets-webpack-plugin": "5.0.0",
"ora": "3.0.0",
+ "path-to-regexp": "2.4.0",
"portfinder": "1.0.13",
"postcss-import": "11.1.0",
"postcss-loader": "2.1.6",
diff --git a/src/components/Breadcrumb/index.vue b/src/components/Breadcrumb/index.vue
index ec84cb31..32a8fb69 100644
--- a/src/components/Breadcrumb/index.vue
+++ b/src/components/Breadcrumb/index.vue
@@ -11,6 +11,7 @@
diff --git a/src/views/excel/components/BookTypeOption.vue b/src/views/excel/components/BookTypeOption.vue
new file mode 100644
index 00000000..9970b0e4
--- /dev/null
+++ b/src/views/excel/components/BookTypeOption.vue
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/excel/components/FilenameOption.vue b/src/views/excel/components/FilenameOption.vue
new file mode 100644
index 00000000..5cc931ad
--- /dev/null
+++ b/src/views/excel/components/FilenameOption.vue
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/views/excel/exportExcel.vue b/src/views/excel/exportExcel.vue
index ae32b3aa..551b89f8 100644
--- a/src/views/excel/exportExcel.vue
+++ b/src/views/excel/exportExcel.vue
@@ -2,14 +2,15 @@
-
-
-
-
- True
- False
-
-
{{ $t('excel.export') }} Excel
+
@@ -46,15 +47,22 @@
import { fetchList } from '@/api/article'
import { parseTime } from '@/utils'
+// options components
+import FilenameOption from './components/FilenameOption'
+import AutoWidthOption from './components/AutoWidthOption'
+import BookTypeOption from './components/BookTypeOption'
+
export default {
name: 'ExportExcel',
+ components: { FilenameOption, AutoWidthOption, BookTypeOption },
data() {
return {
list: null,
listLoading: true,
downloadLoading: false,
filename: '',
- autoWidth: true
+ autoWidth: true,
+ bookType: 'xlsx'
}
},
created() {
@@ -79,7 +87,8 @@ export default {
header: tHeader,
data,
filename: this.filename,
- autoWidth: this.autoWidth
+ autoWidth: this.autoWidth,
+ bookType: this.bookType
})
this.downloadLoading = false
})
diff --git a/src/views/excel/selectExcel.vue b/src/views/excel/selectExcel.vue
index 7e5366f4..2695bfb4 100644
--- a/src/views/excel/selectExcel.vue
+++ b/src/views/excel/selectExcel.vue
@@ -3,6 +3,9 @@
{{ $t('excel.selectedExport') }}
+
+ Documentation
+
简体中文
English
+ Español
{{ $t('i18nView.note') }}
@@ -101,6 +102,7 @@ export default {
if (!this.$i18n.getLocaleMessage('en')[viewName]) {
this.$i18n.mergeLocaleMessage('en', local.en)
this.$i18n.mergeLocaleMessage('zh', local.zh)
+ this.$i18n.mergeLocaleMessage('es', local.es)
}
this.setOptions() // set default select options
},
diff --git a/src/views/i18n-demo/local.js b/src/views/i18n-demo/local.js
index 1c39608e..9b43e605 100644
--- a/src/views/i18n-demo/local.js
+++ b/src/views/i18n-demo/local.js
@@ -39,5 +39,25 @@ export default {
two: 'Two',
three: 'Three'
}
+ },
+ es: {
+ i18nView: {
+ title: 'Switch Language',
+ note: 'The internationalization of this project is based on vue-i18n',
+ datePlaceholder: 'Pick a day',
+ selectPlaceholder: 'Select',
+ tableDate: 'tableDate',
+ tableName: 'tableName',
+ tableAddress: 'tableAddress',
+ default: 'default:',
+ primary: 'primary',
+ success: 'success',
+ info: 'info',
+ warning: 'warning',
+ danger: 'danger',
+ one: 'One',
+ two: 'Two',
+ three: 'Three'
+ }
}
}
diff --git a/src/views/layout/components/Sidebar/FixiOSBug.js b/src/views/layout/components/Sidebar/FixiOSBug.js
new file mode 100644
index 00000000..5e0a9262
--- /dev/null
+++ b/src/views/layout/components/Sidebar/FixiOSBug.js
@@ -0,0 +1,26 @@
+export default {
+ computed: {
+ device() {
+ return this.$store.state.app.device
+ }
+ },
+ mounted() {
+ // In order to fix the click on menu on the ios device will trigger the mouseeleave bug
+ // https://github.com/PanJiaChen/vue-element-admin/issues/1135
+ this.fixBugIniOS()
+ },
+ methods: {
+ fixBugIniOS() {
+ const $submenu = this.$refs.submenu
+ if ($submenu) {
+ const handleMouseleave = $submenu.handleMouseleave
+ $submenu.handleMouseleave = (e) => {
+ if (this.device === 'mobile') {
+ return
+ }
+ handleMouseleave(e)
+ }
+ }
+ }
+ }
+}
diff --git a/src/views/layout/components/Sidebar/Link.vue b/src/views/layout/components/Sidebar/Link.vue
index 07793b9a..5d366f24 100644
--- a/src/views/layout/components/Sidebar/Link.vue
+++ b/src/views/layout/components/Sidebar/Link.vue
@@ -7,7 +7,7 @@