Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
功
功能演示系统
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
示例
功能演示系统
提交
d490961b
提交
d490961b
编写于
12月 16, 2022
作者:
ibizdev
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
ShineKOT 发布系统代码 [后台服务,演示应用]
上级
9fd0988a
变更
9
展开全部
隐藏空白字符变更
内嵌
并排
正在显示
9 个修改的文件
包含
87 行增加
和
97 行删除
+87
-97
index-base.vue
app_Web/src/pages/sample/index/index-base.vue
+31
-17
lnternal-func-list-list-base.vue
.../lnternal-func-list-list/lnternal-func-list-list-base.vue
+14
-14
quicksearchform-searchform-base.vue
...searchform-searchform/quicksearchform-searchform-base.vue
+2
-2
usr2-dataview-base.vue
...src/widgets/ibizbook/usr2-dataview/usr2-dataview-base.vue
+22
-52
usr2-dataview-model.ts
...src/widgets/ibizbook/usr2-dataview/usr2-dataview-model.ts
+12
-1
usr4-dataview-base.vue
...src/widgets/ibizbook/usr4-dataview/usr4-dataview-base.vue
+4
-4
usr4-dataview-model.ts
...src/widgets/ibizbook/usr4-dataview/usr4-dataview-model.ts
+0
-5
index.json
...atic/remotemodel/PSSYSAPPS/Web/PSAPPINDEXVIEWS/index.json
+1
-1
PSSYSAPP.json
.../resources/static/remotemodel/PSSYSAPPS/Web/PSSYSAPP.json
+1
-1
未找到文件。
app_Web/src/pages/sample/index/index-base.vue
浏览文件 @
d490961b
<
template
>
<app-index-view-layout-top
:class=
"
{ [themeClasses]: true, 'index': true }" :style="themeStyle">
<template
#
headerLeft
>
<img
class=
"app-icon"
src=
"../../../assets/img/logo.png"
/>
<span
class=
"app-caption"
>
{{
model
.
srfCaption
}}
</span>
</
template
>
<
template
#
headerRight
>
<view
_appmenu
<app-index-view-layout-left
:navModel=
"navModel"
:collapseChange=
"collapseChange"
:class=
"
{ [themeClasses]: true, 'index': true }" :style="themeStyle">
<template
#
siderTop
>
<div
class=
"app-title"
>
<img
class=
"app-icon"
v-if=
"isEnableAppSwitch"
src=
"../../../assets/img/logo2.png"
@
click=
"contextMenuDragVisiable=!contextMenuDragVisiable"
/>
<span
class=
"app-caption"
v-show=
"!collapseChange"
>
{{
model
.
srfCaption
}}
</span>
</div>
</
template
>
<
template
#
siderContent
>
<view
_appmenu
:viewState=
"viewState"
:viewparams=
"viewparams"
:context=
"context"
...
...
@@ -23,15 +25,27 @@
ref=
'appmenu'
@
closeview=
"closeView($event)"
>
</view
_appmenu
>
<app-user></app-user>
<app-message-popover></app-message-popover>
<app-help></app-help>
<app-lang></app-lang>
</
template
>
<
template
#
navPos
>
<router-view></router-view>
</
template
>
</app-index-view-layout-top>
<context-menu-drag
v-if=
"isEnableAppSwitch"
:contextMenuDragVisiable=
"contextMenuDragVisiable"
></context-menu-drag>
</
template
>
<
template
#
siderBottom
>
<i
v-show=
"!collapseChange"
class=
"collapse-icon ivu-icon el-icon-s-fold"
@
click=
"handleClick"
></i>
<i
v-show=
"collapseChange"
class=
"collapse-icon ivu-icon el-icon-s-unfold"
@
click=
"handleClick"
></i>
</
template
>
<
template
#
headerRight
>
<app-user></app-user>
<app-message-popover></app-message-popover>
<app-help></app-help>
<app-lang></app-lang>
</
template
>
<
template
#
tabPageExp
>
<tab-page-exp
v-if=
"Object.is(navModel,'tab')"
></tab-page-exp>
</
template
>
<
template
#
navPos
>
<app-keep-alive
:routerList=
"getRouterList"
>
<router-view
:key=
"getRouterViewKey"
></router-view>
</app-keep-alive>
</
template
>
</app-index-view-layout-left>
</template>
// 基于 @VIEW/应用首页视图/VIEW-BASE.vue.ftl 生成
...
...
@@ -613,7 +627,7 @@ export default class IndexBase extends Vue {
* @type {string}
* @memberof IndexBase
*/
public
mode
:
string
=
'
horizont
al'
;
public
mode
:
string
=
'
vertic
al'
;
/**
* 导航模式(route:面包屑模式、tab:分页导航模式)
...
...
app_Web/src/widgets/ibizbook/lnternal-func-list-list/lnternal-func-list-list-base.vue
浏览文件 @
d490961b
...
...
@@ -26,7 +26,7 @@
<span
class=
"quick-toolbar"
>
<div
class=
'toolbar-container'
>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
<i-button
v-show=
"
listviewlist_quicktoolbarModels.deuiaction1.visabled"
:disabled=
"listview
list_quicktoolbarModels.deuiaction1.disabled"
class=
' srfactionlevel100'
v-button-loading:i-button
@
click=
"list_quicktoolbar_click({ tag: 'deuiaction1' }, $event)"
>
<i-button
v-show=
"
usr4listview_layoutlist_quicktoolbarModels.deuiaction1.visabled"
:disabled=
"usr4listview_layout
list_quicktoolbarModels.deuiaction1.disabled"
class=
' srfactionlevel100'
v-button-loading:i-button
@
click=
"list_quicktoolbar_click({ tag: 'deuiaction1' }, $event)"
>
<i
class=
'fa fa-file-text-o'
></i>
<span
class=
'caption'
>
{{$t('TBB.TEXT.*.NEW', '新建')}}
</span>
</i-button>
...
...
@@ -41,14 +41,14 @@
<span
class=
"batch-toolbar"
>
<div
class=
'toolbar-container'
>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
<i-button
v-show=
"
listviewlist_batchtoolbarModels.deuiaction1.visabled"
:disabled=
"listview
list_batchtoolbarModels.deuiaction1.disabled"
class=
' srfactionlevel100'
v-button-loading:i-button
@
click=
"list_batchtoolbar_click({ tag: 'deuiaction1' }, $event)"
>
<i-button
v-show=
"
usr4listview_layoutlist_batchtoolbarModels.deuiaction1.visabled"
:disabled=
"usr4listview_layout
list_batchtoolbarModels.deuiaction1.disabled"
class=
' srfactionlevel100'
v-button-loading:i-button
@
click=
"list_batchtoolbar_click({ tag: 'deuiaction1' }, $event)"
>
<i
class=
'fa fa-edit'
></i>
<span
class=
'caption'
>
{{$t('TBB.TEXT.*.EDIT', '编辑')}}
</span>
</i-button>
<div
slot=
'content'
>
{{$t('TBB.TEXT.*.EDIT', '编辑')}}
</div>
</tooltip>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
<i-button
v-show=
"
listviewlist_batchtoolbarModels.deuiaction2.visabled"
:disabled=
"listview
list_batchtoolbarModels.deuiaction2.disabled"
class=
' srfactionlevel100'
v-button-loading:i-button
@
click=
"list_batchtoolbar_click({ tag: 'deuiaction2' }, $event)"
>
<i-button
v-show=
"
usr4listview_layoutlist_batchtoolbarModels.deuiaction2.visabled"
:disabled=
"usr4listview_layout
list_batchtoolbarModels.deuiaction2.disabled"
class=
' srfactionlevel100'
v-button-loading:i-button
@
click=
"list_batchtoolbar_click({ tag: 'deuiaction2' }, $event)"
>
<i
class=
'fa fa-remove'
></i>
<span
class=
'caption'
>
{{$t('TBB.TEXT.*.REMOVE', '删除')}}
</span>
</i-button>
...
...
@@ -362,7 +362,7 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof IBIZBOOK
ListView
Base
* @memberof IBIZBOOK
Usr4ListView_layout
Base
*/
public
New
(
args
:
any
[],
contextJO
?:
any
,
params
?:
any
,
$event
?:
any
,
xData
?:
any
,
actionContext
?:
any
,
srfParentDeName
?:
string
)
{
const
_this
:
any
=
this
;
...
...
@@ -382,7 +382,7 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof IBIZBOOK
ListView
Base
* @memberof IBIZBOOK
Usr4ListView_layout
Base
*/
public
Edit
(
args
:
any
[],
contextJO
?:
any
,
params
?:
any
,
$event
?:
any
,
xData
?:
any
,
actionContext
?:
any
,
srfParentDeName
?:
string
)
{
if
(
args
.
length
===
0
)
{
...
...
@@ -408,7 +408,7 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof IBIZBOOK
ListView
Base
* @memberof IBIZBOOK
Usr4ListView_layout
Base
*/
public
Remove
(
args
:
any
[],
contextJO
?:
any
,
params
?:
any
,
$event
?:
any
,
xData
?:
any
,
actionContext
?:
any
,
srfParentDeName
?:
string
)
{
const
_this
:
any
=
this
;
...
...
@@ -604,9 +604,9 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac
* 工具栏模型
*
* @type {*}
* @memberof IBIZBOOK
ListView
* @memberof IBIZBOOK
Usr4ListView_layout
*/
public
listview
list_quicktoolbarModels
:
any
=
{
public
usr4listview_layout
list_quicktoolbarModels
:
any
=
{
deuiaction1
:
{
name
:
'deuiaction1'
,
actiontarget
:
'NONE'
,
caption
:
'新建'
,
disabled
:
false
,
type
:
'DEUIACTION'
,
visabled
:
true
,
noprivdisplaymode
:
2
,
dataaccaction
:
''
,
uiaction
:
{
tag
:
'New'
,
target
:
''
}
},
};
...
...
@@ -616,9 +616,9 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac
* 工具栏模型
*
* @type {*}
* @memberof IBIZBOOK
ListView
* @memberof IBIZBOOK
Usr4ListView_layout
*/
public
listview
list_batchtoolbarModels
:
any
=
{
public
usr4listview_layout
list_batchtoolbarModels
:
any
=
{
deuiaction1
:
{
name
:
'deuiaction1'
,
actiontarget
:
'NONE'
,
caption
:
'编辑'
,
disabled
:
false
,
type
:
'DEUIACTION'
,
visabled
:
true
,
noprivdisplaymode
:
2
,
dataaccaction
:
''
,
uiaction
:
{
tag
:
'Edit'
,
target
:
'SINGLEKEY'
}
},
deuiaction2
:
{
name
:
'deuiaction2'
,
actiontarget
:
'NONE'
,
caption
:
'删除'
,
disabled
:
false
,
type
:
'DEUIACTION'
,
visabled
:
true
,
noprivdisplaymode
:
2
,
dataaccaction
:
''
,
uiaction
:
{
tag
:
'Remove'
,
target
:
'MULTIKEY'
}
},
...
...
@@ -841,7 +841,7 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac
*/
public
async
load
(
opt
:
any
=
{}):
Promise
<
any
>
{
if
(
!
this
.
fetchAction
){
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZBOOK
ListView
'
+
(
this
.
$t
(
'app.list.notConfig.fetchAction'
)
as
string
)
});
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZBOOK
Usr4ListView_layout
'
+
(
this
.
$t
(
'app.list.notConfig.fetchAction'
)
as
string
)
});
return
;
}
const
arg
:
any
=
{...
opt
};
...
...
@@ -971,7 +971,7 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac
*/
public
async
remove
(
datas
:
any
[]):
Promise
<
any
>
{
if
(
!
this
.
removeAction
){
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZBOOK
ListView
'
+
(
this
.
$t
(
'app.list.notConfig.removeAction'
)
as
string
)
});
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZBOOK
Usr4ListView_layout
'
+
(
this
.
$t
(
'app.list.notConfig.removeAction'
)
as
string
)
});
return
;
}
if
(
datas
.
length
===
0
)
{
...
...
@@ -1076,7 +1076,7 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac
try
{
if
(
Object
.
is
(
item
.
rowDataState
,
'create'
)){
if
(
!
this
.
createAction
){
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZBOOK
ListView
'
+
(
this
.
$t
(
'app.list.notConfig.createAction'
)
as
string
)
});
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZBOOK
Usr4ListView_layout
'
+
(
this
.
$t
(
'app.list.notConfig.createAction'
)
as
string
)
});
}
else
{
Object
.
assign
(
item
,{
viewparams
:
this
.
viewparams
});
let
response
=
await
this
.
service
.
add
(
this
.
createAction
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),
item
,
this
.
showBusyIndicator
);
...
...
@@ -1084,7 +1084,7 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac
}
}
else
if
(
Object
.
is
(
item
.
rowDataState
,
'update'
)){
if
(
!
this
.
updateAction
){
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.warning'
)
as
string
),
desc
:
'IBIZBOOK
ListView
'
+
(
this
.
$t
(
'app.list.notConfig.updateAction'
)
as
string
)
});
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.warning'
)
as
string
),
desc
:
'IBIZBOOK
Usr4ListView_layout
'
+
(
this
.
$t
(
'app.list.notConfig.updateAction'
)
as
string
)
});
}
else
{
Object
.
assign
(
item
,{
viewparams
:
this
.
viewparams
});
if
(
item
.
ibizbook
){
...
...
app_Web/src/widgets/ibizbook/quicksearchform-searchform/quicksearchform-searchform-base.vue
浏览文件 @
d490961b
...
...
@@ -670,7 +670,7 @@ export default class QUICKSEARCHFORMBase extends Vue implements ControlInterface
*/
public
load
(
opt
:
any
=
{}):
void
{
if
(
!
this
.
loadAction
){
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZBOOK
List
View'
+
(
this
.
$t
(
'app.searchForm.notConfig.loadAction'
)
as
string
)
});
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZBOOK
Calendar
View'
+
(
this
.
$t
(
'app.searchForm.notConfig.loadAction'
)
as
string
)
});
return
;
}
const
arg
:
any
=
{
...
opt
};
...
...
@@ -706,7 +706,7 @@ export default class QUICKSEARCHFORMBase extends Vue implements ControlInterface
*/
public
async
loadDraft
(
opt
:
any
=
{},
mode
?:
string
):
Promise
<
any
>
{
if
(
!
this
.
loaddraftAction
){
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZBOOK
List
View'
+
(
this
.
$t
(
'app.searchForm.notConfig.loaddraftAction'
)
as
string
)
});
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZBOOK
Calendar
View'
+
(
this
.
$t
(
'app.searchForm.notConfig.loaddraftAction'
)
as
string
)
});
return
;
}
const
arg
:
any
=
{
...
opt
}
;
...
...
app_Web/src/widgets/ibizbook/usr2-dataview/usr2-dataview-base.vue
浏览文件 @
d490961b
此差异已折叠。
点击以展开。
app_Web/src/widgets/ibizbook/usr2-dataview/usr2-dataview-model.ts
浏览文件 @
d490961b
...
...
@@ -11,7 +11,7 @@ export default class Usr2Model {
* 获取数据项集合
*
* @returns {any[]}
* @memberof Usr2Data
viewexpbar_datav
iewMode
* @memberof Usr2Data
V
iewMode
*/
public
getDataItems
():
any
[]
{
return
[
...
...
@@ -40,6 +40,17 @@ export default class Usr2Model {
dataType
:
'FONTKEY'
,
},
{
name
:
'n_ibizbookname_like'
,
prop
:
'n_ibizbookname_like'
,
dataType
:
'QUERYPARAM'
},
{
name
:
'n_price_gtandeq'
,
prop
:
'n_price_gtandeq'
,
dataType
:
'QUERYPARAM'
},
{
name
:
'size'
,
...
...
app_Web/src/widgets/ibizbook/usr4-dataview/usr4-dataview-base.vue
浏览文件 @
d490961b
...
...
@@ -698,7 +698,7 @@ export default class Usr4Base extends Vue implements ControlInterface {
*/
public
async
load
(
opt
:
any
=
{},
isReset
:
boolean
=
false
):
Promise
<
any
>
{
if
(
!
this
.
fetchAction
){
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZBOOK
Usr4
DataView'
+
(
this
.
$t
(
'app.list.notConfig.fetchAction'
)
as
string
)
});
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZBOOK
TestCL
DataView'
+
(
this
.
$t
(
'app.list.notConfig.fetchAction'
)
as
string
)
});
return
;
}
const
arg
:
any
=
{...
opt
};
...
...
@@ -792,7 +792,7 @@ export default class Usr4Base extends Vue implements ControlInterface {
*/
public
async
remove
(
datas
:
any
[]):
Promise
<
any
>
{
if
(
!
this
.
removeAction
){
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZBOOK
Usr4
DataView'
+
(
this
.
$t
(
'app.gridpage.notConfig.removeAction'
)
as
string
)
});
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZBOOK
TestCL
DataView'
+
(
this
.
$t
(
'app.gridpage.notConfig.removeAction'
)
as
string
)
});
return
;
}
let
_datas
:
any
[]
=
[];
...
...
@@ -908,7 +908,7 @@ export default class Usr4Base extends Vue implements ControlInterface {
try
{
if
(
Object
.
is
(
item
.
rowDataState
,
'create'
)){
if
(
!
this
.
createAction
){
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZBOOK
Usr4
DataView'
+
(
this
.
$t
(
'app.list.notConfig.createAction'
)
as
string
)
});
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZBOOK
TestCL
DataView'
+
(
this
.
$t
(
'app.list.notConfig.createAction'
)
as
string
)
});
}
else
{
Object
.
assign
(
item
,{
viewparams
:
this
.
viewparams
});
let
response
=
await
this
.
service
.
add
(
this
.
createAction
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),
item
,
this
.
showBusyIndicator
);
...
...
@@ -916,7 +916,7 @@ export default class Usr4Base extends Vue implements ControlInterface {
}
}
else
if
(
Object
.
is
(
item
.
rowDataState
,
'update'
)){
if
(
!
this
.
updateAction
){
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZBOOK
Usr4
DataView'
+
(
this
.
$t
(
'app.list.notConfig.updateAction'
)
as
string
)
});
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZBOOK
TestCL
DataView'
+
(
this
.
$t
(
'app.list.notConfig.updateAction'
)
as
string
)
});
}
else
{
Object
.
assign
(
item
,{
viewparams
:
this
.
viewparams
});
if
(
item
.
ibizbook
){
...
...
app_Web/src/widgets/ibizbook/usr4-dataview/usr4-dataview-model.ts
浏览文件 @
d490961b
...
...
@@ -70,11 +70,6 @@ export default class Usr4Model {
prop
:
'n_ibizbookname_like'
,
dataType
:
'QUERYPARAM'
},
{
name
:
'n_price_gtandeq'
,
prop
:
'n_price_gtandeq'
,
dataType
:
'QUERYPARAM'
},
{
...
...
demo-boot/src/main/resources/static/remotemodel/PSSYSAPPS/Web/PSAPPINDEXVIEWS/index.json
浏览文件 @
d490961b
...
...
@@ -16,7 +16,7 @@
},
"dynaModelFilePath"
:
"PSSYSAPPS/Web/PSAPPINDEXVIEWS/index.json"
,
"mOSFilePath"
:
"pssysapps/Web/psappindexviews/index"
,
"mainMenuAlign"
:
"
TOP
"
,
"mainMenuAlign"
:
"
LEFT
"
,
"name"
:
"index"
,
"getPSAppModule"
:
{
"modelref"
:
true
,
...
...
demo-boot/src/main/resources/static/remotemodel/PSSYSAPPS/Web/PSSYSAPP.json
浏览文件 @
d490961b
...
...
@@ -18334,7 +18334,7 @@
},
"dynaModelFilePath" : "PSSYSAPPS/Web/PSAPPINDEXVIEWS/index.json",
"mOSFilePath" : "pssysapps/Web/psappindexviews/index",
"mainMenuAlign" : "
TOP
",
"mainMenuAlign" : "
LEFT
",
"name" : "index",
"getPSAppModule" : {
"modelref" : true,
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录