diff --git a/io.sc.platform.core.frontend/package.json b/io.sc.platform.core.frontend/package.json index d8ee75bf..9302d734 100644 --- a/io.sc.platform.core.frontend/package.json +++ b/io.sc.platform.core.frontend/package.json @@ -1,6 +1,6 @@ { "name": "platform-core", - "version": "8.1.202", + "version": "8.1.204", "description": "前端核心包,用于快速构建前端的脚手架", "//main": "库的主文件", "main": "dist/platform-core.js", diff --git a/io.sc.platform.core.frontend/src/platform/components/grid/WGrid.vue b/io.sc.platform.core.frontend/src/platform/components/grid/WGrid.vue index dc6a11e7..adab06cb 100644 --- a/io.sc.platform.core.frontend/src/platform/components/grid/WGrid.vue +++ b/io.sc.platform.core.frontend/src/platform/components/grid/WGrid.vue @@ -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();