vxe-table 4.17.20 → 4.17.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/grid/src/grid.js +136 -30
- package/es/style.css +1 -1
- package/es/table/render/index.js +113 -4
- package/es/table/src/cell.js +3 -3
- package/es/table/src/table.js +27 -14
- package/es/ui/index.js +3 -2
- package/es/ui/src/log.js +1 -1
- package/lib/grid/src/grid.js +152 -43
- package/lib/grid/src/grid.min.js +1 -1
- package/lib/index.umd.js +310 -64
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/table/render/index.js +140 -10
- package/lib/table/render/index.min.js +1 -1
- package/lib/table/src/cell.js +6 -3
- package/lib/table/src/cell.min.js +1 -1
- package/lib/table/src/table.js +5 -4
- package/lib/table/src/table.min.js +1 -1
- package/lib/ui/index.js +3 -2
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/package.json +2 -2
- package/packages/grid/src/grid.ts +132 -29
- package/packages/table/render/index.ts +115 -4
- package/packages/table/src/cell.ts +3 -3
- package/packages/table/src/table.ts +26 -12
- package/packages/ui/index.ts +2 -1
- /package/es/{iconfont.1764045862093.ttf → iconfont.1764298161293.ttf} +0 -0
- /package/es/{iconfont.1764045862093.woff → iconfont.1764298161293.woff} +0 -0
- /package/es/{iconfont.1764045862093.woff2 → iconfont.1764298161293.woff2} +0 -0
- /package/lib/{iconfont.1764045862093.ttf → iconfont.1764298161293.ttf} +0 -0
- /package/lib/{iconfont.1764045862093.woff → iconfont.1764298161293.woff} +0 -0
- /package/lib/{iconfont.1764045862093.woff2 → iconfont.1764298161293.woff2} +0 -0
package/es/grid/src/grid.js
CHANGED
|
@@ -16,7 +16,9 @@ const { getConfig, getI18n, commands, hooks, useFns, createEvent, globalEvents,
|
|
|
16
16
|
const tableComponentPropKeys = Object.keys(tableProps);
|
|
17
17
|
const tableComponentMethodKeys = ['clearAll', 'syncData', 'updateData', 'loadData', 'reloadData', 'reloadRow', 'loadColumn', 'reloadColumn', 'getRowNode', 'getColumnNode', 'getRowIndex', 'getVTRowIndex', 'getVMRowIndex', 'getColumnIndex', 'getVTColumnIndex', 'getVMColumnIndex', 'setRow', 'createData', 'createRow', 'revertData', 'clearData', 'isRemoveByRow', 'isInsertByRow', 'isUpdateByRow', 'getColumns', 'getColumnById', 'getColumnByField', 'getTableColumn', 'getFullColumns', 'getData', 'getCheckboxRecords', 'getParentRow', 'getTreeRowChildren', 'getTreeRowLevel', 'getTreeParentRow', 'getRowSeq', 'getRowById', 'getRowid', 'getTableData', 'getFullData', 'setColumnFixed', 'clearColumnFixed', 'setColumnWidth', 'getColumnWidth', 'recalcRowHeight', 'setRowHeightConf', 'getRowHeightConf', 'setRowHeight', 'getRowHeight', 'hideColumn', 'showColumn', 'resetColumn', 'refreshColumn', 'refreshScroll', 'recalculate', 'closeTooltip', 'isAllCheckboxChecked', 'isAllCheckboxIndeterminate', 'getCheckboxIndeterminateRecords', 'setCheckboxRow', 'setCheckboxRowKey', 'isCheckedByCheckboxRow', 'isCheckedByCheckboxRowKey', 'isIndeterminateByCheckboxRow', 'isIndeterminateByCheckboxRowKey', 'toggleCheckboxRow', 'setAllCheckboxRow', 'getRadioReserveRecord', 'clearRadioReserve', 'getCheckboxReserveRecords', 'clearCheckboxReserve', 'toggleAllCheckboxRow', 'clearCheckboxRow', 'setCurrentRow', 'isCheckedByRadioRow', 'isCheckedByRadioRowKey', 'setRadioRow', 'setRadioRowKey', 'clearCurrentRow', 'clearRadioRow', 'getCurrentRecord', 'getRadioRecord', 'getCurrentColumn', 'setCurrentColumn', 'clearCurrentColumn', 'setPendingRow', 'togglePendingRow', 'hasPendingByRow', 'isPendingByRow', 'getPendingRecords', 'clearPendingRow', 'setFilterByEvent', 'sort', 'setSort', 'setSortByEvent', 'clearSort', 'clearSortByEvent', 'isSort', 'getSortColumns', 'closeFilter', 'isFilter', 'clearFilterByEvent', 'isActiveFilterByColumn', 'isRowExpandLoaded', 'clearRowExpandLoaded', 'reloadRowExpand', 'reloadRowExpand', 'toggleRowExpand', 'setAllRowExpand', 'setRowExpand', 'isExpandByRow', 'isRowExpandByRow', 'clearRowExpand', 'clearRowExpandReserve', 'getRowExpandRecords', 'getTreeExpandRecords', 'isTreeExpandLoaded', 'clearTreeExpandLoaded', 'reloadTreeExpand', 'reloadTreeChilds', 'toggleTreeExpand', 'setAllTreeExpand', 'setTreeExpand', 'isTreeExpandByRow', 'clearTreeExpand', 'clearTreeExpandReserve', 'getScroll', 'getScrollData', 'scrollTo', 'scrollToRow', 'scrollToColumn', 'clearScroll', 'updateFooter', 'updateStatus', 'setMergeCells', 'removeInsertRow', 'removeMergeCells', 'getMergeCells', 'setMergeHeaderCells', 'removeMergeHeaderCells', 'getMergeHeaderCells', 'clearMergeHeaderCells', 'clearMergeCells', 'setMergeFooterItems', 'removeMergeFooterItems', 'getMergeFooterItems', 'clearMergeFooterItems', 'getCustomStoreData', 'setRowGroupExpand', 'setRowGroupExpandByField', 'setAllRowGroupExpand', 'clearRowGroupExpand', 'isRowGroupExpandByRow', 'isRowGroupRecord', 'isAggregateRecord', 'isAggregateExpandByRow', 'getAggregateContentByRow', 'getAggregateRowChildren', 'setRowGroups', 'clearRowGroups', 'openTooltip', 'moveColumnTo', 'moveRowTo', 'getCellLabel', 'getCellElement', 'focus', 'blur', 'connect', 'connectToolbar'];
|
|
18
18
|
function createInternalData() {
|
|
19
|
-
return {
|
|
19
|
+
return {
|
|
20
|
+
uFoot: false
|
|
21
|
+
};
|
|
20
22
|
}
|
|
21
23
|
export default defineVxeComponent({
|
|
22
24
|
name: 'VxeGrid',
|
|
@@ -39,6 +41,7 @@ export default defineVxeComponent({
|
|
|
39
41
|
filterData: [],
|
|
40
42
|
formData: {},
|
|
41
43
|
sortData: [],
|
|
44
|
+
footerData: [],
|
|
42
45
|
tZindex: 0,
|
|
43
46
|
tablePage: {
|
|
44
47
|
total: 0,
|
|
@@ -122,20 +125,30 @@ export default defineVxeComponent({
|
|
|
122
125
|
const computeTableExtendProps = computed(() => {
|
|
123
126
|
const rest = {};
|
|
124
127
|
tableComponentPropKeys.forEach((key) => {
|
|
125
|
-
|
|
128
|
+
if (props[key] !== undefined) {
|
|
129
|
+
rest[key] = props[key];
|
|
130
|
+
}
|
|
126
131
|
});
|
|
127
132
|
return rest;
|
|
128
133
|
});
|
|
129
134
|
const computeTableProps = computed(() => {
|
|
130
|
-
const { seqConfig, pagerConfig, editConfig, proxyConfig } = props;
|
|
131
|
-
const { isZMax, tablePage } = reactData;
|
|
135
|
+
const { showFooter, seqConfig, pagerConfig, editConfig, proxyConfig } = props;
|
|
136
|
+
const { isZMax, tablePage, footerData } = reactData;
|
|
132
137
|
const tableExtendProps = computeTableExtendProps.value;
|
|
133
138
|
const proxyOpts = computeProxyOpts.value;
|
|
134
139
|
const pagerOpts = computePagerOpts.value;
|
|
135
140
|
const isLoading = computeIsLoading.value;
|
|
136
141
|
const tProps = Object.assign({}, tableExtendProps);
|
|
142
|
+
if (showFooter && !tProps.footerData) {
|
|
143
|
+
// 如果未设置自己的标位数据,则使用代理的
|
|
144
|
+
tProps.footerData = footerData;
|
|
145
|
+
}
|
|
146
|
+
else if (proxyOpts.footer && footerData.length) {
|
|
147
|
+
// 如果代理标为数据,且未请求到数据,则用自己的
|
|
148
|
+
tProps.footerData = footerData;
|
|
149
|
+
}
|
|
137
150
|
if (isZMax) {
|
|
138
|
-
if (
|
|
151
|
+
if (tProps.maxHeight) {
|
|
139
152
|
tProps.maxHeight = '100%';
|
|
140
153
|
}
|
|
141
154
|
else {
|
|
@@ -382,9 +395,12 @@ export default defineVxeComponent({
|
|
|
382
395
|
reactData.filterData = params.filterList;
|
|
383
396
|
if (proxyConfig && isEnableConf(proxyOpts)) {
|
|
384
397
|
reactData.tablePage.currentPage = 1;
|
|
398
|
+
internalData.uFoot = true;
|
|
385
399
|
$xeGrid.commitProxy('query').then((rest) => {
|
|
386
400
|
$xeGrid.dispatchEvent('proxy-query', rest, params.$event);
|
|
387
401
|
});
|
|
402
|
+
internalData.uFoot = false;
|
|
403
|
+
updateQueryFooter();
|
|
388
404
|
}
|
|
389
405
|
}
|
|
390
406
|
};
|
|
@@ -403,9 +419,12 @@ export default defineVxeComponent({
|
|
|
403
419
|
return;
|
|
404
420
|
}
|
|
405
421
|
if (proxyConfig && isEnableConf(proxyOpts)) {
|
|
422
|
+
internalData.uFoot = true;
|
|
406
423
|
$xeGrid.commitProxy('reload').then((rest) => {
|
|
407
424
|
$xeGrid.dispatchEvent('proxy-query', Object.assign(Object.assign({}, rest), { isReload: true }), params.$event);
|
|
408
425
|
});
|
|
426
|
+
internalData.uFoot = false;
|
|
427
|
+
updateQueryFooter();
|
|
409
428
|
}
|
|
410
429
|
$xeGrid.dispatchEvent('form-submit', params, params.$event);
|
|
411
430
|
};
|
|
@@ -418,9 +437,12 @@ export default defineVxeComponent({
|
|
|
418
437
|
if ($xeTable) {
|
|
419
438
|
$xeTable.clearScroll();
|
|
420
439
|
}
|
|
440
|
+
internalData.uFoot = true;
|
|
421
441
|
$xeGrid.commitProxy('reload').then((rest) => {
|
|
422
442
|
$xeGrid.dispatchEvent('proxy-query', Object.assign(Object.assign({}, rest), { isReload: true }), $event);
|
|
423
443
|
});
|
|
444
|
+
internalData.uFoot = false;
|
|
445
|
+
updateQueryFooter();
|
|
424
446
|
}
|
|
425
447
|
$xeGrid.dispatchEvent('form-reset', params, $event);
|
|
426
448
|
};
|
|
@@ -820,13 +842,26 @@ export default defineVxeComponent({
|
|
|
820
842
|
if (!proxyInited) {
|
|
821
843
|
reactData.proxyInited = true;
|
|
822
844
|
if (proxyOpts.autoLoad !== false) {
|
|
823
|
-
nextTick().then(() =>
|
|
845
|
+
nextTick().then(() => {
|
|
846
|
+
internalData.uFoot = true;
|
|
847
|
+
const rest = $xeGrid.commitProxy('initial');
|
|
848
|
+
internalData.uFoot = false;
|
|
849
|
+
updateQueryFooter();
|
|
850
|
+
return rest;
|
|
851
|
+
}).then((rest) => {
|
|
824
852
|
dispatchEvent('proxy-query', Object.assign(Object.assign({}, rest), { isInited: true }), new Event('initial'));
|
|
825
853
|
});
|
|
826
854
|
}
|
|
827
855
|
}
|
|
828
856
|
}
|
|
829
857
|
};
|
|
858
|
+
const updateQueryFooter = () => {
|
|
859
|
+
const proxyOpts = computeProxyOpts.value;
|
|
860
|
+
const { ajax } = proxyOpts;
|
|
861
|
+
if (ajax && ajax.queryFooter) {
|
|
862
|
+
return $xeGrid.commitProxy('queryFooter');
|
|
863
|
+
}
|
|
864
|
+
};
|
|
830
865
|
const handleGlobalKeydownEvent = (evnt) => {
|
|
831
866
|
const zoomOpts = computeZoomOpts.value;
|
|
832
867
|
const isEsc = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ESCAPE);
|
|
@@ -847,15 +882,15 @@ export default defineVxeComponent({
|
|
|
847
882
|
* @param {String/Object} code 字符串或对象
|
|
848
883
|
*/
|
|
849
884
|
commitProxy(proxyTarget, ...args) {
|
|
850
|
-
const { proxyConfig, toolbarConfig, pagerConfig, editRules, validConfig } = props;
|
|
885
|
+
const { showFooter, proxyConfig, toolbarConfig, pagerConfig, editRules, validConfig } = props;
|
|
851
886
|
const { tablePage } = reactData;
|
|
852
887
|
const isActiveMsg = computeIsActiveMsg.value;
|
|
853
888
|
const isRespMsg = computeIsRespMsg.value;
|
|
854
889
|
const proxyOpts = computeProxyOpts.value;
|
|
855
890
|
const pagerOpts = computePagerOpts.value;
|
|
856
891
|
const toolbarOpts = computeToolbarOpts.value;
|
|
857
|
-
const { beforeQuery, afterQuery, beforeDelete, afterDelete, beforeSave, afterSave, ajax = {} } = proxyOpts;
|
|
858
|
-
const resConfigs = proxyOpts.response || proxyOpts.props || {};
|
|
892
|
+
const { beforeQuery, afterQuery, beforeQueryFooter, afterQueryFooter, beforeDelete, afterDelete, beforeSave, afterSave, ajax = {} } = proxyOpts;
|
|
893
|
+
const resConfigs = (proxyOpts.response || proxyOpts.props || {});
|
|
859
894
|
const $xeTable = refTable.value;
|
|
860
895
|
if (!$xeTable) {
|
|
861
896
|
return nextTick();
|
|
@@ -905,10 +940,10 @@ export default defineVxeComponent({
|
|
|
905
940
|
case 'initial':
|
|
906
941
|
case 'reload':
|
|
907
942
|
case 'query': {
|
|
908
|
-
const
|
|
909
|
-
const
|
|
910
|
-
const
|
|
911
|
-
if (
|
|
943
|
+
const qMethods = ajax.query;
|
|
944
|
+
const qsMethods = ajax.querySuccess;
|
|
945
|
+
const qeMethods = ajax.queryError;
|
|
946
|
+
if (qMethods) {
|
|
912
947
|
const isInited = code === 'initial';
|
|
913
948
|
const isReload = code === 'reload';
|
|
914
949
|
if (!isInited && reactData.tableLoading) {
|
|
@@ -990,24 +1025,25 @@ export default defineVxeComponent({
|
|
|
990
1025
|
sorts: sortList,
|
|
991
1026
|
filters: filterList,
|
|
992
1027
|
form: formData,
|
|
993
|
-
options:
|
|
1028
|
+
options: qMethods
|
|
994
1029
|
};
|
|
995
1030
|
reactData.sortData = sortList;
|
|
996
1031
|
reactData.filterData = filterList;
|
|
997
1032
|
reactData.tableLoading = true;
|
|
998
1033
|
return Promise.all([
|
|
999
|
-
Promise.resolve((beforeQuery ||
|
|
1034
|
+
Promise.resolve((beforeQuery || qMethods)(commitParams, ...args)),
|
|
1000
1035
|
operPromise
|
|
1001
1036
|
]).then(([rest]) => {
|
|
1002
1037
|
let tableData = [];
|
|
1003
1038
|
reactData.tableLoading = false;
|
|
1004
1039
|
if (rest) {
|
|
1040
|
+
const reParams = { data: rest, $table: $xeTable, $grid: $xeGrid, $gantt: null };
|
|
1005
1041
|
if (pagerConfig && isEnableConf(pagerOpts)) {
|
|
1006
1042
|
const totalProp = resConfigs.total;
|
|
1007
|
-
const total = (XEUtils.isFunction(totalProp) ? totalProp(
|
|
1043
|
+
const total = (XEUtils.isFunction(totalProp) ? totalProp(reParams) : XEUtils.get(rest, totalProp || 'page.total')) || 0;
|
|
1008
1044
|
tablePage.total = XEUtils.toNumber(total);
|
|
1009
1045
|
const resultProp = resConfigs.result;
|
|
1010
|
-
tableData = (XEUtils.isFunction(resultProp) ? resultProp(
|
|
1046
|
+
tableData = (XEUtils.isFunction(resultProp) ? resultProp(reParams) : XEUtils.get(rest, resultProp || 'result')) || [];
|
|
1011
1047
|
// 检验当前页码,不能超出当前最大页数
|
|
1012
1048
|
const pageCount = Math.max(Math.ceil(total / tablePage.pageSize), 1);
|
|
1013
1049
|
if (tablePage.currentPage > pageCount) {
|
|
@@ -1016,7 +1052,19 @@ export default defineVxeComponent({
|
|
|
1016
1052
|
}
|
|
1017
1053
|
else {
|
|
1018
1054
|
const listProp = resConfigs.list;
|
|
1019
|
-
|
|
1055
|
+
if (XEUtils.isArray(rest)) {
|
|
1056
|
+
tableData = rest;
|
|
1057
|
+
}
|
|
1058
|
+
else if (listProp) {
|
|
1059
|
+
tableData = (XEUtils.isFunction(listProp) ? listProp(reParams) : XEUtils.get(rest, listProp)) || [];
|
|
1060
|
+
}
|
|
1061
|
+
}
|
|
1062
|
+
if (showFooter) {
|
|
1063
|
+
const fdProp = resConfigs.footerData;
|
|
1064
|
+
const footerList = fdProp ? (XEUtils.isFunction(fdProp) ? fdProp(reParams) : XEUtils.get(rest, fdProp)) : [];
|
|
1065
|
+
if (XEUtils.isArray(footerList)) {
|
|
1066
|
+
reactData.footerData = footerList;
|
|
1067
|
+
}
|
|
1020
1068
|
}
|
|
1021
1069
|
}
|
|
1022
1070
|
if ($xeTable) {
|
|
@@ -1033,14 +1081,14 @@ export default defineVxeComponent({
|
|
|
1033
1081
|
if (afterQuery) {
|
|
1034
1082
|
afterQuery(commitParams, ...args);
|
|
1035
1083
|
}
|
|
1036
|
-
if (
|
|
1037
|
-
|
|
1084
|
+
if (qsMethods) {
|
|
1085
|
+
qsMethods(Object.assign(Object.assign({}, commitParams), { response: rest }));
|
|
1038
1086
|
}
|
|
1039
1087
|
return { status: true };
|
|
1040
1088
|
}).catch((rest) => {
|
|
1041
1089
|
reactData.tableLoading = false;
|
|
1042
|
-
if (
|
|
1043
|
-
|
|
1090
|
+
if (qeMethods) {
|
|
1091
|
+
qeMethods(Object.assign(Object.assign({}, commitParams), { response: rest }));
|
|
1044
1092
|
}
|
|
1045
1093
|
return { status: false };
|
|
1046
1094
|
});
|
|
@@ -1050,11 +1098,51 @@ export default defineVxeComponent({
|
|
|
1050
1098
|
}
|
|
1051
1099
|
break;
|
|
1052
1100
|
}
|
|
1101
|
+
case 'queryFooter': {
|
|
1102
|
+
const qfMethods = ajax.queryFooter;
|
|
1103
|
+
const qfSuccessMethods = ajax.queryFooterSuccess;
|
|
1104
|
+
const qfErrorMethods = ajax.queryFooterError;
|
|
1105
|
+
if (qfMethods) {
|
|
1106
|
+
let filterList = [];
|
|
1107
|
+
if ($xeTable) {
|
|
1108
|
+
filterList = $xeTable.getCheckedFilters();
|
|
1109
|
+
}
|
|
1110
|
+
const commitParams = {
|
|
1111
|
+
$table: $xeTable,
|
|
1112
|
+
$grid: $xeGrid,
|
|
1113
|
+
$gantt: null,
|
|
1114
|
+
code,
|
|
1115
|
+
button,
|
|
1116
|
+
filters: filterList,
|
|
1117
|
+
form: formData,
|
|
1118
|
+
options: qfMethods
|
|
1119
|
+
};
|
|
1120
|
+
return Promise.resolve((beforeQueryFooter || qfMethods)(commitParams, ...args)).then(rest => {
|
|
1121
|
+
reactData.footerData = XEUtils.isArray(rest) ? rest : [];
|
|
1122
|
+
if (afterQueryFooter) {
|
|
1123
|
+
afterQueryFooter(commitParams, ...args);
|
|
1124
|
+
}
|
|
1125
|
+
if (qfSuccessMethods) {
|
|
1126
|
+
qfSuccessMethods(Object.assign(Object.assign({}, commitParams), { response: rest }));
|
|
1127
|
+
}
|
|
1128
|
+
return { status: true };
|
|
1129
|
+
}).catch((rest) => {
|
|
1130
|
+
if (qfErrorMethods) {
|
|
1131
|
+
qfErrorMethods(Object.assign(Object.assign({}, commitParams), { response: rest }));
|
|
1132
|
+
}
|
|
1133
|
+
return { status: false };
|
|
1134
|
+
});
|
|
1135
|
+
}
|
|
1136
|
+
else {
|
|
1137
|
+
errLog('vxe.error.notFunc', ['[grid] proxy-config.ajax.queryFooter']);
|
|
1138
|
+
}
|
|
1139
|
+
break;
|
|
1140
|
+
}
|
|
1053
1141
|
case 'delete': {
|
|
1054
|
-
const
|
|
1142
|
+
const dMethods = ajax.delete;
|
|
1055
1143
|
const deleteSuccessMethods = ajax.deleteSuccess;
|
|
1056
1144
|
const deleteErrorMethods = ajax.deleteError;
|
|
1057
|
-
if (
|
|
1145
|
+
if (dMethods) {
|
|
1058
1146
|
const selectRecords = $xeGrid.getCheckboxRecords();
|
|
1059
1147
|
const removeRecords = selectRecords.filter(row => !$xeTable.isInsertByRow(row));
|
|
1060
1148
|
const body = { removeRecords };
|
|
@@ -1066,7 +1154,7 @@ export default defineVxeComponent({
|
|
|
1066
1154
|
button,
|
|
1067
1155
|
body,
|
|
1068
1156
|
form: formData,
|
|
1069
|
-
options:
|
|
1157
|
+
options: dMethods
|
|
1070
1158
|
};
|
|
1071
1159
|
if (selectRecords.length) {
|
|
1072
1160
|
return handleDeleteRow(code, 'vxe.grid.deleteSelectRecord', () => {
|
|
@@ -1074,7 +1162,7 @@ export default defineVxeComponent({
|
|
|
1074
1162
|
return $xeTable.remove(selectRecords);
|
|
1075
1163
|
}
|
|
1076
1164
|
reactData.tableLoading = true;
|
|
1077
|
-
return Promise.resolve((beforeDelete ||
|
|
1165
|
+
return Promise.resolve((beforeDelete || dMethods)(commitParams, ...args))
|
|
1078
1166
|
.then(rest => {
|
|
1079
1167
|
reactData.tableLoading = false;
|
|
1080
1168
|
$xeTable.setPendingRow(removeRecords, false);
|
|
@@ -1087,7 +1175,10 @@ export default defineVxeComponent({
|
|
|
1087
1175
|
afterDelete(commitParams, ...args);
|
|
1088
1176
|
}
|
|
1089
1177
|
else {
|
|
1178
|
+
internalData.uFoot = true;
|
|
1090
1179
|
$xeGrid.commitProxy('query');
|
|
1180
|
+
internalData.uFoot = false;
|
|
1181
|
+
updateQueryFooter();
|
|
1091
1182
|
}
|
|
1092
1183
|
if (deleteSuccessMethods) {
|
|
1093
1184
|
deleteSuccessMethods(Object.assign(Object.assign({}, commitParams), { response: rest }));
|
|
@@ -1171,7 +1262,10 @@ export default defineVxeComponent({
|
|
|
1171
1262
|
afterSave(commitParams, ...args);
|
|
1172
1263
|
}
|
|
1173
1264
|
else {
|
|
1265
|
+
internalData.uFoot = true;
|
|
1174
1266
|
$xeGrid.commitProxy('query');
|
|
1267
|
+
internalData.uFoot = false;
|
|
1268
|
+
updateQueryFooter();
|
|
1175
1269
|
}
|
|
1176
1270
|
if (saveSuccessMethods) {
|
|
1177
1271
|
saveSuccessMethods(Object.assign(Object.assign({}, commitParams), { response: rest }));
|
|
@@ -1411,11 +1505,23 @@ export default defineVxeComponent({
|
|
|
1411
1505
|
},
|
|
1412
1506
|
triggerToolbarCommitEvent(params, evnt) {
|
|
1413
1507
|
const { code } = params;
|
|
1414
|
-
|
|
1415
|
-
|
|
1416
|
-
|
|
1508
|
+
if (code) {
|
|
1509
|
+
const isUf = ['reload', 'delete', 'save'].includes(code);
|
|
1510
|
+
if (isUf) {
|
|
1511
|
+
internalData.uFoot = true;
|
|
1417
1512
|
}
|
|
1418
|
-
|
|
1513
|
+
const rest = $xeGrid.commitProxy(params, evnt).then((rest) => {
|
|
1514
|
+
if (rest && rest.status && ['query', 'reload', 'delete', 'save'].includes(code)) {
|
|
1515
|
+
$xeGrid.dispatchEvent(code === 'delete' || code === 'save' ? `proxy-${code}` : 'proxy-query', Object.assign(Object.assign({}, rest), { isReload: code === 'reload' }), evnt);
|
|
1516
|
+
}
|
|
1517
|
+
});
|
|
1518
|
+
internalData.uFoot = false;
|
|
1519
|
+
if (isUf) {
|
|
1520
|
+
updateQueryFooter();
|
|
1521
|
+
}
|
|
1522
|
+
return rest;
|
|
1523
|
+
}
|
|
1524
|
+
return nextTick();
|
|
1419
1525
|
},
|
|
1420
1526
|
triggerToolbarBtnEvent(button, evnt) {
|
|
1421
1527
|
$xeGrid.triggerToolbarCommitEvent(button, evnt);
|