Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
I
ibzwf
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
ibiz4jteam
ibzwf
提交
6a90febc
提交
6a90febc
编写于
4年前
作者:
ibizdev
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
ibizdev提交
上级
180035cf
变更
56
显示空白字符变更
内嵌
并排
正在显示
56 个修改的文件
包含
734 行增加
和
107 行删除
+734
-107
CHANGELOG.md
app_web/CHANGELOG.md
+43
-0
app-form-druipart.vue
...eb/src/components/app-form-druipart/app-form-druipart.vue
+13
-1
environment.ts
app_web/src/environments/environment.ts
+1
-1
wfindex-view-appmenu.ts
...src/mock/app/wfindex-view-appmenu/wfindex-view-appmenu.ts
+3
-3
wfgroup-edit-view-base.vue
...ges/workflow/wfgroup-edit-view/wfgroup-edit-view-base.vue
+3
-3
wfgroup-grid-view-base.vue
...ges/workflow/wfgroup-grid-view/wfgroup-grid-view-base.vue
+6
-3
wfmember-edit-view-base.vue
...s/workflow/wfmember-edit-view/wfmember-edit-view-base.vue
+3
-3
wfmember-grid-view-base.vue
...s/workflow/wfmember-grid-view/wfmember-grid-view-base.vue
+3
-3
wfprocess-definition-edit-view-base.vue
...inition-edit-view/wfprocess-definition-edit-view-base.vue
+3
-3
wfprocess-definition-grid-view-base.vue
...inition-grid-view/wfprocess-definition-grid-view-base.vue
+6
-3
wfuser-edit-view-base.vue
...pages/workflow/wfuser-edit-view/wfuser-edit-view-base.vue
+3
-3
wfuser-grid-view-base.vue
...pages/workflow/wfuser-grid-view/wfuser-grid-view-base.vue
+6
-3
getters.ts
app_web/src/store/getters.ts
+13
-0
mutations.ts
app_web/src/store/mutations.ts
+12
-0
state.ts
app_web/src/store/state.ts
+1
-0
StudioActionUtil.ts
app_web/src/utils/studio-action/StudioActionUtil.ts
+1
-1
wfindex-view-appmenu-base.vue
...ts/app/wfindex-view-appmenu/wfindex-view-appmenu-base.vue
+9
-9
wfindex-view-appmenu-model.ts
...ts/app/wfindex-view-appmenu/wfindex-view-appmenu-model.ts
+6
-6
default-searchform-service.ts
.../wfgroup/default-searchform/default-searchform-service.ts
+4
-2
main-form-base.vue
app_web/src/widgets/wfgroup/main-form/main-form-base.vue
+18
-3
main-form-service.ts
app_web/src/widgets/wfgroup/main-form/main-form-service.ts
+4
-2
main-grid-service.ts
app_web/src/widgets/wfgroup/main-grid/main-grid-service.ts
+1
-1
default-searchform-service.ts
...wfmember/default-searchform/default-searchform-service.ts
+4
-2
main-form-base.vue
app_web/src/widgets/wfmember/main-form/main-form-base.vue
+17
-3
main-form-service.ts
app_web/src/widgets/wfmember/main-form/main-form-service.ts
+4
-2
main-grid-service.ts
app_web/src/widgets/wfmember/main-grid/main-grid-service.ts
+1
-1
default-searchform-service.ts
...finition/default-searchform/default-searchform-service.ts
+4
-2
main-form-base.vue
...widgets/wfprocess-definition/main-form/main-form-base.vue
+17
-3
main-form-service.ts
...dgets/wfprocess-definition/main-form/main-form-service.ts
+4
-2
main-grid-service.ts
...dgets/wfprocess-definition/main-grid/main-grid-service.ts
+1
-1
main-form-base.vue
app_web/src/widgets/wfremodel/main-form/main-form-base.vue
+17
-3
main-form-service.ts
app_web/src/widgets/wfremodel/main-form/main-form-service.ts
+4
-2
default-searchform-service.ts
...s/wfuser/default-searchform/default-searchform-service.ts
+4
-2
main-form-base.vue
app_web/src/widgets/wfuser/main-form/main-form-base.vue
+17
-3
main-form-service.ts
app_web/src/widgets/wfuser/main-form/main-form-service.ts
+4
-2
main-grid-service.ts
app_web/src/widgets/wfuser/main-grid/main-grid-service.ts
+1
-1
ibzwf-app-web.yaml
ibzwf-app/ibzwf-app-web/src/main/docker/ibzwf-app-web.yaml
+2
-1
webSecurityConfig.java
...rc/main/java/cn/ibizlab/web/config/webSecurityConfig.java
+5
-0
application-web-prod.yml
...ibzwf-app-web/src/main/resources/application-web-prod.yml
+1
-2
DevBootSecurityConfig.java
...rc/main/java/cn/ibizlab/config/DevBootSecurityConfig.java
+5
-0
application-dev.yml
ibzwf-boot/src/main/resources/application-dev.yml
+0
-2
systemResource.json
ibzwf-core/src/main/resources/permission/systemResource.json
+15
-0
pom.xml
ibzwf-dependencies/pom.xml
+313
-0
ibzwf-provider-api.yaml
...bzwf-provider-api/src/main/docker/ibzwf-provider-api.yaml
+2
-1
application-api-prod.yml
...-provider-api/src/main/resources/application-api-prod.yml
+1
-1
pom.xml
ibzwf-util/pom.xml
+89
-0
CaffeineCacheConfig.java
.../main/java/cn/ibizlab/util/cache/CaffeineCacheConfig.java
+2
-2
RedisCacheConfig.java
...src/main/java/cn/ibizlab/util/cache/RedisCacheConfig.java
+2
-2
CaffeineCacheManager.java
...ibizlab/util/cache/cacheManager/CaffeineCacheManager.java
+2
-2
LayeringCacheManager.java
...ibizlab/util/cache/cacheManager/LayeringCacheManager.java
+2
-2
RedisMessageListener.java
.../cn/ibizlab/util/cache/listener/RedisMessageListener.java
+2
-2
IBZUAAFallback.java
.../src/main/java/cn/ibizlab/util/client/IBZUAAFallback.java
+2
-1
IBZUAAFeignClient.java
...c/main/java/cn/ibizlab/util/client/IBZUAAFeignClient.java
+2
-1
PermissionSyncJob.java
.../src/main/java/cn/ibizlab/util/job/PermissionSyncJob.java
+8
-3
AppController.java
...til/src/main/java/cn/ibizlab/util/rest/AppController.java
+15
-0
application-sys.yml
ibzwf-util/src/main/resources/application-sys.yml
+3
-3
未找到文件。
app_web/CHANGELOG.md
浏览文件 @
6a90febc
## v7.0.0-alpha.4 [2020-5-14]
### Bug修复
修复代码表代码项图标和数据
修复数据多项选择视图UI逻辑不匹配
修复列表高度异常
修复树节点上下文
修复表格(视图)高度,滚动条问题
修复表单loaddraft服务仿真主键丢失修复
修复user显示名称逻辑
修复issue地址为正式环境地址
### 功能新增及优化
#### 模板
模态时视图样式调整
增加菜单权限
增加快速分组搜索或快速搜索表单功能
增加表格内置工具栏
代码表多选控件分割符从分号转化为逗号
#### 基础文件
增加数据选择类插件表格呈现插件
## v7.0.0-alpha.3 [2020-5-10]
### Bug修复
...
...
@@ -65,3 +106,5 @@
## v7.0.0-alpha.1 [2020-4-29]
初始化文件
This diff is collapsed.
Click to expand it.
app_web/src/components/app-form-druipart/app-form-druipart.vue
浏览文件 @
6a90febc
...
...
@@ -47,6 +47,14 @@ export default class AppFormDRUIPart extends Vue {
*/
@
Prop
({
default
:
''
})
public
refreshitems
!
:
string
;
/**
* 禁止加载
*
* @type {string}
* @memberof AppFormDRUIPart
*/
@
Prop
({
default
:
false
})
public
isForbidLoad
!
:
boolean
;
/**
* 关系视图类型
*
...
...
@@ -254,7 +262,11 @@ export default class AppFormDRUIPart extends Vue {
this
.
blockUIStop
();
}
}
if
(
!
this
.
isForbidLoad
){
this
.
$nextTick
(()
=>
{
this
.
formDruipart
.
next
({
action
:
'load'
,
data
:{
srfparentdename
:
this
.
parentName
,
srfparentkey
:
_paramitem
}});
});
}
}
/**
...
...
This diff is collapsed.
Click to expand it.
app_web/src/environments/environment.ts
浏览文件 @
6a90febc
...
...
@@ -22,7 +22,7 @@ export const Environment = {
// 是否为开发模式
devMode
:
true
,
// 项目模板地址
ProjectUrl
:
"http://demo.ibizlab.cn/
groups/ibizr7pfstdtempl
"
,
ProjectUrl
:
"http://demo.ibizlab.cn/
ibizr7pfstdtempl/ibizvuer7
"
,
// 配置平台地址
StudioUrl
:
"http://172.16.170.145/slnstudio/"
,
// 中心标识
...
...
This diff is collapsed.
Click to expand it.
app_web/src/mock/app/wfindex-view-appmenu/wfindex-view-appmenu.ts
浏览文件 @
6a90febc
...
...
@@ -25,7 +25,7 @@ mock.onGet('v7/wfindex-viewappmenu').reply((config: any) => {
iconcls
:
'fa fa-random'
,
icon
:
''
,
textcls
:
''
,
appfunctag
:
'
_2
'
,
appfunctag
:
'
Auto1
'
,
resourcetag
:
''
,
},
{
...
...
@@ -43,7 +43,7 @@ mock.onGet('v7/wfindex-viewappmenu').reply((config: any) => {
iconcls
:
'fa fa-arrow-circle-o-up'
,
icon
:
''
,
textcls
:
''
,
appfunctag
:
'
_4
'
,
appfunctag
:
'
Auto3
'
,
resourcetag
:
''
,
},
{
...
...
@@ -61,7 +61,7 @@ mock.onGet('v7/wfindex-viewappmenu').reply((config: any) => {
iconcls
:
'fa fa-users'
,
icon
:
''
,
textcls
:
''
,
appfunctag
:
'
_3
'
,
appfunctag
:
'
Auto2
'
,
resourcetag
:
''
,
},
],
...
...
This diff is collapsed.
Click to expand it.
app_web/src/pages/workflow/wfgroup-edit-view/wfgroup-edit-view-base.vue
浏览文件 @
6a90febc
...
...
@@ -1228,14 +1228,14 @@ export default class WFGroupEditViewBase extends Vue {
const
data
:
any
=
{};
if
(
args
.
length
>
0
)
{
Object
.
assign
(
data
,
{
srfsourcekey
:
args
[
0
].
srfkey
})
actionContext
.
$store
.
commit
(
'addCopyData'
,
{
srfkey
:
args
[
0
].
srfkey
,
copyData
:
args
[
0
]
});
}
_this
.
newdata
([{
...
data
}],[{
...
data
}],
params
,
$event
,
xData
);
}
else
if
(
xData
&&
xData
.
copy
instanceof
Function
)
{
const
data2
:
any
=
{};
if
(
args
.
length
>
0
)
{
Object
.
assign
(
data2
,
{
srfsourcekey
:
args
[
0
].
srfkey
})
actionContext
.
$store
.
commit
(
'addCopyData'
,
{
srfkey
:
args
[
0
].
srfkey
,
copyData
:
args
[
0
]
});
}
xData
.
copy
(
data2
);
xData
.
copy
(
args
[
0
].
srfkey
);
}
else
{
_this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'opendata 视图处理逻辑不存在,请添加!'
});
}
...
...
This diff is collapsed.
Click to expand it.
app_web/src/pages/workflow/wfgroup-grid-view/wfgroup-grid-view-base.vue
浏览文件 @
6a90febc
...
...
@@ -1093,6 +1093,9 @@ export default class WFGroupGridViewBase extends Vue {
*/
public
newdata
(
args
:
any
[],
fullargs
?:
any
[],
params
?:
any
,
$event
?:
any
,
xData
?:
any
)
{
const
data
:
any
=
{};
if
(
args
[
0
].
srfsourcekey
){
data
.
srfsourcekey
=
args
[
0
].
srfsourcekey
;
}
let
curViewParam
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
));
if
(
args
.
length
>
0
){
Object
.
assign
(
curViewParam
,
args
[
0
]);
...
...
@@ -1235,14 +1238,14 @@ export default class WFGroupGridViewBase extends Vue {
const
data
:
any
=
{};
if
(
args
.
length
>
0
)
{
Object
.
assign
(
data
,
{
srfsourcekey
:
args
[
0
].
srfkey
})
actionContext
.
$store
.
commit
(
'addCopyData'
,
{
srfkey
:
args
[
0
].
srfkey
,
copyData
:
args
[
0
]
});
}
_this
.
newdata
([{
...
data
}],[{
...
data
}],
params
,
$event
,
xData
);
}
else
if
(
xData
&&
xData
.
copy
instanceof
Function
)
{
const
data2
:
any
=
{};
if
(
args
.
length
>
0
)
{
Object
.
assign
(
data2
,
{
srfsourcekey
:
args
[
0
].
srfkey
})
actionContext
.
$store
.
commit
(
'addCopyData'
,
{
srfkey
:
args
[
0
].
srfkey
,
copyData
:
args
[
0
]
});
}
xData
.
copy
(
data2
);
xData
.
copy
(
args
[
0
].
srfkey
);
}
else
{
_this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'opendata 视图处理逻辑不存在,请添加!'
});
}
...
...
This diff is collapsed.
Click to expand it.
app_web/src/pages/workflow/wfmember-edit-view/wfmember-edit-view-base.vue
浏览文件 @
6a90febc
...
...
@@ -1228,14 +1228,14 @@ export default class WFMemberEditViewBase extends Vue {
const
data
:
any
=
{};
if
(
args
.
length
>
0
)
{
Object
.
assign
(
data
,
{
srfsourcekey
:
args
[
0
].
srfkey
})
actionContext
.
$store
.
commit
(
'addCopyData'
,
{
srfkey
:
args
[
0
].
srfkey
,
copyData
:
args
[
0
]
});
}
_this
.
newdata
([{
...
data
}],[{
...
data
}],
params
,
$event
,
xData
);
}
else
if
(
xData
&&
xData
.
copy
instanceof
Function
)
{
const
data2
:
any
=
{};
if
(
args
.
length
>
0
)
{
Object
.
assign
(
data2
,
{
srfsourcekey
:
args
[
0
].
srfkey
})
actionContext
.
$store
.
commit
(
'addCopyData'
,
{
srfkey
:
args
[
0
].
srfkey
,
copyData
:
args
[
0
]
});
}
xData
.
copy
(
data2
);
xData
.
copy
(
args
[
0
].
srfkey
);
}
else
{
_this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'opendata 视图处理逻辑不存在,请添加!'
});
}
...
...
This diff is collapsed.
Click to expand it.
app_web/src/pages/workflow/wfmember-grid-view/wfmember-grid-view-base.vue
浏览文件 @
6a90febc
...
...
@@ -1266,14 +1266,14 @@ export default class WFMemberGridViewBase extends Vue {
const
data
:
any
=
{};
if
(
args
.
length
>
0
)
{
Object
.
assign
(
data
,
{
srfsourcekey
:
args
[
0
].
srfkey
})
actionContext
.
$store
.
commit
(
'addCopyData'
,
{
srfkey
:
args
[
0
].
srfkey
,
copyData
:
args
[
0
]
});
}
_this
.
newdata
([{
...
data
}],[{
...
data
}],
params
,
$event
,
xData
);
}
else
if
(
xData
&&
xData
.
copy
instanceof
Function
)
{
const
data2
:
any
=
{};
if
(
args
.
length
>
0
)
{
Object
.
assign
(
data2
,
{
srfsourcekey
:
args
[
0
].
srfkey
})
actionContext
.
$store
.
commit
(
'addCopyData'
,
{
srfkey
:
args
[
0
].
srfkey
,
copyData
:
args
[
0
]
});
}
xData
.
copy
(
data2
);
xData
.
copy
(
args
[
0
].
srfkey
);
}
else
{
_this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'opendata 视图处理逻辑不存在,请添加!'
});
}
...
...
This diff is collapsed.
Click to expand it.
app_web/src/pages/workflow/wfprocess-definition-edit-view/wfprocess-definition-edit-view-base.vue
浏览文件 @
6a90febc
...
...
@@ -1228,14 +1228,14 @@ export default class WFProcessDefinitionEditViewBase extends Vue {
const
data
:
any
=
{};
if
(
args
.
length
>
0
)
{
Object
.
assign
(
data
,
{
srfsourcekey
:
args
[
0
].
srfkey
})
actionContext
.
$store
.
commit
(
'addCopyData'
,
{
srfkey
:
args
[
0
].
srfkey
,
copyData
:
args
[
0
]
});
}
_this
.
newdata
([{
...
data
}],[{
...
data
}],
params
,
$event
,
xData
);
}
else
if
(
xData
&&
xData
.
copy
instanceof
Function
)
{
const
data2
:
any
=
{};
if
(
args
.
length
>
0
)
{
Object
.
assign
(
data2
,
{
srfsourcekey
:
args
[
0
].
srfkey
})
actionContext
.
$store
.
commit
(
'addCopyData'
,
{
srfkey
:
args
[
0
].
srfkey
,
copyData
:
args
[
0
]
});
}
xData
.
copy
(
data2
);
xData
.
copy
(
args
[
0
].
srfkey
);
}
else
{
_this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'opendata 视图处理逻辑不存在,请添加!'
});
}
...
...
This diff is collapsed.
Click to expand it.
app_web/src/pages/workflow/wfprocess-definition-grid-view/wfprocess-definition-grid-view-base.vue
浏览文件 @
6a90febc
...
...
@@ -1093,6 +1093,9 @@ export default class WFProcessDefinitionGridViewBase extends Vue {
*/
public
newdata
(
args
:
any
[],
fullargs
?:
any
[],
params
?:
any
,
$event
?:
any
,
xData
?:
any
)
{
const
data
:
any
=
{};
if
(
args
[
0
].
srfsourcekey
){
data
.
srfsourcekey
=
args
[
0
].
srfsourcekey
;
}
let
curViewParam
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
));
if
(
args
.
length
>
0
){
Object
.
assign
(
curViewParam
,
args
[
0
]);
...
...
@@ -1235,14 +1238,14 @@ export default class WFProcessDefinitionGridViewBase extends Vue {
const
data
:
any
=
{};
if
(
args
.
length
>
0
)
{
Object
.
assign
(
data
,
{
srfsourcekey
:
args
[
0
].
srfkey
})
actionContext
.
$store
.
commit
(
'addCopyData'
,
{
srfkey
:
args
[
0
].
srfkey
,
copyData
:
args
[
0
]
});
}
_this
.
newdata
([{
...
data
}],[{
...
data
}],
params
,
$event
,
xData
);
}
else
if
(
xData
&&
xData
.
copy
instanceof
Function
)
{
const
data2
:
any
=
{};
if
(
args
.
length
>
0
)
{
Object
.
assign
(
data2
,
{
srfsourcekey
:
args
[
0
].
srfkey
})
actionContext
.
$store
.
commit
(
'addCopyData'
,
{
srfkey
:
args
[
0
].
srfkey
,
copyData
:
args
[
0
]
});
}
xData
.
copy
(
data2
);
xData
.
copy
(
args
[
0
].
srfkey
);
}
else
{
_this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'opendata 视图处理逻辑不存在,请添加!'
});
}
...
...
This diff is collapsed.
Click to expand it.
app_web/src/pages/workflow/wfuser-edit-view/wfuser-edit-view-base.vue
浏览文件 @
6a90febc
...
...
@@ -1228,14 +1228,14 @@ export default class WFUserEditViewBase extends Vue {
const
data
:
any
=
{};
if
(
args
.
length
>
0
)
{
Object
.
assign
(
data
,
{
srfsourcekey
:
args
[
0
].
srfkey
})
actionContext
.
$store
.
commit
(
'addCopyData'
,
{
srfkey
:
args
[
0
].
srfkey
,
copyData
:
args
[
0
]
});
}
_this
.
newdata
([{
...
data
}],[{
...
data
}],
params
,
$event
,
xData
);
}
else
if
(
xData
&&
xData
.
copy
instanceof
Function
)
{
const
data2
:
any
=
{};
if
(
args
.
length
>
0
)
{
Object
.
assign
(
data2
,
{
srfsourcekey
:
args
[
0
].
srfkey
})
actionContext
.
$store
.
commit
(
'addCopyData'
,
{
srfkey
:
args
[
0
].
srfkey
,
copyData
:
args
[
0
]
});
}
xData
.
copy
(
data2
);
xData
.
copy
(
args
[
0
].
srfkey
);
}
else
{
_this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'opendata 视图处理逻辑不存在,请添加!'
});
}
...
...
This diff is collapsed.
Click to expand it.
app_web/src/pages/workflow/wfuser-grid-view/wfuser-grid-view-base.vue
浏览文件 @
6a90febc
...
...
@@ -1093,6 +1093,9 @@ export default class WFUserGridViewBase extends Vue {
*/
public
newdata
(
args
:
any
[],
fullargs
?:
any
[],
params
?:
any
,
$event
?:
any
,
xData
?:
any
)
{
const
data
:
any
=
{};
if
(
args
[
0
].
srfsourcekey
){
data
.
srfsourcekey
=
args
[
0
].
srfsourcekey
;
}
let
curViewParam
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
));
if
(
args
.
length
>
0
){
Object
.
assign
(
curViewParam
,
args
[
0
]);
...
...
@@ -1235,14 +1238,14 @@ export default class WFUserGridViewBase extends Vue {
const
data
:
any
=
{};
if
(
args
.
length
>
0
)
{
Object
.
assign
(
data
,
{
srfsourcekey
:
args
[
0
].
srfkey
})
actionContext
.
$store
.
commit
(
'addCopyData'
,
{
srfkey
:
args
[
0
].
srfkey
,
copyData
:
args
[
0
]
});
}
_this
.
newdata
([{
...
data
}],[{
...
data
}],
params
,
$event
,
xData
);
}
else
if
(
xData
&&
xData
.
copy
instanceof
Function
)
{
const
data2
:
any
=
{};
if
(
args
.
length
>
0
)
{
Object
.
assign
(
data2
,
{
srfsourcekey
:
args
[
0
].
srfkey
})
actionContext
.
$store
.
commit
(
'addCopyData'
,
{
srfkey
:
args
[
0
].
srfkey
,
copyData
:
args
[
0
]
});
}
xData
.
copy
(
data2
);
xData
.
copy
(
args
[
0
].
srfkey
);
}
else
{
_this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'opendata 视图处理逻辑不存在,请添加!'
});
}
...
...
This diff is collapsed.
Click to expand it.
app_web/src/store/getters.ts
浏览文件 @
6a90febc
...
...
@@ -76,3 +76,16 @@ export const getZIndex = (state: any) => () => {
export
const
getViewSplit
=
(
state
:
any
)
=>
(
viewUID
:
string
)
=>
{
return
state
.
viewSplit
[
viewUID
];
}
/**
* 获取拷贝数据
*
* @param state
*/
export
const
getCopyData
=
(
state
:
any
)
=>
(
srfkey
:
string
)
=>
{
let
copyData
=
state
.
copyDataMap
[
srfkey
];
if
(
copyData
){
delete
state
.
copyDataMap
[
srfkey
];
}
return
copyData
;
}
\ No newline at end of file
This diff is collapsed.
Click to expand it.
app_web/src/store/mutations.ts
浏览文件 @
6a90febc
...
...
@@ -254,3 +254,15 @@ export const updateZIndex = (state: any, zIndex: number) => {
export
const
setViewSplit
=
(
state
:
any
,
args
:
{
viewSplit
:
number
,
viewUID
:
string
})
=>
{
state
.
viewSplit
[
args
.
viewUID
]
=
args
.
viewSplit
;
}
/**
* 添加拷贝数据
*
* @param state
* @param localdata
*/
export
const
addCopyData
=
(
state
:
any
,
args
:
{
srfkey
:
string
,
copyData
:
any
})
=>
{
if
(
args
&&
args
.
srfkey
&&
args
.
copyData
){
state
.
copyDataMap
[
args
.
srfkey
]
=
JSON
.
parse
(
JSON
.
stringify
(
args
.
copyData
));
}
}
\ No newline at end of file
This diff is collapsed.
Click to expand it.
app_web/src/store/state.ts
浏览文件 @
6a90febc
...
...
@@ -13,4 +13,5 @@ export const rootstate: any = {
localdata
:
{},
zIndex
:
300
,
viewSplit
:
{},
copyDataMap
:{},
}
\ No newline at end of file
This diff is collapsed.
Click to expand it.
app_web/src/utils/studio-action/StudioActionUtil.ts
浏览文件 @
6a90febc
...
...
@@ -92,7 +92,7 @@ export class StudioActionUtil {
const
config
:
any
=
await
this
.
getConfig
(
viewName
);
if
(
config
)
{
const
context
:
string
=
`视图模块:
${
config
.
viewmodule
}
\n视图标识:
${
config
.
viewname
}
\n视图类型:
${
config
.
viewtype
}
\n`
;
window
.
open
(
`
${
Environment
.
ProjectUrl
}
/issues/`
,
'_blank'
);
window
.
open
(
`
${
Environment
.
ProjectUrl
}
/issues/
new?issue[title]=
${
encodeURIComponent
(
'问题'
)}
&issue[description]=
${
encodeURIComponent
(
context
)}
`
,
'_blank'
);
}
}
...
...
This diff is collapsed.
Click to expand it.
app_web/src/widgets/app/wfindex-view-appmenu/wfindex-view-appmenu-base.vue
浏览文件 @
6a90febc
...
...
@@ -558,14 +558,14 @@ export default class WFIndexViewBase extends Vue implements ControlInterface {
public
click
(
item
:
any
)
{
if
(
item
)
{
switch
(
item
.
appfunctag
)
{
case
'
_4
'
:
this
.
click
_4
(
item
);
case
'
Auto3
'
:
this
.
click
Auto3
(
item
);
return
;
case
'
_2
'
:
this
.
click
_2
(
item
);
case
'
Auto1
'
:
this
.
click
Auto1
(
item
);
return
;
case
'
_3
'
:
this
.
click
_3
(
item
);
case
'
Auto2
'
:
this
.
click
Auto2
(
item
);
return
;
default
:
console
.
warn
(
'未指定应用功能'
);
...
...
@@ -580,7 +580,7 @@ export default class WFIndexViewBase extends Vue implements ControlInterface {
* @param {*} [item={}]
* @memberof WFIndexView
*/
public
click
_4
(
item
:
any
=
{})
{
public
click
Auto3
(
item
:
any
=
{})
{
const
viewparam
:
any
=
{};
Object
.
assign
(
viewparam
,
{});
const
deResParameters
:
any
[]
=
[];
...
...
@@ -598,7 +598,7 @@ export default class WFIndexViewBase extends Vue implements ControlInterface {
* @param {*} [item={}]
* @memberof WFIndexView
*/
public
click
_2
(
item
:
any
=
{})
{
public
click
Auto1
(
item
:
any
=
{})
{
const
viewparam
:
any
=
{};
Object
.
assign
(
viewparam
,
{});
const
deResParameters
:
any
[]
=
[];
...
...
@@ -616,7 +616,7 @@ export default class WFIndexViewBase extends Vue implements ControlInterface {
* @param {*} [item={}]
* @memberof WFIndexView
*/
public
click
_3
(
item
:
any
=
{})
{
public
click
Auto2
(
item
:
any
=
{})
{
const
viewparam
:
any
=
{};
Object
.
assign
(
viewparam
,
{});
const
deResParameters
:
any
[]
=
[];
...
...
This diff is collapsed.
Click to expand it.
app_web/src/widgets/app/wfindex-view-appmenu/wfindex-view-appmenu-model.ts
浏览文件 @
6a90febc
...
...
@@ -29,7 +29,7 @@ export default class WFIndexViewModel {
iconcls
:
'fa fa-random'
,
icon
:
''
,
textcls
:
''
,
appfunctag
:
'
_2
'
,
appfunctag
:
'
Auto1
'
,
resourcetag
:
''
,
},
{
...
...
@@ -47,7 +47,7 @@ export default class WFIndexViewModel {
iconcls
:
'fa fa-arrow-circle-o-up'
,
icon
:
''
,
textcls
:
''
,
appfunctag
:
'
_4
'
,
appfunctag
:
'
Auto3
'
,
resourcetag
:
''
,
},
{
...
...
@@ -65,7 +65,7 @@ export default class WFIndexViewModel {
iconcls
:
'fa fa-users'
,
icon
:
''
,
textcls
:
''
,
appfunctag
:
'
_3
'
,
appfunctag
:
'
Auto2
'
,
resourcetag
:
''
,
},
];
...
...
@@ -79,7 +79,7 @@ export default class WFIndexViewModel {
*/
public
funcs
:
any
[]
=
[
{
appfunctag
:
'
_4
'
,
appfunctag
:
'
Auto3
'
,
appfuncyype
:
'APPVIEW'
,
openmode
:
''
,
codename
:
'wfremodeleditview'
,
...
...
@@ -91,7 +91,7 @@ export default class WFIndexViewModel {
],
},
{
appfunctag
:
'
_2
'
,
appfunctag
:
'
Auto1
'
,
appfuncyype
:
'APPVIEW'
,
openmode
:
''
,
codename
:
'wfprocessdefinitiongridview'
,
...
...
@@ -103,7 +103,7 @@ export default class WFIndexViewModel {
],
},
{
appfunctag
:
'
_3
'
,
appfunctag
:
'
Auto2
'
,
appfuncyype
:
'APPVIEW'
,
openmode
:
''
,
codename
:
'wfgroupgridview'
,
...
...
This diff is collapsed.
Click to expand it.
app_web/src/widgets/wfgroup/default-searchform/default-searchform-service.ts
浏览文件 @
6a90febc
...
...
@@ -282,8 +282,9 @@ export default class DefaultService extends ControlService {
public
loadDraft
(
action
:
string
,
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
const
{
data
:
Data
,
context
:
Context
}
=
this
.
handleRequestData
(
action
,
context
,
data
);
//仿真主键数据
Data
.
id
=
Util
.
createUUID
();
Data
.
wfgroup
=
Data
.
id
;
const
PrimaryKey
=
Util
.
createUUID
();
Data
.
id
=
PrimaryKey
;
Data
.
wfgroup
=
PrimaryKey
;
return
new
Promise
((
resolve
:
any
,
reject
:
any
)
=>
{
let
result
:
Promise
<
any
>
;
const
_appEntityService
:
any
=
this
.
appEntityService
;
...
...
@@ -293,6 +294,7 @@ export default class DefaultService extends ControlService {
result
=
this
.
appEntityService
.
GetDraft
(
Context
,
Data
,
isloading
);
}
result
.
then
((
response
)
=>
{
response
.
data
.
id
=
PrimaryKey
;
this
.
handleResponse
(
action
,
response
,
true
);
resolve
(
response
);
}).
catch
(
response
=>
{
...
...
This diff is collapsed.
Click to expand it.
app_web/src/widgets/wfgroup/main-form/main-form-base.vue
浏览文件 @
6a90febc
...
...
@@ -22,6 +22,7 @@
<app-form-druipart
:formState=
"formState"
:isForbidLoad=
"this.data.srfuf === '0'"
paramItem=
'wfgroup'
:parentdata=
'
{"srfparentdefname":"GROUPID","srfparentdename":"WF_GROUP","SRFPARENTTYPE":"DER1N","srfparentmode":"DER1N_WF_GROUP_MEMBER_WF_GROUP_GROUPID","SRFDER1NID":"DER1N_WF_GROUP_MEMBER_WF_GROUP_GROUPID"}'
:parameters="[
...
...
@@ -887,8 +888,12 @@ export default class MainBase extends Vue implements ControlInterface {
this
.
load
(
data
);
}
if
(
Object
.
is
(
'loaddraft'
,
action
))
{
if
(
this
.
context
.
srfsourcekey
){
this
.
copy
(
this
.
context
.
srfsourcekey
);
}
else
{
this
.
loadDraft
(
data
);
}
}
if
(
Object
.
is
(
'save'
,
action
))
{
this
.
save
(
data
,
data
.
showResultInfo
);
}
...
...
@@ -951,8 +956,18 @@ export default class MainBase extends Vue implements ControlInterface {
* @param {*} [arg={}]
* @memberof @memberof Main
*/
public
copy
(
arg
:
any
=
{}):
void
{
this
.
loadDraft
(
arg
);
public
copy
(
srfkey
:
string
):
void
{
let
copyData
=
this
.
$store
.
getters
.
getCopyData
(
srfkey
);
copyData
.
srfkey
=
Util
.
createUUID
();
copyData
.
wfgroup
=
copyData
.
srfkey
;
copyData
.
id
=
copyData
.
srfkey
;
Object
.
assign
(
this
.
context
,{
wfgroup
:
copyData
.
wfgroup
})
this
.
data
=
copyData
;
this
.
$nextTick
(()
=>
{
this
.
formState
.
next
({
type
:
'load'
,
data
:
copyData
});
this
.
data
.
srfuf
=
'0'
;
this
.
setFormEnableCond
(
this
.
data
);
});
}
/**
...
...
This diff is collapsed.
Click to expand it.
app_web/src/widgets/wfgroup/main-form/main-form-service.ts
浏览文件 @
6a90febc
...
...
@@ -282,8 +282,9 @@ export default class MainService extends ControlService {
public
loadDraft
(
action
:
string
,
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
const
{
data
:
Data
,
context
:
Context
}
=
this
.
handleRequestData
(
action
,
context
,
data
);
//仿真主键数据
Data
.
id
=
Util
.
createUUID
();
Data
.
wfgroup
=
Data
.
id
;
const
PrimaryKey
=
Util
.
createUUID
();
Data
.
id
=
PrimaryKey
;
Data
.
wfgroup
=
PrimaryKey
;
return
new
Promise
((
resolve
:
any
,
reject
:
any
)
=>
{
let
result
:
Promise
<
any
>
;
const
_appEntityService
:
any
=
this
.
appEntityService
;
...
...
@@ -293,6 +294,7 @@ export default class MainService extends ControlService {
result
=
this
.
appEntityService
.
GetDraft
(
Context
,
Data
,
isloading
);
}
result
.
then
((
response
)
=>
{
response
.
data
.
id
=
PrimaryKey
;
this
.
handleResponse
(
action
,
response
,
true
);
resolve
(
response
);
}).
catch
(
response
=>
{
...
...
This diff is collapsed.
Click to expand it.
app_web/src/widgets/wfgroup/main-grid/main-grid-service.ts
浏览文件 @
6a90febc
...
...
@@ -264,7 +264,7 @@ export default class MainService extends ControlService {
if
(
response
.
data
){
Object
.
assign
(
response
.
data
,{
srfuf
:
'0'
});
//仿真主键数据
response
.
data
.
wfgroup
=
Util
.
createUUID
();
response
.
data
.
id
=
Util
.
createUUID
();
}
this
.
handleResponse
(
action
,
response
,
true
);
this
.
mergeDefaults
(
response
);
...
...
This diff is collapsed.
Click to expand it.
app_web/src/widgets/wfmember/default-searchform/default-searchform-service.ts
浏览文件 @
6a90febc
...
...
@@ -282,8 +282,9 @@ export default class DefaultService extends ControlService {
public
loadDraft
(
action
:
string
,
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
const
{
data
:
Data
,
context
:
Context
}
=
this
.
handleRequestData
(
action
,
context
,
data
);
//仿真主键数据
Data
.
memberid
=
Util
.
createUUID
();
Data
.
wfmember
=
Data
.
memberid
;
const
PrimaryKey
=
Util
.
createUUID
();
Data
.
memberid
=
PrimaryKey
;
Data
.
wfmember
=
PrimaryKey
;
return
new
Promise
((
resolve
:
any
,
reject
:
any
)
=>
{
let
result
:
Promise
<
any
>
;
const
_appEntityService
:
any
=
this
.
appEntityService
;
...
...
@@ -293,6 +294,7 @@ export default class DefaultService extends ControlService {
result
=
this
.
appEntityService
.
GetDraft
(
Context
,
Data
,
isloading
);
}
result
.
then
((
response
)
=>
{
response
.
data
.
memberid
=
PrimaryKey
;
this
.
handleResponse
(
action
,
response
,
true
);
resolve
(
response
);
}).
catch
(
response
=>
{
...
...
This diff is collapsed.
Click to expand it.
app_web/src/widgets/wfmember/main-form/main-form-base.vue
浏览文件 @
6a90febc
...
...
@@ -896,8 +896,12 @@ export default class MainBase extends Vue implements ControlInterface {
this
.
load
(
data
);
}
if
(
Object
.
is
(
'loaddraft'
,
action
))
{
if
(
this
.
context
.
srfsourcekey
){
this
.
copy
(
this
.
context
.
srfsourcekey
);
}
else
{
this
.
loadDraft
(
data
);
}
}
if
(
Object
.
is
(
'save'
,
action
))
{
this
.
save
(
data
,
data
.
showResultInfo
);
}
...
...
@@ -960,8 +964,18 @@ export default class MainBase extends Vue implements ControlInterface {
* @param {*} [arg={}]
* @memberof @memberof Main
*/
public
copy
(
arg
:
any
=
{}):
void
{
this
.
loadDraft
(
arg
);
public
copy
(
srfkey
:
string
):
void
{
let
copyData
=
this
.
$store
.
getters
.
getCopyData
(
srfkey
);
copyData
.
srfkey
=
Util
.
createUUID
();
copyData
.
wfmember
=
copyData
.
srfkey
;
copyData
.
memberid
=
copyData
.
srfkey
;
Object
.
assign
(
this
.
context
,{
wfmember
:
copyData
.
wfmember
})
this
.
data
=
copyData
;
this
.
$nextTick
(()
=>
{
this
.
formState
.
next
({
type
:
'load'
,
data
:
copyData
});
this
.
data
.
srfuf
=
'0'
;
this
.
setFormEnableCond
(
this
.
data
);
});
}
/**
...
...
This diff is collapsed.
Click to expand it.
app_web/src/widgets/wfmember/main-form/main-form-service.ts
浏览文件 @
6a90febc
...
...
@@ -294,8 +294,9 @@ export default class MainService extends ControlService {
public
loadDraft
(
action
:
string
,
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
const
{
data
:
Data
,
context
:
Context
}
=
this
.
handleRequestData
(
action
,
context
,
data
);
//仿真主键数据
Data
.
memberid
=
Util
.
createUUID
();
Data
.
wfmember
=
Data
.
memberid
;
const
PrimaryKey
=
Util
.
createUUID
();
Data
.
memberid
=
PrimaryKey
;
Data
.
wfmember
=
PrimaryKey
;
return
new
Promise
((
resolve
:
any
,
reject
:
any
)
=>
{
let
result
:
Promise
<
any
>
;
const
_appEntityService
:
any
=
this
.
appEntityService
;
...
...
@@ -305,6 +306,7 @@ export default class MainService extends ControlService {
result
=
this
.
appEntityService
.
GetDraft
(
Context
,
Data
,
isloading
);
}
result
.
then
((
response
)
=>
{
response
.
data
.
memberid
=
PrimaryKey
;
this
.
handleResponse
(
action
,
response
,
true
);
resolve
(
response
);
}).
catch
(
response
=>
{
...
...
This diff is collapsed.
Click to expand it.
app_web/src/widgets/wfmember/main-grid/main-grid-service.ts
浏览文件 @
6a90febc
...
...
@@ -264,7 +264,7 @@ export default class MainService extends ControlService {
if
(
response
.
data
){
Object
.
assign
(
response
.
data
,{
srfuf
:
'0'
});
//仿真主键数据
response
.
data
.
wfmember
=
Util
.
createUUID
();
response
.
data
.
memberid
=
Util
.
createUUID
();
}
this
.
handleResponse
(
action
,
response
,
true
);
this
.
mergeDefaults
(
response
);
...
...
This diff is collapsed.
Click to expand it.
app_web/src/widgets/wfprocess-definition/default-searchform/default-searchform-service.ts
浏览文件 @
6a90febc
...
...
@@ -282,8 +282,9 @@ export default class DefaultService extends ControlService {
public
loadDraft
(
action
:
string
,
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
const
{
data
:
Data
,
context
:
Context
}
=
this
.
handleRequestData
(
action
,
context
,
data
);
//仿真主键数据
Data
.
definitionkey
=
Util
.
createUUID
();
Data
.
wfprocessdefinition
=
Data
.
definitionkey
;
const
PrimaryKey
=
Util
.
createUUID
();
Data
.
definitionkey
=
PrimaryKey
;
Data
.
wfprocessdefinition
=
PrimaryKey
;
return
new
Promise
((
resolve
:
any
,
reject
:
any
)
=>
{
let
result
:
Promise
<
any
>
;
const
_appEntityService
:
any
=
this
.
appEntityService
;
...
...
@@ -293,6 +294,7 @@ export default class DefaultService extends ControlService {
result
=
this
.
appEntityService
.
GetDraft
(
Context
,
Data
,
isloading
);
}
result
.
then
((
response
)
=>
{
response
.
data
.
definitionkey
=
PrimaryKey
;
this
.
handleResponse
(
action
,
response
,
true
);
resolve
(
response
);
}).
catch
(
response
=>
{
...
...
This diff is collapsed.
Click to expand it.
app_web/src/widgets/wfprocess-definition/main-form/main-form-base.vue
浏览文件 @
6a90febc
...
...
@@ -1001,8 +1001,12 @@ export default class MainBase extends Vue implements ControlInterface {
this
.
load
(
data
);
}
if
(
Object
.
is
(
'loaddraft'
,
action
))
{
if
(
this
.
context
.
srfsourcekey
){
this
.
copy
(
this
.
context
.
srfsourcekey
);
}
else
{
this
.
loadDraft
(
data
);
}
}
if
(
Object
.
is
(
'save'
,
action
))
{
this
.
save
(
data
,
data
.
showResultInfo
);
}
...
...
@@ -1065,8 +1069,18 @@ export default class MainBase extends Vue implements ControlInterface {
* @param {*} [arg={}]
* @memberof @memberof Main
*/
public
copy
(
arg
:
any
=
{}):
void
{
this
.
loadDraft
(
arg
);
public
copy
(
srfkey
:
string
):
void
{
let
copyData
=
this
.
$store
.
getters
.
getCopyData
(
srfkey
);
copyData
.
srfkey
=
Util
.
createUUID
();
copyData
.
wfprocessdefinition
=
copyData
.
srfkey
;
copyData
.
definitionkey
=
copyData
.
srfkey
;
Object
.
assign
(
this
.
context
,{
wfprocessdefinition
:
copyData
.
wfprocessdefinition
})
this
.
data
=
copyData
;
this
.
$nextTick
(()
=>
{
this
.
formState
.
next
({
type
:
'load'
,
data
:
copyData
});
this
.
data
.
srfuf
=
'0'
;
this
.
setFormEnableCond
(
this
.
data
);
});
}
/**
...
...
This diff is collapsed.
Click to expand it.
app_web/src/widgets/wfprocess-definition/main-form/main-form-service.ts
浏览文件 @
6a90febc
...
...
@@ -282,8 +282,9 @@ export default class MainService extends ControlService {
public
loadDraft
(
action
:
string
,
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
const
{
data
:
Data
,
context
:
Context
}
=
this
.
handleRequestData
(
action
,
context
,
data
);
//仿真主键数据
Data
.
definitionkey
=
Util
.
createUUID
();
Data
.
wfprocessdefinition
=
Data
.
definitionkey
;
const
PrimaryKey
=
Util
.
createUUID
();
Data
.
definitionkey
=
PrimaryKey
;
Data
.
wfprocessdefinition
=
PrimaryKey
;
return
new
Promise
((
resolve
:
any
,
reject
:
any
)
=>
{
let
result
:
Promise
<
any
>
;
const
_appEntityService
:
any
=
this
.
appEntityService
;
...
...
@@ -293,6 +294,7 @@ export default class MainService extends ControlService {
result
=
this
.
appEntityService
.
GetDraft
(
Context
,
Data
,
isloading
);
}
result
.
then
((
response
)
=>
{
response
.
data
.
definitionkey
=
PrimaryKey
;
this
.
handleResponse
(
action
,
response
,
true
);
resolve
(
response
);
}).
catch
(
response
=>
{
...
...
This diff is collapsed.
Click to expand it.
app_web/src/widgets/wfprocess-definition/main-grid/main-grid-service.ts
浏览文件 @
6a90febc
...
...
@@ -264,7 +264,7 @@ export default class MainService extends ControlService {
if
(
response
.
data
){
Object
.
assign
(
response
.
data
,{
srfuf
:
'0'
});
//仿真主键数据
response
.
data
.
wfprocessdefinition
=
Util
.
createUUID
();
response
.
data
.
definitionkey
=
Util
.
createUUID
();
}
this
.
handleResponse
(
action
,
response
,
true
);
this
.
mergeDefaults
(
response
);
...
...
This diff is collapsed.
Click to expand it.
app_web/src/widgets/wfremodel/main-form/main-form-base.vue
浏览文件 @
6a90febc
...
...
@@ -833,8 +833,12 @@ export default class MainBase extends Vue implements ControlInterface {
this
.
load
(
data
);
}
if
(
Object
.
is
(
'loaddraft'
,
action
))
{
if
(
this
.
context
.
srfsourcekey
){
this
.
copy
(
this
.
context
.
srfsourcekey
);
}
else
{
this
.
loadDraft
(
data
);
}
}
if
(
Object
.
is
(
'save'
,
action
))
{
this
.
save
(
data
,
data
.
showResultInfo
);
}
...
...
@@ -897,8 +901,18 @@ export default class MainBase extends Vue implements ControlInterface {
* @param {*} [arg={}]
* @memberof @memberof Main
*/
public
copy
(
arg
:
any
=
{}):
void
{
this
.
loadDraft
(
arg
);
public
copy
(
srfkey
:
string
):
void
{
let
copyData
=
this
.
$store
.
getters
.
getCopyData
(
srfkey
);
copyData
.
srfkey
=
Util
.
createUUID
();
copyData
.
wfremodel
=
copyData
.
srfkey
;
copyData
.
id
=
copyData
.
srfkey
;
Object
.
assign
(
this
.
context
,{
wfremodel
:
copyData
.
wfremodel
})
this
.
data
=
copyData
;
this
.
$nextTick
(()
=>
{
this
.
formState
.
next
({
type
:
'load'
,
data
:
copyData
});
this
.
data
.
srfuf
=
'0'
;
this
.
setFormEnableCond
(
this
.
data
);
});
}
/**
...
...
This diff is collapsed.
Click to expand it.
app_web/src/widgets/wfremodel/main-form/main-form-service.ts
浏览文件 @
6a90febc
...
...
@@ -282,8 +282,9 @@ export default class MainService extends ControlService {
public
loadDraft
(
action
:
string
,
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
const
{
data
:
Data
,
context
:
Context
}
=
this
.
handleRequestData
(
action
,
context
,
data
);
//仿真主键数据
Data
.
id
=
Util
.
createUUID
();
Data
.
wfremodel
=
Data
.
id
;
const
PrimaryKey
=
Util
.
createUUID
();
Data
.
id
=
PrimaryKey
;
Data
.
wfremodel
=
PrimaryKey
;
return
new
Promise
((
resolve
:
any
,
reject
:
any
)
=>
{
let
result
:
Promise
<
any
>
;
const
_appEntityService
:
any
=
this
.
appEntityService
;
...
...
@@ -293,6 +294,7 @@ export default class MainService extends ControlService {
result
=
this
.
appEntityService
.
GetDraft
(
Context
,
Data
,
isloading
);
}
result
.
then
((
response
)
=>
{
response
.
data
.
id
=
PrimaryKey
;
this
.
handleResponse
(
action
,
response
,
true
);
resolve
(
response
);
}).
catch
(
response
=>
{
...
...
This diff is collapsed.
Click to expand it.
app_web/src/widgets/wfuser/default-searchform/default-searchform-service.ts
浏览文件 @
6a90febc
...
...
@@ -282,8 +282,9 @@ export default class DefaultService extends ControlService {
public
loadDraft
(
action
:
string
,
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
const
{
data
:
Data
,
context
:
Context
}
=
this
.
handleRequestData
(
action
,
context
,
data
);
//仿真主键数据
Data
.
id
=
Util
.
createUUID
();
Data
.
wfuser
=
Data
.
id
;
const
PrimaryKey
=
Util
.
createUUID
();
Data
.
id
=
PrimaryKey
;
Data
.
wfuser
=
PrimaryKey
;
return
new
Promise
((
resolve
:
any
,
reject
:
any
)
=>
{
let
result
:
Promise
<
any
>
;
const
_appEntityService
:
any
=
this
.
appEntityService
;
...
...
@@ -293,6 +294,7 @@ export default class DefaultService extends ControlService {
result
=
this
.
appEntityService
.
GetDraft
(
Context
,
Data
,
isloading
);
}
result
.
then
((
response
)
=>
{
response
.
data
.
id
=
PrimaryKey
;
this
.
handleResponse
(
action
,
response
,
true
);
resolve
(
response
);
}).
catch
(
response
=>
{
...
...
This diff is collapsed.
Click to expand it.
app_web/src/widgets/wfuser/main-form/main-form-base.vue
浏览文件 @
6a90febc
...
...
@@ -861,8 +861,12 @@ export default class MainBase extends Vue implements ControlInterface {
this
.
load
(
data
);
}
if
(
Object
.
is
(
'loaddraft'
,
action
))
{
if
(
this
.
context
.
srfsourcekey
){
this
.
copy
(
this
.
context
.
srfsourcekey
);
}
else
{
this
.
loadDraft
(
data
);
}
}
if
(
Object
.
is
(
'save'
,
action
))
{
this
.
save
(
data
,
data
.
showResultInfo
);
}
...
...
@@ -925,8 +929,18 @@ export default class MainBase extends Vue implements ControlInterface {
* @param {*} [arg={}]
* @memberof @memberof Main
*/
public
copy
(
arg
:
any
=
{}):
void
{
this
.
loadDraft
(
arg
);
public
copy
(
srfkey
:
string
):
void
{
let
copyData
=
this
.
$store
.
getters
.
getCopyData
(
srfkey
);
copyData
.
srfkey
=
Util
.
createUUID
();
copyData
.
wfuser
=
copyData
.
srfkey
;
copyData
.
id
=
copyData
.
srfkey
;
Object
.
assign
(
this
.
context
,{
wfuser
:
copyData
.
wfuser
})
this
.
data
=
copyData
;
this
.
$nextTick
(()
=>
{
this
.
formState
.
next
({
type
:
'load'
,
data
:
copyData
});
this
.
data
.
srfuf
=
'0'
;
this
.
setFormEnableCond
(
this
.
data
);
});
}
/**
...
...
This diff is collapsed.
Click to expand it.
app_web/src/widgets/wfuser/main-form/main-form-service.ts
浏览文件 @
6a90febc
...
...
@@ -282,8 +282,9 @@ export default class MainService extends ControlService {
public
loadDraft
(
action
:
string
,
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
const
{
data
:
Data
,
context
:
Context
}
=
this
.
handleRequestData
(
action
,
context
,
data
);
//仿真主键数据
Data
.
id
=
Util
.
createUUID
();
Data
.
wfuser
=
Data
.
id
;
const
PrimaryKey
=
Util
.
createUUID
();
Data
.
id
=
PrimaryKey
;
Data
.
wfuser
=
PrimaryKey
;
return
new
Promise
((
resolve
:
any
,
reject
:
any
)
=>
{
let
result
:
Promise
<
any
>
;
const
_appEntityService
:
any
=
this
.
appEntityService
;
...
...
@@ -293,6 +294,7 @@ export default class MainService extends ControlService {
result
=
this
.
appEntityService
.
GetDraft
(
Context
,
Data
,
isloading
);
}
result
.
then
((
response
)
=>
{
response
.
data
.
id
=
PrimaryKey
;
this
.
handleResponse
(
action
,
response
,
true
);
resolve
(
response
);
}).
catch
(
response
=>
{
...
...
This diff is collapsed.
Click to expand it.
app_web/src/widgets/wfuser/main-grid/main-grid-service.ts
浏览文件 @
6a90febc
...
...
@@ -264,7 +264,7 @@ export default class MainService extends ControlService {
if
(
response
.
data
){
Object
.
assign
(
response
.
data
,{
srfuf
:
'0'
});
//仿真主键数据
response
.
data
.
wfuser
=
Util
.
createUUID
();
response
.
data
.
id
=
Util
.
createUUID
();
}
this
.
handleResponse
(
action
,
response
,
true
);
this
.
mergeDefaults
(
response
);
...
...
This diff is collapsed.
Click to expand it.
ibzwf-app/ibzwf-app-web/src/main/docker/ibzwf-app-web.yaml
浏览文件 @
6a90febc
...
...
@@ -14,3 +14,4 @@ networks:
agent_network
:
driver
:
overlay
attachable
:
true
This diff is collapsed.
Click to expand it.
ibzwf-app/ibzwf-app-web/src/main/java/cn/ibizlab/web/config/webSecurityConfig.java
浏览文件 @
6a90febc
...
...
@@ -42,6 +42,9 @@ public class webSecurityConfig extends WebSecurityConfigurerAdapter {
@Value
(
"${ibiz.auth.path:v7/login}"
)
private
String
loginPath
;
@Value
(
"${ibiz.auth.logoutpath:v7/logout}"
)
private
String
logoutPath
;
@Value
(
"${ibiz.file.uploadpath:ibizutil/upload}"
)
private
String
uploadpath
;
...
...
@@ -107,6 +110,8 @@ public class webSecurityConfig extends WebSecurityConfigurerAdapter {
).
permitAll
()
//放行登录请求
.
antMatchers
(
HttpMethod
.
POST
,
"/"
+
loginPath
).
permitAll
()
//放行注销请求
.
antMatchers
(
HttpMethod
.
GET
,
"/"
+
logoutPath
).
permitAll
()
// 文件操作
.
antMatchers
(
"/"
+
downloadpath
+
"/**"
).
permitAll
()
.
antMatchers
(
"/"
+
uploadpath
).
permitAll
()
...
...
This diff is collapsed.
Click to expand it.
ibzwf-app/ibzwf-app-web/src/main/resources/application-web-prod.yml
浏览文件 @
6a90febc
server
:
port
:
8080
port
:
30003
#zuul网关路由设置
zuul
:
routes
:
...
...
This diff is collapsed.
Click to expand it.
ibzwf-boot/src/main/java/cn/ibizlab/config/DevBootSecurityConfig.java
浏览文件 @
6a90febc
...
...
@@ -41,6 +41,9 @@ public class DevBootSecurityConfig extends WebSecurityConfigurerAdapter {
@Value
(
"${ibiz.auth.path:v7/login}"
)
private
String
loginPath
;
@Value
(
"${ibiz.auth.logoutpath:v7/logout}"
)
private
String
logoutPath
;
@Value
(
"${ibiz.file.uploadpath:ibizutil/upload}"
)
private
String
uploadpath
;
...
...
@@ -102,6 +105,8 @@ public class DevBootSecurityConfig extends WebSecurityConfigurerAdapter {
).
permitAll
()
//放行登录请求
.
antMatchers
(
HttpMethod
.
POST
,
"/"
+
loginPath
).
permitAll
()
//放行注销请求
.
antMatchers
(
HttpMethod
.
GET
,
"/"
+
logoutPath
).
permitAll
()
// 文件操作
.
antMatchers
(
"/"
+
downloadpath
+
"/**"
).
permitAll
()
.
antMatchers
(
"/"
+
uploadpath
).
permitAll
()
...
...
This diff is collapsed.
Click to expand it.
ibzwf-boot/src/main/resources/application-dev.yml
浏览文件 @
6a90febc
server
:
port
:
8080
#zuul网关路由设置
zuul
:
routes
:
...
...
This diff is collapsed.
Click to expand it.
ibzwf-core/src/main/resources/permission/systemResource.json
0 → 100644
浏览文件 @
6a90febc
{
"unires"
:[
],
"predefineddatarange"
:[{
"id"
:
"ALL"
,
"name"
:
"全部数据"
},{
"id"
:
"CURORG"
,
"name"
:
"当前单位"
},{
"id"
:
"PORG"
,
"name"
:
"上级单位"
},{
"id"
:
"SORG"
,
"name"
:
"下级单位"
},{
"id"
:
"CURORGDEPT"
,
"name"
:
"当前部门"
},{
"id"
:
"PORGDEPT"
,
"name"
:
"上级部门"
},{
"id"
:
"SORGDEPT"
,
"name"
:
"下级部门"
}],
"entities"
:[
],
"appmenus"
:[
{
"appid"
:
"web"
,
"appname"
:
"统一工作流"
,
"appmenu"
:[{
"menuid"
:
"WFIndexView"
,
"menuname"
:
"WFIndexView"
,
"menuitem"
:[{
"id"
:
"menuitem1"
,
"name"
:
"流程定义"
},{
"id"
:
"menuitem3"
,
"name"
:
"发布新流程"
},{
"id"
:
"menuitem2"
,
"name"
:
"用户组"
}]
}]
}
]
}
This diff is collapsed.
Click to expand it.
ibzwf-dependencies/pom.xml
0 → 100644
浏览文件 @
6a90febc
<?xml version="1.0" encoding="UTF-8"?>
<project
xmlns=
"http://maven.apache.org/POM/4.0.0"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
>
<modelVersion>
4.0.0
</modelVersion>
<artifactId>
ibzwf-dependencies
</artifactId>
<groupId>
cn.ibizlab
</groupId>
<version>
1.0.0.0
</version>
<name>
Ibzwf Dependencies
</name>
<packaging>
pom
</packaging>
<description>
Ibzwf Dependencies
</description>
<!-- Spring Boot -->
<parent>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-parent
</artifactId>
<version>
2.2.1.RELEASE
</version>
</parent>
<properties>
<!-- Spring Cloud Alibaba(2.1.x.RELEASE) & Spring Cloud(Spring Cloud Greenwich) & Spring Boot(2.1.x.RELEASE) compatibility -->
<spring-cloud-alibaba.version>
2.1.1.RELEASE
</spring-cloud-alibaba.version>
<spring-cloud-openfeign.version>
2.2.1.RELEASE
</spring-cloud-openfeign.version>
<!-- Alibaba Druid -->
<alibaba-druid.version>
1.1.16
</alibaba-druid.version>
<!-- Mybatis Plus -->
<mybatis-plus.version>
3.3.1
</mybatis-plus.version>
<mybatis-plus-dynamic-datasource.version>
3.0.0
</mybatis-plus-dynamic-datasource.version>
<!-- Liquibase -->
<liquibase.version>
3.6.3
</liquibase.version>
<!-- Swagger2 -->
<springfox-swagger.version>
2.9.2
</springfox-swagger.version>
<!-- JBPM+Drools -->
<drools-version>
7.23.0.Final
</drools-version>
<!-- Error -->
<zalando-problem-spring-web.version>
0.23.0
</zalando-problem-spring-web.version>
<!-- Security -->
<spring-cloud-security.version>
2.1.1.RELEASE
</spring-cloud-security.version>
<!-- Activity -->
<activiti.version>
7.1.0.M2
</activiti.version>
<maven-jar-plugin.version>
3.1.1
</maven-jar-plugin.version>
<!--logstash-logback-encoder-->
<logstash.version>
5.2
</logstash.version>
<!--Zuul网关-->
<spring-cloud-starter-netflix-zuul.version>
2.2.1.RELEASE
</spring-cloud-starter-netflix-zuul.version>
<!--MapStruct高性能属性映射工具-->
<mapstruct.version>
1.3.0.Final
</mapstruct.version>
<!--Java Web Token-->
<jsonwebtoken-jjwt.version>
0.9.1
</jsonwebtoken-jjwt.version>
<!--Liquibase数据库版本更新工具-->
<liquibase.version>
3.6.3
</liquibase.version>
<!--caffeine缓存-->
<caffeine-cache.version>
2.6.0
</caffeine-cache.version>
<!--反序列化工具-->
<kryo.version>
4.0.2
</kryo.version>
</properties>
<dependencyManagement>
<dependencies>
<!-- Alibaba Cloud -->
<dependency>
<groupId>
com.alibaba.cloud
</groupId>
<artifactId>
spring-cloud-alibaba-dependencies
</artifactId>
<version>
${spring-cloud-alibaba.version}
</version>
<type>
pom
</type>
<scope>
import
</scope>
</dependency>
<!-- Spring Cloud -->
<dependency>
<groupId>
org.springframework.cloud
</groupId>
<artifactId>
spring-cloud-openfeign-dependencies
</artifactId>
<version>
${spring-cloud-openfeign.version}
</version>
<type>
pom
</type>
<scope>
import
</scope>
</dependency>
<!-- Alibaba Druid -->
<dependency>
<groupId>
com.alibaba
</groupId>
<artifactId>
druid
</artifactId>
<version>
${alibaba-druid.version}
</version>
</dependency>
<dependency>
<groupId>
com.alibaba
</groupId>
<artifactId>
druid-spring-boot-starter
</artifactId>
<version>
${alibaba-druid.version}
</version>
</dependency>
<!-- Mybatis Plus -->
<dependency>
<groupId>
com.baomidou
</groupId>
<artifactId>
mybatis-plus-boot-starter
</artifactId>
<version>
${mybatis-plus.version}
</version>
</dependency>
<dependency>
<groupId>
com.baomidou
</groupId>
<artifactId>
dynamic-datasource-spring-boot-starter
</artifactId>
<version>
${mybatis-plus-dynamic-datasource.version}
</version>
</dependency>
<!-- Liquibase -->
<dependency>
<groupId>
org.liquibase
</groupId>
<artifactId>
liquibase-core
</artifactId>
<version>
${liquibase.version}
</version>
</dependency>
<!-- Swagger2 -->
<dependency>
<groupId>
io.springfox
</groupId>
<artifactId>
springfox-swagger2
</artifactId>
<version>
${springfox-swagger.version}
</version>
</dependency>
<dependency>
<groupId>
io.springfox
</groupId>
<artifactId>
springfox-swagger-ui
</artifactId>
<version>
${springfox-swagger.version}
</version>
</dependency>
<!-- JBPM -->
<dependency>
<groupId>
org.jbpm
</groupId>
<artifactId>
jbpm-flow-builder
</artifactId>
<version>
${drools-version}
</version>
</dependency>
<dependency>
<groupId>
org.jbpm
</groupId>
<artifactId>
jbpm-bpmn2
</artifactId>
<version>
${drools-version}
</version>
</dependency>
<!-- Drools -->
<dependency>
<groupId>
org.drools
</groupId>
<artifactId>
drools-compiler
</artifactId>
<version>
${drools-version}
</version>
</dependency>
<dependency>
<groupId>
org.drools
</groupId>
<artifactId>
drools-core
</artifactId>
<version>
${drools-version}
</version>
</dependency>
<dependency>
<groupId>
org.kie
</groupId>
<artifactId>
kie-spring
</artifactId>
<version>
${drools-version}
</version>
</dependency>
<dependency>
<groupId>
org.kie
</groupId>
<artifactId>
kie-api
</artifactId>
<version>
${drools-version}
</version>
</dependency>
<!-- Activiti -->
<dependency>
<groupId>
org.activiti
</groupId>
<artifactId>
activiti-spring-boot-starter
</artifactId>
<version>
${activiti.version}
</version>
</dependency>
<dependency>
<groupId>
org.activiti
</groupId>
<artifactId>
activiti-json-converter
</artifactId>
<version>
${activiti.version}
</version>
</dependency>
<dependency>
<groupId>
org.activiti
</groupId>
<artifactId>
activiti-image-generator
</artifactId>
<version>
${activiti.version}
</version>
</dependency>
<!-- Error -->
<!-- Security -->
<dependency>
<groupId>
net.logstash.logback
</groupId>
<artifactId>
logstash-logback-encoder
</artifactId>
<version>
${logstash.version}
</version>
</dependency>
<dependency>
<groupId>
org.springframework.cloud
</groupId>
<artifactId>
spring-cloud-starter-netflix-zuul
</artifactId>
<version>
${spring-cloud-starter-netflix-zuul.version}
</version>
</dependency>
<dependency>
<groupId>
org.mapstruct
</groupId>
<artifactId>
mapstruct-jdk8
</artifactId>
<version>
${mapstruct.version}
</version>
</dependency>
<dependency>
<groupId>
org.mapstruct
</groupId>
<artifactId>
mapstruct-processor
</artifactId>
<version>
${mapstruct.version}
</version>
</dependency>
<dependency>
<groupId>
org.springframework.cloud
</groupId>
<artifactId>
spring-cloud-starter-security
</artifactId>
<version>
${spring-cloud-security.version}
</version>
</dependency>
<dependency>
<groupId>
io.jsonwebtoken
</groupId>
<artifactId>
jjwt
</artifactId>
<version>
${jsonwebtoken-jjwt.version}
</version>
</dependency>
<dependency>
<groupId>
com.alibaba
</groupId>
<artifactId>
druid-spring-boot-starter
</artifactId>
<version>
${alibaba-druid.version}
</version>
</dependency>
<dependency>
<groupId>
org.zalando
</groupId>
<artifactId>
problem-spring-web
</artifactId>
<version>
${zalando-problem-spring-web.version}
</version>
</dependency>
<dependency>
<groupId>
com.github.ben-manes.caffeine
</groupId>
<artifactId>
caffeine
</artifactId>
<version>
${caffeine-cache.version}
</version>
</dependency>
<dependency>
<groupId>
com.esotericsoftware
</groupId>
<artifactId>
kryo-shaded
</artifactId>
<version>
${kryo.version}
</version>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<!-- Spring Boot -->
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-web
</artifactId>
</dependency>
<!-- Spring Cloud -->
<dependency>
<groupId>
org.springframework.cloud
</groupId>
<artifactId>
spring-cloud-starter-openfeign
</artifactId>
</dependency>
<!-- Alibaba Nacos -->
<dependency>
<groupId>
com.alibaba.cloud
</groupId>
<artifactId>
spring-cloud-starter-alibaba-nacos-discovery
</artifactId>
</dependency>
<!-- Alibaba Sentinel -->
<dependency>
<groupId>
com.alibaba.cloud
</groupId>
<artifactId>
spring-cloud-starter-alibaba-sentinel
</artifactId>
</dependency>
<!-- Lombok -->
<dependency>
<groupId>
org.projectlombok
</groupId>
<artifactId>
lombok
</artifactId>
</dependency>
<!-- Httpclient -->
<dependency>
<groupId>
org.apache.httpcomponents
</groupId>
<artifactId>
httpclient
</artifactId>
</dependency>
<!-- MySQL驱动包 -->
<dependency>
<groupId>
mysql
</groupId>
<artifactId>
mysql-connector-java
</artifactId>
</dependency>
<!-- 阿里Druid数据源 -->
<dependency>
<groupId>
com.alibaba
</groupId>
<artifactId>
druid-spring-boot-starter
</artifactId>
</dependency>
<!-- Error -->
<!-- Security -->
</dependencies>
</project>
This diff is collapsed.
Click to expand it.
ibzwf-provider/ibzwf-provider-api/src/main/docker/ibzwf-provider-api.yaml
浏览文件 @
6a90febc
...
...
@@ -14,3 +14,4 @@ networks:
agent_network
:
driver
:
overlay
attachable
:
true
This diff is collapsed.
Click to expand it.
ibzwf-provider/ibzwf-provider-api/src/main/resources/application-api-prod.yml
浏览文件 @
6a90febc
server
:
port
:
8081
port
:
40003
This diff is collapsed.
Click to expand it.
ibzwf-util/pom.xml
0 → 100644
浏览文件 @
6a90febc
<?xml version="1.0" encoding="UTF-8"?>
<project
xmlns=
"http://maven.apache.org/POM/4.0.0"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
>
<modelVersion>
4.0.0
</modelVersion>
<parent>
<artifactId>
ibzwf
</artifactId>
<groupId>
cn.ibizlab
</groupId>
<version>
1.0.0.0
</version>
</parent>
<artifactId>
ibzwf-util
</artifactId>
<name>
Ibzwf Util
</name>
<description>
Ibzwf Util
</description>
<dependencies>
<dependency>
<groupId>
org.springframework.data
</groupId>
<artifactId>
spring-data-commons
</artifactId>
</dependency>
<dependency>
<groupId>
org.springframework.security
</groupId>
<artifactId>
spring-security-core
</artifactId>
</dependency>
<dependency>
<groupId>
net.logstash.logback
</groupId>
<artifactId>
logstash-logback-encoder
</artifactId>
</dependency>
<dependency>
<groupId>
com.baomidou
</groupId>
<artifactId>
mybatis-plus-boot-starter
</artifactId>
</dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-data-mongodb
</artifactId>
</dependency>
<dependency>
<groupId>
org.springframework.cloud
</groupId>
<artifactId>
spring-cloud-starter-security
</artifactId>
</dependency>
<dependency>
<groupId>
io.jsonwebtoken
</groupId>
<artifactId>
jjwt
</artifactId>
</dependency>
<dependency>
<groupId>
org.zalando
</groupId>
<artifactId>
problem-spring-web
</artifactId>
</dependency>
<dependency>
<groupId>
com.github.ben-manes.caffeine
</groupId>
<artifactId>
caffeine
</artifactId>
</dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-data-redis
</artifactId>
</dependency>
<dependency>
<groupId>
com.esotericsoftware
</groupId>
<artifactId>
kryo-shaded
</artifactId>
</dependency>
<dependency>
<groupId>
org.apache.commons
</groupId>
<artifactId>
commons-pool2
</artifactId>
</dependency>
<!-- Swagger2 -->
<dependency>
<groupId>
io.springfox
</groupId>
<artifactId>
springfox-swagger2
</artifactId>
</dependency>
<dependency>
<groupId>
io.springfox
</groupId>
<artifactId>
springfox-swagger-ui
</artifactId>
</dependency>
</dependencies>
</project>
This diff is collapsed.
Click to expand it.
ibzwf-util/src/main/java/cn/ibizlab/util/cache/CaffeineCacheConfig.java
浏览文件 @
6a90febc
...
...
@@ -4,7 +4,7 @@ import com.github.benmanes.caffeine.cache.CaffeineSpec;
import
cn.ibizlab.util.cache.cacheManager.CaffeineCacheManager
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.autoconfigure.cache.CacheProperties
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOn
Property
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOn
Expression
;
import
org.springframework.boot.context.properties.EnableConfigurationProperties
;
import
org.springframework.cache.CacheManager
;
import
org.springframework.cache.annotation.EnableCaching
;
...
...
@@ -19,7 +19,7 @@ import org.springframework.util.StringUtils;
@EnableCaching
@Configuration
@EnableConfigurationProperties
(
CacheProperties
.
class
)
@ConditionalOn
Property
(
"ibiz.enableCaffeineCache
"
)
@ConditionalOn
Expression
(
"'${ibiz.cacheLevel:None}'.equals('L1')
"
)
public
class
CaffeineCacheConfig
{
@Autowired
...
...
This diff is collapsed.
Click to expand it.
ibzwf-util/src/main/java/cn/ibizlab/util/cache/RedisCacheConfig.java
浏览文件 @
6a90febc
...
...
@@ -11,7 +11,7 @@ import cn.ibizlab.util.cache.redis.StringRedisSerializer;
import
cn.ibizlab.util.enums.RedisChannelTopic
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.autoconfigure.cache.CacheProperties
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOn
Property
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOn
Expression
;
import
org.springframework.boot.context.properties.EnableConfigurationProperties
;
import
org.springframework.cache.CacheManager
;
import
org.springframework.cache.annotation.EnableCaching
;
...
...
@@ -36,7 +36,7 @@ import org.springframework.util.StringUtils;
@EnableCaching
@Configuration
@EnableConfigurationProperties
(
CacheProperties
.
class
)
@ConditionalOn
Property
(
"ibiz.enableRedisCache
"
)
@ConditionalOn
Expression
(
"'${ibiz.cacheLevel:None}'.equals('L2')
"
)
public
class
RedisCacheConfig
{
@Autowired
...
...
This diff is collapsed.
Click to expand it.
ibzwf-util/src/main/java/cn/ibizlab/util/cache/cacheManager/CaffeineCacheManager.java
浏览文件 @
6a90febc
...
...
@@ -3,7 +3,7 @@ package cn.ibizlab.util.cache.cacheManager;
import
com.github.benmanes.caffeine.cache.Caffeine
;
import
com.github.benmanes.caffeine.cache.CaffeineSpec
;
import
lombok.Data
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOn
Property
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOn
Expression
;
import
org.springframework.cache.Cache
;
import
org.springframework.cache.CacheManager
;
import
org.springframework.cache.caffeine.CaffeineCache
;
...
...
@@ -22,7 +22,7 @@ import java.util.concurrent.TimeUnit;
*/
@Data
@Component
@ConditionalOn
Property
(
"ibiz.enableCaffeineCache
"
)
@ConditionalOn
Expression
(
"'${ibiz.cacheLevel:None}'.equals('L1')
"
)
public
class
CaffeineCacheManager
implements
CacheManager
{
private
static
final
int
DEFAULT_EXPIRE_AFTER_WRITE
=
1
;
...
...
This diff is collapsed.
Click to expand it.
ibzwf-util/src/main/java/cn/ibizlab/util/cache/cacheManager/LayeringCacheManager.java
浏览文件 @
6a90febc
...
...
@@ -5,7 +5,7 @@ import com.github.benmanes.caffeine.cache.CaffeineSpec;
import
lombok.Data
;
import
cn.ibizlab.util.cache.cache.LayeringCache
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOn
Property
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOn
Expression
;
import
org.springframework.cache.Cache
;
import
org.springframework.cache.CacheManager
;
import
org.springframework.data.redis.cache.RedisCacheConfiguration
;
...
...
@@ -27,7 +27,7 @@ import java.util.concurrent.TimeUnit;
*/
@Data
@Component
@ConditionalOn
Property
(
"ibiz.enableRedisCache
"
)
@ConditionalOn
Expression
(
"'${ibiz.cacheLevel:None}'.equals('L2')
"
)
public
class
LayeringCacheManager
implements
CacheManager
{
private
static
final
int
DEFAULT_EXPIRE_AFTER_WRITE
=
1
;
...
...
This diff is collapsed.
Click to expand it.
ibzwf-util/src/main/java/cn/ibizlab/util/cache/listener/RedisMessageListener.java
浏览文件 @
6a90febc
...
...
@@ -5,7 +5,7 @@ import cn.ibizlab.util.enums.RedisChannelTopic;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOn
Property
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOn
Expression
;
import
org.springframework.cache.Cache
;
import
org.springframework.cache.CacheManager
;
import
org.springframework.data.redis.connection.Message
;
...
...
@@ -22,7 +22,7 @@ import java.util.Map;
*/
@Component
@ConditionalOn
Property
(
"ibiz.enableRedisCache
"
)
@ConditionalOn
Expression
(
"'${ibiz.cacheLevel:None}'.equals('L2')
"
)
public
class
RedisMessageListener
extends
MessageListenerAdapter
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
RedisPublisher
.
class
);
@Autowired
...
...
This diff is collapsed.
Click to expand it.
ibzwf-util/src/main/java/cn/ibizlab/util/client/IBZUAAFallback.java
浏览文件 @
6a90febc
...
...
@@ -3,13 +3,14 @@ package cn.ibizlab.util.client;
import
cn.ibizlab.util.security.AuthenticationUser
;
import
cn.ibizlab.util.security.AuthorizationLogin
;
import
org.springframework.stereotype.Component
;
import
com.alibaba.fastjson.JSONObject
;
import
java.util.Map
;
@Component
public
class
IBZUAAFallback
implements
IBZUAAFeignClient
{
@Override
public
Map
<
String
,
Object
>
pushSystemPermissionData
(
Map
<
String
,
Object
>
systemPermissionData
,
String
systemId
)
{
public
JSONObject
pushSystemPermissionData
(
Map
<
String
,
Object
>
systemPermissionData
,
String
systemId
)
{
return
null
;
}
...
...
This diff is collapsed.
Click to expand it.
ibzwf-util/src/main/java/cn/ibizlab/util/client/IBZUAAFeignClient.java
浏览文件 @
6a90febc
...
...
@@ -4,6 +4,7 @@ import cn.ibizlab.util.security.AuthenticationUser;
import
cn.ibizlab.util.security.AuthorizationLogin
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.web.bind.annotation.*
;
import
com.alibaba.fastjson.JSONObject
;
import
java.util.Map
;
@FeignClient
(
value
=
"ibzuaa-api"
,
fallback
=
IBZUAAFallback
.
class
)
...
...
@@ -16,7 +17,7 @@ public interface IBZUAAFeignClient
* @return
*/
@PostMapping
(
"/uaa/permission/save"
)
Map
<
String
,
Object
>
pushSystemPermissionData
(
@RequestBody
Map
<
String
,
Object
>
systemPermissionData
,
@RequestParam
(
"systemid"
)
String
systemId
);
JSONObject
pushSystemPermissionData
(
@RequestBody
Map
<
String
,
Object
>
systemPermissionData
,
@RequestParam
(
"systemid"
)
String
systemId
);
/**
* 用户登录
...
...
This diff is collapsed.
Click to expand it.
ibzwf-util/src/main/java/cn/ibizlab/util/job/PermissionSyncJob.java
浏览文件 @
6a90febc
...
...
@@ -39,15 +39,20 @@ public class PermissionSyncJob implements ApplicationRunner {
public
void
run
(
ApplicationArguments
args
)
{
if
(
enablePermissionValid
){
try
{
InputStream
permission
=
this
.
getClass
().
getResourceAsStream
(
"/
deprivs/DEPrivs
.json"
);
//获取当前系统所有实体资源能力
InputStream
permission
=
this
.
getClass
().
getResourceAsStream
(
"/
permission/systemResource
.json"
);
//获取当前系统所有实体资源能力
String
permissionResult
=
IOUtils
.
toString
(
permission
,
"UTF-8"
);
JSONObject
jsonNodePermission
=
JSONObject
.
parseObject
(
permissionResult
);
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"permission"
,
jsonNodePermission
);
client
.
pushSystemPermissionData
(
map
,
systemId
);
JSONObject
syncResult
=
client
.
pushSystemPermissionData
(
map
,
systemId
);
if
(
syncResult
.
getInteger
(
"code"
)==
1
){
log
.
info
(
"向[UAA]同步系统资源成功"
);
}
else
{
log
.
info
(
String
.
format
(
"向[UAA]同步系统资源失败,失败原因为[%s]"
,
syncResult
.
getString
(
"msg"
)));
}
}
catch
(
Exception
ex
)
{
log
.
error
(
String
.
format
(
"向
UAA同步数据发生错误,请检查UAA
服务是否正常! [%s]"
,
ex
));
log
.
error
(
String
.
format
(
"向
[UAA]同步系统资源失败,请检查[UAA]
服务是否正常! [%s]"
,
ex
));
}
}
}
...
...
This diff is collapsed.
Click to expand it.
ibzwf-util/src/main/java/cn/ibizlab/util/rest/AppController.java
浏览文件 @
6a90febc
...
...
@@ -9,7 +9,9 @@ import org.springframework.web.bind.annotation.RequestMapping;
import
org.springframework.web.bind.annotation.RequestMethod
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
cn.ibizlab.util.security.AuthenticationUser
;
import
cn.ibizlab.util.service.AuthenticationUserService
;
@RestController
@RequestMapping
(
value
=
""
)
...
...
@@ -18,19 +20,32 @@ public class AppController {
@Value
(
"${ibiz.enablePermissionValid:false}"
)
boolean
enablePermissionValid
;
//是否开启权限校验
@Autowired
private
AuthenticationUserService
userDetailsService
;
@RequestMapping
(
method
=
RequestMethod
.
GET
,
value
=
"/appdata"
)
public
ResponseEntity
<
JSONObject
>
getAppData
()
{
JSONObject
appData
=
new
JSONObject
()
;
JSONArray
uniRes
=
new
JSONArray
();
JSONArray
appMenu
=
new
JSONArray
();
if
(
enablePermissionValid
){
JSONObject
userPermission
=
AuthenticationUser
.
getAuthenticationUser
().
getPermissionList
();
if
(!
ObjectUtils
.
isEmpty
(
userPermission
)){
uniRes
=
userPermission
.
getJSONArray
(
"unires"
);
appMenu
=
userPermission
.
getJSONArray
(
"appmenu"
);
}
}
appData
.
put
(
"unires"
,
uniRes
);
appData
.
put
(
"appmenu"
,
appMenu
);
appData
.
put
(
"enablepermissionvalid"
,
enablePermissionValid
);
return
ResponseEntity
.
status
(
HttpStatus
.
OK
).
body
(
appData
);
}
@RequestMapping
(
method
=
RequestMethod
.
GET
,
value
=
"${ibiz.auth.logoutpath:v7/logout}"
)
public
void
logout
()
{
if
(
AuthenticationUser
.
getAuthenticationUser
()!=
null
){
userDetailsService
.
resetByUsername
(
AuthenticationUser
.
getAuthenticationUser
().
getUsername
());
}
}
}
This diff is collapsed.
Click to expand it.
ibzwf-util/src/main/resources/application-sys.yml
浏览文件 @
6a90febc
...
...
@@ -78,9 +78,9 @@ ribbon:
ConnectTimeout
:
60000
#系统是否开启权限验证、是否开启缓存
#缓存
模式:关闭缓存(无配置项)、本地缓存(enableCaffeineCache=true-默认)、caffeine+redis两级缓存(enableRedisCache=true
)
#缓存
级别:无缓存(无配置项)、一级缓存(L1)、二级缓存(L2
)
ibiz
:
enablePermissionValid
:
true
enableCaffeineCache
:
true
#
enableRedisCache: true
cacheLevel
:
L1
#一级缓存,本地caffeine缓存
#
cacheLevel: L2 #二级缓存,本地caffeine缓存+Redis缓存
This diff is collapsed.
Click to expand it.
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录