diff --git a/README.md b/README.md index d45c342e..6a37ec93 100644 --- a/README.md +++ b/README.md @@ -50,6 +50,7 @@ It is a magical vue admin based on the newest development stack of vue, built-in - Base template recommends using: [vue-admin-template](https://github.com/PanJiaChen/vue-admin-template) - 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)) **This project does not support low version browsers (e.g. IE). Please add polyfill yourself if you need them.** @@ -128,7 +129,7 @@ Understanding and learning this knowledge in advance will greatly help the use o - Error Log - Dashboard - Guide Page -- Echarts +- ECharts - Clipboard - Markdown to html ``` @@ -197,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 bc114c3d..c7d4efbb 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -50,6 +50,7 @@ - 模板建议使用: [vue-admin-template](https://github.com/PanJiaChen/vue-admin-template) - 桌面端: [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)) 群主 **[圈子](https://jianshiapp.com/circles/1209)** 楼主会经常分享一些技术相关的东西,或者加入[qq 群](https://github.com/PanJiaChen/vue-element-admin/issues/602) @@ -140,7 +141,7 @@ - 错误日志 - Dashboard - 引导页 -- Echarts 图表 +- ECharts 图表 - Clipboard(剪贴复制) - Markdown2html ``` @@ -154,7 +155,7 @@ git clone https://github.com/PanJiaChen/vue-element-admin.git # 安装依赖 npm install -# 建议不要用cnpm安装 会有各种诡异的bug 可以通过如下操作解决 npm 下载速度慢的问题 +# 建议不要用 cnpm 安装 会有各种诡异的bug 可以通过如下操作解决 npm 下载速度慢的问题 npm install --registry=https://registry.npm.taobao.org # 启动服务 @@ -209,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 6220cc6b..418d5d1d 100644 --- a/build/webpack.prod.conf.js +++ b/build/webpack.prod.conf.js @@ -9,7 +9,7 @@ const CopyWebpackPlugin = require('copy-webpack-plugin') const HtmlWebpackPlugin = require('html-webpack-plugin') const ScriptExtHtmlWebpackPlugin = require('script-ext-html-webpack-plugin') const MiniCssExtractPlugin = require('mini-css-extract-plugin') -const OptimizeCSSAssetsPlugin = require('optimize-css-assets-webpack-plugin') +// const OptimizeCSSAssetsPlugin = require('optimize-css-assets-webpack-plugin') const UglifyJsPlugin = require('uglifyjs-webpack-plugin') function resolve(dir) { @@ -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, @@ -116,7 +118,7 @@ const webpackConfig = merge(baseWebpackConfig, { test: /[\\/]node_modules[\\/]element-ui[\\/]/ }, commons: { - name: 'chunk-comomns', + name: 'chunk-commons', test: resolve('src/components'), // 可自定义拓展你的规则 minChunks: 3, // 最小公用次数 priority: 5, @@ -138,7 +140,7 @@ const webpackConfig = merge(baseWebpackConfig, { }), // Compress extracted CSS. We are using this plugin so that possible // duplicated CSS from different components can be deduped. - new OptimizeCSSAssetsPlugin() + // new OptimizeCSSAssetsPlugin() ] } }) 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 48dfa91f..7bbaa960 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "vue-element-admin", - "version": "3.8.1", + "version": "3.9.2", "description": "A magical vue admin. Typical templates for enterprise applications. Newest development stack of vue. Lots of awesome features", "author": "Pan ", "license": "MIT", @@ -10,7 +10,8 @@ "build:sit": "cross-env NODE_ENV=production env_config=sit node build/build.js", "lint": "eslint --ext .js,.vue src", "test": "npm run lint", - "precommit": "lint-staged" + "precommit": "lint-staged", + "svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml" }, "lint-staged": { "src/**/*.{js,vue}": [ @@ -49,14 +50,13 @@ "mockjs": "1.0.1-beta3", "normalize.css": "7.0.0", "nprogress": "0.2.0", - "screenfull": "3.3.2", + "screenfull": "3.3.3", "showdown": "1.8.6", "simplemde": "1.11.2", "sortablejs": "1.7.0", "vue": "2.5.17", "vue-count-to": "1.0.13", "vue-i18n": "7.3.2", - "vue-multiselect": "2.1.0", "vue-router": "3.0.1", "vue-splitpane": "1.0.2", "vuedraggable": "^2.16.0", @@ -86,7 +86,7 @@ "file-loader": "1.1.11", "friendly-errors-webpack-plugin": "1.7.0", "hash-sum": "1.0.2", - "html-webpack-plugin": "^4.0.0-alpha", + "html-webpack-plugin": "4.0.0-alpha", "husky": "0.14.3", "lint-staged": "7.2.2", "mini-css-extract-plugin": "0.4.1", @@ -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", @@ -106,6 +107,7 @@ "serve-static": "1.13.2", "shelljs": "0.8.2", "svg-sprite-loader": "3.8.0", + "svgo": "1.0.5", "uglifyjs-webpack-plugin": "1.2.7", "url-loader": "1.0.1", "vue-loader": "15.3.0", diff --git a/src/assets/echarts-macarons.js b/src/assets/echarts-macarons.js deleted file mode 100644 index 0678ef83..00000000 --- a/src/assets/echarts-macarons.js +++ /dev/null @@ -1,199 +0,0 @@ -/* eslint-disable */ -(function (root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['exports', 'echarts'], factory); - } else if (typeof exports === 'object' && typeof exports.nodeName !== 'string') { - // CommonJS - factory(exports, require('echarts')); - } else { - // Browser globals - factory({}, root.echarts); - } -}(this, function (exports, echarts) { - var log = function (msg) { - if (typeof console !== 'undefined') { - console && console.error && console.error(msg); - } - }; - if (!echarts) { - log('ECharts is not Loaded'); - return; - } - - var colorPalette = [ - '#2ec7c9','#b6a2de','#5ab1ef','#ffb980','#d87a80', - '#8d98b3','#e5cf0d','#97b552','#95706d','#dc69aa', - '#07a2a4','#9a7fd1','#588dd5','#f5994e','#c05050', - '#59678c','#c9ab00','#7eb00a','#6f5553','#c14089' - ]; - - - var theme = { - color: colorPalette, - - title: { - textStyle: { - fontWeight: 'normal', - color: '#008acd' - } - }, - - visualMap: { - itemWidth: 15, - color: ['#5ab1ef','#e0ffff'] - }, - - toolbox: { - iconStyle: { - normal: { - borderColor: colorPalette[0] - } - } - }, - - tooltip: { - backgroundColor: 'rgba(50,50,50,0.5)', - axisPointer : { - type : 'line', - lineStyle : { - color: '#008acd' - }, - crossStyle: { - color: '#008acd' - }, - shadowStyle : { - color: 'rgba(200,200,200,0.2)' - } - } - }, - - dataZoom: { - dataBackgroundColor: '#efefff', - fillerColor: 'rgba(182,162,222,0.2)', - handleColor: '#008acd' - }, - - grid: { - borderColor: '#eee' - }, - - categoryAxis: { - axisLine: { - lineStyle: { - color: '#008acd' - } - }, - splitLine: { - lineStyle: { - color: ['#eee'] - } - } - }, - - valueAxis: { - axisLine: { - lineStyle: { - color: '#008acd' - } - }, - splitArea : { - show : true, - areaStyle : { - color: ['rgba(250,250,250,0.1)','rgba(200,200,200,0.1)'] - } - }, - splitLine: { - lineStyle: { - color: ['#eee'] - } - } - }, - - timeline : { - lineStyle : { - color : '#008acd' - }, - controlStyle : { - normal : { color : '#008acd'}, - emphasis : { color : '#008acd'} - }, - symbol : 'emptyCircle', - symbolSize : 3 - }, - - line: { - smooth : true, - symbol: 'emptyCircle', - symbolSize: 3 - }, - - candlestick: { - itemStyle: { - normal: { - color: '#d87a80', - color0: '#2ec7c9', - lineStyle: { - color: '#d87a80', - color0: '#2ec7c9' - } - } - } - }, - - scatter: { - symbol: 'circle', - symbolSize: 4 - }, - - map: { - label: { - normal: { - textStyle: { - color: '#d87a80' - } - } - }, - itemStyle: { - normal: { - borderColor: '#eee', - areaColor: '#ddd' - }, - emphasis: { - areaColor: '#fe994e' - } - } - }, - - graph: { - color: colorPalette - }, - - gauge : { - axisLine: { - lineStyle: { - color: [[0.2, '#2ec7c9'],[0.8, '#5ab1ef'],[1, '#d87a80']], - width: 10 - } - }, - axisTick: { - splitNumber: 10, - length :15, - lineStyle: { - color: 'auto' - } - }, - splitLine: { - length :22, - lineStyle: { - color: 'auto' - } - }, - pointer : { - width : 5 - } - } - }; - - echarts.registerTheme('macarons', theme); -})); diff --git a/src/components/Breadcrumb/index.vue b/src/components/Breadcrumb/index.vue index f1507a9e..32a8fb69 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) }} {{ generateTitle(item.meta.title) }} @@ -11,6 +11,7 @@ + + diff --git a/src/components/ScrollPane/index.vue b/src/components/ScrollPane/index.vue index fa90bbe0..89998e80 100644 --- a/src/components/ScrollPane/index.vue +++ b/src/components/ScrollPane/index.vue @@ -1,13 +1,11 @@ + + + diff --git a/src/components/Tinymce/components/editorImage.vue b/src/components/Tinymce/components/editorImage.vue index f4e0a237..bcd82099 100644 --- a/src/components/Tinymce/components/editorImage.vue +++ b/src/components/Tinymce/components/editorImage.vue @@ -49,7 +49,6 @@ export default { this.$message('请等待所有图片上传成功 或 出现了网络问题,请刷新页面重新上传!') return } - console.log(arr) this.$emit('successCBK', arr) this.listObj = {} this.fileList = [] diff --git a/src/components/Tinymce/index.vue b/src/components/Tinymce/index.vue index 37fd8dd2..7f4a0ae0 100644 --- a/src/components/Tinymce/index.vue +++ b/src/components/Tinymce/index.vue @@ -18,7 +18,9 @@ export default { props: { id: { type: String, - default: 'vue-tinymce-' + +new Date() + default: function() { + return 'vue-tinymce-' + +new Date() + ((Math.random() * 1000).toFixed(0) + '') + } }, value: { type: String, diff --git a/src/components/UploadExcel/index.vue b/src/components/UploadExcel/index.vue index 909c3b4a..20e16398 100644 --- a/src/components/UploadExcel/index.vue +++ b/src/components/UploadExcel/index.vue @@ -1,7 +1,7 @@