|
|
@ -20,7 +20,7 @@ |
|
|
|
:table-style="tableHeightComputed" |
|
|
|
:row-key="rowKey_" |
|
|
|
:visible-columns="visibleColumnsComputed" |
|
|
|
:hide-bottom="pageable ? false : true" |
|
|
|
:hide-bottom="pageable && !tree ? false : true" |
|
|
|
@request="onRequest" |
|
|
|
@fullscreen="tableFullscreenFun" |
|
|
|
> |
|
|
@ -285,6 +285,7 @@ const props = defineProps({ |
|
|
|
treeRelationship: { type: String, default: 'parent' }, // 树形表格模式的数据关系,包括:parent, children,当为parent时组件根据数据主键与数据外键构建树形数据,否则需要自己构建好树形数据放到children属性中。 |
|
|
|
primaryKey: { type: String, default: 'id' }, // 数据主键(常规表格模式时,该字段可用作内置的编辑删除等功能对应的后端API入参,如:继承RestCrudController的update所需的入参。树形表格模式时,该字段为构建树数据的主键) |
|
|
|
foreignKey: { type: String, default: 'parent' }, // 数据外键(常规表格模式时,该字段暂时无用,将来可用作多个表格的数据关系字段。树形表格模式时,该字段为构建树数据的关系字段) |
|
|
|
orderBy: { type: String, default: 'order' }, // 拖拽排序时传给后端修改的字段名称 |
|
|
|
sortBy: { |
|
|
|
// 默认排序字段,示例:['userName', '-lastModifyDate'],其中“-”开头表示倒序。 |
|
|
|
type: Array, |
|
|
@ -545,6 +546,7 @@ const toolbarButtonsComputed = computed(() => { |
|
|
|
}); |
|
|
|
|
|
|
|
const table = reactive({ |
|
|
|
dragRecords: [], |
|
|
|
tickedField: props.tickedField, |
|
|
|
selectedField: props.selectedField, |
|
|
|
spaceHeight: 4, |
|
|
@ -1471,7 +1473,7 @@ const onRequest = async (ops: any) => { |
|
|
|
state.pagination.rowsNumber = responseData.length; |
|
|
|
} else if (typeof responseData === 'object' && responseData.content) { |
|
|
|
if (props.pageable) { |
|
|
|
state.pagination.page = state.pagination.reqPageStart === 0 && responseData.number === 0 ? responseData.number + 1 : responseData.number; |
|
|
|
state.pagination.page = state.pagination.reqPageStart === 0 ? responseData.number + 1 : responseData.number; |
|
|
|
state.pagination.rowsPerPage = responseData.size || state.pagination.rowsPerPage; |
|
|
|
} |
|
|
|
state.pagination.rowsNumber = responseData.totalElements; |
|
|
@ -1515,7 +1517,6 @@ const addRowKey = (rows: []) => { |
|
|
|
if (rows && rows.length > 0) { |
|
|
|
rows.forEach((item: any, index) => { |
|
|
|
item[rowKey_] = Tools.uuid(); |
|
|
|
item['_index_'] = index; |
|
|
|
item[table.tickedField] = item[table.tickedField] || false; |
|
|
|
item[table.selectedField] = item[table.selectedField] || false; |
|
|
|
if (props.tree) { |
|
|
@ -2415,6 +2416,10 @@ const cleanTicked = (arr = table.rows) => { |
|
|
|
}); |
|
|
|
}; |
|
|
|
|
|
|
|
const getElement = () => { |
|
|
|
return tableRef?.value?.$el; |
|
|
|
}; |
|
|
|
|
|
|
|
defineExpose({ |
|
|
|
getSelectedRow, |
|
|
|
getSelectedRows, |
|
|
@ -2442,6 +2447,7 @@ defineExpose({ |
|
|
|
cleanSelected, |
|
|
|
cleanTicked, |
|
|
|
view, |
|
|
|
getElement, |
|
|
|
}); |
|
|
|
|
|
|
|
const instance = getCurrentInstance(); |
|
|
|