Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
I
ibztask
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
ibiz4jteam
ibztask
提交
05330d08
提交
05330d08
编写于
4年前
作者:
ibizdev
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
ibiz4j 发布系统代码
上级
f04b93eb
变更
31
展开全部
隐藏空白字符变更
内嵌
并排
正在显示
31 个修改的文件
包含
644 行增加
和
186 行删除
+644
-186
CHANGELOG.md
app_web/CHANGELOG.md
+48
-0
auth-service.ts
app_web/src/authservice/auth-service.ts
+1
-1
app-department-select.vue
...omponents/app-department-select/app-department-select.vue
+3
-3
app-group-select.vue
app_web/src/components/app-group-select/app-group-select.vue
+64
-12
app-upicker.less
app_web/src/components/app-upicker/app-upicker.less
+2
-2
app-upicker.vue
app_web/src/components/app-upicker/app-upicker.vue
+287
-114
edit-view-engine.ts
app_web/src/engine/view/edit-view-engine.ts
+4
-4
en-US.ts
app_web/src/locale/lang/en-US.ts
+1
-0
zh-CN.ts
app_web/src/locale/lang/zh-CN.ts
+1
-0
jobs-info-edit-view-base.vue
...ges/task/jobs-info-edit-view/jobs-info-edit-view-base.vue
+4
-4
jobs-info-grid-view-base.vue
...ges/task/jobs-info-grid-view/jobs-info-grid-view-base.vue
+4
-4
jobs-log-edit-view-base.vue
...pages/task/jobs-log-edit-view/jobs-log-edit-view-base.vue
+4
-4
jobs-log-grid-view-base.vue
...pages/task/jobs-log-grid-view/jobs-log-grid-view-base.vue
+4
-4
jobs-registry-edit-view-base.vue
.../jobs-registry-edit-view/jobs-registry-edit-view-base.vue
+4
-4
jobs-registry-grid-view-base.vue
.../jobs-registry-grid-view/jobs-registry-grid-view-base.vue
+4
-4
router.ts
app_web/src/pages/task/task-index-view/router.ts
+13
-13
task-index-view-base.vue
...b/src/pages/task/task-index-view/task-index-view-base.vue
+2
-2
default-searchform-base.vue
.../jobs-info/default-searchform/default-searchform-base.vue
+1
-0
main-form-base.vue
app_web/src/widgets/jobs-info/main-form/main-form-base.vue
+50
-0
main-grid-base.vue
app_web/src/widgets/jobs-info/main-grid/main-grid-base.vue
+2
-2
main-grid.less
app_web/src/widgets/jobs-info/main-grid/main-grid.less
+10
-1
default-searchform-base.vue
...s/jobs-log/default-searchform/default-searchform-base.vue
+1
-0
main-form-base.vue
app_web/src/widgets/jobs-log/main-form/main-form-base.vue
+50
-0
main-grid-base.vue
app_web/src/widgets/jobs-log/main-grid/main-grid-base.vue
+2
-2
main-grid.less
app_web/src/widgets/jobs-log/main-grid/main-grid.less
+10
-1
default-searchform-base.vue
...s-registry/default-searchform/default-searchform-base.vue
+1
-0
main-form-base.vue
...eb/src/widgets/jobs-registry/main-form/main-form-base.vue
+50
-0
main-grid-base.vue
...eb/src/widgets/jobs-registry/main-grid/main-grid-base.vue
+2
-2
main-grid.less
app_web/src/widgets/jobs-registry/main-grid/main-grid.less
+10
-1
DTOClient.java
...-util/src/main/java/cn/ibizlab/util/domain/DTOClient.java
+1
-1
PermissionSyncJob.java
.../src/main/java/cn/ibizlab/util/job/PermissionSyncJob.java
+4
-1
未找到文件。
app_web/CHANGELOG.md
浏览文件 @
05330d08
## v7.0.0-alpha.17 [2020-8-9]
### Bug修复
修复系统级的操作标识异常问题
修复表格新增插件异常问题
修复表格单击行绑定数据异常bug
修复表格合计行样式问题
### 功能新增及优化
#### 模板
新增支持前后端分离部署
新增动态代码表预定义代码表支持
新增数据选择(调用接口)组件
新增部件样式表支持
优化数据服务逻辑
优化代码表服务基类、动态代码表
优化导航参数处理逻辑
优化数据拷贝逻辑
优化组织、部门、人员控件只绑定id逻辑
优化部件关联外键值
#### 基础文件
新增前后端分离部署
新增下拉列表控件支持树状代码表
新增数据选择(调用接口)组件
优化数据拷贝逻辑
优化组织、部门、人员控件只绑定id逻辑
## v7.0.0-alpha.16 [2020-8-2]
### Bug修复
...
...
This diff is collapsed.
Click to expand it.
app_web/src/authservice/auth-service.ts
浏览文件 @
05330d08
...
...
@@ -18,7 +18,7 @@ export default class AuthService {
public
$store
:
Store
<
any
>
|
null
=
null
;
/**
* 默认操作
符
* 默认操作
标识
*
* @public
* @type {(any)}
...
...
This diff is collapsed.
Click to expand it.
app_web/src/components/app-department-select/app-department-select.vue
浏览文件 @
05330d08
...
...
@@ -103,7 +103,7 @@ export default class AppDepartmentSelect extends Vue {
* @type {*}
* @memberof AppDepartmentSelect
*/
public
oldurl
:
any
[]
=
[]
;
public
oldurl
:
any
;
/**
* 获取节点数据
...
...
@@ -136,14 +136,14 @@ export default class AppDepartmentSelect extends Vue {
}
this
.
oldurl
=
_url
;
// 缓存机制
const
result
:
any
=
this
.
$store
.
getters
.
getDepData
(
this
.
filter
);
const
result
:
any
=
this
.
$store
.
getters
.
getDepData
(
_url
);
if
(
result
){
this
.
Nodesdata
=
result
;
return
;
}
this
.
$http
.
get
(
_url
).
then
((
response
:
any
)
=>
{
this
.
Nodesdata
=
response
.
data
;
this
.
$store
.
commit
(
'addDepData'
,
{
srfkey
:
this
.
filter
,
depData
:
response
.
data
});
this
.
$store
.
commit
(
'addDepData'
,
{
srfkey
:
_url
,
depData
:
response
.
data
});
}).
catch
((
response
:
any
)
=>
{
if
(
!
response
||
!
response
.
status
||
!
response
.
data
)
{
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.error'
)
as
string
),
desc
:
(
this
.
$t
(
'app.commonWords.sysException'
)
as
string
)
});
...
...
This diff is collapsed.
Click to expand it.
app_web/src/components/app-group-select/app-group-select.vue
浏览文件 @
05330d08
...
...
@@ -21,6 +21,7 @@
<
script
lang=
"ts"
>
import
{
Component
,
Vue
,
Prop
,
Watch
}
from
'vue-property-decorator'
;
import
{
Subject
}
from
'rxjs'
;
import
CodeListService
from
'@/service/app/codelist-service'
;
@
Component
({})
export
default
class
AppGroupSelect
extends
Vue
{
...
...
@@ -64,6 +65,20 @@ export default class AppGroupSelect extends Vue {
*/
@
Prop
()
data
:
any
;
/**
* 代码表标识
*
* @memberof AppGroupSelect
*/
@
Prop
()
public
tag
?:
string
;
/**
* 代码表类型
*
* @memberof AppGroupSelect
*/
@
Prop
()
public
codelistType
?:
string
;
/**
* 过滤属性标识
*
...
...
@@ -126,12 +141,12 @@ export default class AppGroupSelect extends Vue {
* @type {*}
* @memberof AppGroupSelect
*/
@
Watch
(
'
value'
)
onValueChange
(
newVal
:
any
)
{
@
Watch
(
'
data'
,{
immediate
:
true
,
deep
:
true
}
)
onValueChange
(
newVal
:
any
,
oldVal
:
any
)
{
this
.
selects
=
[];
if
(
newVal
)
{
let
item
:
any
=
{};
item
.
label
=
newVal
.
split
(
','
)
;
item
.
label
=
this
.
data
[
this
.
name
]?
this
.
data
[
this
.
name
].
split
(
','
):[]
;
if
(
this
.
valueitem
)
{
item
.
id
=
this
.
data
[
this
.
valueitem
]
?
this
.
data
[
this
.
valueitem
].
split
(
','
)
:
[];
}
...
...
@@ -140,13 +155,24 @@ export default class AppGroupSelect extends Vue {
item
[
this
.
fillmap
[
key
]]
=
this
.
data
[
key
]
?
this
.
data
[
key
].
split
(
','
)
:
[];
}
}
item
.
label
.
forEach
((
val
:
string
,
index
:
number
)
=>
{
let
_item
:
any
=
{};
for
(
let
key
in
item
)
{
_item
[
key
]
=
item
[
key
][
index
]
?
item
[
key
][
index
]
:
null
;
}
this
.
selects
.
push
(
_item
)
})
const
callback
:
any
=
(
item
:
any
)
=>
{
item
.
label
.
forEach
((
val
:
string
,
index
:
number
)
=>
{
let
_item
:
any
=
{};
for
(
let
key
in
item
)
{
_item
[
key
]
=
item
[
key
][
index
]
?
item
[
key
][
index
]
:
null
;
}
this
.
selects
.
push
(
_item
)
})
}
if
(
item
.
label
.
length
==
0
&&
item
.
id
.
length
>
0
){
this
.
fillLabel
(
item
,
item
.
id
,(
result
:
any
)
=>
{
item
.
label
=
result
.
label
;
callback
(
item
);
});
}
else
{
callback
(
item
);
}
}
}
...
...
@@ -259,7 +285,6 @@ export default class AppGroupSelect extends Vue {
}
});
}
else
{
item
=
this
.
selects
.
length
>
0
?
this
.
selects
[
0
]
:
{};
item
[
this
.
name
]
=
this
.
selects
.
length
>
0
?
this
.
selects
[
0
].
label
:
null
;
if
(
this
.
valueitem
)
{
item
[
this
.
valueitem
]
=
this
.
selects
.
length
>
0
?
this
.
selects
[
0
].
id
:
null
;
...
...
@@ -273,7 +298,34 @@ export default class AppGroupSelect extends Vue {
for
(
let
key
in
item
)
{
this
.
$emit
(
'formitemvaluechange'
,
{
name
:
key
,
value
:
item
[
key
]
});
}
}
}
/**
* 填充label
*
* @memberof AppGroupSelect
*/
public
fillLabel
(
tempObject
:
any
,
valueItem
:
Array
<
any
>
,
callback
:
any
){
if
(
tempObject
.
label
.
length
===
0
&&
tempObject
.
id
.
length
>
0
&&
this
.
tag
&&
this
.
codelistType
&&
Object
.
is
(
this
.
codelistType
,
"DYNAMIC"
)){
let
codeListService
:
CodeListService
=
new
CodeListService
();
codeListService
.
getItems
(
this
.
tag
).
then
((
items
:
any
)
=>
{
if
(
items
&&
items
.
length
>
0
&&
valueItem
.
length
>
0
){
let
tempLabel
:
Array
<
any
>
=
[];
valueItem
.
forEach
((
value
:
any
)
=>
{
let
result
:
any
=
items
.
find
((
item
:
any
)
=>
{
return
item
.
id
===
value
;
})
tempLabel
.
push
(
result
.
label
);
})
Object
.
assign
(
tempObject
,{
label
:
tempLabel
});
}
callback
(
tempObject
);
}).
catch
((
error
:
any
)
=>
{
console
.
log
(
error
);
})
}
}
}
</
script
>
...
...
This diff is collapsed.
Click to expand it.
app_web/src/components/app-upicker/app-upicker.less
浏览文件 @
05330d08
.app-picker {
.app-
u
picker {
width: 100%;
.el-select {
.el-input__suffix {
right: 20px
;
display: none
;
}
}
.text-value {
...
...
This diff is collapsed.
Click to expand it.
app_web/src/components/app-upicker/app-upicker.vue
浏览文件 @
05330d08
此差异已折叠。
点击以展开。
app_web/src/engine/view/edit-view-engine.ts
浏览文件 @
05330d08
...
...
@@ -193,19 +193,19 @@ export default class EditViewEngine extends ViewEngine {
*/
public
setTabCaption
(
info
:
string
,
isNew
:
boolean
):
void
{
let
viewdata
:
any
=
this
.
view
.
model
;
let
index
:
number
=
viewdata
.
srf
Title
.
indexOf
(
"-"
);
let
index
:
number
=
viewdata
.
srf
Caption
.
indexOf
(
"-"
);
if
(
viewdata
&&
info
&&
!
Object
.
is
(
info
,
''
))
{
if
(
index
!==
-
1
){
viewdata
.
srf
Title
=
viewdata
.
srfTitle
.
substr
(
0
,
index
);
viewdata
.
srf
Caption
=
viewdata
.
srfCaption
.
substr
(
0
,
index
);
}
// 解决表格视图标题问题
if
(
this
.
view
.
$tabPageExp
&&
this
.
view
.
viewDefaultUsage
){
this
.
view
.
$tabPageExp
.
setCurPageCaption
(
this
.
view
.
$t
(
viewdata
.
srf
Title
),
this
.
view
.
$t
(
viewdata
.
srfTitle
),
info
);
this
.
view
.
$tabPageExp
.
setCurPageCaption
(
this
.
view
.
$t
(
viewdata
.
srf
Caption
),
this
.
view
.
$t
(
viewdata
.
srfCaption
),
info
);
}
if
(
this
.
view
.
$route
){
this
.
view
.
$route
.
meta
.
info
=
info
;
}
this
.
view
.
model
.
srf
Title
=
`
${
this
.
view
.
$t
(
viewdata
.
srfTitle
)}
-
${
viewdata
.
dataInfo
}
`
;
this
.
view
.
model
.
srf
Caption
=
`
${
this
.
view
.
$t
(
viewdata
.
srfCaption
)}
-
${
viewdata
.
dataInfo
}
`
;
this
.
view
.
initNavDataWithRoute
(
null
,
isNew
);
}
}
...
...
This diff is collapsed.
Click to expand it.
app_web/src/locale/lang/en-US.ts
浏览文件 @
05330d08
...
...
@@ -197,6 +197,7 @@ export default {
back
:
"Back"
,
next
:
"Next"
,
complete
:
"Complete"
,
preactionmessage
:
"The calculation of the previous behavior is not configured"
},
viewLayoutPanel
:
{
appLogoutView
:
{
...
...
This diff is collapsed.
Click to expand it.
app_web/src/locale/lang/zh-CN.ts
浏览文件 @
05330d08
...
...
@@ -196,6 +196,7 @@ export default {
back
:
"上一步"
,
next
:
"下一步"
,
complete
:
"完成"
,
preactionmessage
:
"未配置计算上一步行为"
},
viewLayoutPanel
:
{
appLogoutView
:
{
...
...
This diff is collapsed.
Click to expand it.
app_web/src/pages/task/jobs-info-edit-view/jobs-info-edit-view-base.vue
浏览文件 @
05330d08
<
template
>
<div
class=
"view-container deeditview jobs-info-edit-view"
>
<app-studioaction
:viewTitle=
"$t(model.srf
Title
)"
viewName=
"jobsinfoeditview"
></app-studioaction>
<app-studioaction
:viewTitle=
"$t(model.srf
Caption
)"
viewName=
"jobsinfoeditview"
></app-studioaction>
<card
class=
'view-card '
:disHover=
"true"
:bordered=
"false"
>
<div
slot=
'title'
class=
"header-container"
>
<span
class=
'caption-info'
>
{{
$t
(
model
.
srf
Title
)
}}
</span>
<span
class=
'caption-info'
>
{{
$t
(
model
.
srf
Caption
)
}}
</span>
<div
class=
'toolbar-container'
>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
<i-button
v-show=
"toolBarModels.tbitem3.visabled"
:disabled=
"toolBarModels.tbitem3.disabled"
class=
''
@
click=
"toolbar_click(
{ tag: 'tbitem3' }, $event)">
...
...
@@ -470,7 +470,7 @@ export default class JobsInfoEditViewBase extends Vue {
*/
public
initNavDataWithRoute
(
data
:
any
=
null
,
isNew
:
boolean
=
false
,
isAlways
:
boolean
=
false
){
if
(
isAlways
||
(
this
.
viewDefaultUsage
&&
Object
.
is
(
this
.
navModel
,
"route"
))
){
this
.
navDataService
.
addNavData
({
id
:
'jobs-info-edit-view'
,
tag
:
this
.
viewtag
,
srfkey
:
isNew
?
null
:
this
.
context
.
jobsinfo
,
title
:
this
.
$t
(
this
.
model
.
srf
Title
),
data
:
data
,
context
:
this
.
context
,
viewparams
:
this
.
viewparams
,
path
:
this
.
$route
.
fullPath
});
this
.
navDataService
.
addNavData
({
id
:
'jobs-info-edit-view'
,
tag
:
this
.
viewtag
,
srfkey
:
isNew
?
null
:
this
.
context
.
jobsinfo
,
title
:
this
.
$t
(
this
.
model
.
srf
Caption
),
data
:
data
,
context
:
this
.
context
,
viewparams
:
this
.
viewparams
,
path
:
this
.
$route
.
fullPath
});
}
}
...
...
@@ -481,7 +481,7 @@ export default class JobsInfoEditViewBase extends Vue {
*/
public
initNavDataWithTab
(
data
:
any
=
null
,
isOnlyAdd
:
boolean
=
true
,
isAlways
:
boolean
=
false
){
if
(
isAlways
||
(
this
.
viewDefaultUsage
&&
!
Object
.
is
(
this
.
navModel
,
"route"
))
){
this
.
navDataService
.
addNavDataByOnly
({
id
:
'jobs-info-edit-view'
,
tag
:
this
.
viewtag
,
srfkey
:
this
.
context
.
jobsinfo
,
title
:
this
.
$t
(
this
.
model
.
srf
Title
),
data
:
data
,
context
:
this
.
context
,
viewparams
:
this
.
viewparams
,
path
:
this
.
$route
.
fullPath
},
isOnlyAdd
);
this
.
navDataService
.
addNavDataByOnly
({
id
:
'jobs-info-edit-view'
,
tag
:
this
.
viewtag
,
srfkey
:
this
.
context
.
jobsinfo
,
title
:
this
.
$t
(
this
.
model
.
srf
Caption
),
data
:
data
,
context
:
this
.
context
,
viewparams
:
this
.
viewparams
,
path
:
this
.
$route
.
fullPath
},
isOnlyAdd
);
}
}
...
...
This diff is collapsed.
Click to expand it.
app_web/src/pages/task/jobs-info-grid-view/jobs-info-grid-view-base.vue
浏览文件 @
05330d08
<
template
>
<div
class=
'view-container degridview jobs-info-grid-view'
>
<app-studioaction
:viewTitle=
"$t(model.srf
Title
)"
viewName=
"jobsinfogridview"
></app-studioaction>
<app-studioaction
:viewTitle=
"$t(model.srf
Caption
)"
viewName=
"jobsinfogridview"
></app-studioaction>
<card
class=
'view-card '
:dis-hover=
"true"
:bordered=
"false"
>
<div
slot=
'title'
class=
"header-container"
>
<span
class=
'caption-info'
>
{{
$t
(
model
.
srf
Title
)
}}
</span>
<span
class=
'caption-info'
>
{{
$t
(
model
.
srf
Caption
)
}}
</span>
</div>
<div
class=
'content-container'
>
<div
class=
'view-top-messages'
>
...
...
@@ -549,7 +549,7 @@ export default class JobsInfoGridViewBase extends Vue {
*/
public
initNavDataWithRoute
(
data
:
any
=
null
,
isNew
:
boolean
=
false
,
isAlways
:
boolean
=
false
){
if
(
isAlways
||
(
this
.
viewDefaultUsage
&&
Object
.
is
(
this
.
navModel
,
"route"
))
){
this
.
navDataService
.
addNavData
({
id
:
'jobs-info-grid-view'
,
tag
:
this
.
viewtag
,
srfkey
:
isNew
?
null
:
this
.
context
.
jobsinfo
,
title
:
this
.
$t
(
this
.
model
.
srf
Title
),
data
:
data
,
context
:
this
.
context
,
viewparams
:
this
.
viewparams
,
path
:
this
.
$route
.
fullPath
});
this
.
navDataService
.
addNavData
({
id
:
'jobs-info-grid-view'
,
tag
:
this
.
viewtag
,
srfkey
:
isNew
?
null
:
this
.
context
.
jobsinfo
,
title
:
this
.
$t
(
this
.
model
.
srf
Caption
),
data
:
data
,
context
:
this
.
context
,
viewparams
:
this
.
viewparams
,
path
:
this
.
$route
.
fullPath
});
}
}
...
...
@@ -560,7 +560,7 @@ export default class JobsInfoGridViewBase extends Vue {
*/
public
initNavDataWithTab
(
data
:
any
=
null
,
isOnlyAdd
:
boolean
=
true
,
isAlways
:
boolean
=
false
){
if
(
isAlways
||
(
this
.
viewDefaultUsage
&&
!
Object
.
is
(
this
.
navModel
,
"route"
))
){
this
.
navDataService
.
addNavDataByOnly
({
id
:
'jobs-info-grid-view'
,
tag
:
this
.
viewtag
,
srfkey
:
this
.
context
.
jobsinfo
,
title
:
this
.
$t
(
this
.
model
.
srf
Title
),
data
:
data
,
context
:
this
.
context
,
viewparams
:
this
.
viewparams
,
path
:
this
.
$route
.
fullPath
},
isOnlyAdd
);
this
.
navDataService
.
addNavDataByOnly
({
id
:
'jobs-info-grid-view'
,
tag
:
this
.
viewtag
,
srfkey
:
this
.
context
.
jobsinfo
,
title
:
this
.
$t
(
this
.
model
.
srf
Caption
),
data
:
data
,
context
:
this
.
context
,
viewparams
:
this
.
viewparams
,
path
:
this
.
$route
.
fullPath
},
isOnlyAdd
);
}
}
...
...
This diff is collapsed.
Click to expand it.
app_web/src/pages/task/jobs-log-edit-view/jobs-log-edit-view-base.vue
浏览文件 @
05330d08
<
template
>
<div
class=
"view-container deeditview jobs-log-edit-view"
>
<app-studioaction
:viewTitle=
"$t(model.srf
Title
)"
viewName=
"jobslogeditview"
></app-studioaction>
<app-studioaction
:viewTitle=
"$t(model.srf
Caption
)"
viewName=
"jobslogeditview"
></app-studioaction>
<card
class=
'view-card view-no-toolbar'
:disHover=
"true"
:bordered=
"false"
>
<div
slot=
'title'
class=
"header-container"
>
<span
class=
'caption-info'
>
{{
$t
(
model
.
srf
Title
)
}}
</span>
<span
class=
'caption-info'
>
{{
$t
(
model
.
srf
Caption
)
}}
</span>
</div>
<div
class=
"content-container"
>
...
...
@@ -440,7 +440,7 @@ export default class JobsLogEditViewBase extends Vue {
*/
public
initNavDataWithRoute
(
data
:
any
=
null
,
isNew
:
boolean
=
false
,
isAlways
:
boolean
=
false
){
if
(
isAlways
||
(
this
.
viewDefaultUsage
&&
Object
.
is
(
this
.
navModel
,
"route"
))
){
this
.
navDataService
.
addNavData
({
id
:
'jobs-log-edit-view'
,
tag
:
this
.
viewtag
,
srfkey
:
isNew
?
null
:
this
.
context
.
jobslog
,
title
:
this
.
$t
(
this
.
model
.
srf
Title
),
data
:
data
,
context
:
this
.
context
,
viewparams
:
this
.
viewparams
,
path
:
this
.
$route
.
fullPath
});
this
.
navDataService
.
addNavData
({
id
:
'jobs-log-edit-view'
,
tag
:
this
.
viewtag
,
srfkey
:
isNew
?
null
:
this
.
context
.
jobslog
,
title
:
this
.
$t
(
this
.
model
.
srf
Caption
),
data
:
data
,
context
:
this
.
context
,
viewparams
:
this
.
viewparams
,
path
:
this
.
$route
.
fullPath
});
}
}
...
...
@@ -451,7 +451,7 @@ export default class JobsLogEditViewBase extends Vue {
*/
public
initNavDataWithTab
(
data
:
any
=
null
,
isOnlyAdd
:
boolean
=
true
,
isAlways
:
boolean
=
false
){
if
(
isAlways
||
(
this
.
viewDefaultUsage
&&
!
Object
.
is
(
this
.
navModel
,
"route"
))
){
this
.
navDataService
.
addNavDataByOnly
({
id
:
'jobs-log-edit-view'
,
tag
:
this
.
viewtag
,
srfkey
:
this
.
context
.
jobslog
,
title
:
this
.
$t
(
this
.
model
.
srf
Title
),
data
:
data
,
context
:
this
.
context
,
viewparams
:
this
.
viewparams
,
path
:
this
.
$route
.
fullPath
},
isOnlyAdd
);
this
.
navDataService
.
addNavDataByOnly
({
id
:
'jobs-log-edit-view'
,
tag
:
this
.
viewtag
,
srfkey
:
this
.
context
.
jobslog
,
title
:
this
.
$t
(
this
.
model
.
srf
Caption
),
data
:
data
,
context
:
this
.
context
,
viewparams
:
this
.
viewparams
,
path
:
this
.
$route
.
fullPath
},
isOnlyAdd
);
}
}
...
...
This diff is collapsed.
Click to expand it.
app_web/src/pages/task/jobs-log-grid-view/jobs-log-grid-view-base.vue
浏览文件 @
05330d08
<
template
>
<div
class=
'view-container degridview jobs-log-grid-view'
>
<app-studioaction
:viewTitle=
"$t(model.srf
Title
)"
viewName=
"jobsloggridview"
></app-studioaction>
<app-studioaction
:viewTitle=
"$t(model.srf
Caption
)"
viewName=
"jobsloggridview"
></app-studioaction>
<card
class=
'view-card '
:dis-hover=
"true"
:bordered=
"false"
>
<div
slot=
'title'
class=
"header-container"
>
<span
class=
'caption-info'
>
{{
$t
(
model
.
srf
Title
)
}}
</span>
<span
class=
'caption-info'
>
{{
$t
(
model
.
srf
Caption
)
}}
</span>
</div>
<div
class=
'content-container'
>
<div
class=
'view-top-messages'
>
...
...
@@ -474,7 +474,7 @@ export default class JobsLogGridViewBase extends Vue {
*/
public
initNavDataWithRoute
(
data
:
any
=
null
,
isNew
:
boolean
=
false
,
isAlways
:
boolean
=
false
){
if
(
isAlways
||
(
this
.
viewDefaultUsage
&&
Object
.
is
(
this
.
navModel
,
"route"
))
){
this
.
navDataService
.
addNavData
({
id
:
'jobs-log-grid-view'
,
tag
:
this
.
viewtag
,
srfkey
:
isNew
?
null
:
this
.
context
.
jobslog
,
title
:
this
.
$t
(
this
.
model
.
srf
Title
),
data
:
data
,
context
:
this
.
context
,
viewparams
:
this
.
viewparams
,
path
:
this
.
$route
.
fullPath
});
this
.
navDataService
.
addNavData
({
id
:
'jobs-log-grid-view'
,
tag
:
this
.
viewtag
,
srfkey
:
isNew
?
null
:
this
.
context
.
jobslog
,
title
:
this
.
$t
(
this
.
model
.
srf
Caption
),
data
:
data
,
context
:
this
.
context
,
viewparams
:
this
.
viewparams
,
path
:
this
.
$route
.
fullPath
});
}
}
...
...
@@ -485,7 +485,7 @@ export default class JobsLogGridViewBase extends Vue {
*/
public
initNavDataWithTab
(
data
:
any
=
null
,
isOnlyAdd
:
boolean
=
true
,
isAlways
:
boolean
=
false
){
if
(
isAlways
||
(
this
.
viewDefaultUsage
&&
!
Object
.
is
(
this
.
navModel
,
"route"
))
){
this
.
navDataService
.
addNavDataByOnly
({
id
:
'jobs-log-grid-view'
,
tag
:
this
.
viewtag
,
srfkey
:
this
.
context
.
jobslog
,
title
:
this
.
$t
(
this
.
model
.
srf
Title
),
data
:
data
,
context
:
this
.
context
,
viewparams
:
this
.
viewparams
,
path
:
this
.
$route
.
fullPath
},
isOnlyAdd
);
this
.
navDataService
.
addNavDataByOnly
({
id
:
'jobs-log-grid-view'
,
tag
:
this
.
viewtag
,
srfkey
:
this
.
context
.
jobslog
,
title
:
this
.
$t
(
this
.
model
.
srf
Caption
),
data
:
data
,
context
:
this
.
context
,
viewparams
:
this
.
viewparams
,
path
:
this
.
$route
.
fullPath
},
isOnlyAdd
);
}
}
...
...
This diff is collapsed.
Click to expand it.
app_web/src/pages/task/jobs-registry-edit-view/jobs-registry-edit-view-base.vue
浏览文件 @
05330d08
<
template
>
<div
class=
"view-container deeditview jobs-registry-edit-view"
>
<app-studioaction
:viewTitle=
"$t(model.srf
Title
)"
viewName=
"jobsregistryeditview"
></app-studioaction>
<app-studioaction
:viewTitle=
"$t(model.srf
Caption
)"
viewName=
"jobsregistryeditview"
></app-studioaction>
<card
class=
'view-card '
:disHover=
"true"
:bordered=
"false"
>
<div
slot=
'title'
class=
"header-container"
>
<span
class=
'caption-info'
>
{{
$t
(
model
.
srf
Title
)
}}
</span>
<span
class=
'caption-info'
>
{{
$t
(
model
.
srf
Caption
)
}}
</span>
<div
class=
'toolbar-container'
>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
<i-button
v-show=
"toolBarModels.tbitem3.visabled"
:disabled=
"toolBarModels.tbitem3.disabled"
class=
''
@
click=
"toolbar_click(
{ tag: 'tbitem3' }, $event)">
...
...
@@ -470,7 +470,7 @@ export default class JobsRegistryEditViewBase extends Vue {
*/
public
initNavDataWithRoute
(
data
:
any
=
null
,
isNew
:
boolean
=
false
,
isAlways
:
boolean
=
false
){
if
(
isAlways
||
(
this
.
viewDefaultUsage
&&
Object
.
is
(
this
.
navModel
,
"route"
))
){
this
.
navDataService
.
addNavData
({
id
:
'jobs-registry-edit-view'
,
tag
:
this
.
viewtag
,
srfkey
:
isNew
?
null
:
this
.
context
.
jobsregistry
,
title
:
this
.
$t
(
this
.
model
.
srf
Title
),
data
:
data
,
context
:
this
.
context
,
viewparams
:
this
.
viewparams
,
path
:
this
.
$route
.
fullPath
});
this
.
navDataService
.
addNavData
({
id
:
'jobs-registry-edit-view'
,
tag
:
this
.
viewtag
,
srfkey
:
isNew
?
null
:
this
.
context
.
jobsregistry
,
title
:
this
.
$t
(
this
.
model
.
srf
Caption
),
data
:
data
,
context
:
this
.
context
,
viewparams
:
this
.
viewparams
,
path
:
this
.
$route
.
fullPath
});
}
}
...
...
@@ -481,7 +481,7 @@ export default class JobsRegistryEditViewBase extends Vue {
*/
public
initNavDataWithTab
(
data
:
any
=
null
,
isOnlyAdd
:
boolean
=
true
,
isAlways
:
boolean
=
false
){
if
(
isAlways
||
(
this
.
viewDefaultUsage
&&
!
Object
.
is
(
this
.
navModel
,
"route"
))
){
this
.
navDataService
.
addNavDataByOnly
({
id
:
'jobs-registry-edit-view'
,
tag
:
this
.
viewtag
,
srfkey
:
this
.
context
.
jobsregistry
,
title
:
this
.
$t
(
this
.
model
.
srf
Title
),
data
:
data
,
context
:
this
.
context
,
viewparams
:
this
.
viewparams
,
path
:
this
.
$route
.
fullPath
},
isOnlyAdd
);
this
.
navDataService
.
addNavDataByOnly
({
id
:
'jobs-registry-edit-view'
,
tag
:
this
.
viewtag
,
srfkey
:
this
.
context
.
jobsregistry
,
title
:
this
.
$t
(
this
.
model
.
srf
Caption
),
data
:
data
,
context
:
this
.
context
,
viewparams
:
this
.
viewparams
,
path
:
this
.
$route
.
fullPath
},
isOnlyAdd
);
}
}
...
...
This diff is collapsed.
Click to expand it.
app_web/src/pages/task/jobs-registry-grid-view/jobs-registry-grid-view-base.vue
浏览文件 @
05330d08
<
template
>
<div
class=
'view-container degridview jobs-registry-grid-view'
>
<app-studioaction
:viewTitle=
"$t(model.srf
Title
)"
viewName=
"jobsregistrygridview"
></app-studioaction>
<app-studioaction
:viewTitle=
"$t(model.srf
Caption
)"
viewName=
"jobsregistrygridview"
></app-studioaction>
<card
class=
'view-card '
:dis-hover=
"true"
:bordered=
"false"
>
<div
slot=
'title'
class=
"header-container"
>
<span
class=
'caption-info'
>
{{
$t
(
model
.
srf
Title
)
}}
</span>
<span
class=
'caption-info'
>
{{
$t
(
model
.
srf
Caption
)
}}
</span>
</div>
<div
class=
'content-container'
>
<div
class=
'view-top-messages'
>
...
...
@@ -522,7 +522,7 @@ export default class JobsRegistryGridViewBase extends Vue {
*/
public
initNavDataWithRoute
(
data
:
any
=
null
,
isNew
:
boolean
=
false
,
isAlways
:
boolean
=
false
){
if
(
isAlways
||
(
this
.
viewDefaultUsage
&&
Object
.
is
(
this
.
navModel
,
"route"
))
){
this
.
navDataService
.
addNavData
({
id
:
'jobs-registry-grid-view'
,
tag
:
this
.
viewtag
,
srfkey
:
isNew
?
null
:
this
.
context
.
jobsregistry
,
title
:
this
.
$t
(
this
.
model
.
srf
Title
),
data
:
data
,
context
:
this
.
context
,
viewparams
:
this
.
viewparams
,
path
:
this
.
$route
.
fullPath
});
this
.
navDataService
.
addNavData
({
id
:
'jobs-registry-grid-view'
,
tag
:
this
.
viewtag
,
srfkey
:
isNew
?
null
:
this
.
context
.
jobsregistry
,
title
:
this
.
$t
(
this
.
model
.
srf
Caption
),
data
:
data
,
context
:
this
.
context
,
viewparams
:
this
.
viewparams
,
path
:
this
.
$route
.
fullPath
});
}
}
...
...
@@ -533,7 +533,7 @@ export default class JobsRegistryGridViewBase extends Vue {
*/
public
initNavDataWithTab
(
data
:
any
=
null
,
isOnlyAdd
:
boolean
=
true
,
isAlways
:
boolean
=
false
){
if
(
isAlways
||
(
this
.
viewDefaultUsage
&&
!
Object
.
is
(
this
.
navModel
,
"route"
))
){
this
.
navDataService
.
addNavDataByOnly
({
id
:
'jobs-registry-grid-view'
,
tag
:
this
.
viewtag
,
srfkey
:
this
.
context
.
jobsregistry
,
title
:
this
.
$t
(
this
.
model
.
srf
Title
),
data
:
data
,
context
:
this
.
context
,
viewparams
:
this
.
viewparams
,
path
:
this
.
$route
.
fullPath
},
isOnlyAdd
);
this
.
navDataService
.
addNavDataByOnly
({
id
:
'jobs-registry-grid-view'
,
tag
:
this
.
viewtag
,
srfkey
:
this
.
context
.
jobsregistry
,
title
:
this
.
$t
(
this
.
model
.
srf
Caption
),
data
:
data
,
context
:
this
.
context
,
viewparams
:
this
.
viewparams
,
path
:
this
.
$route
.
fullPath
},
isOnlyAdd
);
}
}
...
...
This diff is collapsed.
Click to expand it.
app_web/src/pages/task/task-index-view/router.ts
浏览文件 @
05330d08
...
...
@@ -25,7 +25,7 @@ const router = new Router({
});
},
meta
:
{
caption
:
'app.views.taskindexview.
title
'
,
caption
:
'app.views.taskindexview.
caption
'
,
info
:
''
,
viewType
:
'APPINDEX'
,
parameters
:
[
...
...
@@ -38,7 +38,7 @@ const router = new Router({
{
path
:
'jobslogs/:jobslog?/gridview/:gridview?'
,
meta
:
{
caption
:
'entities.jobslog.views.gridview.
title
'
,
caption
:
'entities.jobslog.views.gridview.
caption
'
,
info
:
''
,
parameters
:
[
{
pathName
:
'taskindexview'
,
parameterName
:
'taskindexview'
},
...
...
@@ -52,7 +52,7 @@ const router = new Router({
{
path
:
'jobsregistries/:jobsregistry?/editview/:editview?'
,
meta
:
{
caption
:
'entities.jobsregistry.views.editview.
title
'
,
caption
:
'entities.jobsregistry.views.editview.
caption
'
,
info
:
''
,
parameters
:
[
{
pathName
:
'taskindexview'
,
parameterName
:
'taskindexview'
},
...
...
@@ -66,7 +66,7 @@ const router = new Router({
{
path
:
'jobsregistries/:jobsregistry?/gridview/:gridview?'
,
meta
:
{
caption
:
'entities.jobsregistry.views.gridview.
title
'
,
caption
:
'entities.jobsregistry.views.gridview.
caption
'
,
info
:
''
,
parameters
:
[
{
pathName
:
'taskindexview'
,
parameterName
:
'taskindexview'
},
...
...
@@ -80,7 +80,7 @@ const router = new Router({
{
path
:
'jobslogs/:jobslog?/editview/:editview?'
,
meta
:
{
caption
:
'entities.jobslog.views.editview.
title
'
,
caption
:
'entities.jobslog.views.editview.
caption
'
,
info
:
''
,
parameters
:
[
{
pathName
:
'taskindexview'
,
parameterName
:
'taskindexview'
},
...
...
@@ -94,7 +94,7 @@ const router = new Router({
{
path
:
'jobsinfos/:jobsinfo?/editview/:editview?'
,
meta
:
{
caption
:
'entities.jobsinfo.views.editview.
title
'
,
caption
:
'entities.jobsinfo.views.editview.
caption
'
,
info
:
''
,
parameters
:
[
{
pathName
:
'taskindexview'
,
parameterName
:
'taskindexview'
},
...
...
@@ -108,7 +108,7 @@ const router = new Router({
{
path
:
'jobsinfos/:jobsinfo?/gridview/:gridview?'
,
meta
:
{
caption
:
'entities.jobsinfo.views.gridview.
title
'
,
caption
:
'entities.jobsinfo.views.gridview.
caption
'
,
info
:
''
,
parameters
:
[
{
pathName
:
'taskindexview'
,
parameterName
:
'taskindexview'
},
...
...
@@ -125,7 +125,7 @@ const router = new Router({
{
path
:
'/jobsinfos/:jobsinfo?/gridview/:gridview?'
,
meta
:
{
caption
:
'entities.jobsinfo.views.gridview.
title
'
,
caption
:
'entities.jobsinfo.views.gridview.
caption
'
,
info
:
''
,
parameters
:
[
{
pathName
:
'jobsinfos'
,
parameterName
:
'jobsinfo'
},
...
...
@@ -138,7 +138,7 @@ const router = new Router({
{
path
:
'/jobsinfos/:jobsinfo?/editview/:editview?'
,
meta
:
{
caption
:
'entities.jobsinfo.views.editview.
title
'
,
caption
:
'entities.jobsinfo.views.editview.
caption
'
,
info
:
''
,
parameters
:
[
{
pathName
:
'jobsinfos'
,
parameterName
:
'jobsinfo'
},
...
...
@@ -151,7 +151,7 @@ const router = new Router({
{
path
:
'/jobsregistries/:jobsregistry?/editview/:editview?'
,
meta
:
{
caption
:
'entities.jobsregistry.views.editview.
title
'
,
caption
:
'entities.jobsregistry.views.editview.
caption
'
,
info
:
''
,
parameters
:
[
{
pathName
:
'jobsregistries'
,
parameterName
:
'jobsregistry'
},
...
...
@@ -164,7 +164,7 @@ const router = new Router({
{
path
:
'/jobslogs/:jobslog?/editview/:editview?'
,
meta
:
{
caption
:
'entities.jobslog.views.editview.
title
'
,
caption
:
'entities.jobslog.views.editview.
caption
'
,
info
:
''
,
parameters
:
[
{
pathName
:
'jobslogs'
,
parameterName
:
'jobslog'
},
...
...
@@ -177,7 +177,7 @@ const router = new Router({
{
path
:
'/jobsregistries/:jobsregistry?/gridview/:gridview?'
,
meta
:
{
caption
:
'entities.jobsregistry.views.gridview.
title
'
,
caption
:
'entities.jobsregistry.views.gridview.
caption
'
,
info
:
''
,
parameters
:
[
{
pathName
:
'jobsregistries'
,
parameterName
:
'jobsregistry'
},
...
...
@@ -190,7 +190,7 @@ const router = new Router({
{
path
:
'/jobslogs/:jobslog?/gridview/:gridview?'
,
meta
:
{
caption
:
'entities.jobslog.views.gridview.
title
'
,
caption
:
'entities.jobslog.views.gridview.
caption
'
,
info
:
''
,
parameters
:
[
{
pathName
:
'jobslogs'
,
parameterName
:
'jobslog'
},
...
...
This diff is collapsed.
Click to expand it.
app_web/src/pages/task/task-index-view/task-index-view-base.vue
浏览文件 @
05330d08
...
...
@@ -412,7 +412,7 @@ export default class TaskIndexViewBase extends Vue {
*/
public
initNavDataWithRoute
(
data
:
any
=
null
,
isNew
:
boolean
=
false
,
isAlways
:
boolean
=
false
){
if
(
isAlways
||
(
this
.
viewDefaultUsage
&&
Object
.
is
(
this
.
navModel
,
"route"
))
){
this
.
navDataService
.
addNavData
({
id
:
'task-index-view'
,
tag
:
this
.
viewtag
,
srfkey
:
isNew
?
null
:
null
,
title
:
this
.
$t
(
this
.
model
.
srf
Title
),
data
:
data
,
context
:
this
.
context
,
viewparams
:
this
.
viewparams
,
path
:
this
.
$route
.
fullPath
});
this
.
navDataService
.
addNavData
({
id
:
'task-index-view'
,
tag
:
this
.
viewtag
,
srfkey
:
isNew
?
null
:
null
,
title
:
this
.
$t
(
this
.
model
.
srf
Caption
),
data
:
data
,
context
:
this
.
context
,
viewparams
:
this
.
viewparams
,
path
:
this
.
$route
.
fullPath
});
}
}
...
...
@@ -423,7 +423,7 @@ export default class TaskIndexViewBase extends Vue {
*/
public
initNavDataWithTab
(
data
:
any
=
null
,
isOnlyAdd
:
boolean
=
true
,
isAlways
:
boolean
=
false
){
if
(
isAlways
||
(
this
.
viewDefaultUsage
&&
!
Object
.
is
(
this
.
navModel
,
"route"
))
){
this
.
navDataService
.
addNavDataByOnly
({
id
:
'task-index-view'
,
tag
:
this
.
viewtag
,
srfkey
:
null
,
title
:
this
.
$t
(
this
.
model
.
srf
Title
),
data
:
data
,
context
:
this
.
context
,
viewparams
:
this
.
viewparams
,
path
:
this
.
$route
.
fullPath
},
isOnlyAdd
);
this
.
navDataService
.
addNavDataByOnly
({
id
:
'task-index-view'
,
tag
:
this
.
viewtag
,
srfkey
:
null
,
title
:
this
.
$t
(
this
.
model
.
srf
Caption
),
data
:
data
,
context
:
this
.
context
,
viewparams
:
this
.
viewparams
,
path
:
this
.
$route
.
fullPath
},
isOnlyAdd
);
}
}
...
...
This diff is collapsed.
Click to expand it.
app_web/src/widgets/jobs-info/default-searchform/default-searchform-base.vue
浏览文件 @
05330d08
...
...
@@ -62,6 +62,7 @@
</i-col>
</row>
</i-form>
</
template
>
<
script
lang=
'tsx'
>
import
{
Vue
,
Component
,
Prop
,
Provide
,
Emit
,
Watch
,
Model
,
Inject
}
from
'vue-property-decorator'
;
...
...
This diff is collapsed.
Click to expand it.
app_web/src/widgets/jobs-info/main-form/main-form-base.vue
浏览文件 @
05330d08
...
...
@@ -801,6 +801,9 @@ export default class MainBase extends Vue implements ControlInterface {
if
(
!
falg
.
hasOwnProperty
(
"isPast"
)){
falg
.
isPast
=
true
;
}
if
(
!
this
.
data
[
name
]){
falg
.
isPast
=
true
;
}
return
falg
;
}
...
...
@@ -1484,6 +1487,9 @@ export default class MainBase extends Vue implements ControlInterface {
if
(
Object
.
is
(
'refresh'
,
action
))
{
this
.
refresh
(
data
);
}
if
(
Object
.
is
(
'panelaction'
,
action
))
{
this
.
panelAction
(
data
.
action
,
data
.
emitAction
,
data
);
}
});
}
this
.
dataChang
...
...
@@ -1975,6 +1981,50 @@ export default class MainBase extends Vue implements ControlInterface {
})
}
/**
* 面板行为
*
* @param {string} [action] 调用的实体行为
* @param {string} [emitAction] 抛出行为
* @param {*} [data={}] 传入数据
* @param {boolean} [showloading] 是否显示加载状态
*
* @memberof MainBase
*/
public
panelAction
(
action
:
string
,
emitAction
:
string
,
data
:
any
=
{},
showloading
?:
boolean
):
void
{
if
(
!
action
||
(
action
&&
Object
.
is
(
action
,
''
)))
{
return
;
}
const
arg
:
any
=
{
...
data
};
const
formdata
=
this
.
getValues
();
Object
.
assign
(
arg
,
formdata
);
Object
.
assign
(
arg
,
this
.
viewparams
);
const
post
:
Promise
<
any
>
=
this
.
service
.
frontLogic
(
action
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),
arg
,
showloading
);
post
.
then
((
response
:
any
)
=>
{
if
(
!
response
.
status
||
response
.
status
!==
200
)
{
if
(
response
.
data
)
{
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
response
.
data
.
message
});
}
return
;
}
const
data
=
response
.
data
;
this
.
onFormLoad
(
data
,
emitAction
);
this
.
$emit
(
emitAction
,
data
);
this
.
$nextTick
(()
=>
{
this
.
formState
.
next
({
type
:
emitAction
,
data
:
data
});
});
}).
catch
((
response
:
any
)
=>
{
if
(
response
&&
response
.
status
&&
response
.
data
)
{
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
response
.
data
.
message
});
return
;
}
if
(
!
response
||
!
response
.
status
||
!
response
.
data
)
{
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
(
this
.
$t
(
'app.commonWords.sysException'
)
as
string
)
});
return
;
}
});
}
/**
* 表单项更新
*
...
...
This diff is collapsed.
Click to expand it.
app_web/src/widgets/jobs-info/main-grid/main-grid-base.vue
浏览文件 @
05330d08
<
template
>
<div
class=
'grid'
style=
"height:100%"
>
<i-form
style=
"height:100%;display:flex;flex-direction: column;justify-content: space-between"
>
<i-form
style=
"height:100%;display:flex;flex-direction: column;justify-content: space-between"
>
<el-table
v-if=
"isDisplay === true"
:default-sort=
"
{ prop: minorSortPSDEF, order: Object.is(minorSortDir, 'ASC') ? 'ascending' : Object.is(minorSortDir, 'DESC') ? 'descending' : '' }"
@sort-change="onSortChange($event)"
...
...
@@ -1385,7 +1385,7 @@ export default class MainBase extends Vue implements ControlInterface {
}
// 已选中则删除,没选中则添加
let
selectIndex
=
this
.
selections
.
findIndex
((
item
:
any
)
=>
{
return
Object
.
is
(
item
.
jobs
_info
,
$event
.
jobs_
info
);
return
Object
.
is
(
item
.
jobs
info
,
$event
.
jobs
info
);
});
if
(
Object
.
is
(
selectIndex
,
-
1
)){
this
.
selections
.
push
(
JSON
.
parse
(
JSON
.
stringify
(
$event
)));
...
...
This diff is collapsed.
Click to expand it.
app_web/src/widgets/jobs-info/main-grid/main-grid.less
浏览文件 @
05330d08
...
...
@@ -36,7 +36,7 @@
height: 100%;
display:flex;
flex-direction: column;
justify-content: start;
justify-content:
flex-
start;
.el-table__row{
.grid-uiaction-divider {
padding:0 10px 0 10px;
...
...
@@ -66,6 +66,15 @@
margin-bottom: 20px;
}
}
.el-table__header-wrapper{
display: contents;
}
.el-table__body-wrapper{
height: auto !important;
}
.el-table__footer-wrapper{
display: contents;
}
}
.grid-pagination {
height: 50px;
...
...
This diff is collapsed.
Click to expand it.
app_web/src/widgets/jobs-log/default-searchform/default-searchform-base.vue
浏览文件 @
05330d08
...
...
@@ -56,6 +56,7 @@
</i-col>
</row>
</i-form>
</
template
>
<
script
lang=
'tsx'
>
import
{
Vue
,
Component
,
Prop
,
Provide
,
Emit
,
Watch
,
Model
,
Inject
}
from
'vue-property-decorator'
;
...
...
This diff is collapsed.
Click to expand it.
app_web/src/widgets/jobs-log/main-form/main-form-base.vue
浏览文件 @
05330d08
...
...
@@ -687,6 +687,9 @@ export default class MainBase extends Vue implements ControlInterface {
if
(
!
falg
.
hasOwnProperty
(
"isPast"
)){
falg
.
isPast
=
true
;
}
if
(
!
this
.
data
[
name
]){
falg
.
isPast
=
true
;
}
return
falg
;
}
...
...
@@ -1295,6 +1298,9 @@ export default class MainBase extends Vue implements ControlInterface {
if
(
Object
.
is
(
'refresh'
,
action
))
{
this
.
refresh
(
data
);
}
if
(
Object
.
is
(
'panelaction'
,
action
))
{
this
.
panelAction
(
data
.
action
,
data
.
emitAction
,
data
);
}
});
}
this
.
dataChang
...
...
@@ -1786,6 +1792,50 @@ export default class MainBase extends Vue implements ControlInterface {
})
}
/**
* 面板行为
*
* @param {string} [action] 调用的实体行为
* @param {string} [emitAction] 抛出行为
* @param {*} [data={}] 传入数据
* @param {boolean} [showloading] 是否显示加载状态
*
* @memberof MainBase
*/
public
panelAction
(
action
:
string
,
emitAction
:
string
,
data
:
any
=
{},
showloading
?:
boolean
):
void
{
if
(
!
action
||
(
action
&&
Object
.
is
(
action
,
''
)))
{
return
;
}
const
arg
:
any
=
{
...
data
};
const
formdata
=
this
.
getValues
();
Object
.
assign
(
arg
,
formdata
);
Object
.
assign
(
arg
,
this
.
viewparams
);
const
post
:
Promise
<
any
>
=
this
.
service
.
frontLogic
(
action
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),
arg
,
showloading
);
post
.
then
((
response
:
any
)
=>
{
if
(
!
response
.
status
||
response
.
status
!==
200
)
{
if
(
response
.
data
)
{
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
response
.
data
.
message
});
}
return
;
}
const
data
=
response
.
data
;
this
.
onFormLoad
(
data
,
emitAction
);
this
.
$emit
(
emitAction
,
data
);
this
.
$nextTick
(()
=>
{
this
.
formState
.
next
({
type
:
emitAction
,
data
:
data
});
});
}).
catch
((
response
:
any
)
=>
{
if
(
response
&&
response
.
status
&&
response
.
data
)
{
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
response
.
data
.
message
});
return
;
}
if
(
!
response
||
!
response
.
status
||
!
response
.
data
)
{
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
(
this
.
$t
(
'app.commonWords.sysException'
)
as
string
)
});
return
;
}
});
}
/**
* 表单项更新
*
...
...
This diff is collapsed.
Click to expand it.
app_web/src/widgets/jobs-log/main-grid/main-grid-base.vue
浏览文件 @
05330d08
<
template
>
<div
class=
'grid'
style=
"height:100%"
>
<i-form
style=
"height:100%;display:flex;flex-direction: column;justify-content: space-between"
>
<i-form
style=
"height:100%;display:flex;flex-direction: column;justify-content: space-between"
>
<el-table
v-if=
"isDisplay === true"
:default-sort=
"
{ prop: minorSortPSDEF, order: Object.is(minorSortDir, 'ASC') ? 'ascending' : Object.is(minorSortDir, 'DESC') ? 'descending' : '' }"
@sort-change="onSortChange($event)"
...
...
@@ -1355,7 +1355,7 @@ export default class MainBase extends Vue implements ControlInterface {
}
// 已选中则删除,没选中则添加
let
selectIndex
=
this
.
selections
.
findIndex
((
item
:
any
)
=>
{
return
Object
.
is
(
item
.
jobs
_log
,
$event
.
jobs_
log
);
return
Object
.
is
(
item
.
jobs
log
,
$event
.
jobs
log
);
});
if
(
Object
.
is
(
selectIndex
,
-
1
)){
this
.
selections
.
push
(
JSON
.
parse
(
JSON
.
stringify
(
$event
)));
...
...
This diff is collapsed.
Click to expand it.
app_web/src/widgets/jobs-log/main-grid/main-grid.less
浏览文件 @
05330d08
...
...
@@ -36,7 +36,7 @@
height: 100%;
display:flex;
flex-direction: column;
justify-content: start;
justify-content:
flex-
start;
.el-table__row{
.grid-uiaction-divider {
padding:0 10px 0 10px;
...
...
@@ -66,6 +66,15 @@
margin-bottom: 20px;
}
}
.el-table__header-wrapper{
display: contents;
}
.el-table__body-wrapper{
height: auto !important;
}
.el-table__footer-wrapper{
display: contents;
}
}
.grid-pagination {
height: 50px;
...
...
This diff is collapsed.
Click to expand it.
app_web/src/widgets/jobs-registry/default-searchform/default-searchform-base.vue
浏览文件 @
05330d08
...
...
@@ -48,6 +48,7 @@
</i-col>
</row>
</i-form>
</
template
>
<
script
lang=
'tsx'
>
import
{
Vue
,
Component
,
Prop
,
Provide
,
Emit
,
Watch
,
Model
,
Inject
}
from
'vue-property-decorator'
;
...
...
This diff is collapsed.
Click to expand it.
app_web/src/widgets/jobs-registry/main-form/main-form-base.vue
浏览文件 @
05330d08
...
...
@@ -585,6 +585,9 @@ export default class MainBase extends Vue implements ControlInterface {
if
(
!
falg
.
hasOwnProperty
(
"isPast"
)){
falg
.
isPast
=
true
;
}
if
(
!
this
.
data
[
name
]){
falg
.
isPast
=
true
;
}
return
falg
;
}
...
...
@@ -1103,6 +1106,9 @@ export default class MainBase extends Vue implements ControlInterface {
if
(
Object
.
is
(
'refresh'
,
action
))
{
this
.
refresh
(
data
);
}
if
(
Object
.
is
(
'panelaction'
,
action
))
{
this
.
panelAction
(
data
.
action
,
data
.
emitAction
,
data
);
}
});
}
this
.
dataChang
...
...
@@ -1594,6 +1600,50 @@ export default class MainBase extends Vue implements ControlInterface {
})
}
/**
* 面板行为
*
* @param {string} [action] 调用的实体行为
* @param {string} [emitAction] 抛出行为
* @param {*} [data={}] 传入数据
* @param {boolean} [showloading] 是否显示加载状态
*
* @memberof MainBase
*/
public
panelAction
(
action
:
string
,
emitAction
:
string
,
data
:
any
=
{},
showloading
?:
boolean
):
void
{
if
(
!
action
||
(
action
&&
Object
.
is
(
action
,
''
)))
{
return
;
}
const
arg
:
any
=
{
...
data
};
const
formdata
=
this
.
getValues
();
Object
.
assign
(
arg
,
formdata
);
Object
.
assign
(
arg
,
this
.
viewparams
);
const
post
:
Promise
<
any
>
=
this
.
service
.
frontLogic
(
action
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),
arg
,
showloading
);
post
.
then
((
response
:
any
)
=>
{
if
(
!
response
.
status
||
response
.
status
!==
200
)
{
if
(
response
.
data
)
{
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
response
.
data
.
message
});
}
return
;
}
const
data
=
response
.
data
;
this
.
onFormLoad
(
data
,
emitAction
);
this
.
$emit
(
emitAction
,
data
);
this
.
$nextTick
(()
=>
{
this
.
formState
.
next
({
type
:
emitAction
,
data
:
data
});
});
}).
catch
((
response
:
any
)
=>
{
if
(
response
&&
response
.
status
&&
response
.
data
)
{
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
response
.
data
.
message
});
return
;
}
if
(
!
response
||
!
response
.
status
||
!
response
.
data
)
{
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
(
this
.
$t
(
'app.commonWords.sysException'
)
as
string
)
});
return
;
}
});
}
/**
* 表单项更新
*
...
...
This diff is collapsed.
Click to expand it.
app_web/src/widgets/jobs-registry/main-grid/main-grid-base.vue
浏览文件 @
05330d08
<
template
>
<div
class=
'grid'
style=
"height:100%"
>
<i-form
style=
"height:100%;display:flex;flex-direction: column;justify-content: space-between"
>
<i-form
style=
"height:100%;display:flex;flex-direction: column;justify-content: space-between"
>
<el-table
v-if=
"isDisplay === true"
:default-sort=
"
{ prop: minorSortPSDEF, order: Object.is(minorSortDir, 'ASC') ? 'ascending' : Object.is(minorSortDir, 'DESC') ? 'descending' : '' }"
@sort-change="onSortChange($event)"
...
...
@@ -1285,7 +1285,7 @@ export default class MainBase extends Vue implements ControlInterface {
}
// 已选中则删除,没选中则添加
let
selectIndex
=
this
.
selections
.
findIndex
((
item
:
any
)
=>
{
return
Object
.
is
(
item
.
jobs
_registry
,
$event
.
jobs_
registry
);
return
Object
.
is
(
item
.
jobs
registry
,
$event
.
jobs
registry
);
});
if
(
Object
.
is
(
selectIndex
,
-
1
)){
this
.
selections
.
push
(
JSON
.
parse
(
JSON
.
stringify
(
$event
)));
...
...
This diff is collapsed.
Click to expand it.
app_web/src/widgets/jobs-registry/main-grid/main-grid.less
浏览文件 @
05330d08
...
...
@@ -36,7 +36,7 @@
height: 100%;
display:flex;
flex-direction: column;
justify-content: start;
justify-content:
flex-
start;
.el-table__row{
.grid-uiaction-divider {
padding:0 10px 0 10px;
...
...
@@ -66,6 +66,15 @@
margin-bottom: 20px;
}
}
.el-table__header-wrapper{
display: contents;
}
.el-table__body-wrapper{
height: auto !important;
}
.el-table__footer-wrapper{
display: contents;
}
}
.grid-pagination {
height: 50px;
...
...
This diff is collapsed.
Click to expand it.
ibztask-util/src/main/java/cn/ibizlab/util/domain/DTOClient.java
浏览文件 @
05330d08
...
...
@@ -4,9 +4,9 @@ public class DTOClient extends DTOBase {
@Override
public
void
modify
(
String
field
,
Object
val
)
{
getExtensionparams
().
put
(
"dirtyflagenable"
,
true
);
if
(
val
==
null
){
this
.
getFocusNull
().
add
(
field
.
toLowerCase
());
getExtensionparams
().
put
(
"dirtyflagenable"
,
true
);
getExtensionparams
().
put
(
field
.
toLowerCase
()+
"dirtyflag"
,
true
);
}
else
{
...
...
This diff is collapsed.
Click to expand it.
ibztask-util/src/main/java/cn/ibizlab/util/job/PermissionSyncJob.java
浏览文件 @
05330d08
...
...
@@ -29,6 +29,9 @@ public class PermissionSyncJob implements ApplicationRunner {
@Value
(
"${ibiz.systemid:ibztask}"
)
private
String
systemId
;
@Value
(
"${ibiz.systemname:ibztask}"
)
private
String
systemName
;
@Override
...
...
@@ -39,7 +42,7 @@ public class PermissionSyncJob implements ApplicationRunner {
String
permissionResult
=
IOUtils
.
toString
(
permission
,
"UTF-8"
);
JSONObject
system
=
new
JSONObject
();
system
.
put
(
"pssystemid"
,
systemId
);
system
.
put
(
"pssystemname"
,
system
Id
);
system
.
put
(
"pssystemname"
,
system
Name
);
system
.
put
(
"sysstructure"
,
JSONObject
.
parseObject
(
permissionResult
));
system
.
put
(
"md5check"
,
DigestUtils
.
md5DigestAsHex
(
permissionResult
.
getBytes
()));
if
(
client
.
syncSysAuthority
(
system
)){
...
...
This diff is collapsed.
Click to expand it.
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录