diff --git a/package-lock.json b/package-lock.json index 530b0bf..78cd1c9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -553,6 +553,12 @@ } } }, + "@element-plus/icons": { + "version": "0.0.11", + "resolved": "https://registry.npmjs.org/@element-plus/icons/-/icons-0.0.11.tgz", + "integrity": "sha512-iKQXSxXu131Ai+I9Ymtcof9WId7kaXvB1+WRfAfpQCW7UiAMYgdNDqb/u0hgTo2Yq3MwC4MWJnNuTBEpG8r7+A==", + "dev": true + }, "@eslint/eslintrc": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.0.tgz", @@ -610,9 +616,9 @@ } }, "@popperjs/core": { - "version": "2.9.1", - "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.9.1.tgz", - "integrity": "sha512-DvJbbn3dUgMxDnJLH+RZQPnXak1h4ZVYQ7CWiFWjQwBFkVajT4rfw2PdpHLTSTwxrYfnoEXkuBiwkDm6tPMQeA==", + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.10.1.tgz", + "integrity": "sha512-HnUhk1Sy9IuKrxEMdIRCxpIqPw6BFsbYSEUO9p/hNw5sMld/+3OLMWQP80F8/db9qsv3qUjs7ZR5bS/R+iinXw==", "dev": true }, "@rollup/plugin-node-resolve": { @@ -954,9 +960,9 @@ "dev": true }, "async-validator": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-3.5.1.tgz", - "integrity": "sha512-DDmKA7sdSAJtTVeNZHrnr2yojfFaoeW8MfQN8CeuXg8DDQHTqKk9Fdv38dSvnesHoO8MUwMI2HphOeSyIF+wmQ==", + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-3.5.2.tgz", + "integrity": "sha512-8eLCg00W9pIRZSB781UUX/H6Oskmm8xloZfr09lz5bikRpBVDlJ3hRVuxxP1SxcwsEYfJ4IU8Q19Y8/893r3rQ==", "dev": true }, "at-least-node": { @@ -1540,9 +1546,9 @@ "dev": true }, "dayjs": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.10.4.tgz", - "integrity": "sha512-RI/Hh4kqRc1UKLOAf/T5zdMMX5DQIlDxwUe3wSyMMnEbGunnpENCdbUgM+dW7kXidZqCttBrmw7BhN4TMddkCw==", + "version": "1.10.7", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.10.7.tgz", + "integrity": "sha512-P6twpd70BcPK34K26uJ1KT3wlhpuOAPoMwJzpsIWUxHZ7wpmbdZL/hQqBDfz7hGurYSa5PhzdhDHtt319hL3ig==", "dev": true }, "debug": { @@ -1751,11 +1757,12 @@ "dev": true }, "element-plus": { - "version": "1.0.2-beta.35", - "resolved": "https://registry.npmjs.org/element-plus/-/element-plus-1.0.2-beta.35.tgz", - "integrity": "sha512-T12EfxbWoNOrWE2bzXFPJdOU3cl4YWuLwxE5QKM40oPw1VYPMRrRB8Uy5TwF8h3itxzsJQ5iFj2rdDO+q3Jcdg==", + "version": "1.0.2-beta.71", + "resolved": "https://registry.npmjs.org/element-plus/-/element-plus-1.0.2-beta.71.tgz", + "integrity": "sha512-tlfbRORIav8gJcIpjZI5F6aJIVHIaDuGO6/vKu43lgYq4JS2JPNRTjvrSE2p4f5xLfaFNfOWjCS3sybXLfMg8g==", "dev": true, "requires": { + "@element-plus/icons": "^0.0.11", "@popperjs/core": "^2.4.4", "async-validator": "^3.4.0", "dayjs": "1.x", @@ -4773,12 +4780,12 @@ "dev": true }, "sass": { - "version": "1.32.8", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.32.8.tgz", - "integrity": "sha512-Sl6mIeGpzjIUZqvKnKETfMf0iDAswD9TNlv13A7aAF3XZlRPMq4VvJWBC2N2DXbp94MQVdNSFG6LfF/iOXrPHQ==", + "version": "1.41.1", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.41.1.tgz", + "integrity": "sha512-vIjX7izRxw3Wsiez7SX7D+j76v7tenfO18P59nonjr/nzCkZuoHuF7I/Fo0ZRZPKr88v29ivIdE9BqGDgQD/Nw==", "dev": true, "requires": { - "chokidar": ">=2.0.0 <4.0.0" + "chokidar": ">=3.0.0 <4.0.0" } }, "semver": { diff --git a/package.json b/package.json index 9e2626e..0788945 100644 --- a/package.json +++ b/package.json @@ -33,7 +33,7 @@ "autoprefixer": "^10.2.5", "babel-eslint": "^10.1.0", "crypto-js": "^4.0.0", - "element-plus": "^1.0.2-beta.35", + "element-plus": "^1.0.2-beta.71", "eslint": "^6.7.2", "eslint-plugin-prettier": "^3.1.3", "eslint-plugin-vue": "^7.0.0-0", @@ -41,7 +41,7 @@ "lint-staged": "^9.5.0", "mockjs": "^1.1.0", "prettier": "^1.19.1", - "sass": "^1.32.8", + "sass": "^1.41.1", "vite": "^2.1.0", "vite-plugin-mock": "^2.3.0", "vite-plugin-svg-icons": "^0.4.0" diff --git a/src/App.vue b/src/App.vue index 58957bb..24635d0 100644 --- a/src/App.vue +++ b/src/App.vue @@ -24,7 +24,7 @@ * @version: * @Date: 2021-04-20 11:06:21 * @LastEditors: huzhushan@126.com - * @LastEditTime: 2021-07-23 17:26:35 + * @LastEditTime: 2021-09-18 13:17:44 * @Author: huzhushan@126.com * @HomePage: https://huzhushan.gitee.io/vue3-element-admin * @Github: https://github.com/huzhushan/vue3-element-admin @@ -32,9 +32,29 @@ --> + + diff --git a/src/components/SelectTree/Tree.vue b/src/components/SelectTree/Tree.vue new file mode 100644 index 0000000..fa88791 --- /dev/null +++ b/src/components/SelectTree/Tree.vue @@ -0,0 +1,130 @@ + + + + + diff --git a/src/components/SelectTree/index.vue b/src/components/SelectTree/index.vue new file mode 100644 index 0000000..07360c3 --- /dev/null +++ b/src/components/SelectTree/index.vue @@ -0,0 +1,145 @@ + + + + + diff --git a/src/defaultSettings.js b/src/default-settings.js similarity index 96% rename from src/defaultSettings.js rename to src/default-settings.js index 069b484..a2d173c 100644 --- a/src/defaultSettings.js +++ b/src/default-settings.js @@ -44,7 +44,7 @@ * @version: * @Date: 2021-07-22 17:22:14 * @LastEditors: huzhushan@126.com - * @LastEditTime: 2021-07-23 14:44:42 + * @LastEditTime: 2021-09-18 15:02:01 * @Author: huzhushan@126.com * @HomePage: https://huzhushan.gitee.io/vue3-element-admin * @Github: https://github.com/huzhushan/vue3-element-admin @@ -53,6 +53,8 @@ export default { menus: { + // 菜单栏是否显示 + isShow: true, // 菜单栏排列方式 mode: 'vertical', // horizontal: 水平排列 vertical: 垂直排列 }, diff --git a/src/global-components.js b/src/global-components.js index 7c94d14..0418288 100644 --- a/src/global-components.js +++ b/src/global-components.js @@ -1,33 +1,20 @@ /* - * _______________#########_______________________ - * ______________############_____________________ - * ______________#############____________________ - * _____________##__###########___________________ - * ____________###__######_#####__________________ - * ____________###_#######___####_________________ - * ___________###__##########_####________________ - * __________####__###########_####_______________ - * ________#####___###########__#####_____________ - * _______######___###_########___#####___________ - * _______#####___###___########___######_________ - * ______######___###__###########___######_______ - * _____######___####_##############__######______ - * ____#######__#####################_#######_____ - * ____#######__##############################____ - * ___#######__######_#################_#######___ - * ___#######__######_######_#########___######___ - * ___#######____##__######___######_____######___ - * ___#######________######____#####_____#####____ - * ____######________#####_____#####_____####_____ - * _____#####________####______#####_____###______ - * ______#####______;###________###______#________ - * ________##_______####________####______________ + * 江城子 . 程序员之歌 + * + * 十年生死两茫茫,写程序,到天亮。 + * 千行代码,Bug何处藏。 + * 纵使上线又怎样,朝令改,夕断肠。 + * + * 领导每天新想法,天天改,日日忙。 + * 相顾无言,惟有泪千行。 + * 每晚灯火阑珊处,夜难寐,加班狂。 + * * * @Descripttion: * @version: - * @Date: 2021-04-20 11:06:21 + * @Date: 2021-09-18 09:32:01 * @LastEditors: huzhushan@126.com - * @LastEditTime: 2021-04-21 12:48:53 + * @LastEditTime: 2021-09-18 17:54:29 * @Author: huzhushan@126.com * @HomePage: https://huzhushan.gitee.io/vue3-element-admin * @Github: https://github.com/huzhushan/vue3-element-admin @@ -36,3 +23,4 @@ export { default as SvgIcon } from '@/components/SvgIcon/index.vue' export { default as ProTable } from '@/components/ProTable/index.vue' +export { default as ElSelectTree } from '@/components/SelectTree/index.vue' diff --git a/src/hooks/useCloseTag.js b/src/hooks/useCloseTag.js new file mode 100644 index 0000000..46158bc --- /dev/null +++ b/src/hooks/useCloseTag.js @@ -0,0 +1,69 @@ +/* + * + *   ┏┓   ┏┓+ + + *  ┏┛┻━━━┛┻┓ + + + *  ┃       ┃ + *  ┃   ━   ┃ ++ + + + + * ████━████ ┃+ + *  ┃       ┃ + + *  ┃   ┻   ┃ + *  ┃       ┃ + + + *  ┗━┓   ┏━┛ + *    ┃   ┃ + *    ┃   ┃ + + + + + *    ┃   ┃ + *    ┃   ┃ + 神兽保佑 + *    ┃   ┃ 代码无bug + *    ┃   ┃  + + *    ┃    ┗━━━┓ + + + *    ┃        ┣┓ + *    ┃        ┏┛ + *    ┗┓┓┏━┳┓┏┛ + + + + + *     ┃┫┫ ┃┫┫ + *     ┗┻┛ ┗┻┛+ + + + + * + * + * @Descripttion: + * @version: + * @Date: 2021-08-20 11:15:27 + * @LastEditors: huzhushan@126.com + * @LastEditTime: 2021-09-18 17:25:32 + * @Author: huzhushan@126.com + * @HomePage: https://huzhushan.gitee.io/vue3-element-admin + * @Github: https://github.com/huzhushan/vue3-element-admin + * @Donate: https://huzhushan.gitee.io/vue3-element-admin/donate/ + */ + +import { reactive, toRefs, getCurrentInstance } from 'vue' +import { useRoute, useRouter } from 'vue-router' +import { useStore } from 'vuex' + +// 关闭当前标签 +export default () => { + const instance = getCurrentInstance() + const store = useStore() + const router = useRouter() + const route = useRoute() + const state = reactive({ + /** + * @param {String} fullPath 要跳转到那个页面的地址 + * @param {Boolean} reload 是否在跳转后重新渲染页面组件 + * @param {Boolean} f5 是否在跳转后刷新页面 + * @return {*} + */ + closeTag({ fullPath, reload, f5 } = {}) { + store.dispatch('tags/delTag', route) + fullPath ? router.push(fullPath) : router.back() + reload && + setTimeout(() => { + instance.appContext.config.globalProperties.$tagsbar.refreshSelectedTag( + route + ) + }, 500) + + f5 && setTimeout(() => window.location.reload(), 500) + }, + }) + + return toRefs(state) +} diff --git a/src/layout/components/Tagsbar/index.vue b/src/layout/components/Tagsbar/index.vue index 4dc8720..1227be0 100644 --- a/src/layout/components/Tagsbar/index.vue +++ b/src/layout/components/Tagsbar/index.vue @@ -13,7 +13,7 @@ * @version: * @Date: 2021-04-20 11:06:21 * @LastEditors: huzhushan@126.com - * @LastEditTime: 2021-07-23 16:48:37 + * @LastEditTime: 2021-09-18 17:50:46 * @Author: huzhushan@126.com * @HomePage: https://huzhushan.gitee.io/vue3-element-admin * @Github: https://github.com/huzhushan/vue3-element-admin @@ -68,13 +68,17 @@ diff --git a/src/views/test/Edit.vue b/src/views/test/Edit.vue index cc559d8..47026bd 100644 --- a/src/views/test/Edit.vue +++ b/src/views/test/Edit.vue @@ -27,7 +27,7 @@ * @version: * @Date: 2021-04-28 16:50:05 * @LastEditors: huzhushan@126.com - * @LastEditTime: 2021-04-28 16:50:41 + * @LastEditTime: 2021-09-18 17:51:25 * @Author: huzhushan@126.com * @HomePage: https://huzhushan.gitee.io/vue3-element-admin * @Github: https://github.com/huzhushan/vue3-element-admin @@ -36,4 +36,24 @@ + diff --git a/vite.config.js b/vite.config.js index cc1ef9d..bd064c8 100644 --- a/vite.config.js +++ b/vite.config.js @@ -14,7 +14,7 @@ * @version: * @Date: 2021-04-20 11:06:21 * @LastEditors: huzhushan@126.com - * @LastEditTime: 2021-04-22 09:28:15 + * @LastEditTime: 2021-09-18 15:09:15 * @Author: huzhushan@126.com * @HomePage: https://huzhushan.gitee.io/vue3-element-admin * @Github: https://github.com/huzhushan/vue3-element-admin @@ -76,6 +76,7 @@ export default env => { '/api': { target: 'http://dev.api.xxx.com', // 后端接口的域名 changeOrigin: true, + rewrite: path => path.replace(/^\/api/, ''), }, }, }, diff --git a/升级.txt b/升级.txt new file mode 100644 index 0000000..ab5f997 --- /dev/null +++ b/升级.txt @@ -0,0 +1,12 @@ +升级element-plus +升级sass +更新App.vue国际化配置 +defaultSettings:重命名、增加menus.isShow +permission.js增加loading +permission.js增加404页面白名单 +permission.js删除所有动态路由 +退出的时候清空标签栏和menus +tags增加清空标签栏的mutations +404页面路由修改 +增加公共hooks +增加树形下拉组件 \ No newline at end of file