Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
I
ibizlab-generator
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
ibiz4jteam
ibizlab-generator
提交
4159ac0f
提交
4159ac0f
编写于
2月 14, 2022
作者:
RedPig97
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update: 表格分组行优化
上级
8325476a
变更
2
显示空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
33 行增加
和
13 行删除
+33
-13
grid-control.ts
...s}}/src/core/modules/widgets/grid-control/grid-control.ts
+30
-12
{{ctrls@GRID}}-grid.vue.hbs
...ntities}}/{{ctrls@GRID}}-grid/{{ctrls@GRID}}-grid.vue.hbs
+3
-1
未找到文件。
modules/ibizlab-generator-core/src/main/resources/templ/r7/app_{{apps}}/src/core/modules/widgets/grid-control/grid-control.ts
浏览文件 @
4159ac0f
import
{
DataTypes
,
dateFormat
,
deepCopy
,
GridControlState
,
IActionParam
,
IParam
,
isExistAndNotEmpty
,
MDControl
}
from
"@core"
;
import
{
createUUID
}
from
"qx-util"
;
import
schema
,
{
ErrorList
,
FieldErrorList
}
from
'async-validator'
;
import
{
Ref
}
from
"vue"
;
/**
* @description 表格部件
* @export
...
...
@@ -100,6 +101,11 @@ export class GridControl extends MDControl {
}
};
}
// 展开行
const
useExpandedRowKeys
:
Ref
<
Array
<
string
>>
=
ref
([]);
const
onExpandedRowsChange
=
(
expandedRows
:
string
[])
=>
{
useExpandedRowKeys
.
value
=
expandedRows
;
}
// 表格选择功能配置
const
useRowSelectionOption
=
computed
(()
=>
{
if
(
selectFirstDefault
)
{
...
...
@@ -109,8 +115,18 @@ export class GridControl extends MDControl {
type
:
isSingleSelect
?
'radio'
:
'checkbox'
,
columnWidth
:
50
,
selectedRowKeys
:
this
.
state
.
selectedRowKeys
,
checkStrictly
:
this
.
props
.
multiple
?
false
:
true
,
onChange
:
(
_selectedRowKeys
:
string
[],
selectedRows
:
IParam
[])
=>
{
checkStrictly
:
false
,
onSelect
:
(
record
:
IParam
,
selected
:
boolean
,
selectedRows
:
IParam
[],
$event
:
any
)
=>
{
if
(
selected
)
{
const
{
appDeKeyFieldName
}
=
this
.
state
;
const
selectedRowKey
:
string
=
record
[
appDeKeyFieldName
]
||
record
.
srfkey
;
const
index
:
number
=
useExpandedRowKeys
.
value
.
findIndex
((
key
:
string
)
=>
Object
.
is
(
key
,
selectedRowKey
))
if
(
Object
.
is
(
index
,
-
1
)
&&
record
.
children
&&
record
.
children
.
length
>
0
)
{
useExpandedRowKeys
.
value
.
push
(
selectedRowKey
);
}
}
},
onChange
:
(
_selectedRowKeys
:
string
[],
selectedRows
:
any
[])
=>
{
this
.
state
.
selectedRowKeys
=
_selectedRowKeys
;
const
selection
:
IParam
[]
=
[];
selectedRows
.
forEach
((
select
:
IParam
)
=>
{
...
...
@@ -142,9 +158,11 @@ export class GridControl extends MDControl {
useRowKey
,
useRowClassName
,
useCustomRow
,
useExpandedRowKeys
,
useRowSelectionOption
,
onResizeColumn
,
onGridChange
onGridChange
,
onExpandedRowsChange
}
}
...
...
modules/ibizlab-generator-core/src/main/resources/templ/r7/app_{{apps}}/src/widgets/{{appEntities}}/{{ctrls@GRID}}-grid/{{ctrls@GRID}}-grid.vue.hbs
浏览文件 @
4159ac0f
...
...
@@ -40,7 +40,7 @@ const emit = defineEmits<CtrlEmit>();
// 安装功能模块,提供状态和能力
const
{
name
,
state
,
useCustom
,
onEditorEvent
,
onToolbarEvent
,
onActionColEvent
,
newRow
,
remove
,
save
,
load
,
refresh
,
getData
}
=
new
GridControl
(
ctrlState
,
props
,
emit
).
moduleInstall
();
const
{
useScrollOption
,
useRowKey
,
useRowClassName
,
useCustomRow
,
useRowSelectionOption
,
onResizeColumn
,
onGridChange
}
=
useCustom
;
const
{
useScrollOption
,
useRowKey
,
useRowClassName
,
useCustomRow
,
useRowSelectionOption
,
onResizeColumn
,
onGridChange
,
useExpandedRowKeys
,
onExpandedRowsChange
}
=
useCustom
;
{{#if
ctrl
.
batchToolBarItems
}}
const
renderBatchToolbar
=
(
total
:
number
,
range
:
IParam
[])
=>
{
return
(
...
...
@@ -73,6 +73,7 @@ defineExpose({ name, state, newRow, remove, save, load, refresh, getData });
:sortDirections=
"['ascend', 'descend']"
:data-source=
"state.items"
:row-selection=
"useRowSelectionOption"
:expandedRowKeys=
"useExpandedRowKeys"
:columns=
"state.columnsModel"
{{#if
ctrl
.
batchToolBarItems
}}
:pagination=
"Object.assign(state.mdCtrlPaging.pagination, {
...
...
@@ -86,6 +87,7 @@ defineExpose({ name, state, newRow, remove, save, load, refresh, getData });
:customRow=
"useCustomRow"
:rowClassName=
"useRowClassName"
@
change=
"onGridChange"
@
expandedRowsChange=
"onExpandedRowsChange"
@
resizeColumn=
"onResizeColumn"
>
<template
#
emptyText
>
...
...
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录