vxe-table 4.20.9 → 4.20.10

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.
Files changed (39) hide show
  1. package/dist/all.esm.js +323 -202
  2. package/dist/style.css +1 -1
  3. package/es/grid/src/grid.js +252 -161
  4. package/es/style.css +1 -1
  5. package/es/table/module/custom/panel.js +3 -3
  6. package/es/table/module/export/hook.js +53 -33
  7. package/es/table/render/index.js +12 -2
  8. package/es/table/src/table.js +1 -1
  9. package/es/ui/index.js +1 -1
  10. package/es/ui/src/log.js +1 -1
  11. package/lib/grid/src/grid.js +321 -204
  12. package/lib/grid/src/grid.min.js +1 -1
  13. package/lib/index.umd.js +440 -257
  14. package/lib/index.umd.min.js +1 -1
  15. package/lib/style.css +1 -1
  16. package/lib/table/module/custom/panel.js +3 -3
  17. package/lib/table/module/custom/panel.min.js +1 -1
  18. package/lib/table/module/export/hook.js +67 -40
  19. package/lib/table/module/export/hook.min.js +1 -1
  20. package/lib/table/render/index.js +24 -2
  21. package/lib/table/render/index.min.js +1 -1
  22. package/lib/table/src/table.js +1 -1
  23. package/lib/table/src/table.min.js +1 -1
  24. package/lib/ui/index.js +1 -1
  25. package/lib/ui/index.min.js +1 -1
  26. package/lib/ui/src/log.js +1 -1
  27. package/lib/ui/src/log.min.js +1 -1
  28. package/package.json +2 -2
  29. package/packages/grid/src/grid.ts +243 -153
  30. package/packages/table/module/custom/panel.ts +3 -3
  31. package/packages/table/module/export/hook.ts +51 -30
  32. package/packages/table/render/index.ts +12 -2
  33. package/packages/table/src/table.ts +1 -1
  34. /package/es/{iconfont.1785242738274.ttf → iconfont.1785940490728.ttf} +0 -0
  35. /package/es/{iconfont.1785242738274.woff → iconfont.1785940490728.woff} +0 -0
  36. /package/es/{iconfont.1785242738274.woff2 → iconfont.1785940490728.woff2} +0 -0
  37. /package/lib/{iconfont.1785242738274.ttf → iconfont.1785940490728.ttf} +0 -0
  38. /package/lib/{iconfont.1785242738274.woff → iconfont.1785940490728.woff} +0 -0
  39. /package/lib/{iconfont.1785242738274.woff2 → iconfont.1785940490728.woff2} +0 -0
