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+. + +| [IE / Edge](http://godban.github.io/browsers-support-badges/)
IE / Edge | [Firefox](http://godban.github.io/browsers-support-badges/)
Firefox | [Chrome](http://godban.github.io/browsers-support-badges/)
Chrome | [Safari](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+. + +| [IE / Edge](http://godban.github.io/browsers-support-badges/)
IE / Edge | [Firefox](http://godban.github.io/browsers-support-badges/)
Firefox | [Chrome](http://godban.github.io/browsers-support-badges/)
Chrome | [Safari](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 +
+ + + + {{ $t('excel.export') }} Excel + + Documentation + +
@@ -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 @@