Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
I
ibzwf
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
ibiz4jteam
ibzwf
提交
014d04a7
提交
014d04a7
编写于
11月 16, 2022
作者:
ibizdev
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
zhouweidong 发布系统代码 [ibz-wf,统一工作流]
上级
059355ae
变更
28
隐藏空白字符变更
内嵌
并排
正在显示
28 个修改的文件
包含
2233 行增加
和
41 行删除
+2233
-41
view-config.json
app_web/public/assets/json/view-config.json
+16
-0
wfprocess-node_BO_CN_base.ts
...nres/entities/wfprocess-node/wfprocess-node_BO_CN_base.ts
+8
-0
wfprocess-node_en_US_base.ts
...nres/entities/wfprocess-node/wfprocess-node_en_US_base.ts
+8
-0
wfprocess-node_zh_CN_base.ts
...nres/entities/wfprocess-node/wfprocess-node_zh_CN_base.ts
+8
-0
wfprocess-nodes.ts
app_web/src/mock/entity/wfprocess-nodes/wfprocess-nodes.ts
+44
-0
viewconfig.ts
app_web/src/mock/viewconfig/viewconfig.ts
+16
-0
page-register.ts
app_web/src/pages/workflow/wfindex-view/page-register.ts
+2
-2
router.ts
app_web/src/pages/workflow/wfindex-view/router.ts
+34
-34
wfprocess-node-porcess-node-pickup-view-base.vue
...kup-view/wfprocess-node-porcess-node-pickup-view-base.vue
+721
-0
wfprocess-node-porcess-node-pickup-view.less
...-pickup-view/wfprocess-node-porcess-node-pickup-view.less
+17
-0
wfprocess-node-porcess-node-pickup-view.vue
...e-pickup-view/wfprocess-node-porcess-node-pickup-view.vue
+22
-0
wfprocess-node-process-node-pickup-grid-view-base.vue
...iew/wfprocess-node-process-node-pickup-grid-view-base.vue
+787
-0
wfprocess-node-process-node-pickup-grid-view.less
...id-view/wfprocess-node-process-node-pickup-grid-view.less
+8
-0
wfprocess-node-process-node-pickup-grid-view.vue
...rid-view/wfprocess-node-process-node-pickup-grid-view.vue
+24
-0
wfprocess-node-service-base.ts
...src/service/wfprocess-node/wfprocess-node-service-base.ts
+29
-0
state.ts
app_web/src/store/modules/view-action/state.ts
+20
-1
wfprocess-node-ui-service-base.ts
...iservice/wfprocess-node/wfprocess-node-ui-service-base.ts
+2
-0
jump-form-base.vue
...c/widgets/wfprocess-instance/jump-form/jump-form-base.vue
+1
-1
porcess-node-pickup-viewpickupviewpanel-pickupviewpanel-base.vue
...-node-pickup-viewpickupviewpanel-pickupviewpanel-base.vue
+362
-0
porcess-node-pickup-viewpickupviewpanel-pickupviewpanel-model.ts
...-node-pickup-viewpickupviewpanel-pickupviewpanel-model.ts
+43
-0
porcess-node-pickup-viewpickupviewpanel-pickupviewpanel-service.ts
...ode-pickup-viewpickupviewpanel-pickupviewpanel-service.ts
+11
-0
porcess-node-pickup-viewpickupviewpanel-pickupviewpanel.less
...cess-node-pickup-viewpickupviewpanel-pickupviewpanel.less
+4
-0
porcess-node-pickup-viewpickupviewpanel-pickupviewpanel.vue
...rcess-node-pickup-viewpickupviewpanel-pickupviewpanel.vue
+14
-0
default-searchform-base.vue
...ets/wfuser/default-searchform/default-searchform-base.vue
+2
-2
IWFProcessNodeService.java
.../ibizlab/core/workflow/service/IWFProcessNodeService.java
+1
-0
WFProcessNodeServiceImpl.java
.../core/workflow/service/impl/WFProcessNodeServiceImpl.java
+8
-0
systemResource.json
ibzwf-core/src/main/resources/permission/systemResource.json
+1
-1
WFProcessNodeResource.java
.../main/java/cn/ibizlab/api/rest/WFProcessNodeResource.java
+20
-0
未找到文件。
app_web/public/assets/json/view-config.json
浏览文件 @
014d04a7
...
...
@@ -31,6 +31,14 @@
"viewname"
:
"WFGroupPickupGridView"
,
"viewtag"
:
"17ccd6d8d2bb7cf30158253da129ec1b"
},
"wfprocessnodeprocessnodepickupgridview"
:
{
"title"
:
"流程定义节点选择表格视图"
,
"caption"
:
"流程定义节点"
,
"viewtype"
:
"DEPICKUPGRIDVIEW"
,
"viewmodule"
:
"workflow"
,
"viewname"
:
"WFProcessNodeProcessNodePickupGridView"
,
"viewtag"
:
"1f9254bad5514e07a0fe9195d42daefa"
},
"wfprocessdefinitioneditview"
:
{
"title"
:
"流程定义查看"
,
"caption"
:
"流程定义查看"
,
...
...
@@ -87,6 +95,14 @@
"viewname"
:
"WFUserMPickupView"
,
"viewtag"
:
"84e5a5b589b434dfdc60a3d0ad087d37"
},
"wfprocessnodeporcessnodepickupview"
:
{
"title"
:
"流程定义节点数据选择视图"
,
"caption"
:
"流程定义节点"
,
"viewtype"
:
"DEPICKUPVIEW"
,
"viewmodule"
:
"workflow"
,
"viewname"
:
"WFProcessNodePorcessNodePickupView"
,
"viewtag"
:
"8668e70613999260896dd9f3bde96204"
},
"wfgroupmpickupview"
:
{
"title"
:
"角色/用户组数据多项选择视图"
,
"caption"
:
"角色/用户组"
,
...
...
app_web/src/locale/lanres/entities/wfprocess-node/wfprocess-node_BO_CN_base.ts
浏览文件 @
014d04a7
...
...
@@ -12,10 +12,18 @@ function getLocaleResourceBase(){
processdefinitionid
:
commonLogic
.
appcommonhandle
(
"DefinitionId"
,
null
),
},
views
:
{
processnodepickupgridview
:
{
caption
:
commonLogic
.
appcommonhandle
(
"流程定义节点"
,
null
),
title
:
commonLogic
.
appcommonhandle
(
"流程定义节点选择表格视图"
,
null
),
},
pickupview
:
{
caption
:
commonLogic
.
appcommonhandle
(
"流程定义节点"
,
null
),
title
:
commonLogic
.
appcommonhandle
(
"流程定义节点数据选择视图"
,
null
),
},
porcessnodepickupview
:
{
caption
:
commonLogic
.
appcommonhandle
(
"流程定义节点"
,
null
),
title
:
commonLogic
.
appcommonhandle
(
"流程定义节点数据选择视图"
,
null
),
},
pickupgridview
:
{
caption
:
commonLogic
.
appcommonhandle
(
"流程定义节点"
,
null
),
title
:
commonLogic
.
appcommonhandle
(
"流程定义节点选择表格视图"
,
null
),
...
...
app_web/src/locale/lanres/entities/wfprocess-node/wfprocess-node_en_US_base.ts
浏览文件 @
014d04a7
...
...
@@ -12,10 +12,18 @@ function getLocaleResourceBase(){
processdefinitionid
:
commonLogic
.
appcommonhandle
(
"DefinitionId"
,
null
),
},
views
:
{
processnodepickupgridview
:
{
caption
:
commonLogic
.
appcommonhandle
(
"流程定义节点"
,
null
),
title
:
commonLogic
.
appcommonhandle
(
"流程定义节点选择表格视图"
,
null
),
},
pickupview
:
{
caption
:
commonLogic
.
appcommonhandle
(
"流程定义节点"
,
null
),
title
:
commonLogic
.
appcommonhandle
(
"流程定义节点数据选择视图"
,
null
),
},
porcessnodepickupview
:
{
caption
:
commonLogic
.
appcommonhandle
(
"流程定义节点"
,
null
),
title
:
commonLogic
.
appcommonhandle
(
"流程定义节点数据选择视图"
,
null
),
},
pickupgridview
:
{
caption
:
commonLogic
.
appcommonhandle
(
"流程定义节点"
,
null
),
title
:
commonLogic
.
appcommonhandle
(
"流程定义节点选择表格视图"
,
null
),
...
...
app_web/src/locale/lanres/entities/wfprocess-node/wfprocess-node_zh_CN_base.ts
浏览文件 @
014d04a7
...
...
@@ -12,10 +12,18 @@ function getLocaleResourceBase(){
processdefinitionid
:
commonLogic
.
appcommonhandle
(
"DefinitionId"
,
null
),
},
views
:
{
processnodepickupgridview
:
{
caption
:
commonLogic
.
appcommonhandle
(
"流程定义节点"
,
null
),
title
:
commonLogic
.
appcommonhandle
(
"流程定义节点选择表格视图"
,
null
),
},
pickupview
:
{
caption
:
commonLogic
.
appcommonhandle
(
"流程定义节点"
,
null
),
title
:
commonLogic
.
appcommonhandle
(
"流程定义节点数据选择视图"
,
null
),
},
porcessnodepickupview
:
{
caption
:
commonLogic
.
appcommonhandle
(
"流程定义节点"
,
null
),
title
:
commonLogic
.
appcommonhandle
(
"流程定义节点数据选择视图"
,
null
),
},
pickupgridview
:
{
caption
:
commonLogic
.
appcommonhandle
(
"流程定义节点"
,
null
),
title
:
commonLogic
.
appcommonhandle
(
"流程定义节点选择表格视图"
,
null
),
...
...
app_web/src/mock/entity/wfprocess-nodes/wfprocess-nodes.ts
浏览文件 @
014d04a7
...
...
@@ -286,6 +286,50 @@ mock.onGet(new RegExp(/^\/wfprocessnodes\/fetchdefault(\?[\w-./?%&=,]*)*$/)).rep
console
.
groupEnd
();
return
[
status
,
records
?
records
:
[]];
});
// FetchProcessNode
mock
.
onGet
(
new
RegExp
(
/^
\/
wfprocessnodes
\/
fetchprocessnode$/
)).
reply
((
config
:
any
)
=>
{
console
.
groupCollapsed
(
"实体:wfprocessnode 方法: FetchProcessNode"
);
console
.
table
({
url
:
config
.
url
,
method
:
config
.
method
,
data
:
config
.
data
});
let
status
=
MockAdapter
.
mockStatus
(
config
);
if
(
status
!==
200
)
{
return
[
status
,
null
];
}
console
.
groupCollapsed
(
"response数据 status: "
+
status
+
" data: "
);
console
.
table
(
mockDatas
);
console
.
groupEnd
();
console
.
groupEnd
();
return
[
status
,
mockDatas
?
mockDatas
:
[]];
});
// FetchProcessNode
mock
.
onGet
(
new
RegExp
(
/^
\/
wfprocessnodes
\/
fetchprocessnode
(\?[\w
-.
/
?%&=,
]
*
)
*$/
)).
reply
((
config
:
any
)
=>
{
console
.
groupCollapsed
(
"实体:wfprocessnode 方法: FetchProcessNode"
);
console
.
table
({
url
:
config
.
url
,
method
:
config
.
method
,
data
:
config
.
data
});
if
(
config
.
url
.
includes
(
'page'
)){
let
url
=
config
.
url
.
split
(
'?'
)[
1
];
let
params
=
qs
.
parse
(
url
);
Object
.
assign
(
config
,
params
);
}
let
status
=
MockAdapter
.
mockStatus
(
config
);
if
(
status
!==
200
)
{
return
[
status
,
null
];
}
let
total
=
mockDatas
.
length
;
let
records
:
Array
<
any
>
=
[];
if
(
!
config
.
page
||
!
config
.
size
){
records
=
mockDatas
;
}
else
{
if
((
config
.
page
-
1
)
*
config
.
size
<
total
){
records
=
mockDatas
.
slice
(
config
.
page
,
config
.
size
);
}
}
console
.
groupCollapsed
(
"response数据 status: "
+
status
+
" data: "
);
console
.
table
(
records
?
records
:
[]);
console
.
groupEnd
();
console
.
groupEnd
();
return
[
status
,
records
?
records
:
[]];
});
// URI参数传递情况未实现
// URI参数传递情况未实现
// URI参数传递情况未实现
...
...
app_web/src/mock/viewconfig/viewconfig.ts
浏览文件 @
014d04a7
...
...
@@ -39,6 +39,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname"
:
"WFGroupPickupGridView"
,
"viewtag"
:
"17ccd6d8d2bb7cf30158253da129ec1b"
},
"wfprocessnodeprocessnodepickupgridview"
:
{
"title"
:
"流程定义节点选择表格视图"
,
"caption"
:
"流程定义节点"
,
"viewtype"
:
"DEPICKUPGRIDVIEW"
,
"viewmodule"
:
"workflow"
,
"viewname"
:
"WFProcessNodeProcessNodePickupGridView"
,
"viewtag"
:
"1f9254bad5514e07a0fe9195d42daefa"
},
"wfprocessdefinitioneditview"
:
{
"title"
:
"流程定义查看"
,
"caption"
:
"流程定义查看"
,
...
...
@@ -95,6 +103,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname"
:
"WFUserMPickupView"
,
"viewtag"
:
"84e5a5b589b434dfdc60a3d0ad087d37"
},
"wfprocessnodeporcessnodepickupview"
:
{
"title"
:
"流程定义节点数据选择视图"
,
"caption"
:
"流程定义节点"
,
"viewtype"
:
"DEPICKUPVIEW"
,
"viewmodule"
:
"workflow"
,
"viewname"
:
"WFProcessNodePorcessNodePickupView"
,
"viewtag"
:
"8668e70613999260896dd9f3bde96204"
},
"wfgroupmpickupview"
:
{
"title"
:
"角色/用户组数据多项选择视图"
,
"caption"
:
"角色/用户组"
,
...
...
app_web/src/pages/workflow/wfindex-view/page-register.ts
浏览文件 @
014d04a7
...
...
@@ -10,11 +10,11 @@ export const PageComponents = {
Vue
.
component
(
'wftask-edit-view'
,
()
=>
import
(
'@pages/workflow/wftask-edit-view/wftask-edit-view.vue'
));
Vue
.
component
(
'wfprocess-instance-active-instance-option-view'
,
()
=>
import
(
'@pages/workflow/wfprocess-instance-active-instance-option-view/wfprocess-instance-active-instance-option-view.vue'
));
Vue
.
component
(
'wfmember-grid-view'
,
()
=>
import
(
'@pages/workflow/wfmember-grid-view/wfmember-grid-view.vue'
));
Vue
.
component
(
'wfprocess-node-p
ickup-view'
,
()
=>
import
(
'@pages/workflow/wfprocess-node-pickup-view/wfpro
cess-node-pickup-view.vue'
));
Vue
.
component
(
'wfprocess-node-p
orcess-node-pickup-view'
,
()
=>
import
(
'@pages/workflow/wfprocess-node-porcess-node-pickup-view/wfprocess-node-por
cess-node-pickup-view.vue'
));
Vue
.
component
(
'wfuser-mpickup-view'
,
()
=>
import
(
'@pages/workflow/wfuser-mpickup-view/wfuser-mpickup-view.vue'
));
Vue
.
component
(
'wfmember-edit-view'
,
()
=>
import
(
'@pages/workflow/wfmember-edit-view/wfmember-edit-view.vue'
));
Vue
.
component
(
'wfgroup-mpickup-view'
,
()
=>
import
(
'@pages/workflow/wfgroup-mpickup-view/wfgroup-mpickup-view.vue'
));
Vue
.
component
(
'wfprocess-node-p
ickup-grid-view'
,
()
=>
import
(
'@pages/workflow/wfprocess-node-pickup-grid-view/wf
process-node-pickup-grid-view.vue'
));
Vue
.
component
(
'wfprocess-node-p
rocess-node-pickup-grid-view'
,
()
=>
import
(
'@pages/workflow/wfprocess-node-process-node-pickup-grid-view/wfprocess-node-
process-node-pickup-grid-view.vue'
));
Vue
.
component
(
'wfuser-pickup-grid-view'
,
()
=>
import
(
'@pages/workflow/wfuser-pickup-grid-view/wfuser-pickup-grid-view.vue'
));
Vue
.
component
(
'wfuser-pickup-view'
,
()
=>
import
(
'@pages/workflow/wfuser-pickup-view/wfuser-pickup-view.vue'
));
Vue
.
component
(
'wfgroup-pickup-view'
,
()
=>
import
(
'@pages/workflow/wfgroup-pickup-view/wfgroup-pickup-view.vue'
));
...
...
app_web/src/pages/workflow/wfindex-view/router.ts
浏览文件 @
014d04a7
...
...
@@ -206,18 +206,18 @@ const router = new Router({
component
:
()
=>
import
(
'@pages/workflow/wfmember-grid-view/wfmember-grid-view.vue'
),
},
{
path
:
'wfprocessnodes/:wfprocessnode?/p
ickupview/:
pickupview?'
,
path
:
'wfprocessnodes/:wfprocessnode?/p
orcessnodepickupview/:porcessnode
pickupview?'
,
meta
:
{
caption
:
'entities.wfprocessnode.views.pickupview.caption'
,
caption
:
'entities.wfprocessnode.views.p
orcessnodep
ickupview.caption'
,
info
:
''
,
parameters
:
[
{
pathName
:
'wfindexview'
,
parameterName
:
'wfindexview'
},
{
pathName
:
'wfprocessnodes'
,
parameterName
:
'wfprocessnode'
},
{
pathName
:
'p
ickupview'
,
parameterName
:
'
pickupview'
},
{
pathName
:
'p
orcessnodepickupview'
,
parameterName
:
'porcessnode
pickupview'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/workflow/wfprocess-node-p
ickup-view/wfpro
cess-node-pickup-view.vue'
),
component
:
()
=>
import
(
'@pages/workflow/wfprocess-node-p
orcess-node-pickup-view/wfprocess-node-por
cess-node-pickup-view.vue'
),
},
{
path
:
'wfusers/:wfuser?/mpickupview/:mpickupview?'
,
...
...
@@ -292,18 +292,18 @@ const router = new Router({
component
:
()
=>
import
(
'@pages/workflow/wfgroup-mpickup-view/wfgroup-mpickup-view.vue'
),
},
{
path
:
'wfprocessnodes/:wfprocessnode?/p
ickupgridview/:
pickupgridview?'
,
path
:
'wfprocessnodes/:wfprocessnode?/p
rocessnodepickupgridview/:processnode
pickupgridview?'
,
meta
:
{
caption
:
'entities.wfprocessnode.views.pickupgridview.caption'
,
caption
:
'entities.wfprocessnode.views.p
rocessnodep
ickupgridview.caption'
,
info
:
''
,
parameters
:
[
{
pathName
:
'wfindexview'
,
parameterName
:
'wfindexview'
},
{
pathName
:
'wfprocessnodes'
,
parameterName
:
'wfprocessnode'
},
{
pathName
:
'p
ickupgridview'
,
parameterName
:
'
pickupgridview'
},
{
pathName
:
'p
rocessnodepickupgridview'
,
parameterName
:
'processnode
pickupgridview'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/workflow/wfprocess-node-p
ickup-grid-view/wf
process-node-pickup-grid-view.vue'
),
component
:
()
=>
import
(
'@pages/workflow/wfprocess-node-p
rocess-node-pickup-grid-view/wfprocess-node-
process-node-pickup-grid-view.vue'
),
},
{
path
:
'wfusers/:wfuser?/pickupgridview/:pickupgridview?'
,
...
...
@@ -431,6 +431,19 @@ const router = new Router({
},
component
:
()
=>
import
(
'@pages/workflow/wfgroup-pickup-grid-view/wfgroup-pickup-grid-view.vue'
),
},
{
path
:
'/wfprocessnodes/:wfprocessnode?/processnodepickupgridview/:processnodepickupgridview?'
,
meta
:
{
caption
:
'entities.wfprocessnode.views.processnodepickupgridview.caption'
,
info
:
''
,
parameters
:
[
{
pathName
:
'wfprocessnodes'
,
parameterName
:
'wfprocessnode'
},
{
pathName
:
'processnodepickupgridview'
,
parameterName
:
'processnodepickupgridview'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/workflow/wfprocess-node-process-node-pickup-grid-view/wfprocess-node-process-node-pickup-grid-view.vue'
),
},
{
path
:
'/wfprocessdefinitions/:wfprocessdefinition?/editview/:editview?'
,
meta
:
{
...
...
@@ -457,19 +470,6 @@ const router = new Router({
},
component
:
()
=>
import
(
'@pages/workflow/wfremodel-edit-view/wfremodel-edit-view.vue'
),
},
{
path
:
'/wfprocessnodes/:wfprocessnode?/pickupview/:pickupview?'
,
meta
:
{
caption
:
'entities.wfprocessnode.views.pickupview.caption'
,
info
:
''
,
parameters
:
[
{
pathName
:
'wfprocessnodes'
,
parameterName
:
'wfprocessnode'
},
{
pathName
:
'pickupview'
,
parameterName
:
'pickupview'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/workflow/wfprocess-node-pickup-view/wfprocess-node-pickup-view.vue'
),
},
{
path
:
'/wfusers/:wfuser?/pickupview/:pickupview?'
,
meta
:
{
...
...
@@ -550,6 +550,19 @@ const router = new Router({
},
component
:
()
=>
import
(
'@pages/workflow/wfuser-mpickup-view/wfuser-mpickup-view.vue'
),
},
{
path
:
'/wfprocessnodes/:wfprocessnode?/porcessnodepickupview/:porcessnodepickupview?'
,
meta
:
{
caption
:
'entities.wfprocessnode.views.porcessnodepickupview.caption'
,
info
:
''
,
parameters
:
[
{
pathName
:
'wfprocessnodes'
,
parameterName
:
'wfprocessnode'
},
{
pathName
:
'porcessnodepickupview'
,
parameterName
:
'porcessnodepickupview'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/workflow/wfprocess-node-porcess-node-pickup-view/wfprocess-node-porcess-node-pickup-view.vue'
),
},
{
path
:
'/wfgroups/:wfgroup?/mpickupview/:mpickupview?'
,
meta
:
{
...
...
@@ -615,19 +628,6 @@ const router = new Router({
},
component
:
()
=>
import
(
'@pages/workflow/wfuser-pickup-grid-view/wfuser-pickup-grid-view.vue'
),
},
{
path
:
'/wfprocessnodes/:wfprocessnode?/pickupgridview/:pickupgridview?'
,
meta
:
{
caption
:
'entities.wfprocessnode.views.pickupgridview.caption'
,
info
:
''
,
parameters
:
[
{
pathName
:
'wfprocessnodes'
,
parameterName
:
'wfprocessnode'
},
{
pathName
:
'pickupgridview'
,
parameterName
:
'pickupgridview'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/workflow/wfprocess-node-pickup-grid-view/wfprocess-node-pickup-grid-view.vue'
),
},
{
path
:
'/wftasks/:wftask?/editview/:editview?'
,
meta
:
{
...
...
app_web/src/pages/workflow/wfprocess-node-porcess-node-pickup-view/wfprocess-node-porcess-node-pickup-view-base.vue
0 → 100644
浏览文件 @
014d04a7
<
template
>
<div
class=
"view-container depickupview wfprocess-node-porcess-node-pickup-view"
>
<app-studioaction
:viewTitle=
"$t(model.srfCaption)"
viewName=
"wfprocessnodeporcessnodepickupview"
></app-studioaction>
<card
class=
'view-card view-no-caption view-no-toolbar'
:dis-hover=
"true"
:padding=
"0"
:bordered=
"false"
>
<div
class=
'view-top-messages'
>
</div>
<div
class=
"content-container pickup-view"
>
<div
class=
'view-body-messages'
>
</div>
<view
_pickupviewpanel
:viewState=
"viewState"
:viewparams=
"JSON.parse(JSON.stringify(viewparams))"
:context=
"JSON.parse(JSON.stringify(context))"
:isSingleSelect=
"isSingleSelect"
:selectedData=
"selectedData"
:isShowButton=
"isShowButton"
name=
"pickupviewpanel"
ref=
'pickupviewpanel'
@
selectionchange=
"pickupviewpanel_selectionchange($event)"
@
load=
"pickupviewpanel_load($event)"
@
activated=
"pickupviewpanel_activated($event)"
@
closeview=
"closeView($event)"
>
</view
_pickupviewpanel
>
<card
v-if=
"isShowButton"
:dis-hover=
"true"
:bordered=
"false"
class=
"footer"
>
<row
:style=
"
{ textAlign: 'right' }">
<i-button
type=
"primary"
:disabled=
"this.viewSelections.length > 0 ? false : true"
@
click=
"onClickOk"
>
{{
this
.
containerModel
.
view_okbtn
.
text
}}
</i-button>
<i-button
@
click=
"onClickCancel"
>
{{
this
.
containerModel
.
view_cancelbtn
.
text
}}
</i-button>
</row>
</card>
</div>
<div
class=
'view-bottom-messages'
>
</div>
</card>
</div>
</
template
>
<
script
lang=
'tsx'
>
import
{
Vue
,
Component
,
Prop
,
Provide
,
Emit
,
Watch
,
Inject
}
from
'vue-property-decorator'
;
import
{
UIActionTool
,
Util
}
from
'@/utils'
;
import
NavDataService
from
'@/service/app/navdata-service'
;
import
{
Subject
,
Subscription
}
from
'rxjs'
;
import
WFProcessNodeService
from
'@/service/wfprocess-node/wfprocess-node-service'
;
import
WFProcessNodeAuthService
from
'@/authservice/wfprocess-node/wfprocess-node-auth-service'
;
import
PickupViewEngine
from
'@engine/view/pickup-view-engine'
;
import
WFProcessNodeUIService
from
'@/uiservice/wfprocess-node/wfprocess-node-ui-service'
;
@
Component
({
components
:
{
},
})
export
default
class
WFProcessNodePorcessNodePickupViewBase
extends
Vue
{
/**
* 实体服务对象
*
* @type {WFProcessNodeService}
* @memberof WFProcessNodePorcessNodePickupViewBase
*/
public
appEntityService
:
WFProcessNodeService
=
new
WFProcessNodeService
;
/**
* 实体UI服务对象
*
* @type WFProcessNodeUIService
* @memberof WFProcessNodePorcessNodePickupViewBase
*/
public
appUIService
:
WFProcessNodeUIService
=
new
WFProcessNodeUIService
(
this
.
$store
);
/**
* 数据变化
*
* @param {*} val
* @returns {*}
* @memberof WFProcessNodePorcessNodePickupViewBase
*/
@
Emit
()
public
viewDatasChange
(
val
:
any
):
any
{
return
val
;
}
/**
* 传入视图上下文
*
* @type {string}
* @memberof WFProcessNodePorcessNodePickupViewBase
*/
@
Prop
()
public
viewdata
!
:
string
;
/**
* 传入视图参数
*
* @type {string}
* @memberof WFProcessNodePorcessNodePickupViewBase
*/
@
Prop
()
public
viewparam
!
:
string
;
/**
* 视图默认使用
*
* @type {boolean}
* @memberof WFProcessNodePorcessNodePickupViewBase
*/
@
Prop
({
default
:
true
})
public
viewDefaultUsage
!
:
boolean
;
/**
* 视图默认使用
*
* @type {string}
* @memberof WFProcessNodePorcessNodePickupViewBase
*/
@
Inject
({
from
:
'navModel'
,
default
:
'tab'
})
public
navModel
!
:
string
;
/**
* 视图标识
*
* @type {string}
* @memberof WFProcessNodePorcessNodePickupViewBase
*/
public
viewtag
:
string
=
'8668e70613999260896dd9f3bde96204'
;
/**
* 自定义视图导航上下文集合
*
* @type {*}
* @memberof WFProcessNodePorcessNodePickupViewBase
*/
public
customViewNavContexts
:
any
=
{
};
/**
* 自定义视图导航参数集合
*
* @type {*}
* @memberof WFProcessNodePorcessNodePickupViewBase
*/
public
customViewParams
:
any
=
{
};
/**
* 视图模型数据
*
* @type {*}
* @memberof WFProcessNodePorcessNodePickupViewBase
*/
public
model
:
any
=
{
srfCaption
:
'entities.wfprocessnode.views.porcessnodepickupview.caption'
,
srfTitle
:
'entities.wfprocessnode.views.porcessnodepickupview.title'
,
srfSubTitle
:
'entities.wfprocessnode.views.porcessnodepickupview.subtitle'
,
dataInfo
:
''
}
/**
* 视图参数变化
*
* @param {*} newVal
* @param {*} oldVal
* @memberof WFProcessNodePorcessNodePickupViewBase
*/
@
Watch
(
'viewparam'
,{
immediate
:
true
,
deep
:
true
})
onParamData
(
newVal
:
any
,
oldVal
:
any
)
{
if
(
newVal
){
this
.
viewparams
=
{};
if
(
typeof
newVal
==
'string'
)
{
Object
.
assign
(
this
.
viewparams
,
JSON
.
parse
(
this
.
viewparam
));
}
else
{
this
.
viewparams
=
Util
.
deepCopy
(
this
.
viewparam
);
}
if
(
this
.
viewparams
.
selectedData
){
this
.
selectedData
=
JSON
.
stringify
(
this
.
viewparams
.
selectedData
);
}
}
}
/**
* 处理应用上下文变化
*
* @param {*} newVal
* @param {*} oldVal
* @memberof WFProcessNodePorcessNodePickupViewBase
*/
@
Watch
(
'viewdata'
)
onViewData
(
newVal
:
any
,
oldVal
:
any
)
{
const
_this
:
any
=
this
;
if
(
!
Object
.
is
(
newVal
,
oldVal
)
&&
_this
.
engine
)
{
this
.
$nextTick
(()
=>
{
_this
.
parseViewParam
();
_this
.
engine
.
load
();
});
}
else
if
(
!
Object
.
is
(
newVal
,
oldVal
)
&&
_this
.
refresh
&&
_this
.
refresh
instanceof
Function
)
{
_this
.
refresh
();
}
}
/**
* 容器模型
*
* @type {*}
* @memberof WFProcessNodePorcessNodePickupViewBase
*/
public
containerModel
:
any
=
{
view_pickupviewpanel
:
{
name
:
'pickupviewpanel'
,
type
:
'PICKUPVIEWPANEL'
},
view_okbtn
:
{
name
:
'okbtn'
,
type
:
'button'
,
text
:
'确定'
,
disabled
:
true
},
view_cancelbtn
:
{
name
:
'cancelbtn'
,
type
:
'button'
,
text
:
'取消'
,
disabled
:
false
},
view_leftbtn
:
{
name
:
'leftbtn'
,
type
:
'button'
,
text
:
'左移'
,
disabled
:
true
},
view_rightbtn
:
{
name
:
'rightbtn'
,
type
:
'button'
,
text
:
'右移'
,
disabled
:
true
},
view_allleftbtn
:
{
name
:
'allleftbtn'
,
type
:
'button'
,
text
:
'全部左移'
,
disabled
:
true
},
view_allrightbtn
:
{
name
:
'allrightbtn'
,
type
:
'button'
,
text
:
'全部右移'
,
disabled
:
true
},
};
/**
* 计数器刷新
*
* @memberof WFProcessNodePorcessNodePickupViewBase
*/
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
();
}
})
}
}
/**
* 视图状态订阅对象
*
* @public
* @type {Subject<{action: string, data: any}>}
* @memberof WFProcessNodePorcessNodePickupViewBase
*/
public
viewState
:
Subject
<
ViewState
>
=
new
Subject
();
/**
* 视图引擎
*
* @public
* @type {Engine}
* @memberof WFProcessNodePorcessNodePickupViewBase
*/
public
engine
:
PickupViewEngine
=
new
PickupViewEngine
();
/**
* 引擎初始化
*
* @public
* @memberof WFProcessNodePorcessNodePickupViewBase
*/
public
engineInit
():
void
{
this
.
engine
.
init
({
view
:
this
,
pickupviewpanel
:
this
.
$refs
.
pickupviewpanel
,
keyPSDEField
:
'wfprocessnode'
,
majorPSDEField
:
'usertaskname'
,
isLoadDefault
:
true
,
});
}
/**
* 应用导航服务
*
* @type {*}
* @memberof WFProcessNodePorcessNodePickupViewBase
*/
public
navDataService
=
NavDataService
.
getInstance
(
this
.
$store
);
/**
* 导航服务事件
*
* @public
* @type {(Subscription | undefined)}
* @memberof WFProcessNodePorcessNodePickupViewBase
*/
public
serviceStateEvent
:
Subscription
|
undefined
;
/**
* 门户部件状态对象
*
* @type {*}
* @memberof WFProcessNodePorcessNodePickupViewBase
*/
@
Prop
()
public
portletState
?:
any
;
/**
* 门户部件状态事件
*
* @public
* @type {(Subscription | undefined)}
* @memberof WFProcessNodePorcessNodePickupViewBase
*/
public
portletStateEvent
:
Subscription
|
undefined
;
/**
* 应用上下文
*
* @type {*}
* @memberof WFProcessNodePorcessNodePickupViewBase
*/
public
context
:
any
=
{};
/**
* 视图参数
*
* @type {*}
* @memberof WFProcessNodePorcessNodePickupViewBase
*/
public
viewparams
:
any
=
{};
/**
* 视图缓存数据
*
* @type {*}
* @memberof WFProcessNodePorcessNodePickupViewBase
*/
public
viewCacheData
:
any
;
/**
* 计数器服务对象集合
*
* @type {Array<*>}
* @memberof WFProcessNodePorcessNodePickupViewBase
*/
public
counterServiceArray
:
Array
<
any
>
=
[];
/**
* 解析视图参数
*
* @public
* @memberof WFProcessNodePorcessNodePickupViewBase
*/
public
parseViewParam
(
inputvalue
:
any
=
null
):
void
{
for
(
let
key
in
this
.
context
){
delete
this
.
context
[
key
];
}
if
(
this
.
$store
.
getters
.
getAppData
()
&&
this
.
$store
.
getters
.
getAppData
().
context
){
Object
.
assign
(
this
.
context
,
this
.
$store
.
getters
.
getAppData
().
context
);
}
if
(
!
this
.
viewDefaultUsage
&&
this
.
viewdata
&&
!
Object
.
is
(
this
.
viewdata
,
''
))
{
if
(
typeof
this
.
viewdata
==
'string'
)
{
Object
.
assign
(
this
.
context
,
JSON
.
parse
(
this
.
viewdata
));
}
if
(
this
.
context
&&
this
.
context
.
srfparentdename
){
Object
.
assign
(
this
.
viewparams
,{
srfparentdename
:
this
.
context
.
srfparentdename
});
}
if
(
this
.
context
&&
this
.
context
.
srfparentkey
){
Object
.
assign
(
this
.
viewparams
,{
srfparentkey
:
this
.
context
.
srfparentkey
});
}
this
.
handleCustomViewData
();
return
;
}
const
path
=
(
this
.
$route
.
matched
[
this
.
$route
.
matched
.
length
-
1
]).
path
;
const
keys
:
Array
<
any
>
=
[];
const
curReg
=
this
.
$pathToRegExp
.
pathToRegexp
(
path
,
keys
);
const
matchArray
=
curReg
.
exec
(
this
.
$route
.
path
);
let
tempValue
:
Object
=
{};
keys
.
forEach
((
item
:
any
,
index
:
number
)
=>
{
Object
.
defineProperty
(
tempValue
,
item
.
name
,
{
enumerable
:
true
,
value
:
matchArray
[
index
+
1
]
});
});
this
.
$viewTool
.
formatRouteParams
(
tempValue
,
this
.
$route
,
this
.
context
,
this
.
viewparams
);
if
(
inputvalue
){
Object
.
assign
(
this
.
context
,{
'wfprocessnode'
:
inputvalue
});
}
//初始化视图唯一标识
Object
.
assign
(
this
.
context
,{
srfsessionid
:
this
.
$util
.
createUUID
()});
this
.
handleCustomViewData
();
//初始化导航数据
this
.
initNavDataWithRoute
();
}
/**
* 处理自定义视图数据
*
* @memberof WFProcessNodePorcessNodePickupViewBase
*/
public
handleCustomViewData
(){
if
(
Object
.
keys
(
this
.
customViewNavContexts
).
length
>
0
){
Object
.
keys
(
this
.
customViewNavContexts
).
forEach
((
item
:
any
)
=>
{
let
tempContext
:
any
=
{};
let
curNavContext
:
any
=
this
.
customViewNavContexts
[
item
];
this
.
handleCustomDataLogic
(
curNavContext
,
tempContext
,
item
);
Object
.
assign
(
this
.
context
,
tempContext
);
})
}
if
(
Object
.
keys
(
this
.
customViewParams
).
length
>
0
){
Object
.
keys
(
this
.
customViewParams
).
forEach
((
item
:
any
)
=>
{
let
tempParam
:
any
=
{};
let
curNavParam
:
any
=
this
.
customViewParams
[
item
];
this
.
handleCustomDataLogic
(
curNavParam
,
tempParam
,
item
);
Object
.
assign
(
this
.
viewparams
,
tempParam
);
})
}
}
/**
* 处理自定义视图数据逻辑
*
* @memberof WFProcessNodePorcessNodePickupViewBase
*/
public
handleCustomDataLogic
(
curNavData
:
any
,
tempData
:
any
,
item
:
string
){
// 直接值直接赋值
if
(
curNavData
.
isRawValue
){
if
(
Object
.
is
(
curNavData
.
value
,
"null"
)
||
Object
.
is
(
curNavData
.
value
,
""
)){
Object
.
defineProperty
(
tempData
,
item
.
toLowerCase
(),
{
value
:
null
,
writable
:
true
,
enumerable
:
true
,
configurable
:
true
});
}
else
{
Object
.
defineProperty
(
tempData
,
item
.
toLowerCase
(),
{
value
:
curNavData
.
value
,
writable
:
true
,
enumerable
:
true
,
configurable
:
true
});
}
}
else
{
// 先从导航上下文取数,没有再从导航参数(URL)取数,如果导航上下文和导航参数都没有则为null
if
(
this
.
context
[(
curNavData
.
value
).
toLowerCase
()]
!=
null
){
Object
.
defineProperty
(
tempData
,
item
.
toLowerCase
(),
{
value
:
this
.
context
[(
curNavData
.
value
).
toLowerCase
()],
writable
:
true
,
enumerable
:
true
,
configurable
:
true
});
}
else
{
if
(
this
.
viewparams
[(
curNavData
.
value
).
toLowerCase
()]
!=
null
){
Object
.
defineProperty
(
tempData
,
item
.
toLowerCase
(),
{
value
:
this
.
viewparams
[(
curNavData
.
value
).
toLowerCase
()],
writable
:
true
,
enumerable
:
true
,
configurable
:
true
});
}
else
{
Object
.
defineProperty
(
tempData
,
item
.
toLowerCase
(),
{
value
:
null
,
writable
:
true
,
enumerable
:
true
,
configurable
:
true
});
}
}
}
}
/**
* 初始化导航数据(路由模式)
*
* @memberof WFProcessNodePorcessNodePickupViewBase
*/
public
initNavDataWithRoute
(
data
:
any
=
null
,
isNew
:
boolean
=
false
,
isAlways
:
boolean
=
false
){
if
(
isAlways
||
(
this
.
viewDefaultUsage
&&
Object
.
is
(
this
.
navModel
,
"route"
))
){
this
.
navDataService
.
addNavData
({
id
:
'wfprocess-node-porcess-node-pickup-view'
,
tag
:
this
.
viewtag
,
srfkey
:
isNew
?
null
:
this
.
context
.
wfprocessnode
,
title
:
this
.
$t
(
this
.
model
.
srfCaption
),
data
:
data
,
context
:
this
.
context
,
viewparams
:
this
.
viewparams
,
path
:
this
.
$route
.
fullPath
});
}
}
/**
* 初始化导航数据(分页模式)
*
* @memberof WFProcessNodePorcessNodePickupViewBase
*/
public
initNavDataWithTab
(
data
:
any
=
null
,
isOnlyAdd
:
boolean
=
true
,
isAlways
:
boolean
=
false
){
if
(
isAlways
||
(
this
.
viewDefaultUsage
&&
!
Object
.
is
(
this
.
navModel
,
"route"
))
){
this
.
navDataService
.
addNavDataByOnly
({
id
:
'wfprocess-node-porcess-node-pickup-view'
,
tag
:
this
.
viewtag
,
srfkey
:
this
.
context
.
wfprocessnode
,
title
:
this
.
$t
(
this
.
model
.
srfCaption
),
data
:
data
,
context
:
this
.
context
,
viewparams
:
this
.
viewparams
,
path
:
this
.
$route
.
fullPath
},
isOnlyAdd
);
}
}
/**
* Vue声明周期
*
* @memberof WFProcessNodePorcessNodePickupViewBase
*/
public
created
()
{
this
.
afterCreated
();
}
/**
* 执行created后的逻辑
*
* @memberof WFProcessNodePorcessNodePickupViewBase
*/
public
afterCreated
(){
let
_this
:
any
=
this
;
const
secondtag
=
_this
.
$util
.
createUUID
();
_this
.
$store
.
commit
(
'viewaction/createdView'
,
{
viewtag
:
_this
.
viewtag
,
secondtag
:
secondtag
});
_this
.
viewtag
=
secondtag
;
_this
.
parseViewParam
();
_this
.
serviceStateEvent
=
_this
.
navDataService
.
serviceState
.
subscribe
(({
action
,
name
,
data
}:{
action
:
string
,
name
:
any
,
data
:
any
})
=>
{
if
(
!
Object
.
is
(
name
,
'wfprocess-node-porcess-node-pickup-view'
)){
return
;
}
if
(
Object
.
is
(
action
,
'viewrefresh'
))
{
_this
.
$nextTick
(()
=>
{
_this
.
parseViewParam
(
data
);
if
(
_this
.
engine
){
_this
.
engine
.
load
();
}
});
}
});
if
(
_this
.
portletState
){
_this
.
portletStateEvent
=
_this
.
portletState
.
subscribe
((
res
:
any
)
=>
{
if
(
!
Object
.
is
(
res
.
name
,
'WFProcessNodePorcessNodePickupView'
)){
return
;
}
if
(
Object
.
is
(
res
.
action
,
'refresh'
)
&&
_this
.
refresh
&&
_this
.
refresh
instanceof
Function
){
_this
.
refresh
();
}
})
}
}
/**
* 销毁之前
*
* @memberof WFProcessNodePorcessNodePickupViewBase
*/
public
beforeDestroy
()
{
this
.
$store
.
commit
(
'viewaction/removeView'
,
this
.
viewtag
);
}
/**
* Vue声明周期(组件初始化完毕)
*
* @memberof WFProcessNodePorcessNodePickupViewBase
*/
public
mounted
()
{
this
.
afterMounted
();
}
/**
* 执行mounted后的逻辑
*
* @memberof WFProcessNodePorcessNodePickupViewBase
*/
public
afterMounted
(){
const
_this
:
any
=
this
;
_this
.
engineInit
();
if
(
_this
.
loadModel
&&
_this
.
loadModel
instanceof
Function
)
{
_this
.
loadModel
();
}
if
(
this
.
viewparams
.
selectedData
){
this
.
engine
.
onCtrlEvent
(
'pickupviewpanel'
,
'selectionchange'
,
this
.
viewparams
.
selectedData
);
}
}
/**
* pickupviewpanel 部件 selectionchange 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof WFProcessNodePorcessNodePickupViewBase
*/
public
pickupviewpanel_selectionchange
(
$event
:
any
,
$event2
?:
any
)
{
this
.
engine
.
onCtrlEvent
(
'pickupviewpanel'
,
'selectionchange'
,
$event
);
}
/**
* pickupviewpanel 部件 load 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof WFProcessNodePorcessNodePickupViewBase
*/
public
pickupviewpanel_load
(
$event
:
any
,
$event2
?:
any
)
{
this
.
engine
.
onCtrlEvent
(
'pickupviewpanel'
,
'load'
,
$event
);
}
/**
* pickupviewpanel 部件 activated 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof WFProcessNodePorcessNodePickupViewBase
*/
public
pickupviewpanel_activated
(
$event
:
any
,
$event2
?:
any
)
{
this
.
engine
.
onCtrlEvent
(
'pickupviewpanel'
,
'activated'
,
$event
);
}
/**
* 关闭视图
*
* @param {any[]} args
* @memberof WFProcessNodePorcessNodePickupViewBase
*/
public
closeView
(
args
:
any
[]):
void
{
let
_view
:
any
=
this
;
if
(
_view
.
viewdata
)
{
_view
.
$emit
(
'viewdataschange'
,
Array
.
isArray
(
args
)?
args
:[
args
]);
_view
.
$emit
(
'close'
,
Array
.
isArray
(
args
)?
args
:[
args
]);
}
else
if
(
_view
.
$tabPageExp
)
{
_view
.
$tabPageExp
.
onClose
(
_view
.
$route
.
fullPath
);
}
}
/**
* 销毁视图回调
*
* @memberof WFProcessNodePorcessNodePickupViewBase
*/
public
destroyed
(){
this
.
afterDestroyed
();
}
/**
* 执行destroyed后的逻辑
*
* @memberof WFProcessNodePorcessNodePickupViewBase
*/
public
afterDestroyed
(){
if
(
this
.
viewDefaultUsage
){
let
localStoreLength
=
Object
.
keys
(
localStorage
);
if
(
localStoreLength
.
length
>
0
){
localStoreLength
.
forEach
((
item
:
string
)
=>
{
if
(
item
.
startsWith
(
this
.
context
.
srfsessionid
)){
localStorage
.
removeItem
(
item
);
}
})
}
if
(
Object
.
is
(
this
.
navModel
,
"tab"
)){
this
.
navDataService
.
removeNavDataByTag
(
this
.
viewtag
);
}
if
(
this
.
serviceStateEvent
)
{
this
.
serviceStateEvent
.
unsubscribe
();
}
}
// 销毁计数器定时器
if
(
this
.
counterServiceArray
&&
this
.
counterServiceArray
.
length
>
0
){
this
.
counterServiceArray
.
forEach
((
item
:
any
)
=>
{
if
(
item
.
destroyCounter
&&
item
.
destroyCounter
instanceof
Function
){
item
.
destroyCounter
();
}
})
}
if
(
this
.
portletStateEvent
){
this
.
portletStateEvent
.
unsubscribe
();
}
this
.
viewState
.
complete
();
}
/**
* 选中数据的字符串
*
* @type {string}
* @memberof WFProcessNodePorcessNodePickupViewBase
*/
public
selectedData
:
string
=
""
;
/**
* 视图选中数据
*
* @type {any[]}
* @memberof WFProcessNodePorcessNodePickupViewBase
*/
public
viewSelections
:
any
[]
=
[];
/**
* 是否显示按钮
*
* @type {boolean}
* @memberof WFProcessNodePorcessNodePickupViewBase
*/
@
Prop
({
default
:
true
})
public
isShowButton
!
:
boolean
;
/**
* 是否单选
*
* @type {boolean}
* @memberof WFProcessNodePorcessNodePickupViewBase
*/
public
isSingleSelect
:
boolean
=
true
;
/**
* 确定
*
* @memberof WFProcessNodePorcessNodePickupViewBase
*/
public
onClickOk
():
void
{
this
.
$emit
(
'viewdataschange'
,
this
.
viewSelections
);
this
.
$emit
(
'close'
,
null
);
}
/**
* 取消
*
* @memberof WFProcessNodePorcessNodePickupViewBase
*/
public
onClickCancel
():
void
{
this
.
$emit
(
'viewdataschange'
,
null
);
this
.
$emit
(
'close'
,
null
);
}
}
</
script
>
<
style
lang=
'less'
>
@import './wfprocess-node-porcess-node-pickup-view.less';
</
style
>
\ No newline at end of file
app_web/src/pages/workflow/wfprocess-node-porcess-node-pickup-view/wfprocess-node-porcess-node-pickup-view.less
0 → 100644
浏览文件 @
014d04a7
.wfprocess-node-porcess-node-pickup-view{
position: relative;
}
.pickup-view {
>.pickupviewpanel {
flex-grow: 1;
display: flex;
justify-content: flex-end;
height: calc(100% - 64px);
}
>.footer {
height: 64px;
}
}
\ No newline at end of file
app_web/src/pages/workflow/wfprocess-node-porcess-node-pickup-view/wfprocess-node-porcess-node-pickup-view.vue
0 → 100644
浏览文件 @
014d04a7
<
script
lang=
'tsx'
>
import
{
Component
}
from
'vue-property-decorator'
;
import
WFProcessNodePorcessNodePickupViewBase
from
'./wfprocess-node-porcess-node-pickup-view-base.vue'
;
import
view_pickupviewpanel
from
'@widgets/wfprocess-node/porcess-node-pickup-viewpickupviewpanel-pickupviewpanel/porcess-node-pickup-viewpickupviewpanel-pickupviewpanel.vue'
;
@
Component
({
components
:
{
view_pickupviewpanel
,
},
beforeRouteEnter
:
(
to
:
any
,
from
:
any
,
next
:
any
)
=>
{
next
((
vm
:
any
)
=>
{
if
(
!
Object
.
is
(
vm
.
navModel
,
"route"
)){
vm
.
initNavDataWithTab
(
vm
.
viewCacheData
);
}
vm
.
$store
.
commit
(
'addCurPageViewtag'
,
{
fullPath
:
to
.
fullPath
,
viewtag
:
vm
.
viewtag
});
});
},
})
export
default
class
WFProcessNodePorcessNodePickupView
extends
WFProcessNodePorcessNodePickupViewBase
{
}
</
script
>
\ No newline at end of file
app_web/src/pages/workflow/wfprocess-node-process-node-pickup-grid-view/wfprocess-node-process-node-pickup-grid-view-base.vue
0 → 100644
浏览文件 @
014d04a7
<
template
>
<div
class=
'view-container depickupgridview wfprocess-node-process-node-pickup-grid-view'
>
<app-studioaction
:viewTitle=
"$t(model.srfCaption)"
viewName=
"wfprocessnodeprocessnodepickupgridview"
></app-studioaction>
<card
class=
'view-card view-no-caption view-no-toolbar'
:dis-hover=
"true"
:bordered=
"false"
>
<div
class=
'view-top-messages'
>
</div>
<div
class=
'content-container pickup-grid-view'
>
<view
_searchform
:viewState=
"viewState"
:viewparams=
"viewparams"
:context=
"context"
:showBusyIndicator=
"true"
v-show=
"isExpandSearchForm"
loaddraftAction=
"FilterGetDraft"
loadAction=
"FilterGet"
name=
"searchform"
ref=
'searchform'
@
search=
"searchform_search($event)"
@
load=
"searchform_load($event)"
@
save=
"searchform_save($event)"
@
closeview=
"closeView($event)"
>
</view
_searchform
>
<div
class=
'view-body-messages'
>
</div>
<view
_grid
:viewState=
"viewState"
:viewparams=
"viewparams"
:context=
"context"
:isSingleSelect=
"isSingleSelect"
:selectedData=
"selectedData"
:showBusyIndicator=
"true"
updateAction=
""
removeAction=
"Remove"
loaddraftAction=
""
loadAction=
""
createAction=
""
fetchAction=
"FetchProcessNode"
name=
"grid"
ref=
'grid'
@
rowdblclick=
"grid_rowdblclick($event)"
@
selectionchange=
"grid_selectionchange($event)"
@
load=
"grid_load($event)"
@
beforeload=
"grid_beforeload($event)"
@
closeview=
"closeView($event)"
>
</view
_grid
>
</div>
<div
class=
'view-bottom-messages'
>
</div>
</card>
</div>
</
template
>
<
script
lang=
'tsx'
>
import
{
Vue
,
Component
,
Prop
,
Provide
,
Emit
,
Watch
,
Inject
}
from
'vue-property-decorator'
;
import
{
UIActionTool
,
Util
}
from
'@/utils'
;
import
NavDataService
from
'@/service/app/navdata-service'
;
import
{
Subject
,
Subscription
}
from
'rxjs'
;
import
WFProcessNodeService
from
'@/service/wfprocess-node/wfprocess-node-service'
;
import
WFProcessNodeAuthService
from
'@/authservice/wfprocess-node/wfprocess-node-auth-service'
;
import
PickupGridViewEngine
from
'@engine/view/pickup-grid-view-engine'
;
import
WFProcessNodeUIService
from
'@/uiservice/wfprocess-node/wfprocess-node-ui-service'
;
@
Component
({
components
:
{
},
})
export
default
class
WFProcessNodeProcessNodePickupGridViewBase
extends
Vue
{
/**
* 实体服务对象
*
* @type {WFProcessNodeService}
* @memberof WFProcessNodeProcessNodePickupGridViewBase
*/
public
appEntityService
:
WFProcessNodeService
=
new
WFProcessNodeService
;
/**
* 实体UI服务对象
*
* @type WFProcessNodeUIService
* @memberof WFProcessNodeProcessNodePickupGridViewBase
*/
public
appUIService
:
WFProcessNodeUIService
=
new
WFProcessNodeUIService
(
this
.
$store
);
/**
* 数据变化
*
* @param {*} val
* @returns {*}
* @memberof WFProcessNodeProcessNodePickupGridViewBase
*/
@
Emit
()
public
viewDatasChange
(
val
:
any
):
any
{
return
val
;
}
/**
* 传入视图上下文
*
* @type {string}
* @memberof WFProcessNodeProcessNodePickupGridViewBase
*/
@
Prop
()
public
viewdata
!
:
string
;
/**
* 传入视图参数
*
* @type {string}
* @memberof WFProcessNodeProcessNodePickupGridViewBase
*/
@
Prop
()
public
viewparam
!
:
string
;
/**
* 视图默认使用
*
* @type {boolean}
* @memberof WFProcessNodeProcessNodePickupGridViewBase
*/
@
Prop
({
default
:
true
})
public
viewDefaultUsage
!
:
boolean
;
/**
* 视图默认使用
*
* @type {string}
* @memberof WFProcessNodeProcessNodePickupGridViewBase
*/
@
Inject
({
from
:
'navModel'
,
default
:
'tab'
})
public
navModel
!
:
string
;
/**
* 视图标识
*
* @type {string}
* @memberof WFProcessNodeProcessNodePickupGridViewBase
*/
public
viewtag
:
string
=
'1f9254bad5514e07a0fe9195d42daefa'
;
/**
* 自定义视图导航上下文集合
*
* @type {*}
* @memberof WFProcessNodeProcessNodePickupGridViewBase
*/
public
customViewNavContexts
:
any
=
{
};
/**
* 自定义视图导航参数集合
*
* @type {*}
* @memberof WFProcessNodeProcessNodePickupGridViewBase
*/
public
customViewParams
:
any
=
{
};
/**
* 视图模型数据
*
* @type {*}
* @memberof WFProcessNodeProcessNodePickupGridViewBase
*/
public
model
:
any
=
{
srfCaption
:
'entities.wfprocessnode.views.processnodepickupgridview.caption'
,
srfTitle
:
'entities.wfprocessnode.views.processnodepickupgridview.title'
,
srfSubTitle
:
'entities.wfprocessnode.views.processnodepickupgridview.subtitle'
,
dataInfo
:
''
}
/**
* 视图参数变化
*
* @param {*} newVal
* @param {*} oldVal
* @memberof WFProcessNodeProcessNodePickupGridViewBase
*/
@
Watch
(
'viewparam'
,{
immediate
:
true
,
deep
:
true
})
onParamData
(
newVal
:
any
,
oldVal
:
any
)
{
if
(
newVal
){
this
.
viewparams
=
{};
if
(
typeof
newVal
==
'string'
)
{
Object
.
assign
(
this
.
viewparams
,
JSON
.
parse
(
this
.
viewparam
));
}
else
{
this
.
viewparams
=
Util
.
deepCopy
(
this
.
viewparam
);
}
}
}
/**
* 处理应用上下文变化
*
* @param {*} newVal
* @param {*} oldVal
* @memberof WFProcessNodeProcessNodePickupGridViewBase
*/
@
Watch
(
'viewdata'
)
onViewData
(
newVal
:
any
,
oldVal
:
any
)
{
const
_this
:
any
=
this
;
if
(
!
Object
.
is
(
newVal
,
oldVal
)
&&
_this
.
engine
)
{
this
.
$nextTick
(()
=>
{
_this
.
parseViewParam
();
_this
.
engine
.
load
();
});
}
else
if
(
!
Object
.
is
(
newVal
,
oldVal
)
&&
_this
.
refresh
&&
_this
.
refresh
instanceof
Function
)
{
_this
.
refresh
();
}
}
/**
* 容器模型
*
* @type {*}
* @memberof WFProcessNodeProcessNodePickupGridViewBase
*/
public
containerModel
:
any
=
{
view_grid
:
{
name
:
'grid'
,
type
:
'GRID'
},
view_searchform
:
{
name
:
'searchform'
,
type
:
'SEARCHFORM'
},
};
/**
* 视图刷新
*
* @param {*} args
* @memberof WFProcessNodeProcessNodePickupGridViewBase
*/
public
refresh
(
args
?:
any
):
void
{
const
refs
:
any
=
this
.
$refs
;
if
(
refs
&&
refs
.
grid
)
{
refs
.
grid
.
refresh
();
}
}
/**
* 计数器刷新
*
* @memberof WFProcessNodeProcessNodePickupGridViewBase
*/
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
();
}
})
}
}
/**
* 视图状态订阅对象
*
* @public
* @type {Subject<{action: string, data: any}>}
* @memberof WFProcessNodeProcessNodePickupGridViewBase
*/
public
viewState
:
Subject
<
ViewState
>
=
new
Subject
();
/**
* 视图引擎
*
* @public
* @type {Engine}
* @memberof WFProcessNodeProcessNodePickupGridViewBase
*/
public
engine
:
PickupGridViewEngine
=
new
PickupGridViewEngine
();
/**
* 引擎初始化
*
* @public
* @memberof WFProcessNodeProcessNodePickupGridViewBase
*/
public
engineInit
():
void
{
this
.
engine
.
init
({
view
:
this
,
grid
:
this
.
$refs
.
grid
,
searchform
:
this
.
$refs
.
searchform
,
keyPSDEField
:
'wfprocessnode'
,
majorPSDEField
:
'usertaskname'
,
isLoadDefault
:
true
,
});
}
/**
* 应用导航服务
*
* @type {*}
* @memberof WFProcessNodeProcessNodePickupGridViewBase
*/
public
navDataService
=
NavDataService
.
getInstance
(
this
.
$store
);
/**
* 导航服务事件
*
* @public
* @type {(Subscription | undefined)}
* @memberof WFProcessNodeProcessNodePickupGridViewBase
*/
public
serviceStateEvent
:
Subscription
|
undefined
;
/**
* 门户部件状态对象
*
* @type {*}
* @memberof WFProcessNodeProcessNodePickupGridViewBase
*/
@
Prop
()
public
portletState
?:
any
;
/**
* 门户部件状态事件
*
* @public
* @type {(Subscription | undefined)}
* @memberof WFProcessNodeProcessNodePickupGridViewBase
*/
public
portletStateEvent
:
Subscription
|
undefined
;
/**
* 应用上下文
*
* @type {*}
* @memberof WFProcessNodeProcessNodePickupGridViewBase
*/
public
context
:
any
=
{};
/**
* 视图参数
*
* @type {*}
* @memberof WFProcessNodeProcessNodePickupGridViewBase
*/
public
viewparams
:
any
=
{};
/**
* 视图缓存数据
*
* @type {*}
* @memberof WFProcessNodeProcessNodePickupGridViewBase
*/
public
viewCacheData
:
any
;
/**
* 计数器服务对象集合
*
* @type {Array<*>}
* @memberof WFProcessNodeProcessNodePickupGridViewBase
*/
public
counterServiceArray
:
Array
<
any
>
=
[];
/**
* 解析视图参数
*
* @public
* @memberof WFProcessNodeProcessNodePickupGridViewBase
*/
public
parseViewParam
(
inputvalue
:
any
=
null
):
void
{
for
(
let
key
in
this
.
context
){
delete
this
.
context
[
key
];
}
if
(
this
.
$store
.
getters
.
getAppData
()
&&
this
.
$store
.
getters
.
getAppData
().
context
){
Object
.
assign
(
this
.
context
,
this
.
$store
.
getters
.
getAppData
().
context
);
}
if
(
!
this
.
viewDefaultUsage
&&
this
.
viewdata
&&
!
Object
.
is
(
this
.
viewdata
,
''
))
{
if
(
typeof
this
.
viewdata
==
'string'
)
{
Object
.
assign
(
this
.
context
,
JSON
.
parse
(
this
.
viewdata
));
}
if
(
this
.
context
&&
this
.
context
.
srfparentdename
){
Object
.
assign
(
this
.
viewparams
,{
srfparentdename
:
this
.
context
.
srfparentdename
});
}
if
(
this
.
context
&&
this
.
context
.
srfparentkey
){
Object
.
assign
(
this
.
viewparams
,{
srfparentkey
:
this
.
context
.
srfparentkey
});
}
this
.
handleCustomViewData
();
return
;
}
const
path
=
(
this
.
$route
.
matched
[
this
.
$route
.
matched
.
length
-
1
]).
path
;
const
keys
:
Array
<
any
>
=
[];
const
curReg
=
this
.
$pathToRegExp
.
pathToRegexp
(
path
,
keys
);
const
matchArray
=
curReg
.
exec
(
this
.
$route
.
path
);
let
tempValue
:
Object
=
{};
keys
.
forEach
((
item
:
any
,
index
:
number
)
=>
{
Object
.
defineProperty
(
tempValue
,
item
.
name
,
{
enumerable
:
true
,
value
:
matchArray
[
index
+
1
]
});
});
this
.
$viewTool
.
formatRouteParams
(
tempValue
,
this
.
$route
,
this
.
context
,
this
.
viewparams
);
if
(
inputvalue
){
Object
.
assign
(
this
.
context
,{
'wfprocessnode'
:
inputvalue
});
}
//初始化视图唯一标识
Object
.
assign
(
this
.
context
,{
srfsessionid
:
this
.
$util
.
createUUID
()});
this
.
handleCustomViewData
();
//初始化导航数据
this
.
initNavDataWithRoute
();
}
/**
* 处理自定义视图数据
*
* @memberof WFProcessNodeProcessNodePickupGridViewBase
*/
public
handleCustomViewData
(){
if
(
Object
.
keys
(
this
.
customViewNavContexts
).
length
>
0
){
Object
.
keys
(
this
.
customViewNavContexts
).
forEach
((
item
:
any
)
=>
{
let
tempContext
:
any
=
{};
let
curNavContext
:
any
=
this
.
customViewNavContexts
[
item
];
this
.
handleCustomDataLogic
(
curNavContext
,
tempContext
,
item
);
Object
.
assign
(
this
.
context
,
tempContext
);
})
}
if
(
Object
.
keys
(
this
.
customViewParams
).
length
>
0
){
Object
.
keys
(
this
.
customViewParams
).
forEach
((
item
:
any
)
=>
{
let
tempParam
:
any
=
{};
let
curNavParam
:
any
=
this
.
customViewParams
[
item
];
this
.
handleCustomDataLogic
(
curNavParam
,
tempParam
,
item
);
Object
.
assign
(
this
.
viewparams
,
tempParam
);
})
}
}
/**
* 处理自定义视图数据逻辑
*
* @memberof WFProcessNodeProcessNodePickupGridViewBase
*/
public
handleCustomDataLogic
(
curNavData
:
any
,
tempData
:
any
,
item
:
string
){
// 直接值直接赋值
if
(
curNavData
.
isRawValue
){
if
(
Object
.
is
(
curNavData
.
value
,
"null"
)
||
Object
.
is
(
curNavData
.
value
,
""
)){
Object
.
defineProperty
(
tempData
,
item
.
toLowerCase
(),
{
value
:
null
,
writable
:
true
,
enumerable
:
true
,
configurable
:
true
});
}
else
{
Object
.
defineProperty
(
tempData
,
item
.
toLowerCase
(),
{
value
:
curNavData
.
value
,
writable
:
true
,
enumerable
:
true
,
configurable
:
true
});
}
}
else
{
// 先从导航上下文取数,没有再从导航参数(URL)取数,如果导航上下文和导航参数都没有则为null
if
(
this
.
context
[(
curNavData
.
value
).
toLowerCase
()]
!=
null
){
Object
.
defineProperty
(
tempData
,
item
.
toLowerCase
(),
{
value
:
this
.
context
[(
curNavData
.
value
).
toLowerCase
()],
writable
:
true
,
enumerable
:
true
,
configurable
:
true
});
}
else
{
if
(
this
.
viewparams
[(
curNavData
.
value
).
toLowerCase
()]
!=
null
){
Object
.
defineProperty
(
tempData
,
item
.
toLowerCase
(),
{
value
:
this
.
viewparams
[(
curNavData
.
value
).
toLowerCase
()],
writable
:
true
,
enumerable
:
true
,
configurable
:
true
});
}
else
{
Object
.
defineProperty
(
tempData
,
item
.
toLowerCase
(),
{
value
:
null
,
writable
:
true
,
enumerable
:
true
,
configurable
:
true
});
}
}
}
}
/**
* 初始化导航数据(路由模式)
*
* @memberof WFProcessNodeProcessNodePickupGridViewBase
*/
public
initNavDataWithRoute
(
data
:
any
=
null
,
isNew
:
boolean
=
false
,
isAlways
:
boolean
=
false
){
if
(
isAlways
||
(
this
.
viewDefaultUsage
&&
Object
.
is
(
this
.
navModel
,
"route"
))
){
this
.
navDataService
.
addNavData
({
id
:
'wfprocess-node-process-node-pickup-grid-view'
,
tag
:
this
.
viewtag
,
srfkey
:
isNew
?
null
:
this
.
context
.
wfprocessnode
,
title
:
this
.
$t
(
this
.
model
.
srfCaption
),
data
:
data
,
context
:
this
.
context
,
viewparams
:
this
.
viewparams
,
path
:
this
.
$route
.
fullPath
});
}
}
/**
* 初始化导航数据(分页模式)
*
* @memberof WFProcessNodeProcessNodePickupGridViewBase
*/
public
initNavDataWithTab
(
data
:
any
=
null
,
isOnlyAdd
:
boolean
=
true
,
isAlways
:
boolean
=
false
){
if
(
isAlways
||
(
this
.
viewDefaultUsage
&&
!
Object
.
is
(
this
.
navModel
,
"route"
))
){
this
.
navDataService
.
addNavDataByOnly
({
id
:
'wfprocess-node-process-node-pickup-grid-view'
,
tag
:
this
.
viewtag
,
srfkey
:
this
.
context
.
wfprocessnode
,
title
:
this
.
$t
(
this
.
model
.
srfCaption
),
data
:
data
,
context
:
this
.
context
,
viewparams
:
this
.
viewparams
,
path
:
this
.
$route
.
fullPath
},
isOnlyAdd
);
}
}
/**
* Vue声明周期
*
* @memberof WFProcessNodeProcessNodePickupGridViewBase
*/
public
created
()
{
this
.
afterCreated
();
}
/**
* 执行created后的逻辑
*
* @memberof WFProcessNodeProcessNodePickupGridViewBase
*/
public
afterCreated
(){
let
_this
:
any
=
this
;
const
secondtag
=
_this
.
$util
.
createUUID
();
_this
.
$store
.
commit
(
'viewaction/createdView'
,
{
viewtag
:
_this
.
viewtag
,
secondtag
:
secondtag
});
_this
.
viewtag
=
secondtag
;
_this
.
parseViewParam
();
_this
.
serviceStateEvent
=
_this
.
navDataService
.
serviceState
.
subscribe
(({
action
,
name
,
data
}:{
action
:
string
,
name
:
any
,
data
:
any
})
=>
{
if
(
!
Object
.
is
(
name
,
'wfprocess-node-process-node-pickup-grid-view'
)){
return
;
}
if
(
Object
.
is
(
action
,
'viewrefresh'
))
{
_this
.
$nextTick
(()
=>
{
_this
.
parseViewParam
(
data
);
if
(
_this
.
engine
){
_this
.
engine
.
load
();
}
});
}
});
if
(
_this
.
portletState
){
_this
.
portletStateEvent
=
_this
.
portletState
.
subscribe
((
res
:
any
)
=>
{
if
(
!
Object
.
is
(
res
.
name
,
'WFProcessNodeProcessNodePickupGridView'
)){
return
;
}
if
(
Object
.
is
(
res
.
action
,
'refresh'
)
&&
_this
.
refresh
&&
_this
.
refresh
instanceof
Function
){
_this
.
refresh
();
}
})
}
}
/**
* 销毁之前
*
* @memberof WFProcessNodeProcessNodePickupGridViewBase
*/
public
beforeDestroy
()
{
this
.
$store
.
commit
(
'viewaction/removeView'
,
this
.
viewtag
);
}
/**
* Vue声明周期(组件初始化完毕)
*
* @memberof WFProcessNodeProcessNodePickupGridViewBase
*/
public
mounted
()
{
this
.
afterMounted
();
}
/**
* 执行mounted后的逻辑
*
* @memberof WFProcessNodeProcessNodePickupGridViewBase
*/
public
afterMounted
(){
const
_this
:
any
=
this
;
_this
.
engineInit
();
if
(
_this
.
loadModel
&&
_this
.
loadModel
instanceof
Function
)
{
_this
.
loadModel
();
}
}
/**
* grid 部件 rowdblclick 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof WFProcessNodeProcessNodePickupGridViewBase
*/
public
grid_rowdblclick
(
$event
:
any
,
$event2
?:
any
)
{
this
.
engine
.
onCtrlEvent
(
'grid'
,
'rowdblclick'
,
$event
);
}
/**
* grid 部件 selectionchange 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof WFProcessNodeProcessNodePickupGridViewBase
*/
public
grid_selectionchange
(
$event
:
any
,
$event2
?:
any
)
{
this
.
engine
.
onCtrlEvent
(
'grid'
,
'selectionchange'
,
$event
);
}
/**
* grid 部件 load 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof WFProcessNodeProcessNodePickupGridViewBase
*/
public
grid_load
(
$event
:
any
,
$event2
?:
any
)
{
this
.
engine
.
onCtrlEvent
(
'grid'
,
'load'
,
$event
);
}
/**
* grid 部件 beforeload 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof WFProcessNodeProcessNodePickupGridViewBase
*/
public
grid_beforeload
(
$event
:
any
,
$event2
?:
any
)
{
this
.
engine
.
onCtrlEvent
(
'grid'
,
'beforeload'
,
$event
);
}
/**
* searchform 部件 search 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof WFProcessNodeProcessNodePickupGridViewBase
*/
public
searchform_search
(
$event
:
any
,
$event2
?:
any
)
{
this
.
engine
.
onCtrlEvent
(
'searchform'
,
'search'
,
$event
);
}
/**
* searchform 部件 load 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof WFProcessNodeProcessNodePickupGridViewBase
*/
public
searchform_load
(
$event
:
any
,
$event2
?:
any
)
{
this
.
engine
.
onCtrlEvent
(
'searchform'
,
'load'
,
$event
);
}
/**
* searchform 部件 save 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof WFProcessNodeProcessNodePickupGridViewBase
*/
public
searchform_save
(
$event
:
any
,
$event2
?:
any
)
{
this
.
engine
.
onCtrlEvent
(
'searchform'
,
'save'
,
$event
);
}
/**
* 关闭视图
*
* @param {any[]} args
* @memberof WFProcessNodeProcessNodePickupGridViewBase
*/
public
closeView
(
args
:
any
[]):
void
{
let
_view
:
any
=
this
;
if
(
_view
.
viewdata
)
{
_view
.
$emit
(
'viewdataschange'
,
Array
.
isArray
(
args
)?
args
:[
args
]);
_view
.
$emit
(
'close'
,
Array
.
isArray
(
args
)?
args
:[
args
]);
}
else
if
(
_view
.
$tabPageExp
)
{
_view
.
$tabPageExp
.
onClose
(
_view
.
$route
.
fullPath
);
}
}
/**
* 销毁视图回调
*
* @memberof WFProcessNodeProcessNodePickupGridViewBase
*/
public
destroyed
(){
this
.
afterDestroyed
();
}
/**
* 执行destroyed后的逻辑
*
* @memberof WFProcessNodeProcessNodePickupGridViewBase
*/
public
afterDestroyed
(){
if
(
this
.
viewDefaultUsage
){
let
localStoreLength
=
Object
.
keys
(
localStorage
);
if
(
localStoreLength
.
length
>
0
){
localStoreLength
.
forEach
((
item
:
string
)
=>
{
if
(
item
.
startsWith
(
this
.
context
.
srfsessionid
)){
localStorage
.
removeItem
(
item
);
}
})
}
if
(
Object
.
is
(
this
.
navModel
,
"tab"
)){
this
.
navDataService
.
removeNavDataByTag
(
this
.
viewtag
);
}
if
(
this
.
serviceStateEvent
)
{
this
.
serviceStateEvent
.
unsubscribe
();
}
}
// 销毁计数器定时器
if
(
this
.
counterServiceArray
&&
this
.
counterServiceArray
.
length
>
0
){
this
.
counterServiceArray
.
forEach
((
item
:
any
)
=>
{
if
(
item
.
destroyCounter
&&
item
.
destroyCounter
instanceof
Function
){
item
.
destroyCounter
();
}
})
}
if
(
this
.
portletStateEvent
){
this
.
portletStateEvent
.
unsubscribe
();
}
this
.
viewState
.
complete
();
}
/**
* 选中数据字符串
*
* @type {string}
* @memberof WFProcessNodeProcessNodePickupGridViewBase
*/
@
Prop
()
public
selectedData
?:
string
;
/**
* 是否单选
*
* @type {boolean}
* @memberof WFProcessNodeProcessNodePickupGridViewBase
*/
@
Prop
()
public
isSingleSelect
?:
boolean
;
/**
* 搜索值
*
* @type {string}
* @memberof WFProcessNodeProcessNodePickupGridViewBase
*/
public
query
:
string
=
''
;
/**
* 是否展开搜索表单
*
* @type {boolean}
* @memberof WFProcessNodeProcessNodePickupGridViewBase
*/
public
isExpandSearchForm
:
boolean
=
true
;
/**
* 表格行数据默认激活模式
* 0 不激活
* 1 单击激活
* 2 双击激活
*
* @type {(number | 0 | 1 | 2)}
* @memberof WFProcessNodeProcessNodePickupGridViewBase
*/
public
gridRowActiveMode
:
number
|
0
|
1
|
2
=
2
;
/**
* 快速搜索
*
* @param {*} $event
* @memberof WFProcessNodeProcessNodePickupGridViewBase
*/
public
onSearch
(
$event
:
any
):
void
{
const
refs
:
any
=
this
.
$refs
;
if
(
refs
.
grid
)
{
refs
.
grid
.
load
({});
}
}
}
</
script
>
<
style
lang=
'less'
>
@import './wfprocess-node-process-node-pickup-grid-view.less';
</
style
>
\ No newline at end of file
app_web/src/pages/workflow/wfprocess-node-process-node-pickup-grid-view/wfprocess-node-process-node-pickup-grid-view.less
0 → 100644
浏览文件 @
014d04a7
.wfprocess-node-process-node-pickup-grid-view{
position: relative;
}
.wfprocess-node-process-node-pickup-grid-view{
display: block;
}
\ No newline at end of file
app_web/src/pages/workflow/wfprocess-node-process-node-pickup-grid-view/wfprocess-node-process-node-pickup-grid-view.vue
0 → 100644
浏览文件 @
014d04a7
<
script
lang=
'tsx'
>
import
{
Component
}
from
'vue-property-decorator'
;
import
WFProcessNodeProcessNodePickupGridViewBase
from
'./wfprocess-node-process-node-pickup-grid-view-base.vue'
;
import
view_grid
from
'@widgets/wfprocess-node/main-grid/main-grid.vue'
;
import
view_searchform
from
'@widgets/wfprocess-node/default-searchform/default-searchform.vue'
;
@
Component
({
components
:
{
view_grid
,
view_searchform
,
},
beforeRouteEnter
:
(
to
:
any
,
from
:
any
,
next
:
any
)
=>
{
next
((
vm
:
any
)
=>
{
if
(
!
Object
.
is
(
vm
.
navModel
,
"route"
)){
vm
.
initNavDataWithTab
(
vm
.
viewCacheData
);
}
vm
.
$store
.
commit
(
'addCurPageViewtag'
,
{
fullPath
:
to
.
fullPath
,
viewtag
:
vm
.
viewtag
});
});
},
})
export
default
class
WFProcessNodeProcessNodePickupGridView
extends
WFProcessNodeProcessNodePickupGridViewBase
{
}
</
script
>
\ No newline at end of file
app_web/src/service/wfprocess-node/wfprocess-node-service-base.ts
浏览文件 @
014d04a7
...
...
@@ -184,6 +184,35 @@ export default class WFProcessNodeServiceBase extends EntityService {
return
await
Http
.
getInstance
().
post
(
`/wfprocessnodes/searchdefault`
,
tempData
,
isloading
);
}
/**
* FetchProcessNode接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof WFProcessNodeServiceBase
*/
public
async
FetchProcessNode
(
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
let
tempData
:
any
=
JSON
.
parse
(
JSON
.
stringify
(
data
));
let
res
:
any
=
Http
.
getInstance
().
get
(
`/wfprocessnodes/fetchprocessnode`
,
tempData
,
isloading
);
return
res
;
}
/**
* searchProcessNode接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof WFProcessNodeServiceBase
*/
public
async
searchProcessNode
(
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
let
tempData
:
any
=
JSON
.
parse
(
JSON
.
stringify
(
data
));
return
await
Http
.
getInstance
().
post
(
`/wfprocessnodes/searchprocessnode`
,
tempData
,
isloading
);
}
/**
* Select接口方法
*
...
...
app_web/src/store/modules/view-action/state.ts
浏览文件 @
014d04a7
...
...
@@ -48,6 +48,15 @@ export const viewstate: any = {
refviews
:
[
],
},
{
viewtag
:
'1f9254bad5514e07a0fe9195d42daefa'
,
viewmodule
:
'workflow'
,
viewname
:
'WFProcessNodeProcessNodePickupGridView'
,
viewaction
:
''
,
viewdatachange
:
false
,
refviews
:
[
],
},
{
viewtag
:
'3fcd491c13d05ab7dcce8d2c920d0aec'
,
viewmodule
:
'workflow'
,
...
...
@@ -117,6 +126,16 @@ export const viewstate: any = {
'c9c73c8d2e61bd29a304622f3d39b522'
,
],
},
{
viewtag
:
'8668e70613999260896dd9f3bde96204'
,
viewmodule
:
'workflow'
,
viewname
:
'WFProcessNodePorcessNodePickupView'
,
viewaction
:
''
,
viewdatachange
:
false
,
refviews
:
[
'1f9254bad5514e07a0fe9195d42daefa'
,
],
},
{
viewtag
:
'90a777962337daaf4cffd846eecb1f0f'
,
viewmodule
:
'workflow'
,
...
...
@@ -201,7 +220,7 @@ export const viewstate: any = {
viewaction
:
''
,
viewdatachange
:
false
,
refviews
:
[
'
598d910e2d38250d2cdd0f9ad61100ca
'
,
'
8668e70613999260896dd9f3bde96204
'
,
'84e5a5b589b434dfdc60a3d0ad087d37'
,
],
},
...
...
app_web/src/uiservice/wfprocess-node/wfprocess-node-ui-service-base.ts
浏览文件 @
014d04a7
...
...
@@ -96,7 +96,9 @@ export default class WFProcessNodeUIServiceBase extends UIService {
* @memberof WFProcessNodeUIServiceBase
*/
public
initViewMap
(){
this
.
allViewMap
.
set
(
':'
,{
viewname
:
'processnodepickupgridview'
,
srfappde
:
'wfprocessnodes'
,
component
:
'wfprocess-node-process-node-pickup-grid-view'
});
this
.
allViewMap
.
set
(
'PICKUPVIEW:'
,{
viewname
:
'pickupview'
,
srfappde
:
'wfprocessnodes'
,
component
:
'wfprocess-node-pickup-view'
});
this
.
allViewMap
.
set
(
':'
,{
viewname
:
'porcessnodepickupview'
,
srfappde
:
'wfprocessnodes'
,
component
:
'wfprocess-node-porcess-node-pickup-view'
});
this
.
allViewMap
.
set
(
':'
,{
viewname
:
'pickupgridview'
,
srfappde
:
'wfprocessnodes'
,
component
:
'wfprocess-node-pickup-grid-view'
});
}
...
...
app_web/src/widgets/wfprocess-instance/jump-form/jump-form-base.vue
浏览文件 @
014d04a7
...
...
@@ -23,7 +23,7 @@
valueitem='taskdefinitionkey'
:value="data.taskdefinitionname"
editortype=""
:pickupView="{ viewname: 'wfprocess-node-p
ickup-view', title: $t('entities.wfprocessnode.views.pickupview.title'), deResParameters: [], parameters: [{ pathName: 'wfprocessnodes', parameterName: 'wfprocessnode' }, { pathName: 'pickupview', parameterName: '
pickupview' } ], placement:'' }"
:pickupView="{ viewname: 'wfprocess-node-p
orcess-node-pickup-view', title: $t('entities.wfprocessnode.views.porcessnodepickupview.title'), deResParameters: [], parameters: [{ pathName: 'wfprocessnodes', parameterName: 'wfprocessnode' }, { pathName: 'porcessnodepickupview', parameterName: 'porcessnode
pickupview' } ], placement:'' }"
style=""
@formitemvaluechange="onFormItemValueChange">
</app-picker>
...
...
app_web/src/widgets/wfprocess-node/porcess-node-pickup-viewpickupviewpanel-pickupviewpanel/porcess-node-pickup-viewpickupviewpanel-pickupviewpanel-base.vue
0 → 100644
浏览文件 @
014d04a7
<
template
>
<div
class=
'pickupviewpanel'
>
<component
v-if=
"inited && view.viewname && !Object.is(view.viewname, '')"
:is=
"view.viewname"
class=
"viewcontainer3"
:viewdata=
"viewdata"
:viewparam=
"viewparam"
:viewDefaultUsage=
"false"
:isSingleSelect=
"isSingleSelect"
:selectedData=
"selectedData"
:isShowButton=
"isShowButton"
@
viewdataschange=
"onViewDatasChange"
@
viewdatasactivated=
"viewDatasActivated"
@
viewload=
"onViewLoad"
>
</component>
</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
WFProcessNodeEntityService
from
'@/service/wfprocess-node/wfprocess-node-service'
;
import
PorcessNodePickupViewpickupviewpanelService
from
'./porcess-node-pickup-viewpickupviewpanel-pickupviewpanel-service'
;
import
WFProcessNodeUIService
from
'@/uiservice/wfprocess-node/wfprocess-node-ui-service'
;
import
PorcessNodePickupViewpickupviewpanelModel
from
'./porcess-node-pickup-viewpickupviewpanel-pickupviewpanel-model'
;
@
Component
({
components
:
{
}
})
export
default
class
PorcessNodePickupViewpickupviewpanelBase
extends
Vue
implements
ControlInterface
{
/**
* 名称
*
* @type {string}
* @memberof PorcessNodePickupViewpickupviewpanelBase
*/
@
Prop
()
public
name
?:
string
;
/**
* 视图通讯对象
*
* @type {Subject<ViewState>}
* @memberof PorcessNodePickupViewpickupviewpanelBase
*/
@
Prop
()
public
viewState
!
:
Subject
<
ViewState
>
;
/**
* 应用上下文
*
* @type {*}
* @memberof PorcessNodePickupViewpickupviewpanelBase
*/
@
Prop
()
public
context
!
:
any
;
/**
* 视图参数
*
* @type {*}
* @memberof PorcessNodePickupViewpickupviewpanelBase
*/
@
Prop
()
public
viewparams
!
:
any
;
/**
* 视图状态事件
*
* @public
* @type {(Subscription | undefined)}
* @memberof PorcessNodePickupViewpickupviewpanelBase
*/
public
viewStateEvent
:
Subscription
|
undefined
;
/**
* 获取部件类型
*
* @returns {string}
* @memberof PorcessNodePickupViewpickupviewpanelBase
*/
public
getControlType
():
string
{
return
'PICKUPVIEWPANEL'
}
/**
* 建构部件服务对象
*
* @type {PorcessNodePickupViewpickupviewpanelService}
* @memberof PorcessNodePickupViewpickupviewpanelBase
*/
public
service
:
PorcessNodePickupViewpickupviewpanelService
=
new
PorcessNodePickupViewpickupviewpanelService
({
$store
:
this
.
$store
});
/**
* 实体服务对象
*
* @type {WFProcessNodeService}
* @memberof PorcessNodePickupViewpickupviewpanelBase
*/
public
appEntityService
:
WFProcessNodeEntityService
=
new
WFProcessNodeEntityService
({
$store
:
this
.
$store
});
/**
* 转化数据
*
* @param {any} args
* @memberof PorcessNodePickupViewpickupviewpanelBase
*/
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 PorcessNodePickupViewpickupviewpanelBase
*/
public
closeView
(
args
:
any
):
void
{
let
_this
:
any
=
this
;
_this
.
$emit
(
'closeview'
,
[
args
]);
}
/**
* 计数器刷新
*
* @memberof PorcessNodePickupViewpickupviewpanelBase
*/
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 {string}
* @memberof PorcessNodePickupViewpickupviewpanelBase
*/
@
Prop
()
public
selectedData
?:
string
;
/**
* 获取多项数据
*
* @returns {any[]}
* @memberof PorcessNodePickupViewpickupviewpanelBase
*/
public
getDatas
():
any
[]
{
return
[];
}
/**
* 获取单项树
*
* @returns {*}
* @memberof PorcessNodePickupViewpickupviewpanelBase
*/
public
getData
():
any
{
return
{};
}
/**
* 视图名称
*
* @type {*}
* @memberof PorcessNodePickupViewpickupviewpanelBase
*/
public
view
:
any
=
{
viewname
:
'wfprocess-node-process-node-pickup-grid-view'
,
data
:
{},
}
/**
* 局部上下文
*
* @type {*}
* @memberof PorcessNodePickupViewpickupviewpanelBase
*/
public
localContext
:
any
=
null
;
/**
* 局部视图参数
*
* @type {*}
* @memberof PickupViewpickupviewpanel
*/
public
localViewParam
:
any
=
null
;
/**
* 视图数据
*
* @type {*}
* @memberof PorcessNodePickupViewpickupviewpanelBase
*/
public
viewdata
:
string
=
JSON
.
stringify
(
this
.
context
);
/**
* 视图参数
*
* @type {*}
* @memberof PickupViewpickupviewpanel
*/
public
viewparam
:
string
=
JSON
.
stringify
(
this
.
viewparams
);
/**
* 是否显示按钮
*
* @type {boolean}
* @memberof PorcessNodePickupViewpickupviewpanelBase
*/
@
Prop
({
default
:
true
})
public
isShowButton
!
:
boolean
;
/**
* 是否单选
*
* @type {boolean}
* @memberof PorcessNodePickupViewpickupviewpanelBase
*/
@
Prop
()
public
isSingleSelect
?:
boolean
;
/**
* 初始化完成
*
* @type {boolean}
* @memberof PorcessNodePickupViewpickupviewpanelBase
*/
public
inited
:
boolean
=
false
;
/**
* 视图数据变化
*
* @param {*} $event
* @memberof PorcessNodePickupViewpickupviewpanelBase
*/
public
onViewDatasChange
(
$event
:
any
):
void
{
if
(
$event
.
length
>
0
){
$event
.
forEach
((
item
:
any
,
index
:
any
)
=>
{
let
srfmajortext
=
item
.
srfmajortext
?
item
.
srfmajortext
:
item
[
'usertaskname'
];
if
(
srfmajortext
){
Object
.
assign
(
$event
[
index
],{
srfmajortext
:
srfmajortext
});
}
});
}
this
.
$emit
(
'selectionchange'
,
$event
);
}
/**
* 视图数据被激活
*
* @param {*} $event
* @memberof PorcessNodePickupViewpickupviewpanelBase
*/
public
viewDatasActivated
(
$event
:
any
):
void
{
this
.
$emit
(
'activated'
,
$event
);
}
/**
* 视图加载完成
*
* @param {*} $event
* @memberof PorcessNodePickupViewpickupviewpanelBase
*/
public
onViewLoad
(
$event
:
any
):
void
{
this
.
$emit
(
'load'
,
$event
);
}
/**
* vue 生命周期
*
* @memberof PorcessNodePickupViewpickupviewpanelBase
*/
public
created
()
{
this
.
afterCreated
();
}
/**
* 执行created后的逻辑
*
* @memberof PorcessNodePickupViewpickupviewpanelBase
*/
public
afterCreated
(){
this
.
initNavParam
();
if
(
this
.
viewState
)
{
this
.
viewStateEvent
=
this
.
viewState
.
subscribe
(({
tag
,
action
,
data
})
=>
{
if
(
!
Object
.
is
(
tag
,
this
.
name
))
{
return
;
}
if
(
Object
.
is
(
'load'
,
action
))
{
this
.
viewdata
=
JSON
.
stringify
(
this
.
context
);
this
.
viewparam
=
JSON
.
stringify
(
Object
.
assign
(
data
,
this
.
viewparams
));
this
.
inited
=
true
;
}
});
}
}
/**
* 初始化导航参数
*
* @memberof PorcessNodePickupViewpickupviewpanelBase
*/
public
initNavParam
(){
if
(
this
.
localContext
&&
Object
.
keys
(
this
.
localContext
).
length
>
0
){
let
_context
:
any
=
this
.
$util
.
computedNavData
({},
this
.
context
,
this
.
viewparams
,
this
.
localContext
);
Object
.
assign
(
this
.
context
,
_context
);
}
if
(
this
.
localViewParam
&&
Object
.
keys
(
this
.
localViewParam
).
length
>
0
){
let
_param
:
any
=
this
.
$util
.
computedNavData
({},
this
.
context
,
this
.
viewparams
,
this
.
localViewParam
);
Object
.
assign
(
this
.
viewparams
,
_param
);
}
this
.
viewdata
=
JSON
.
stringify
(
this
.
context
);
this
.
viewparam
=
JSON
.
stringify
(
this
.
viewparams
);
}
/**
* vue 生命周期
*
* @memberof PorcessNodePickupViewpickupviewpanelBase
*/
public
destroyed
()
{
this
.
afterDestroy
();
}
/**
* 执行destroyed后的逻辑
*
* @memberof PorcessNodePickupViewpickupviewpanelBase
*/
public
afterDestroy
()
{
if
(
this
.
viewStateEvent
)
{
this
.
viewStateEvent
.
unsubscribe
();
}
}
}
</
script
>
<
style
lang=
'less'
>
@import './porcess-node-pickup-viewpickupviewpanel-pickupviewpanel.less';
</
style
>
\ No newline at end of file
app_web/src/widgets/wfprocess-node/porcess-node-pickup-viewpickupviewpanel-pickupviewpanel/porcess-node-pickup-viewpickupviewpanel-pickupviewpanel-model.ts
0 → 100644
浏览文件 @
014d04a7
/**
* PorcessNodePickupViewpickupviewpanel 部件模型
*
* @export
* @class PorcessNodePickupViewpickupviewpanelModel
*/
export
default
class
PorcessNodePickupViewpickupviewpanelModel
{
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof PorcessNodePickupViewpickupviewpanelModel
*/
public
getDataItems
():
any
[]
{
return
[
{
name
:
'wfprocessnode'
,
prop
:
'usertaskid'
,
},
{
name
:
'usertaskname'
,
},
{
name
:
'processdefinitionkey'
,
},
{
name
:
'processdefinitionname'
,
},
{
name
:
'version'
,
},
{
name
:
'cnt'
,
},
{
name
:
'processdefinitionid'
,
},
]
}
}
\ No newline at end of file
app_web/src/widgets/wfprocess-node/porcess-node-pickup-viewpickupviewpanel-pickupviewpanel/porcess-node-pickup-viewpickupviewpanel-pickupviewpanel-service.ts
0 → 100644
浏览文件 @
014d04a7
import
{
Http
}
from
'@/utils'
;
import
ControlService
from
'@/widgets/control-service'
;
/**
* PorcessNodePickupViewpickupviewpanel 部件服务对象
*
* @export
* @class PorcessNodePickupViewpickupviewpanelService
*/
export
default
class
PorcessNodePickupViewpickupviewpanelService
extends
ControlService
{
}
\ No newline at end of file
app_web/src/widgets/wfprocess-node/porcess-node-pickup-viewpickupviewpanel-pickupviewpanel/porcess-node-pickup-viewpickupviewpanel-pickupviewpanel.less
0 → 100644
浏览文件 @
014d04a7
// this is less
.pickupviewpanel{
width: 100%;
}
\ No newline at end of file
app_web/src/widgets/wfprocess-node/porcess-node-pickup-viewpickupviewpanel-pickupviewpanel/porcess-node-pickup-viewpickupviewpanel-pickupviewpanel.vue
0 → 100644
浏览文件 @
014d04a7
<
script
lang=
'tsx'
>
import
{
Component
}
from
'vue-property-decorator'
;
import
PorcessNodePickupViewpickupviewpanelBase
from
'./porcess-node-pickup-viewpickupviewpanel-pickupviewpanel-base.vue'
;
@
Component
({
components
:
{
}
})
export
default
class
PorcessNodePickupViewpickupviewpanel
extends
PorcessNodePickupViewpickupviewpanelBase
{
}
</
script
>
\ No newline at end of file
app_web/src/widgets/wfuser/default-searchform/default-searchform-base.vue
浏览文件 @
014d04a7
...
...
@@ -626,7 +626,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
:
'WFUser
Pickup
GridView'
+
(
this
.
$t
(
'app.searchForm.notConfig.loadAction'
)
as
string
)
});
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'WFUserGridView'
+
(
this
.
$t
(
'app.searchForm.notConfig.loadAction'
)
as
string
)
});
return
;
}
const
arg
:
any
=
{
...
opt
};
...
...
@@ -662,7 +662,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
:
'WFUser
Pickup
GridView'
+
(
this
.
$t
(
'app.searchForm.notConfig.loaddraftAction'
)
as
string
)
});
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'WFUserGridView'
+
(
this
.
$t
(
'app.searchForm.notConfig.loaddraftAction'
)
as
string
)
});
return
;
}
const
arg
:
any
=
{
...
opt
}
;
...
...
ibzwf-core/src/main/java/cn/ibizlab/core/workflow/service/IWFProcessNodeService.java
浏览文件 @
014d04a7
...
...
@@ -36,6 +36,7 @@ public interface IWFProcessNodeService {
boolean
save
(
WFProcessNode
et
);
void
saveBatch
(
List
<
WFProcessNode
>
list
);
Page
<
WFProcessNode
>
searchDefault
(
WFProcessNodeSearchContext
context
);
Page
<
WFProcessNode
>
searchProcessNode
(
WFProcessNodeSearchContext
context
);
}
...
...
ibzwf-core/src/main/java/cn/ibizlab/core/workflow/service/impl/WFProcessNodeServiceImpl.java
浏览文件 @
014d04a7
...
...
@@ -107,6 +107,14 @@ public class WFProcessNodeServiceImpl implements IWFProcessNodeService {
return
new
PageImpl
<
WFProcessNode
>(
new
ArrayList
(),
context
.
getPageable
(),
0
);
}
/**
* 查询集合 查询当前实例流程节点
*/
@Override
public
Page
<
WFProcessNode
>
searchProcessNode
(
WFProcessNodeSearchContext
context
)
{
return
new
PageImpl
<
WFProcessNode
>(
new
ArrayList
(),
context
.
getPageable
(),
0
);
}
}
...
...
ibzwf-core/src/main/resources/permission/systemResource.json
浏览文件 @
014d04a7
...
...
@@ -40,7 +40,7 @@
"dename"
:
"WFProcessNode"
,
"delogicname"
:
"流程定义节点"
,
"sysmoudle"
:{
"id"
:
"WORKFLOW"
,
"name"
:
"workflow"
},
"dedataset"
:[{
"id"
:
"Default"
,
"name"
:
"DEFAULT"
}],
"dedataset"
:[{
"id"
:
"Default"
,
"name"
:
"DEFAULT"
}
,{
"id"
:
"ProcessNode"
,
"name"
:
"查询当前实例流程节点"
}
],
"deaction"
:[{
"id"
:
"Create"
,
"name"
:
"Create"
,
"type"
:
"BUILTIN"
},{
"id"
:
"Update"
,
"name"
:
"Update"
,
"type"
:
"BUILTIN"
},{
"id"
:
"Remove"
,
"name"
:
"Remove"
,
"type"
:
"BUILTIN"
},{
"id"
:
"Get"
,
"name"
:
"Get"
,
"type"
:
"BUILTIN"
},{
"id"
:
"GetDraft"
,
"name"
:
"GetDraft"
,
"type"
:
"BUILTIN"
},{
"id"
:
"CheckKey"
,
"name"
:
"CheckKey"
,
"type"
:
"BUILTIN"
},{
"id"
:
"Save"
,
"name"
:
"Save"
,
"type"
:
"BUILTIN"
}],
"datascope"
:[{
"id"
:
"all"
,
"name"
:
"全部数据"
}]
}
...
...
ibzwf-provider/ibzwf-provider-api/src/main/java/cn/ibizlab/api/rest/WFProcessNodeResource.java
浏览文件 @
014d04a7
...
...
@@ -149,6 +149,26 @@ public class WFProcessNodeResource {
.
body
(
new
PageImpl
(
wfprocessnodeMapping
.
toDto
(
domains
.
getContent
()),
context
.
getPageable
(),
domains
.
getTotalElements
()));
}
@ApiOperation
(
value
=
"获取查询当前实例流程节点"
,
tags
=
{
"流程定义节点"
}
,
notes
=
"获取查询当前实例流程节点"
)
@RequestMapping
(
method
=
RequestMethod
.
GET
,
value
=
"/wfprocessnodes/fetchprocessnode"
)
public
ResponseEntity
<
List
<
WFProcessNodeDTO
>>
fetchProcessNode
(
WFProcessNodeSearchContext
context
)
{
Page
<
WFProcessNode
>
domains
=
wfprocessnodeService
.
searchProcessNode
(
context
)
;
List
<
WFProcessNodeDTO
>
list
=
wfprocessnodeMapping
.
toDto
(
domains
.
getContent
());
return
ResponseEntity
.
status
(
HttpStatus
.
OK
)
.
header
(
"x-page"
,
String
.
valueOf
(
context
.
getPageable
().
getPageNumber
()))
.
header
(
"x-per-page"
,
String
.
valueOf
(
context
.
getPageable
().
getPageSize
()))
.
header
(
"x-total"
,
String
.
valueOf
(
domains
.
getTotalElements
()))
.
body
(
list
);
}
@ApiOperation
(
value
=
"查询查询当前实例流程节点"
,
tags
=
{
"流程定义节点"
}
,
notes
=
"查询查询当前实例流程节点"
)
@RequestMapping
(
method
=
RequestMethod
.
POST
,
value
=
"/wfprocessnodes/searchprocessnode"
)
public
ResponseEntity
<
Page
<
WFProcessNodeDTO
>>
searchProcessNode
(
@RequestBody
WFProcessNodeSearchContext
context
)
{
Page
<
WFProcessNode
>
domains
=
wfprocessnodeService
.
searchProcessNode
(
context
)
;
return
ResponseEntity
.
status
(
HttpStatus
.
OK
)
.
body
(
new
PageImpl
(
wfprocessnodeMapping
.
toDto
(
domains
.
getContent
()),
context
.
getPageable
(),
domains
.
getTotalElements
()));
}
}
...
...
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录