package/lib/index.umd.js CHANGED
@@ -3314,7 +3314,7 @@ function getDefaultConfig(val1, def1) {
3314
3314
  /* unused harmony import specifier */ var VxeUI;
3315
3315
 
3316
3316
 
3317
- const version = "4.20.9";
3317
+ const version = "4.20.10";
3318
3318
  core_.VxeUI.version = version;
3319
3319
  core_.VxeUI.tableVersion = version;
3320
3320
  core_.VxeUI.setConfig({
@@ -4120,7 +4120,7 @@ function getPopupContainer(appendTo) {
4120
4120
  const {
4121
4121
  log: log_log
4122
4122
  } = core_.VxeUI;
4123
- const tableVersion = `table v${"4.20.9"}`;
4123
+ const tableVersion = `table v${"4.20.10"}`;
4124
4124
  function createComponentLog(name) {
4125
4125
  const uiVersion = core_.VxeUI.uiVersion ? `ui v${core_.VxeUI.uiVersion}` : '';
4126
4126
  const ganttVersion = core_.VxeUI.ganttVersion ? `gantt v${core_.VxeUI.ganttVersion}` : '';
@@ -11200,7 +11200,7 @@ function panel_createInternalData() {
11200
11200
  key: 'aa',
11201
11201
  class: 'vxe-table-custom-popup--column-td col--align'
11202
11202
  }, VxeUIRadioGroupComponent ? [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(VxeUIRadioGroupComponent, {
11203
- modelValue: column.renderAlign || '',
11203
+ modelValue: column.renderAlign || 'left',
11204
11204
  type: 'button',
11205
11205
  strict: false,
11206
11206
  disabled: isHidden,
@@ -11218,7 +11218,7 @@ function panel_createInternalData() {
11218
11218
  key: 'aha',
11219
11219
  class: 'vxe-table-custom-popup--column-td col--header-align'
11220
11220
  }, isColGroup ? [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('span', '-')] : VxeUIRadioGroupComponent ? [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(VxeUIRadioGroupComponent, {
11221
- modelValue: column.renderHeaderAlign || '',
11221
+ modelValue: column.renderHeaderAlign || 'left',
11222
11222
  type: 'button',
11223
11223
  strict: false,
11224
11224
  disabled: isHidden,
@@ -11236,7 +11236,7 @@ function panel_createInternalData() {
11236
11236
  key: 'afa',
11237
11237
  class: 'vxe-table-custom-popup--column-td col--footer-align'
11238
11238
  }, isColGroup ? [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('span', '-')] : VxeUIRadioGroupComponent ? [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(VxeUIRadioGroupComponent, {
11239
- modelValue: column.renderFooterAlign || '',
11239
+ modelValue: column.renderFooterAlign || 'left',
11240
11240
  type: 'button',
11241
11241
  strict: false,
11242
11242
  disabled: isHidden,
@@ -17067,18 +17067,20 @@ export_hook_hooks.add('tableExportModule', {
17067
17067
  sortData
17068
17068
  } = gridReactData;
17069
17069
  const {
17070
- beforeQueryAll,
17071
- afterQueryAll,
17070
+ beforeQueryAll: oldBeforeQueryAll,
17071
+ afterQueryAll: oldAfterQueryAll,
17072
17072
  ajax = {}
17073
17073
  } = proxyOpts;
17074
17074
  const resConfigs = proxyOpts.response || proxyOpts.props || {};
17075
- const ajaxMethods = ajax.queryAll;
17076
- const queryAllSuccessMethods = ajax.queryAllSuccess;
17077
- const queryAllErrorMethods = ajax.queryAllError;
17078
- if (!ajaxMethods) {
17075
+ const beforeQueryAllMethod = ajax.beforeQueryAll;
17076
+ const queryAllMethod = ajax.queryAll;
17077
+ const afterQueryAllMethod = ajax.afterQueryAll;
17078
+ const queryAllSuccessMethod = ajax.queryAllSuccess;
17079
+ const queryAllErrorMethod = ajax.queryAllError;
17080
+ if (!queryAllMethod) {
17079
17081
  export_hook_errLog('vxe.error.notFunc', ['proxy-config.ajax.queryAll']);
17080
17082
  }
17081
- if (ajaxMethods) {
17083
+ if (queryAllMethod) {
17082
17084
  const params = {
17083
17085
  $table: $xeTable,
17084
17086
  $grid: $xeGrid,
@@ -17089,44 +17091,72 @@ export_hook_hooks.add('tableExportModule', {
17089
17091
  form: gridReactData.formData,
17090
17092
  options: handleOptions
17091
17093
  };
17092
- return Promise.resolve((beforeQueryAll || ajaxMethods)(params)).then(rest => {
17093
- const listProp = resConfigs.list;
17094
- let tdData = [];
17095
- if (listProp) {
17096
- if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(listProp)) {
17097
- tdData = listProp({
17098
- data: rest,
17099
- $table: $xeTable,
17100
- $grid: $xeGrid,
17101
- $gantt: $xeGantt
17094
+ const handleQueryAll = () => {
17095
+ return Promise.resolve((oldBeforeQueryAll || queryAllMethod)(params)).then(rest => {
17096
+ if (afterQueryAllMethod) {
17097
+ afterQueryAllMethod({
17098
+ ...params,
17099
+ response: rest,
17100
+ status: 'success'
17102
17101
  });
17103
17102
  } else {
17104
- tdData = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(rest) ? rest : external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(rest, listProp);
17103
+ const listProp = resConfigs.list;
17104
+ let tdData = [];
17105
+ if (listProp) {
17106
+ if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(listProp)) {
17107
+ tdData = listProp({
17108
+ data: rest,
17109
+ $table: $xeTable,
17110
+ $grid: $xeGrid,
17111
+ $gantt: $xeGantt
17112
+ });
17113
+ } else {
17114
+ tdData = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(rest) ? rest : external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(rest, listProp);
17115
+ }
17116
+ } else {
17117
+ if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(rest)) {
17118
+ tdData = rest;
17119
+ }
17120
+ }
17121
+ handleOptions.data = tdData;
17122
+ if (oldAfterQueryAll) {
17123
+ oldAfterQueryAll({
17124
+ ...params,
17125
+ response: rest
17126
+ });
17127
+ }
17105
17128
  }
17106
- } else {
17107
- if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(rest)) {
17108
- tdData = rest;
17129
+ if (queryAllSuccessMethod) {
17130
+ queryAllSuccessMethod({
17131
+ ...params,
17132
+ response: rest
17133
+ });
17109
17134
  }
17110
- }
17111
- handleOptions.data = tdData;
17112
- if (afterQueryAll) {
17113
- afterQueryAll(params);
17114
- }
17115
- if (queryAllSuccessMethods) {
17116
- queryAllSuccessMethods({
17117
- ...params,
17118
- response: rest
17119
- });
17120
- }
17121
- return handleExport(handleOptions);
17122
- }).catch(rest => {
17123
- if (queryAllErrorMethods) {
17124
- queryAllErrorMethods({
17125
- ...params,
17126
- response: rest
17127
- });
17128
- }
17129
- });
17135
+ return handleExport(handleOptions);
17136
+ }).catch(rest => {
17137
+ if (afterQueryAllMethod) {
17138
+ afterQueryAllMethod({
17139
+ ...params,
17140
+ response: rest,
17141
+ status: 'error'
17142
+ });
17143
+ }
17144
+ if (queryAllErrorMethod) {
17145
+ queryAllErrorMethod({
17146
+ ...params,
17147
+ response: rest
17148
+ });
17149
+ }
17150
+ });
17151
+ };
17152
+ if (beforeQueryAllMethod) {
17153
+ return Promise.resolve(beforeQueryAllMethod(params)).then(status => {
17154
+ if (status !== false) {
17155
+ return handleQueryAll();
17156
+ }
17157
+ });
17158
+ }
17159
+ return handleQueryAll();
17130
17160
  }
17131
17161
  }
17132
17162
  }
@@ -20375,7 +20405,18 @@ render_renderer.mixin({
20375
20405
  },
20376
20406
  FormatNumberInput: {
20377
20407
  renderTableDefault: handleNumberCell,
20378
- tableFilterDefaultMethod: handleInputFilterMethod,
20408
+ tableFilterDefaultMethod({
20409
+ option,
20410
+ row,
20411
+ column
20412
+ }) {
20413
+ const {
20414
+ data
20415
+ } = option;
20416
+ const cellValue = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row, column.field);
20417
+ /* eslint-disable eqeqeq */
20418
+ return cellValue == data;
20419
+ },
20379
20420
  tableExportMethod(params) {
20380
20421
  const {
20381
20422
  row,
@@ -20439,7 +20480,18 @@ render_renderer.mixin({
20439
20480
  createTableFilterOptions: defaultFilterOptions,
20440
20481
  renderTableFilter: defaultFilterRender,
20441
20482
  renderTableFloatingFilter: defaultFloatingFilterRender,
20442
- tableFilterDefaultMethod: handleInputFilterMethod,
20483
+ tableFilterDefaultMethod({
20484
+ option,
20485
+ row,
20486
+ column
20487
+ }) {
20488
+ const {
20489
+ data
20490
+ } = option;
20491
+ const cellValue = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row, column.field);
20492
+ /* eslint-disable eqeqeq */
20493
+ return cellValue == data;
20494
+ },
20443
20495
  tableExportMethod(params) {
20444
20496
  const {
20445
20497
  row,
@@ -21391,7 +21443,7 @@ reactData.rowHeight=rowHeight;const{toVisibleIndex:toYVisibleIndex,visibleSize:v
21391
21443
  if(reWidth){calcCellWidth();}if(reWidth||reFull){autoCellWidth();}if(reHeight){calcCellHeight();}updateStyle();calcScrollbar();if(reFull){updateRowOffsetTop();}updateRowExpandStyle();if(reFull){updateTreeLineStyle();}internalData.rceRunTime=Date.now();if(reFull){return computeScrollLoad();}});};const defaultMinRunDelay=50;const handleLazyRecalculate=(reFull,reWidth,reHeight,options)=>{const minRunDelay=(options?options.minRunDelay:defaultMinRunDelay)||defaultMinRunDelay;return new Promise(resolve=>{const $xeGanttView=internalData.xeGanttView;const{customStore,tableData,tableColumn}=reactData;const{rceTimeout,rceRunTime}=internalData;const resizeOpts=computeResizeOpts.value;let rceDelay=internalData.rceDelay;// 如果在500毫秒内频繁执行,则执行次数减缓
21392
21444
  if(rceRunTime&&rceRunTime>Date.now()-500){rceDelay=Math.min(Math.max(60,Math.min(800,tableData.length/8)),rceDelay+50);}else{rceDelay=0;}internalData.rceDelay=rceDelay;const refreshDelay=resizeOpts.refreshDelay||30;const reDelay=rceDelay+refreshDelay;const el=refElem.value;if(el&&el.clientWidth){autoCellWidth();updateRowExpandStyle();}if(customStore.visible&&$xeTable.handleCustomStyle){$xeTable.handleCustomStyle();}const renderCellSize=tableData.length*tableColumn.length;// 渲染量低的场景
21393
21445
  if(renderCellSize<400){rceDelay=20;}else if(renderCellSize<600){rceDelay=40;}else if(renderCellSize<800){rceDelay=80;}if(rceTimeout){clearTimeout(rceTimeout);// 多少毫秒内至少执行一次
21394
- if(rceRunTime&&rceRunTime+minRunDelay<Date.now()){resolve(handleRecalculateStyle(reFull,reWidth,reHeight));}else{(0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(()=>{resolve();});}}else{resolve(handleRecalculateStyle(reFull,reWidth,reHeight));}if($xeGanttView&&$xeGanttView.handleLazyRecalculate){$xeGanttView.handleLazyRecalculate();}internalData.rceTimeout=setTimeout(()=>{internalData.rceDelay=0;internalData.rceTimeout=undefined;handleRecalculateStyle(reFull,reWidth,reHeight);if($xeGanttView&&$xeGanttView.handleLazyRecalculate){$xeGanttView.handleLazyRecalculate();}},reDelay);});};const handleResizeEvent=()=>{if(internalData.rsePending){return;}internalData.rsePending=true;handleLazyRecalculate(false,true,true,{minRunDelay:200}).then(()=>{internalData.rsePending=false;}).catch(()=>{internalData.rsePending=false;});};const handleUpdateAggValues=()=>{const{visibleColumn}=internalData;const aggCols=[];visibleColumn.forEach(column=>{if(column.aggFunc){aggCols.push(column);}});reactData.aggHandleAggColumns=aggCols;};const handleUpdateRowGroup=groupFields=>{const aggGroupFields=[];const aggGroupConfs=[];if(groupFields){(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(groupFields)?groupFields:[groupFields]).forEach(field=>{aggGroupFields.push(field);aggGroupConfs.push({field});});}reactData.rowGroupList=aggGroupConfs;reactData.aggHandleFields=aggGroupFields;handleUpdateAggValues();};const handleeGroupSummary=aggList=>{const{fullColumnFieldData}=internalData;const aggregateOpts=computeAggregateOpts.value;const aggFuncColumns=computeAggFuncColumns.value;const{mapChildrenField}=aggregateOpts;const aggCalcMethod=aggregateOpts.calcValuesMethod||aggregateOpts.countMethod||aggregateOpts.aggregateMethod;if(mapChildrenField){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().lastEach(aggList,aggRow=>{let count=0;external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(aggRow[mapChildrenField],row=>{if(row.isAggregate){count+=row.childCount||0;}else{count++;}});aggRow.childCount=count;});if($xeTable.handlePivotTableAggData){$xeTable.handlePivotTableAggData(aggList);}else{if(aggFuncColumns.length){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().lastEach(aggList,aggRow=>{const aggDtObj={};const aggData=aggRow.aggData;const groupField=aggRow.groupField;const groupContent=aggRow.groupContent;const childList=mapChildrenField?aggRow[mapChildrenField]||[]:[];const childCount=aggRow.childCount;const colRest=fullColumnFieldData[groupField]||{};aggFuncColumns.forEach(column=>{const{field}=column;const currAggData=aggData?aggData[field]:null;const ctParams={$table:$xeTable,groupField,groupColumn:colRest?colRest.column:null,column,groupValue:groupContent,childList,childCount,aggValue:currAggData?currAggData.value:0,/**
21446
+ if(rceRunTime&&rceRunTime+minRunDelay<Date.now()){resolve(handleRecalculateStyle(reFull,reWidth,reHeight));}else{(0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(()=>{resolve();});}}else{resolve(handleRecalculateStyle(reFull,reWidth,reHeight));}if($xeGanttView&&$xeGanttView.handleLazyRecalculate){$xeGanttView.handleLazyRecalculate();}internalData.rceTimeout=setTimeout(()=>{internalData.rceDelay=0;internalData.rceTimeout=undefined;handleRecalculateStyle(reFull,reWidth,reHeight);if($xeGanttView&&$xeGanttView.handleLazyRecalculate){$xeGanttView.handleLazyRecalculate();}},reDelay);});};const handleResizeEvent=()=>{if(internalData.rsePending){return;}internalData.rsePending=true;handleLazyRecalculate(true,true,true,{minRunDelay:200}).then(()=>{internalData.rsePending=false;}).catch(()=>{internalData.rsePending=false;});};const handleUpdateAggValues=()=>{const{visibleColumn}=internalData;const aggCols=[];visibleColumn.forEach(column=>{if(column.aggFunc){aggCols.push(column);}});reactData.aggHandleAggColumns=aggCols;};const handleUpdateRowGroup=groupFields=>{const aggGroupFields=[];const aggGroupConfs=[];if(groupFields){(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(groupFields)?groupFields:[groupFields]).forEach(field=>{aggGroupFields.push(field);aggGroupConfs.push({field});});}reactData.rowGroupList=aggGroupConfs;reactData.aggHandleFields=aggGroupFields;handleUpdateAggValues();};const handleeGroupSummary=aggList=>{const{fullColumnFieldData}=internalData;const aggregateOpts=computeAggregateOpts.value;const aggFuncColumns=computeAggFuncColumns.value;const{mapChildrenField}=aggregateOpts;const aggCalcMethod=aggregateOpts.calcValuesMethod||aggregateOpts.countMethod||aggregateOpts.aggregateMethod;if(mapChildrenField){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().lastEach(aggList,aggRow=>{let count=0;external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(aggRow[mapChildrenField],row=>{if(row.isAggregate){count+=row.childCount||0;}else{count++;}});aggRow.childCount=count;});if($xeTable.handlePivotTableAggData){$xeTable.handlePivotTableAggData(aggList);}else{if(aggFuncColumns.length){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().lastEach(aggList,aggRow=>{const aggDtObj={};const aggData=aggRow.aggData;const groupField=aggRow.groupField;const groupContent=aggRow.groupContent;const childList=mapChildrenField?aggRow[mapChildrenField]||[]:[];const childCount=aggRow.childCount;const colRest=fullColumnFieldData[groupField]||{};aggFuncColumns.forEach(column=>{const{field}=column;const currAggData=aggData?aggData[field]:null;const ctParams={$table:$xeTable,groupField,groupColumn:colRest?colRest.column:null,column,groupValue:groupContent,childList,childCount,aggValue:currAggData?currAggData.value:0,/**
21395
21447
  * 已废弃
21396
21448
  * @deprecated
21397
21449
  */children:childList,/**
@@ -24049,14 +24101,14 @@ function grid_createInternalData() {
24049
24101
  const pagerOpts = computePagerOpts.value;
24050
24102
  const toolbarOpts = computeToolbarOpts.value;
24051
24103
  const {
24052
- beforeQuery,
24053
- afterQuery,
24054
- beforeQueryFooter,
24055
- afterQueryFooter,
24056
- beforeDelete,
24057
- afterDelete,
24058
- beforeSave,
24059
- afterSave,
24104
+ beforeQuery: oldBeforeQuery,
24105
+ afterQuery: oldAfterQuery,
24106
+ beforeQueryFooter: oldBeforeQueryFooter,
24107
+ afterQueryFooter: oldAfterQueryFooter,
24108
+ beforeDelete: oldBeforeDelete,
24109
+ afterDelete: oldAfterDelete,
24110
+ beforeSave: oldBeforeSave,
24111
+ afterSave: oldAfterSave,
24060
24112
  ajax = {}
24061
24113
  } = proxyOpts;
24062
24114
  const resConfigs = proxyOpts.response || proxyOpts.props || {};
@@ -24117,10 +24169,12 @@ function grid_createInternalData() {
24117
24169
  case 'reload':
24118
24170
  case 'query':
24119
24171
  {
24120
- const qMethods = ajax.query;
24121
- const qsMethods = ajax.querySuccess;
24122
- const qeMethods = ajax.queryError;
24123
- if (qMethods) {
24172
+ const bqMethod = ajax.beforeQuery;
24173
+ const qMethod = ajax.query;
24174
+ const aqMethod = ajax.afterQuery;
24175
+ const qsMethod = ajax.querySuccess;
24176
+ const qeMethod = ajax.queryError;
24177
+ if (qMethod) {
24124
24178
  const isInited = code === 'initial';
24125
24179
  const isReload = code === 'reload';
24126
24180
  if (!isInited && reactData.tableLoading) {
@@ -24210,82 +24264,110 @@ function grid_createInternalData() {
24210
24264
  sorts: sortList,
24211
24265
  filters: filterList,
24212
24266
  form: formData,
24213
- options: qMethods
24267
+ options: qMethod
24214
24268
  };
24215
- reactData.sortData = sortList;
24216
- reactData.filterData = filterList;
24217
- reactData.tableLoading = true;
24218
- return Promise.all([Promise.resolve((beforeQuery || qMethods)(commitParams, ...args)), operPromise]).then(([rest]) => {
24219
- let tableData = [];
24220
- reactData.tableLoading = false;
24221
- if (rest) {
24222
- const reParams = {
24223
- data: rest,
24224
- $table: $xeTable,
24225
- $grid: $xeGrid,
24226
- $gantt: null
24227
- };
24228
- if (pagerConfig && isEnableConf(pagerOpts)) {
24229
- const totalProp = resConfigs.total;
24230
- const total = (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(totalProp) ? totalProp(reParams) : external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(rest, totalProp || 'page.total')) || 0;
24231
- tablePage.total = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(total);
24232
- const resultProp = resConfigs.result;
24233
- tableData = (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(resultProp) ? resultProp(reParams) : external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(rest, resultProp || 'result')) || [];
24234
- // 检验当前页码,不能超出当前最大页数
24235
- const pageCount = Math.max(Math.ceil(total / tablePage.pageSize), 1);
24236
- if (tablePage.currentPage > pageCount) {
24237
- tablePage.currentPage = pageCount;
24238
- }
24269
+ const handleQuery = () => {
24270
+ reactData.sortData = sortList;
24271
+ reactData.filterData = filterList;
24272
+ reactData.tableLoading = true;
24273
+ return Promise.all([Promise.resolve((oldBeforeQuery || qMethod)(commitParams, ...args)), operPromise]).then(([rest]) => {
24274
+ reactData.tableLoading = false;
24275
+ if (aqMethod) {
24276
+ aqMethod({
24277
+ ...commitParams,
24278
+ response: rest,
24279
+ status: 'success'
24280
+ }, ...args);
24239
24281
  } else {
24240
- const listProp = resConfigs.list;
24241
- if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(rest)) {
24242
- tableData = rest;
24243
- } else if (listProp) {
24244
- tableData = (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(listProp) ? listProp(reParams) : external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(rest, listProp)) || [];
24245
- }
24246
- }
24247
- if (showFooter) {
24248
- const fdProp = resConfigs.footerData;
24249
- const footerList = fdProp ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(fdProp) ? fdProp(reParams) : external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(rest, fdProp) : [];
24250
- if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(footerList)) {
24251
- reactData.footerData = footerList;
24282
+ let tableData = [];
24283
+ if (rest) {
24284
+ const reParams = {
24285
+ data: rest,
24286
+ $table: $xeTable,
24287
+ $grid: $xeGrid,
24288
+ $gantt: null
24289
+ };
24290
+ if (pagerConfig && isEnableConf(pagerOpts)) {
24291
+ const totalProp = resConfigs.total;
24292
+ const total = (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(totalProp) ? totalProp(reParams) : external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(rest, totalProp || 'page.total')) || 0;
24293
+ tablePage.total = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(total);
24294
+ const resultProp = resConfigs.result;
24295
+ tableData = (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(resultProp) ? resultProp(reParams) : external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(rest, resultProp || 'result')) || [];
24296
+ // 检验当前页码,不能超出当前最大页数
24297
+ const pageCount = Math.max(Math.ceil(total / tablePage.pageSize), 1);
24298
+ if (tablePage.currentPage > pageCount) {
24299
+ tablePage.currentPage = pageCount;
24300
+ }
24301
+ } else {
24302
+ const listProp = resConfigs.list;
24303
+ if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(rest)) {
24304
+ tableData = rest;
24305
+ } else if (listProp) {
24306
+ tableData = (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(listProp) ? listProp(reParams) : external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(rest, listProp)) || [];
24307
+ }
24308
+ }
24309
+ if (showFooter) {
24310
+ const fdProp = resConfigs.footerData;
24311
+ const footerList = fdProp ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(fdProp) ? fdProp(reParams) : external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(rest, fdProp) : [];
24312
+ if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(footerList)) {
24313
+ reactData.footerData = footerList;
24314
+ }
24315
+ }
24252
24316
  }
24253
- }
24254
- }
24255
- if ($xeTable) {
24256
- $xeTable.loadData(tableData);
24257
- } else {
24258
- (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(() => {
24259
- const $xeTable = refTable.value;
24260
24317
  if ($xeTable) {
24261
24318
  $xeTable.loadData(tableData);
24319
+ } else {
24320
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(() => {
24321
+ const $xeTable = refTable.value;
24322
+ if ($xeTable) {
24323
+ $xeTable.loadData(tableData);
24324
+ }
24325
+ });
24262
24326
  }
24263
- });
24264
- }
24265
- if (afterQuery) {
24266
- afterQuery(commitParams, ...args);
24267
- }
24268
- if (qsMethods) {
24269
- qsMethods({
24270
- ...commitParams,
24271
- response: rest
24272
- });
24273
- }
24274
- return {
24275
- status: true
24276
- };
24277
- }).catch(rest => {
24278
- reactData.tableLoading = false;
24279
- if (qeMethods) {
24280
- qeMethods({
24281
- ...commitParams,
24282
- response: rest
24283
- });
24284
- }
24285
- return {
24286
- status: false
24287
- };
24288
- });
24327
+ if (oldAfterQuery) {
24328
+ oldAfterQuery({
24329
+ ...commitParams,
24330
+ response: rest
24331
+ }, ...args);
24332
+ }
24333
+ }
24334
+ if (qsMethod) {
24335
+ qsMethod({
24336
+ ...commitParams,
24337
+ response: rest
24338
+ });
24339
+ }
24340
+ return {
24341
+ status: true
24342
+ };
24343
+ }).catch(rest => {
24344
+ reactData.tableLoading = false;
24345
+ if (aqMethod) {
24346
+ aqMethod({
24347
+ ...commitParams,
24348
+ response: rest,
24349
+ status: 'error'
24350
+ }, ...args);
24351
+ }
24352
+ if (qeMethod) {
24353
+ qeMethod({
24354
+ ...commitParams,
24355
+ response: rest
24356
+ });
24357
+ }
24358
+ return {
24359
+ status: false
24360
+ };
24361
+ });
24362
+ };
24363
+ if (bqMethod) {
24364
+ return Promise.resolve(bqMethod(commitParams, ...args)).then(status => {
24365
+ if (status !== false) {
24366
+ return handleQuery();
24367
+ }
24368
+ });
24369
+ }
24370
+ return handleQuery();
24289
24371
  } else {
24290
24372
  grid_errLog('vxe.error.notFunc', ['proxy-config.ajax.query']);
24291
24373
  }
@@ -24293,49 +24375,88 @@ function grid_createInternalData() {
24293
24375
  }
24294
24376
  case 'queryFooter':
24295
24377
  {
24296
- const qfMethods = ajax.queryFooter;
24297
- const qfSuccessMethods = ajax.queryFooterSuccess;
24298
- const qfErrorMethods = ajax.queryFooterError;
24299
- if (qfMethods) {
24378
+ const bqfMethod = ajax.beforeQueryFooter;
24379
+ const qfMethod = ajax.queryFooter;
24380
+ const aqfMethod = ajax.afterQueryFooter;
24381
+ const qfSuccessMethod = ajax.queryFooterSuccess;
24382
+ const qfErrorMethod = ajax.queryFooterError;
24383
+ if (qfMethod) {
24300
24384
  let filterList = [];
24301
24385
  if ($xeTable) {
24302
24386
  filterList = $xeTable.getCheckedFilters();
24303
24387
  }
24388
+ let pageParams = {};
24389
+ if (pagerConfig) {
24390
+ if (isEnableConf(pagerOpts)) {
24391
+ pageParams = {
24392
+ ...tablePage
24393
+ };
24394
+ }
24395
+ }
24304
24396
  const commitParams = {
24305
24397
  $table: $xeTable,
24306
24398
  $grid: $xeGrid,
24307
24399
  $gantt: null,
24308
24400
  code,
24309
24401
  button,
24402
+ page: pageParams,
24310
24403
  filters: filterList,
24311
24404
  form: formData,
24312
- options: qfMethods
24405
+ options: qfMethod
24313
24406
  };
24314
- return Promise.resolve((beforeQueryFooter || qfMethods)(commitParams, ...args)).then(rest => {
24315
- reactData.footerData = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(rest) ? rest : [];
24316
- if (afterQueryFooter) {
24317
- afterQueryFooter(commitParams, ...args);
24318
- }
24319
- if (qfSuccessMethods) {
24320
- qfSuccessMethods({
24321
- ...commitParams,
24322
- response: rest
24323
- });
24324
- }
24325
- return {
24326
- status: true
24327
- };
24328
- }).catch(rest => {
24329
- if (qfErrorMethods) {
24330
- qfErrorMethods({
24331
- ...commitParams,
24332
- response: rest
24333
- });
24334
- }
24335
- return {
24336
- status: false
24337
- };
24338
- });
24407
+ const handleQueryFooter = () => {
24408
+ return Promise.resolve((oldBeforeQueryFooter || qfMethod)(commitParams, ...args)).then(rest => {
24409
+ if (aqfMethod) {
24410
+ aqfMethod({
24411
+ ...commitParams,
24412
+ response: rest,
24413
+ status: 'success'
24414
+ }, ...args);
24415
+ } else {
24416
+ reactData.footerData = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(rest) ? rest : [];
24417
+ if (oldAfterQueryFooter) {
24418
+ oldAfterQueryFooter({
24419
+ ...commitParams,
24420
+ response: rest
24421
+ }, ...args);
24422
+ }
24423
+ }
24424
+ if (qfSuccessMethod) {
24425
+ qfSuccessMethod({
24426
+ ...commitParams,
24427
+ response: rest
24428
+ });
24429
+ }
24430
+ return {
24431
+ status: true
24432
+ };
24433
+ }).catch(rest => {
24434
+ if (aqfMethod) {
24435
+ aqfMethod({
24436
+ ...commitParams,
24437
+ response: rest,
24438
+ status: 'error'
24439
+ }, ...args);
24440
+ }
24441
+ if (qfErrorMethod) {
24442
+ qfErrorMethod({
24443
+ ...commitParams,
24444
+ response: rest
24445
+ });
24446
+ }
24447
+ return {
24448
+ status: false
24449
+ };
24450
+ });
24451
+ };
24452
+ if (bqfMethod) {
24453
+ return Promise.resolve(bqfMethod(commitParams, ...args)).then(status => {
24454
+ if (status !== false) {
24455
+ return handleQueryFooter();
24456
+ }
24457
+ });
24458
+ }
24459
+ return handleQueryFooter();
24339
24460
  } else {
24340
24461
  grid_errLog('vxe.error.notFunc', ['proxy-config.ajax.queryFooter']);
24341
24462
  }
@@ -24343,10 +24464,12 @@ function grid_createInternalData() {
24343
24464
  }
24344
24465
  case 'delete':
24345
24466
  {
24346
- const dMethods = ajax.delete;
24467
+ const bdMethod = ajax.beforeDelete;
24468
+ const dMethod = ajax.delete;
24469
+ const adMethod = ajax.afterDelete;
24347
24470
  const deleteSuccessMethods = ajax.deleteSuccess;
24348
24471
  const deleteErrorMethods = ajax.deleteError;
24349
- if (dMethods) {
24472
+ if (dMethod) {
24350
24473
  const selectRecords = $xeGrid.getCheckboxRecords();
24351
24474
  const removeRecords = selectRecords.filter(row => !$xeTable.isInsertByRow(row));
24352
24475
  const body = {
@@ -24360,63 +24483,92 @@ function grid_createInternalData() {
24360
24483
  button,
24361
24484
  body,
24362
24485
  form: formData,
24363
- options: dMethods
24486
+ options: dMethod
24364
24487
  };
24365
24488
  if (selectRecords.length) {
24366
24489
  return handleDeleteRow(code, 'vxe.grid.deleteSelectRecord', () => {
24367
24490
  if (!removeRecords.length) {
24368
24491
  return $xeTable.remove(selectRecords);
24369
24492
  }
24370
- reactData.tableLoading = true;
24371
- return Promise.resolve((beforeDelete || dMethods)(commitParams, ...args)).then(rest => {
24372
- reactData.tableLoading = false;
24373
- $xeTable.setPendingRow(removeRecords, false);
24374
- if (isRespMsg) {
24375
- if (core_.VxeUI.modal) {
24376
- core_.VxeUI.modal.message({
24377
- content: getRespMsg(rest, 'vxe.grid.delSuccess'),
24493
+ const handleDelete = () => {
24494
+ reactData.tableLoading = true;
24495
+ return Promise.resolve((oldBeforeDelete || dMethod)(commitParams, ...args)).then(rest => {
24496
+ reactData.tableLoading = false;
24497
+ if (adMethod) {
24498
+ adMethod({
24499
+ ...commitParams,
24500
+ response: rest,
24378
24501
  status: 'success'
24502
+ }, ...args);
24503
+ } else {
24504
+ $xeTable.setPendingRow(removeRecords, false);
24505
+ if (isRespMsg) {
24506
+ if (core_.VxeUI.modal) {
24507
+ core_.VxeUI.modal.message({
24508
+ content: getRespMsg(rest, 'vxe.grid.delSuccess'),
24509
+ status: 'success'
24510
+ });
24511
+ }
24512
+ }
24513
+ if (oldAfterDelete) {
24514
+ oldAfterDelete({
24515
+ ...commitParams,
24516
+ response: rest
24517
+ }, ...args);
24518
+ } else {
24519
+ internalData.uFoot = true;
24520
+ $xeGrid.commitProxy('query');
24521
+ internalData.uFoot = false;
24522
+ updateQueryFooter();
24523
+ }
24524
+ }
24525
+ if (deleteSuccessMethods) {
24526
+ deleteSuccessMethods({
24527
+ ...commitParams,
24528
+ response: rest
24379
24529
  });
24380
24530
  }
24381
- }
24382
- if (afterDelete) {
24383
- afterDelete(commitParams, ...args);
24384
- } else {
24385
- internalData.uFoot = true;
24386
- $xeGrid.commitProxy('query');
24387
- internalData.uFoot = false;
24388
- updateQueryFooter();
24389
- }
24390
- if (deleteSuccessMethods) {
24391
- deleteSuccessMethods({
24392
- ...commitParams,
24393
- response: rest
24394
- });
24395
- }
24396
- return {
24397
- status: true
24398
- };
24399
- }).catch(rest => {
24400
- reactData.tableLoading = false;
24401
- if (isRespMsg) {
24402
- if (core_.VxeUI.modal) {
24403
- core_.VxeUI.modal.message({
24404
- id: code,
24405
- content: getRespMsg(rest, 'vxe.grid.operError'),
24531
+ return {
24532
+ status: true
24533
+ };
24534
+ }).catch(rest => {
24535
+ reactData.tableLoading = false;
24536
+ if (adMethod) {
24537
+ adMethod({
24538
+ ...commitParams,
24539
+ response: rest,
24406
24540
  status: 'error'
24541
+ }, ...args);
24542
+ } else {
24543
+ if (isRespMsg) {
24544
+ if (core_.VxeUI.modal) {
24545
+ core_.VxeUI.modal.message({
24546
+ id: code,
24547
+ content: getRespMsg(rest, 'vxe.grid.operError'),
24548
+ status: 'error'
24549
+ });
24550
+ }
24551
+ }
24552
+ }
24553
+ if (deleteErrorMethods) {
24554
+ deleteErrorMethods({
24555
+ ...commitParams,
24556
+ response: rest
24407
24557
  });
24408
24558
  }
24409
- }
24410
- if (deleteErrorMethods) {
24411
- deleteErrorMethods({
24412
- ...commitParams,
24413
- response: rest
24414
- });
24415
- }
24416
- return {
24417
- status: false
24418
- };
24419
- });
24559
+ return {
24560
+ status: false
24561
+ };
24562
+ });
24563
+ };
24564
+ if (bdMethod) {
24565
+ return Promise.resolve(bdMethod(commitParams, ...args)).then(status => {
24566
+ if (status !== false) {
24567
+ return handleDelete();
24568
+ }
24569
+ });
24570
+ }
24571
+ return handleDelete();
24420
24572
  });
24421
24573
  } else {
24422
24574
  if (isActiveMsg) {
@@ -24436,10 +24588,12 @@ function grid_createInternalData() {
24436
24588
  }
24437
24589
  case 'save':
24438
24590
  {
24439
- const ajaxMethods = ajax.save;
24440
- const saveSuccessMethods = ajax.saveSuccess;
24441
- const saveErrorMethods = ajax.saveError;
24442
- if (ajaxMethods) {
24591
+ const bSaveMethod = ajax.beforeSave;
24592
+ const sMethod = ajax.save;
24593
+ const aSaveMethod = ajax.afterSave;
24594
+ const sSuccessMethod = ajax.saveSuccess;
24595
+ const sErrorMethod = ajax.saveError;
24596
+ if (sMethod) {
24443
24597
  const body = $xeTable.getRecordset();
24444
24598
  const {
24445
24599
  insertRecords,
@@ -24455,7 +24609,7 @@ function grid_createInternalData() {
24455
24609
  button,
24456
24610
  body,
24457
24611
  form: formData,
24458
- options: ajaxMethods
24612
+ options: sMethod
24459
24613
  };
24460
24614
  // 排除掉新增且标记为删除的数据
24461
24615
  if (insertRecords.length) {
@@ -24476,56 +24630,85 @@ function grid_createInternalData() {
24476
24630
  return;
24477
24631
  }
24478
24632
  if (body.insertRecords.length || removeRecords.length || updateRecords.length || body.pendingRecords.length) {
24479
- reactData.tableLoading = true;
24480
- return Promise.resolve((beforeSave || ajaxMethods)(commitParams, ...args)).then(rest => {
24481
- reactData.tableLoading = false;
24482
- $xeTable.clearPendingRow();
24483
- if (isRespMsg) {
24484
- if (core_.VxeUI.modal) {
24485
- core_.VxeUI.modal.message({
24486
- content: getRespMsg(rest, 'vxe.grid.saveSuccess'),
24633
+ const handleSave = () => {
24634
+ reactData.tableLoading = true;
24635
+ return Promise.resolve((oldBeforeSave || sMethod)(commitParams, ...args)).then(rest => {
24636
+ reactData.tableLoading = false;
24637
+ if (aSaveMethod) {
24638
+ aSaveMethod({
24639
+ ...commitParams,
24640
+ response: rest,
24487
24641
  status: 'success'
24642
+ }, ...args);
24643
+ } else {
24644
+ $xeTable.clearPendingRow();
24645
+ if (isRespMsg) {
24646
+ if (core_.VxeUI.modal) {
24647
+ core_.VxeUI.modal.message({
24648
+ content: getRespMsg(rest, 'vxe.grid.saveSuccess'),
24649
+ status: 'success'
24650
+ });
24651
+ }
24652
+ }
24653
+ if (oldAfterSave) {
24654
+ oldAfterSave({
24655
+ ...commitParams,
24656
+ response: rest
24657
+ }, ...args);
24658
+ } else {
24659
+ internalData.uFoot = true;
24660
+ $xeGrid.commitProxy('query');
24661
+ internalData.uFoot = false;
24662
+ updateQueryFooter();
24663
+ }
24664
+ }
24665
+ if (sSuccessMethod) {
24666
+ sSuccessMethod({
24667
+ ...commitParams,
24668
+ response: rest
24488
24669
  });
24489
24670
  }
24490
- }
24491
- if (afterSave) {
24492
- afterSave(commitParams, ...args);
24493
- } else {
24494
- internalData.uFoot = true;
24495
- $xeGrid.commitProxy('query');
24496
- internalData.uFoot = false;
24497
- updateQueryFooter();
24498
- }
24499
- if (saveSuccessMethods) {
24500
- saveSuccessMethods({
24501
- ...commitParams,
24502
- response: rest
24503
- });
24504
- }
24505
- return {
24506
- status: true
24507
- };
24508
- }).catch(rest => {
24509
- reactData.tableLoading = false;
24510
- if (isRespMsg) {
24511
- if (core_.VxeUI.modal) {
24512
- core_.VxeUI.modal.message({
24513
- id: code,
24514
- content: getRespMsg(rest, 'vxe.grid.operError'),
24671
+ return {
24672
+ status: true
24673
+ };
24674
+ }).catch(rest => {
24675
+ reactData.tableLoading = false;
24676
+ if (aSaveMethod) {
24677
+ aSaveMethod({
24678
+ ...commitParams,
24679
+ response: rest,
24515
24680
  status: 'error'
24681
+ }, ...args);
24682
+ } else {
24683
+ if (isRespMsg) {
24684
+ if (core_.VxeUI.modal) {
24685
+ core_.VxeUI.modal.message({
24686
+ id: code,
24687
+ content: getRespMsg(rest, 'vxe.grid.operError'),
24688
+ status: 'error'
24689
+ });
24690
+ }
24691
+ }
24692
+ }
24693
+ if (sErrorMethod) {
24694
+ sErrorMethod({
24695
+ ...commitParams,
24696
+ response: rest
24516
24697
  });
24517
24698
  }
24518
- }
24519
- if (saveErrorMethods) {
24520
- saveErrorMethods({
24521
- ...commitParams,
24522
- response: rest
24523
- });
24524
- }
24525
- return {
24526
- status: false
24527
- };
24528
- });
24699
+ return {
24700
+ status: false
24701
+ };
24702
+ });
24703
+ };
24704
+ if (bSaveMethod) {
24705
+ return Promise.resolve(bSaveMethod(commitParams, ...args)).then(status => {
24706
+ if (status !== false) {
24707
+ return handleSave();
24708
+ }
24709
+ });
24710
+ }
24711
+ return handleSave();
24529
24712
  } else {
24530
24713
  if (isActiveMsg) {
24531
24714
  if (core_.VxeUI.modal) {