Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
功
功能演示系统
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
示例
功能演示系统
提交
e09933ae
提交
e09933ae
编写于
11月 23, 2020
作者:
ibizdev
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
ShineKOT 发布系统代码 [后台服务,演示应用]
上级
ecb2cfed
变更
19
隐藏空白字符变更
内嵌
并排
正在显示
19 个修改的文件
包含
796 行增加
和
48 行删除
+796
-48
en-US.ts
app_Web/src/locale/lang/en-US.ts
+1
-0
zh-CN.ts
app_Web/src/locale/lang/zh-CN.ts
+1
-0
main-menu-appmenu.ts
app_Web/src/mock/app/main-menu-appmenu/main-menu-appmenu.ts
+18
-0
ibizbookusr4-data-view-base.vue
...le/ibizbookusr4-data-view/ibizbookusr4-data-view-base.vue
+64
-2
ibizbookusr4-data-view.vue
.../sample/ibizbookusr4-data-view/ibizbookusr4-data-view.vue
+2
-2
page-register.ts
app_Web/src/pages/sample/index/page-register.ts
+2
-1
router.ts
app_Web/src/pages/sample/index/router.ts
+41
-14
state.ts
app_Web/src/store/modules/view-action/state.ts
+11
-0
main-menu-appmenu-base.vue
.../widgets/app/main-menu-appmenu/main-menu-appmenu-base.vue
+37
-11
main-menu-appmenu-model.ts
.../widgets/app/main-menu-appmenu/main-menu-appmenu-model.ts
+19
-0
usr4-dataview-base.vue
...src/widgets/ibizbook/usr4-dataview/usr4-dataview-base.vue
+17
-17
usr4-dataview-model.ts
...src/widgets/ibizbook/usr4-dataview/usr4-dataview-model.ts
+16
-0
usr4-dataview.vue
app_Web/src/widgets/ibizbook/usr4-dataview/usr4-dataview.vue
+2
-0
usr4-panel-base.vue
app_Web/src/widgets/ibizbook/usr4-panel/usr4-panel-base.vue
+485
-0
usr4-panel-model.ts
app_Web/src/widgets/ibizbook/usr4-panel/usr4-panel-model.ts
+27
-0
usr4-panel-service.ts
...Web/src/widgets/ibizbook/usr4-panel/usr4-panel-service.ts
+11
-0
usr4-panel.less
app_Web/src/widgets/ibizbook/usr4-panel/usr4-panel.less
+27
-0
usr4-panel.vue
app_Web/src/widgets/ibizbook/usr4-panel/usr4-panel.vue
+14
-0
systemResource.json
demo-core/src/main/resources/permission/systemResource.json
+1
-1
未找到文件。
app_Web/src/locale/lang/en-US.ts
浏览文件 @
e09933ae
...
...
@@ -222,6 +222,7 @@ export default {
menuitem88
:
"内置功能"
,
menuitem89
:
"自动分组"
,
menuitem90
:
"代码表分组"
,
menuitem94
:
"项布局面板"
,
menuitem5
:
"视图"
,
menuitem9
:
"列表视图"
,
menuitem19
:
"常规表格视图"
,
...
...
app_Web/src/locale/lang/zh-CN.ts
浏览文件 @
e09933ae
...
...
@@ -222,6 +222,7 @@ export default {
menuitem88
:
"内置功能"
,
menuitem89
:
"自动分组"
,
menuitem90
:
"代码表分组"
,
menuitem94
:
"项布局面板"
,
menuitem5
:
"视图"
,
menuitem9
:
"列表视图"
,
menuitem19
:
"常规表格视图"
,
...
...
app_Web/src/mock/app/main-menu-appmenu/main-menu-appmenu.ts
浏览文件 @
e09933ae
...
...
@@ -1085,6 +1085,24 @@ mock.onGet('v7/main-menuappmenu').reply((config: any) => {
textcls
:
''
,
appfunctag
:
'AppFunc16'
,
resourcetag
:
''
,
},
{
id
:
'2B34D075-4A39-41ED-86A3-69EFF4C18CA3'
,
name
:
'menuitem94'
,
text
:
'项布局面板'
,
type
:
'MENUITEM'
,
counterid
:
''
,
tooltip
:
'项布局面板'
,
expanded
:
false
,
separator
:
false
,
hidden
:
false
,
hidesidebar
:
false
,
opendefault
:
false
,
iconcls
:
''
,
icon
:
''
,
textcls
:
''
,
appfunctag
:
'AppFunc19'
,
resourcetag
:
''
,
},
],
},
...
...
app_Web/src/pages/sample/ibizbookusr4-data-view/ibizbookusr4-data-view-base.vue
浏览文件 @
e09933ae
...
...
@@ -10,7 +10,7 @@
</div>
<div
class=
'content-container'
>
<div
style=
"margin-bottom:6px;"
>
<i-input
v-model=
'query'
search
@
on-search=
'onSearch'
placeholder=
"图书名称"
class=
'pull-left'
style=
'max-width: 400px;margin-top:6px;'
/>
<i-input
v-
show=
'!this.isExpandSearchForm '
v-
model=
'query'
search
@
on-search=
'onSearch'
placeholder=
"图书名称"
class=
'pull-left'
style=
'max-width: 400px;margin-top:6px;'
/>
<div
class=
'pull-right'
>
<div
class=
'toolbar-container'
>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
...
...
@@ -27,9 +27,32 @@
</i-button>
<div
slot=
'content'
>
{{
$t
(
'entities.ibizbook.usr4dataviewtoolbar_toolbar.deuiaction2.tip'
)
}}
</div>
</tooltip>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
<i-button
v-show=
"toolBarModels.deuiaction3.visabled"
:disabled=
"toolBarModels.deuiaction3.disabled"
class=
''
@
click=
"toolbar_click(
{ tag: 'deuiaction3' }, $event)">
<i
class=
'fa fa-filter'
></i>
<span
class=
'caption'
>
{{
$t
(
'entities.ibizbook.usr4dataviewtoolbar_toolbar.deuiaction3.caption'
)
}}
</span>
</i-button>
<div
slot=
'content'
>
{{
$t
(
'entities.ibizbook.usr4dataviewtoolbar_toolbar.deuiaction3.tip'
)
}}
</div>
</tooltip>
</div>
</div>
</div>
<view
_searchform
:viewState=
"viewState"
:viewparams=
"viewparams"
:context=
"context"
:showBusyIndicator=
"true"
v-show=
"isExpandSearchForm"
loaddraftAction=
"FilterGetDraft"
loadAction=
"FilterGet"
name=
"searchform"
ref=
'searchform'
@
save=
"searchform_save($event)"
@
search=
"searchform_search($event)"
@
load=
"searchform_load($event)"
@
closeview=
"closeView($event)"
>
</view
_searchform
>
<div
class=
'view-body-messages'
>
</div>
<view
_dataview
...
...
@@ -231,7 +254,7 @@ export default class IBIZBOOKUsr4DataViewBase extends Vue {
* @memberof IBIZBOOKUsr4DataViewBase
*/
public
containerModel
:
any
=
{
view_searchform
2
:
{
name
:
'searchform2
'
,
type
:
'SEARCHFORM'
},
view_searchform
:
{
name
:
'searchform
'
,
type
:
'SEARCHFORM'
},
view_toolbar
:
{
name
:
'toolbar'
,
type
:
'TOOLBAR'
},
view_dataview
:
{
name
:
'dataview'
,
type
:
'DATAVIEW'
},
};
...
...
@@ -283,6 +306,8 @@ export default class IBIZBOOKUsr4DataViewBase extends Vue {
deuiaction2
:
{
name
:
'deuiaction2'
,
actiontarget
:
'NONE'
,
caption
:
'删除'
,
disabled
:
false
,
type
:
'DEUIACTION'
,
visabled
:
true
,
noprivdisplaymode
:
2
,
dataaccaction
:
''
,
uiaction
:
{
tag
:
'Remove'
,
target
:
'MULTIKEY'
}
},
deuiaction3
:
{
name
:
'deuiaction3'
,
actiontarget
:
'NONE'
,
caption
:
'过滤'
,
disabled
:
false
,
type
:
'DEUIACTION'
,
visabled
:
true
,
noprivdisplaymode
:
2
,
dataaccaction
:
''
,
uiaction
:
{
tag
:
'ToggleFilter'
,
target
:
''
}
},
};
...
...
@@ -312,6 +337,7 @@ export default class IBIZBOOKUsr4DataViewBase extends Vue {
newdata
:
(
args
:
any
[],
fullargs
?:
any
[],
params
?:
any
,
$event
?:
any
,
xData
?:
any
)
=>
{
this
.
newdata
(
args
,
fullargs
,
params
,
$event
,
xData
);
},
searchform
:
this
.
$refs
.
searchform
,
dataview
:
this
.
$refs
.
dataview
,
keyPSDEField
:
'ibizbook'
,
majorPSDEField
:
'ibizbookname'
,
...
...
@@ -613,6 +639,42 @@ export default class IBIZBOOKUsr4DataViewBase extends Vue {
}
/**
* searchform 部件 save 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof IBIZBOOKUsr4DataViewBase
*/
public
searchform_save
(
$event
:
any
,
$event2
?:
any
)
{
this
.
engine
.
onCtrlEvent
(
'searchform'
,
'save'
,
$event
);
}
/**
* searchform 部件 search 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof IBIZBOOKUsr4DataViewBase
*/
public
searchform_search
(
$event
:
any
,
$event2
?:
any
)
{
this
.
engine
.
onCtrlEvent
(
'searchform'
,
'search'
,
$event
);
}
/**
* searchform 部件 load 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof IBIZBOOKUsr4DataViewBase
*/
public
searchform_load
(
$event
:
any
,
$event2
?:
any
)
{
this
.
engine
.
onCtrlEvent
(
'searchform'
,
'load'
,
$event
);
}
/**
* toolbar 部件 click 事件
*
...
...
app_Web/src/pages/sample/ibizbookusr4-data-view/ibizbookusr4-data-view.vue
浏览文件 @
e09933ae
...
...
@@ -2,11 +2,11 @@
import
{
Component
}
from
'vue-property-decorator'
;
import
IBIZBOOKUsr4DataViewBase
from
'./ibizbookusr4-data-view-base.vue'
;
import
view_searchform
2
from
'@widgets/ibizbook/quicksearchform-searchform/quicksearchform
-searchform.vue'
;
import
view_searchform
from
'@widgets/ibizbook/default-searchform/default
-searchform.vue'
;
import
view_dataview
from
'@widgets/ibizbook/usr4-dataview/usr4-dataview.vue'
;
@
Component
({
components
:
{
view_searchform
2
,
view_searchform
,
view_dataview
,
},
beforeRouteEnter
:
(
to
:
any
,
from
:
any
,
next
:
any
)
=>
{
...
...
app_Web/src/pages/sample/index/page-register.ts
浏览文件 @
e09933ae
...
...
@@ -71,14 +71,15 @@ export const PageComponents = {
Vue
.
component
(
'ibizuniproduct-sgrid-view'
,
()
=>
import
(
'@pages/sample/ibizuniproduct-sgrid-view/ibizuniproduct-sgrid-view.vue'
));
Vue
.
component
(
'ibizsample0003-f3-tree-exp-view'
,
()
=>
import
(
'@pages/sample/ibizsample0003-f3-tree-exp-view/ibizsample0003-f3-tree-exp-view.vue'
));
Vue
.
component
(
'ibizorder-detail-sf1-edit-view'
,
()
=>
import
(
'@pages/sample/ibizorder-detail-sf1-edit-view/ibizorder-detail-sf1-edit-view.vue'
));
Vue
.
component
(
'ibizbookusr4-data-view'
,
()
=>
import
(
'@pages/sample/ibizbookusr4-data-view/ibizbookusr4-data-view.vue'
));
Vue
.
component
(
'ibizorder-odsp-d30-wfgrid-view'
,
()
=>
import
(
'@pages/sample/ibizorder-odsp-d30-wfgrid-view/ibizorder-odsp-d30-wfgrid-view.vue'
));
Vue
.
component
(
'ibizorder-area-chart-view'
,
()
=>
import
(
'@pages/sample/ibizorder-area-chart-view/ibizorder-area-chart-view.vue'
));
Vue
.
component
(
'ibizorder-sf20-grid-view'
,
()
=>
import
(
'@pages/sample/ibizorder-sf20-grid-view/ibizorder-sf20-grid-view.vue'
));
Vue
.
component
(
'ibizorder-grid-view9'
,
()
=>
import
(
'@pages/sample/ibizorder-grid-view9/ibizorder-grid-view9.vue'
));
Vue
.
component
(
'ibizsample0003-spickup-view2'
,
()
=>
import
(
'@pages/sample/ibizsample0003-spickup-view2/ibizsample0003-spickup-view2.vue'
));
Vue
.
component
(
'ibizorder-odsp-w10-wfgrid-view'
,
()
=>
import
(
'@pages/sample/ibizorder-odsp-w10-wfgrid-view/ibizorder-odsp-w10-wfgrid-view.vue'
));
Vue
.
component
(
'ibizorder-f9-edit-view'
,
()
=>
import
(
'@pages/sample/ibizorder-f9-edit-view/ibizorder-f9-edit-view.vue'
));
Vue
.
component
(
'ibizsample0003-spickup-tree-view'
,
()
=>
import
(
'@pages/sample/ibizsample0003-spickup-tree-view/ibizsample0003-spickup-tree-view.vue'
));
Vue
.
component
(
'ibizorder-odsp-w10-wfgrid-view'
,
()
=>
import
(
'@pages/sample/ibizorder-odsp-w10-wfgrid-view/ibizorder-odsp-w10-wfgrid-view.vue'
));
Vue
.
component
(
'ibizorder-detail-f6-grid-view'
,
()
=>
import
(
'@pages/sample/ibizorder-detail-f6-grid-view/ibizorder-detail-f6-grid-view.vue'
));
Vue
.
component
(
'ibizorder-wfstart-view'
,
()
=>
import
(
'@pages/sample/ibizorder-wfstart-view/ibizorder-wfstart-view.vue'
));
Vue
.
component
(
'ibizsample0003-f4-tree-exp-view'
,
()
=>
import
(
'@pages/sample/ibizsample0003-f4-tree-exp-view/ibizsample0003-f4-tree-exp-view.vue'
));
...
...
app_Web/src/pages/sample/index/router.ts
浏览文件 @
e09933ae
...
...
@@ -1074,6 +1074,20 @@ const router = new Router({
},
component
:
()
=>
import
(
'@pages/sample/ibizorder-detail-sf1-edit-view/ibizorder-detail-sf1-edit-view.vue'
),
},
{
path
:
'ibizbooks/:ibizbook?/usr4dataview/:usr4dataview?'
,
meta
:
{
caption
:
'entities.ibizbook.views.usr4dataview.caption'
,
info
:
''
,
parameters
:
[
{
pathName
:
'index'
,
parameterName
:
'index'
},
{
pathName
:
'ibizbooks'
,
parameterName
:
'ibizbook'
},
{
pathName
:
'usr4dataview'
,
parameterName
:
'usr4dataview'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/sample/ibizbookusr4-data-view/ibizbookusr4-data-view.vue'
),
},
{
path
:
'ibizorders/:ibizorder?/odsp_d30_wfgridview/:odsp_d30_wfgridview?'
,
meta
:
{
...
...
@@ -1145,46 +1159,46 @@ const router = new Router({
component
:
()
=>
import
(
'@pages/sample/ibizsample0003-spickup-view2/ibizsample0003-spickup-view2.vue'
),
},
{
path
:
'ibizorders/:ibizorder?/
f9editview/:f9edit
view?'
,
path
:
'ibizorders/:ibizorder?/
odsp_w10_wfgridview/:odsp_w10_wfgrid
view?'
,
meta
:
{
caption
:
'entities.ibizorder.views.
f9edit
view.caption'
,
caption
:
'entities.ibizorder.views.
odsp_w10_wfgrid
view.caption'
,
info
:
''
,
parameters
:
[
{
pathName
:
'index'
,
parameterName
:
'index'
},
{
pathName
:
'ibizorders'
,
parameterName
:
'ibizorder'
},
{
pathName
:
'
f9editview'
,
parameterName
:
'f9edit
view'
},
{
pathName
:
'
odsp_w10_wfgridview'
,
parameterName
:
'odsp_w10_wfgrid
view'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/sample/ibizorder-
f9-edit-view/ibizorder-f9-edit
-view.vue'
),
component
:
()
=>
import
(
'@pages/sample/ibizorder-
odsp-w10-wfgrid-view/ibizorder-odsp-w10-wfgrid
-view.vue'
),
},
{
path
:
'ibiz
sample0003s/:ibizsample0003?/spickuptreeview/:spickuptree
view?'
,
path
:
'ibiz
orders/:ibizorder?/f9editview/:f9edit
view?'
,
meta
:
{
caption
:
'entities.ibiz
sample0003.views.spickuptree
view.caption'
,
caption
:
'entities.ibiz
order.views.f9edit
view.caption'
,
info
:
''
,
parameters
:
[
{
pathName
:
'index'
,
parameterName
:
'index'
},
{
pathName
:
'ibiz
sample0003s'
,
parameterName
:
'ibizsample0003
'
},
{
pathName
:
'
spickuptreeview'
,
parameterName
:
'spickuptree
view'
},
{
pathName
:
'ibiz
orders'
,
parameterName
:
'ibizorder
'
},
{
pathName
:
'
f9editview'
,
parameterName
:
'f9edit
view'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/sample/ibiz
sample0003-spickup-tree-view/ibizsample0003-spickup-tree
-view.vue'
),
component
:
()
=>
import
(
'@pages/sample/ibiz
order-f9-edit-view/ibizorder-f9-edit
-view.vue'
),
},
{
path
:
'ibiz
orders/:ibizorder?/odsp_w10_wfgridview/:odsp_w10_wfgrid
view?'
,
path
:
'ibiz
sample0003s/:ibizsample0003?/spickuptreeview/:spickuptree
view?'
,
meta
:
{
caption
:
'entities.ibiz
order.views.odsp_w10_wfgrid
view.caption'
,
caption
:
'entities.ibiz
sample0003.views.spickuptree
view.caption'
,
info
:
''
,
parameters
:
[
{
pathName
:
'index'
,
parameterName
:
'index'
},
{
pathName
:
'ibiz
orders'
,
parameterName
:
'ibizorder
'
},
{
pathName
:
'
odsp_w10_wfgridview'
,
parameterName
:
'odsp_w10_wfgrid
view'
},
{
pathName
:
'ibiz
sample0003s'
,
parameterName
:
'ibizsample0003
'
},
{
pathName
:
'
spickuptreeview'
,
parameterName
:
'spickuptree
view'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/sample/ibiz
order-odsp-w10-wfgrid-view/ibizorder-odsp-w10-wfgrid
-view.vue'
),
component
:
()
=>
import
(
'@pages/sample/ibiz
sample0003-spickup-tree-view/ibizsample0003-spickup-tree
-view.vue'
),
},
{
path
:
'ibizorderdetails/:ibizorderdetail?/f6gridview/:f6gridview?'
,
...
...
@@ -3244,6 +3258,19 @@ const router = new Router({
},
component
:
()
=>
import
(
'@pages/sample/ibizorder-odsp-d40-wfgrid-view/ibizorder-odsp-d40-wfgrid-view.vue'
),
},
{
path
:
'/ibizbooks/:ibizbook?/usr4dataview/:usr4dataview?'
,
meta
:
{
caption
:
'entities.ibizbook.views.usr4dataview.caption'
,
info
:
''
,
parameters
:
[
{
pathName
:
'ibizbooks'
,
parameterName
:
'ibizbook'
},
{
pathName
:
'usr4dataview'
,
parameterName
:
'usr4dataview'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/sample/ibizbookusr4-data-view/ibizbookusr4-data-view.vue'
),
},
{
path
:
'/ibizorders/:ibizorder?/sf3gridview/:sf3gridview?'
,
meta
:
{
...
...
app_Web/src/store/modules/view-action/state.ts
浏览文件 @
e09933ae
...
...
@@ -161,6 +161,7 @@ export const viewstate: any = {
'10e721a882036c8c012f35d2a6b00237'
,
'7a8b6138e5893e7aba3b1a5deb3b3036'
,
'0c1093afa96df2832f707495afec541e'
,
'd8a6379b9ddbd161045a288aba0890b6'
,
'd1f311d51e800e95e9b10c49a8b49b5a'
,
'53269c1ea73ad6fae5d2ac4eced7f9d1'
,
'7d37165f2f535b4a6d2116188fe83d18'
,
...
...
@@ -1106,6 +1107,16 @@ export const viewstate: any = {
refviews
:
[
],
},
{
viewtag
:
'd8a6379b9ddbd161045a288aba0890b6'
,
viewmodule
:
'Sample'
,
viewname
:
'IBIZBOOKUsr4DataView'
,
viewaction
:
''
,
viewdatachange
:
false
,
refviews
:
[
'b3429ecc4d89a02bc5f5279f1bd7f620'
,
],
},
{
viewtag
:
'd99f9680b535dcf3ad0d0f853a8b89d9'
,
viewmodule
:
'Sample'
,
...
...
app_Web/src/widgets/app/main-menu-appmenu/main-menu-appmenu-base.vue
浏览文件 @
e09933ae
...
...
@@ -566,12 +566,12 @@ export default class MainMenuBase extends Vue implements ControlInterface {
case
'Auto151'
:
this
.
clickAuto151
(
item
);
return
;
case
'AppFunc15'
:
this
.
clickAppFunc15
(
item
);
return
;
case
'Auto258'
:
this
.
clickAuto258
(
item
);
return
;
case
'AppFunc15'
:
this
.
clickAppFunc15
(
item
);
return
;
case
'Auto155'
:
this
.
clickAuto155
(
item
);
return
;
...
...
@@ -641,6 +641,9 @@ export default class MainMenuBase extends Vue implements ControlInterface {
case
'AppFunc3'
:
this
.
clickAppFunc3
(
item
);
return
;
case
'AppFunc19'
:
this
.
clickAppFunc19
(
item
);
return
;
case
'Auto235'
:
this
.
clickAuto235
(
item
);
return
;
...
...
@@ -1115,18 +1118,18 @@ export default class MainMenuBase extends Vue implements ControlInterface {
}
/**
*
功能名称
*
嵌入表格视图
*
* @param {*} [item={}]
* @memberof MainMenu
*/
public
clickA
ppFunc15
(
item
:
any
=
{})
{
public
clickA
uto258
(
item
:
any
=
{})
{
const
viewparam
:
any
=
{};
Object
.
assign
(
viewparam
,
{});
const
deResParameters
:
any
[]
=
[];
const
parameters
:
any
[]
=
[
{
pathName
:
'ibiz
books'
,
parameterName
:
'ibizbook
'
},
{
pathName
:
'
usr2dataview'
,
parameterName
:
'usr2dataview
'
},
{
pathName
:
'ibiz
orders'
,
parameterName
:
'ibizorder
'
},
{
pathName
:
'
gridview9'
,
parameterName
:
'gridview9
'
},
];
const
path
:
string
=
this
.
$viewTool
.
buildUpRoutePath
(
this
.
$route
,
{},
deResParameters
,
parameters
,
[],
viewparam
);
if
(
Object
.
is
(
this
.
$route
.
fullPath
,
path
)){
...
...
@@ -1138,18 +1141,18 @@ export default class MainMenuBase extends Vue implements ControlInterface {
}
/**
*
嵌入表格视图
*
功能名称
*
* @param {*} [item={}]
* @memberof MainMenu
*/
public
clickA
uto258
(
item
:
any
=
{})
{
public
clickA
ppFunc15
(
item
:
any
=
{})
{
const
viewparam
:
any
=
{};
Object
.
assign
(
viewparam
,
{});
const
deResParameters
:
any
[]
=
[];
const
parameters
:
any
[]
=
[
{
pathName
:
'ibiz
orders'
,
parameterName
:
'ibizorder
'
},
{
pathName
:
'
gridview9'
,
parameterName
:
'gridview9
'
},
{
pathName
:
'ibiz
books'
,
parameterName
:
'ibizbook
'
},
{
pathName
:
'
usr2dataview'
,
parameterName
:
'usr2dataview
'
},
];
const
path
:
string
=
this
.
$viewTool
.
buildUpRoutePath
(
this
.
$route
,
{},
deResParameters
,
parameters
,
[],
viewparam
);
if
(
Object
.
is
(
this
.
$route
.
fullPath
,
path
)){
...
...
@@ -1689,6 +1692,29 @@ export default class MainMenuBase extends Vue implements ControlInterface {
})
}
/**
* 功能名称
*
* @param {*} [item={}]
* @memberof MainMenu
*/
public
clickAppFunc19
(
item
:
any
=
{})
{
const
viewparam
:
any
=
{};
Object
.
assign
(
viewparam
,
{});
const
deResParameters
:
any
[]
=
[];
const
parameters
:
any
[]
=
[
{
pathName
:
'ibizbooks'
,
parameterName
:
'ibizbook'
},
{
pathName
:
'usr4dataview'
,
parameterName
:
'usr4dataview'
},
];
const
path
:
string
=
this
.
$viewTool
.
buildUpRoutePath
(
this
.
$route
,
{},
deResParameters
,
parameters
,
[],
viewparam
);
if
(
Object
.
is
(
this
.
$route
.
fullPath
,
path
)){
return
;
}
this
.
$nextTick
(
function
(){
this
.
$router
.
push
(
path
);
})
}
/**
* 右键操作
*
...
...
app_Web/src/widgets/app/main-menu-appmenu/main-menu-appmenu-model.ts
浏览文件 @
e09933ae
...
...
@@ -1148,6 +1148,25 @@ export default class MainMenuModel {
appfunctag
:
'AppFunc16'
,
resourcetag
:
''
,
authtag
:
'Web-MainMenu-menuitem90'
,
},
{
id
:
'2B34D075-4A39-41ED-86A3-69EFF4C18CA3'
,
name
:
'menuitem94'
,
text
:
'项布局面板'
,
type
:
'MENUITEM'
,
counterid
:
''
,
tooltip
:
'项布局面板'
,
expanded
:
false
,
separator
:
false
,
hidden
:
false
,
hidesidebar
:
false
,
opendefault
:
false
,
iconcls
:
''
,
icon
:
''
,
textcls
:
''
,
appfunctag
:
'AppFunc19'
,
resourcetag
:
''
,
authtag
:
'Web-MainMenu-menuitem94'
,
},
],
},
...
...
app_Web/src/widgets/ibizbook/usr4-dataview/usr4-dataview-base.vue
浏览文件 @
e09933ae
...
...
@@ -16,29 +16,29 @@
<Icon
type=
"md-arrow-dropdown"
/>
</span>
</i-col>
<i-col
:class=
"getsortClass('ibizbookname')"
@
click
.
native=
"sortClick('ibizbookname')"
>
<span
class=
"sort-field-text"
>
{{
$t
(
'entities.ibizbook.fields.ibizbookname'
)
}}
</span>
<span
class=
"caret-wrapper"
>
<Icon
type=
"md-arrow-dropup"
/>
<Icon
type=
"md-arrow-dropdown"
/>
</span>
</i-col>
</row>
</div>
<row
class=
"data-view-container"
v-if=
"items.length > 0"
:gutter=
"20"
type=
"flex"
justify=
"start"
style=
"margin:0px;"
>
<a
v-for=
"(item,index) in items"
:key=
"index"
:href =
"item.starturl"
>
<i-col
style=
"min-height: 170px;margin-bottom: 10px;"
>
<el-card
shadow=
"always"
:class=
"[ item.isselected === true ? 'isselected' : false, 'single-card-data' ]"
@
click
.
native=
"handleClick(item)"
@
dblclick
.
native=
"handleDblClick(item)"
>
<div
class=
"data-view-item"
>
<img
v-if=
"item.srficonpath"
:src=
"item.srficonpath"
class=
"single-card-img"
/>
<img
v-else
src=
"/assets/img/noimage.png"
class=
"single-card-img"
/>
<div
class=
"single-card-default"
>
<Tooltip
:content=
"item.srfmajortext"
>
{{
item
.
srfmajortext
}}
</Tooltip>
</div>
</div>
<div
class=
"data-view-item-action"
>
<template
v-for=
"(action,index) in Object.keys(ActionModel)"
>
<button
type=
"info"
:key=
"index"
@
click=
"uiAction(item, action, $event)"
>
<i
:class=
"ActionModel[action].icon"
style=
"margin-right:2px;"
></i>
<span>
{{
ActionModel
[
action
].
caption
}}
</span>
</button>
</
template
>
</div>
<layout
_itemlayoutpanel
:viewState=
"viewState"
:viewparams=
"viewparams"
:context=
"context"
:parentRef=
"thisRef"
:inputData=
"item"
@
panelDataChange=
"($event)=>
{onPanelDataChange(item,$event)}"
name="itemlayoutpanel"
ref='itemlayoutpanel'>
</layout
_itemlayoutpanel
>
</el-card>
</i-col>
</a>
...
...
app_Web/src/widgets/ibizbook/usr4-dataview/usr4-dataview-model.ts
浏览文件 @
e09933ae
...
...
@@ -19,6 +19,11 @@ export default class Usr4Model {
prop
:
'author'
,
dataType
:
'TEXT'
,
},
{
name
:
'ibizbookname'
,
prop
:
'ibizbookname'
,
dataType
:
'TEXT'
,
},
{
name
:
'srfmajortext'
,
prop
:
'ibizbookname'
,
...
...
@@ -36,6 +41,17 @@ export default class Usr4Model {
dataType
:
'FONTKEY'
,
},
{
name
:
'n_ibizbookname_like'
,
prop
:
'n_ibizbookname_like'
,
dataType
:
'QUERYPARAM'
},
{
name
:
'n_price_gtandeq'
,
prop
:
'n_price_gtandeq'
,
dataType
:
'QUERYPARAM'
},
{
name
:
'size'
,
...
...
app_Web/src/widgets/ibizbook/usr4-dataview/usr4-dataview.vue
浏览文件 @
e09933ae
...
...
@@ -2,9 +2,11 @@
import
{
Component
}
from
'vue-property-decorator'
;
import
Usr4Base
from
'./usr4-dataview-base.vue'
;
import
layout_itemlayoutpanel
from
'@widgets/ibizbook/usr4-panel/usr4-panel.vue'
;
@
Component
({
components
:
{
layout_itemlayoutpanel
,
}
})
...
...
app_Web/src/widgets/ibizbook/usr4-panel/usr4-panel-base.vue
0 → 100644
浏览文件 @
e09933ae
<
template
>
<row
class=
"app-layoutpanel "
style=
"width:100%;height:100%;"
>
<i-col
v-show=
"detailsModel.field1.visible"
:md=
"
{ span: 24, offset: 0 }" style="" class="app-layoutpanel-field">
<div
class=
"item-field"
>
<app-panel-field
name=
'field1'
labelPos=
'LEFT'
caption=
"作者"
:isEmptyCaption=
"false"
:error=
'detailsModel.field1.error'
:data=
'data'
:value=
'data.field1'
:itemRules=
"rules.field1"
>
<app-span
:value=
"data.field1"
name=
"field1"
:data=
"data"
:context=
"context"
:viewparams=
"viewparams"
:localContext =
'
{ }' :localParam ='{ }' style="">
</app-span>
</app-panel-field>
</div>
</i-col>
<i-col
v-show=
"detailsModel.field2.visible"
:md=
"
{ span: 24, offset: 0 }" style="" class="app-layoutpanel-field">
<div
class=
"item-field"
>
<app-panel-field
name=
'field2'
labelPos=
'LEFT'
caption=
"图书名称"
:isEmptyCaption=
"false"
:error=
'detailsModel.field2.error'
:data=
'data'
:value=
'data.field2'
:itemRules=
"rules.field2"
>
<app-span
:value=
"data.field2"
name=
"field2"
:data=
"data"
:context=
"context"
:viewparams=
"viewparams"
:localContext =
'
{ }' :localParam ='{ }' style="">
</app-span>
</app-panel-field>
</div>
</i-col>
</row>
</
template
>
<
script
lang=
'tsx'
>
import
{
Vue
,
Component
,
Prop
,
Provide
,
Emit
,
Watch
,
Model
,
Inject
}
from
'vue-property-decorator'
;
import
{
CreateElement
}
from
'vue'
;
import
{
Subject
,
Subscription
}
from
'rxjs'
;
import
{
ControlInterface
}
from
'@/interface/control'
;
import
{
UIActionTool
,
Util
,
ViewTool
}
from
'@/utils'
;
import
NavDataService
from
'@/service/app/navdata-service'
;
import
AppCenterService
from
"@service/app/app-center-service"
;
import
IBIZBOOKService
from
'@/service/ibizbook/ibizbook-service'
;
import
Usr4Service
from
'./usr4-panel-service'
;
import
IBIZBOOKUIService
from
'@/uiservice/ibizbook/ibizbook-ui-service'
;
import
{
PanelDetailModel
,
PanelRawitemModel
,
PanelTabPanelModel
,
PanelTabPageModel
,
PanelFieldModel
,
PanelContainerModel
,
PanelControlModel
,
PanelUserControlModel
,
PanelButtonModel
}
from
'@/model/panel-detail'
;
import
Usr4Model
from
'./usr4-panel-model'
;
import
CodeListService
from
"@/codelist/codelist-service"
;
import
UIService
from
'@/uiservice/ui-service'
;
@
Component
({
components
:
{
}
})
export
default
class
Usr4Base
extends
Vue
implements
ControlInterface
{
/**
* 名称
*
* @type {string}
* @memberof Usr4Base
*/
@
Prop
()
public
name
?:
string
;
/**
* 视图通讯对象
*
* @type {Subject<ViewState>}
* @memberof Usr4Base
*/
@
Prop
()
public
viewState
!
:
Subject
<
ViewState
>
;
/**
* 应用上下文
*
* @type {*}
* @memberof Usr4Base
*/
@
Prop
()
public
context
:
any
;
/**
* 视图参数
*
* @type {*}
* @memberof Usr4Base
*/
@
Prop
()
public
viewparams
:
any
;
/**
* 视图状态事件
*
* @public
* @type {(Subscription | undefined)}
* @memberof Usr4Base
*/
public
viewStateEvent
:
Subscription
|
undefined
;
/**
* 获取部件类型
*
* @returns {string}
* @memberof Usr4Base
*/
public
getControlType
():
string
{
return
'PANEL'
}
/**
* 计数器服务对象集合
*
* @type {Array<*>}
* @memberof Usr4Base
*/
public
counterServiceArray
:
Array
<
any
>
=
[];
/**
* 建构部件服务对象
*
* @type {Usr4Service}
* @memberof Usr4Base
*/
public
service
:
Usr4Service
=
new
Usr4Service
({
$store
:
this
.
$store
});
/**
* 实体服务对象
*
* @type {IBIZBOOKService}
* @memberof Usr4Base
*/
public
appEntityService
:
IBIZBOOKService
=
new
IBIZBOOKService
({
$store
:
this
.
$store
});
/**
* 转化数据
*
* @param {any} args
* @memberof Usr4Base
*/
public
transformData
(
args
:
any
)
{
let
_this
:
any
=
this
;
if
(
_this
.
service
&&
_this
.
service
.
handleRequestData
instanceof
Function
&&
_this
.
service
.
handleRequestData
(
'transform'
,
_this
.
context
,
args
)){
return
_this
.
service
.
handleRequestData
(
'transform'
,
_this
.
context
,
args
)[
'data'
];
}
}
/**
* 关闭视图
*
* @param {any} args
* @memberof Usr4Base
*/
public
closeView
(
args
:
any
):
void
{
let
_this
:
any
=
this
;
_this
.
$emit
(
'closeview'
,
[
args
]);
}
/**
* 计数器刷新
*
* @memberof Usr4Base
*/
public
counterRefresh
(){
const
_this
:
any
=
this
;
if
(
_this
.
counterServiceArray
&&
_this
.
counterServiceArray
.
length
>
0
){
_this
.
counterServiceArray
.
forEach
((
item
:
any
)
=>
{
if
(
item
.
refreshData
&&
item
.
refreshData
instanceof
Function
){
item
.
refreshData
();
}
})
}
}
/**
* 接口实现
*
* @returns {any[]}
* @memberof Usr4Base
*/
getDatas
():
any
[]
{
if
(
!
this
.
panelData
)
{
return
[];
}
return
[
this
.
panelData
];
}
/**
* 接口实现
*
* @returns {*}
* @memberof Usr4Base
*/
getData
()
{
return
this
.
panelData
;
}
/**
* 父级部件引用
*
* @type {*}
* @memberof Usr4Base
*/
@
Prop
()
public
parentRef
?:
any
;
/**
* 面板数据对象
*
* @type {*}
* @memberof Usr4Base
*/
@
Prop
()
public
inputData
?:
any
;
/**
* UI数据对象
*
* @type {*}
* @memberof Usr4Base
*/
public
data
:
any
=
{};
/**
* 面板数据对象
*
* @type {*}
* @memberof Usr4Base
*/
public
panelData
:
any
=
null
;
/**
* 数据模型对象
*
* @type {Usr4Model}
* @memberof Usr4Base
*/
public
dataModel
:
Usr4Model
=
new
Usr4Model
();
/**
* 代码表服务对象
*
* @type {CodeListService}
* @memberof Usr4Base
*/
public
codeListService
:
CodeListService
=
new
CodeListService
({
$store
:
this
.
$store
});
/**
* 界面UI服务对象
*
* @type {IBIZBOOKUIService}
* @memberof Usr4Base
*/
public
appUIService
:
IBIZBOOKUIService
=
new
IBIZBOOKUIService
(
this
.
$store
);
/**
* 详情模型集合
*
* @type {*}
* @memberof Usr4Base
*/
public
detailsModel
:
any
=
{
field1
:
new
PanelFieldModel
({
caption
:
'作者'
,
itemType
:
'FIELD'
,
visible
:
true
,
disabled
:
false
,
name
:
'field1'
,
panel
:
this
})
,
field2
:
new
PanelFieldModel
({
caption
:
'图书名称'
,
itemType
:
'FIELD'
,
visible
:
true
,
disabled
:
false
,
name
:
'field2'
,
panel
:
this
})
,
};
/**
* 值规则对象
*
* @type {*}
* @memberof Usr4Base
*/
public
rules
:
any
=
{
field1
:[
{
required
:
false
,
type
:
'string'
,
message
:
'作者 值不能为空'
},
{
required
:
false
,
type
:
'string'
,
message
:
'作者 值不能为空'
}
],
field2
:[
{
required
:
false
,
type
:
'string'
,
message
:
'图书名称 值不能为空'
},
{
required
:
false
,
type
:
'string'
,
message
:
'图书名称 值不能为空'
}
],
};
/**
* 监听数据对象
*
* @memberof Usr4Base
*/
@
Watch
(
'inputData'
,{
immediate
:
true
,
deep
:
true
})
public
onInputDataChange
(
newVal
:
any
,
oldVal
:
any
){
if
(
newVal
){
this
.
computedUIData
(
newVal
);
this
.
panelData
=
Util
.
deepCopy
(
newVal
);
this
.
computeButtonState
(
newVal
);
this
.
panelLogic
({
name
:
''
,
newVal
:
null
,
oldVal
:
null
});
this
.
$forceUpdate
();
}
}
/**
* 计算UI展示数据
*
* @param codelistArray 代码表模型数组
* @memberof Usr4Base
*/
public
computedUIData
(
newVal
:
any
){
if
((
this
.
dataModel
.
getDataItems
instanceof
Function
)
&&
this
.
dataModel
.
getDataItems
().
length
>
0
){
this
.
dataModel
.
getDataItems
().
forEach
((
item
:
any
)
=>
{
this
.
data
[
item
.
name
]
=
newVal
[
item
.
prop
];
})
}
}
/**
* 计算面板按钮权限状态
*
* @param {*} [data] 传入数据
* @memberof Usr4Base
*/
public
computeButtonState
(
data
:
any
){
// 若为项布局面板,存在parentRef
if
(
this
.
parentRef
){
let
targetData
:
any
=
this
.
parentRef
.
transformData
(
data
);
if
(
this
.
detailsModel
&&
Object
.
keys
(
this
.
detailsModel
).
length
>
0
){
Object
.
keys
(
this
.
detailsModel
).
forEach
((
name
:
any
)
=>
{
if
(
this
.
detailsModel
[
name
]
&&
this
.
detailsModel
[
name
].
uiaction
&&
this
.
detailsModel
[
name
].
uiaction
.
dataaccaction
&&
Object
.
is
(
this
.
detailsModel
[
name
].
itemType
,
"BUTTON"
)){
this
.
detailsModel
[
name
].
isPower
=
true
;
let
tempUIAction
:
any
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
detailsModel
[
name
].
uiaction
));
let
result
:
any
[]
=
ViewTool
.
calcActionItemAuthState
(
targetData
,[
tempUIAction
],
this
.
appUIService
?
this
.
appUIService
:
null
);
this
.
detailsModel
[
name
].
visible
=
tempUIAction
.
visabled
;
this
.
detailsModel
[
name
].
disabled
=
tempUIAction
.
disabled
;
this
.
detailsModel
[
name
].
isPower
=
result
[
0
]
===
1
?
true
:
false
;
}
})
}
}
}
/**
* 界面行为
*
* @param {*} row
* @param {*} tag
* @param {*} $event
* @memberof Usr4Base
*/
public
uiAction
(
row
:
any
,
tag
:
any
,
$event
:
any
)
{
}
/**
* 打开编辑数据视图
*
* @type {any}
* @memberof Usr4Base
*/
public
opendata
(
args
:
any
[],
fullargs
?:
any
[],
params
?:
any
,
$event
?:
any
,
xData
?:
any
){
if
(
this
.
parentRef
.
opendata
&&
this
.
parentRef
.
opendata
instanceof
Function
)
{
this
.
parentRef
.
opendata
(
args
,
fullargs
,
params
,
$event
,
xData
);
}
}
/**
* 打开新建数据视图
*
* @type {any}
* @memberof Usr4Base
*/
public
newdata
(
args
:
any
[],
fullargs
?:
any
[],
params
?:
any
,
$event
?:
any
,
xData
?:
any
)
{
if
(
this
.
parentRef
.
newdata
&&
this
.
parentRef
.
newdata
instanceof
Function
)
{
this
.
parentRef
.
newdata
(
args
,
fullargs
,
params
,
$event
,
xData
);
}
}
/**
* 删除
*
* @param {any[]} datas
* @returns {Promise<any>}
* @memberof Usr4Base
*/
public
async
remove
(
datas
:
any
[]):
Promise
<
any
>
{
if
(
this
.
parentRef
.
remove
&&
this
.
parentRef
.
remove
instanceof
Function
)
{
return
this
.
parentRef
.
remove
(
datas
);
}
}
/**
* 刷新
*
* @param {*} [args={}]
* @memberof Usr4Base
*/
public
refresh
(
args
:
any
=
{})
{
if
(
this
.
parentRef
.
refresh
&&
this
.
parentRef
.
refresh
instanceof
Function
)
{
this
.
parentRef
.
refresh
(
args
);
}
}
/**
* 设置变更面板编辑项的值
*
* @param data 面板数据
* @param {{ name: string, value: any }} $event
* @returns {void}
* @memberof Usr4Base
*/
public
onPanelItemValueChange
(
data
:
any
,
$event
:
{
name
:
string
,
value
:
any
}):
void
{
if
(
!
$event
)
{
return
;
}
if
(
!
$event
.
name
||
Object
.
is
(
$event
.
name
,
''
)
||
!
data
.
hasOwnProperty
(
$event
.
name
))
{
return
;
}
data
[
$event
.
name
]
=
$event
.
value
;
this
.
panelEditItemChange
(
data
,
$event
.
name
,
$event
.
value
);
}
/**
* 面板编辑项值变化后续操作
*
* @public
* @param data 面板数据
* @param property 编辑项名
* @param value 编辑项值
* @returns {void}
* @memberof Usr4Base
*/
public
panelEditItemChange
(
data
:
any
,
property
:
string
,
value
:
any
){
// 面板数据变化事件
if
((
this
.
dataModel
.
getDataItems
instanceof
Function
)
&&
this
.
dataModel
.
getDataItems
().
length
>
0
){
let
modelitem
=
this
.
dataModel
.
getDataItems
().
find
((
item
:
any
)
=>
{
return
item
.
name
===
property
;
})
if
(
modelitem
){
this
.
$emit
(
'panelDataChange'
,{[
modelitem
.
prop
]:
value
});
}
}
}
/**
* 分页切换事件
*
* @memberof Usr4Base
*/
public
handleTabPanelClick
(
name
:
string
,
$event
:
any
){
this
.
detailsModel
[
name
].
clickPage
(
$event
.
name
);
}
/**
* 面板逻辑
*
* @public
* @param {{ name: string, newVal: any, oldVal: any }} { name, newVal, oldVal }
* @memberof Usr4Base
*/
public
panelLogic
({
name
,
newVal
,
oldVal
}:
{
name
:
string
,
newVal
:
any
,
oldVal
:
any
}):
void
{
}
}
</
script
>
<
style
lang=
'less'
>
@import './usr4-panel.less';
</
style
>
app_Web/src/widgets/ibizbook/usr4-panel/usr4-panel-model.ts
0 → 100644
浏览文件 @
e09933ae
/**
* Usr4 部件模型
*
* @export
* @class Usr4Model
*/
export
default
class
Usr4Model
{
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof Usr4Model
*/
public
getDataItems
():
any
[]
{
return
[
{
name
:
'field1'
,
prop
:
'author'
},
{
name
:
'field2'
,
prop
:
' ibizbookname'
}
]
}
}
\ No newline at end of file
app_Web/src/widgets/ibizbook/usr4-panel/usr4-panel-service.ts
0 → 100644
浏览文件 @
e09933ae
import
{
Http
}
from
'@/utils'
;
import
ControlService
from
'@/widgets/control-service'
;
/**
* Usr4 部件服务对象
*
* @export
* @class Usr4Service
*/
export
default
class
Usr4Service
extends
ControlService
{
}
\ No newline at end of file
app_Web/src/widgets/ibizbook/usr4-panel/usr4-panel.less
0 → 100644
浏览文件 @
e09933ae
// this is less
.app-layoutpanel {
height: 100%;
.app-layoutpanel-container {
padding: 6px;
}
.app-layoutpanel-tabpanel{
>.el-tabs {
>.el-.el-tabs__header{
margin: 0 0 10px;
}
.app-layoutpanel-tabpage{
padding: 6px;
}
}
}
.app-layoutpanel-button,.app-layoutpanel-conctrl,.app-layoutpanel-ctrlpos,.app-layoutpanel-field,.app-layoutpanel-rowitem,.app-layoutpanel-usercontrol{
padding: 6px;
}
.item-field{
padding: 0 4px;
display: flex;
>.item-field-label{
padding: 0 8px;
}
}
}
\ No newline at end of file
app_Web/src/widgets/ibizbook/usr4-panel/usr4-panel.vue
0 → 100644
浏览文件 @
e09933ae
<
script
lang=
'tsx'
>
import
{
Component
}
from
'vue-property-decorator'
;
import
Usr4Base
from
'./usr4-panel-base.vue'
;
@
Component
({
components
:
{
}
})
export
default
class
Usr4
extends
Usr4Base
{
}
</
script
>
\ No newline at end of file
demo-core/src/main/resources/permission/systemResource.json
浏览文件 @
e09933ae
...
...
@@ -302,7 +302,7 @@
{
"appid"
:
"Web"
,
"appname"
:
"演示应用"
,
"appmenu"
:[{
"menuid"
:
"MainMenu"
,
"menuname"
:
"MainMenu"
,
"menuitem"
:[{
"id"
:
"menuitem1"
,
"name"
:
"工作台"
},{
"id"
:
"menuitem3"
,
"name"
:
"控件"
,
"items"
:[{
"id"
:
"menuitem6"
,
"name"
:
"默认数据类型"
},{
"id"
:
"menuitem7"
,
"name"
:
"默认编辑器类型"
},{
"id"
:
"menuitem15"
,
"name"
:
"基础表单项"
},{
"id"
:
"menuitem72"
,
"name"
:
"扩展编辑器"
}]},{
"id"
:
"menuitem4"
,
"name"
:
"部件"
,
"items"
:[{
"id"
:
"menuitem12"
,
"name"
:
"编辑表单"
,
"items"
:[{
"id"
:
"menuitem47"
,
"name"
:
"默认值"
},{
"id"
:
"menuitem48"
,
"name"
:
"输入提示"
},{
"id"
:
"menuitem49"
,
"name"
:
"辅助输入"
},{
"id"
:
"menuitem50"
,
"name"
:
"自动填充"
},{
"id"
:
"menuitem51"
,
"name"
:
"超链接"
},{
"id"
:
"menuitem52"
,
"name"
:
"值重置"
},{
"id"
:
"menuitem55"
,
"name"
:
"动态显示"
},{
"id"
:
"menuitem53"
,
"name"
:
"动态启用"
},{
"id"
:
"menuitem54"
,
"name"
:
"动态空输入"
},{
"id"
:
"menuitem56"
,
"name"
:
"表单项更新"
}]},{
"id"
:
"menuitem16"
,
"name"
:
"搜索表单"
},{
"id"
:
"menuitem13"
,
"name"
:
"表格"
,
"items"
:[{
"id"
:
"menuitem57"
,
"name"
:
"禁用排序"
},{
"id"
:
"menuitem59"
,
"name"
:
"行操作"
},{
"id"
:
"menuitem58"
,
"name"
:
"行编辑"
},{
"id"
:
"menuitem73"
,
"name"
:
"表格内置功能"
},{
"id"
:
"menuitem74"
,
"name"
:
"表格行编辑"
},{
"id"
:
"menuitem75"
,
"name"
:
"新建默认值"
},{
"id"
:
"menuitem76"
,
"name"
:
"更新默认值"
},{
"id"
:
"menuitem77"
,
"name"
:
"表格值规则"
},{
"id"
:
"menuitem78"
,
"name"
:
"自动分组"
},{
"id"
:
"menuitem80"
,
"name"
:
"代码表分组"
},{
"id"
:
"menuitem81"
,
"name"
:
"当前页聚合"
},{
"id"
:
"menuitem82"
,
"name"
:
"远程聚合"
}]},{
"id"
:
"menuitem83"
,
"name"
:
"列表"
,
"items"
:[{
"id"
:
"menuitem84"
,
"name"
:
"列表内置功能"
},{
"id"
:
"menuitem85"
,
"name"
:
"列表自动分组"
},{
"id"
:
"menuitem86"
,
"name"
:
"代码表分组"
},{
"id"
:
"menuitem91"
,
"name"
:
"列表嵌入面板"
}]},{
"id"
:
"menuitem14"
,
"name"
:
"树视图"
,
"items"
:[{
"id"
:
"menuitem60"
,
"name"
:
"静态节点"
},{
"id"
:
"menuitem61"
,
"name"
:
"动态节点(代码表)"
},{
"id"
:
"menuitem62"
,
"name"
:
"动态节点(实体)"
},{
"id"
:
"menuitem63"
,
"name"
:
"右键操作"
},{
"id"
:
"menuitem64"
,
"name"
:
"动态参数过滤"
}]},{
"id"
:
"menuitem37"
,
"name"
:
"图表"
,
"items"
:[{
"id"
:
"menuitem38"
,
"name"
:
"柱状图"
},{
"id"
:
"menuitem39"
,
"name"
:
"折线图"
},{
"id"
:
"menuitem40"
,
"name"
:
"饼图"
},{
"id"
:
"menuitem41"
,
"name"
:
"区域图"
},{
"id"
:
"menuitem42"
,
"name"
:
"雷达图"
},{
"id"
:
"menuitem43"
,
"name"
:
"仪表盘"
},{
"id"
:
"menuitem44"
,
"name"
:
"K线图"
}]},{
"id"
:
"menuitem17"
,
"name"
:
"向导"
},{
"id"
:
"menuitem18"
,
"name"
:
"界面行为"
,
"items"
:[{
"id"
:
"menuitem65"
,
"name"
:
"前端界面行为"
},{
"id"
:
"menuitem66"
,
"name"
:
"后台界面行为"
}]},{
"id"
:
"menuitem87"
,
"name"
:
"数据视图"
,
"items"
:[{
"id"
:
"menuitem88"
,
"name"
:
"内置功能"
},{
"id"
:
"menuitem89"
,
"name"
:
"自动分组"
},{
"id"
:
"menuitem90"
,
"name"
:
"代码表分组"
}]}]},{
"id"
:
"menuitem5"
,
"name"
:
"视图"
,
"items"
:[{
"id"
:
"menuitem9"
,
"name"
:
"列表视图"
,
"items"
:[{
"id"
:
"menuitem19"
,
"name"
:
"常规表格视图"
},{
"id"
:
"menuitem21"
,
"name"
:
"左右表格视图"
},{
"id"
:
"menuitem20"
,
"name"
:
"嵌入表格视图"
}]},{
"id"
:
"menuitem8"
,
"name"
:
"编辑视图"
,
"items"
:[{
"id"
:
"menuitem22"
,
"name"
:
"常规编辑视图"
},{
"id"
:
"menuitem23"
,
"name"
:
"左右编辑视图"
},{
"id"
:
"menuitem24"
,
"name"
:
"分页编辑视图"
},{
"id"
:
"menuitem25"
,
"name"
:
"嵌入编辑视图"
}]},{
"id"
:
"menuitem26"
,
"name"
:
"选择视图"
,
"items"
:[{
"id"
:
"menuitem27"
,
"name"
:
"单选视图"
},{
"id"
:
"menuitem28"
,
"name"
:
"多选视图"
},{
"id"
:
"menuitem29"
,
"name"
:
"树形选择视图"
},{
"id"
:
"menuitem30"
,
"name"
:
"左右单选视图"
},{
"id"
:
"menuitem31"
,
"name"
:
"左右多选视图"
}]},{
"id"
:
"menuitem10"
,
"name"
:
"导航视图"
,
"items"
:[{
"id"
:
"menuitem32"
,
"name"
:
"常规导航视图"
},{
"id"
:
"menuitem33"
,
"name"
:
"分页导航视图"
},{
"id"
:
"menuitem34"
,
"name"
:
"嵌入导航视图"
}]},{
"id"
:
"menuitem11"
,
"name"
:
"其他视图"
,
"items"
:[{
"id"
:
"menuitem35"
,
"name"
:
"图表视图"
},{
"id"
:
"menuitem36"
,
"name"
:
"报表视图"
}]},{
"id"
:
"menuitem79"
,
"name"
:
"表格视图"
}]},{
"id"
:
"menuitem69"
,
"name"
:
"工作流"
},{
"id"
:
"menuitem2"
,
"name"
:
"更多"
,
"items"
:[{
"id"
:
"menuitem46"
,
"name"
:
"数据导出导入"
},{
"id"
:
"menuitem45"
,
"name"
:
"数据打印"
},{
"id"
:
"menuitem67"
,
"name"
:
"索引实体"
},{
"id"
:
"menuitem68"
,
"name"
:
"继承实体"
},{
"id"
:
"menuitem70"
,
"name"
:
"主状态"
},{
"id"
:
"menuitem71"
,
"name"
:
"多表单"
}]},{
"id"
:
"menuitem92"
,
"name"
:
"其他"
,
"items"
:[{
"id"
:
"menuitem93"
,
"name"
:
"示例数据补充"
}]}]
}]
"appmenu"
:[{
"menuid"
:
"MainMenu"
,
"menuname"
:
"MainMenu"
,
"menuitem"
:[{
"id"
:
"menuitem1"
,
"name"
:
"工作台"
},{
"id"
:
"menuitem3"
,
"name"
:
"控件"
,
"items"
:[{
"id"
:
"menuitem6"
,
"name"
:
"默认数据类型"
},{
"id"
:
"menuitem7"
,
"name"
:
"默认编辑器类型"
},{
"id"
:
"menuitem15"
,
"name"
:
"基础表单项"
},{
"id"
:
"menuitem72"
,
"name"
:
"扩展编辑器"
}]},{
"id"
:
"menuitem4"
,
"name"
:
"部件"
,
"items"
:[{
"id"
:
"menuitem12"
,
"name"
:
"编辑表单"
,
"items"
:[{
"id"
:
"menuitem47"
,
"name"
:
"默认值"
},{
"id"
:
"menuitem48"
,
"name"
:
"输入提示"
},{
"id"
:
"menuitem49"
,
"name"
:
"辅助输入"
},{
"id"
:
"menuitem50"
,
"name"
:
"自动填充"
},{
"id"
:
"menuitem51"
,
"name"
:
"超链接"
},{
"id"
:
"menuitem52"
,
"name"
:
"值重置"
},{
"id"
:
"menuitem55"
,
"name"
:
"动态显示"
},{
"id"
:
"menuitem53"
,
"name"
:
"动态启用"
},{
"id"
:
"menuitem54"
,
"name"
:
"动态空输入"
},{
"id"
:
"menuitem56"
,
"name"
:
"表单项更新"
}]},{
"id"
:
"menuitem16"
,
"name"
:
"搜索表单"
},{
"id"
:
"menuitem13"
,
"name"
:
"表格"
,
"items"
:[{
"id"
:
"menuitem57"
,
"name"
:
"禁用排序"
},{
"id"
:
"menuitem59"
,
"name"
:
"行操作"
},{
"id"
:
"menuitem58"
,
"name"
:
"行编辑"
},{
"id"
:
"menuitem73"
,
"name"
:
"表格内置功能"
},{
"id"
:
"menuitem74"
,
"name"
:
"表格行编辑"
},{
"id"
:
"menuitem75"
,
"name"
:
"新建默认值"
},{
"id"
:
"menuitem76"
,
"name"
:
"更新默认值"
},{
"id"
:
"menuitem77"
,
"name"
:
"表格值规则"
},{
"id"
:
"menuitem78"
,
"name"
:
"自动分组"
},{
"id"
:
"menuitem80"
,
"name"
:
"代码表分组"
},{
"id"
:
"menuitem81"
,
"name"
:
"当前页聚合"
},{
"id"
:
"menuitem82"
,
"name"
:
"远程聚合"
}]},{
"id"
:
"menuitem83"
,
"name"
:
"列表"
,
"items"
:[{
"id"
:
"menuitem84"
,
"name"
:
"列表内置功能"
},{
"id"
:
"menuitem85"
,
"name"
:
"列表自动分组"
},{
"id"
:
"menuitem86"
,
"name"
:
"代码表分组"
},{
"id"
:
"menuitem91"
,
"name"
:
"列表嵌入面板"
}]},{
"id"
:
"menuitem14"
,
"name"
:
"树视图"
,
"items"
:[{
"id"
:
"menuitem60"
,
"name"
:
"静态节点"
},{
"id"
:
"menuitem61"
,
"name"
:
"动态节点(代码表)"
},{
"id"
:
"menuitem62"
,
"name"
:
"动态节点(实体)"
},{
"id"
:
"menuitem63"
,
"name"
:
"右键操作"
},{
"id"
:
"menuitem64"
,
"name"
:
"动态参数过滤"
}]},{
"id"
:
"menuitem37"
,
"name"
:
"图表"
,
"items"
:[{
"id"
:
"menuitem38"
,
"name"
:
"柱状图"
},{
"id"
:
"menuitem39"
,
"name"
:
"折线图"
},{
"id"
:
"menuitem40"
,
"name"
:
"饼图"
},{
"id"
:
"menuitem41"
,
"name"
:
"区域图"
},{
"id"
:
"menuitem42"
,
"name"
:
"雷达图"
},{
"id"
:
"menuitem43"
,
"name"
:
"仪表盘"
},{
"id"
:
"menuitem44"
,
"name"
:
"K线图"
}]},{
"id"
:
"menuitem17"
,
"name"
:
"向导"
},{
"id"
:
"menuitem18"
,
"name"
:
"界面行为"
,
"items"
:[{
"id"
:
"menuitem65"
,
"name"
:
"前端界面行为"
},{
"id"
:
"menuitem66"
,
"name"
:
"后台界面行为"
}]},{
"id"
:
"menuitem87"
,
"name"
:
"数据视图"
,
"items"
:[{
"id"
:
"menuitem88"
,
"name"
:
"内置功能"
},{
"id"
:
"menuitem89"
,
"name"
:
"自动分组"
},{
"id"
:
"menuitem90"
,
"name"
:
"代码表分组"
}
,{
"id"
:
"menuitem94"
,
"name"
:
"项布局面板"
}
]}]},{
"id"
:
"menuitem5"
,
"name"
:
"视图"
,
"items"
:[{
"id"
:
"menuitem9"
,
"name"
:
"列表视图"
,
"items"
:[{
"id"
:
"menuitem19"
,
"name"
:
"常规表格视图"
},{
"id"
:
"menuitem21"
,
"name"
:
"左右表格视图"
},{
"id"
:
"menuitem20"
,
"name"
:
"嵌入表格视图"
}]},{
"id"
:
"menuitem8"
,
"name"
:
"编辑视图"
,
"items"
:[{
"id"
:
"menuitem22"
,
"name"
:
"常规编辑视图"
},{
"id"
:
"menuitem23"
,
"name"
:
"左右编辑视图"
},{
"id"
:
"menuitem24"
,
"name"
:
"分页编辑视图"
},{
"id"
:
"menuitem25"
,
"name"
:
"嵌入编辑视图"
}]},{
"id"
:
"menuitem26"
,
"name"
:
"选择视图"
,
"items"
:[{
"id"
:
"menuitem27"
,
"name"
:
"单选视图"
},{
"id"
:
"menuitem28"
,
"name"
:
"多选视图"
},{
"id"
:
"menuitem29"
,
"name"
:
"树形选择视图"
},{
"id"
:
"menuitem30"
,
"name"
:
"左右单选视图"
},{
"id"
:
"menuitem31"
,
"name"
:
"左右多选视图"
}]},{
"id"
:
"menuitem10"
,
"name"
:
"导航视图"
,
"items"
:[{
"id"
:
"menuitem32"
,
"name"
:
"常规导航视图"
},{
"id"
:
"menuitem33"
,
"name"
:
"分页导航视图"
},{
"id"
:
"menuitem34"
,
"name"
:
"嵌入导航视图"
}]},{
"id"
:
"menuitem11"
,
"name"
:
"其他视图"
,
"items"
:[{
"id"
:
"menuitem35"
,
"name"
:
"图表视图"
},{
"id"
:
"menuitem36"
,
"name"
:
"报表视图"
}]},{
"id"
:
"menuitem79"
,
"name"
:
"表格视图"
}]},{
"id"
:
"menuitem69"
,
"name"
:
"工作流"
},{
"id"
:
"menuitem2"
,
"name"
:
"更多"
,
"items"
:[{
"id"
:
"menuitem46"
,
"name"
:
"数据导出导入"
},{
"id"
:
"menuitem45"
,
"name"
:
"数据打印"
},{
"id"
:
"menuitem67"
,
"name"
:
"索引实体"
},{
"id"
:
"menuitem68"
,
"name"
:
"继承实体"
},{
"id"
:
"menuitem70"
,
"name"
:
"主状态"
},{
"id"
:
"menuitem71"
,
"name"
:
"多表单"
}]},{
"id"
:
"menuitem92"
,
"name"
:
"其他"
,
"items"
:[{
"id"
:
"menuitem93"
,
"name"
:
"示例数据补充"
}]}]
}]
}
]
}
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录