Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
功
功能演示系统
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
示例
功能演示系统
提交
35df8637
提交
35df8637
编写于
11月 07, 2022
作者:
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
),
...
...
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
),
...
...
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
),
...
...
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'
}
};
/**
...
...
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
)
=>
{
...
...
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'
}
};
/**
...
...
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'
}
...
...
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
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
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
}
;
...
...
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
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
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
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
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
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
){
...
...
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
){
...
...
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
;
...
...
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'
,
...
...
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
,
...
...
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
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
,
...
...
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
,
...
...
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
,
...
...
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
,
...
...
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
}
]
}
],
...
...
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
,
...
...
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>
...
...
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>
...
...
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录