Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
I
ibzdisk
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
ibiz4jteam
ibzdisk
提交
9221dbd4
提交
9221dbd4
编写于
8月 11, 2020
作者:
ibizdev
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
ibiz4j 发布系统代码
上级
71d7ca90
变更
18
展开全部
隐藏空白字符变更
内嵌
并排
正在显示
18 个修改的文件
包含
493 行增加
和
155 行删除
+493
-155
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
sdfile-edit-view-base.vue
...src/pages/disk/sdfile-edit-view/sdfile-edit-view-base.vue
+4
-4
sdfile-grid-view-base.vue
...src/pages/disk/sdfile-grid-view/sdfile-grid-view-base.vue
+4
-4
router.ts
app_web/src/pages/disk/sdindex-view/router.ts
+5
-5
sdindex-view-base.vue
app_web/src/pages/disk/sdindex-view/sdindex-view-base.vue
+2
-2
default-searchform-base.vue
...ets/sdfile/default-searchform/default-searchform-base.vue
+2
-1
main-form-base.vue
app_web/src/widgets/sdfile/main-form/main-form-base.vue
+50
-0
main-grid.less
app_web/src/widgets/sdfile/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
浏览文件 @
9221dbd4
## v7.0.0-alpha.17 [2020-8-9]
### Bug修复
修复系统级的操作标识异常问题
修复表格新增插件异常问题
修复表格单击行绑定数据异常bug
修复表格合计行样式问题
### 功能新增及优化
#### 模板
新增支持前后端分离部署
新增动态代码表预定义代码表支持
新增数据选择(调用接口)组件
新增部件样式表支持
优化数据服务逻辑
优化代码表服务基类、动态代码表
优化导航参数处理逻辑
优化数据拷贝逻辑
优化组织、部门、人员控件只绑定id逻辑
优化部件关联外键值
#### 基础文件
新增前后端分离部署
新增下拉列表控件支持树状代码表
新增数据选择(调用接口)组件
优化数据拷贝逻辑
优化组织、部门、人员控件只绑定id逻辑
## v7.0.0-alpha.16 [2020-8-2]
### Bug修复
...
...
app_web/src/authservice/auth-service.ts
浏览文件 @
9221dbd4
...
...
@@ -18,7 +18,7 @@ export default class AuthService {
public
$store
:
Store
<
any
>
|
null
=
null
;
/**
* 默认操作
符
* 默认操作
标识
*
* @public
* @type {(any)}
...
...
app_web/src/components/app-department-select/app-department-select.vue
浏览文件 @
9221dbd4
...
...
@@ -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
)
});
...
...
app_web/src/components/app-group-select/app-group-select.vue
浏览文件 @
9221dbd4
...
...
@@ -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
>
...
...
app_web/src/components/app-upicker/app-upicker.less
浏览文件 @
9221dbd4
.app-picker {
.app-
u
picker {
width: 100%;
.el-select {
.el-input__suffix {
right: 20px
;
display: none
;
}
}
.text-value {
...
...
app_web/src/components/app-upicker/app-upicker.vue
浏览文件 @
9221dbd4
此差异已折叠。
点击以展开。
app_web/src/engine/view/edit-view-engine.ts
浏览文件 @
9221dbd4
...
...
@@ -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
);
}
}
...
...
app_web/src/locale/lang/en-US.ts
浏览文件 @
9221dbd4
...
...
@@ -192,6 +192,7 @@ export default {
back
:
"Back"
,
next
:
"Next"
,
complete
:
"Complete"
,
preactionmessage
:
"The calculation of the previous behavior is not configured"
},
viewLayoutPanel
:
{
appLogoutView
:
{
...
...
app_web/src/locale/lang/zh-CN.ts
浏览文件 @
9221dbd4
...
...
@@ -191,6 +191,7 @@ export default {
back
:
"上一步"
,
next
:
"下一步"
,
complete
:
"完成"
,
preactionmessage
:
"未配置计算上一步行为"
},
viewLayoutPanel
:
{
appLogoutView
:
{
...
...
app_web/src/pages/disk/sdfile-edit-view/sdfile-edit-view-base.vue
浏览文件 @
9221dbd4
<
template
>
<div
class=
"view-container deeditview sdfile-edit-view"
>
<app-studioaction
:viewTitle=
"$t(model.srf
Title
)"
viewName=
"sdfileeditview"
></app-studioaction>
<app-studioaction
:viewTitle=
"$t(model.srf
Caption
)"
viewName=
"sdfileeditview"
></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)">
...
...
@@ -555,7 +555,7 @@ export default class SDFileEditViewBase 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
:
'sdfile-edit-view'
,
tag
:
this
.
viewtag
,
srfkey
:
isNew
?
null
:
this
.
context
.
sdfile
,
title
:
this
.
$t
(
this
.
model
.
srf
Title
),
data
:
data
,
context
:
this
.
context
,
viewparams
:
this
.
viewparams
,
path
:
this
.
$route
.
fullPath
});
this
.
navDataService
.
addNavData
({
id
:
'sdfile-edit-view'
,
tag
:
this
.
viewtag
,
srfkey
:
isNew
?
null
:
this
.
context
.
sdfile
,
title
:
this
.
$t
(
this
.
model
.
srf
Caption
),
data
:
data
,
context
:
this
.
context
,
viewparams
:
this
.
viewparams
,
path
:
this
.
$route
.
fullPath
});
}
}
...
...
@@ -566,7 +566,7 @@ export default class SDFileEditViewBase 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
:
'sdfile-edit-view'
,
tag
:
this
.
viewtag
,
srfkey
:
this
.
context
.
sdfile
,
title
:
this
.
$t
(
this
.
model
.
srf
Title
),
data
:
data
,
context
:
this
.
context
,
viewparams
:
this
.
viewparams
,
path
:
this
.
$route
.
fullPath
},
isOnlyAdd
);
this
.
navDataService
.
addNavDataByOnly
({
id
:
'sdfile-edit-view'
,
tag
:
this
.
viewtag
,
srfkey
:
this
.
context
.
sdfile
,
title
:
this
.
$t
(
this
.
model
.
srf
Caption
),
data
:
data
,
context
:
this
.
context
,
viewparams
:
this
.
viewparams
,
path
:
this
.
$route
.
fullPath
},
isOnlyAdd
);
}
}
...
...
app_web/src/pages/disk/sdfile-grid-view/sdfile-grid-view-base.vue
浏览文件 @
9221dbd4
<
template
>
<div
class=
'view-container degridview sdfile-grid-view'
>
<app-studioaction
:viewTitle=
"$t(model.srf
Title
)"
viewName=
"sdfilegridview"
></app-studioaction>
<app-studioaction
:viewTitle=
"$t(model.srf
Caption
)"
viewName=
"sdfilegridview"
></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'
>
...
...
@@ -589,7 +589,7 @@ export default class SDFileGridViewBase 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
:
'sdfile-grid-view'
,
tag
:
this
.
viewtag
,
srfkey
:
isNew
?
null
:
this
.
context
.
sdfile
,
title
:
this
.
$t
(
this
.
model
.
srf
Title
),
data
:
data
,
context
:
this
.
context
,
viewparams
:
this
.
viewparams
,
path
:
this
.
$route
.
fullPath
});
this
.
navDataService
.
addNavData
({
id
:
'sdfile-grid-view'
,
tag
:
this
.
viewtag
,
srfkey
:
isNew
?
null
:
this
.
context
.
sdfile
,
title
:
this
.
$t
(
this
.
model
.
srf
Caption
),
data
:
data
,
context
:
this
.
context
,
viewparams
:
this
.
viewparams
,
path
:
this
.
$route
.
fullPath
});
}
}
...
...
@@ -600,7 +600,7 @@ export default class SDFileGridViewBase 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
:
'sdfile-grid-view'
,
tag
:
this
.
viewtag
,
srfkey
:
this
.
context
.
sdfile
,
title
:
this
.
$t
(
this
.
model
.
srf
Title
),
data
:
data
,
context
:
this
.
context
,
viewparams
:
this
.
viewparams
,
path
:
this
.
$route
.
fullPath
},
isOnlyAdd
);
this
.
navDataService
.
addNavDataByOnly
({
id
:
'sdfile-grid-view'
,
tag
:
this
.
viewtag
,
srfkey
:
this
.
context
.
sdfile
,
title
:
this
.
$t
(
this
.
model
.
srf
Caption
),
data
:
data
,
context
:
this
.
context
,
viewparams
:
this
.
viewparams
,
path
:
this
.
$route
.
fullPath
},
isOnlyAdd
);
}
}
...
...
app_web/src/pages/disk/sdindex-view/router.ts
浏览文件 @
9221dbd4
...
...
@@ -25,7 +25,7 @@ const router = new Router({
});
},
meta
:
{
caption
:
'app.views.sdindexview.
title
'
,
caption
:
'app.views.sdindexview.
caption
'
,
info
:
''
,
viewType
:
'APPINDEX'
,
parameters
:
[
...
...
@@ -38,7 +38,7 @@ const router = new Router({
{
path
:
'sdfiles/:sdfile?/gridview/:gridview?'
,
meta
:
{
caption
:
'entities.sdfile.views.gridview.
title
'
,
caption
:
'entities.sdfile.views.gridview.
caption
'
,
info
:
''
,
parameters
:
[
{
pathName
:
'sdindexview'
,
parameterName
:
'sdindexview'
},
...
...
@@ -52,7 +52,7 @@ const router = new Router({
{
path
:
'sdfiles/:sdfile?/editview/:editview?'
,
meta
:
{
caption
:
'entities.sdfile.views.editview.
title
'
,
caption
:
'entities.sdfile.views.editview.
caption
'
,
info
:
''
,
parameters
:
[
{
pathName
:
'sdindexview'
,
parameterName
:
'sdindexview'
},
...
...
@@ -69,7 +69,7 @@ const router = new Router({
{
path
:
'/sdfiles/:sdfile?/gridview/:gridview?'
,
meta
:
{
caption
:
'entities.sdfile.views.gridview.
title
'
,
caption
:
'entities.sdfile.views.gridview.
caption
'
,
info
:
''
,
parameters
:
[
{
pathName
:
'sdfiles'
,
parameterName
:
'sdfile'
},
...
...
@@ -82,7 +82,7 @@ const router = new Router({
{
path
:
'/sdfiles/:sdfile?/editview/:editview?'
,
meta
:
{
caption
:
'entities.sdfile.views.editview.
title
'
,
caption
:
'entities.sdfile.views.editview.
caption
'
,
info
:
''
,
parameters
:
[
{
pathName
:
'sdfiles'
,
parameterName
:
'sdfile'
},
...
...
app_web/src/pages/disk/sdindex-view/sdindex-view-base.vue
浏览文件 @
9221dbd4
...
...
@@ -412,7 +412,7 @@ export default class SDIndexViewBase 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
:
'sdindex-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
:
'sdindex-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 SDIndexViewBase 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
:
'sdindex-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
:
'sdindex-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
);
}
}
...
...
app_web/src/widgets/sdfile/default-searchform/default-searchform-base.vue
浏览文件 @
9221dbd4
...
...
@@ -12,7 +12,7 @@
:disabled=
"detailsModel.n_filename_like.disabled"
type=
'text'
style=
"
width:100px;
"
>
style=
""
>
</input-box>
</app-form-item>
...
...
@@ -28,6 +28,7 @@
</i-col>
</row>
</i-form>
</
template
>
<
script
lang=
'tsx'
>
import
{
Vue
,
Component
,
Prop
,
Provide
,
Emit
,
Watch
,
Model
,
Inject
}
from
'vue-property-decorator'
;
...
...
app_web/src/widgets/sdfile/main-form/main-form-base.vue
浏览文件 @
9221dbd4
...
...
@@ -776,6 +776,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
;
}
...
...
@@ -1459,6 +1462,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
...
...
@@ -1950,6 +1956,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
;
}
});
}
/**
* 表单项更新
*
...
...
app_web/src/widgets/sdfile/main-grid/main-grid.less
浏览文件 @
9221dbd4
...
...
@@ -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;
...
...
ibzdisk-util/src/main/java/cn/ibizlab/util/domain/DTOClient.java
浏览文件 @
9221dbd4
...
...
@@ -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
{
...
...
ibzdisk-util/src/main/java/cn/ibizlab/util/job/PermissionSyncJob.java
浏览文件 @
9221dbd4
...
...
@@ -29,6 +29,9 @@ public class PermissionSyncJob implements ApplicationRunner {
@Value
(
"${ibiz.systemid:ibzdisk}"
)
private
String
systemId
;
@Value
(
"${ibiz.systemname:ibzdisk}"
)
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
)){
...
...
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录