Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
I
ibzou
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
ibiz4jteam
ibzou
提交
f2ad3726
提交
f2ad3726
编写于
9月 04, 2020
作者:
ibizdev
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
ibiz4j 发布系统代码
上级
bba74664
变更
20
隐藏空白字符变更
内嵌
并排
正在显示
20 个修改的文件
包含
27 行增加
和
326 行删除
+27
-326
app-register.ts
app_web/src/app-register.ts
+0
-5
auth-service.ts
app_web/src/authservice/auth-service.ts
+0
-6
app-data-upload.less
app_web/src/components/app-data-upload/app-data-upload.less
+0
-3
app-data-upload.vue
app_web/src/components/app-data-upload/app-data-upload.vue
+4
-41
app-header-menus.vue
app_web/src/components/app-header-menus/app-header-menus.vue
+1
-1
app-message-popover.vue
...rc/components/app-message-popover/app-message-popover.vue
+1
-1
app-quick-group.vue
app_web/src/components/app-quick-group/app-quick-group.vue
+1
-3
app-span.vue
app_web/src/components/app-span/app-span.vue
+1
-2
context-menu-drag.vue
...eb/src/components/context-menu-drag/context-menu-drag.vue
+2
-3
context-menu.tsx
app_web/src/components/context-menu/context-menu.tsx
+1
-12
counter-service.ts
app_web/src/counter/counter-service.ts
+1
-58
wfdyna-exp-grid-view-engine.ts
app_web/src/engine/view/wfdyna-exp-grid-view-engine.ts
+0
-1
appdata.ts
app_web/src/mock/appdata/appdata.ts
+0
-1
dept-tree-treeview-base.vue
...department/dept-tree-treeview/dept-tree-treeview-base.vue
+1
-84
dept-tree-treeview-service.ts
...partment/dept-tree-treeview/dept-tree-treeview-service.ts
+0
-2
org-tree-treeview-base.vue
...organization/org-tree-treeview/org-tree-treeview-base.vue
+1
-84
org-tree-treeview-service.ts
...ganization/org-tree-treeview/org-tree-treeview-service.ts
+0
-2
Dockerfile
ibzou-app/ibzou-app-web/src/main/docker/Dockerfile
+1
-1
ibzou-app-web.yaml
ibzou-app/ibzou-app-web/src/main/docker/ibzou-app-web.yaml
+1
-14
VersionCheckAspect.java
.../main/java/cn/ibizlab/util/aspect/VersionCheckAspect.java
+11
-2
未找到文件。
app_web/src/app-register.ts
浏览文件 @
f2ad3726
...
@@ -86,9 +86,6 @@ import AppLockScren from './components/app-lock-scren/app-lock-scren.vue'
...
@@ -86,9 +86,6 @@ import AppLockScren from './components/app-lock-scren/app-lock-scren.vue'
import
ActionTimeline
from
'./components/action-timeline/action-timeline.vue'
import
ActionTimeline
from
'./components/action-timeline/action-timeline.vue'
import
CronEditor
from
'./components/cron-editor/cron-editor.vue'
import
CronEditor
from
'./components/cron-editor/cron-editor.vue'
import
AppMessagePopover
from
'./components/app-message-popover/app-message-popover.vue'
import
AppMessagePopover
from
'./components/app-message-popover/app-message-popover.vue'
import
AppPanelField
from
'./components/app-panel-field/app-panel-field.vue'
import
AppPanelItem
from
'./components/app-panel-item/app-panel-item.vue'
// 全局挂载UI实体服务注册中心
// 全局挂载UI实体服务注册中心
window
[
'uiServiceRegister'
]
=
uiServiceRegister
;
window
[
'uiServiceRegister'
]
=
uiServiceRegister
;
...
@@ -114,8 +111,6 @@ export const AppComponents = {
...
@@ -114,8 +111,6 @@ export const AppComponents = {
v
.
prototype
.
$verify
=
Verify
;
v
.
prototype
.
$verify
=
Verify
;
v
.
prototype
.
$viewTool
=
ViewTool
;
v
.
prototype
.
$viewTool
=
ViewTool
;
v
.
prototype
.
$uiActionTool
=
UIActionTool
;
v
.
prototype
.
$uiActionTool
=
UIActionTool
;
v
.
component
(
'app-panel-item'
,
AppPanelItem
);
v
.
component
(
'app-panel-field'
,
AppPanelField
);
v
.
component
(
'app-full-scren'
,
AppFullScren
);
v
.
component
(
'app-full-scren'
,
AppFullScren
);
v
.
component
(
'app-lock-scren'
,
AppLockScren
);
v
.
component
(
'app-lock-scren'
,
AppLockScren
);
v
.
component
(
'input-box'
,
InputBox
);
v
.
component
(
'input-box'
,
InputBox
);
...
...
app_web/src/authservice/auth-service.ts
浏览文件 @
f2ad3726
...
@@ -112,9 +112,6 @@ export default class AuthService {
...
@@ -112,9 +112,6 @@ export default class AuthService {
* @memberof AuthService
* @memberof AuthService
*/
*/
public
getMenusPermission
(
item
:
any
):
boolean
{
public
getMenusPermission
(
item
:
any
):
boolean
{
if
(
!
this
.
$store
.
getters
[
'authresource/getEnablePermissionValid'
])
{
return
true
;
}
return
this
.
$store
.
getters
[
'authresource/getAuthMenu'
](
item
);
return
this
.
$store
.
getters
[
'authresource/getAuthMenu'
](
item
);
}
}
...
@@ -126,9 +123,6 @@ export default class AuthService {
...
@@ -126,9 +123,6 @@ export default class AuthService {
* @memberof AuthService
* @memberof AuthService
*/
*/
public
getResourcePermission
(
tag
:
any
):
boolean
{
public
getResourcePermission
(
tag
:
any
):
boolean
{
if
(
!
this
.
$store
.
getters
[
'authresource/getEnablePermissionValid'
])
{
return
true
;
}
return
this
.
$store
.
getters
[
'authresource/getResourceData'
](
tag
);
return
this
.
$store
.
getters
[
'authresource/getResourceData'
](
tag
);
}
}
...
...
app_web/src/components/app-data-upload/app-data-upload.less
浏览文件 @
f2ad3726
...
@@ -18,7 +18,4 @@
...
@@ -18,7 +18,4 @@
font-family: '微软雅黑','黑体','宋体';
font-family: '微软雅黑','黑体','宋体';
font-size: 16px;
font-size: 16px;
}
}
.progress {
margin-top: -15px;
}
}
}
\ No newline at end of file
app_web/src/components/app-data-upload/app-data-upload.vue
浏览文件 @
f2ad3726
<
template
>
<
template
>
<div
class=
"app-data-upload-view"
v-loading
.
fullscreen=
"isUploading"
element-loading-background=
"rgba(57, 57, 57, 0.2)"
>
<div
class=
"app-data-upload-view"
>
<el-row
style=
"margin-top:24px"
:gutter=
"20"
>
<el-row
style=
"margin-top:24px"
:gutter=
"20"
>
<el-col
:span=
"4"
>
<el-col
:span=
"4"
>
<el-button
type=
"primary"
@
click=
"handleUpLoad"
>
{{
$t
(
'components.appDataUploadView.selectfile'
)
}}
</el-button>
<el-button
type=
"primary"
@
click=
"handleUpLoad"
>
{{
$t
(
'components.appDataUploadView.selectfile'
)
}}
</el-button>
...
@@ -13,7 +13,6 @@
...
@@ -13,7 +13,6 @@
</el-col>
</el-col>
</el-row>
</el-row>
<el-divider></el-divider>
<el-divider></el-divider>
<el-progress
class=
"progress"
v-show=
"isUploading"
:text-inside=
"true"
:stroke-width=
"14"
:percentage=
"uploadProgress"
></el-progress>
<el-row
style=
"height:480px;padding: 0px 12px;"
>
<el-row
style=
"height:480px;padding: 0px 12px;"
>
<div
class=
"data-info-content"
>
<div
class=
"data-info-content"
>
<template
v-if=
"importDataArray.length >0 && isUploading === false"
>
<template
v-if=
"importDataArray.length >0 && isUploading === false"
>
...
@@ -51,7 +50,6 @@ import XLSX from 'xlsx';
...
@@ -51,7 +50,6 @@ import XLSX from 'xlsx';
import
CodeListService
from
"@service/app/codelist-service"
;
import
CodeListService
from
"@service/app/codelist-service"
;
import
EntityService
from
'@/service/entity-service'
;
import
EntityService
from
'@/service/entity-service'
;
import
{
Vue
,
Component
,
Prop
,
Provide
,
Emit
,
Watch
}
from
'vue-property-decorator'
;
import
{
Vue
,
Component
,
Prop
,
Provide
,
Emit
,
Watch
}
from
'vue-property-decorator'
;
import
{
Environment
}
from
'@/environments/environment'
;
@
Component
({
@
Component
({
})
})
...
@@ -193,22 +191,6 @@ export default class AppDataUploadView extends Vue {
...
@@ -193,22 +191,6 @@ export default class AppDataUploadView extends Vue {
* @memberof AppDataUploadView
* @memberof AppDataUploadView
*/
*/
public
allFieldMap
:
Map
<
string
,
any
>
=
new
Map
();
public
allFieldMap
:
Map
<
string
,
any
>
=
new
Map
();
/**
* 上传服务器数据切片数
*
* @type {number}
* @memberof AppDataUploadView
*/
public
sliceUploadCnt
:
number
=
Environment
.
sliceUploadCnt
;
/**
* 上传服务器进度条百分比
*
* @type {number}
* @memberof AppDataUploadView
*/
public
uploadProgress
:
number
=
0
;
/**
/**
* 视图参数变化
* 视图参数变化
...
@@ -300,29 +282,10 @@ export default class AppDataUploadView extends Vue {
...
@@ -300,29 +282,10 @@ export default class AppDataUploadView extends Vue {
this
.
transformData
(
this
.
importDataArray
,
tempDataArray
);
this
.
transformData
(
this
.
importDataArray
,
tempDataArray
);
this
.
hasImported
=
true
;
this
.
hasImported
=
true
;
this
.
isUploading
=
true
;
this
.
isUploading
=
true
;
this
.
uploadProgress
=
0
;
this
.
importDataArray
=
[];
this
.
importDataArray
=
[];
this
.
sliceUploadService
(
tempDataArray
,
0
);
}
/**
* 数据切片上传
*
* @memberof AppDataUploadView
*/
public
sliceUploadService
(
dataArray
:
Array
<
any
>
,
cnt
:
number
)
{
if
(
cnt
>
dataArray
.
length
)
{
this
.
isUploading
=
false
;
this
.
uploadProgress
=
100
;
return
;
}
let
sliceArray
:
Array
<
any
>
=
[];
if
(
dataArray
)
{
sliceArray
=
dataArray
.
slice
(
cnt
,
cnt
+
this
.
sliceUploadCnt
);
}
try
{
try
{
this
.
entityService
.
getService
(
this
.
viewparams
.
serviceName
).
then
((
service
:
any
)
=>
{
this
.
entityService
.
getService
(
this
.
viewparams
.
serviceName
).
then
((
service
:
any
)
=>
{
service
.
ImportData
(
this
.
viewdata
,{
name
:
this
.
importId
,
importData
:
slice
Array
}).
then
((
res
:
any
)
=>
{
service
.
ImportData
(
this
.
viewdata
,{
name
:
this
.
importId
,
importData
:
tempData
Array
}).
then
((
res
:
any
)
=>
{
const
result
:
any
=
res
.
data
;
const
result
:
any
=
res
.
data
;
if
(
result
&&
result
.
rst
!==
0
){
if
(
result
&&
result
.
rst
!==
0
){
this
.
promptInfo
=
(
this
.
$t
(
'components.appDataUploadView.importfailed'
)
as
string
);
this
.
promptInfo
=
(
this
.
$t
(
'components.appDataUploadView.importfailed'
)
as
string
);
...
@@ -331,8 +294,7 @@ export default class AppDataUploadView extends Vue {
...
@@ -331,8 +294,7 @@ export default class AppDataUploadView extends Vue {
}
}
this
.
importSuccessData
=
result
.
data
;
this
.
importSuccessData
=
result
.
data
;
this
.
promptInfo
=
(
this
.
$t
(
'components.appDataUploadView.completed'
)
as
string
);
this
.
promptInfo
=
(
this
.
$t
(
'components.appDataUploadView.completed'
)
as
string
);
this
.
uploadProgress
=
Number
((
cnt
/
dataArray
.
length
*
100
).
toFixed
(
2
));
this
.
isUploading
=
false
;
this
.
sliceUploadService
(
dataArray
,
cnt
+
this
.
sliceUploadCnt
);
}).
catch
((
error
:
any
)
=>
{
}).
catch
((
error
:
any
)
=>
{
this
.
isUploading
=
false
;
this
.
isUploading
=
false
;
this
.
promptInfo
=
(
this
.
$t
(
'components.appDataUploadView.importfailed'
)
as
string
);
this
.
promptInfo
=
(
this
.
$t
(
'components.appDataUploadView.importfailed'
)
as
string
);
...
@@ -349,6 +311,7 @@ export default class AppDataUploadView extends Vue {
...
@@ -349,6 +311,7 @@ export default class AppDataUploadView extends Vue {
console
.
error
(
error
);
console
.
error
(
error
);
};
};
}
}
/**
/**
* 导出excel
* 导出excel
*
*
...
...
app_web/src/components/app-header-menus/app-header-menus.vue
浏览文件 @
f2ad3726
...
@@ -41,7 +41,7 @@ export default class AppHeaderMenus extends Vue {
...
@@ -41,7 +41,7 @@ export default class AppHeaderMenus extends Vue {
{
{
name
:
"ibizstudio"
,
name
:
"ibizstudio"
,
title
:
"components.appHeaderMenus.ibizstudio.title"
,
title
:
"components.appHeaderMenus.ibizstudio.title"
,
url
:
`
${
Environment
.
StudioUrl
}
?#/common_
mosindex/srfkeys=
${
Environment
.
SysId
}
`
,
url
:
`
${
Environment
.
StudioUrl
}
?#/common_
slnindex/srfkeys=
${
Environment
.
SlnId
}
/sysdesign_psdevslnsysmodeltreeexpview
`
,
iconcls
:
'fa fa-wrench'
,
iconcls
:
'fa fa-wrench'
,
},
},
{
{
...
...
app_web/src/components/app-message-popover/app-message-popover.vue
浏览文件 @
f2ad3726
...
@@ -149,7 +149,7 @@
...
@@ -149,7 +149,7 @@
this
.
getMyMsgs
();
this
.
getMyMsgs
();
}
}
}).
catch
((
error
:
any
)
=>
{
}).
catch
((
error
:
any
)
=>
{
console
.
warn
(
"加载数据错误"
);
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
error
}
);
})
})
}
}
...
...
app_web/src/components/app-quick-group/app-quick-group.vue
浏览文件 @
f2ad3726
...
@@ -65,6 +65,7 @@ export default class AppQuickGroup extends Vue {
...
@@ -65,6 +65,7 @@ export default class AppQuickGroup extends Vue {
*/
*/
get
renderArray
(){
get
renderArray
(){
if
(
this
.
items
&&
this
.
items
.
length
>
0
){
if
(
this
.
items
&&
this
.
items
.
length
>
0
){
this
.
selectedUiItem
=
this
.
items
[
0
];
this
.
handleClick
(
this
.
items
[
0
]);
this
.
handleClick
(
this
.
items
[
0
]);
return
this
.
handleDataSet
(
this
.
items
)
return
this
.
handleDataSet
(
this
.
items
)
}
else
{
}
else
{
...
@@ -144,9 +145,6 @@ export default class AppQuickGroup extends Vue {
...
@@ -144,9 +145,6 @@ export default class AppQuickGroup extends Vue {
* @memberof AppQuickGroup
* @memberof AppQuickGroup
*/
*/
public
handleClick
(
$event
:
any
,
isswitch
:
boolean
=
true
){
public
handleClick
(
$event
:
any
,
isswitch
:
boolean
=
true
){
if
(
this
.
selectedUiItem
&&
(
this
.
selectedUiItem
.
id
===
$event
.
id
)){
return
;
}
this
.
$emit
(
'valuechange'
,
$event
);
this
.
$emit
(
'valuechange'
,
$event
);
if
(
isswitch
){
if
(
isswitch
){
this
.
selectedUiItem
=
$event
;
this
.
selectedUiItem
=
$event
;
...
...
app_web/src/components/app-span/app-span.vue
浏览文件 @
f2ad3726
...
@@ -214,8 +214,7 @@ export default class AppSpan extends Vue {
...
@@ -214,8 +214,7 @@ export default class AppSpan extends Vue {
this
.
text
=
Number
(
number
.
toFixed
(
this
.
precision
)).
toLocaleString
(
'en-US'
)
+
' '
+
this
.
unitName
;
this
.
text
=
Number
(
number
.
toFixed
(
this
.
precision
)).
toLocaleString
(
'en-US'
)
+
' '
+
this
.
unitName
;
}
else
if
(
Object
.
is
(
this
.
dataType
,
"FLOAT"
)
||
Object
.
is
(
this
.
dataType
,
"DECIMAL"
)){
}
else
if
(
Object
.
is
(
this
.
dataType
,
"FLOAT"
)
||
Object
.
is
(
this
.
dataType
,
"DECIMAL"
)){
let
number
:
any
=
Number
(
this
.
value
);
let
number
:
any
=
Number
(
this
.
value
);
const
decimalCnt
:
number
=
this
.
value
.
toString
().
split
(
'.'
).
length
>
1
?
this
.
value
.
toString
().
split
(
'.'
)[
1
].
length
:
0
;
this
.
text
=
number
.
toFixed
(
this
.
precision
);
this
.
text
=
(
Number
(
this
.
precision
)
===
0
&&
decimalCnt
!==
0
)
?
number
.
toFixed
(
decimalCnt
)
:
number
.
toFixed
(
this
.
precision
);
}
else
{
}
else
{
this
.
text
=
this
.
value
;
this
.
text
=
this
.
value
;
}
}
...
...
app_web/src/components/context-menu-drag/context-menu-drag.vue
浏览文件 @
f2ad3726
...
@@ -293,13 +293,12 @@ export default class ContextMenuDrag extends Vue {
...
@@ -293,13 +293,12 @@ export default class ContextMenuDrag extends Vue {
mounted
()
{
mounted
()
{
let
that
:
any
=
this
;
let
that
:
any
=
this
;
const
get
:
Promise
<
any
>
=
this
.
entityService
.
getAllApp
(
null
,{});
const
get
:
Promise
<
any
>
=
this
.
entityService
.
getAllApp
(
null
,{});
get
.
then
((
response
:
any
)
=>
{
get
.
then
((
response
:
any
)
=>
{
if
(
response
)
{
if
(
response
)
{
that
.
list
=
response
.
data
.
model
;
that
.
list
=
response
.
data
.
model
;
that
.
listFilter
();
that
.
listFilter
();
}
}
}).
catch
((
error
:
any
)
=>
{
console
.
warn
(
"加载数据错误"
)
});
});
}
}
}
}
...
...
app_web/src/components/context-menu/context-menu.tsx
浏览文件 @
f2ad3726
...
@@ -92,14 +92,6 @@ export default class ContextMenu extends Vue {
...
@@ -92,14 +92,6 @@ export default class ContextMenu extends Vue {
*/
*/
@
Prop
()
@
Prop
()
public
menus
?:
any
[]
public
menus
?:
any
[]
/**
* 是否阻止默认绘制上下文菜单
*
* @type {any}
* @memberof ContextMenu
*/
@
Prop
({
default
:
false
})
public
isBlocked
?:
any
;
/**
/**
* 显示右键菜单
* 显示右键菜单
...
@@ -203,10 +195,7 @@ export default class ContextMenu extends Vue {
...
@@ -203,10 +195,7 @@ export default class ContextMenu extends Vue {
if
(
contextRef
)
{
if
(
contextRef
)
{
contextRef
.
oncontextmenu
=
(
event
:
MouseEvent
)
=>
{
contextRef
.
oncontextmenu
=
(
event
:
MouseEvent
)
=>
{
event
.
preventDefault
();
event
.
preventDefault
();
if
(
!
this
.
isBlocked
){
this
.
showContextMenu
(
event
.
clientX
,
event
.
clientY
);
this
.
showContextMenu
(
event
.
clientX
,
event
.
clientY
);
}
this
.
$emit
(
"showContext"
,
event
);
};
};
}
}
}
}
...
...
app_web/src/counter/counter-service.ts
浏览文件 @
f2ad3726
import
{
Store
}
from
'vuex'
;
import
{
Store
}
from
'vuex'
;
import
EntityService
from
'@/service/entity-service'
;
/**
/**
* 计数器服务基类
* 计数器服务基类
...
@@ -18,51 +16,6 @@ export default class CounterService {
...
@@ -18,51 +16,6 @@ export default class CounterService {
* @memberof CounterService
* @memberof CounterService
*/
*/
private
$store
:
Store
<
any
>
|
null
=
null
;
private
$store
:
Store
<
any
>
|
null
=
null
;
/**
* 当前计数器数据
*
* @protected
* @type {*}
* @memberof CounterService
*/
protected
counterData
:
any
=
{};
/**
* 应用实体数据服务
*
* @protected
* @type {EntityService}
* @memberof CounterService
*/
protected
appEntityService
:
EntityService
=
new
EntityService
();
/**
* 当前计数器导航上下文
*
* @protected
* @type {*}
* @memberof CounterService
*/
protected
context
:
any
=
{};
/**
* 当前计数器导航参数
*
* @protected
* @type {*}
* @memberof CounterService
*/
protected
viewparams
:
any
=
{};
/**
* 当前计数器定时器对象
*
* @protected
* @type {*}
* @memberof CounterService
*/
protected
timer
:
any
;
/**
/**
* Creates an instance of CounterService.
* Creates an instance of CounterService.
...
@@ -72,8 +25,6 @@ export default class CounterService {
...
@@ -72,8 +25,6 @@ export default class CounterService {
*/
*/
constructor
(
opts
:
any
=
{})
{
constructor
(
opts
:
any
=
{})
{
this
.
$store
=
opts
.
$store
;
this
.
$store
=
opts
.
$store
;
this
.
context
=
opts
.
context
?
opts
.
context
:{};
this
.
viewparams
=
opts
.
viewparams
?
opts
.
viewparams
:{};
}
}
/**
/**
...
@@ -98,13 +49,5 @@ export default class CounterService {
...
@@ -98,13 +49,5 @@ export default class CounterService {
return
(
window
as
any
)[
'counterServiceRegister'
].
getService
(
name
);
return
(
window
as
any
)[
'counterServiceRegister'
].
getService
(
name
);
}
}
/**
* 销毁计数器
*
* @memberof ActionCounterCounterServiceBase
*/
public
destroyCounter
(){
if
(
this
.
timer
)
clearInterval
(
this
.
timer
);
}
}
}
\ No newline at end of file
app_web/src/engine/view/wfdyna-exp-grid-view-engine.ts
浏览文件 @
f2ad3726
...
@@ -49,7 +49,6 @@ export default class WFDynaExpGridViewEngine extends GridViewEngine {
...
@@ -49,7 +49,6 @@ export default class WFDynaExpGridViewEngine extends GridViewEngine {
public
onCtrlEvent
(
ctrlName
:
string
,
eventName
:
string
,
args
:
any
):
void
{
public
onCtrlEvent
(
ctrlName
:
string
,
eventName
:
string
,
args
:
any
):
void
{
if
(
Object
.
is
(
ctrlName
,
'grid'
))
{
if
(
Object
.
is
(
ctrlName
,
'grid'
))
{
this
.
GridEvent
(
eventName
,
args
);
this
.
GridEvent
(
eventName
,
args
);
return
;
}
}
super
.
onCtrlEvent
(
ctrlName
,
eventName
,
args
);
super
.
onCtrlEvent
(
ctrlName
,
eventName
,
args
);
}
}
...
...
app_web/src/mock/appdata/appdata.ts
浏览文件 @
f2ad3726
...
@@ -33,7 +33,6 @@ mock.onGet('/appdata').reply((config: any) => {
...
@@ -33,7 +33,6 @@ mock.onGet('/appdata').reply((config: any) => {
// 当前用户条线代码
// 当前用户条线代码
srfsectorbc
:
""
srfsectorbc
:
""
},
},
enablepermissionvalid
:
false
,
unires
:[
"RESOURCE1"
,
"RESOURCE2"
],
unires
:[
"RESOURCE1"
,
"RESOURCE2"
],
//当前用户所有组织部门标识
//当前用户所有组织部门标识
srforgsections
:[{
"srforgsectorid"
:
"5bd1ecf4d3c31e31cb66373df56b852f"
,
"srforgsectorname"
:
"项目一部"
},{
"srforgsectorid"
:
"2ad1ecf4d3c31e31cb66373df56b852f"
,
"srforgsectorname"
:
"项目二部"
}]
srforgsections
:[{
"srforgsectorid"
:
"5bd1ecf4d3c31e31cb66373df56b852f"
,
"srforgsectorname"
:
"项目一部"
},{
"srforgsectorid"
:
"2ad1ecf4d3c31e31cb66373df56b852f"
,
"srforgsectorname"
:
"项目二部"
}]
...
...
app_web/src/widgets/ibzdepartment/dept-tree-treeview/dept-tree-treeview-base.vue
浏览文件 @
f2ad3726
...
@@ -23,7 +23,7 @@
...
@@ -23,7 +23,7 @@
:filter-node-method="filterNode"
:filter-node-method="filterNode"
>
>
<template
slot-scope=
"
{ node, data }">
<template
slot-scope=
"
{ node, data }">
<context-menu
:
ref=
'data.id'
:isBlocked=
"true"
:contextMenuStyle=
"
{width: '100%'}" :data="node" :renderContent="renderContextMenu" @showContext="showContext(data,$event)
">
<context-menu
:
contextMenuStyle=
"
{width: '100%'}" :data="node" :renderContent="renderContextMenu
">
<tooltip
transfer
style=
"width: 100%;"
max-width=
"2000"
placement=
"right"
>
<tooltip
transfer
style=
"width: 100%;"
max-width=
"2000"
placement=
"right"
>
<div
class=
"tree-node"
@
dblclick=
"doDefaultAction(node)"
>
<div
class=
"tree-node"
@
dblclick=
"doDefaultAction(node)"
>
<span
class=
"icon"
>
<span
class=
"icon"
>
...
@@ -58,8 +58,6 @@ import AppCenterService from "@service/app/app-center-service";
...
@@ -58,8 +58,6 @@ import AppCenterService from "@service/app/app-center-service";
import
IBZDepartmentService
from
'@/service/ibzdepartment/ibzdepartment-service'
;
import
IBZDepartmentService
from
'@/service/ibzdepartment/ibzdepartment-service'
;
import
DeptTreeService
from
'./dept-tree-treeview-service'
;
import
DeptTreeService
from
'./dept-tree-treeview-service'
;
import
IBZDepartmentUIService
from
'@/uiservice/ibzdepartment/ibzdepartment-ui-service'
;
import
IBZDepartmentUIService
from
'@/uiservice/ibzdepartment/ibzdepartment-ui-service'
;
import
{
Environment
}
from
'@/environments/environment'
;
import
UIService
from
'@/uiservice/ui-service'
;
@
Component
({
@
Component
({
...
@@ -379,24 +377,6 @@ export default class DeptTreeBase extends Vue implements ControlInterface {
...
@@ -379,24 +377,6 @@ export default class DeptTreeBase extends Vue implements ControlInterface {
*/
*/
public
appStateEvent
:
Subscription
|
undefined
;
public
appStateEvent
:
Subscription
|
undefined
;
/**
* 树节点上下文菜单集合
*
* @type {string[]}
* @memberof DeptTreeBase
*/
public
actionModel
:
any
=
{
}
/**
* 备份树节点上下文菜单
*
* @type any
* @memberof MainTreeBase
*/
public
copyActionModel
:
any
;
/**
/**
* 选中数据变更事件
* 选中数据变更事件
*
*
...
@@ -767,77 +747,14 @@ export default class DeptTreeBase extends Vue implements ControlInterface {
...
@@ -767,77 +747,14 @@ export default class DeptTreeBase extends Vue implements ControlInterface {
*/
*/
public
renderContextMenu
(
node
:
any
)
{
public
renderContextMenu
(
node
:
any
)
{
let
content
;
let
content
;
if
(
node
&&
node
.
data
)
{
if
(
node
&&
node
.
data
)
{
const
data
:
any
=
JSON
.
parse
(
JSON
.
stringify
(
node
.
data
));
const
data
:
any
=
JSON
.
parse
(
JSON
.
stringify
(
node
.
data
));
this
.
currentselectedNode
=
{
...
data
};
this
.
currentselectedNode
=
{
...
data
};
const
tags
:
string
[]
=
data
.
id
.
split
(
';'
);
const
tags
:
string
[]
=
data
.
id
.
split
(
';'
);
let
copyActionModel
:
any
=
Util
.
deepCopy
(
this
.
actionModel
);
}
}
return
content
;
return
content
;
}
}
/**
* 显示上下文菜单
*
* @param data 节点数据
* @param event 事件源
* @memberof DeptTreeBase
*/
public
showContext
(
data
:
any
,
event
:
any
){
let
_this
:
any
=
this
;
this
.
copyActionModel
=
{};
const
tags
:
string
[]
=
data
.
id
.
split
(
';'
);
Object
.
values
(
this
.
actionModel
).
forEach
((
item
:
any
)
=>
{
if
(
Object
.
is
(
item
.
nodeOwner
,
tags
[
0
])){
this
.
copyActionModel
[
item
.
name
]
=
item
;
}
})
if
(
Object
.
keys
(
this
.
copyActionModel
).
length
===
0
){
return
;
}
this
.
computeNodeState
(
data
,
data
.
nodeType
,
data
.
appEntityName
).
then
((
result
:
any
)
=>
{
let
flag
:
boolean
=
false
;
if
(
Object
.
values
(
result
).
length
>
0
){
flag
=
Object
.
values
(
result
).
some
((
item
:
any
)
=>
{
return
item
.
visabled
===
true
;
})
}
if
(
flag
){
(
_this
.
$refs
[
data
.
id
]
as
any
).
showContextMenu
(
event
.
clientX
,
event
.
clientY
);
}
});
}
/**
* 计算节点右键权限
*
* @param {*} node 节点数据
* @param {*} nodeType 节点类型
* @param {*} appEntityName 应用实体名称
* @returns
* @memberof DeptTreeBase
*/
public
async
computeNodeState
(
node
:
any
,
nodeType
:
string
,
appEntityName
:
string
)
{
if
(
Object
.
is
(
nodeType
,
"STATIC"
)){
return
this
.
copyActionModel
;
}
let
service
:
any
=
await
this
.
appEntityService
.
getService
(
appEntityName
);
if
(
this
.
copyActionModel
&&
Object
.
keys
(
this
.
copyActionModel
).
length
>
0
)
{
if
(
service
[
'Get'
]
&&
service
[
'Get'
]
instanceof
Function
){
let
tempContext
:
any
=
Util
.
deepCopy
(
this
.
context
);
tempContext
[
appEntityName
]
=
node
.
srfkey
;
let
targetData
=
await
service
.
Get
(
tempContext
,{},
false
);
let
uiservice
:
any
=
await
new
UIService
().
getService
(
appEntityName
);
let
result
:
any
[]
=
ViewTool
.
calcActionItemAuthState
(
targetData
.
data
,
this
.
copyActionModel
,
uiservice
);
return
this
.
copyActionModel
;
}
else
{
console
.
warn
(
"获取数据异常"
);
return
this
.
copyActionModel
;
}
}
}
/**
/**
* 设置选中高亮
* 设置选中高亮
*
*
...
...
app_web/src/widgets/ibzdepartment/dept-tree-treeview/dept-tree-treeview-service.ts
浏览文件 @
f2ad3726
...
@@ -212,7 +212,6 @@ export default class DeptTreeService extends ControlService {
...
@@ -212,7 +212,6 @@ export default class DeptTreeService extends ControlService {
Object
.
assign
(
treeNode
,
{
curData
:
entity
});
Object
.
assign
(
treeNode
,
{
curData
:
entity
});
Object
.
assign
(
treeNode
,
{
nodeid
:
treeNode
.
srfkey
});
Object
.
assign
(
treeNode
,
{
nodeid
:
treeNode
.
srfkey
});
Object
.
assign
(
treeNode
,
{
nodeid2
:
filter
.
strRealNodeId
});
Object
.
assign
(
treeNode
,
{
nodeid2
:
filter
.
strRealNodeId
});
Object
.
assign
(
treeNode
,
{
nodeType
:
"DE"
,
appEntityName
:
"ibzdepartment"
});
list
.
push
(
treeNode
);
list
.
push
(
treeNode
);
resolve
(
list
);
resolve
(
list
);
bFirst
=
false
;
bFirst
=
false
;
...
@@ -334,7 +333,6 @@ export default class DeptTreeService extends ControlService {
...
@@ -334,7 +333,6 @@ export default class DeptTreeService extends ControlService {
Object
.
assign
(
treeNode
,
{
leaf
:
false
});
Object
.
assign
(
treeNode
,
{
leaf
:
false
});
Object
.
assign
(
treeNode
,
{
nodeid
:
treeNode
.
srfkey
});
Object
.
assign
(
treeNode
,
{
nodeid
:
treeNode
.
srfkey
});
Object
.
assign
(
treeNode
,
{
nodeid2
:
filter
.
strRealNodeId
});
Object
.
assign
(
treeNode
,
{
nodeid2
:
filter
.
strRealNodeId
});
Object
.
assign
(
treeNode
,
{
nodeType
:
"STATIC"
});
list
.
push
(
treeNode
);
list
.
push
(
treeNode
);
resolve
(
list
);
resolve
(
list
);
});
});
...
...
app_web/src/widgets/ibzorganization/org-tree-treeview/org-tree-treeview-base.vue
浏览文件 @
f2ad3726
...
@@ -23,7 +23,7 @@
...
@@ -23,7 +23,7 @@
:filter-node-method="filterNode"
:filter-node-method="filterNode"
>
>
<template
slot-scope=
"
{ node, data }">
<template
slot-scope=
"
{ node, data }">
<context-menu
:
ref=
'data.id'
:isBlocked=
"true"
:contextMenuStyle=
"
{width: '100%'}" :data="node" :renderContent="renderContextMenu" @showContext="showContext(data,$event)
">
<context-menu
:
contextMenuStyle=
"
{width: '100%'}" :data="node" :renderContent="renderContextMenu
">
<tooltip
transfer
style=
"width: 100%;"
max-width=
"2000"
placement=
"right"
>
<tooltip
transfer
style=
"width: 100%;"
max-width=
"2000"
placement=
"right"
>
<div
class=
"tree-node"
@
dblclick=
"doDefaultAction(node)"
>
<div
class=
"tree-node"
@
dblclick=
"doDefaultAction(node)"
>
<span
class=
"icon"
>
<span
class=
"icon"
>
...
@@ -58,8 +58,6 @@ import AppCenterService from "@service/app/app-center-service";
...
@@ -58,8 +58,6 @@ import AppCenterService from "@service/app/app-center-service";
import
IBZOrganizationService
from
'@/service/ibzorganization/ibzorganization-service'
;
import
IBZOrganizationService
from
'@/service/ibzorganization/ibzorganization-service'
;
import
OrgTreeService
from
'./org-tree-treeview-service'
;
import
OrgTreeService
from
'./org-tree-treeview-service'
;
import
IBZOrganizationUIService
from
'@/uiservice/ibzorganization/ibzorganization-ui-service'
;
import
IBZOrganizationUIService
from
'@/uiservice/ibzorganization/ibzorganization-ui-service'
;
import
{
Environment
}
from
'@/environments/environment'
;
import
UIService
from
'@/uiservice/ui-service'
;
@
Component
({
@
Component
({
...
@@ -379,24 +377,6 @@ export default class OrgTreeBase extends Vue implements ControlInterface {
...
@@ -379,24 +377,6 @@ export default class OrgTreeBase extends Vue implements ControlInterface {
*/
*/
public
appStateEvent
:
Subscription
|
undefined
;
public
appStateEvent
:
Subscription
|
undefined
;
/**
* 树节点上下文菜单集合
*
* @type {string[]}
* @memberof OrgTreeBase
*/
public
actionModel
:
any
=
{
}
/**
* 备份树节点上下文菜单
*
* @type any
* @memberof MainTreeBase
*/
public
copyActionModel
:
any
;
/**
/**
* 选中数据变更事件
* 选中数据变更事件
*
*
...
@@ -767,77 +747,14 @@ export default class OrgTreeBase extends Vue implements ControlInterface {
...
@@ -767,77 +747,14 @@ export default class OrgTreeBase extends Vue implements ControlInterface {
*/
*/
public
renderContextMenu
(
node
:
any
)
{
public
renderContextMenu
(
node
:
any
)
{
let
content
;
let
content
;
if
(
node
&&
node
.
data
)
{
if
(
node
&&
node
.
data
)
{
const
data
:
any
=
JSON
.
parse
(
JSON
.
stringify
(
node
.
data
));
const
data
:
any
=
JSON
.
parse
(
JSON
.
stringify
(
node
.
data
));
this
.
currentselectedNode
=
{
...
data
};
this
.
currentselectedNode
=
{
...
data
};
const
tags
:
string
[]
=
data
.
id
.
split
(
';'
);
const
tags
:
string
[]
=
data
.
id
.
split
(
';'
);
let
copyActionModel
:
any
=
Util
.
deepCopy
(
this
.
actionModel
);
}
}
return
content
;
return
content
;
}
}
/**
* 显示上下文菜单
*
* @param data 节点数据
* @param event 事件源
* @memberof OrgTreeBase
*/
public
showContext
(
data
:
any
,
event
:
any
){
let
_this
:
any
=
this
;
this
.
copyActionModel
=
{};
const
tags
:
string
[]
=
data
.
id
.
split
(
';'
);
Object
.
values
(
this
.
actionModel
).
forEach
((
item
:
any
)
=>
{
if
(
Object
.
is
(
item
.
nodeOwner
,
tags
[
0
])){
this
.
copyActionModel
[
item
.
name
]
=
item
;
}
})
if
(
Object
.
keys
(
this
.
copyActionModel
).
length
===
0
){
return
;
}
this
.
computeNodeState
(
data
,
data
.
nodeType
,
data
.
appEntityName
).
then
((
result
:
any
)
=>
{
let
flag
:
boolean
=
false
;
if
(
Object
.
values
(
result
).
length
>
0
){
flag
=
Object
.
values
(
result
).
some
((
item
:
any
)
=>
{
return
item
.
visabled
===
true
;
})
}
if
(
flag
){
(
_this
.
$refs
[
data
.
id
]
as
any
).
showContextMenu
(
event
.
clientX
,
event
.
clientY
);
}
});
}
/**
* 计算节点右键权限
*
* @param {*} node 节点数据
* @param {*} nodeType 节点类型
* @param {*} appEntityName 应用实体名称
* @returns
* @memberof OrgTreeBase
*/
public
async
computeNodeState
(
node
:
any
,
nodeType
:
string
,
appEntityName
:
string
)
{
if
(
Object
.
is
(
nodeType
,
"STATIC"
)){
return
this
.
copyActionModel
;
}
let
service
:
any
=
await
this
.
appEntityService
.
getService
(
appEntityName
);
if
(
this
.
copyActionModel
&&
Object
.
keys
(
this
.
copyActionModel
).
length
>
0
)
{
if
(
service
[
'Get'
]
&&
service
[
'Get'
]
instanceof
Function
){
let
tempContext
:
any
=
Util
.
deepCopy
(
this
.
context
);
tempContext
[
appEntityName
]
=
node
.
srfkey
;
let
targetData
=
await
service
.
Get
(
tempContext
,{},
false
);
let
uiservice
:
any
=
await
new
UIService
().
getService
(
appEntityName
);
let
result
:
any
[]
=
ViewTool
.
calcActionItemAuthState
(
targetData
.
data
,
this
.
copyActionModel
,
uiservice
);
return
this
.
copyActionModel
;
}
else
{
console
.
warn
(
"获取数据异常"
);
return
this
.
copyActionModel
;
}
}
}
/**
/**
* 设置选中高亮
* 设置选中高亮
*
*
...
...
app_web/src/widgets/ibzorganization/org-tree-treeview/org-tree-treeview-service.ts
浏览文件 @
f2ad3726
...
@@ -200,7 +200,6 @@ export default class OrgTreeService extends ControlService {
...
@@ -200,7 +200,6 @@ export default class OrgTreeService extends ControlService {
Object
.
assign
(
treeNode
,
{
leaf
:
false
});
Object
.
assign
(
treeNode
,
{
leaf
:
false
});
Object
.
assign
(
treeNode
,
{
nodeid
:
treeNode
.
srfkey
});
Object
.
assign
(
treeNode
,
{
nodeid
:
treeNode
.
srfkey
});
Object
.
assign
(
treeNode
,
{
nodeid2
:
filter
.
strRealNodeId
});
Object
.
assign
(
treeNode
,
{
nodeid2
:
filter
.
strRealNodeId
});
Object
.
assign
(
treeNode
,
{
nodeType
:
"STATIC"
});
list
.
push
(
treeNode
);
list
.
push
(
treeNode
);
resolve
(
list
);
resolve
(
list
);
});
});
...
@@ -280,7 +279,6 @@ export default class OrgTreeService extends ControlService {
...
@@ -280,7 +279,6 @@ export default class OrgTreeService extends ControlService {
Object
.
assign
(
treeNode
,
{
curData
:
entity
});
Object
.
assign
(
treeNode
,
{
curData
:
entity
});
Object
.
assign
(
treeNode
,
{
nodeid
:
treeNode
.
srfkey
});
Object
.
assign
(
treeNode
,
{
nodeid
:
treeNode
.
srfkey
});
Object
.
assign
(
treeNode
,
{
nodeid2
:
filter
.
strRealNodeId
});
Object
.
assign
(
treeNode
,
{
nodeid2
:
filter
.
strRealNodeId
});
Object
.
assign
(
treeNode
,
{
nodeType
:
"DE"
,
appEntityName
:
"ibzorganization"
});
list
.
push
(
treeNode
);
list
.
push
(
treeNode
);
resolve
(
list
);
resolve
(
list
);
bFirst
=
false
;
bFirst
=
false
;
...
...
ibzou-app/ibzou-app-web/src/main/docker/Dockerfile
浏览文件 @
f2ad3726
...
@@ -12,6 +12,6 @@ CMD echo "The application will start in ${IBIZ_SLEEP}s..." && \
...
@@ -12,6 +12,6 @@ CMD echo "The application will start in ${IBIZ_SLEEP}s..." && \
sleep ${IBIZ_SLEEP} && \
sleep ${IBIZ_SLEEP} && \
java ${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom -jar /ibzou-app-web.jar
java ${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom -jar /ibzou-app-web.jar
EXPOSE
30001
EXPOSE
8080
ADD
ibzou-app-web.jar /ibzou-app-web.jar
ADD
ibzou-app-web.jar /ibzou-app-web.jar
ibzou-app/ibzou-app-web/src/main/docker/ibzou-app-web.yaml
浏览文件 @
f2ad3726
...
@@ -3,22 +3,9 @@ services:
...
@@ -3,22 +3,9 @@ services:
ibzou-app-web
:
ibzou-app-web
:
image
:
registry.cn-shanghai.aliyuncs.com/ibizsys/ibzou-app-web:latest
image
:
registry.cn-shanghai.aliyuncs.com/ibizsys/ibzou-app-web:latest
ports
:
ports
:
-
"
30001:30001
"
-
"
8080:8080
"
networks
:
networks
:
-
agent_network
-
agent_network
environment
:
-
SPRING_CLOUD_NACOS_DISCOVERY_IP=172.16.180.237
-
SERVER_PORT=30001
-
SPRING_CLOUD_NACOS_DISCOVERY_SERVER-ADDR=172.16.102.211:8848
-
SPRING_REDIS_HOST=172.16.100.243
-
SPRING_REDIS_PORT=6379
-
SPRING_REDIS_DATABASE=0
-
SPRING_DATASOURCE_USERNAME=a_A_5d9d78509
-
SPRING_DATASOURCE_PASSWORD=@6dEfb3@
-
SPRING_DATASOURCE_URL=jdbc:mysql://172.16.180.232:3306/a_A_5d9d78509?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&useOldAliasMetadataBehavior=true&allowMultiQueries=true
-
SPRING_DATASOURCE_DRIVER-CLASS-NAME=com.mysql.jdbc.Driver
-
SPRING_DATASOURCE_DEFAULTSCHEMA=a_A_5d9d78509
-
NACOS=172.16.102.211:8848
deploy
:
deploy
:
resources
:
resources
:
limits
:
limits
:
...
...
ibzou-util/src/main/java/cn/ibizlab/util/aspect/VersionCheckAspect.java
浏览文件 @
f2ad3726
...
@@ -18,6 +18,9 @@ import org.springframework.stereotype.Component;
...
@@ -18,6 +18,9 @@ import org.springframework.stereotype.Component;
import
org.springframework.util.ObjectUtils
;
import
org.springframework.util.ObjectUtils
;
import
org.springframework.util.StringUtils
;
import
org.springframework.util.StringUtils
;
import
java.lang.reflect.Field
;
import
java.lang.reflect.Field
;
import
java.sql.Timestamp
;
import
java.text.SimpleDateFormat
;
import
java.util.Date
;
import
java.util.Map
;
import
java.util.Map
;
/**
/**
...
@@ -109,7 +112,8 @@ public class VersionCheckAspect
...
@@ -109,7 +112,8 @@ public class VersionCheckAspect
*/
*/
@SneakyThrows
@SneakyThrows
private
Object
getDBVersion
(
VersionCheck
versionCheck
,
Object
service
,
Object
id
){
private
Object
getDBVersion
(
VersionCheck
versionCheck
,
Object
service
,
Object
id
){
Object
dbVersion
=
null
;
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
Timestamp
dbVersion
=
null
;
String
versionField
=
versionCheck
.
versionfield
();
String
versionField
=
versionCheck
.
versionfield
();
if
(!
ObjectUtils
.
isEmpty
(
service
)){
if
(!
ObjectUtils
.
isEmpty
(
service
)){
EvaluationContext
oldContext
=
new
StandardEvaluationContext
();
EvaluationContext
oldContext
=
new
StandardEvaluationContext
();
...
@@ -117,7 +121,12 @@ public class VersionCheckAspect
...
@@ -117,7 +121,12 @@ public class VersionCheckAspect
oldContext
.
setVariable
(
"id"
,
id
);
oldContext
.
setVariable
(
"id"
,
id
);
Expression
oldExp
=
parser
.
parseExpression
(
"#service.get(#id)"
);
Expression
oldExp
=
parser
.
parseExpression
(
"#service.get(#id)"
);
EntityBase
oldEntity
=
oldExp
.
getValue
(
oldContext
,
EntityBase
.
class
);
EntityBase
oldEntity
=
oldExp
.
getValue
(
oldContext
,
EntityBase
.
class
);
return
oldEntity
.
get
(
versionField
);
Object
oldDate
=
oldEntity
.
get
(
versionField
);
if
(
oldDate
!=
null
&&
oldDate
instanceof
Timestamp
){
Timestamp
db_time
=
(
Timestamp
)
oldDate
;
Date
db_date
=
sdf
.
parse
(
sdf
.
format
(
db_time
));
dbVersion
=
new
Timestamp
(
db_date
.
getTime
());
}
}
}
return
dbVersion
;
return
dbVersion
;
}
}
...
...
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录