Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
啊嘞嘞EC
vue-vben-admin
提交
6bb19fb2
V
vue-vben-admin
项目概览
啊嘞嘞EC
/
vue-vben-admin
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
V
vue-vben-admin
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
6bb19fb2
编写于
3月 27, 2021
作者:
V
Vben
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat(tree): add headerTitle slot
上级
782cbc0a
变更
14
隐藏空白更改
内联
并排
Showing
14 changed file
with
29 addition
and
21 deletion
+29
-21
CHANGELOG.zh_CN.md
CHANGELOG.zh_CN.md
+4
-0
src/components/Form/src/props.ts
src/components/Form/src/props.ts
+0
-1
src/components/Menu/src/BasicMenu.vue
src/components/Menu/src/BasicMenu.vue
+2
-2
src/components/SimpleMenu/src/SimpleMenu.vue
src/components/SimpleMenu/src/SimpleMenu.vue
+2
-2
src/components/Tree/src/TreeHeader.vue
src/components/Tree/src/TreeHeader.vue
+4
-1
src/components/Tree/src/index.vue
src/components/Tree/src/index.vue
+4
-2
src/hooks/web/useTitle.ts
src/hooks/web/useTitle.ts
+2
-2
src/layouts/default/sider/MixSider.vue
src/layouts/default/sider/MixSider.vue
+2
-2
src/layouts/default/tabs/index.vue
src/layouts/default/tabs/index.vue
+2
-2
src/logics/mitt/routeChange.ts
src/logics/mitt/routeChange.ts
+2
-2
src/router/guard/httpGuard.ts
src/router/guard/httpGuard.ts
+1
-1
src/router/guard/pageGuard.ts
src/router/guard/pageGuard.ts
+2
-2
src/router/guard/pageLoadingGuard.ts
src/router/guard/pageLoadingGuard.ts
+1
-1
src/router/guard/stateGuard.ts
src/router/guard/stateGuard.ts
+1
-1
未找到文件。
CHANGELOG.zh_CN.md
浏览文件 @
6bb19fb2
## Wip
### ✨ Features
-
新增
`headerTitle`
slot
### ✨ Refactor
-
移除 useFullScreen 函数
...
...
src/components/Form/src/props.ts
浏览文件 @
6bb19fb2
...
...
@@ -25,7 +25,6 @@ export const basicProps = {
schemas
:
{
type
:
[
Array
]
as
PropType
<
FormSchema
[]
>
,
default
:
()
=>
[],
required
:
true
,
},
mergeDynamicData
:
{
type
:
Object
as
PropType
<
Recordable
>
,
...
...
src/components/Menu/src/BasicMenu.vue
浏览文件 @
6bb19fb2
...
...
@@ -38,7 +38,7 @@
import
{
getCurrentParentPath
}
from
'
/@/router/menus
'
;
import
{
listener
LastChangeTab
}
from
'
/@/logics/mitt/tab
Change
'
;
import
{
listener
RouteChange
}
from
'
/@/logics/mitt/route
Change
'
;
import
{
getAllParentPath
}
from
'
/@/router/helper/menuHelper
'
;
export
default
defineComponent
({
...
...
@@ -105,7 +105,7 @@
return
inlineCollapseOptions
;
});
listener
LastChangeTab
((
route
)
=>
{
listener
RouteChange
((
route
)
=>
{
if
(
route
.
name
===
REDIRECT_NAME
)
return
;
handleMenuChange
(
route
);
currentActiveMenu
.
value
=
route
.
meta
?.
currentActiveMenu
as
string
;
...
...
src/components/SimpleMenu/src/SimpleMenu.vue
浏览文件 @
6bb19fb2
...
...
@@ -27,7 +27,7 @@
import
Menu
from
'
./components/Menu.vue
'
;
import
SimpleSubMenu
from
'
./SimpleSubMenu.vue
'
;
import
{
listener
LastChangeTab
}
from
'
/@/logics/mitt/tab
Change
'
;
import
{
listener
RouteChange
}
from
'
/@/logics/mitt/route
Change
'
;
import
{
propTypes
}
from
'
/@/utils/propTypes
'
;
import
{
REDIRECT_NAME
}
from
'
/@/router/constant
'
;
import
{
RouteLocationNormalizedLoaded
,
useRouter
}
from
'
vue-router
'
;
...
...
@@ -91,7 +91,7 @@
{
immediate
:
true
}
);
listener
LastChangeTab
((
route
)
=>
{
listener
RouteChange
((
route
)
=>
{
if
(
route
.
name
===
REDIRECT_NAME
)
return
;
currentActiveMenu
.
value
=
route
.
meta
?.
currentActiveMenu
as
string
;
...
...
src/components/Tree/src/TreeHeader.vue
浏览文件 @
6bb19fb2
<
template
>
<div
class=
"flex px-2 py-1.5 items-center border-b-1"
>
<BasicTitle
:helpMessage=
"helpMessage"
v-if=
"title"
>
{{
title
}}
</BasicTitle>
<slot
name=
"headerTitle"
v-if=
"$slots.headerTitle"
></slot>
<BasicTitle
:helpMessage=
"helpMessage"
v-if=
"!$slots.headerTitle && title"
>
{{
title
}}
</BasicTitle>
<div
class=
"flex flex-1 justify-end items-center cursor-pointer"
v-if=
"search || toolbar"
>
<div
class=
"mr-1 w-2/3"
v-if=
"search"
>
...
...
src/components/Tree/src/index.vue
浏览文件 @
6bb19fb2
...
...
@@ -321,7 +321,7 @@
}
return
()
=>
{
const
{
title
,
helpMessage
,
toolbar
,
search
,
checkable
}
=
props
;
const
showTitle
=
title
||
toolbar
||
search
;
const
showTitle
=
title
||
toolbar
||
search
||
slots
.
headerTitle
;
const
scrollStyle
:
CSSProperties
=
{
height
:
'
calc(100% - 38px)
'
};
return
(
<
div
class
=
{[
prefixCls
,
'
h-full bg-white
'
,
attrs
.
class
]}
>
...
...
@@ -336,7 +336,9 @@
helpMessage
=
{
helpMessage
}
onStrictlyChange
=
{
onStrictlyChange
}
onSearch
=
{
handleSearch
}
/
>
>
{
extendSlots
(
slots
)}
<
/TreeHeader
>
)}
<
ScrollContainer
style
=
{
scrollStyle
}
v
-
show
=
{
!
unref
(
getNotFound
)}
>
<
Tree
{...
unref
(
getBindValues
)}
showIcon
=
{
false
}
>
...
...
src/hooks/web/useTitle.ts
浏览文件 @
6bb19fb2
...
...
@@ -3,7 +3,7 @@ import { useTitle as usePageTitle } from '@vueuse/core';
import
{
useGlobSetting
}
from
'
/@/hooks/setting
'
;
import
{
REDIRECT_NAME
}
from
'
/@/router/constant
'
;
import
{
listener
LastChangeTab
}
from
'
/@/logics/mitt/tab
Change
'
;
import
{
listener
RouteChange
}
from
'
/@/logics/mitt/route
Change
'
;
export
function
useTitle
()
{
const
{
title
}
=
useGlobSetting
();
...
...
@@ -11,7 +11,7 @@ export function useTitle() {
const
pageTitle
=
usePageTitle
();
listener
LastChangeTab
((
route
)
=>
{
listener
RouteChange
((
route
)
=>
{
if
(
route
.
name
===
REDIRECT_NAME
)
{
return
;
}
...
...
src/layouts/default/sider/MixSider.vue
浏览文件 @
6bb19fb2
...
...
@@ -101,7 +101,7 @@
import
clickOutside
from
'
/@/directives/clickOutside
'
;
import
{
getShallowMenus
,
getChildrenMenus
,
getCurrentParentPath
}
from
'
/@/router/menus
'
;
import
{
listener
LastChangeTab
}
from
'
/@/logics/mitt/tab
Change
'
;
import
{
listener
RouteChange
}
from
'
/@/logics/mitt/route
Change
'
;
import
{
SimpleMenu
}
from
'
/@/components/SimpleMenu
'
;
export
default
defineComponent
({
...
...
@@ -202,7 +202,7 @@
menuModules
.
value
=
await
getShallowMenus
();
});
listener
LastChangeTab
((
route
)
=>
{
listener
RouteChange
((
route
)
=>
{
currentRoute
.
value
=
route
;
setActive
(
true
);
if
(
unref
(
getCloseMixSidebarOnChange
))
{
...
...
src/layouts/default/tabs/index.vue
浏览文件 @
6bb19fb2
...
...
@@ -46,7 +46,7 @@
import
{
useMultipleTabSetting
}
from
'
/@/hooks/setting/useMultipleTabSetting
'
;
import
{
REDIRECT_NAME
}
from
'
/@/router/constant
'
;
import
{
listener
LastChangeTab
}
from
'
/@/logics/mitt/tab
Change
'
;
import
{
listener
RouteChange
}
from
'
/@/logics/mitt/route
Change
'
;
import
router
from
'
/@/router
'
;
...
...
@@ -84,7 +84,7 @@
];
});
listener
LastChangeTab
((
route
)
=>
{
listener
RouteChange
((
route
)
=>
{
const
{
name
}
=
route
;
if
(
name
===
REDIRECT_NAME
||
!
route
||
!
userStore
.
getTokenState
)
return
;
...
...
src/logics/mitt/
tab
Change.ts
→
src/logics/mitt/
route
Change.ts
浏览文件 @
6bb19fb2
...
...
@@ -12,13 +12,13 @@ const key = Symbol();
let
lastChangeTab
:
RouteLocationNormalized
;
export
function
set
LastChangeTab
(
lastChangeRoute
:
RouteLocationNormalized
)
{
export
function
set
RouteChange
(
lastChangeRoute
:
RouteLocationNormalized
)
{
const
r
=
getRawRoute
(
lastChangeRoute
);
mitt
.
emit
(
key
,
r
);
lastChangeTab
=
r
;
}
export
function
listener
LastChangeTab
(
export
function
listener
RouteChange
(
callback
:
(
route
:
RouteLocationNormalized
)
=>
void
,
immediate
=
true
)
{
...
...
src/router/guard/httpGuard.ts
浏览文件 @
6bb19fb2
...
...
@@ -14,7 +14,7 @@ export function createHttpGuard(router: Router) {
}
router
.
beforeEach
(
async
()
=>
{
// Switching the route will delete the previous request
removeAllHttpPending
&&
axiosCanceler
?.
removeAllPending
();
axiosCanceler
?.
removeAllPending
();
return
true
;
});
}
src/router/guard/pageGuard.ts
浏览文件 @
6bb19fb2
import
type
{
Router
}
from
'
vue-router
'
;
import
{
set
LastChangeTab
}
from
'
/@/logics/mitt/tab
Change
'
;
import
{
set
RouteChange
}
from
'
/@/logics/mitt/route
Change
'
;
export
function
createPageGuard
(
router
:
Router
)
{
const
loadedPageMap
=
new
Map
<
string
,
boolean
>
();
...
...
@@ -7,7 +7,7 @@ export function createPageGuard(router: Router) {
router
.
beforeEach
(
async
(
to
)
=>
{
to
.
meta
.
loaded
=
!!
loadedPageMap
.
get
(
to
.
path
);
// Notify routing changes
set
LastChangeTab
(
to
);
set
RouteChange
(
to
);
return
true
;
});
...
...
src/router/guard/pageLoadingGuard.ts
浏览文件 @
6bb19fb2
...
...
@@ -25,7 +25,7 @@ export function createPageLoadingGuard(router: Router) {
if
(
unref
(
getOpenPageLoading
))
{
setTimeout
(()
=>
{
appStore
.
commitPageLoadingState
(
false
);
},
30
0
);
},
22
0
);
}
return
true
;
});
...
...
src/router/guard/stateGuard.ts
浏览文件 @
6bb19fb2
...
...
@@ -4,7 +4,7 @@ import { tabStore } from '/@/store/modules/tab';
import
{
userStore
}
from
'
/@/store/modules/user
'
;
import
{
permissionStore
}
from
'
/@/store/modules/permission
'
;
import
{
PageEnum
}
from
'
/@/enums/pageEnum
'
;
import
{
removeTabChangeListener
}
from
'
/@/logics/mitt/
tab
Change
'
;
import
{
removeTabChangeListener
}
from
'
/@/logics/mitt/
route
Change
'
;
export
function
createStateGuard
(
router
:
Router
)
{
router
.
afterEach
((
to
)
=>
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录