wangshaoping 10 months ago
parent
commit
bc737b0b8f
  1. 2
      io.sc.platform.core.frontend/package.json
  2. 24
      io.sc.platform.core.frontend/src/platform/components/grid/WGrid.vue

2
io.sc.platform.core.frontend/package.json

@ -1,6 +1,6 @@
{
"name": "platform-core",
"version": "8.1.187",
"version": "8.1.188",
"description": "前端核心包,用于快速构建前端的脚手架",
"//main": "库的主文件",
"main": "dist/platform-core.js",

24
io.sc.platform.core.frontend/src/platform/components/grid/WGrid.vue

@ -20,6 +20,7 @@
:table-style="tableHeightComputed"
:row-key="rowKey_"
:visible-columns="visibleColumnsComputed"
:hide-bottom="pageable ? false : true"
@request="onRequest"
@fullscreen="tableFullscreenFun"
>
@ -283,6 +284,13 @@ const props = defineProps({
treeRelationship: { type: String, default: 'parent' }, // parent, childrenparentchildren
primaryKey: { type: String, default: 'id' }, // APIRestCrudControllerupdate
foreignKey: { type: String, default: 'parent' }, //
sortBy: {
// ['userName', '-lastModifyDate']-
type: Array,
default: () => {
return [];
},
},
queryCriteria: {
//
type: Object,
@ -470,6 +478,7 @@ watch(
tableColumns.value = newVal;
tableColumnsMap.value = arrayToMap('name', tableColumns.value);
extractTableColumns.value = extractTableColumnsProps();
handlerMoreRowColumnTitle();
},
);
const queryFormFieldsMap = arrayToMap('name', props.queryFormFields);
@ -933,8 +942,8 @@ const state = reactive({
ellipses: false, //
maxPages: 5, // 0
},
sortBy: props.pagination.sortBy || '',
descending: props.pagination.descending || false,
sortBy: '',
descending: false,
reqPageStart: props.pagination.reqPageStart || 0,
page: 1,
rowsPerPage: props.pagination.rowsPerPage || 10,
@ -1011,8 +1020,8 @@ type MoreColumnTitleType = {
parents: any; // name
};
// map
const moreColumnTitleMap = new Map<string, MoreColumnTitleType>();
const allColumnMap = new Map();
let moreColumnTitleMap = new Map<string, MoreColumnTitleType>();
let allColumnMap = new Map();
// map
const columnToMap = (column: any) => {
@ -1082,6 +1091,8 @@ function findParents(arrData: any, name: any) {
}
const handlerMoreRowColumnTitle = () => {
moreColumnTitleMap = new Map<string, MoreColumnTitleType>();
allColumnMap = new Map();
tableColumns.value.forEach((tableColumn: any) => {
columnToMap(tableColumn);
});
@ -1136,6 +1147,7 @@ const handlerMoreRowColumnTitle = () => {
}
const arr = Array.from(map);
columnTitleState.columnTitleArr = [];
arr.sort((a, b) => a[0] - b[0]);
arr.forEach((item) => {
columnTitleState.columnTitleArr.push(item[1]);
@ -1340,6 +1352,8 @@ const requestHandler = async (ops) => {
} else {
reqParams.sortBy = ops.pagination.sortBy;
}
} else if (props.sortBy && props.sortBy.length > 0) {
reqParams.sortBy = props.sortBy;
}
// RestCrudController
@ -1365,7 +1379,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 + 1 : responseData.number;
state.pagination.page = state.pagination.reqPageStart === 0 && responseData.number === 0 ? responseData.number + 1 : responseData.number;
state.pagination.rowsPerPage = responseData.size || state.pagination.rowsPerPage;
}
state.pagination.rowsNumber = responseData.totalElements;

Loading…
Cancel
Save