Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
I
ibzwf
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
ibiz4jteam
ibzwf
提交
06788533
提交
06788533
编写于
6月 08, 2020
作者:
ibizdev
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
ibiz4j 发布系统代码
上级
21ea988f
变更
40
隐藏空白字符变更
内嵌
并排
正在显示
40 个修改的文件
包含
944 行增加
和
671 行删除
+944
-671
app-register.ts
app_web/src/app-register.ts
+2
-0
app-autocomplete.vue
app_web/src/components/app-autocomplete/app-autocomplete.vue
+20
-12
app-breadcrumb.vue
app_web/src/components/app-breadcrumb/app-breadcrumb.vue
+30
-37
app-checkbox-list.vue
...eb/src/components/app-checkbox-list/app-checkbox-list.vue
+22
-14
app-embed-picker.vue
app_web/src/components/app-embed-picker/app-embed-picker.vue
+26
-22
app-mpicker.vue
app_web/src/components/app-mpicker/app-mpicker.vue
+22
-14
app-picker-select-view.vue
...ponents/app-picker-select-view/app-picker-select-view.vue
+58
-53
app-picker.vue
app_web/src/components/app-picker/app-picker.vue
+14
-9
app-radio-group.vue
app_web/src/components/app-radio-group/app-radio-group.vue
+22
-14
app-span.vue
app_web/src/components/app-span/app-span.vue
+12
-4
app-transfer.less
app_web/src/components/app-transfer/app-transfer.less
+6
-0
app-transfer.vue
app_web/src/components/app-transfer/app-transfer.vue
+300
-0
app-tree-picker.vue
app_web/src/components/app-tree-picker/app-tree-picker.vue
+32
-28
codelist.vue
app_web/src/components/codelist/codelist.vue
+16
-8
context-menu.less
app_web/src/components/context-menu/context-menu.less
+5
-0
dropdown-list-dynamic.vue
...omponents/dropdown-list-dynamic/dropdown-list-dynamic.vue
+15
-7
dropdown-list-mpicker.vue
...omponents/dropdown-list-mpicker/dropdown-list-mpicker.vue
+16
-8
dropdown-list.vue
app_web/src/components/dropdown-list/dropdown-list.vue
+14
-6
tab-page-exp.less
app_web/src/components/tab-page-exp/tab-page-exp.less
+63
-109
tab-page-exp.vue
app_web/src/components/tab-page-exp/tab-page-exp.vue
+37
-15
edit-view-engine.ts
app_web/src/engine/view/edit-view-engine.ts
+4
-3
index.ts
app_web/src/locale/index.ts
+2
-1
en-US.ts
app_web/src/locale/lang/en-US.ts
+3
-0
zh-CN.ts
app_web/src/locale/lang/zh-CN.ts
+3
-0
wfgroup-mpickup-view-base.vue
...rkflow/wfgroup-mpickup-view/wfgroup-mpickup-view-base.vue
+3
-0
router.ts
app_web/src/pages/workflow/wfindex-view/router.ts
+66
-33
wfuser-mpickup-view-base.vue
...workflow/wfuser-mpickup-view/wfuser-mpickup-view-base.vue
+3
-0
shims-vue.d.ts
app_web/src/shims-vue.d.ts
+2
-1
default.less
app_web/src/styles/default.less
+6
-0
util.d.ts
app_web/src/utils/types/util.d.ts
+14
-0
util.ts
app_web/src/utils/util/util.ts
+38
-0
main-form-base.vue
app_web/src/widgets/wfmember/main-form/main-form-base.vue
+2
-1
main-form-base.vue
...widgets/wfprocess-definition/main-form/main-form-base.vue
+4
-2
WFHistory.java
.../main/java/cn/ibizlab/core/workflow/domain/WFHistory.java
+7
-61
WFProcessInstance.java
...va/cn/ibizlab/core/workflow/domain/WFProcessInstance.java
+7
-61
WFProcessNode.java
...n/java/cn/ibizlab/core/workflow/domain/WFProcessNode.java
+7
-26
WFREModel.java
.../main/java/cn/ibizlab/core/workflow/domain/WFREModel.java
+7
-19
WFTask.java
...src/main/java/cn/ibizlab/core/workflow/domain/WFTask.java
+7
-40
WFTaskWay.java
.../main/java/cn/ibizlab/core/workflow/domain/WFTaskWay.java
+7
-54
pom.xml
ibzwf-dependencies/pom.xml
+20
-9
未找到文件。
app_web/src/app-register.ts
浏览文件 @
06788533
...
...
@@ -77,6 +77,7 @@ import IBizGroupSelect from './components/ibiz-group-select/ibiz-group-select.vu
import
IBizGroupPicker
from
'./components/ibiz-group-picker/ibiz-group-picker.vue'
import
AppWFApproval
from
'./components/app-wf-approval/app-wf-approval.vue'
import
Breadcrumb
from
'./components/app-breadcrumb/app-breadcrumb.vue'
;
import
AppTransfer
from
'./components/app-transfer/app-transfer.vue'
// 全局挂载UI实体服务注册中心
window
[
'uiServiceRegister'
]
=
uiServiceRegister
;
...
...
@@ -163,5 +164,6 @@ export const AppComponents = {
v
.
component
(
'ibiz-group-picker'
,
IBizGroupPicker
);
v
.
component
(
'app-wf-approval'
,
AppWFApproval
);
v
.
component
(
'app-breadcrumb'
,
Breadcrumb
);
v
.
component
(
'app-transfer'
,
AppTransfer
);
},
};
\ No newline at end of file
app_web/src/components/app-autocomplete/app-autocomplete.vue
浏览文件 @
06788533
...
...
@@ -100,12 +100,20 @@ export default class AppAutocomplete extends Vue {
@
Prop
()
public
name
!
:
string
;
/**
*
编辑器
参数
*
* @type {
string
}
*
局部上下文导航
参数
*
* @type {
any
}
* @memberof AppAutocomplete
*/
@
Prop
()
public
itemParam
?:
any
;
@
Prop
()
public
localContext
!
:
any
;
/**
* 局部导航参数
*
* @type {any}
* @memberof AppAutocomplete
*/
@
Prop
()
public
localParam
!
:
any
;
/**
* 值项名称
...
...
@@ -119,7 +127,7 @@ export default class AppAutocomplete extends Vue {
* 值
*
* @type {*}
* @memberof App
Picker
* @memberof App
Autocomplete
*/
@
Model
(
'change'
)
public
value
?:
any
;
...
...
@@ -127,7 +135,7 @@ export default class AppAutocomplete extends Vue {
* 当前值
*
* @type {string}
* @memberof App
Picker
* @memberof App
Autocomplete
*/
public
curvalue
:
string
=
''
;
...
...
@@ -160,7 +168,7 @@ export default class AppAutocomplete extends Vue {
*
* @param {*} newVal
* @param {*} oldVal
* @memberof App
Picker
* @memberof App
Autocomplete
*/
@
Watch
(
'value'
)
public
onValueChange
(
newVal
:
any
,
oldVal
:
any
)
{
...
...
@@ -277,19 +285,19 @@ export default class AppAutocomplete extends Vue {
*/
public
handlePublicParams
(
arg
:
any
):
boolean
{
if
(
!
this
.
data
)
{
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'components.
appPicker.error'
)
as
any
),
desc
:
(
this
.
$t
(
'components.appPicker
.formdataException'
)
as
any
)
});
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'components.
AppAutocomplete.error'
)
as
any
),
desc
:
(
this
.
$t
(
'components.AppAutocomplete
.formdataException'
)
as
any
)
});
return
false
;
}
// 合并表单参数
arg
.
param
=
this
.
viewparams
?
JSON
.
parse
(
JSON
.
stringify
(
this
.
viewparams
))
:
{};
arg
.
context
=
this
.
context
?
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
))
:
{};
// 附加参数处理
if
(
this
.
itemParam
&&
this
.
itemParam
.
context
)
{
let
_context
=
this
.
$util
.
formatData
(
this
.
data
,
arg
.
context
,
this
.
itemParam
.
c
ontext
);
if
(
this
.
localContext
&&
Object
.
keys
(
this
.
localContext
).
length
>
0
)
{
let
_context
=
this
.
$util
.
computedNavData
(
this
.
data
,
arg
.
context
,
arg
.
param
,
this
.
localC
ontext
);
Object
.
assign
(
arg
.
context
,
_context
);
}
if
(
this
.
itemParam
&&
this
.
itemParam
.
param
)
{
let
_param
=
this
.
$util
.
formatData
(
this
.
data
,
arg
.
param
,
this
.
itemParam
.
p
aram
);
if
(
this
.
localParam
&&
Object
.
keys
(
this
.
localParam
).
length
>
0
)
{
let
_param
=
this
.
$util
.
computedNavData
(
this
.
data
,
arg
.
param
,
arg
.
param
,
this
.
localP
aram
);
Object
.
assign
(
arg
.
param
,
_param
);
}
return
true
;
...
...
app_web/src/components/app-breadcrumb/app-breadcrumb.vue
浏览文件 @
06788533
...
...
@@ -9,7 +9,7 @@
:key=
"item.path"
>
<span
v-if=
"i
tem.redirect === 'noredirect' || i
ndex === breadcrumbs.length-1"
v-if=
"index === breadcrumbs.length-1"
class=
"no-redirect"
>
{{
$t
(
item
.
meta
.
caption
)
}}
</span>
<a
...
...
@@ -22,64 +22,57 @@
</
template
>
<
script
lang=
"ts"
>
import
{
compile
}
from
'path-to-regexp'
import
{
Component
,
Vue
,
Watch
,
Prop
}
from
'vue-property-decorator'
import
{
RouteRecord
,
Route
}
from
'vue-router'
@
Component
({
name
:
'Breadcrumb'
})
export
default
class
extends
Vue
{
private
breadcrumbs
:
RouteRecord
[]
=
[]
export
default
class
Breadcrumb
extends
Vue
{
private
breadcrumbs
:
RouteRecord
[]
=
[];
//面包屑列表
@
Prop
()
public
defPSAppView
?:
any
;
@
Prop
()
public
defPSAppView
:
any
;
//默认视图
/**
* 监听路由
*
* @memberof Breadcrumb
*/
@
Watch
(
'$route'
)
private
onRouteChange
(
route
:
Route
)
{
// if you go to the redirect page, do not update the breadcrumbs
if
(
route
.
path
.
startsWith
(
'/redirect/'
))
{
return
}
this
.
getBreadcrumb
()
}
/**
* vue 生命周期
*
* @memberof Breadcrumb
*/
created
()
{
this
.
getBreadcrumb
()
}
/**
* 获取面包屑数据
*
* @memberof Breadcrumb
*/
private
getBreadcrumb
()
{
let
matched
=
this
.
$route
.
matched
.
filter
((
item
)
=>
item
.
meta
&&
item
.
meta
.
caption
)
const
first
=
matched
[
0
]
if
(
!
this
.
isDashboard
(
first
))
{
matched
=
[{
path
:
"/index/:index?"
,
meta
:
{
caption
:
'app.views.index.caption'
,
viewType
:
'APPINDEX'
,
parameters
:
[
{
pathName
:
'index'
,
parameterName
:
'index'
},
],
requireAuth
:
true
,
}
}
as
RouteRecord
].
concat
(
matched
)
}
this
.
breadcrumbs
=
matched
.
filter
((
item
)
=>
{
return
item
.
meta
&&
item
.
meta
.
caption
&&
item
.
meta
.
breadcrumb
!==
false
})
}
private
isDashboard
(
route
:
RouteRecord
)
{
const
name
=
route
&&
route
.
meta
.
parameters
[
0
].
pathName
;
if
(
!
name
)
{
return
false
this
.
breadcrumbs
=
this
.
$route
.
matched
.
filter
((
item
)
=>
{
return
item
.
meta
&&
item
.
meta
.
caption
})
if
(
this
.
defPSAppView
){
/**如果配置了默认视图,给面包屑第一级赋值默认视图为首页 */
}
return
name
.
trim
().
toLocaleLowerCase
()
===
'index'
.
toLocaleLowerCase
()
}
private
pathCompile
(
item
:
any
)
{
const
{
params
,
path
,
query
}
=
item
;
return
{
params
,
path
,
query
};
}
/**
* 单机面包屑
*
* @memberof Breadcrumb
*/
private
handleLink
(
item
:
any
)
{
this
.
$router
.
push
(
this
.
pathCompile
(
item
)
).
catch
(
err
=>
{
this
.
$router
.
push
(
item
).
catch
(
err
=>
{
console
.
warn
(
err
);
});
}
...
...
app_web/src/components/app-checkbox-list/app-checkbox-list.vue
浏览文件 @
06788533
...
...
@@ -57,23 +57,31 @@ export default class AppCheckBox extends Vue {
* 传入表单数据
*
* @type {*}
* @memberof
DropDownList
* @memberof
AppCheckBox
*/
@
Prop
()
public
data
?:
any
;
/**
* 传入额外参数
*
* @type {*}
* @memberof DropDownList
* 局部上下文导航参数
*
* @type {any}
* @memberof AppCheckBox
*/
@
Prop
()
public
localContext
!
:
any
;
/**
* 局部导航参数
*
* @type {any}
* @memberof AppCheckBox
*/
@
Prop
()
public
itemParam
?:
any
;
@
Prop
()
public
localParam
!
:
any
;
/**
* 视图上下文
*
* @type {*}
* @memberof App
Autocomplete
* @memberof App
CheckBox
*/
@
Prop
()
public
context
!
:
any
;
...
...
@@ -81,7 +89,7 @@ export default class AppCheckBox extends Vue {
* 视图参数
*
* @type {*}
* @memberof App
FormDRUIPart
* @memberof App
CheckBox
*/
@
Prop
()
public
viewparams
!
:
any
;
...
...
@@ -203,19 +211,19 @@ export default class AppCheckBox extends Vue {
*
* @param {*} arg
* @returns
* @memberof
DropDownList
* @memberof
AppCheckBox
*/
public
handlePublicParams
(
arg
:
any
)
{
// 合并表单参数
arg
.
param
=
this
.
viewparams
?
JSON
.
parse
(
JSON
.
stringify
(
this
.
viewparams
))
:
{};
arg
.
context
=
this
.
context
?
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
))
:
{};
// 附加参数处理
if
(
this
.
itemParam
&&
this
.
itemParam
.
context
)
{
let
_context
=
this
.
$util
.
formatData
(
this
.
data
,
arg
.
context
,
this
.
itemParam
.
c
ontext
);
if
(
this
.
localContext
&&
Object
.
keys
(
this
.
localContext
).
length
>
0
)
{
let
_context
=
this
.
$util
.
computedNavData
(
this
.
data
,
arg
.
context
,
arg
.
param
,
this
.
localC
ontext
);
Object
.
assign
(
arg
.
context
,
_context
);
}
if
(
this
.
itemParam
&&
this
.
itemParam
.
param
)
{
let
_param
=
this
.
$util
.
formatData
(
this
.
data
,
arg
.
param
,
this
.
itemParam
.
p
aram
);
if
(
this
.
localParam
&&
Object
.
keys
(
this
.
localParam
).
length
>
0
)
{
let
_param
=
this
.
$util
.
computedNavData
(
this
.
data
,
arg
.
param
,
arg
.
param
,
this
.
localP
aram
);
Object
.
assign
(
arg
.
param
,
_param
);
}
}
...
...
@@ -253,7 +261,7 @@ export default class AppCheckBox extends Vue {
/**
* 监听表单数据变化
*
* @memberof App
OrgSelect
* @memberof App
CheckBox
*/
@
Watch
(
'data'
,{
immediate
:
true
,
deep
:
true
})
onDataChange
(
newVal
:
any
,
oldVal
:
any
)
{
...
...
app_web/src/components/app-embed-picker/app-embed-picker.vue
浏览文件 @
06788533
...
...
@@ -62,7 +62,7 @@ export default class AppEmbedPicker extends Vue {
* 表单数据
*
* @type {*}
* @memberof AppPicker
* @memberof App
Embed
Picker
*/
@
Prop
()
public
data
!
:
any
;
...
...
@@ -95,7 +95,7 @@ export default class AppEmbedPicker extends Vue {
* 值项名称
*
* @type {string}
* @memberof AppPicker
* @memberof App
Embed
Picker
*/
@
Prop
()
public
valueItem
?:
string
;
...
...
@@ -103,7 +103,7 @@ export default class AppEmbedPicker extends Vue {
* 关联视图名称
*
* @type {string}
* @memberof AppPicker
* @memberof App
Embed
Picker
*/
@
Prop
()
public
refviewname
?:
string
;
...
...
@@ -127,17 +127,25 @@ export default class AppEmbedPicker extends Vue {
* 属性项名称
*
* @type {string}
* @memberof AppPicker
* @memberof App
Embed
Picker
*/
@
Prop
()
public
name
!
:
string
;
/**
*
关联视图
参数
*
* @type {
*
}
*
局部上下文导航
参数
*
* @type {
any
}
* @memberof AppEmbedPicker
*/
@
Prop
()
public
itemParam
:
any
;
@
Prop
()
public
localContext
!
:
any
;
/**
* 局部导航参数
*
* @type {any}
* @memberof AppEmbedPicker
*/
@
Prop
()
public
localParam
!
:
any
;
/**
* 是否忽略之变化
...
...
@@ -160,8 +168,8 @@ export default class AppEmbedPicker extends Vue {
*
* @memberof AppEmbedPicker
*/
public
setViewParam
(
activeData
:
any
)
{
if
(
!
this
.
itemParam
||
!
activeD
ata
)
{
public
setViewParam
()
{
if
(
!
this
.
d
ata
)
{
return
;
}
let
arg
:
any
=
{};
...
...
@@ -169,17 +177,13 @@ export default class AppEmbedPicker extends Vue {
let
param
:
any
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
viewparams
));
let
context
:
any
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
));
// 附加参数处理
if
(
this
.
itemParam
.
context
)
{
let
_context
=
this
.
$util
.
formatData
(
activeData
,
context
,
this
.
itemParam
.
context
);
Object
.
assign
(
context
,
_context
);
}
if
(
this
.
itemParam
.
param
)
{
let
_param
=
this
.
$util
.
formatData
(
activeData
,
param
,
this
.
itemParam
.
param
);
Object
.
assign
(
param
,
_param
);
if
(
this
.
localContext
&&
Object
.
keys
(
this
.
localContext
).
length
>
0
)
{
let
_context
=
this
.
$util
.
computedNavData
(
this
.
data
,
arg
.
context
,
arg
.
param
,
this
.
localContext
);
Object
.
assign
(
arg
.
context
,
_context
);
}
if
(
this
.
itemParam
.
parentdata
)
{
let
_par
entdata
=
this
.
$util
.
formatData
(
activeData
,
param
,
this
.
itemParam
.
parentdata
);
Object
.
assign
(
param
,
_parentdata
);
if
(
this
.
localParam
&&
Object
.
keys
(
this
.
localParam
).
length
>
0
)
{
let
_par
am
=
this
.
$util
.
computedNavData
(
this
.
data
,
arg
.
param
,
arg
.
param
,
this
.
localParam
);
Object
.
assign
(
arg
.
param
,
_param
);
}
this
.
viewdata
=
JSON
.
stringify
(
context
);
this
.
viewparam
=
JSON
.
stringify
(
param
);
...
...
@@ -196,7 +200,7 @@ export default class AppEmbedPicker extends Vue {
onActivedataChange
(
newVal
:
any
,
oldVal
:
any
)
{
const
newFormData
:
any
=
JSON
.
parse
(
newVal
);
const
oldDormData
:
any
=
JSON
.
parse
(
oldVal
);
this
.
setViewParam
(
newFormData
);
this
.
setViewParam
();
if
(
!
this
.
refreshitems
||
this
.
ignorefieldvaluechange
)
{
return
;
}
...
...
@@ -215,7 +219,7 @@ export default class AppEmbedPicker extends Vue {
if
(
this
.
formState
)
{
this
.
formStateEvent
=
this
.
formState
.
subscribe
(({
tag
,
action
,
data
})
=>
{
if
(
Object
.
is
(
'load'
,
action
))
{
this
.
setViewParam
(
JSON
.
parse
(
this
.
data
)
);
this
.
setViewParam
();
}
});
}
...
...
app_web/src/components/app-mpicker/app-mpicker.vue
浏览文件 @
06788533
...
...
@@ -45,12 +45,20 @@ export default class AppMpicker extends Vue {
@
Prop
()
curvalue
?:
any
;
/**
*
表单项
参数
*
局部上下文导航
参数
*
* @type {any}
* @memberof AppPicker
* @memberof AppMpicker
*/
@
Prop
()
public
localContext
!
:
any
;
/**
* 局部导航参数
*
* @type {any}
* @memberof AppMpicker
*/
@
Prop
()
public
itemParam
:
any
;
@
Prop
()
public
localParam
!
:
any
;
/**
* 表单项名称
...
...
@@ -61,7 +69,7 @@ export default class AppMpicker extends Vue {
* 视图上下文
*
* @type {*}
* @memberof App
FormDRUIPart
* @memberof App
Mpicker
*/
@
Prop
()
public
context
!
:
any
;
...
...
@@ -69,7 +77,7 @@ export default class AppMpicker extends Vue {
* 视图参数
*
* @type {*}
* @memberof App
FormDRUIPart
* @memberof App
Mpicker
*/
@
Prop
()
public
viewparams
!
:
any
;
...
...
@@ -77,7 +85,7 @@ export default class AppMpicker extends Vue {
* AC参数
*
* @type {*}
* @memberof App
FormDRUIPart
* @memberof App
Mpicker
*/
@
Prop
({
default
:
()
=>
{}})
public
acParams
?:
any
;
...
...
@@ -85,7 +93,7 @@ export default class AppMpicker extends Vue {
* 应用实体主信息属性名称
*
* @type {string}
* @memberof App
Autocomplete
* @memberof App
Mpicker
*/
@
Prop
({
default
:
'srfmajortext'
})
public
deMajorField
!
:
string
;
...
...
@@ -93,7 +101,7 @@ export default class AppMpicker extends Vue {
* 应用实体主键属性名称
*
* @type {string}
* @memberof App
Autocomplete
* @memberof App
Mpicker
*/
@
Prop
({
default
:
'srfkey'
})
public
deKeyField
!
:
string
;
...
...
@@ -101,7 +109,7 @@ export default class AppMpicker extends Vue {
* 表单服务
*
* @type {*}
* @memberof App
FormDRUIPart
* @memberof App
Mpicker
*/
@
Prop
()
public
service
?:
any
;
...
...
@@ -242,19 +250,19 @@ export default class AppMpicker extends Vue {
*/
public
handlePublicParams
(
arg
:
any
):
boolean
{
if
(
!
this
.
activeData
)
{
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'components.
appPicker.error'
)
as
any
),
desc
:
(
this
.
$t
(
'components.appP
icker.formdataException'
)
as
any
)
});
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'components.
AppMpicker.error'
)
as
any
),
desc
:
(
this
.
$t
(
'components.AppMp
icker.formdataException'
)
as
any
)
});
return
false
;
}
// 合并表单参数
arg
.
param
=
this
.
viewparams
?
JSON
.
parse
(
JSON
.
stringify
(
this
.
viewparams
))
:
{};
arg
.
context
=
this
.
context
?
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
))
:
{};
// 附加参数处理
if
(
this
.
itemParam
&&
this
.
itemParam
.
context
)
{
let
_context
=
this
.
$util
.
formatData
(
this
.
activeData
,
arg
.
context
,
this
.
itemParam
.
c
ontext
);
if
(
this
.
localContext
&&
Object
.
keys
(
this
.
localContext
).
length
>
0
)
{
let
_context
=
this
.
$util
.
computedNavData
(
this
.
activeData
,
arg
.
context
,
arg
.
param
,
this
.
localC
ontext
);
Object
.
assign
(
arg
.
context
,
_context
);
}
if
(
this
.
itemParam
&&
this
.
itemParam
.
param
)
{
let
_param
=
this
.
$util
.
formatData
(
this
.
activeData
,
arg
.
param
,
this
.
itemParam
.
p
aram
);
if
(
this
.
localParam
&&
Object
.
keys
(
this
.
localParam
).
length
>
0
)
{
let
_param
=
this
.
$util
.
computedNavData
(
this
.
activeData
,
arg
.
param
,
arg
.
param
,
this
.
localP
aram
);
Object
.
assign
(
arg
.
param
,
_param
);
}
return
true
;
...
...
app_web/src/components/app-picker-select-view/app-picker-select-view.vue
浏览文件 @
06788533
<
template
>
<div
class=
"app-picker-select-view"
>
<Dropdown
:visible=
"visible"
trigger=
"custom"
style=
"left:0px;width: 100%"
@
on-clickoutside=
"() =>
{triggerMenu(false);}" >
<Input
v-if=
"isSingleSelect"
v-model=
"queryValue"
class=
"tree-input"
type=
"text"
:placeholder=
"placeholder ? placeholder : $t('components.
appPicker
SelectView.placeholder')"
:disabled=
"disabled"
@
on-change=
"OnInputChange"
@
on-focus=
"()=>
{triggerMenu(true);}" >
<Input
v-if=
"isSingleSelect"
v-model=
"queryValue"
class=
"tree-input"
type=
"text"
:placeholder=
"placeholder ? placeholder : $t('components.
AppPickerSelectView
SelectView.placeholder')"
:disabled=
"disabled"
@
on-change=
"OnInputChange"
@
on-focus=
"()=>
{triggerMenu(true);}" >
<template
v-slot:suffix
>
<i
v-if=
"queryValue && !disabled"
class=
'el-icon-circle-close'
@
click=
"onClear"
></i>
<Icon
:type=
"visible ? 'ios-arrow-up' : 'ios-arrow-down'"
class=
"icon-arrow"
@
click=
"() =>
{triggerMenu();}">
</Icon>
...
...
@@ -34,12 +34,12 @@ import { ViewTool } from '@/utils/view-tool/view-tool';
@
Component
({
})
export
default
class
AppPickerSelectView
extends
Vue
{
export
default
class
AppPickerSelectView
SelectView
extends
Vue
{
/**
* 视图上下文
*
* @type {*}
* @memberof App
FormDRUIPart
* @memberof App
PickerSelectView
*/
@
Prop
()
public
context
!
:
any
;
...
...
@@ -47,7 +47,7 @@ export default class AppPickerSelectView extends Vue {
* 视图参数
*
* @type {*}
* @memberof App
FormDRUIPart
* @memberof App
PickerSelectView
*/
@
Prop
()
public
viewparams
!
:
any
;
...
...
@@ -55,7 +55,7 @@ export default class AppPickerSelectView extends Vue {
* 是否单选
*
* @type {*}
* @memberof App
FormDRUIPart
* @memberof App
PickerSelectView
*/
@
Prop
({
default
:
'true'
})
public
isSingleSelect
!
:
any
;
...
...
@@ -63,7 +63,7 @@ export default class AppPickerSelectView extends Vue {
* 当前多选框选中值的key集合
*
* @type {string}
* @memberof App
TreePicker
* @memberof App
PickerSelectView
*/
public
keySet
:
any
=
[];
...
...
@@ -71,7 +71,7 @@ export default class AppPickerSelectView extends Vue {
* 当前多选框选中项对象集合
*
* @type {string}
* @memberof App
TreePicker
* @memberof App
PickerSelectView
*/
public
selectItems
:
Array
<
any
>
=
[];
...
...
@@ -79,7 +79,7 @@ export default class AppPickerSelectView extends Vue {
* 所有操作过的下拉选项对象集合
*
* @type {string}
* @memberof App
TreePicker
* @memberof App
PickerSelectView
*/
public
items
:
Array
<
any
>
=
[];
...
...
@@ -87,7 +87,7 @@ export default class AppPickerSelectView extends Vue {
* 视图参数
*
* @type {string}
* @memberof App
TreePicker
* @memberof App
PickerSelectView
*/
public
viewparam
:
any
=
JSON
.
stringify
(
this
.
viewparams
);
...
...
@@ -95,7 +95,7 @@ export default class AppPickerSelectView extends Vue {
* 视图上下文
*
* @type {string}
* @memberof App
TreePicker
* @memberof App
PickerSelectView
*/
public
viewdata
:
any
=
JSON
.
stringify
(
this
.
context
);
...
...
@@ -103,7 +103,7 @@ export default class AppPickerSelectView extends Vue {
* 表单数据
*
* @type {*}
* @memberof AppPicker
* @memberof AppPicker
SelectView
*/
@
Prop
()
public
data
!
:
any
;
...
...
@@ -111,7 +111,7 @@ export default class AppPickerSelectView extends Vue {
* 值
*
* @type {*}
* @memberof App
TreePicker
* @memberof App
PickerSelectView
*/
@
Prop
()
public
value
:
any
;
...
...
@@ -119,7 +119,7 @@ export default class AppPickerSelectView extends Vue {
* 是否启用
*
* @type {boolean}
* @memberof AppPicker
* @memberof AppPicker
SelectView
*/
@
Prop
({
default
:
false
})
public
disabled
!
:
boolean
;
...
...
@@ -127,7 +127,7 @@ export default class AppPickerSelectView extends Vue {
* 应用实体主信息属性名称
*
* @type {string}
* @memberof App
Autocomplete
* @memberof App
PickerSelectView
*/
@
Prop
({
default
:
'srfmajortext'
})
public
deMajorField
!
:
string
;
...
...
@@ -135,7 +135,7 @@ export default class AppPickerSelectView extends Vue {
* 应用实体主键属性名称
*
* @type {string}
* @memberof App
Autocomplete
* @memberof App
PickerSelectView
*/
@
Prop
({
default
:
'srfkey'
})
public
deKeyField
!
:
string
;
...
...
@@ -143,7 +143,7 @@ export default class AppPickerSelectView extends Vue {
* 输入框值(搜索值)
*
* @type {string}
* @memberof App
TreePicker
* @memberof App
PickerSelectView
*/
public
queryValue
:
any
=
''
;
...
...
@@ -151,7 +151,7 @@ export default class AppPickerSelectView extends Vue {
* 值项名称
*
* @type {string}
* @memberof AppPicker
* @memberof AppPicker
SelectView
*/
@
Prop
()
public
valueitem
!
:
string
;
...
...
@@ -159,7 +159,7 @@ export default class AppPickerSelectView extends Vue {
* 关联视图名称
*
* @type {string}
* @memberof AppPicker
* @memberof AppPicker
SelectView
*/
@
Prop
()
public
pickupView
?:
any
;
...
...
@@ -167,7 +167,7 @@ export default class AppPickerSelectView extends Vue {
* 数据链接视图参数
*
* @type {*}
* @memberof AppPicker
* @memberof AppPicker
SelectView
*/
@
Prop
()
public
linkview
?:
any
;
...
...
@@ -175,7 +175,7 @@ export default class AppPickerSelectView extends Vue {
* 提示信息
*
* @type {string}
* @memberof App
TreePicker
* @memberof App
PickerSelectView
*/
@
Prop
()
public
placeholder
!
:
string
;
...
...
@@ -183,23 +183,31 @@ export default class AppPickerSelectView extends Vue {
* 属性项名称
*
* @type {string}
* @memberof AppPicker
* @memberof AppPicker
SelectView
*/
@
Prop
()
public
name
!
:
string
;
/**
* 编辑器参数
*
* @type {*}
* @memberof AppTreePicker
* 局部上下文导航参数
*
* @type {any}
* @memberof AppPickerSelectView
*/
@
Prop
()
public
localContext
!
:
any
;
/**
* 局部导航参数
*
* @type {any}
* @memberof AppPickerSelectView
*/
@
Prop
()
public
itemParam
:
any
;
@
Prop
()
public
localParam
!
:
any
;
/**
* 下拉显示控制变量
*
* @type {string}
* @memberof App
TreePicker
* @memberof App
PickerSelectView
*/
public
visible
:
boolean
=
false
;
...
...
@@ -207,7 +215,7 @@ export default class AppPickerSelectView extends Vue {
* 父视图数据
*
* @type {string}
* @memberof App
TreePicker
* @memberof App
PickerSelectView
*/
public
srfparentdata
:
any
=
{};
...
...
@@ -215,7 +223,7 @@ export default class AppPickerSelectView extends Vue {
* 输入框change事件
*
* @param $event 事件对象
* @memberof App
TreePicker
* @memberof App
PickerSelectView
*/
public
OnInputChange
(
$event
:
any
){
let
_viewdata
=
Object
.
assign
({
query
:
this
.
queryValue
},
JSON
.
parse
(
this
.
viewdata
))
;
...
...
@@ -226,7 +234,7 @@ export default class AppPickerSelectView extends Vue {
* 输入框change事件
*
* @param $event 事件对象
* @memberof App
TreePicker
* @memberof App
PickerSelectView
*/
public
triggerMenu
(
visible
?:
boolean
){
if
(
this
.
disabled
){
...
...
@@ -244,26 +252,23 @@ export default class AppPickerSelectView extends Vue {
*
* @param {*} arg
* @returns
* @memberof AppPicker
* @memberof AppPicker
SelectView
*/
public
handlePublicParams
(
arg
:
any
):
boolean
{
if
(
!
this
.
itemParam
)
{
return
true
;
}
if
(
!
this
.
data
)
{
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'components.
appPickerSelectView.error'
)
as
any
),
desc
:
(
this
.
$t
(
'components.appPicker
SelectView.formdataException'
)
as
any
)
});
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'components.
AppPickerSelectViewSelectView.error'
)
as
any
),
desc
:
(
this
.
$t
(
'components.AppPickerSelectView
SelectView.formdataException'
)
as
any
)
});
return
false
;
}
// 合并表单参数
arg
.
param
=
this
.
viewparams
?
JSON
.
parse
(
JSON
.
stringify
(
this
.
viewparams
))
:
{};
arg
.
context
=
this
.
context
?
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
))
:
{};
// 附加参数处理
if
(
this
.
itemParam
.
context
)
{
let
_context
=
this
.
$util
.
formatData
(
this
.
data
,
arg
.
context
,
this
.
itemParam
.
c
ontext
);
if
(
this
.
localContext
&&
Object
.
keys
(
this
.
localContext
).
length
>
0
)
{
let
_context
=
this
.
$util
.
computedNavData
(
this
.
data
,
arg
.
context
,
arg
.
param
,
this
.
localC
ontext
);
Object
.
assign
(
arg
.
context
,
_context
);
}
if
(
this
.
itemParam
.
param
)
{
let
_param
=
this
.
$util
.
formatData
(
this
.
data
,
arg
.
param
,
this
.
itemParam
.
p
aram
);
if
(
this
.
localParam
&&
Object
.
keys
(
this
.
localParam
).
length
>
0
)
{
let
_param
=
this
.
$util
.
computedNavData
(
this
.
data
,
arg
.
param
,
arg
.
param
,
this
.
localP
aram
);
Object
.
assign
(
arg
.
param
,
_param
);
}
return
true
;
...
...
@@ -274,7 +279,7 @@ export default class AppPickerSelectView extends Vue {
*
* @param {*} newVal
* @param {*} oldVal
* @memberof App
FormDRUIPart
* @memberof App
PickerSelectView
*/
@
Watch
(
'data'
,{
deep
:
true
})
onActivedataChange
(
newVal
:
any
,
oldVal
:
any
)
{
...
...
@@ -294,14 +299,14 @@ export default class AppPickerSelectView extends Vue {
*
* @param {*} newVal
* @param {*} oldVal
* @memberof AppPicker
* @memberof AppPicker
SelectView
*/
@
Watch
(
'value'
,
{
deep
:
true
})
public
onValueChange
(
newVal
:
any
,
oldVal
:
any
)
{
if
(
this
.
isSingleSelect
){
this
.
queryValue
=
newVal
;
if
(
!
this
.
data
||
!
this
.
valueitem
||
!
this
.
data
[
this
.
valueitem
])
{
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'components.
appPickerSelectView.error'
)
as
any
),
desc
:
(
this
.
$t
(
'components.appPickerSelectView.editor'
)
as
any
)
+
this
.
name
+
(
this
.
$t
(
'components.appPicker
SelectView.valueitemException'
)
as
any
)
});
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'components.
AppPickerSelectViewSelectView.error'
)
as
any
),
desc
:
(
this
.
$t
(
'components.AppPickerSelectViewSelectView.editor'
)
as
any
)
+
this
.
name
+
(
this
.
$t
(
'components.AppPickerSelectView
SelectView.valueitemException'
)
as
any
)
});
}
else
{
let
_viewparam
=
JSON
.
parse
(
this
.
viewparam
);
_viewparam
.
selectedData
=
[{
srfkey
:
this
.
data
[
this
.
valueitem
],
srfmajortext
:
this
.
value
}];
...
...
@@ -330,7 +335,7 @@ export default class AppPickerSelectView extends Vue {
/**
* 生命周期
*
* @memberof App
TreePicker
* @memberof App
PickerSelectView
*/
public
created
()
{
// 公共参数处理
...
...
@@ -347,7 +352,7 @@ export default class AppPickerSelectView extends Vue {
/**
* vue 生命周期
*
* @memberof
SelectType
* @memberof
AppPickerSelectView
*/
public
destroyed
()
{
...
...
@@ -357,7 +362,7 @@ export default class AppPickerSelectView extends Vue {
* 设置值
*
* @param {*} item
* @memberof App
TreePicker
* @memberof App
PickerSelectView
*/
public
onViewdatasChange
(
$event
:
any
)
{
if
(
$event
.
length
==
0
){
...
...
@@ -409,11 +414,11 @@ export default class AppPickerSelectView extends Vue {
/**
* 打开链接视图
*
* @memberof AppPicker
* @memberof AppPicker
SelectView
*/
public
openLinkView
(
$event
:
any
):
void
{
if
(
!
this
.
data
||
!
this
.
valueitem
||
!
this
.
data
[
this
.
valueitem
])
{
console
.
error
({
title
:
(
this
.
$t
(
'components.
appPickerSelectView.error'
)
as
any
),
desc
:
(
this
.
$t
(
'components.appPickerSelectView.editor'
)
as
any
)
+
this
.
name
+
(
this
.
$t
(
'components.appPicker
SelectView.valueitemException'
)
as
any
)
});
console
.
error
({
title
:
(
this
.
$t
(
'components.
AppPickerSelectViewSelectView.error'
)
as
any
),
desc
:
(
this
.
$t
(
'components.AppPickerSelectViewSelectView.editor'
)
as
any
)
+
this
.
name
+
(
this
.
$t
(
'components.AppPickerSelectView
SelectView.valueitemException'
)
as
any
)
});
return
;
}
// 公共参数处理
...
...
@@ -447,7 +452,7 @@ export default class AppPickerSelectView extends Vue {
* @private
* @param {string} viewpath
* @param {*} data
* @memberof AppPicker
* @memberof AppPicker
SelectView
*/
private
openIndexViewTab
(
view
:
any
,
context
:
any
,
param
:
any
):
void
{
const
routePath
=
this
.
$viewTool
.
buildUpRoutePath
(
this
.
$route
,
this
.
context
,
view
.
deResParameters
,
view
.
parameters
,
[
context
]
,
param
);
...
...
@@ -461,7 +466,7 @@ export default class AppPickerSelectView extends Vue {
* @param {*} $event
* @param {*} view
* @param {*} data
* @memberof AppPicker
* @memberof AppPicker
SelectView
*/
private
openPopOver
(
$event
:
any
,
view
:
any
,
context
:
any
,
param
:
any
):
void
{
let
container
:
Subject
<
any
>
=
this
.
$apppopover
.
openPop
(
$event
,
view
,
context
,
param
);
...
...
@@ -480,7 +485,7 @@ export default class AppPickerSelectView extends Vue {
* @private
* @param {*} view
* @param {*} data
* @memberof AppPicker
* @memberof AppPicker
SelectView
*/
private
openPopupModal
(
view
:
any
,
context
:
any
,
param
:
any
):
void
{
let
container
:
Subject
<
any
>
=
this
.
$appmodal
.
openModal
(
view
,
context
,
param
);
...
...
@@ -498,7 +503,7 @@ export default class AppPickerSelectView extends Vue {
* @private
* @param {*} view
* @param {*} data
* @memberof AppPicker
* @memberof AppPicker
SelectView
*/
private
openDrawer
(
view
:
any
,
context
:
any
,
param
:
any
):
void
{
let
container
:
Subject
<
any
>
=
this
.
$appdrawer
.
openDrawer
(
view
,
context
,
param
);
...
...
@@ -514,7 +519,7 @@ export default class AppPickerSelectView extends Vue {
* 打开页面关闭
*
* @param {*} result
* @memberof AppPicker
* @memberof AppPicker
SelectView
*/
public
openViewClose
(
result
:
any
)
{
let
item
:
any
=
{};
...
...
@@ -536,7 +541,7 @@ export default class AppPickerSelectView extends Vue {
* 下拉选中回调
*
* @param {*} selects 当前选中的key值集合
* @memberof App
Mpicker
* @memberof App
PickerSelectView
*/
public
onSelectChange
(
selects
:
any
)
{
let
val
:
Array
<
any
>
=
[];
...
...
app_web/src/components/app-picker/app-picker.vue
浏览文件 @
06788533
...
...
@@ -153,12 +153,20 @@ export default class AppPicker extends Vue {
@
Prop
()
public
linkview
?:
any
;
/**
*
表单项
参数
*
局部上下文导航
参数
*
* @type {any}
* @memberof AppPicker
*/
@
Prop
()
public
itemParam
:
any
;
@
Prop
()
public
localContext
!
:
any
;
/**
* 局部导航参数
*
* @type {any}
* @memberof AppPicker
*/
@
Prop
()
public
localParam
!
:
any
;
/**
* 值项名称
...
...
@@ -639,9 +647,6 @@ export default class AppPicker extends Vue {
* @memberof AppPicker
*/
public
handlePublicParams
(
arg
:
any
):
boolean
{
if
(
!
this
.
itemParam
)
{
return
true
;
}
if
(
!
this
.
data
)
{
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'components.appPicker.error'
)
as
any
),
desc
:
(
this
.
$t
(
'components.appPicker.formdataException'
)
as
any
)
});
return
false
;
...
...
@@ -650,12 +655,12 @@ export default class AppPicker extends Vue {
arg
.
param
=
this
.
viewparams
?
JSON
.
parse
(
JSON
.
stringify
(
this
.
viewparams
))
:
{};
arg
.
context
=
this
.
context
?
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
))
:
{};
// 附加参数处理
if
(
this
.
itemParam
&&
this
.
itemParam
.
context
)
{
let
_context
=
this
.
$util
.
formatData
(
this
.
data
,
arg
.
context
,
this
.
itemParam
.
c
ontext
);
if
(
this
.
localContext
&&
Object
.
keys
(
this
.
localContext
).
length
>
0
)
{
let
_context
=
this
.
$util
.
computedNavData
(
this
.
data
,
arg
.
context
,
arg
.
param
,
this
.
localC
ontext
);
Object
.
assign
(
arg
.
context
,
_context
);
}
if
(
this
.
itemParam
&&
this
.
itemParam
.
param
)
{
let
_param
=
this
.
$util
.
formatData
(
this
.
data
,
arg
.
param
,
this
.
itemParam
.
p
aram
);
if
(
this
.
localParam
&&
Object
.
keys
(
this
.
localParam
).
length
>
0
)
{
let
_param
=
this
.
$util
.
computedNavData
(
this
.
data
,
arg
.
param
,
arg
.
param
,
this
.
localP
aram
);
Object
.
assign
(
arg
.
param
,
_param
);
}
return
true
;
...
...
app_web/src/components/app-radio-group/app-radio-group.vue
浏览文件 @
06788533
...
...
@@ -65,14 +65,14 @@ export default class AppRadioGroup extends Vue {
* 传入表单数据
*
* @type {*}
* @memberof
DropDownList
* @memberof
AppRadioGroup
*/
@
Prop
()
public
data
?:
any
;
/**
* 监听表单数据变化
*
* @memberof App
OrgSelect
* @memberof App
RadioGroup
*/
@
Watch
(
'data'
,{
immediate
:
true
,
deep
:
true
})
onDataChange
(
newVal
:
any
,
oldVal
:
any
)
{
...
...
@@ -103,18 +103,26 @@ export default class AppRadioGroup extends Vue {
@
Prop
()
public
disabled
?:
boolean
;
/**
* 传入额外参数
*
* @type {*}
* @memberof DropDownList
* 局部上下文导航参数
*
* @type {any}
* @memberof AppRadioGroup
*/
@
Prop
()
public
localContext
!
:
any
;
/**
* 局部导航参数
*
* @type {any}
* @memberof AppRadioGroup
*/
@
Prop
()
public
itemParam
?:
any
;
@
Prop
()
public
localParam
!
:
any
;
/**
* 视图上下文
*
* @type {*}
* @memberof App
Autocomplete
* @memberof App
RadioGroup
*/
@
Prop
()
public
context
!
:
any
;
...
...
@@ -122,7 +130,7 @@ export default class AppRadioGroup extends Vue {
* 视图参数
*
* @type {*}
* @memberof App
FormDRUIPart
* @memberof App
RadioGroup
*/
@
Prop
()
public
viewparams
!
:
any
;
...
...
@@ -161,19 +169,19 @@ export default class AppRadioGroup extends Vue {
*
* @param {*} arg
* @returns
* @memberof
DropDownList
* @memberof
AppRadioGroup
*/
public
handlePublicParams
(
arg
:
any
)
{
// 合并表单参数
arg
.
param
=
this
.
viewparams
?
JSON
.
parse
(
JSON
.
stringify
(
this
.
viewparams
))
:
{};
arg
.
context
=
this
.
context
?
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
))
:
{};
// 附加参数处理
if
(
this
.
itemParam
&&
this
.
itemParam
.
context
)
{
let
_context
=
this
.
$util
.
formatData
(
this
.
data
,
arg
.
context
,
this
.
itemParam
.
c
ontext
);
if
(
this
.
localContext
&&
Object
.
keys
(
this
.
localContext
).
length
>
0
)
{
let
_context
=
this
.
$util
.
computedNavData
(
this
.
data
,
arg
.
context
,
arg
.
param
,
this
.
localC
ontext
);
Object
.
assign
(
arg
.
context
,
_context
);
}
if
(
this
.
itemParam
&&
this
.
itemParam
.
param
)
{
let
_param
=
this
.
$util
.
formatData
(
this
.
data
,
arg
.
param
,
this
.
itemParam
.
p
aram
);
if
(
this
.
localParam
&&
Object
.
keys
(
this
.
localParam
).
length
>
0
)
{
let
_param
=
this
.
$util
.
computedNavData
(
this
.
data
,
arg
.
param
,
arg
.
param
,
this
.
localP
aram
);
Object
.
assign
(
arg
.
param
,
_param
);
}
}
...
...
app_web/src/components/app-span/app-span.vue
浏览文件 @
06788533
...
...
@@ -72,12 +72,20 @@ export default class AppSpan extends Vue {
@
Prop
()
public
data
?:
any
;
/**
* 传入额外参数
*
* @type {*}
* 局部上下文导航参数
*
* @type {any}
* @memberof AppSpan
*/
@
Prop
()
public
localContext
!
:
any
;
/**
* 局部导航参数
*
* @type {any}
* @memberof AppSpan
*/
@
Prop
()
public
itemParam
?:
any
;
@
Prop
()
public
localParam
!
:
any
;
/**
* 视图上下文
...
...
app_web/src/components/app-transfer/app-transfer.less
0 → 100644
浏览文件 @
06788533
.ivu-select-dropdown {
padding: 0px;
.hidden {
display: none;
}
}
\ No newline at end of file
app_web/src/components/app-transfer/app-transfer.vue
0 → 100644
浏览文件 @
06788533
<
template
>
<Select
v-model=
"dataRight"
style=
"width:586px"
multiple
>
<Option
class=
"hidden"
:value=
"item"
v-for=
"(item,i) in dataRight"
:key=
"i"
>
{{
dataLeft
[
item
-
1
].
label
}}
</Option>
<el-transfer
v-model=
"dataRight"
:data=
"dataLeft"
@
change=
dataChange
></el-transfer>
</Select>
</
template
>
<
script
lang=
"ts"
>
import
{
Vue
,
Component
,
Watch
,
Prop
,
Model
}
from
"vue-property-decorator"
;
import
CodeListService
from
"@service/app/codelist-service"
;
@
Component
({})
export
default
class
FromTransfer
extends
Vue
{
/**
* 表单传递右侧框中的数据
*/
@
Prop
()
public
data
:
any
;
/**
* 左侧框数据
*/
public
dataLeft
:
any
[]
=
[];
/**
* 右侧框数据
*/
public
dataRight
:
any
[]
=
[];
/**
* 代码表服务对象
*
* @type {CodeListService}
* @memberof FromTransfer
*/
public
codeListService
:
CodeListService
=
new
CodeListService
({
$store
:
this
.
$store
});
/**
* 额外参数
*
* @type {*}
* @memberof FromTransfer
*/
public
otherParam
:
any
;
/**
* 查询参数
* @type {*}
* @memberof FromTransfer
*/
public
queryParam
:
any
;
/**
* 当前选中值
* @type {any}
* @memberof Drop
*/
@
Model
(
"change"
)
readonly
itemValue
!
:
any
;
/**
* 代码表标识
*
* @type {string}
* @memberof FromTransfer
*/
@
Prop
()
public
tag
?:
string
;
/**
* 代码表类型
*
* @type {string}
* @memberof FromTransfer
*/
@
Prop
()
public
codelistType
?:
string
;
/**
* 监听表单数据
*
* @memberof FromTransfer
*/
@
Watch
(
"data"
,
{
deep
:
true
})
onDataChange
(
newVal
:
any
,
val
:
any
)
{
if
(
newVal
)
{
}
}
/**
* 组件change事件,右侧框数据变化时
* @memberof FromTransfer
*/
dataChange
(
e
:
any
){
console
.
log
(
e
);
let
val
:
any
[]
=
[];
let
newVal
:
any
;
this
.
dataLeft
.
forEach
((
elem
:
any
)
=>
{
e
.
forEach
((
item
:
any
)
=>
{
if
(
elem
.
key
===
item
)
val
.
push
(
elem
.
value
);
});
});
newVal
=
val
.
join
(
','
);
console
.
log
(
newVal
);
this
.
$emit
(
"change"
,
newVal
);
}
/**
* 传入额外参数
*
* @type {*}
* @memberof FromTransfer
*/
@
Prop
()
public
itemParam
?:
any
;
/**
* 视图上下文
*
* @type {*}
* @memberof AppAutocomplete
*/
@
Prop
()
public
context
!
:
any
;
/**
* 视图参数
*
* @type {*}
* @memberof AppFormDRUIPart
*/
@
Prop
()
public
viewparams
!
:
any
;
/**
* 是否禁用
* @type {any}
* @memberof FromTransfer
*
*/
@
Prop
()
public
disabled
?:
any
;
/**
* 是否支持过滤
* @type {boolean}
* @memberof FromTransfer
*/
@
Prop
()
public
filterable
?:
boolean
;
/**
* 下拉选提示内容
* @type {string}
* @memberof FromTransfer
*/
@
Prop
()
public
placeholder
?:
string
;
/**
* 计算属性(当前值)
* @type {any}
* @memberof FromTransfer
*/
set
currentVal
(
val
:
any
)
{
// const type: string = this.$util.typeOf(val);
// val =
// Object.is(type, "null") || Object.is(type, "undefined") ? undefined : val;
// this.dataLeft.forEach((elem: any) => {
// this.dataRight.forEach((item: any) => {
// if (elem.key === item) val.push(elem.value);
// });
// });
// val=val.join(',');
// this.$emit("change", val);
}
/**
* 获取值对象
*
* @memberof FromTransfer
*/
// get currentVal() {
// return this.itemValue;
// }
get
currentVal
()
{
return
this
.
itemValue
;
}
/**
* 代码表
*
* @type {any[]}
* @memberof FromTransfer
*/
// public items: any[] = [];
/**
* 公共参数处理
*
* @param {*} arg
* @returns
* @memberof FromTransfer
*/
public
handlePublicParams
(
arg
:
any
)
{
// 合并表单参数
arg
.
param
=
this
.
viewparams
?
JSON
.
parse
(
JSON
.
stringify
(
this
.
viewparams
))
:
{};
arg
.
context
=
this
.
context
?
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
))
:
{};
// 附加参数处理
if
(
this
.
itemParam
&&
this
.
itemParam
.
context
)
{
let
_context
=
this
.
$util
.
formatData
(
this
.
data
,
arg
.
context
,
this
.
itemParam
.
context
);
Object
.
assign
(
arg
.
context
,
_context
);
}
if
(
this
.
itemParam
&&
this
.
itemParam
.
param
)
{
let
_param
=
this
.
$util
.
formatData
(
this
.
data
,
arg
.
param
,
this
.
itemParam
.
param
);
Object
.
assign
(
arg
.
param
,
_param
);
}
}
/**
* vue 生命周期
*
* @memberof FromTransfer
*/
public
created
()
{
this
.
dataHandle
();
this
.
initRight
();
}
/**
* 数据处理
*/
public
dataHandle
()
{
if
(
this
.
tag
&&
Object
.
is
(
this
.
codelistType
,
"STATIC"
))
{
const
codelist
=
this
.
$store
.
getters
.
getCodeList
(
this
.
tag
);
if
(
codelist
)
{
this
.
dataLeft
=
[...
JSON
.
parse
(
JSON
.
stringify
(
codelist
.
items
))];
this
.
initLeft
();
console
.
log
(
this
.
dataLeft
);
}
else
{
console
.
log
(
`----
${
this
.
tag
}
----代码表不存在`
);
}
}
else
if
(
this
.
tag
&&
Object
.
is
(
this
.
codelistType
,
"DYNAMIC"
))
{
// 公共参数处理
let
data
:
any
=
{};
this
.
handlePublicParams
(
data
);
// 参数处理
let
_context
=
data
.
context
;
let
_param
=
data
.
param
;
this
.
codeListService
.
getItems
(
this
.
tag
,
_context
,
_param
)
.
then
((
res
:
any
)
=>
{
this
.
dataLeft
=
res
;
console
.
log
(
this
.
dataLeft
);
this
.
initLeft
();
})
.
catch
((
error
:
any
)
=>
{
console
.
log
(
`----
${
this
.
tag
}
----代码表不存在`
);
});
}
}
/**
* 初始化左侧框数据
*/
public
initLeft
()
{
let
left
:
any
[]
=
[];
Object
.
assign
(
left
,
this
.
dataLeft
);
this
.
dataLeft
=
[];
left
.
forEach
((
elem
:
any
,
i
:
any
)
=>
{
this
.
dataLeft
.
push
({
key
:
i
+
1
,
id
:
elem
.
id
,
value
:
elem
.
value
,
label
:
elem
.
label
,
disabled
:
elem
.
disabled
});
});
}
/**
* 初始化右侧框数据
*/
public
initRight
()
{
if
(
this
.
data
)
{
this
.
data
.
forEach
((
elem
:
any
)
=>
{
this
.
dataRight
.
push
(
elem
);
});
}
}
}
</
script
>
<
style
lang=
'less'
>
@import "./app-transfer.less";
</
style
>
\ No newline at end of file
app_web/src/components/app-tree-picker/app-tree-picker.vue
浏览文件 @
06788533
...
...
@@ -36,7 +36,7 @@ export default class AppTreePicker extends Vue {
* 视图上下文
*
* @type {*}
* @memberof App
FormDRUIPart
* @memberof App
TreePicker
*/
@
Prop
()
public
context
!
:
any
;
...
...
@@ -44,7 +44,7 @@ export default class AppTreePicker extends Vue {
* 视图参数
*
* @type {*}
* @memberof App
FormDRUIPart
* @memberof App
TreePicker
*/
@
Prop
()
public
viewparams
!
:
any
;
...
...
@@ -52,7 +52,7 @@ export default class AppTreePicker extends Vue {
* 表单数据
*
* @type {*}
* @memberof AppPicker
* @memberof App
Tree
Picker
*/
@
Prop
()
public
data
!
:
any
;
...
...
@@ -68,7 +68,7 @@ export default class AppTreePicker extends Vue {
* 是否启用
*
* @type {boolean}
* @memberof AppPicker
* @memberof App
Tree
Picker
*/
@
Prop
({
default
:
false
})
public
disabled
!
:
boolean
;
...
...
@@ -101,7 +101,7 @@ export default class AppTreePicker extends Vue {
* 值项名称
*
* @type {string}
* @memberof AppPicker
* @memberof App
Tree
Picker
*/
@
Prop
()
public
valueItem
?:
string
;
...
...
@@ -109,7 +109,7 @@ export default class AppTreePicker extends Vue {
* 关联视图名称
*
* @type {string}
* @memberof AppPicker
* @memberof App
Tree
Picker
*/
@
Prop
()
public
refviewname
?:
string
;
...
...
@@ -125,17 +125,25 @@ export default class AppTreePicker extends Vue {
* 属性项名称
*
* @type {string}
* @memberof AppPicker
* @memberof App
Tree
Picker
*/
@
Prop
()
public
name
!
:
string
;
/**
*
关联视图
参数
*
* @type {
*
}
*
局部上下文导航
参数
*
* @type {
any
}
* @memberof AppTreePicker
*/
@
Prop
()
public
itemParam
:
any
;
@
Prop
()
public
localContext
!
:
any
;
/**
* 局部导航参数
*
* @type {any}
* @memberof AppTreePicker
*/
@
Prop
()
public
localParam
!
:
any
;
/**
* 是否忽略之变化
...
...
@@ -210,8 +218,8 @@ export default class AppTreePicker extends Vue {
*
* @memberof AppTreePicker
*/
public
setViewParam
(
activeData
:
any
)
{
if
(
!
this
.
itemParam
||
!
activeD
ata
)
{
public
setViewParam
()
{
if
(
!
this
.
d
ata
)
{
return
;
}
let
arg
:
any
=
{};
...
...
@@ -219,17 +227,13 @@ export default class AppTreePicker extends Vue {
let
param
:
any
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
viewparams
));
let
context
:
any
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
));
// 附加参数处理
if
(
this
.
itemParam
.
context
)
{
let
_context
=
this
.
$util
.
formatData
(
activeData
,
context
,
this
.
itemParam
.
c
ontext
);
Object
.
assign
(
context
,
_context
);
if
(
this
.
localContext
&&
Object
.
keys
(
this
.
localContext
).
length
>
0
)
{
let
_context
=
this
.
$util
.
computedNavData
(
this
.
data
,
arg
.
context
,
arg
.
param
,
this
.
localC
ontext
);
Object
.
assign
(
arg
.
context
,
_context
);
}
if
(
this
.
itemParam
.
param
)
{
let
_param
=
this
.
$util
.
formatData
(
activeData
,
param
,
this
.
itemParam
.
param
);
Object
.
assign
(
param
,
_param
);
}
if
(
this
.
itemParam
.
parentdata
)
{
let
_parentdata
=
this
.
$util
.
formatData
(
activeData
,
param
,
this
.
itemParam
.
parentdata
);
Object
.
assign
(
param
,
_parentdata
);
if
(
this
.
localParam
&&
Object
.
keys
(
this
.
localParam
).
length
>
0
)
{
let
_param
=
this
.
$util
.
computedNavData
(
this
.
data
,
arg
.
param
,
arg
.
param
,
this
.
localParam
);
Object
.
assign
(
arg
.
param
,
_param
);
}
this
.
viewdata
=
JSON
.
stringify
(
context
);
this
.
viewparam
=
JSON
.
stringify
(
param
);
...
...
@@ -240,13 +244,13 @@ export default class AppTreePicker extends Vue {
*
* @param {*} newVal
* @param {*} oldVal
* @memberof App
FormDRUIPart
* @memberof App
TreePicker
*/
@
Watch
(
'data'
)
onActivedataChange
(
newVal
:
any
,
oldVal
:
any
)
{
const
newFormData
:
any
=
JSON
.
parse
(
newVal
);
const
oldDormData
:
any
=
JSON
.
parse
(
oldVal
);
this
.
setViewParam
(
newFormData
);
this
.
setViewParam
();
if
(
!
this
.
refreshitems
||
this
.
ignorefieldvaluechange
)
{
return
;
}
...
...
@@ -261,7 +265,7 @@ export default class AppTreePicker extends Vue {
*
* @param {*} newVal
* @param {*} oldVal
* @memberof AppPicker
* @memberof App
Tree
Picker
*/
@
Watch
(
'value'
)
public
onValueChange
(
newVal
:
any
,
oldVal
:
any
)
{
...
...
@@ -277,7 +281,7 @@ export default class AppTreePicker extends Vue {
if
(
this
.
formState
)
{
this
.
formStateEvent
=
this
.
formState
.
subscribe
(({
tag
,
action
,
data
})
=>
{
if
(
Object
.
is
(
'load'
,
action
))
{
this
.
setViewParam
(
JSON
.
parse
(
this
.
data
)
);
this
.
setViewParam
();
}
});
}
...
...
@@ -286,7 +290,7 @@ export default class AppTreePicker extends Vue {
/**
* vue 生命周期
*
* @memberof
SelectType
* @memberof
AppTreePicker
*/
public
destroyed
()
{
if
(
this
.
formStateEvent
)
{
...
...
app_web/src/components/codelist/codelist.vue
浏览文件 @
06788533
...
...
@@ -79,12 +79,20 @@ export default class CodeList extends Vue {
@
Prop
()
public
data
?:
any
;
/**
* 传入额外参数
*
* @type {*}
* 局部上下文导航参数
*
* @type {any}
* @memberof CodeList
*/
@
Prop
()
public
localContext
!
:
any
;
/**
* 局部导航参数
*
* @type {any}
* @memberof CodeList
*/
@
Prop
()
public
itemParam
?:
any
;
@
Prop
()
public
localParam
!
:
any
;
/**
* 视图上下文
...
...
@@ -270,12 +278,12 @@ export default class CodeList extends Vue {
arg
.
param
=
this
.
viewparams
?
JSON
.
parse
(
JSON
.
stringify
(
this
.
viewparams
))
:
{};
arg
.
context
=
this
.
context
?
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
))
:
{};
// 附加参数处理
if
(
this
.
itemParam
&&
this
.
itemParam
.
context
)
{
let
_context
=
this
.
$util
.
formatData
(
this
.
data
,
arg
.
context
,
this
.
itemParam
.
c
ontext
);
if
(
this
.
localContext
&&
Object
.
keys
(
this
.
localContext
).
length
>
0
)
{
let
_context
=
this
.
$util
.
computedNavData
(
this
.
data
,
arg
.
context
,
arg
.
param
,
this
.
localC
ontext
);
Object
.
assign
(
arg
.
context
,
_context
);
}
if
(
this
.
itemParam
&&
this
.
itemParam
.
param
)
{
let
_param
=
this
.
$util
.
formatData
(
this
.
data
,
arg
.
param
,
this
.
itemParam
.
p
aram
);
if
(
this
.
localParam
&&
Object
.
keys
(
this
.
localParam
).
length
>
0
)
{
let
_param
=
this
.
$util
.
computedNavData
(
this
.
data
,
arg
.
param
,
arg
.
param
,
this
.
localP
aram
);
Object
.
assign
(
arg
.
param
,
_param
);
}
}
...
...
app_web/src/components/context-menu/context-menu.less
浏览文件 @
06788533
...
...
@@ -12,6 +12,11 @@
position: absolute;
background: #FFF;
// border: 1px solid #e3e3e3;
.tree-right-menu{
.ivu-select-dropdown{
overflow: auto;
}
}
.ivu-divider{
width: 100%;
}
...
...
app_web/src/components/dropdown-list-dynamic/dropdown-list-dynamic.vue
浏览文件 @
06788533
...
...
@@ -86,12 +86,20 @@ export default class DropDownListDynamic extends Vue {
}
/**
*
传入额外
参数
*
局部上下文导航
参数
*
* @type {*}
* @memberof DropDownListDynamic
* @memberof DropDownList
*/
@
Prop
()
public
localContext
!
:
any
;
/**
* 局部导航参数
*
* @type {*}
* @memberof DropDownList
*/
@
Prop
()
public
itemParam
?:
any
;
@
Prop
()
public
localParam
!
:
any
;
/**
* 是否禁用
...
...
@@ -172,12 +180,12 @@ export default class DropDownListDynamic extends Vue {
arg
.
param
=
this
.
viewparams
?
JSON
.
parse
(
JSON
.
stringify
(
this
.
viewparams
))
:
{};
arg
.
context
=
this
.
context
?
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
))
:
{};
// 附加参数处理
if
(
this
.
itemParam
.
context
)
{
let
_context
=
this
.
$util
.
formatData
(
this
.
data
,
arg
.
context
,
this
.
itemParam
.
c
ontext
);
if
(
this
.
localContext
&&
Object
.
keys
(
this
.
localContext
).
length
>
0
)
{
let
_context
=
this
.
$util
.
computedNavData
(
this
.
data
,
arg
.
context
,
arg
.
param
,
this
.
localC
ontext
);
Object
.
assign
(
arg
.
context
,
_context
);
}
if
(
this
.
itemParam
.
param
)
{
let
_param
=
this
.
$util
.
formatData
(
this
.
data
,
arg
.
param
,
this
.
itemParam
.
p
aram
);
if
(
this
.
localParam
&&
Object
.
keys
(
this
.
localParam
).
length
>
0
)
{
let
_param
=
this
.
$util
.
computedNavData
(
this
.
data
,
arg
.
context
,
arg
.
param
,
this
.
localP
aram
);
Object
.
assign
(
arg
.
param
,
_param
);
}
}
...
...
app_web/src/components/dropdown-list-mpicker/dropdown-list-mpicker.vue
浏览文件 @
06788533
...
...
@@ -85,12 +85,20 @@ export default class DropDownListMpicker extends Vue {
@
Prop
()
public
placeholder
?:
string
;
/**
* 传入额外参数
*
* @type {*}
* 局部上下文导航参数
*
* @type {any}
* @memberof DropDownListMpicker
*/
@
Prop
()
public
localContext
!
:
any
;
/**
* 局部导航参数
*
* @type {any}
* @memberof DropDownListMpicker
*/
@
Prop
()
public
itemParam
?:
any
;
@
Prop
()
public
localParam
!
:
any
;
/**
* 视图上下文
...
...
@@ -157,12 +165,12 @@ export default class DropDownListMpicker extends Vue {
arg
.
param
=
this
.
viewparams
?
JSON
.
parse
(
JSON
.
stringify
(
this
.
viewparams
))
:
{};
arg
.
context
=
this
.
context
?
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
))
:
{};
// 附加参数处理
if
(
this
.
itemParam
.
context
)
{
let
_context
=
this
.
$util
.
formatData
(
this
.
data
,
arg
.
context
,
this
.
itemParam
.
c
ontext
);
if
(
this
.
localContext
&&
Object
.
keys
(
this
.
localContext
).
length
>
0
)
{
let
_context
=
this
.
$util
.
computedNavData
(
this
.
data
,
arg
.
context
,
arg
.
param
,
this
.
localC
ontext
);
Object
.
assign
(
arg
.
context
,
_context
);
}
if
(
this
.
itemParam
.
param
)
{
let
_param
=
this
.
$util
.
formatData
(
this
.
data
,
arg
.
param
,
this
.
itemParam
.
p
aram
);
if
(
this
.
localParam
&&
Object
.
keys
(
this
.
localParam
).
length
>
0
)
{
let
_param
=
this
.
$util
.
computedNavData
(
this
.
data
,
arg
.
param
,
arg
.
param
,
this
.
localP
aram
);
Object
.
assign
(
arg
.
param
,
_param
);
}
}
...
...
app_web/src/components/dropdown-list/dropdown-list.vue
浏览文件 @
06788533
...
...
@@ -86,12 +86,20 @@ export default class DropDownList extends Vue {
}
/**
*
传入额外
参数
*
局部上下文导航
参数
*
* @type {*}
* @memberof DropDownList
*/
@
Prop
()
public
itemParam
?:
any
;
@
Prop
()
public
localContext
!
:
any
;
/**
* 局部导航参数
*
* @type {*}
* @memberof DropDownList
*/
@
Prop
()
public
localParam
!
:
any
;
/**
* 视图上下文
...
...
@@ -172,12 +180,12 @@ export default class DropDownList extends Vue {
arg
.
param
=
this
.
viewparams
?
JSON
.
parse
(
JSON
.
stringify
(
this
.
viewparams
))
:
{};
arg
.
context
=
this
.
context
?
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
))
:
{};
// 附加参数处理
if
(
this
.
itemParam
&&
this
.
itemParam
.
context
)
{
let
_context
=
this
.
$util
.
formatData
(
this
.
data
,
arg
.
context
,
this
.
itemParam
.
c
ontext
);
if
(
this
.
localContext
&&
Object
.
keys
(
this
.
localContext
).
length
>
0
)
{
let
_context
=
this
.
$util
.
computedNavData
(
this
.
data
,
arg
.
context
,
arg
.
param
,
this
.
localC
ontext
);
Object
.
assign
(
arg
.
context
,
_context
);
}
if
(
this
.
itemParam
&&
this
.
itemParam
.
param
)
{
let
_param
=
this
.
$util
.
formatData
(
this
.
data
,
arg
.
param
,
this
.
itemParam
.
p
aram
);
if
(
this
.
localParam
&&
Object
.
keys
(
this
.
localParam
).
length
>
0
)
{
let
_param
=
this
.
$util
.
computedNavData
(
this
.
data
,
arg
.
context
,
arg
.
param
,
this
.
localP
aram
);
Object
.
assign
(
arg
.
param
,
_param
);
}
}
...
...
app_web/src/components/tab-page-exp/tab-page-exp.less
浏览文件 @
06788533
// .ibiz-page-tag {
// position: relative;
// box-sizing: border-box;
// // width: calc(100% + 30px);
// height: 38px;
// padding: 0 60px 0 30px;
// background: #f6f6f6;
// .tags-body {
// position: relative;
// width: 100%;
// height: 100%;
// overflow: hidden;
// .tags-container {
// position: absolute;
// overflow: visible;
// white-space: nowrap;
// transition: left .3s ease;
// .ivu-tag {
// margin: 0;
// height: 38px;
// line-height: 38px;
// border: 0;
// border-radius: 0;
// border-right: 1px solid #ddd;
// font-size: 14px;
// .text-icon {
// height: 16px;
// margin-bottom: -3px;
// }
// .ivu-icon-ios-close {
// visibility: hidden;
// }
// .tag-text {
// display: table-cell;
// .ivu-tooltip {
// display: block;
// .ivu-tooltip-rel {
// display: block;
// max-width: 200px;
// overflow: hidden;
// text-overflow: ellipsis;
// }
// }
// }
// }
// .ivu-tag.tag-is-active {
// background: #fff;
// }
// .ivu-tag:hover,.ivu-tag.tag-is-active {
// .ivu-icon-ios-close {
// visibility: initial;
// }
// }
// }
// }
// .move-btn {
// font-size: 18px;
// width: 30px;
// height: 38px;
// line-height: 38px;
// border-left: 1px solid #ddd;
// border-right: 1px solid #ddd;
// text-align: center;
// cursor: pointer;
// }
// .move-btn:hover {
// background: #efefef;
// }
// .move-left, .move-right, .ivu-dropdown{
// position: absolute;
// top: 0;
// }
// .move-left {
// left: 0;
// }
// .move-right {
// right: 30px;
// }
// .ivu-dropdown {
// right: 0;
// }
// }
// .tags-transition-move {
// transition: transform .3s;
// }
// .tags-transition-enter,.tags-transition-leave-to{
// opacity: 0;
// }
.ibiz-page-tag {
.el-tabs{
.el-tabs__nav{
padding:0px 10px;
border:none;
}
.el-tabs__item{
color:#ccc;
border:none;
}
.el-tabs__item:hover{
color:#409eff;
}
.is-active{
color:#409eff;
border-bottom:2px solid #409eff !important;
}
.el-tabs__nav-scroll{
background-color: white;
}
position: relative;
.left{
.el-tabs__header{
box-shadow: 0 1px 2px 0 rgba(0,0,0,.15);
margin:0 0 1 0;
padding-right:120px;
}
}
.right{
position: absolute;
right:0px;
top:0px;
width:120px;
margin:5px 0px;
display: flex;
justify-content: center;
}
>.tag-tabs{
background-color: #F0F0F0 !important;
.el-tabs{
.el-tabs__nav{
padding:0px 10px;
border:none;
}
.el-tabs__active-bar{
background-color: transparent !important;
}
.el-tabs__item{
height: 32px;
line-height: 32px;
border: 1px solid #e8eaec!important;
color: #515a6e!important;
background: #fff!important;
padding: 0 12px;
display: inline-block;
margin: 4px 4px 4px 0;
border-radius: 3px;
font-size: 12px;
vertical-align: middle;
opacity: 1;
overflow: hidden;
.ivu-tag-dot-inner{
display: inline-block;
width: 12px;
height: 12px;
margin-right: 8px;
border-radius: 50%;
background: #e8eaec;
position: relative;
top: 1px;
}
}
.el-tabs__item:hover{
color:#409eff;
}
.is-active{
color:#409eff;
.ivu-tag-dot-inner{
background-color:#409eff !important;
}
border-bottom:2px solid transparent !important;
}
.el-tabs__header{
margin:0 0 1 0;
}
}
}
}
\ No newline at end of file
app_web/src/components/tab-page-exp/tab-page-exp.vue
浏览文件 @
06788533
<
template
>
<div
class=
"ibiz-page-tag"
>
<el-tabs
type=
"card"
@
tab-click=
"changePage"
v-model=
"editableTabsValue"
closable
@
tab-remove=
"onClose"
>
<el-tab-pane
v-for=
"(meta, index) of $store.state.pageMetas"
:label=
"getCaption(meta.caption, meta.info)"
:name=
"index+''"
:key=
"index+''"
></el-tab-pane>
</el-tabs>
<div
class=
"tag-tabs left"
>
<el-tabs
type=
"card"
@
tab-click=
"changePage"
v-model=
"editableTabsValue"
closable
@
tab-remove=
"onClose"
>
<el-tab-pane
v-for=
"(meta, index) of $store.state.pageMetas"
:name=
"index+''"
:key=
"index+''"
>
<span
slot=
"label"
><span
class=
"ivu-tag-dot-inner"
></span>
{{
getCaption
(
meta
.
caption
,
meta
.
info
)
}}
</span>
</el-tab-pane>
</el-tabs>
</div>
<div
v-show=
"$store.state.pageMetas.length > 0"
class=
"right"
>
<el-dropdown
@
command=
"handlerClose"
>
<el-button
size=
"mini"
type=
"primary"
>
更多
<i
class=
"el-icon-arrow-down el-icon--right"
></i>
</el-button>
<el-dropdown-menu
slot=
"dropdown"
>
<el-dropdown-item
:command=
"item"
v-for=
"(item,index) in actions"
:key=
"index"
>
{{
$t
(
item
.
text
)
}}
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
</div>
</
template
>
...
...
@@ -23,6 +37,7 @@ import { Environment } from "../../environments/environment";
@
Component
({})
export
default
class
TabPageExp
extends
Vue
{
@
Provide
()
public
styleLeft
:
number
=
0
;
...
...
@@ -32,7 +47,14 @@ export default class TabPageExp extends Vue {
{
text
:
"app.tabpage.closeother"
,
value
:
"closeOther"
}
];
public
editableTabsValue
:
any
=
""
;
/**
* 关闭tab页方法
*/
public
handlerClose
(
item
:
any
){
this
.
doTagAction
(
item
.
value
);
}
public
editableTabsValue
:
any
=
""
;
//tabs页绑定值
@
Watch
(
"$route"
)
public
onRouteChange
(
newVal
:
any
)
{
...
...
app_web/src/engine/view/edit-view-engine.ts
浏览文件 @
06788533
...
...
@@ -101,7 +101,7 @@ export default class EditViewEngine extends ViewEngine {
* @memberof EditViewEngine
*/
public
onFormLoad
(
arg
:
any
):
void
{
this
.
view
.
model
.
dataInfo
=
Object
.
is
(
arg
.
srfuf
,
'1'
)
?
arg
.
srfmajortext
:
'新建'
;
this
.
view
.
model
.
dataInfo
=
Object
.
is
(
arg
.
srfuf
,
'1'
)
?
(
this
.
majorPSDEField
?
arg
[
this
.
majorPSDEField
]:
arg
.
srfmajortext
)
:
this
.
view
.
$t
(
'app.local.new'
)
;
this
.
setTabCaption
(
this
.
view
.
model
.
dataInfo
);
const
newdata
:
boolean
=
!
Object
.
is
(
arg
.
srfuf
,
'1'
);
...
...
@@ -115,7 +115,7 @@ export default class EditViewEngine extends ViewEngine {
* @memberof EditViewEngine
*/
public
onFormSave
(
arg
:
any
):
void
{
this
.
view
.
model
.
dataInfo
=
Object
.
is
(
arg
.
srfuf
,
'1'
)
?
arg
.
srfmajortext
:
'新建'
;
this
.
view
.
model
.
dataInfo
=
Object
.
is
(
arg
.
srfuf
,
'1'
)
?
(
this
.
majorPSDEField
?
arg
[
this
.
majorPSDEField
]:
arg
.
srfmajortext
)
:
this
.
view
.
$t
(
'app.local.new'
)
;
this
.
setTabCaption
(
this
.
view
.
model
.
dataInfo
);
const
newdata
:
boolean
=
!
Object
.
is
(
arg
.
srfuf
,
'1'
);
...
...
@@ -248,7 +248,8 @@ export default class EditViewEngine extends ViewEngine {
public
setTabCaption
(
info
:
string
):
void
{
let
viewdata
:
any
=
this
.
view
.
model
;
if
(
viewdata
&&
info
&&
!
Object
.
is
(
info
,
''
)
&&
this
.
view
.
$tabPageExp
&&
(
viewdata
.
srfTitle
.
indexOf
(
" - "
)
===
-
1
))
{
this
.
view
.
$tabPageExp
.
setCurPageCaption
(
viewdata
.
srfCaption
,
viewdata
.
srfTitle
,
info
);
this
.
view
.
$tabPageExp
.
setCurPageCaption
(
viewdata
.
srfTitle
,
viewdata
.
srfTitle
,
info
);
this
.
view
.
$route
.
meta
.
info
=
info
;
this
.
view
.
model
.
srfTitle
=
`
${
this
.
view
.
$t
(
viewdata
.
srfTitle
)}
-
${
viewdata
.
dataInfo
}
`
;
}
}
...
...
app_web/src/locale/index.ts
浏览文件 @
06788533
...
...
@@ -26,7 +26,8 @@ vueApp.locale = () => { };
const
i18n
=
new
VueI18n
({
locale
:
lang
,
messages
messages
,
silentTranslationWarn
:
true
});
export
default
i18n
;
app_web/src/locale/lang/en-US.ts
浏览文件 @
06788533
...
...
@@ -16,6 +16,9 @@ export default {
ok
:
'OK'
,
cancel
:
'Cancel'
,
},
local
:{
new
:
'New'
},
gridpage
:
{
choicecolumns
:
'Choice columns'
,
refresh
:
'refresh'
,
...
...
app_web/src/locale/lang/zh-CN.ts
浏览文件 @
06788533
...
...
@@ -16,6 +16,9 @@ export default {
ok
:
'确认'
,
cancel
:
'取消'
,
},
local
:{
new
:
'新建'
},
gridpage
:
{
choicecolumns
:
'选择列'
,
refresh
:
'刷新'
,
...
...
app_web/src/pages/workflow/wfgroup-mpickup-view/wfgroup-mpickup-view-base.vue
浏览文件 @
06788533
...
...
@@ -667,6 +667,7 @@ export default class WFGroupMPickupViewBase extends Vue {
});
this
.
viewSelections
=
newSelections
;
});
this
.
selectedData
=
JSON
.
stringify
(
this
.
viewSelections
);
}
/**
...
...
@@ -677,6 +678,7 @@ export default class WFGroupMPickupViewBase extends Vue {
public
onCLickAllLeft
():
void
{
this
.
viewSelections
=
[];
this
.
containerModel
.
view_leftbtn
.
disabled
=
true
;
this
.
engine
.
onCtrlEvent
(
'pickupviewpanel'
,
'selectionchange'
,
[]);
this
.
selectedData
=
JSON
.
stringify
(
this
.
viewSelections
);
}
...
...
@@ -704,6 +706,7 @@ export default class WFGroupMPickupViewBase extends Vue {
}
});
});
this
.
selectedData
=
JSON
.
stringify
(
this
.
viewSelections
);
}
/**
...
...
app_web/src/pages/workflow/wfindex-view/router.ts
浏览文件 @
06788533
...
...
@@ -25,7 +25,8 @@ const router = new Router({
});
},
meta
:
{
caption
:
'app.views.wfindexview.caption'
,
caption
:
'app.views.wfindexview.title'
,
info
:
''
,
viewType
:
'APPINDEX'
,
parameters
:
[
{
pathName
:
'wfindexview'
,
parameterName
:
'wfindexview'
},
...
...
@@ -37,7 +38,8 @@ const router = new Router({
{
path
:
'wfgroups/:wfgroup?/pickupgridview/:pickupgridview?'
,
meta
:
{
caption
:
'entities.wfgroup.views.pickupgridview.caption'
,
caption
:
'entities.wfgroup.views.pickupgridview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'wfindexview'
,
parameterName
:
'wfindexview'
},
{
pathName
:
'wfgroups'
,
parameterName
:
'wfgroup'
},
...
...
@@ -50,7 +52,8 @@ const router = new Router({
{
path
:
'wfusers/:wfuser?/pickupgridview/:pickupgridview?'
,
meta
:
{
caption
:
'entities.wfuser.views.pickupgridview.caption'
,
caption
:
'entities.wfuser.views.pickupgridview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'wfindexview'
,
parameterName
:
'wfindexview'
},
{
pathName
:
'wfusers'
,
parameterName
:
'wfuser'
},
...
...
@@ -63,7 +66,8 @@ const router = new Router({
{
path
:
'wfprocessdefinitions/:wfprocessdefinition?/gridview/:gridview?'
,
meta
:
{
caption
:
'entities.wfprocessdefinition.views.gridview.caption'
,
caption
:
'entities.wfprocessdefinition.views.gridview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'wfindexview'
,
parameterName
:
'wfindexview'
},
{
pathName
:
'wfprocessdefinitions'
,
parameterName
:
'wfprocessdefinition'
},
...
...
@@ -76,7 +80,8 @@ const router = new Router({
{
path
:
'wfusers/:wfuser?/pickupview/:pickupview?'
,
meta
:
{
caption
:
'entities.wfuser.views.pickupview.caption'
,
caption
:
'entities.wfuser.views.pickupview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'wfindexview'
,
parameterName
:
'wfindexview'
},
{
pathName
:
'wfusers'
,
parameterName
:
'wfuser'
},
...
...
@@ -89,7 +94,8 @@ const router = new Router({
{
path
:
'wfremodels/:wfremodel?/editview/:editview?'
,
meta
:
{
caption
:
'entities.wfremodel.views.editview.caption'
,
caption
:
'entities.wfremodel.views.editview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'wfindexview'
,
parameterName
:
'wfindexview'
},
{
pathName
:
'wfremodels'
,
parameterName
:
'wfremodel'
},
...
...
@@ -102,7 +108,8 @@ const router = new Router({
{
path
:
'wfusers/:wfuser?/wfmembers/:wfmember?/editview/:editview?'
,
meta
:
{
caption
:
'entities.wfmember.views.editview.caption'
,
caption
:
'entities.wfmember.views.editview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'wfindexview'
,
parameterName
:
'wfindexview'
},
{
pathName
:
'wfusers'
,
parameterName
:
'wfuser'
},
...
...
@@ -116,7 +123,8 @@ const router = new Router({
{
path
:
'wfgroups/:wfgroup?/wfmembers/:wfmember?/editview/:editview?'
,
meta
:
{
caption
:
'entities.wfmember.views.editview.caption'
,
caption
:
'entities.wfmember.views.editview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'wfindexview'
,
parameterName
:
'wfindexview'
},
{
pathName
:
'wfgroups'
,
parameterName
:
'wfgroup'
},
...
...
@@ -130,7 +138,8 @@ const router = new Router({
{
path
:
'wfmembers/:wfmember?/editview/:editview?'
,
meta
:
{
caption
:
'entities.wfmember.views.editview.caption'
,
caption
:
'entities.wfmember.views.editview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'wfindexview'
,
parameterName
:
'wfindexview'
},
{
pathName
:
'wfmembers'
,
parameterName
:
'wfmember'
},
...
...
@@ -143,7 +152,8 @@ const router = new Router({
{
path
:
'wfgroups/:wfgroup?/gridview/:gridview?'
,
meta
:
{
caption
:
'entities.wfgroup.views.gridview.caption'
,
caption
:
'entities.wfgroup.views.gridview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'wfindexview'
,
parameterName
:
'wfindexview'
},
{
pathName
:
'wfgroups'
,
parameterName
:
'wfgroup'
},
...
...
@@ -156,7 +166,8 @@ const router = new Router({
{
path
:
'wfusers/:wfuser?/mpickupview/:mpickupview?'
,
meta
:
{
caption
:
'entities.wfuser.views.mpickupview.caption'
,
caption
:
'entities.wfuser.views.mpickupview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'wfindexview'
,
parameterName
:
'wfindexview'
},
{
pathName
:
'wfusers'
,
parameterName
:
'wfuser'
},
...
...
@@ -169,7 +180,8 @@ const router = new Router({
{
path
:
'wfgroups/:wfgroup?/mpickupview/:mpickupview?'
,
meta
:
{
caption
:
'entities.wfgroup.views.mpickupview.caption'
,
caption
:
'entities.wfgroup.views.mpickupview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'wfindexview'
,
parameterName
:
'wfindexview'
},
{
pathName
:
'wfgroups'
,
parameterName
:
'wfgroup'
},
...
...
@@ -182,7 +194,8 @@ const router = new Router({
{
path
:
'wfusers/:wfuser?/wfmembers/:wfmember?/gridview/:gridview?'
,
meta
:
{
caption
:
'entities.wfmember.views.gridview.caption'
,
caption
:
'entities.wfmember.views.gridview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'wfindexview'
,
parameterName
:
'wfindexview'
},
{
pathName
:
'wfusers'
,
parameterName
:
'wfuser'
},
...
...
@@ -196,7 +209,8 @@ const router = new Router({
{
path
:
'wfgroups/:wfgroup?/wfmembers/:wfmember?/gridview/:gridview?'
,
meta
:
{
caption
:
'entities.wfmember.views.gridview.caption'
,
caption
:
'entities.wfmember.views.gridview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'wfindexview'
,
parameterName
:
'wfindexview'
},
{
pathName
:
'wfgroups'
,
parameterName
:
'wfgroup'
},
...
...
@@ -210,7 +224,8 @@ const router = new Router({
{
path
:
'wfmembers/:wfmember?/gridview/:gridview?'
,
meta
:
{
caption
:
'entities.wfmember.views.gridview.caption'
,
caption
:
'entities.wfmember.views.gridview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'wfindexview'
,
parameterName
:
'wfindexview'
},
{
pathName
:
'wfmembers'
,
parameterName
:
'wfmember'
},
...
...
@@ -223,7 +238,8 @@ const router = new Router({
{
path
:
'wfgroups/:wfgroup?/editview/:editview?'
,
meta
:
{
caption
:
'entities.wfgroup.views.editview.caption'
,
caption
:
'entities.wfgroup.views.editview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'wfindexview'
,
parameterName
:
'wfindexview'
},
{
pathName
:
'wfgroups'
,
parameterName
:
'wfgroup'
},
...
...
@@ -236,7 +252,8 @@ const router = new Router({
{
path
:
'wfprocessdefinitions/:wfprocessdefinition?/editview/:editview?'
,
meta
:
{
caption
:
'entities.wfprocessdefinition.views.editview.caption'
,
caption
:
'entities.wfprocessdefinition.views.editview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'wfindexview'
,
parameterName
:
'wfindexview'
},
{
pathName
:
'wfprocessdefinitions'
,
parameterName
:
'wfprocessdefinition'
},
...
...
@@ -252,7 +269,8 @@ const router = new Router({
{
path
:
'/wfusers/:wfuser?/wfmembers/:wfmember?/gridview/:gridview?'
,
meta
:
{
caption
:
'entities.wfmember.views.gridview.caption'
,
caption
:
'entities.wfmember.views.gridview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'wfusers'
,
parameterName
:
'wfuser'
},
{
pathName
:
'wfmembers'
,
parameterName
:
'wfmember'
},
...
...
@@ -265,7 +283,8 @@ const router = new Router({
{
path
:
'/wfgroups/:wfgroup?/wfmembers/:wfmember?/gridview/:gridview?'
,
meta
:
{
caption
:
'entities.wfmember.views.gridview.caption'
,
caption
:
'entities.wfmember.views.gridview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'wfgroups'
,
parameterName
:
'wfgroup'
},
{
pathName
:
'wfmembers'
,
parameterName
:
'wfmember'
},
...
...
@@ -278,7 +297,8 @@ const router = new Router({
{
path
:
'/wfmembers/:wfmember?/gridview/:gridview?'
,
meta
:
{
caption
:
'entities.wfmember.views.gridview.caption'
,
caption
:
'entities.wfmember.views.gridview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'wfmembers'
,
parameterName
:
'wfmember'
},
{
pathName
:
'gridview'
,
parameterName
:
'gridview'
},
...
...
@@ -290,7 +310,8 @@ const router = new Router({
{
path
:
'/wfusers/:wfuser?/mpickupview/:mpickupview?'
,
meta
:
{
caption
:
'entities.wfuser.views.mpickupview.caption'
,
caption
:
'entities.wfuser.views.mpickupview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'wfusers'
,
parameterName
:
'wfuser'
},
{
pathName
:
'mpickupview'
,
parameterName
:
'mpickupview'
},
...
...
@@ -302,7 +323,8 @@ const router = new Router({
{
path
:
'/wfusers/:wfuser?/pickupview/:pickupview?'
,
meta
:
{
caption
:
'entities.wfuser.views.pickupview.caption'
,
caption
:
'entities.wfuser.views.pickupview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'wfusers'
,
parameterName
:
'wfuser'
},
{
pathName
:
'pickupview'
,
parameterName
:
'pickupview'
},
...
...
@@ -314,7 +336,8 @@ const router = new Router({
{
path
:
'/wfgroups/:wfgroup?/mpickupview/:mpickupview?'
,
meta
:
{
caption
:
'entities.wfgroup.views.mpickupview.caption'
,
caption
:
'entities.wfgroup.views.mpickupview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'wfgroups'
,
parameterName
:
'wfgroup'
},
{
pathName
:
'mpickupview'
,
parameterName
:
'mpickupview'
},
...
...
@@ -326,7 +349,8 @@ const router = new Router({
{
path
:
'/wfprocessdefinitions/:wfprocessdefinition?/editview/:editview?'
,
meta
:
{
caption
:
'entities.wfprocessdefinition.views.editview.caption'
,
caption
:
'entities.wfprocessdefinition.views.editview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'wfprocessdefinitions'
,
parameterName
:
'wfprocessdefinition'
},
{
pathName
:
'editview'
,
parameterName
:
'editview'
},
...
...
@@ -338,7 +362,8 @@ const router = new Router({
{
path
:
'/wfprocessdefinitions/:wfprocessdefinition?/gridview/:gridview?'
,
meta
:
{
caption
:
'entities.wfprocessdefinition.views.gridview.caption'
,
caption
:
'entities.wfprocessdefinition.views.gridview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'wfprocessdefinitions'
,
parameterName
:
'wfprocessdefinition'
},
{
pathName
:
'gridview'
,
parameterName
:
'gridview'
},
...
...
@@ -350,7 +375,8 @@ const router = new Router({
{
path
:
'/wfusers/:wfuser?/pickupgridview/:pickupgridview?'
,
meta
:
{
caption
:
'entities.wfuser.views.pickupgridview.caption'
,
caption
:
'entities.wfuser.views.pickupgridview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'wfusers'
,
parameterName
:
'wfuser'
},
{
pathName
:
'pickupgridview'
,
parameterName
:
'pickupgridview'
},
...
...
@@ -362,7 +388,8 @@ const router = new Router({
{
path
:
'/wfusers/:wfuser?/wfmembers/:wfmember?/editview/:editview?'
,
meta
:
{
caption
:
'entities.wfmember.views.editview.caption'
,
caption
:
'entities.wfmember.views.editview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'wfusers'
,
parameterName
:
'wfuser'
},
{
pathName
:
'wfmembers'
,
parameterName
:
'wfmember'
},
...
...
@@ -375,7 +402,8 @@ const router = new Router({
{
path
:
'/wfgroups/:wfgroup?/wfmembers/:wfmember?/editview/:editview?'
,
meta
:
{
caption
:
'entities.wfmember.views.editview.caption'
,
caption
:
'entities.wfmember.views.editview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'wfgroups'
,
parameterName
:
'wfgroup'
},
{
pathName
:
'wfmembers'
,
parameterName
:
'wfmember'
},
...
...
@@ -388,7 +416,8 @@ const router = new Router({
{
path
:
'/wfmembers/:wfmember?/editview/:editview?'
,
meta
:
{
caption
:
'entities.wfmember.views.editview.caption'
,
caption
:
'entities.wfmember.views.editview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'wfmembers'
,
parameterName
:
'wfmember'
},
{
pathName
:
'editview'
,
parameterName
:
'editview'
},
...
...
@@ -400,7 +429,8 @@ const router = new Router({
{
path
:
'/wfgroups/:wfgroup?/editview/:editview?'
,
meta
:
{
caption
:
'entities.wfgroup.views.editview.caption'
,
caption
:
'entities.wfgroup.views.editview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'wfgroups'
,
parameterName
:
'wfgroup'
},
{
pathName
:
'editview'
,
parameterName
:
'editview'
},
...
...
@@ -412,7 +442,8 @@ const router = new Router({
{
path
:
'/wfremodels/:wfremodel?/editview/:editview?'
,
meta
:
{
caption
:
'entities.wfremodel.views.editview.caption'
,
caption
:
'entities.wfremodel.views.editview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'wfremodels'
,
parameterName
:
'wfremodel'
},
{
pathName
:
'editview'
,
parameterName
:
'editview'
},
...
...
@@ -424,7 +455,8 @@ const router = new Router({
{
path
:
'/wfgroups/:wfgroup?/pickupgridview/:pickupgridview?'
,
meta
:
{
caption
:
'entities.wfgroup.views.pickupgridview.caption'
,
caption
:
'entities.wfgroup.views.pickupgridview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'wfgroups'
,
parameterName
:
'wfgroup'
},
{
pathName
:
'pickupgridview'
,
parameterName
:
'pickupgridview'
},
...
...
@@ -436,7 +468,8 @@ const router = new Router({
{
path
:
'/wfgroups/:wfgroup?/gridview/:gridview?'
,
meta
:
{
caption
:
'entities.wfgroup.views.gridview.caption'
,
caption
:
'entities.wfgroup.views.gridview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'wfgroups'
,
parameterName
:
'wfgroup'
},
{
pathName
:
'gridview'
,
parameterName
:
'gridview'
},
...
...
app_web/src/pages/workflow/wfuser-mpickup-view/wfuser-mpickup-view-base.vue
浏览文件 @
06788533
...
...
@@ -667,6 +667,7 @@ export default class WFUserMPickupViewBase extends Vue {
});
this
.
viewSelections
=
newSelections
;
});
this
.
selectedData
=
JSON
.
stringify
(
this
.
viewSelections
);
}
/**
...
...
@@ -677,6 +678,7 @@ export default class WFUserMPickupViewBase extends Vue {
public
onCLickAllLeft
():
void
{
this
.
viewSelections
=
[];
this
.
containerModel
.
view_leftbtn
.
disabled
=
true
;
this
.
engine
.
onCtrlEvent
(
'pickupviewpanel'
,
'selectionchange'
,
[]);
this
.
selectedData
=
JSON
.
stringify
(
this
.
viewSelections
);
}
...
...
@@ -704,6 +706,7 @@ export default class WFUserMPickupViewBase extends Vue {
}
});
});
this
.
selectedData
=
JSON
.
stringify
(
this
.
viewSelections
);
}
/**
...
...
app_web/src/shims-vue.d.ts
浏览文件 @
06788533
...
...
@@ -8,4 +8,5 @@ declare module '@fullcalendar/timegrid';
declare
module
'@fullcalendar/list'
;
declare
module
'@fullcalendar/interaction'
;
declare
module
'vue-grid-layout'
;
declare
module
'vue-print-nb'
;
\ No newline at end of file
declare
module
'vue-print-nb'
;
declare
module
'vuedraggable'
;
\ No newline at end of file
app_web/src/styles/default.less
浏览文件 @
06788533
...
...
@@ -237,6 +237,12 @@
}
}
// 清除看板里视图的阴影
.dashboard .portlet .view-container{
-webkit-box-shadow: none ;
box-shadow: none;
}
/*** END:多数据视图属性布局 ***/
// 看板视图,卡片模式
...
...
app_web/src/utils/types/util.d.ts
浏览文件 @
06788533
...
...
@@ -130,6 +130,20 @@ export declare interface Util {
*/
formatData
(
arg
:
any
,
parent
:
any
,
params
:
any
):
any
;
/**
* 计算导航数据
* 先从当前数据目标计算,然后再从当前上下文计算,最后从当前视图参数计算,没有则为null
*
* @static
* @param {any} data 表单数据
* @param {any} parentContext 外层context
* @param {any} parentParam 外层param
* @param {any} params 附加参数
* @returns {any}
* @memberof Util
*/
computedNavData
(
data
:
any
,
parentContext
:
any
,
parentParam
:
any
,
params
:
any
):
any
;
/**
* 日期格式化
*
...
...
app_web/src/utils/util/util.ts
浏览文件 @
06788533
...
...
@@ -324,6 +324,44 @@ export class Util {
return
_data
;
}
/**
* 计算导航数据
* 先从当前数据目标计算,然后再从当前上下文计算,最后从当前视图参数计算,没有则为null
*
* @static
* @param {any} data 表单数据
* @param {any} parentContext 外层context
* @param {any} parentParam 外层param
* @param {any} params 附加参数
* @returns {any}
* @memberof Util
*/
public
static
computedNavData
(
data
:
any
,
parentContext
:
any
,
parentParam
:
any
,
params
:
any
):
any
{
let
_data
:
any
=
{};
if
(
params
&&
Object
.
keys
(
params
).
length
>
0
){
Object
.
keys
(
params
).
forEach
((
name
:
string
)
=>
{
if
(
!
name
)
{
return
;
}
let
value
:
string
|
null
=
params
[
name
];
if
(
value
&&
value
.
startsWith
(
'%'
)
&&
value
.
endsWith
(
'%'
))
{
const
key
=
value
.
substring
(
1
,
value
.
length
-
1
).
toLowerCase
();
if
(
data
&&
data
.
hasOwnProperty
(
key
))
{
value
=
data
[
key
];
}
else
if
(
parentContext
&&
parentContext
[
key
]){
value
=
parentContext
[
key
];
}
else
if
(
parentParam
&&
parentParam
[
key
]){
value
=
parentParam
[
key
];
}
else
{
value
=
null
;
}
}
Object
.
assign
(
_data
,
{
[
name
.
toLowerCase
()]:
value
});
});
}
return
_data
;
}
/**
* 日期格式化
*
...
...
app_web/src/widgets/wfmember/main-form/main-form-base.vue
浏览文件 @
06788533
...
...
@@ -14,7 +14,8 @@
:data=
"data"
:context=
"context"
:viewparams=
"viewparams"
:itemParam=
'
{ }'
:localContext =
'
{ }'
:localParam ='{ }'
:disabled="detailsModel.personname.disabled"
name='personname'
deMajorField='displayname'
...
...
app_web/src/widgets/wfprocess-definition/main-form/main-form-base.vue
浏览文件 @
06788533
...
...
@@ -32,12 +32,14 @@
</i-col>
<i-col
v-show=
"detailsModel.modelenable.visible"
:style=
"
{}" :lg="{ span: 24, offset: 0 }">
<app-form-item
name=
'modelenable'
:itemRules=
"this.rules.modelenable"
class=
''
:caption=
"$t('entities.wfprocessdefinition.main_form.details.modelenable')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.modelenable.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<dropdown-list
<dropdown-list
v-model=
"data.modelenable"
:data=
"data"
:context=
"context"
:viewparams=
"viewparams"
:itemParam=
"
{}"
:localContext =
'
{ }'
:localParam ='{ }'
:disabled="detailsModel.modelenable.disabled"
style="width:100px;width: 100px;"
tag='YesNo'
...
...
ibzwf-core/src/main/java/cn/ibizlab/core/workflow/domain/WFHistory.java
浏览文件 @
06788533
...
...
@@ -21,13 +21,16 @@ import java.io.Serializable;
import
lombok.*
;
import
org.springframework.data.annotation.Transient
;
import
cn.ibizlab.util.domain.EntityClient
;
/**
*
ServiceApi
[历史] 对象
* [历史] 对象
*/
@Data
public
class
WFHistory
extends
EntityClient
implements
Serializable
{
@Builder
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public
class
WFHistory
extends
EntityBase
implements
Serializable
{
/**
* 标识
...
...
@@ -103,63 +106,6 @@ public class WFHistory extends EntityClient implements Serializable {
/**
* 设置 [操作者标识]
*/
public
void
setAuthor
(
String
author
){
this
.
author
=
author
;
this
.
modify
(
"author"
,
author
);
}
/**
* 设置 [操作者]
*/
public
void
setAuthorname
(
String
authorname
){
this
.
authorname
=
authorname
;
this
.
modify
(
"authorname"
,
authorname
);
}
/**
* 设置 [意见]
*/
public
void
setFullmessage
(
String
fullmessage
){
this
.
fullmessage
=
fullmessage
;
this
.
modify
(
"message"
,
fullmessage
);
}
/**
* 设置 [时间]
*/
public
void
setTime
(
Timestamp
time
){
this
.
time
=
time
;
this
.
modify
(
"actiontime"
,
time
);
}
/**
* 设置 [意见类型]
*/
public
void
setType
(
String
type
){
this
.
type
=
type
;
this
.
modify
(
"actiontype"
,
type
);
}
/**
* 设置 [任务标识]
*/
public
void
setTaskid
(
String
taskid
){
this
.
taskid
=
taskid
;
this
.
modify
(
"taskid"
,
taskid
);
}
/**
* 设置 [实例标识]
*/
public
void
setProcessinstanceid
(
String
processinstanceid
){
this
.
processinstanceid
=
processinstanceid
;
this
.
modify
(
"instanceid"
,
processinstanceid
);
}
/**
* 设置 [业务键值]
*/
public
void
setProcessinstancebusinesskey
(
String
processinstancebusinesskey
){
this
.
processinstancebusinesskey
=
processinstancebusinesskey
;
this
.
modify
(
"businesskey"
,
processinstancebusinesskey
);
}
}
ibzwf-core/src/main/java/cn/ibizlab/core/workflow/domain/WFProcessInstance.java
浏览文件 @
06788533
...
...
@@ -21,13 +21,16 @@ import java.io.Serializable;
import
lombok.*
;
import
org.springframework.data.annotation.Transient
;
import
cn.ibizlab.util.domain.EntityClient
;
/**
*
ServiceApi
[流程实例] 对象
* [流程实例] 对象
*/
@Data
public
class
WFProcessInstance
extends
EntityClient
implements
Serializable
{
@Builder
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public
class
WFProcessInstance
extends
EntityBase
implements
Serializable
{
/**
* 实例标识
...
...
@@ -102,63 +105,6 @@ public class WFProcessInstance extends EntityClient implements Serializable {
/**
* 设置 [实例名称]
*/
public
void
setName
(
String
name
){
this
.
name
=
name
;
this
.
modify
(
"instancename"
,
name
);
}
/**
* 设置 [DefinitionKey]
*/
public
void
setProcessdefinitionkey
(
String
processdefinitionkey
){
this
.
processdefinitionkey
=
processdefinitionkey
;
this
.
modify
(
"definitionkey"
,
processdefinitionkey
);
}
/**
* 设置 [流程定义名称]
*/
public
void
setProcessdefinitionname
(
String
processdefinitionname
){
this
.
processdefinitionname
=
processdefinitionname
;
this
.
modify
(
"definitionname"
,
processdefinitionname
);
}
/**
* 设置 [业务键值]
*/
public
void
setBusinesskey
(
String
businesskey
){
this
.
businesskey
=
businesskey
;
this
.
modify
(
"businesskey"
,
businesskey
);
}
/**
* 设置 [启动时间]
*/
public
void
setStarttime
(
Timestamp
starttime
){
this
.
starttime
=
starttime
;
this
.
modify
(
"starttime"
,
starttime
);
}
/**
* 设置 [结束时间]
*/
public
void
setEndtime
(
Timestamp
endtime
){
this
.
endtime
=
endtime
;
this
.
modify
(
"endtime"
,
endtime
);
}
/**
* 设置 [发起人标识]
*/
public
void
setStartuserid
(
String
startuserid
){
this
.
startuserid
=
startuserid
;
this
.
modify
(
"startuserid"
,
startuserid
);
}
/**
* 设置 [发起人]
*/
public
void
setStartusername
(
String
startusername
){
this
.
startusername
=
startusername
;
this
.
modify
(
"startusername"
,
startusername
);
}
}
ibzwf-core/src/main/java/cn/ibizlab/core/workflow/domain/WFProcessNode.java
浏览文件 @
06788533
...
...
@@ -21,13 +21,16 @@ import java.io.Serializable;
import
lombok.*
;
import
org.springframework.data.annotation.Transient
;
import
cn.ibizlab.util.domain.EntityClient
;
/**
*
ServiceApi
[流程定义节点] 对象
* [流程定义节点] 对象
*/
@Data
public
class
WFProcessNode
extends
EntityClient
implements
Serializable
{
@Builder
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public
class
WFProcessNode
extends
EntityBase
implements
Serializable
{
/**
* 节点标识
...
...
@@ -65,28 +68,6 @@ public class WFProcessNode extends EntityClient implements Serializable {
/**
* 设置 [节点名称]
*/
public
void
setUsertaskname
(
String
usertaskname
){
this
.
usertaskname
=
usertaskname
;
this
.
modify
(
"nodename"
,
usertaskname
);
}
/**
* 设置 [DefinitionKey]
*/
public
void
setProcessdefinitionkey
(
String
processdefinitionkey
){
this
.
processdefinitionkey
=
processdefinitionkey
;
this
.
modify
(
"definitionkey"
,
processdefinitionkey
);
}
/**
* 设置 [流程定义名称]
*/
public
void
setProcessdefinitionname
(
String
processdefinitionname
){
this
.
processdefinitionname
=
processdefinitionname
;
this
.
modify
(
"definitionname"
,
processdefinitionname
);
}
}
ibzwf-core/src/main/java/cn/ibizlab/core/workflow/domain/WFREModel.java
浏览文件 @
06788533
...
...
@@ -21,13 +21,16 @@ import java.io.Serializable;
import
lombok.*
;
import
org.springframework.data.annotation.Transient
;
import
cn.ibizlab.util.domain.EntityClient
;
/**
*
ServiceApi
[流程模型] 对象
* [流程模型] 对象
*/
@Data
public
class
WFREModel
extends
EntityClient
implements
Serializable
{
@Builder
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public
class
WFREModel
extends
EntityBase
implements
Serializable
{
/**
* ID
...
...
@@ -56,21 +59,6 @@ public class WFREModel extends EntityClient implements Serializable {
/**
* 设置 [名称]
*/
public
void
setName
(
String
name
){
this
.
name
=
name
;
this
.
modify
(
"modelname"
,
name
);
}
/**
* 设置 [BPMN]
*/
public
void
setBpmnfile
(
String
bpmnfile
){
this
.
bpmnfile
=
bpmnfile
;
this
.
modify
(
"bpmnfile"
,
bpmnfile
);
}
}
ibzwf-core/src/main/java/cn/ibizlab/core/workflow/domain/WFTask.java
浏览文件 @
06788533
...
...
@@ -21,13 +21,16 @@ import java.io.Serializable;
import
lombok.*
;
import
org.springframework.data.annotation.Transient
;
import
cn.ibizlab.util.domain.EntityClient
;
/**
*
ServiceApi
[工作流任务] 对象
* [工作流任务] 对象
*/
@Data
public
class
WFTask
extends
EntityClient
implements
Serializable
{
@Builder
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public
class
WFTask
extends
EntityBase
implements
Serializable
{
/**
* 任务标识
...
...
@@ -81,42 +84,6 @@ public class WFTask extends EntityClient implements Serializable {
/**
* 设置 [任务名称]
*/
public
void
setName
(
String
name
){
this
.
name
=
name
;
this
.
modify
(
"taskname"
,
name
);
}
/**
* 设置 [DefinitionKey]
*/
public
void
setProcessdefinitionkey
(
String
processdefinitionkey
){
this
.
processdefinitionkey
=
processdefinitionkey
;
this
.
modify
(
"definitionkey"
,
processdefinitionkey
);
}
/**
* 设置 [实例标识]
*/
public
void
setProcessinstanceid
(
String
processinstanceid
){
this
.
processinstanceid
=
processinstanceid
;
this
.
modify
(
"instanceid"
,
processinstanceid
);
}
/**
* 设置 [业务键值]
*/
public
void
setProcessinstancebusinesskey
(
String
processinstancebusinesskey
){
this
.
processinstancebusinesskey
=
processinstancebusinesskey
;
this
.
modify
(
"businesskey"
,
processinstancebusinesskey
);
}
/**
* 设置 [TaskDefinitionKey]
*/
public
void
setTaskprocessdefinitionkey
(
String
taskprocessdefinitionkey
){
this
.
taskprocessdefinitionkey
=
taskprocessdefinitionkey
;
this
.
modify
(
"taskdefinitionkey"
,
taskprocessdefinitionkey
);
}
}
ibzwf-core/src/main/java/cn/ibizlab/core/workflow/domain/WFTaskWay.java
浏览文件 @
06788533
...
...
@@ -21,13 +21,16 @@ import java.io.Serializable;
import
lombok.*
;
import
org.springframework.data.annotation.Transient
;
import
cn.ibizlab.util.domain.EntityClient
;
/**
*
ServiceApi
[操作路径] 对象
* [操作路径] 对象
*/
@Data
public
class
WFTaskWay
extends
EntityClient
implements
Serializable
{
@Builder
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public
class
WFTaskWay
extends
EntityBase
implements
Serializable
{
/**
* 路径标识
...
...
@@ -95,56 +98,6 @@ public class WFTaskWay extends EntityClient implements Serializable {
/**
* 设置 [路径标识]
*/
public
void
setSequenceflowname
(
String
sequenceflowname
){
this
.
sequenceflowname
=
sequenceflowname
;
this
.
modify
(
"wayname"
,
sequenceflowname
);
}
/**
* 设置 [任务标识]
*/
public
void
setTaskid
(
String
taskid
){
this
.
taskid
=
taskid
;
this
.
modify
(
"taskid"
,
taskid
);
}
/**
* 设置 [TaskDefinitionKey]
*/
public
void
setTaskprocessdefinitionkey
(
String
taskprocessdefinitionkey
){
this
.
taskprocessdefinitionkey
=
taskprocessdefinitionkey
;
this
.
modify
(
"taskdefinitionkey"
,
taskprocessdefinitionkey
);
}
/**
* 设置 [实例标识]
*/
public
void
setProcessinstanceid
(
String
processinstanceid
){
this
.
processinstanceid
=
processinstanceid
;
this
.
modify
(
"instanceid"
,
processinstanceid
);
}
/**
* 设置 [DefinitionKey]
*/
public
void
setProcessdefinitionkey
(
String
processdefinitionkey
){
this
.
processdefinitionkey
=
processdefinitionkey
;
this
.
modify
(
"definitionkey"
,
processdefinitionkey
);
}
/**
* 设置 [业务键值]
*/
public
void
setProcessinstancebusinesskey
(
String
processinstancebusinesskey
){
this
.
processinstancebusinesskey
=
processinstancebusinesskey
;
this
.
modify
(
"businesskey"
,
processinstancebusinesskey
);
}
/**
* 设置 [引用视图]
*/
public
void
setRefviewkey
(
String
refviewkey
){
this
.
refviewkey
=
refviewkey
;
this
.
modify
(
"refviewkey"
,
refviewkey
);
}
}
ibzwf-dependencies/pom.xml
浏览文件 @
06788533
...
...
@@ -77,6 +77,9 @@
<!--xxl-job定时服务 -->
<xxl-job.version>
2.1.0
</xxl-job.version>
<oracle.version>
11.2.0.3
</oracle.version>
<postgresql.version>
42.2.6
</postgresql.version>
</properties>
<dependencyManagement>
...
...
@@ -299,12 +302,6 @@
<artifactId>
httpclient
</artifactId>
</dependency>
<!-- MySQL驱动包 -->
<dependency>
<groupId>
mysql
</groupId>
<artifactId>
mysql-connector-java
</artifactId>
</dependency>
<!-- 阿里Druid数据源 -->
<dependency>
<groupId>
com.alibaba
</groupId>
...
...
@@ -317,9 +314,23 @@
<artifactId>
h2
</artifactId>
</dependency>
<!-- Error -->
<!-- Security -->
<!-- Oracle驱动包 -->
<dependency>
<groupId>
com.oracle
</groupId>
<artifactId>
ojdbc6
</artifactId>
<version>
${oracle.version}
</version>
</dependency>
<!-- PostgreSQL驱动包 -->
<dependency>
<groupId>
org.postgresql
</groupId>
<artifactId>
postgresql
</artifactId>
<version>
${postgresql.version}
</version>
</dependency>
<!-- MySQL驱动包 -->
<dependency>
<groupId>
mysql
</groupId>
<artifactId>
mysql-connector-java
</artifactId>
</dependency>
</dependencies>
...
...
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录