Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
功
功能演示系统
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
示例
功能演示系统
提交
35df8637
提交
35df8637
编写于
2年前
作者:
ibizdev
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
tony001 发布系统代码 [后台服务,演示应用]
上级
ab3bc58f
变更
29
隐藏空白字符变更
内嵌
并排
正在显示
29 个修改的文件
包含
4424 行增加
和
110 行删除
+4424
-110
ibizbook_BO_CN_base.ts
...rc/locale/lanres/entities/ibizbook/ibizbook_BO_CN_base.ts
+10
-0
ibizbook_en_US_base.ts
...rc/locale/lanres/entities/ibizbook/ibizbook_en_US_base.ts
+10
-0
ibizbook_zh_CN_base.ts
...rc/locale/lanres/entities/ibizbook/ibizbook_zh_CN_base.ts
+10
-0
ibizbookcustom-view-layout-base.vue
...ookcustom-view-layout/ibizbookcustom-view-layout-base.vue
+73
-4
ibizbookcustom-view-layout.vue
...ibizbookcustom-view-layout/ibizbookcustom-view-layout.vue
+4
-0
ibizbookcustom-view-base.vue
...s/sample/ibizbookcustom-view/ibizbookcustom-view-base.vue
+45
-4
ibizbookoption-view-layout-base.vue
...ookoption-view-layout/ibizbookoption-view-layout-base.vue
+3
-3
grid-load-ui-logic-base.ts
app_Web/src/uiservice/ibizbook/grid-load-ui-logic-base.ts
+96
-0
grid-load-ui-logic.ts
app_Web/src/uiservice/ibizbook/grid-load-ui-logic.ts
+46
-0
default-searchform-base.vue
...s/ibizbook/default-searchform/default-searchform-base.vue
+2
-2
main-grid-base.vue
app_Web/src/widgets/ibizbook/main-grid/main-grid-base.vue
+2359
-0
main-grid-model.ts
app_Web/src/widgets/ibizbook/main-grid/main-grid-model.ts
+139
-0
main-grid-service.ts
app_Web/src/widgets/ibizbook/main-grid/main-grid-service.ts
+494
-0
main-grid.less
app_Web/src/widgets/ibizbook/main-grid/main-grid.less
+176
-0
main-grid.vue
app_Web/src/widgets/ibizbook/main-grid/main-grid.vue
+14
-0
card-navigation-dataview-base.vue
...ard-navigation-dataview/card-navigation-dataview-base.vue
+4
-4
list-exp-list-base.vue
...rc/widgets/ibizorder/list-exp-list/list-exp-list-base.vue
+4
-4
main-grid-base.vue
app_Web/src/widgets/ibizorder/main-grid/main-grid-base.vue
+7
-21
main-grid-model.ts
app_Web/src/widgets/ibizorder/main-grid/main-grid-model.ts
+0
-15
Usr.json
...SSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK/PSGANTTS/Usr.json
+12
-12
Main.json
...SSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK/PSGRIDS/Main.json
+188
-0
TreeTable.json
.../PSAPPDATAENTITIES/IBIZBOOK/PSTREEGRIDICES/TreeTable.json
+8
-8
IBIZBOOKCustomView.json
...emodel/PSSYSAPPS/Web/PSAPPDEVIEWS/IBIZBOOKCustomView.json
+124
-4
IBIZBOOKCustomView_layout.json
...PSSYSAPPS/Web/PSAPPDEVIEWS/IBIZBOOKCustomView_layout.json
+558
-4
IBIZBOOKGanttView.json
...temodel/PSSYSAPPS/Web/PSAPPDEVIEWS/IBIZBOOKGanttView.json
+12
-12
IBIZBOOKOptionView_layout.json
...PSSYSAPPS/Web/PSAPPDEVIEWS/IBIZBOOKOptionView_layout.json
+15
-2
IBIZBOOKTreeGridExView.json
...el/PSSYSAPPS/Web/PSAPPDEVIEWS/IBIZBOOKTreeGridExView.json
+8
-8
h2_table.xml
demo-core/src/main/resources/liquibase/h2_table.xml
+2
-2
view.xml
demo-core/src/main/resources/liquibase/view.xml
+1
-1
未找到文件。
app_Web/src/locale/lanres/entities/ibizbook/ibizbook_BO_CN_base.ts
浏览文件 @
35df8637
...
...
@@ -703,6 +703,16 @@ function getLocaleResourceBase(){
uiactions
:
{
},
},
main_grid
:
{
columns
:
{
ibizbookname
:
commonLogic
.
appcommonhandle
(
"图书名称"
,
null
),
updateman
:
commonLogic
.
appcommonhandle
(
"更新人"
,
null
),
updatedate
:
commonLogic
.
appcommonhandle
(
"更新时间"
,
null
),
},
nodata
:
commonLogic
.
appcommonhandle
(
""
,
null
),
uiactions
:
{
},
},
main2_grid
:
{
columns
:
{
type
:
commonLogic
.
appcommonhandle
(
"图书类型"
,
null
),
...
...
This diff is collapsed.
Click to expand it.
app_Web/src/locale/lanres/entities/ibizbook/ibizbook_en_US_base.ts
浏览文件 @
35df8637
...
...
@@ -703,6 +703,16 @@ function getLocaleResourceBase(){
uiactions
:
{
},
},
main_grid
:
{
columns
:
{
ibizbookname
:
commonLogic
.
appcommonhandle
(
"图书名称"
,
null
),
updateman
:
commonLogic
.
appcommonhandle
(
"更新人"
,
null
),
updatedate
:
commonLogic
.
appcommonhandle
(
"更新时间"
,
null
),
},
nodata
:
commonLogic
.
appcommonhandle
(
""
,
null
),
uiactions
:
{
},
},
main2_grid
:
{
columns
:
{
type
:
commonLogic
.
appcommonhandle
(
"图书类型"
,
null
),
...
...
This diff is collapsed.
Click to expand it.
app_Web/src/locale/lanres/entities/ibizbook/ibizbook_zh_CN_base.ts
浏览文件 @
35df8637
...
...
@@ -703,6 +703,16 @@ function getLocaleResourceBase(){
uiactions
:
{
},
},
main_grid
:
{
columns
:
{
ibizbookname
:
commonLogic
.
appcommonhandle
(
"图书名称"
,
null
),
updateman
:
commonLogic
.
appcommonhandle
(
"更新人"
,
null
),
updatedate
:
commonLogic
.
appcommonhandle
(
"更新时间"
,
null
),
},
nodata
:
commonLogic
.
appcommonhandle
(
""
,
null
),
uiactions
:
{
},
},
main2_grid
:
{
columns
:
{
type
:
commonLogic
.
appcommonhandle
(
"图书类型"
,
null
),
...
...
This diff is collapsed.
Click to expand it.
app_Web/src/pages/sample/ibizbookcustom-view-layout/ibizbookcustom-view-layout-base.vue
浏览文件 @
35df8637
<
template
>
<div
v-show=
"!isLayoutLoadding"
class=
"app-view-layout ibizbookcustom-view-layout"
:style=
"
{height: '100%', width: '100%', overflow: 'auto'}">
<app-standard-container
name=
"page_container"
:isMultiContainer=
"false"
:layoutModelDetails=
"layoutModelDetails"
>
</app-standard-container>
<app-scroll-container
name=
"container_scroll1"
:layoutModelDetails=
"layoutModelDetails"
>
<template
#
container_scroll_main1
>
<app-scroll-container
name=
"container_scroll_main1"
:layoutModelDetails=
"layoutModelDetails"
>
<template
#
container_scroll2
>
<app-scroll-container
name=
"container_scroll2"
:layoutModelDetails=
"layoutModelDetails"
>
<template
#
container_scroll_main2
>
<app-scroll-container
name=
"container_scroll_main2"
:layoutModelDetails=
"layoutModelDetails"
>
<template
#
grid
>
<app-ctrl-pos
name=
"grid"
:layoutModelDetails=
"layoutModelDetails"
>
<view
_grid
:viewState=
"viewState"
:viewparams=
"viewparams"
:context=
"context"
:isSingleSelect=
"isSingleSelect"
:showBusyIndicator=
"true"
updateAction=
""
removeAction=
"Remove"
loaddraftAction=
""
loadAction=
""
createAction=
""
fetchAction=
"FetchDefault"
name=
"grid"
ref=
'grid'
@
closeview=
"closeView($event)"
>
</view
_grid
>
</app-ctrl-pos>
</
template
>
</app-scroll-container>
</template>
<
template
#
container_scroll_header2
>
<app-scroll-container
name=
"container_scroll_header2"
:layoutModelDetails=
"layoutModelDetails"
>
<template
#
searchform
>
<app-ctrl-pos
name=
"searchform"
:layoutModelDetails=
"layoutModelDetails"
>
<view
_searchform
:viewState=
"viewState"
:viewparams=
"viewparams"
:context=
"context"
:showBusyIndicator=
"true"
loaddraftAction=
"FilterGetDraft"
loadAction=
"FilterGet"
name=
"searchform"
ref=
'searchform'
@
closeview=
"closeView($event)"
>
</view
_searchform
>
</app-ctrl-pos>
</
template
>
</app-scroll-container>
</template>
</app-scroll-container>
</template>
</app-scroll-container>
</template>
<
template
#
container_scroll_header1
>
<app-scroll-container
name=
"container_scroll_header1"
:layoutModelDetails=
"layoutModelDetails"
>
<template
#
view_pagecaption
>
<app-preset-caption
name=
"view_pagecaption"
:layoutModelDetails=
"layoutModelDetails"
>
实体自定义视图
</app-preset-caption>
</
template
>
</app-scroll-container>
</template>
</app-scroll-container>
</div>
</template>
...
...
@@ -180,6 +239,8 @@ export default class IBIZBOOKCustomView_layoutBase extends Vue {
* @memberof IBIZBOOKCustomView_layoutBase
*/
public
containerModel
:
any
=
{
view_searchform
:
{
name
:
'searchform'
,
type
:
'SEARCHFORM'
},
view_grid
:
{
name
:
'grid'
,
type
:
'GRID'
},
};
/**
...
...
@@ -232,7 +293,7 @@ export default class IBIZBOOKCustomView_layoutBase extends Vue {
* @public
* @memberof IBIZBOOKCustomView_layoutBase
*/
public
rootLayoutDetailNames
:
string
[]
=
[
'
page_container
'
];
public
rootLayoutDetailNames
:
string
[]
=
[
'
container_scroll1
'
];
/**
* 视图布局面板项模型对象
...
...
@@ -241,7 +302,15 @@ export default class IBIZBOOKCustomView_layoutBase extends Vue {
* @memberof IBIZBOOKCustomView_layoutBase
*/
public
layoutItems
:
any
=
{
page_container
:{
name
:
'page_container'
,
type
:
'VIEWLAYOUT'
,
caption
:
'容器'
,
titleBarCloseMode
:
0
,
isShowCaption
:
false
,
sysCss
:
''
,
itemType
:
'CONTAINER'
,
itemStyle
:
'DEFAULT'
,
visible
:
true
,
disabled
:
false
,
layout
:
'FLEX'
,
layoutPos
:
''
,
layoutHeight
:
0
,
heightMode
:
''
,
layoutWidth
:
0
,
widthMode
:
''
,
spacingBottom
:
''
,
spacingLeft
:
''
,
spacingRight
:
''
,
spacingTop
:
''
,
hAlignSelf
:
''
,
vAlignSelf
:
''
,
flexGrow
:
0
,
flexParams
:{
align
:
''
,
dir
:
''
,
vAlign
:
''
},
panel
:
this
,
details
:[]
,
dataRegionType
:
'INHERIT'
}
grid
:{
name
:
'grid'
,
type
:
'VIEWLAYOUT'
,
caption
:
'表格'
,
isShowCaption
:
true
,
sysCss
:
''
,
itemType
:
'CTRLPOS'
,
itemStyle
:
'DEFAULT'
,
visible
:
true
,
disabled
:
false
,
layout
:
''
,
layoutPos
:
'CENTER'
,
layoutHeight
:
0
,
heightMode
:
''
,
layoutWidth
:
0
,
widthMode
:
''
,
spacingBottom
:
''
,
spacingLeft
:
''
,
spacingRight
:
''
,
spacingTop
:
''
,
hAlignSelf
:
''
,
vAlignSelf
:
''
,
flexGrow
:
0
,
flexParams
:{
align
:
''
,
dir
:
''
,
vAlign
:
''
},
parentName
:
'container_scroll_main2'
,
panel
:
this
},
container_scroll_main2
:{
name
:
'container_scroll_main2'
,
type
:
'VIEWLAYOUT'
,
caption
:
'面板容器'
,
titleBarCloseMode
:
0
,
isShowCaption
:
true
,
sysCss
:
''
,
itemType
:
'CONTAINER'
,
itemStyle
:
'DEFAULT'
,
visible
:
true
,
disabled
:
false
,
layout
:
'BORDER'
,
layoutPos
:
'CENTER'
,
layoutHeight
:
0
,
heightMode
:
''
,
layoutWidth
:
0
,
widthMode
:
''
,
spacingBottom
:
''
,
spacingLeft
:
''
,
spacingRight
:
''
,
spacingTop
:
''
,
hAlignSelf
:
''
,
vAlignSelf
:
''
,
flexGrow
:
0
,
flexParams
:{
align
:
''
,
dir
:
''
,
vAlign
:
''
},
parentName
:
'container_scroll2'
,
panel
:
this
,
details
:[
'grid'
]
,
dataRegionType
:
'INHERIT'
},
searchform
:{
name
:
'searchform'
,
type
:
'VIEWLAYOUT'
,
caption
:
'搜索表单'
,
isShowCaption
:
true
,
sysCss
:
''
,
itemType
:
'CTRLPOS'
,
itemStyle
:
'DEFAULT'
,
visible
:
true
,
disabled
:
false
,
layout
:
''
,
layoutPos
:
'CENTER'
,
layoutHeight
:
0
,
heightMode
:
''
,
layoutWidth
:
0
,
widthMode
:
''
,
spacingBottom
:
''
,
spacingLeft
:
''
,
spacingRight
:
''
,
spacingTop
:
''
,
hAlignSelf
:
''
,
vAlignSelf
:
''
,
flexGrow
:
0
,
flexParams
:{
align
:
''
,
dir
:
''
,
vAlign
:
''
},
parentName
:
'container_scroll_header2'
,
panel
:
this
},
container_scroll_header2
:{
name
:
'container_scroll_header2'
,
type
:
'VIEWLAYOUT'
,
caption
:
'面板容器'
,
titleBarCloseMode
:
0
,
isShowCaption
:
true
,
sysCss
:
''
,
itemType
:
'CONTAINER'
,
itemStyle
:
'DEFAULT'
,
visible
:
true
,
disabled
:
false
,
layout
:
'BORDER'
,
layoutPos
:
'NORTH'
,
layoutHeight
:
70
,
heightMode
:
'PX'
,
layoutWidth
:
0
,
widthMode
:
''
,
spacingBottom
:
''
,
spacingLeft
:
''
,
spacingRight
:
''
,
spacingTop
:
''
,
hAlignSelf
:
''
,
vAlignSelf
:
''
,
flexGrow
:
0
,
flexParams
:{
align
:
''
,
dir
:
''
,
vAlign
:
''
},
parentName
:
'container_scroll2'
,
panel
:
this
,
details
:[
'searchform'
]
,
dataRegionType
:
'INHERIT'
},
container_scroll2
:{
name
:
'container_scroll2'
,
type
:
'VIEWLAYOUT'
,
caption
:
'滚动条容器'
,
titleBarCloseMode
:
0
,
isShowCaption
:
false
,
sysCss
:
''
,
itemType
:
'CONTAINER'
,
itemStyle
:
'DEFAULT'
,
visible
:
true
,
disabled
:
false
,
layout
:
'BORDER'
,
layoutPos
:
'CENTER'
,
layoutHeight
:
0
,
heightMode
:
''
,
layoutWidth
:
0
,
widthMode
:
''
,
spacingBottom
:
''
,
spacingLeft
:
''
,
spacingRight
:
''
,
spacingTop
:
''
,
hAlignSelf
:
''
,
vAlignSelf
:
''
,
flexGrow
:
0
,
flexParams
:{
align
:
''
,
dir
:
''
,
vAlign
:
''
},
parentName
:
'container_scroll_main1'
,
panel
:
this
,
details
:[
'container_scroll_main2'
,
'container_scroll_header2'
]
,
dataRegionType
:
'INHERIT'
},
container_scroll_main1
:{
name
:
'container_scroll_main1'
,
type
:
'VIEWLAYOUT'
,
caption
:
'面板容器'
,
titleBarCloseMode
:
0
,
isShowCaption
:
true
,
sysCss
:
''
,
itemType
:
'CONTAINER'
,
itemStyle
:
'DEFAULT'
,
visible
:
true
,
disabled
:
false
,
layout
:
'BORDER'
,
layoutPos
:
'CENTER'
,
layoutHeight
:
0
,
heightMode
:
''
,
layoutWidth
:
0
,
widthMode
:
''
,
spacingBottom
:
''
,
spacingLeft
:
''
,
spacingRight
:
''
,
spacingTop
:
''
,
hAlignSelf
:
''
,
vAlignSelf
:
''
,
flexGrow
:
0
,
flexParams
:{
align
:
''
,
dir
:
''
,
vAlign
:
''
},
parentName
:
'container_scroll1'
,
panel
:
this
,
details
:[
'container_scroll2'
]
,
dataRegionType
:
'INHERIT'
},
view_pagecaption
:{
name
:
'view_pagecaption'
,
type
:
'VIEWLAYOUT'
,
caption
:
'页面标题'
,
isShowCaption
:
false
,
sysCss
:
''
,
itemType
:
'FIELD'
,
itemStyle
:
'DEFAULT'
,
visible
:
true
,
disabled
:
false
,
layout
:
''
,
layoutPos
:
'CENTER'
,
layoutHeight
:
0
,
heightMode
:
''
,
layoutWidth
:
0
,
widthMode
:
''
,
spacingBottom
:
''
,
spacingLeft
:
''
,
spacingRight
:
''
,
spacingTop
:
''
,
hAlignSelf
:
''
,
vAlignSelf
:
''
,
flexGrow
:
0
,
flexParams
:{
align
:
''
,
dir
:
''
,
vAlign
:
''
},
parentName
:
'container_scroll_header1'
,
panel
:
this
,
fieldState
:
'0'
,
predefinedType
:
'VIEW_PAGECAPTION'
,
dataItemName
:
''
,
},
container_scroll_header1
:{
name
:
'container_scroll_header1'
,
type
:
'VIEWLAYOUT'
,
caption
:
'面板容器'
,
titleBarCloseMode
:
0
,
isShowCaption
:
true
,
sysCss
:
''
,
itemType
:
'CONTAINER'
,
itemStyle
:
'DEFAULT'
,
visible
:
true
,
disabled
:
false
,
layout
:
'BORDER'
,
layoutPos
:
'NORTH'
,
layoutHeight
:
80
,
heightMode
:
'PX'
,
layoutWidth
:
0
,
widthMode
:
''
,
spacingBottom
:
''
,
spacingLeft
:
''
,
spacingRight
:
''
,
spacingTop
:
''
,
hAlignSelf
:
''
,
vAlignSelf
:
''
,
flexGrow
:
0
,
flexParams
:{
align
:
''
,
dir
:
''
,
vAlign
:
''
},
parentName
:
'container_scroll1'
,
panel
:
this
,
details
:[
'view_pagecaption'
]
,
dataRegionType
:
'INHERIT'
},
container_scroll1
:{
name
:
'container_scroll1'
,
type
:
'VIEWLAYOUT'
,
caption
:
'滚动条容器'
,
titleBarCloseMode
:
0
,
isShowCaption
:
false
,
sysCss
:
''
,
itemType
:
'CONTAINER'
,
itemStyle
:
'DEFAULT'
,
visible
:
true
,
disabled
:
false
,
layout
:
'BORDER'
,
layoutPos
:
''
,
layoutHeight
:
0
,
heightMode
:
'FULL'
,
layoutWidth
:
0
,
widthMode
:
''
,
spacingBottom
:
''
,
spacingLeft
:
''
,
spacingRight
:
''
,
spacingTop
:
''
,
hAlignSelf
:
''
,
vAlignSelf
:
''
,
flexGrow
:
0
,
flexParams
:{
align
:
''
,
dir
:
''
,
vAlign
:
''
},
panel
:
this
,
details
:[
'container_scroll_main1'
,
'container_scroll_header1'
]
,
dataRegionType
:
'INHERIT'
}
};
/**
...
...
This diff is collapsed.
Click to expand it.
app_Web/src/pages/sample/ibizbookcustom-view-layout/ibizbookcustom-view-layout.vue
浏览文件 @
35df8637
...
...
@@ -2,8 +2,12 @@
import
{
Component
}
from
'vue-property-decorator'
;
import
IBIZBOOKCustomView_layoutBase
from
'./ibizbookcustom-view-layout-base.vue'
;
import
view_searchform
from
'@widgets/ibizbook/default-searchform/default-searchform.vue'
;
import
view_grid
from
'@widgets/ibizbook/main-grid/main-grid.vue'
;
@
Component
({
components
:
{
view_searchform
,
view_grid
,
},
beforeRouteEnter
:
(
to
:
any
,
from
:
any
,
next
:
any
)
=>
{
next
((
vm
:
any
)
=>
{
...
...
This diff is collapsed.
Click to expand it.
app_Web/src/pages/sample/ibizbookcustom-view/ibizbookcustom-view-base.vue
浏览文件 @
35df8637
<
template
>
<div
v-show=
"!isLayoutLoadding"
class=
"app-view-layout ibizbookcustom-view"
:style=
"
{height: '100%', width: '100%', overflow: 'auto'}">
<app-standard-container
name=
"page_container"
:isMultiContainer=
"false"
:layoutModelDetails=
"layoutModelDetails"
>
</app-standard-container>
<app-scroll-container
name=
"container_scroll1"
:layoutModelDetails=
"layoutModelDetails"
>
<template
#
container_scroll_main1
>
<app-scroll-container
name=
"container_scroll_main1"
:layoutModelDetails=
"layoutModelDetails"
>
<template
#
container_scroll2
>
<app-scroll-container
name=
"container_scroll2"
:layoutModelDetails=
"layoutModelDetails"
>
<template
#
container_scroll_main2
>
<app-scroll-container
name=
"container_scroll_main2"
:layoutModelDetails=
"layoutModelDetails"
>
<template
#
grid
>
<app-ctrl-pos
name=
"grid"
:layoutModelDetails=
"layoutModelDetails"
>
<span>
部件占位grid
</span>
</app-ctrl-pos>
</
template
>
</app-scroll-container>
</template>
<
template
#
container_scroll_header2
>
<app-scroll-container
name=
"container_scroll_header2"
:layoutModelDetails=
"layoutModelDetails"
>
<template
#
searchform
>
<app-ctrl-pos
name=
"searchform"
:layoutModelDetails=
"layoutModelDetails"
>
<span>
部件占位searchform
</span>
</app-ctrl-pos>
</
template
>
</app-scroll-container>
</template>
</app-scroll-container>
</template>
</app-scroll-container>
</template>
<
template
#
container_scroll_header1
>
<app-scroll-container
name=
"container_scroll_header1"
:layoutModelDetails=
"layoutModelDetails"
>
<template
#
view_pagecaption
>
<app-preset-caption
name=
"view_pagecaption"
:layoutModelDetails=
"layoutModelDetails"
>
实体自定义视图
</app-preset-caption>
</
template
>
</app-scroll-container>
</template>
</app-scroll-container>
</div>
</template>
...
...
@@ -232,7 +265,7 @@ export default class IBIZBOOKCustomViewBase extends Vue {
* @public
* @memberof IBIZBOOKCustomViewBase
*/
public
rootLayoutDetailNames
:
string
[]
=
[
'
page_container
'
];
public
rootLayoutDetailNames
:
string
[]
=
[
'
container_scroll1
'
];
/**
* 视图布局面板项模型对象
...
...
@@ -241,7 +274,15 @@ export default class IBIZBOOKCustomViewBase extends Vue {
* @memberof IBIZBOOKCustomViewBase
*/
public
layoutItems
:
any
=
{
page_container
:{
name
:
'page_container'
,
type
:
'VIEWLAYOUT'
,
caption
:
'容器'
,
titleBarCloseMode
:
0
,
isShowCaption
:
false
,
sysCss
:
''
,
itemType
:
'CONTAINER'
,
itemStyle
:
'DEFAULT'
,
visible
:
true
,
disabled
:
false
,
layout
:
'FLEX'
,
layoutPos
:
''
,
layoutHeight
:
0
,
heightMode
:
''
,
layoutWidth
:
0
,
widthMode
:
''
,
spacingBottom
:
''
,
spacingLeft
:
''
,
spacingRight
:
''
,
spacingTop
:
''
,
hAlignSelf
:
''
,
vAlignSelf
:
''
,
flexGrow
:
0
,
flexParams
:{
align
:
''
,
dir
:
''
,
vAlign
:
''
},
panel
:
this
,
details
:[]
,
dataRegionType
:
'INHERIT'
}
grid
:{
name
:
'grid'
,
type
:
'VIEWLAYOUT'
,
caption
:
'表格'
,
isShowCaption
:
true
,
sysCss
:
''
,
itemType
:
'CTRLPOS'
,
itemStyle
:
'DEFAULT'
,
visible
:
true
,
disabled
:
false
,
layout
:
''
,
layoutPos
:
'CENTER'
,
layoutHeight
:
0
,
heightMode
:
''
,
layoutWidth
:
0
,
widthMode
:
''
,
spacingBottom
:
''
,
spacingLeft
:
''
,
spacingRight
:
''
,
spacingTop
:
''
,
hAlignSelf
:
''
,
vAlignSelf
:
''
,
flexGrow
:
0
,
flexParams
:{
align
:
''
,
dir
:
''
,
vAlign
:
''
},
parentName
:
'container_scroll_main2'
,
panel
:
this
},
container_scroll_main2
:{
name
:
'container_scroll_main2'
,
type
:
'VIEWLAYOUT'
,
caption
:
'面板容器'
,
titleBarCloseMode
:
0
,
isShowCaption
:
true
,
sysCss
:
''
,
itemType
:
'CONTAINER'
,
itemStyle
:
'DEFAULT'
,
visible
:
true
,
disabled
:
false
,
layout
:
'BORDER'
,
layoutPos
:
'CENTER'
,
layoutHeight
:
0
,
heightMode
:
''
,
layoutWidth
:
0
,
widthMode
:
''
,
spacingBottom
:
''
,
spacingLeft
:
''
,
spacingRight
:
''
,
spacingTop
:
''
,
hAlignSelf
:
''
,
vAlignSelf
:
''
,
flexGrow
:
0
,
flexParams
:{
align
:
''
,
dir
:
''
,
vAlign
:
''
},
parentName
:
'container_scroll2'
,
panel
:
this
,
details
:[
'grid'
]
,
dataRegionType
:
'INHERIT'
},
searchform
:{
name
:
'searchform'
,
type
:
'VIEWLAYOUT'
,
caption
:
'搜索表单'
,
isShowCaption
:
true
,
sysCss
:
''
,
itemType
:
'CTRLPOS'
,
itemStyle
:
'DEFAULT'
,
visible
:
true
,
disabled
:
false
,
layout
:
''
,
layoutPos
:
'CENTER'
,
layoutHeight
:
0
,
heightMode
:
''
,
layoutWidth
:
0
,
widthMode
:
''
,
spacingBottom
:
''
,
spacingLeft
:
''
,
spacingRight
:
''
,
spacingTop
:
''
,
hAlignSelf
:
''
,
vAlignSelf
:
''
,
flexGrow
:
0
,
flexParams
:{
align
:
''
,
dir
:
''
,
vAlign
:
''
},
parentName
:
'container_scroll_header2'
,
panel
:
this
},
container_scroll_header2
:{
name
:
'container_scroll_header2'
,
type
:
'VIEWLAYOUT'
,
caption
:
'面板容器'
,
titleBarCloseMode
:
0
,
isShowCaption
:
true
,
sysCss
:
''
,
itemType
:
'CONTAINER'
,
itemStyle
:
'DEFAULT'
,
visible
:
true
,
disabled
:
false
,
layout
:
'BORDER'
,
layoutPos
:
'NORTH'
,
layoutHeight
:
70
,
heightMode
:
'PX'
,
layoutWidth
:
0
,
widthMode
:
''
,
spacingBottom
:
''
,
spacingLeft
:
''
,
spacingRight
:
''
,
spacingTop
:
''
,
hAlignSelf
:
''
,
vAlignSelf
:
''
,
flexGrow
:
0
,
flexParams
:{
align
:
''
,
dir
:
''
,
vAlign
:
''
},
parentName
:
'container_scroll2'
,
panel
:
this
,
details
:[
'searchform'
]
,
dataRegionType
:
'INHERIT'
},
container_scroll2
:{
name
:
'container_scroll2'
,
type
:
'VIEWLAYOUT'
,
caption
:
'滚动条容器'
,
titleBarCloseMode
:
0
,
isShowCaption
:
false
,
sysCss
:
''
,
itemType
:
'CONTAINER'
,
itemStyle
:
'DEFAULT'
,
visible
:
true
,
disabled
:
false
,
layout
:
'BORDER'
,
layoutPos
:
'CENTER'
,
layoutHeight
:
0
,
heightMode
:
''
,
layoutWidth
:
0
,
widthMode
:
''
,
spacingBottom
:
''
,
spacingLeft
:
''
,
spacingRight
:
''
,
spacingTop
:
''
,
hAlignSelf
:
''
,
vAlignSelf
:
''
,
flexGrow
:
0
,
flexParams
:{
align
:
''
,
dir
:
''
,
vAlign
:
''
},
parentName
:
'container_scroll_main1'
,
panel
:
this
,
details
:[
'container_scroll_main2'
,
'container_scroll_header2'
]
,
dataRegionType
:
'INHERIT'
},
container_scroll_main1
:{
name
:
'container_scroll_main1'
,
type
:
'VIEWLAYOUT'
,
caption
:
'面板容器'
,
titleBarCloseMode
:
0
,
isShowCaption
:
true
,
sysCss
:
''
,
itemType
:
'CONTAINER'
,
itemStyle
:
'DEFAULT'
,
visible
:
true
,
disabled
:
false
,
layout
:
'BORDER'
,
layoutPos
:
'CENTER'
,
layoutHeight
:
0
,
heightMode
:
''
,
layoutWidth
:
0
,
widthMode
:
''
,
spacingBottom
:
''
,
spacingLeft
:
''
,
spacingRight
:
''
,
spacingTop
:
''
,
hAlignSelf
:
''
,
vAlignSelf
:
''
,
flexGrow
:
0
,
flexParams
:{
align
:
''
,
dir
:
''
,
vAlign
:
''
},
parentName
:
'container_scroll1'
,
panel
:
this
,
details
:[
'container_scroll2'
]
,
dataRegionType
:
'INHERIT'
},
view_pagecaption
:{
name
:
'view_pagecaption'
,
type
:
'VIEWLAYOUT'
,
caption
:
'页面标题'
,
isShowCaption
:
false
,
sysCss
:
''
,
itemType
:
'FIELD'
,
itemStyle
:
'DEFAULT'
,
visible
:
true
,
disabled
:
false
,
layout
:
''
,
layoutPos
:
'CENTER'
,
layoutHeight
:
0
,
heightMode
:
''
,
layoutWidth
:
0
,
widthMode
:
''
,
spacingBottom
:
''
,
spacingLeft
:
''
,
spacingRight
:
''
,
spacingTop
:
''
,
hAlignSelf
:
''
,
vAlignSelf
:
''
,
flexGrow
:
0
,
flexParams
:{
align
:
''
,
dir
:
''
,
vAlign
:
''
},
parentName
:
'container_scroll_header1'
,
panel
:
this
,
fieldState
:
'0'
,
predefinedType
:
'VIEW_PAGECAPTION'
,
dataItemName
:
''
,
},
container_scroll_header1
:{
name
:
'container_scroll_header1'
,
type
:
'VIEWLAYOUT'
,
caption
:
'面板容器'
,
titleBarCloseMode
:
0
,
isShowCaption
:
true
,
sysCss
:
''
,
itemType
:
'CONTAINER'
,
itemStyle
:
'DEFAULT'
,
visible
:
true
,
disabled
:
false
,
layout
:
'BORDER'
,
layoutPos
:
'NORTH'
,
layoutHeight
:
80
,
heightMode
:
'PX'
,
layoutWidth
:
0
,
widthMode
:
''
,
spacingBottom
:
''
,
spacingLeft
:
''
,
spacingRight
:
''
,
spacingTop
:
''
,
hAlignSelf
:
''
,
vAlignSelf
:
''
,
flexGrow
:
0
,
flexParams
:{
align
:
''
,
dir
:
''
,
vAlign
:
''
},
parentName
:
'container_scroll1'
,
panel
:
this
,
details
:[
'view_pagecaption'
]
,
dataRegionType
:
'INHERIT'
},
container_scroll1
:{
name
:
'container_scroll1'
,
type
:
'VIEWLAYOUT'
,
caption
:
'滚动条容器'
,
titleBarCloseMode
:
0
,
isShowCaption
:
false
,
sysCss
:
''
,
itemType
:
'CONTAINER'
,
itemStyle
:
'DEFAULT'
,
visible
:
true
,
disabled
:
false
,
layout
:
'BORDER'
,
layoutPos
:
''
,
layoutHeight
:
0
,
heightMode
:
'FULL'
,
layoutWidth
:
0
,
widthMode
:
''
,
spacingBottom
:
''
,
spacingLeft
:
''
,
spacingRight
:
''
,
spacingTop
:
''
,
hAlignSelf
:
''
,
vAlignSelf
:
''
,
flexGrow
:
0
,
flexParams
:{
align
:
''
,
dir
:
''
,
vAlign
:
''
},
panel
:
this
,
details
:[
'container_scroll_main1'
,
'container_scroll_header1'
]
,
dataRegionType
:
'INHERIT'
}
};
/**
...
...
This diff is collapsed.
Click to expand it.
app_Web/src/pages/sample/ibizbookoption-view-layout/ibizbookoption-view-layout-base.vue
浏览文件 @
35df8637
...
...
@@ -311,9 +311,9 @@ export default class IBIZBOOKOptionView_layoutBase extends Vue {
public
layoutItems
:
any
=
{
form
:{
name
:
'form'
,
type
:
'VIEWLAYOUT'
,
caption
:
'FORM'
,
isShowCaption
:
true
,
sysCss
:
''
,
itemType
:
'CTRLPOS'
,
itemStyle
:
'DEFAULT'
,
visible
:
true
,
disabled
:
false
,
layout
:
''
,
layoutPos
:
'CENTER'
,
layoutHeight
:
0
,
heightMode
:
'FULL'
,
layoutWidth
:
0
,
widthMode
:
''
,
spacingBottom
:
''
,
spacingLeft
:
''
,
spacingRight
:
''
,
spacingTop
:
''
,
hAlignSelf
:
''
,
vAlignSelf
:
''
,
flexGrow
:
0
,
flexParams
:{
align
:
''
,
dir
:
''
,
vAlign
:
''
},
parentName
:
'container_scroll_main1'
,
panel
:
this
},
container_scroll_main1
:{
name
:
'container_scroll_main1'
,
type
:
'VIEWLAYOUT'
,
caption
:
'面板容器'
,
titleBarCloseMode
:
0
,
isShowCaption
:
true
,
sysCss
:
''
,
itemType
:
'CONTAINER'
,
itemStyle
:
'DEFAULT'
,
visible
:
true
,
disabled
:
false
,
layout
:
'BORDER'
,
layoutPos
:
'CENTER'
,
layoutHeight
:
0
,
heightMode
:
''
,
layoutWidth
:
0
,
widthMode
:
''
,
spacingBottom
:
''
,
spacingLeft
:
''
,
spacingRight
:
''
,
spacingTop
:
''
,
hAlignSelf
:
''
,
vAlignSelf
:
''
,
flexGrow
:
0
,
flexParams
:{
align
:
''
,
dir
:
''
,
vAlign
:
''
},
parentName
:
'container_scroll1'
,
panel
:
this
,
details
:[
'form'
]
,
dataRegionType
:
'INHERIT'
},
button_openview1
:{
name
:
'button_openview1'
,
type
:
'VIEWLAYOUT'
,
caption
:
'取消'
,
isShowCaption
:
true
,
sysCss
:
''
,
itemType
:
'BUTTON'
,
itemStyle
:
'DEFAULT'
,
visible
:
true
,
disabled
:
false
,
layout
:
''
,
layoutPos
:
''
,
layoutHeight
:
0
,
heightMode
:
'FULL'
,
layoutWidth
:
0
,
widthMode
:
'
'
,
spacingBottom
:
''
,
spacingLeft
:
''
,
spacingRight
:
''
,
spacingTop
:
''
,
hAlignSelf
:
''
,
vAlignSelf
:
''
,
flexGrow
:
-
1
,
flexParams
:{
align
:
''
,
dir
:
''
,
vAlign
:
''
},
parentName
:
'container1'
,
panel
:
this
,
buttonStyle
:
'DEFAULT'
,
iconAlign
:
''
,
predefinedType
:
'DATA_CANCELCHANGES'
,
renderMode
:
''
,
},
button_openview2
:{
name
:
'button_openview2'
,
type
:
'VIEWLAYOUT'
,
caption
:
'确认'
,
isShowCaption
:
true
,
sysCss
:
''
,
itemType
:
'BUTTON'
,
itemStyle
:
'DEFAULT'
,
visible
:
true
,
disabled
:
false
,
layout
:
''
,
layoutPos
:
''
,
layoutHeight
:
0
,
heightMode
:
'FULL'
,
layoutWidth
:
0
,
widthMode
:
'
'
,
spacingBottom
:
''
,
spacingLeft
:
''
,
spacingRight
:
''
,
spacingTop
:
''
,
hAlignSelf
:
''
,
vAlignSelf
:
''
,
flexGrow
:
-
1
,
flexParams
:{
align
:
''
,
dir
:
''
,
vAlign
:
''
},
parentName
:
'container1'
,
panel
:
this
,
buttonStyle
:
'DEFAULT'
,
iconAlign
:
''
,
predefinedType
:
'DATA_SAVECHANGES'
,
renderMode
:
''
,
},
container1
:{
name
:
'container1'
,
type
:
'VIEWLAYOUT'
,
caption
:
'容器'
,
titleBarCloseMode
:
0
,
isShowCaption
:
false
,
sysCss
:
''
,
itemType
:
'CONTAINER'
,
itemStyle
:
'DEFAULT'
,
visible
:
true
,
disabled
:
false
,
layout
:
'FLEX'
,
layoutPos
:
'CENTER'
,
layoutHeight
:
0
,
heightMode
:
'
'
,
layoutWidth
:
0
,
widthMode
:
''
,
spacingBottom
:
''
,
spacingLeft
:
''
,
spacingRight
:
''
,
spacingTop
:
'
'
,
hAlignSelf
:
'RIGHT'
,
vAlignSelf
:
'MIDDLE'
,
flexGrow
:
0
,
flexParams
:{
align
:
'flex-end'
,
dir
:
'row'
,
vAlign
:
''
},
parentName
:
'container_scroll_bottom1'
,
panel
:
this
,
details
:[
'button_openview1'
,
'button_openview2'
]
,
dataRegionType
:
'INHERIT'
},
button_openview1
:{
name
:
'button_openview1'
,
type
:
'VIEWLAYOUT'
,
caption
:
'取消'
,
isShowCaption
:
true
,
sysCss
:
''
,
itemType
:
'BUTTON'
,
itemStyle
:
'DEFAULT'
,
visible
:
true
,
disabled
:
false
,
layout
:
''
,
layoutPos
:
''
,
layoutHeight
:
0
,
heightMode
:
'FULL'
,
layoutWidth
:
60
,
widthMode
:
'PX
'
,
spacingBottom
:
''
,
spacingLeft
:
''
,
spacingRight
:
''
,
spacingTop
:
''
,
hAlignSelf
:
''
,
vAlignSelf
:
''
,
flexGrow
:
-
1
,
flexParams
:{
align
:
''
,
dir
:
''
,
vAlign
:
''
},
parentName
:
'container1'
,
panel
:
this
,
buttonStyle
:
'DEFAULT'
,
iconAlign
:
''
,
predefinedType
:
'DATA_CANCELCHANGES'
,
renderMode
:
''
,
},
button_openview2
:{
name
:
'button_openview2'
,
type
:
'VIEWLAYOUT'
,
caption
:
'确认'
,
isShowCaption
:
true
,
sysCss
:
''
,
itemType
:
'BUTTON'
,
itemStyle
:
'DEFAULT'
,
visible
:
true
,
disabled
:
false
,
layout
:
''
,
layoutPos
:
''
,
layoutHeight
:
0
,
heightMode
:
'FULL'
,
layoutWidth
:
60
,
widthMode
:
'PX
'
,
spacingBottom
:
''
,
spacingLeft
:
''
,
spacingRight
:
''
,
spacingTop
:
''
,
hAlignSelf
:
''
,
vAlignSelf
:
''
,
flexGrow
:
-
1
,
flexParams
:{
align
:
''
,
dir
:
''
,
vAlign
:
''
},
parentName
:
'container1'
,
panel
:
this
,
buttonStyle
:
'DEFAULT'
,
iconAlign
:
''
,
predefinedType
:
'DATA_SAVECHANGES'
,
renderMode
:
''
,
},
container1
:{
name
:
'container1'
,
type
:
'VIEWLAYOUT'
,
caption
:
'容器'
,
titleBarCloseMode
:
0
,
isShowCaption
:
false
,
sysCss
:
''
,
itemType
:
'CONTAINER'
,
itemStyle
:
'DEFAULT'
,
visible
:
true
,
disabled
:
false
,
layout
:
'FLEX'
,
layoutPos
:
'CENTER'
,
layoutHeight
:
0
,
heightMode
:
'
FULL'
,
layoutWidth
:
0
,
widthMode
:
''
,
spacingBottom
:
'INNERSMALL'
,
spacingLeft
:
''
,
spacingRight
:
''
,
spacingTop
:
'INNERSMALL
'
,
hAlignSelf
:
'RIGHT'
,
vAlignSelf
:
'MIDDLE'
,
flexGrow
:
0
,
flexParams
:{
align
:
'flex-end'
,
dir
:
'row'
,
vAlign
:
''
},
parentName
:
'container_scroll_bottom1'
,
panel
:
this
,
details
:[
'button_openview1'
,
'button_openview2'
]
,
dataRegionType
:
'INHERIT'
},
container_scroll_bottom1
:{
name
:
'container_scroll_bottom1'
,
type
:
'VIEWLAYOUT'
,
caption
:
'面板容器'
,
titleBarCloseMode
:
0
,
isShowCaption
:
true
,
sysCss
:
''
,
itemType
:
'CONTAINER'
,
itemStyle
:
'DEFAULT'
,
visible
:
true
,
disabled
:
false
,
layout
:
'BORDER'
,
layoutPos
:
'SOUTH'
,
layoutHeight
:
60
,
heightMode
:
'PX'
,
layoutWidth
:
0
,
widthMode
:
''
,
spacingBottom
:
''
,
spacingLeft
:
''
,
spacingRight
:
''
,
spacingTop
:
''
,
hAlignSelf
:
''
,
vAlignSelf
:
''
,
flexGrow
:
0
,
flexParams
:{
align
:
''
,
dir
:
''
,
vAlign
:
''
},
parentName
:
'container_scroll1'
,
panel
:
this
,
details
:[
'container1'
]
,
dataRegionType
:
'INHERIT'
},
container_scroll1
:{
name
:
'container_scroll1'
,
type
:
'VIEWLAYOUT'
,
caption
:
'滚动条容器'
,
titleBarCloseMode
:
0
,
isShowCaption
:
false
,
sysCss
:
''
,
itemType
:
'CONTAINER'
,
itemStyle
:
'DEFAULT'
,
visible
:
true
,
disabled
:
false
,
layout
:
'BORDER'
,
layoutPos
:
''
,
layoutHeight
:
0
,
heightMode
:
''
,
layoutWidth
:
0
,
widthMode
:
''
,
spacingBottom
:
''
,
spacingLeft
:
''
,
spacingRight
:
''
,
spacingTop
:
''
,
hAlignSelf
:
''
,
vAlignSelf
:
''
,
flexGrow
:
-
1
,
flexParams
:{
align
:
''
,
dir
:
''
,
vAlign
:
''
},
parentName
:
'page_container'
,
panel
:
this
,
details
:[
'container_scroll_main1'
,
'container_scroll_bottom1'
]
,
dataRegionType
:
'INHERIT'
},
page_container
:{
name
:
'page_container'
,
type
:
'VIEWLAYOUT'
,
caption
:
'分组标题'
,
titleBarCloseMode
:
0
,
isShowCaption
:
false
,
sysCss
:
''
,
itemType
:
'CONTAINER'
,
itemStyle
:
'DEFAULT'
,
visible
:
true
,
disabled
:
false
,
layout
:
'FLEX'
,
layoutPos
:
''
,
layoutHeight
:
0
,
heightMode
:
'FULL'
,
layoutWidth
:
0
,
widthMode
:
''
,
spacingBottom
:
''
,
spacingLeft
:
''
,
spacingRight
:
''
,
spacingTop
:
''
,
hAlignSelf
:
''
,
vAlignSelf
:
''
,
flexGrow
:
-
1
,
flexParams
:{
align
:
''
,
dir
:
''
,
vAlign
:
''
},
panel
:
this
,
details
:[
'container_scroll1'
]
,
dataRegionType
:
'INHERIT'
}
...
...
This diff is collapsed.
Click to expand it.
app_Web/src/uiservice/ibizbook/grid-load-ui-logic-base.ts
0 → 100644
浏览文件 @
35df8637
import
{
UIActionContext
}
from
"@/logic/ui-logic"
;
import
{
LogicReturnType
}
from
"@/logic/const/logic-return-type"
;
/**
* 表格加载
*
* @export
* @class GridLoadUILogicBase
*/
export
default
class
GridLoadUILogicBase
{
/**
* Creates an instance of GridLoadBase.
*
* @param {*} [opts={}]
* @memberof GridLoadUILogicBase
*/
constructor
(
opts
:
any
=
{})
{
}
/**
* 开始节点
*
* @protected
* @type {string}
* @memberof GridLoadUILogicBase
*/
protected
readonly
startLogicNode
:
string
=
'Begin'
;
/**
* 逻辑参数
*
* @protected
* @type {any[]}
* @memberof GridLoadUILogicBase
*/
protected
logicParams
:
any
[]
=
[
{
name
:
'传入变量'
,
codeName
:
'Default'
,
default
:
true
,
entityParam
:
true
,
},
];
/**
* 执行前
*
* @param {*} args
* @param {*} [context={}]
* @param {*} [params={}]
* @param {*} [$event]
* @param {*} [xData]
* @param {*} [actioncontext]
* @param {string} [srfParentDeName]
* @return {*}
* @memberof GridLoadUILogicBase
*/
public
beforeExecute
(
args
:
any
,
context
:
any
=
{},
params
:
any
=
{},
$event
?:
any
,
xData
?:
any
,
actioncontext
?:
any
,
srfParentDeName
?:
string
)
{
return
new
UIActionContext
(
this
.
logicParams
,
args
,
context
,
params
,
$event
,
xData
,
actioncontext
,
srfParentDeName
)
}
/**
* 执行
*
* @param {any[]} args
* @param {*} [context={}]
* @param {*} [params={}]
* @param {*} [$event]
* @param {*} [xData]
* @param {*} [actionContext]
* @param {string} [srfParentDeName]
* @memberof GridLoadUILogicBase
*/
async
execute
(
args
:
any
[],
context
:
any
=
{}
,
params
:
any
=
{},
$event
?:
any
,
xData
?:
any
,
actioncontext
?:
any
,
srfParentDeName
?:
string
)
{
try
{
const
actionContext
=
this
.
beforeExecute
(
args
,
context
,
params
,
$event
,
xData
,
actioncontext
,
srfParentDeName
);
await
this
.
execute_begin_node
(
actionContext
);
return
actionContext
.
getResult
();
}
catch
(
error
:
any
)
{
throw
new
Error
(
`
${
error
&&
error
.
message
?
error
.
message
:
'发生未知错误!'
}
`
);
}
}
/**
* 开始
*
* @param {UIActionContext} actionContext 界面逻辑上下文
*/
protected
async
execute_begin_node
(
actionContext
:
UIActionContext
)
{
// 表格加载
actionContext
.
setResult
(
actionContext
.
defaultParam
.
getReal
());
console
.
log
(
'已完成执行 开始 节点'
);
}
}
\ No newline at end of file
This diff is collapsed.
Click to expand it.
app_Web/src/uiservice/ibizbook/grid-load-ui-logic.ts
0 → 100644
浏览文件 @
35df8637
import
{
Http
,
Util
}
from
'@/utils'
;
import
GridLoadUILogicBase
from
'./grid-load-ui-logic-base'
;
/**
* 表格加载
*
* @export
* @class GridLoadUILogic
*/
export
default
class
GridLoadUILogic
extends
GridLoadUILogicBase
{
/**
* 表格加载 逻辑实例对象
*
* @private
* @static
* @type {GridLoadUILogic}
* @memberof GridLoadUILogic
*/
private
static
instance
:
GridLoadUILogic
;
/**
* 获取 表格加载 逻辑实例对象
*
* @static
* @return {*} {GridLoadUILogic}
* @memberof GridLoadUILogic
*/
static
getInstance
():
GridLoadUILogic
{
if
(
!
this
.
instance
)
{
this
.
instance
=
new
GridLoadUILogic
();
}
return
this
.
instance
;
}
/**
* Creates an instance of GridLoadUILogic
*
* @param {*} [opts={}]
* @memberof GridLoadUILogic
*/
constructor
(
opts
:
any
=
{})
{
super
(
opts
);
}
}
\ No newline at end of file
This diff is collapsed.
Click to expand it.
app_Web/src/widgets/ibizbook/default-searchform/default-searchform-base.vue
浏览文件 @
35df8637
...
...
@@ -663,7 +663,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
*/
public
load
(
opt
:
any
=
{}):
void
{
if
(
!
this
.
loadAction
){
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZBOOKUsr
9
GridView'
+
(
this
.
$t
(
'app.searchForm.notConfig.loadAction'
)
as
string
)
});
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZBOOKUsr
8
GridView'
+
(
this
.
$t
(
'app.searchForm.notConfig.loadAction'
)
as
string
)
});
return
;
}
const
arg
:
any
=
{
...
opt
};
...
...
@@ -699,7 +699,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
*/
public
loadDraft
(
opt
:
any
=
{},
mode
?:
string
):
void
{
if
(
!
this
.
loaddraftAction
){
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZBOOKUsr
9
GridView'
+
(
this
.
$t
(
'app.searchForm.notConfig.loaddraftAction'
)
as
string
)
});
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZBOOKUsr
8
GridView'
+
(
this
.
$t
(
'app.searchForm.notConfig.loaddraftAction'
)
as
string
)
});
return
;
}
const
arg
:
any
=
{
...
opt
}
;
...
...
This diff is collapsed.
Click to expand it.
app_Web/src/widgets/ibizbook/main-grid/main-grid-base.vue
0 → 100644
浏览文件 @
35df8637
<
template
>
<div
class=
'grid'
style=
"height:100%"
>
<i-form
style=
"height:100%;display:flex;flex-direction: column;justify-content: space-between"
>
<input
style=
"display:none;"
/>
<el-table
v-if=
"isDisplay === true"
:default-sort=
"
{ prop: minorSortPSDEF, order: Object.is(minorSortDir, 'ASC') ? 'ascending' : Object.is(minorSortDir, 'DESC') ? 'descending' : '' }"
@sort-change="onSortChange($event)"
:border="isDragendCol"
:highlight-current-row ="isSingleSelect"
:row-class-name="getRowClassName"
:cell-class-name="getCellClassName"
max-height="items.length > 0 ? 'calc(100%-50px)' : '100%'"
@row-click="rowClick($event)"
@cell-click="cellClick"
@select-all="selectAll($event)"
@select="select"
@row-class-name="onRowClassName($event)"
@row-dblclick="rowDBLClick($event)"
ref='multipleTable' :data="items" :show-header="!isHideHeader">
<template
slot=
"empty"
>
{{
$t
(
'entities.ibizbook.main_grid.nodata'
)
}}
</
template
>
<
template
v-if=
"!isSingleSelect"
>
<el-table-column
align=
"center"
type=
'selection'
:width=
"checkboxColWidth"
></el-table-column>
</
template
>
<
template
v-if=
"getColumnState('ibizbookname')"
>
<el-table-column
show-overflow-tooltip
:prop=
"'ibizbookname'"
:label=
"$t('entities.ibizbook.main_grid.columns.ibizbookname')"
:width=
"150"
:align=
"'left'"
:sortable=
"'custom'"
>
<template
v-slot:header=
"
{column}">
<span
class=
"column-header "
>
{{
$t
(
'entities.ibizbook.main_grid.columns.ibizbookname'
)
}}
</span>
</
template
>
<
template
v-slot=
"{row,column,$index}"
>
<span>
{{
row
.
ibizbookname
}}
</span>
</
template
>
</el-table-column>
</template>
<
template
v-if=
"getColumnState('updateman')"
>
<el-table-column
show-overflow-tooltip
:prop=
"'updateman'"
:label=
"$t('entities.ibizbook.main_grid.columns.updateman')"
:width=
"150"
:align=
"'left'"
:sortable=
"'custom'"
>
<template
v-slot:header=
"
{column}">
<span
class=
"column-header "
>
{{
$t
(
'entities.ibizbook.main_grid.columns.updateman'
)
}}
</span>
</
template
>
<
template
v-slot=
"{row,column,$index}"
>
<template
>
<codelist
:value=
"row.updateman"
tag=
'SysOperator'
codelistType=
'DYNAMIC'
></codelist>
</
template
>
</template>
</el-table-column>
</template>
<
template
v-if=
"getColumnState('updatedate')"
>
<el-table-column
show-overflow-tooltip
:prop=
"'updatedate'"
:label=
"$t('entities.ibizbook.main_grid.columns.updatedate')"
:width=
"150"
:align=
"'left'"
:sortable=
"'custom'"
>
<template
v-slot:header=
"
{column}">
<span
class=
"column-header "
>
{{
$t
(
'entities.ibizbook.main_grid.columns.updatedate'
)
}}
</span>
</
template
>
<
template
v-slot=
"{row,column,$index}"
>
<app-format-data
format=
"YYYY-MM-DD HH:mm:ss"
:data=
"row.updatedate"
></app-format-data>
</
template
>
</el-table-column>
</template>
<
template
v-if=
"adaptiveState"
>
<el-table-column></el-table-column>
</
template
>
</el-table>
<row
class=
'grid-pagination'
v-show=
"items.length > 0"
>
<page
class=
'pull-right'
@
on-change=
"pageOnChange($event)"
@
on-page-size-change=
"onPageSizeChange($event)"
:transfer=
"true"
:total=
"totalrow"
show-sizer
:current=
"curPage"
:page-size=
"limit"
:page-size-opts=
"[10, 20, 30, 40, 50, 60, 70, 80, 90, 100]"
show-elevator
show-total
>
<span>
<span
class=
"page-column"
>
<poptip
transfer
placement=
"top-start"
>
<i-button
icon=
"md-menu"
>
{{$t('app.gridpage.choicecolumns')}}
</i-button>
<div
slot=
"content"
>
<
template
v-for=
"col in allColumns"
>
<div
:key=
"col.name"
><el-checkbox
v-model=
"col.show"
@
change=
"onColChange()"
>
{{
$t
(
col
.
langtag
)
}}
</el-checkbox></div>
</
template
>
</div>
</poptip>
</span>
<span
class=
"page-button"
><i-button
icon=
"md-refresh"
:title=
"$t('app.gridpage.refresh')"
@
click=
"pageRefresh()"
></i-button></span>
<span>
{{$t('app.gridpage.show')}}
<span>
<
template
v-if=
"items.length === 1"
>
1
</
template
>
<
template
v-else
>
<span>
{{
(
curPage
-
1
)
*
limit
+
1
}}
-
{{
totalrow
>
curPage
*
limit
?
curPage
*
limit
:
totalrow
}}
</span>
</
template
>
</span>
{{$t('app.gridpage.records')}},{{$t('app.gridpage.totle')}}
{{totalrow}}
{{$t('app.gridpage.records')}}
</span>
</span>
</page>
</row>
</i-form>
</div>
</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
IBIZBOOKEntityService
from
'@/service/ibizbook/ibizbook-service'
;
import
MainService
from
'./main-grid-service'
;
import
IBIZBOOKUIService
from
'@/uiservice/ibizbook/ibizbook-ui-service'
;
import
CodeListService
from
"@/codelist/codelist-service"
;
import
{
FormItemModel
}
from
'@/model/form-detail'
;
import
{
Environment
}
from
'@/environments/environment'
;
@
Component
({
components
:
{
}
})
export
default
class
MainBase
extends
Vue
implements
ControlInterface
{
/**
* 名称
*
* @type {string}
* @memberof MainBase
*/
@
Prop
()
public
name
?:
string
;
/**
* 视图通讯对象
*
* @type {Subject<ViewState>}
* @memberof MainBase
*/
@
Prop
()
public
viewState
!
:
Subject
<
ViewState
>
;
/**
* 应用上下文
*
* @type {*}
* @memberof MainBase
*/
@
Prop
()
public
context
!
:
any
;
/**
* 视图参数
*
* @type {*}
* @memberof MainBase
*/
@
Prop
()
public
viewparams
!
:
any
;
/**
* 视图状态事件
*
* @public
* @type {(Subscription | undefined)}
* @memberof MainBase
*/
public
viewStateEvent
:
Subscription
|
undefined
;
/**
* 获取部件类型
*
* @returns {string}
* @memberof MainBase
*/
public
getControlType
():
string
{
return
'GRID'
}
/**
* 计数器服务对象集合
*
* @type {Array<*>}
* @memberof MainBase
*/
public
counterServiceArray
:
Array
<
any
>
=
[];
/**
* 建构部件服务对象
*
* @type {MainService}
* @memberof MainBase
*/
public
service
:
MainService
=
new
MainService
({
$store
:
this
.
$store
});
/**
* 实体服务对象
*
* @type {IBIZBOOKService}
* @memberof MainBase
*/
public
appEntityService
:
IBIZBOOKEntityService
=
new
IBIZBOOKEntityService
({
$store
:
this
.
$store
});
/**
* 转化数据
*
* @param {any} args
* @memberof MainBase
*/
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 MainBase
*/
public
closeView
(
args
:
any
):
void
{
let
_this
:
any
=
this
;
_this
.
$emit
(
'closeview'
,
[
args
]);
}
/**
* 计数器刷新
*
* @memberof MainBase
*/
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
();
}
})
}
}
/**
* 代码表服务对象
*
* @type {CodeListService}
* @memberof MainBase
*/
public
codeListService
:
CodeListService
=
new
CodeListService
();
/**
* 主信息表格列
*
* @type {string}
* @memberof MainBase
*/
public
majorInfoColName
:
string
=
"ibizbookname"
;
/**
* 界面UI服务对象
*
* @type {IBIZBOOKUIService}
* @memberof MainBase
*/
public
appUIService
:
IBIZBOOKUIService
=
new
IBIZBOOKUIService
();
/**
* 界面行为模型
*
* @type {*}
* @memberof MainBase
*/
public
actionModel
:
any
=
{
};
/**
* 应用状态事件
*
* @public
* @type {(Subscription | undefined)}
* @memberof MainBase
*/
public
appStateEvent
:
Subscription
|
undefined
;
/**
* 获取多项数据
*
* @returns {any[]}
* @memberof MainBase
*/
public
getDatas
():
any
[]
{
return
this
.
selections
;
}
/**
* 获取单项树
*
* @returns {*}
* @memberof MainBase
*/
public
getData
():
any
{
return
this
.
selections
[
0
];
}
/**
* 是否嵌入关系界面
*
* @type {boolean}
* @memberof MainBase
*/
@
Prop
({
default
:
false
})
public
isformDruipart
?:
boolean
;
/**
* 显示处理提示
*
* @type {boolean}
* @memberof MainBase
*/
@
Prop
({
default
:
true
})
public
showBusyIndicator
?:
boolean
;
/**
* 部件行为--update
*
* @type {string}
* @memberof MainBase
*/
@
Prop
()
public
updateAction
!
:
string
;
/**
* 部件行为--fetch
*
* @type {string}
* @memberof MainBase
*/
@
Prop
()
public
fetchAction
!
:
string
;
/**
* 部件行为--remove
*
* @type {string}
* @memberof MainBase
*/
@
Prop
()
public
removeAction
!
:
string
;
/**
* 部件行为--load
*
* @type {string}
* @memberof MainBase
*/
@
Prop
()
public
loadAction
!
:
string
;
/**
* 部件行为--loaddraft
*
* @type {string}
* @memberof MainBase
*/
@
Prop
()
public
loaddraftAction
!
:
string
;
/**
* 部件行为--create
*
* @type {string}
* @memberof MainBase
*/
@
Prop
()
public
createAction
!
:
string
;
/**
* 当前页
*
* @type {number}
* @memberof MainBase
*/
public
curPage
:
number
=
1
;
/**
* 数据
*
* @type {any[]}
* @memberof MainBase
*/
public
items
:
any
[]
=
[];
/**
* 是否支持分页
*
* @type {boolean}
* @memberof MainBase
*/
public
isEnablePagingBar
:
boolean
=
true
;
/**
* 是否禁用排序
*
* @type {boolean}
* @memberof MainBase
*/
public
isNoSort
:
boolean
=
false
;
/**
* 排序方向
*
* @type {string}
* @memberof MainBase
*/
public
minorSortDir
:
string
=
''
;
/**
* 排序字段
*
* @type {string}
* @memberof MainBase
*/
public
minorSortPSDEF
:
string
=
''
;
/**
* 分页条数
*
* @type {number}
* @memberof MainBase
*/
public
limit
:
number
=
20
;
/**
* 是否显示标题
*
* @type {boolean}
* @memberof MainBase
*/
public
isHideHeader
:
boolean
=
false
;
/**
* 是否默认选中第一条数据
*
* @type {boolean}
* @memberof MainBase
*/
@
Prop
({
default
:
false
})
public
isSelectFirstDefault
!
:
boolean
;
/**
* 是否单选
*
* @type {boolean}
* @memberof MainBase
*/
@
Prop
()
public
isSingleSelect
?:
boolean
;
/**
* 选中数据字符串
*
* @type {string}
* @memberof MainBase
*/
@
Prop
()
public
selectedData
?:
string
;
/**
* 选中值变化
*
* @param {*} newVal
* @param {*} oldVal
* @memberof MainBase
*/
@
Watch
(
'selectedData'
)
public
onValueChange
(
newVal
:
any
,
oldVal
:
any
)
{
this
.
selections
=
[];
if
(
this
.
selectedData
){
const
refs
:
any
=
this
.
$refs
;
if
(
refs
.
multipleTable
)
{
refs
.
multipleTable
.
clearSelection
();
JSON
.
parse
(
this
.
selectedData
).
forEach
((
selection
:
any
)
=>
{
let
selectedItem
=
this
.
items
.
find
((
item
:
any
)
=>
{
return
Object
.
is
(
item
.
srfkey
,
selection
.
srfkey
);
});
if
(
selectedItem
){
this
.
rowClick
(
selectedItem
);
}
});
}
}
}
/**
* 表格行数据默认激活模式
* 0 不激活
* 1 单击激活
* 2 双击激活
*
* @type {(number | 0 | 1 | 2)}
* @memberof MainBase
*/
@
Prop
({
default
:
2
})
public
gridRowActiveMode
!
:
number
;
/**
* 是否开启行编辑
*
* @type {boolean}
* @memberof MainBase
*/
@
Prop
({
default
:
false
})
public
isOpenEdit
!
:
boolean
;
/**
* 实际是否开启行编辑
*
* @type {boolean}
* @memberof MainBase
*/
public
actualIsOpenEdit
:
boolean
=
this
.
isOpenEdit
;
/**
* 总条数
*
* @type {number}
* @memberof MainBase
*/
public
totalrow
:
number
=
0
;
/**
* 表格更新默认值项
*
* @memberof MainBase
*/
public
defaultUpdateItems
:
Array
<
any
>
=
[];
/**
* 选中行数据
*
* @type {any[]}
* @memberof MainBase
*/
public
selections
:
any
[]
=
[];
/**
* 拦截行选中
*
* @type {boolean}
* @memberof MainBase
*/
public
stopRowClick
:
boolean
=
false
;
/**
* 当前编辑行数据
*
* @type {boolean}
* @memberof MainBase
*/
public
curEditRowData
:
any
;
/**
* 表格是否显示
*
* @type {boolean}
* @memberof MainBase
*/
public
isDisplay
:
boolean
=
true
;
/**
* 表格行编辑项校验错误提示信息
*
* @type {boolean}
* @memberof MainBase
*/
public
errorMessages
:
Array
<
any
>
=
[];
/**
* 部件刷新
*
* @param {any} args
* @memberof MainBase
*/
public
refresh
(
args
?:
any
):
void
{
this
.
load
();
}
/**
* 选项框列宽
*
* @type {number}
* @memberof AppIndex
*/
public
checkboxColWidth
:
number
=
50
;
/**
* 是否允许拖动列宽
*
* @type {boolean}
* @memberof AppEmbedPicker
*/
public
isDragendCol
:
boolean
=
true
;
/**
* 所有列成员
*
* @type {any[]}
* @memberof MainBase
*/
public
allColumns
:
any
[]
=
[
{
name
:
'ibizbookname'
,
label
:
'图书名称'
,
langtag
:
'entities.ibizbook.main_grid.columns.ibizbookname'
,
show
:
true
,
unit
:
'PX'
,
isEnableRowEdit
:
false
,
enableCond
:
3
,
},
{
name
:
'updateman'
,
label
:
'更新人'
,
langtag
:
'entities.ibizbook.main_grid.columns.updateman'
,
show
:
true
,
unit
:
'PX'
,
isEnableRowEdit
:
false
,
enableCond
:
3
,
},
{
name
:
'updatedate'
,
label
:
'更新时间'
,
langtag
:
'entities.ibizbook.main_grid.columns.updatedate'
,
show
:
true
,
unit
:
'PX'
,
isEnableRowEdit
:
false
,
enableCond
:
3
,
},
]
/**
* 表格模型集合
*
* @type {*}
* @memberof MainBase
*/
public
gridItemsModel
:
any
[]
=
[];
/**
* 是否启用分组
*
* @type {boolean}
* @memberof MainBase
*/
public
isEnableGroup
:
boolean
=
false
;
/**
* 分组属性
*
* @type {string}
* @memberof MainBase
*/
public
groupAppField
:
string
=
""
;
/**
* 分组属性代码表标识
*
* @type {string}
* @memberof MainBase
*/
public
groupAppFieldCodelistTag
:
string
=
""
;
/**
* 分组属性代码表类型
*
* @type {string}
* @memberof MainBase
*/
public
groupAppFieldCodelistType
:
string
=
""
;
/**
* 分组模式
*
* @type {string}
* @memberof MainBase
*/
public
groupMode
:
string
=
"NONE"
;
/**
* 分组代码表标识
*
* @type {string}
* @memberof MainBase
*/
public
codelistTag
:
string
=
""
;
/**
* 分组代码表类型
*
* @type {string}
* @memberof MainBase
*/
public
codelistType
:
string
=
""
;
/**
* 获取界面行为权限状态
*
* @memberof MainBase
*/
public
getActionState
(
data
:
any
){
let
tempActionModel
:
any
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
actionModel
));
let
targetData
:
any
=
this
.
transformData
(
data
);
ViewTool
.
calcActionItemAuthState
(
targetData
,
tempActionModel
,
this
.
appUIService
);
return
tempActionModel
;
}
/**
* 获取表格行模型
*
* @type {*}
* @memberof MainBase
*/
public
getGridRowModel
(){
return
{
srfkey
:
new
FormItemModel
(),
}
}
/**
* 属性值规则
*
* @type {*}
* @memberof MainBase
*/
public
deRules
(){
return
{
};
}
/**
* 值规则集合
*
* @type {*}
* @memberof MainBase
*/
public
rules
(){
return
{
srfkey
:
[
{
required
:
false
,
validator
:
(
rule
:
any
,
value
:
any
,
callback
:
any
)
=>
{
return
(
rule
.
required
&&
(
value
===
null
||
value
===
undefined
||
value
===
""
))
?
false
:
true
;},
message
:
`
${
this
.
$t
(
'entities.ibizbook.main_grid.columns.srfkey'
)}${
this
.
$t
(
'app.commonWords.valueNotEmpty'
)}
`
,
trigger
:
'change'
},
{
required
:
false
,
validator
:
(
rule
:
any
,
value
:
any
,
callback
:
any
)
=>
{
return
(
rule
.
required
&&
(
value
===
null
||
value
===
undefined
||
value
===
""
))
?
false
:
true
;},
message
:
`
${
this
.
$t
(
'entities.ibizbook.main_grid.columns.srfkey'
)}${
this
.
$t
(
'app.commonWords.valueNotEmpty'
)}
`
,
trigger
:
'blur'
},
],
}
}
/**
* 表格行编辑项校验
*
* @param {string} property 属性名
* @param {*} data 行数据
* @param {number} rowIndex 行索引
* @returns Promise<any>
*
* @memberof MainBase
*/
public
validate
(
property
:
string
,
data
:
any
,
rowIndex
:
number
):
Promise
<
any
>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
this
.
$util
.
validateItem
(
property
,
data
,
this
.
rules
()).
then
(()
=>
{
this
.
gridItemsModel
[
rowIndex
][
property
].
setError
(
null
);
resolve
(
true
);
}).
catch
(({
errors
,
fields
})
=>
{
this
.
gridItemsModel
[
rowIndex
][
property
].
setError
(
errors
[
0
].
message
);
resolve
(
false
);
});
});
}
/**
* 校验所有修改过的编辑项
*
* @returns Promise<any>
* @memberof MainBase
*/
public
async
validateAll
(){
this
.
errorMessages
=
[];
let
validateState
=
true
;
let
index
=
-
1
;
for
(
let
item
of
this
.
items
)
{
let
tempMessage
:
string
=
''
;
index
++
;
if
(
item
.
rowDataState
===
"create"
||
item
.
rowDataState
===
"update"
)
{
for
(
let
property
of
Object
.
keys
(
this
.
rules
()))
{
if
(
!
await
this
.
validate
(
property
,
item
,
index
))
{
validateState
=
false
;
tempMessage
=
tempMessage
+
'<p>'
+
this
.
gridItemsModel
[
index
][
property
].
error
+
'<p>'
;
}
}
}
this
.
errorMessages
.
push
(
tempMessage
);
}
return
validateState
;
}
/**
* 表格数据加载
*
* @param {*} [arg={}]
* @memberof MainBase
*/
public
load
(
opt
:
any
=
{},
pageReset
:
boolean
=
false
):
void
{
if
(
!
this
.
fetchAction
){
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZBOOKCustomView_layout'
+
(
this
.
$t
(
'app.gridpage.notConfig.fetchAction'
)
as
string
)
});
return
;
}
if
(
pageReset
){
this
.
curPage
=
1
;
}
const
arg
:
any
=
{...
opt
};
const
page
:
any
=
{};
if
(
this
.
isEnablePagingBar
)
{
Object
.
assign
(
page
,
{
page
:
this
.
curPage
-
1
,
size
:
this
.
limit
});
}
// 设置排序
if
(
!
this
.
isNoSort
&&
!
Object
.
is
(
this
.
minorSortDir
,
''
)
&&
!
Object
.
is
(
this
.
minorSortPSDEF
,
''
))
{
const
sort
:
string
=
this
.
minorSortPSDEF
+
","
+
this
.
minorSortDir
;
Object
.
assign
(
page
,
{
sort
:
sort
});
}
//清空selections
if
(
this
.
selections
&&
this
.
selections
.
length
>
0
)
{
this
.
selections
=
[];
this
.
$emit
(
'selectionchange'
,
this
.
selections
);
}
Object
.
assign
(
arg
,
page
);
const
parentdata
:
any
=
{};
this
.
$emit
(
'beforeload'
,
parentdata
);
Object
.
assign
(
arg
,
parentdata
);
let
tempViewParams
:
any
=
parentdata
.
viewparams
?
parentdata
.
viewparams
:{};
Object
.
assign
(
tempViewParams
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
viewparams
)));
Object
.
assign
(
arg
,{
viewparams
:
tempViewParams
});
const
post
:
Promise
<
any
>
=
this
.
service
.
search
(
this
.
fetchAction
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),
arg
,
this
.
showBusyIndicator
);
post
.
then
((
response
:
any
)
=>
{
if
(
!
response
.
status
||
response
.
status
!==
200
)
{
if
(
response
.
data
&&
response
.
data
.
message
)
{
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
response
.
data
.
message
});
}
return
;
}
const
data
:
any
=
response
.
data
;
this
.
totalrow
=
response
.
total
;
this
.
items
=
JSON
.
parse
(
JSON
.
stringify
(
data
));
// 清空selections,gridItemsModel
// this.selections = [];
this
.
gridItemsModel
=
[];
this
.
items
.
forEach
(()
=>
{
this
.
gridItemsModel
.
push
(
this
.
getGridRowModel
())});
this
.
items
.
forEach
((
item
:
any
)
=>
{
Object
.
assign
(
item
,
this
.
getActionState
(
item
));
});
this
.
$emit
(
'load'
,
this
.
items
);
// 设置默认选中
let
_this
=
this
;
setTimeout
(()
=>
{
//在导航视图中,如已有选中数据,则右侧展开已选中数据的视图,如无选中数据则默认选中第一条
if
(
_this
.
isSelectFirstDefault
){
if
(
_this
.
selections
&&
_this
.
selections
.
length
>
0
){
_this
.
selections
.
forEach
((
select
:
any
)
=>
{
const
index
=
_this
.
items
.
findIndex
((
item
:
any
)
=>
Object
.
is
(
item
.
srfkey
,
select
.
srfkey
));
if
(
index
!=
-
1
){
_this
.
rowClick
(
_this
.
items
[
index
]);
}
})
}
else
{
_this
.
rowClick
(
this
.
items
[
0
]);
}
}
if
(
_this
.
selectedData
){
const
refs
:
any
=
_this
.
$refs
;
if
(
refs
.
multipleTable
)
{
refs
.
multipleTable
.
clearSelection
();
JSON
.
parse
(
_this
.
selectedData
).
forEach
((
selection
:
any
)
=>
{
let
selectedItem
=
_this
.
items
.
find
((
item
:
any
)
=>
{
return
Object
.
is
(
item
.
srfkey
,
selection
.
srfkey
);
});
if
(
selectedItem
){
_this
.
rowClick
(
selectedItem
);
}
});
}
}
},
300
);
}).
catch
((
response
:
any
)
=>
{
if
(
response
&&
response
.
status
===
401
)
{
return
;
}
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
response
.
data
&&
response
.
data
.
message
?
response
.
data
.
message
:
""
});
});
}
/**
* 删除
*
* @param {any[]} datas
* @returns {Promise<any>}
* @memberof MainBase
*/
public
async
remove
(
datas
:
any
[]):
Promise
<
any
>
{
if
(
!
this
.
removeAction
){
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZBOOKCustomView_layout'
+
(
this
.
$t
(
'app.gridpage.notConfig.removeAction'
)
as
string
)
});
return
;
}
let
_datas
:
any
[]
=
[];
datas
.
forEach
((
record
:
any
,
index
:
number
)
=>
{
if
(
Object
.
is
(
record
.
srfuf
,
"0"
))
{
this
.
items
.
some
((
val
:
any
,
num
:
number
)
=>
{
if
(
JSON
.
stringify
(
val
)
==
JSON
.
stringify
(
record
)){
this
.
items
.
splice
(
num
,
1
);
this
.
gridItemsModel
.
splice
(
num
,
1
);
return
true
;
}
});
}
else
{
_datas
.
push
(
datas
[
index
]);
}
});
if
(
_datas
.
length
===
0
)
{
return
;
}
let
dataInfo
=
''
;
_datas
.
forEach
((
record
:
any
,
index
:
number
)
=>
{
let
srfmajortext
=
record
.
ibizbookname
;
if
(
index
<
5
)
{
if
(
!
Object
.
is
(
dataInfo
,
''
))
{
dataInfo
+=
'、'
;
}
dataInfo
+=
srfmajortext
;
}
else
{
return
false
;
}
});
if
(
_datas
.
length
<
5
)
{
dataInfo
=
dataInfo
+
' '
+
(
this
.
$t
(
'app.gridpage.totle'
)
as
string
)
+
_datas
.
length
+
(
this
.
$t
(
'app.gridpage.records'
)
as
string
)
+
(
this
.
$t
(
'app.gridpage.data'
)
as
string
);
}
else
{
dataInfo
=
' ... '
+
(
this
.
$t
(
'app.gridpage.totle'
)
as
string
)
+
_datas
.
length
+
(
this
.
$t
(
'app.gridpage.records'
)
as
string
)
+
(
this
.
$t
(
'app.gridpage.data'
)
as
string
);
}
const
removeData
=
()
=>
{
let
keys
:
any
[]
=
[];
_datas
.
forEach
((
data
:
any
)
=>
{
keys
.
push
(
data
.
srfkey
);
});
let
_removeAction
=
keys
.
length
>
1
?
'removeBatch'
:
this
.
removeAction
;
let
_keys
=
keys
.
length
>
1
?
keys
:
keys
[
0
]
;
const
context
:
any
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
));
const
post
:
Promise
<
any
>
=
this
.
service
.
delete
(
_removeAction
,
Object
.
assign
(
context
,{
ibizbook
:
_keys
}),
Object
.
assign
({
ibizbook
:
_keys
},{
viewparams
:
this
.
viewparams
}),
this
.
showBusyIndicator
);
return
new
Promise
((
resolve
:
any
,
reject
:
any
)
=>
{
post
.
then
((
response
:
any
)
=>
{
if
(
!
response
||
response
.
status
!==
200
)
{
this
.
$Notice
.
error
({
title
:
''
,
desc
:
(
this
.
$t
(
'app.gridpage.delDataFail'
)
as
string
)
+
','
+
response
.
info
});
return
;
}
else
{
this
.
$Notice
.
success
({
title
:
''
,
desc
:
(
this
.
$t
(
'app.gridpage.delSuccess'
)
as
string
)
});
}
//删除items中已删除的项
_datas
.
forEach
((
data
:
any
)
=>
{
this
.
items
.
some
((
item
:
any
,
index
:
number
)
=>
{
if
(
Object
.
is
(
item
.
srfkey
,
data
.
srfkey
)){
this
.
items
.
splice
(
index
,
1
);
this
.
gridItemsModel
.
splice
(
index
,
1
);
return
true
;
}
});
});
this
.
totalrow
-=
_datas
.
length
;
this
.
$emit
(
'remove'
,
null
);
this
.
selections
=
[];
resolve
(
response
);
}).
catch
((
response
:
any
)
=>
{
if
(
response
&&
response
.
status
!=
200
)
{
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
response
.
data
&&
response
.
data
.
message
?
response
.
data
.
message
:
""
});
return
;
}
if
(
!
response
||
!
response
.
status
||
!
response
.
data
)
{
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
(
this
.
$t
(
'app.commonWords.sysException'
)
as
string
)
});
reject
(
response
);
return
;
}
reject
(
response
);
});
});
}
dataInfo
=
dataInfo
.
replace
(
/
[
null
]
/g
,
''
).
replace
(
/
[
undefined
]
/g
,
''
);
this
.
$Modal
.
confirm
({
title
:
(
this
.
$t
(
'app.commonWords.warning'
)
as
string
),
content
:
(
this
.
$t
(
'app.gridpage.confirmDel'
)
as
string
)
+
' '
+
dataInfo
+
','
+
(
this
.
$t
(
'app.gridpage.notRecoverable'
)
as
string
),
onOk
:
()
=>
{
removeData
();
},
onCancel
:
()
=>
{
}
});
return
removeData
;
}
/**
* 批量添加
*
* @param {*} [arg={}]
* @memberof MainBase
*/
public
addBatch
(
arg
:
any
=
{}):
void
{
if
(
!
this
.
fetchAction
){
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZBOOKCustomView_layout'
+
(
this
.
$t
(
'app.gridpage.notConfig.fetchAction'
)
as
string
)
});
return
;
}
if
(
!
arg
){
arg
=
{};
}
console
.
error
((
this
.
$t
(
'app.gridpage.notBatch'
)
as
string
));
}
/**
* 数据导入
*
* @param {*} data
* @memberof MainBase
*/
public
importExcel
(
data
:
any
=
{}):
void
{
//导入excel
const
importDataModel
:
any
=
{
importId
:
'DataImport'
,
serviceName
:
'ibizbook'
,
appDeLogicName
:
'图书'
,
importData
:{
"AUTHOR"
:{
"headername"
:
"图书作者"
,
"isuniqueitem"
:
false
,
"name"
:
"author"
,
"order"
:
1000
},
"BOOKNUMBER"
:{
"headername"
:
"图书数量"
,
"isuniqueitem"
:
false
,
"name"
:
"booknumber"
,
"order"
:
1000
},
"BORROWWAY"
:{
"codelist"
:{
"type"
:
"STATIC"
,
"tag"
:
"CodeList25"
,
"isnumber"
:
false
},
"headername"
:
"借阅方式"
,
"isuniqueitem"
:
false
,
"name"
:
"borrowway"
,
"order"
:
1000
},
"IBIZBOOKID"
:{
"headername"
:
"图书标识"
,
"isuniqueitem"
:
false
,
"name"
:
"ibizbookid"
,
"order"
:
1000
},
"IBIZBOOKNAME"
:{
"headername"
:
"图书名称"
,
"isuniqueitem"
:
false
,
"name"
:
"ibizbookname"
,
"order"
:
1000
},
"PRESS"
:{
"headername"
:
"图书出版社"
,
"isuniqueitem"
:
false
,
"name"
:
"press"
,
"order"
:
1000
},
"PRICE"
:{
"headername"
:
"图书价格"
,
"isuniqueitem"
:
false
,
"name"
:
"price"
,
"order"
:
1000
},
"SAILSTATE"
:{
"codelist"
:{
"type"
:
"STATIC"
,
"tag"
:
"BookSailState"
,
"isnumber"
:
false
},
"headername"
:
"图书销售状态"
,
"isuniqueitem"
:
false
,
"name"
:
"sailstate"
,
"order"
:
1000
},
"SUBTEXT"
:{
"headername"
:
"图书描述"
,
"isuniqueitem"
:
false
,
"name"
:
"subtext"
,
"order"
:
1000
},
"TAG"
:{
"headername"
:
"标签"
,
"isuniqueitem"
:
false
,
"name"
:
"tag"
,
"order"
:
1000
},
"TYPE"
:{
"codelist"
:{
"type"
:
"STATIC"
,
"tag"
:
"BookType"
,
"isnumber"
:
false
},
"headername"
:
"图书类型"
,
"isuniqueitem"
:
false
,
"name"
:
"type"
,
"order"
:
1000
}
}
}
if
(
Object
.
keys
(
importDataModel
).
length
==
0
){
this
.
$Notice
.
warning
({
'title'
:
(
this
.
$t
(
"app.utilview.warning"
)
as
string
),
'desc'
:
(
this
.
$t
(
"app.utilview.info"
)
as
string
)
});
return
;
}
const
view
:
any
=
{
viewname
:
'app-data-upload'
,
title
:
this
.
$t
(
"app.utilview.importview"
),
width
:
900
,
height
:
700
}
let
container
:
Subject
<
any
>
=
this
.
$appmodal
.
openModal
(
view
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),
importDataModel
);
container
.
subscribe
((
result
:
any
)
=>
{
if
(
Object
.
is
(
result
.
ret
,
'OK'
)){
this
.
refresh
(
result
.
datas
);
}
});
}
/**
* 数据导出
*
* @param {*} data
* @memberof MainBase
*/
public
exportExcel
(
data
:
any
=
{}):
void
{
// 导出Excel
const
doExport
=
async
(
_data
:
any
)
=>
{
const
tHeader
:
Array
<
any
>
=
[];
const
filterVal
:
Array
<
any
>
=
[];
this
.
allColumns
.
forEach
((
item
:
any
)
=>
{
item
.
show
&&
item
.
label
?
tHeader
.
push
(
this
.
$t
(
item
.
langtag
))
:
""
;
item
.
show
&&
item
.
name
?
filterVal
.
push
(
item
.
name
)
:
""
;
});
const
data
=
await
this
.
formatExcelData
(
filterVal
,
_data
);
this
.
$export
.
exportExcel
().
then
((
excel
:
any
)
=>
{
excel
.
export_json_to_excel
({
header
:
tHeader
,
//表头 必填
data
,
//具体数据 必填
filename
:
"图书"
+
(
this
.
$t
(
'app.gridpage.grid'
)
as
string
),
//非必填
autoWidth
:
true
,
//非必填
bookType
:
"xlsx"
//非必填
});
});
};
const
page
:
any
=
{};
// 设置page,size
if
(
Object
.
is
(
data
.
type
,
'maxRowCount'
))
{
Object
.
assign
(
page
,
{
page
:
0
,
size
:
data
.
maxRowCount
});
}
else
if
(
Object
.
is
(
data
.
type
,
'activatedPage'
))
{
try
{
doExport
(
JSON
.
parse
(
JSON
.
stringify
(
this
.
items
)));
}
catch
(
error
)
{
console
.
error
(
error
);
}
return
;
}
// 设置排序
if
(
!
this
.
isNoSort
&&
!
Object
.
is
(
this
.
minorSortDir
,
''
)
&&
!
Object
.
is
(
this
.
minorSortPSDEF
,
''
))
{
const
sort
:
string
=
this
.
minorSortPSDEF
+
","
+
this
.
minorSortDir
;
Object
.
assign
(
page
,
{
sort
:
sort
});
}
const
arg
:
any
=
{};
Object
.
assign
(
arg
,
page
);
// 获取query,搜索表单,viewparams等父数据
const
parentdata
:
any
=
{};
this
.
$emit
(
'beforeload'
,
parentdata
);
Object
.
assign
(
arg
,
parentdata
);
let
tempViewParams
:
any
=
parentdata
.
viewparams
?
parentdata
.
viewparams
:{};
Object
.
assign
(
tempViewParams
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
viewparams
)));
Object
.
assign
(
arg
,{
viewparams
:
tempViewParams
});
const
post
:
Promise
<
any
>
=
this
.
service
.
search
(
this
.
fetchAction
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),
arg
,
this
.
showBusyIndicator
);
post
.
then
((
response
:
any
)
=>
{
if
(
!
response
||
response
.
status
!==
200
)
{
this
.
$Notice
.
error
({
title
:
''
,
desc
:
(
this
.
$t
(
'app.gridpage.exportFail'
)
as
string
)
+
','
+
response
.
info
});
return
;
}
try
{
doExport
(
JSON
.
parse
(
JSON
.
stringify
(
response
.
data
)));
}
catch
(
error
)
{
console
.
error
(
error
);
}
}).
catch
((
response
:
any
)
=>
{
if
(
response
&&
response
.
status
===
401
)
{
return
;
}
this
.
$Notice
.
error
({
title
:
''
,
desc
:
(
this
.
$t
(
'app.gridpage.exportFail'
)
as
string
)
});
});
}
/**
* 导出数据格式化
*
* @param {*} filterVal
* @param {*} jsonData
* @returns {[]}
* @memberof MainBase
*/
public
async
formatExcelData
(
filterVal
:
any
,
jsonData
:
any
)
{
let
codelistColumns
:
Array
<
any
>
=
[
{
name
:
'updateman'
,
srfkey
:
'SysOperator'
,
codelistType
:
'DYNAMIC'
,
renderMode
:
'other'
,
textSeparator
:
'、'
,
valueSeparator
:
','
,
},
];
let
_this
=
this
;
for
(
const
codelist
of
codelistColumns
)
{
// 动态代码表处理
if
(
Object
.
is
(
codelist
.
codelistType
,
"DYNAMIC"
))
{
let
items
=
await
_this
.
codeListService
.
getItems
(
codelist
.
srfkey
);
jsonData
.
forEach
((
row
:
any
)
=>
{
row
[
codelist
.
name
]
=
_this
.
getCodelistValue
(
items
,
row
[
codelist
.
name
],
codelist
);
});
// 静态处理
}
else
if
(
Object
.
is
(
codelist
.
codelistType
,
"STATIC"
)){
let
items
=
await
_this
.
$store
.
getters
.
getCodeListItems
(
codelist
.
srfkey
);
jsonData
.
forEach
((
row
:
any
)
=>
{
row
[
codelist
.
name
]
=
_this
.
getCodelistValue
(
items
,
row
[
codelist
.
name
],
codelist
);
});
}
}
return
jsonData
.
map
((
v
:
any
)
=>
filterVal
.
map
((
j
:
any
)
=>
v
[
j
]))
}
/**
* 解析代码表和vlaue,设置items
*
* @public
* @param {any[]} items 代码表数据
* @param {*} value
* @returns {*}
* @memberof MainBase
*/
public
getCodelistValue
(
items
:
any
[],
value
:
any
,
codelist
:
any
,){
if
(
!
value
&&
value
!==
0
&&
value
!==
false
){
return
this
.
$t
(
'codelist.'
+
codelist
.
srfkey
+
'.empty'
);
}
if
(
items
)
{
let
result
:
any
=
[];
if
(
Object
.
is
(
codelist
.
renderMode
,
"number"
)){
items
.
map
((
_item
:
any
,
index
:
number
)
=>
{
const
nValue
=
parseInt
((
value
as
any
),
10
);
const
codevalue
=
_item
.
value
;
if
((
parseInt
(
codevalue
,
10
)
&
nValue
)
>
0
){
result
.
push
(
_item
);
}
});
}
else
if
(
Object
.
is
(
codelist
.
renderMode
,
"string"
)){
const
arrayValue
:
Array
<
any
>
=
(
value
as
any
).
split
(
codelist
.
valueSeparator
);
arrayValue
.
map
((
value
:
any
,
index
:
number
)
=>
{
result
.
push
([]);
let
values
:
any
[]
=
Object
.
is
(
this
.
$util
.
typeOf
(
value
),
'number'
)
?
[
value
]
:
[...(
value
as
any
).
split
(
codelist
.
valueSeparator
)];
values
.
map
((
val
:
any
,
num
:
number
)
=>
{
const
item
=
this
.
getItem
(
items
,
val
,
codelist
);
if
(
item
){
result
[
index
].
push
(
item
);
}
});
});
}
else
{
let
values
:
any
[]
=
Object
.
is
(
this
.
$util
.
typeOf
(
value
),
'number'
)
?
[
value
]
:
[...(
value
as
any
).
split
(
codelist
.
valueSeparator
)];
values
.
map
((
value
:
any
,
index
:
number
)
=>
{
const
item
=
this
.
getItem
(
items
,
value
,
codelist
);
if
(
item
){
result
.
push
(
item
);
}
});
}
// 设置items
if
(
result
.
length
!=
0
){
return
result
.
join
(
codelist
.
valueSeparator
);
}
else
{
return
value
;
}
}
}
/**
* 获取代码项
*
* @public
* @param {any[]} items
* @param {*} value
* @returns {*}
* @memberof MainBase
*/
public
getItem
(
items
:
any
[],
value
:
any
,
codelist
:
any
):
any
{
const
arr
:
Array
<
any
>
=
items
.
filter
(
item
=>
{
return
item
.
value
==
value
});
if
(
arr
.
length
!==
1
)
{
return
undefined
;
}
if
(
Object
.
is
(
codelist
.
codelistType
,
'STATIC'
)){
return
this
.
$t
(
'codelist.'
+
codelist
.
srfkey
+
'.'
+
arr
[
0
].
value
);
}
else
{
return
arr
[
0
].
text
;
}
}
/**
* 生命周期
*
* @memberof MainBase
*/
public
created
():
void
{
this
.
afterCreated
();
}
/**
* 执行created后的逻辑
*
* @memberof MainBase
*/
public
afterCreated
(){
this
.
setColState
();
if
(
this
.
viewState
)
{
this
.
viewStateEvent
=
this
.
viewState
.
subscribe
(({
tag
,
action
,
data
})
=>
{
if
(
!
Object
.
is
(
tag
,
this
.
name
))
{
return
;
}
if
(
Object
.
is
(
'load'
,
action
))
{
this
.
load
(
data
,
true
);
}
if
(
Object
.
is
(
'remove'
,
action
))
{
this
.
remove
(
data
);
}
if
(
Object
.
is
(
'save'
,
action
))
{
this
.
save
(
data
);
}
});
}
if
(
AppCenterService
&&
AppCenterService
.
getMessageCenter
()){
this
.
appStateEvent
=
AppCenterService
.
getMessageCenter
().
subscribe
(({
name
,
action
,
data
})
=>
{
if
(
!
Object
.
is
(
name
,
"IBIZBOOK"
)){
return
;
}
if
(
Object
.
is
(
action
,
'appRefresh'
)){
this
.
refresh
([
data
]);
}
})
}
}
/**
* vue 生命周期
*
* @memberof MainBase
*/
public
destroyed
()
{
this
.
afterDestroy
();
}
/**
* 执行destroyed后的逻辑
*
* @memberof MainBase
*/
public
afterDestroy
()
{
if
(
this
.
viewStateEvent
)
{
this
.
viewStateEvent
.
unsubscribe
();
}
if
(
this
.
appStateEvent
){
this
.
appStateEvent
.
unsubscribe
();
}
}
/**
* 获取选中行胡数据
*
* @returns {any[]}
* @memberof MainBase
*/
public
getSelection
():
any
[]
{
return
this
.
selections
;
}
/**
* 行双击事件
*
* @param {*} $event
* @returns {void}
* @memberof MainBase
*/
public
rowDBLClick
(
$event
:
any
):
void
{
// 分组行跳过
if
(
$event
&&
$event
.
children
){
return
;
}
if
(
!
$event
||
this
.
actualIsOpenEdit
||
Object
.
is
(
this
.
gridRowActiveMode
,
0
))
{
return
;
}
this
.
selections
=
[];
this
.
selections
.
push
(
JSON
.
parse
(
JSON
.
stringify
(
$event
)));
const
refs
:
any
=
this
.
$refs
;
if
(
refs
.
multipleTable
)
{
refs
.
multipleTable
.
clearSelection
();
refs
.
multipleTable
.
toggleRowSelection
(
$event
);
}
this
.
$emit
(
'rowdblclick'
,
this
.
selections
);
this
.
$emit
(
'selectionchange'
,
this
.
selections
);
}
/**
* 合并分组行
*
* @memberof MainBase
*/
public
arraySpanMethod
({
row
,
column
,
rowIndex
,
columnIndex
}
:
any
)
{
let
allColumns
:
Array
<
any
>
=
[
'ibizbookname'
,
'updateman'
,
'updatedate'
];
if
(
row
&&
row
.
children
)
{
if
(
columnIndex
==
(
this
.
isSingleSelect
?
0
:
1
))
{
return
[
1
,
allColumns
.
length
+
1
];
}
else
if
(
columnIndex
>
(
this
.
isSingleSelect
?
0
:
1
))
{
return
[
0
,
0
];
}
}
}
/**
* 分组方法
*
* @memberof MainBase
*/
public
group
(){
if
(
Object
.
is
(
this
.
groupMode
,
"AUTO"
)){
this
.
drawGroup
();
}
else
if
(
Object
.
is
(
this
.
groupMode
,
"CODELIST"
)){
this
.
drawCodelistGroup
();
}
}
/**
* 获取表格分组相关代码表
*
* @param {string} codelistType 代码表类型
* @param {string} codelistTag 代码表标识
* @memberof MainBase
*/
public
getGroupCodelist
(
codelistType
:
string
,
codelistTag
:
string
){
let
codelist
:
Array
<
any
>
=
[];
// 动态代码表
if
(
Object
.
is
(
codelistType
,
"DYNAMIC"
))
{
this
.
codeListService
.
getItems
(
codelistTag
).
then
((
res
:
any
)
=>
{
codelist
=
res
;
}).
catch
((
error
:
any
)
=>
{
});
// 静态代码表
}
else
if
(
Object
.
is
(
codelistType
,
"STATIC"
)){
codelist
=
this
.
$store
.
getters
.
getCodeListItems
(
codelistTag
);
}
return
codelist
;
}
/**
* 根据分组代码表绘制分组列表
*
* @memberof MainBase
*/
public
drawCodelistGroup
(){
if
(
!
this
.
isEnableGroup
)
return
;
// 分组
let
allGroup
:
Array
<
any
>
=
[];
let
allGroupField
:
Array
<
any
>
=
[];
let
groupTree
:
Array
<
any
>
=
[];
allGroup
=
this
.
getGroupCodelist
(
this
.
codelistType
,
this
.
codelistTag
);
allGroupField
=
this
.
getGroupCodelist
(
this
.
groupAppFieldCodelistType
,
this
.
groupAppFieldCodelistTag
);
if
(
allGroup
.
length
==
0
){
console
.
warn
(
"分组数据无效"
);
}
allGroup
.
forEach
((
group
:
any
,
i
:
number
)
=>
{
let
children
:
Array
<
any
>
=
[];
this
.
items
.
forEach
((
item
:
any
,
j
:
number
)
=>
{
if
(
allGroupField
&&
allGroupField
.
length
>
0
){
if
(
Object
.
is
(
group
.
label
,
item
[
this
.
groupAppField
])){
item
.
groupById
=
Number
((
i
+
1
)
*
100
+
(
j
+
1
)
*
1
);
item
.
group
=
''
;
children
.
push
(
item
);
}
}
else
if
(
Object
.
is
(
group
.
value
,
item
[
this
.
groupAppField
])){
item
.
groupById
=
Number
((
i
+
1
)
*
100
+
(
j
+
1
)
*
1
);
item
.
group
=
''
;
children
.
push
(
item
);
}
});
const
tree
:
any
=
{
groupById
:
Number
((
i
+
1
)
*
100
),
group
:
group
.
label
,
ibizbookname
:
''
,
updateman
:
''
,
updatedate
:
''
,
children
:
children
}
groupTree
.
push
(
tree
);
});
let
child
:
Array
<
any
>
=
[];
this
.
items
.
forEach
((
item
:
any
,
index
:
number
)
=>
{
let
i
:
number
=
0
;
if
(
allGroupField
&&
allGroupField
.
length
>
0
){
i
=
allGroup
.
findIndex
((
group
:
any
)
=>
Object
.
is
(
group
.
label
,
item
[
this
.
groupAppField
]));
}
else
{
i
=
allGroup
.
findIndex
((
group
:
any
)
=>
Object
.
is
(
group
.
value
,
item
[
this
.
groupAppField
]));
}
if
(
i
<
0
){
item
.
groupById
=
Number
((
allGroup
.
length
+
1
)
*
100
+
(
index
+
1
)
*
1
);
item
.
group
=
''
;
child
.
push
(
item
);
}
if
(
i
<
0
){
item
.
groupById
=
Number
((
allGroup
.
length
+
1
)
*
100
+
(
index
+
1
)
*
1
);
item
.
group
=
''
;
child
.
push
(
item
);
}
})
const
Tree
:
any
=
{
groupById
:
Number
((
allGroup
.
length
+
1
)
*
100
),
group
:
this
.
$t
(
'app.gridpage.other'
),
ibizbookname
:
''
,
updateman
:
''
,
updatedate
:
''
,
children
:
child
}
if
(
child
&&
child
.
length
>
0
){
groupTree
.
push
(
Tree
);
}
this
.
items
=
groupTree
;
if
(
this
.
actualIsOpenEdit
)
{
for
(
let
i
=
0
;
i
<
this
.
items
.
length
;
i
++
)
{
this
.
gridItemsModel
.
push
(
this
.
getGridRowModel
());
}
}
}
/**
* 绘制分组
*
* @memberof MainBase
*/
public
drawGroup
(){
if
(
!
this
.
isEnableGroup
)
return
;
// 分组
let
allGroup
:
Array
<
any
>
=
[];
this
.
items
.
forEach
((
item
:
any
)
=>
{
if
(
item
.
hasOwnProperty
(
this
.
groupAppField
)){
allGroup
.
push
(
item
[
this
.
groupAppField
]);
}
});
let
groupTree
:
Array
<
any
>
=
[];
allGroup
=
[...
new
Set
(
allGroup
)];
if
(
allGroup
.
length
==
0
){
console
.
warn
(
"分组数据无效"
);
}
// 组装数据
allGroup
.
forEach
((
group
:
any
,
groupIndex
:
number
)
=>
{
let
children
:
Array
<
any
>
=
[];
this
.
items
.
forEach
((
item
:
any
,
itemIndex
:
number
)
=>
{
if
(
Object
.
is
(
group
,
item
[
this
.
groupAppField
])){
item
.
groupById
=
Number
((
groupIndex
+
1
)
*
100
+
(
itemIndex
+
1
)
*
1
);
item
.
group
=
''
;
children
.
push
(
item
);
}
});
group
=
group
?
group
:
this
.
$t
(
'app.gridpage.other'
);
const
tree
:
any
=
{
groupById
:
Number
((
groupIndex
+
1
)
*
100
),
group
:
group
,
ibizbookname
:
''
,
updateman
:
''
,
updatedate
:
''
,
children
:
children
,
}
groupTree
.
push
(
tree
);
});
this
.
items
=
groupTree
;
if
(
this
.
actualIsOpenEdit
)
{
for
(
let
i
=
0
;
i
<
this
.
items
.
length
;
i
++
)
{
this
.
gridItemsModel
.
push
(
this
.
getGridRowModel
());
}
}
}
/**
* 单个复选框选中
*
* @param {*} selection 所有选中行数据
* @param {*} row 当前选中行数据
* @memberof MainBase
*/
public
select
(
selection
:
any
,
row
:
any
):
void
{
if
(
this
.
groupAppField
)
{
let
isContain
:
boolean
=
selection
.
some
((
item
:
any
)
=>
{
return
item
==
row
;
})
// 是否选中当前行,选中为true,否则为false
if
(
isContain
)
{
// 当前行为分组行
if
(
row
.
children
&&
row
.
children
.
length
>
0
)
{
this
.
toggleSelection
(
row
.
children
,
true
);
row
.
children
.
forEach
((
children
:
any
)
=>
{
this
.
selections
.
push
(
children
);
});
}
else
{
this
.
selections
.
push
(
row
);
}
}
else
{
if
(
row
.
children
&&
row
.
children
.
length
>
0
)
{
this
.
toggleSelection
(
row
.
children
,
false
);
this
.
selections
=
this
.
computeCheckedData
(
this
.
selections
,
row
.
children
);
}
else
{
this
.
selections
=
this
.
computeCheckedData
(
this
.
selections
,
row
);
}
}
this
.
selections
=
[...
new
Set
(
this
.
selections
)]
}
else
{
if
(
!
selection
)
{
return
;
}
this
.
selections
=
[...
JSON
.
parse
(
JSON
.
stringify
(
selection
))];
}
this
.
$emit
(
'selectionchange'
,
this
.
selections
);
}
/**
* 计算当前选中数据
*
* @param {*} selectionArray 所有选中行数据
* @param {*} cancelData 被取消选中行数据,分组行为数组,非分组行为对象
* @memberof MainBase
*/
public
computeCheckedData
(
selectionArray
:
any
[],
cancelData
:
Array
<
any
>
|
any
)
{
let
targetArray
:
Array
<
any
>
=
[];
// 分组行
if
(
Array
.
isArray
(
cancelData
))
{
if
(
selectionArray
&&
selectionArray
.
length
>
0
)
{
selectionArray
.
forEach
((
selection
:
any
)
=>
{
let
tempFlag
:
boolean
=
true
;
cancelData
.
forEach
((
child
:
any
)
=>
{
if
(
selection
.
groupById
===
child
.
groupById
){
tempFlag
=
false
;
}
})
if
(
tempFlag
)
targetArray
.
push
(
selection
);
})
}
}
else
{
// 非分组行
if
(
selectionArray
&&
selectionArray
.
length
>
0
)
{
selectionArray
.
forEach
((
selection
:
any
)
=>
{
let
tempFlag
:
boolean
=
true
;
if
(
selection
.
groupById
===
cancelData
.
groupById
){
tempFlag
=
false
;
}
if
(
tempFlag
)
targetArray
.
push
(
selection
);
})
}
}
return
targetArray
;
}
/**
* 设置非分组行checkbox选中状态
*
* @param {*} rows 选中数据数组
* @param {boolean} flag 是否选中
* @memberof MainBase
*/
public
toggleSelection
(
rows
?:
any
,
flag
?:
boolean
)
{
if
(
rows
)
{
rows
.
forEach
((
row
:
any
)
=>
{
(
this
.
$refs
.
multipleTable
as
any
).
toggleRowSelection
(
row
,
flag
);
});
}
else
{
(
this
.
$refs
.
multipleTable
as
any
).
clearSelection
();
}
}
/**
* 复选框数据全部选中
*
* @param {*} $event
* @memberof MainBase
*/
public
selectAll
(
selection
:
any
):
void
{
this
.
selections
=
[];
if
(
this
.
groupAppField
)
{
let
flag
:
boolean
=
true
;
if
(
selection
&&
selection
.
length
===
this
.
items
.
length
)
{
selection
.
forEach
((
element
:
any
)
=>
{
if
(
element
.
children
)
{
this
.
toggleSelection
(
element
.
children
,
flag
);
element
.
children
.
forEach
((
children
:
any
)
=>
{
this
.
selections
.
push
(
children
);
});
}
else
{
flag
=
false
;
}
});
}
else
{
flag
=
false
;
}
if
(
!
flag
)
{
this
.
toggleSelection
();
}
}
else
{
if
(
!
selection
)
{
return
;
}
this
.
selections
=
[...
JSON
.
parse
(
JSON
.
stringify
(
selection
))];
}
this
.
$emit
(
'selectionchange'
,
this
.
selections
);
}
/**
* 单元格单击隐藏提示框
*
* @memberof MainBase
*/
public
cellClick
()
{
let
el
:
any
=
document
.
getElementsByClassName
(
'el-tooltip__popper'
)[
0
];
if
(
el
)
{
el
.
style
.
display
=
'none'
;
}
}
/**
* 行单击选中
*
* @param {*} $event
* @returns {void}
* @memberof MainBase
*/
public
rowClick
(
$event
:
any
,
ifAlways
:
boolean
=
false
):
void
{
// 分组行跳过
if
(
$event
&&
$event
.
children
){
return
;
}
if
(
!
ifAlways
&&
(
!
$event
||
this
.
actualIsOpenEdit
))
{
return
;
}
if
(
this
.
stopRowClick
)
{
this
.
stopRowClick
=
false
;
return
;
}
if
(
this
.
isSingleSelect
){
this
.
selections
=
[];
}
// 已选中则删除,没选中则添加
let
selectIndex
=
this
.
selections
.
findIndex
((
item
:
any
)
=>
{
return
Object
.
is
(
item
.
ibizbook
,
$event
.
ibizbook
);
});
if
(
Object
.
is
(
selectIndex
,
-
1
)){
this
.
selections
.
push
(
JSON
.
parse
(
JSON
.
stringify
(
$event
)));
}
else
{
this
.
selections
.
splice
(
selectIndex
,
1
);
}
const
refs
:
any
=
this
.
$refs
;
if
(
refs
.
multipleTable
)
{
if
(
this
.
isSingleSelect
){
refs
.
multipleTable
.
clearSelection
();
refs
.
multipleTable
.
setCurrentRow
(
$event
);
}
else
{
refs
.
multipleTable
.
toggleRowSelection
(
$event
);
}
}
this
.
$emit
(
'selectionchange'
,
this
.
selections
);
}
/**
* 页面变化
*
* @param {*} $event
* @returns {void}
* @memberof MainBase
*/
public
pageOnChange
(
$event
:
any
):
void
{
if
(
!
$event
)
{
return
;
}
if
(
$event
===
this
.
curPage
)
{
return
;
}
this
.
curPage
=
$event
;
this
.
load
({});
}
/**
* 分页条数变化
*
* @param {*} $event
* @returns {void}
* @memberof MainBase
*/
public
onPageSizeChange
(
$event
:
any
):
void
{
if
(
!
$event
)
{
return
;
}
if
(
$event
===
this
.
limit
)
{
return
;
}
this
.
limit
=
$event
;
if
(
this
.
curPage
===
1
)
{
this
.
load
({});
}
}
/**
* 分页刷新
*
* @memberof MainBase
*/
public
pageRefresh
():
void
{
this
.
load
({});
}
/**
* 排序变化
*
* @param {{ column: any, prop: any, order: any }} { column, prop, order }
* @memberof MainBase
*/
public
onSortChange
({
column
,
prop
,
order
}:
{
column
:
any
,
prop
:
any
,
order
:
any
}):
void
{
const
dir
=
Object
.
is
(
order
,
'ascending'
)
?
'asc'
:
Object
.
is
(
order
,
'descending'
)
?
'desc'
:
''
;
if
(
Object
.
is
(
dir
,
this
.
minorSortDir
)
&&
Object
.
is
(
this
.
minorSortPSDEF
,
prop
))
{
return
;
}
this
.
minorSortDir
=
dir
;
this
.
minorSortPSDEF
=
prop
?
prop
:
''
;
this
.
load
({});
}
/**
* 表格行选中样式
*
* @param {{ row: any, rowIndex: any }} { row, rowIndex }
* @returns {string}
* @memberof MainBase
*/
public
onRowClassName
({
row
,
rowIndex
}:
{
row
:
any
,
rowIndex
:
any
}):
string
{
const
index
=
this
.
selections
.
findIndex
((
select
:
any
)
=>
Object
.
is
(
select
.
srfkey
,
row
.
srfkey
));
return
index
!==
-
1
?
'grid-row-select'
:
''
;
}
/**
* 界面行为
*
* @param {*} row
* @param {*} tag
* @param {*} $event
* @memberof MainBase
*/
public
uiAction
(
row
:
any
,
tag
:
any
,
$event
:
any
)
{
// this.rowClick(row, true);
this
.
cellClick
();
$event
.
stopPropagation
();
}
/**
* 设置列状态
*
* @memberof MainBase
*/
public
setColState
()
{
const
_data
:
any
=
localStorage
.
getItem
(
'ibizbook_main_grid'
);
if
(
_data
)
{
let
columns
=
JSON
.
parse
(
_data
);
columns
.
forEach
((
col
:
any
)
=>
{
let
column
=
this
.
allColumns
.
find
((
item
)
=>
Object
.
is
(
col
.
name
,
item
.
name
));
if
(
column
)
{
Object
.
assign
(
column
,
col
);
}
});
}
}
/**
* 列变化
*
* @memberof MainBase
*/
public
onColChange
()
{
localStorage
.
setItem
(
'ibizbook_main_grid'
,
JSON
.
stringify
(
this
.
allColumns
));
}
/**
* 获取列状态
*
* @param {string} name
* @returns {boolean}
* @memberof MainBase
*/
public
getColumnState
(
name
:
string
):
boolean
{
let
column
=
this
.
allColumns
.
find
((
col
:
any
)
=>
Object
.
is
(
name
,
col
.
name
)
);
return
column
.
show
?
true
:
false
;
}
/**
* 表格列是否自适应布局
*
* @readonly
* @type {boolean}
* @memberof MainBase
*/
get
adaptiveState
():
boolean
{
return
!
this
.
allColumns
.
find
((
column
:
any
)
=>
column
.
show
&&
Object
.
is
(
column
.
unit
,
'STAR'
));
}
/**
* 保存
*
* @param {*} $event
* @returns {Promise<any>}
* @memberof MainBase
*/
public
async
save
(
args
:
any
[],
params
?:
any
,
$event
?:
any
,
xData
?:
any
){
let
_this
=
this
;
// 拷贝模式
if
(
_this
.
viewparams
&&
_this
.
viewparams
.
copymode
&&
Object
.
is
(
_this
.
viewparams
.
copymode
,
'true'
)
&&
_this
.
items
&&
_this
.
items
.
length
>
0
){
for
(
const
item
of
_this
.
items
)
{
item
.
rowDataState
=
'create'
;
}
}
if
(
_this
.
items
&&
_this
.
items
.
length
>
0
){
for
(
const
item
of
_this
.
items
)
{
if
(
Object
.
is
(
item
.
rowDataState
,
'update'
)){
_this
.
updateDefault
(
item
);
}
}
}
if
(
!
await
this
.
validateAll
())
{
if
(
this
.
errorMessages
&&
this
.
errorMessages
.
length
>
0
)
{
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
this
.
errorMessages
[
0
]
});
}
else
{
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
(
this
.
$t
(
'app.commonWords.rulesException'
)
as
string
)
});
}
return
[];
}
let
successItems
:
any
=
[];
let
errorItems
:
any
=
[];
let
errorMessage
:
any
=
[];
for
(
const
item
of
_this
.
items
)
{
try
{
if
(
Object
.
is
(
item
.
rowDataState
,
'create'
)){
if
(
!
this
.
createAction
){
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZBOOKCustomView_layout'
+
(
this
.
$t
(
'app.gridpage.notConfig.createAction'
)
as
string
)
});
}
else
{
Object
.
assign
(
item
,{
viewparams
:
this
.
viewparams
});
let
response
=
await
this
.
service
.
add
(
this
.
createAction
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),
item
,
this
.
showBusyIndicator
);
successItems
.
push
(
JSON
.
parse
(
JSON
.
stringify
(
response
.
data
)));
}
}
else
if
(
Object
.
is
(
item
.
rowDataState
,
'update'
)){
if
(
!
this
.
updateAction
){
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZBOOKCustomView_layout'
+
(
this
.
$t
(
'app.gridpage.notConfig.updateAction'
)
as
string
)
});
}
else
{
Object
.
assign
(
item
,{
viewparams
:
this
.
viewparams
});
if
(
item
.
ibizbook
){
Object
.
assign
(
this
.
context
,{
ibizbook
:
item
.
ibizbook
});
}
let
response
=
await
this
.
service
.
update
(
this
.
updateAction
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),
item
,
this
.
showBusyIndicator
);
successItems
.
push
(
JSON
.
parse
(
JSON
.
stringify
(
response
.
data
)));
}
}
}
catch
(
error
)
{
errorItems
.
push
(
JSON
.
parse
(
JSON
.
stringify
(
item
)));
errorMessage
.
push
(
error
);
}
}
this
.
$emit
(
'save'
,
successItems
);
this
.
refresh
([]);
if
(
errorItems
.
length
===
0
&&
successItems
.
length
>
0
){
this
.
$Notice
.
success
({
title
:
''
,
desc
:
(
this
.
$t
(
'app.commonWords.saveSuccess'
)
as
string
)
});
}
else
{
errorItems
.
forEach
((
item
:
any
,
index
:
number
)
=>
{
if
(
errorMessage
[
index
]
&&
errorMessage
[
index
].
data
)
{
if
(
Object
.
is
(
errorMessage
[
index
].
data
.
errorKey
,
'DupCheck'
))
{
let
errorProp
:
string
=
errorMessage
[
index
].
data
.
message
.
match
(
/
\[[
a-zA-Z
]
*
\]
/
)[
0
];
let
name
:
string
=
errorProp
?
this
.
service
.
getNameByProp
(
errorProp
.
substr
(
1
,
errorProp
.
length
-
2
))
:
''
;
if
(
name
)
{
let
desc
:
any
=
this
.
allColumns
.
find
((
column
:
any
)
=>
{
return
Object
.
is
(
column
.
name
,
name
);
});
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.createFailed'
)
as
string
),
desc
:
(
desc
?
desc
.
label
:
''
)
+
" : "
+
item
[
name
]
+
(
this
.
$t
(
'app.commonWords.isExist'
)
as
string
)
+
'!'
,
});
}
else
{
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.createFailed'
)
as
string
),
desc
:
errorMessage
[
index
].
data
.
message
?
errorMessage
[
index
].
data
.
message
:(
this
.
$t
(
'app.commonWords.sysException'
)
as
string
),
});
}
}
else
if
(
Object
.
is
(
errorMessage
[
index
].
data
.
errorKey
,
'DuplicateKeyException'
)){
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.saveFailed'
)
as
string
),
desc
:
errorMessage
[
index
].
data
.
message
?
errorMessage
[
index
].
data
.
message
:(
this
.
$t
(
'app.commonWords.sysException'
)
as
string
),
});
}
else
{
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.saveFailed'
)
as
string
),
desc
:
errorMessage
[
index
].
data
.
message
?
errorMessage
[
index
].
data
.
message
:(
this
.
$t
(
'app.commonWords.sysException'
)
as
string
),
});
}
}
else
{
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.saveFailed'
)
as
string
),
desc
:
(
item
[
this
.
majorInfoColName
]?
item
[
this
.
majorInfoColName
]:
""
)
+
(
this
.
$t
(
'app.commonWords.saveFailed'
)
as
string
)
+
'!'
});
}
});
}
return
successItems
;
}
/**
* 新建行
*
* @param {*} $event
* @returns {void}
* @memberof MainBase
*/
public
newRow
(
args
:
any
[],
params
?:
any
,
$event
?:
any
,
xData
?:
any
):
void
{
if
(
!
this
.
loaddraftAction
){
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZBOOKCustomView_layout'
+
(
this
.
$t
(
'app.gridpage.notConfig.loaddraftAction'
)
as
string
)
});
return
;
}
let
_this
=
this
;
Object
.
assign
(
args
[
0
],{
viewparams
:
this
.
viewparams
});
let
post
:
Promise
<
any
>
=
this
.
service
.
loadDraft
(
this
.
loaddraftAction
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),
args
[
0
],
this
.
showBusyIndicator
);
post
.
then
((
response
:
any
)
=>
{
if
(
!
response
.
status
||
response
.
status
!==
200
)
{
if
(
response
.
data
&&
response
.
data
.
message
)
{
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
response
.
data
.
message
});
}
return
;
}
const
data
=
response
.
data
;
this
.
createDefault
(
data
);
data
.
rowDataState
=
"create"
;
this
.
items
.
splice
(
0
,
0
,
data
);
_this
.
gridItemsModel
.
push
(
_this
.
getGridRowModel
());
}).
catch
((
response
:
any
)
=>
{
if
(
response
&&
response
.
status
===
401
)
{
return
;
}
if
(
!
response
||
!
response
.
status
||
!
response
.
data
)
{
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
(
this
.
$t
(
'app.commonWords.sysException'
)
as
string
)
});
return
;
}
});
}
/**
* 表格编辑项值变更
*
* @param row 行数据
* @param {{ name: string, value: any }} $event
* @returns {void}
* @memberof MainBase
*/
public
onGridItemValueChange
(
row
:
any
,
$event
:
{
name
:
string
,
value
:
any
},
rowIndex
:
number
):
void
{
if
(
!
$event
)
{
return
;
}
if
(
!
$event
.
name
||
Object
.
is
(
$event
.
name
,
''
)
||
!
row
.
hasOwnProperty
(
$event
.
name
))
{
return
;
}
row
[
$event
.
name
]
=
$event
.
value
;
this
.
gridEditItemChange
(
row
,
$event
.
name
,
$event
.
value
,
rowIndex
);
}
/**
* 表格编辑项值变化
*
* @public
* @param row 行数据
* @param property 列编辑项名
* @param row 列编辑项值
* @returns {void}
* @memberof MainBase
*/
public
gridEditItemChange
(
row
:
any
,
property
:
string
,
value
:
any
,
rowIndex
:
number
){
row
.
rowDataState
=
row
.
rowDataState
?
row
.
rowDataState
:
"update"
;
if
(
Object
.
is
(
row
.
rowDataState
,
"update"
)){
if
(
this
.
defaultUpdateItems
.
includes
(
property
)){
row
.
hasUpdated
=
true
;
}
}
this
.
curEditRowData
=
row
;
this
.
resetGridData
(
row
,
property
,
rowIndex
);
this
.
validate
(
property
,
row
,
rowIndex
);
}
/**
* 表格编辑项更新
*
* @param {string} mode 界面行为名称
* @param {*} [data={}] 请求数据
* @param {string[]} updateDetails 更新项
* @param {boolean} [showloading] 是否显示加载状态
* @returns {void}
* @memberof MainBase
*/
public
updateGridEditItem
(
mode
:
string
,
data
:
any
=
{},
updateDetails
:
string
[],
showloading
?:
boolean
):
void
{
if
(
!
mode
||
(
mode
&&
Object
.
is
(
mode
,
''
)))
{
return
;
}
let
tempContext
:
any
=
this
.
$util
.
deepCopy
(
this
.
context
);
const
arg
:
any
=
JSON
.
parse
(
JSON
.
stringify
(
data
));
Object
.
assign
(
arg
,{
viewparams
:
this
.
viewparams
});
const
post
:
Promise
<
any
>
=
this
.
service
.
frontLogic
(
mode
,
JSON
.
parse
(
JSON
.
stringify
(
tempContext
)),
arg
,
showloading
);
post
.
then
((
response
:
any
)
=>
{
if
(
!
response
||
response
.
status
!==
200
)
{
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
(
this
.
$t
(
'app.gridpage.formitemFailed'
)
as
string
)
});
return
;
}
const
_data
:
any
=
response
.
data
;
if
(
!
_data
){
return
;
}
updateDetails
.
forEach
((
name
:
string
)
=>
{
if
(
!
_data
.
hasOwnProperty
(
name
))
{
return
;
}
data
[
name
]
=
_data
[
name
];
});
}).
catch
((
response
:
any
)
=>
{
if
(
response
&&
response
.
status
===
401
)
{
return
;
}
if
(
!
response
||
!
response
.
status
||
!
response
.
data
)
{
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
(
this
.
$t
(
'app.commonWords.sysException'
)
as
string
)
});
return
;
}
});
}
/**
* 获取对应行class
*
* @param {*} $args row 行数据,rowIndex 行索引
* @returns {void}
* @memberof MainBase
*/
public
getRowClassName
(
args
:{
row
:
any
,
rowIndex
:
number
}){
let
isSelected
=
this
.
selections
.
some
((
item
:
any
)
=>
{
return
Object
.
is
(
item
.
ibizbook
,
args
.
row
.
ibizbook
);
});
return
isSelected
?
"grid-selected-row"
:
""
;
}
/**
* 获取对应单元格class
*
* @param {*} $args row 行数据,column 列数据,rowIndex 行索引,columnIndex 列索引
* @returns {void}
* @memberof MainBase
*/
public
getCellClassName
(
args
:{
row
:
any
,
column
:
any
,
rowIndex
:
number
,
columnIndex
:
number
}){
let
className
:
string
=
''
;
if
(
args
.
column
.
property
){
let
col
=
this
.
allColumns
.
find
((
item
:
any
)
=>
{
return
Object
.
is
(
args
.
column
.
property
,
item
.
name
);
})
if
(
col
!==
undefined
){
if
(
col
.
isEnableRowEdit
&&
this
.
actualIsOpenEdit
){
className
+=
'edit-cell '
;
}
}
else
{
className
+=
'info-cell'
;
}
}
if
(
this
.
groupAppField
&&
args
.
columnIndex
===
0
&&
!
this
.
isSingleSelect
)
{
if
(
args
.
row
.
children
&&
args
.
row
.
children
.
length
>
0
)
{
className
+=
this
.
computeGroupRow
(
args
.
row
.
children
,
args
.
row
);
}
}
return
className
;
}
/**
* 计算分组行checkbox选中样式
*
* @param {*} rows 当前分组行下的所有数据
* @returns {*} currentRow 当前分组行
* @memberof MainBase
*/
public
computeGroupRow
(
rows
:
any
[],
currentRow
:
any
)
{
let
count
:
number
=
0
;
this
.
selections
.
forEach
((
select
:
any
)
=>
{
rows
.
forEach
((
row
:
any
)
=>
{
if
(
row
.
groupById
===
select
.
groupById
)
{
count
++
;
}
})
})
if
(
count
===
rows
.
length
)
{
(
this
.
$refs
.
multipleTable
as
any
).
toggleRowSelection
(
currentRow
,
true
);
return
'cell-select-all '
;
}
else
if
(
count
!==
0
&&
count
<
rows
.
length
)
{
return
'cell-indeterminate '
}
else
if
(
count
===
0
)
{
(
this
.
$refs
.
multipleTable
as
any
).
toggleRowSelection
(
currentRow
,
false
);
return
''
;
}
}
/**
* 新建默认值
* @param {*} row 行数据
* @memberof MainBase
*/
public
createDefault
(
row
:
any
){
}
/**
* 更新默认值
* @param {*} row 行数据
* @memberof MainBase
*/
public
updateDefault
(
row
:
any
){
}
/**
* 计算数据对象类型的默认值
* @param {string} action 行为
* @param {string} param 默认值参数
* @param {*} data 当前行数据
* @memberof MainBase
*/
public
computeDefaultValueWithParam
(
action
:
string
,
param
:
string
,
data
:
any
){
if
(
Object
.
is
(
action
,
"UPDATE"
)){
const
nativeData
:
any
=
this
.
service
.
getCopynativeData
();
if
(
nativeData
&&
(
nativeData
instanceof
Array
)
&&
nativeData
.
length
>
0
){
let
targetData
:
any
=
nativeData
.
find
((
item
:
any
)
=>
{
return
item
.
ibizbookid
===
data
.
srfkey
;
})
if
(
targetData
){
return
targetData
[
param
]?
targetData
[
param
]:
null
;
}
else
{
return
null
;
}
}
else
{
return
null
;
}
}
else
{
return
this
.
service
.
getRemoteCopyData
()[
param
]?
this
.
service
.
getRemoteCopyData
()[
param
]:
null
;
}
}
/**
* 校验属性值规则
*
* @public
* @param {{ name: string }} { name }
* @memberof MainBase
*/
public
verifyDeRules
(
name
:
string
,
rule
:
any
=
this
.
deRules
(),
op
:
string
=
"AND"
,
value
:
any
)
:{
isPast
:
boolean
}{
let
falg
:
any
=
{};
if
(
!
rule
||
!
rule
[
name
]){
return
falg
;
}
let
opValue
=
op
==
'AND'
?
true
:
false
;
let
startOp
=
(
val
:
boolean
)
=>
{
if
(
falg
.
isPast
){
if
(
opValue
){
falg
.
isPast
=
falg
.
isPast
&&
val
;
}
else
{
falg
.
isPast
=
falg
.
isPast
||
val
;
}
}
else
{
falg
.
isPast
=
val
;
}
}
for
(
let
i
=
0
;
i
<
rule
[
name
].
length
;
i
++
)
{
let
item
:
any
=
rule
[
name
][
i
];
if
((
value
===
null
||
value
===
undefined
||
value
===
""
)
&&
(
item
.
type
!=
'GROUP'
)){
startOp
(
true
);
return
falg
;
}
try
{
// 常规规则
if
(
item
.
type
==
'SIMPLE'
){
startOp
(
!
this
.
$verify
.
checkFieldSimpleRule
(
value
,
item
.
condOP
,
item
.
paramValue
,
item
.
ruleInfo
,
item
.
paramType
,
this
.
curEditRowData
,
item
.
isKeyCond
));
falg
.
infoMessage
=
item
.
ruleInfo
;
if
(
!
falg
.
isPast
)
return
falg
;
}
// 数值范围
if
(
item
.
type
==
'VALUERANGE2'
){
startOp
(
!
this
.
$verify
.
checkFieldValueRangeRule
(
value
,
item
.
minValue
,
item
.
isIncludeMinValue
,
item
.
maxValue
,
item
.
isIncludeMaxValue
,
item
.
ruleInfo
,
item
.
isKeyCond
));
falg
.
infoMessage
=
item
.
ruleInfo
;
if
(
!
falg
.
isPast
)
return
falg
;
}
// 正则式
if
(
item
.
type
==
"REGEX"
)
{
startOp
(
!
this
.
$verify
.
checkFieldRegExRule
(
value
,
item
.
regExCode
,
item
.
ruleInfo
,
item
.
isKeyCond
));
falg
.
infoMessage
=
item
.
ruleInfo
;
if
(
!
falg
.
isPast
)
return
falg
;
}
// 长度
if
(
item
.
type
==
"STRINGLENGTH"
)
{
startOp
(
!
this
.
$verify
.
checkFieldStringLengthRule
(
value
,
item
.
minValue
,
item
.
isIncludeMinValue
,
item
.
maxValue
,
item
.
isIncludeMaxValue
,
item
.
ruleInfo
,
item
.
isKeyCond
));
falg
.
infoMessage
=
item
.
ruleInfo
;
if
(
!
falg
.
isPast
)
return
falg
;
}
// 系统值规则
if
(
item
.
type
==
"SYSVALUERULE"
)
{
startOp
(
!
this
.
$verify
.
checkFieldSysValueRule
(
value
,
item
.
sysRule
.
regExCode
,
item
.
ruleInfo
,
item
.
isKeyCond
));
falg
.
infoMessage
=
item
.
ruleInfo
;
if
(
!
falg
.
isPast
)
return
falg
;
}
}
catch
(
error
)
{
falg
.
infoMessage
=
item
.
ruleInfo
;
startOp
(
false
);
if
(
!
falg
.
isPast
)
return
falg
;
}
// 分组
if
(
item
.
type
==
'GROUP'
){
falg
=
this
.
verifyDeRules
(
'group'
,
item
,
item
.
condOP
?
item
.
condOP
:
"AND"
,
value
)
if
(
item
.
isNotMode
){
falg
.
isPast
=
!
falg
.
isPast
;
}
}
};
if
(
!
falg
.
hasOwnProperty
(
"isPast"
)){
falg
.
isPast
=
true
;
}
if
(
!
value
&&
value
!=
0
){
falg
.
isPast
=
true
;
}
return
falg
;
}
/**
* 工作流提交
*
* @param {*} [data={}]
* @param {*} [localdata={}]
* @returns {Promise<any>}
* @memberof MainBase
*/
public
async
submitbatch
(
data
:
any
,
localdata
:
any
):
Promise
<
any
>
{
return
new
Promise
((
resolve
:
any
,
reject
:
any
)
=>
{
const
_this
:
any
=
this
;
const
arg
:
any
=
data
;
const
result
:
Promise
<
any
>
=
this
.
service
.
submitbatch
(
_this
.
WFSubmitAction
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),
arg
,
localdata
,
this
.
showBusyIndicator
);
result
.
then
((
response
:
any
)
=>
{
if
(
!
response
||
response
.
status
!==
200
)
{
if
(
response
.
data
){
this
.
$Notice
.
error
({
title
:
''
,
desc
:
(
this
.
$t
(
'app.formpage.workflow.submiterror'
)
as
string
)
+
', '
+
response
.
data
.
message
});
}
return
;
}
this
.
$Notice
.
info
({
title
:
''
,
desc
:
(
this
.
$t
(
'app.formpage.workflow.submitsuccess'
)
as
string
)
});
resolve
(
response
);
}).
catch
((
response
:
any
)
=>
{
if
(
response
&&
response
.
status
&&
response
.
data
)
{
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
response
.
data
.
message
});
reject
(
response
);
return
;
}
if
(
!
response
||
!
response
.
status
||
!
response
.
data
)
{
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
(
this
.
$t
(
'app.commonWords.sysException'
)
as
string
)
});
reject
(
response
);
return
;
}
reject
(
response
);
});
})
}
/**
* 获取表格列禁用状态
*
* @memberof MainBase
*/
public
getColumnDisabled
(
data
:
any
,
name
:
string
){
if
(
this
.
allColumns
||
Array
.
isArray
(
this
.
allColumns
)){
const
curColumn
:
any
=
this
.
allColumns
.
find
((
item
:
any
)
=>
{
return
item
.
name
===
name
;
})
if
(
curColumn
.
hasOwnProperty
(
'enableCond'
)){
return
data
.
srfuf
==
1
?
(
curColumn
.
enableCond
&
2
)
!==
2
:
(
curColumn
.
enableCond
&
1
)
!==
1
}
else
{
return
false
;
}
}
}
/**
* 重置表格项值
*
* @param {*} row 当前行
* @param {string} property 属性名
* @param {number} rowIndex 行下标
* @memberof MainBase
*/
public
resetGridData
(
row
:
any
,
property
:
string
,
rowIndex
:
number
)
{
if
(
this
.
actualIsOpenEdit
)
{
}
}
}
</
script
>
<
style
lang=
'less'
>
@import './main-grid.less';
</
style
>
\ No newline at end of file
This diff is collapsed.
Click to expand it.
app_Web/src/widgets/ibizbook/main-grid/main-grid-model.ts
0 → 100644
浏览文件 @
35df8637
/**
* Main 部件模型
*
* @export
* @class MainModel
*/
export
default
class
MainModel
{
/**
* 是否是实体数据导出
*
* @returns {any[]}
* @memberof MainGridMode
*/
public
isDEExport
:
boolean
=
false
;
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof MainGridMode
*/
public
getDataItems
():
any
[]
{
if
(
this
.
isDEExport
){
return
[
]
}
else
{
return
[
{
name
:
'ibizbookname'
,
prop
:
'ibizbookname'
,
dataType
:
'TEXT'
,
},
{
name
:
'updateman'
,
prop
:
'updateman'
,
dataType
:
'TEXT'
,
},
{
name
:
'updatedate'
,
prop
:
'updatedate'
,
dataType
:
'DATETIME'
,
},
{
name
:
'ibizbookid'
,
prop
:
'ibizbookid'
,
dataType
:
'GUID'
,
},
{
name
:
'srfkey'
,
prop
:
'ibizbookid'
,
dataType
:
'GUID'
,
isEditable
:
true
},
{
name
:
'srfdataaccaction'
,
prop
:
'ibizbookid'
,
dataType
:
'GUID'
,
},
{
name
:
'srfmajortext'
,
prop
:
'ibizbookname'
,
dataType
:
'TEXT'
,
},
{
name
:
'srfmstag'
,
},
{
name
:
'ibizbook'
,
prop
:
'ibizbookid'
,
},
{
name
:
'n_ibizbookname_like'
,
prop
:
'n_ibizbookname_like'
,
dataType
:
'QUERYPARAM'
},
{
name
:
'n_price_gtandeq'
,
prop
:
'n_price_gtandeq'
,
dataType
:
'QUERYPARAM'
},
{
name
:
'size'
,
prop
:
'size'
,
dataType
:
'QUERYPARAM'
},
{
name
:
'query'
,
prop
:
'query'
,
dataType
:
'QUERYPARAM'
},
{
name
:
'filter'
,
prop
:
'filter'
,
dataType
:
'QUERYPARAM'
},
{
name
:
'page'
,
prop
:
'page'
,
dataType
:
'QUERYPARAM'
},
{
name
:
'sort'
,
prop
:
'sort'
,
dataType
:
'QUERYPARAM'
},
{
name
:
'srfparentdata'
,
prop
:
'srfparentdata'
,
dataType
:
'QUERYPARAM'
},
// 前端新增修改标识,新增为"0",修改为"1"或未设值
{
name
:
'srffrontuf'
,
prop
:
'srffrontuf'
,
dataType
:
'TEXT'
,
},
// 预置工作流数据字段
{
name
:
'srfprocessdefinitionkey'
,
prop
:
'srfprocessdefinitionkey'
,
dataType
:
'TEXT'
},
{
name
:
'srftaskdefinitionkey'
,
prop
:
'srftaskdefinitionkey'
,
dataType
:
'TEXT'
},
{
name
:
'srftaskid'
,
prop
:
'srftaskid'
,
dataType
:
'TEXT'
}
]
}
}
}
\ No newline at end of file
This diff is collapsed.
Click to expand it.
app_Web/src/widgets/ibizbook/main-grid/main-grid-service.ts
0 → 100644
浏览文件 @
35df8637
import
{
Http
,
Util
,
Errorlog
}
from
'@/utils'
;
import
ControlService
from
'@/widgets/control-service'
;
import
IBIZBOOKService
from
'@/service/ibizbook/ibizbook-service'
;
import
MainModel
from
'./main-grid-model'
;
/**
* Main 部件服务对象
*
* @export
* @class MainService
*/
export
default
class
MainService
extends
ControlService
{
/**
* 图书服务对象
*
* @type {IBIZBOOKService}
* @memberof MainService
*/
public
appEntityService
:
IBIZBOOKService
=
new
IBIZBOOKService
();
/**
* 设置从数据模式
*
* @type {boolean}
* @memberof MainService
*/
public
setTempMode
(){
this
.
isTempMode
=
false
;
}
/**
* Creates an instance of MainService.
*
* @param {*} [opts={}]
* @memberof MainService
*/
constructor
(
opts
:
any
=
{})
{
super
(
opts
);
this
.
model
=
new
MainModel
();
}
/**
* 备份原生数据
*
* @type {*}
* @memberof MainService
*/
private
copynativeData
:
any
;
/**
* 远端数据
*
* @type {*}
* @memberof MainService
*/
private
remoteCopyData
:
any
=
{};
/**
* 处理数据
*
* @public
* @param {Promise<any>} promise
* @returns {Promise<any>}
* @memberof MainService
*/
public
doItems
(
promise
:
Promise
<
any
>
,
deKeyField
:
string
,
deName
:
string
):
Promise
<
any
>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
promise
.
then
((
response
:
any
)
=>
{
if
(
response
&&
response
.
status
===
200
)
{
const
data
=
response
.
data
;
data
.
forEach
((
item
:
any
,
index
:
number
)
=>
{
item
[
deName
]
=
item
[
deKeyField
];
data
[
index
]
=
item
;
});
resolve
(
data
);
}
else
{
reject
([])
}
}).
catch
((
response
:
any
)
=>
{
reject
([])
});
});
}
/**
* 获取跨实体数据集合
*
* @param {string} serviceName 服务名称
* @param {string} interfaceName 接口名称
* @param {*} data
* @param {boolean} [isloading]
* @returns {Promise<any[]>}
* @memberof MainService
*/
@
Errorlog
public
getItems
(
serviceName
:
string
,
interfaceName
:
string
,
context
:
any
=
{},
data
:
any
,
isloading
?:
boolean
):
Promise
<
any
[]
>
{
data
.
page
=
data
.
page
?
data
.
page
:
0
;
data
.
size
=
data
.
size
?
data
.
size
:
1000
;
return
Promise
.
reject
([])
}
/**
* 添加数据
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof MainService
*/
@
Errorlog
public
add
(
action
:
string
,
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
const
{
data
:
Data
,
context
:
Context
}
=
this
.
handleRequestDataWithUpdate
(
action
,
context
,
data
,
true
);
return
new
Promise
((
resolve
:
any
,
reject
:
any
)
=>
{
const
_appEntityService
:
any
=
this
.
appEntityService
;
let
result
:
Promise
<
any
>
;
if
(
_appEntityService
[
action
]
&&
_appEntityService
[
action
]
instanceof
Function
)
{
result
=
_appEntityService
[
action
](
Context
,
Data
,
isloading
);
}
else
{
result
=
_appEntityService
.
Create
(
Context
,
Data
,
isloading
);
}
result
.
then
((
response
)
=>
{
this
.
handleResponse
(
action
,
response
);
resolve
(
response
);
}).
catch
(
response
=>
{
reject
(
response
);
});
});
}
/**
* 删除数据
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof MainService
*/
@
Errorlog
public
delete
(
action
:
string
,
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
const
{
data
:
Data
,
context
:
Context
}
=
this
.
handleRequestData
(
action
,
context
,
data
,
true
);
return
new
Promise
((
resolve
:
any
,
reject
:
any
)
=>
{
const
_appEntityService
:
any
=
this
.
appEntityService
;
let
result
:
Promise
<
any
>
;
if
(
_appEntityService
[
action
]
&&
_appEntityService
[
action
]
instanceof
Function
)
{
result
=
_appEntityService
[
action
](
Context
,
Data
,
isloading
);
}
else
{
result
=
_appEntityService
.
Remove
(
Context
,
Data
,
isloading
);
}
result
.
then
((
response
)
=>
{
resolve
(
response
);
}).
catch
(
response
=>
{
reject
(
response
);
});
});
}
/**
* 修改数据
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof MainService
*/
@
Errorlog
public
update
(
action
:
string
,
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
const
{
data
:
Data
,
context
:
Context
}
=
this
.
handleRequestDataWithUpdate
(
action
,
context
,
data
,
true
);
return
new
Promise
((
resolve
:
any
,
reject
:
any
)
=>
{
const
_appEntityService
:
any
=
this
.
appEntityService
;
let
result
:
Promise
<
any
>
;
if
(
_appEntityService
[
action
]
&&
_appEntityService
[
action
]
instanceof
Function
)
{
result
=
_appEntityService
[
action
](
Context
,
Data
,
isloading
);
}
else
{
result
=
_appEntityService
.
Update
(
Context
,
Data
,
isloading
);
}
result
.
then
((
response
)
=>
{
this
.
handleResponse
(
action
,
response
);
resolve
(
response
);
}).
catch
(
response
=>
{
reject
(
response
);
});
});
}
/**
* 获取数据
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof MainService
*/
@
Errorlog
public
get
(
action
:
string
,
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
const
{
data
:
Data
,
context
:
Context
}
=
this
.
handleRequestData
(
action
,
context
,
data
,
true
);
return
new
Promise
((
resolve
:
any
,
reject
:
any
)
=>
{
let
result
:
Promise
<
any
>
;
const
_appEntityService
:
any
=
this
.
appEntityService
;
if
(
_appEntityService
[
action
]
&&
_appEntityService
[
action
]
instanceof
Function
)
{
result
=
_appEntityService
[
action
](
Context
,
Data
,
isloading
);
}
else
{
result
=
this
.
appEntityService
.
Get
(
Context
,
Data
,
isloading
);
}
result
.
then
((
response
)
=>
{
//处理返回数据,补充判断标识
if
(
response
.
data
){
Object
.
assign
(
response
.
data
,{
srfuf
:
'0'
});
}
resolve
(
response
);
}).
catch
(
response
=>
{
reject
(
response
);
});
});
}
/**
* 查询数据
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof MainService
*/
@
Errorlog
public
search
(
action
:
string
,
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
const
{
data
:
Data
,
context
:
Context
}
=
this
.
handleRequestData
(
action
,
context
,
data
,
true
);
return
new
Promise
((
resolve
:
any
,
reject
:
any
)
=>
{
const
_appEntityService
:
any
=
this
.
appEntityService
;
let
result
:
Promise
<
any
>
;
if
(
_appEntityService
[
action
]
&&
_appEntityService
[
action
]
instanceof
Function
)
{
result
=
_appEntityService
[
action
](
Context
,
Data
,
isloading
);
}
else
{
result
=
_appEntityService
.
FetchDefault
(
Context
,
Data
,
isloading
);
}
result
.
then
((
response
)
=>
{
this
.
setCopynativeData
(
response
.
data
);
this
.
handleResponse
(
action
,
response
);
resolve
(
response
);
}).
catch
(
response
=>
{
reject
(
response
);
});
});
}
/**
* 加载草稿
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof MainService
*/
@
Errorlog
public
loadDraft
(
action
:
string
,
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
const
{
data
:
Data
,
context
:
Context
}
=
this
.
handleRequestData
(
action
,
context
,
data
,
true
);
return
new
Promise
((
resolve
:
any
,
reject
:
any
)
=>
{
let
result
:
Promise
<
any
>
;
const
_appEntityService
:
any
=
this
.
appEntityService
;
if
(
_appEntityService
[
action
]
&&
_appEntityService
[
action
]
instanceof
Function
)
{
result
=
_appEntityService
[
action
](
Context
,
Data
,
isloading
);
}
else
{
result
=
this
.
appEntityService
.
GetDraft
(
Context
,
Data
,
isloading
);
}
result
.
then
((
response
)
=>
{
//处理返回数据,补充判断标识
if
(
response
.
data
){
Object
.
assign
(
response
.
data
,{
srfuf
:
'0'
});
//仿真主键数据
response
.
data
.
ibizbookid
=
Util
.
createUUID
();
}
this
.
setRemoteCopyData
(
response
);
this
.
handleResponse
(
action
,
response
,
true
);
resolve
(
response
);
}).
catch
(
response
=>
{
reject
(
response
);
});
});
}
/**
* 前台逻辑
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof MainService
*/
@
Errorlog
public
frontLogic
(
action
:
string
,
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
const
{
data
:
Data
,
context
:
Context
}
=
this
.
handleRequestData
(
action
,
context
,
data
,
true
);
return
new
Promise
((
resolve
:
any
,
reject
:
any
)
=>
{
let
result
:
Promise
<
any
>
;
const
_appEntityService
:
any
=
this
.
appEntityService
;
if
(
_appEntityService
[
action
]
&&
_appEntityService
[
action
]
instanceof
Function
)
{
result
=
_appEntityService
[
action
](
Context
,
Data
,
isloading
);
}
else
{
return
Promise
.
reject
({
status
:
500
,
data
:
{
title
:
'失败'
,
message
:
'系统异常'
}
});
}
result
.
then
((
response
)
=>
{
this
.
handleResponse
(
action
,
response
);
resolve
(
response
);
}).
catch
(
response
=>
{
reject
(
response
);
});
})
}
/**
* 处理请求数据(修改或增加数据)
*
* @param action 行为
* @param data 数据
* @memberof MainService
*/
public
handleRequestDataWithUpdate
(
action
:
string
,
context
:
any
=
{},
data
:
any
=
{},
isMerge
:
boolean
=
false
){
let
model
:
any
=
this
.
getMode
();
if
(
!
model
&&
model
.
getDataItems
instanceof
Function
)
{
return
data
;
}
let
dataItems
:
any
[]
=
model
.
getDataItems
();
let
requestData
:
any
=
{};
if
(
isMerge
&&
(
data
&&
data
.
viewparams
)){
Object
.
assign
(
requestData
,
data
.
viewparams
);
}
dataItems
.
forEach
((
item
:
any
)
=>
{
if
(
item
&&
item
.
dataType
&&
Object
.
is
(
item
.
dataType
,
'FONTKEY'
)){
if
(
item
&&
item
.
prop
&&
item
.
name
){
requestData
[
item
.
prop
]
=
context
[
item
.
name
];
}
}
else
{
if
(
item
&&
item
.
isEditable
&&
item
.
prop
&&
item
.
name
&&
data
.
hasOwnProperty
(
item
.
name
)){
requestData
[
item
.
prop
]
=
data
[
item
.
name
];
}
}
});
let
tempContext
:
any
=
JSON
.
parse
(
JSON
.
stringify
(
context
));
if
(
tempContext
&&
tempContext
.
srfsessionid
){
tempContext
.
srfsessionkey
=
tempContext
.
srfsessionid
;
delete
tempContext
.
srfsessionid
;
}
return
{
context
:
tempContext
,
data
:
requestData
};
}
/**
* 处理工作流数据
*
* @param data 传入数据
* @memberof MainService
*/
public
handleWFData
(
data
:
any
,
isMerge
:
boolean
=
false
){
let
model
:
any
=
this
.
getMode
();
if
(
!
model
&&
model
.
getDataItems
instanceof
Function
)
{
return
data
;
}
let
dataItems
:
any
[]
=
model
.
getDataItems
();
let
requestData
:
any
=
{};
dataItems
.
forEach
((
item
:
any
)
=>
{
if
(
item
&&
item
.
prop
){
if
(
item
.
dataType
){
if
(
!
Object
.
is
(
item
.
dataType
,
'QUERYPARAM'
)){
requestData
[
item
.
prop
]
=
data
[
item
.
name
];
}
}
else
{
requestData
[
item
.
prop
]
=
data
[
item
.
name
];
}
}
});
if
(
isMerge
&&
(
data
.
viewparams
&&
Object
.
keys
(
data
.
viewparams
).
length
>
0
)){
Object
.
assign
(
requestData
,
data
.
viewparams
);
}
// 删除前端srffrontuf标识
if
(
requestData
.
hasOwnProperty
(
'srffrontuf'
)){
delete
requestData
.
srffrontuf
;
}
//补充工作流所需主键
requestData
.
srfkey
=
data
.
ibizbook
;
//补充全量数据
requestData
=
this
.
fillNativeData
(
requestData
);
return
requestData
;
}
/**
* 补充全量数据
*
* @param {*} [data]
* @memberof MainService
*/
public
fillNativeData
(
data
:
any
){
if
(
this
.
copynativeData
&&
this
.
copynativeData
.
length
>
0
){
let
targetData
:
any
=
this
.
copynativeData
.
find
((
item
:
any
)
=>
{
return
item
.
ibizbookid
===
data
.
srfkey
;
})
data
=
Object
.
assign
(
targetData
,
data
);
return
data
;
}
}
/**
* 提交工作流
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @param {*} [localdata]
* @returns {Promise<any>}
* @memberof MainService
*/
@
Errorlog
public
submitbatch
(
action
:
string
,
context
:
any
=
{},
data
:
any
,
localdata
:
any
,
isloading
?:
boolean
):
Promise
<
any
>
{
let
tempData
:
any
=
[];
if
(
data
&&
data
.
length
>
0
){
data
.
forEach
((
item
:
any
)
=>
{
let
data
:
any
=
this
.
handleWFData
(
item
,
true
);
tempData
.
push
(
data
);
});
}
context
=
this
.
handleRequestData
(
action
,
context
,
data
,
true
).
context
;
return
new
Promise
((
resolve
:
any
,
reject
:
any
)
=>
{
let
result
:
Promise
<
any
>
;
const
_appEntityService
:
any
=
this
.
appEntityService
;
if
(
_appEntityService
[
action
]
&&
_appEntityService
[
action
]
instanceof
Function
)
{
result
=
_appEntityService
[
action
](
context
,
tempData
,
localdata
,
isloading
);
}
else
{
result
=
this
.
appEntityService
.
wfSubmitBatch
(
context
,
tempData
,
localdata
,
isloading
);
}
result
.
then
((
response
)
=>
{
this
.
handleResponse
(
action
,
response
);
resolve
(
response
);
}).
catch
(
response
=>
{
reject
(
response
);
});
});
}
/**
* 设置远端数据
*
* @param result 远端请求结果
* @memberof MainService
*/
public
setRemoteCopyData
(
result
:
any
){
if
(
result
&&
result
.
status
===
200
)
{
this
.
remoteCopyData
=
Util
.
deepCopy
(
result
.
data
);
}
}
/**
* 获取远端数据
*
* @memberof MainService
*/
public
getRemoteCopyData
(){
return
this
.
remoteCopyData
;
}
/**
* 设置备份原生数据
*
* @param data 远端请求结果
* @memberof MainService
*/
public
setCopynativeData
(
data
:
any
){
this
.
copynativeData
=
Util
.
deepCopy
(
data
);
}
/**
* 获取备份原生数据
*
* @memberof MainService
*/
public
getCopynativeData
(){
return
this
.
copynativeData
;
}
}
\ No newline at end of file
This diff is collapsed.
Click to expand it.
app_Web/src/widgets/ibizbook/main-grid/main-grid.less
0 → 100644
浏览文件 @
35df8637
.grid {
flex-grow: 1;
height: 100%;
overflow: auto;
.el-table__body-wrapper::-webkit-scrollbar {
/*滚动条整体样式*/
width : 10px !important; /*高宽分别对应横竖滚动条的尺寸*/
height: 10px !important;
}
.el-table__body-wrapper::-webkit-scrollbar-thumb {
/*滚动条颜色*/
border-radius : 10px !important;
background-color: #cecece !important;
}
.el-table__body-wrapper::-webkit-scrollbar-track {
/*滚动条里面轨道*/
box-shadow : inset 0 0 5px rgba(0, 0, 0, 0.2) !important;
background : #ededed !important;
border-radius: 10px !important;
}
/*表格文字过长省略*/
.el-table th>.cell, .el-table td>.cell{
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
word-break: break-all;
}
.el-table-column--selection .cell {
padding-left: 0px;
padding-right: 0px;
}
.app-column-link, .app-format-data{
display: inline;
}
.el-table {
height: 100%;
display:flex;
flex-direction: column;
justify-content: flex-start;
.el-table__row{
.grid-uiaction-divider {
padding:0 10px 0 10px;
border-left: 1px #b3b3b3 solid;
}
.grid-first-uiaction {
padding:0 10px 0 10px;
}
}
.quick-toolbar{
display: inline-block;
button{
background: #ebf3fb;
color: #2575ca;
border: 0;
}
}
.el-tooltip{
.ivu-form-item{
margin-bottom: unset !important;
}
}
.el-table__body .edit-cell{
padding:0;
.app-form-item{
margin-top: 20px;
margin-bottom: 20px;
}
}
.el-table__header-wrapper{
min-height: 45px;
max-height: 100px;
height: auto;
}
.el-table__footer-wrapper{
min-height: 45px;
max-height: 100px;
height: auto;
}
}
.grid-pagination {
height: 50px;
padding: 6px 0px;
.page-button {
button {
padding: 0;
font-size: 16px;
min-width: 32px;
height: 32px;
margin-right: 4px;
}
}
.page-column {
position: absolute;
left: 0;
}
.batch-toolbar{
position: absolute;
left: 105px;
>.toolbar-container{
button {
font-size: 16px;
min-width: 32px;
height: 32px;
margin-right: 4px;
margin-top: 0;
margin-bottom: 0;
}
}
}
}
}
.ivu-modal-content{
.footer{
.ivu-row{
text-align: right;
}
}
}
.cell-indeterminate {
>div>label {
>span {
.el-checkbox__inner {
background-color: #409eff;
border-color: #409eff;
}
.el-checkbox__inner:before {
content: "";
position: absolute;
display: block;
background-color: #fff;
height: 2px;
transform: scale(.5);
left: 0;
right: 0;
top: 5px;
}
}
>span.is-checked {
.el-checkbox__inner {
background-color: #409eff;
border-color: #409eff;
}
.el-checkbox__inner:after {
border: 0px;
}
}
}
}
.cell-select-all {
>div>label {
>span {
.el-checkbox__inner {
background-color: #409eff;
border-color: #409eff;
}
.el-checkbox__inner:after {
box-sizing: content-box;
content: "";
border: 1px solid #fff;
border-left: 0;
border-top: 0;
height: 7px;
left: 4px;
position: absolute;
top: 1px;
transform: rotate(45deg) scaleY(1);
width: 3px;
transition: transform .15s ease-in .05s;
transform-origin: center;
}
}
}
}
// this is less
This diff is collapsed.
Click to expand it.
app_Web/src/widgets/ibizbook/main-grid/main-grid.vue
0 → 100644
浏览文件 @
35df8637
<
script
lang=
'tsx'
>
import
{
Component
}
from
'vue-property-decorator'
;
import
MainBase
from
'./main-grid-base.vue'
;
@
Component
({
components
:
{
}
})
export
default
class
Main
extends
MainBase
{
}
</
script
>
\ No newline at end of file
This diff is collapsed.
Click to expand it.
app_Web/src/widgets/ibizorder/card-navigation-dataview/card-navigation-dataview-base.vue
浏览文件 @
35df8637
...
...
@@ -657,7 +657,7 @@ export default class CardNavigationBase extends Vue implements ControlInterface
*/
public
load
(
opt
:
any
=
{},
isReset
:
boolean
=
false
):
void
{
if
(
!
this
.
fetchAction
){
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZOrderDataViewExpView'
+
(
this
.
$t
(
'app.list.notConfig.fetchAction'
)
as
string
)
});
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZOrderDataViewExpView
_layout
'
+
(
this
.
$t
(
'app.list.notConfig.fetchAction'
)
as
string
)
});
return
;
}
const
arg
:
any
=
{...
opt
};
...
...
@@ -736,7 +736,7 @@ export default class CardNavigationBase extends Vue implements ControlInterface
*/
public
async
remove
(
datas
:
any
[]):
Promise
<
any
>
{
if
(
!
this
.
removeAction
){
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZOrderDataViewExpView'
+
(
this
.
$t
(
'app.gridpage.notConfig.removeAction'
)
as
string
)
});
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZOrderDataViewExpView
_layout
'
+
(
this
.
$t
(
'app.gridpage.notConfig.removeAction'
)
as
string
)
});
return
;
}
let
_datas
:
any
[]
=
[];
...
...
@@ -845,7 +845,7 @@ export default class CardNavigationBase extends Vue implements ControlInterface
try
{
if
(
Object
.
is
(
item
.
rowDataState
,
'create'
)){
if
(
!
this
.
createAction
){
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZOrderDataViewExpView'
+
(
this
.
$t
(
'app.list.notConfig.createAction'
)
as
string
)
});
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZOrderDataViewExpView
_layout
'
+
(
this
.
$t
(
'app.list.notConfig.createAction'
)
as
string
)
});
}
else
{
Object
.
assign
(
item
,{
viewparams
:
this
.
viewparams
});
let
response
=
await
this
.
service
.
add
(
this
.
createAction
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),
item
,
this
.
showBusyIndicator
);
...
...
@@ -853,7 +853,7 @@ export default class CardNavigationBase extends Vue implements ControlInterface
}
}
else
if
(
Object
.
is
(
item
.
rowDataState
,
'update'
)){
if
(
!
this
.
updateAction
){
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZOrderDataViewExpView'
+
(
this
.
$t
(
'app.list.notConfig.updateAction'
)
as
string
)
});
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZOrderDataViewExpView
_layout
'
+
(
this
.
$t
(
'app.list.notConfig.updateAction'
)
as
string
)
});
}
else
{
Object
.
assign
(
item
,{
viewparams
:
this
.
viewparams
});
if
(
item
.
ibizorder
){
...
...
This diff is collapsed.
Click to expand it.
app_Web/src/widgets/ibizorder/list-exp-list/list-exp-list-base.vue
浏览文件 @
35df8637
...
...
@@ -522,7 +522,7 @@ export default class ListExpBase extends Vue implements ControlInterface {
*/
public
load
(
opt
:
any
=
{}):
void
{
if
(
!
this
.
fetchAction
){
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZOrderListExpView'
+
(
this
.
$t
(
'app.list.notConfig.fetchAction'
)
as
string
)
});
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZOrderListExpView
_layout
'
+
(
this
.
$t
(
'app.list.notConfig.fetchAction'
)
as
string
)
});
return
;
}
const
arg
:
any
=
{...
opt
};
...
...
@@ -638,7 +638,7 @@ export default class ListExpBase extends Vue implements ControlInterface {
*/
public
async
remove
(
datas
:
any
[]):
Promise
<
any
>
{
if
(
!
this
.
removeAction
){
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZOrderListExpView'
+
(
this
.
$t
(
'app.list.notConfig.removeAction'
)
as
string
)
});
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZOrderListExpView
_layout
'
+
(
this
.
$t
(
'app.list.notConfig.removeAction'
)
as
string
)
});
return
;
}
if
(
datas
.
length
===
0
)
{
...
...
@@ -733,7 +733,7 @@ export default class ListExpBase extends Vue implements ControlInterface {
try
{
if
(
Object
.
is
(
item
.
rowDataState
,
'create'
)){
if
(
!
this
.
createAction
){
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZOrderListExpView'
+
(
this
.
$t
(
'app.list.notConfig.createAction'
)
as
string
)
});
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZOrderListExpView
_layout
'
+
(
this
.
$t
(
'app.list.notConfig.createAction'
)
as
string
)
});
}
else
{
Object
.
assign
(
item
,{
viewparams
:
this
.
viewparams
});
let
response
=
await
this
.
service
.
add
(
this
.
createAction
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),
item
,
this
.
showBusyIndicator
);
...
...
@@ -741,7 +741,7 @@ export default class ListExpBase extends Vue implements ControlInterface {
}
}
else
if
(
Object
.
is
(
item
.
rowDataState
,
'update'
)){
if
(
!
this
.
updateAction
){
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.warning'
)
as
string
),
desc
:
'IBIZOrderListExpView'
+
(
this
.
$t
(
'app.list.notConfig.updateAction'
)
as
string
)
});
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.warning'
)
as
string
),
desc
:
'IBIZOrderListExpView
_layout
'
+
(
this
.
$t
(
'app.list.notConfig.updateAction'
)
as
string
)
});
}
else
{
Object
.
assign
(
item
,{
viewparams
:
this
.
viewparams
});
if
(
item
.
ibizorder
){
...
...
This diff is collapsed.
Click to expand it.
app_Web/src/widgets/ibizorder/main-grid/main-grid-base.vue
浏览文件 @
35df8637
...
...
@@ -291,7 +291,7 @@ export default class MainBase extends Vue implements ControlInterface {
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof IBIZOrder
SF1
GridViewBase
* @memberof IBIZOrder
Pickup
GridViewBase
*/
public
Edit
(
args
:
any
[],
contextJO
?:
any
,
params
?:
any
,
$event
?:
any
,
xData
?:
any
,
actionContext
?:
any
,
srfParentDeName
?:
string
)
{
if
(
args
.
length
===
0
)
{
...
...
@@ -413,20 +413,6 @@ export default class MainBase extends Vue implements ControlInterface {
return
this
.
selections
[
0
];
}
/**
* 打开新建数据视图
*
* @type {any}
* @memberof MainBase
*/
@
Prop
()
public
newdata
:
any
;
/**
* 打开编辑数据视图
*
* @type {any}
* @memberof MainBase
*/
@
Prop
()
public
opendata
:
any
;
/**
* 是否嵌入关系界面
...
...
@@ -959,7 +945,7 @@ export default class MainBase extends Vue implements ControlInterface {
*/
public
load
(
opt
:
any
=
{},
pageReset
:
boolean
=
false
):
void
{
if
(
!
this
.
fetchAction
){
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZOrder
SF1
GridView'
+
(
this
.
$t
(
'app.gridpage.notConfig.fetchAction'
)
as
string
)
});
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZOrder
Pickup
GridView'
+
(
this
.
$t
(
'app.gridpage.notConfig.fetchAction'
)
as
string
)
});
return
;
}
if
(
pageReset
){
...
...
@@ -1054,7 +1040,7 @@ export default class MainBase extends Vue implements ControlInterface {
*/
public
async
remove
(
datas
:
any
[]):
Promise
<
any
>
{
if
(
!
this
.
removeAction
){
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZOrder
SF1
GridView'
+
(
this
.
$t
(
'app.gridpage.notConfig.removeAction'
)
as
string
)
});
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZOrder
Pickup
GridView'
+
(
this
.
$t
(
'app.gridpage.notConfig.removeAction'
)
as
string
)
});
return
;
}
let
_datas
:
any
[]
=
[];
...
...
@@ -1160,7 +1146,7 @@ export default class MainBase extends Vue implements ControlInterface {
*/
public
addBatch
(
arg
:
any
=
{}):
void
{
if
(
!
this
.
fetchAction
){
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZOrder
SF1
GridView'
+
(
this
.
$t
(
'app.gridpage.notConfig.fetchAction'
)
as
string
)
});
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZOrder
Pickup
GridView'
+
(
this
.
$t
(
'app.gridpage.notConfig.fetchAction'
)
as
string
)
});
return
;
}
if
(
!
arg
){
...
...
@@ -2077,7 +2063,7 @@ export default class MainBase extends Vue implements ControlInterface {
try
{
if
(
Object
.
is
(
item
.
rowDataState
,
'create'
)){
if
(
!
this
.
createAction
){
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZOrder
SF1
GridView'
+
(
this
.
$t
(
'app.gridpage.notConfig.createAction'
)
as
string
)
});
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZOrder
Pickup
GridView'
+
(
this
.
$t
(
'app.gridpage.notConfig.createAction'
)
as
string
)
});
}
else
{
Object
.
assign
(
item
,{
viewparams
:
this
.
viewparams
});
let
response
=
await
this
.
service
.
add
(
this
.
createAction
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),
item
,
this
.
showBusyIndicator
);
...
...
@@ -2085,7 +2071,7 @@ export default class MainBase extends Vue implements ControlInterface {
}
}
else
if
(
Object
.
is
(
item
.
rowDataState
,
'update'
)){
if
(
!
this
.
updateAction
){
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZOrder
SF1
GridView'
+
(
this
.
$t
(
'app.gridpage.notConfig.updateAction'
)
as
string
)
});
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZOrder
Pickup
GridView'
+
(
this
.
$t
(
'app.gridpage.notConfig.updateAction'
)
as
string
)
});
}
else
{
Object
.
assign
(
item
,{
viewparams
:
this
.
viewparams
});
if
(
item
.
ibizorder
){
...
...
@@ -2152,7 +2138,7 @@ export default class MainBase extends Vue implements ControlInterface {
*/
public
newRow
(
args
:
any
[],
params
?:
any
,
$event
?:
any
,
xData
?:
any
):
void
{
if
(
!
this
.
loaddraftAction
){
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZOrder
SF1
GridView'
+
(
this
.
$t
(
'app.gridpage.notConfig.loaddraftAction'
)
as
string
)
});
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZOrder
Pickup
GridView'
+
(
this
.
$t
(
'app.gridpage.notConfig.loaddraftAction'
)
as
string
)
});
return
;
}
let
_this
=
this
;
...
...
This diff is collapsed.
Click to expand it.
app_Web/src/widgets/ibizorder/main-grid/main-grid-model.ts
浏览文件 @
35df8637
...
...
@@ -104,21 +104,6 @@ export default class MainModel {
prop
:
'n_ibizordername_like'
,
dataType
:
'QUERYPARAM'
},
{
name
:
'n_orderstate_eq'
,
prop
:
'n_orderstate_eq'
,
dataType
:
'QUERYPARAM'
},
{
name
:
'n_ordertime_gt'
,
prop
:
'n_ordertime_gt'
,
dataType
:
'QUERYPARAM'
},
{
name
:
'n_ordertime_lt'
,
prop
:
'n_ordertime_lt'
,
dataType
:
'QUERYPARAM'
},
{
name
:
'size'
,
...
...
This diff is collapsed.
Click to expand it.
demo-boot/src/main/resources/static/remotemodel/PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK/PSGANTTS/Usr.json
浏览文件 @
35df8637
...
...
@@ -11,21 +11,21 @@
"path"
:
"PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK.json"
},
"getPSDETreeColumns"
:
[
{
"caption"
:
"
图书名称
"
,
"codeName"
:
"
ibizbookna
me"
,
"caption"
:
"
归还日期
"
,
"codeName"
:
"
returnti
me"
,
"columnType"
:
"DEFGRIDCOLUMN"
,
"dataItemName"
:
"
ibizbookna
me"
,
"name"
:
"
ibizbookna
me"
,
"dataItemName"
:
"
returnti
me"
,
"name"
:
"
returnti
me"
,
"width"
:
200
,
"widthUnit"
:
"px"
,
"enableExpand"
:
false
,
"enableSort"
:
false
},
{
"caption"
:
"
归还日期
"
,
"codeName"
:
"
returntime
"
,
"caption"
:
"
作者
"
,
"codeName"
:
"
author
"
,
"columnType"
:
"DEFGRIDCOLUMN"
,
"dataItemName"
:
"
returntime
"
,
"name"
:
"
returntime
"
,
"dataItemName"
:
"
author
"
,
"name"
:
"
author
"
,
"width"
:
200
,
"widthUnit"
:
"px"
,
"enableExpand"
:
false
,
...
...
@@ -51,11 +51,11 @@
"enableExpand"
:
false
,
"enableSort"
:
false
},
{
"caption"
:
"
作者
"
,
"codeName"
:
"
author
"
,
"caption"
:
"
图书名称
"
,
"codeName"
:
"
ibizbookname
"
,
"columnType"
:
"DEFGRIDCOLUMN"
,
"dataItemName"
:
"
author
"
,
"name"
:
"
author
"
,
"dataItemName"
:
"
ibizbookname
"
,
"name"
:
"
ibizbookname
"
,
"width"
:
200
,
"widthUnit"
:
"px"
,
"enableExpand"
:
false
,
...
...
This diff is collapsed.
Click to expand it.
demo-boot/src/main/resources/static/remotemodel/PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK/PSGRIDS/Main.json
0 → 100644
浏览文件 @
35df8637
{
"aggMode"
:
"NONE"
,
"codeName"
:
"Main"
,
"columnEnableLink"
:
2
,
"controlType"
:
"GRID"
,
"dynaModelFilePath"
:
"PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK/PSGRIDS/Main.json"
,
"getFetchPSControlAction"
:
{
"modelref"
:
true
,
"id"
:
"fetch"
},
"groupMode"
:
"NONE"
,
"logicName"
:
"主表格"
,
"getPSAppDataEntity"
:
{
"modelref"
:
true
,
"path"
:
"PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK.json"
},
"getPSDEDataImport"
:
{
"modelref"
:
true
,
"id"
:
"DataImport"
},
"getPSDEGridColumns"
:
[
{
"align"
:
"LEFT"
,
"cLConvertMode"
:
"NONE"
,
"getCapPSLanguageRes"
:
{
"lanResTag"
:
"DEF.LNAME.IBIZBOOKNAME"
},
"caption"
:
"图书名称"
,
"codeName"
:
"ibizbookname"
,
"columnType"
:
"DEFGRIDCOLUMN"
,
"dataItemName"
:
"ibizbookname"
,
"excelCaption"
:
"图书名称"
,
"name"
:
"ibizbookname"
,
"noPrivDisplayMode"
:
1
,
"getPSAppDEField"
:
{
"name"
:
"IBIZBOOKNAME"
,
"codeName"
:
"IBIZBOOKName"
},
"width"
:
150
,
"widthUnit"
:
"PX"
,
"enableSort"
:
true
},
{
"align"
:
"LEFT"
,
"cLConvertMode"
:
"FRONT"
,
"getCapPSLanguageRes"
:
{
"lanResTag"
:
"DEF.LNAME.UPDATEMAN"
},
"caption"
:
"更新人"
,
"codeName"
:
"updateman"
,
"columnType"
:
"DEFGRIDCOLUMN"
,
"dataItemName"
:
"updateman"
,
"excelCaption"
:
"更新人"
,
"name"
:
"updateman"
,
"noPrivDisplayMode"
:
1
,
"getPSAppCodeList"
:
{
"modelref"
:
true
,
"path"
:
"PSSYSAPPS/Web/PSAPPCODELISTS/SysOperator.json"
},
"getPSAppDEField"
:
{
"name"
:
"UPDATEMAN"
,
"codeName"
:
"UpdateMan"
},
"width"
:
150
,
"widthUnit"
:
"PX"
,
"enableSort"
:
true
},
{
"align"
:
"LEFT"
,
"cLConvertMode"
:
"NONE"
,
"getCapPSLanguageRes"
:
{
"lanResTag"
:
"DEF.LNAME.UPDATEDATE"
},
"caption"
:
"更新时间"
,
"codeName"
:
"updatedate"
,
"columnType"
:
"DEFGRIDCOLUMN"
,
"dataItemName"
:
"updatedate"
,
"excelCaption"
:
"更新时间"
,
"name"
:
"updatedate"
,
"noPrivDisplayMode"
:
1
,
"getPSAppDEField"
:
{
"name"
:
"UPDATEDATE"
,
"codeName"
:
"UpdateDate"
},
"valueFormat"
:
"YYYY-MM-DD HH:mm:ss"
,
"width"
:
150
,
"widthUnit"
:
"PX"
,
"enableSort"
:
true
}
],
"getPSDEGridDataItems"
:
[
{
"dataType"
:
25
,
"name"
:
"ibizbookname"
,
"getPSAppDEField"
:
{
"name"
:
"IBIZBOOKNAME"
,
"codeName"
:
"IBIZBOOKName"
}
},
{
"dataType"
:
25
,
"name"
:
"updateman"
,
"getPSAppDEField"
:
{
"name"
:
"UPDATEMAN"
,
"codeName"
:
"UpdateMan"
}
},
{
"format"
:
"YYYY-MM-DD HH:mm:ss"
,
"dataType"
:
5
,
"name"
:
"updatedate"
,
"getPSAppDEField"
:
{
"name"
:
"UPDATEDATE"
,
"codeName"
:
"UpdateDate"
}
},
{
"dataType"
:
25
,
"name"
:
"ibizbookid"
,
"getPSAppDEField"
:
{
"name"
:
"IBIZBOOKID"
,
"codeName"
:
"IBIZBOOKId"
}
},
{
"dataType"
:
25
,
"name"
:
"srfkey"
,
"getPSAppDEField"
:
{
"name"
:
"IBIZBOOKID"
,
"codeName"
:
"IBIZBOOKId"
}
},
{
"dataType"
:
25
,
"name"
:
"srfdataaccaction"
,
"getPSAppDEField"
:
{
"name"
:
"IBIZBOOKID"
,
"codeName"
:
"IBIZBOOKId"
},
"dataAccessAction"
:
true
},
{
"dataType"
:
25
,
"name"
:
"srfmajortext"
,
"getPSAppDEField"
:
{
"name"
:
"IBIZBOOKNAME"
,
"codeName"
:
"IBIZBOOKName"
}
},
{
"dataType"
:
25
,
"name"
:
"srfmstag"
}
],
"getPSDEGridEditItems"
:
[
{
"caption"
:
"图书标识"
,
"codeName"
:
"srfkey"
,
"enableCond"
:
3
,
"ignoreInput"
:
0
,
"name"
:
"srfkey"
,
"getPSAppDEField"
:
{
"name"
:
"IBIZBOOKID"
,
"codeName"
:
"IBIZBOOKId"
},
"getPSEditor"
:
{
"editorType"
:
"HIDDEN"
,
"name"
:
"srfkey"
},
"allowEmpty"
:
true
}
],
"pagingSize"
:
20
,
"getRemovePSControlAction"
:
{
"actionName"
:
"Remove"
,
"actionType"
:
"DEACTION"
,
"dataAccessAction"
:
"DELETE"
,
"name"
:
"remove"
,
"getPSAppDEMethod"
:
{
"modelref"
:
true
,
"id"
:
"Remove"
},
"getPSAppDataEntity"
:
{
"modelref"
:
true
,
"path"
:
"PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK.json"
}
},
"sortMode"
:
"REMOTE"
,
"hasWFDataItems"
:
false
,
"enableColFilter"
:
false
,
"enableCustomized"
:
true
,
"enableGroup"
:
false
,
"enablePagingBar"
:
true
,
"enableRowEdit"
:
false
,
"enableRowEditOrder"
:
false
,
"enableRowNew"
:
false
,
"forceFit"
:
false
,
"hideHeader"
:
false
,
"noSort"
:
false
,
"singleSelect"
:
false
,
"modelid"
:
"6cd11a010cbbb4d2bad5e1aad7e8020a"
,
"modeltype"
:
"PSDEGRID"
}
\ No newline at end of file
This diff is collapsed.
Click to expand it.
demo-boot/src/main/resources/static/remotemodel/PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK/PSTREEGRIDICES/TreeTable.json
浏览文件 @
35df8637
...
...
@@ -29,21 +29,21 @@
"enableExpand"
:
false
,
"enableSort"
:
false
},
{
"caption"
:
"
作者
"
,
"codeName"
:
"
author
"
,
"caption"
:
"
图书描述
"
,
"codeName"
:
"
subtext
"
,
"columnType"
:
"DEFGRIDCOLUMN"
,
"dataItemName"
:
"
author
"
,
"name"
:
"
author
"
,
"dataItemName"
:
"
subtext
"
,
"name"
:
"
subtext
"
,
"width"
:
50
,
"widthUnit"
:
"px"
,
"enableExpand"
:
false
,
"enableSort"
:
false
},
{
"caption"
:
"
图书描述
"
,
"codeName"
:
"
subtext
"
,
"caption"
:
"
作者
"
,
"codeName"
:
"
author
"
,
"columnType"
:
"DEFGRIDCOLUMN"
,
"dataItemName"
:
"
subtext
"
,
"name"
:
"
subtext
"
,
"dataItemName"
:
"
author
"
,
"name"
:
"
author
"
,
"width"
:
50
,
"widthUnit"
:
"px"
,
"enableExpand"
:
false
,
...
...
This diff is collapsed.
Click to expand it.
demo-boot/src/main/resources/static/remotemodel/PSSYSAPPS/Web/PSAPPDEVIEWS/IBIZBOOKCustomView.json
浏览文件 @
35df8637
...
...
@@ -18,6 +18,9 @@
"getPSDEViewCodeName"
:
"CustomView"
,
"getPSDEViewId"
:
"621af848e45cfa22f4e35363132223de"
,
"getPSViewLayoutPanel"
:
{
"getAllPSPanelFields"
:
[
{
"id"
:
"view_pagecaption"
}
],
"codeName"
:
"Layoutpanel"
,
"controlType"
:
"VIEWLAYOUTPANEL"
,
"layoutMode"
:
"TABLE_24COL"
,
...
...
@@ -33,17 +36,134 @@
"layout"
:
"TABLE_24COL"
},
"getRootPSPanelItems"
:
[
{
"caption"
:
"容器"
,
"caption"
:
"
滚动条
容器"
,
"itemStyle"
:
"DEFAULT"
,
"itemType"
:
"CONTAINER"
,
"name"
:
"
page_container
"
,
"name"
:
"
container_scroll1
"
,
"getPSLayout"
:
{
"layout"
:
"
FLEX
"
"layout"
:
"
BORDER
"
},
"getPSLayoutPos"
:
{
"colMD"
:
24
,
"heightMode"
:
"FULL"
,
"layout"
:
"TABLE_24COL"
}
},
"getPSPanelItems"
:
[
{
"caption"
:
"面板容器"
,
"itemStyle"
:
"DEFAULT"
,
"itemType"
:
"CONTAINER"
,
"name"
:
"container_scroll_main1"
,
"getPSLayout"
:
{
"layout"
:
"BORDER"
},
"getPSLayoutPos"
:
{
"layout"
:
"BORDER"
,
"layoutPos"
:
"CENTER"
},
"getPSPanelItems"
:
[
{
"caption"
:
"滚动条容器"
,
"itemStyle"
:
"DEFAULT"
,
"itemType"
:
"CONTAINER"
,
"name"
:
"container_scroll2"
,
"getPSLayout"
:
{
"layout"
:
"BORDER"
},
"getPSLayoutPos"
:
{
"layout"
:
"BORDER"
,
"layoutPos"
:
"CENTER"
},
"getPSPanelItems"
:
[
{
"caption"
:
"面板容器"
,
"itemStyle"
:
"DEFAULT"
,
"itemType"
:
"CONTAINER"
,
"name"
:
"container_scroll_main2"
,
"getPSLayout"
:
{
"layout"
:
"BORDER"
},
"getPSLayoutPos"
:
{
"layout"
:
"BORDER"
,
"layoutPos"
:
"CENTER"
},
"getPSPanelItems"
:
[
{
"caption"
:
"表格"
,
"itemStyle"
:
"DEFAULT"
,
"itemType"
:
"CTRLPOS"
,
"name"
:
"grid"
,
"getPSLayoutPos"
:
{
"layout"
:
"BORDER"
,
"layoutPos"
:
"CENTER"
},
"showCaption"
:
true
}
],
"showCaption"
:
true
},
{
"caption"
:
"面板容器"
,
"contentHeight"
:
70.0
,
"height"
:
70.0
,
"itemStyle"
:
"DEFAULT"
,
"itemType"
:
"CONTAINER"
,
"name"
:
"container_scroll_header2"
,
"getPSLayout"
:
{
"layout"
:
"BORDER"
},
"getPSLayoutPos"
:
{
"height"
:
70
,
"heightMode"
:
"PX"
,
"layout"
:
"BORDER"
,
"layoutPos"
:
"NORTH"
},
"getPSPanelItems"
:
[
{
"caption"
:
"搜索表单"
,
"itemStyle"
:
"DEFAULT"
,
"itemType"
:
"CTRLPOS"
,
"name"
:
"searchform"
,
"getPSLayoutPos"
:
{
"layout"
:
"BORDER"
,
"layoutPos"
:
"CENTER"
},
"showCaption"
:
true
}
],
"showCaption"
:
true
}
]
}
],
"showCaption"
:
true
},
{
"caption"
:
"面板容器"
,
"contentHeight"
:
80.0
,
"height"
:
80.0
,
"itemStyle"
:
"DEFAULT"
,
"itemType"
:
"CONTAINER"
,
"name"
:
"container_scroll_header1"
,
"getPSLayout"
:
{
"layout"
:
"BORDER"
},
"getPSLayoutPos"
:
{
"height"
:
80
,
"heightMode"
:
"PX"
,
"layout"
:
"BORDER"
,
"layoutPos"
:
"NORTH"
},
"getPSPanelItems"
:
[
{
"caption"
:
"页面标题"
,
"itemStyle"
:
"DEFAULT"
,
"itemType"
:
"FIELD"
,
"name"
:
"view_pagecaption"
,
"getPSEditor"
:
{
"editorType"
:
"SPAN"
,
"name"
:
"view_pagecaption"
,
"predefinedType"
:
"VIEW_PAGECAPTION"
,
"renderMode"
:
"HEADING1"
,
"enableLinkView"
:
false
},
"getPSLayoutPos"
:
{
"layout"
:
"BORDER"
,
"layoutPos"
:
"CENTER"
},
"hidden"
:
false
,
"showCaption"
:
false
}
],
"showCaption"
:
true
}
]
}
],
"layoutBodyOnly"
:
true
,
"layoutPanel"
:
true
,
...
...
This diff is collapsed.
Click to expand it.
demo-boot/src/main/resources/static/remotemodel/PSSYSAPPS/Web/PSAPPDEVIEWS/IBIZBOOKCustomView_layout.json
浏览文件 @
35df8637
...
...
@@ -15,9 +15,446 @@
"modelref"
:
true
,
"id"
:
"VMGroup85"
},
"getPSControls"
:
[
{
"codeName"
:
"Default"
,
"controlType"
:
"SEARCHFORM"
,
"dynaModelFilePath"
:
"PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK/PSSEARCHFORMS/Default.json"
,
"logicName"
:
"默认搜索表单"
,
"getPSAppDataEntity"
:
{
"modelref"
:
true
,
"path"
:
"PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK.json"
},
"getPSControlHandler"
:
{
"getPSHandlerActions"
:
[
{
"actionType"
:
"FILTERACTION"
,
"name"
:
"load"
,
"getPSAppDEMethod"
:
{
"modelref"
:
true
,
"id"
:
"FilterGet"
},
"getPSAppDataEntity"
:
{
"modelref"
:
true
,
"path"
:
"PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK.json"
}
},
{
"actionType"
:
"FILTERACTION"
,
"name"
:
"loaddraft"
,
"getPSAppDEMethod"
:
{
"modelref"
:
true
,
"id"
:
"FilterGetDraft"
},
"getPSAppDataEntity"
:
{
"modelref"
:
true
,
"path"
:
"PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK.json"
}
},
{
"actionType"
:
"FILTERACTION"
,
"name"
:
"search"
,
"getPSAppDEMethod"
:
{
"modelref"
:
true
,
"id"
:
"FilterSearch"
},
"getPSAppDataEntity"
:
{
"modelref"
:
true
,
"path"
:
"PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK.json"
}
}
],
"enableDEFieldPrivilege"
:
false
,
"id"
:
"搜索表单处理器"
},
"getPSControlParam"
:
{
"autoLoad"
:
true
,
"showBusyIndicator"
:
true
,
"id"
:
"SEARCHFORM"
},
"getPSDEFormItems"
:
[
{
"id"
:
"n_ibizbookname_like"
,
"dataType"
:
25
,
"getPSAppDEField"
:
{
"name"
:
"IBIZBOOKNAME"
,
"codeName"
:
"IBIZBOOKName"
}
},
{
"id"
:
"n_price_gtandeq"
,
"dataType"
:
7
,
"getPSAppDEField"
:
{
"name"
:
"PRICE"
,
"codeName"
:
"Price"
}
}
],
"getPSDEFormPages"
:
[
{
"getCapPSLanguageRes"
:
{
"lanResTag"
:
"CONTROL.DEFORM.IBIZBOOK.DEFAULT.FORMPAGE.FORMPAGE1"
},
"caption"
:
"常规条件"
,
"codeName"
:
"formpage1"
,
"detailStyle"
:
"DEFAULT"
,
"detailType"
:
"FORMPAGE"
,
"name"
:
"formpage1"
,
"getPSDEFormDetails"
:
[
{
"getCapPSLanguageRes"
:
{
"lanResTag"
:
"CONTROL.DEFSFITEM.IBIZBOOK.N_IBIZBOOKNAME_LIKE"
},
"caption"
:
"图书名称(%)"
,
"codeName"
:
"n_ibizbookname_like"
,
"dataType"
:
25
,
"detailStyle"
:
"DEFAULT"
,
"detailType"
:
"FORMITEM"
,
"enableCond"
:
3
,
"ignoreInput"
:
0
,
"labelPos"
:
"LEFT"
,
"labelWidth"
:
130
,
"name"
:
"n_ibizbookname_like"
,
"noPrivDisplayMode"
:
1
,
"getPSAppDEField"
:
{
"name"
:
"IBIZBOOKNAME"
,
"codeName"
:
"IBIZBOOKName"
},
"getPSEditor"
:
{
"editorType"
:
"TEXTBOX"
,
"editorWidth"
:
100.0
,
"name"
:
"n_ibizbookname_like"
},
"getPSLayoutPos"
:
{
"colLG"
:
12
,
"colMD"
:
24
,
"layout"
:
"TABLE_24COL"
},
"allowEmpty"
:
true
,
"showCaption"
:
true
},
{
"getCapPSLanguageRes"
:
{
"lanResTag"
:
"CONTROL.DEFSFITEM.IBIZBOOK.N_PRICE_GTANDEQ"
},
"caption"
:
"图书价格(>=)"
,
"codeName"
:
"n_price_gtandeq"
,
"dataType"
:
7
,
"detailStyle"
:
"DEFAULT"
,
"detailType"
:
"FORMITEM"
,
"enableCond"
:
3
,
"ignoreInput"
:
0
,
"labelPos"
:
"LEFT"
,
"labelWidth"
:
130
,
"name"
:
"n_price_gtandeq"
,
"noPrivDisplayMode"
:
1
,
"getPSAppDEField"
:
{
"name"
:
"PRICE"
,
"codeName"
:
"Price"
},
"getPSEditor"
:
{
"editorType"
:
"TEXTBOX"
,
"editorWidth"
:
100.0
,
"name"
:
"n_price_gtandeq"
},
"getPSLayoutPos"
:
{
"colLG"
:
12
,
"colMD"
:
24
,
"layout"
:
"TABLE_24COL"
},
"allowEmpty"
:
true
,
"showCaption"
:
true
}
],
"getPSLayout"
:
{
"columnCount"
:
24
,
"layout"
:
"TABLE_24COL"
},
"infoGroupMode"
:
false
}
],
"getPSLayout"
:
{
"columnCount"
:
24
,
"layout"
:
"TABLE_24COL"
},
"searchButtonStyle"
:
"DEFAULT"
,
"tabHeaderPos"
:
"TOP"
,
"enableAdvanceSearch"
:
false
,
"enableAutoSearch"
:
false
,
"enableFilterSave"
:
false
,
"noTabHeader"
:
true
,
"name"
:
"searchform"
,
"modelid"
:
"643b7d93870f8f5842b663af83ba85ae"
,
"modeltype"
:
"PSDEFORM_SEARCHFORM"
},
{
"aggMode"
:
"NONE"
,
"codeName"
:
"Main"
,
"columnEnableLink"
:
2
,
"controlType"
:
"GRID"
,
"dynaModelFilePath"
:
"PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK/PSGRIDS/Main.json"
,
"getFetchPSControlAction"
:
{
"modelref"
:
true
,
"id"
:
"fetch"
},
"groupMode"
:
"NONE"
,
"logicName"
:
"主表格"
,
"getPSAppDataEntity"
:
{
"modelref"
:
true
,
"path"
:
"PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK.json"
},
"getPSControlHandler"
:
{
"getPSHandlerActions"
:
[
{
"actionName"
:
"Get"
,
"actionType"
:
"DEACTION"
,
"dataAccessAction"
:
"READ"
,
"name"
:
"load"
,
"getPSAppDEMethod"
:
{
"modelref"
:
true
,
"id"
:
"Get"
},
"getPSAppDataEntity"
:
{
"modelref"
:
true
,
"path"
:
"PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK.json"
}
},
{
"actionName"
:
"Create"
,
"actionType"
:
"DEACTION"
,
"dataAccessAction"
:
"CREATE"
,
"name"
:
"create"
,
"getPSAppDEMethod"
:
{
"modelref"
:
true
,
"id"
:
"Create"
},
"getPSAppDataEntity"
:
{
"modelref"
:
true
,
"path"
:
"PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK.json"
}
},
{
"actionName"
:
"Update"
,
"actionType"
:
"DEACTION"
,
"dataAccessAction"
:
"UPDATE"
,
"name"
:
"update"
,
"getPSAppDEMethod"
:
{
"modelref"
:
true
,
"id"
:
"Update"
},
"getPSAppDataEntity"
:
{
"modelref"
:
true
,
"path"
:
"PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK.json"
}
},
{
"actionName"
:
"Remove"
,
"actionType"
:
"DEACTION"
,
"dataAccessAction"
:
"DELETE"
,
"name"
:
"remove"
,
"getPSAppDEMethod"
:
{
"modelref"
:
true
,
"id"
:
"Remove"
},
"getPSAppDataEntity"
:
{
"modelref"
:
true
,
"path"
:
"PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK.json"
}
},
{
"actionName"
:
"GetDraft"
,
"actionType"
:
"DEACTION"
,
"dataAccessAction"
:
"CREATE"
,
"name"
:
"loaddraft"
,
"getPSAppDEMethod"
:
{
"modelref"
:
true
,
"id"
:
"GetDraft"
},
"getPSAppDataEntity"
:
{
"modelref"
:
true
,
"path"
:
"PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK.json"
}
},
{
"actionType"
:
"DEDATASET"
,
"name"
:
"fetch"
,
"getPSAppDEMethod"
:
{
"modelref"
:
true
,
"id"
:
"FetchDefault"
},
"getPSAppDataEntity"
:
{
"modelref"
:
true
,
"path"
:
"PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK.json"
}
}
],
"userDRAction"
:
"READ"
,
"enableDEFieldPrivilege"
:
false
,
"id"
:
"数据表格处理器"
},
"getPSControlParam"
:
{
"autoLoad"
:
true
,
"showBusyIndicator"
:
true
,
"id"
:
"GRID"
},
"getPSDEDataImport"
:
{
"modelref"
:
true
,
"id"
:
"DataImport"
},
"getPSDEGridColumns"
:
[
{
"align"
:
"LEFT"
,
"cLConvertMode"
:
"NONE"
,
"getCapPSLanguageRes"
:
{
"lanResTag"
:
"DEF.LNAME.IBIZBOOKNAME"
},
"caption"
:
"图书名称"
,
"codeName"
:
"ibizbookname"
,
"columnType"
:
"DEFGRIDCOLUMN"
,
"dataItemName"
:
"ibizbookname"
,
"excelCaption"
:
"图书名称"
,
"name"
:
"ibizbookname"
,
"noPrivDisplayMode"
:
1
,
"getPSAppDEField"
:
{
"name"
:
"IBIZBOOKNAME"
,
"codeName"
:
"IBIZBOOKName"
},
"width"
:
150
,
"widthUnit"
:
"PX"
,
"enableSort"
:
true
},
{
"align"
:
"LEFT"
,
"cLConvertMode"
:
"FRONT"
,
"getCapPSLanguageRes"
:
{
"lanResTag"
:
"DEF.LNAME.UPDATEMAN"
},
"caption"
:
"更新人"
,
"codeName"
:
"updateman"
,
"columnType"
:
"DEFGRIDCOLUMN"
,
"dataItemName"
:
"updateman"
,
"excelCaption"
:
"更新人"
,
"name"
:
"updateman"
,
"noPrivDisplayMode"
:
1
,
"getPSAppCodeList"
:
{
"modelref"
:
true
,
"path"
:
"PSSYSAPPS/Web/PSAPPCODELISTS/SysOperator.json"
},
"getPSAppDEField"
:
{
"name"
:
"UPDATEMAN"
,
"codeName"
:
"UpdateMan"
},
"width"
:
150
,
"widthUnit"
:
"PX"
,
"enableSort"
:
true
},
{
"align"
:
"LEFT"
,
"cLConvertMode"
:
"NONE"
,
"getCapPSLanguageRes"
:
{
"lanResTag"
:
"DEF.LNAME.UPDATEDATE"
},
"caption"
:
"更新时间"
,
"codeName"
:
"updatedate"
,
"columnType"
:
"DEFGRIDCOLUMN"
,
"dataItemName"
:
"updatedate"
,
"excelCaption"
:
"更新时间"
,
"name"
:
"updatedate"
,
"noPrivDisplayMode"
:
1
,
"getPSAppDEField"
:
{
"name"
:
"UPDATEDATE"
,
"codeName"
:
"UpdateDate"
},
"valueFormat"
:
"YYYY-MM-DD HH:mm:ss"
,
"width"
:
150
,
"widthUnit"
:
"PX"
,
"enableSort"
:
true
}
],
"getPSDEGridDataItems"
:
[
{
"dataType"
:
25
,
"name"
:
"ibizbookname"
,
"getPSAppDEField"
:
{
"name"
:
"IBIZBOOKNAME"
,
"codeName"
:
"IBIZBOOKName"
}
},
{
"dataType"
:
25
,
"name"
:
"updateman"
,
"getPSAppDEField"
:
{
"name"
:
"UPDATEMAN"
,
"codeName"
:
"UpdateMan"
}
},
{
"format"
:
"YYYY-MM-DD HH:mm:ss"
,
"dataType"
:
5
,
"name"
:
"updatedate"
,
"getPSAppDEField"
:
{
"name"
:
"UPDATEDATE"
,
"codeName"
:
"UpdateDate"
}
},
{
"dataType"
:
25
,
"name"
:
"ibizbookid"
,
"getPSAppDEField"
:
{
"name"
:
"IBIZBOOKID"
,
"codeName"
:
"IBIZBOOKId"
}
},
{
"dataType"
:
25
,
"name"
:
"srfkey"
,
"getPSAppDEField"
:
{
"name"
:
"IBIZBOOKID"
,
"codeName"
:
"IBIZBOOKId"
}
},
{
"dataType"
:
25
,
"name"
:
"srfdataaccaction"
,
"getPSAppDEField"
:
{
"name"
:
"IBIZBOOKID"
,
"codeName"
:
"IBIZBOOKId"
},
"dataAccessAction"
:
true
},
{
"dataType"
:
25
,
"name"
:
"srfmajortext"
,
"getPSAppDEField"
:
{
"name"
:
"IBIZBOOKNAME"
,
"codeName"
:
"IBIZBOOKName"
}
},
{
"dataType"
:
25
,
"name"
:
"srfmstag"
}
],
"getPSDEGridEditItems"
:
[
{
"caption"
:
"图书标识"
,
"codeName"
:
"srfkey"
,
"enableCond"
:
3
,
"ignoreInput"
:
0
,
"name"
:
"srfkey"
,
"getPSAppDEField"
:
{
"name"
:
"IBIZBOOKID"
,
"codeName"
:
"IBIZBOOKId"
},
"getPSEditor"
:
{
"editorType"
:
"HIDDEN"
,
"name"
:
"srfkey"
},
"allowEmpty"
:
true
}
],
"pagingSize"
:
20
,
"getRemovePSControlAction"
:
{
"actionName"
:
"Remove"
,
"actionType"
:
"DEACTION"
,
"dataAccessAction"
:
"DELETE"
,
"name"
:
"remove"
,
"getPSAppDEMethod"
:
{
"modelref"
:
true
,
"id"
:
"Remove"
},
"getPSAppDataEntity"
:
{
"modelref"
:
true
,
"path"
:
"PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK.json"
}
},
"sortMode"
:
"REMOTE"
,
"hasWFDataItems"
:
false
,
"enableColFilter"
:
false
,
"enableCustomized"
:
true
,
"enableGroup"
:
false
,
"enablePagingBar"
:
true
,
"enableRowEdit"
:
false
,
"enableRowEditOrder"
:
false
,
"enableRowNew"
:
false
,
"forceFit"
:
false
,
"hideHeader"
:
false
,
"noSort"
:
false
,
"singleSelect"
:
false
,
"name"
:
"grid"
,
"modelid"
:
"6cd11a010cbbb4d2bad5e1aad7e8020a"
,
"modeltype"
:
"PSDEGRID"
}
],
"getPSDEViewCodeName"
:
"CustomView_layout"
,
"getPSDEViewId"
:
"8E256DEB-D2D3-4FA4-891E-309B320E93D8"
,
"getPSViewLayoutPanel"
:
{
"getAllPSPanelFields"
:
[
{
"id"
:
"view_pagecaption"
}
],
"codeName"
:
"Layoutpanel"
,
"controlType"
:
"VIEWLAYOUTPANEL"
,
"layoutMode"
:
"TABLE_24COL"
,
...
...
@@ -33,17 +470,134 @@
"layout"
:
"TABLE_24COL"
},
"getRootPSPanelItems"
:
[
{
"caption"
:
"容器"
,
"caption"
:
"
滚动条
容器"
,
"itemStyle"
:
"DEFAULT"
,
"itemType"
:
"CONTAINER"
,
"name"
:
"
page_container
"
,
"name"
:
"
container_scroll1
"
,
"getPSLayout"
:
{
"layout"
:
"
FLEX
"
"layout"
:
"
BORDER
"
},
"getPSLayoutPos"
:
{
"colMD"
:
24
,
"heightMode"
:
"FULL"
,
"layout"
:
"TABLE_24COL"
}
},
"getPSPanelItems"
:
[
{
"caption"
:
"面板容器"
,
"itemStyle"
:
"DEFAULT"
,
"itemType"
:
"CONTAINER"
,
"name"
:
"container_scroll_main1"
,
"getPSLayout"
:
{
"layout"
:
"BORDER"
},
"getPSLayoutPos"
:
{
"layout"
:
"BORDER"
,
"layoutPos"
:
"CENTER"
},
"getPSPanelItems"
:
[
{
"caption"
:
"滚动条容器"
,
"itemStyle"
:
"DEFAULT"
,
"itemType"
:
"CONTAINER"
,
"name"
:
"container_scroll2"
,
"getPSLayout"
:
{
"layout"
:
"BORDER"
},
"getPSLayoutPos"
:
{
"layout"
:
"BORDER"
,
"layoutPos"
:
"CENTER"
},
"getPSPanelItems"
:
[
{
"caption"
:
"面板容器"
,
"itemStyle"
:
"DEFAULT"
,
"itemType"
:
"CONTAINER"
,
"name"
:
"container_scroll_main2"
,
"getPSLayout"
:
{
"layout"
:
"BORDER"
},
"getPSLayoutPos"
:
{
"layout"
:
"BORDER"
,
"layoutPos"
:
"CENTER"
},
"getPSPanelItems"
:
[
{
"caption"
:
"表格"
,
"itemStyle"
:
"DEFAULT"
,
"itemType"
:
"CTRLPOS"
,
"name"
:
"grid"
,
"getPSLayoutPos"
:
{
"layout"
:
"BORDER"
,
"layoutPos"
:
"CENTER"
},
"showCaption"
:
true
}
],
"showCaption"
:
true
},
{
"caption"
:
"面板容器"
,
"contentHeight"
:
70.0
,
"height"
:
70.0
,
"itemStyle"
:
"DEFAULT"
,
"itemType"
:
"CONTAINER"
,
"name"
:
"container_scroll_header2"
,
"getPSLayout"
:
{
"layout"
:
"BORDER"
},
"getPSLayoutPos"
:
{
"height"
:
70
,
"heightMode"
:
"PX"
,
"layout"
:
"BORDER"
,
"layoutPos"
:
"NORTH"
},
"getPSPanelItems"
:
[
{
"caption"
:
"搜索表单"
,
"itemStyle"
:
"DEFAULT"
,
"itemType"
:
"CTRLPOS"
,
"name"
:
"searchform"
,
"getPSLayoutPos"
:
{
"layout"
:
"BORDER"
,
"layoutPos"
:
"CENTER"
},
"showCaption"
:
true
}
],
"showCaption"
:
true
}
]
}
],
"showCaption"
:
true
},
{
"caption"
:
"面板容器"
,
"contentHeight"
:
80.0
,
"height"
:
80.0
,
"itemStyle"
:
"DEFAULT"
,
"itemType"
:
"CONTAINER"
,
"name"
:
"container_scroll_header1"
,
"getPSLayout"
:
{
"layout"
:
"BORDER"
},
"getPSLayoutPos"
:
{
"height"
:
80
,
"heightMode"
:
"PX"
,
"layout"
:
"BORDER"
,
"layoutPos"
:
"NORTH"
},
"getPSPanelItems"
:
[
{
"caption"
:
"页面标题"
,
"itemStyle"
:
"DEFAULT"
,
"itemType"
:
"FIELD"
,
"name"
:
"view_pagecaption"
,
"getPSEditor"
:
{
"editorType"
:
"SPAN"
,
"name"
:
"view_pagecaption"
,
"predefinedType"
:
"VIEW_PAGECAPTION"
,
"renderMode"
:
"HEADING1"
,
"enableLinkView"
:
false
},
"getPSLayoutPos"
:
{
"layout"
:
"BORDER"
,
"layoutPos"
:
"CENTER"
},
"hidden"
:
false
,
"showCaption"
:
false
}
],
"showCaption"
:
true
}
]
}
],
"layoutBodyOnly"
:
true
,
"layoutPanel"
:
true
,
...
...
This diff is collapsed.
Click to expand it.
demo-boot/src/main/resources/static/remotemodel/PSSYSAPPS/Web/PSAPPDEVIEWS/IBIZBOOKGanttView.json
浏览文件 @
35df8637
...
...
@@ -34,21 +34,21 @@
"id"
:
"GANTT"
},
"getPSDETreeColumns"
:
[
{
"caption"
:
"
图书名称
"
,
"codeName"
:
"
ibizbookna
me"
,
"caption"
:
"
归还日期
"
,
"codeName"
:
"
returnti
me"
,
"columnType"
:
"DEFGRIDCOLUMN"
,
"dataItemName"
:
"
ibizbookna
me"
,
"name"
:
"
ibizbookna
me"
,
"dataItemName"
:
"
returnti
me"
,
"name"
:
"
returnti
me"
,
"width"
:
200
,
"widthUnit"
:
"px"
,
"enableExpand"
:
false
,
"enableSort"
:
false
},
{
"caption"
:
"
归还日期
"
,
"codeName"
:
"
returntime
"
,
"caption"
:
"
作者
"
,
"codeName"
:
"
author
"
,
"columnType"
:
"DEFGRIDCOLUMN"
,
"dataItemName"
:
"
returntime
"
,
"name"
:
"
returntime
"
,
"dataItemName"
:
"
author
"
,
"name"
:
"
author
"
,
"width"
:
200
,
"widthUnit"
:
"px"
,
"enableExpand"
:
false
,
...
...
@@ -74,11 +74,11 @@
"enableExpand"
:
false
,
"enableSort"
:
false
},
{
"caption"
:
"
作者
"
,
"codeName"
:
"
author
"
,
"caption"
:
"
图书名称
"
,
"codeName"
:
"
ibizbookname
"
,
"columnType"
:
"DEFGRIDCOLUMN"
,
"dataItemName"
:
"
author
"
,
"name"
:
"
author
"
,
"dataItemName"
:
"
ibizbookname
"
,
"name"
:
"
ibizbookname
"
,
"width"
:
200
,
"widthUnit"
:
"px"
,
"enableExpand"
:
false
,
...
...
This diff is collapsed.
Click to expand it.
demo-boot/src/main/resources/static/remotemodel/PSSYSAPPS/Web/PSAPPDEVIEWS/IBIZBOOKOptionView_layout.json
浏览文件 @
35df8637
...
...
@@ -151,14 +151,19 @@
},
"getPSLayoutPos"
:
{
"hAlignSelf"
:
"RIGHT"
,
"heightMode"
:
"FULL"
,
"layout"
:
"BORDER"
,
"layoutPos"
:
"CENTER"
,
"spacingBottom"
:
"INNERSMALL"
,
"spacingTop"
:
"INNERSMALL"
,
"vAlignSelf"
:
"MIDDLE"
},
"getPSPanelItems"
:
[
{
"actionType"
:
"UIACTION"
,
"buttonStyle"
:
"DEFAULT"
,
"buttonWidth"
:
60.0
,
"caption"
:
"取消"
,
"contentWidth"
:
60.0
,
"itemStyle"
:
"DEFAULT"
,
"itemType"
:
"BUTTON"
,
"name"
:
"button_openview1"
,
...
...
@@ -169,7 +174,9 @@
"getPSLayoutPos"
:
{
"grow"
:
-1
,
"heightMode"
:
"FULL"
,
"layout"
:
"FLEX"
"layout"
:
"FLEX"
,
"width"
:
60
,
"widthMode"
:
"PX"
},
"getPSUIAction"
:
{
"caption"
:
"取消"
,
...
...
@@ -187,11 +194,14 @@
"uIActionType"
:
"DEUIACTION"
},
"tooltip"
:
"取消"
,
"width"
:
60.0
,
"showCaption"
:
true
},
{
"actionType"
:
"UIACTION"
,
"buttonStyle"
:
"DEFAULT"
,
"buttonWidth"
:
60.0
,
"caption"
:
"确认"
,
"contentWidth"
:
60.0
,
"itemStyle"
:
"DEFAULT"
,
"itemType"
:
"BUTTON"
,
"name"
:
"button_openview2"
,
...
...
@@ -202,7 +212,9 @@
"getPSLayoutPos"
:
{
"grow"
:
-1
,
"heightMode"
:
"FULL"
,
"layout"
:
"FLEX"
"layout"
:
"FLEX"
,
"width"
:
60
,
"widthMode"
:
"PX"
},
"getPSUIAction"
:
{
"caption"
:
"确认"
,
...
...
@@ -220,6 +232,7 @@
"uIActionType"
:
"DEUIACTION"
},
"tooltip"
:
"确认"
,
"width"
:
60.0
,
"showCaption"
:
true
}
]
}
],
...
...
This diff is collapsed.
Click to expand it.
demo-boot/src/main/resources/static/remotemodel/PSSYSAPPS/Web/PSAPPDEVIEWS/IBIZBOOKTreeGridExView.json
浏览文件 @
35df8637
...
...
@@ -85,21 +85,21 @@
"enableExpand"
:
false
,
"enableSort"
:
false
},
{
"caption"
:
"
作者
"
,
"codeName"
:
"
author
"
,
"caption"
:
"
图书描述
"
,
"codeName"
:
"
subtext
"
,
"columnType"
:
"DEFGRIDCOLUMN"
,
"dataItemName"
:
"
author
"
,
"name"
:
"
author
"
,
"dataItemName"
:
"
subtext
"
,
"name"
:
"
subtext
"
,
"width"
:
50
,
"widthUnit"
:
"px"
,
"enableExpand"
:
false
,
"enableSort"
:
false
},
{
"caption"
:
"
图书描述
"
,
"codeName"
:
"
subtext
"
,
"caption"
:
"
作者
"
,
"codeName"
:
"
author
"
,
"columnType"
:
"DEFGRIDCOLUMN"
,
"dataItemName"
:
"
subtext
"
,
"name"
:
"
subtext
"
,
"dataItemName"
:
"
author
"
,
"name"
:
"
author
"
,
"width"
:
50
,
"widthUnit"
:
"px"
,
"enableExpand"
:
false
,
...
...
This diff is collapsed.
Click to expand it.
demo-core/src/main/resources/liquibase/h2_table.xml
浏览文件 @
35df8637
...
...
@@ -172,7 +172,7 @@
<!--输出实体[IBIZBOOK]数据结构 -->
<changeSet
author=
"a_LAB01_df847bdfd"
id=
"tab-ibizbook-2
14
-7"
>
<changeSet
author=
"a_LAB01_df847bdfd"
id=
"tab-ibizbook-2
26
-7"
>
<createTable
tableName=
"T_IBIZBOOK"
>
<column
name=
"CREATEMAN"
remarks=
""
type=
"VARCHAR(60)"
>
</column>
...
...
@@ -340,7 +340,7 @@
<!--输出实体[IBIZORDER]数据结构 -->
<changeSet
author=
"a_LAB01_df847bdfd"
id=
"tab-ibizorder-38
6
-14"
>
<changeSet
author=
"a_LAB01_df847bdfd"
id=
"tab-ibizorder-38
8
-14"
>
<createTable
tableName=
"T_IBIZORDER"
>
<column
name=
"TP"
remarks=
""
type=
"TEXT(1048576)"
>
</column>
...
...
This diff is collapsed.
Click to expand it.
demo-core/src/main/resources/liquibase/view.xml
浏览文件 @
35df8637
...
...
@@ -37,7 +37,7 @@
</createView>
</changeSet>
<!--输出实体[IBIZORDER]视图结构信息 runOnChange="true" 当视图发生变更时,通过liquibase强刷prod的视图,实现视图的同步-->
<changeSet
author=
"a_LAB01_df847bdfd"
id=
"view-ibizorder-38
6
-8"
runOnChange=
"true"
>
<changeSet
author=
"a_LAB01_df847bdfd"
id=
"view-ibizorder-38
8
-8"
runOnChange=
"true"
>
<createView
fullDefinition=
"false"
replaceIfExists=
"true"
viewName=
"V_IBIZORDER"
>
<![CDATA[ SELECT t1.[AMOUNT], t1.[CREATEDATE], t1.[CREATEMAN], t1.[DETAILNUM], t1.[IBIZCUSTOMERID], t11.[IBIZCUSTOMERNAME], t1.[IBIZORDERID], t1.[IBIZORDERNAME], t1.[MEMO], t1.[ORDERSTATE], t1.[ORDERTIME], t1.[ORDERTYPE], t1.[ORDERUID], t1.[UPDATEDATE], t1.[UPDATEMAN], t1.[WFINSTANCEID], t1.[WFSTATE], t1.[WFSTEP] FROM [T_IBIZORDER] t1 LEFT JOIN T_IBIZCUSTOMER t11 ON t1.IBIZCUSTOMERID = t11.IBIZCUSTOMERID ]]>
</createView>
...
...
This diff is collapsed.
Click to expand it.
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录