Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
I
ibzuaa
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
ibiz4jteam
ibzuaa
提交
6b40c2d2
提交
6b40c2d2
编写于
5年前
作者:
ibizdev
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
ibiz4j 部署微服务应用
上级
d0432f8f
变更
26
隐藏空白字符变更
内嵌
并排
正在显示
26 个修改的文件
包含
905 行增加
和
292 行删除
+905
-292
package.json
app_web/package.json
+4
-2
app-department-select.vue
...omponents/app-department-select/app-department-select.vue
+2
-2
app-org-select.vue
app_web/src/components/app-org-select/app-org-select.vue
+9
-9
ibiz-group-picker.vue
...eb/src/components/ibiz-group-picker/ibiz-group-picker.vue
+26
-7
ibiz-group-select.vue
...eb/src/components/ibiz-group-select/ibiz-group-select.vue
+14
-3
tab-page-exp.vue
app_web/src/components/tab-page-exp/tab-page-exp.vue
+3
-3
edit-view-engine.ts
app_web/src/engine/view/edit-view-engine.ts
+3
-3
main-appmenu.ts
app_web/src/mock/app/main-appmenu/main-appmenu.ts
+1
-1
entity-service.ts
app_web/src/service/entity-service.ts
+15
-0
util.d.ts
app_web/src/utils/types/util.d.ts
+11
-0
uiaction-tool.ts
app_web/src/utils/uiaction-tool/uiaction-tool.ts
+1
-1
util.ts
app_web/src/utils/util/util.ts
+20
-0
main-appmenu-base.vue
app_web/src/widgets/app/main-appmenu/main-appmenu-base.vue
+3
-3
main-appmenu-model.ts
app_web/src/widgets/app/main-appmenu/main-appmenu-model.ts
+2
-2
main-grid-base.vue
...web/src/widgets/sys-auth-log/main-grid/main-grid-base.vue
+128
-42
main-grid-base.vue
...b/src/widgets/sys-permission/main-grid/main-grid-base.vue
+122
-36
main-grid-base.vue
.../widgets/sys-role-permission/main-grid/main-grid-base.vue
+123
-37
main-grid-base.vue
app_web/src/widgets/sys-role/main-grid/main-grid-base.vue
+124
-38
main-grid-base.vue
...eb/src/widgets/sys-user-role/main-grid/main-grid-base.vue
+123
-37
main-grid-base.vue
app_web/src/widgets/sys-user/main-grid/main-grid-base.vue
+123
-37
yarn.lock
app_web/yarn.lock
+25
-8
config.xml
config.xml
+5
-5
Dockerfile
ibzuaa-app/ibzuaa-app-web/src/main/docker/Dockerfile
+1
-1
ibzuaa-app-web.yaml
...aa-app/ibzuaa-app-web/src/main/docker/ibzuaa-app-web.yaml
+15
-1
Dockerfile
...a-provider/ibzuaa-provider-api/src/main/docker/Dockerfile
+1
-1
ibzuaa-provider-api.yaml
...uaa-provider-api/src/main/docker/ibzuaa-provider-api.yaml
+1
-13
未找到文件。
app_web/package.json
浏览文件 @
6b40c2d2
...
...
@@ -18,14 +18,16 @@
"@fullcalendar/list"
:
"^4.4.0"
,
"@fullcalendar/timegrid"
:
"^4.4.0"
,
"@fullcalendar/vue"
:
"^4.4.0"
,
"vuedraggable"
:
"^2.23.2"
,
"async-validator"
:
"^3.3.0"
,
"axios"
:
"^0.19.1"
,
"core-js"
:
"^3.4.4"
,
"echarts"
:
"^4.6.0"
,
"element-ui"
:
"^2.13.0"
,
"file-saver"
:
"^2.0.2"
,
"font-awesome"
:
"^4.7.0"
,
"ibiz-gantt-elastic"
:
"^1.0.1
3
"
,
"ibiz-vue-lib"
:
"^0.1.
7
"
,
"ibiz-gantt-elastic"
:
"^1.0.1
5
"
,
"ibiz-vue-lib"
:
"^0.1.
9
"
,
"interactjs"
:
"^1.9.4"
,
"moment"
:
"^2.24.0"
,
"path-to-regexp"
:
"^6.1.0"
,
...
...
This diff is collapsed.
Click to expand it.
app_web/src/components/app-department-select/app-department-select.vue
浏览文件 @
6b40c2d2
...
...
@@ -17,7 +17,7 @@ export default class AppDepartmentSelect extends Vue {
* @type {*}
* @memberof AppDepartmentSelect
*/
@
Prop
(
{
default
:
'/ibzorganizations/{orgid}/ibzdepartments/picker'
}
)
public
url
?:
any
;
@
Prop
()
public
url
?:
any
;
/**
* 过滤项
...
...
@@ -108,7 +108,7 @@ export default class AppDepartmentSelect extends Vue {
public
searchNodesData
(){
// 处理过滤参数,生成url
let
param
=
this
.
handleFilter
();
let
_url
=
this
.
url
.
replace
(
/{orgid}/
,
param
)
let
_url
=
this
.
url
.
replace
(
'${orgid}'
,
param
)
if
(
this
.
oldurl
===
_url
){
return
;
}
...
...
This diff is collapsed.
Click to expand it.
app_web/src/components/app-org-select/app-org-select.vue
浏览文件 @
6b40c2d2
...
...
@@ -44,6 +44,13 @@ export default class AppOrgSelect extends Vue {
*/
@
Prop
({
default
:
false
})
public
multiple
?:
boolean
;
/**
* 查询单位路径
*
* @memberof AppOrgSelect
*/
@
Prop
()
public
url
!
:
string
;
/**
* 监听表单数据变化
*
...
...
@@ -57,20 +64,13 @@ export default class AppOrgSelect extends Vue {
let
tempFilterValue
:
any
=
this
.
initBasicData
();
// filter值变化才去请求数据
if
(
tempFilterValue
&&
(
this
.
copyFilterValue
!==
tempFilterValue
)){
this
.
loadTreeData
(
this
.
orgDataU
rl
.
replace
(
'${orgid}'
,
tempFilterValue
));
this
.
loadTreeData
(
this
.
u
rl
.
replace
(
'${orgid}'
,
tempFilterValue
));
this
.
copyFilterValue
=
tempFilterValue
;
}
}
}
}
/**
* 查询单位路径
*
* @memberof AppOrgSelect
*/
public
orgDataUrl
:
string
=
"/ibzorganizations/${orgid}/suborg/picker"
;
/**
* 选择值
*
...
...
@@ -99,7 +99,7 @@ export default class AppOrgSelect extends Vue {
*/
public
created
(){
if
(
!
this
.
filter
){
this
.
loadTreeData
(
this
.
orgDataUrl
.
replace
(
'${orgid}'
,
'alls'
)
);
this
.
loadTreeData
(
this
.
url
);
}
}
...
...
This diff is collapsed.
Click to expand it.
app_web/src/components/ibiz-group-picker/ibiz-group-picker.vue
浏览文件 @
6b40c2d2
...
...
@@ -2,7 +2,7 @@
<div
class=
"ibiz-group-picker"
>
<div
class=
"ibiz-group-container"
>
<div
v-if=
"showTree"
class=
"ibiz-group-tree"
>
<ibiz-select-tree
:NodesData=
"treeItems"
v-model=
"treeSelectVal"
:treeOnly=
"true"
@
select=
"treeSelect"
></ibiz-select-tree>
<ibiz-select-tree
:NodesData=
"treeItems"
v-model=
"treeSelectVal"
:treeOnly=
"true"
:defaultChecked=
"true"
@
select=
"treeSelect"
></ibiz-select-tree>
</div>
<div
class=
"ibiz-group-content"
>
<ibiz-group-card
:data=
"cardItems"
text=
"label"
value=
"id"
groupName=
"group"
:multiple=
"multiple"
:defaultSelect=
"cardSelctVal"
@
select=
"groupSelect"
></ibiz-group-card>
...
...
@@ -47,6 +47,22 @@ export default class IBizGroupPicker extends Vue {
*/
protected
multiple
:
boolean
=
false
;
/**
* 加载树url
*
* @type {*}
* @memberof IBizGroupPicker
*/
protected
treeurl
:
any
;
/**
* 加载人员url
*
* @type {*}
* @memberof IBizGroupPicker
*/
protected
url
:
any
;
/**
* 树数据集
*
...
...
@@ -110,10 +126,9 @@ export default class IBizGroupPicker extends Vue {
* @memberof IBizGroupPicker
*/
get
showTree
()
{
if
(
this
.
viewParam
.
hasfilter
&&
Object
.
is
(
this
.
viewData
.
srforgid
,
this
.
viewParam
.
filtervalue
)
)
{
return
fals
e
;
if
(
this
.
viewParam
)
{
return
this
.
viewParam
.
showtre
e
;
}
return
true
;
}
/**
...
...
@@ -129,6 +144,8 @@ export default class IBizGroupPicker extends Vue {
this
.
viewData
=
JSON
.
parse
(
this
.
viewdata
);
this
.
viewParam
=
JSON
.
parse
(
this
.
viewparam
);
this
.
multiple
=
this
.
viewParam
.
multiple
;
this
.
treeurl
=
this
.
viewParam
.
treeurl
;
this
.
url
=
this
.
viewParam
.
url
;
if
(
this
.
viewParam
.
selects
)
{
this
.
viewParam
.
selects
.
forEach
((
select
:
any
)
=>
{
this
.
selects
.
push
(
select
);
...
...
@@ -159,8 +176,9 @@ export default class IBizGroupPicker extends Vue {
* @memberof IBizGroupPicker
*/
public
loadTree
()
{
let
orgid
=
this
.
viewParam
.
filtervalue
?
this
.
viewParam
.
filtervalue
:
"alls"
;
let
get
=
Http
.
getInstance
().
get
(
`/ibzorganizations/
${
orgid
}
/suborg/ibzdepartments/picker`
,
true
);
let
orgid
=
this
.
viewParam
.
filtervalue
;
let
tempTreeUrl
:
string
=
this
.
treeurl
.
replace
(
'${orgid}'
,
orgid
);
let
get
=
Http
.
getInstance
().
get
(
tempTreeUrl
,
true
);
get
.
then
((
response
:
any
)
=>
{
if
(
response
.
status
===
200
)
{
this
.
treeItems
=
response
.
data
;
...
...
@@ -177,7 +195,8 @@ export default class IBizGroupPicker extends Vue {
* @memberof IBizGroupPicker
*/
public
loadGroupData
(
key
:
string
)
{
let
get
=
Http
.
getInstance
().
get
(
`/ibzorganizations/
${
key
}
/ibzemployees/picker`
,
true
);
let
tempUrl
=
this
.
url
.
replace
(
'${selected-orgid}'
,
key
);
let
get
=
Http
.
getInstance
().
get
(
tempUrl
,
true
);
get
.
then
((
response
:
any
)
=>
{
if
(
response
.
status
===
200
)
{
this
.
cardItems
=
response
.
data
;
...
...
This diff is collapsed.
Click to expand it.
app_web/src/components/ibiz-group-select/ibiz-group-select.vue
浏览文件 @
6b40c2d2
...
...
@@ -32,13 +32,21 @@ export default class IBizGroupSelect extends Vue {
*/
@
Prop
()
name
!
:
string
;
/**
* 树加载地址
*
* @type {*}
* @memberof IBizGroupSelect
*/
@
Prop
()
treeurl
?:
boolean
;
/**
* 数据接口地址
*
* @type {*}
* @memberof IBizGroupSelect
*/
@
Prop
()
url
?
:
string
;
@
Prop
()
url
!
:
string
;
/**
* 多选
...
...
@@ -175,10 +183,14 @@ export default class IBizGroupSelect extends Vue {
}
else
{
filtervalue
=
context
.
srforgid
;
}
}
else
{
filtervalue
=
context
.
srforgid
;
}
const
param
:
any
=
{};
Object
.
assign
(
param
,
{
hasfilter
:
this
.
filter
?
true
:
false
,
showtree
:
this
.
treeurl
?
true
:
false
,
url
:
this
.
url
,
treeurl
:
this
.
treeurl
,
filtervalue
:
filtervalue
,
multiple
:
this
.
multiple
,
selects
:
this
.
selects
...
...
@@ -199,7 +211,6 @@ export default class IBizGroupSelect extends Vue {
* @memberof IBizGroupSelect
*/
public
openViewClose
(
result
:
any
)
{
console
.
log
(
result
)
this
.
selects
=
[];
if
(
result
.
datas
&&
result
.
datas
.
length
>
0
)
{
this
.
selects
=
result
.
datas
...
...
This diff is collapsed.
Click to expand it.
app_web/src/components/tab-page-exp/tab-page-exp.vue
浏览文件 @
6b40c2d2
...
...
@@ -201,11 +201,11 @@ export default class TabPageExp extends Vue {
* @param {*} caption
* @memberof TabPageExp
*/
public
setCurPageCaption
(
routename
:
string
,
caption
:
any
,
info
:
string
)
{
if
(
!
Object
.
is
(
this
.
$route
.
name
,
routename
))
{
public
setCurPageCaption
(
caption
:
string
,
title
:
any
,
info
:
string
)
{
if
(
this
.
$route
.
meta
&&
(
!
Object
.
is
(
this
.
$route
.
meta
.
caption
,
caption
)
))
{
return
;
}
this
.
$store
.
commit
(
"setCurPageCaption"
,
{
route
:
this
.
$route
,
caption
:
caption
,
info
:
info
});
this
.
$store
.
commit
(
"setCurPageCaption"
,
{
route
:
this
.
$route
,
caption
:
title
,
info
:
info
});
setTimeout
(()
=>
{
this
.
moveToView
(
this
.
$route
);
},
1
);
...
...
This diff is collapsed.
Click to expand it.
app_web/src/engine/view/edit-view-engine.ts
浏览文件 @
6b40c2d2
...
...
@@ -247,9 +247,9 @@ export default class EditViewEngine extends ViewEngine {
*/
public
setTabCaption
(
info
:
string
):
void
{
let
viewdata
:
any
=
this
.
view
.
model
;
let
viewParam
=
this
.
view
.
$store
.
getters
[
'viewaction/getAppView'
](
this
.
view
.
viewtag
);
if
(
viewdata
&&
viewParam
&&
info
&&
!
Object
.
is
(
info
,
''
)
&&
this
.
view
.
$tabPageExp
)
{
this
.
view
.
$tabPageExp
.
setCurPageCaption
(
`
${
viewParam
.
viewmodule
}
_
${
viewParam
.
viewname
}
`
.
toLocaleLowerCase
(),
viewdata
.
srfCaption
,
info
)
;
if
(
viewdata
&&
info
&&
!
Object
.
is
(
info
,
''
)
&&
this
.
view
.
$tabPageExp
&&
(
viewdata
.
srfTitle
.
indexOf
(
" - "
)
===
-
1
))
{
this
.
view
.
$tabPageExp
.
setCurPageCaption
(
viewdata
.
srfCaption
,
viewdata
.
srfTitle
,
info
);
this
.
view
.
model
.
srfTitle
=
`
${
this
.
view
.
$t
(
viewdata
.
srfTitle
)}
-
${
viewdata
.
dataInfo
}
`
;
}
}
...
...
This diff is collapsed.
Click to expand it.
app_web/src/mock/app/main-appmenu/main-appmenu.ts
浏览文件 @
6b40c2d2
...
...
@@ -61,7 +61,7 @@ mock.onGet('v7/mainappmenu').reply((config: any) => {
iconcls
:
'fa fa-sort-amount-asc'
,
icon
:
''
,
textcls
:
''
,
appfunctag
:
'
_2
'
,
appfunctag
:
'
Auto6
'
,
resourcetag
:
''
,
},
],
...
...
This diff is collapsed.
Click to expand it.
app_web/src/service/entity-service.ts
浏览文件 @
6b40c2d2
...
...
@@ -622,6 +622,21 @@ export default class EntityService {
return
Http
.
getInstance
().
delete
(
`/
${
this
.
APPDENAME
}
/batch`
,
isloading
,
data
[
this
.
APPDEKEY
]);
}
/**
* getDataInfo接口方法
*
* @param {*} [context={}]
* @param {*} [data]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof EntityService
*/
public
async
getDataInfo
(
context
:
any
=
{},
data
:
any
,
isloading
?:
boolean
):
Promise
<
any
>
{
if
(
context
[
this
.
APPLYDEKEY
]){
return
this
.
Get
(
context
,
data
,
isloading
);
}
}
/**
* WFStart接口方法
*
...
...
This diff is collapsed.
Click to expand it.
app_web/src/utils/types/util.d.ts
浏览文件 @
6b40c2d2
...
...
@@ -138,6 +138,17 @@ export declare interface Util {
* @memberof Util
*/
dateFormat
(
date
:
any
,
fmt
?:
string
):
string
/**
* 表单项校验
*
* @param property 表单项属性名
* @param data 表单数据
* @param rules 表单值规则
* @returns {Promise}
* @memberof Util
*/
validateItem
(
property
:
string
,
data
:
any
,
rules
:
any
):
Promise
<
any
>
}
declare
module
"vue/types/vue"
{
...
...
This diff is collapsed.
Click to expand it.
app_web/src/utils/uiaction-tool/uiaction-tool.ts
浏览文件 @
6b40c2d2
...
...
@@ -73,7 +73,7 @@ export class UIActionTool {
values
.
push
(
value
);
});
}
Object
.
assign
(
_data
,
{
[
name
]:
values
.
length
>
0
?
values
.
join
(
'
;
'
)
:
value
});
Object
.
assign
(
_data
,
{
[
name
]:
values
.
length
>
0
?
values
.
join
(
'
,
'
)
:
value
});
});
}
return
_data
;
...
...
This diff is collapsed.
Click to expand it.
app_web/src/utils/util/util.ts
浏览文件 @
6b40c2d2
import
qs
from
'qs'
;
import
{
Route
}
from
'vue-router'
;
import
Schema
from
"async-validator"
;
/**
* 平台工具类
...
...
@@ -362,4 +363,23 @@ export class Util {
return
FirstOBJ
;
}
/**
* 表单项校验
*
* @param property 表单项属性名
* @param data 表单数据
* @param rules 表单值规则
* @returns {Promise}
* @memberof Util
*/
public
static
validateItem
(
property
:
string
,
data
:
any
,
rules
:
any
)
{
// 1.获取数值和规则
const
value
=
data
[
property
];
const
rule
=
rules
[
property
];
// 2.创建校验规则
const
schema
=
new
Schema
({
[
property
]:
rule
})
// 校验返回Promise
return
schema
.
validate
({
[
property
]:
value
})
}
}
\ No newline at end of file
This diff is collapsed.
Click to expand it.
app_web/src/widgets/app/main-appmenu/main-appmenu-base.vue
浏览文件 @
6b40c2d2
...
...
@@ -564,8 +564,8 @@ export default class MainBase extends Vue implements ControlInterface {
case
'Auto5'
:
this
.
clickAuto5
(
item
);
return
;
case
'
_2
'
:
this
.
click
_2
(
item
);
case
'
Auto6
'
:
this
.
click
Auto6
(
item
);
return
;
default
:
console
.
warn
(
'未指定应用功能'
);
...
...
@@ -616,7 +616,7 @@ export default class MainBase extends Vue implements ControlInterface {
* @param {*} [item={}]
* @memberof Main
*/
public
click
_2
(
item
:
any
=
{})
{
public
click
Auto6
(
item
:
any
=
{})
{
const
viewparam
:
any
=
{};
Object
.
assign
(
viewparam
,
{});
const
deResParameters
:
any
[]
=
[];
...
...
This diff is collapsed.
Click to expand it.
app_web/src/widgets/app/main-appmenu/main-appmenu-model.ts
浏览文件 @
6b40c2d2
...
...
@@ -65,7 +65,7 @@ export default class MainModel {
iconcls
:
'fa fa-sort-amount-asc'
,
icon
:
''
,
textcls
:
''
,
appfunctag
:
'
_2
'
,
appfunctag
:
'
Auto6
'
,
resourcetag
:
''
,
},
];
...
...
@@ -103,7 +103,7 @@ export default class MainModel {
],
},
{
appfunctag
:
'
_2
'
,
appfunctag
:
'
Auto6
'
,
appfuncyype
:
'APPVIEW'
,
openmode
:
''
,
codename
:
'sys_authloggridview'
,
...
...
This diff is collapsed.
Click to expand it.
app_web/src/widgets/sys-auth-log/main-grid/main-grid-base.vue
浏览文件 @
6b40c2d2
<
template
>
<div
class=
'grid'
style=
"height:100%;"
>
<el-table
v-if=
"isDisplay === true"
<i-form>
<el-table
v-if=
"isDisplay === true"
:default-sort=
"
{ prop: minorSortPSDEF, order: Object.is(minorSortDir, 'ASC') ? 'ascending' : Object.is(minorSortDir, 'DESC') ? 'descending' : '' }"
@sort-change="onSortChange($event)"
:border="isDragendCol"
...
...
@@ -28,7 +29,7 @@
{{
$t
(
'entities.sysauthlog.main_grid.columns.username'
)
}}
</span>
</
template
>
<
template
v-slot=
"{row,column}"
>
<
template
v-slot=
"{row,column
,$index
}"
>
<span>
{{
row
.
username
}}
</span>
</
template
>
</el-table-column>
...
...
@@ -40,7 +41,7 @@
{{
$t
(
'entities.sysauthlog.main_grid.columns.personname'
)
}}
</span>
</
template
>
<
template
v-slot=
"{row,column}"
>
<
template
v-slot=
"{row,column
,$index
}"
>
<span>
{{
row
.
personname
}}
</span>
</
template
>
</el-table-column>
...
...
@@ -52,7 +53,7 @@
{{
$t
(
'entities.sysauthlog.main_grid.columns.authtime'
)
}}
</span>
</
template
>
<
template
v-slot=
"{row,column}"
>
<
template
v-slot=
"{row,column
,$index
}"
>
<app-format-data
format=
"YYYY-MM-DD hh:mm:ss"
:data=
"row.authtime"
></app-format-data>
</
template
>
</el-table-column>
...
...
@@ -64,7 +65,7 @@
{{
$t
(
'entities.sysauthlog.main_grid.columns.authcode'
)
}}
</span>
</
template
>
<
template
v-slot=
"{row,column}"
>
<
template
v-slot=
"{row,column
,$index
}"
>
<template
>
<codelist
:value=
"row.authcode"
tag=
'CLAuthCode'
codelistType=
'STATIC'
></codelist>
</
template
>
...
...
@@ -78,7 +79,7 @@
{{
$t
(
'entities.sysauthlog.main_grid.columns.ipaddr'
)
}}
</span>
</
template
>
<
template
v-slot=
"{row,column}"
>
<
template
v-slot=
"{row,column
,$index
}"
>
<span>
{{
row
.
ipaddr
}}
</span>
</
template
>
</el-table-column>
...
...
@@ -90,7 +91,7 @@
{{
$t
(
'entities.sysauthlog.main_grid.columns.macaddr'
)
}}
</span>
</
template
>
<
template
v-slot=
"{row,column}"
>
<
template
v-slot=
"{row,column
,$index
}"
>
<span>
{{
row
.
macaddr
}}
</span>
</
template
>
</el-table-column>
...
...
@@ -102,7 +103,7 @@
{{
$t
(
'entities.sysauthlog.main_grid.columns.useragent'
)
}}
</span>
</
template
>
<
template
v-slot=
"{row,column}"
>
<
template
v-slot=
"{row,column
,$index
}"
>
<span>
{{
row
.
useragent
}}
</span>
</
template
>
</el-table-column>
...
...
@@ -114,7 +115,7 @@
{{
$t
(
'entities.sysauthlog.main_grid.columns.domain'
)
}}
</span>
</
template
>
<
template
v-slot=
"{row,column}"
>
<
template
v-slot=
"{row,column
,$index
}"
>
<span>
{{
row
.
domain
}}
</span>
</
template
>
</el-table-column>
...
...
@@ -123,6 +124,7 @@
<el-table-column></el-table-column>
</
template
>
</el-table>
</i-form>
<row
class=
'grid-pagination'
v-show=
"items.length > 0"
>
<page
class=
'pull-right'
@
on-change=
"pageOnChange($event)"
@
on-page-size-change=
"onPageSizeChange($event)"
...
...
@@ -170,6 +172,7 @@ import SysAuthLogService from '@/service/sys-auth-log/sys-auth-log-service';
import
MainService
from
'./main-grid-service'
;
import
CodeListService
from
"@service/app/codelist-service"
;
import
{
FormItemModel
}
from
'@/model/form-detail'
;
@
Component
({
...
...
@@ -652,6 +655,26 @@ export default class MainBase extends Vue implements ControlInterface {
},
]
/**
* 表格模型集合
*
* @type {*}
* @memberof Main
*/
public
gridItemsModel
:
any
[]
=
[];
/**
* 获取表格行模型
*
* @type {*}
* @memberof Main
*/
public
getGridRowModel
(){
return
{
srfkey
:
new
FormItemModel
(),
}
}
/**
* 属性值规则
*
...
...
@@ -665,6 +688,50 @@ export default class MainBase extends Vue implements ControlInterface {
],
}
/**
* 表格行编辑项校验
*
* @param {string} property 属性名
* @param {*} data 行数据
* @param {number} rowIndex 行索引
* @returns Promise<any>
*
* @memberof Main
*/
public
validate
(
property
:
string
,
data
:
any
,
rowIndex
:
number
):
Promise
<
any
>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
this
.
$util
.
validateItem
(
property
,
data
,
this
.
rules
).
then
(()
=>
{
this
.
gridItemsModel
[
rowIndex
][
property
].
setError
(
null
);
resolve
(
true
);
}).
catch
(({
errors
,
fields
})
=>
{
this
.
gridItemsModel
[
rowIndex
][
property
].
setError
(
errors
[
0
].
message
);
resolve
(
false
);
});
});
}
/**
* 校验所有修改过的编辑项
*
* @returns Promise<any>
* @memberof Main
*/
public
async
validateAll
(){
let
validateState
=
true
;
let
index
=
-
1
;
for
(
let
item
of
this
.
items
){
index
++
;
if
(
item
.
rowDataState
===
"create"
||
item
.
rowDataState
===
"update"
){
for
(
let
property
of
Object
.
keys
(
this
.
rules
)){
if
(
!
await
this
.
validate
(
property
,
item
,
index
)){
validateState
=
false
;
}
}
}
}
return
validateState
;
}
/**
* 表格数据加载
*
...
...
@@ -707,8 +774,10 @@ export default class MainBase extends Vue implements ControlInterface {
const
data
:
any
=
response
.
data
;
this
.
totalrow
=
response
.
total
;
this
.
items
=
JSON
.
parse
(
JSON
.
stringify
(
data
));
// 清空selections
// 清空selections
,gridItemsModel
this
.
selections
=
[];
this
.
gridItemsModel
=
[];
this
.
items
.
forEach
(()
=>
{
this
.
gridItemsModel
.
push
(
this
.
getGridRowModel
())});
this
.
$emit
(
'load'
,
this
.
items
);
// 设置默认选中
let
_this
=
this
;
...
...
@@ -757,6 +826,7 @@ export default class MainBase extends Vue implements ControlInterface {
this
.
items
.
some
((
val
:
any
,
num
:
number
)
=>
{
if
(
JSON
.
stringify
(
val
)
==
JSON
.
stringify
(
record
)){
this
.
items
.
splice
(
num
,
1
);
this
.
gridItemsModel
.
splice
(
num
,
1
);
return
true
;
}
});
...
...
@@ -806,9 +876,10 @@ export default class MainBase extends Vue implements ControlInterface {
//删除items中已删除的项
console
.
log
(
this
.
items
);
_datas
.
forEach
((
data
:
any
)
=>
{
this
.
items
.
some
((
item
:
any
,
index
:
number
)
=>
{
if
(
Object
.
is
(
item
.
srfkey
,
data
.
srfkey
)){
this
.
items
.
splice
(
index
,
1
);
this
.
items
.
some
((
item
:
any
,
index
:
number
)
=>
{
if
(
Object
.
is
(
item
.
srfkey
,
data
.
srfkey
)){
this
.
items
.
splice
(
index
,
1
);
this
.
gridItemsModel
.
splice
(
index
,
1
);
return
true
;
}
});
...
...
@@ -1379,41 +1450,56 @@ export default class MainBase extends Vue implements ControlInterface {
* 保存
*
* @param {*} $event
* @returns {
void
}
* @returns {
Promise<any>
}
* @memberof Main
*/
public
save
(
args
:
any
[],
params
?:
any
,
$event
?:
any
,
xData
?:
any
):
void
{
public
async
save
(
args
:
any
[],
params
?:
any
,
$event
?:
any
,
xData
?:
any
)
{
let
_this
=
this
;
let
promises
:
any
=
[];
_this
.
items
.
forEach
((
item
:
any
)
=>
{
if
(
!
item
.
rowDataState
){
return
;
}
else
if
(
Object
.
is
(
item
.
rowDataState
,
'create'
)){
if
(
!
this
.
createAction
){
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'SYS_AUTHLOGGridView视图表格createAction参数未配置'
});
return
;
}
Object
.
assign
(
item
,{
viewparams
:
this
.
viewparams
});
promises
.
push
(
this
.
service
.
add
(
this
.
createAction
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),
item
,
this
.
showBusyIndicator
));
}
else
if
(
Object
.
is
(
item
.
rowDataState
,
'update'
)){
if
(
!
this
.
updateAction
){
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'SYS_AUTHLOGGridView视图表格updateAction参数未配置'
});
return
;
}
Object
.
assign
(
item
,{
viewparams
:
this
.
viewparams
});
if
(
item
.
sysauthlog
){
Object
.
assign
(
this
.
context
,{
sysauthlog
:
item
.
sysauthlog
})
if
(
!
await
this
.
validateAll
()){
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'值规则校验异常'
});
return
[];
}
let
successItems
:
any
=
[];
let
errorItems
:
any
=
[];
let
errorMessage
:
any
=
[];
for
(
const
item
of
_this
.
items
)
{
try
{
if
(
Object
.
is
(
item
.
rowDataState
,
'create'
)){
if
(
!
this
.
createAction
){
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'SYS_AUTHLOGGridView视图表格createAction参数未配置'
});
}
else
{
Object
.
assign
(
item
,{
viewparams
:
this
.
viewparams
});
let
response
=
await
this
.
service
.
add
(
this
.
createAction
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),
item
,
this
.
showBusyIndicator
);
successItems
.
push
(
JSON
.
parse
(
JSON
.
stringify
(
response
.
data
)));
}
}
else
if
(
Object
.
is
(
item
.
rowDataState
,
'update'
)){
if
(
!
this
.
updateAction
){
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'SYS_AUTHLOGGridView视图表格updateAction参数未配置'
});
}
else
{
Object
.
assign
(
item
,{
viewparams
:
this
.
viewparams
});
if
(
item
.
sysauthlog
){
Object
.
assign
(
this
.
context
,{
sysauthlog
:
item
.
sysauthlog
});
}
let
response
=
await
this
.
service
.
add
(
this
.
updateAction
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),
item
,
this
.
showBusyIndicator
);
successItems
.
push
(
JSON
.
parse
(
JSON
.
stringify
(
response
.
data
)));
}
}
promises
.
push
(
this
.
service
.
add
(
this
.
updateAction
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),
item
,
this
.
showBusyIndicator
));
}
catch
(
error
)
{
errorItems
.
push
(
JSON
.
parse
(
JSON
.
stringify
(
item
)));
errorMessage
.
push
(
error
);
}
});
Promise
.
all
(
promises
).
then
((
response
:
any
)
=>
{
this
.
$emit
(
'save'
,
response
);
}
this
.
$emit
(
'save'
,
successItems
);
this
.
refresh
([]);
if
(
errorItems
.
length
===
0
){
this
.
$Notice
.
success
({
title
:
''
,
desc
:
'保存成功!'
});
this
.
refresh
([]);
}).
catch
((
response
:
any
)
=>
{
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'系统异常'
});
});
}
else
{
errorItems
.
forEach
((
item
:
any
,
index
:
number
)
=>
{
this
.
$Notice
.
error
({
title
:
'保存失败'
,
desc
:
item
.
majorentityname
+
'保存失败!'
});
console
.
error
(
errorMessage
[
index
]);
});
}
return
successItems
;
}
...
...
This diff is collapsed.
Click to expand it.
app_web/src/widgets/sys-permission/main-grid/main-grid-base.vue
浏览文件 @
6b40c2d2
<
template
>
<div
class=
'grid'
style=
"height:100%;"
>
<el-table
v-if=
"isDisplay === true"
<i-form>
<el-table
v-if=
"isDisplay === true"
:default-sort=
"
{ prop: minorSortPSDEF, order: Object.is(minorSortDir, 'ASC') ? 'ascending' : Object.is(minorSortDir, 'DESC') ? 'descending' : '' }"
@sort-change="onSortChange($event)"
:border="isDragendCol"
...
...
@@ -28,7 +29,7 @@
{{
$t
(
'entities.syspermission.main_grid.columns.sys_permissionid'
)
}}
</span>
</
template
>
<
template
v-slot=
"{row,column}"
>
<
template
v-slot=
"{row,column
,$index
}"
>
<span>
{{
row
.
sys_permissionid
}}
</span>
</
template
>
</el-table-column>
...
...
@@ -40,7 +41,7 @@
{{
$t
(
'entities.syspermission.main_grid.columns.sys_permissionname'
)
}}
</span>
</
template
>
<
template
v-slot=
"{row,column}"
>
<
template
v-slot=
"{row,column
,$index
}"
>
<span>
{{
row
.
sys_permissionname
}}
</span>
</
template
>
</el-table-column>
...
...
@@ -49,6 +50,7 @@
<el-table-column></el-table-column>
</
template
>
</el-table>
</i-form>
<row
class=
'grid-pagination'
v-show=
"items.length > 0"
>
<page
class=
'pull-right'
@
on-change=
"pageOnChange($event)"
@
on-page-size-change=
"onPageSizeChange($event)"
...
...
@@ -96,6 +98,7 @@ import SysPermissionService from '@/service/sys-permission/sys-permission-servic
import
MainService
from
'./main-grid-service'
;
import
CodeListService
from
"@service/app/codelist-service"
;
import
{
FormItemModel
}
from
'@/model/form-detail'
;
@
Component
({
...
...
@@ -522,6 +525,26 @@ export default class MainBase extends Vue implements ControlInterface {
},
]
/**
* 表格模型集合
*
* @type {*}
* @memberof Main
*/
public
gridItemsModel
:
any
[]
=
[];
/**
* 获取表格行模型
*
* @type {*}
* @memberof Main
*/
public
getGridRowModel
(){
return
{
srfkey
:
new
FormItemModel
(),
}
}
/**
* 属性值规则
*
...
...
@@ -535,6 +558,50 @@ export default class MainBase extends Vue implements ControlInterface {
],
}
/**
* 表格行编辑项校验
*
* @param {string} property 属性名
* @param {*} data 行数据
* @param {number} rowIndex 行索引
* @returns Promise<any>
*
* @memberof Main
*/
public
validate
(
property
:
string
,
data
:
any
,
rowIndex
:
number
):
Promise
<
any
>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
this
.
$util
.
validateItem
(
property
,
data
,
this
.
rules
).
then
(()
=>
{
this
.
gridItemsModel
[
rowIndex
][
property
].
setError
(
null
);
resolve
(
true
);
}).
catch
(({
errors
,
fields
})
=>
{
this
.
gridItemsModel
[
rowIndex
][
property
].
setError
(
errors
[
0
].
message
);
resolve
(
false
);
});
});
}
/**
* 校验所有修改过的编辑项
*
* @returns Promise<any>
* @memberof Main
*/
public
async
validateAll
(){
let
validateState
=
true
;
let
index
=
-
1
;
for
(
let
item
of
this
.
items
){
index
++
;
if
(
item
.
rowDataState
===
"create"
||
item
.
rowDataState
===
"update"
){
for
(
let
property
of
Object
.
keys
(
this
.
rules
)){
if
(
!
await
this
.
validate
(
property
,
item
,
index
)){
validateState
=
false
;
}
}
}
}
return
validateState
;
}
/**
* 表格数据加载
*
...
...
@@ -577,8 +644,10 @@ export default class MainBase extends Vue implements ControlInterface {
const
data
:
any
=
response
.
data
;
this
.
totalrow
=
response
.
total
;
this
.
items
=
JSON
.
parse
(
JSON
.
stringify
(
data
));
// 清空selections
// 清空selections
,gridItemsModel
this
.
selections
=
[];
this
.
gridItemsModel
=
[];
this
.
items
.
forEach
(()
=>
{
this
.
gridItemsModel
.
push
(
this
.
getGridRowModel
())});
this
.
$emit
(
'load'
,
this
.
items
);
// 设置默认选中
let
_this
=
this
;
...
...
@@ -627,6 +696,7 @@ export default class MainBase extends Vue implements ControlInterface {
this
.
items
.
some
((
val
:
any
,
num
:
number
)
=>
{
if
(
JSON
.
stringify
(
val
)
==
JSON
.
stringify
(
record
)){
this
.
items
.
splice
(
num
,
1
);
this
.
gridItemsModel
.
splice
(
num
,
1
);
return
true
;
}
});
...
...
@@ -676,9 +746,10 @@ export default class MainBase extends Vue implements ControlInterface {
//删除items中已删除的项
console
.
log
(
this
.
items
);
_datas
.
forEach
((
data
:
any
)
=>
{
this
.
items
.
some
((
item
:
any
,
index
:
number
)
=>
{
if
(
Object
.
is
(
item
.
srfkey
,
data
.
srfkey
)){
this
.
items
.
splice
(
index
,
1
);
this
.
items
.
some
((
item
:
any
,
index
:
number
)
=>
{
if
(
Object
.
is
(
item
.
srfkey
,
data
.
srfkey
)){
this
.
items
.
splice
(
index
,
1
);
this
.
gridItemsModel
.
splice
(
index
,
1
);
return
true
;
}
});
...
...
@@ -1241,41 +1312,56 @@ export default class MainBase extends Vue implements ControlInterface {
* 保存
*
* @param {*} $event
* @returns {
void
}
* @returns {
Promise<any>
}
* @memberof Main
*/
public
save
(
args
:
any
[],
params
?:
any
,
$event
?:
any
,
xData
?:
any
):
void
{
public
async
save
(
args
:
any
[],
params
?:
any
,
$event
?:
any
,
xData
?:
any
)
{
let
_this
=
this
;
let
promises
:
any
=
[];
_this
.
items
.
forEach
((
item
:
any
)
=>
{
if
(
!
item
.
rowDataState
){
return
;
}
else
if
(
Object
.
is
(
item
.
rowDataState
,
'create'
)){
if
(
!
this
.
createAction
){
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'SYS_PERMISSIONPickupGridView视图表格createAction参数未配置'
});
return
;
}
Object
.
assign
(
item
,{
viewparams
:
this
.
viewparams
});
promises
.
push
(
this
.
service
.
add
(
this
.
createAction
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),
item
,
this
.
showBusyIndicator
));
}
else
if
(
Object
.
is
(
item
.
rowDataState
,
'update'
)){
if
(
!
this
.
updateAction
){
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'SYS_PERMISSIONPickupGridView视图表格updateAction参数未配置'
});
return
;
}
Object
.
assign
(
item
,{
viewparams
:
this
.
viewparams
});
if
(
item
.
syspermission
){
Object
.
assign
(
this
.
context
,{
syspermission
:
item
.
syspermission
})
if
(
!
await
this
.
validateAll
()){
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'值规则校验异常'
});
return
[];
}
let
successItems
:
any
=
[];
let
errorItems
:
any
=
[];
let
errorMessage
:
any
=
[];
for
(
const
item
of
_this
.
items
)
{
try
{
if
(
Object
.
is
(
item
.
rowDataState
,
'create'
)){
if
(
!
this
.
createAction
){
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'SYS_PERMISSIONPickupGridView视图表格createAction参数未配置'
});
}
else
{
Object
.
assign
(
item
,{
viewparams
:
this
.
viewparams
});
let
response
=
await
this
.
service
.
add
(
this
.
createAction
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),
item
,
this
.
showBusyIndicator
);
successItems
.
push
(
JSON
.
parse
(
JSON
.
stringify
(
response
.
data
)));
}
}
else
if
(
Object
.
is
(
item
.
rowDataState
,
'update'
)){
if
(
!
this
.
updateAction
){
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'SYS_PERMISSIONPickupGridView视图表格updateAction参数未配置'
});
}
else
{
Object
.
assign
(
item
,{
viewparams
:
this
.
viewparams
});
if
(
item
.
syspermission
){
Object
.
assign
(
this
.
context
,{
syspermission
:
item
.
syspermission
});
}
let
response
=
await
this
.
service
.
add
(
this
.
updateAction
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),
item
,
this
.
showBusyIndicator
);
successItems
.
push
(
JSON
.
parse
(
JSON
.
stringify
(
response
.
data
)));
}
}
promises
.
push
(
this
.
service
.
add
(
this
.
updateAction
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),
item
,
this
.
showBusyIndicator
));
}
catch
(
error
)
{
errorItems
.
push
(
JSON
.
parse
(
JSON
.
stringify
(
item
)));
errorMessage
.
push
(
error
);
}
});
Promise
.
all
(
promises
).
then
((
response
:
any
)
=>
{
this
.
$emit
(
'save'
,
response
);
}
this
.
$emit
(
'save'
,
successItems
);
this
.
refresh
([]);
if
(
errorItems
.
length
===
0
){
this
.
$Notice
.
success
({
title
:
''
,
desc
:
'保存成功!'
});
this
.
refresh
([]);
}).
catch
((
response
:
any
)
=>
{
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'系统异常'
});
});
}
else
{
errorItems
.
forEach
((
item
:
any
,
index
:
number
)
=>
{
this
.
$Notice
.
error
({
title
:
'保存失败'
,
desc
:
item
.
majorentityname
+
'保存失败!'
});
console
.
error
(
errorMessage
[
index
]);
});
}
return
successItems
;
}
...
...
This diff is collapsed.
Click to expand it.
app_web/src/widgets/sys-role-permission/main-grid/main-grid-base.vue
浏览文件 @
6b40c2d2
<
template
>
<div
class=
'grid'
style=
"height:100%;"
>
<el-table
v-if=
"isDisplay === true"
<i-form>
<el-table
v-if=
"isDisplay === true"
:default-sort=
"
{ prop: minorSortPSDEF, order: Object.is(minorSortDir, 'ASC') ? 'ascending' : Object.is(minorSortDir, 'DESC') ? 'descending' : '' }"
@sort-change="onSortChange($event)"
:border="isDragendCol"
...
...
@@ -28,7 +29,7 @@
{{
$t
(
'entities.sysrolepermission.main_grid.columns.sys_rolename'
)
}}
</span>
</
template
>
<
template
v-slot=
"{row,column}"
>
<
template
v-slot=
"{row,column
,$index
}"
>
<app-column-link
deKeyField=
'sysrole'
:context=
"JSON.parse(JSON.stringify(context))"
:viewparams=
"JSON.parse(JSON.stringify(viewparams))"
:data=
"row"
:linkview=
"
{viewname: 'sys-roleredirect-view', height: 0,width: 0,title: $t('entities.sysrole.views.redirectview.title'),placement: '', isRedirectView: true,deResParameters: [
]
,parameters: [
...
...
@@ -47,7 +48,7 @@
{{
$t
(
'entities.sysrolepermission.main_grid.columns.sys_permissionname'
)
}}
</span>
</
template
>
<
template
v-slot=
"{row,column}"
>
<
template
v-slot=
"{row,column
,$index
}"
>
<app-column-link
deKeyField=
'syspermission'
:context=
"JSON.parse(JSON.stringify(context))"
:viewparams=
"JSON.parse(JSON.stringify(viewparams))"
:data=
"row"
:linkview=
"
{viewname: 'sys-permissionredirect-view', height: 0,width: 0,title: $t('entities.syspermission.views.redirectview.title'),placement: '', isRedirectView: true,deResParameters: [
]
,parameters: [
...
...
@@ -66,7 +67,7 @@
{{
$t
(
'entities.sysrolepermission.main_grid.columns.updatedate'
)
}}
</span>
</
template
>
<
template
v-slot=
"{row,column}"
>
<
template
v-slot=
"{row,column
,$index
}"
>
<app-format-data
format=
"YYYY-MM-DD hh:mm:ss"
:data=
"row.updatedate"
></app-format-data>
</
template
>
</el-table-column>
...
...
@@ -75,6 +76,7 @@
<el-table-column></el-table-column>
</
template
>
</el-table>
</i-form>
<row
class=
'grid-pagination'
v-show=
"items.length > 0"
>
<page
class=
'pull-right'
@
on-change=
"pageOnChange($event)"
@
on-page-size-change=
"onPageSizeChange($event)"
...
...
@@ -122,6 +124,7 @@ import SysRolePermissionService from '@/service/sys-role-permission/sys-role-per
import
MainService
from
'./main-grid-service'
;
import
CodeListService
from
"@service/app/codelist-service"
;
import
{
FormItemModel
}
from
'@/model/form-detail'
;
@
Component
({
...
...
@@ -555,6 +558,26 @@ export default class MainBase extends Vue implements ControlInterface {
},
]
/**
* 表格模型集合
*
* @type {*}
* @memberof Main
*/
public
gridItemsModel
:
any
[]
=
[];
/**
* 获取表格行模型
*
* @type {*}
* @memberof Main
*/
public
getGridRowModel
(){
return
{
srfkey
:
new
FormItemModel
(),
}
}
/**
* 属性值规则
*
...
...
@@ -568,6 +591,50 @@ export default class MainBase extends Vue implements ControlInterface {
],
}
/**
* 表格行编辑项校验
*
* @param {string} property 属性名
* @param {*} data 行数据
* @param {number} rowIndex 行索引
* @returns Promise<any>
*
* @memberof Main
*/
public
validate
(
property
:
string
,
data
:
any
,
rowIndex
:
number
):
Promise
<
any
>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
this
.
$util
.
validateItem
(
property
,
data
,
this
.
rules
).
then
(()
=>
{
this
.
gridItemsModel
[
rowIndex
][
property
].
setError
(
null
);
resolve
(
true
);
}).
catch
(({
errors
,
fields
})
=>
{
this
.
gridItemsModel
[
rowIndex
][
property
].
setError
(
errors
[
0
].
message
);
resolve
(
false
);
});
});
}
/**
* 校验所有修改过的编辑项
*
* @returns Promise<any>
* @memberof Main
*/
public
async
validateAll
(){
let
validateState
=
true
;
let
index
=
-
1
;
for
(
let
item
of
this
.
items
){
index
++
;
if
(
item
.
rowDataState
===
"create"
||
item
.
rowDataState
===
"update"
){
for
(
let
property
of
Object
.
keys
(
this
.
rules
)){
if
(
!
await
this
.
validate
(
property
,
item
,
index
)){
validateState
=
false
;
}
}
}
}
return
validateState
;
}
/**
* 表格数据加载
*
...
...
@@ -610,8 +677,10 @@ export default class MainBase extends Vue implements ControlInterface {
const
data
:
any
=
response
.
data
;
this
.
totalrow
=
response
.
total
;
this
.
items
=
JSON
.
parse
(
JSON
.
stringify
(
data
));
// 清空selections
// 清空selections
,gridItemsModel
this
.
selections
=
[];
this
.
gridItemsModel
=
[];
this
.
items
.
forEach
(()
=>
{
this
.
gridItemsModel
.
push
(
this
.
getGridRowModel
())});
this
.
$emit
(
'load'
,
this
.
items
);
// 设置默认选中
let
_this
=
this
;
...
...
@@ -660,6 +729,7 @@ export default class MainBase extends Vue implements ControlInterface {
this
.
items
.
some
((
val
:
any
,
num
:
number
)
=>
{
if
(
JSON
.
stringify
(
val
)
==
JSON
.
stringify
(
record
)){
this
.
items
.
splice
(
num
,
1
);
this
.
gridItemsModel
.
splice
(
num
,
1
);
return
true
;
}
});
...
...
@@ -709,9 +779,10 @@ export default class MainBase extends Vue implements ControlInterface {
//删除items中已删除的项
console
.
log
(
this
.
items
);
_datas
.
forEach
((
data
:
any
)
=>
{
this
.
items
.
some
((
item
:
any
,
index
:
number
)
=>
{
if
(
Object
.
is
(
item
.
srfkey
,
data
.
srfkey
)){
this
.
items
.
splice
(
index
,
1
);
this
.
items
.
some
((
item
:
any
,
index
:
number
)
=>
{
if
(
Object
.
is
(
item
.
srfkey
,
data
.
srfkey
)){
this
.
items
.
splice
(
index
,
1
);
this
.
gridItemsModel
.
splice
(
index
,
1
);
return
true
;
}
});
...
...
@@ -1274,41 +1345,56 @@ export default class MainBase extends Vue implements ControlInterface {
* 保存
*
* @param {*} $event
* @returns {
void
}
* @returns {
Promise<any>
}
* @memberof Main
*/
public
save
(
args
:
any
[],
params
?:
any
,
$event
?:
any
,
xData
?:
any
):
void
{
public
async
save
(
args
:
any
[],
params
?:
any
,
$event
?:
any
,
xData
?:
any
)
{
let
_this
=
this
;
let
promises
:
any
=
[];
_this
.
items
.
forEach
((
item
:
any
)
=>
{
if
(
!
item
.
rowDataState
){
return
;
}
else
if
(
Object
.
is
(
item
.
rowDataState
,
'create'
)){
if
(
!
this
.
createAction
){
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'SYS_ROLE_PERMISSIONPickupGridView视图表格createAction参数未配置'
});
return
;
}
Object
.
assign
(
item
,{
viewparams
:
this
.
viewparams
});
promises
.
push
(
this
.
service
.
add
(
this
.
createAction
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),
item
,
this
.
showBusyIndicator
));
}
else
if
(
Object
.
is
(
item
.
rowDataState
,
'update'
)){
if
(
!
this
.
updateAction
){
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'SYS_ROLE_PERMISSIONPickupGridView视图表格updateAction参数未配置'
});
return
;
}
Object
.
assign
(
item
,{
viewparams
:
this
.
viewparams
});
if
(
item
.
sysrolepermission
){
Object
.
assign
(
this
.
context
,{
sysrolepermission
:
item
.
sysrolepermission
})
if
(
!
await
this
.
validateAll
()){
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'值规则校验异常'
});
return
[];
}
let
successItems
:
any
=
[];
let
errorItems
:
any
=
[];
let
errorMessage
:
any
=
[];
for
(
const
item
of
_this
.
items
)
{
try
{
if
(
Object
.
is
(
item
.
rowDataState
,
'create'
)){
if
(
!
this
.
createAction
){
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'SYS_ROLE_PERMISSIONPickupGridView视图表格createAction参数未配置'
});
}
else
{
Object
.
assign
(
item
,{
viewparams
:
this
.
viewparams
});
let
response
=
await
this
.
service
.
add
(
this
.
createAction
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),
item
,
this
.
showBusyIndicator
);
successItems
.
push
(
JSON
.
parse
(
JSON
.
stringify
(
response
.
data
)));
}
}
else
if
(
Object
.
is
(
item
.
rowDataState
,
'update'
)){
if
(
!
this
.
updateAction
){
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'SYS_ROLE_PERMISSIONPickupGridView视图表格updateAction参数未配置'
});
}
else
{
Object
.
assign
(
item
,{
viewparams
:
this
.
viewparams
});
if
(
item
.
sysrolepermission
){
Object
.
assign
(
this
.
context
,{
sysrolepermission
:
item
.
sysrolepermission
});
}
let
response
=
await
this
.
service
.
add
(
this
.
updateAction
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),
item
,
this
.
showBusyIndicator
);
successItems
.
push
(
JSON
.
parse
(
JSON
.
stringify
(
response
.
data
)));
}
}
promises
.
push
(
this
.
service
.
add
(
this
.
updateAction
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),
item
,
this
.
showBusyIndicator
));
}
catch
(
error
)
{
errorItems
.
push
(
JSON
.
parse
(
JSON
.
stringify
(
item
)));
errorMessage
.
push
(
error
);
}
});
Promise
.
all
(
promises
).
then
((
response
:
any
)
=>
{
this
.
$emit
(
'save'
,
response
);
}
this
.
$emit
(
'save'
,
successItems
);
this
.
refresh
([]);
if
(
errorItems
.
length
===
0
){
this
.
$Notice
.
success
({
title
:
''
,
desc
:
'保存成功!'
});
this
.
refresh
([]);
}).
catch
((
response
:
any
)
=>
{
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'系统异常'
});
});
}
else
{
errorItems
.
forEach
((
item
:
any
,
index
:
number
)
=>
{
this
.
$Notice
.
error
({
title
:
'保存失败'
,
desc
:
item
.
majorentityname
+
'保存失败!'
});
console
.
error
(
errorMessage
[
index
]);
});
}
return
successItems
;
}
...
...
This diff is collapsed.
Click to expand it.
app_web/src/widgets/sys-role/main-grid/main-grid-base.vue
浏览文件 @
6b40c2d2
<
template
>
<div
class=
'grid'
style=
"height:100%;"
>
<el-table
v-if=
"isDisplay === true"
<i-form>
<el-table
v-if=
"isDisplay === true"
:default-sort=
"
{ prop: minorSortPSDEF, order: Object.is(minorSortDir, 'ASC') ? 'ascending' : Object.is(minorSortDir, 'DESC') ? 'descending' : '' }"
@sort-change="onSortChange($event)"
:border="isDragendCol"
...
...
@@ -28,7 +29,7 @@
{{
$t
(
'entities.sysrole.main_grid.columns.sys_roleid'
)
}}
</span>
</
template
>
<
template
v-slot=
"{row,column}"
>
<
template
v-slot=
"{row,column
,$index
}"
>
<span>
{{
row
.
sys_roleid
}}
</span>
</
template
>
</el-table-column>
...
...
@@ -40,7 +41,7 @@
{{
$t
(
'entities.sysrole.main_grid.columns.sys_rolename'
)
}}
</span>
</
template
>
<
template
v-slot=
"{row,column}"
>
<
template
v-slot=
"{row,column
,$index
}"
>
<span>
{{
row
.
sys_rolename
}}
</span>
</
template
>
</el-table-column>
...
...
@@ -52,7 +53,7 @@
{{
$t
(
'entities.sysrole.main_grid.columns.memo'
)
}}
</span>
</
template
>
<
template
v-slot=
"{row,column}"
>
<
template
v-slot=
"{row,column
,$index
}"
>
<span>
{{
row
.
memo
}}
</span>
</
template
>
</el-table-column>
...
...
@@ -64,7 +65,7 @@
{{
$t
(
'entities.sysrole.main_grid.columns.updatedate'
)
}}
</span>
</
template
>
<
template
v-slot=
"{row,column}"
>
<
template
v-slot=
"{row,column
,$index
}"
>
<app-format-data
format=
"YYYY-MM-DD hh:mm:ss"
:data=
"row.updatedate"
></app-format-data>
</
template
>
</el-table-column>
...
...
@@ -73,6 +74,7 @@
<el-table-column></el-table-column>
</
template
>
</el-table>
</i-form>
<row
class=
'grid-pagination'
v-show=
"items.length > 0"
>
<page
class=
'pull-right'
@
on-change=
"pageOnChange($event)"
@
on-page-size-change=
"onPageSizeChange($event)"
...
...
@@ -120,6 +122,7 @@ import SysRoleService from '@/service/sys-role/sys-role-service';
import
MainService
from
'./main-grid-service'
;
import
CodeListService
from
"@service/app/codelist-service"
;
import
{
FormItemModel
}
from
'@/model/form-detail'
;
@
Component
({
...
...
@@ -574,6 +577,26 @@ export default class MainBase extends Vue implements ControlInterface {
},
]
/**
* 表格模型集合
*
* @type {*}
* @memberof Main
*/
public
gridItemsModel
:
any
[]
=
[];
/**
* 获取表格行模型
*
* @type {*}
* @memberof Main
*/
public
getGridRowModel
(){
return
{
srfkey
:
new
FormItemModel
(),
}
}
/**
* 属性值规则
*
...
...
@@ -587,6 +610,50 @@ export default class MainBase extends Vue implements ControlInterface {
],
}
/**
* 表格行编辑项校验
*
* @param {string} property 属性名
* @param {*} data 行数据
* @param {number} rowIndex 行索引
* @returns Promise<any>
*
* @memberof Main
*/
public
validate
(
property
:
string
,
data
:
any
,
rowIndex
:
number
):
Promise
<
any
>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
this
.
$util
.
validateItem
(
property
,
data
,
this
.
rules
).
then
(()
=>
{
this
.
gridItemsModel
[
rowIndex
][
property
].
setError
(
null
);
resolve
(
true
);
}).
catch
(({
errors
,
fields
})
=>
{
this
.
gridItemsModel
[
rowIndex
][
property
].
setError
(
errors
[
0
].
message
);
resolve
(
false
);
});
});
}
/**
* 校验所有修改过的编辑项
*
* @returns Promise<any>
* @memberof Main
*/
public
async
validateAll
(){
let
validateState
=
true
;
let
index
=
-
1
;
for
(
let
item
of
this
.
items
){
index
++
;
if
(
item
.
rowDataState
===
"create"
||
item
.
rowDataState
===
"update"
){
for
(
let
property
of
Object
.
keys
(
this
.
rules
)){
if
(
!
await
this
.
validate
(
property
,
item
,
index
)){
validateState
=
false
;
}
}
}
}
return
validateState
;
}
/**
* 表格数据加载
*
...
...
@@ -629,8 +696,10 @@ export default class MainBase extends Vue implements ControlInterface {
const
data
:
any
=
response
.
data
;
this
.
totalrow
=
response
.
total
;
this
.
items
=
JSON
.
parse
(
JSON
.
stringify
(
data
));
// 清空selections
// 清空selections
,gridItemsModel
this
.
selections
=
[];
this
.
gridItemsModel
=
[];
this
.
items
.
forEach
(()
=>
{
this
.
gridItemsModel
.
push
(
this
.
getGridRowModel
())});
this
.
$emit
(
'load'
,
this
.
items
);
// 设置默认选中
let
_this
=
this
;
...
...
@@ -679,6 +748,7 @@ export default class MainBase extends Vue implements ControlInterface {
this
.
items
.
some
((
val
:
any
,
num
:
number
)
=>
{
if
(
JSON
.
stringify
(
val
)
==
JSON
.
stringify
(
record
)){
this
.
items
.
splice
(
num
,
1
);
this
.
gridItemsModel
.
splice
(
num
,
1
);
return
true
;
}
});
...
...
@@ -728,9 +798,10 @@ export default class MainBase extends Vue implements ControlInterface {
//删除items中已删除的项
console
.
log
(
this
.
items
);
_datas
.
forEach
((
data
:
any
)
=>
{
this
.
items
.
some
((
item
:
any
,
index
:
number
)
=>
{
if
(
Object
.
is
(
item
.
srfkey
,
data
.
srfkey
)){
this
.
items
.
splice
(
index
,
1
);
this
.
items
.
some
((
item
:
any
,
index
:
number
)
=>
{
if
(
Object
.
is
(
item
.
srfkey
,
data
.
srfkey
)){
this
.
items
.
splice
(
index
,
1
);
this
.
gridItemsModel
.
splice
(
index
,
1
);
return
true
;
}
});
...
...
@@ -1293,41 +1364,56 @@ export default class MainBase extends Vue implements ControlInterface {
* 保存
*
* @param {*} $event
* @returns {
void
}
* @returns {
Promise<any>
}
* @memberof Main
*/
public
save
(
args
:
any
[],
params
?:
any
,
$event
?:
any
,
xData
?:
any
):
void
{
public
async
save
(
args
:
any
[],
params
?:
any
,
$event
?:
any
,
xData
?:
any
)
{
let
_this
=
this
;
let
promises
:
any
=
[];
_this
.
items
.
forEach
((
item
:
any
)
=>
{
if
(
!
item
.
rowDataState
){
return
;
}
else
if
(
Object
.
is
(
item
.
rowDataState
,
'create'
)){
if
(
!
this
.
createAction
){
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'SYS_ROLEGridView视图表格createAction参数未配置'
});
return
;
}
Object
.
assign
(
item
,{
viewparams
:
this
.
viewparams
});
promises
.
push
(
this
.
service
.
add
(
this
.
createAction
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),
item
,
this
.
showBusyIndicator
));
}
else
if
(
Object
.
is
(
item
.
rowDataState
,
'update'
)){
if
(
!
this
.
updateAction
){
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'SYS_ROLEGridView视图表格updateAction参数未配置'
});
return
;
}
Object
.
assign
(
item
,{
viewparams
:
this
.
viewparams
});
if
(
item
.
sysrole
){
Object
.
assign
(
this
.
context
,{
sysrole
:
item
.
sysrole
})
if
(
!
await
this
.
validateAll
()){
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'值规则校验异常'
});
return
[];
}
let
successItems
:
any
=
[];
let
errorItems
:
any
=
[];
let
errorMessage
:
any
=
[];
for
(
const
item
of
_this
.
items
)
{
try
{
if
(
Object
.
is
(
item
.
rowDataState
,
'create'
)){
if
(
!
this
.
createAction
){
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'SYS_ROLEGridView视图表格createAction参数未配置'
});
}
else
{
Object
.
assign
(
item
,{
viewparams
:
this
.
viewparams
});
let
response
=
await
this
.
service
.
add
(
this
.
createAction
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),
item
,
this
.
showBusyIndicator
);
successItems
.
push
(
JSON
.
parse
(
JSON
.
stringify
(
response
.
data
)));
}
}
else
if
(
Object
.
is
(
item
.
rowDataState
,
'update'
)){
if
(
!
this
.
updateAction
){
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'SYS_ROLEGridView视图表格updateAction参数未配置'
});
}
else
{
Object
.
assign
(
item
,{
viewparams
:
this
.
viewparams
});
if
(
item
.
sysrole
){
Object
.
assign
(
this
.
context
,{
sysrole
:
item
.
sysrole
});
}
let
response
=
await
this
.
service
.
add
(
this
.
updateAction
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),
item
,
this
.
showBusyIndicator
);
successItems
.
push
(
JSON
.
parse
(
JSON
.
stringify
(
response
.
data
)));
}
}
promises
.
push
(
this
.
service
.
add
(
this
.
updateAction
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),
item
,
this
.
showBusyIndicator
));
}
catch
(
error
)
{
errorItems
.
push
(
JSON
.
parse
(
JSON
.
stringify
(
item
)));
errorMessage
.
push
(
error
);
}
});
Promise
.
all
(
promises
).
then
((
response
:
any
)
=>
{
this
.
$emit
(
'save'
,
response
);
}
this
.
$emit
(
'save'
,
successItems
);
this
.
refresh
([]);
if
(
errorItems
.
length
===
0
){
this
.
$Notice
.
success
({
title
:
''
,
desc
:
'保存成功!'
});
this
.
refresh
([]);
}).
catch
((
response
:
any
)
=>
{
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'系统异常'
});
});
}
else
{
errorItems
.
forEach
((
item
:
any
,
index
:
number
)
=>
{
this
.
$Notice
.
error
({
title
:
'保存失败'
,
desc
:
item
.
majorentityname
+
'保存失败!'
});
console
.
error
(
errorMessage
[
index
]);
});
}
return
successItems
;
}
...
...
This diff is collapsed.
Click to expand it.
app_web/src/widgets/sys-user-role/main-grid/main-grid-base.vue
浏览文件 @
6b40c2d2
<
template
>
<div
class=
'grid'
style=
"height:100%;"
>
<el-table
v-if=
"isDisplay === true"
<i-form>
<el-table
v-if=
"isDisplay === true"
:default-sort=
"
{ prop: minorSortPSDEF, order: Object.is(minorSortDir, 'ASC') ? 'ascending' : Object.is(minorSortDir, 'DESC') ? 'descending' : '' }"
@sort-change="onSortChange($event)"
:border="isDragendCol"
...
...
@@ -28,7 +29,7 @@
{{
$t
(
'entities.sysuserrole.main_grid.columns.sys_username'
)
}}
</span>
</
template
>
<
template
v-slot=
"{row,column}"
>
<
template
v-slot=
"{row,column
,$index
}"
>
<app-column-link
deKeyField=
'sysuser'
:context=
"JSON.parse(JSON.stringify(context))"
:viewparams=
"JSON.parse(JSON.stringify(viewparams))"
:data=
"row"
:linkview=
"
{viewname: 'sys-userredirect-view', height: 0,width: 0,title: $t('entities.sysuser.views.redirectview.title'),placement: '', isRedirectView: true,deResParameters: [
]
,parameters: [
...
...
@@ -47,7 +48,7 @@
{{
$t
(
'entities.sysuserrole.main_grid.columns.sys_rolename'
)
}}
</span>
</
template
>
<
template
v-slot=
"{row,column}"
>
<
template
v-slot=
"{row,column
,$index
}"
>
<app-column-link
deKeyField=
'sysrole'
:context=
"JSON.parse(JSON.stringify(context))"
:viewparams=
"JSON.parse(JSON.stringify(viewparams))"
:data=
"row"
:linkview=
"
{viewname: 'sys-roleredirect-view', height: 0,width: 0,title: $t('entities.sysrole.views.redirectview.title'),placement: '', isRedirectView: true,deResParameters: [
]
,parameters: [
...
...
@@ -66,7 +67,7 @@
{{
$t
(
'entities.sysuserrole.main_grid.columns.updatedate'
)
}}
</span>
</
template
>
<
template
v-slot=
"{row,column}"
>
<
template
v-slot=
"{row,column
,$index
}"
>
<app-format-data
format=
"YYYY-MM-DD hh:mm:ss"
:data=
"row.updatedate"
></app-format-data>
</
template
>
</el-table-column>
...
...
@@ -75,6 +76,7 @@
<el-table-column></el-table-column>
</
template
>
</el-table>
</i-form>
<row
class=
'grid-pagination'
v-show=
"items.length > 0"
>
<page
class=
'pull-right'
@
on-change=
"pageOnChange($event)"
@
on-page-size-change=
"onPageSizeChange($event)"
...
...
@@ -122,6 +124,7 @@ import SysUserRoleService from '@/service/sys-user-role/sys-user-role-service';
import
MainService
from
'./main-grid-service'
;
import
CodeListService
from
"@service/app/codelist-service"
;
import
{
FormItemModel
}
from
'@/model/form-detail'
;
@
Component
({
...
...
@@ -569,6 +572,26 @@ export default class MainBase extends Vue implements ControlInterface {
},
]
/**
* 表格模型集合
*
* @type {*}
* @memberof Main
*/
public
gridItemsModel
:
any
[]
=
[];
/**
* 获取表格行模型
*
* @type {*}
* @memberof Main
*/
public
getGridRowModel
(){
return
{
srfkey
:
new
FormItemModel
(),
}
}
/**
* 属性值规则
*
...
...
@@ -582,6 +605,50 @@ export default class MainBase extends Vue implements ControlInterface {
],
}
/**
* 表格行编辑项校验
*
* @param {string} property 属性名
* @param {*} data 行数据
* @param {number} rowIndex 行索引
* @returns Promise<any>
*
* @memberof Main
*/
public
validate
(
property
:
string
,
data
:
any
,
rowIndex
:
number
):
Promise
<
any
>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
this
.
$util
.
validateItem
(
property
,
data
,
this
.
rules
).
then
(()
=>
{
this
.
gridItemsModel
[
rowIndex
][
property
].
setError
(
null
);
resolve
(
true
);
}).
catch
(({
errors
,
fields
})
=>
{
this
.
gridItemsModel
[
rowIndex
][
property
].
setError
(
errors
[
0
].
message
);
resolve
(
false
);
});
});
}
/**
* 校验所有修改过的编辑项
*
* @returns Promise<any>
* @memberof Main
*/
public
async
validateAll
(){
let
validateState
=
true
;
let
index
=
-
1
;
for
(
let
item
of
this
.
items
){
index
++
;
if
(
item
.
rowDataState
===
"create"
||
item
.
rowDataState
===
"update"
){
for
(
let
property
of
Object
.
keys
(
this
.
rules
)){
if
(
!
await
this
.
validate
(
property
,
item
,
index
)){
validateState
=
false
;
}
}
}
}
return
validateState
;
}
/**
* 表格数据加载
*
...
...
@@ -624,8 +691,10 @@ export default class MainBase extends Vue implements ControlInterface {
const
data
:
any
=
response
.
data
;
this
.
totalrow
=
response
.
total
;
this
.
items
=
JSON
.
parse
(
JSON
.
stringify
(
data
));
// 清空selections
// 清空selections
,gridItemsModel
this
.
selections
=
[];
this
.
gridItemsModel
=
[];
this
.
items
.
forEach
(()
=>
{
this
.
gridItemsModel
.
push
(
this
.
getGridRowModel
())});
this
.
$emit
(
'load'
,
this
.
items
);
// 设置默认选中
let
_this
=
this
;
...
...
@@ -674,6 +743,7 @@ export default class MainBase extends Vue implements ControlInterface {
this
.
items
.
some
((
val
:
any
,
num
:
number
)
=>
{
if
(
JSON
.
stringify
(
val
)
==
JSON
.
stringify
(
record
)){
this
.
items
.
splice
(
num
,
1
);
this
.
gridItemsModel
.
splice
(
num
,
1
);
return
true
;
}
});
...
...
@@ -723,9 +793,10 @@ export default class MainBase extends Vue implements ControlInterface {
//删除items中已删除的项
console
.
log
(
this
.
items
);
_datas
.
forEach
((
data
:
any
)
=>
{
this
.
items
.
some
((
item
:
any
,
index
:
number
)
=>
{
if
(
Object
.
is
(
item
.
srfkey
,
data
.
srfkey
)){
this
.
items
.
splice
(
index
,
1
);
this
.
items
.
some
((
item
:
any
,
index
:
number
)
=>
{
if
(
Object
.
is
(
item
.
srfkey
,
data
.
srfkey
)){
this
.
items
.
splice
(
index
,
1
);
this
.
gridItemsModel
.
splice
(
index
,
1
);
return
true
;
}
});
...
...
@@ -1288,41 +1359,56 @@ export default class MainBase extends Vue implements ControlInterface {
* 保存
*
* @param {*} $event
* @returns {
void
}
* @returns {
Promise<any>
}
* @memberof Main
*/
public
save
(
args
:
any
[],
params
?:
any
,
$event
?:
any
,
xData
?:
any
):
void
{
public
async
save
(
args
:
any
[],
params
?:
any
,
$event
?:
any
,
xData
?:
any
)
{
let
_this
=
this
;
let
promises
:
any
=
[];
_this
.
items
.
forEach
((
item
:
any
)
=>
{
if
(
!
item
.
rowDataState
){
return
;
}
else
if
(
Object
.
is
(
item
.
rowDataState
,
'create'
)){
if
(
!
this
.
createAction
){
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'SYS_USER_ROLEGridView视图表格createAction参数未配置'
});
return
;
}
Object
.
assign
(
item
,{
viewparams
:
this
.
viewparams
});
promises
.
push
(
this
.
service
.
add
(
this
.
createAction
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),
item
,
this
.
showBusyIndicator
));
}
else
if
(
Object
.
is
(
item
.
rowDataState
,
'update'
)){
if
(
!
this
.
updateAction
){
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'SYS_USER_ROLEGridView视图表格updateAction参数未配置'
});
return
;
}
Object
.
assign
(
item
,{
viewparams
:
this
.
viewparams
});
if
(
item
.
sysuserrole
){
Object
.
assign
(
this
.
context
,{
sysuserrole
:
item
.
sysuserrole
})
if
(
!
await
this
.
validateAll
()){
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'值规则校验异常'
});
return
[];
}
let
successItems
:
any
=
[];
let
errorItems
:
any
=
[];
let
errorMessage
:
any
=
[];
for
(
const
item
of
_this
.
items
)
{
try
{
if
(
Object
.
is
(
item
.
rowDataState
,
'create'
)){
if
(
!
this
.
createAction
){
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'SYS_USER_ROLEGridView视图表格createAction参数未配置'
});
}
else
{
Object
.
assign
(
item
,{
viewparams
:
this
.
viewparams
});
let
response
=
await
this
.
service
.
add
(
this
.
createAction
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),
item
,
this
.
showBusyIndicator
);
successItems
.
push
(
JSON
.
parse
(
JSON
.
stringify
(
response
.
data
)));
}
}
else
if
(
Object
.
is
(
item
.
rowDataState
,
'update'
)){
if
(
!
this
.
updateAction
){
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'SYS_USER_ROLEGridView视图表格updateAction参数未配置'
});
}
else
{
Object
.
assign
(
item
,{
viewparams
:
this
.
viewparams
});
if
(
item
.
sysuserrole
){
Object
.
assign
(
this
.
context
,{
sysuserrole
:
item
.
sysuserrole
});
}
let
response
=
await
this
.
service
.
add
(
this
.
updateAction
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),
item
,
this
.
showBusyIndicator
);
successItems
.
push
(
JSON
.
parse
(
JSON
.
stringify
(
response
.
data
)));
}
}
promises
.
push
(
this
.
service
.
add
(
this
.
updateAction
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),
item
,
this
.
showBusyIndicator
));
}
catch
(
error
)
{
errorItems
.
push
(
JSON
.
parse
(
JSON
.
stringify
(
item
)));
errorMessage
.
push
(
error
);
}
});
Promise
.
all
(
promises
).
then
((
response
:
any
)
=>
{
this
.
$emit
(
'save'
,
response
);
}
this
.
$emit
(
'save'
,
successItems
);
this
.
refresh
([]);
if
(
errorItems
.
length
===
0
){
this
.
$Notice
.
success
({
title
:
''
,
desc
:
'保存成功!'
});
this
.
refresh
([]);
}).
catch
((
response
:
any
)
=>
{
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'系统异常'
});
});
}
else
{
errorItems
.
forEach
((
item
:
any
,
index
:
number
)
=>
{
this
.
$Notice
.
error
({
title
:
'保存失败'
,
desc
:
item
.
majorentityname
+
'保存失败!'
});
console
.
error
(
errorMessage
[
index
]);
});
}
return
successItems
;
}
...
...
This diff is collapsed.
Click to expand it.
app_web/src/widgets/sys-user/main-grid/main-grid-base.vue
浏览文件 @
6b40c2d2
<
template
>
<div
class=
'grid'
style=
"height:100%;"
>
<el-table
v-if=
"isDisplay === true"
<i-form>
<el-table
v-if=
"isDisplay === true"
:default-sort=
"
{ prop: minorSortPSDEF, order: Object.is(minorSortDir, 'ASC') ? 'ascending' : Object.is(minorSortDir, 'DESC') ? 'descending' : '' }"
@sort-change="onSortChange($event)"
:border="isDragendCol"
...
...
@@ -28,7 +29,7 @@
{{
$t
(
'entities.sysuser.main_grid.columns.userid'
)
}}
</span>
</
template
>
<
template
v-slot=
"{row,column}"
>
<
template
v-slot=
"{row,column
,$index
}"
>
<span>
{{
row
.
userid
}}
</span>
</
template
>
</el-table-column>
...
...
@@ -40,7 +41,7 @@
{{
$t
(
'entities.sysuser.main_grid.columns.username'
)
}}
</span>
</
template
>
<
template
v-slot=
"{row,column}"
>
<
template
v-slot=
"{row,column
,$index
}"
>
<span>
{{
row
.
username
}}
</span>
</
template
>
</el-table-column>
...
...
@@ -52,7 +53,7 @@
{{
$t
(
'entities.sysuser.main_grid.columns.personname'
)
}}
</span>
</
template
>
<
template
v-slot=
"{row,column}"
>
<
template
v-slot=
"{row,column
,$index
}"
>
<span>
{{
row
.
personname
}}
</span>
</
template
>
</el-table-column>
...
...
@@ -61,6 +62,7 @@
<el-table-column></el-table-column>
</
template
>
</el-table>
</i-form>
<row
class=
'grid-pagination'
v-show=
"items.length > 0"
>
<page
class=
'pull-right'
@
on-change=
"pageOnChange($event)"
@
on-page-size-change=
"onPageSizeChange($event)"
...
...
@@ -108,6 +110,7 @@ import SysUserService from '@/service/sys-user/sys-user-service';
import
MainService
from
'./main-grid-service'
;
import
CodeListService
from
"@service/app/codelist-service"
;
import
{
FormItemModel
}
from
'@/model/form-detail'
;
@
Component
({
...
...
@@ -555,6 +558,26 @@ export default class MainBase extends Vue implements ControlInterface {
},
]
/**
* 表格模型集合
*
* @type {*}
* @memberof Main
*/
public
gridItemsModel
:
any
[]
=
[];
/**
* 获取表格行模型
*
* @type {*}
* @memberof Main
*/
public
getGridRowModel
(){
return
{
srfkey
:
new
FormItemModel
(),
}
}
/**
* 属性值规则
*
...
...
@@ -568,6 +591,50 @@ export default class MainBase extends Vue implements ControlInterface {
],
}
/**
* 表格行编辑项校验
*
* @param {string} property 属性名
* @param {*} data 行数据
* @param {number} rowIndex 行索引
* @returns Promise<any>
*
* @memberof Main
*/
public
validate
(
property
:
string
,
data
:
any
,
rowIndex
:
number
):
Promise
<
any
>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
this
.
$util
.
validateItem
(
property
,
data
,
this
.
rules
).
then
(()
=>
{
this
.
gridItemsModel
[
rowIndex
][
property
].
setError
(
null
);
resolve
(
true
);
}).
catch
(({
errors
,
fields
})
=>
{
this
.
gridItemsModel
[
rowIndex
][
property
].
setError
(
errors
[
0
].
message
);
resolve
(
false
);
});
});
}
/**
* 校验所有修改过的编辑项
*
* @returns Promise<any>
* @memberof Main
*/
public
async
validateAll
(){
let
validateState
=
true
;
let
index
=
-
1
;
for
(
let
item
of
this
.
items
){
index
++
;
if
(
item
.
rowDataState
===
"create"
||
item
.
rowDataState
===
"update"
){
for
(
let
property
of
Object
.
keys
(
this
.
rules
)){
if
(
!
await
this
.
validate
(
property
,
item
,
index
)){
validateState
=
false
;
}
}
}
}
return
validateState
;
}
/**
* 表格数据加载
*
...
...
@@ -610,8 +677,10 @@ export default class MainBase extends Vue implements ControlInterface {
const
data
:
any
=
response
.
data
;
this
.
totalrow
=
response
.
total
;
this
.
items
=
JSON
.
parse
(
JSON
.
stringify
(
data
));
// 清空selections
// 清空selections
,gridItemsModel
this
.
selections
=
[];
this
.
gridItemsModel
=
[];
this
.
items
.
forEach
(()
=>
{
this
.
gridItemsModel
.
push
(
this
.
getGridRowModel
())});
this
.
$emit
(
'load'
,
this
.
items
);
// 设置默认选中
let
_this
=
this
;
...
...
@@ -660,6 +729,7 @@ export default class MainBase extends Vue implements ControlInterface {
this
.
items
.
some
((
val
:
any
,
num
:
number
)
=>
{
if
(
JSON
.
stringify
(
val
)
==
JSON
.
stringify
(
record
)){
this
.
items
.
splice
(
num
,
1
);
this
.
gridItemsModel
.
splice
(
num
,
1
);
return
true
;
}
});
...
...
@@ -709,9 +779,10 @@ export default class MainBase extends Vue implements ControlInterface {
//删除items中已删除的项
console
.
log
(
this
.
items
);
_datas
.
forEach
((
data
:
any
)
=>
{
this
.
items
.
some
((
item
:
any
,
index
:
number
)
=>
{
if
(
Object
.
is
(
item
.
srfkey
,
data
.
srfkey
)){
this
.
items
.
splice
(
index
,
1
);
this
.
items
.
some
((
item
:
any
,
index
:
number
)
=>
{
if
(
Object
.
is
(
item
.
srfkey
,
data
.
srfkey
)){
this
.
items
.
splice
(
index
,
1
);
this
.
gridItemsModel
.
splice
(
index
,
1
);
return
true
;
}
});
...
...
@@ -1274,41 +1345,56 @@ export default class MainBase extends Vue implements ControlInterface {
* 保存
*
* @param {*} $event
* @returns {
void
}
* @returns {
Promise<any>
}
* @memberof Main
*/
public
save
(
args
:
any
[],
params
?:
any
,
$event
?:
any
,
xData
?:
any
):
void
{
public
async
save
(
args
:
any
[],
params
?:
any
,
$event
?:
any
,
xData
?:
any
)
{
let
_this
=
this
;
let
promises
:
any
=
[];
_this
.
items
.
forEach
((
item
:
any
)
=>
{
if
(
!
item
.
rowDataState
){
return
;
}
else
if
(
Object
.
is
(
item
.
rowDataState
,
'create'
)){
if
(
!
this
.
createAction
){
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'SYS_USERGridView视图表格createAction参数未配置'
});
return
;
}
Object
.
assign
(
item
,{
viewparams
:
this
.
viewparams
});
promises
.
push
(
this
.
service
.
add
(
this
.
createAction
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),
item
,
this
.
showBusyIndicator
));
}
else
if
(
Object
.
is
(
item
.
rowDataState
,
'update'
)){
if
(
!
this
.
updateAction
){
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'SYS_USERGridView视图表格updateAction参数未配置'
});
return
;
}
Object
.
assign
(
item
,{
viewparams
:
this
.
viewparams
});
if
(
item
.
sysuser
){
Object
.
assign
(
this
.
context
,{
sysuser
:
item
.
sysuser
})
if
(
!
await
this
.
validateAll
()){
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'值规则校验异常'
});
return
[];
}
let
successItems
:
any
=
[];
let
errorItems
:
any
=
[];
let
errorMessage
:
any
=
[];
for
(
const
item
of
_this
.
items
)
{
try
{
if
(
Object
.
is
(
item
.
rowDataState
,
'create'
)){
if
(
!
this
.
createAction
){
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'SYS_USERGridView视图表格createAction参数未配置'
});
}
else
{
Object
.
assign
(
item
,{
viewparams
:
this
.
viewparams
});
let
response
=
await
this
.
service
.
add
(
this
.
createAction
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),
item
,
this
.
showBusyIndicator
);
successItems
.
push
(
JSON
.
parse
(
JSON
.
stringify
(
response
.
data
)));
}
}
else
if
(
Object
.
is
(
item
.
rowDataState
,
'update'
)){
if
(
!
this
.
updateAction
){
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'SYS_USERGridView视图表格updateAction参数未配置'
});
}
else
{
Object
.
assign
(
item
,{
viewparams
:
this
.
viewparams
});
if
(
item
.
sysuser
){
Object
.
assign
(
this
.
context
,{
sysuser
:
item
.
sysuser
});
}
let
response
=
await
this
.
service
.
add
(
this
.
updateAction
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),
item
,
this
.
showBusyIndicator
);
successItems
.
push
(
JSON
.
parse
(
JSON
.
stringify
(
response
.
data
)));
}
}
promises
.
push
(
this
.
service
.
add
(
this
.
updateAction
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),
item
,
this
.
showBusyIndicator
));
}
catch
(
error
)
{
errorItems
.
push
(
JSON
.
parse
(
JSON
.
stringify
(
item
)));
errorMessage
.
push
(
error
);
}
});
Promise
.
all
(
promises
).
then
((
response
:
any
)
=>
{
this
.
$emit
(
'save'
,
response
);
}
this
.
$emit
(
'save'
,
successItems
);
this
.
refresh
([]);
if
(
errorItems
.
length
===
0
){
this
.
$Notice
.
success
({
title
:
''
,
desc
:
'保存成功!'
});
this
.
refresh
([]);
}).
catch
((
response
:
any
)
=>
{
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'系统异常'
});
});
}
else
{
errorItems
.
forEach
((
item
:
any
,
index
:
number
)
=>
{
this
.
$Notice
.
error
({
title
:
'保存失败'
,
desc
:
item
.
majorentityname
+
'保存失败!'
});
console
.
error
(
errorMessage
[
index
]);
});
}
return
successItems
;
}
...
...
This diff is collapsed.
Click to expand it.
app_web/yarn.lock
浏览文件 @
6b40c2d2
...
...
@@ -2089,6 +2089,11 @@ async-validator@^1.10.0:
resolved "https://registry.yarnpkg.com/async-validator/-/async-validator-1.12.2.tgz#beae671e7174d2938b7b4b69d2fb7e722b7fd72c"
integrity sha512-57EETfCPFiB7M4QscvQzWSGNsmtkjjzZv318SK1CBlstk+hycV72ocjriMOOM48HjvmoAoJGpJNjC7Z76RlnZA==
async-validator@^3.3.0:
version "3.3.0"
resolved "https://registry.yarnpkg.com/async-validator/-/async-validator-3.3.0.tgz#1d92193bbe60d6d6c8b246692c7005e9ed14a8ee"
integrity sha512-cAHGD9EL8aCqWXjnb44q94MWiDFzUo1tMhvLb2WzcpWqGiKugsjWG9cvl+jPgkPca7asNbsBU3fa0cwkI/P+Xg==
async-validator@~1.8.1:
version "1.8.5"
resolved "https://registry.yarnpkg.com/async-validator/-/async-validator-1.8.5.tgz#dc3e08ec1fd0dddb67e60842f02c0cd1cec6d7f0"
...
...
@@ -5233,10 +5238,10 @@ human-signals@^1.1.1:
resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3"
integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==
ibiz-gantt-elastic@^1.0.1
3
:
version "1.0.1
3
"
resolved "https://registry.yarnpkg.com/ibiz-gantt-elastic/-/ibiz-gantt-elastic-1.0.1
3.tgz#420751337f7d4352df7f351a72ba0e13551bdf23
"
integrity sha512-
floFaw93UNo9y/9BAExApvz8ATuUuxv2bOUOUbj9jvqY5WkWFKo4C9Bmu4779M5foTHy6SGWItNgZnvbm8i0QQ
==
ibiz-gantt-elastic@^1.0.1
5
:
version "1.0.1
5
"
resolved "https://registry.yarnpkg.com/ibiz-gantt-elastic/-/ibiz-gantt-elastic-1.0.1
5.tgz#e57736254aaf5baea28225bce2d29d8bd8adcc2d
"
integrity sha512-
V3uLoN3BN32BagpV1kLm4nFSs4neJ/Cnykd7OIyLv11rjqTWFAENHBpZekioPFF4k2iCyAdRr5smzZbGJdSQxg
==
dependencies:
dayjs "^1.8.16"
resize-observer-polyfill "^1.5.1"
...
...
@@ -5244,10 +5249,10 @@ ibiz-gantt-elastic@^1.0.13:
vue-slider-component "^3.0.40"
vue-switches "^2.0.1"
ibiz-vue-lib@^0.1.
7
:
version "0.1.
7
"
resolved "https://registry.yarnpkg.com/ibiz-vue-lib/-/ibiz-vue-lib-0.1.
7.tgz#33d51fd08f9e527b5576910c7314f6803714ff37
"
integrity sha512-
EFreVH9JOVSyIZY/1ZRrIYYlfBWCEZnDKeAs1339SZa1IhaJ06kzpwziOENc4vzGBDh+ps11LJLAWrIjUEjVL
Q==
ibiz-vue-lib@^0.1.
9
:
version "0.1.
9
"
resolved "https://registry.yarnpkg.com/ibiz-vue-lib/-/ibiz-vue-lib-0.1.
9.tgz#d7088deb5577af3095887ca897c1710bae174682
"
integrity sha512-
CotV3xIB04+QUUeMlfsVj5BseVPQ+IHyKdwU+MXGh+2e91Nt7N/z/LElakhAiGkSpaaKoMdlKCOdhD0qqJ3wN
Q==
dependencies:
axios "^0.19.2"
core-js "^3.6.4"
...
...
@@ -9103,6 +9108,11 @@ sort-keys@^1.0.0:
dependencies:
is-plain-obj "^1.0.0"
sortablejs@^1.10.1:
version "1.10.2"
resolved "https://registry.yarnpkg.com/sortablejs/-/sortablejs-1.10.2.tgz#6e40364d913f98b85a14f6678f92b5c1221f5290"
integrity sha512-YkPGufevysvfwn5rfdlGyrGjt7/CRHwvRPogD/lC+TnvcN29jDpCifKP+rBqf+LRldfXSTh+0CGLcSg0VIxq3A==
source-list-map@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34"
...
...
@@ -10225,6 +10235,13 @@ vue@^2.2.6, vue@^2.6.10, vue@^2.6.11:
resolved "https://registry.yarnpkg.com/vue/-/vue-2.6.11.tgz#76594d877d4b12234406e84e35275c6d514125c5"
integrity sha512-VfPwgcGABbGAue9+sfrD4PuwFar7gPb1yl1UK1MwXoQPAw0BKSqWfoYCT/ThFrdEVWoI51dBuyCoiNU9bZDZxQ==
vuedraggable@^2.23.2:
version "2.23.2"
resolved "https://registry.yarnpkg.com/vuedraggable/-/vuedraggable-2.23.2.tgz#0d95d7fdf4f02f56755a26b3c9dca5c7ca9cfa72"
integrity sha512-PgHCjUpxEAEZJq36ys49HfQmXglattf/7ofOzUrW2/rRdG7tu6fK84ir14t1jYv4kdXewTEa2ieKEAhhEMdwkQ==
dependencies:
sortablejs "^1.10.1"
vuex@^3.1.2:
version "3.1.2"
resolved "https://registry.yarnpkg.com/vuex/-/vuex-3.1.2.tgz#a2863f4005aa73f2587e55c3fadf3f01f69c7d4d"
...
...
This diff is collapsed.
Click to expand it.
config.xml
浏览文件 @
6b40c2d2
...
...
@@ -37,11 +37,11 @@
git clone -b master $para2 ibzuaa/
export NODE_OPTIONS=--max-old-space-size=4096
cd ibzuaa/
mvn clean package -P
api
cd ibzuaa-
provider/ibzuaa-provider-api
mvn -P
api
docker:build
mvn -P
api
docker:push
docker -H $para1 stack deploy --compose-file=src/main/docker/ibzuaa-
provider-api.yaml ibzlab-rt --with-registry-auth
mvn clean package -P
web
cd ibzuaa-
app/ibzuaa-app-web
mvn -P
web
docker:build
mvn -P
web
docker:push
docker -H $para1 stack deploy --compose-file=src/main/docker/ibzuaa-
app-web.yaml ibzlab-rt --with-registry-auth
</command>
</hudson.tasks.Shell>
</builders>
...
...
This diff is collapsed.
Click to expand it.
ibzuaa-app/ibzuaa-app-web/src/main/docker/Dockerfile
浏览文件 @
6b40c2d2
...
...
@@ -9,6 +9,6 @@ CMD echo "The application will start in ${IBZ_SLEEP}s..." && \
sleep ${IBZ_SLEEP} && \
java ${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom -jar /ibzuaa-app-web.jar
EXPOSE
8080
EXPOSE
30002
ADD
ibzuaa-app-web.jar /ibzuaa-app-web.jar
This diff is collapsed.
Click to expand it.
ibzuaa-app/ibzuaa-app-web/src/main/docker/ibzuaa-app-web.yaml
浏览文件 @
6b40c2d2
...
...
@@ -3,9 +3,23 @@ services:
ibzuaa-app-web
:
image
:
registry.cn-shanghai.aliyuncs.com/ibizsys/ibzuaa-app-web:latest
ports
:
-
"
8080:8080
"
-
"
30002:30002
"
networks
:
-
agent_network
environment
:
-
SPRING_CLOUD_NACOS_DISCOVERY_IP=172.16.180.237
-
SERVER_PORT=30002
-
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
-
SPRING_DATASOURCE_DRIVER-CLASS-NAME=com.mysql.jdbc.Driver
-
SPRING_DATASOURCE_DEFAULTSCHEMA=a_A_5d9d78509
-
ABC=1
-
DEC=2
deploy
:
mode
:
replicated
replicas
:
1
...
...
This diff is collapsed.
Click to expand it.
ibzuaa-provider/ibzuaa-provider-api/src/main/docker/Dockerfile
浏览文件 @
6b40c2d2
...
...
@@ -9,6 +9,6 @@ CMD echo "The application will start in ${IBZ_SLEEP}s..." && \
sleep ${IBZ_SLEEP} && \
java ${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom -jar /ibzuaa-provider-api.jar
EXPOSE
40002
EXPOSE
8081
ADD
ibzuaa-provider-api.jar /ibzuaa-provider-api.jar
This diff is collapsed.
Click to expand it.
ibzuaa-provider/ibzuaa-provider-api/src/main/docker/ibzuaa-provider-api.yaml
浏览文件 @
6b40c2d2
...
...
@@ -3,21 +3,9 @@ services:
ibzuaa-provider-api
:
image
:
registry.cn-shanghai.aliyuncs.com/ibizsys/ibzuaa-provider-api:latest
ports
:
-
"
40002:40002
"
-
"
8081:8081
"
networks
:
-
agent_network
environment
:
-
SPRING_CLOUD_NACOS_DISCOVERY_IP=172.16.180.237
-
SERVER_PORT=40002
-
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
-
SPRING_DATASOURCE_DRIVER-CLASS-NAME=com.mysql.jdbc.Driver
-
SPRING_DATASOURCE_DEFAULTSCHEMA=a_A_5d9d78509
deploy
:
mode
:
replicated
replicas
:
1
...
...
This diff is collapsed.
Click to expand it.
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录