From df79ed41ff7df8a59aeec74ffc66b79da747a1f1 Mon Sep 17 00:00:00 2001 From: FairyEver <1711467488@qq.com> Date: Fri, 24 Apr 2020 14:19:14 +0800 Subject: [PATCH] feat: 1.9.1 --- README.md | 2 + README.zh.md | 2 + package.json | 2 +- src/api/sys.login.js | 2 +- src/assets/style/fixed/element.scss | 14 +- src/assets/style/theme/theme-base.scss | 8 +- .../header-aside/components/libs/util.menu.js | 26 ++-- .../components/menu-header/index.js | 20 +-- .../components/menu-side/index.js | 19 +-- src/layout/header-aside/layout.vue | 18 ++- src/setting.js | 5 +- src/store/modules/d2admin/modules/account.js | 90 +++++-------- src/store/modules/d2admin/modules/menu.js | 127 +++++++++--------- src/store/modules/d2admin/modules/page.js | 79 ++++++----- 14 files changed, 224 insertions(+), 190 deletions(-) diff --git a/README.md b/README.md index 48c0609..88069be 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,8 @@  [](https://app.netlify.com/sites/d2-admin-start-kit/deploys) +The following access addresses are built and deployed by the latest master branch code at the same time. The access effect is completely consistent. Please select the appropriate access link according to your own network situation. + | server | link | server | | --- | --- | --- | | d2.pub | [d2.pub/d2-admin-start-kit/preview](https://d2.pub/d2-admin-start-kit/preview) | China server | diff --git a/README.zh.md b/README.zh.md index e9307a0..0ca4dba 100644 --- a/README.zh.md +++ b/README.zh.md @@ -7,6 +7,8 @@  [](https://app.netlify.com/sites/d2-admin-start-kit/deploys) +下列访问地址均由最新的 master 分支代码同时构建部署,访问效果完全一致,请根据自身网络情况选择合适的访问链接。 + | 位置 | 链接 | 部署位置 | | --- | --- | --- | | d2.pub | [preview](https://d2.pub/d2-admin-start-kit/preview) | 中国服务器 | diff --git a/package.json b/package.json index 2e5cf11..0bfabdc 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "d2-admin-start-kit", - "version": "1.8.4", + "version": "1.9.1", "scripts": { "serve": "vue-cli-service serve --open", "start": "npm run serve", diff --git a/src/api/sys.login.js b/src/api/sys.login.js index 882292e..5ce2563 100644 --- a/src/api/sys.login.js +++ b/src/api/sys.login.js @@ -1,6 +1,6 @@ import request from '@/plugin/axios' -export function AccountLogin (data) { +export function accountLogin (data) { return request({ url: '/login', method: 'post', diff --git a/src/assets/style/fixed/element.scss b/src/assets/style/fixed/element.scss index a6c7fc9..4e7f42c 100644 --- a/src/assets/style/fixed/element.scss +++ b/src/assets/style/fixed/element.scss @@ -16,4 +16,16 @@ .el-tabs__item:focus.is-active.is-focus:not(:active) { box-shadow: none !important; -} \ No newline at end of file +} + +// 修复IE宽度不能撑满 +.el-table__body, +.el-table__header { + width: 100% !important; +} + +// Chrome下表格头部错位修复 +.el-table th.gutter, +.el-table colgroup.gutter { + display: table-cell !important; +} diff --git a/src/assets/style/theme/theme-base.scss b/src/assets/style/theme/theme-base.scss index b9f3262..4d420b9 100644 --- a/src/assets/style/theme/theme-base.scss +++ b/src/assets/style/theme/theme-base.scss @@ -74,13 +74,15 @@ } .d2-theme-container { .d2-theme-container-aside { - transition: width .3s; position: relative; .d2-layout-header-aside-menu-side { @extend %full; overflow: hidden; } } + .d2-theme-container-transition { + transition: width .3s; + } .d2-theme-container-main { padding: 0px; position: relative; @@ -116,13 +118,15 @@ .d2-theme-header { // logo区域 .logo-group { - transition: width .3s; float: left; text-align: center; img { height: 60px; } } + .logo-transition { + transition: width .3s; + } // 折叠侧边栏切换按钮 .toggle-aside-btn { float: left; diff --git a/src/layout/header-aside/components/libs/util.menu.js b/src/layout/header-aside/components/libs/util.menu.js index 148e02f..a13f3a3 100644 --- a/src/layout/header-aside/components/libs/util.menu.js +++ b/src/layout/header-aside/components/libs/util.menu.js @@ -1,32 +1,32 @@ // 创建 el-menu-item -export function elMenuItem (createElement, menu) { - return createElement('el-menu-item', { key: menu.path, props: { index: menu.path } }, [ +export function elMenuItem (h, menu) { + return h('el-menu-item', { key: menu.path, props: { index: menu.path } }, [ ...menu.icon ? [ - createElement('i', { attrs: { class: `fa fa-${menu.icon}` } }) + h('i', { attrs: { class: `fa fa-${menu.icon}` } }) ] : [], ...menu.icon === undefined & !menu.iconSvg ? [ - createElement('i', { attrs: { class: 'fa fa-file-o' } }) + h('i', { attrs: { class: 'fa fa-file-o' } }) ] : [], ...menu.iconSvg ? [ - createElement('d2-icon-svg', { props: { name: menu.iconSvg } }) + h('d2-icon-svg', { props: { name: menu.iconSvg } }) ] : [], - createElement('span', { slot: 'title' }, menu.title || '未命名菜单') + h('span', { slot: 'title' }, menu.title || '未命名菜单') ]) } // 创建 el-submenu -export function elSubmenu (createElement, menu) { - return createElement('el-submenu', { key: menu.path, props: { index: menu.path } }, [ +export function elSubmenu (h, menu) { + return h('el-submenu', { key: menu.path, props: { index: menu.path } }, [ ...menu.icon ? [ - createElement('i', { slot: 'title', attrs: { class: `fa fa-${menu.icon}` } }) + h('i', { slot: 'title', attrs: { class: `fa fa-${menu.icon}` } }) ] : [], ...menu.icon === undefined & !menu.iconSvg ? [ - createElement('i', { slot: 'title', attrs: { class: 'fa fa-folder-o' } }) + h('i', { slot: 'title', attrs: { class: 'fa fa-folder-o' } }) ] : [], ...menu.iconSvg ? [ - createElement('d2-icon-svg', { slot: 'title', props: { name: menu.iconSvg } }) + h('d2-icon-svg', { slot: 'title', props: { name: menu.iconSvg } }) ] : [], - createElement('span', { slot: 'title' }, menu.title || '未命名菜单'), - ...menu.children.map((child, childIndex) => (child.children === undefined ? elMenuItem : elSubmenu).call(this, createElement, child)) + h('span', { slot: 'title' }, menu.title || '未命名菜单'), + ...menu.children.map((child, childIndex) => (child.children === undefined ? elMenuItem : elSubmenu).call(this, h, child)) ]) } diff --git a/src/layout/header-aside/components/menu-header/index.js b/src/layout/header-aside/components/menu-header/index.js index bea4249..55d7fd9 100644 --- a/src/layout/header-aside/components/menu-header/index.js +++ b/src/layout/header-aside/components/menu-header/index.js @@ -8,39 +8,39 @@ export default { mixins: [ menuMixin ], - render (createElement) { - return createElement('div', { + render (h) { + return h('div', { attrs: { flex: 'cross:center' }, class: { 'd2-theme-header-menu': true, 'is-scrollable': this.isScroll }, ref: 'page' }, [ - createElement('div', { + h('div', { attrs: { class: 'd2-theme-header-menu__content', flex: '', 'flex-box': '1' }, ref: 'content' }, [ - createElement('div', { + h('div', { attrs: { class: 'd2-theme-header-menu__scroll', 'flex-box': '0' }, style: { transform: `translateX(${this.currentTranslateX}px)` }, ref: 'scroll' }, [ - createElement('el-menu', { + h('el-menu', { props: { mode: 'horizontal', defaultActive: this.active }, on: { select: this.handleMenuSelect } - }, this.header.map(menu => (menu.children === undefined ? elMenuItem : elSubmenu).call(this, createElement, menu))) + }, this.header.map(menu => (menu.children === undefined ? elMenuItem : elSubmenu).call(this, h, menu))) ]) ]), ...this.isScroll ? [ - createElement('div', { + h('div', { attrs: { class: 'd2-theme-header-menu__prev', flex: 'main:center cross:center', 'flex-box': '0' }, on: { click: () => this.scroll('left') } }, [ - createElement('i', { attrs: { class: 'el-icon-arrow-left' } }) + h('i', { attrs: { class: 'el-icon-arrow-left' } }) ]), - createElement('div', { + h('div', { attrs: { class: 'd2-theme-header-menu__next', flex: 'main:center cross:center', 'flex-box': '0' }, on: { click: () => this.scroll('right') } }, [ - createElement('i', { attrs: { class: 'el-icon-arrow-right' } }) + h('i', { attrs: { class: 'el-icon-arrow-right' } }) ]) ] : [] ]) diff --git a/src/layout/header-aside/components/menu-side/index.js b/src/layout/header-aside/components/menu-side/index.js index 3311ea0..f1bf980 100644 --- a/src/layout/header-aside/components/menu-side/index.js +++ b/src/layout/header-aside/components/menu-side/index.js @@ -8,17 +8,17 @@ export default { mixins: [ menuMixin ], - render (createElement) { - return createElement('div', { attrs: { class: 'd2-layout-header-aside-menu-side' } }, [ - createElement('el-menu', { - props: { collapse: this.asideCollapse, uniqueOpened: true, defaultActive: this.$route.fullPath }, + render (h) { + return h('div', { attrs: { class: 'd2-layout-header-aside-menu-side' } }, [ + h('el-menu', { + props: { collapse: this.asideCollapse, collapseTransition: this.asideTransition, uniqueOpened: true, defaultActive: this.$route.fullPath }, ref: 'menu', on: { select: this.handleMenuSelect } - }, this.aside.map(menu => (menu.children === undefined ? elMenuItem : elSubmenu).call(this, createElement, menu))), + }, this.aside.map(menu => (menu.children === undefined ? elMenuItem : elSubmenu).call(this, h, menu))), ...this.aside.length === 0 && !this.asideCollapse ? [ - createElement('div', { attrs: { class: 'd2-layout-header-aside-menu-empty', flex: 'dir:top main:center cross:center' } }, [ - createElement('d2-icon', { props: { name: 'inbox' } }), - createElement('span', {}, '没有侧栏菜单') + h('div', { attrs: { class: 'd2-layout-header-aside-menu-empty', flex: 'dir:top main:center cross:center' } }, [ + h('d2-icon', { props: { name: 'inbox' } }), + h('span', {}, '没有侧栏菜单') ]) ] : [] ]) @@ -32,7 +32,8 @@ export default { computed: { ...mapState('d2admin/menu', [ 'aside', - 'asideCollapse' + 'asideCollapse', + 'asideTransition' ]) }, watch: { diff --git a/src/layout/header-aside/layout.vue b/src/layout/header-aside/layout.vue index b831876..839e443 100644 --- a/src/layout/header-aside/layout.vue +++ b/src/layout/header-aside/layout.vue @@ -6,7 +6,11 @@