Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
功
功能演示系统
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
示例
功能演示系统
提交
30e7367f
提交
30e7367f
编写于
12月 30, 2022
作者:
ibizdev
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
tony001 发布系统代码 [后台服务,演示应用]
上级
9c427e3f
变更
11
展开全部
隐藏空白字符变更
内嵌
并排
正在显示
11 个修改的文件
包含
229 行增加
和
61 行删除
+229
-61
default-searchform-base.vue
...zappeditor/default-searchform/default-searchform-base.vue
+2
-2
default-searchform-base.vue
...s/ibizbook/default-searchform/default-searchform-base.vue
+2
-2
listplugin-list-base.vue
...widgets/ibizbook/listplugin-list/listplugin-list-base.vue
+91
-2
lnternal-func-list-list-base.vue
.../lnternal-func-list-list/lnternal-func-list-list-base.vue
+104
-15
main-form-base.vue
app_Web/src/widgets/ibizbook/main-form/main-form-base.vue
+5
-5
quicksearchform-searchform-base.vue
...searchform-searchform/quicksearchform-searchform-base.vue
+2
-2
main-grid-base.vue
...src/widgets/ibizorder-detail/main-grid/main-grid-base.vue
+6
-6
card-navigation-dataview-base.vue
...ard-navigation-dataview/card-navigation-dataview-base.vue
+4
-4
main-grid-base.vue
app_Web/src/widgets/ibizorder/main-grid/main-grid-base.vue
+7
-21
PSSYSAPP.json
.../resources/static/remotemodel/PSSYSAPPS/Web/PSSYSAPP.json
+3
-1
PSSYSAPP.simple.json
...ces/static/remotemodel/PSSYSAPPS/Web/PSSYSAPP.simple.json
+3
-1
未找到文件。
app_Web/src/widgets/ibizappeditor/default-searchform/default-searchform-base.vue
浏览文件 @
30e7367f
...
@@ -639,7 +639,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
...
@@ -639,7 +639,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
*/
*/
public
load
(
opt
:
any
=
{}):
void
{
public
load
(
opt
:
any
=
{}):
void
{
if
(
!
this
.
loadAction
){
if
(
!
this
.
loadAction
){
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZAPPEDITOR
Grid
View'
+
(
this
.
$t
(
'app.searchForm.notConfig.loadAction'
)
as
string
)
});
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZAPPEDITOR
List
View'
+
(
this
.
$t
(
'app.searchForm.notConfig.loadAction'
)
as
string
)
});
return
;
return
;
}
}
const
arg
:
any
=
{
...
opt
};
const
arg
:
any
=
{
...
opt
};
...
@@ -675,7 +675,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
...
@@ -675,7 +675,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
*/
*/
public
async
loadDraft
(
opt
:
any
=
{},
mode
?:
string
):
Promise
<
any
>
{
public
async
loadDraft
(
opt
:
any
=
{},
mode
?:
string
):
Promise
<
any
>
{
if
(
!
this
.
loaddraftAction
){
if
(
!
this
.
loaddraftAction
){
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZAPPEDITOR
Grid
View'
+
(
this
.
$t
(
'app.searchForm.notConfig.loaddraftAction'
)
as
string
)
});
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZAPPEDITOR
List
View'
+
(
this
.
$t
(
'app.searchForm.notConfig.loaddraftAction'
)
as
string
)
});
return
;
return
;
}
}
const
arg
:
any
=
{
...
opt
}
;
const
arg
:
any
=
{
...
opt
}
;
...
...
app_Web/src/widgets/ibizbook/default-searchform/default-searchform-base.vue
浏览文件 @
30e7367f
...
@@ -712,7 +712,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
...
@@ -712,7 +712,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
*/
*/
public
load
(
opt
:
any
=
{}):
void
{
public
load
(
opt
:
any
=
{}):
void
{
if
(
!
this
.
loadAction
){
if
(
!
this
.
loadAction
){
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZBOOK
CustomView_layout
'
+
(
this
.
$t
(
'app.searchForm.notConfig.loadAction'
)
as
string
)
});
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZBOOK
Usr3GridView
'
+
(
this
.
$t
(
'app.searchForm.notConfig.loadAction'
)
as
string
)
});
return
;
return
;
}
}
const
arg
:
any
=
{
...
opt
};
const
arg
:
any
=
{
...
opt
};
...
@@ -748,7 +748,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
...
@@ -748,7 +748,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
*/
*/
public
async
loadDraft
(
opt
:
any
=
{},
mode
?:
string
):
Promise
<
any
>
{
public
async
loadDraft
(
opt
:
any
=
{},
mode
?:
string
):
Promise
<
any
>
{
if
(
!
this
.
loaddraftAction
){
if
(
!
this
.
loaddraftAction
){
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZBOOK
CustomView_layout
'
+
(
this
.
$t
(
'app.searchForm.notConfig.loaddraftAction'
)
as
string
)
});
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZBOOK
Usr3GridView
'
+
(
this
.
$t
(
'app.searchForm.notConfig.loaddraftAction'
)
as
string
)
});
return
;
return
;
}
}
const
arg
:
any
=
{
...
opt
}
;
const
arg
:
any
=
{
...
opt
}
;
...
...
app_Web/src/widgets/ibizbook/listplugin-list/listplugin-list-base.vue
浏览文件 @
30e7367f
<
template
>
<
template
>
<div
style=
"overflow:auto;"
>
<div
style=
"overflow:auto;"
>
<div
:class=
"['app-list',this.items.length > 0 ? '' : 'app-list-empty' ]"
>
<div
:class=
"['app-list',this.items.length > 0 ? '' : 'app-list-empty' ]"
>
<div>
<span
style=
"color: red"
>
列表插件自定义内容
</span>
<AppList
:id=
"controlID"
:class=
"classNames"
:items=
"store.data"
:selections=
"store.selections"
:totalRecord=
"store.totalRecord"
@
item-click=
"handleItemClick"
@
item-db-click=
"handleItemDbClick"
@
selection-change=
"handleSelectionChange"
@
load-more=
"handleLoadMore"
@
item-action-click=
"(logic: any, data: IParam, event: MouseEvent) => handleActionClick(controller, logic, data, event)"
>
</AppList>
</div>
</div>
</div>
<row
class=
'list-pagination'
v-if=
"selections.length > 0"
>
<row
class=
'list-pagination'
v-if=
"selections.length > 0"
>
<span
class=
"batch-toolbar"
>
<span
class=
"batch-toolbar"
>
...
@@ -446,7 +461,81 @@ export default class ListpluginBase extends Vue implements ControlInterface {
...
@@ -446,7 +461,81 @@ export default class ListpluginBase extends Vue implements ControlInterface {
}
}
import
{
AppList
}
from
'@components/widgets/list'
;
import
{
ICtrlDataAction
,
IContext
,
IParam
,
ListActionType
,
IListAbility
,
ListController
,
createUUID
,
ILoadingHelper
,
IViewCtx
,
}
from
'@/core'
;
import
{
getCtrlClassNames
,
useEventBind
,
handleActionClick
,
}
from
'@/hooks/use-ctrl'
;
interface
Props
{
name
?:
string
;
context
:
IContext
;
viewParams
:
IParam
;
localContext
?:
IParam
;
localViewParams
?:
IParam
;
closeView
?:
Function
;
pLoadingHelper
?:
ILoadingHelper
;
pViewCtx
?:
IViewCtx
;
openView
?:
Function
;
newView
?:
Function
;
actions
:
ICtrlDataAction
;
singleSelect
?:
boolean
;
rowActiveMode
?:
0
|
1
|
2
;
selectFirstDefault
?:
boolean
;
controller
:
ListController
;
}
const
props
=
withDefaults
(
defineProps
<
Props
>
(),
{
singleSelect
:
false
,
rowActiveMode
:
2
,
});
const
emit
=
defineEmits
<
{
(
event
:
'ctrl-action'
,
name
:
string
,
action
:
ListActionType
,
data
:
IParam
[]
):
void
;
(
event
:
'ctrl-init'
,
name
:
string
,
data
:
IListAbility
):
void
;
(
event
:
'ctrl-destroy'
,
name
:
string
,
data
:
IParam
):
void
;
}
>
();
const
evt
=
useEventBind
<
ListActionType
,
IListAbility
>
(
emit
);
// 部件样式名
const
classNames
=
computed
(()
=>
{
return
getCtrlClassNames
(
model
,
props
);
});
const
controlID
=
createUUID
();
const
model
:
IParam
=
props
.
controller
.
getModel
();
const
handleItemClick
=
(
row
:
IParam
,
event
:
MouseEvent
)
=>
{
props
.
controller
.
handleItemClick
(
row
,
event
);
};
const
store
=
props
.
controller
.
getStore
();
const
handleItemDbClick
=
(
row
:
IParam
,
event
:
MouseEvent
)
=>
{
props
.
controller
.
handleItemDbClick
(
row
,
event
);
};
const
handleSelectionChange
=
(
selections
:
IParam
[])
=>
{
props
.
controller
.
handleSelectionChange
(
selections
);
};
const
handleLoadMore
=
()
=>
{
props
.
controller
.
loadMore
();
};
/**
/**
...
...
app_Web/src/widgets/ibizbook/lnternal-func-list-list/lnternal-func-list-list-base.vue
浏览文件 @
30e7367f
此差异已折叠。
点击以展开。
app_Web/src/widgets/ibizbook/main-form/main-form-base.vue
浏览文件 @
30e7367f
...
@@ -1683,7 +1683,7 @@ export default class MainBase extends Vue implements ControlInterface {
...
@@ -1683,7 +1683,7 @@ export default class MainBase extends Vue implements ControlInterface {
*/
*/
public
async
load
(
opt
:
any
=
{}):
Promise
<
any
>
{
public
async
load
(
opt
:
any
=
{}):
Promise
<
any
>
{
if
(
!
this
.
loadAction
){
if
(
!
this
.
loadAction
){
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZBOOK
TestLogicCustom
View'
+
(
this
.
$t
(
'app.formpage.notconfig.loadaction'
)
as
string
)
});
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZBOOK
Usr6Edit
View'
+
(
this
.
$t
(
'app.formpage.notconfig.loadaction'
)
as
string
)
});
return
;
return
;
}
}
const
arg
:
any
=
{
...
opt
};
const
arg
:
any
=
{
...
opt
};
...
@@ -1735,7 +1735,7 @@ export default class MainBase extends Vue implements ControlInterface {
...
@@ -1735,7 +1735,7 @@ export default class MainBase extends Vue implements ControlInterface {
*/
*/
public
async
loadDraft
(
opt
:
any
=
{}):
Promise
<
any
>
{
public
async
loadDraft
(
opt
:
any
=
{}):
Promise
<
any
>
{
if
(
!
this
.
loaddraftAction
)
{
if
(
!
this
.
loaddraftAction
)
{
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZBOOK
TestLogicCustom
View'
+
(
this
.
$t
(
'app.formpage.notconfig.loaddraftaction'
)
as
string
)
});
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZBOOK
Usr6Edit
View'
+
(
this
.
$t
(
'app.formpage.notconfig.loaddraftaction'
)
as
string
)
});
return
;
return
;
}
}
const
arg
:
any
=
{
...
opt
}
;
const
arg
:
any
=
{
...
opt
}
;
...
@@ -1806,7 +1806,7 @@ export default class MainBase extends Vue implements ControlInterface {
...
@@ -1806,7 +1806,7 @@ export default class MainBase extends Vue implements ControlInterface {
const
action
:
any
=
Object
.
is
(
data
.
srfuf
,
'1'
)
?
this
.
updateAction
:
this
.
createAction
;
const
action
:
any
=
Object
.
is
(
data
.
srfuf
,
'1'
)
?
this
.
updateAction
:
this
.
createAction
;
if
(
!
action
){
if
(
!
action
){
let
actionName
:
any
=
Object
.
is
(
data
.
srfuf
,
'1'
)?
"updateAction"
:
"createAction"
;
let
actionName
:
any
=
Object
.
is
(
data
.
srfuf
,
'1'
)?
"updateAction"
:
"createAction"
;
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZBOOK
TestLogicCustom
View'
+
(
this
.
$t
(
'app.formpage.notconfig.actionname'
)
as
string
)
});
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZBOOK
Usr6Edit
View'
+
(
this
.
$t
(
'app.formpage.notconfig.actionname'
)
as
string
)
});
return
;
return
;
}
}
Object
.
assign
(
arg
,{
viewparams
:
this
.
viewparams
});
Object
.
assign
(
arg
,{
viewparams
:
this
.
viewparams
});
...
@@ -1914,7 +1914,7 @@ export default class MainBase extends Vue implements ControlInterface {
...
@@ -1914,7 +1914,7 @@ export default class MainBase extends Vue implements ControlInterface {
const
action
:
any
=
Object
.
is
(
data
.
srfuf
,
'1'
)
?
this
.
updateAction
:
this
.
createAction
;
const
action
:
any
=
Object
.
is
(
data
.
srfuf
,
'1'
)
?
this
.
updateAction
:
this
.
createAction
;
if
(
!
action
){
if
(
!
action
){
let
actionName
:
any
=
Object
.
is
(
data
.
srfuf
,
'1'
)?
"updateAction"
:
"createAction"
;
let
actionName
:
any
=
Object
.
is
(
data
.
srfuf
,
'1'
)?
"updateAction"
:
"createAction"
;
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZBOOK
TestLogicCustom
View'
+
(
this
.
$t
(
'app.formpage.notconfig.actionname'
)
as
string
)
});
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZBOOK
Usr6Edit
View'
+
(
this
.
$t
(
'app.formpage.notconfig.actionname'
)
as
string
)
});
return
;
return
;
}
}
Object
.
assign
(
arg
,
{
viewparams
:
this
.
viewparams
});
Object
.
assign
(
arg
,
{
viewparams
:
this
.
viewparams
});
...
@@ -2128,7 +2128,7 @@ export default class MainBase extends Vue implements ControlInterface {
...
@@ -2128,7 +2128,7 @@ export default class MainBase extends Vue implements ControlInterface {
public
remove
(
opt
:
Array
<
any
>
=
[],
showResultInfo
?:
boolean
):
Promise
<
any
>
{
public
remove
(
opt
:
Array
<
any
>
=
[],
showResultInfo
?:
boolean
):
Promise
<
any
>
{
return
new
Promise
((
resolve
:
any
,
reject
:
any
)
=>
{
return
new
Promise
((
resolve
:
any
,
reject
:
any
)
=>
{
if
(
!
this
.
removeAction
){
if
(
!
this
.
removeAction
){
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZBOOK
TestLogicCustom
View'
+
(
this
.
$t
(
'app.formpage.notconfig.removeaction'
)
as
string
)
});
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZBOOK
Usr6Edit
View'
+
(
this
.
$t
(
'app.formpage.notconfig.removeaction'
)
as
string
)
});
return
;
return
;
}
}
const
arg
:
any
=
opt
[
0
];
const
arg
:
any
=
opt
[
0
];
...
...
app_Web/src/widgets/ibizbook/quicksearchform-searchform/quicksearchform-searchform-base.vue
浏览文件 @
30e7367f
...
@@ -670,7 +670,7 @@ export default class QUICKSEARCHFORMBase extends Vue implements ControlInterface
...
@@ -670,7 +670,7 @@ export default class QUICKSEARCHFORMBase extends Vue implements ControlInterface
*/
*/
public
load
(
opt
:
any
=
{}):
void
{
public
load
(
opt
:
any
=
{}):
void
{
if
(
!
this
.
loadAction
){
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
;
return
;
}
}
const
arg
:
any
=
{
...
opt
};
const
arg
:
any
=
{
...
opt
};
...
@@ -706,7 +706,7 @@ export default class QUICKSEARCHFORMBase extends Vue implements ControlInterface
...
@@ -706,7 +706,7 @@ export default class QUICKSEARCHFORMBase extends Vue implements ControlInterface
*/
*/
public
async
loadDraft
(
opt
:
any
=
{},
mode
?:
string
):
Promise
<
any
>
{
public
async
loadDraft
(
opt
:
any
=
{},
mode
?:
string
):
Promise
<
any
>
{
if
(
!
this
.
loaddraftAction
){
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
;
return
;
}
}
const
arg
:
any
=
{
...
opt
}
;
const
arg
:
any
=
{
...
opt
}
;
...
...
app_Web/src/widgets/ibizorder-detail/main-grid/main-grid-base.vue
浏览文件 @
30e7367f
...
@@ -964,7 +964,7 @@ export default class MainBase extends Vue implements ControlInterface {
...
@@ -964,7 +964,7 @@ export default class MainBase extends Vue implements ControlInterface {
if
(
!
this
.
fetchAction
)
{
if
(
!
this
.
fetchAction
)
{
this
.
$Notice
.
error
({
this
.
$Notice
.
error
({
title
:
this
.
$t
(
"app.commonWords.wrong"
)
as
string
,
title
:
this
.
$t
(
"app.commonWords.wrong"
)
as
string
,
desc
:
"IBIZOrderDetailSGridView
9
"
+
(
this
.
$t
(
"app.gridpage.notConfig.fetchAction"
)
as
string
),
desc
:
"IBIZOrderDetailSGridView"
+
(
this
.
$t
(
"app.gridpage.notConfig.fetchAction"
)
as
string
),
});
});
return
;
return
;
}
}
...
@@ -1123,7 +1123,7 @@ export default class MainBase extends Vue implements ControlInterface {
...
@@ -1123,7 +1123,7 @@ export default class MainBase extends Vue implements ControlInterface {
if
(
!
this
.
removeAction
)
{
if
(
!
this
.
removeAction
)
{
this
.
$Notice
.
error
({
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZOrderDetailSGridView
9
'
+
(
this
.
$t
(
'app.gridpage.notConfig.removeAction'
)
as
string
)
desc
:
'IBIZOrderDetailSGridView'
+
(
this
.
$t
(
'app.gridpage.notConfig.removeAction'
)
as
string
)
});
});
return
;
return
;
}
}
...
@@ -1237,7 +1237,7 @@ export default class MainBase extends Vue implements ControlInterface {
...
@@ -1237,7 +1237,7 @@ export default class MainBase extends Vue implements ControlInterface {
*/
*/
public
addBatch
(
arg
:
any
=
{}):
void
{
public
addBatch
(
arg
:
any
=
{}):
void
{
if
(
!
this
.
fetchAction
){
if
(
!
this
.
fetchAction
){
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZOrderDetailSGridView
9
'
+
(
this
.
$t
(
'app.gridpage.notConfig.fetchAction'
)
as
string
)
});
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZOrderDetailSGridView'
+
(
this
.
$t
(
'app.gridpage.notConfig.fetchAction'
)
as
string
)
});
return
;
return
;
}
}
if
(
!
arg
){
if
(
!
arg
){
...
@@ -2132,7 +2132,7 @@ export default class MainBase extends Vue implements ControlInterface {
...
@@ -2132,7 +2132,7 @@ export default class MainBase extends Vue implements ControlInterface {
try
{
try
{
if
(
Object
.
is
(
item
.
rowDataState
,
'create'
))
{
if
(
Object
.
is
(
item
.
rowDataState
,
'create'
))
{
if
(
!
this
.
createAction
)
{
if
(
!
this
.
createAction
)
{
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZOrderDetailSGridView
9
'
+
(
this
.
$t
(
'app.gridpage.notConfig.createAction'
)
as
string
)
});
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZOrderDetailSGridView'
+
(
this
.
$t
(
'app.gridpage.notConfig.createAction'
)
as
string
)
});
}
else
{
}
else
{
Object
.
assign
(
item
,
{
viewparams
:
this
.
viewparams
});
Object
.
assign
(
item
,
{
viewparams
:
this
.
viewparams
});
const
tempContext
=
Util
.
deepCopy
(
this
.
context
);
const
tempContext
=
Util
.
deepCopy
(
this
.
context
);
...
@@ -2141,7 +2141,7 @@ export default class MainBase extends Vue implements ControlInterface {
...
@@ -2141,7 +2141,7 @@ export default class MainBase extends Vue implements ControlInterface {
}
}
}
else
if
(
Object
.
is
(
item
.
rowDataState
,
'update'
)){
}
else
if
(
Object
.
is
(
item
.
rowDataState
,
'update'
)){
if
(
!
this
.
updateAction
)
{
if
(
!
this
.
updateAction
)
{
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZOrderDetailSGridView
9
'
+
(
this
.
$t
(
'app.gridpage.notConfig.updateAction'
)
as
string
)
});
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZOrderDetailSGridView'
+
(
this
.
$t
(
'app.gridpage.notConfig.updateAction'
)
as
string
)
});
}
else
{
}
else
{
Object
.
assign
(
item
,
{
viewparams
:
this
.
viewparams
});
Object
.
assign
(
item
,
{
viewparams
:
this
.
viewparams
});
const
tempContext
=
Util
.
deepCopy
(
this
.
context
);
const
tempContext
=
Util
.
deepCopy
(
this
.
context
);
...
@@ -2217,7 +2217,7 @@ export default class MainBase extends Vue implements ControlInterface {
...
@@ -2217,7 +2217,7 @@ export default class MainBase extends Vue implements ControlInterface {
if
(
!
this
.
loaddraftAction
){
if
(
!
this
.
loaddraftAction
){
this
.
$Notice
.
error
({
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZOrderDetailSGridView
9
'
+
(
this
.
$t
(
'app.gridpage.notConfig.loaddraftAction'
)
as
string
)
desc
:
'IBIZOrderDetailSGridView'
+
(
this
.
$t
(
'app.gridpage.notConfig.loaddraftAction'
)
as
string
)
});
});
return
;
return
;
}
}
...
...
app_Web/src/widgets/ibizorder/card-navigation-dataview/card-navigation-dataview-base.vue
浏览文件 @
30e7367f
...
@@ -768,7 +768,7 @@ export default class CardNavigationBase extends Vue implements ControlInterface
...
@@ -768,7 +768,7 @@ export default class CardNavigationBase extends Vue implements ControlInterface
*/
*/
public
async
load
(
opt
:
any
=
{},
isReset
:
boolean
=
false
):
Promise
<
any
>
{
public
async
load
(
opt
:
any
=
{},
isReset
:
boolean
=
false
):
Promise
<
any
>
{
if
(
!
this
.
fetchAction
){
if
(
!
this
.
fetchAction
){
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZOrderDataViewExpView
_layout
'
+
(
this
.
$t
(
'app.list.notConfig.fetchAction'
)
as
string
)
});
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZOrderDataViewExpView'
+
(
this
.
$t
(
'app.list.notConfig.fetchAction'
)
as
string
)
});
return
;
return
;
}
}
const
arg
:
any
=
{...
opt
};
const
arg
:
any
=
{...
opt
};
...
@@ -862,7 +862,7 @@ export default class CardNavigationBase extends Vue implements ControlInterface
...
@@ -862,7 +862,7 @@ export default class CardNavigationBase extends Vue implements ControlInterface
*/
*/
public
async
remove
(
datas
:
any
[]):
Promise
<
any
>
{
public
async
remove
(
datas
:
any
[]):
Promise
<
any
>
{
if
(
!
this
.
removeAction
){
if
(
!
this
.
removeAction
){
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZOrderDataViewExpView
_layout
'
+
(
this
.
$t
(
'app.gridpage.notConfig.removeAction'
)
as
string
)
});
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZOrderDataViewExpView'
+
(
this
.
$t
(
'app.gridpage.notConfig.removeAction'
)
as
string
)
});
return
;
return
;
}
}
let
_datas
:
any
[]
=
[];
let
_datas
:
any
[]
=
[];
...
@@ -978,7 +978,7 @@ export default class CardNavigationBase extends Vue implements ControlInterface
...
@@ -978,7 +978,7 @@ export default class CardNavigationBase extends Vue implements ControlInterface
try
{
try
{
if
(
Object
.
is
(
item
.
rowDataState
,
'create'
)){
if
(
Object
.
is
(
item
.
rowDataState
,
'create'
)){
if
(
!
this
.
createAction
){
if
(
!
this
.
createAction
){
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZOrderDataViewExpView
_layout
'
+
(
this
.
$t
(
'app.list.notConfig.createAction'
)
as
string
)
});
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZOrderDataViewExpView'
+
(
this
.
$t
(
'app.list.notConfig.createAction'
)
as
string
)
});
}
else
{
}
else
{
Object
.
assign
(
item
,{
viewparams
:
this
.
viewparams
});
Object
.
assign
(
item
,{
viewparams
:
this
.
viewparams
});
let
response
=
await
this
.
service
.
add
(
this
.
createAction
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),
item
,
this
.
showBusyIndicator
);
let
response
=
await
this
.
service
.
add
(
this
.
createAction
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),
item
,
this
.
showBusyIndicator
);
...
@@ -986,7 +986,7 @@ export default class CardNavigationBase extends Vue implements ControlInterface
...
@@ -986,7 +986,7 @@ export default class CardNavigationBase extends Vue implements ControlInterface
}
}
}
else
if
(
Object
.
is
(
item
.
rowDataState
,
'update'
)){
}
else
if
(
Object
.
is
(
item
.
rowDataState
,
'update'
)){
if
(
!
this
.
updateAction
){
if
(
!
this
.
updateAction
){
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZOrderDataViewExpView
_layout
'
+
(
this
.
$t
(
'app.list.notConfig.updateAction'
)
as
string
)
});
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZOrderDataViewExpView'
+
(
this
.
$t
(
'app.list.notConfig.updateAction'
)
as
string
)
});
}
else
{
}
else
{
Object
.
assign
(
item
,{
viewparams
:
this
.
viewparams
});
Object
.
assign
(
item
,{
viewparams
:
this
.
viewparams
});
if
(
item
.
ibizorder
){
if
(
item
.
ibizorder
){
...
...
app_Web/src/widgets/ibizorder/main-grid/main-grid-base.vue
浏览文件 @
30e7367f
...
@@ -320,7 +320,7 @@ export default class MainBase extends Vue implements ControlInterface {
...
@@ -320,7 +320,7 @@ export default class MainBase extends Vue implements ControlInterface {
* @param {*} [$event] 事件源
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @param {*} [actionContext] 执行行为上下文
* @memberof IBIZOrder
SF1
GridViewBase
* @memberof IBIZOrder
Pickup
GridViewBase
*/
*/
public
Edit
(
args
:
any
[],
contextJO
?:
any
,
params
?:
any
,
$event
?:
any
,
xData
?:
any
,
actionContext
?:
any
,
srfParentDeName
?:
string
)
{
public
Edit
(
args
:
any
[],
contextJO
?:
any
,
params
?:
any
,
$event
?:
any
,
xData
?:
any
,
actionContext
?:
any
,
srfParentDeName
?:
string
)
{
if
(
args
.
length
===
0
)
{
if
(
args
.
length
===
0
)
{
...
@@ -463,20 +463,6 @@ export default class MainBase extends Vue implements ControlInterface {
...
@@ -463,20 +463,6 @@ export default class MainBase extends Vue implements ControlInterface {
return
this
.
selections
[
0
];
return
this
.
selections
[
0
];
}
}
/**
* 打开新建数据视图
*
* @type {any}
* @memberof MainBase
*/
@
Prop
()
public
newdata
:
any
;
/**
* 打开编辑数据视图
*
* @type {any}
* @memberof MainBase
*/
@
Prop
()
public
opendata
:
any
;
/**
/**
* 是否嵌入关系界面
* 是否嵌入关系界面
...
@@ -1011,7 +997,7 @@ export default class MainBase extends Vue implements ControlInterface {
...
@@ -1011,7 +997,7 @@ export default class MainBase extends Vue implements ControlInterface {
if
(
!
this
.
fetchAction
)
{
if
(
!
this
.
fetchAction
)
{
this
.
$Notice
.
error
({
this
.
$Notice
.
error
({
title
:
this
.
$t
(
"app.commonWords.wrong"
)
as
string
,
title
:
this
.
$t
(
"app.commonWords.wrong"
)
as
string
,
desc
:
"IBIZOrder
SF1
GridView"
+
(
this
.
$t
(
"app.gridpage.notConfig.fetchAction"
)
as
string
),
desc
:
"IBIZOrder
Pickup
GridView"
+
(
this
.
$t
(
"app.gridpage.notConfig.fetchAction"
)
as
string
),
});
});
return
;
return
;
}
}
...
@@ -1170,7 +1156,7 @@ export default class MainBase extends Vue implements ControlInterface {
...
@@ -1170,7 +1156,7 @@ export default class MainBase extends Vue implements ControlInterface {
if
(
!
this
.
removeAction
)
{
if
(
!
this
.
removeAction
)
{
this
.
$Notice
.
error
({
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZOrder
SF1
GridView'
+
(
this
.
$t
(
'app.gridpage.notConfig.removeAction'
)
as
string
)
desc
:
'IBIZOrder
Pickup
GridView'
+
(
this
.
$t
(
'app.gridpage.notConfig.removeAction'
)
as
string
)
});
});
return
;
return
;
}
}
...
@@ -1284,7 +1270,7 @@ export default class MainBase extends Vue implements ControlInterface {
...
@@ -1284,7 +1270,7 @@ export default class MainBase extends Vue implements ControlInterface {
*/
*/
public
addBatch
(
arg
:
any
=
{}):
void
{
public
addBatch
(
arg
:
any
=
{}):
void
{
if
(
!
this
.
fetchAction
){
if
(
!
this
.
fetchAction
){
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZOrder
SF1
GridView'
+
(
this
.
$t
(
'app.gridpage.notConfig.fetchAction'
)
as
string
)
});
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZOrder
Pickup
GridView'
+
(
this
.
$t
(
'app.gridpage.notConfig.fetchAction'
)
as
string
)
});
return
;
return
;
}
}
if
(
!
arg
){
if
(
!
arg
){
...
@@ -2217,7 +2203,7 @@ export default class MainBase extends Vue implements ControlInterface {
...
@@ -2217,7 +2203,7 @@ export default class MainBase extends Vue implements ControlInterface {
try
{
try
{
if
(
Object
.
is
(
item
.
rowDataState
,
'create'
))
{
if
(
Object
.
is
(
item
.
rowDataState
,
'create'
))
{
if
(
!
this
.
createAction
)
{
if
(
!
this
.
createAction
)
{
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZOrder
SF1
GridView'
+
(
this
.
$t
(
'app.gridpage.notConfig.createAction'
)
as
string
)
});
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZOrder
Pickup
GridView'
+
(
this
.
$t
(
'app.gridpage.notConfig.createAction'
)
as
string
)
});
}
else
{
}
else
{
Object
.
assign
(
item
,
{
viewparams
:
this
.
viewparams
});
Object
.
assign
(
item
,
{
viewparams
:
this
.
viewparams
});
const
tempContext
=
Util
.
deepCopy
(
this
.
context
);
const
tempContext
=
Util
.
deepCopy
(
this
.
context
);
...
@@ -2226,7 +2212,7 @@ export default class MainBase extends Vue implements ControlInterface {
...
@@ -2226,7 +2212,7 @@ export default class MainBase extends Vue implements ControlInterface {
}
}
}
else
if
(
Object
.
is
(
item
.
rowDataState
,
'update'
)){
}
else
if
(
Object
.
is
(
item
.
rowDataState
,
'update'
)){
if
(
!
this
.
updateAction
)
{
if
(
!
this
.
updateAction
)
{
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZOrder
SF1
GridView'
+
(
this
.
$t
(
'app.gridpage.notConfig.updateAction'
)
as
string
)
});
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZOrder
Pickup
GridView'
+
(
this
.
$t
(
'app.gridpage.notConfig.updateAction'
)
as
string
)
});
}
else
{
}
else
{
Object
.
assign
(
item
,
{
viewparams
:
this
.
viewparams
});
Object
.
assign
(
item
,
{
viewparams
:
this
.
viewparams
});
const
tempContext
=
Util
.
deepCopy
(
this
.
context
);
const
tempContext
=
Util
.
deepCopy
(
this
.
context
);
...
@@ -2302,7 +2288,7 @@ export default class MainBase extends Vue implements ControlInterface {
...
@@ -2302,7 +2288,7 @@ export default class MainBase extends Vue implements ControlInterface {
if
(
!
this
.
loaddraftAction
){
if
(
!
this
.
loaddraftAction
){
this
.
$Notice
.
error
({
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZOrder
SF1
GridView'
+
(
this
.
$t
(
'app.gridpage.notConfig.loaddraftAction'
)
as
string
)
desc
:
'IBIZOrder
Pickup
GridView'
+
(
this
.
$t
(
'app.gridpage.notConfig.loaddraftAction'
)
as
string
)
});
});
return
;
return
;
}
}
...
...
demo-boot/src/main/resources/static/remotemodel/PSSYSAPPS/Web/PSSYSAPP.json
浏览文件 @
30e7367f
...
@@ -5691,7 +5691,9 @@
...
@@ -5691,7 +5691,9 @@
"pluginCode" : "listplugintest",
"pluginCode" : "listplugintest",
"pluginType" : "LIST_RENDER",
"pluginType" : "LIST_RENDER",
"refMode" : "CONTROL",
"refMode" : "CONTROL",
"refTag" : "LIST"
"refTag" : "LIST",
"templCode" : "\t<div>\n\t\t<span style=\"color: red\"> 列表插件自定义内容 </span>\n\t\t<AppList\n\t\t\t:id=\"controlID\"\n\t\t\t:class=\"classNames\"\n\t\t\t:items=\"store.data\"\n\t\t\t:selections=\"store.selections\"\n\t\t\t:totalRecord=\"store.totalRecord\"\n\t\t\t@item-click=\"handleItemClick\"\n\t\t\t@item-db-click=\"handleItemDbClick\"\n\t\t\t@selection-change=\"handleSelectionChange\"\n\t\t\t@load-more=\"handleLoadMore\"\n\t\t\t@item-action-click=\"(logic: any, data: IParam, event: MouseEvent) => handleActionClick(controller, logic, data, event)\"\n\t\t>\n\t\t</AppList>\n\t</div>",
"templCode2" : "import { AppList } from '@components/widgets/list';\nimport {\n\tICtrlDataAction,\n\tIContext,\n\tIParam,\n\tListActionType,\n\tIListAbility,\n\tListController,\n\tcreateUUID,\n\tILoadingHelper,\n\tIViewCtx,\n} from '@/core';\nimport {\n\tgetCtrlClassNames,\n\tuseEventBind,\n\thandleActionClick,\n} from '@/hooks/use-ctrl';\ninterface Props {\n\tname?: string;\n\tcontext: IContext;\n\tviewParams: IParam;\n\tlocalContext?: IParam;\n\tlocalViewParams?: IParam;\n\tcloseView?: Function;\n\tpLoadingHelper?: ILoadingHelper;\n\tpViewCtx?: IViewCtx;\n\topenView?: Function;\n\tnewView?: Function;\n\tactions: ICtrlDataAction;\n\tsingleSelect?: boolean;\n\trowActiveMode?: 0 | 1 | 2;\n\tselectFirstDefault?: boolean;\n\tcontroller: ListController;\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n\tsingleSelect: false,\n\trowActiveMode: 2,\n});\nconst emit = defineEmits<{\n\t(\n\t\tevent: 'ctrl-action',\n\t\tname: string,\n\t\taction: ListActionType,\n\t\tdata: IParam[]\n\t): void;\n\t(event: 'ctrl-init', name: string, data: IListAbility): void;\n\t(event: 'ctrl-destroy', name: string, data: IParam): void;\n}>();\n\nconst evt = useEventBind<ListActionType, IListAbility>(emit);\n// 部件样式名\nconst classNames = computed(() => {\n\treturn getCtrlClassNames(model, props);\n});\n\nconst controlID = createUUID();\n\nconst model: IParam = props.controller.getModel();\nconst handleItemClick = (row: IParam, event: MouseEvent) => {\n\tprops.controller.handleItemClick(row, event);\n};\nconst store = props.controller.getStore();\n\nconst handleItemDbClick = (row: IParam, event: MouseEvent) => {\n\tprops.controller.handleItemDbClick(row, event);\n};\n\nconst handleSelectionChange = (selections: IParam[]) => {\n\tprops.controller.handleSelectionChange(selections);\n};\n\nconst handleLoadMore = () => {\n\tprops.controller.loadMore();\n};"
}, {
}, {
"name" : "列表视图斑马纹",
"name" : "列表视图斑马纹",
"getPSSysPFPlugin" : {
"getPSSysPFPlugin" : {
demo-boot/src/main/resources/static/remotemodel/PSSYSAPPS/Web/PSSYSAPP.simple.json
浏览文件 @
30e7367f
...
@@ -21,7 +21,9 @@
...
@@ -21,7 +21,9 @@
"pluginCode"
:
"listplugintest"
,
"pluginCode"
:
"listplugintest"
,
"pluginType"
:
"LIST_RENDER"
,
"pluginType"
:
"LIST_RENDER"
,
"refMode"
:
"CONTROL"
,
"refMode"
:
"CONTROL"
,
"refTag"
:
"LIST"
"refTag"
:
"LIST"
,
"templCode"
:
"
\t
<div>
\n\t\t
<span style=
\"
color: red
\"
> 列表插件自定义内容 </span>
\n\t\t
<AppList
\n\t\t\t
:id=
\"
controlID
\"\n\t\t\t
:class=
\"
classNames
\"\n\t\t\t
:items=
\"
store.data
\"\n\t\t\t
:selections=
\"
store.selections
\"\n\t\t\t
:totalRecord=
\"
store.totalRecord
\"\n\t\t\t
@item-click=
\"
handleItemClick
\"\n\t\t\t
@item-db-click=
\"
handleItemDbClick
\"\n\t\t\t
@selection-change=
\"
handleSelectionChange
\"\n\t\t\t
@load-more=
\"
handleLoadMore
\"\n\t\t\t
@item-action-click=
\"
(logic: any, data: IParam, event: MouseEvent) => handleActionClick(controller, logic, data, event)
\"\n\t\t
>
\n\t\t
</AppList>
\n\t
</div>"
,
"templCode2"
:
"import { AppList } from '@components/widgets/list';
\n
import {
\n\t
ICtrlDataAction,
\n\t
IContext,
\n\t
IParam,
\n\t
ListActionType,
\n\t
IListAbility,
\n\t
ListController,
\n\t
createUUID,
\n\t
ILoadingHelper,
\n\t
IViewCtx,
\n
} from '@/core';
\n
import {
\n\t
getCtrlClassNames,
\n\t
useEventBind,
\n\t
handleActionClick,
\n
} from '@/hooks/use-ctrl';
\n
interface Props {
\n\t
name?: string;
\n\t
context: IContext;
\n\t
viewParams: IParam;
\n\t
localContext?: IParam;
\n\t
localViewParams?: IParam;
\n\t
closeView?: Function;
\n\t
pLoadingHelper?: ILoadingHelper;
\n\t
pViewCtx?: IViewCtx;
\n\t
openView?: Function;
\n\t
newView?: Function;
\n\t
actions: ICtrlDataAction;
\n\t
singleSelect?: boolean;
\n\t
rowActiveMode?: 0 | 1 | 2;
\n\t
selectFirstDefault?: boolean;
\n\t
controller: ListController;
\n
}
\n\n
const props = withDefaults(defineProps<Props>(), {
\n\t
singleSelect: false,
\n\t
rowActiveMode: 2,
\n
});
\n
const emit = defineEmits<{
\n\t
(
\n\t\t
event: 'ctrl-action',
\n\t\t
name: string,
\n\t\t
action: ListActionType,
\n\t\t
data: IParam[]
\n\t
): void;
\n\t
(event: 'ctrl-init', name: string, data: IListAbility): void;
\n\t
(event: 'ctrl-destroy', name: string, data: IParam): void;
\n
}>();
\n\n
const evt = useEventBind<ListActionType, IListAbility>(emit);
\n
// 部件样式名
\n
const classNames = computed(() => {
\n\t
return getCtrlClassNames(model, props);
\n
});
\n\n
const controlID = createUUID();
\n\n
const model: IParam = props.controller.getModel();
\n
const handleItemClick = (row: IParam, event: MouseEvent) => {
\n\t
props.controller.handleItemClick(row, event);
\n
};
\n
const store = props.controller.getStore();
\n\n
const handleItemDbClick = (row: IParam, event: MouseEvent) => {
\n\t
props.controller.handleItemDbClick(row, event);
\n
};
\n\n
const handleSelectionChange = (selections: IParam[]) => {
\n\t
props.controller.handleSelectionChange(selections);
\n
};
\n\n
const handleLoadMore = () => {
\n\t
props.controller.loadMore();
\n
};"
},
{
},
{
"name"
:
"列表视图斑马纹"
,
"name"
:
"列表视图斑马纹"
,
"getPSSysPFPlugin"
:
{
"getPSSysPFPlugin"
:
{
...
...
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录