Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
iBiz-Vue-R7-Res
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
iBiz-R7前端标准模板
iBiz-Vue-R7-Res
提交
46557d23
提交
46557d23
编写于
6月 16, 2020
作者:
tony001
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
全局导航服务
上级
904d9329
变更
1
隐藏空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
175 行增加
和
0 行删除
+175
-0
navdata-service.ts
src/service/app/navdata-service.ts
+175
-0
未找到文件。
src/service/app/navdata-service.ts
0 → 100644
浏览文件 @
46557d23
export
interface
NavDataElement
{
/**
* 主键标识
*
* @memberof NavDataElement
*/
id
:
string
;
/**
* 视图标题
*
* @memberof NavDataElement
*/
title
:
any
;
/**
* 上下文
*
* @memberof NavDataElement
*/
context
:
any
;
/**
* 视图参数
*
* @memberof NavDataElement
*/
viewparams
:
any
;
/**
* 视图数据
*
* @memberof NavDataElement
*/
data
:
any
;
}
/**
* 导航数据服务
*
* @export
* @class CodeListService
*/
export
default
class
NavDataService
{
/**
* 导航数据栈
*
* @memberof NavDataService
*/
public
navDataStack
:
Array
<
NavDataElement
>
=
[];
/**
* 导航数据存储仓库
*
* @memberof NavDataService
*/
public
sessionStore
:
any
;
/**
* 初始化实例
*
* @memberof NavDataService
*/
constructor
(
opts
:
any
=
{}){
this
.
sessionStore
=
window
.
sessionStorage
;
this
.
initNavData
();
}
/**
* 初始化基础导航数据
*
* @memberof NavDataService
*/
public
initNavData
(){
if
(
this
.
sessionStore
&&
this
.
sessionStore
.
getItem
(
'srfnavdata'
)){
this
.
navDataStack
=
JSON
.
parse
(
this
.
sessionStore
.
getItem
(
'srfnavdata'
));
}
}
/**
* 添加基础导航数据到栈中
*
* @memberof NavDataService
*/
public
addNavData
(
curNavData
:
NavDataElement
){
if
(
this
.
navDataStack
.
length
>
0
){
let
tempIndex
:
number
=
this
.
navDataStack
.
findIndex
((
element
:
NavDataElement
)
=>
{
return
Object
.
is
(
element
.
id
,
curNavData
.
id
);
})
if
(
tempIndex
===
-
1
){
this
.
navDataStack
.
push
(
curNavData
);
this
.
sessionStore
.
setItem
(
'srfnavdata'
,
JSON
.
stringify
(
this
.
navDataStack
));
return
curNavData
;
}
else
{
this
.
setNavDataById
(
curNavData
.
id
,
curNavData
);
}
}
else
{
this
.
navDataStack
.
push
(
curNavData
);
this
.
sessionStore
.
setItem
(
'srfnavdata'
,
JSON
.
stringify
(
this
.
navDataStack
));
return
curNavData
;
}
console
.
log
(
this
.
navDataStack
);
}
/**
* 设置指定数据到基础导航数据栈中
*
* @memberof NavDataService
*/
public
setNavDataById
(
id
:
string
,
curNavData
:
NavDataElement
){
if
(
this
.
navDataStack
.
length
>
0
){
let
tempIndex
:
number
=
this
.
navDataStack
.
findIndex
((
element
:
NavDataElement
)
=>
{
return
Object
.
is
(
element
.
id
,
id
);
})
this
.
navDataStack
[
tempIndex
]
=
curNavData
;
this
.
sessionStore
.
setItem
(
'srfnavdata'
,
JSON
.
stringify
(
this
.
navDataStack
));
return
curNavData
;
}
else
{
return
null
;
}
}
/**
* 从导航数据栈中删除指定数据
*
* @memberof NavDataService
*/
public
removeNavData
(
id
:
string
){
if
(
this
.
navDataStack
.
length
>
0
){
let
tempIndex
:
number
=
this
.
navDataStack
.
findIndex
((
element
:
NavDataElement
)
=>
{
return
Object
.
is
(
element
.
id
,
id
);
})
let
removeNavData
=
this
.
navDataStack
.
splice
(
tempIndex
);
this
.
sessionStore
.
setItem
(
'srfnavdata'
,
JSON
.
stringify
(
this
.
navDataStack
));
return
removeNavData
;
}
else
{
return
null
;
}
}
/**
* 从导航数据栈中获取指定数据
*
* @memberof NavDataService
*/
public
getNavDataById
(
id
:
string
){
if
(
this
.
navDataStack
.
length
>
0
){
let
tempIndex
:
number
=
this
.
navDataStack
.
findIndex
((
element
:
NavDataElement
)
=>
{
return
Object
.
is
(
element
.
id
,
id
);
})
return
this
.
navDataStack
[
tempIndex
];
}
else
{
return
null
;
}
}
/**
* 从导航数据栈中获取指定数据的前一条数据
*
* @memberof NavDataService
*/
public
getPreNavDataById
(
id
:
string
){
if
(
this
.
navDataStack
.
length
>
0
){
let
tempIndex
:
number
=
this
.
navDataStack
.
findIndex
((
element
:
NavDataElement
)
=>
{
return
Object
.
is
(
element
.
id
,
id
);
})
return
this
.
navDataStack
[
tempIndex
-
1
];
}
else
{
return
null
;
}
}
}
\ No newline at end of file
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录