Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
I
ibizlab-generator
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
ibiz4jteam
ibizlab-generator
提交
c0ceb20f
提交
c0ceb20f
编写于
4月 07, 2022
作者:
Mosher
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update:更新
1、调整视图及部件状态参数导出逻辑 2、数据视图样式调整 3、卡片视图部件支持面板
上级
10ad4d5c
变更
73
展开全部
隐藏空白字符变更
内嵌
并排
正在显示
73 个修改的文件
包含
1138 行增加
和
1024 行删除
+1138
-1024
CtrlModel.java
...ore/src/main/java/cn/ibizlab/codegen/model/CtrlModel.java
+21
-0
panel-control-prop.ts
.../core/modules/widgets/panel-control/panel-control-prop.ts
+7
-1
panel-control.ts
...}/src/core/modules/widgets/panel-control/panel-control.ts
+14
-9
{{pages@APPINDEXVIEW}}-state.ts.hbs
...{pages@APPINDEXVIEW}}/{{pages@APPINDEXVIEW}}-state.ts.hbs
+7
-5
{{pages@APPINDEXVIEW}}.vue.hbs
...s}}/{{pages@APPINDEXVIEW}}/{{pages@APPINDEXVIEW}}.vue.hbs
+1
-1
{{pages@APPPORTALVIEW}}-state.ts.hbs
...ages@APPPORTALVIEW}}/{{pages@APPPORTALVIEW}}-state.ts.hbs
+4
-2
{{pages@APPPORTALVIEW}}.vue.hbs
...}/{{pages@APPPORTALVIEW}}/{{pages@APPPORTALVIEW}}.vue.hbs
+1
-1
{{pages@DEDATAVIEW}}-state.ts.hbs
...}}/{{pages@DEDATAVIEW}}/{{pages@DEDATAVIEW}}-state.ts.hbs
+6
-4
{{pages@DEDATAVIEW}}.vue.hbs
...dules}}/{{pages@DEDATAVIEW}}/{{pages@DEDATAVIEW}}.vue.hbs
+2
-2
{{pages@DEEDITVIEW}}-state.ts.hbs
...}}/{{pages@DEEDITVIEW}}/{{pages@DEEDITVIEW}}-state.ts.hbs
+4
-2
{{pages@DEEDITVIEW}}.vue.hbs
...dules}}/{{pages@DEEDITVIEW}}/{{pages@DEEDITVIEW}}.vue.hbs
+1
-1
{{pages@DEGRIDEXPVIEW}}-state.ts.hbs
...ages@DEGRIDEXPVIEW}}/{{pages@DEGRIDEXPVIEW}}-state.ts.hbs
+9
-7
{{pages@DEGRIDEXPVIEW}}.vue.hbs
...}/{{pages@DEGRIDEXPVIEW}}/{{pages@DEGRIDEXPVIEW}}.vue.hbs
+1
-1
{{pages@DEGRIDVIEW}}-state.ts.hbs
...}}/{{pages@DEGRIDVIEW}}/{{pages@DEGRIDVIEW}}-state.ts.hbs
+8
-6
{{pages@DEGRIDVIEW}}.vue.hbs
...dules}}/{{pages@DEGRIDVIEW}}/{{pages@DEGRIDVIEW}}.vue.hbs
+2
-2
{{pages@DELISTEXPVIEW}}-state.ts.hbs
...ages@DELISTEXPVIEW}}/{{pages@DELISTEXPVIEW}}-state.ts.hbs
+9
-7
{{pages@DELISTEXPVIEW}}.vue.hbs
...}/{{pages@DELISTEXPVIEW}}/{{pages@DELISTEXPVIEW}}.vue.hbs
+1
-1
{{pages@DELISTVIEW}}-state.ts.hbs
...}}/{{pages@DELISTVIEW}}/{{pages@DELISTVIEW}}-state.ts.hbs
+6
-4
{{pages@DELISTVIEW}}.vue.hbs
...dules}}/{{pages@DELISTVIEW}}/{{pages@DELISTVIEW}}.vue.hbs
+2
-2
{{pages@DEMPICKUPVIEW}}-state.ts.hbs
...ages@DEMPICKUPVIEW}}/{{pages@DEMPICKUPVIEW}}-state.ts.hbs
+9
-7
{{pages@DEMPICKUPVIEW}}.vue.hbs
...}/{{pages@DEMPICKUPVIEW}}/{{pages@DEMPICKUPVIEW}}.vue.hbs
+1
-1
{{pages@DEPANELVIEW}}-state.ts.hbs
.../{{pages@DEPANELVIEW}}/{{pages@DEPANELVIEW}}-state.ts.hbs
+4
-2
{{pages@DEPANELVIEW}}.vue.hbs
...les}}/{{pages@DEPANELVIEW}}/{{pages@DEPANELVIEW}}.vue.hbs
+1
-1
{{pages@DEPICKUPGRIDVIEW}}-state.ts.hbs
...EPICKUPGRIDVIEW}}/{{pages@DEPICKUPGRIDVIEW}}-state.ts.hbs
+8
-6
{{pages@DEPICKUPGRIDVIEW}}.vue.hbs
...ges@DEPICKUPGRIDVIEW}}/{{pages@DEPICKUPGRIDVIEW}}.vue.hbs
+1
-1
{{pages@DEPICKUPTREEVIEW}}-state.ts.hbs
...EPICKUPTREEVIEW}}/{{pages@DEPICKUPTREEVIEW}}-state.ts.hbs
+6
-4
{{pages@DEPICKUPTREEVIEW}}.vue.hbs
...ges@DEPICKUPTREEVIEW}}/{{pages@DEPICKUPTREEVIEW}}.vue.hbs
+1
-1
{{pages@DEPICKUPVIEW}}-state.ts.hbs
...{pages@DEPICKUPVIEW}}/{{pages@DEPICKUPVIEW}}-state.ts.hbs
+4
-2
{{pages@DEPICKUPVIEW}}.vue.hbs
...s}}/{{pages@DEPICKUPVIEW}}/{{pages@DEPICKUPVIEW}}.vue.hbs
+1
-1
{{pages@DETABEXPVIEW}}-state.ts.hbs
...{pages@DETABEXPVIEW}}/{{pages@DETABEXPVIEW}}-state.ts.hbs
+4
-2
{{pages@DETABEXPVIEW}}.vue.hbs
...s}}/{{pages@DETABEXPVIEW}}/{{pages@DETABEXPVIEW}}.vue.hbs
+1
-1
{{pages@DETREEEXPVIEW}}-state.ts.hbs
...ages@DETREEEXPVIEW}}/{{pages@DETREEEXPVIEW}}-state.ts.hbs
+9
-7
{{pages@DETREEEXPVIEW}}.vue.hbs
...}/{{pages@DETREEEXPVIEW}}/{{pages@DETREEEXPVIEW}}.vue.hbs
+1
-1
{{pages@DETREEVIEW}}-state.ts.hbs
...}}/{{pages@DETREEVIEW}}/{{pages@DETREEVIEW}}-state.ts.hbs
+6
-4
{{pages@DETREEVIEW}}.vue.hbs
...dules}}/{{pages@DETREEVIEW}}/{{pages@DETREEVIEW}}.vue.hbs
+2
-2
{{ctrls@APPMENU}}-menu-state.ts.hbs
...{ctrls@APPMENU}}-menu/{{ctrls@APPMENU}}-menu-state.ts.hbs
+14
-12
{{ctrls@APPMENU}}-menu.vue.hbs
...s}}/{{ctrls@APPMENU}}-menu/{{ctrls@APPMENU}}-menu.vue.hbs
+1
-1
{{ctrls@DASHBOARD}}-dashboard-state.ts.hbs
...RD}}-dashboard/{{ctrls@DASHBOARD}}-dashboard-state.ts.hbs
+12
-10
{{ctrls@DASHBOARD}}-dashboard.vue.hbs
...SHBOARD}}-dashboard/{{ctrls@DASHBOARD}}-dashboard.vue.hbs
+1
-1
{{ctrls@DATAVIEW}}-dataview-state.ts.hbs
...AVIEW}}-dataview/{{ctrls@DATAVIEW}}-dataview-state.ts.hbs
+68
-66
{{ctrls@DATAVIEW}}-dataview.vue.hbs
...s@DATAVIEW}}-dataview/{{ctrls@DATAVIEW}}-dataview.vue.hbs
+16
-2
{{ctrls@FORM}}-form-state.ts.hbs
...es}}/{{ctrls@FORM}}-form/{{ctrls@FORM}}-form-state.ts.hbs
+114
-112
{{ctrls@FORM}}-form.vue.hbs
...ntities}}/{{ctrls@FORM}}-form/{{ctrls@FORM}}-form.vue.hbs
+1
-1
{{ctrls@GRIDEXPBAR}}-grid-exp-bar-state.ts.hbs
...id-exp-bar/{{ctrls@GRIDEXPBAR}}-grid-exp-bar-state.ts.hbs
+50
-48
{{ctrls@GRIDEXPBAR}}-grid-exp-bar.vue.hbs
...}}-grid-exp-bar/{{ctrls@GRIDEXPBAR}}-grid-exp-bar.vue.hbs
+1
-1
{{ctrls@GRID}}-grid-state.ts.hbs
...es}}/{{ctrls@GRID}}-grid/{{ctrls@GRID}}-grid-state.ts.hbs
+222
-220
{{ctrls@GRID}}-grid.vue.hbs
...ntities}}/{{ctrls@GRID}}-grid/{{ctrls@GRID}}-grid.vue.hbs
+1
-1
{{ctrls@LISTEXPBAR}}-list-exp-bar-state.ts.hbs
...st-exp-bar/{{ctrls@LISTEXPBAR}}-list-exp-bar-state.ts.hbs
+50
-48
{{ctrls@LISTEXPBAR}}-list-exp-bar.vue.hbs
...}}-list-exp-bar/{{ctrls@LISTEXPBAR}}-list-exp-bar.vue.hbs
+1
-1
{{ctrls@LIST}}-list-state.ts.hbs
...es}}/{{ctrls@LIST}}-list/{{ctrls@LIST}}-list-state.ts.hbs
+83
-81
{{ctrls@LIST}}-list.vue.hbs
...ntities}}/{{ctrls@LIST}}-list/{{ctrls@LIST}}-list.vue.hbs
+1
-1
{{ctrls@PANEL}}-panel-state.ts.hbs
.../{{ctrls@PANEL}}-panel/{{ctrls@PANEL}}-panel-state.ts.hbs
+18
-16
{{ctrls@PANEL}}-panel.vue.hbs
...ies}}/{{ctrls@PANEL}}-panel/{{ctrls@PANEL}}-panel.vue.hbs
+3
-2
{{ctrls@PICKUPVIEWPANEL}}-pickup-view-panel-state.ts.hbs
.../{{ctrls@PICKUPVIEWPANEL}}-pickup-view-panel-state.ts.hbs
+13
-11
{{ctrls@PICKUPVIEWPANEL}}-pickup-view-panel.vue.hbs
...panel/{{ctrls@PICKUPVIEWPANEL}}-pickup-view-panel.vue.hbs
+1
-1
{{ctrls@PORTLET}}-portlet-state.ts.hbs
...@PORTLET}}-portlet/{{ctrls@PORTLET}}-portlet-state.ts.hbs
+69
-67
{{ctrls@PORTLET}}-portlet.vue.hbs
...ctrls@PORTLET}}-portlet/{{ctrls@PORTLET}}-portlet.vue.hbs
+1
-1
{{ctrls@QUICKSEARCHFORM}}-quick-search-form-state.ts.hbs
.../{{ctrls@QUICKSEARCHFORM}}-quick-search-form-state.ts.hbs
+38
-36
{{ctrls@QUICKSEARCHFORM}}-quick-search-form.vue.hbs
...-form/{{ctrls@QUICKSEARCHFORM}}-quick-search-form.vue.hbs
+1
-1
index.ts.hbs
...{appEntities}}/{{ctrls@SEARCHBAR}}-searchBar/index.ts.hbs
+1
-1
{{ctrls@SEARCHBAR}}-searchBar-config.ts.hbs
...R}}-searchBar/{{ctrls@SEARCHBAR}}-searchBar-config.ts.hbs
+0
-15
{{ctrls@SEARCHBAR}}-searchBar.vue.hbs
...ARCHBAR}}-searchBar/{{ctrls@SEARCHBAR}}-searchBar.vue.hbs
+2
-3
{{ctrls@SEARCHBAR}}-searchbar-state.ts.hbs
...AR}}-searchbar/{{ctrls@SEARCHBAR}}-searchbar-state.ts.hbs
+17
-0
{{ctrls@SEARCHFORM}}-search-form-state.ts.hbs
...search-form/{{ctrls@SEARCHFORM}}-search-form-state.ts.hbs
+39
-37
{{ctrls@SEARCHFORM}}-search-form.vue.hbs
...RM}}-search-form/{{ctrls@SEARCHFORM}}-search-form.vue.hbs
+1
-1
{{ctrls@TABEXPPANEL}}-tab-exp-panel-state.ts.hbs
...xp-panel/{{ctrls@TABEXPPANEL}}-tab-exp-panel-state.ts.hbs
+30
-28
{{ctrls@TABEXPPANEL}}-tab-exp-panel.vue.hbs
...tab-exp-panel/{{ctrls@TABEXPPANEL}}-tab-exp-panel.vue.hbs
+1
-1
{{ctrls@TABVIEWPANEL}}-tab-view-panel-state.ts.hbs
...-panel/{{ctrls@TABVIEWPANEL}}-tab-view-panel-state.ts.hbs
+19
-17
{{ctrls@TABVIEWPANEL}}-tab-view-panel.vue.hbs
...-view-panel/{{ctrls@TABVIEWPANEL}}-tab-view-panel.vue.hbs
+1
-1
{{ctrls@TREEEXPBAR}}-tree-exp-bar-state.ts.hbs
...ee-exp-bar/{{ctrls@TREEEXPBAR}}-tree-exp-bar-state.ts.hbs
+35
-33
{{ctrls@TREEEXPBAR}}-tree-exp-bar.vue.hbs
...}}-tree-exp-bar/{{ctrls@TREEEXPBAR}}-tree-exp-bar.vue.hbs
+1
-1
{{ctrls@TREEVIEW}}-tree-state.ts.hbs
...trls@TREEVIEW}}-tree/{{ctrls@TREEVIEW}}-tree-state.ts.hbs
+45
-43
{{ctrls@TREEVIEW}}-tree.vue.hbs
...}/{{ctrls@TREEVIEW}}-tree/{{ctrls@TREEVIEW}}-tree.vue.hbs
+1
-1
未找到文件。
modules/ibizlab-generator-core/src/main/java/cn/ibizlab/codegen/model/CtrlModel.java
浏览文件 @
c0ceb20f
...
...
@@ -12,6 +12,7 @@ import net.ibizsys.model.control.IPSControl;
import
net.ibizsys.model.control.IPSControlContainer
;
import
net.ibizsys.model.control.dashboard.IPSDBContainerPortletPart
;
import
net.ibizsys.model.control.dashboard.IPSDBPortletPart
;
import
net.ibizsys.model.control.dataview.IPSDEDataView
;
import
net.ibizsys.model.control.grid.IPSDEGrid
;
import
net.ibizsys.model.control.grid.IPSDEGridColumn
;
import
net.ibizsys.model.control.list.IPSList
;
...
...
@@ -122,6 +123,7 @@ public class CtrlModel extends BaseModel{
public
void
handleChildControls
()
{
IPSControl
control
=
getControl
();
// 具有子部件的容器部件
if
(
control
instanceof
IPSControlContainer
)
{
IPSControlContainer
controlContainer
=
(
IPSControlContainer
)
control
;
List
<
IPSControl
>
controls
=
controlContainer
.
getPSControls
();
...
...
@@ -204,6 +206,7 @@ public class CtrlModel extends BaseModel{
}
}
}
// 列表部件项布局面板
if
(
control
instanceof
IPSList
)
{
IPSList
list
=
(
IPSList
)
control
;
IPSLayoutPanel
layoutPanel
=
list
.
getItemPSLayoutPanel
();
...
...
@@ -220,6 +223,24 @@ public class CtrlModel extends BaseModel{
}
}
}
// 卡片视图部件项布局面板
if
(
control
instanceof
IPSDEDataView
)
{
IPSDEDataView
dataView
=
(
IPSDEDataView
)
control
;
IPSLayoutPanel
layoutPanel
=
dataView
.
getItemPSLayoutPanel
();
if
(
layoutPanel
!=
null
)
{
CtrlModel
ctrlModel
=
new
CtrlModel
(
app
,
layoutPanel
);
if
(
ctrlModel
.
getControl
().
getPSAppDataEntity
()
!=
null
)
{
AppEntityModel
ctrlAppEntity
=
app
.
getAppEntity
(
ctrlModel
.
getControl
().
getPSAppDataEntity
().
getCodeName
());
ctrlModel
.
setAppEntity
(
ctrlAppEntity
);
ctrlAppEntity
.
addCtrl
(
ctrlModel
.
getId
(),
ctrlModel
);
}
addCtrl
(
ctrlModel
.
getId
(),
ctrlModel
);
if
(!
app
.
getCtrlsMap
().
containsKey
(
ctrlModel
.
getId
()))
{
app
.
getCtrlsMap
().
put
(
ctrlModel
.
getId
(),
ctrlModel
);
}
}
}
}
public
void
handleAllPortlets
(
IPSControlContainer
control
)
{
...
...
modules/ibizlab-generator-core/src/main/resources/templ/r7/app_{{apps}}/src/core/modules/widgets/panel-control/panel-control-prop.ts
浏览文件 @
c0ceb20f
...
...
@@ -7,5 +7,11 @@ import { MainControlProps } from "../main-control";
* @extends {MainControlProps}
*/
export
interface
PanelControlProps
extends
MainControlProps
{
/**
* 导航数据
*
* @type {any[]}
* @memberof PanelControlProps
*/
navDatas
:
any
[];
}
\ No newline at end of file
modules/ibizlab-generator-core/src/main/resources/templ/r7/app_{{apps}}/src/core/modules/widgets/panel-control/panel-control.ts
浏览文件 @
c0ceb20f
import
{
IActionParam
,
IParam
}
from
"@core"
;
import
{
MainControl
}
from
"../main-control"
;
import
{
PanelControlProps
}
from
"./panel-control-prop"
;
import
{
PanelControlState
}
from
"./panel-control-state"
;
/**
...
...
@@ -17,6 +18,14 @@ export class PanelControl extends MainControl {
*/
public
declare
state
:
PanelControlState
;
/**
* 面板部件输入参数
*
* @type {PanelControlProps}
* @memberof PanelControl
*/
public
declare
props
:
PanelControlProps
;
/**
* 获取当前激活数据
*
...
...
@@ -34,14 +43,9 @@ export class PanelControl extends MainControl {
* @memberof PanelControl
*/
protected
useNavDatas
()
{
const
navDatas
:
any
=
toRef
(
this
.
props
,
'navDatas'
);
if
(
this
.
props
.
panelType
===
'LAYOUT'
)
{
this
.
load
();
}
watch
(
navDatas
,
(
newVal
:
any
,
oldVal
:
any
)
=>
{
watch
(()
=>
this
.
props
.
navDatas
,
(
newVal
:
any
,
oldVal
:
any
)
=>
{
this
.
load
();
});
this
.
state
.
navDatas
=
navDatas
;
},
{
immediate
:
true
,
deep
:
true
});
}
/**
...
...
@@ -60,7 +64,8 @@ export class PanelControl extends MainControl {
const
{
viewSubject
,
controlName
}
=
this
.
state
;
const
load
=
async
(
opts
:
IParam
=
{})
=>
{
const
{
dataMode
}
=
this
.
state
;
const
{
navDatas
,
data
}
=
toRefs
(
this
.
state
);
const
{
navDatas
}
=
toRefs
(
this
.
props
);
const
{
data
}
=
toRefs
(
this
.
state
);
if
(
dataMode
===
0
)
{
// 不获取,使用传入数据
if
(
navDatas
&&
navDatas
.
value
&&
navDatas
.
value
.
length
)
{
...
...
@@ -153,10 +158,10 @@ export class PanelControl extends MainControl {
*/
public
moduleInstall
()
{
const
superParams
=
super
.
moduleInstall
();
this
.
useLoad
();
this
.
useNavDatas
();
return
{
...
superParams
,
load
:
this
.
useLoad
(),
onPanelItemEvents
:
this
.
onPanelItemEvents
.
bind
(
this
)
}
}
...
...
modules/ibizlab-generator-core/src/main/resources/templ/r7/app_{{apps}}/src/views/{{appModules}}/{{pages@APPINDEXVIEW}}/{{pages@APPINDEXVIEW}}-state.ts.hbs
浏览文件 @
c0ceb20f
export const viewState = {
{{>
@macro
/
front-end
/
views
/
view-base-config
.
hbs
}}
{{#if
page
.
defPSAppView
}}
defaultView: '
{{
page
.
defPSAppView
.
codeName
}}
',
{{/if}}
export const viewState = () => {
return {
{{>
@macro
/
front-end
/
views
/
view-base-config
.
hbs
}}
{{#if
page
.
defPSAppView
}}
defaultView: '
{{
page
.
defPSAppView
.
codeName
}}
',
{{/if}}
}
};
\ No newline at end of file
modules/ibizlab-generator-core/src/main/resources/templ/r7/app_{{apps}}/src/views/{{appModules}}/{{pages@APPINDEXVIEW}}/{{pages@APPINDEXVIEW}}.vue.hbs
浏览文件 @
c0ceb20f
...
...
@@ -31,7 +31,7 @@ interface ViewEmit {
const
emit
=
defineEmits
<
ViewEmit
>
();
// 安装功能模块,提供状态和能力方法
const
indexView
=
new
IndexView
(
viewState
,
props
,
emit
).
moduleInstall
();
const
indexView
=
new
IndexView
(
viewState
()
,
props
,
emit
).
moduleInstall
();
const
{
state
,
menu
}
=
indexView
;
const
collapsed
:
Ref
<
boolean
>
=
ref
(
false
);
const
collapsedChange
=
()
=>
{
...
...
modules/ibizlab-generator-core/src/main/resources/templ/r7/app_{{apps}}/src/views/{{appModules}}/{{pages@APPPORTALVIEW}}/{{pages@APPPORTALVIEW}}-state.ts.hbs
浏览文件 @
c0ceb20f
export const viewState = {
{{>
@macro
/
front-end
/
views
/
view-base-config
.
hbs
}}
export const viewState = () => {
return {
{{>
@macro
/
front-end
/
views
/
view-base-config
.
hbs
}}
}
};
\ No newline at end of file
modules/ibizlab-generator-core/src/main/resources/templ/r7/app_{{apps}}/src/views/{{appModules}}/{{pages@APPPORTALVIEW}}/{{pages@APPPORTALVIEW}}.vue.hbs
浏览文件 @
c0ceb20f
...
...
@@ -29,7 +29,7 @@ interface ViewEmit {
const
emit
=
defineEmits
<
ViewEmit
>
();
// 安装功能模块,提供状态和能力方法
const
portalView
=
new
PortalView
(
viewState
,
props
,
emit
).
moduleInstall
();
const
portalView
=
new
PortalView
(
viewState
()
,
props
,
emit
).
moduleInstall
();
const
{
state
,
dashboard
,
onCtrlEvent
}
=
portalView
;
</script>
...
...
modules/ibizlab-generator-core/src/main/resources/templ/r7/app_{{apps}}/src/views/{{appModules}}/{{pages@DEDATAVIEW}}/{{pages@DEDATAVIEW}}-state.ts.hbs
浏览文件 @
c0ceb20f
export const viewState = {
enableQuickSearch:
{{#if
page
.
enableQuickSearch
}}{{
page
.
enableQuickSearch
}}{{else}}
false
{{/if}}
,
expandSearchForm:
{{#if
page
.
expandSearchForm
}}{{
page
.
expandSearchForm
}}{{else}}
false
{{/if}}
,
{{>
@macro
/
front-end
/
views
/
view-base-config
.
hbs
}}
export const viewState = () => {
return {
enableQuickSearch:
{{#if
page
.
enableQuickSearch
}}{{
page
.
enableQuickSearch
}}{{else}}
false
{{/if}}
,
expandSearchForm:
{{#if
page
.
expandSearchForm
}}{{
page
.
expandSearchForm
}}{{else}}
false
{{/if}}
,
{{>
@macro
/
front-end
/
views
/
view-base-config
.
hbs
}}
}
};
\ No newline at end of file
modules/ibizlab-generator-core/src/main/resources/templ/r7/app_{{apps}}/src/views/{{appModules}}/{{pages@DEDATAVIEW}}/{{pages@DEDATAVIEW}}.vue.hbs
浏览文件 @
c0ceb20f
...
...
@@ -14,7 +14,7 @@ import { {{codeName}}SearchForm } from '@widgets/{{spinalCase psAppDataEntity.co
import
{
{{
codeName
}}
QuickSearchForm
}
from
'@widgets/
{{
spinalCase
psAppDataEntity
.
codeName
}}
/
{{
spinalCase
codeName
}}
-quick-search-form'
;
{{/if}}
{{#
eq
controlType
"SEARCHBAR"
}}
import
{
{{
codeName
}}
SearchBar
}
from
'@widgets/
{{
spinalCase
psAppDataEntity
.
codeName
}}
/
{{
spinalCase
codeName
}}
-search
B
ar'
;
import
{
{{
codeName
}}
SearchBar
}
from
'@widgets/
{{
spinalCase
psAppDataEntity
.
codeName
}}
/
{{
spinalCase
codeName
}}
-search
b
ar'
;
{{/
eq
}}
{{/
page
.
ctrls
}}
...
...
@@ -39,7 +39,7 @@ interface ViewEmit {
const
emit
=
defineEmits
<
ViewEmit
>
();
// 安装功能模块,提供状态和能力方法
const
dataView
=
new
DataView
(
viewState
,
props
,
emit
).
moduleInstall
();
const
dataView
=
new
DataView
(
viewState
()
,
props
,
emit
).
moduleInstall
();
const
{
state
,
dataViewControl
,
searchForm
,
quickSearchForm
,
onCtrlEvent
,
onToolbarEvent
,
onQuickGroupEvent
,
onQuickSearchEvent
}
=
dataView
;
{{#if
page
.
psAppCounterRefs
}}
// 计数器数据
...
...
modules/ibizlab-generator-core/src/main/resources/templ/r7/app_{{apps}}/src/views/{{appModules}}/{{pages@DEEDITVIEW}}/{{pages@DEEDITVIEW}}-state.ts.hbs
浏览文件 @
c0ceb20f
export const viewState = {
{{>
@macro
/
front-end
/
views
/
view-base-config
.
hbs
}}
export const viewState = () => {
return {
{{>
@macro
/
front-end
/
views
/
view-base-config
.
hbs
}}
}
};
\ No newline at end of file
modules/ibizlab-generator-core/src/main/resources/templ/r7/app_{{apps}}/src/views/{{appModules}}/{{pages@DEEDITVIEW}}/{{pages@DEEDITVIEW}}.vue.hbs
浏览文件 @
c0ceb20f
...
...
@@ -29,7 +29,7 @@ interface ViewEmit {
const
emit
=
defineEmits
<
ViewEmit
>
();
// 安装功能模块,提供状态和能力方法
const
editView
=
new
EditView
(
viewState
,
props
,
emit
).
moduleInstall
();
const
editView
=
new
EditView
(
viewState
()
,
props
,
emit
).
moduleInstall
();
const
{
state
,
form
,
onToolbarEvent
,
onCtrlEvent
}
=
editView
;
{{#if
page
.
psAppCounterRefs
}}
// 计数器数据
...
...
modules/ibizlab-generator-core/src/main/resources/templ/r7/app_{{apps}}/src/views/{{appModules}}/{{pages@DEGRIDEXPVIEW}}/{{pages@DEGRIDEXPVIEW}}-state.ts.hbs
浏览文件 @
c0ceb20f
export const viewState = {
{{#
each
page
.
ctrls
as
|
ctrl
|
}}
{{#if
(
eq
ctrl
.
controlType
"GRIDEXPBAR"
)
}}
gridExpBarName: '
{{
ctrl
.
name
}}
',
{{/if}}
{{/
each
}}
{{>
@macro
/
front-end
/
views
/
view-base-config
.
hbs
}}
export const viewState = () => {
return {
{{#
each
page
.
ctrls
as
|
ctrl
|
}}
{{#if
(
eq
ctrl
.
controlType
"GRIDEXPBAR"
)
}}
gridExpBarName: '
{{
ctrl
.
name
}}
',
{{/if}}
{{/
each
}}
{{>
@macro
/
front-end
/
views
/
view-base-config
.
hbs
}}
}
};
\ No newline at end of file
modules/ibizlab-generator-core/src/main/resources/templ/r7/app_{{apps}}/src/views/{{appModules}}/{{pages@DEGRIDEXPVIEW}}/{{pages@DEGRIDEXPVIEW}}.vue.hbs
浏览文件 @
c0ceb20f
...
...
@@ -25,7 +25,7 @@ interface ViewEmit {
const
emit
=
defineEmits
<
ViewEmit
>
();
// 安装功能模块
const
gridExpView
=
new
GridExpView
(
viewState
,
props
,
emit
).
moduleInstall
()
const
gridExpView
=
new
GridExpView
(
viewState
()
,
props
,
emit
).
moduleInstall
()
const
{
state
,
onCtrlEvent
,
onToolbarEvent
}
=
gridExpView
;
</script>
...
...
modules/ibizlab-generator-core/src/main/resources/templ/r7/app_{{apps}}/src/views/{{appModules}}/{{pages@DEGRIDVIEW}}/{{pages@DEGRIDVIEW}}-state.ts.hbs
浏览文件 @
c0ceb20f
export const viewState = {
gridRowActiveMode:
{{
page
.
gridRowActiveMode
}}
,
rowEditState:
{{#if
page
.
enableRowEdit
}}{{
page
.
rowEditDefault
}}{{else}}
false
{{/if}}
,
enableQuickSearch:
{{#if
page
.
enableQuickSearch
}}{{
page
.
enableQuickSearch
}}{{else}}
false
{{/if}}
,
expandSearchForm:
{{#if
page
.
expandSearchForm
}}{{
page
.
expandSearchForm
}}{{else}}
false
{{/if}}
,
{{>
@macro
/
front-end
/
views
/
view-base-config
.
hbs
}}
export const viewState = () => {
return {
gridRowActiveMode:
{{
page
.
gridRowActiveMode
}}
,
rowEditState:
{{#if
page
.
enableRowEdit
}}{{
page
.
rowEditDefault
}}{{else}}
false
{{/if}}
,
enableQuickSearch:
{{#if
page
.
enableQuickSearch
}}{{
page
.
enableQuickSearch
}}{{else}}
false
{{/if}}
,
expandSearchForm:
{{#if
page
.
expandSearchForm
}}{{
page
.
expandSearchForm
}}{{else}}
false
{{/if}}
,
{{>
@macro
/
front-end
/
views
/
view-base-config
.
hbs
}}
}
};
\ No newline at end of file
modules/ibizlab-generator-core/src/main/resources/templ/r7/app_{{apps}}/src/views/{{appModules}}/{{pages@DEGRIDVIEW}}/{{pages@DEGRIDVIEW}}.vue.hbs
浏览文件 @
c0ceb20f
...
...
@@ -14,7 +14,7 @@ import { {{codeName}}SearchForm } from '@widgets/{{spinalCase psAppDataEntity.co
import
{
{{
codeName
}}
QuickSearchForm
}
from
'@widgets/
{{
spinalCase
psAppDataEntity
.
codeName
}}
/
{{
spinalCase
codeName
}}
-quick-search-form'
;
{{/if}}
{{#
eq
controlType
"SEARCHBAR"
}}
import
{
{{
codeName
}}
SearchBar
}
from
'@widgets/
{{
spinalCase
psAppDataEntity
.
codeName
}}
/
{{
spinalCase
codeName
}}
-search
B
ar'
;
import
{
{{
codeName
}}
SearchBar
}
from
'@widgets/
{{
spinalCase
psAppDataEntity
.
codeName
}}
/
{{
spinalCase
codeName
}}
-search
b
ar'
;
{{/
eq
}}
{{/
page
.
ctrls
}}
...
...
@@ -39,7 +39,7 @@ interface ViewEmit {
const
emit
=
defineEmits
<
ViewEmit
>
();
// 安装功能模块,提供状态和能力方法
const
gridView
=
new
GridView
(
viewState
,
props
,
emit
).
moduleInstall
();
const
gridView
=
new
GridView
(
viewState
()
,
props
,
emit
).
moduleInstall
();
const
{
state
,
grid
,
searchForm
,
quickSearchForm
,
onCtrlEvent
,
onToolbarEvent
,
onQuickGroupEvent
,
onQuickSearchEvent
}
=
gridView
;
{{#if
page
.
psAppCounterRefs
}}
// 计数器数据
...
...
modules/ibizlab-generator-core/src/main/resources/templ/r7/app_{{apps}}/src/views/{{appModules}}/{{pages@DELISTEXPVIEW}}/{{pages@DELISTEXPVIEW}}-state.ts.hbs
浏览文件 @
c0ceb20f
export const viewState = {
{{#
each
page
.
ctrls
as
|
ctrl
|
}}
{{#if
(
eq
ctrl
.
controlType
"LISTEXPBAR"
)
}}
listExpBarName: '
{{
ctrl
.
name
}}
',
{{/if}}
{{/
each
}}
{{>
@macro
/
front-end
/
views
/
view-base-config
.
hbs
}}
export const viewState = () => {
return {
{{#
each
page
.
ctrls
as
|
ctrl
|
}}
{{#if
(
eq
ctrl
.
controlType
"LISTEXPBAR"
)
}}
listExpBarName: '
{{
ctrl
.
name
}}
',
{{/if}}
{{/
each
}}
{{>
@macro
/
front-end
/
views
/
view-base-config
.
hbs
}}
}
};
\ No newline at end of file
modules/ibizlab-generator-core/src/main/resources/templ/r7/app_{{apps}}/src/views/{{appModules}}/{{pages@DELISTEXPVIEW}}/{{pages@DELISTEXPVIEW}}.vue.hbs
浏览文件 @
c0ceb20f
...
...
@@ -25,7 +25,7 @@ interface ViewEmit {
const
emit
=
defineEmits
<
ViewEmit
>
();
// 安装功能模块
const
listExpView
=
new
ListExpView
(
viewState
,
props
,
emit
).
moduleInstall
()
const
listExpView
=
new
ListExpView
(
viewState
()
,
props
,
emit
).
moduleInstall
()
const
{
state
,
onCtrlEvent
,
onToolbarEvent
}
=
listExpView
;
</script>
...
...
modules/ibizlab-generator-core/src/main/resources/templ/r7/app_{{apps}}/src/views/{{appModules}}/{{pages@DELISTVIEW}}/{{pages@DELISTVIEW}}-state.ts.hbs
浏览文件 @
c0ceb20f
export const viewState = {
enableQuickSearch:
{{#if
page
.
enableQuickSearch
}}{{
page
.
enableQuickSearch
}}{{else}}
false
{{/if}}
,
expandSearchForm:
{{#if
page
.
expandSearchForm
}}{{
page
.
expandSearchForm
}}{{else}}
false
{{/if}}
,
{{>
@macro
/
front-end
/
views
/
view-base-config
.
hbs
}}
export const viewState = () => {
return {
enableQuickSearch:
{{#if
page
.
enableQuickSearch
}}{{
page
.
enableQuickSearch
}}{{else}}
false
{{/if}}
,
expandSearchForm:
{{#if
page
.
expandSearchForm
}}{{
page
.
expandSearchForm
}}{{else}}
false
{{/if}}
,
{{>
@macro
/
front-end
/
views
/
view-base-config
.
hbs
}}
}
};
\ No newline at end of file
modules/ibizlab-generator-core/src/main/resources/templ/r7/app_{{apps}}/src/views/{{appModules}}/{{pages@DELISTVIEW}}/{{pages@DELISTVIEW}}.vue.hbs
浏览文件 @
c0ceb20f
...
...
@@ -14,7 +14,7 @@ import { {{codeName}}SearchForm } from '@widgets/{{spinalCase psAppDataEntity.co
import
{
{{
codeName
}}
QuickSearchForm
}
from
'@widgets/
{{
spinalCase
psAppDataEntity
.
codeName
}}
/
{{
spinalCase
codeName
}}
-quick-search-form'
;
{{/if}}
{{#
eq
controlType
"SEARCHBAR"
}}
import
{
{{
codeName
}}
SearchBar
}
from
'@widgets/
{{
spinalCase
psAppDataEntity
.
codeName
}}
/
{{
spinalCase
codeName
}}
-search
B
ar'
;
import
{
{{
codeName
}}
SearchBar
}
from
'@widgets/
{{
spinalCase
psAppDataEntity
.
codeName
}}
/
{{
spinalCase
codeName
}}
-search
b
ar'
;
{{/
eq
}}
{{/
page
.
ctrls
}}
...
...
@@ -39,7 +39,7 @@ interface ViewEmit {
const
emit
=
defineEmits
<
ViewEmit
>
();
// 安装功能模块,提供状态和能力方法
const
listView
=
new
ListView
(
viewState
,
props
,
emit
).
moduleInstall
();
const
listView
=
new
ListView
(
viewState
()
,
props
,
emit
).
moduleInstall
();
const
{
state
,
list
,
searchForm
,
quickSearchForm
,
onCtrlEvent
,
onToolbarEvent
,
onQuickGroupEvent
,
onQuickSearchEvent
}
=
listView
;
{{#if
page
.
psAppCounterRefs
}}
// 计数器数据
...
...
modules/ibizlab-generator-core/src/main/resources/templ/r7/app_{{apps}}/src/views/{{appModules}}/{{pages@DEMPICKUPVIEW}}/{{pages@DEMPICKUPVIEW}}-state.ts.hbs
浏览文件 @
c0ceb20f
export const viewState = {
// 实际选中数据
selections: [],
selectedData: [],
// 右侧面板选中数据
rightPanelSelections: [],
{{>
@macro
/
front-end
/
views
/
view-base-config
.
hbs
}}
export const viewState = () => {
return {
// 实际选中数据
selections: [],
selectedData: [],
// 右侧面板选中数据
rightPanelSelections: [],
{{>
@macro
/
front-end
/
views
/
view-base-config
.
hbs
}}
}
};
\ No newline at end of file
modules/ibizlab-generator-core/src/main/resources/templ/r7/app_{{apps}}/src/views/{{appModules}}/{{pages@DEMPICKUPVIEW}}/{{pages@DEMPICKUPVIEW}}.vue.hbs
浏览文件 @
c0ceb20f
...
...
@@ -29,7 +29,7 @@ interface ViewEmit {
const
emit
=
defineEmits
<
ViewEmit
>
();
// 安装功能模块,提供状态和能力方法
const
mpickupView
=
new
MPickupView
(
viewState
,
props
,
emit
).
moduleInstall
();
const
mpickupView
=
new
MPickupView
(
viewState
()
,
props
,
emit
).
moduleInstall
();
const
{
state
,
pickupViewPanel
,
onCancel
,
onConfirm
,
onCtrlEvent
,
onMoveRight
,
onMoveLeft
,
onAllMoveRight
,
onAllMoveLeft
,
onRightPanelClick
}
=
mpickupView
;
</script>
...
...
modules/ibizlab-generator-core/src/main/resources/templ/r7/app_{{apps}}/src/views/{{appModules}}/{{pages@DEPANELVIEW}}/{{pages@DEPANELVIEW}}-state.ts.hbs
浏览文件 @
c0ceb20f
export const viewState = {
{{>
@macro
/
front-end
/
views
/
view-base-config
.
hbs
}}
export const viewState = () => {
return {
{{>
@macro
/
front-end
/
views
/
view-base-config
.
hbs
}}
}
};
\ No newline at end of file
modules/ibizlab-generator-core/src/main/resources/templ/r7/app_{{apps}}/src/views/{{appModules}}/{{pages@DEPANELVIEW}}/{{pages@DEPANELVIEW}}.vue.hbs
浏览文件 @
c0ceb20f
...
...
@@ -29,7 +29,7 @@ interface ViewEmit {
const
emit
=
defineEmits
<
ViewEmit
>
();
// 安装功能模块,提供状态和能力方法
const
panelView
=
new
PanelView
(
viewState
,
props
,
emit
).
moduleInstall
();
const
panelView
=
new
PanelView
(
viewState
()
,
props
,
emit
).
moduleInstall
();
const
{
state
,
panel
,
onToolbarEvent
,
onCtrlEvent
}
=
panelView
;
{{#if
page
.
psAppCounterRefs
}}
// 计数器数据
...
...
modules/ibizlab-generator-core/src/main/resources/templ/r7/app_{{apps}}/src/views/{{appModules}}/{{pages@DEPICKUPGRIDVIEW}}/{{pages@DEPICKUPGRIDVIEW}}-state.ts.hbs
浏览文件 @
c0ceb20f
export const viewState = {
enableQuickSearch:
{{#if
page
.
enableQuickSearch
}}{{
page
.
enableQuickSearch
}}{{else}}
false
{{/if}}
,
expandSearchForm:
{{#if
page
.
expandSearchForm
}}{{
page
.
expandSearchForm
}}{{else}}
false
{{/if}}
,
gridRowActiveMode:
{{
page
.
gridRowActiveMode
}}
,
rowEditState:
{{#if
page
.
enableRowEdit
}}{{
page
.
rowEditDefault
}}{{else}}
false
{{/if}}
,
{{>
@macro
/
front-end
/
views
/
view-base-config
.
hbs
}}
export const viewState = () => {
return {
enableQuickSearch:
{{#if
page
.
enableQuickSearch
}}{{
page
.
enableQuickSearch
}}{{else}}
false
{{/if}}
,
expandSearchForm:
{{#if
page
.
expandSearchForm
}}{{
page
.
expandSearchForm
}}{{else}}
false
{{/if}}
,
gridRowActiveMode:
{{
page
.
gridRowActiveMode
}}
,
rowEditState:
{{#if
page
.
enableRowEdit
}}{{
page
.
rowEditDefault
}}{{else}}
false
{{/if}}
,
{{>
@macro
/
front-end
/
views
/
view-base-config
.
hbs
}}
}
};
\ No newline at end of file
modules/ibizlab-generator-core/src/main/resources/templ/r7/app_{{apps}}/src/views/{{appModules}}/{{pages@DEPICKUPGRIDVIEW}}/{{pages@DEPICKUPGRIDVIEW}}.vue.hbs
浏览文件 @
c0ceb20f
...
...
@@ -40,7 +40,7 @@ interface ViewEmit {
const
emit
=
defineEmits
<
ViewEmit
>
();
// 安装功能模块,提供状态和能力方法
const
pickupGridView
=
new
PickupGridView
(
viewState
,
props
,
emit
).
moduleInstall
();
const
pickupGridView
=
new
PickupGridView
(
viewState
()
,
props
,
emit
).
moduleInstall
();
const
{
state
,
grid
,
onCtrlEvent
,
onQuickGroupEvent
,
onQuickSearchEvent
}
=
pickupGridView
;
</script>
...
...
modules/ibizlab-generator-core/src/main/resources/templ/r7/app_{{apps}}/src/views/{{appModules}}/{{pages@DEPICKUPTREEVIEW}}/{{pages@DEPICKUPTREEVIEW}}-state.ts.hbs
浏览文件 @
c0ceb20f
export const viewState = {
enableQuickSearch:
{{#if
page
.
enableQuickSearch
}}{{
page
.
enableQuickSearch
}}{{else}}
false
{{/if}}
,
expandSearchForm:
{{#if
page
.
expandSearchForm
}}{{
page
.
expandSearchForm
}}{{else}}
false
{{/if}}
,
{{>
@macro
/
front-end
/
views
/
view-base-config
.
hbs
}}
export const viewState = () => {
return {
enableQuickSearch:
{{#if
page
.
enableQuickSearch
}}{{
page
.
enableQuickSearch
}}{{else}}
false
{{/if}}
,
expandSearchForm:
{{#if
page
.
expandSearchForm
}}{{
page
.
expandSearchForm
}}{{else}}
false
{{/if}}
,
{{>
@macro
/
front-end
/
views
/
view-base-config
.
hbs
}}
}
};
\ No newline at end of file
modules/ibizlab-generator-core/src/main/resources/templ/r7/app_{{apps}}/src/views/{{appModules}}/{{pages@DEPICKUPTREEVIEW}}/{{pages@DEPICKUPTREEVIEW}}.vue.hbs
浏览文件 @
c0ceb20f
...
...
@@ -40,7 +40,7 @@ interface ViewEmit {
const
emit
=
defineEmits
<
ViewEmit
>
();
// 安装功能模块,提供状态和能力方法
const
pickupTreeView
=
new
PickupTreeView
(
viewState
,
props
,
emit
).
moduleInstall
();
const
pickupTreeView
=
new
PickupTreeView
(
viewState
()
,
props
,
emit
).
moduleInstall
();
const
{
state
,
tree
,
onCtrlEvent
,
onQuickGroupEvent
,
onQuickSearchEvent
}
=
pickupTreeView
;
</script>
...
...
modules/ibizlab-generator-core/src/main/resources/templ/r7/app_{{apps}}/src/views/{{appModules}}/{{pages@DEPICKUPVIEW}}/{{pages@DEPICKUPVIEW}}-state.ts.hbs
浏览文件 @
c0ceb20f
export const viewState = {
{{>
@macro
/
front-end
/
views
/
view-base-config
.
hbs
}}
export const viewState = () => {
return {
{{>
@macro
/
front-end
/
views
/
view-base-config
.
hbs
}}
}
};
\ No newline at end of file
modules/ibizlab-generator-core/src/main/resources/templ/r7/app_{{apps}}/src/views/{{appModules}}/{{pages@DEPICKUPVIEW}}/{{pages@DEPICKUPVIEW}}.vue.hbs
浏览文件 @
c0ceb20f
...
...
@@ -28,7 +28,7 @@ interface ViewEmit {
const
emit
=
defineEmits
<
ViewEmit
>
();
// 安装功能模块,提供状态和能力方法
const
pickupView
=
new
PickupView
(
viewState
,
props
,
emit
).
moduleInstall
();
const
pickupView
=
new
PickupView
(
viewState
()
,
props
,
emit
).
moduleInstall
();
const
{
state
,
onCancel
,
onConfirm
,
onCtrlEvent
}
=
pickupView
;
</script>
...
...
modules/ibizlab-generator-core/src/main/resources/templ/r7/app_{{apps}}/src/views/{{appModules}}/{{pages@DETABEXPVIEW}}/{{pages@DETABEXPVIEW}}-state.ts.hbs
浏览文件 @
c0ceb20f
export const viewState = {
{{>
@macro
/
front-end
/
views
/
view-base-config
.
hbs
}}
export const viewState = () => {
return {
{{>
@macro
/
front-end
/
views
/
view-base-config
.
hbs
}}
}
};
\ 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
浏览文件 @
c0ceb20f
...
...
@@ -28,7 +28,7 @@ interface ViewEmit {
const
emit
=
defineEmits
<
ViewEmit
>
();
// 安装功能模块,提供状态和能力方法
const
tabExpView
=
new
TabExpView
(
viewState
,
props
,
emit
).
moduleInstall
();
const
tabExpView
=
new
TabExpView
(
viewState
()
,
props
,
emit
).
moduleInstall
();
const
{
state
,
onCtrlEvent
}
=
tabExpView
;
</script>
...
...
modules/ibizlab-generator-core/src/main/resources/templ/r7/app_{{apps}}/src/views/{{appModules}}/{{pages@DETREEEXPVIEW}}/{{pages@DETREEEXPVIEW}}-state.ts.hbs
浏览文件 @
c0ceb20f
export const viewState = {
{{#
each
page
.
ctrls
as
|
ctrl
|
}}
{{#if
(
eq
ctrl
.
controlType
"TREEEXPBAR"
)
}}
treeExpBarName: '
{{
ctrl
.
name
}}
',
{{/if}}
{{/
each
}}
{{>
@macro
/
front-end
/
views
/
view-base-config
.
hbs
}}
export const viewState = () => {
return {
{{#
each
page
.
ctrls
as
|
ctrl
|
}}
{{#if
(
eq
ctrl
.
controlType
"TREEEXPBAR"
)
}}
treeExpBarName: '
{{
ctrl
.
name
}}
',
{{/if}}
{{/
each
}}
{{>
@macro
/
front-end
/
views
/
view-base-config
.
hbs
}}
}
};
\ No newline at end of file
modules/ibizlab-generator-core/src/main/resources/templ/r7/app_{{apps}}/src/views/{{appModules}}/{{pages@DETREEEXPVIEW}}/{{pages@DETREEEXPVIEW}}.vue.hbs
浏览文件 @
c0ceb20f
...
...
@@ -25,7 +25,7 @@ interface ViewEmit {
const
emit
=
defineEmits
<
ViewEmit
>
();
// 安装功能模块
const
treeExpView
=
new
TreeExpView
(
viewState
,
props
,
emit
).
moduleInstall
()
const
treeExpView
=
new
TreeExpView
(
viewState
()
,
props
,
emit
).
moduleInstall
()
const
{
state
,
onCtrlEvent
,
onToolbarEvent
}
=
treeExpView
;
</script>
...
...
modules/ibizlab-generator-core/src/main/resources/templ/r7/app_{{apps}}/src/views/{{appModules}}/{{pages@DETREEVIEW}}/{{pages@DETREEVIEW}}-state.ts.hbs
浏览文件 @
c0ceb20f
export const viewState = {
enableQuickSearch:
{{#if
page
.
enableQuickSearch
}}{{
page
.
enableQuickSearch
}}{{else}}
false
{{/if}}
,
expandSearchForm:
{{#if
page
.
expandSearchForm
}}{{
page
.
expandSearchForm
}}{{else}}
false
{{/if}}
,
{{>
@macro
/
front-end
/
views
/
view-base-config
.
hbs
}}
export const viewState = () => {
return {
enableQuickSearch:
{{#if
page
.
enableQuickSearch
}}{{
page
.
enableQuickSearch
}}{{else}}
false
{{/if}}
,
expandSearchForm:
{{#if
page
.
expandSearchForm
}}{{
page
.
expandSearchForm
}}{{else}}
false
{{/if}}
,
{{>
@macro
/
front-end
/
views
/
view-base-config
.
hbs
}}
}
};
\ No newline at end of file
modules/ibizlab-generator-core/src/main/resources/templ/r7/app_{{apps}}/src/views/{{appModules}}/{{pages@DETREEVIEW}}/{{pages@DETREEVIEW}}.vue.hbs
浏览文件 @
c0ceb20f
...
...
@@ -13,7 +13,7 @@ import { {{codeName}}SearchForm } from '@widgets/{{spinalCase psAppDataEntity.co
import
{
{{
codeName
}}
QuickSearchForm
}
from
'@widgets/
{{
spinalCase
psAppDataEntity
.
codeName
}}
/
{{
spinalCase
codeName
}}
-quick-search-form'
;
{{/if}}
{{#
eq
controlType
"SEARCHBAR"
}}
import
{
{{
codeName
}}
SearchBar
}
from
'@widgets/
{{
spinalCase
psAppDataEntity
.
codeName
}}
/
{{
spinalCase
codeName
}}
-search
B
ar'
;
import
{
{{
codeName
}}
SearchBar
}
from
'@widgets/
{{
spinalCase
psAppDataEntity
.
codeName
}}
/
{{
spinalCase
codeName
}}
-search
b
ar'
;
{{/
eq
}}
{{/
page
.
ctrls
}}
...
...
@@ -38,7 +38,7 @@ interface ViewEmit {
const
emit
=
defineEmits
<
ViewEmit
>
();
// 安装功能模块,提供状态和能力方法
const
treeView
=
new
TreeView
(
viewState
,
props
,
emit
).
moduleInstall
();
const
treeView
=
new
TreeView
(
viewState
()
,
props
,
emit
).
moduleInstall
();
const
{
state
,
tree
,
onCtrlEvent
,
onToolbarEvent
,
onQuickGroupEvent
,
onQuickSearchEvent
}
=
treeView
;
{{#if
page
.
psAppCounterRefs
}}
// 计数器数据
...
...
modules/ibizlab-generator-core/src/main/resources/templ/r7/app_{{apps}}/src/widgets/{{appEntities}}/{{ctrls@APPMENU}}-menu/{{ctrls@APPMENU}}-menu-state.ts.hbs
浏览文件 @
c0ceb20f
export const ctrlState = {
controlCodeName: '
{{
ctrl
.
codeName
}}
',
controlName: '
{{
ctrl
.
name
}}
',
defaultOpens: [],
defaultSelect: [],
menus: [
{{#
each
ctrl
.
psAppMenuItems
as
|
item
|
}}
{{>
@macro
/
front-end
/
widgets
/
menu-detail
/
include-menu
.
hbs
type
=
"MENUITEM"
item
=
item
}}
{{/
each
}}
],
funcs: App.getAllFuncs(),
};
\ No newline at end of file
export const ctrlState = () => {
return {
controlCodeName: '
{{
ctrl
.
codeName
}}
',
controlName: '
{{
ctrl
.
name
}}
',
defaultOpens: [],
defaultSelect: [],
menus: [
{{#
each
ctrl
.
psAppMenuItems
as
|
item
|
}}
{{>
@macro
/
front-end
/
widgets
/
menu-detail
/
include-menu
.
hbs
type
=
"MENUITEM"
item
=
item
}}
{{/
each
}}
],
funcs: App.getAllFuncs(),
}
}
\ No newline at end of file
modules/ibizlab-generator-core/src/main/resources/templ/r7/app_{{apps}}/src/widgets/{{appEntities}}/{{ctrls@APPMENU}}-menu/{{ctrls@APPMENU}}-menu.vue.hbs
浏览文件 @
c0ceb20f
...
...
@@ -23,7 +23,7 @@ interface CtrlEmit {
}
const
emit
=
defineEmits
<
CtrlEmit
>
();
const
{
name
,
state
,
onMenuSelect
,
load
}
=
new
MenuControl
(
ctrlState
,
props
,
emit
).
moduleInstall
();
const
{
name
,
state
,
onMenuSelect
,
load
}
=
new
MenuControl
(
ctrlState
()
,
props
,
emit
).
moduleInstall
();
// 暴露内部状态及能力
defineExpose
({
name
,
state
,
load
});
...
...
modules/ibizlab-generator-core/src/main/resources/templ/r7/app_{{apps}}/src/widgets/{{appEntities}}/{{ctrls@DASHBOARD}}-dashboard/{{ctrls@DASHBOARD}}-dashboard-state.ts.hbs
浏览文件 @
c0ceb20f
...
...
@@ -10,13 +10,15 @@
{{
~
/
eq
~
}}
{{/
inline
}}
// 部件配置对象
export const ctrlState = {
controlCodeName: '
{{
ctrl
.
codeName
}}
',
controlName: '
{{
ctrl
.
name
}}
',
isEnableCustomized:
{{
ctrl
.
enableCustomized
}}
,
portlets: [
{{
~#
each
ctrl
.
psControls
as
|
portlet
|~
}}
{{>
getPortlet
portlet
=
portlet
}}{{#
unless
@last
}}
,
{{/
unless
}}
{{
~
/
each
~
}}
]
};
\ No newline at end of file
export const ctrlState = () => {
return {
controlCodeName: '
{{
ctrl
.
codeName
}}
',
controlName: '
{{
ctrl
.
name
}}
',
isEnableCustomized:
{{
ctrl
.
enableCustomized
}}
,
portlets: [
{{
~#
each
ctrl
.
psControls
as
|
portlet
|~
}}
{{>
getPortlet
portlet
=
portlet
}}{{#
unless
@last
}}
,
{{/
unless
}}
{{
~
/
each
~
}}
]
}
}
\ No newline at end of file
modules/ibizlab-generator-core/src/main/resources/templ/r7/app_{{apps}}/src/widgets/{{appEntities}}/{{ctrls@DASHBOARD}}-dashboard/{{ctrls@DASHBOARD}}-dashboard.vue.hbs
浏览文件 @
c0ceb20f
...
...
@@ -31,7 +31,7 @@ interface CtrlEmit {
const
emit
=
defineEmits
<
CtrlEmit
>
();
// 安装功能模块,提供状态和能力方法
const
dashboardControl
=
new
DashboardControl
(
ctrlState
,
props
,
emit
).
moduleInstall
();
const
dashboardControl
=
new
DashboardControl
(
ctrlState
()
,
props
,
emit
).
moduleInstall
();
const
{
name
,
state
,
onCtrlEvent
}
=
dashboardControl
;
// 暴露内部状态及能力
...
...
modules/ibizlab-generator-core/src/main/resources/templ/r7/app_{{apps}}/src/widgets/{{appEntities}}/{{ctrls@DATAVIEW}}-dataview/{{ctrls@DATAVIEW}}-dataview-state.ts.hbs
浏览文件 @
c0ceb20f
...
...
@@ -27,73 +27,75 @@ export class ControlVO extends ControlVOBase {
{{/
each
}}
}
export const ctrlState = {
controlCodeName: '
{{
ctrl
.
codeName
}}
',
controlName: '
{{
ctrl
.
name
}}
',
appEntityCodeName: '
{{
ctrl
.
psAppDataEntity
.
codeName
}}
',
appDeCodeName:'
{{
ctrl
.
psAppDataEntity
.
codeName
}}
',
appDeLogicName: '
{{
ctrl
.
psAppDataEntity
.
logicName
}}
',
appDeKeyFieldName: '
{{#if
ctrl
.
psAppDataEntity
.
keyPSAppDEField
}}{{
ctrl
.
psAppDataEntity
.
keyPSAppDEField
.
codeName
}}{{/if}}
',
appDeMajorFieldName: '
{{#if
ctrl
.
psAppDataEntity
.
majorPSAppDEField
}}{{
ctrl
.
psAppDataEntity
.
majorPSAppDEField
.
codeName
}}{{/if}}
',
controlService: new DataViewService
<ControlVO>
(ControlVO, new
{{
pascalCase
ctrl
.
psAppDataEntity
.
codeName
}}
Service() ),
selections: [],
// 多数据部件分组
mdCtrlGroup: {
enableGroup:
{{
ctrl
.
enableGroup
}}
,
groupMode: "
{{
ctrl
.
groupMode
}}
",
groupField: "
{{
lowerCase
ctrl
.
groupPSAppDEField
.
codeName
}}
",
{{#if
ctrl
.
groupPSCodeList
}}
groupCodeList: {
codeListTag: "
{{
ctrl
.
groupPSCodeList
.
codeListTag
}}
",
codeListType: "
{{
ctrl
.
groupPSCodeList
.
codeListType
}}
",
export const ctrlState = () => {
return {
controlCodeName: '
{{
ctrl
.
codeName
}}
',
controlName: '
{{
ctrl
.
name
}}
',
appEntityCodeName: '
{{
ctrl
.
psAppDataEntity
.
codeName
}}
',
appDeCodeName:'
{{
ctrl
.
psAppDataEntity
.
codeName
}}
',
appDeLogicName: '
{{
ctrl
.
psAppDataEntity
.
logicName
}}
',
appDeKeyFieldName: '
{{#if
ctrl
.
psAppDataEntity
.
keyPSAppDEField
}}{{
ctrl
.
psAppDataEntity
.
keyPSAppDEField
.
codeName
}}{{/if}}
',
appDeMajorFieldName: '
{{#if
ctrl
.
psAppDataEntity
.
majorPSAppDEField
}}{{
ctrl
.
psAppDataEntity
.
majorPSAppDEField
.
codeName
}}{{/if}}
',
controlService: new DataViewService
<ControlVO>
(ControlVO, new
{{
pascalCase
ctrl
.
psAppDataEntity
.
codeName
}}
Service() ),
selections: [],
// 多数据部件分组
mdCtrlGroup: {
enableGroup:
{{
ctrl
.
enableGroup
}}
,
groupMode: "
{{
ctrl
.
groupMode
}}
",
groupField: "
{{
lowerCase
ctrl
.
groupPSAppDEField
.
codeName
}}
",
{{#if
ctrl
.
groupPSCodeList
}}
groupCodeList: {
codeListTag: "
{{
ctrl
.
groupPSCodeList
.
codeListTag
}}
",
codeListType: "
{{
ctrl
.
groupPSCodeList
.
codeListType
}}
",
},
{{/if}}
},
// 多数据部件排序
mdCtrlSort: {
noSort:
{{
ctrl
.
noSort
}}
,
minorSortDir: "
{{#if
ctrl
.
minorSortDir
}}{{
ctrl
.
minorSortDir
}}{{/if}}
",
minorSortPSDEF: "
{{
ctrl
.
minorSortPSAppDEField
.
codeName
}}
",
},
// 多数据部件分页
mdCtrlPaging: {
enablePagingBar: true,
current: 1,
pageSize:
{{#if
ctrl
.
pagingSize
}}{{
ctrl
.
pagingSize
}}{{else}}
20
{{/if}}
,
pagination: {}
},
{{#if
ctrl
.
quickToolBarItems
}}
{{#
ctrl
.
quickToolBarItems
}}
quickToolbar: [
{{#
items
}}
{ id:'
{{
id
}}
',name:'
{{
name
}}
',caption:'
{{
caption
}}
',groupExtractMode:'
{{
groupExtractMode
}}
',itemType:'
{{
itemType
}}
',noPrivDisplayMode:'
{{
noPrivDisplayMode
}}
',showIcon:
{{
showIcon
}}
,showCaption:
{{
showCaption
}}
,tooltip:'
{{
tooltip
}}
',disabled: false, visible: true, imgPath: '
{{
imgPath
}}
',iconClass: '
{{
iconClass
}}
',xDataControlName:'
{{
xDataControlName
}}
',
{{#if
uIAction
}}
uIAction:{codeName:'
{{
uIAction
.
codeName
}}
',fullCodeName:'
{{
uIAction
.
fullCodeName
}}
',uIActionMode:'
{{
uIAction
.
uIActionMode
}}
',actionTarget:'
{{
uIAction
.
actionTarget
}}
',uIActionTag:'
{{
uIAction
.
uIActionTag
}}
',dataAccessAction:'
{{
uIAction
.
dataAccessAction
}}
',uIActionType:'
{{
uIAction
.
uIActionType
}}
'}
{{/if}}
},
{{/
items
}}
],
{{/
ctrl
.
quickToolBarItems
}}
{{/if}}
{{#if
ctrl
.
batchToolBarItems
}}
{{#
ctrl
.
batchToolBarItems
}}
batchToolbar: [
{{#
items
}}
{ id:'
{{
id
}}
',name:'
{{
name
}}
',caption:'
{{
caption
}}
',groupExtractMode:'
{{
groupExtractMode
}}
',itemType:'
{{
itemType
}}
',noPrivDisplayMode:'
{{
noPrivDisplayMode
}}
',showIcon:
{{
showIcon
}}
,showCaption:
{{
showCaption
}}
,tooltip:'
{{
tooltip
}}
',disabled: false, visible: true, imgPath: '
{{
imgPath
}}
',iconClass: '
{{
iconClass
}}
',xDataControlName:'
{{
xDataControlName
}}
',
{{#if
uIAction
}}
uIAction:{codeName:'
{{
uIAction
.
codeName
}}
',fullCodeName:'
{{
uIAction
.
fullCodeName
}}
',uIActionMode:'
{{
uIAction
.
uIActionMode
}}
',actionTarget:'
{{
uIAction
.
actionTarget
}}
',uIActionTag:'
{{
uIAction
.
uIActionTag
}}
',dataAccessAction:'
{{
uIAction
.
dataAccessAction
}}
',uIActionType:'
{{
uIAction
.
uIActionType
}}
'}
{{/if}}
},
{{/
items
}}
],
{{/
ctrl
.
batchToolBarItems
}}
{{/if}}
},
// 多数据部件排序
mdCtrlSort: {
noSort:
{{
ctrl
.
noSort
}}
,
minorSortDir: "
{{#if
ctrl
.
minorSortDir
}}{{
ctrl
.
minorSortDir
}}{{/if}}
",
minorSortPSDEF: "
{{
ctrl
.
minorSortPSAppDEField
.
codeName
}}
",
},
// 多数据部件分页
mdCtrlPaging: {
enablePagingBar: true,
current: 1,
pageSize:
{{#if
ctrl
.
pagingSize
}}{{
ctrl
.
pagingSize
}}{{else}}
20
{{/if}}
,
pagination: {}
},
{{#if
ctrl
.
quickToolBarItems
}}
{{#
ctrl
.
quickToolBarItems
}}
quickToolbar: [
{{#
items
}}
{ id:'
{{
id
}}
',name:'
{{
name
}}
',caption:'
{{
caption
}}
',groupExtractMode:'
{{
groupExtractMode
}}
',itemType:'
{{
itemType
}}
',noPrivDisplayMode:'
{{
noPrivDisplayMode
}}
',showIcon:
{{
showIcon
}}
,showCaption:
{{
showCaption
}}
,tooltip:'
{{
tooltip
}}
',disabled: false, visible: true, imgPath: '
{{
imgPath
}}
',iconClass: '
{{
iconClass
}}
',xDataControlName:'
{{
xDataControlName
}}
',
{{#if
uIAction
}}
uIAction:{codeName:'
{{
uIAction
.
codeName
}}
',fullCodeName:'
{{
uIAction
.
fullCodeName
}}
',uIActionMode:'
{{
uIAction
.
uIActionMode
}}
',actionTarget:'
{{
uIAction
.
actionTarget
}}
',uIActionTag:'
{{
uIAction
.
uIActionTag
}}
',dataAccessAction:'
{{
uIAction
.
dataAccessAction
}}
',uIActionType:'
{{
uIAction
.
uIActionType
}}
'}
{{/if}}
},
{{/
items
}}
],
{{/
ctrl
.
quickToolBarItems
}}
{{/if}}
{{#if
ctrl
.
batchToolBarItems
}}
{{#
ctrl
.
batchToolBarItems
}}
batchToolbar: [
{{#
items
}}
{ id:'
{{
id
}}
',name:'
{{
name
}}
',caption:'
{{
caption
}}
',groupExtractMode:'
{{
groupExtractMode
}}
',itemType:'
{{
itemType
}}
',noPrivDisplayMode:'
{{
noPrivDisplayMode
}}
',showIcon:
{{
showIcon
}}
,showCaption:
{{
showCaption
}}
,tooltip:'
{{
tooltip
}}
',disabled: false, visible: true, imgPath: '
{{
imgPath
}}
',iconClass: '
{{
iconClass
}}
',xDataControlName:'
{{
xDataControlName
}}
',
{{#if
uIAction
}}
uIAction:{codeName:'
{{
uIAction
.
codeName
}}
',fullCodeName:'
{{
uIAction
.
fullCodeName
}}
',uIActionMode:'
{{
uIAction
.
uIActionMode
}}
',actionTarget:'
{{
uIAction
.
actionTarget
}}
',uIActionTag:'
{{
uIAction
.
uIActionTag
}}
',dataAccessAction:'
{{
uIAction
.
dataAccessAction
}}
',uIActionType:'
{{
uIAction
.
uIActionType
}}
'}
{{/if}}
},
{{/
items
}}
],
{{/
ctrl
.
batchToolBarItems
}}
{{/if}}
// 界面行为
uIActions: {
{{#
each
ctrl
.
psDEDataViewItems
as
|
dataViewItem
|
}}
{{#
and
(
eq
dataViewItem
.
itemType
'ACTIONITEM'
)
dataViewItem
.
psDEUIActionGroup
dataViewItem
.
psDEUIActionGroup
.
psUIActionGroupDetails
}}
{{#
dataViewItem
}}
{{#
each
dataViewItem
.
psDEUIActionGroup
.
psUIActionGroupDetails
as
|
uiActionDetail
|
}}
{{#if
uiActionDetail
.
getPSUIAction
}}
{{#
uiActionDetail
.
getPSUIAction
}}
{{
uIActionTag
}}
: { caption: '
{{
caption
}}
', tooltip: '
{{
tooltip
}}
', showCaption:
{{
..
/
showCaption
}}
, showIcon:
{{
..
/
showIcon
}}
, uIActionTag: '
{{
uIActionTag
}}
', uIActionType: '
{{
uIActionType
}}
', dataAccessAction: '
{{
dataAccessAction
}}
', noPrivDisplayMode: '
{{
noPrivDisplayMode
}}
', uIActionMode: '
{{
uIActionMode
}}
', disabled: false, visible: true,
{{#if
coutnerId
}}
counterId: '
{{
counterId
}}
',
{{/if}}{{#if
psSysImage
}}
cssClass: '
{{
psSysImage
.
cssClass
}}
',
{{#if
psSysImage
.
cssClass
}}{{/if}}{{#if
psSysImage
.
imagePath
}}
imagePath: '
{{
psSysImage
.
imagePath
}}
'
{{/if}}{{/if}}
},
{{/
uiActionDetail
.
getPSUIAction
}}
{{/if}}
{{/
each
}}
{{/
dataViewItem
}}
{{/
and
}}
{{/
each
}}
// 界面行为
uIActions: {
{{#
each
ctrl
.
psDEDataViewItems
as
|
dataViewItem
|
}}
{{#
and
(
eq
dataViewItem
.
itemType
'ACTIONITEM'
)
dataViewItem
.
psDEUIActionGroup
dataViewItem
.
psDEUIActionGroup
.
psUIActionGroupDetails
}}
{{#
dataViewItem
}}
{{#
each
dataViewItem
.
psDEUIActionGroup
.
psUIActionGroupDetails
as
|
uiActionDetail
|
}}
{{#if
uiActionDetail
.
getPSUIAction
}}
{{#
uiActionDetail
.
getPSUIAction
}}
{{
uIActionTag
}}
: { caption: '
{{
caption
}}
', tooltip: '
{{
tooltip
}}
', showCaption:
{{
..
/
showCaption
}}
, showIcon:
{{
..
/
showIcon
}}
, uIActionTag: '
{{
uIActionTag
}}
', uIActionType: '
{{
uIActionType
}}
', dataAccessAction: '
{{
dataAccessAction
}}
', noPrivDisplayMode: '
{{
noPrivDisplayMode
}}
', uIActionMode: '
{{
uIActionMode
}}
', disabled: false, visible: true,
{{#if
coutnerId
}}
counterId: '
{{
counterId
}}
',
{{/if}}{{#if
psSysImage
}}
cssClass: '
{{
psSysImage
.
cssClass
}}
',
{{#if
psSysImage
.
cssClass
}}{{/if}}{{#if
psSysImage
.
imagePath
}}
imagePath: '
{{
psSysImage
.
imagePath
}}
'
{{/if}}{{/if}}
},
{{/
uiActionDetail
.
getPSUIAction
}}
{{/if}}
{{/
each
}}
{{/
dataViewItem
}}
{{/
and
}}
{{/
each
}}
}
}
}
\ No newline at end of file
modules/ibizlab-generator-core/src/main/resources/templ/r7/app_{{apps}}/src/widgets/{{appEntities}}/{{ctrls@DATAVIEW}}-dataview/{{ctrls@DATAVIEW}}-dataview.vue.hbs
浏览文件 @
c0ceb20f
...
...
@@ -39,7 +39,7 @@ interface CtrlEmit {
const
emit
=
defineEmits
<
CtrlEmit
>
();
// 安装功能模块,提供状态和能力
const
{
name
,
state
,
onUIAction
,
newRow
,
remove
,
save
,
load
,
refresh
,
getData
,
xDataControl
,
exportExcel
,
onToolbarEvent
,
useCustom
}
=
new
DataViewControl
(
ctrlState
,
props
,
emit
).
moduleInstall
();
const
{
name
,
state
,
onUIAction
,
newRow
,
remove
,
save
,
load
,
refresh
,
getData
,
xDataControl
,
exportExcel
,
onToolbarEvent
,
useCustom
}
=
new
DataViewControl
(
ctrlState
()
,
props
,
emit
).
moduleInstall
();
const
{
onDataViewItemSelected
,
isSelected
}
=
useCustom
();
// 暴露内部状态及能力
...
...
@@ -54,7 +54,20 @@ defineExpose({ name, state, newRow, remove, save, load, refresh, getData, export
justify=
"start"
>
<template
v-for=
"(item, index) in state.items"
:key=
"index"
>
<a-col
{{#if
ctrl
.
cardWidth
}}
:style=
"{ width: '
{{
ctrl
.
cardWidth
}}
px'
{{#if
ctrl
.
cardHeight
}}
, height: '
{{
ctrl
.
cardHeight
}}
px'
{{/if}}
}"
{{else}}
:span=
"6"
{{#if
ctrl
.
cardHeight
}}
:style=
"{ height: '
{{
ctrl
.
cardHeight
}}
px' }"
{{/if}}{{/if}}
>
<a-card
:class=
"['app-dataview-item', isSelected(item) ? 'app-dataview-item__selection' : '']"
@
click=
"(event) => onDataViewItemSelected(item, event)"
>
{{#if
ctrl
.
itemPSLayoutPanel
}}
<
{{
ctrl
.
itemPSLayoutPanel
.
codeName
}}
Panel
:class=
"['app-dataview-item', isSelected(item) ? 'app-dataview-item__selection' : '']"
{{#if
ctrl
.
cardHeight
}}
:style=
"{ height: '
{{
ctrl
.
cardHeight
}}
px' }"
{{/if}}
@
click=
"(event) => onDataViewItemSelected(item, event)"
:context=
"state.context"
:viewParams=
"state.viewParams"
:navDatas=
"[item]"
panelType=
"LAYOUT"
>
</
{{
ctrl
.
itemPSLayoutPanel
.
codeName
}}
Panel>
{{else}}
<a-card
:class=
"['app-dataview-item', isSelected(item) ? 'app-dataview-item__selection' : '']"
@
click=
"(event) => onDataViewItemSelected(item, event)"
{{#if
ctrl
.
cardHeight
}}
:style=
"{ height: '
{{
ctrl
.
cardHeight
}}
px' }"
{{/if}}
>
<template
#
title
>
\{{item.srfmajortext}}
</template>
...
...
@@ -77,6 +90,7 @@ defineExpose({ name, state, newRow, remove, save, load, refresh, getData, export
</template>
<span
class=
"app-dataview-item__description"
>
\{{item.srfdescription}}
</span>
</a-card>
{{/if}}
</a-col>
</template>
</a-row>
...
...
modules/ibizlab-generator-core/src/main/resources/templ/r7/app_{{apps}}/src/widgets/{{appEntities}}/{{ctrls@FORM}}-form/{{ctrls@FORM}}-form-state.ts.hbs
浏览文件 @
c0ceb20f
...
...
@@ -46,124 +46,126 @@ export class ControlVO extends ControlVOBase {
}
// 部件配置对象
export const ctrlState = {
controlCodeName: '
{{
ctrl
.
codeName
}}
',
controlName: '
{{
ctrl
.
name
}}
',
controlService: new EditFormService
<ControlVO>
(ControlVO, new
{{
pascalCase
ctrl
.
psAppDataEntity
.
codeName
}}
Service() ),
data: new ControlVO({}),
appEntityCodeName: '
{{
ctrl
.
psAppDataEntity
.
codeName
}}
',
appDeCodeName:'
{{
ctrl
.
psAppDataEntity
.
codeName
}}
',
appDeLogicName: '
{{
ctrl
.
psAppDataEntity
.
logicName
}}
',
appDeKeyFieldName: '
{{#if
ctrl
.
psAppDataEntity
.
keyPSAppDEField
}}{{
ctrl
.
psAppDataEntity
.
keyPSAppDEField
.
codeName
}}{{/if}}
',
appDeMajorFieldName: '
{{#if
ctrl
.
psAppDataEntity
.
majorPSAppDEField
}}{{
ctrl
.
psAppDataEntity
.
majorPSAppDEField
.
codeName
}}{{/if}}
',
enableAutoSave:
{{
ctrl
.
enableAutoSave
}}
,
// 错误信息
errorMessages: [],
// 关系界面计数器
drCount: 0,
// 新建默认值
createDefaultItems: [
{{#
each
ctrl
.
psDEFormItems
as
|
formItem
|
}}
{{#
formItem
}}
{{#if
(
or
createDV
createDVT
)
}}
{
createDV: "
{{
createDV
}}
",
createDVT: "
{{
createDVT
}}
",
property: "
{{
lowerCase
id
}}
",
{{#if
(
and
psEditor
psEditor
.
dateTimeFormat
)
}}
valueFormat: "
{{
editItem
.
psEditor
.
dateTimeFormat
}}
",
{{else
if
psAppDEField
}}
valueFormat: "
{{
psAppDEField
.
valueFormat
}}
",
{{/if}}
{{#if
psAppDEField
}}
dataType: "
{{
psAppDEField
.
stdDataType
}}
"
{{/if}}
}
{{#
unless
@last
}}
,
{{/
unless
}}
export const ctrlState = () => {
return {
controlCodeName: '
{{
ctrl
.
codeName
}}
',
controlName: '
{{
ctrl
.
name
}}
',
controlService: new EditFormService
<ControlVO>
(ControlVO, new
{{
pascalCase
ctrl
.
psAppDataEntity
.
codeName
}}
Service() ),
data: new ControlVO({}),
appEntityCodeName: '
{{
ctrl
.
psAppDataEntity
.
codeName
}}
',
appDeCodeName:'
{{
ctrl
.
psAppDataEntity
.
codeName
}}
',
appDeLogicName: '
{{
ctrl
.
psAppDataEntity
.
logicName
}}
',
appDeKeyFieldName: '
{{#if
ctrl
.
psAppDataEntity
.
keyPSAppDEField
}}{{
ctrl
.
psAppDataEntity
.
keyPSAppDEField
.
codeName
}}{{/if}}
',
appDeMajorFieldName: '
{{#if
ctrl
.
psAppDataEntity
.
majorPSAppDEField
}}{{
ctrl
.
psAppDataEntity
.
majorPSAppDEField
.
codeName
}}{{/if}}
',
enableAutoSave:
{{
ctrl
.
enableAutoSave
}}
,
// 错误信息
errorMessages: [],
// 关系界面计数器
drCount: 0,
// 新建默认值
createDefaultItems: [
{{#
each
ctrl
.
psDEFormItems
as
|
formItem
|
}}
{{#
formItem
}}
{{#if
(
or
createDV
createDVT
)
}}
{
createDV: "
{{
createDV
}}
",
createDVT: "
{{
createDVT
}}
",
property: "
{{
lowerCase
id
}}
",
{{#if
(
and
psEditor
psEditor
.
dateTimeFormat
)
}}
valueFormat: "
{{
editItem
.
psEditor
.
dateTimeFormat
}}
",
{{else
if
psAppDEField
}}
valueFormat: "
{{
psAppDEField
.
valueFormat
}}
",
{{/if}}
{{/
formItem
}}
{{/
each
}}
],
// 更新默认值
updateDefaultItems: [
{{#
each
ctrl
.
psDEFormItems
as
|
formItem
|
}}
{{#
formItem
}}
{{#if
(
or
updateDV
updateDVT
)
}}
{
updateDV: "
{{
updateDV
}}
",
updateDVT: "
{{
updateDVT
}}
",
property: "
{{
lowerCase
id
}}
",
{{#if
(
and
psEditor
psEditor
.
dateTimeFormat
)
}}
valueFormat: "
{{
editItem
.
psEditor
.
dateTimeFormat
}}
",
{{else
if
psAppDEField
}}
valueFormat: "
{{
psAppDEField
.
valueFormat
}}
",
{{/if}}
{{#if
psAppDEField
}}
dataType: "
{{
psAppDEField
.
stdDataType
}}
"
{{/if}}
}
{{#
unless
@last
}}
,
{{/
unless
}}
{{#if
psAppDEField
}}
dataType: "
{{
psAppDEField
.
stdDataType
}}
"
{{/if}}
{{/
formItem
}}
{{/
each
}}
],
detailsModel: {
{{#if
ctrl
.
psDEFormPages
}}
{{#
each
ctrl
.
psDEFormPages
as
|
FormPage
|
}}
{{>
@macro
/
front-end
/
widgets
/
form-detail
/
include-form
.
hbs
type
=
"FORMDETAILSMODEL"
item
=
FormPage
}}
{{/
each
}}
{{/if}}
},
actionModel: {
{{#
each
ctrl
.
psDEFormPages
as
|
FormPage
|
}}
{{>
@macro
/
front-end
/
widgets
/
form-detail
/
include-form
.
hbs
type
=
"FORMACTIONMODEL"
item
=
FormPage
}}
{{/
each
}}
},
rules: {
{{#
each
ctrl
.
psDEFormItemVRs
as
|
ruleItem
|
}}
{{
ruleItem
.
psDEFormItemName
}}
: [
{{#if
(
eq
ruleItem
.
valueRuleType
'SYSVALUERULE'
)
}}
}
{{#
unless
@last
}}
,
{{/
unless
}}
{{/if}}
{{/
formItem
}}
{{/
each
}}
],
// 更新默认值
updateDefaultItems: [
{{#
each
ctrl
.
psDEFormItems
as
|
formItem
|
}}
{{#
formItem
}}
{{#if
(
or
updateDV
updateDVT
)
}}
{
{{#
eq
ruleItem
.
psSysValueRule
.
ruleType
'REG'
}}
trigger: ['change', 'blur'],
pattern: /
{{
ruleItem
.
psSysValueRule
.
regExCode
}}
/,
message:'
{{
ruleItem
.
psSysValueRule
.
ruleInfo
}}
'
{{/
eq
}}
{{#
eq
ruleItem
.
psSysValueRule
.
ruleType
'SCRIPT'
}}
validator: (rule: any, value: any, callback: any) => {
if (isEmpty(value)) {
updateDV: "
{{
updateDV
}}
",
updateDVT: "
{{
updateDVT
}}
",
property: "
{{
lowerCase
id
}}
",
{{#if
(
and
psEditor
psEditor
.
dateTimeFormat
)
}}
valueFormat: "
{{
editItem
.
psEditor
.
dateTimeFormat
}}
",
{{else
if
psAppDEField
}}
valueFormat: "
{{
psAppDEField
.
valueFormat
}}
",
{{/if}}
{{#if
psAppDEField
}}
dataType: "
{{
psAppDEField
.
stdDataType
}}
"
{{/if}}
}
{{#
unless
@last
}}
,
{{/
unless
}}
{{/if}}
{{/
formItem
}}
{{/
each
}}
],
detailsModel: {
{{#if
ctrl
.
psDEFormPages
}}
{{#
each
ctrl
.
psDEFormPages
as
|
FormPage
|
}}
{{>
@macro
/
front-end
/
widgets
/
form-detail
/
include-form
.
hbs
type
=
"FORMDETAILSMODEL"
item
=
FormPage
}}
{{/
each
}}
{{/if}}
},
actionModel: {
{{#
each
ctrl
.
psDEFormPages
as
|
FormPage
|
}}
{{>
@macro
/
front-end
/
widgets
/
form-detail
/
include-form
.
hbs
type
=
"FORMACTIONMODEL"
item
=
FormPage
}}
{{/
each
}}
},
rules: {
{{#
each
ctrl
.
psDEFormItemVRs
as
|
ruleItem
|
}}
{{
ruleItem
.
psDEFormItemName
}}
: [
{{#if
(
eq
ruleItem
.
valueRuleType
'SYSVALUERULE'
)
}}
{
{{#
eq
ruleItem
.
psSysValueRule
.
ruleType
'REG'
}}
trigger: ['change', 'blur'],
pattern: /
{{
ruleItem
.
psSysValueRule
.
regExCode
}}
/,
message:'
{{
ruleItem
.
psSysValueRule
.
ruleInfo
}}
'
{{/
eq
}}
{{#
eq
ruleItem
.
psSysValueRule
.
ruleType
'SCRIPT'
}}
validator: (rule: any, value: any, callback: any) => {
if (isEmpty(value)) {
return Promise.resolve();
}
let source: any = { '
{{
ruleItem
.
psDEFormItemName
}}
': value };
try {
eval(`
{{
ruleItem
.
psSysValueRule
.
scriptCode
}}
`);
} catch (error: any) {
App.getNotificationService().error({ message: '校验脚本值规则异常' });
}
return Promise.resolve();
}
let source: any = { '
{{
ruleItem
.
psDEFormItemName
}}
': value };
try {
eval(`
{{
ruleItem
.
psSysValueRule
.
scriptCode
}}
`);
} catch (error: any) {
App.getNotificationService().error({ message: '校验脚本值规则异常' });
}
return Promise.resolve();
}
{{/
eq
}}
},
{{else
if
(
eq
ruleItem
.
valueRuleType
'DEFVALUERULE'
)
}}
{
validator: async (rule: any, value: any, callback: any) => {
if (isEmpty(value)) {
{{/
eq
}}
},
{{else
if
(
eq
ruleItem
.
valueRuleType
'DEFVALUERULE'
)
}}
{
validator: async (rule: any, value: any, callback: any) => {
if (isEmpty(value)) {
return Promise.resolve();
}
let source: any = { '
{{
ruleItem
.
psDEFormItemName
}}
': value };
const { isPast, infoMessage } = Verify.verifyDeRules(
'
{{
ruleItem
.
getPSDEFormItemName
}}
',
source,
{{>
@macro
/
front-end
/
common
/
derules
.
hbs
item
=
ruleItem
.
psDEFValueRule
.
getPSDEFVRGroupCondition
}}
);
if (!isPast) {
return Promise.reject(infoMessage || '
{{
ruleItem
.
psDEFValueRule
.
ruleInfo
}}
');
}
return Promise.resolve();
}
let source: any = { '
{{
ruleItem
.
psDEFormItemName
}}
': value };
const { isPast, infoMessage } = Verify.verifyDeRules(
'
{{
ruleItem
.
getPSDEFormItemName
}}
',
source,
{{>
@macro
/
front-end
/
common
/
derules
.
hbs
item
=
ruleItem
.
psDEFValueRule
.
getPSDEFVRGroupCondition
}}
);
if (!isPast) {
return Promise.reject(infoMessage || '
{{
ruleItem
.
psDEFValueRule
.
ruleInfo
}}
');
}
return Promise.resolve();
}
}
{{/if}}
],
{{/
each
}}
},
// 锚点数据集合
anchorDatas: [],
{{/if}
}
],
{{/
each
}}
},
// 锚点数据集合
anchorDatas: [],
}
};
\ No newline at end of file
modules/ibizlab-generator-core/src/main/resources/templ/r7/app_{{apps}}/src/widgets/{{appEntities}}/{{ctrls@FORM}}-form/{{ctrls@FORM}}-form.vue.hbs
浏览文件 @
c0ceb20f
...
...
@@ -40,7 +40,7 @@ interface CtrlEmit {
const
emit
=
defineEmits
<
CtrlEmit
>
();
// 安装功能模块,提供状态和能力方法
const
{
name
,
state
,
load
,
loadDraft
,
save
,
remove
,
refresh
,
onEditorEvent
,
onComponentEvent
,
getData
,
xDataCtrl
}
=
new
FormControl
(
ctrlState
,
props
,
emit
).
moduleInstall
();
const
{
name
,
state
,
load
,
loadDraft
,
save
,
remove
,
refresh
,
onEditorEvent
,
onComponentEvent
,
getData
,
xDataCtrl
}
=
new
FormControl
(
ctrlState
()
,
props
,
emit
).
moduleInstall
();
// 暴露内部状态及能力
defineExpose
({
name
,
state
,
load
,
loadDraft
,
save
,
remove
,
refresh
,
getData
});
...
...
modules/ibizlab-generator-core/src/main/resources/templ/r7/app_{{apps}}/src/widgets/{{appEntities}}/{{ctrls@GRIDEXPBAR}}-grid-exp-bar/{{ctrls@GRIDEXPBAR}}-grid-exp-bar-state.ts.hbs
浏览文件 @
c0ceb20f
export const ctrlState = {
controlCodeName: '
{{
ctrl
.
codeName
}}
',
controlName: '
{{
ctrl
.
name
}}
',
counter: 0,
enableSearch:
{{
ctrl
.
enableSearch
}}
,
xDataControlName: '
{{
ctrl
.
xDataControlName
}}
',
selection: {},
searchValue: '',
showTitleBar:
{{#if
ctrl
.
showTitleBar
}}
true
{{else}}
false
{{/if}}
,
split: 0.2,
title: '
{{
ctrl
.
title
}}
',
titleRes: '
{{#if
ctrl
.
titlePSLanguageRes
}}{{
ctrl
.
titlePSLanguageRes
.
lanResTag
}}{{/if}}
',
{{#
each
ctrl
.
psControls
as
|
childCtrl
|
}}
{{#
eq
childCtrl
.
controlType
'TOOLBAR'
}}
toolbar: [
{{#
childCtrl
.
psDEToolbarItems
}}
{ name:'
{{
name
}}
',caption:'
{{
caption
}}
',groupExtractMode:'
{{
groupExtractMode
}}
',itemType:'
{{
itemType
}}
',noPrivDisplayMode:'
{{
noPrivDisplayMode
}}
',showIcon:
{{
showIcon
}}
,showCaption:
{{
showCaption
}}
,tooltip:'
{{
tooltip
}}
',disabled: false, visible: true, imgPath: '
{{
imgPath
}}
',iconClass: '
{{
iconClass
}}
',xDataControlName:'
{{
xDataControlName
}}
',
{{#if
psUIAction
}}
uIAction:{codeName:'
{{
psUIAction
.
codeName
}}
',fullCodeName:'
{{
psUIAction
.
fullCodeName
}}
',uIActionMode:'
{{
psUIAction
.
uIActionMode
}}
',actionTarget:'
{{
psUIAction
.
actionTarget
}}
',uIActionTag:'
{{
psUIAction
.
uIActionTag
}}
',dataAccessAction:'
{{
psUIAction
.
dataAccessAction
}}
',uIActionType:'
{{
psUIAction
.
uIActionType
}}
'}
{{#if
psUIAction
.
counterId
}}
,counterId: '
{{
psUIAction
.
counterId
}}
'
{{/if}}{{/if}}
},
{{/
childCtrl
.
psDEToolbarItems
}}
],
{{/
eq
}}
{{#
eq
childCtrl
.
controlType
'GRID'
}}
{{
childCtrl
.
name
}}
: {
action:{
loadAction: '
{{
childCtrl
.
getPSControlAction
.
psAppDEMethod
.
codeName
}}
',
removeAction: '
{{
childCtrl
.
removePSControlAction
.
psAppDEMethod
.
codeName
}}
',
updateAction: '
{{
childCtrl
.
updatePSControlAction
.
psAppDEMethod
.
codeName
}}
',
loadDraftAction: '
{{
childCtrl
.
getDraftPSControlAction
.
psAppDEMethod
.
codeName
}}
',
createAction: '
{{
childCtrl
.
createPSControlAction
.
psAppDEMethod
.
codeName
}}
',
fetchAction:'
{{
childCtrl
.
fetchPSControlAction
.
psAppDEMethod
.
codeName
}}
'
}
},
{{#
and
childCtrl
.
navPSDER
childCtrl
.
navPSDER
.
minorCodeName
}}
navPSDer: 'n_
{{
lowerCase
childCtrl
.
navPSDER
.
minorCodeName
}}
_eq',
{{/
and
}}
{{#if
childCtrl
.
navFilter
}}
navFilter: '
{{
lowerCase
childCtrl
.
navFilter
}}
',
{{/if}}
{{#if
childCtrl
.
navPSAppView
}}
navViewName: '
{{
childCtrl
.
navPSAppView
.
name
}}
',
{{/if}}
{{#if
childCtrl
.
psNavigateContexts
}}
navigateContexts:
{{>
@macro
/
front-end
/
common
/
navparam
.
hbs
appNavParams
=
childCtrl
.
psNavigateContexts
}}
,
{{/if}}
{{#if
childCtrl
.
psNavigateParams
}}
navigateParams:
{{>
@macro
/
front-end
/
common
/
navparam
.
hbs
appNavParams
=
childCtrl
.
psNavigateParams
}}
,
{{/if}}
{{/
eq
}}
{{/
each
}}
export const ctrlState = () => {
return {
controlCodeName: '
{{
ctrl
.
codeName
}}
',
controlName: '
{{
ctrl
.
name
}}
',
counter: 0,
enableSearch:
{{
ctrl
.
enableSearch
}}
,
xDataControlName: '
{{
ctrl
.
xDataControlName
}}
',
selection: {},
searchValue: '',
showTitleBar:
{{#if
ctrl
.
showTitleBar
}}
true
{{else}}
false
{{/if}}
,
split: 0.2,
title: '
{{
ctrl
.
title
}}
',
titleRes: '
{{#if
ctrl
.
titlePSLanguageRes
}}{{
ctrl
.
titlePSLanguageRes
.
lanResTag
}}{{/if}}
',
{{#
each
ctrl
.
psControls
as
|
childCtrl
|
}}
{{#
eq
childCtrl
.
controlType
'TOOLBAR'
}}
toolbar: [
{{#
childCtrl
.
psDEToolbarItems
}}
{ name:'
{{
name
}}
',caption:'
{{
caption
}}
',groupExtractMode:'
{{
groupExtractMode
}}
',itemType:'
{{
itemType
}}
',noPrivDisplayMode:'
{{
noPrivDisplayMode
}}
',showIcon:
{{
showIcon
}}
,showCaption:
{{
showCaption
}}
,tooltip:'
{{
tooltip
}}
',disabled: false, visible: true, imgPath: '
{{
imgPath
}}
',iconClass: '
{{
iconClass
}}
',xDataControlName:'
{{
xDataControlName
}}
',
{{#if
psUIAction
}}
uIAction:{codeName:'
{{
psUIAction
.
codeName
}}
',fullCodeName:'
{{
psUIAction
.
fullCodeName
}}
',uIActionMode:'
{{
psUIAction
.
uIActionMode
}}
',actionTarget:'
{{
psUIAction
.
actionTarget
}}
',uIActionTag:'
{{
psUIAction
.
uIActionTag
}}
',dataAccessAction:'
{{
psUIAction
.
dataAccessAction
}}
',uIActionType:'
{{
psUIAction
.
uIActionType
}}
'}
{{#if
psUIAction
.
counterId
}}
,counterId: '
{{
psUIAction
.
counterId
}}
'
{{/if}}{{/if}}
},
{{/
childCtrl
.
psDEToolbarItems
}}
],
{{/
eq
}}
{{#
eq
childCtrl
.
controlType
'GRID'
}}
{{
childCtrl
.
name
}}
: {
action:{
loadAction: '
{{
childCtrl
.
getPSControlAction
.
psAppDEMethod
.
codeName
}}
',
removeAction: '
{{
childCtrl
.
removePSControlAction
.
psAppDEMethod
.
codeName
}}
',
updateAction: '
{{
childCtrl
.
updatePSControlAction
.
psAppDEMethod
.
codeName
}}
',
loadDraftAction: '
{{
childCtrl
.
getDraftPSControlAction
.
psAppDEMethod
.
codeName
}}
',
createAction: '
{{
childCtrl
.
createPSControlAction
.
psAppDEMethod
.
codeName
}}
',
fetchAction:'
{{
childCtrl
.
fetchPSControlAction
.
psAppDEMethod
.
codeName
}}
'
}
},
{{#
and
childCtrl
.
navPSDER
childCtrl
.
navPSDER
.
minorCodeName
}}
navPSDer: 'n_
{{
lowerCase
childCtrl
.
navPSDER
.
minorCodeName
}}
_eq',
{{/
and
}}
{{#if
childCtrl
.
navFilter
}}
navFilter: '
{{
lowerCase
childCtrl
.
navFilter
}}
',
{{/if}}
{{#if
childCtrl
.
navPSAppView
}}
navViewName: '
{{
childCtrl
.
navPSAppView
.
name
}}
',
{{/if}}
{{#if
childCtrl
.
psNavigateContexts
}}
navigateContexts:
{{>
@macro
/
front-end
/
common
/
navparam
.
hbs
appNavParams
=
childCtrl
.
psNavigateContexts
}}
,
{{/if}}
{{#if
childCtrl
.
psNavigateParams
}}
navigateParams:
{{>
@macro
/
front-end
/
common
/
navparam
.
hbs
appNavParams
=
childCtrl
.
psNavigateParams
}}
,
{{/if}}
{{/
eq
}}
{{/
each
}}
}
};
modules/ibizlab-generator-core/src/main/resources/templ/r7/app_{{apps}}/src/widgets/{{appEntities}}/{{ctrls@GRIDEXPBAR}}-grid-exp-bar/{{ctrls@GRIDEXPBAR}}-grid-exp-bar.vue.hbs
浏览文件 @
c0ceb20f
...
...
@@ -34,7 +34,7 @@ interface CtrlEmit {
const
emit
=
defineEmits
<
CtrlEmit
>
();
// 安装功能模块,提供状态和能力方法
const
{
name
,
state
,
onCtrlEvent
,
xDataControl
,
search
,
onToolbarEvent
}
=
new
GridExpBarControl
(
ctrlState
,
props
,
emit
).
moduleInstall
();
const
{
name
,
state
,
onCtrlEvent
,
xDataControl
,
search
,
onToolbarEvent
}
=
new
GridExpBarControl
(
ctrlState
()
,
props
,
emit
).
moduleInstall
();
// 暴露内部状态及能力
defineExpose
({
name
,
state
});
...
...
modules/ibizlab-generator-core/src/main/resources/templ/r7/app_{{apps}}/src/widgets/{{appEntities}}/{{ctrls@GRID}}-grid/{{ctrls@GRID}}-grid-state.ts.hbs
浏览文件 @
c0ceb20f
此差异已折叠。
点击以展开。
modules/ibizlab-generator-core/src/main/resources/templ/r7/app_{{apps}}/src/widgets/{{appEntities}}/{{ctrls@GRID}}-grid/{{ctrls@GRID}}-grid.vue.hbs
浏览文件 @
c0ceb20f
...
...
@@ -39,7 +39,7 @@ interface CtrlEmit {
const
emit
=
defineEmits
<
CtrlEmit
>
();
// 安装功能模块,提供状态和能力
const
{
name
,
state
,
useCustom
,
onEditorEvent
,
onToolbarEvent
,
onActionColEvent
,
newRow
,
remove
,
save
,
load
,
refresh
,
getData
,
exportExcel
}
=
new
GridControl
(
ctrlState
,
props
,
emit
).
moduleInstall
();
const
{
name
,
state
,
useCustom
,
onEditorEvent
,
onToolbarEvent
,
onActionColEvent
,
newRow
,
remove
,
save
,
load
,
refresh
,
getData
,
exportExcel
}
=
new
GridControl
(
ctrlState
()
,
props
,
emit
).
moduleInstall
();
const
{
useScrollOption
,
useRowKey
,
useRowClassName
,
useCustomRow
,
useRowSelectionOption
,
onResizeColumn
,
onGridChange
,
useExpandedRowKeys
,
onExpandedRowsChange
,
formRef
}
=
useCustom
;
{{#if
ctrl
.
batchToolBarItems
}}
const
renderBatchToolbar
=
(
total
:
number
,
range
:
IParam
[])
=>
{
...
...
modules/ibizlab-generator-core/src/main/resources/templ/r7/app_{{apps}}/src/widgets/{{appEntities}}/{{ctrls@LISTEXPBAR}}-list-exp-bar/{{ctrls@LISTEXPBAR}}-list-exp-bar-state.ts.hbs
浏览文件 @
c0ceb20f
export const ctrlState = {
controlCodeName: '
{{
ctrl
.
codeName
}}
',
controlName: '
{{
ctrl
.
name
}}
',
counter: 0,
enableSearch:
{{
ctrl
.
enableSearch
}}
,
xDataControlName: '
{{
ctrl
.
xDataControlName
}}
',
selection: {},
searchValue: '',
showTitleBar:
{{#if
ctrl
.
showTitleBar
}}
true
{{else}}
false
{{/if}}
,
split: 0.2,
title: '
{{
ctrl
.
title
}}
',
titleRes: '
{{#if
ctrl
.
titlePSLanguageRes
}}{{
ctrl
.
titlePSLanguageRes
.
lanResTag
}}{{/if}}
',
{{#
each
ctrl
.
psControls
as
|
childCtrl
|
}}
{{#
eq
childCtrl
.
controlType
'TOOLBAR'
}}
toolbar: [
{{#
childCtrl
.
psDEToolbarItems
}}
{ name:'
{{
name
}}
',caption:'
{{
caption
}}
',groupExtractMode:'
{{
groupExtractMode
}}
',itemType:'
{{
itemType
}}
',noPrivDisplayMode:'
{{
noPrivDisplayMode
}}
',showIcon:
{{
showIcon
}}
,showCaption:
{{
showCaption
}}
,tooltip:'
{{
tooltip
}}
',disabled: false, visible: true, imgPath: '
{{
imgPath
}}
',iconClass: '
{{
iconClass
}}
',xDataControlName:'
{{
xDataControlName
}}
',
{{#if
psUIAction
}}
uIAction:{codeName:'
{{
psUIAction
.
codeName
}}
',fullCodeName:'
{{
psUIAction
.
fullCodeName
}}
',uIActionMode:'
{{
psUIAction
.
uIActionMode
}}
',actionTarget:'
{{
psUIAction
.
actionTarget
}}
',uIActionTag:'
{{
psUIAction
.
uIActionTag
}}
',dataAccessAction:'
{{
psUIAction
.
dataAccessAction
}}
',uIActionType:'
{{
psUIAction
.
uIActionType
}}
'}
{{#if
psUIAction
.
counterId
}}
,counterId: '
{{
psUIAction
.
counterId
}}
'
{{/if}}{{/if}}
},
{{/
childCtrl
.
psDEToolbarItems
}}
],
{{/
eq
}}
{{#
eq
childCtrl
.
controlType
'LIST'
}}
{{
childCtrl
.
name
}}
: {
action:{
loadAction: '
{{
childCtrl
.
getPSControlAction
.
psAppDEMethod
.
codeName
}}
',
removeAction: '
{{
childCtrl
.
removePSControlAction
.
psAppDEMethod
.
codeName
}}
',
updateAction: '
{{
childCtrl
.
updatePSControlAction
.
psAppDEMethod
.
codeName
}}
',
loadDraftAction: '
{{
childCtrl
.
getDraftPSControlAction
.
psAppDEMethod
.
codeName
}}
',
createAction: '
{{
childCtrl
.
createPSControlAction
.
psAppDEMethod
.
codeName
}}
',
fetchAction:'
{{
childCtrl
.
fetchPSControlAction
.
psAppDEMethod
.
codeName
}}
'
}
},
{{#
and
childCtrl
.
navPSDER
childCtrl
.
navPSDER
.
minorCodeName
}}
navPSDer: 'n_
{{
lowerCase
childCtrl
.
navPSDER
.
minorCodeName
}}
_eq',
{{/
and
}}
{{#if
childCtrl
.
navFilter
}}
navFilter: '
{{
lowerCase
childCtrl
.
navFilter
}}
',
{{/if}}
{{#if
childCtrl
.
navPSAppView
}}
navViewName: '
{{
childCtrl
.
navPSAppView
.
name
}}
',
{{/if}}
{{#if
childCtrl
.
psNavigateContexts
}}
navigateContexts:
{{>
@macro
/
front-end
/
common
/
navparam
.
hbs
appNavParams
=
childCtrl
.
psNavigateContexts
}}
,
{{/if}}
{{#if
childCtrl
.
psNavigateParams
}}
navigateParams:
{{>
@macro
/
front-end
/
common
/
navparam
.
hbs
appNavParams
=
childCtrl
.
psNavigateParams
}}
,
{{/if}}
{{/
eq
}}
{{/
each
}}
export const ctrlState = () => {
return {
controlCodeName: '
{{
ctrl
.
codeName
}}
',
controlName: '
{{
ctrl
.
name
}}
',
counter: 0,
enableSearch:
{{
ctrl
.
enableSearch
}}
,
xDataControlName: '
{{
ctrl
.
xDataControlName
}}
',
selection: {},
searchValue: '',
showTitleBar:
{{#if
ctrl
.
showTitleBar
}}
true
{{else}}
false
{{/if}}
,
split: 0.2,
title: '
{{
ctrl
.
title
}}
',
titleRes: '
{{#if
ctrl
.
titlePSLanguageRes
}}{{
ctrl
.
titlePSLanguageRes
.
lanResTag
}}{{/if}}
',
{{#
each
ctrl
.
psControls
as
|
childCtrl
|
}}
{{#
eq
childCtrl
.
controlType
'TOOLBAR'
}}
toolbar: [
{{#
childCtrl
.
psDEToolbarItems
}}
{ name:'
{{
name
}}
',caption:'
{{
caption
}}
',groupExtractMode:'
{{
groupExtractMode
}}
',itemType:'
{{
itemType
}}
',noPrivDisplayMode:'
{{
noPrivDisplayMode
}}
',showIcon:
{{
showIcon
}}
,showCaption:
{{
showCaption
}}
,tooltip:'
{{
tooltip
}}
',disabled: false, visible: true, imgPath: '
{{
imgPath
}}
',iconClass: '
{{
iconClass
}}
',xDataControlName:'
{{
xDataControlName
}}
',
{{#if
psUIAction
}}
uIAction:{codeName:'
{{
psUIAction
.
codeName
}}
',fullCodeName:'
{{
psUIAction
.
fullCodeName
}}
',uIActionMode:'
{{
psUIAction
.
uIActionMode
}}
',actionTarget:'
{{
psUIAction
.
actionTarget
}}
',uIActionTag:'
{{
psUIAction
.
uIActionTag
}}
',dataAccessAction:'
{{
psUIAction
.
dataAccessAction
}}
',uIActionType:'
{{
psUIAction
.
uIActionType
}}
'}
{{#if
psUIAction
.
counterId
}}
,counterId: '
{{
psUIAction
.
counterId
}}
'
{{/if}}{{/if}}
},
{{/
childCtrl
.
psDEToolbarItems
}}
],
{{/
eq
}}
{{#
eq
childCtrl
.
controlType
'LIST'
}}
{{
childCtrl
.
name
}}
: {
action:{
loadAction: '
{{
childCtrl
.
getPSControlAction
.
psAppDEMethod
.
codeName
}}
',
removeAction: '
{{
childCtrl
.
removePSControlAction
.
psAppDEMethod
.
codeName
}}
',
updateAction: '
{{
childCtrl
.
updatePSControlAction
.
psAppDEMethod
.
codeName
}}
',
loadDraftAction: '
{{
childCtrl
.
getDraftPSControlAction
.
psAppDEMethod
.
codeName
}}
',
createAction: '
{{
childCtrl
.
createPSControlAction
.
psAppDEMethod
.
codeName
}}
',
fetchAction:'
{{
childCtrl
.
fetchPSControlAction
.
psAppDEMethod
.
codeName
}}
'
}
},
{{#
and
childCtrl
.
navPSDER
childCtrl
.
navPSDER
.
minorCodeName
}}
navPSDer: 'n_
{{
lowerCase
childCtrl
.
navPSDER
.
minorCodeName
}}
_eq',
{{/
and
}}
{{#if
childCtrl
.
navFilter
}}
navFilter: '
{{
lowerCase
childCtrl
.
navFilter
}}
',
{{/if}}
{{#if
childCtrl
.
navPSAppView
}}
navViewName: '
{{
childCtrl
.
navPSAppView
.
name
}}
',
{{/if}}
{{#if
childCtrl
.
psNavigateContexts
}}
navigateContexts:
{{>
@macro
/
front-end
/
common
/
navparam
.
hbs
appNavParams
=
childCtrl
.
psNavigateContexts
}}
,
{{/if}}
{{#if
childCtrl
.
psNavigateParams
}}
navigateParams:
{{>
@macro
/
front-end
/
common
/
navparam
.
hbs
appNavParams
=
childCtrl
.
psNavigateParams
}}
,
{{/if}}
{{/
eq
}}
{{/
each
}}
}
};
modules/ibizlab-generator-core/src/main/resources/templ/r7/app_{{apps}}/src/widgets/{{appEntities}}/{{ctrls@LISTEXPBAR}}-list-exp-bar/{{ctrls@LISTEXPBAR}}-list-exp-bar.vue.hbs
浏览文件 @
c0ceb20f
...
...
@@ -34,7 +34,7 @@ interface CtrlEmit {
const
emit
=
defineEmits
<
CtrlEmit
>
();
// 安装功能模块,提供状态和能力方法
const
{
name
,
state
,
onCtrlEvent
,
xDataControl
,
search
,
onToolbarEvent
}
=
new
ListExpBarControl
(
ctrlState
,
props
,
emit
).
moduleInstall
();
const
{
name
,
state
,
onCtrlEvent
,
xDataControl
,
search
,
onToolbarEvent
}
=
new
ListExpBarControl
(
ctrlState
()
,
props
,
emit
).
moduleInstall
();
// 暴露内部状态及能力
defineExpose
({
name
,
state
});
...
...
modules/ibizlab-generator-core/src/main/resources/templ/r7/app_{{apps}}/src/widgets/{{appEntities}}/{{ctrls@LIST}}-list/{{ctrls@LIST}}-list-state.ts.hbs
浏览文件 @
c0ceb20f
...
...
@@ -35,89 +35,91 @@ export class ControlVO extends ControlVOBase {
{{/
each
}}
}
export const ctrlState = {
controlCodeName: '
{{
ctrl
.
codeName
}}
',
controlName: '
{{
ctrl
.
name
}}
',
appEntityCodeName: '
{{
ctrl
.
psAppDataEntity
.
codeName
}}
',
appDeCodeName:'
{{
ctrl
.
psAppDataEntity
.
codeName
}}
',
appDeLogicName: '
{{
ctrl
.
psAppDataEntity
.
logicName
}}
',
appDeKeyFieldName: '
{{#if
ctrl
.
psAppDataEntity
.
keyPSAppDEField
}}{{
ctrl
.
psAppDataEntity
.
keyPSAppDEField
.
codeName
}}{{/if}}
',
appDeMajorFieldName: '
{{#if
ctrl
.
psAppDataEntity
.
majorPSAppDEField
}}{{
ctrl
.
psAppDataEntity
.
majorPSAppDEField
.
codeName
}}{{/if}}
',
controlService: new ListService
<ControlVO>
(ControlVO, new
{{
pascalCase
ctrl
.
psAppDataEntity
.
codeName
}}
Service() ),
selections: [],
dataItems: [
{{#if
ctrl
.
psDEListDataItems
}}
{{#
each
ctrl
.
psDEListDataItems
as
|
dataItem
|
}}
{
name: '
{{
dataItem
.
name
}}
',
caption: '
{{
dataItem
.
caption
}}
',
{{#if
dataItem
.
customCode
}}
customCode: true,
export const ctrlState = () => {
return {
controlCodeName: '
{{
ctrl
.
codeName
}}
',
controlName: '
{{
ctrl
.
name
}}
',
appEntityCodeName: '
{{
ctrl
.
psAppDataEntity
.
codeName
}}
',
appDeCodeName:'
{{
ctrl
.
psAppDataEntity
.
codeName
}}
',
appDeLogicName: '
{{
ctrl
.
psAppDataEntity
.
logicName
}}
',
appDeKeyFieldName: '
{{#if
ctrl
.
psAppDataEntity
.
keyPSAppDEField
}}{{
ctrl
.
psAppDataEntity
.
keyPSAppDEField
.
codeName
}}{{/if}}
',
appDeMajorFieldName: '
{{#if
ctrl
.
psAppDataEntity
.
majorPSAppDEField
}}{{
ctrl
.
psAppDataEntity
.
majorPSAppDEField
.
codeName
}}{{/if}}
',
controlService: new ListService
<ControlVO>
(ControlVO, new
{{
pascalCase
ctrl
.
psAppDataEntity
.
codeName
}}
Service() ),
selections: [],
dataItems: [
{{#if
ctrl
.
psDEListDataItems
}}
{{#
each
ctrl
.
psDEListDataItems
as
|
dataItem
|
}}
{
name: '
{{
dataItem
.
name
}}
',
caption: '
{{
dataItem
.
caption
}}
',
{{#if
dataItem
.
customCode
}}
customCode: true,
{{/if}}
{{#if
dataItem
.
psAppDEField
}}
property: '
{{
lowerCase
dataItem
.
psAppDEField
.
codeName
}}
'
{{/if}}
}
{{#
unless
@last
}}
,
{{/
unless
}}
{{/
each
}}
{{/if}}
{{#if
dataItem
.
psAppDEField
}}
property: '
{{
lowerCase
dataItem
.
psAppDEField
.
codeName
}}
'
],
// 多数据部件分组
mdCtrlGroup: {
enableGroup:
{{
ctrl
.
enableGroup
}}
,
groupMode: "
{{
ctrl
.
groupMode
}}
",
groupField: "
{{
lowerCase
ctrl
.
groupPSAppDEField
.
codeName
}}
",
{{#if
ctrl
.
groupPSCodeList
}}
groupCodeList: {
codeListTag: "
{{
ctrl
.
groupPSCodeList
.
codeListTag
}}
",
codeListType: "
{{
ctrl
.
groupPSCodeList
.
codeListType
}}
",
},
{{/if}}
}
{{#
unless
@last
}}
,
{{/
unless
}}
{{/
each
}}
{{/if}}
],
// 多数据部件分组
mdCtrlGroup: {
enableGroup:
{{
ctrl
.
enableGroup
}}
,
groupMode: "
{{
ctrl
.
groupMode
}}
",
groupField: "
{{
lowerCase
ctrl
.
groupPSAppDEField
.
codeName
}}
",
{{#if
ctrl
.
groupPSCodeList
}}
groupCodeList: {
codeListTag: "
{{
ctrl
.
groupPSCodeList
.
codeListTag
}}
",
codeListType: "
{{
ctrl
.
groupPSCodeList
.
codeListType
}}
",
},
// 多数据部件排序
mdCtrlSort: {
noSort:
{{
ctrl
.
noSort
}}
,
minorSortDir: "
{{#if
ctrl
.
minorSortDir
}}{{
ctrl
.
minorSortDir
}}{{/if}}
",
minorSortPSDEF: "
{{
ctrl
.
minorSortPSAppDEField
.
codeName
}}
",
},
// 多数据部件分页
mdCtrlPaging: {
enablePagingBar: true,
current: 1,
pageSize:
{{#if
ctrl
.
pagingSize
}}{{
ctrl
.
pagingSize
}}{{else}}
20
{{/if}}
,
pagination: {}
},
{{#if
ctrl
.
quickToolBarItems
}}
{{#
ctrl
.
quickToolBarItems
}}
quickToolbar: [
{{#
items
}}
{ id:'
{{
id
}}
',name:'
{{
name
}}
',caption:'
{{
caption
}}
',groupExtractMode:'
{{
groupExtractMode
}}
',itemType:'
{{
itemType
}}
',noPrivDisplayMode:'
{{
noPrivDisplayMode
}}
',showIcon:
{{
showIcon
}}
,showCaption:
{{
showCaption
}}
,tooltip:'
{{
tooltip
}}
',disabled: false, visible: true, imgPath: '
{{
imgPath
}}
',iconClass: '
{{
iconClass
}}
',xDataControlName:'
{{
xDataControlName
}}
',
{{#if
uIAction
}}
uIAction:{codeName:'
{{
uIAction
.
codeName
}}
',fullCodeName:'
{{
uIAction
.
fullCodeName
}}
',uIActionMode:'
{{
uIAction
.
uIActionMode
}}
',actionTarget:'
{{
uIAction
.
actionTarget
}}
',uIActionTag:'
{{
uIAction
.
uIActionTag
}}
',dataAccessAction:'
{{
uIAction
.
dataAccessAction
}}
',uIActionType:'
{{
uIAction
.
uIActionType
}}
'}
{{/if}}
},
{{/
items
}}
],
{{/
ctrl
.
quickToolBarItems
}}
{{/if}}
},
// 多数据部件排序
mdCtrlSort: {
noSort:
{{
ctrl
.
noSort
}}
,
minorSortDir: "
{{#if
ctrl
.
minorSortDir
}}{{
ctrl
.
minorSortDir
}}{{/if}}
",
minorSortPSDEF: "
{{
ctrl
.
minorSortPSAppDEField
.
codeName
}}
",
},
// 多数据部件分页
mdCtrlPaging: {
enablePagingBar: true,
current: 1,
pageSize:
{{#if
ctrl
.
pagingSize
}}{{
ctrl
.
pagingSize
}}{{else}}
20
{{/if}}
,
pagination: {}
},
{{#if
ctrl
.
quickToolBarItems
}}
{{#
ctrl
.
quickToolBarItems
}}
quickToolbar: [
{{#
items
}}
{ id:'
{{
id
}}
',name:'
{{
name
}}
',caption:'
{{
caption
}}
',groupExtractMode:'
{{
groupExtractMode
}}
',itemType:'
{{
itemType
}}
',noPrivDisplayMode:'
{{
noPrivDisplayMode
}}
',showIcon:
{{
showIcon
}}
,showCaption:
{{
showCaption
}}
,tooltip:'
{{
tooltip
}}
',disabled: false, visible: true, imgPath: '
{{
imgPath
}}
',iconClass: '
{{
iconClass
}}
',xDataControlName:'
{{
xDataControlName
}}
',
{{#if
uIAction
}}
uIAction:{codeName:'
{{
uIAction
.
codeName
}}
',fullCodeName:'
{{
uIAction
.
fullCodeName
}}
',uIActionMode:'
{{
uIAction
.
uIActionMode
}}
',actionTarget:'
{{
uIAction
.
actionTarget
}}
',uIActionTag:'
{{
uIAction
.
uIActionTag
}}
',dataAccessAction:'
{{
uIAction
.
dataAccessAction
}}
',uIActionType:'
{{
uIAction
.
uIActionType
}}
'}
{{/if}}
},
{{/
items
}}
],
{{/
ctrl
.
quickToolBarItems
}}
{{/if}}
{{#if
ctrl
.
batchToolBarItems
}}
{{#
ctrl
.
batchToolBarItems
}}
batchToolbar: [
{{#
items
}}
{ id:'
{{
id
}}
',name:'
{{
name
}}
',caption:'
{{
caption
}}
',groupExtractMode:'
{{
groupExtractMode
}}
',itemType:'
{{
itemType
}}
',noPrivDisplayMode:'
{{
noPrivDisplayMode
}}
',showIcon:
{{
showIcon
}}
,showCaption:
{{
showCaption
}}
,tooltip:'
{{
tooltip
}}
',disabled: false, visible: true, imgPath: '
{{
imgPath
}}
',iconClass: '
{{
iconClass
}}
',xDataControlName:'
{{
xDataControlName
}}
',
{{#if
uIAction
}}
uIAction:{codeName:'
{{
uIAction
.
codeName
}}
',fullCodeName:'
{{
uIAction
.
fullCodeName
}}
',uIActionMode:'
{{
uIAction
.
uIActionMode
}}
',actionTarget:'
{{
uIAction
.
actionTarget
}}
',uIActionTag:'
{{
uIAction
.
uIActionTag
}}
',dataAccessAction:'
{{
uIAction
.
dataAccessAction
}}
',uIActionType:'
{{
uIAction
.
uIActionType
}}
'}
{{/if}}
},
{{/
items
}}
],
{{/
ctrl
.
batchToolBarItems
}}
{{/if}}
// 界面行为
uIActions: {
{{#
each
ctrl
.
psDEListItems
as
|
listItem
|
}}
{{#
and
listItem
.
psDEUIActionGroup
listItem
.
psDEUIActionGroup
.
psUIActionGroupDetails
}}
{{#
listItem
}}
{{#
each
psDEUIActionGroup
.
psUIActionGroupDetails
as
|
uiActionDetail
|
}}
{{#if
uiActionDetail
.
getPSUIAction
}}
{{#
uiActionDetail
.
getPSUIAction
}}
{{
uIActionTag
}}
: { caption: '
{{
caption
}}
', tooltip: '
{{
tooltip
}}
', showCaption:
{{
..
/
showCaption
}}
, showIcon:
{{
..
/
showIcon
}}
, uIActionTag: '
{{
uIActionTag
}}
', uIActionType: '
{{
uIActionType
}}
', dataAccessAction: '
{{
dataAccessAction
}}
', noPrivDisplayMode: '
{{
noPrivDisplayMode
}}
', uIActionMode: '
{{
uIActionMode
}}
', disabled: false, visible: true,
{{#if
coutnerId
}}
counterId: '
{{
counterId
}}
',
{{/if}}{{#if
psSysImage
}}
cssClass: '
{{
psSysImage
.
cssClass
}}
',
{{#if
psSysImage
.
cssClass
}}{{/if}}{{#if
psSysImage
.
imagePath
}}
imagePath: '
{{
psSysImage
.
imagePath
}}
'
{{/if}}{{/if}}
},
{{/
uiActionDetail
.
getPSUIAction
}}
{{/if}}
{{/
each
}}
{{/
listItem
}}
{{/
and
}}
{{/
each
}}
}
{{#if
ctrl
.
batchToolBarItems
}}
{{#
ctrl
.
batchToolBarItems
}}
batchToolbar: [
{{#
items
}}
{ id:'
{{
id
}}
',name:'
{{
name
}}
',caption:'
{{
caption
}}
',groupExtractMode:'
{{
groupExtractMode
}}
',itemType:'
{{
itemType
}}
',noPrivDisplayMode:'
{{
noPrivDisplayMode
}}
',showIcon:
{{
showIcon
}}
,showCaption:
{{
showCaption
}}
,tooltip:'
{{
tooltip
}}
',disabled: false, visible: true, imgPath: '
{{
imgPath
}}
',iconClass: '
{{
iconClass
}}
',xDataControlName:'
{{
xDataControlName
}}
',
{{#if
uIAction
}}
uIAction:{codeName:'
{{
uIAction
.
codeName
}}
',fullCodeName:'
{{
uIAction
.
fullCodeName
}}
',uIActionMode:'
{{
uIAction
.
uIActionMode
}}
',actionTarget:'
{{
uIAction
.
actionTarget
}}
',uIActionTag:'
{{
uIAction
.
uIActionTag
}}
',dataAccessAction:'
{{
uIAction
.
dataAccessAction
}}
',uIActionType:'
{{
uIAction
.
uIActionType
}}
'}
{{/if}}
},
{{/
items
}}
],
{{/
ctrl
.
batchToolBarItems
}}
{{/if}}
// 界面行为
uIActions: {
{{#
each
ctrl
.
psDEListItems
as
|
listItem
|
}}
{{#
and
listItem
.
psDEUIActionGroup
listItem
.
psDEUIActionGroup
.
psUIActionGroupDetails
}}
{{#
listItem
}}
{{#
each
psDEUIActionGroup
.
psUIActionGroupDetails
as
|
uiActionDetail
|
}}
{{#if
uiActionDetail
.
getPSUIAction
}}
{{#
uiActionDetail
.
getPSUIAction
}}
{{
uIActionTag
}}
: { caption: '
{{
caption
}}
', tooltip: '
{{
tooltip
}}
', showCaption:
{{
..
/
showCaption
}}
, showIcon:
{{
..
/
showIcon
}}
, uIActionTag: '
{{
uIActionTag
}}
', uIActionType: '
{{
uIActionType
}}
', dataAccessAction: '
{{
dataAccessAction
}}
', noPrivDisplayMode: '
{{
noPrivDisplayMode
}}
', uIActionMode: '
{{
uIActionMode
}}
', disabled: false, visible: true,
{{#if
coutnerId
}}
counterId: '
{{
counterId
}}
',
{{/if}}{{#if
psSysImage
}}
cssClass: '
{{
psSysImage
.
cssClass
}}
',
{{#if
psSysImage
.
cssClass
}}{{/if}}{{#if
psSysImage
.
imagePath
}}
imagePath: '
{{
psSysImage
.
imagePath
}}
'
{{/if}}{{/if}}
},
{{/
uiActionDetail
.
getPSUIAction
}}
{{/if}}
{{/
each
}}
{{/
listItem
}}
{{/
and
}}
{{/
each
}}
}
}
}
\ No newline at end of file
modules/ibizlab-generator-core/src/main/resources/templ/r7/app_{{apps}}/src/widgets/{{appEntities}}/{{ctrls@LIST}}-list/{{ctrls@LIST}}-list.vue.hbs
浏览文件 @
c0ceb20f
...
...
@@ -39,7 +39,7 @@ interface CtrlEmit {
const
emit
=
defineEmits
<
CtrlEmit
>
();
// 安装功能模块,提供状态和能力
const
{
name
,
state
,
onUIAction
,
newRow
,
remove
,
save
,
load
,
refresh
,
getData
,
xDataControl
,
exportExcel
,
useCustom
,
onToolbarEvent
}
=
new
ListControl
(
ctrlState
,
props
,
emit
).
moduleInstall
();
const
{
name
,
state
,
onUIAction
,
newRow
,
remove
,
save
,
load
,
refresh
,
getData
,
xDataControl
,
exportExcel
,
useCustom
,
onToolbarEvent
}
=
new
ListControl
(
ctrlState
()
,
props
,
emit
).
moduleInstall
();
const
{
onListItemSelected
,
isSelected
,
loadMore
}
=
useCustom
;
// 暴露内部状态及能力
...
...
modules/ibizlab-generator-core/src/main/resources/templ/r7/app_{{apps}}/src/widgets/{{appEntities}}/{{ctrls@PANEL}}-panel/{{ctrls@PANEL}}-panel-state.ts.hbs
浏览文件 @
c0ceb20f
export const ctrlState = {
controlCodeName: '
{{
ctrl
.
codeName
}}
',
controlName: '
{{
ctrl
.
name
}}
',
appEntityCodeName: '
{{
ctrl
.
psAppDataEntity
.
codeName
}}
',
appDeCodeName:'
{{
ctrl
.
psAppDataEntity
.
codeName
}}
',
appDeLogicName: '
{{
ctrl
.
psAppDataEntity
.
logicName
}}
',
appDeKeyFieldName: '
{{#if
ctrl
.
psAppDataEntity
.
keyPSAppDEField
}}{{
ctrl
.
psAppDataEntity
.
keyPSAppDEField
.
codeName
}}{{/if}}
',
appDeMajorFieldName: '
{{#if
ctrl
.
psAppDataEntity
.
majorPSAppDEField
}}{{
ctrl
.
psAppDataEntity
.
majorPSAppDEField
.
codeName
}}{{/if}}
',
data: {},
dataMode:
{{
ctrl
.
dataMode
}}
,
detailsModel: {
{{#
each
ctrl
.
rootPSPanelItems
as
|
panelItem
|
}}
{{>
@macro
/
front-end
/
widgets
/
panel-detail
/
panel-detail-model
.
hbs
item
=
panelItem
}}
{{/
each
}}
},
navDatas: []
export const ctrlState = () => {
return {
controlCodeName: '
{{
ctrl
.
codeName
}}
',
controlName: '
{{
ctrl
.
name
}}
',
appEntityCodeName: '
{{
ctrl
.
psAppDataEntity
.
codeName
}}
',
appDeCodeName:'
{{
ctrl
.
psAppDataEntity
.
codeName
}}
',
appDeLogicName: '
{{
ctrl
.
psAppDataEntity
.
logicName
}}
',
appDeKeyFieldName: '
{{#if
ctrl
.
psAppDataEntity
.
keyPSAppDEField
}}{{
ctrl
.
psAppDataEntity
.
keyPSAppDEField
.
codeName
}}{{/if}}
',
appDeMajorFieldName: '
{{#if
ctrl
.
psAppDataEntity
.
majorPSAppDEField
}}{{
ctrl
.
psAppDataEntity
.
majorPSAppDEField
.
codeName
}}{{/if}}
',
data: {},
dataMode:
{{
ctrl
.
dataMode
}}
,
detailsModel: {
{{#
each
ctrl
.
rootPSPanelItems
as
|
panelItem
|
}}
{{>
@macro
/
front-end
/
widgets
/
panel-detail
/
panel-detail-model
.
hbs
item
=
panelItem
}}
{{/
each
}}
},
navDatas: []
}
}
\ No newline at end of file
modules/ibizlab-generator-core/src/main/resources/templ/r7/app_{{apps}}/src/widgets/{{appEntities}}/{{ctrls@PANEL}}-panel/{{ctrls@PANEL}}-panel.vue.hbs
浏览文件 @
c0ceb20f
...
...
@@ -28,13 +28,14 @@ interface CtrlEmit {
const
emit
=
defineEmits
<
CtrlEmit
>
();
// 安装功能模块,提供状态和能力方法
const
{
name
,
state
,
load
,
onPanelItemEvents
,
getData
,
xDataCtrl
}
=
new
PanelControl
(
ctrlState
,
props
,
emit
).
moduleInstall
();
const
{
name
,
state
,
onPanelItemEvents
,
getData
,
xDataControl
}
=
new
PanelControl
(
ctrlState
()
,
props
,
emit
).
moduleInstall
();
// 暴露内部状态及能力
defineExpose
({
name
,
state
,
load
,
getData
});
defineExpose
({
name
,
state
,
getData
});
</script>
<template>
<AppRow
ref=
"xDataControl"
:class=
"[
'app-panel',
panelType === 'LAYOUT' ? 'app-layout-panel' : '',
...
...
modules/ibizlab-generator-core/src/main/resources/templ/r7/app_{{apps}}/src/widgets/{{appEntities}}/{{ctrls@PICKUPVIEWPANEL}}-pickup-view-panel/{{ctrls@PICKUPVIEWPANEL}}-pickup-view-panel-state.ts.hbs
浏览文件 @
c0ceb20f
export const ctrlState = {
appEntityCodeName: '
{{
ctrl
.
psAppDataEntity
.
codeName
}}
',
appDeCodeName:'
{{
ctrl
.
psAppDataEntity
.
codeName
}}
',
appDeLogicName: '
{{
ctrl
.
psAppDataEntity
.
logicName
}}
',
appDeKeyFieldName: '
{{#if
ctrl
.
psAppDataEntity
.
keyPSAppDEField
}}{{
ctrl
.
psAppDataEntity
.
keyPSAppDEField
.
codeName
}}{{/if}}
',
appDeMajorFieldName: '
{{#if
ctrl
.
psAppDataEntity
.
majorPSAppDEField
}}{{
ctrl
.
psAppDataEntity
.
majorPSAppDEField
.
codeName
}}{{/if}}
',
controlCodeName: '
{{
ctrl
.
codeName
}}
',
controlName: '
{{
ctrl
.
name
}}
',
selectedData: [],
data: {},
items: []
export const ctrlState = () => {
return {
appEntityCodeName: '
{{
ctrl
.
psAppDataEntity
.
codeName
}}
',
appDeCodeName:'
{{
ctrl
.
psAppDataEntity
.
codeName
}}
',
appDeLogicName: '
{{
ctrl
.
psAppDataEntity
.
logicName
}}
',
appDeKeyFieldName: '
{{#if
ctrl
.
psAppDataEntity
.
keyPSAppDEField
}}{{
ctrl
.
psAppDataEntity
.
keyPSAppDEField
.
codeName
}}{{/if}}
',
appDeMajorFieldName: '
{{#if
ctrl
.
psAppDataEntity
.
majorPSAppDEField
}}{{
ctrl
.
psAppDataEntity
.
majorPSAppDEField
.
codeName
}}{{/if}}
',
controlCodeName: '
{{
ctrl
.
codeName
}}
',
controlName: '
{{
ctrl
.
name
}}
',
selectedData: [],
data: {},
items: []
}
};
\ No newline at end of file
modules/ibizlab-generator-core/src/main/resources/templ/r7/app_{{apps}}/src/widgets/{{appEntities}}/{{ctrls@PICKUPVIEWPANEL}}-pickup-view-panel/{{ctrls@PICKUPVIEWPANEL}}-pickup-view-panel.vue.hbs
浏览文件 @
c0ceb20f
...
...
@@ -37,7 +37,7 @@ interface CtrlEmit {
const
emit
=
defineEmits
<
CtrlEmit
>
();
// 安装功能模块,提供状态和能力方法
const
{
name
,
state
,
onViewEvent
}
=
new
PickupViewPanelControl
(
ctrlState
,
props
,
emit
).
moduleInstall
();
const
{
name
,
state
,
onViewEvent
}
=
new
PickupViewPanelControl
(
ctrlState
()
,
props
,
emit
).
moduleInstall
();
// 暴露内部状态及能力
defineExpose
({
name
,
state
});
...
...
modules/ibizlab-generator-core/src/main/resources/templ/r7/app_{{apps}}/src/widgets/{{appEntities}}/{{ctrls@PORTLET}}-portlet/{{ctrls@PORTLET}}-portlet-state.ts.hbs
浏览文件 @
c0ceb20f
// 部件配置对象
export const ctrlState = {
controlCodeName: '
{{
ctrl
.
codeName
}}
',
controlName: '
{{
ctrl
.
name
}}
',
portletType: '
{{
ctrl
.
portletType
}}
',
showCaption:
{{
ctrl
.
showTitleBar
}}
,
childControls: [
{{
~#
if
ctrl
.
psControls
~
}}
{{
~#
each
ctrl
.
psControls
as
|
control
|~
}}
'
{{
control
.
name
}}
'
{{
~
/
each
~
}}
{{
~
/
if
~
}}
],
{{#if
ctrl
.
psAppDataEntity
}}
// 实体名称
appEntityCodeName: '
{{
ctrl
.
psAppDataEntity
.
codeName
}}
',
{{/if}}
{{#if
ctrl
.
psUIActionGroup
.
psUIActionGroupDetails
}}
// 操作栏模型
actionBarModelData: {
{{#
each
ctrl
.
psUIActionGroup
.
psUIActionGroupDetails
as
|
groupDetail
|
}}
{{
groupDetail
.
psUIAction
.
uIActionTag
}}
: {
viewlogicname: '
{{
groupDetail
.
name
}}
',
showCaption:
{{
groupDetail
.
showCaption
}}
,
actionName: '
{{
groupDetail
.
psUIAction
.
caption
}}
',
icon: '
{{
groupDetail
.
psUIAction
.
psSysImage
.
cssClass
}}
',
imgPath: '
{{
groupDetail
.
psUIAction
.
psSysImage
.
imagePath
}}
',
disabled: false,
visabled: true,
dataAccessAction:
{{#if
groupDetail
.
psUIAction
.
dataAccessAction
}}
false
{{else}}
true
{{/if}}
,
getNoPrivDisplayMode:
{{#if
groupDetail
.
psUIAction
.
noPrivDisplayMode
}}
groupDetail.psUIAction.noPrivDisplayMode
{{else}}
6
{{/if}}
,
codeName:'
{{
groupDetail
.
psUIAction
.
codeName
}}
',
fullCodeName:'
{{
groupDetail
.
psUIAction
.
fullCodeName
}}
',
uIActionMode:'
{{
groupDetail
.
psUIAction
.
uIActionMode
}}
',
uIActionTag:'
{{
groupDetail
.
psUIAction
.
uIActionTag
}}
',
uIActionType:'
{{
groupDetail
.
psUIAction
.
uIActionType
}}
'
export const ctrlState = () => {
return {
controlCodeName: '
{{
ctrl
.
codeName
}}
',
controlName: '
{{
ctrl
.
name
}}
',
portletType: '
{{
ctrl
.
portletType
}}
',
showCaption:
{{
ctrl
.
showTitleBar
}}
,
childControls: [
{{
~#
if
ctrl
.
psControls
~
}}
{{
~#
each
ctrl
.
psControls
as
|
control
|~
}}
'
{{
control
.
name
}}
'
{{
~
/
each
~
}}
{{
~
/
if
~
}}
],
{{#if
ctrl
.
psAppDataEntity
}}
// 实体名称
appEntityCodeName: '
{{
ctrl
.
psAppDataEntity
.
codeName
}}
',
{{/if}}
{{#if
ctrl
.
psUIActionGroup
.
psUIActionGroupDetails
}}
// 操作栏模型
actionBarModelData: {
{{#
each
ctrl
.
psUIActionGroup
.
psUIActionGroupDetails
as
|
groupDetail
|
}}
{{
groupDetail
.
psUIAction
.
uIActionTag
}}
: {
viewlogicname: '
{{
groupDetail
.
name
}}
',
showCaption:
{{
groupDetail
.
showCaption
}}
,
actionName: '
{{
groupDetail
.
psUIAction
.
caption
}}
',
icon: '
{{
groupDetail
.
psUIAction
.
psSysImage
.
cssClass
}}
',
imgPath: '
{{
groupDetail
.
psUIAction
.
psSysImage
.
imagePath
}}
',
disabled: false,
visabled: true,
dataAccessAction:
{{#if
groupDetail
.
psUIAction
.
dataAccessAction
}}
false
{{else}}
true
{{/if}}
,
getNoPrivDisplayMode:
{{#if
groupDetail
.
psUIAction
.
noPrivDisplayMode
}}
groupDetail.psUIAction.noPrivDisplayMode
{{else}}
6
{{/if}}
,
codeName:'
{{
groupDetail
.
psUIAction
.
codeName
}}
',
fullCodeName:'
{{
groupDetail
.
psUIAction
.
fullCodeName
}}
',
uIActionMode:'
{{
groupDetail
.
psUIAction
.
uIActionMode
}}
',
uIActionTag:'
{{
groupDetail
.
psUIAction
.
uIActionTag
}}
',
uIActionType:'
{{
groupDetail
.
psUIAction
.
uIActionType
}}
'
},
{{/
each
}}
},
{{/
each
}}
},
{{/if}}
{{#
and
(
eq
ctrl
.
portletType
'HTML'
)
ctrl
.
pageUrl
}}
// 网页地址
pageUrl: '
{{
ctrl
.
pageUrl
}}
',
{{/
and
}}
{{#
eq
ctrl
.
portletType
'RAWITEM'
}}
// 内容类型
contentType: '
{{
ctrl
.
contentType
}}
',
{{#
eq
ctrl
.
contentType
'RAW'
}}
rawContent: `
{{
ctrl
.
rawContent
}}
`,
{{/if}}
{{#
and
(
eq
ctrl
.
portletType
'HTML'
)
ctrl
.
pageUrl
}}
// 网页地址
pageUrl: '
{{
ctrl
.
pageUrl
}}
',
{{/
and
}}
{{#
eq
ctrl
.
portletType
'RAWITEM'
}}
// 内容类型
contentType: '
{{
ctrl
.
contentType
}}
',
{{#
eq
ctrl
.
contentType
'RAW'
}}
rawContent: `
{{
ctrl
.
rawContent
}}
`,
{{/
eq
}}
{{#
eq
ctrl
.
contentType
'HTML'
}}
rawContent: `
{{
ctrl
.
htmlContent
}}
`,
{{/
eq
}}
{{/
eq
}}
{{#
eq
ctrl
.
contentType
'HTML'
}}
rawContent: `
{{
ctrl
.
htmlContent
}}
`,
{{/
eq
}}
{{/
eq
}}
{{#if
ctrl
.
rawContent
}}
// 直接内容
rawContent: `
{{
ctrl
.
rawContent
}}
`,
{{/if}}
{{#
eq
ctrl
.
portletType
'LIST'
}}
{{#
ctrl
.
psControls
}}
{{
name
}}
: {
action:{
loadAction: '
{{
getPSControlAction
.
psAppDEMethod
.
codeName
}}
',
removeAction: '
{{
removePSControlAction
.
psAppDEMethod
.
codeName
}}
',
updateAction: '
{{
updatePSControlAction
.
psAppDEMethod
.
codeName
}}
',
loadDraftAction: '
{{
getDraftPSControlAction
.
psAppDEMethod
.
codeName
}}
',
createAction: '
{{
createPSControlAction
.
psAppDEMethod
.
codeName
}}
',
fetchAction:'
{{
fetchPSControlAction
.
psAppDEMethod
.
codeName
}}
'
{{#if
ctrl
.
rawContent
}}
// 直接内容
rawContent: `
{{
ctrl
.
rawContent
}}
`,
{{/if}}
{{#
eq
ctrl
.
portletType
'LIST'
}}
{{#
ctrl
.
psControls
}}
{{
name
}}
: {
action:{
loadAction: '
{{
getPSControlAction
.
psAppDEMethod
.
codeName
}}
',
removeAction: '
{{
removePSControlAction
.
psAppDEMethod
.
codeName
}}
',
updateAction: '
{{
updatePSControlAction
.
psAppDEMethod
.
codeName
}}
',
loadDraftAction: '
{{
getDraftPSControlAction
.
psAppDEMethod
.
codeName
}}
',
createAction: '
{{
createPSControlAction
.
psAppDEMethod
.
codeName
}}
',
fetchAction:'
{{
fetchPSControlAction
.
psAppDEMethod
.
codeName
}}
'
}
}
{{/
ctrl
.
psControls
}}
{{/
eq
}}
}
{{/
ctrl
.
psControls
}}
{{/
eq
}}
};
\ No newline at end of file
modules/ibizlab-generator-core/src/main/resources/templ/r7/app_{{apps}}/src/widgets/{{appEntities}}/{{ctrls@PORTLET}}-portlet/{{ctrls@PORTLET}}-portlet.vue.hbs
浏览文件 @
c0ceb20f
...
...
@@ -42,7 +42,7 @@ interface CtrlEmit {
const
emit
=
defineEmits
<
CtrlEmit
>
();
// 安装功能模块,提供状态和能力方法
const
{
name
,
state
,
onViewEvent
,
onCtrlEvent
,
handleItemClick
,
handleActionClick
}
=
new
PortletControl
(
ctrlState
,
props
,
emit
).
moduleInstall
();
const
{
name
,
state
,
onViewEvent
,
onCtrlEvent
,
handleItemClick
,
handleActionClick
}
=
new
PortletControl
(
ctrlState
()
,
props
,
emit
).
moduleInstall
();
// 暴露内部状态及能力
defineExpose
({
name
,
state
});
...
...
modules/ibizlab-generator-core/src/main/resources/templ/r7/app_{{apps}}/src/widgets/{{appEntities}}/{{ctrls@QUICKSEARCHFORM}}-quick-search-form/{{ctrls@QUICKSEARCHFORM}}-quick-search-form-state.ts.hbs
浏览文件 @
c0ceb20f
...
...
@@ -49,41 +49,43 @@ export class ControlVO extends ControlVOBase {
}
// 部件配置对象
export const ctrlState = {
controlCodeName: '
{{
ctrl
.
codeName
}}
',
controlName: '
{{
ctrl
.
name
}}
',
controlService: new EditFormService
<ControlVO>
(ControlVO, new
{{
pascalCase
ctrl
.
psAppDataEntity
.
codeName
}}
Service() ),
data: new ControlVO({}),
showPopover: false,
selectHistoryItem: {},
historyItems: [],
detailsModel: {
{{#if
ctrl
.
psDEFormPages
}}
{{#
each
ctrl
.
psDEFormPages
as
|
FormPage
|
}}
{{>
@macro
/
front-end
/
widgets
/
form-detail
/
include-form
.
hbs
type
=
'FORMDETAILSMODEL'
item
=
FormPage
}}
{{/
each
}}
{{/if}}
},
rules: {
{{#
each
ctrl
.
psDEFormEditItemVRs
as
|
ruleItem
|
}}
{{#
neq
ruleItem
2
}}
{{#if
ruleItem
.
valueRuleType
'DEFVALUERULE'
}}
{{
psDEFormEditItemName
}}
: [
{{#
each
ruleItem
.
psDEFVRGroupCondition
as
|
condition
|
}}
{trigger: ['change', 'blur'],
validator: (_rule: RuleObject, value: string) => verifyRules(_rule,value,{
{{#
condition
.
condType
}}
type: '
{{
condition
.
condType
}}
',
{{/
condition
.
condType
}}
{{#
condition
.
name
}}
name: '
{{
condition
.
name
}}
',
{{/
condition
.
name
}}
{{#
condition
.
maxValue
}}
maxValue: '
{{
condition
.
maxValue
}}
',
{{/
condition
.
maxValue
}}
{{#
condition
.
minValue
}}
minValue: '
{{
condition
.
minValue
}}
',
{{/
condition
.
minValue
}}
{{#
condition
.
ruleInfo
}}
ruleInfo: '
{{
condition
.
ruleInfo
}}
',
{{/
condition
.
ruleInfo
}}
{{#
condition
.
includeMaxValue
}}
includeMaxValue: '
{{
condition
.
includeMaxValue
}}
',
{{/
condition
.
includeMaxValue
}}
{{#
condition
.
includeMinValue
}}
includeMinValue: '
{{
condition
.
includeMinValue
}}
',
{{/
condition
.
includeMinValue
}}
}) }
export const ctrlState = () => {
return {
controlCodeName: '
{{
ctrl
.
codeName
}}
',
controlName: '
{{
ctrl
.
name
}}
',
controlService: new EditFormService
<ControlVO>
(ControlVO, new
{{
pascalCase
ctrl
.
psAppDataEntity
.
codeName
}}
Service() ),
data: new ControlVO({}),
showPopover: false,
selectHistoryItem: {},
historyItems: [],
detailsModel: {
{{#if
ctrl
.
psDEFormPages
}}
{{#
each
ctrl
.
psDEFormPages
as
|
FormPage
|
}}
{{>
@macro
/
front-end
/
widgets
/
form-detail
/
include-form
.
hbs
type
=
'FORMDETAILSMODEL'
item
=
FormPage
}}
{{/
each
}}
]
{{/if}}
{{/
neq
}}
{{/
each
}}
},
{{/if}}
},
rules: {
{{#
each
ctrl
.
psDEFormEditItemVRs
as
|
ruleItem
|
}}
{{#
neq
ruleItem
2
}}
{{#if
ruleItem
.
valueRuleType
'DEFVALUERULE'
}}
{{
psDEFormEditItemName
}}
: [
{{#
each
ruleItem
.
psDEFVRGroupCondition
as
|
condition
|
}}
{trigger: ['change', 'blur'],
validator: (_rule: RuleObject, value: string) => verifyRules(_rule,value,{
{{#
condition
.
condType
}}
type: '
{{
condition
.
condType
}}
',
{{/
condition
.
condType
}}
{{#
condition
.
name
}}
name: '
{{
condition
.
name
}}
',
{{/
condition
.
name
}}
{{#
condition
.
maxValue
}}
maxValue: '
{{
condition
.
maxValue
}}
',
{{/
condition
.
maxValue
}}
{{#
condition
.
minValue
}}
minValue: '
{{
condition
.
minValue
}}
',
{{/
condition
.
minValue
}}
{{#
condition
.
ruleInfo
}}
ruleInfo: '
{{
condition
.
ruleInfo
}}
',
{{/
condition
.
ruleInfo
}}
{{#
condition
.
includeMaxValue
}}
includeMaxValue: '
{{
condition
.
includeMaxValue
}}
',
{{/
condition
.
includeMaxValue
}}
{{#
condition
.
includeMinValue
}}
includeMinValue: '
{{
condition
.
includeMinValue
}}
',
{{/
condition
.
includeMinValue
}}
}) }
{{/
each
}}
]
{{/if}}
{{/
neq
}}
{{/
each
}}
}
}
};
\ No newline at end of file
modules/ibizlab-generator-core/src/main/resources/templ/r7/app_{{apps}}/src/widgets/{{appEntities}}/{{ctrls@QUICKSEARCHFORM}}-quick-search-form/{{ctrls@QUICKSEARCHFORM}}-quick-search-form.vue.hbs
浏览文件 @
c0ceb20f
...
...
@@ -27,7 +27,7 @@ interface CtrlEmit {
const
emit
=
defineEmits
<
CtrlEmit
>
();
// 安装功能模块,提供状态和能力方法
const
{
name
,
state
,
getData
,
onEditorEvent
}
=
new
QuickSearchFormControl
(
ctrlState
,
props
,
emit
).
moduleInstall
();
const
{
name
,
state
,
getData
,
onEditorEvent
}
=
new
QuickSearchFormControl
(
ctrlState
()
,
props
,
emit
).
moduleInstall
();
defineExpose
({
name
,
state
,
getData
});
</script>
...
...
modules/ibizlab-generator-core/src/main/resources/templ/r7/app_{{apps}}/src/widgets/{{appEntities}}/{{ctrls@SEARCHBAR}}-searchBar/index.ts.hbs
浏览文件 @
c0ceb20f
import
{{
ctrl
.
codeName
}}
SearchBar from "./
{{
spinalCase
ctrl
.
codeName
}}
-search
B
ar.vue";
import
{{
ctrl
.
codeName
}}
SearchBar from "./
{{
spinalCase
ctrl
.
codeName
}}
-search
b
ar.vue";
export {
{{
ctrl
.
codeName
}}
SearchBar };
\ No newline at end of file
modules/ibizlab-generator-core/src/main/resources/templ/r7/app_{{apps}}/src/widgets/{{appEntities}}/{{ctrls@SEARCHBAR}}-searchBar/{{ctrls@SEARCHBAR}}-searchBar-config.ts.hbs
已删除
100644 → 0
浏览文件 @
10ad4d5c
export const CtrlConfig = {
controlCodeName: "
{{
ctrl
.
codeName
}}
",
controlName: "
{{
ctrl
.
name
}}
",
detailsModel: {
{{#
each
ctrl
.
psSearchBarFilters
as
|
filter
|
}}
{{
filter
.
name
}}
: {
label: '
{{
filter
.
psAppDEField
.
logicName
}}
',
name: '
{{
filter
.
name
}}
',
prop: '
{{
lowerCase
filter
.
psAppDEField
.
codeName
}}
',
disabled: false,
{{#if
filter
.
psDEFSearchMode
}}
mode: '
{{
filter
.
psDEFSearchMode
.
valueOP
}}
',
{{/if}}
},
{{/
each
}}
},
}
\ No newline at end of file
modules/ibizlab-generator-core/src/main/resources/templ/r7/app_{{apps}}/src/widgets/{{appEntities}}/{{ctrls@SEARCHBAR}}-searchBar/{{ctrls@SEARCHBAR}}-searchBar.vue.hbs
浏览文件 @
c0ceb20f
<script
setup
lang=
"ts"
>
import
{
Subject
}
from
'rxjs'
;
import
{
CtrlConfig
}
from
'./
{{
spinalCase
ctrl
.
codeName
}}
-searchBar-config
'
;
import
{
ctrlState
}
from
'./
{{
spinalCase
ctrl
.
codeName
}}
-searchbar-state
'
;
import
{
SearchBarControl
,
IActionParam
,
IParam
,
IContext
,
ControlAction
,
deepCopy
}
from
'@core'
;
interface
Props
{
...
...
@@ -22,7 +21,7 @@ interface CtrlEmit {
const
emit
=
defineEmits
<
CtrlEmit
>
();
// 安装功能模块,提供状态和能力方法
const
{
name
,
state
}
=
new
SearchBarControl
(
CtrlConfig
,
props
,
emit
).
moduleInstall
();
const
{
name
,
state
}
=
new
SearchBarControl
(
ctrlState
()
,
props
,
emit
).
moduleInstall
();
// 暴露内部状态及能力
defineExpose
({
name
,
state
});
...
...
modules/ibizlab-generator-core/src/main/resources/templ/r7/app_{{apps}}/src/widgets/{{appEntities}}/{{ctrls@SEARCHBAR}}-searchbar/{{ctrls@SEARCHBAR}}-searchbar-state.ts.hbs
0 → 100644
浏览文件 @
c0ceb20f
export const ctrlState = () => {
return {
controlCodeName: "
{{
ctrl
.
codeName
}}
",
controlName: "
{{
ctrl
.
name
}}
",
detailsModel: {
{{#
each
ctrl
.
psSearchBarFilters
as
|
filter
|
}}
{{
filter
.
name
}}
: {
label: '
{{
filter
.
psAppDEField
.
logicName
}}
',
name: '
{{
filter
.
name
}}
',
prop: '
{{
lowerCase
filter
.
psAppDEField
.
codeName
}}
',
disabled: false,
{{#if
filter
.
psDEFSearchMode
}}
mode: '
{{
filter
.
psDEFSearchMode
.
valueOP
}}
',
{{/if}}
},
{{/
each
}}
},
}
}
\ No newline at end of file
modules/ibizlab-generator-core/src/main/resources/templ/r7/app_{{apps}}/src/widgets/{{appEntities}}/{{ctrls@SEARCHFORM}}-search-form/{{ctrls@SEARCHFORM}}-search-form-state.ts.hbs
浏览文件 @
c0ceb20f
...
...
@@ -48,42 +48,44 @@ export class ControlVO extends ControlVOBase {
}
// 部件配置对象
export const ctrlState = {
autoSearch:
{{
ctrl
.
enableAutoSearch
}}
,
controlCodeName: '
{{
ctrl
.
codeName
}}
',
controlName: '
{{
ctrl
.
name
}}
',
controlService: new EditFormService
<ControlVO>
(ControlVO, new
{{
pascalCase
ctrl
.
psAppDataEntity
.
codeName
}}
Service() ),
data: new ControlVO({}),
showPopover: false,
selectHistoryItem: {},
historyItems: [],
detailsModel: {
{{#if
ctrl
.
psDEFormPages
}}
{{#
each
ctrl
.
psDEFormPages
as
|
FormPage
|
}}
{{>
@macro
/
front-end
/
widgets
/
form-detail
/
include-form
.
hbs
type
=
"FORMDETAILSMODEL"
item
=
FormPage
}}
{{/
each
}}
{{/if}}
},
rules: {
{{#
each
ctrl
.
psDEFormEditItemVRs
as
|
ruleItem
|
}}
{{#
neq
ruleItem
2
}}
{{#if
ruleItem
.
valueRuleType
'DEFVALUERULE'
}}
{{
psDEFormEditItemName
}}
: [
{{#
each
ruleItem
.
psDEFVRGroupCondition
as
|
condition
|
}}
{trigger: ['change', 'blur'],
validator: (_rule: RuleObject, value: string) => verifyRules(_rule,value,{
{{#
condition
.
condType
}}
type: '
{{
condition
.
condType
}}
',
{{/
condition
.
condType
}}
{{#
condition
.
name
}}
name: '
{{
condition
.
name
}}
',
{{/
condition
.
name
}}
{{#
condition
.
maxValue
}}
maxValue: '
{{
condition
.
maxValue
}}
',
{{/
condition
.
maxValue
}}
{{#
condition
.
minValue
}}
minValue: '
{{
condition
.
minValue
}}
',
{{/
condition
.
minValue
}}
{{#
condition
.
ruleInfo
}}
ruleInfo: '
{{
condition
.
ruleInfo
}}
',
{{/
condition
.
ruleInfo
}}
{{#
condition
.
includeMaxValue
}}
includeMaxValue: '
{{
condition
.
includeMaxValue
}}
',
{{/
condition
.
includeMaxValue
}}
{{#
condition
.
includeMinValue
}}
includeMinValue: '
{{
condition
.
includeMinValue
}}
',
{{/
condition
.
includeMinValue
}}
}) }
export const ctrlState = () => {
return {
autoSearch:
{{
ctrl
.
enableAutoSearch
}}
,
controlCodeName: '
{{
ctrl
.
codeName
}}
',
controlName: '
{{
ctrl
.
name
}}
',
controlService: new EditFormService
<ControlVO>
(ControlVO, new
{{
pascalCase
ctrl
.
psAppDataEntity
.
codeName
}}
Service() ),
data: new ControlVO({}),
showPopover: false,
selectHistoryItem: {},
historyItems: [],
detailsModel: {
{{#if
ctrl
.
psDEFormPages
}}
{{#
each
ctrl
.
psDEFormPages
as
|
FormPage
|
}}
{{>
@macro
/
front-end
/
widgets
/
form-detail
/
include-form
.
hbs
type
=
"FORMDETAILSMODEL"
item
=
FormPage
}}
{{/
each
}}
]
{{/if}}
{{/
neq
}}
{{/
each
}}
},
{{/if}}
},
rules: {
{{#
each
ctrl
.
psDEFormEditItemVRs
as
|
ruleItem
|
}}
{{#
neq
ruleItem
2
}}
{{#if
ruleItem
.
valueRuleType
'DEFVALUERULE'
}}
{{
psDEFormEditItemName
}}
: [
{{#
each
ruleItem
.
psDEFVRGroupCondition
as
|
condition
|
}}
{trigger: ['change', 'blur'],
validator: (_rule: RuleObject, value: string) => verifyRules(_rule,value,{
{{#
condition
.
condType
}}
type: '
{{
condition
.
condType
}}
',
{{/
condition
.
condType
}}
{{#
condition
.
name
}}
name: '
{{
condition
.
name
}}
',
{{/
condition
.
name
}}
{{#
condition
.
maxValue
}}
maxValue: '
{{
condition
.
maxValue
}}
',
{{/
condition
.
maxValue
}}
{{#
condition
.
minValue
}}
minValue: '
{{
condition
.
minValue
}}
',
{{/
condition
.
minValue
}}
{{#
condition
.
ruleInfo
}}
ruleInfo: '
{{
condition
.
ruleInfo
}}
',
{{/
condition
.
ruleInfo
}}
{{#
condition
.
includeMaxValue
}}
includeMaxValue: '
{{
condition
.
includeMaxValue
}}
',
{{/
condition
.
includeMaxValue
}}
{{#
condition
.
includeMinValue
}}
includeMinValue: '
{{
condition
.
includeMinValue
}}
',
{{/
condition
.
includeMinValue
}}
}) }
{{/
each
}}
]
{{/if}}
{{/
neq
}}
{{/
each
}}
},
}
};
\ No newline at end of file
modules/ibizlab-generator-core/src/main/resources/templ/r7/app_{{apps}}/src/widgets/{{appEntities}}/{{ctrls@SEARCHFORM}}-search-form/{{ctrls@SEARCHFORM}}-search-form.vue.hbs
浏览文件 @
c0ceb20f
...
...
@@ -27,7 +27,7 @@ interface CtrlEmit {
const
emit
=
defineEmits
<
CtrlEmit
>
();
// 安装功能模块,提供状态和能力方法
const
{
name
,
state
,
getData
,
onEditorEvent
,
onComponentEvent
,
onSearch
,
loadDraft
,
onSaveHistoryItem
,
onCancel
,
onRemoveHistoryItem
}
=
new
SearchFormControl
(
ctrlState
,
props
,
emit
).
moduleInstall
();
const
{
name
,
state
,
getData
,
onEditorEvent
,
onComponentEvent
,
onSearch
,
loadDraft
,
onSaveHistoryItem
,
onCancel
,
onRemoveHistoryItem
}
=
new
SearchFormControl
(
ctrlState
()
,
props
,
emit
).
moduleInstall
();
defineExpose
({
name
,
state
,
getData
});
</script>
<template>
...
...
modules/ibizlab-generator-core/src/main/resources/templ/r7/app_{{apps}}/src/widgets/{{appEntities}}/{{ctrls@TABEXPPANEL}}-tab-exp-panel/{{ctrls@TABEXPPANEL}}-tab-exp-panel-state.ts.hbs
浏览文件 @
c0ceb20f
export const ctrlState = {
controlCodeName: '
{{
ctrl
.
codeName
}}
',
controlName: '
{{
ctrl
.
name
}}
',
data: {},
{{#if
ctrl
.
psAppCounterRefs
}}
appCounterRefs: [
{{#
each
ctrl
.
psAppCounterRefs
as
|
counterRef
|
}}
{{#if
counterRef
.
psAppCounter
}}
{{#
with
counterRef
.
psAppCounter
as
|
counter
|
}}
{
id: '
{{
counterRef
.
id
}}
',
getAction: '
{{
counter
.
getPSAppDEAction
.
codeName
}}
',
timer:
{{#if
counter
.
timer
}}{{
counter
.
timer
}}{{else}}
6000
{{/if}}
,
{{#if
counter
.
psAppDataEntity
}}
deCodeName: '
{{
lowerCase
counter
.
psAppDataEntity
.
codeName
}}
'
{{/if}}
}
{{#
unless
@last
}}
,
{{/
unless
}}
{{/
with
}}
{{/if}}
{{/
each
}}
],
counterServices: [],
{{#if
ctrl
.
psControls
}}
{{#
each
ctrl
.
psControls
as
|
viewPanel
|
}}
{{#
and
viewPanel
.
psAppCounterRef
viewPanel
.
psAppCounterRef
.
psAppCounter
viewPanel
.
counterId
}}
{{
viewPanel
.
name
}}
Counter: { id: '
{{
viewPanel
.
psAppCounterRef
.
id
}}
', counterId: '
{{
viewPanel
.
counterId
}}
' },
{{/
and
}}
export const ctrlState = () => {
return {
controlCodeName: '
{{
ctrl
.
codeName
}}
',
controlName: '
{{
ctrl
.
name
}}
',
data: {},
{{#if
ctrl
.
psAppCounterRefs
}}
appCounterRefs: [
{{#
each
ctrl
.
psAppCounterRefs
as
|
counterRef
|
}}
{{#if
counterRef
.
psAppCounter
}}
{{#
with
counterRef
.
psAppCounter
as
|
counter
|
}}
{
id: '
{{
counterRef
.
id
}}
',
getAction: '
{{
counter
.
getPSAppDEAction
.
codeName
}}
',
timer:
{{#if
counter
.
timer
}}{{
counter
.
timer
}}{{else}}
6000
{{/if}}
,
{{#if
counter
.
psAppDataEntity
}}
deCodeName: '
{{
lowerCase
counter
.
psAppDataEntity
.
codeName
}}
'
{{/if}}
}
{{#
unless
@last
}}
,
{{/
unless
}}
{{/
with
}}
{{/if}}
{{/
each
}}
],
counterServices: [],
{{#if
ctrl
.
psControls
}}
{{#
each
ctrl
.
psControls
as
|
viewPanel
|
}}
{{#
and
viewPanel
.
psAppCounterRef
viewPanel
.
psAppCounterRef
.
psAppCounter
viewPanel
.
counterId
}}
{{
viewPanel
.
name
}}
Counter: { id: '
{{
viewPanel
.
psAppCounterRef
.
id
}}
', counterId: '
{{
viewPanel
.
counterId
}}
' },
{{/
and
}}
{{/
each
}}
{{/if}}
{{/if}}
{{/if}
}
}
};
\ No newline at end of file
modules/ibizlab-generator-core/src/main/resources/templ/r7/app_{{apps}}/src/widgets/{{appEntities}}/{{ctrls@TABEXPPANEL}}-tab-exp-panel/{{ctrls@TABEXPPANEL}}-tab-exp-panel.vue.hbs
浏览文件 @
c0ceb20f
...
...
@@ -36,7 +36,7 @@ interface CtrlEmit {
const
emit
=
defineEmits
<
CtrlEmit
>
();
// 安装功能模块,提供状态和能力方法
const
tabExpPanelControl
=
new
TabExpPanelControl
(
ctrlState
,
props
,
emit
).
moduleInstall
();
const
tabExpPanelControl
=
new
TabExpPanelControl
(
ctrlState
()
,
props
,
emit
).
moduleInstall
();
const
{
name
,
state
,
onCtrlEvent
,
getCounterData
}
=
tabExpPanelControl
;
// 暴露内部状态及能力
...
...
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
浏览文件 @
c0ceb20f
export const ctrlState = {
controlCodeName: '
{{
ctrl
.
codeName
}}
',
controlName: '
{{
ctrl
.
name
}}
',
appDeCodeName: '
{{
ctrl
.
psAppDataEntity
.
codeName
}}
',
navFilter: "
{{
ctrl
.
navFilter
}}
",
{{#if
ctrl
.
navPSDER
}}
navPSDer: {
{{#if
ctrl
.
navPSDER
.
majorPSDataEntity
}}
major: '
{{
lowerCase
ctrl
.
navPSDER
.
majorPSDataEntity
.
codeName
}}
',
majorKey: '
{{
lowerCase
ctrl
.
navPSDER
.
majorPSDataEntity
.
keyPSDEField
.
codeName
}}
'
export const ctrlState = () => {
return {
controlCodeName: '
{{
ctrl
.
codeName
}}
',
controlName: '
{{
ctrl
.
name
}}
',
appDeCodeName: '
{{
ctrl
.
psAppDataEntity
.
codeName
}}
',
navFilter: "
{{
ctrl
.
navFilter
}}
",
{{#if
ctrl
.
navPSDER
}}
navPSDer: {
{{#if
ctrl
.
navPSDER
.
majorPSDataEntity
}}
major: '
{{
lowerCase
ctrl
.
navPSDER
.
majorPSDataEntity
.
codeName
}}
',
majorKey: '
{{
lowerCase
ctrl
.
navPSDER
.
majorPSDataEntity
.
keyPSDEField
.
codeName
}}
'
{{/if}}
}
{{/if}}
}
{{#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}}
{{#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
modules/ibizlab-generator-core/src/main/resources/templ/r7/app_{{apps}}/src/widgets/{{appEntities}}/{{ctrls@TABVIEWPANEL}}-tab-view-panel/{{ctrls@TABVIEWPANEL}}-tab-view-panel.vue.hbs
浏览文件 @
c0ceb20f
...
...
@@ -30,7 +30,7 @@ interface CtrlEmit {
const
emit
=
defineEmits
<
CtrlEmit
>
();
// 安装功能模块,提供状态和能力方法
const
{
name
,
state
,
onViewEvent
}
=
new
TabViewPanelControl
(
ctrlState
,
props
,
emit
).
moduleInstall
();
const
{
name
,
state
,
onViewEvent
}
=
new
TabViewPanelControl
(
ctrlState
()
,
props
,
emit
).
moduleInstall
();
// 暴露内部状态及能力
defineExpose
({
name
,
state
});
...
...
modules/ibizlab-generator-core/src/main/resources/templ/r7/app_{{apps}}/src/widgets/{{appEntities}}/{{ctrls@TREEEXPBAR}}-tree-exp-bar/{{ctrls@TREEEXPBAR}}-tree-exp-bar-state.ts.hbs
浏览文件 @
c0ceb20f
export const ctrlState = {
controlCodeName: '
{{
ctrl
.
codeName
}}
',
controlName: '
{{
ctrl
.
name
}}
',
counter: 0,
enableSearch:
{{
ctrl
.
enableSearch
}}
,
xDataControlName: '
{{
ctrl
.
xDataControlName
}}
',
selection: {},
searchValue: '',
showTitleBar:
{{#if
ctrl
.
showTitleBar
}}
true
{{else}}
false
{{/if}}
,
split: 0.2,
title: '
{{
ctrl
.
title
}}
',
titleRes: '
{{#if
ctrl
.
titlePSLanguageRes
}}{{
ctrl
.
titlePSLanguageRes
.
lanResTag
}}{{/if}}
',
{{#
each
ctrl
.
psControls
as
|
childCtrl
|
}}
{{#
eq
childCtrl
.
controlType
'TOOLBAR'
}}
toolbar: [
{{#
childCtrl
.
psDEToolbarItems
}}
{ name:'
{{
name
}}
',caption:'
{{
caption
}}
',groupExtractMode:'
{{
groupExtractMode
}}
',itemType:'
{{
itemType
}}
',noPrivDisplayMode:'
{{
noPrivDisplayMode
}}
',showIcon:
{{
showIcon
}}
,showCaption:
{{
showCaption
}}
,tooltip:'
{{
tooltip
}}
',disabled: false, visible: true, imgPath: '
{{
imgPath
}}
',iconClass: '
{{
iconClass
}}
',xDataControlName:'
{{
xDataControlName
}}
',
{{#if
psUIAction
}}
uIAction:{codeName:'
{{
psUIAction
.
codeName
}}
',fullCodeName:'
{{
psUIAction
.
fullCodeName
}}
',uIActionMode:'
{{
psUIAction
.
uIActionMode
}}
',actionTarget:'
{{
psUIAction
.
actionTarget
}}
',uIActionTag:'
{{
psUIAction
.
uIActionTag
}}
',dataAccessAction:'
{{
psUIAction
.
dataAccessAction
}}
',uIActionType:'
{{
psUIAction
.
uIActionType
}}
'}
{{#if
psUIAction
.
counterId
}}
,counterId: '
{{
psUIAction
.
counterId
}}
'
{{/if}}{{/if}}
},
{{/
childCtrl
.
psDEToolbarItems
}}
],
{{/
eq
}}
{{/
each
}}
viewRefs: [
{{#
each
ctrl
.
psAppViewRefs
as
|
viewRef
|
}}
{
name: '
{{
viewRef
.
name
}}
',
{{#if
viewRef
.
refPSAppView
}}
viewName: '
{{
viewRef
.
refPSAppView
.
name
}}
',
{{#if
viewRef
.
refPSAppView
.
psAppDataEntity
}}
deKeyField: '
{{
viewRef
.
refPSAppView
.
psAppDataEntity
.
codeName
}}
',
{{/if}}
{{/if}}
},
export const ctrlState = () => {
return {
controlCodeName: '
{{
ctrl
.
codeName
}}
',
controlName: '
{{
ctrl
.
name
}}
',
counter: 0,
enableSearch:
{{
ctrl
.
enableSearch
}}
,
xDataControlName: '
{{
ctrl
.
xDataControlName
}}
',
selection: {},
searchValue: '',
showTitleBar:
{{#if
ctrl
.
showTitleBar
}}
true
{{else}}
false
{{/if}}
,
split: 0.2,
title: '
{{
ctrl
.
title
}}
',
titleRes: '
{{#if
ctrl
.
titlePSLanguageRes
}}{{
ctrl
.
titlePSLanguageRes
.
lanResTag
}}{{/if}}
',
{{#
each
ctrl
.
psControls
as
|
childCtrl
|
}}
{{#
eq
childCtrl
.
controlType
'TOOLBAR'
}}
toolbar: [
{{#
childCtrl
.
psDEToolbarItems
}}
{ name:'
{{
name
}}
',caption:'
{{
caption
}}
',groupExtractMode:'
{{
groupExtractMode
}}
',itemType:'
{{
itemType
}}
',noPrivDisplayMode:'
{{
noPrivDisplayMode
}}
',showIcon:
{{
showIcon
}}
,showCaption:
{{
showCaption
}}
,tooltip:'
{{
tooltip
}}
',disabled: false, visible: true, imgPath: '
{{
imgPath
}}
',iconClass: '
{{
iconClass
}}
',xDataControlName:'
{{
xDataControlName
}}
',
{{#if
psUIAction
}}
uIAction:{codeName:'
{{
psUIAction
.
codeName
}}
',fullCodeName:'
{{
psUIAction
.
fullCodeName
}}
',uIActionMode:'
{{
psUIAction
.
uIActionMode
}}
',actionTarget:'
{{
psUIAction
.
actionTarget
}}
',uIActionTag:'
{{
psUIAction
.
uIActionTag
}}
',dataAccessAction:'
{{
psUIAction
.
dataAccessAction
}}
',uIActionType:'
{{
psUIAction
.
uIActionType
}}
'}
{{#if
psUIAction
.
counterId
}}
,counterId: '
{{
psUIAction
.
counterId
}}
'
{{/if}}{{/if}}
},
{{/
childCtrl
.
psDEToolbarItems
}}
],
{{/
eq
}}
{{/
each
}}
]
viewRefs: [
{{#
each
ctrl
.
psAppViewRefs
as
|
viewRef
|
}}
{
name: '
{{
viewRef
.
name
}}
',
{{#if
viewRef
.
refPSAppView
}}
viewName: '
{{
viewRef
.
refPSAppView
.
name
}}
',
{{#if
viewRef
.
refPSAppView
.
psAppDataEntity
}}
deKeyField: '
{{
viewRef
.
refPSAppView
.
psAppDataEntity
.
codeName
}}
',
{{/if}}
{{/if}}
},
{{/
each
}}
]
}
};
modules/ibizlab-generator-core/src/main/resources/templ/r7/app_{{apps}}/src/widgets/{{appEntities}}/{{ctrls@TREEEXPBAR}}-tree-exp-bar/{{ctrls@TREEEXPBAR}}-tree-exp-bar.vue.hbs
浏览文件 @
c0ceb20f
...
...
@@ -55,7 +55,7 @@ interface CtrlEmit {
const
emit
=
defineEmits
<
CtrlEmit
>
();
// 安装功能模块,提供状态和能力方法
const
{
name
,
state
,
onCtrlEvent
,
xDataControl
,
search
,
onToolbarEvent
}
=
new
TreeExpBarControl
(
ctrlState
,
props
,
emit
).
moduleInstall
();
const
{
name
,
state
,
onCtrlEvent
,
xDataControl
,
search
,
onToolbarEvent
}
=
new
TreeExpBarControl
(
ctrlState
()
,
props
,
emit
).
moduleInstall
();
// 暴露内部状态及能力
defineExpose
({
name
,
state
});
...
...
modules/ibizlab-generator-core/src/main/resources/templ/r7/app_{{apps}}/src/widgets/{{appEntities}}/{{ctrls@TREEVIEW}}-tree/{{ctrls@TREEVIEW}}-tree-state.ts.hbs
浏览文件 @
c0ceb20f
...
...
@@ -184,47 +184,49 @@ export class ControlVO extends ControlVOBase implements TreeControlVO {
}
}
export const ctrlState = {
appEntityCodeName: '
{{
ctrl
.
psAppDataEntity
.
codeName
}}
',
appDeCodeName:'
{{
ctrl
.
psAppDataEntity
.
codeName
}}
',
appDeLogicName: '
{{
ctrl
.
psAppDataEntity
.
logicName
}}
',
appDeKeyFieldName: '
{{#if
ctrl
.
psAppDataEntity
.
keyPSAppDEField
}}{{
ctrl
.
psAppDataEntity
.
keyPSAppDEField
.
codeName
}}{{/if}}
',
appDeMajorFieldName: '
{{#if
ctrl
.
psAppDataEntity
.
majorPSAppDEField
}}{{
ctrl
.
psAppDataEntity
.
majorPSAppDEField
.
codeName
}}{{/if}}
',
{{#
and
ctrl
.
psAppCounterRef
ctrl
.
psAppCounterRef
.
psAppCounter
}}
appCounterRef: {
{{#
with
ctrl
.
psAppCounterRef
.
psAppCounter
as
|
counter
|
}}
id: '
{{
ctrl
.
psAppCounterRef
.
id
}}
',
getAction: '
{{
counter
.
getPSAppDEAction
.
codeName
}}
',
timer:
{{#if
counter
.
timer
}}{{
counter
.
timer
}}{{else}}
6000
{{/if}}
,
{{#if
counter
.
psAppDataEntity
}}
deCodeName: '
{{
lowerCase
counter
.
psAppDataEntity
.
codeName
}}
'
{{/if}}
{{/
with
}}
},
counterService: {},
{{/
and
}}
contextMenus: {
{{#
each
ctrl
.
psDETreeNodes
as
|
treeNode
|
}}
{{#if
(
and
treeNode
.
psDEContextMenu
treeNode
.
psDEContextMenu
.
psDEToolbarItems
)
}}
{{
treeNode
.
nodeType
}}
: [
{{#
each
treeNode
.
psDEContextMenu
.
psDEToolbarItems
as
|
item
|
}}
{{#
neq
item
.
itemType
"SEPERATOR"
}}
{{>
@macro
/
front-end
/
widgets
/
tree-detail
/
tree-node-context-menu-item
.
hbs
item
=
item
owner
=
treeNode
.
nodeType
}}
{{/
neq
}}
{{/
each
}}
],
{{/if}}
{{/
each
}}
},
controlCodeName: '
{{
ctrl
.
codeName
}}
',
controlName: '
{{
ctrl
.
name
}}
',
controlService: new TreeService
<ControlVO>
(ControlVO, new
{{
pascalCase
ctrl
.
psAppDataEntity
.
codeName
}}
Service() ),
currentSelectedNode: {},
items: [],
outputIconDefault:
{{#
eq
ctrl
.
outputIconDefault
false
}}
false
{{else}}
true
{{/
eq
}}
,
echoSelectedNodes: [],
expandedKeys: [],
selectedKeys: [],
selectedNodes: [],
selections: []
export const ctrlState = () => {
return {
appEntityCodeName: '
{{
ctrl
.
psAppDataEntity
.
codeName
}}
',
appDeCodeName:'
{{
ctrl
.
psAppDataEntity
.
codeName
}}
',
appDeLogicName: '
{{
ctrl
.
psAppDataEntity
.
logicName
}}
',
appDeKeyFieldName: '
{{#if
ctrl
.
psAppDataEntity
.
keyPSAppDEField
}}{{
ctrl
.
psAppDataEntity
.
keyPSAppDEField
.
codeName
}}{{/if}}
',
appDeMajorFieldName: '
{{#if
ctrl
.
psAppDataEntity
.
majorPSAppDEField
}}{{
ctrl
.
psAppDataEntity
.
majorPSAppDEField
.
codeName
}}{{/if}}
',
{{#
and
ctrl
.
psAppCounterRef
ctrl
.
psAppCounterRef
.
psAppCounter
}}
appCounterRef: {
{{#
with
ctrl
.
psAppCounterRef
.
psAppCounter
as
|
counter
|
}}
id: '
{{
ctrl
.
psAppCounterRef
.
id
}}
',
getAction: '
{{
counter
.
getPSAppDEAction
.
codeName
}}
',
timer:
{{#if
counter
.
timer
}}{{
counter
.
timer
}}{{else}}
6000
{{/if}}
,
{{#if
counter
.
psAppDataEntity
}}
deCodeName: '
{{
lowerCase
counter
.
psAppDataEntity
.
codeName
}}
'
{{/if}}
{{/
with
}}
},
counterService: {},
{{/
and
}}
contextMenus: {
{{#
each
ctrl
.
psDETreeNodes
as
|
treeNode
|
}}
{{#if
(
and
treeNode
.
psDEContextMenu
treeNode
.
psDEContextMenu
.
psDEToolbarItems
)
}}
{{
treeNode
.
nodeType
}}
: [
{{#
each
treeNode
.
psDEContextMenu
.
psDEToolbarItems
as
|
item
|
}}
{{#
neq
item
.
itemType
"SEPERATOR"
}}
{{>
@macro
/
front-end
/
widgets
/
tree-detail
/
tree-node-context-menu-item
.
hbs
item
=
item
owner
=
treeNode
.
nodeType
}}
{{/
neq
}}
{{/
each
}}
],
{{/if}}
{{/
each
}}
},
controlCodeName: '
{{
ctrl
.
codeName
}}
',
controlName: '
{{
ctrl
.
name
}}
',
controlService: new TreeService
<ControlVO>
(ControlVO, new
{{
pascalCase
ctrl
.
psAppDataEntity
.
codeName
}}
Service() ),
currentSelectedNode: {},
items: [],
outputIconDefault:
{{#
eq
ctrl
.
outputIconDefault
false
}}
false
{{else}}
true
{{/
eq
}}
,
echoSelectedNodes: [],
expandedKeys: [],
selectedKeys: [],
selectedNodes: [],
selections: []
}
};
\ No newline at end of file
modules/ibizlab-generator-core/src/main/resources/templ/r7/app_{{apps}}/src/widgets/{{appEntities}}/{{ctrls@TREEVIEW}}-tree/{{ctrls@TREEVIEW}}-tree.vue.hbs
浏览文件 @
c0ceb20f
...
...
@@ -49,7 +49,7 @@ const getCustomText = (scriptCode: any) => {
}
// 安装功能模块,提供状态和能力方法
const
{
name
,
state
,
load
,
refresh
,
onTreeNodeSelect
,
onContextMenuClick
,
onRightClick
,
onCheck
,
getCounterData
}
=
new
TreeControl
(
ctrlState
,
props
,
emit
).
moduleInstall
();
const
{
name
,
state
,
load
,
refresh
,
onTreeNodeSelect
,
onContextMenuClick
,
onRightClick
,
onCheck
,
getCounterData
}
=
new
TreeControl
(
ctrlState
()
,
props
,
emit
).
moduleInstall
();
// 暴露内部状态及能力
defineExpose
({
name
,
state
,
load
,
refresh
});
...
...
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录