Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
I
ibzdict
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
ibiz4jteam
ibzdict
提交
7257ddc8
提交
7257ddc8
编写于
4月 28, 2020
作者:
ibizdev
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
ibizdev提交
上级
31d56abd
变更
26
隐藏空白字符变更
内嵌
并排
正在显示
26 个修改的文件
包含
756 行增加
和
151 行删除
+756
-151
codelist.vue
app_web/src/components/codelist/codelist.vue
+1
-1
en-US.ts
app_web/src/locale/lang/en-US.ts
+4
-2
zh-CN.ts
app_web/src/locale/lang/zh-CN.ts
+4
-2
ibzdict_en_US.ts
app_web/src/locale/lanres/ibzdict/ibzdict_en_US.ts
+7
-7
ibzdictitem_en_US.ts
app_web/src/locale/lanres/ibzdictitem/ibzdictitem_en_US.ts
+7
-7
router.ts
app_web/src/pages/dict/app-index-view/router.ts
+5
-5
ibzdict-edit-view-base.vue
...c/pages/dict/ibzdict-edit-view/ibzdict-edit-view-base.vue
+21
-21
ibzdict-grid-view-base.vue
...c/pages/dict/ibzdict-grid-view/ibzdict-grid-view-base.vue
+23
-23
ibzdict-item-edit-view-base.vue
...ct/ibzdict-item-edit-view/ibzdict-item-edit-view-base.vue
+21
-21
ibzdict-item-grid-view-base.vue
...ct/ibzdict-item-grid-view/ibzdict-item-grid-view-base.vue
+23
-23
default-searchform-base.vue
...ts/ibzdict/default-searchform/default-searchform-base.vue
+2
-2
main-form-base.vue
app_web/src/widgets/ibzdict/main-form/main-form-base.vue
+4
-4
main-grid-base.vue
app_web/src/widgets/ibzdict/main-grid/main-grid-base.vue
+6
-6
default-searchform-base.vue
...bzdictitem/default-searchform/default-searchform-base.vue
+2
-2
main-form-base.vue
app_web/src/widgets/ibzdictitem/main-form/main-form-base.vue
+9
-9
main-grid-base.vue
app_web/src/widgets/ibzdictitem/main-grid/main-grid-base.vue
+16
-16
DevBootApplication.java
...ict-boot/src/main/java/cn/ibizlab/DevBootApplication.java
+2
-0
DevBootSecurityConfig.java
...rc/main/java/cn/ibizlab/config/DevBootSecurityConfig.java
+2
-0
DEPrivs.json
ibzdict-core/src/main/resources/deprivs/DEPrivs.json
+22
-0
IBZDictResource.java
...rc/main/java/cn/ibizlab/dictapi/rest/IBZDictResource.java
+18
-0
UAAFallback.java
...src/main/java/cn/ibizlab/util/client/uaa/UAAFallback.java
+35
-0
UAAFeignClient.java
.../main/java/cn/ibizlab/util/client/uaa/UAAFeignClient.java
+32
-0
PermissionSyncJob.java
.../src/main/java/cn/ibizlab/util/job/PermissionSyncJob.java
+55
-0
AuthPermissionEvaluator.java
...ava/cn/ibizlab/util/security/AuthPermissionEvaluator.java
+364
-0
SpringContextHolder.java
...in/java/cn/ibizlab/util/security/SpringContextHolder.java
+41
-0
SimpleUserService.java
.../main/java/cn/ibizlab/util/service/SimpleUserService.java
+30
-0
未找到文件。
app_web/src/components/codelist/codelist.vue
浏览文件 @
7257ddc8
...
...
@@ -167,7 +167,7 @@ export default class CodeList extends Vue {
}
});
}
else
{
let
values
:
any
[]
=
Object
.
is
(
_this
.
$util
.
typeOf
(
_this
.
value
),
'
NUM
'
)
?
[
_this
.
value
]
:
[...(
_this
.
value
as
any
).
split
(
_this
.
valueSeparator
)];
let
values
:
any
[]
=
Object
.
is
(
_this
.
$util
.
typeOf
(
_this
.
value
),
'
number
'
)
?
[
_this
.
value
]
:
[...(
_this
.
value
as
any
).
split
(
_this
.
valueSeparator
)];
values
.
map
((
value
:
any
,
index
:
number
)
=>
{
const
item
=
_this
.
getItem
(
items
,
value
);
if
(
item
){
...
...
app_web/src/locale/lang/en-US.ts
浏览文件 @
7257ddc8
...
...
@@ -61,9 +61,11 @@ export default {
},
},
},
entities
:
{
ibzdictitem
:
ibzdictitem_en_US
,
ibzdict
:
ibzdict_en_US
,
},
components
:
components_en_US
,
codelist
:
codelist_en_US
,
userCustom
:
userCustom_en_US
,
ibzdictitem
:
ibzdictitem_en_US
,
ibzdict
:
ibzdict_en_US
,
};
\ No newline at end of file
app_web/src/locale/lang/zh-CN.ts
浏览文件 @
7257ddc8
...
...
@@ -61,9 +61,11 @@ export default {
},
},
},
entities
:
{
ibzdictitem
:
ibzdictitem_zh_CN
,
ibzdict
:
ibzdict_zh_CN
,
},
components
:
components_zh_CN
,
codelist
:
codelist_zh_CN
,
userCustom
:
userCustom_zh_CN
,
ibzdictitem
:
ibzdictitem_zh_CN
,
ibzdict
:
ibzdict_zh_CN
,
};
\ No newline at end of file
app_web/src/locale/lanres/ibzdict/ibzdict_en_US.ts
浏览文件 @
7257ddc8
...
...
@@ -53,11 +53,11 @@ export default {
},
tbitem4
:
{
caption
:
"Edit"
,
tip
:
"Edit"
,
tip
:
"Edit
{0}
"
,
},
tbitem6
:
{
caption
:
"Copy"
,
tip
:
"Copy"
,
tip
:
"Copy
{0}
"
,
},
tbitem7
:
{
caption
:
"-"
,
...
...
@@ -65,7 +65,7 @@ export default {
},
tbitem8
:
{
caption
:
"Remove"
,
tip
:
"Remove"
,
tip
:
"Remove
{0}
"
,
},
tbitem9
:
{
caption
:
"-"
,
...
...
@@ -73,7 +73,7 @@ export default {
},
tbitem13
:
{
caption
:
"Export"
,
tip
:
"Export"
,
tip
:
"Export
{0} Data To Excel
"
,
},
tbitem10
:
{
caption
:
"-"
,
...
...
@@ -115,7 +115,7 @@ export default {
},
tbitem5
:
{
caption
:
"Save And Close"
,
tip
:
"Save And Close"
,
tip
:
"Save And Close
Window
"
,
},
tbitem6
:
{
caption
:
"-"
,
...
...
@@ -123,7 +123,7 @@ export default {
},
tbitem7
:
{
caption
:
"Remove And Close"
,
tip
:
"Remove And Close"
,
tip
:
"Remove And Close
Window
"
,
},
tbitem8
:
{
caption
:
"-"
,
...
...
@@ -139,7 +139,7 @@ export default {
},
tbitem14
:
{
caption
:
"Copy"
,
tip
:
"Copy"
,
tip
:
"Copy
{0}
"
,
},
tbitem16
:
{
caption
:
"-"
,
...
...
app_web/src/locale/lanres/ibzdictitem/ibzdictitem_en_US.ts
浏览文件 @
7257ddc8
...
...
@@ -65,11 +65,11 @@ export default {
},
tbitem4
:
{
caption
:
"Edit"
,
tip
:
"Edit"
,
tip
:
"Edit
{0}
"
,
},
tbitem6
:
{
caption
:
"Copy"
,
tip
:
"Copy"
,
tip
:
"Copy
{0}
"
,
},
tbitem7
:
{
caption
:
"-"
,
...
...
@@ -77,7 +77,7 @@ export default {
},
tbitem8
:
{
caption
:
"Remove"
,
tip
:
"Remove"
,
tip
:
"Remove
{0}
"
,
},
tbitem9
:
{
caption
:
"-"
,
...
...
@@ -85,7 +85,7 @@ export default {
},
tbitem13
:
{
caption
:
"Export"
,
tip
:
"Export"
,
tip
:
"Export
{0} Data To Excel
"
,
},
tbitem10
:
{
caption
:
"-"
,
...
...
@@ -127,7 +127,7 @@ export default {
},
tbitem5
:
{
caption
:
"Save And Close"
,
tip
:
"Save And Close"
,
tip
:
"Save And Close
Window
"
,
},
tbitem6
:
{
caption
:
"-"
,
...
...
@@ -135,7 +135,7 @@ export default {
},
tbitem7
:
{
caption
:
"Remove And Close"
,
tip
:
"Remove And Close"
,
tip
:
"Remove And Close
Window
"
,
},
tbitem8
:
{
caption
:
"-"
,
...
...
@@ -151,7 +151,7 @@ export default {
},
tbitem14
:
{
caption
:
"Copy"
,
tip
:
"Copy"
,
tip
:
"Copy
{0}
"
,
},
tbitem16
:
{
caption
:
"-"
,
...
...
app_web/src/pages/dict/app-index-view/router.ts
浏览文件 @
7257ddc8
...
...
@@ -24,7 +24,7 @@ const router = new Router({
});
},
meta
:
{
caption
:
'
字典管理
'
,
caption
:
'
app.views.appindexview.caption
'
,
viewType
:
'APPINDEX'
,
parameters
:
[
{
pathName
:
'appindexview'
,
parameterName
:
'appindexview'
},
...
...
@@ -36,7 +36,7 @@ const router = new Router({
{
path
:
'ibzdicts/:ibzdict?/gridview/:gridview?'
,
meta
:
{
caption
:
'ibzdict.views.gridview.caption'
,
caption
:
'
entities.
ibzdict.views.gridview.caption'
,
parameters
:
[
{
pathName
:
'appindexview'
,
parameterName
:
'appindexview'
},
{
pathName
:
'ibzdicts'
,
parameterName
:
'ibzdict'
},
...
...
@@ -49,7 +49,7 @@ const router = new Router({
{
path
:
'ibzdicts/:ibzdict?/editview/:editview?'
,
meta
:
{
caption
:
'ibzdict.views.editview.caption'
,
caption
:
'
entities.
ibzdict.views.editview.caption'
,
parameters
:
[
{
pathName
:
'appindexview'
,
parameterName
:
'appindexview'
},
{
pathName
:
'ibzdicts'
,
parameterName
:
'ibzdict'
},
...
...
@@ -64,7 +64,7 @@ const router = new Router({
{
path
:
'/ibzdicts/:ibzdict?/gridview/:gridview?'
,
meta
:
{
caption
:
'ibzdict.views.gridview.caption'
,
caption
:
'
entities.
ibzdict.views.gridview.caption'
,
parameters
:
[
{
pathName
:
'ibzdicts'
,
parameterName
:
'ibzdict'
},
{
pathName
:
'gridview'
,
parameterName
:
'gridview'
},
...
...
@@ -76,7 +76,7 @@ const router = new Router({
{
path
:
'/ibzdicts/:ibzdict?/editview/:editview?'
,
meta
:
{
caption
:
'ibzdict.views.editview.caption'
,
caption
:
'
entities.
ibzdict.views.editview.caption'
,
parameters
:
[
{
pathName
:
'ibzdicts'
,
parameterName
:
'ibzdict'
},
{
pathName
:
'editview'
,
parameterName
:
'editview'
},
...
...
app_web/src/pages/dict/ibzdict-edit-view/ibzdict-edit-view-base.vue
浏览文件 @
7257ddc8
...
...
@@ -12,79 +12,79 @@
<tooltip
:transfer=
"true"
:max-width=
"600"
>
<i-button
v-show=
"toolBarModels.tbitem3.visabled"
:disabled=
"toolBarModels.tbitem3.disabled"
class=
''
@
click=
"toolbar_click(
{ tag: 'tbitem3' }, $event)">
<i
class=
'fa fa-save'
></i>
<span
class=
'caption'
>
{{
$t
(
'ibzdict.editviewtoolbar_toolbar.tbitem3.caption'
)
}}
</span>
<span
class=
'caption'
>
{{
$t
(
'
entities.
ibzdict.editviewtoolbar_toolbar.tbitem3.caption'
)
}}
</span>
</i-button>
<div
slot=
'content'
>
{{
$t
(
'ibzdict.editviewtoolbar_toolbar.tbitem3.tip'
)
}}
</div>
<div
slot=
'content'
>
{{
$t
(
'
entities.
ibzdict.editviewtoolbar_toolbar.tbitem3.tip'
)
}}
</div>
</tooltip>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
<i-button
v-show=
"toolBarModels.tbitem4.visabled"
:disabled=
"toolBarModels.tbitem4.disabled"
class=
''
@
click=
"toolbar_click(
{ tag: 'tbitem4' }, $event)">
<i
class=
'sx-tb-saveandnew'
></i>
<span
class=
'caption'
>
{{
$t
(
'ibzdict.editviewtoolbar_toolbar.tbitem4.caption'
)
}}
</span>
<span
class=
'caption'
>
{{
$t
(
'
entities.
ibzdict.editviewtoolbar_toolbar.tbitem4.caption'
)
}}
</span>
</i-button>
<div
slot=
'content'
>
{{
$t
(
'ibzdict.editviewtoolbar_toolbar.tbitem4.tip'
)
}}
</div>
<div
slot=
'content'
>
{{
$t
(
'
entities.
ibzdict.editviewtoolbar_toolbar.tbitem4.tip'
)
}}
</div>
</tooltip>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
<i-button
v-show=
"toolBarModels.tbitem5.visabled"
:disabled=
"toolBarModels.tbitem5.disabled"
class=
''
@
click=
"toolbar_click(
{ tag: 'tbitem5' }, $event)">
<i
class=
'sx-tb-saveandclose'
></i>
<span
class=
'caption'
>
{{
$t
(
'ibzdict.editviewtoolbar_toolbar.tbitem5.caption'
)
}}
</span>
<span
class=
'caption'
>
{{
$t
(
'
entities.
ibzdict.editviewtoolbar_toolbar.tbitem5.caption'
)
}}
</span>
</i-button>
<div
slot=
'content'
>
{{
$t
(
'ibzdict.editviewtoolbar_toolbar.tbitem5.tip'
)
}}
</div>
<div
slot=
'content'
>
{{
$t
(
'
entities.
ibzdict.editviewtoolbar_toolbar.tbitem5.tip'
)
}}
</div>
</tooltip>
<span
class=
'seperator'
>
|
</span>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
<i-button
v-show=
"toolBarModels.tbitem7.visabled"
:disabled=
"toolBarModels.tbitem7.disabled"
class=
''
@
click=
"toolbar_click(
{ tag: 'tbitem7' }, $event)">
<i
class=
'fa fa-remove'
></i>
<span
class=
'caption'
>
{{
$t
(
'ibzdict.editviewtoolbar_toolbar.tbitem7.caption'
)
}}
</span>
<span
class=
'caption'
>
{{
$t
(
'
entities.
ibzdict.editviewtoolbar_toolbar.tbitem7.caption'
)
}}
</span>
</i-button>
<div
slot=
'content'
>
{{
$t
(
'ibzdict.editviewtoolbar_toolbar.tbitem7.tip'
)
}}
</div>
<div
slot=
'content'
>
{{
$t
(
'
entities.
ibzdict.editviewtoolbar_toolbar.tbitem7.tip'
)
}}
</div>
</tooltip>
<span
class=
'seperator'
>
|
</span>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
<i-button
v-show=
"toolBarModels.tbitem12.visabled"
:disabled=
"toolBarModels.tbitem12.disabled"
class=
''
@
click=
"toolbar_click(
{ tag: 'tbitem12' }, $event)">
<i
class=
'fa fa-file-text-o'
></i>
<span
class=
'caption'
>
{{
$t
(
'ibzdict.editviewtoolbar_toolbar.tbitem12.caption'
)
}}
</span>
<span
class=
'caption'
>
{{
$t
(
'
entities.
ibzdict.editviewtoolbar_toolbar.tbitem12.caption'
)
}}
</span>
</i-button>
<div
slot=
'content'
>
{{
$t
(
'ibzdict.editviewtoolbar_toolbar.tbitem12.tip'
)
}}
</div>
<div
slot=
'content'
>
{{
$t
(
'
entities.
ibzdict.editviewtoolbar_toolbar.tbitem12.tip'
)
}}
</div>
</tooltip>
<span
class=
'seperator'
>
|
</span>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
<i-button
v-show=
"toolBarModels.tbitem14.visabled"
:disabled=
"toolBarModels.tbitem14.disabled"
class=
''
@
click=
"toolbar_click(
{ tag: 'tbitem14' }, $event)">
<i
class=
'fa fa-copy'
></i>
<span
class=
'caption'
>
{{
$t
(
'ibzdict.editviewtoolbar_toolbar.tbitem14.caption'
)
}}
</span>
<span
class=
'caption'
>
{{
$t
(
'
entities.
ibzdict.editviewtoolbar_toolbar.tbitem14.caption'
)
}}
</span>
</i-button>
<div
slot=
'content'
>
{{
$t
(
'ibzdict.editviewtoolbar_toolbar.tbitem14.tip'
)
}}
</div>
<div
slot=
'content'
>
{{
$t
(
'
entities.
ibzdict.editviewtoolbar_toolbar.tbitem14.tip'
)
}}
</div>
</tooltip>
<span
class=
'seperator'
>
|
</span>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
<i-button
v-show=
"toolBarModels.tbitem23.visabled"
:disabled=
"toolBarModels.tbitem23.disabled"
class=
''
@
click=
"toolbar_click(
{ tag: 'tbitem23' }, $event)">
<i
class=
'fa fa-fast-backward'
></i>
</i-button>
<div
slot=
'content'
>
{{
$t
(
'ibzdict.editviewtoolbar_toolbar.tbitem23.tip'
)
}}
</div>
<div
slot=
'content'
>
{{
$t
(
'
entities.
ibzdict.editviewtoolbar_toolbar.tbitem23.tip'
)
}}
</div>
</tooltip>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
<i-button
v-show=
"toolBarModels.tbitem24.visabled"
:disabled=
"toolBarModels.tbitem24.disabled"
class=
''
@
click=
"toolbar_click(
{ tag: 'tbitem24' }, $event)">
<i
class=
'fa fa-step-backward'
></i>
</i-button>
<div
slot=
'content'
>
{{
$t
(
'ibzdict.editviewtoolbar_toolbar.tbitem24.tip'
)
}}
</div>
<div
slot=
'content'
>
{{
$t
(
'
entities.
ibzdict.editviewtoolbar_toolbar.tbitem24.tip'
)
}}
</div>
</tooltip>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
<i-button
v-show=
"toolBarModels.tbitem25.visabled"
:disabled=
"toolBarModels.tbitem25.disabled"
class=
''
@
click=
"toolbar_click(
{ tag: 'tbitem25' }, $event)">
<i
class=
'fa fa-step-forward'
></i>
</i-button>
<div
slot=
'content'
>
{{
$t
(
'ibzdict.editviewtoolbar_toolbar.tbitem25.tip'
)
}}
</div>
<div
slot=
'content'
>
{{
$t
(
'
entities.
ibzdict.editviewtoolbar_toolbar.tbitem25.tip'
)
}}
</div>
</tooltip>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
<i-button
v-show=
"toolBarModels.tbitem26.visabled"
:disabled=
"toolBarModels.tbitem26.disabled"
class=
''
@
click=
"toolbar_click(
{ tag: 'tbitem26' }, $event)">
<i
class=
'fa fa-fast-forward'
></i>
</i-button>
<div
slot=
'content'
>
{{
$t
(
'ibzdict.editviewtoolbar_toolbar.tbitem26.tip'
)
}}
</div>
<div
slot=
'content'
>
{{
$t
(
'
entities.
ibzdict.editviewtoolbar_toolbar.tbitem26.tip'
)
}}
</div>
</tooltip>
<span
class=
'seperator'
>
|
</span>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
<i-button
v-show=
"toolBarModels.tbitem22.visabled"
:disabled=
"toolBarModels.tbitem22.disabled"
class=
''
@
click=
"toolbar_click(
{ tag: 'tbitem22' }, $event)">
<i
class=
'fa fa-question'
></i>
<span
class=
'caption'
>
{{
$t
(
'ibzdict.editviewtoolbar_toolbar.tbitem22.caption'
)
}}
</span>
<span
class=
'caption'
>
{{
$t
(
'
entities.
ibzdict.editviewtoolbar_toolbar.tbitem22.caption'
)
}}
</span>
</i-button>
<div
slot=
'content'
>
{{
$t
(
'ibzdict.editviewtoolbar_toolbar.tbitem22.tip'
)
}}
</div>
<div
slot=
'content'
>
{{
$t
(
'
entities.
ibzdict.editviewtoolbar_toolbar.tbitem22.tip'
)
}}
</div>
</tooltip>
</div>
...
...
@@ -223,9 +223,9 @@ export default class IBZDictEditViewBase extends Vue {
* @memberof IBZDictEditViewBase
*/
protected
model
:
any
=
{
srfCaption
:
'ibzdict.views.editview.caption'
,
srfTitle
:
'ibzdict.views.editview.title'
,
srfSubTitle
:
'ibzdict.views.editview.subtitle'
,
srfCaption
:
'
entities.
ibzdict.views.editview.caption'
,
srfTitle
:
'
entities.
ibzdict.views.editview.title'
,
srfSubTitle
:
'
entities.
ibzdict.views.editview.subtitle'
,
dataInfo
:
''
}
...
...
app_web/src/pages/dict/ibzdict-grid-view/ibzdict-grid-view-base.vue
浏览文件 @
7257ddc8
...
...
@@ -15,52 +15,52 @@
<tooltip
:transfer=
"true"
:max-width=
"600"
>
<i-button
v-show=
"toolBarModels.tbitem3.visabled"
:disabled=
"toolBarModels.tbitem3.disabled"
class=
''
@
click=
"toolbar_click(
{ tag: 'tbitem3' }, $event)">
<i
class=
'fa fa-file-text-o'
></i>
<span
class=
'caption'
>
{{
$t
(
'ibzdict.gridviewtoolbar_toolbar.tbitem3.caption'
)
}}
</span>
<span
class=
'caption'
>
{{
$t
(
'
entities.
ibzdict.gridviewtoolbar_toolbar.tbitem3.caption'
)
}}
</span>
</i-button>
<div
slot=
'content'
>
{{
$t
(
'ibzdict.gridviewtoolbar_toolbar.tbitem3.tip'
)
}}
</div>
<div
slot=
'content'
>
{{
$t
(
'
entities.
ibzdict.gridviewtoolbar_toolbar.tbitem3.tip'
)
}}
</div>
</tooltip>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
<i-button
v-show=
"toolBarModels.tbitem4.visabled"
:disabled=
"toolBarModels.tbitem4.disabled"
class=
''
@
click=
"toolbar_click(
{ tag: 'tbitem4' }, $event)">
<i
class=
'fa fa-edit'
></i>
<span
class=
'caption'
>
{{
$t
(
'ibzdict.gridviewtoolbar_toolbar.tbitem4.caption'
)
}}
</span>
<span
class=
'caption'
>
{{
$t
(
'
entities.
ibzdict.gridviewtoolbar_toolbar.tbitem4.caption'
)
}}
</span>
</i-button>
<div
slot=
'content'
>
{{
$t
(
'ibzdict.gridviewtoolbar_toolbar.tbitem4.tip'
)
}}
</div>
<div
slot=
'content'
>
{{
$t
(
'
entities.
ibzdict.gridviewtoolbar_toolbar.tbitem4.tip'
)
}}
</div>
</tooltip>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
<i-button
v-show=
"toolBarModels.tbitem6.visabled"
:disabled=
"toolBarModels.tbitem6.disabled"
class=
''
@
click=
"toolbar_click(
{ tag: 'tbitem6' }, $event)">
<i
class=
'fa fa-copy'
></i>
<span
class=
'caption'
>
{{
$t
(
'ibzdict.gridviewtoolbar_toolbar.tbitem6.caption'
)
}}
</span>
<span
class=
'caption'
>
{{
$t
(
'
entities.
ibzdict.gridviewtoolbar_toolbar.tbitem6.caption'
)
}}
</span>
</i-button>
<div
slot=
'content'
>
{{
$t
(
'ibzdict.gridviewtoolbar_toolbar.tbitem6.tip'
)
}}
</div>
<div
slot=
'content'
>
{{
$t
(
'
entities.
ibzdict.gridviewtoolbar_toolbar.tbitem6.tip'
)
}}
</div>
</tooltip>
<span
class=
'seperator'
>
|
</span>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
<i-button
v-show=
"toolBarModels.tbitem8.visabled"
:disabled=
"toolBarModels.tbitem8.disabled"
class=
''
@
click=
"toolbar_click(
{ tag: 'tbitem8' }, $event)">
<i
class=
'fa fa-remove'
></i>
<span
class=
'caption'
>
{{
$t
(
'ibzdict.gridviewtoolbar_toolbar.tbitem8.caption'
)
}}
</span>
<span
class=
'caption'
>
{{
$t
(
'
entities.
ibzdict.gridviewtoolbar_toolbar.tbitem8.caption'
)
}}
</span>
</i-button>
<div
slot=
'content'
>
{{
$t
(
'ibzdict.gridviewtoolbar_toolbar.tbitem8.tip'
)
}}
</div>
<div
slot=
'content'
>
{{
$t
(
'
entities.
ibzdict.gridviewtoolbar_toolbar.tbitem8.tip'
)
}}
</div>
</tooltip>
<span
class=
'seperator'
>
|
</span>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
<app-export-excel
:item=
"toolBarModels.tbitem13"
:caption=
"$t('ibzdict.gridviewtoolbar_toolbar.tbitem13.caption')"
@
exportexcel=
"toolbar_click(
{ tag: 'tbitem13' }, $event)">
</app-export-excel>
<div
slot=
'content'
>
{{
$t
(
'ibzdict.gridviewtoolbar_toolbar.tbitem13.tip'
)
}}
</div>
<app-export-excel
:item=
"toolBarModels.tbitem13"
:caption=
"$t('
entities.
ibzdict.gridviewtoolbar_toolbar.tbitem13.caption')"
@
exportexcel=
"toolbar_click(
{ tag: 'tbitem13' }, $event)">
</app-export-excel>
<div
slot=
'content'
>
{{
$t
(
'
entities.
ibzdict.gridviewtoolbar_toolbar.tbitem13.tip'
)
}}
</div>
</tooltip>
<span
class=
'seperator'
>
|
</span>
<dropdown
v-show=
"toolBarModels.tbitem16.visabled"
trigger=
'click'
>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
<i-button
class=
''
>
<i
class=
''
></i>
<span
class=
'caption'
>
{{
$t
(
'ibzdict.gridviewtoolbar_toolbar.tbitem16.caption'
)
}}
</span>
<span
class=
'caption'
>
{{
$t
(
'
entities.
ibzdict.gridviewtoolbar_toolbar.tbitem16.caption'
)
}}
</span>
<icon
type=
"ios-arrow-down"
></icon>
</i-button>
<div
slot=
'content'
>
{{
$t
(
'ibzdict.gridviewtoolbar_toolbar.tbitem16.tip'
)
}}
</div>
<div
slot=
'content'
>
{{
$t
(
'
entities.
ibzdict.gridviewtoolbar_toolbar.tbitem16.tip'
)
}}
</div>
</tooltip>
<dropdown-menu
slot=
'list'
>
<dropdown-item>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
<i-button
v-show=
"toolBarModels.tbitem21.visabled"
:disabled=
"toolBarModels.tbitem21.disabled"
class=
''
@
click=
"toolbar_click(
{ tag: 'tbitem21' }, $event)">
<i
class=
'fa fa-download'
></i>
<span
class=
'caption'
>
{{
$t
(
'ibzdict.gridviewtoolbar_toolbar.tbitem21.caption'
)
}}
</span>
<span
class=
'caption'
>
{{
$t
(
'
entities.
ibzdict.gridviewtoolbar_toolbar.tbitem21.caption'
)
}}
</span>
</i-button>
<div
slot=
'content'
>
{{
$t
(
'ibzdict.gridviewtoolbar_toolbar.tbitem21.tip'
)
}}
</div>
<div
slot=
'content'
>
{{
$t
(
'
entities.
ibzdict.gridviewtoolbar_toolbar.tbitem21.tip'
)
}}
</div>
</tooltip>
...
...
@@ -69,9 +69,9 @@
<tooltip
:transfer=
"true"
:max-width=
"600"
>
<i-button
v-show=
"toolBarModels.tbitem23.visabled"
:disabled=
"toolBarModels.tbitem23.disabled"
class=
''
@
click=
"toolbar_click(
{ tag: 'tbitem23' }, $event)">
<i
class=
'fa fa-upload'
></i>
<span
class=
'caption'
>
{{
$t
(
'ibzdict.gridviewtoolbar_toolbar.tbitem23.caption'
)
}}
</span>
<span
class=
'caption'
>
{{
$t
(
'
entities.
ibzdict.gridviewtoolbar_toolbar.tbitem23.caption'
)
}}
</span>
</i-button>
<div
slot=
'content'
>
{{
$t
(
'ibzdict.gridviewtoolbar_toolbar.tbitem23.tip'
)
}}
</div>
<div
slot=
'content'
>
{{
$t
(
'
entities.
ibzdict.gridviewtoolbar_toolbar.tbitem23.tip'
)
}}
</div>
</tooltip>
...
...
@@ -81,16 +81,16 @@
<span
class=
'seperator'
>
|
</span>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
<i-button
v-show=
"toolBarModels.tbitem19.visabled"
:disabled=
"toolBarModels.tbitem19.disabled"
class=
''
@
click=
"toolbar_click(
{ tag: 'tbitem19' }, $event)">
<i
class=
'fa fa-filter'
></i>
<span
class=
'caption'
>
{{
$t
(
'ibzdict.gridviewtoolbar_toolbar.tbitem19.caption'
)
}}
</span>
<span
class=
'caption'
>
{{
$t
(
'
entities.
ibzdict.gridviewtoolbar_toolbar.tbitem19.caption'
)
}}
</span>
</i-button>
<div
slot=
'content'
>
{{
$t
(
'ibzdict.gridviewtoolbar_toolbar.tbitem19.tip'
)
}}
</div>
<div
slot=
'content'
>
{{
$t
(
'
entities.
ibzdict.gridviewtoolbar_toolbar.tbitem19.tip'
)
}}
</div>
</tooltip>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
<i-button
v-show=
"toolBarModels.tbitem18.visabled"
:disabled=
"toolBarModels.tbitem18.disabled"
class=
''
@
click=
"toolbar_click(
{ tag: 'tbitem18' }, $event)">
<i
class=
'fa fa-question'
></i>
<span
class=
'caption'
>
{{
$t
(
'ibzdict.gridviewtoolbar_toolbar.tbitem18.caption'
)
}}
</span>
<span
class=
'caption'
>
{{
$t
(
'
entities.
ibzdict.gridviewtoolbar_toolbar.tbitem18.caption'
)
}}
</span>
</i-button>
<div
slot=
'content'
>
{{
$t
(
'ibzdict.gridviewtoolbar_toolbar.tbitem18.tip'
)
}}
</div>
<div
slot=
'content'
>
{{
$t
(
'
entities.
ibzdict.gridviewtoolbar_toolbar.tbitem18.tip'
)
}}
</div>
</tooltip>
</div>
</div>
...
...
@@ -245,9 +245,9 @@ export default class IBZDictGridViewBase extends Vue {
* @memberof IBZDictGridViewBase
*/
protected
model
:
any
=
{
srfCaption
:
'ibzdict.views.gridview.caption'
,
srfTitle
:
'ibzdict.views.gridview.title'
,
srfSubTitle
:
'ibzdict.views.gridview.subtitle'
,
srfCaption
:
'
entities.
ibzdict.views.gridview.caption'
,
srfTitle
:
'
entities.
ibzdict.views.gridview.title'
,
srfSubTitle
:
'
entities.
ibzdict.views.gridview.subtitle'
,
dataInfo
:
''
}
...
...
app_web/src/pages/dict/ibzdict-item-edit-view/ibzdict-item-edit-view-base.vue
浏览文件 @
7257ddc8
...
...
@@ -12,79 +12,79 @@
<tooltip
:transfer=
"true"
:max-width=
"600"
>
<i-button
v-show=
"toolBarModels.tbitem3.visabled"
:disabled=
"toolBarModels.tbitem3.disabled"
class=
''
@
click=
"toolbar_click(
{ tag: 'tbitem3' }, $event)">
<i
class=
'fa fa-save'
></i>
<span
class=
'caption'
>
{{
$t
(
'ibzdictitem.editviewtoolbar_toolbar.tbitem3.caption'
)
}}
</span>
<span
class=
'caption'
>
{{
$t
(
'
entities.
ibzdictitem.editviewtoolbar_toolbar.tbitem3.caption'
)
}}
</span>
</i-button>
<div
slot=
'content'
>
{{
$t
(
'ibzdictitem.editviewtoolbar_toolbar.tbitem3.tip'
)
}}
</div>
<div
slot=
'content'
>
{{
$t
(
'
entities.
ibzdictitem.editviewtoolbar_toolbar.tbitem3.tip'
)
}}
</div>
</tooltip>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
<i-button
v-show=
"toolBarModels.tbitem4.visabled"
:disabled=
"toolBarModels.tbitem4.disabled"
class=
''
@
click=
"toolbar_click(
{ tag: 'tbitem4' }, $event)">
<i
class=
'sx-tb-saveandnew'
></i>
<span
class=
'caption'
>
{{
$t
(
'ibzdictitem.editviewtoolbar_toolbar.tbitem4.caption'
)
}}
</span>
<span
class=
'caption'
>
{{
$t
(
'
entities.
ibzdictitem.editviewtoolbar_toolbar.tbitem4.caption'
)
}}
</span>
</i-button>
<div
slot=
'content'
>
{{
$t
(
'ibzdictitem.editviewtoolbar_toolbar.tbitem4.tip'
)
}}
</div>
<div
slot=
'content'
>
{{
$t
(
'
entities.
ibzdictitem.editviewtoolbar_toolbar.tbitem4.tip'
)
}}
</div>
</tooltip>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
<i-button
v-show=
"toolBarModels.tbitem5.visabled"
:disabled=
"toolBarModels.tbitem5.disabled"
class=
''
@
click=
"toolbar_click(
{ tag: 'tbitem5' }, $event)">
<i
class=
'sx-tb-saveandclose'
></i>
<span
class=
'caption'
>
{{
$t
(
'ibzdictitem.editviewtoolbar_toolbar.tbitem5.caption'
)
}}
</span>
<span
class=
'caption'
>
{{
$t
(
'
entities.
ibzdictitem.editviewtoolbar_toolbar.tbitem5.caption'
)
}}
</span>
</i-button>
<div
slot=
'content'
>
{{
$t
(
'ibzdictitem.editviewtoolbar_toolbar.tbitem5.tip'
)
}}
</div>
<div
slot=
'content'
>
{{
$t
(
'
entities.
ibzdictitem.editviewtoolbar_toolbar.tbitem5.tip'
)
}}
</div>
</tooltip>
<span
class=
'seperator'
>
|
</span>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
<i-button
v-show=
"toolBarModels.tbitem7.visabled"
:disabled=
"toolBarModels.tbitem7.disabled"
class=
''
@
click=
"toolbar_click(
{ tag: 'tbitem7' }, $event)">
<i
class=
'fa fa-remove'
></i>
<span
class=
'caption'
>
{{
$t
(
'ibzdictitem.editviewtoolbar_toolbar.tbitem7.caption'
)
}}
</span>
<span
class=
'caption'
>
{{
$t
(
'
entities.
ibzdictitem.editviewtoolbar_toolbar.tbitem7.caption'
)
}}
</span>
</i-button>
<div
slot=
'content'
>
{{
$t
(
'ibzdictitem.editviewtoolbar_toolbar.tbitem7.tip'
)
}}
</div>
<div
slot=
'content'
>
{{
$t
(
'
entities.
ibzdictitem.editviewtoolbar_toolbar.tbitem7.tip'
)
}}
</div>
</tooltip>
<span
class=
'seperator'
>
|
</span>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
<i-button
v-show=
"toolBarModels.tbitem12.visabled"
:disabled=
"toolBarModels.tbitem12.disabled"
class=
''
@
click=
"toolbar_click(
{ tag: 'tbitem12' }, $event)">
<i
class=
'fa fa-file-text-o'
></i>
<span
class=
'caption'
>
{{
$t
(
'ibzdictitem.editviewtoolbar_toolbar.tbitem12.caption'
)
}}
</span>
<span
class=
'caption'
>
{{
$t
(
'
entities.
ibzdictitem.editviewtoolbar_toolbar.tbitem12.caption'
)
}}
</span>
</i-button>
<div
slot=
'content'
>
{{
$t
(
'ibzdictitem.editviewtoolbar_toolbar.tbitem12.tip'
)
}}
</div>
<div
slot=
'content'
>
{{
$t
(
'
entities.
ibzdictitem.editviewtoolbar_toolbar.tbitem12.tip'
)
}}
</div>
</tooltip>
<span
class=
'seperator'
>
|
</span>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
<i-button
v-show=
"toolBarModels.tbitem14.visabled"
:disabled=
"toolBarModels.tbitem14.disabled"
class=
''
@
click=
"toolbar_click(
{ tag: 'tbitem14' }, $event)">
<i
class=
'fa fa-copy'
></i>
<span
class=
'caption'
>
{{
$t
(
'ibzdictitem.editviewtoolbar_toolbar.tbitem14.caption'
)
}}
</span>
<span
class=
'caption'
>
{{
$t
(
'
entities.
ibzdictitem.editviewtoolbar_toolbar.tbitem14.caption'
)
}}
</span>
</i-button>
<div
slot=
'content'
>
{{
$t
(
'ibzdictitem.editviewtoolbar_toolbar.tbitem14.tip'
)
}}
</div>
<div
slot=
'content'
>
{{
$t
(
'
entities.
ibzdictitem.editviewtoolbar_toolbar.tbitem14.tip'
)
}}
</div>
</tooltip>
<span
class=
'seperator'
>
|
</span>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
<i-button
v-show=
"toolBarModels.tbitem23.visabled"
:disabled=
"toolBarModels.tbitem23.disabled"
class=
''
@
click=
"toolbar_click(
{ tag: 'tbitem23' }, $event)">
<i
class=
'fa fa-fast-backward'
></i>
</i-button>
<div
slot=
'content'
>
{{
$t
(
'ibzdictitem.editviewtoolbar_toolbar.tbitem23.tip'
)
}}
</div>
<div
slot=
'content'
>
{{
$t
(
'
entities.
ibzdictitem.editviewtoolbar_toolbar.tbitem23.tip'
)
}}
</div>
</tooltip>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
<i-button
v-show=
"toolBarModels.tbitem24.visabled"
:disabled=
"toolBarModels.tbitem24.disabled"
class=
''
@
click=
"toolbar_click(
{ tag: 'tbitem24' }, $event)">
<i
class=
'fa fa-step-backward'
></i>
</i-button>
<div
slot=
'content'
>
{{
$t
(
'ibzdictitem.editviewtoolbar_toolbar.tbitem24.tip'
)
}}
</div>
<div
slot=
'content'
>
{{
$t
(
'
entities.
ibzdictitem.editviewtoolbar_toolbar.tbitem24.tip'
)
}}
</div>
</tooltip>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
<i-button
v-show=
"toolBarModels.tbitem25.visabled"
:disabled=
"toolBarModels.tbitem25.disabled"
class=
''
@
click=
"toolbar_click(
{ tag: 'tbitem25' }, $event)">
<i
class=
'fa fa-step-forward'
></i>
</i-button>
<div
slot=
'content'
>
{{
$t
(
'ibzdictitem.editviewtoolbar_toolbar.tbitem25.tip'
)
}}
</div>
<div
slot=
'content'
>
{{
$t
(
'
entities.
ibzdictitem.editviewtoolbar_toolbar.tbitem25.tip'
)
}}
</div>
</tooltip>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
<i-button
v-show=
"toolBarModels.tbitem26.visabled"
:disabled=
"toolBarModels.tbitem26.disabled"
class=
''
@
click=
"toolbar_click(
{ tag: 'tbitem26' }, $event)">
<i
class=
'fa fa-fast-forward'
></i>
</i-button>
<div
slot=
'content'
>
{{
$t
(
'ibzdictitem.editviewtoolbar_toolbar.tbitem26.tip'
)
}}
</div>
<div
slot=
'content'
>
{{
$t
(
'
entities.
ibzdictitem.editviewtoolbar_toolbar.tbitem26.tip'
)
}}
</div>
</tooltip>
<span
class=
'seperator'
>
|
</span>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
<i-button
v-show=
"toolBarModels.tbitem22.visabled"
:disabled=
"toolBarModels.tbitem22.disabled"
class=
''
@
click=
"toolbar_click(
{ tag: 'tbitem22' }, $event)">
<i
class=
'fa fa-question'
></i>
<span
class=
'caption'
>
{{
$t
(
'ibzdictitem.editviewtoolbar_toolbar.tbitem22.caption'
)
}}
</span>
<span
class=
'caption'
>
{{
$t
(
'
entities.
ibzdictitem.editviewtoolbar_toolbar.tbitem22.caption'
)
}}
</span>
</i-button>
<div
slot=
'content'
>
{{
$t
(
'ibzdictitem.editviewtoolbar_toolbar.tbitem22.tip'
)
}}
</div>
<div
slot=
'content'
>
{{
$t
(
'
entities.
ibzdictitem.editviewtoolbar_toolbar.tbitem22.tip'
)
}}
</div>
</tooltip>
</div>
...
...
@@ -223,9 +223,9 @@ export default class IBZDictItemEditViewBase extends Vue {
* @memberof IBZDictItemEditViewBase
*/
protected
model
:
any
=
{
srfCaption
:
'ibzdictitem.views.editview.caption'
,
srfTitle
:
'ibzdictitem.views.editview.title'
,
srfSubTitle
:
'ibzdictitem.views.editview.subtitle'
,
srfCaption
:
'
entities.
ibzdictitem.views.editview.caption'
,
srfTitle
:
'
entities.
ibzdictitem.views.editview.title'
,
srfSubTitle
:
'
entities.
ibzdictitem.views.editview.subtitle'
,
dataInfo
:
''
}
...
...
app_web/src/pages/dict/ibzdict-item-grid-view/ibzdict-item-grid-view-base.vue
浏览文件 @
7257ddc8
...
...
@@ -15,52 +15,52 @@
<tooltip
:transfer=
"true"
:max-width=
"600"
>
<i-button
v-show=
"toolBarModels.tbitem3.visabled"
:disabled=
"toolBarModels.tbitem3.disabled"
class=
''
@
click=
"toolbar_click(
{ tag: 'tbitem3' }, $event)">
<i
class=
'fa fa-file-text-o'
></i>
<span
class=
'caption'
>
{{
$t
(
'ibzdictitem.gridviewtoolbar_toolbar.tbitem3.caption'
)
}}
</span>
<span
class=
'caption'
>
{{
$t
(
'
entities.
ibzdictitem.gridviewtoolbar_toolbar.tbitem3.caption'
)
}}
</span>
</i-button>
<div
slot=
'content'
>
{{
$t
(
'ibzdictitem.gridviewtoolbar_toolbar.tbitem3.tip'
)
}}
</div>
<div
slot=
'content'
>
{{
$t
(
'
entities.
ibzdictitem.gridviewtoolbar_toolbar.tbitem3.tip'
)
}}
</div>
</tooltip>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
<i-button
v-show=
"toolBarModels.tbitem4.visabled"
:disabled=
"toolBarModels.tbitem4.disabled"
class=
''
@
click=
"toolbar_click(
{ tag: 'tbitem4' }, $event)">
<i
class=
'fa fa-edit'
></i>
<span
class=
'caption'
>
{{
$t
(
'ibzdictitem.gridviewtoolbar_toolbar.tbitem4.caption'
)
}}
</span>
<span
class=
'caption'
>
{{
$t
(
'
entities.
ibzdictitem.gridviewtoolbar_toolbar.tbitem4.caption'
)
}}
</span>
</i-button>
<div
slot=
'content'
>
{{
$t
(
'ibzdictitem.gridviewtoolbar_toolbar.tbitem4.tip'
)
}}
</div>
<div
slot=
'content'
>
{{
$t
(
'
entities.
ibzdictitem.gridviewtoolbar_toolbar.tbitem4.tip'
)
}}
</div>
</tooltip>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
<i-button
v-show=
"toolBarModels.tbitem6.visabled"
:disabled=
"toolBarModels.tbitem6.disabled"
class=
''
@
click=
"toolbar_click(
{ tag: 'tbitem6' }, $event)">
<i
class=
'fa fa-copy'
></i>
<span
class=
'caption'
>
{{
$t
(
'ibzdictitem.gridviewtoolbar_toolbar.tbitem6.caption'
)
}}
</span>
<span
class=
'caption'
>
{{
$t
(
'
entities.
ibzdictitem.gridviewtoolbar_toolbar.tbitem6.caption'
)
}}
</span>
</i-button>
<div
slot=
'content'
>
{{
$t
(
'ibzdictitem.gridviewtoolbar_toolbar.tbitem6.tip'
)
}}
</div>
<div
slot=
'content'
>
{{
$t
(
'
entities.
ibzdictitem.gridviewtoolbar_toolbar.tbitem6.tip'
)
}}
</div>
</tooltip>
<span
class=
'seperator'
>
|
</span>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
<i-button
v-show=
"toolBarModels.tbitem8.visabled"
:disabled=
"toolBarModels.tbitem8.disabled"
class=
''
@
click=
"toolbar_click(
{ tag: 'tbitem8' }, $event)">
<i
class=
'fa fa-remove'
></i>
<span
class=
'caption'
>
{{
$t
(
'ibzdictitem.gridviewtoolbar_toolbar.tbitem8.caption'
)
}}
</span>
<span
class=
'caption'
>
{{
$t
(
'
entities.
ibzdictitem.gridviewtoolbar_toolbar.tbitem8.caption'
)
}}
</span>
</i-button>
<div
slot=
'content'
>
{{
$t
(
'ibzdictitem.gridviewtoolbar_toolbar.tbitem8.tip'
)
}}
</div>
<div
slot=
'content'
>
{{
$t
(
'
entities.
ibzdictitem.gridviewtoolbar_toolbar.tbitem8.tip'
)
}}
</div>
</tooltip>
<span
class=
'seperator'
>
|
</span>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
<app-export-excel
:item=
"toolBarModels.tbitem13"
:caption=
"$t('ibzdictitem.gridviewtoolbar_toolbar.tbitem13.caption')"
@
exportexcel=
"toolbar_click(
{ tag: 'tbitem13' }, $event)">
</app-export-excel>
<div
slot=
'content'
>
{{
$t
(
'ibzdictitem.gridviewtoolbar_toolbar.tbitem13.tip'
)
}}
</div>
<app-export-excel
:item=
"toolBarModels.tbitem13"
:caption=
"$t('
entities.
ibzdictitem.gridviewtoolbar_toolbar.tbitem13.caption')"
@
exportexcel=
"toolbar_click(
{ tag: 'tbitem13' }, $event)">
</app-export-excel>
<div
slot=
'content'
>
{{
$t
(
'
entities.
ibzdictitem.gridviewtoolbar_toolbar.tbitem13.tip'
)
}}
</div>
</tooltip>
<span
class=
'seperator'
>
|
</span>
<dropdown
v-show=
"toolBarModels.tbitem16.visabled"
trigger=
'click'
>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
<i-button
class=
''
>
<i
class=
''
></i>
<span
class=
'caption'
>
{{
$t
(
'ibzdictitem.gridviewtoolbar_toolbar.tbitem16.caption'
)
}}
</span>
<span
class=
'caption'
>
{{
$t
(
'
entities.
ibzdictitem.gridviewtoolbar_toolbar.tbitem16.caption'
)
}}
</span>
<icon
type=
"ios-arrow-down"
></icon>
</i-button>
<div
slot=
'content'
>
{{
$t
(
'ibzdictitem.gridviewtoolbar_toolbar.tbitem16.tip'
)
}}
</div>
<div
slot=
'content'
>
{{
$t
(
'
entities.
ibzdictitem.gridviewtoolbar_toolbar.tbitem16.tip'
)
}}
</div>
</tooltip>
<dropdown-menu
slot=
'list'
>
<dropdown-item>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
<i-button
v-show=
"toolBarModels.tbitem21.visabled"
:disabled=
"toolBarModels.tbitem21.disabled"
class=
''
@
click=
"toolbar_click(
{ tag: 'tbitem21' }, $event)">
<i
class=
'fa fa-download'
></i>
<span
class=
'caption'
>
{{
$t
(
'ibzdictitem.gridviewtoolbar_toolbar.tbitem21.caption'
)
}}
</span>
<span
class=
'caption'
>
{{
$t
(
'
entities.
ibzdictitem.gridviewtoolbar_toolbar.tbitem21.caption'
)
}}
</span>
</i-button>
<div
slot=
'content'
>
{{
$t
(
'ibzdictitem.gridviewtoolbar_toolbar.tbitem21.tip'
)
}}
</div>
<div
slot=
'content'
>
{{
$t
(
'
entities.
ibzdictitem.gridviewtoolbar_toolbar.tbitem21.tip'
)
}}
</div>
</tooltip>
...
...
@@ -69,9 +69,9 @@
<tooltip
:transfer=
"true"
:max-width=
"600"
>
<i-button
v-show=
"toolBarModels.tbitem23.visabled"
:disabled=
"toolBarModels.tbitem23.disabled"
class=
''
@
click=
"toolbar_click(
{ tag: 'tbitem23' }, $event)">
<i
class=
'fa fa-upload'
></i>
<span
class=
'caption'
>
{{
$t
(
'ibzdictitem.gridviewtoolbar_toolbar.tbitem23.caption'
)
}}
</span>
<span
class=
'caption'
>
{{
$t
(
'
entities.
ibzdictitem.gridviewtoolbar_toolbar.tbitem23.caption'
)
}}
</span>
</i-button>
<div
slot=
'content'
>
{{
$t
(
'ibzdictitem.gridviewtoolbar_toolbar.tbitem23.tip'
)
}}
</div>
<div
slot=
'content'
>
{{
$t
(
'
entities.
ibzdictitem.gridviewtoolbar_toolbar.tbitem23.tip'
)
}}
</div>
</tooltip>
...
...
@@ -81,16 +81,16 @@
<span
class=
'seperator'
>
|
</span>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
<i-button
v-show=
"toolBarModels.tbitem19.visabled"
:disabled=
"toolBarModels.tbitem19.disabled"
class=
''
@
click=
"toolbar_click(
{ tag: 'tbitem19' }, $event)">
<i
class=
'fa fa-filter'
></i>
<span
class=
'caption'
>
{{
$t
(
'ibzdictitem.gridviewtoolbar_toolbar.tbitem19.caption'
)
}}
</span>
<span
class=
'caption'
>
{{
$t
(
'
entities.
ibzdictitem.gridviewtoolbar_toolbar.tbitem19.caption'
)
}}
</span>
</i-button>
<div
slot=
'content'
>
{{
$t
(
'ibzdictitem.gridviewtoolbar_toolbar.tbitem19.tip'
)
}}
</div>
<div
slot=
'content'
>
{{
$t
(
'
entities.
ibzdictitem.gridviewtoolbar_toolbar.tbitem19.tip'
)
}}
</div>
</tooltip>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
<i-button
v-show=
"toolBarModels.tbitem18.visabled"
:disabled=
"toolBarModels.tbitem18.disabled"
class=
''
@
click=
"toolbar_click(
{ tag: 'tbitem18' }, $event)">
<i
class=
'fa fa-question'
></i>
<span
class=
'caption'
>
{{
$t
(
'ibzdictitem.gridviewtoolbar_toolbar.tbitem18.caption'
)
}}
</span>
<span
class=
'caption'
>
{{
$t
(
'
entities.
ibzdictitem.gridviewtoolbar_toolbar.tbitem18.caption'
)
}}
</span>
</i-button>
<div
slot=
'content'
>
{{
$t
(
'ibzdictitem.gridviewtoolbar_toolbar.tbitem18.tip'
)
}}
</div>
<div
slot=
'content'
>
{{
$t
(
'
entities.
ibzdictitem.gridviewtoolbar_toolbar.tbitem18.tip'
)
}}
</div>
</tooltip>
</div>
</div>
...
...
@@ -245,9 +245,9 @@ export default class IBZDictItemGridViewBase extends Vue {
* @memberof IBZDictItemGridViewBase
*/
protected
model
:
any
=
{
srfCaption
:
'ibzdictitem.views.gridview.caption'
,
srfTitle
:
'ibzdictitem.views.gridview.title'
,
srfSubTitle
:
'ibzdictitem.views.gridview.subtitle'
,
srfCaption
:
'
entities.
ibzdictitem.views.gridview.caption'
,
srfTitle
:
'
entities.
ibzdictitem.views.gridview.title'
,
srfSubTitle
:
'
entities.
ibzdictitem.views.gridview.subtitle'
,
dataInfo
:
''
}
...
...
app_web/src/widgets/ibzdict/default-searchform/default-searchform-base.vue
浏览文件 @
7257ddc8
...
...
@@ -5,13 +5,13 @@
<i-col
span=
"20"
>
<row>
<i-col
v-show=
"detailsModel.n_ibzdictid_like.visible"
:style=
"
{}" :md="{ span: 12, offset: 0 }" :lg="{ span: 12, offset: 0 }" :xl="{ span: 12, offset: 0 }">
<app-form-item
name=
'n_ibzdictid_like'
:itemRules=
"this.rules.n_ibzdictid_like"
class=
''
:caption=
"$t('ibzdict.default_searchform.details.n_ibzdictid_like')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.n_ibzdictid_like.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<app-form-item
name=
'n_ibzdictid_like'
:itemRules=
"this.rules.n_ibzdictid_like"
class=
''
:caption=
"$t('
entities.
ibzdict.default_searchform.details.n_ibzdictid_like')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.n_ibzdictid_like.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<app-span
:value=
"data.n_ibzdictid_like"
style=
"width:100px;"
></app-span>
</app-form-item>
</i-col>
<i-col
v-show=
"detailsModel.n_ibzdictname_like.visible"
:style=
"
{}" :md="{ span: 12, offset: 0 }" :lg="{ span: 12, offset: 0 }" :xl="{ span: 12, offset: 0 }">
<app-form-item
name=
'n_ibzdictname_like'
:itemRules=
"this.rules.n_ibzdictname_like"
class=
''
:caption=
"$t('ibzdict.default_searchform.details.n_ibzdictname_like')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.n_ibzdictname_like.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<app-form-item
name=
'n_ibzdictname_like'
:itemRules=
"this.rules.n_ibzdictname_like"
class=
''
:caption=
"$t('
entities.
ibzdict.default_searchform.details.n_ibzdictname_like')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.n_ibzdictname_like.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<input-box
v-model=
"data.n_ibzdictname_like"
@
enter=
"onEnter($event)"
:disabled=
"detailsModel.n_ibzdictname_like.disabled"
type=
'text'
style=
"width:100px;"
></input-box>
</app-form-item>
...
...
app_web/src/widgets/ibzdict/main-form/main-form-base.vue
浏览文件 @
7257ddc8
...
...
@@ -4,17 +4,17 @@
<row
>
<i-col
v-show=
"detailsModel.group1.visible"
:style=
"
{}" :lg="{ span: 24, offset: 0 }">
<app-form-group
layoutType=
"TABLE_24COL"
titleStyle=
""
class=
''
uiActionGroup=
"detailsModel.group1.uiActionGroup"
@
groupuiactionclick=
"groupUIActionClick($event)"
:caption=
"$t('ibzdict.main_form.details.group1')"
:isShowCaption=
"true"
uiStyle=
"DEFAULT"
:titleBarCloseMode=
"0"
:isInfoGroupMode=
"false"
>
<app-form-group
layoutType=
"TABLE_24COL"
titleStyle=
""
class=
''
uiActionGroup=
"detailsModel.group1.uiActionGroup"
@
groupuiactionclick=
"groupUIActionClick($event)"
:caption=
"$t('
entities.
ibzdict.main_form.details.group1')"
:isShowCaption=
"true"
uiStyle=
"DEFAULT"
:titleBarCloseMode=
"0"
:isInfoGroupMode=
"false"
>
<row>
<i-col
v-show=
"detailsModel.ibzdictid.visible"
:style=
"
{}" :md="{ span: 12, offset: 0 }" :lg="{ span: 12, offset: 0 }" :xl="{ span: 12, offset: 0 }">
<app-form-item
name=
'ibzdictid'
:itemRules=
"this.rules.ibzdictid"
class=
''
:caption=
"$t('ibzdict.main_form.details.ibzdictid')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.ibzdictid.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<app-form-item
name=
'ibzdictid'
:itemRules=
"this.rules.ibzdictid"
class=
''
:caption=
"$t('
entities.
ibzdict.main_form.details.ibzdictid')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.ibzdictid.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<input-box
v-model=
"data.ibzdictid"
@
enter=
"onEnter($event)"
unit=
""
:disabled=
"detailsModel.ibzdictid.disabled"
type=
'text'
style=
""
></input-box>
</app-form-item>
</i-col>
<i-col
v-show=
"detailsModel.ibzdictname.visible"
:style=
"
{}" :md="{ span: 12, offset: 0 }" :lg="{ span: 12, offset: 0 }" :xl="{ span: 12, offset: 0 }">
<app-form-item
name=
'ibzdictname'
:itemRules=
"this.rules.ibzdictname"
class=
''
:caption=
"$t('ibzdict.main_form.details.ibzdictname')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.ibzdictname.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<app-form-item
name=
'ibzdictname'
:itemRules=
"this.rules.ibzdictname"
class=
''
:caption=
"$t('
entities.
ibzdict.main_form.details.ibzdictname')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.ibzdictname.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<input-box
v-model=
"data.ibzdictname"
@
enter=
"onEnter($event)"
unit=
""
:disabled=
"detailsModel.ibzdictname.disabled"
type=
'text'
style=
""
></input-box>
</app-form-item>
...
...
@@ -437,7 +437,7 @@ export default class MainBase extends Vue implements ControlInterface {
* @memberof Main
*/
protected
detailsModel
:
any
=
{
group1
:
new
FormGroupPanelModel
({
caption
:
'字典基本信息'
,
detailType
:
'GROUPPANEL'
,
name
:
'group1'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
uiActionGroup
:
{
caption
:
''
,
langbase
:
'ibzdict.main_form'
,
extractMode
:
'ITEM'
,
details
:
[]
}
})
group1
:
new
FormGroupPanelModel
({
caption
:
'字典基本信息'
,
detailType
:
'GROUPPANEL'
,
name
:
'group1'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
uiActionGroup
:
{
caption
:
''
,
langbase
:
'
entities.
ibzdict.main_form'
,
extractMode
:
'ITEM'
,
details
:
[]
}
})
,
formpage1
:
new
FormPageModel
({
caption
:
'基本信息'
,
detailType
:
'FORMPAGE'
,
name
:
'formpage1'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
})
,
...
...
app_web/src/widgets/ibzdict/main-grid/main-grid-base.vue
浏览文件 @
7257ddc8
...
...
@@ -17,21 +17,21 @@
<el-table-column
align=
"center"
type=
'selection'
:width=
"checkboxColWidth"
></el-table-column>
</
template
>
<
template
v-if=
"getColumnState('ibzdictid')"
>
<el-table-column
show-overflow-tooltip
:prop=
"'ibzdictid'"
:label=
"$t('ibzdict.main_grid.columns.ibzdictid')"
:width=
"250"
:align=
"'left'"
:sortable=
"'custom'"
>
<el-table-column
show-overflow-tooltip
:prop=
"'ibzdictid'"
:label=
"$t('
entities.
ibzdict.main_grid.columns.ibzdictid')"
:width=
"250"
:align=
"'left'"
:sortable=
"'custom'"
>
<template
v-slot=
"
{row,column}">
<span>
{{
row
.
ibzdictid
}}
</span>
</
template
>
</el-table-column>
</template>
<
template
v-if=
"getColumnState('ibzdictname')"
>
<el-table-column
show-overflow-tooltip
:prop=
"'ibzdictname'"
:label=
"$t('ibzdict.main_grid.columns.ibzdictname')"
:width=
"350"
:align=
"'left'"
:sortable=
"'custom'"
>
<el-table-column
show-overflow-tooltip
:prop=
"'ibzdictname'"
:label=
"$t('
entities.
ibzdict.main_grid.columns.ibzdictname')"
:width=
"350"
:align=
"'left'"
:sortable=
"'custom'"
>
<template
v-slot=
"
{row,column}">
<span>
{{
row
.
ibzdictname
}}
</span>
</
template
>
</el-table-column>
</template>
<
template
v-if=
"getColumnState('updatedate')"
>
<el-table-column
show-overflow-tooltip
:prop=
"'updatedate'"
:label=
"$t('ibzdict.main_grid.columns.updatedate')"
:width=
"250"
:align=
"'left'"
:sortable=
"'custom'"
>
<el-table-column
show-overflow-tooltip
:prop=
"'updatedate'"
:label=
"$t('
entities.
ibzdict.main_grid.columns.updatedate')"
:width=
"250"
:align=
"'left'"
:sortable=
"'custom'"
>
<template
v-slot=
"
{row,column}">
<app-format-data
format=
"YYYY-MM-DD hh:mm:ss"
:data=
"row.updatedate"
></app-format-data>
</
template
>
...
...
@@ -511,21 +511,21 @@ export default class MainBase extends Vue implements ControlInterface {
{
name
:
'ibzdictid'
,
label
:
'字典标识'
,
langtag
:
'ibzdict.main_grid.columns.ibzdictid'
,
langtag
:
'
entities.
ibzdict.main_grid.columns.ibzdictid'
,
show
:
true
,
util
:
'PX'
},
{
name
:
'ibzdictname'
,
label
:
'字典名称'
,
langtag
:
'ibzdict.main_grid.columns.ibzdictname'
,
langtag
:
'
entities.
ibzdict.main_grid.columns.ibzdictname'
,
show
:
true
,
util
:
'PX'
},
{
name
:
'updatedate'
,
label
:
'更新时间'
,
langtag
:
'ibzdict.main_grid.columns.updatedate'
,
langtag
:
'
entities.
ibzdict.main_grid.columns.updatedate'
,
show
:
true
,
util
:
'PX'
},
...
...
app_web/src/widgets/ibzdictitem/default-searchform/default-searchform-base.vue
浏览文件 @
7257ddc8
...
...
@@ -5,13 +5,13 @@
<i-col
span=
"20"
>
<row>
<i-col
v-show=
"detailsModel.n_ibzdictitemname_like.visible"
:style=
"
{}" :md="{ span: 12, offset: 0 }" :lg="{ span: 12, offset: 0 }" :xl="{ span: 12, offset: 0 }">
<app-form-item
name=
'n_ibzdictitemname_like'
:itemRules=
"this.rules.n_ibzdictitemname_like"
class=
''
:caption=
"$t('ibzdictitem.default_searchform.details.n_ibzdictitemname_like')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.n_ibzdictitemname_like.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<app-form-item
name=
'n_ibzdictitemname_like'
:itemRules=
"this.rules.n_ibzdictitemname_like"
class=
''
:caption=
"$t('
entities.
ibzdictitem.default_searchform.details.n_ibzdictitemname_like')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.n_ibzdictitemname_like.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<input-box
v-model=
"data.n_ibzdictitemname_like"
@
enter=
"onEnter($event)"
:disabled=
"detailsModel.n_ibzdictitemname_like.disabled"
type=
'text'
style=
"width:100px;"
></input-box>
</app-form-item>
</i-col>
<i-col
v-show=
"detailsModel.n_dictitemval_like.visible"
:style=
"
{}" :md="{ span: 12, offset: 0 }" :lg="{ span: 12, offset: 0 }" :xl="{ span: 12, offset: 0 }">
<app-form-item
name=
'n_dictitemval_like'
:itemRules=
"this.rules.n_dictitemval_like"
class=
''
:caption=
"$t('ibzdictitem.default_searchform.details.n_dictitemval_like')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.n_dictitemval_like.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<app-form-item
name=
'n_dictitemval_like'
:itemRules=
"this.rules.n_dictitemval_like"
class=
''
:caption=
"$t('
entities.
ibzdictitem.default_searchform.details.n_dictitemval_like')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.n_dictitemval_like.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<input-box
v-model=
"data.n_dictitemval_like"
@
enter=
"onEnter($event)"
:disabled=
"detailsModel.n_dictitemval_like.disabled"
type=
'text'
style=
"width:100px;"
></input-box>
</app-form-item>
...
...
app_web/src/widgets/ibzdictitem/main-form/main-form-base.vue
浏览文件 @
7257ddc8
...
...
@@ -4,47 +4,47 @@
<row
>
<i-col
v-show=
"detailsModel.group1.visible"
:style=
"
{}" :lg="{ span: 24, offset: 0 }">
<app-form-group
layoutType=
"TABLE_24COL"
titleStyle=
""
class=
''
uiActionGroup=
"detailsModel.group1.uiActionGroup"
@
groupuiactionclick=
"groupUIActionClick($event)"
:caption=
"$t('ibzdictitem.main_form.details.group1')"
:isShowCaption=
"false"
uiStyle=
"DEFAULT"
:titleBarCloseMode=
"0"
:isInfoGroupMode=
"false"
>
<app-form-group
layoutType=
"TABLE_24COL"
titleStyle=
""
class=
''
uiActionGroup=
"detailsModel.group1.uiActionGroup"
@
groupuiactionclick=
"groupUIActionClick($event)"
:caption=
"$t('
entities.
ibzdictitem.main_form.details.group1')"
:isShowCaption=
"false"
uiStyle=
"DEFAULT"
:titleBarCloseMode=
"0"
:isInfoGroupMode=
"false"
>
<row>
<i-col
v-show=
"detailsModel.ibzdictitemname.visible"
:style=
"
{}" :md="{ span: 12, offset: 0 }" :lg="{ span: 8, offset: 0 }" :xl="{ span: 6, offset: 0 }">
<app-form-item
name=
'ibzdictitemname'
:itemRules=
"this.rules.ibzdictitemname"
class=
''
:caption=
"$t('ibzdictitem.main_form.details.ibzdictitemname')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.ibzdictitemname.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<app-form-item
name=
'ibzdictitemname'
:itemRules=
"this.rules.ibzdictitemname"
class=
''
:caption=
"$t('
entities.
ibzdictitem.main_form.details.ibzdictitemname')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.ibzdictitemname.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<input-box
v-model=
"data.ibzdictitemname"
@
enter=
"onEnter($event)"
unit=
""
:disabled=
"detailsModel.ibzdictitemname.disabled"
type=
'text'
style=
""
></input-box>
</app-form-item>
</i-col>
<i-col
v-show=
"detailsModel.dictitemval.visible"
:style=
"
{}" :md="{ span: 12, offset: 0 }" :lg="{ span: 8, offset: 0 }" :xl="{ span: 6, offset: 0 }">
<app-form-item
name=
'dictitemval'
:itemRules=
"this.rules.dictitemval"
class=
''
:caption=
"$t('ibzdictitem.main_form.details.dictitemval')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.dictitemval.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<app-form-item
name=
'dictitemval'
:itemRules=
"this.rules.dictitemval"
class=
''
:caption=
"$t('
entities.
ibzdictitem.main_form.details.dictitemval')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.dictitemval.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<input-box
v-model=
"data.dictitemval"
@
enter=
"onEnter($event)"
unit=
""
:disabled=
"detailsModel.dictitemval.disabled"
type=
'text'
style=
""
></input-box>
</app-form-item>
</i-col>
<i-col
v-show=
"detailsModel.pitemval.visible"
:style=
"
{}" :md="{ span: 12, offset: 0 }" :lg="{ span: 8, offset: 0 }" :xl="{ span: 6, offset: 0 }">
<app-form-item
name=
'pitemval'
:itemRules=
"this.rules.pitemval"
class=
''
:caption=
"$t('ibzdictitem.main_form.details.pitemval')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.pitemval.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<app-form-item
name=
'pitemval'
:itemRules=
"this.rules.pitemval"
class=
''
:caption=
"$t('
entities.
ibzdictitem.main_form.details.pitemval')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.pitemval.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<input-box
v-model=
"data.pitemval"
@
enter=
"onEnter($event)"
unit=
""
:disabled=
"detailsModel.pitemval.disabled"
type=
'text'
style=
""
></input-box>
</app-form-item>
</i-col>
<i-col
v-show=
"detailsModel.itemfilter.visible"
:style=
"
{}" :md="{ span: 12, offset: 0 }" :lg="{ span: 8, offset: 0 }" :xl="{ span: 6, offset: 0 }">
<app-form-item
name=
'itemfilter'
:itemRules=
"this.rules.itemfilter"
class=
''
:caption=
"$t('ibzdictitem.main_form.details.itemfilter')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.itemfilter.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<app-form-item
name=
'itemfilter'
:itemRules=
"this.rules.itemfilter"
class=
''
:caption=
"$t('
entities.
ibzdictitem.main_form.details.itemfilter')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.itemfilter.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<input-box
v-model=
"data.itemfilter"
@
enter=
"onEnter($event)"
unit=
""
:disabled=
"detailsModel.itemfilter.disabled"
type=
'text'
style=
""
></input-box>
</app-form-item>
</i-col>
<i-col
v-show=
"detailsModel.itemcls.visible"
:style=
"
{}" :md="{ span: 12, offset: 0 }" :lg="{ span: 8, offset: 0 }" :xl="{ span: 6, offset: 0 }">
<app-form-item
name=
'itemcls'
:itemRules=
"this.rules.itemcls"
class=
''
:caption=
"$t('ibzdictitem.main_form.details.itemcls')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.itemcls.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<app-form-item
name=
'itemcls'
:itemRules=
"this.rules.itemcls"
class=
''
:caption=
"$t('
entities.
ibzdictitem.main_form.details.itemcls')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.itemcls.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<input-box
v-model=
"data.itemcls"
@
enter=
"onEnter($event)"
unit=
""
:disabled=
"detailsModel.itemcls.disabled"
type=
'text'
style=
""
></input-box>
</app-form-item>
</i-col>
<i-col
v-show=
"detailsModel.itemicon.visible"
:style=
"
{}" :md="{ span: 12, offset: 0 }" :lg="{ span: 8, offset: 0 }" :xl="{ span: 6, offset: 0 }">
<app-form-item
name=
'itemicon'
:itemRules=
"this.rules.itemicon"
class=
''
:caption=
"$t('ibzdictitem.main_form.details.itemicon')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.itemicon.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<app-form-item
name=
'itemicon'
:itemRules=
"this.rules.itemicon"
class=
''
:caption=
"$t('
entities.
ibzdictitem.main_form.details.itemicon')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.itemicon.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<input-box
v-model=
"data.itemicon"
@
enter=
"onEnter($event)"
unit=
""
:disabled=
"detailsModel.itemicon.disabled"
type=
'text'
style=
""
></input-box>
</app-form-item>
</i-col>
<i-col
v-show=
"detailsModel.showorder.visible"
:style=
"
{}" :md="{ span: 12, offset: 0 }" :lg="{ span: 8, offset: 0 }" :xl="{ span: 6, offset: 0 }">
<app-form-item
name=
'showorder'
:itemRules=
"this.rules.showorder"
class=
''
:caption=
"$t('ibzdictitem.main_form.details.showorder')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.showorder.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<app-form-item
name=
'showorder'
:itemRules=
"this.rules.showorder"
class=
''
:caption=
"$t('
entities.
ibzdictitem.main_form.details.showorder')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.showorder.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<input-box
v-model=
"data.showorder"
@
enter=
"onEnter($event)"
unit=
""
:disabled=
"detailsModel.showorder.disabled"
type=
'number'
style=
""
></input-box>
</app-form-item>
...
...
@@ -516,7 +516,7 @@ export default class MainBase extends Vue implements ControlInterface {
* @memberof Main
*/
protected
detailsModel
:
any
=
{
group1
:
new
FormGroupPanelModel
({
caption
:
'字典项目基本信息'
,
detailType
:
'GROUPPANEL'
,
name
:
'group1'
,
visible
:
true
,
isShowCaption
:
false
,
form
:
this
,
uiActionGroup
:
{
caption
:
''
,
langbase
:
'ibzdictitem.main_form'
,
extractMode
:
'ITEM'
,
details
:
[]
}
})
group1
:
new
FormGroupPanelModel
({
caption
:
'字典项目基本信息'
,
detailType
:
'GROUPPANEL'
,
name
:
'group1'
,
visible
:
true
,
isShowCaption
:
false
,
form
:
this
,
uiActionGroup
:
{
caption
:
''
,
langbase
:
'
entities.
ibzdictitem.main_form'
,
extractMode
:
'ITEM'
,
details
:
[]
}
})
,
formpage1
:
new
FormPageModel
({
caption
:
'基本信息'
,
detailType
:
'FORMPAGE'
,
name
:
'formpage1'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
})
,
...
...
app_web/src/widgets/ibzdictitem/main-grid/main-grid-base.vue
浏览文件 @
7257ddc8
...
...
@@ -17,56 +17,56 @@
<el-table-column
align=
"center"
type=
'selection'
:width=
"checkboxColWidth"
></el-table-column>
</
template
>
<
template
v-if=
"getColumnState('ibzdictitemname')"
>
<el-table-column
show-overflow-tooltip
:prop=
"'ibzdictitemname'"
:label=
"$t('ibzdictitem.main_grid.columns.ibzdictitemname')"
:width=
"250"
:align=
"'left'"
:sortable=
"'custom'"
>
<el-table-column
show-overflow-tooltip
:prop=
"'ibzdictitemname'"
:label=
"$t('
entities.
ibzdictitem.main_grid.columns.ibzdictitemname')"
:width=
"250"
:align=
"'left'"
:sortable=
"'custom'"
>
<template
v-slot=
"
{row,column}">
<span>
{{
row
.
ibzdictitemname
}}
</span>
</
template
>
</el-table-column>
</template>
<
template
v-if=
"getColumnState('dictitemval')"
>
<el-table-column
show-overflow-tooltip
:prop=
"'dictitemval'"
:label=
"$t('ibzdictitem.main_grid.columns.dictitemval')"
:width=
"200"
:align=
"'left'"
:sortable=
"'custom'"
>
<el-table-column
show-overflow-tooltip
:prop=
"'dictitemval'"
:label=
"$t('
entities.
ibzdictitem.main_grid.columns.dictitemval')"
:width=
"200"
:align=
"'left'"
:sortable=
"'custom'"
>
<template
v-slot=
"
{row,column}">
<span>
{{
row
.
dictitemval
}}
</span>
</
template
>
</el-table-column>
</template>
<
template
v-if=
"getColumnState('pitemval')"
>
<el-table-column
show-overflow-tooltip
:prop=
"'pitemval'"
:label=
"$t('ibzdictitem.main_grid.columns.pitemval')"
:width=
"200"
:align=
"'left'"
:sortable=
"'custom'"
>
<el-table-column
show-overflow-tooltip
:prop=
"'pitemval'"
:label=
"$t('
entities.
ibzdictitem.main_grid.columns.pitemval')"
:width=
"200"
:align=
"'left'"
:sortable=
"'custom'"
>
<template
v-slot=
"
{row,column}">
<span>
{{
row
.
pitemval
}}
</span>
</
template
>
</el-table-column>
</template>
<
template
v-if=
"getColumnState('itemfilter')"
>
<el-table-column
show-overflow-tooltip
:prop=
"'itemfilter'"
:label=
"$t('ibzdictitem.main_grid.columns.itemfilter')"
:width=
"100"
:align=
"'left'"
:sortable=
"'custom'"
>
<el-table-column
show-overflow-tooltip
:prop=
"'itemfilter'"
:label=
"$t('
entities.
ibzdictitem.main_grid.columns.itemfilter')"
:width=
"100"
:align=
"'left'"
:sortable=
"'custom'"
>
<template
v-slot=
"
{row,column}">
<span>
{{
row
.
itemfilter
}}
</span>
</
template
>
</el-table-column>
</template>
<
template
v-if=
"getColumnState('itemcls')"
>
<el-table-column
show-overflow-tooltip
:prop=
"'itemcls'"
:label=
"$t('ibzdictitem.main_grid.columns.itemcls')"
:width=
"100"
:align=
"'left'"
:sortable=
"'custom'"
>
<el-table-column
show-overflow-tooltip
:prop=
"'itemcls'"
:label=
"$t('
entities.
ibzdictitem.main_grid.columns.itemcls')"
:width=
"100"
:align=
"'left'"
:sortable=
"'custom'"
>
<template
v-slot=
"
{row,column}">
<span>
{{
row
.
itemcls
}}
</span>
</
template
>
</el-table-column>
</template>
<
template
v-if=
"getColumnState('itemicon')"
>
<el-table-column
show-overflow-tooltip
:prop=
"'itemicon'"
:label=
"$t('ibzdictitem.main_grid.columns.itemicon')"
:width=
"100"
:align=
"'left'"
:sortable=
"'custom'"
>
<el-table-column
show-overflow-tooltip
:prop=
"'itemicon'"
:label=
"$t('
entities.
ibzdictitem.main_grid.columns.itemicon')"
:width=
"100"
:align=
"'left'"
:sortable=
"'custom'"
>
<template
v-slot=
"
{row,column}">
<span>
{{
row
.
itemicon
}}
</span>
</
template
>
</el-table-column>
</template>
<
template
v-if=
"getColumnState('showorder')"
>
<el-table-column
show-overflow-tooltip
:prop=
"'showorder'"
:label=
"$t('ibzdictitem.main_grid.columns.showorder')"
:width=
"100"
:align=
"'left'"
:sortable=
"'custom'"
>
<el-table-column
show-overflow-tooltip
:prop=
"'showorder'"
:label=
"$t('
entities.
ibzdictitem.main_grid.columns.showorder')"
:width=
"100"
:align=
"'left'"
:sortable=
"'custom'"
>
<template
v-slot=
"
{row,column}">
<span>
{{
row
.
showorder
}}
</span>
</
template
>
</el-table-column>
</template>
<
template
v-if=
"getColumnState('updatedate')"
>
<el-table-column
show-overflow-tooltip
:prop=
"'updatedate'"
:label=
"$t('ibzdictitem.main_grid.columns.updatedate')"
:width=
"250"
:align=
"'left'"
:sortable=
"'custom'"
>
<el-table-column
show-overflow-tooltip
:prop=
"'updatedate'"
:label=
"$t('
entities.
ibzdictitem.main_grid.columns.updatedate')"
:width=
"250"
:align=
"'left'"
:sortable=
"'custom'"
>
<template
v-slot=
"
{row,column}">
<app-format-data
format=
"YYYY-MM-DD hh:mm:ss"
:data=
"row.updatedate"
></app-format-data>
</
template
>
...
...
@@ -546,56 +546,56 @@ export default class MainBase extends Vue implements ControlInterface {
{
name
:
'ibzdictitemname'
,
label
:
'栏目显示值'
,
langtag
:
'ibzdictitem.main_grid.columns.ibzdictitemname'
,
langtag
:
'
entities.
ibzdictitem.main_grid.columns.ibzdictitemname'
,
show
:
true
,
util
:
'PX'
},
{
name
:
'dictitemval'
,
label
:
'栏目值'
,
langtag
:
'ibzdictitem.main_grid.columns.dictitemval'
,
langtag
:
'
entities.
ibzdictitem.main_grid.columns.dictitemval'
,
show
:
true
,
util
:
'PX'
},
{
name
:
'pitemval'
,
label
:
'父栏目值'
,
langtag
:
'ibzdictitem.main_grid.columns.pitemval'
,
langtag
:
'
entities.
ibzdictitem.main_grid.columns.pitemval'
,
show
:
true
,
util
:
'PX'
},
{
name
:
'itemfilter'
,
label
:
'过滤项'
,
langtag
:
'ibzdictitem.main_grid.columns.itemfilter'
,
langtag
:
'
entities.
ibzdictitem.main_grid.columns.itemfilter'
,
show
:
true
,
util
:
'PX'
},
{
name
:
'itemcls'
,
label
:
'栏目样式'
,
langtag
:
'ibzdictitem.main_grid.columns.itemcls'
,
langtag
:
'
entities.
ibzdictitem.main_grid.columns.itemcls'
,
show
:
true
,
util
:
'PX'
},
{
name
:
'itemicon'
,
label
:
'图标'
,
langtag
:
'ibzdictitem.main_grid.columns.itemicon'
,
langtag
:
'
entities.
ibzdictitem.main_grid.columns.itemicon'
,
show
:
true
,
util
:
'PX'
},
{
name
:
'showorder'
,
label
:
'排序'
,
langtag
:
'ibzdictitem.main_grid.columns.showorder'
,
langtag
:
'
entities.
ibzdictitem.main_grid.columns.showorder'
,
show
:
true
,
util
:
'PX'
},
{
name
:
'updatedate'
,
label
:
'更新时间'
,
langtag
:
'ibzdictitem.main_grid.columns.updatedate'
,
langtag
:
'
entities.
ibzdictitem.main_grid.columns.updatedate'
,
show
:
true
,
util
:
'PX'
},
...
...
ibzdict-boot/src/main/java/cn/ibizlab/DevBootApplication.java
浏览文件 @
7257ddc8
...
...
@@ -6,12 +6,14 @@ import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.transaction.annotation.EnableTransactionManagement
;
import
org.springframework.boot.SpringApplication
;
import
org.springframework.cloud.openfeign.EnableFeignClients
;
@Slf4j
@EnableDiscoveryClient
@Configuration
@EnableTransactionManagement
@SpringBootApplication
@EnableFeignClients
(
basePackages
=
{
"cn.ibizlab"
})
public
class
DevBootApplication
{
public
static
void
main
(
String
[]
args
)
{
...
...
ibzdict-boot/src/main/java/cn/ibizlab/config/DevBootSecurityConfig.java
浏览文件 @
7257ddc8
...
...
@@ -10,6 +10,7 @@ import org.springframework.context.annotation.Configuration;
import
org.springframework.http.HttpMethod
;
import
org.springframework.security.authentication.AuthenticationManager
;
import
org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder
;
import
org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity
;
import
org.springframework.security.config.annotation.web.builders.HttpSecurity
;
import
org.springframework.security.config.annotation.web.configuration.EnableWebSecurity
;
import
org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter
;
...
...
@@ -21,6 +22,7 @@ import org.springframework.security.web.authentication.UsernamePasswordAuthentic
@Configuration
@EnableWebSecurity
@EnableGlobalMethodSecurity
(
prePostEnabled
=
true
)
public
class
DevBootSecurityConfig
extends
WebSecurityConfigurerAdapter
{
@Autowired
...
...
ibzdict-core/src/main/resources/deprivs/DEPrivs.json
0 → 100644
浏览文件 @
7257ddc8
[
{
"dename"
:
"IBZDictItem"
,
"delogicname"
:
"字典项目"
,
"sysmoudle"
:{
"id"
:
"DICT"
,
"name"
:
"dict"
},
"dedataset"
:[{
"id"
:
"Default"
,
"name"
:
"默认数据集"
}],
"dedatarange"
:[{
"id"
:
"ALL"
,
"name"
:
"全部数据"
},{
"id"
:
"CUR_ORG"
,
"name"
:
"当前部门"
}],
"deprivs"
:[{
"id"
:
"READ"
,
"name"
:
"READ"
},{
"id"
:
"CREATE"
,
"name"
:
"CREATE"
},{
"id"
:
"UPDATE"
,
"name"
:
"UPDATE"
},{
"id"
:
"DELETE"
,
"name"
:
"DELETE"
}]
}
,
{
"dename"
:
"IBZDict"
,
"delogicname"
:
"数据字典"
,
"sysmoudle"
:{
"id"
:
"DICT"
,
"name"
:
"dict"
},
"dedataset"
:[{
"id"
:
"Default"
,
"name"
:
"默认数据集"
}],
"dedatarange"
:[{
"id"
:
"ALL"
,
"name"
:
"全部数据"
},{
"id"
:
"CUR_ORG"
,
"name"
:
"当前部门"
}],
"deprivs"
:[{
"id"
:
"READ"
,
"name"
:
"READ"
},{
"id"
:
"CREATE"
,
"name"
:
"CREATE"
},{
"id"
:
"UPDATE"
,
"name"
:
"UPDATE"
},{
"id"
:
"DELETE"
,
"name"
:
"DELETE"
}]
}
]
ibzdict-provider/ibzdict-provider-dictapi/src/main/java/cn/ibizlab/dictapi/rest/IBZDictResource.java
浏览文件 @
7257ddc8
...
...
@@ -23,6 +23,7 @@ import org.springframework.data.domain.PageImpl;
import
org.springframework.data.domain.Pageable
;
import
org.springframework.util.StringUtils
;
import
org.springframework.context.annotation.Lazy
;
import
org.springframework.security.access.prepost.PreAuthorize
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
...
...
@@ -61,6 +62,7 @@ public class IBZDictResource {
@PreAuthorize
(
"hasPermission(#ibzdict_id,'READ',this.getEntity())"
)
@ApiOperation
(
value
=
"Get"
,
tags
=
{
"IBZDict"
},
notes
=
"Get"
)
@RequestMapping
(
method
=
RequestMethod
.
GET
,
value
=
"/ibzdicts/{ibzdict_id}"
)
public
ResponseEntity
<
IBZDictDTO
>
get
(
@PathVariable
(
"ibzdict_id"
)
String
ibzdict_id
)
{
...
...
@@ -72,6 +74,7 @@ public class IBZDictResource {
@PreAuthorize
(
"hasPermission('','CREATE',this.getEntity())"
)
@ApiOperation
(
value
=
"Create"
,
tags
=
{
"IBZDict"
},
notes
=
"Create"
)
@RequestMapping
(
method
=
RequestMethod
.
POST
,
value
=
"/ibzdicts"
)
@Transactional
...
...
@@ -82,6 +85,7 @@ public class IBZDictResource {
return
ResponseEntity
.
status
(
HttpStatus
.
OK
).
body
(
dto
);
}
@PreAuthorize
(
"hasPermission('','CREATE',this.getEntity())"
)
@ApiOperation
(
value
=
"createBatch"
,
tags
=
{
"createBatch"
},
notes
=
"createBatch"
)
@RequestMapping
(
method
=
RequestMethod
.
POST
,
value
=
"/ibzdicts/createbatch"
)
public
ResponseEntity
<
Boolean
>
createBatch
(
@RequestBody
List
<
IBZDictDTO
>
ibzdictdtos
)
{
...
...
@@ -101,6 +105,7 @@ public class IBZDictResource {
@PreAuthorize
(
"hasPermission('','CREATE',this.getEntity())"
)
@ApiOperation
(
value
=
"GetDraft"
,
tags
=
{
"IBZDict"
},
notes
=
"GetDraft"
)
@RequestMapping
(
method
=
RequestMethod
.
GET
,
value
=
"/ibzdicts/getdraft"
)
public
ResponseEntity
<
IBZDictDTO
>
getDraft
()
{
...
...
@@ -110,6 +115,7 @@ public class IBZDictResource {
@PreAuthorize
(
"hasPermission(#ibzdict_id,'UPDATE',this.getEntity())"
)
@ApiOperation
(
value
=
"Update"
,
tags
=
{
"IBZDict"
},
notes
=
"Update"
)
@RequestMapping
(
method
=
RequestMethod
.
PUT
,
value
=
"/ibzdicts/{ibzdict_id}"
)
@Transactional
...
...
@@ -121,6 +127,7 @@ public class IBZDictResource {
return
ResponseEntity
.
status
(
HttpStatus
.
OK
).
body
(
dto
);
}
@PreAuthorize
(
"hasPermission(#ibzdict_id,'UPDATE',this.getEntity())"
)
@ApiOperation
(
value
=
"UpdateBatch"
,
tags
=
{
"UpdateBatch"
},
notes
=
"UpdateBatch"
)
@RequestMapping
(
method
=
RequestMethod
.
POST
,
value
=
"/ibzdicts/updatebatch"
)
public
ResponseEntity
<
Boolean
>
updateBatch
(
@RequestBody
List
<
IBZDictDTO
>
ibzdictdtos
)
{
...
...
@@ -131,6 +138,7 @@ public class IBZDictResource {
@PreAuthorize
(
"hasPermission('DELETE',{#ibzdict_id,this.getEntity()})"
)
@ApiOperation
(
value
=
"Remove"
,
tags
=
{
"IBZDict"
},
notes
=
"Remove"
)
@RequestMapping
(
method
=
RequestMethod
.
DELETE
,
value
=
"/ibzdicts/{ibzdict_id}"
)
@Transactional
...
...
@@ -161,6 +169,7 @@ public class IBZDictResource {
return
ResponseEntity
.
status
(
HttpStatus
.
OK
).
body
(
true
);
}
@PreAuthorize
(
"hasPermission('READ',{#context,'Default',this.getEntity()})"
)
@ApiOperation
(
value
=
"fetchDEFAULT"
,
tags
=
{
"IBZDict"
}
,
notes
=
"fetchDEFAULT"
)
@RequestMapping
(
method
=
RequestMethod
.
GET
,
value
=
"/ibzdicts/fetchdefault"
)
public
ResponseEntity
<
List
<
IBZDictDTO
>>
fetchDefault
(
IBZDictSearchContext
context
)
{
...
...
@@ -173,6 +182,7 @@ public class IBZDictResource {
.
body
(
list
);
}
@PreAuthorize
(
"hasPermission('READ',{#context,'Default',this.getEntity()})"
)
@ApiOperation
(
value
=
"searchDEFAULT"
,
tags
=
{
"IBZDict"
}
,
notes
=
"searchDEFAULT"
)
@RequestMapping
(
method
=
RequestMethod
.
GET
,
value
=
"/ibzdicts/searchdefault"
)
public
ResponseEntity
<
Page
<
IBZDictDTO
>>
searchDefault
(
IBZDictSearchContext
context
)
{
...
...
@@ -182,4 +192,12 @@ public class IBZDictResource {
}
/**
* 用户权限校验
* @return
*/
public
IBZDict
getEntity
(){
return
new
IBZDict
();
}
}
ibzdict-util/src/main/java/cn/ibizlab/util/client/uaa/UAAFallback.java
0 → 100644
浏览文件 @
7257ddc8
package
cn
.
ibizlab
.
util
.
client
.
uaa
;
import
com.alibaba.fastjson.JSONObject
;
import
org.springframework.stereotype.Component
;
import
java.util.Map
;
@Component
public
class
UAAFallback
implements
UAAFeignClient
{
@Override
public
JSONObject
getPermission
(
String
userid
,
String
systemid
)
{
return
null
;
}
@Override
public
Map
<
String
,
Object
>
pushPermissionData
(
Map
<
String
,
Object
>
map
,
String
systemid
)
{
return
null
;
}
@Override
public
JSONObject
createUser
(
JSONObject
jsobject
)
{
return
null
;
}
@Override
public
JSONObject
updateUser
(
JSONObject
jsobject
)
{
return
null
;
}
@Override
public
void
deleteUser
(
String
userid
)
{
}
}
ibzdict-util/src/main/java/cn/ibizlab/util/client/uaa/UAAFeignClient.java
0 → 100644
浏览文件 @
7257ddc8
package
cn
.
ibizlab
.
util
.
client
.
uaa
;
import
com.alibaba.fastjson.JSONObject
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
java.util.Map
;
@FeignClient
(
value
=
"uaaweb"
,
fallback
=
UAAFallback
.
class
)
public
interface
UAAFeignClient
{
// @PostMapping("/uaaweb/uaa/custom/regissystem")
// JSONObject registPSSystem(@RequestBody PSSystem psSystem);
@GetMapping
(
value
=
"/uaaweb/uaa/sys_role/custom/getpermission"
)
JSONObject
getPermission
(
@RequestParam
(
"userid"
)
String
userid
,
@RequestParam
(
"systemid"
)
String
systemid
);
@PostMapping
(
"/uaaweb/uaa/sys_role/custom/pushpermissiondata"
)
Map
<
String
,
Object
>
pushPermissionData
(
@RequestBody
Map
<
String
,
Object
>
map
,
@RequestParam
(
"systemid"
)
String
systemid
);
@PostMapping
(
value
=
"/uaaweb/uaa/sys_role/custom/createuser"
)
JSONObject
createUser
(
JSONObject
jsobject
);
@PostMapping
(
value
=
"uaaweb/uaa/sys_role/custom/updateuser"
)
JSONObject
updateUser
(
JSONObject
jsobject
);
@PostMapping
(
"/uaaweb/uaa/sys_role/custom/deleteuser"
)
void
deleteUser
(
@RequestParam
(
"userid"
)
String
userid
);
}
ibzdict-util/src/main/java/cn/ibizlab/util/job/PermissionSyncJob.java
0 → 100644
浏览文件 @
7257ddc8
package
cn
.
ibizlab
.
util
.
job
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
cn.ibizlab.util.client.uaa.UAAFeignClient
;
import
org.apache.commons.io.IOUtils
;
import
org.apache.commons.logging.Log
;
import
org.apache.commons.logging.LogFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.boot.ApplicationArguments
;
import
org.springframework.boot.ApplicationRunner
;
import
org.springframework.stereotype.Component
;
import
java.io.InputStream
;
import
java.util.HashMap
;
import
java.util.Map
;
import
java.util.List
;
import
java.util.ArrayList
;
import
java.io.IOException
;
/**
* 权限:向uaa同步当前系统菜单、权限资源任务类
*/
//@Component //开启此类需要保证Main中开启了feign :EnableFeignClients
public
class
PermissionSyncJob
implements
ApplicationRunner
{
private
Log
log
=
LogFactory
.
getLog
(
PermissionSyncJob
.
class
);
@Autowired
private
UAAFeignClient
client
;
@Value
(
"${ibiz.enablePermissionValid:false}"
)
boolean
enablePermissionValid
;
//是否开启权限校验
@Value
(
"${ibiz.systemid:2C40DFCD-0DF5-47BF-91A5-C45F810B0001}"
)
private
String
systemId
;
@Override
public
void
run
(
ApplicationArguments
args
)
throws
Exception
{
if
(
enablePermissionValid
){
try
{
InputStream
permission
=
this
.
getClass
().
getResourceAsStream
(
"/deprivs/DEPrivs.json"
);
//获取当前系统所有实体资源能力
String
permissionResult
=
IOUtils
.
toString
(
permission
,
"UTF-8"
);
JSONArray
jsonNodePermission
=
JSONArray
.
parseArray
(
permissionResult
);
Map
<
String
,
Object
>
map
=
new
HashMap
<
String
,
Object
>();
map
.
put
(
"menu"
,
new
JSONArray
());
map
.
put
(
"permission"
,
jsonNodePermission
);
client
.
pushPermissionData
(
map
,
systemId
);
}
catch
(
Exception
ex
)
{
log
.
error
(
String
.
format
(
"向UAA同步数据发生错误,请检查UAA服务是否正常! [%s]"
,
ex
));
}
}
}
}
\ No newline at end of file
ibzdict-util/src/main/java/cn/ibizlab/util/security/AuthPermissionEvaluator.java
0 → 100644
浏览文件 @
7257ddc8
package
cn
.
ibizlab
.
util
.
security
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.baomidou.mybatisplus.core.conditions.Wrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
cn.ibizlab.util.domain.EntityBase
;
import
cn.ibizlab.util.filter.QueryWrapperContext
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.security.access.PermissionEvaluator
;
import
org.springframework.security.core.Authentication
;
import
org.springframework.stereotype.Component
;
import
org.springframework.util.StringUtils
;
import
java.io.Serializable
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
/**
* spring security 权限管理类
* 重写权限控制方法
*/
@Component
public
class
AuthPermissionEvaluator
implements
PermissionEvaluator
{
@Value
(
"${ibiz.enablePermissionValid:false}"
)
boolean
enablePermissionValid
;
//是否开启权限校验
/**
* 表格权限检查 :用于检查当前用户是否拥有表格数据的读取、删除权限
*
* @param authentication
* @param obj_action 表格行为,如:[READ,DELETE]
* @param grid_param 表格参数,如:当前表格所处实体(EntityName)、表格删除的数据主键(srfkeys)
* @return true/false true则允许当前行为,false拒绝行为
*/
@Override
public
boolean
hasPermission
(
Authentication
authentication
,
Object
obj_action
,
Object
grid_param
)
{
if
(
AuthenticationUser
.
getAuthenticationUser
().
getSuperuser
()==
1
||
!
enablePermissionValid
)
return
true
;
//系统没开启权限、超级管理员 两种情况不进行权限检查
try
{
String
action
=
""
;
if
(
obj_action
instanceof
String
)
action
=
(
String
)
obj_action
;
if
(
StringUtils
.
isEmpty
(
action
))
return
false
;
JSONObject
permissionList
=
AuthenticationUser
.
getAuthenticationUser
().
getPermisionList
();
//获取权限列表
if
(
permissionList
==
null
)
return
false
;
List
param_list
=
(
ArrayList
)
grid_param
;
if
(
obj_action
.
equals
(
"DELETE"
)){
//表格删除权限校验
Object
srfkey
=
param_list
.
get
(
0
);
EntityBase
cur_entity
=
(
EntityBase
)
param_list
.
get
(
1
);
String
entityName
=
cur_entity
.
getClass
().
getSimpleName
();
ServiceImpl
service
=
SpringContextHolder
.
getBean
(
String
.
format
(
"%s%s"
,
getBeanName
(
entityName
),
"ServiceImpl"
));
//获取当前实体service
JSONObject
formDataAbility
=
permissionList
.
getJSONObject
(
"dataAbility-form"
);
//由于表格删除是不跟着dataSet走,所以此处走form获取权限
Map
<
String
,
String
>
permissionField
=
getPermissionField
(
cur_entity
);
//获取系统预置属性列表
String
selectCond
=
generatePermissionSQLForm
(
formDataAbility
,
entityName
,
action
,
srfkey
,
permissionField
);
//拼接权限条件
if
(
StringUtils
.
isEmpty
(
selectCond
))
return
false
;
QueryWrapper
permissionCond
=
getPermissionCond
(
selectCond
,
permissionField
);
return
testDataAccess
(
service
,
permissionCond
);
//执行权限检查
}
else
{
//表格查询权限校验
Object
searchContext
=
param_list
.
get
(
0
);
String
dataSet
=
String
.
valueOf
(
param_list
.
get
(
1
));
EntityBase
cur_entity
=
(
EntityBase
)
param_list
.
get
(
2
);
String
entityName
=
cur_entity
.
getClass
().
getSimpleName
();
if
(
StringUtils
.
isEmpty
(
entityName
)||
StringUtils
.
isEmpty
(
dataSet
)||
StringUtils
.
isEmpty
(
action
))
return
false
;
JSONObject
gridDataAbility
=
permissionList
.
getJSONObject
(
"dataAbility-grid"
);
//获取表格的权限数据
Map
<
String
,
String
>
permissionField
=
getPermissionField
(
cur_entity
);
//获取系统预置属性列表
String
selectCond
=
generatePermissionSQLGrid
(
gridDataAbility
,
entityName
,
action
,
dataSet
,
permissionField
,
null
);
//拼接权限条件
if
(
StringUtils
.
isEmpty
(
selectCond
))
return
false
;
filterDataAccess
(
searchContext
,
selectCond
);
//过滤出权限内的数据
}
return
true
;
}
catch
(
Exception
e
){
throw
new
RuntimeException
(
"系统在进行权限检查时出现异常,原因为:"
+
e
);
}
}
/**
* 表单权限检查 :用于检查当前用户是否拥有表单的新建、编辑、删除权限
*
* @param authentication
* @param srfkey 当前操作数据的主键
* @param action 当前操作行为:如:[READ、UPDATE、DELETE]
* @param cur_entity 当前操作的实体对象
* @return true/false true则允许当前行为,false拒绝行为
*/
@Override
public
boolean
hasPermission
(
Authentication
authentication
,
Serializable
srfkey
,
String
action
,
Object
cur_entity
)
{
if
(
AuthenticationUser
.
getAuthenticationUser
().
getSuperuser
()==
1
||
!
enablePermissionValid
)
return
true
;
//系统没开启权限、超级管理员 两种情况不进行权限检查
boolean
isPermission
;
EntityBase
entityBase
=
null
;
if
(
cur_entity
instanceof
EntityBase
)
entityBase
=
(
EntityBase
)
cur_entity
;
if
(
StringUtils
.
isEmpty
(
entityBase
))
return
false
;
try
{
String
entityName
=
entityBase
.
getClass
().
getSimpleName
();
//实体名
if
(
action
.
equals
(
"CREATE"
)){
//表单新建权限校验
JSONObject
permissionList
=
AuthenticationUser
.
getAuthenticationUser
().
getPermisionList
();
//获取权限列表
JSONObject
formDataAbility
=
permissionList
.
getJSONObject
(
"dataAbility-form"
);
//获取表单的权限数据
return
isFormCreatePermission
(
formDataAbility
,
entityName
,
action
);
//拼接权限条件
}
else
{
//表单编辑、查询权限校验
ServiceImpl
service
=
SpringContextHolder
.
getBean
(
String
.
format
(
"%s%s"
,
getBeanName
(
entityName
),
"ServiceImpl"
));
//获取当前实体service
JSONObject
permissionList
=
AuthenticationUser
.
getAuthenticationUser
().
getPermisionList
();
//获取权限列表
JSONObject
formDataAbility
=
permissionList
.
getJSONObject
(
"dataAbility-form"
);
//获取表单的权限数据
Map
<
String
,
String
>
permissionField
=
getPermissionField
(
entityBase
);
String
selectCond
=
generatePermissionSQLForm
(
formDataAbility
,
entityName
,
action
,
srfkey
,
permissionField
);
//拼接权限条件
if
(
StringUtils
.
isEmpty
(
selectCond
))
return
false
;
QueryWrapper
permissionCond
=
getPermissionCond
(
selectCond
,
permissionField
);
isPermission
=
testDataAccess
(
service
,
permissionCond
);
//执行权限检查
}
}
catch
(
Exception
e
){
throw
new
RuntimeException
(
"系统在进行权限检查时出现异常,原因为:"
+
e
);
}
return
isPermission
;
}
/**
* 拼接表格查询条件
* @param gridDataAbility
* @param entityName
* @param action
* @param dataSet
* @param permissionField
* @param srfkey
* @return
*/
private
String
generatePermissionSQLGrid
(
JSONObject
gridDataAbility
,
String
entityName
,
String
action
,
String
dataSet
,
Map
<
String
,
String
>
permissionField
,
Object
srfkey
){
if
(
gridDataAbility
==
null
)
return
null
;
if
(!
gridDataAbility
.
containsKey
(
entityName
))
return
null
;
JSONObject
entityObj
=
gridDataAbility
.
getJSONObject
(
entityName
);
//获取实体
if
(!
entityObj
.
containsKey
(
dataSet
))
return
null
;
JSONObject
dedatasetObject
=
entityObj
.
getJSONObject
(
dataSet
);
//获取实体数据集
if
(!
dedatasetObject
.
containsKey
(
action
))
return
null
;
JSONArray
entityOperation
=
dedatasetObject
.
getJSONArray
(
action
);
//行为:read;insert...
if
(
entityOperation
.
size
()==
0
)
return
null
;
if
(
StringUtils
.
isEmpty
(
srfkey
))
return
getPermissionCond
(
entityOperation
,
permissionField
);
//拼接权限条件-查询
else
return
String
.
format
(
" (%s) AND (%sid='%s')"
,
getPermissionCond
(
entityOperation
,
permissionField
),
srfkey
);
//拼接权限条件-删除
}
/**
* 表格拼接权限条件,过滤出权限数据
* @param targetDomainObject
* @param permissionCond
* @throws Exception
*/
private
void
filterDataAccess
(
Object
targetDomainObject
,
String
permissionCond
)
throws
Exception
{
if
(
targetDomainObject
instanceof
QueryWrapperContext
){
QueryWrapperContext
queryWrapperContext
=
(
QueryWrapperContext
)
targetDomainObject
;
QueryWrapper
queryWrapper
=
queryWrapperContext
.
getSelectCond
();
queryWrapper
.
apply
(
permissionCond
);
}
}
/**
* 拼接表单数据查询条件
* @param formDataAbility
* @param entityName
* @param action
* @param srfkey
* @param permissionField
* @return
*/
private
String
generatePermissionSQLForm
(
JSONObject
formDataAbility
,
String
entityName
,
String
action
,
Object
srfkey
,
Map
<
String
,
String
>
permissionField
){
if
(
formDataAbility
==
null
)
return
null
;
if
(!
formDataAbility
.
containsKey
(
entityName
))
return
null
;
JSONObject
entityObj
=
formDataAbility
.
getJSONObject
(
entityName
);
//获取实体
if
(!
entityObj
.
containsKey
(
action
))
return
null
;
JSONArray
entityOperation
=
entityObj
.
getJSONArray
(
action
);
//行为:read;insert...
if
(
entityOperation
.
size
()==
0
)
return
null
;
String
resultCond
=
getPermissionCond
(
entityOperation
,
permissionField
);
if
(
StringUtils
.
isEmpty
(
srfkey
))
return
String
.
format
(
" (%s)"
,
resultCond
,
entityName
.
toLowerCase
());
//拼接权限条件-新建
else
return
String
.
format
(
" (%s) AND (%sid='%s')"
,
resultCond
,
entityName
.
toLowerCase
(),
srfkey
);
//拼接权限条件-编辑
}
/**
* 判断当前用户是否拥有建立表单数据权限
* @param formDataAbility
* @param entityName
* @param targetType
* @return
*/
private
boolean
isFormCreatePermission
(
JSONObject
formDataAbility
,
String
entityName
,
String
targetType
){
if
(
formDataAbility
==
null
)
return
false
;
if
(!
formDataAbility
.
containsKey
(
entityName
))
return
false
;
JSONObject
entityObj
=
formDataAbility
.
getJSONObject
(
entityName
);
//获取实体
if
(!
entityObj
.
containsKey
(
targetType
))
return
false
;
return
true
;
}
/**
* 表单权限检查
* @param service
* @param permissionCond
* @return
*/
private
boolean
testDataAccess
(
ServiceImpl
service
,
QueryWrapper
permissionCond
){
boolean
isPermission
=
false
;
List
list
=
service
.
list
(
permissionCond
);
if
(
list
.
size
()>
0
)
isPermission
=
true
;
return
isPermission
;
}
/**
* 拼接权限条件(表单/表格)共用
* @param entityOperation
* @param permissionField
* @return
*/
private
String
getPermissionCond
(
JSONArray
entityOperation
,
Map
<
String
,
String
>
permissionField
){
String
orgField
=
permissionField
.
get
(
"orgfield"
);
String
orgsecfield
=
permissionField
.
get
(
"orgsecfield"
);
StringBuffer
cond
=
new
StringBuffer
();
for
(
int
i
=
0
;
i
<
entityOperation
.
size
();
i
++){
if
(
i
>
0
&&
(!
StringUtils
.
isEmpty
(
cond
.
toString
())))
cond
.
append
(
"OR"
);
String
permissionCond
=
entityOperation
.
getString
(
i
);
//权限配置条件
if
(
permissionCond
.
equals
(
"CUR_ORG"
)){
//本单位
cond
.
append
(
String
.
format
(
"(t1.%s='%s')"
,
orgField
,
AuthenticationUser
.
getAuthenticationUser
().
getOrgid
()));
}
if
(
permissionCond
.
equals
(
"SUB_ORG"
)){
//下级单位
cond
.
append
(
" INSTR(j1.LEVELCODE,'"
+
AuthenticationUser
.
getAuthenticationUser
().
getLevelcode
()+
"')=1 "
);
}
if
(
permissionCond
.
equals
(
"HIT_ORG"
)){
//上级单位
cond
.
append
(
" INSTR('"
+
AuthenticationUser
.
getAuthenticationUser
().
getLevelcode
()+
"',j1.LEVELCODE)=1 "
);
}
if
(
permissionCond
.
equals
(
"CREATEMAN"
)){
//建立人
cond
.
append
(
String
.
format
(
"(t1.createman='%s')"
,
AuthenticationUser
.
getAuthenticationUser
().
getUserid
()));
}
// if(permissionCond.equals("CUR_ORGSEC")){//本部门
// cond.append(String.format("(t1.orgsecid='%s')",AuthenticationUser.getAuthenticationUser().getMdeptid()));
// }
// if(permissionCond.equals("SUB_ORGSEC")){//下级部门
// cond.append(" INSTR(j2.LEVELCODE,'"+AuthenticationUser.getAuthenticationUser().getMdeptcode()+"')=1 ");
// }
// if(permissionCond.equals("HIGH_ORGSEC")){//上级部门
// cond.append(" INSTR('"+AuthenticationUser.getAuthenticationUser().getMdeptcode()+"',j2.LEVELCODE)=1 ");
// }
if
(
permissionCond
.
equals
(
"ALL"
)){
//全部数据
cond
.
append
(
"(1=1)"
);
}
}
if
(
StringUtils
.
isEmpty
(
cond
.
toString
()))
return
""
;
String
resultCond
=
cond
.
toString
();
if
(
resultCond
.
endsWith
(
"OR"
)){
resultCond
=
resultCond
.
substring
(
0
,
resultCond
.
lastIndexOf
(
"OR"
));
}
return
resultCond
;
}
/**
* 拼接权限查询条件(表单/表格)共用
* @param whereCond
* @param permissionField
* @return
*/
private
QueryWrapper
getPermissionCond
(
String
whereCond
,
Map
<
String
,
String
>
permissionField
){
Wrapper
wrapper
=
new
QueryWrapper
();
QueryWrapper
allPermissionCond
=
new
QueryWrapper
();
//permissionCond.apply("inner join JC_ORG j1 on t1.ORGID=j1.orgid inner join JC_ORGSEC j2 on t1.orgsecid=j2.orgsecid");
if
(
StringUtils
.
isEmpty
(
whereCond
))
return
allPermissionCond
;
// String strAllPermissionCond=String.format("inner join XT_ZZJG_DWBM j1 on t1.%s=j1.dwbm where (%s) ",permissionField.get("orgfield"),whereCond);
allPermissionCond
.
apply
(
whereCond
);
return
allPermissionCond
;
}
/**
* 获取实体权限字段 orgid/orgsecid
* @param entityBase
* @return
*/
private
Map
<
String
,
String
>
getPermissionField
(
EntityBase
entityBase
){
Map
<
String
,
String
>
permissionFiled
=
new
HashMap
<>();
String
orgField
=
"orgid"
;
//组织权限默认值
String
orgsecField
=
"orgsecid"
;
//部门权限默认值
// Map<Field, PreField> preFields= entityBase.SearchPreField(); //从缓存中获取当前类预置属性
// //寻找实体权限属性
// for (Map.Entry<Field,PreField> entry : preFields.entrySet()){
// Field prefield=entry.getKey();//获取注解字段
// PreField fieldAnnotation=entry.getValue();//获取注解值
// PredefinedType prefieldType=fieldAnnotation.preType();
// if(prefieldType==PredefinedType.ORGID)//用户配置系统预置属性-组织机构标识
// orgField=prefield.getName();
// if(prefieldType==PredefinedType.ORGSECTORID)//用户配置系统预置属性-部门标识
// orgsecField=prefield.getName();
// }
permissionFiled
.
put
(
"orgfield"
,
orgField
);
permissionFiled
.
put
(
"orgsecfield"
,
orgsecField
);
return
permissionFiled
;
}
/**
* 获取bean名称
* @param className
* @return
*/
private
String
getBeanName
(
String
className
)
{
if
(
Character
.
isLowerCase
(
className
.
charAt
(
0
)))
{
return
className
;
}
else
{
return
(
new
StringBuilder
()).
append
(
Character
.
toLowerCase
(
className
.
charAt
(
0
))).
append
(
className
.
substring
(
1
)).
toString
();
}
}
}
\ No newline at end of file
ibzdict-util/src/main/java/cn/ibizlab/util/security/SpringContextHolder.java
0 → 100644
浏览文件 @
7257ddc8
package
cn
.
ibizlab
.
util
.
security
;
import
org.springframework.beans.BeansException
;
import
org.springframework.context.ApplicationContext
;
import
org.springframework.context.ApplicationContextAware
;
import
org.springframework.stereotype.Component
;
@Component
public
class
SpringContextHolder
implements
ApplicationContextAware
{
private
static
ApplicationContext
applicationContext
;
@Override
public
void
setApplicationContext
(
ApplicationContext
applicationContext
)
throws
BeansException
{
SpringContextHolder
.
applicationContext
=
applicationContext
;
}
public
static
ApplicationContext
getApplicationContext
()
{
assertApplicationContext
();
return
applicationContext
;
}
@SuppressWarnings
(
"unchecked"
)
public
static
<
T
>
T
getBean
(
String
beanName
)
{
assertApplicationContext
();
return
(
T
)
applicationContext
.
getBean
(
beanName
);
}
public
static
<
T
>
T
getBean
(
Class
<
T
>
requiredType
)
{
assertApplicationContext
();
return
applicationContext
.
getBean
(
requiredType
);
}
private
static
void
assertApplicationContext
()
{
if
(
SpringContextHolder
.
applicationContext
==
null
)
{
throw
new
RuntimeException
(
"applicaitonContext属性为null,请检查是否注入了SpringContextHolder!"
);
}
}
}
\ No newline at end of file
ibzdict-util/src/main/java/cn/ibizlab/util/service/SimpleUserService.java
浏览文件 @
7257ddc8
package
cn
.
ibizlab
.
util
.
service
;
import
cn.ibizlab.util.security.AuthenticationUser
;
import
cn.ibizlab.util.client.uaa.UAAFeignClient
;
import
org.springframework.context.annotation.Primary
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.DigestUtils
;
import
org.springframework.util.StringUtils
;
import
com.alibaba.fastjson.JSONObject
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
/**
* 实体[IBZUSER] 服务对象接口实现
...
...
@@ -43,6 +48,9 @@ public class SimpleUserService implements AuthenticationUserService{
user
.
setOrgid
(
domains
);
user
.
setOrgcode
(
domains
);
user
.
setOrgname
(
domains
);
setUserPermission
(
user
);
return
user
;
}
...
...
@@ -64,4 +72,26 @@ public class SimpleUserService implements AuthenticationUserService{
public
void
resetByUsername
(
String
username
)
{
}
@Value
(
"${ibiz.enablePermissionValid:false}"
)
boolean
enablePermissionValid
;
//是否开启权限校验
@Value
(
"${ibiz.systemid:2C40DFCD-0DF5-47BF-91A5-C45F810B0001}"
)
private
String
systemid
;
@Autowired
private
UAAFeignClient
client
;
/**
* 设置用户权限
*/
private
void
setUserPermission
(
AuthenticationUser
curUser
)
{
if
(
enablePermissionValid
){
String
userid
=
curUser
.
getUserid
();
//String userid="4fb71d8997d4505d2748ad2bdc471969";
//String systemid="2C40DFCD-0DF5-47BF-91A5-C45F810B0001";
JSONObject
permission
=
client
.
getPermission
(
userid
,
systemid
);
curUser
.
setPermisionList
(
permission
);
}
}
}
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录