Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
I
ibizlab-generator
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
ibiz4jteam
ibizlab-generator
提交
a3ab3e1d
提交
a3ab3e1d
编写于
1月 26, 2022
作者:
WodahsOrez
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add: 分页导航参数,导航过滤项
上级
3a6f02ee
变更
4
隐藏空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
75 行增加
和
6 行删除
+75
-6
tab-view-panel-control-state.ts
...ts/tab-view-panel-control/tab-view-panel-control-state.ts
+15
-0
tab-view-panel-control.ts
.../widgets/tab-view-panel-control/tab-view-panel-control.ts
+51
-4
{{pages@DETABEXPVIEW}}.vue.hbs
...s}}/{{pages@DETABEXPVIEW}}/{{pages@DETABEXPVIEW}}.vue.hbs
+1
-1
{{ctrls@TABVIEWPANEL}}-tab-view-panel-state.ts.hbs
...-panel/{{ctrls@TABVIEWPANEL}}-tab-view-panel-state.ts.hbs
+8
-1
未找到文件。
modules/ibizlab-generator-core/src/main/resources/templ/r7/app_{{apps}}/src/core/modules/widgets/tab-view-panel-control/tab-view-panel-control-state.ts
浏览文件 @
a3ab3e1d
...
...
@@ -7,4 +7,19 @@ import { IParam, MainControlState } from '@core';
* @extends {MainControlState}
*/
export
interface
TabViewPanelControlState
extends
MainControlState
{
/**
* 导航过滤项
*/
navFilter
?:
string
;
/**
* 导航上下文集合
*/
navContexts
?:
IParam
;
/**
* 导航参数集合
*/
navParams
?:
IParam
;
}
\ No newline at end of file
modules/ibizlab-generator-core/src/main/resources/templ/r7/app_{{apps}}/src/core/modules/widgets/tab-view-panel-control/tab-view-panel-control.ts
浏览文件 @
a3ab3e1d
import
{
IActionParam
,
MainControl
}
from
'@core'
;
import
{
IActionParam
,
MainControl
,
UIUtil
}
from
'@core'
;
import
{
TabViewPanelControlProps
}
from
'./tab-view-panel-control-prop'
;
import
{
TabViewPanelControlState
}
from
'./tab-view-panel-control-state'
;
...
...
@@ -9,7 +9,6 @@ import { TabViewPanelControlState } from './tab-view-panel-control-state';
* @extends {MainControl}
*/
export
class
TabViewPanelControl
extends
MainControl
{
/**
* @description 部件状态
* @type {FormControlState}
...
...
@@ -17,15 +16,63 @@ export class TabViewPanelControl extends MainControl {
*/
public
declare
state
:
TabViewPanelControlState
;
/**
* 支持导航参数的处理
* 监听props里的context和viewParams,
* 当发生改变时处理一遍导航参数
*
*/
public
useNavParams
()
{
const
{
navContexts
,
navParams
,
navFilter
,
appDeCodeName
}
=
this
.
state
;
const
{
context
,
viewParams
}
=
toRefs
(
this
.
state
);
watch
(
[
context
,
viewParams
],
(
newValues
:
any
[],
prevValues
:
any
[])
=>
{
// 处理导航过滤项
if
(
navFilter
&&
appDeCodeName
&&
this
.
state
.
context
[
appDeCodeName
.
toLowerCase
()]){
this
.
state
.
context
[
navFilter
]
=
this
.
state
.
context
[
appDeCodeName
.
toLowerCase
()];
}
// 处理导航上下文
if
(
navContexts
&&
Object
.
keys
(
navContexts
).
length
>
0
)
{
const
_context
=
UIUtil
.
computedNavData
({},
this
.
state
.
context
,
this
.
state
.
viewParams
,
navContexts
);
Object
.
assign
(
this
.
state
.
context
,
_context
);
}
// 处理导航视图参数
if
(
navParams
&&
Object
.
keys
(
navParams
).
length
>
0
)
{
const
_param
=
UIUtil
.
computedNavData
({},
this
.
state
.
context
,
this
.
state
.
viewParams
,
navParams
);
Object
.
assign
(
this
.
state
.
viewParams
,
_param
);
}
},
{
immediate
:
true
,
},
);
}
/**
* 部件事件
*
* @param {IActionParam} actionParam
* @memberof TabViewPanelControl
*/
public
onViewEvent
(
actionParam
:
IActionParam
)
{
const
{
tag
,
action
,
data
}
=
actionParam
;
const
{
controlName
}
=
this
.
state
;
}
/**
* @description 安装部件所有功能模块的方法
* @return {*}
* @return {*}
* @memberof TabViewPanelControl
*/
public
moduleInstall
()
{
const
superParams
=
super
.
moduleInstall
();
this
.
useNavParams
();
return
{
...
superParams
,
onViewEvent
:
this
.
onViewEvent
.
bind
(
this
)
};
}
}
\ No newline at end of file
}
modules/ibizlab-generator-core/src/main/resources/templ/r7/app_{{apps}}/src/views/{{appModules}}/{{pages@DETABEXPVIEW}}/{{pages@DETABEXPVIEW}}.vue.hbs
浏览文件 @
a3ab3e1d
...
...
@@ -28,7 +28,7 @@ interface ViewEmit {
const
emit
=
defineEmits
<
ViewEmit
>
();
// 安装功能模块,提供状态和能力方法
const
{
state
,
onC
ancel
,
onConfirm
,
onCtrlEvent
,
selectData
}
=
new
TabExpView
(
viewState
,
props
,
emit
).
moduleInstall
();
const
{
state
,
onC
trlEvent
}
=
new
TabExpView
(
viewState
,
props
,
emit
).
moduleInstall
();
</script>
<template>
...
...
modules/ibizlab-generator-core/src/main/resources/templ/r7/app_{{apps}}/src/widgets/{{appEntities}}/{{ctrls@TABVIEWPANEL}}-tab-view-panel/{{ctrls@TABVIEWPANEL}}-tab-view-panel-state.ts.hbs
浏览文件 @
a3ab3e1d
export const ctrlState = {
controlCodeName: '
{{
ctrl
.
codeName
}}
',
controlName: '
{{
ctrl
.
name
}}
',
data: {},
appDeCodeName: '
{{
ctrl
.
appEntity
.
codeName
}}
',
navFilter: "
{{
ctrl
.
navFilter
}}
",
{{#if
ctrl
.
psNavigateContexts
}}
navContexts:
{{>
@macro
/
front-end
/
common
/
navparam
.
hbs
appNavParams
=
ctrl
.
psNavigateContexts
}}
,
{{/if}}
{{#if
ctrl
.
psNavigateParams
}}
navParams:
{{>
@macro
/
front-end
/
common
/
navparam
.
hbs
appNavParams
=
ctrl
.
psNavigateParams
}}
,
{{/if}}
};
\ No newline at end of file
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录