Former-commit-id: a90637e57de8a016135aeb5b4d43d1db78eed7b1 [formerly df1374a5bf87d104dc2f41a1f6eeb6ba075c2923] [formerly a90637e57de8a016135aeb5b4d43d1db78eed7b1 [formerly df1374a5bf87d104dc2f41a1f6eeb6ba075c2923] [formerly a90637e57de8a016135aeb5b4d43d1db78eed7b1 [formerly df1374a5bf87d104dc2f41a1f6eeb6ba075c2923] [formerly df1374a5bf87d104dc2f41a1f6eeb6ba075c2923 [formerly 6b854444d7f338481165fc1c4c999f866282958e [formerly 1371e68396bb244a22bc579bb55f12e5b6c40809]]]]]
Former-commit-id: 1815aa974e40b1de51ad22359615b8d169793ba1
Former-commit-id: 30a07d937aca2e3156551b823c72dea29188314e
Former-commit-id: 4180971ccf5277ea71eb8864df232fc3faf1f4d3 [formerly 8b4d133ffebc9382606ef6bd19c35415a8a88422]
Former-commit-id: 0399bc6935c57909850285c807624a04ed919690
Former-commit-id: c5a7c8f7e5c4b8945a096e8b2a9b362817e3e49b
Former-commit-id: 6195d04a71287b56282310563694e59578ef7f3b
Former-commit-id: 9b75da52937cce80ef16fc6e1ab20777723be3f8
Former-commit-id: 6ec6d677cc099762d68ef23332a5845085aa0c57
This commit is contained in:
FairyEver 2019-07-16 20:43:50 +08:00
parent 1d074843be
commit bf2abb9a7a
3 changed files with 43 additions and 31 deletions

View File

@ -28,27 +28,6 @@ export default {
]
}
},
watch: {
//
// 访 this.$ELEMENT 使
value: {
handler (val, oldVal) {
// https://github.com/d2-projects/d2-admin/pull/129
if (oldVal) {
//
this.$ELEMENT.size = val
//
this.pageKeepAliveClean()
//
this.$router.replace('/refresh')
} else {
//
this.$ELEMENT.size = val
}
},
immediate: true
}
},
methods: {
...mapMutations({
pageKeepAliveClean: 'd2admin/page/keepAliveClean'

View File

@ -23,7 +23,17 @@ const router = new VueRouter({
* 路由拦截
* 权限验证
*/
router.beforeEach((to, from, next) => {
router.beforeEach(async (to, from, next) => {
// 等待数据加载 https://github.com/d2-projects/d2-admin/issues/201
await new Promise (resolve => {
const timer = setInterval(() => {
if (store.state.d2admin.page.openedLoaded) {
resolve(clearInterval(timer))
}
}, 10)
})
// 等待加载组件尺寸 https://github.com/d2-projects/d2-admin/issues/198
await store.dispatch('d2admin/size/isLoaded')
// 进度条
NProgress.start()
// 关闭搜索面板
@ -55,17 +65,9 @@ router.beforeEach((to, from, next) => {
router.afterEach(async to => {
router.afterEach(to => {
// 进度条
NProgress.done()
// 等待数据加载 https://github.com/d2-projects/d2-admin/issues/201
await new Promise (resolve => {
const timer = setInterval(() => {
if (store.state.d2admin.page.openedLoaded) {
resolve(clearInterval(timer))
}
}, 10)
})
// 多页控制 打开新的页面
store.dispatch('d2admin/page/open', to)
// 更改标题

View File

@ -1,3 +1,6 @@
import Vue from 'vue'
import router from '@/router'
export default {
namespaced: true,
state: {
@ -5,6 +8,30 @@ export default {
value: '' // medium small mini
},
actions: {
/**
* @description 将当前的设置应用到 element
* @param {Boolean} refresh 是否在设置之后刷新页面
*/
apply ({ state, commit }, refresh) {
Vue.prototype.$ELEMENT.size = state.value
if (refresh) {
commit('d2admin/page/keepAliveClean', null, { root: true })
router.replace('/refresh')
}
},
/**
* @description 确认组件尺寸已经加载 https://github.com/d2-projects/d2-admin/issues/198
*/
isLoaded ({ state }) {
if (state.value) return Promise.resolve()
return new Promise(resolve => {
const timer = setInterval(() => {
if (state.value) {
resolve(clearInterval(timer))
}
}, 10)
})
},
/**
* @description 设置尺寸
* @param {Object} state vuex state
@ -14,6 +41,8 @@ export default {
return new Promise(async resolve => {
// store 赋值
state.value = size
// 应用
dispatch('apply', true)
// 持久化
await dispatch('d2admin/db/set', {
dbName: 'sys',
@ -38,6 +67,8 @@ export default {
defaultValue: 'default',
user: true
}, { root: true })
// 应用
dispatch('apply')
// end
resolve()
})