Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
I
ibzuaa
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
ibiz4jteam
ibzuaa
提交
48a73aa6
提交
48a73aa6
编写于
6月 08, 2020
作者:
ibizdev
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
ibiz4j 发布系统代码
上级
de730e3d
变更
23
隐藏空白字符变更
内嵌
并排
正在显示
23 个修改的文件
包含
685 行增加
和
221 行删除
+685
-221
app-register.ts
app_web/src/app-register.ts
+2
-0
app-autocomplete.vue
app_web/src/components/app-autocomplete/app-autocomplete.vue
+20
-12
app-checkbox-list.vue
...eb/src/components/app-checkbox-list/app-checkbox-list.vue
+22
-14
app-embed-picker.vue
app_web/src/components/app-embed-picker/app-embed-picker.vue
+26
-22
app-mpicker.vue
app_web/src/components/app-mpicker/app-mpicker.vue
+22
-14
app-picker-select-view.vue
...ponents/app-picker-select-view/app-picker-select-view.vue
+58
-53
app-picker.vue
app_web/src/components/app-picker/app-picker.vue
+14
-9
app-radio-group.vue
app_web/src/components/app-radio-group/app-radio-group.vue
+22
-14
app-span.vue
app_web/src/components/app-span/app-span.vue
+12
-4
app-transfer.less
app_web/src/components/app-transfer/app-transfer.less
+6
-0
app-transfer.vue
app_web/src/components/app-transfer/app-transfer.vue
+300
-0
app-tree-picker.vue
app_web/src/components/app-tree-picker/app-tree-picker.vue
+32
-28
codelist.vue
app_web/src/components/codelist/codelist.vue
+16
-8
dropdown-list-dynamic.vue
...omponents/dropdown-list-dynamic/dropdown-list-dynamic.vue
+15
-7
dropdown-list-mpicker.vue
...omponents/dropdown-list-mpicker/dropdown-list-mpicker.vue
+16
-8
dropdown-list.vue
app_web/src/components/dropdown-list/dropdown-list.vue
+14
-6
shims-vue.d.ts
app_web/src/shims-vue.d.ts
+2
-1
util.d.ts
app_web/src/utils/types/util.d.ts
+14
-0
util.ts
app_web/src/utils/util/util.ts
+38
-0
default-searchform-base.vue
...s-auth-log/default-searchform/default-searchform-base.vue
+4
-2
main-form-base.vue
.../widgets/sys-role-permission/main-form/main-form-base.vue
+4
-2
main-form-base.vue
...eb/src/widgets/sys-user-role/main-form/main-form-base.vue
+6
-8
pom.xml
ibzuaa-dependencies/pom.xml
+20
-9
未找到文件。
app_web/src/app-register.ts
浏览文件 @
48a73aa6
...
...
@@ -77,6 +77,7 @@ import IBizGroupSelect from './components/ibiz-group-select/ibiz-group-select.vu
import
IBizGroupPicker
from
'./components/ibiz-group-picker/ibiz-group-picker.vue'
import
AppWFApproval
from
'./components/app-wf-approval/app-wf-approval.vue'
import
Breadcrumb
from
'./components/app-breadcrumb/app-breadcrumb.vue'
;
import
AppTransfer
from
'./components/app-transfer/app-transfer.vue'
// 全局挂载UI实体服务注册中心
window
[
'uiServiceRegister'
]
=
uiServiceRegister
;
...
...
@@ -163,5 +164,6 @@ export const AppComponents = {
v
.
component
(
'ibiz-group-picker'
,
IBizGroupPicker
);
v
.
component
(
'app-wf-approval'
,
AppWFApproval
);
v
.
component
(
'app-breadcrumb'
,
Breadcrumb
);
v
.
component
(
'app-transfer'
,
AppTransfer
);
},
};
\ No newline at end of file
app_web/src/components/app-autocomplete/app-autocomplete.vue
浏览文件 @
48a73aa6
...
...
@@ -100,12 +100,20 @@ export default class AppAutocomplete extends Vue {
@
Prop
()
public
name
!
:
string
;
/**
*
编辑器
参数
*
* @type {
string
}
*
局部上下文导航
参数
*
* @type {
any
}
* @memberof AppAutocomplete
*/
@
Prop
()
public
itemParam
?:
any
;
@
Prop
()
public
localContext
!
:
any
;
/**
* 局部导航参数
*
* @type {any}
* @memberof AppAutocomplete
*/
@
Prop
()
public
localParam
!
:
any
;
/**
* 值项名称
...
...
@@ -119,7 +127,7 @@ export default class AppAutocomplete extends Vue {
* 值
*
* @type {*}
* @memberof App
Picker
* @memberof App
Autocomplete
*/
@
Model
(
'change'
)
public
value
?:
any
;
...
...
@@ -127,7 +135,7 @@ export default class AppAutocomplete extends Vue {
* 当前值
*
* @type {string}
* @memberof App
Picker
* @memberof App
Autocomplete
*/
public
curvalue
:
string
=
''
;
...
...
@@ -160,7 +168,7 @@ export default class AppAutocomplete extends Vue {
*
* @param {*} newVal
* @param {*} oldVal
* @memberof App
Picker
* @memberof App
Autocomplete
*/
@
Watch
(
'value'
)
public
onValueChange
(
newVal
:
any
,
oldVal
:
any
)
{
...
...
@@ -277,19 +285,19 @@ export default class AppAutocomplete extends Vue {
*/
public
handlePublicParams
(
arg
:
any
):
boolean
{
if
(
!
this
.
data
)
{
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'components.
appPicker.error'
)
as
any
),
desc
:
(
this
.
$t
(
'components.appPicker
.formdataException'
)
as
any
)
});
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'components.
AppAutocomplete.error'
)
as
any
),
desc
:
(
this
.
$t
(
'components.AppAutocomplete
.formdataException'
)
as
any
)
});
return
false
;
}
// 合并表单参数
arg
.
param
=
this
.
viewparams
?
JSON
.
parse
(
JSON
.
stringify
(
this
.
viewparams
))
:
{};
arg
.
context
=
this
.
context
?
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
))
:
{};
// 附加参数处理
if
(
this
.
itemParam
&&
this
.
itemParam
.
context
)
{
let
_context
=
this
.
$util
.
formatData
(
this
.
data
,
arg
.
context
,
this
.
itemParam
.
c
ontext
);
if
(
this
.
localContext
&&
Object
.
keys
(
this
.
localContext
).
length
>
0
)
{
let
_context
=
this
.
$util
.
computedNavData
(
this
.
data
,
arg
.
context
,
arg
.
param
,
this
.
localC
ontext
);
Object
.
assign
(
arg
.
context
,
_context
);
}
if
(
this
.
itemParam
&&
this
.
itemParam
.
param
)
{
let
_param
=
this
.
$util
.
formatData
(
this
.
data
,
arg
.
param
,
this
.
itemParam
.
p
aram
);
if
(
this
.
localParam
&&
Object
.
keys
(
this
.
localParam
).
length
>
0
)
{
let
_param
=
this
.
$util
.
computedNavData
(
this
.
data
,
arg
.
param
,
arg
.
param
,
this
.
localP
aram
);
Object
.
assign
(
arg
.
param
,
_param
);
}
return
true
;
...
...
app_web/src/components/app-checkbox-list/app-checkbox-list.vue
浏览文件 @
48a73aa6
...
...
@@ -57,23 +57,31 @@ export default class AppCheckBox extends Vue {
* 传入表单数据
*
* @type {*}
* @memberof
DropDownList
* @memberof
AppCheckBox
*/
@
Prop
()
public
data
?:
any
;
/**
* 传入额外参数
*
* @type {*}
* @memberof DropDownList
* 局部上下文导航参数
*
* @type {any}
* @memberof AppCheckBox
*/
@
Prop
()
public
localContext
!
:
any
;
/**
* 局部导航参数
*
* @type {any}
* @memberof AppCheckBox
*/
@
Prop
()
public
itemParam
?:
any
;
@
Prop
()
public
localParam
!
:
any
;
/**
* 视图上下文
*
* @type {*}
* @memberof App
Autocomplete
* @memberof App
CheckBox
*/
@
Prop
()
public
context
!
:
any
;
...
...
@@ -81,7 +89,7 @@ export default class AppCheckBox extends Vue {
* 视图参数
*
* @type {*}
* @memberof App
FormDRUIPart
* @memberof App
CheckBox
*/
@
Prop
()
public
viewparams
!
:
any
;
...
...
@@ -203,19 +211,19 @@ export default class AppCheckBox extends Vue {
*
* @param {*} arg
* @returns
* @memberof
DropDownList
* @memberof
AppCheckBox
*/
public
handlePublicParams
(
arg
:
any
)
{
// 合并表单参数
arg
.
param
=
this
.
viewparams
?
JSON
.
parse
(
JSON
.
stringify
(
this
.
viewparams
))
:
{};
arg
.
context
=
this
.
context
?
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
))
:
{};
// 附加参数处理
if
(
this
.
itemParam
&&
this
.
itemParam
.
context
)
{
let
_context
=
this
.
$util
.
formatData
(
this
.
data
,
arg
.
context
,
this
.
itemParam
.
c
ontext
);
if
(
this
.
localContext
&&
Object
.
keys
(
this
.
localContext
).
length
>
0
)
{
let
_context
=
this
.
$util
.
computedNavData
(
this
.
data
,
arg
.
context
,
arg
.
param
,
this
.
localC
ontext
);
Object
.
assign
(
arg
.
context
,
_context
);
}
if
(
this
.
itemParam
&&
this
.
itemParam
.
param
)
{
let
_param
=
this
.
$util
.
formatData
(
this
.
data
,
arg
.
param
,
this
.
itemParam
.
p
aram
);
if
(
this
.
localParam
&&
Object
.
keys
(
this
.
localParam
).
length
>
0
)
{
let
_param
=
this
.
$util
.
computedNavData
(
this
.
data
,
arg
.
param
,
arg
.
param
,
this
.
localP
aram
);
Object
.
assign
(
arg
.
param
,
_param
);
}
}
...
...
@@ -253,7 +261,7 @@ export default class AppCheckBox extends Vue {
/**
* 监听表单数据变化
*
* @memberof App
OrgSelect
* @memberof App
CheckBox
*/
@
Watch
(
'data'
,{
immediate
:
true
,
deep
:
true
})
onDataChange
(
newVal
:
any
,
oldVal
:
any
)
{
...
...
app_web/src/components/app-embed-picker/app-embed-picker.vue
浏览文件 @
48a73aa6
...
...
@@ -62,7 +62,7 @@ export default class AppEmbedPicker extends Vue {
* 表单数据
*
* @type {*}
* @memberof AppPicker
* @memberof App
Embed
Picker
*/
@
Prop
()
public
data
!
:
any
;
...
...
@@ -95,7 +95,7 @@ export default class AppEmbedPicker extends Vue {
* 值项名称
*
* @type {string}
* @memberof AppPicker
* @memberof App
Embed
Picker
*/
@
Prop
()
public
valueItem
?:
string
;
...
...
@@ -103,7 +103,7 @@ export default class AppEmbedPicker extends Vue {
* 关联视图名称
*
* @type {string}
* @memberof AppPicker
* @memberof App
Embed
Picker
*/
@
Prop
()
public
refviewname
?:
string
;
...
...
@@ -127,17 +127,25 @@ export default class AppEmbedPicker extends Vue {
* 属性项名称
*
* @type {string}
* @memberof AppPicker
* @memberof App
Embed
Picker
*/
@
Prop
()
public
name
!
:
string
;
/**
*
关联视图
参数
*
* @type {
*
}
*
局部上下文导航
参数
*
* @type {
any
}
* @memberof AppEmbedPicker
*/
@
Prop
()
public
itemParam
:
any
;
@
Prop
()
public
localContext
!
:
any
;
/**
* 局部导航参数
*
* @type {any}
* @memberof AppEmbedPicker
*/
@
Prop
()
public
localParam
!
:
any
;
/**
* 是否忽略之变化
...
...
@@ -160,8 +168,8 @@ export default class AppEmbedPicker extends Vue {
*
* @memberof AppEmbedPicker
*/
public
setViewParam
(
activeData
:
any
)
{
if
(
!
this
.
itemParam
||
!
activeD
ata
)
{
public
setViewParam
()
{
if
(
!
this
.
d
ata
)
{
return
;
}
let
arg
:
any
=
{};
...
...
@@ -169,17 +177,13 @@ export default class AppEmbedPicker extends Vue {
let
param
:
any
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
viewparams
));
let
context
:
any
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
));
// 附加参数处理
if
(
this
.
itemParam
.
context
)
{
let
_context
=
this
.
$util
.
formatData
(
activeData
,
context
,
this
.
itemParam
.
context
);
Object
.
assign
(
context
,
_context
);
}
if
(
this
.
itemParam
.
param
)
{
let
_param
=
this
.
$util
.
formatData
(
activeData
,
param
,
this
.
itemParam
.
param
);
Object
.
assign
(
param
,
_param
);
if
(
this
.
localContext
&&
Object
.
keys
(
this
.
localContext
).
length
>
0
)
{
let
_context
=
this
.
$util
.
computedNavData
(
this
.
data
,
arg
.
context
,
arg
.
param
,
this
.
localContext
);
Object
.
assign
(
arg
.
context
,
_context
);
}
if
(
this
.
itemParam
.
parentdata
)
{
let
_par
entdata
=
this
.
$util
.
formatData
(
activeData
,
param
,
this
.
itemParam
.
parentdata
);
Object
.
assign
(
param
,
_parentdata
);
if
(
this
.
localParam
&&
Object
.
keys
(
this
.
localParam
).
length
>
0
)
{
let
_par
am
=
this
.
$util
.
computedNavData
(
this
.
data
,
arg
.
param
,
arg
.
param
,
this
.
localParam
);
Object
.
assign
(
arg
.
param
,
_param
);
}
this
.
viewdata
=
JSON
.
stringify
(
context
);
this
.
viewparam
=
JSON
.
stringify
(
param
);
...
...
@@ -196,7 +200,7 @@ export default class AppEmbedPicker extends Vue {
onActivedataChange
(
newVal
:
any
,
oldVal
:
any
)
{
const
newFormData
:
any
=
JSON
.
parse
(
newVal
);
const
oldDormData
:
any
=
JSON
.
parse
(
oldVal
);
this
.
setViewParam
(
newFormData
);
this
.
setViewParam
();
if
(
!
this
.
refreshitems
||
this
.
ignorefieldvaluechange
)
{
return
;
}
...
...
@@ -215,7 +219,7 @@ export default class AppEmbedPicker extends Vue {
if
(
this
.
formState
)
{
this
.
formStateEvent
=
this
.
formState
.
subscribe
(({
tag
,
action
,
data
})
=>
{
if
(
Object
.
is
(
'load'
,
action
))
{
this
.
setViewParam
(
JSON
.
parse
(
this
.
data
)
);
this
.
setViewParam
();
}
});
}
...
...
app_web/src/components/app-mpicker/app-mpicker.vue
浏览文件 @
48a73aa6
...
...
@@ -45,12 +45,20 @@ export default class AppMpicker extends Vue {
@
Prop
()
curvalue
?:
any
;
/**
*
表单项
参数
*
局部上下文导航
参数
*
* @type {any}
* @memberof AppPicker
* @memberof AppMpicker
*/
@
Prop
()
public
localContext
!
:
any
;
/**
* 局部导航参数
*
* @type {any}
* @memberof AppMpicker
*/
@
Prop
()
public
itemParam
:
any
;
@
Prop
()
public
localParam
!
:
any
;
/**
* 表单项名称
...
...
@@ -61,7 +69,7 @@ export default class AppMpicker extends Vue {
* 视图上下文
*
* @type {*}
* @memberof App
FormDRUIPart
* @memberof App
Mpicker
*/
@
Prop
()
public
context
!
:
any
;
...
...
@@ -69,7 +77,7 @@ export default class AppMpicker extends Vue {
* 视图参数
*
* @type {*}
* @memberof App
FormDRUIPart
* @memberof App
Mpicker
*/
@
Prop
()
public
viewparams
!
:
any
;
...
...
@@ -77,7 +85,7 @@ export default class AppMpicker extends Vue {
* AC参数
*
* @type {*}
* @memberof App
FormDRUIPart
* @memberof App
Mpicker
*/
@
Prop
({
default
:
()
=>
{}})
public
acParams
?:
any
;
...
...
@@ -85,7 +93,7 @@ export default class AppMpicker extends Vue {
* 应用实体主信息属性名称
*
* @type {string}
* @memberof App
Autocomplete
* @memberof App
Mpicker
*/
@
Prop
({
default
:
'srfmajortext'
})
public
deMajorField
!
:
string
;
...
...
@@ -93,7 +101,7 @@ export default class AppMpicker extends Vue {
* 应用实体主键属性名称
*
* @type {string}
* @memberof App
Autocomplete
* @memberof App
Mpicker
*/
@
Prop
({
default
:
'srfkey'
})
public
deKeyField
!
:
string
;
...
...
@@ -101,7 +109,7 @@ export default class AppMpicker extends Vue {
* 表单服务
*
* @type {*}
* @memberof App
FormDRUIPart
* @memberof App
Mpicker
*/
@
Prop
()
public
service
?:
any
;
...
...
@@ -242,19 +250,19 @@ export default class AppMpicker extends Vue {
*/
public
handlePublicParams
(
arg
:
any
):
boolean
{
if
(
!
this
.
activeData
)
{
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'components.
appPicker.error'
)
as
any
),
desc
:
(
this
.
$t
(
'components.appP
icker.formdataException'
)
as
any
)
});
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'components.
AppMpicker.error'
)
as
any
),
desc
:
(
this
.
$t
(
'components.AppMp
icker.formdataException'
)
as
any
)
});
return
false
;
}
// 合并表单参数
arg
.
param
=
this
.
viewparams
?
JSON
.
parse
(
JSON
.
stringify
(
this
.
viewparams
))
:
{};
arg
.
context
=
this
.
context
?
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
))
:
{};
// 附加参数处理
if
(
this
.
itemParam
&&
this
.
itemParam
.
context
)
{
let
_context
=
this
.
$util
.
formatData
(
this
.
activeData
,
arg
.
context
,
this
.
itemParam
.
c
ontext
);
if
(
this
.
localContext
&&
Object
.
keys
(
this
.
localContext
).
length
>
0
)
{
let
_context
=
this
.
$util
.
computedNavData
(
this
.
activeData
,
arg
.
context
,
arg
.
param
,
this
.
localC
ontext
);
Object
.
assign
(
arg
.
context
,
_context
);
}
if
(
this
.
itemParam
&&
this
.
itemParam
.
param
)
{
let
_param
=
this
.
$util
.
formatData
(
this
.
activeData
,
arg
.
param
,
this
.
itemParam
.
p
aram
);
if
(
this
.
localParam
&&
Object
.
keys
(
this
.
localParam
).
length
>
0
)
{
let
_param
=
this
.
$util
.
computedNavData
(
this
.
activeData
,
arg
.
param
,
arg
.
param
,
this
.
localP
aram
);
Object
.
assign
(
arg
.
param
,
_param
);
}
return
true
;
...
...
app_web/src/components/app-picker-select-view/app-picker-select-view.vue
浏览文件 @
48a73aa6
<
template
>
<div
class=
"app-picker-select-view"
>
<Dropdown
:visible=
"visible"
trigger=
"custom"
style=
"left:0px;width: 100%"
@
on-clickoutside=
"() =>
{triggerMenu(false);}" >
<Input
v-if=
"isSingleSelect"
v-model=
"queryValue"
class=
"tree-input"
type=
"text"
:placeholder=
"placeholder ? placeholder : $t('components.
appPicker
SelectView.placeholder')"
:disabled=
"disabled"
@
on-change=
"OnInputChange"
@
on-focus=
"()=>
{triggerMenu(true);}" >
<Input
v-if=
"isSingleSelect"
v-model=
"queryValue"
class=
"tree-input"
type=
"text"
:placeholder=
"placeholder ? placeholder : $t('components.
AppPickerSelectView
SelectView.placeholder')"
:disabled=
"disabled"
@
on-change=
"OnInputChange"
@
on-focus=
"()=>
{triggerMenu(true);}" >
<template
v-slot:suffix
>
<i
v-if=
"queryValue && !disabled"
class=
'el-icon-circle-close'
@
click=
"onClear"
></i>
<Icon
:type=
"visible ? 'ios-arrow-up' : 'ios-arrow-down'"
class=
"icon-arrow"
@
click=
"() =>
{triggerMenu();}">
</Icon>
...
...
@@ -34,12 +34,12 @@ import { ViewTool } from '@/utils/view-tool/view-tool';
@
Component
({
})
export
default
class
AppPickerSelectView
extends
Vue
{
export
default
class
AppPickerSelectView
SelectView
extends
Vue
{
/**
* 视图上下文
*
* @type {*}
* @memberof App
FormDRUIPart
* @memberof App
PickerSelectView
*/
@
Prop
()
public
context
!
:
any
;
...
...
@@ -47,7 +47,7 @@ export default class AppPickerSelectView extends Vue {
* 视图参数
*
* @type {*}
* @memberof App
FormDRUIPart
* @memberof App
PickerSelectView
*/
@
Prop
()
public
viewparams
!
:
any
;
...
...
@@ -55,7 +55,7 @@ export default class AppPickerSelectView extends Vue {
* 是否单选
*
* @type {*}
* @memberof App
FormDRUIPart
* @memberof App
PickerSelectView
*/
@
Prop
({
default
:
'true'
})
public
isSingleSelect
!
:
any
;
...
...
@@ -63,7 +63,7 @@ export default class AppPickerSelectView extends Vue {
* 当前多选框选中值的key集合
*
* @type {string}
* @memberof App
TreePicker
* @memberof App
PickerSelectView
*/
public
keySet
:
any
=
[];
...
...
@@ -71,7 +71,7 @@ export default class AppPickerSelectView extends Vue {
* 当前多选框选中项对象集合
*
* @type {string}
* @memberof App
TreePicker
* @memberof App
PickerSelectView
*/
public
selectItems
:
Array
<
any
>
=
[];
...
...
@@ -79,7 +79,7 @@ export default class AppPickerSelectView extends Vue {
* 所有操作过的下拉选项对象集合
*
* @type {string}
* @memberof App
TreePicker
* @memberof App
PickerSelectView
*/
public
items
:
Array
<
any
>
=
[];
...
...
@@ -87,7 +87,7 @@ export default class AppPickerSelectView extends Vue {
* 视图参数
*
* @type {string}
* @memberof App
TreePicker
* @memberof App
PickerSelectView
*/
public
viewparam
:
any
=
JSON
.
stringify
(
this
.
viewparams
);
...
...
@@ -95,7 +95,7 @@ export default class AppPickerSelectView extends Vue {
* 视图上下文
*
* @type {string}
* @memberof App
TreePicker
* @memberof App
PickerSelectView
*/
public
viewdata
:
any
=
JSON
.
stringify
(
this
.
context
);
...
...
@@ -103,7 +103,7 @@ export default class AppPickerSelectView extends Vue {
* 表单数据
*
* @type {*}
* @memberof AppPicker
* @memberof AppPicker
SelectView
*/
@
Prop
()
public
data
!
:
any
;
...
...
@@ -111,7 +111,7 @@ export default class AppPickerSelectView extends Vue {
* 值
*
* @type {*}
* @memberof App
TreePicker
* @memberof App
PickerSelectView
*/
@
Prop
()
public
value
:
any
;
...
...
@@ -119,7 +119,7 @@ export default class AppPickerSelectView extends Vue {
* 是否启用
*
* @type {boolean}
* @memberof AppPicker
* @memberof AppPicker
SelectView
*/
@
Prop
({
default
:
false
})
public
disabled
!
:
boolean
;
...
...
@@ -127,7 +127,7 @@ export default class AppPickerSelectView extends Vue {
* 应用实体主信息属性名称
*
* @type {string}
* @memberof App
Autocomplete
* @memberof App
PickerSelectView
*/
@
Prop
({
default
:
'srfmajortext'
})
public
deMajorField
!
:
string
;
...
...
@@ -135,7 +135,7 @@ export default class AppPickerSelectView extends Vue {
* 应用实体主键属性名称
*
* @type {string}
* @memberof App
Autocomplete
* @memberof App
PickerSelectView
*/
@
Prop
({
default
:
'srfkey'
})
public
deKeyField
!
:
string
;
...
...
@@ -143,7 +143,7 @@ export default class AppPickerSelectView extends Vue {
* 输入框值(搜索值)
*
* @type {string}
* @memberof App
TreePicker
* @memberof App
PickerSelectView
*/
public
queryValue
:
any
=
''
;
...
...
@@ -151,7 +151,7 @@ export default class AppPickerSelectView extends Vue {
* 值项名称
*
* @type {string}
* @memberof AppPicker
* @memberof AppPicker
SelectView
*/
@
Prop
()
public
valueitem
!
:
string
;
...
...
@@ -159,7 +159,7 @@ export default class AppPickerSelectView extends Vue {
* 关联视图名称
*
* @type {string}
* @memberof AppPicker
* @memberof AppPicker
SelectView
*/
@
Prop
()
public
pickupView
?:
any
;
...
...
@@ -167,7 +167,7 @@ export default class AppPickerSelectView extends Vue {
* 数据链接视图参数
*
* @type {*}
* @memberof AppPicker
* @memberof AppPicker
SelectView
*/
@
Prop
()
public
linkview
?:
any
;
...
...
@@ -175,7 +175,7 @@ export default class AppPickerSelectView extends Vue {
* 提示信息
*
* @type {string}
* @memberof App
TreePicker
* @memberof App
PickerSelectView
*/
@
Prop
()
public
placeholder
!
:
string
;
...
...
@@ -183,23 +183,31 @@ export default class AppPickerSelectView extends Vue {
* 属性项名称
*
* @type {string}
* @memberof AppPicker
* @memberof AppPicker
SelectView
*/
@
Prop
()
public
name
!
:
string
;
/**
* 编辑器参数
*
* @type {*}
* @memberof AppTreePicker
* 局部上下文导航参数
*
* @type {any}
* @memberof AppPickerSelectView
*/
@
Prop
()
public
localContext
!
:
any
;
/**
* 局部导航参数
*
* @type {any}
* @memberof AppPickerSelectView
*/
@
Prop
()
public
itemParam
:
any
;
@
Prop
()
public
localParam
!
:
any
;
/**
* 下拉显示控制变量
*
* @type {string}
* @memberof App
TreePicker
* @memberof App
PickerSelectView
*/
public
visible
:
boolean
=
false
;
...
...
@@ -207,7 +215,7 @@ export default class AppPickerSelectView extends Vue {
* 父视图数据
*
* @type {string}
* @memberof App
TreePicker
* @memberof App
PickerSelectView
*/
public
srfparentdata
:
any
=
{};
...
...
@@ -215,7 +223,7 @@ export default class AppPickerSelectView extends Vue {
* 输入框change事件
*
* @param $event 事件对象
* @memberof App
TreePicker
* @memberof App
PickerSelectView
*/
public
OnInputChange
(
$event
:
any
){
let
_viewdata
=
Object
.
assign
({
query
:
this
.
queryValue
},
JSON
.
parse
(
this
.
viewdata
))
;
...
...
@@ -226,7 +234,7 @@ export default class AppPickerSelectView extends Vue {
* 输入框change事件
*
* @param $event 事件对象
* @memberof App
TreePicker
* @memberof App
PickerSelectView
*/
public
triggerMenu
(
visible
?:
boolean
){
if
(
this
.
disabled
){
...
...
@@ -244,26 +252,23 @@ export default class AppPickerSelectView extends Vue {
*
* @param {*} arg
* @returns
* @memberof AppPicker
* @memberof AppPicker
SelectView
*/
public
handlePublicParams
(
arg
:
any
):
boolean
{
if
(
!
this
.
itemParam
)
{
return
true
;
}
if
(
!
this
.
data
)
{
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'components.
appPickerSelectView.error'
)
as
any
),
desc
:
(
this
.
$t
(
'components.appPicker
SelectView.formdataException'
)
as
any
)
});
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'components.
AppPickerSelectViewSelectView.error'
)
as
any
),
desc
:
(
this
.
$t
(
'components.AppPickerSelectView
SelectView.formdataException'
)
as
any
)
});
return
false
;
}
// 合并表单参数
arg
.
param
=
this
.
viewparams
?
JSON
.
parse
(
JSON
.
stringify
(
this
.
viewparams
))
:
{};
arg
.
context
=
this
.
context
?
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
))
:
{};
// 附加参数处理
if
(
this
.
itemParam
.
context
)
{
let
_context
=
this
.
$util
.
formatData
(
this
.
data
,
arg
.
context
,
this
.
itemParam
.
c
ontext
);
if
(
this
.
localContext
&&
Object
.
keys
(
this
.
localContext
).
length
>
0
)
{
let
_context
=
this
.
$util
.
computedNavData
(
this
.
data
,
arg
.
context
,
arg
.
param
,
this
.
localC
ontext
);
Object
.
assign
(
arg
.
context
,
_context
);
}
if
(
this
.
itemParam
.
param
)
{
let
_param
=
this
.
$util
.
formatData
(
this
.
data
,
arg
.
param
,
this
.
itemParam
.
p
aram
);
if
(
this
.
localParam
&&
Object
.
keys
(
this
.
localParam
).
length
>
0
)
{
let
_param
=
this
.
$util
.
computedNavData
(
this
.
data
,
arg
.
param
,
arg
.
param
,
this
.
localP
aram
);
Object
.
assign
(
arg
.
param
,
_param
);
}
return
true
;
...
...
@@ -274,7 +279,7 @@ export default class AppPickerSelectView extends Vue {
*
* @param {*} newVal
* @param {*} oldVal
* @memberof App
FormDRUIPart
* @memberof App
PickerSelectView
*/
@
Watch
(
'data'
,{
deep
:
true
})
onActivedataChange
(
newVal
:
any
,
oldVal
:
any
)
{
...
...
@@ -294,14 +299,14 @@ export default class AppPickerSelectView extends Vue {
*
* @param {*} newVal
* @param {*} oldVal
* @memberof AppPicker
* @memberof AppPicker
SelectView
*/
@
Watch
(
'value'
,
{
deep
:
true
})
public
onValueChange
(
newVal
:
any
,
oldVal
:
any
)
{
if
(
this
.
isSingleSelect
){
this
.
queryValue
=
newVal
;
if
(
!
this
.
data
||
!
this
.
valueitem
||
!
this
.
data
[
this
.
valueitem
])
{
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'components.
appPickerSelectView.error'
)
as
any
),
desc
:
(
this
.
$t
(
'components.appPickerSelectView.editor'
)
as
any
)
+
this
.
name
+
(
this
.
$t
(
'components.appPicker
SelectView.valueitemException'
)
as
any
)
});
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'components.
AppPickerSelectViewSelectView.error'
)
as
any
),
desc
:
(
this
.
$t
(
'components.AppPickerSelectViewSelectView.editor'
)
as
any
)
+
this
.
name
+
(
this
.
$t
(
'components.AppPickerSelectView
SelectView.valueitemException'
)
as
any
)
});
}
else
{
let
_viewparam
=
JSON
.
parse
(
this
.
viewparam
);
_viewparam
.
selectedData
=
[{
srfkey
:
this
.
data
[
this
.
valueitem
],
srfmajortext
:
this
.
value
}];
...
...
@@ -330,7 +335,7 @@ export default class AppPickerSelectView extends Vue {
/**
* 生命周期
*
* @memberof App
TreePicker
* @memberof App
PickerSelectView
*/
public
created
()
{
// 公共参数处理
...
...
@@ -347,7 +352,7 @@ export default class AppPickerSelectView extends Vue {
/**
* vue 生命周期
*
* @memberof
SelectType
* @memberof
AppPickerSelectView
*/
public
destroyed
()
{
...
...
@@ -357,7 +362,7 @@ export default class AppPickerSelectView extends Vue {
* 设置值
*
* @param {*} item
* @memberof App
TreePicker
* @memberof App
PickerSelectView
*/
public
onViewdatasChange
(
$event
:
any
)
{
if
(
$event
.
length
==
0
){
...
...
@@ -409,11 +414,11 @@ export default class AppPickerSelectView extends Vue {
/**
* 打开链接视图
*
* @memberof AppPicker
* @memberof AppPicker
SelectView
*/
public
openLinkView
(
$event
:
any
):
void
{
if
(
!
this
.
data
||
!
this
.
valueitem
||
!
this
.
data
[
this
.
valueitem
])
{
console
.
error
({
title
:
(
this
.
$t
(
'components.
appPickerSelectView.error'
)
as
any
),
desc
:
(
this
.
$t
(
'components.appPickerSelectView.editor'
)
as
any
)
+
this
.
name
+
(
this
.
$t
(
'components.appPicker
SelectView.valueitemException'
)
as
any
)
});
console
.
error
({
title
:
(
this
.
$t
(
'components.
AppPickerSelectViewSelectView.error'
)
as
any
),
desc
:
(
this
.
$t
(
'components.AppPickerSelectViewSelectView.editor'
)
as
any
)
+
this
.
name
+
(
this
.
$t
(
'components.AppPickerSelectView
SelectView.valueitemException'
)
as
any
)
});
return
;
}
// 公共参数处理
...
...
@@ -447,7 +452,7 @@ export default class AppPickerSelectView extends Vue {
* @private
* @param {string} viewpath
* @param {*} data
* @memberof AppPicker
* @memberof AppPicker
SelectView
*/
private
openIndexViewTab
(
view
:
any
,
context
:
any
,
param
:
any
):
void
{
const
routePath
=
this
.
$viewTool
.
buildUpRoutePath
(
this
.
$route
,
this
.
context
,
view
.
deResParameters
,
view
.
parameters
,
[
context
]
,
param
);
...
...
@@ -461,7 +466,7 @@ export default class AppPickerSelectView extends Vue {
* @param {*} $event
* @param {*} view
* @param {*} data
* @memberof AppPicker
* @memberof AppPicker
SelectView
*/
private
openPopOver
(
$event
:
any
,
view
:
any
,
context
:
any
,
param
:
any
):
void
{
let
container
:
Subject
<
any
>
=
this
.
$apppopover
.
openPop
(
$event
,
view
,
context
,
param
);
...
...
@@ -480,7 +485,7 @@ export default class AppPickerSelectView extends Vue {
* @private
* @param {*} view
* @param {*} data
* @memberof AppPicker
* @memberof AppPicker
SelectView
*/
private
openPopupModal
(
view
:
any
,
context
:
any
,
param
:
any
):
void
{
let
container
:
Subject
<
any
>
=
this
.
$appmodal
.
openModal
(
view
,
context
,
param
);
...
...
@@ -498,7 +503,7 @@ export default class AppPickerSelectView extends Vue {
* @private
* @param {*} view
* @param {*} data
* @memberof AppPicker
* @memberof AppPicker
SelectView
*/
private
openDrawer
(
view
:
any
,
context
:
any
,
param
:
any
):
void
{
let
container
:
Subject
<
any
>
=
this
.
$appdrawer
.
openDrawer
(
view
,
context
,
param
);
...
...
@@ -514,7 +519,7 @@ export default class AppPickerSelectView extends Vue {
* 打开页面关闭
*
* @param {*} result
* @memberof AppPicker
* @memberof AppPicker
SelectView
*/
public
openViewClose
(
result
:
any
)
{
let
item
:
any
=
{};
...
...
@@ -536,7 +541,7 @@ export default class AppPickerSelectView extends Vue {
* 下拉选中回调
*
* @param {*} selects 当前选中的key值集合
* @memberof App
Mpicker
* @memberof App
PickerSelectView
*/
public
onSelectChange
(
selects
:
any
)
{
let
val
:
Array
<
any
>
=
[];
...
...
app_web/src/components/app-picker/app-picker.vue
浏览文件 @
48a73aa6
...
...
@@ -153,12 +153,20 @@ export default class AppPicker extends Vue {
@
Prop
()
public
linkview
?:
any
;
/**
*
表单项
参数
*
局部上下文导航
参数
*
* @type {any}
* @memberof AppPicker
*/
@
Prop
()
public
itemParam
:
any
;
@
Prop
()
public
localContext
!
:
any
;
/**
* 局部导航参数
*
* @type {any}
* @memberof AppPicker
*/
@
Prop
()
public
localParam
!
:
any
;
/**
* 值项名称
...
...
@@ -639,9 +647,6 @@ export default class AppPicker extends Vue {
* @memberof AppPicker
*/
public
handlePublicParams
(
arg
:
any
):
boolean
{
if
(
!
this
.
itemParam
)
{
return
true
;
}
if
(
!
this
.
data
)
{
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'components.appPicker.error'
)
as
any
),
desc
:
(
this
.
$t
(
'components.appPicker.formdataException'
)
as
any
)
});
return
false
;
...
...
@@ -650,12 +655,12 @@ export default class AppPicker extends Vue {
arg
.
param
=
this
.
viewparams
?
JSON
.
parse
(
JSON
.
stringify
(
this
.
viewparams
))
:
{};
arg
.
context
=
this
.
context
?
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
))
:
{};
// 附加参数处理
if
(
this
.
itemParam
&&
this
.
itemParam
.
context
)
{
let
_context
=
this
.
$util
.
formatData
(
this
.
data
,
arg
.
context
,
this
.
itemParam
.
c
ontext
);
if
(
this
.
localContext
&&
Object
.
keys
(
this
.
localContext
).
length
>
0
)
{
let
_context
=
this
.
$util
.
computedNavData
(
this
.
data
,
arg
.
context
,
arg
.
param
,
this
.
localC
ontext
);
Object
.
assign
(
arg
.
context
,
_context
);
}
if
(
this
.
itemParam
&&
this
.
itemParam
.
param
)
{
let
_param
=
this
.
$util
.
formatData
(
this
.
data
,
arg
.
param
,
this
.
itemParam
.
p
aram
);
if
(
this
.
localParam
&&
Object
.
keys
(
this
.
localParam
).
length
>
0
)
{
let
_param
=
this
.
$util
.
computedNavData
(
this
.
data
,
arg
.
param
,
arg
.
param
,
this
.
localP
aram
);
Object
.
assign
(
arg
.
param
,
_param
);
}
return
true
;
...
...
app_web/src/components/app-radio-group/app-radio-group.vue
浏览文件 @
48a73aa6
...
...
@@ -65,14 +65,14 @@ export default class AppRadioGroup extends Vue {
* 传入表单数据
*
* @type {*}
* @memberof
DropDownList
* @memberof
AppRadioGroup
*/
@
Prop
()
public
data
?:
any
;
/**
* 监听表单数据变化
*
* @memberof App
OrgSelect
* @memberof App
RadioGroup
*/
@
Watch
(
'data'
,{
immediate
:
true
,
deep
:
true
})
onDataChange
(
newVal
:
any
,
oldVal
:
any
)
{
...
...
@@ -103,18 +103,26 @@ export default class AppRadioGroup extends Vue {
@
Prop
()
public
disabled
?:
boolean
;
/**
* 传入额外参数
*
* @type {*}
* @memberof DropDownList
* 局部上下文导航参数
*
* @type {any}
* @memberof AppRadioGroup
*/
@
Prop
()
public
localContext
!
:
any
;
/**
* 局部导航参数
*
* @type {any}
* @memberof AppRadioGroup
*/
@
Prop
()
public
itemParam
?:
any
;
@
Prop
()
public
localParam
!
:
any
;
/**
* 视图上下文
*
* @type {*}
* @memberof App
Autocomplete
* @memberof App
RadioGroup
*/
@
Prop
()
public
context
!
:
any
;
...
...
@@ -122,7 +130,7 @@ export default class AppRadioGroup extends Vue {
* 视图参数
*
* @type {*}
* @memberof App
FormDRUIPart
* @memberof App
RadioGroup
*/
@
Prop
()
public
viewparams
!
:
any
;
...
...
@@ -161,19 +169,19 @@ export default class AppRadioGroup extends Vue {
*
* @param {*} arg
* @returns
* @memberof
DropDownList
* @memberof
AppRadioGroup
*/
public
handlePublicParams
(
arg
:
any
)
{
// 合并表单参数
arg
.
param
=
this
.
viewparams
?
JSON
.
parse
(
JSON
.
stringify
(
this
.
viewparams
))
:
{};
arg
.
context
=
this
.
context
?
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
))
:
{};
// 附加参数处理
if
(
this
.
itemParam
&&
this
.
itemParam
.
context
)
{
let
_context
=
this
.
$util
.
formatData
(
this
.
data
,
arg
.
context
,
this
.
itemParam
.
c
ontext
);
if
(
this
.
localContext
&&
Object
.
keys
(
this
.
localContext
).
length
>
0
)
{
let
_context
=
this
.
$util
.
computedNavData
(
this
.
data
,
arg
.
context
,
arg
.
param
,
this
.
localC
ontext
);
Object
.
assign
(
arg
.
context
,
_context
);
}
if
(
this
.
itemParam
&&
this
.
itemParam
.
param
)
{
let
_param
=
this
.
$util
.
formatData
(
this
.
data
,
arg
.
param
,
this
.
itemParam
.
p
aram
);
if
(
this
.
localParam
&&
Object
.
keys
(
this
.
localParam
).
length
>
0
)
{
let
_param
=
this
.
$util
.
computedNavData
(
this
.
data
,
arg
.
param
,
arg
.
param
,
this
.
localP
aram
);
Object
.
assign
(
arg
.
param
,
_param
);
}
}
...
...
app_web/src/components/app-span/app-span.vue
浏览文件 @
48a73aa6
...
...
@@ -72,12 +72,20 @@ export default class AppSpan extends Vue {
@
Prop
()
public
data
?:
any
;
/**
* 传入额外参数
*
* @type {*}
* 局部上下文导航参数
*
* @type {any}
* @memberof AppSpan
*/
@
Prop
()
public
localContext
!
:
any
;
/**
* 局部导航参数
*
* @type {any}
* @memberof AppSpan
*/
@
Prop
()
public
itemParam
?:
any
;
@
Prop
()
public
localParam
!
:
any
;
/**
* 视图上下文
...
...
app_web/src/components/app-transfer/app-transfer.less
0 → 100644
浏览文件 @
48a73aa6
.ivu-select-dropdown {
padding: 0px;
.hidden {
display: none;
}
}
\ No newline at end of file
app_web/src/components/app-transfer/app-transfer.vue
0 → 100644
浏览文件 @
48a73aa6
<
template
>
<Select
v-model=
"dataRight"
style=
"width:586px"
multiple
>
<Option
class=
"hidden"
:value=
"item"
v-for=
"(item,i) in dataRight"
:key=
"i"
>
{{
dataLeft
[
item
-
1
].
label
}}
</Option>
<el-transfer
v-model=
"dataRight"
:data=
"dataLeft"
@
change=
dataChange
></el-transfer>
</Select>
</
template
>
<
script
lang=
"ts"
>
import
{
Vue
,
Component
,
Watch
,
Prop
,
Model
}
from
"vue-property-decorator"
;
import
CodeListService
from
"@service/app/codelist-service"
;
@
Component
({})
export
default
class
FromTransfer
extends
Vue
{
/**
* 表单传递右侧框中的数据
*/
@
Prop
()
public
data
:
any
;
/**
* 左侧框数据
*/
public
dataLeft
:
any
[]
=
[];
/**
* 右侧框数据
*/
public
dataRight
:
any
[]
=
[];
/**
* 代码表服务对象
*
* @type {CodeListService}
* @memberof FromTransfer
*/
public
codeListService
:
CodeListService
=
new
CodeListService
({
$store
:
this
.
$store
});
/**
* 额外参数
*
* @type {*}
* @memberof FromTransfer
*/
public
otherParam
:
any
;
/**
* 查询参数
* @type {*}
* @memberof FromTransfer
*/
public
queryParam
:
any
;
/**
* 当前选中值
* @type {any}
* @memberof Drop
*/
@
Model
(
"change"
)
readonly
itemValue
!
:
any
;
/**
* 代码表标识
*
* @type {string}
* @memberof FromTransfer
*/
@
Prop
()
public
tag
?:
string
;
/**
* 代码表类型
*
* @type {string}
* @memberof FromTransfer
*/
@
Prop
()
public
codelistType
?:
string
;
/**
* 监听表单数据
*
* @memberof FromTransfer
*/
@
Watch
(
"data"
,
{
deep
:
true
})
onDataChange
(
newVal
:
any
,
val
:
any
)
{
if
(
newVal
)
{
}
}
/**
* 组件change事件,右侧框数据变化时
* @memberof FromTransfer
*/
dataChange
(
e
:
any
){
console
.
log
(
e
);
let
val
:
any
[]
=
[];
let
newVal
:
any
;
this
.
dataLeft
.
forEach
((
elem
:
any
)
=>
{
e
.
forEach
((
item
:
any
)
=>
{
if
(
elem
.
key
===
item
)
val
.
push
(
elem
.
value
);
});
});
newVal
=
val
.
join
(
','
);
console
.
log
(
newVal
);
this
.
$emit
(
"change"
,
newVal
);
}
/**
* 传入额外参数
*
* @type {*}
* @memberof FromTransfer
*/
@
Prop
()
public
itemParam
?:
any
;
/**
* 视图上下文
*
* @type {*}
* @memberof AppAutocomplete
*/
@
Prop
()
public
context
!
:
any
;
/**
* 视图参数
*
* @type {*}
* @memberof AppFormDRUIPart
*/
@
Prop
()
public
viewparams
!
:
any
;
/**
* 是否禁用
* @type {any}
* @memberof FromTransfer
*
*/
@
Prop
()
public
disabled
?:
any
;
/**
* 是否支持过滤
* @type {boolean}
* @memberof FromTransfer
*/
@
Prop
()
public
filterable
?:
boolean
;
/**
* 下拉选提示内容
* @type {string}
* @memberof FromTransfer
*/
@
Prop
()
public
placeholder
?:
string
;
/**
* 计算属性(当前值)
* @type {any}
* @memberof FromTransfer
*/
set
currentVal
(
val
:
any
)
{
// const type: string = this.$util.typeOf(val);
// val =
// Object.is(type, "null") || Object.is(type, "undefined") ? undefined : val;
// this.dataLeft.forEach((elem: any) => {
// this.dataRight.forEach((item: any) => {
// if (elem.key === item) val.push(elem.value);
// });
// });
// val=val.join(',');
// this.$emit("change", val);
}
/**
* 获取值对象
*
* @memberof FromTransfer
*/
// get currentVal() {
// return this.itemValue;
// }
get
currentVal
()
{
return
this
.
itemValue
;
}
/**
* 代码表
*
* @type {any[]}
* @memberof FromTransfer
*/
// public items: any[] = [];
/**
* 公共参数处理
*
* @param {*} arg
* @returns
* @memberof FromTransfer
*/
public
handlePublicParams
(
arg
:
any
)
{
// 合并表单参数
arg
.
param
=
this
.
viewparams
?
JSON
.
parse
(
JSON
.
stringify
(
this
.
viewparams
))
:
{};
arg
.
context
=
this
.
context
?
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
))
:
{};
// 附加参数处理
if
(
this
.
itemParam
&&
this
.
itemParam
.
context
)
{
let
_context
=
this
.
$util
.
formatData
(
this
.
data
,
arg
.
context
,
this
.
itemParam
.
context
);
Object
.
assign
(
arg
.
context
,
_context
);
}
if
(
this
.
itemParam
&&
this
.
itemParam
.
param
)
{
let
_param
=
this
.
$util
.
formatData
(
this
.
data
,
arg
.
param
,
this
.
itemParam
.
param
);
Object
.
assign
(
arg
.
param
,
_param
);
}
}
/**
* vue 生命周期
*
* @memberof FromTransfer
*/
public
created
()
{
this
.
dataHandle
();
this
.
initRight
();
}
/**
* 数据处理
*/
public
dataHandle
()
{
if
(
this
.
tag
&&
Object
.
is
(
this
.
codelistType
,
"STATIC"
))
{
const
codelist
=
this
.
$store
.
getters
.
getCodeList
(
this
.
tag
);
if
(
codelist
)
{
this
.
dataLeft
=
[...
JSON
.
parse
(
JSON
.
stringify
(
codelist
.
items
))];
this
.
initLeft
();
console
.
log
(
this
.
dataLeft
);
}
else
{
console
.
log
(
`----
${
this
.
tag
}
----代码表不存在`
);
}
}
else
if
(
this
.
tag
&&
Object
.
is
(
this
.
codelistType
,
"DYNAMIC"
))
{
// 公共参数处理
let
data
:
any
=
{};
this
.
handlePublicParams
(
data
);
// 参数处理
let
_context
=
data
.
context
;
let
_param
=
data
.
param
;
this
.
codeListService
.
getItems
(
this
.
tag
,
_context
,
_param
)
.
then
((
res
:
any
)
=>
{
this
.
dataLeft
=
res
;
console
.
log
(
this
.
dataLeft
);
this
.
initLeft
();
})
.
catch
((
error
:
any
)
=>
{
console
.
log
(
`----
${
this
.
tag
}
----代码表不存在`
);
});
}
}
/**
* 初始化左侧框数据
*/
public
initLeft
()
{
let
left
:
any
[]
=
[];
Object
.
assign
(
left
,
this
.
dataLeft
);
this
.
dataLeft
=
[];
left
.
forEach
((
elem
:
any
,
i
:
any
)
=>
{
this
.
dataLeft
.
push
({
key
:
i
+
1
,
id
:
elem
.
id
,
value
:
elem
.
value
,
label
:
elem
.
label
,
disabled
:
elem
.
disabled
});
});
}
/**
* 初始化右侧框数据
*/
public
initRight
()
{
if
(
this
.
data
)
{
this
.
data
.
forEach
((
elem
:
any
)
=>
{
this
.
dataRight
.
push
(
elem
);
});
}
}
}
</
script
>
<
style
lang=
'less'
>
@import "./app-transfer.less";
</
style
>
\ No newline at end of file
app_web/src/components/app-tree-picker/app-tree-picker.vue
浏览文件 @
48a73aa6
...
...
@@ -36,7 +36,7 @@ export default class AppTreePicker extends Vue {
* 视图上下文
*
* @type {*}
* @memberof App
FormDRUIPart
* @memberof App
TreePicker
*/
@
Prop
()
public
context
!
:
any
;
...
...
@@ -44,7 +44,7 @@ export default class AppTreePicker extends Vue {
* 视图参数
*
* @type {*}
* @memberof App
FormDRUIPart
* @memberof App
TreePicker
*/
@
Prop
()
public
viewparams
!
:
any
;
...
...
@@ -52,7 +52,7 @@ export default class AppTreePicker extends Vue {
* 表单数据
*
* @type {*}
* @memberof AppPicker
* @memberof App
Tree
Picker
*/
@
Prop
()
public
data
!
:
any
;
...
...
@@ -68,7 +68,7 @@ export default class AppTreePicker extends Vue {
* 是否启用
*
* @type {boolean}
* @memberof AppPicker
* @memberof App
Tree
Picker
*/
@
Prop
({
default
:
false
})
public
disabled
!
:
boolean
;
...
...
@@ -101,7 +101,7 @@ export default class AppTreePicker extends Vue {
* 值项名称
*
* @type {string}
* @memberof AppPicker
* @memberof App
Tree
Picker
*/
@
Prop
()
public
valueItem
?:
string
;
...
...
@@ -109,7 +109,7 @@ export default class AppTreePicker extends Vue {
* 关联视图名称
*
* @type {string}
* @memberof AppPicker
* @memberof App
Tree
Picker
*/
@
Prop
()
public
refviewname
?:
string
;
...
...
@@ -125,17 +125,25 @@ export default class AppTreePicker extends Vue {
* 属性项名称
*
* @type {string}
* @memberof AppPicker
* @memberof App
Tree
Picker
*/
@
Prop
()
public
name
!
:
string
;
/**
*
关联视图
参数
*
* @type {
*
}
*
局部上下文导航
参数
*
* @type {
any
}
* @memberof AppTreePicker
*/
@
Prop
()
public
itemParam
:
any
;
@
Prop
()
public
localContext
!
:
any
;
/**
* 局部导航参数
*
* @type {any}
* @memberof AppTreePicker
*/
@
Prop
()
public
localParam
!
:
any
;
/**
* 是否忽略之变化
...
...
@@ -210,8 +218,8 @@ export default class AppTreePicker extends Vue {
*
* @memberof AppTreePicker
*/
public
setViewParam
(
activeData
:
any
)
{
if
(
!
this
.
itemParam
||
!
activeD
ata
)
{
public
setViewParam
()
{
if
(
!
this
.
d
ata
)
{
return
;
}
let
arg
:
any
=
{};
...
...
@@ -219,17 +227,13 @@ export default class AppTreePicker extends Vue {
let
param
:
any
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
viewparams
));
let
context
:
any
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
));
// 附加参数处理
if
(
this
.
itemParam
.
context
)
{
let
_context
=
this
.
$util
.
formatData
(
activeData
,
context
,
this
.
itemParam
.
c
ontext
);
Object
.
assign
(
context
,
_context
);
if
(
this
.
localContext
&&
Object
.
keys
(
this
.
localContext
).
length
>
0
)
{
let
_context
=
this
.
$util
.
computedNavData
(
this
.
data
,
arg
.
context
,
arg
.
param
,
this
.
localC
ontext
);
Object
.
assign
(
arg
.
context
,
_context
);
}
if
(
this
.
itemParam
.
param
)
{
let
_param
=
this
.
$util
.
formatData
(
activeData
,
param
,
this
.
itemParam
.
param
);
Object
.
assign
(
param
,
_param
);
}
if
(
this
.
itemParam
.
parentdata
)
{
let
_parentdata
=
this
.
$util
.
formatData
(
activeData
,
param
,
this
.
itemParam
.
parentdata
);
Object
.
assign
(
param
,
_parentdata
);
if
(
this
.
localParam
&&
Object
.
keys
(
this
.
localParam
).
length
>
0
)
{
let
_param
=
this
.
$util
.
computedNavData
(
this
.
data
,
arg
.
param
,
arg
.
param
,
this
.
localParam
);
Object
.
assign
(
arg
.
param
,
_param
);
}
this
.
viewdata
=
JSON
.
stringify
(
context
);
this
.
viewparam
=
JSON
.
stringify
(
param
);
...
...
@@ -240,13 +244,13 @@ export default class AppTreePicker extends Vue {
*
* @param {*} newVal
* @param {*} oldVal
* @memberof App
FormDRUIPart
* @memberof App
TreePicker
*/
@
Watch
(
'data'
)
onActivedataChange
(
newVal
:
any
,
oldVal
:
any
)
{
const
newFormData
:
any
=
JSON
.
parse
(
newVal
);
const
oldDormData
:
any
=
JSON
.
parse
(
oldVal
);
this
.
setViewParam
(
newFormData
);
this
.
setViewParam
();
if
(
!
this
.
refreshitems
||
this
.
ignorefieldvaluechange
)
{
return
;
}
...
...
@@ -261,7 +265,7 @@ export default class AppTreePicker extends Vue {
*
* @param {*} newVal
* @param {*} oldVal
* @memberof AppPicker
* @memberof App
Tree
Picker
*/
@
Watch
(
'value'
)
public
onValueChange
(
newVal
:
any
,
oldVal
:
any
)
{
...
...
@@ -277,7 +281,7 @@ export default class AppTreePicker extends Vue {
if
(
this
.
formState
)
{
this
.
formStateEvent
=
this
.
formState
.
subscribe
(({
tag
,
action
,
data
})
=>
{
if
(
Object
.
is
(
'load'
,
action
))
{
this
.
setViewParam
(
JSON
.
parse
(
this
.
data
)
);
this
.
setViewParam
();
}
});
}
...
...
@@ -286,7 +290,7 @@ export default class AppTreePicker extends Vue {
/**
* vue 生命周期
*
* @memberof
SelectType
* @memberof
AppTreePicker
*/
public
destroyed
()
{
if
(
this
.
formStateEvent
)
{
...
...
app_web/src/components/codelist/codelist.vue
浏览文件 @
48a73aa6
...
...
@@ -79,12 +79,20 @@ export default class CodeList extends Vue {
@
Prop
()
public
data
?:
any
;
/**
* 传入额外参数
*
* @type {*}
* 局部上下文导航参数
*
* @type {any}
* @memberof CodeList
*/
@
Prop
()
public
localContext
!
:
any
;
/**
* 局部导航参数
*
* @type {any}
* @memberof CodeList
*/
@
Prop
()
public
itemParam
?:
any
;
@
Prop
()
public
localParam
!
:
any
;
/**
* 视图上下文
...
...
@@ -270,12 +278,12 @@ export default class CodeList extends Vue {
arg
.
param
=
this
.
viewparams
?
JSON
.
parse
(
JSON
.
stringify
(
this
.
viewparams
))
:
{};
arg
.
context
=
this
.
context
?
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
))
:
{};
// 附加参数处理
if
(
this
.
itemParam
&&
this
.
itemParam
.
context
)
{
let
_context
=
this
.
$util
.
formatData
(
this
.
data
,
arg
.
context
,
this
.
itemParam
.
c
ontext
);
if
(
this
.
localContext
&&
Object
.
keys
(
this
.
localContext
).
length
>
0
)
{
let
_context
=
this
.
$util
.
computedNavData
(
this
.
data
,
arg
.
context
,
arg
.
param
,
this
.
localC
ontext
);
Object
.
assign
(
arg
.
context
,
_context
);
}
if
(
this
.
itemParam
&&
this
.
itemParam
.
param
)
{
let
_param
=
this
.
$util
.
formatData
(
this
.
data
,
arg
.
param
,
this
.
itemParam
.
p
aram
);
if
(
this
.
localParam
&&
Object
.
keys
(
this
.
localParam
).
length
>
0
)
{
let
_param
=
this
.
$util
.
computedNavData
(
this
.
data
,
arg
.
param
,
arg
.
param
,
this
.
localP
aram
);
Object
.
assign
(
arg
.
param
,
_param
);
}
}
...
...
app_web/src/components/dropdown-list-dynamic/dropdown-list-dynamic.vue
浏览文件 @
48a73aa6
...
...
@@ -86,12 +86,20 @@ export default class DropDownListDynamic extends Vue {
}
/**
*
传入额外
参数
*
局部上下文导航
参数
*
* @type {*}
* @memberof DropDownListDynamic
* @memberof DropDownList
*/
@
Prop
()
public
localContext
!
:
any
;
/**
* 局部导航参数
*
* @type {*}
* @memberof DropDownList
*/
@
Prop
()
public
itemParam
?:
any
;
@
Prop
()
public
localParam
!
:
any
;
/**
* 是否禁用
...
...
@@ -172,12 +180,12 @@ export default class DropDownListDynamic extends Vue {
arg
.
param
=
this
.
viewparams
?
JSON
.
parse
(
JSON
.
stringify
(
this
.
viewparams
))
:
{};
arg
.
context
=
this
.
context
?
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
))
:
{};
// 附加参数处理
if
(
this
.
itemParam
.
context
)
{
let
_context
=
this
.
$util
.
formatData
(
this
.
data
,
arg
.
context
,
this
.
itemParam
.
c
ontext
);
if
(
this
.
localContext
&&
Object
.
keys
(
this
.
localContext
).
length
>
0
)
{
let
_context
=
this
.
$util
.
computedNavData
(
this
.
data
,
arg
.
context
,
arg
.
param
,
this
.
localC
ontext
);
Object
.
assign
(
arg
.
context
,
_context
);
}
if
(
this
.
itemParam
.
param
)
{
let
_param
=
this
.
$util
.
formatData
(
this
.
data
,
arg
.
param
,
this
.
itemParam
.
p
aram
);
if
(
this
.
localParam
&&
Object
.
keys
(
this
.
localParam
).
length
>
0
)
{
let
_param
=
this
.
$util
.
computedNavData
(
this
.
data
,
arg
.
context
,
arg
.
param
,
this
.
localP
aram
);
Object
.
assign
(
arg
.
param
,
_param
);
}
}
...
...
app_web/src/components/dropdown-list-mpicker/dropdown-list-mpicker.vue
浏览文件 @
48a73aa6
...
...
@@ -85,12 +85,20 @@ export default class DropDownListMpicker extends Vue {
@
Prop
()
public
placeholder
?:
string
;
/**
* 传入额外参数
*
* @type {*}
* 局部上下文导航参数
*
* @type {any}
* @memberof DropDownListMpicker
*/
@
Prop
()
public
localContext
!
:
any
;
/**
* 局部导航参数
*
* @type {any}
* @memberof DropDownListMpicker
*/
@
Prop
()
public
itemParam
?:
any
;
@
Prop
()
public
localParam
!
:
any
;
/**
* 视图上下文
...
...
@@ -157,12 +165,12 @@ export default class DropDownListMpicker extends Vue {
arg
.
param
=
this
.
viewparams
?
JSON
.
parse
(
JSON
.
stringify
(
this
.
viewparams
))
:
{};
arg
.
context
=
this
.
context
?
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
))
:
{};
// 附加参数处理
if
(
this
.
itemParam
.
context
)
{
let
_context
=
this
.
$util
.
formatData
(
this
.
data
,
arg
.
context
,
this
.
itemParam
.
c
ontext
);
if
(
this
.
localContext
&&
Object
.
keys
(
this
.
localContext
).
length
>
0
)
{
let
_context
=
this
.
$util
.
computedNavData
(
this
.
data
,
arg
.
context
,
arg
.
param
,
this
.
localC
ontext
);
Object
.
assign
(
arg
.
context
,
_context
);
}
if
(
this
.
itemParam
.
param
)
{
let
_param
=
this
.
$util
.
formatData
(
this
.
data
,
arg
.
param
,
this
.
itemParam
.
p
aram
);
if
(
this
.
localParam
&&
Object
.
keys
(
this
.
localParam
).
length
>
0
)
{
let
_param
=
this
.
$util
.
computedNavData
(
this
.
data
,
arg
.
param
,
arg
.
param
,
this
.
localP
aram
);
Object
.
assign
(
arg
.
param
,
_param
);
}
}
...
...
app_web/src/components/dropdown-list/dropdown-list.vue
浏览文件 @
48a73aa6
...
...
@@ -86,12 +86,20 @@ export default class DropDownList extends Vue {
}
/**
*
传入额外
参数
*
局部上下文导航
参数
*
* @type {*}
* @memberof DropDownList
*/
@
Prop
()
public
itemParam
?:
any
;
@
Prop
()
public
localContext
!
:
any
;
/**
* 局部导航参数
*
* @type {*}
* @memberof DropDownList
*/
@
Prop
()
public
localParam
!
:
any
;
/**
* 视图上下文
...
...
@@ -172,12 +180,12 @@ export default class DropDownList extends Vue {
arg
.
param
=
this
.
viewparams
?
JSON
.
parse
(
JSON
.
stringify
(
this
.
viewparams
))
:
{};
arg
.
context
=
this
.
context
?
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
))
:
{};
// 附加参数处理
if
(
this
.
itemParam
&&
this
.
itemParam
.
context
)
{
let
_context
=
this
.
$util
.
formatData
(
this
.
data
,
arg
.
context
,
this
.
itemParam
.
c
ontext
);
if
(
this
.
localContext
&&
Object
.
keys
(
this
.
localContext
).
length
>
0
)
{
let
_context
=
this
.
$util
.
computedNavData
(
this
.
data
,
arg
.
context
,
arg
.
param
,
this
.
localC
ontext
);
Object
.
assign
(
arg
.
context
,
_context
);
}
if
(
this
.
itemParam
&&
this
.
itemParam
.
param
)
{
let
_param
=
this
.
$util
.
formatData
(
this
.
data
,
arg
.
param
,
this
.
itemParam
.
p
aram
);
if
(
this
.
localParam
&&
Object
.
keys
(
this
.
localParam
).
length
>
0
)
{
let
_param
=
this
.
$util
.
computedNavData
(
this
.
data
,
arg
.
context
,
arg
.
param
,
this
.
localP
aram
);
Object
.
assign
(
arg
.
param
,
_param
);
}
}
...
...
app_web/src/shims-vue.d.ts
浏览文件 @
48a73aa6
...
...
@@ -8,4 +8,5 @@ declare module '@fullcalendar/timegrid';
declare
module
'@fullcalendar/list'
;
declare
module
'@fullcalendar/interaction'
;
declare
module
'vue-grid-layout'
;
declare
module
'vue-print-nb'
;
\ No newline at end of file
declare
module
'vue-print-nb'
;
declare
module
'vuedraggable'
;
\ No newline at end of file
app_web/src/utils/types/util.d.ts
浏览文件 @
48a73aa6
...
...
@@ -130,6 +130,20 @@ export declare interface Util {
*/
formatData
(
arg
:
any
,
parent
:
any
,
params
:
any
):
any
;
/**
* 计算导航数据
* 先从当前数据目标计算,然后再从当前上下文计算,最后从当前视图参数计算,没有则为null
*
* @static
* @param {any} data 表单数据
* @param {any} parentContext 外层context
* @param {any} parentParam 外层param
* @param {any} params 附加参数
* @returns {any}
* @memberof Util
*/
computedNavData
(
data
:
any
,
parentContext
:
any
,
parentParam
:
any
,
params
:
any
):
any
;
/**
* 日期格式化
*
...
...
app_web/src/utils/util/util.ts
浏览文件 @
48a73aa6
...
...
@@ -324,6 +324,44 @@ export class Util {
return
_data
;
}
/**
* 计算导航数据
* 先从当前数据目标计算,然后再从当前上下文计算,最后从当前视图参数计算,没有则为null
*
* @static
* @param {any} data 表单数据
* @param {any} parentContext 外层context
* @param {any} parentParam 外层param
* @param {any} params 附加参数
* @returns {any}
* @memberof Util
*/
public
static
computedNavData
(
data
:
any
,
parentContext
:
any
,
parentParam
:
any
,
params
:
any
):
any
{
let
_data
:
any
=
{};
if
(
params
&&
Object
.
keys
(
params
).
length
>
0
){
Object
.
keys
(
params
).
forEach
((
name
:
string
)
=>
{
if
(
!
name
)
{
return
;
}
let
value
:
string
|
null
=
params
[
name
];
if
(
value
&&
value
.
startsWith
(
'%'
)
&&
value
.
endsWith
(
'%'
))
{
const
key
=
value
.
substring
(
1
,
value
.
length
-
1
).
toLowerCase
();
if
(
data
&&
data
.
hasOwnProperty
(
key
))
{
value
=
data
[
key
];
}
else
if
(
parentContext
&&
parentContext
[
key
]){
value
=
parentContext
[
key
];
}
else
if
(
parentParam
&&
parentParam
[
key
]){
value
=
parentParam
[
key
];
}
else
{
value
=
null
;
}
}
Object
.
assign
(
_data
,
{
[
name
.
toLowerCase
()]:
value
});
});
}
return
_data
;
}
/**
* 日期格式化
*
...
...
app_web/src/widgets/sys-auth-log/default-searchform/default-searchform-base.vue
浏览文件 @
48a73aa6
...
...
@@ -18,12 +18,14 @@
</i-col>
<i-col
v-show=
"detailsModel.n_authcode_eq.visible"
:style=
"
{}" :md="{ span: 12, offset: 0 }" :lg="{ span: 8, offset: 0 }" :xl="{ span: 8, offset: 0 }">
<app-form-item
name=
'n_authcode_eq'
:itemRules=
"this.rules.n_authcode_eq"
class=
''
:caption=
"$t('entities.sysauthlog.default_searchform.details.n_authcode_eq')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.n_authcode_eq.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<dropdown-list
<dropdown-list
v-model=
"data.n_authcode_eq"
:data=
"data"
:context=
"context"
:viewparams=
"viewparams"
:itemParam=
"
{}"
:localContext =
'
{ }'
:localParam ='{ }'
:disabled="detailsModel.n_authcode_eq.disabled"
tag='CLAuthCode'
codelistType='STATIC'
...
...
app_web/src/widgets/sys-role-permission/main-form/main-form-base.vue
浏览文件 @
48a73aa6
...
...
@@ -14,7 +14,8 @@
:data=
"data"
:context=
"context"
:viewparams=
"viewparams"
:itemParam=
'
{ }'
:localContext =
'
{ }'
:localParam ='{ }'
:disabled="detailsModel.sys_rolename.disabled"
name='sys_rolename'
deMajorField='rolename'
...
...
@@ -40,7 +41,8 @@
:data=
"data"
:context=
"context"
:viewparams=
"viewparams"
:itemParam=
'
{ }'
:localContext =
'
{ }'
:localParam ='{ }'
:disabled="detailsModel.sys_permissionname.disabled"
name='sys_permissionname'
deMajorField='permissionname'
...
...
app_web/src/widgets/sys-user-role/main-form/main-form-base.vue
浏览文件 @
48a73aa6
...
...
@@ -14,12 +14,8 @@
</i-col>
<i-col
v-show=
"detailsModel.sys_user_roleid.visible"
:style=
"
{}" :lg="{ span: 24, offset: 0 }">
<app-form-item
name=
'sys_user_roleid'
:itemRules=
"this.rules.sys_user_roleid"
class=
''
:caption=
"$t('entities.sysuserrole.main_form.details.sys_user_roleid')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.sys_user_roleid.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<app-span
name=
'sys_user_roleid'
:value=
"data.sys_user_roleid"
:data=
"data"
:context=
"context"
:viewparams=
"viewparams"
:itemParam=
"
{}"
style="">
</app-span>
<app-span
name=
'sys_user_roleid'
:value=
"data.sys_user_roleid"
:data=
"data"
:context=
"context"
:viewparams=
"viewparams"
:localContext =
'
{ }' :localParam ='{ }' style="">
</app-span>
</app-form-item>
</i-col>
...
...
@@ -31,7 +27,8 @@ style=""></app-span>
:data=
"data"
:context=
"context"
:viewparams=
"viewparams"
:itemParam=
'
{ }'
:localContext =
'
{ }'
:localParam ='{ }'
:disabled="detailsModel.sys_rolename.disabled"
name='sys_rolename'
deMajorField='rolename'
...
...
@@ -57,7 +54,8 @@ style=""></app-span>
:data=
"data"
:context=
"context"
:viewparams=
"viewparams"
:itemParam=
'
{ }'
:localContext =
'
{ }'
:localParam ='{ }'
:disabled="detailsModel.sys_username.disabled"
name='sys_username'
deMajorField='personname'
...
...
ibzuaa-dependencies/pom.xml
浏览文件 @
48a73aa6
...
...
@@ -77,6 +77,9 @@
<!--xxl-job定时服务 -->
<xxl-job.version>
2.1.0
</xxl-job.version>
<oracle.version>
11.2.0.3
</oracle.version>
<postgresql.version>
42.2.6
</postgresql.version>
</properties>
<dependencyManagement>
...
...
@@ -299,12 +302,6 @@
<artifactId>
httpclient
</artifactId>
</dependency>
<!-- MySQL驱动包 -->
<dependency>
<groupId>
mysql
</groupId>
<artifactId>
mysql-connector-java
</artifactId>
</dependency>
<!-- 阿里Druid数据源 -->
<dependency>
<groupId>
com.alibaba
</groupId>
...
...
@@ -317,9 +314,23 @@
<artifactId>
h2
</artifactId>
</dependency>
<!-- Error -->
<!-- Security -->
<!-- Oracle驱动包 -->
<dependency>
<groupId>
com.oracle
</groupId>
<artifactId>
ojdbc6
</artifactId>
<version>
${oracle.version}
</version>
</dependency>
<!-- PostgreSQL驱动包 -->
<dependency>
<groupId>
org.postgresql
</groupId>
<artifactId>
postgresql
</artifactId>
<version>
${postgresql.version}
</version>
</dependency>
<!-- MySQL驱动包 -->
<dependency>
<groupId>
mysql
</groupId>
<artifactId>
mysql-connector-java
</artifactId>
</dependency>
</dependencies>
...
...
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录