vxe-table 3.22.8 → 3.22.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 (53) hide show
  1. package/es/grid/src/grid.js +251 -165
  2. package/es/index.css +1 -1
  3. package/es/index.min.css +1 -1
  4. package/es/style.css +1 -1
  5. package/es/style.min.css +1 -1
  6. package/es/table/module/custom/panel.js +3 -3
  7. package/es/table/module/export/mixin.js +56 -36
  8. package/es/table/render/index.js +12 -2
  9. package/es/table/src/methods.js +7 -0
  10. package/es/table/style.css +22 -12
  11. package/es/table/style.min.css +1 -1
  12. package/es/ui/index.js +1 -1
  13. package/es/ui/src/log.js +1 -1
  14. package/es/vxe-table/style.css +22 -12
  15. package/es/vxe-table/style.min.css +1 -1
  16. package/lib/grid/src/grid.js +319 -209
  17. package/lib/grid/src/grid.min.js +1 -1
  18. package/lib/index.css +1 -1
  19. package/lib/index.min.css +1 -1
  20. package/lib/index.umd.js +442 -267
  21. package/lib/index.umd.min.js +1 -1
  22. package/lib/style.css +1 -1
  23. package/lib/style.min.css +1 -1
  24. package/lib/table/module/custom/panel.js +3 -3
  25. package/lib/table/module/custom/panel.min.js +1 -1
  26. package/lib/table/module/export/mixin.js +70 -43
  27. package/lib/table/module/export/mixin.min.js +1 -1
  28. package/lib/table/render/index.js +24 -2
  29. package/lib/table/render/index.min.js +1 -1
  30. package/lib/table/src/methods.js +3 -3
  31. package/lib/table/src/methods.min.js +1 -1
  32. package/lib/table/style/style.css +22 -12
  33. package/lib/table/style/style.min.css +1 -1
  34. package/lib/ui/index.js +1 -1
  35. package/lib/ui/index.min.js +1 -1
  36. package/lib/ui/src/log.js +1 -1
  37. package/lib/ui/src/log.min.js +1 -1
  38. package/lib/vxe-table/style/style.css +22 -12
  39. package/lib/vxe-table/style/style.min.css +1 -1
  40. package/package.json +2 -2
  41. package/packages/grid/src/grid.ts +239 -157
  42. package/packages/table/module/custom/panel.ts +3 -3
  43. package/packages/table/module/export/mixin.ts +54 -33
  44. package/packages/table/render/index.ts +12 -2
  45. package/packages/table/src/methods.ts +7 -0
  46. package/styles/components/table.scss +24 -6
  47. package/styles/theme/base.scss +0 -1
  48. /package/es/{iconfont.1785140065609.ttf → iconfont.1785940479746.ttf} +0 -0
  49. /package/es/{iconfont.1785140065609.woff → iconfont.1785940479746.woff} +0 -0
  50. /package/es/{iconfont.1785140065609.woff2 → iconfont.1785940479746.woff2} +0 -0
  51. /package/lib/{iconfont.1785140065609.ttf → iconfont.1785940479746.ttf} +0 -0
  52. /package/lib/{iconfont.1785140065609.woff → iconfont.1785940479746.woff} +0 -0
  53. /package/lib/{iconfont.1785140065609.woff2 → iconfont.1785940479746.woff2} +0 -0
package/lib/index.umd.js CHANGED
@@ -3311,7 +3311,7 @@ function getClass(property, params) {
3311
3311
  /* unused harmony import specifier */ var VxeUI;
3312
3312
 
3313
3313
 
3314
- const version = "3.22.8";
3314
+ const version = "3.22.10";
3315
3315
  core_.VxeUI.version = version;
3316
3316
  core_.VxeUI.tableVersion = version;
3317
3317
  core_.VxeUI.setConfig({
@@ -4097,7 +4097,7 @@ function getPopupContainer(appendTo) {
4097
4097
  const {
4098
4098
  log: log_log
4099
4099
  } = core_.VxeUI;
4100
- const tableVersion = `table v${"3.22.8"}`;
4100
+ const tableVersion = `table v${"3.22.10"}`;
4101
4101
  function createComponentLog(name) {
4102
4102
  const uiVersion = core_.VxeUI.uiVersion ? `ui v${core_.VxeUI.uiVersion}` : '';
4103
4103
  const ganttVersion = core_.VxeUI.ganttVersion ? `gantt v${core_.VxeUI.ganttVersion}` : '';
@@ -8487,14 +8487,14 @@ if(isEnableConf(editConfig)&&editOpts.trigger==='dblclick'){if(actived.row&&acti
8487
8487
  * 单元格按下事件
8488
8488
  */triggerCellMousedownEvent(evnt,params){const $xeTable=this;const{column}=params;const{type,treeNode}=column;const isRadioType=type==='radio';const isCheckboxType=type==='checkbox';const isExpandType=type==='expand';const rowOpts=$xeTable.computeRowOpts;const rowDragOpts=$xeTable.computeRowDragOpts;const{trigger,isCrossDrag,isPeerDrag,disabledMethod}=rowDragOpts;const cell=evnt.currentTarget;params.cell=cell;const triggerInput=cell&&cell.tagName&&cell.tagName.toLowerCase()==='input';const triggerRadio=isRadioType&&getEventTargetNode(evnt,cell,'vxe-cell--radio').flag;const triggerCheckbox=isCheckboxType&&getEventTargetNode(evnt,cell,'vxe-cell--checkbox').flag;const triggerTreeNode=treeNode&&getEventTargetNode(evnt,cell,'vxe-cell--tree-btn').flag;const triggerExpandNode=isExpandType&&getEventTargetNode(evnt,cell,'vxe-table--expanded').flag;let isColDragCell=false;if(rowOpts.drag){isColDragCell=trigger==='row'||column.dragSort&&trigger==='cell';}let triggerDrag=false;if(!(triggerInput||triggerRadio||triggerCheckbox||triggerTreeNode||triggerExpandNode)){if(isColDragCell&&(isCrossDrag||isPeerDrag||!params.level)&&!(disabledMethod&&disabledMethod(params))){triggerDrag=true;$xeTable.handleCellDragMousedownEvent(evnt,params);}}if(!triggerDrag&&$xeTable.handleCellMousedownEvent){$xeTable.handleCellMousedownEvent(evnt,params);}$xeTable.focus();$xeTable.closeFilter();if($xeTable.closeMenu){$xeTable.closeMenu();}},triggerCellMouseupEvent(){const $xeTable=this;clearDragStatus($xeTable);},/**
8489
8489
  * 行拖拽
8490
- */handleRowDragDragstartEvent(evnt){const $xeTable=this;if(evnt.dataTransfer){evnt.dataTransfer.setDragImage(getTpImg(),0,0);}$xeTable.closeTooltip();},handleRowDragSwapEvent(evnt,isSyncRow,dragRow,prevDragRow,prevDragPos,prevDragToChild){const $xeTable=this;const $xeGantt=$xeTable.$xeGantt;const props=$xeTable;const reactData=$xeTable;const internalData=$xeTable;const{treeConfig,dragConfig}=props;const rowDragOpts=$xeTable.computeRowDragOpts;const{afterFullData,tableFullData,fullAllDataRowIdData}=internalData;const{animation,isPeerDrag,isCrossDrag,isSelfToChildDrag,dragEndMethod,dragToChildMethod}=rowDragOpts;const treeOpts=$xeTable.computeTreeOpts;const cellOpts=$xeTable.computeCellOpts;const rowOpts=$xeTable.computeRowOpts;const defaultRowHeight=$xeTable.computeDefaultRowHeight;const{transform,rowField,mapChildrenField,parentField}=treeOpts;const childrenField=treeOpts.children||treeOpts.childrenField;const dEndMethod=dragEndMethod||(dragConfig?dragConfig.dragEndMethod:null);const dragOffsetIndex=prevDragPos==='bottom'?1:0;const el=$xeTable.$refs.refElem;const errRest={status:false};if(!(el&&prevDragRow&&dragRow)){return Promise.resolve(errRest);}// 判断是否有拖动
8490
+ */handleRowDragDragstartEvent(evnt){const $xeTable=this;if(evnt.dataTransfer){evnt.dataTransfer.setDragImage(getTpImg(),0,0);}$xeTable.closeTooltip();},handleRowDragSwapEvent(evnt,isSyncRow,dragRow,prevDragRow,prevDragPos,prevDragToChild){const $xeTable=this;const $xeGantt=$xeTable.$xeGantt;const props=$xeTable;const reactData=$xeTable;const internalData=$xeTable;const{treeConfig,dragConfig}=props;const rowDragOpts=$xeTable.computeRowDragOpts;const{afterFullData,tableFullData,fullAllDataRowIdData}=internalData;const{animation,isPeerDrag,isCrossDrag,isSelfToChildDrag,dragEndMethod,dragToChildMethod}=rowDragOpts;const treeOpts=$xeTable.computeTreeOpts;const cellOpts=$xeTable.computeCellOpts;const rowOpts=$xeTable.computeRowOpts;const defaultRowHeight=$xeTable.computeDefaultRowHeight;const{transform,rowField,mapChildrenField,parentField}=treeOpts;const childrenField=treeOpts.children||treeOpts.childrenField;const dEndMethod=dragEndMethod||(dragConfig?dragConfig.dragEndMethod:null);const dragOffsetIndex=prevDragPos==='bottom'?1:0;const el=$xeTable.$refs.refElem;const errRest={status:false};if(!(el&&prevDragRow&&dragRow)){handleRowDragEndClearStatus($xeTable);return Promise.resolve(errRest);}// 判断是否有拖动
8491
8491
  if(prevDragRow!==dragRow){const dragParams={oldRow:dragRow,newRow:prevDragRow,dragRow,dragPos:prevDragPos,dragToChild:!!prevDragToChild,offsetIndex:dragOffsetIndex};const dragRowid=getRowid($xeTable,dragRow);const dragRowRest=fullAllDataRowIdData[dragRowid]||{};const _dragRowIndex=dragRowRest._index;let dragRowHeight=0;let dragOffsetTop=-1;if(animation){dragRowHeight=getCellRestHeight(dragRowRest,cellOpts,rowOpts,defaultRowHeight);const oldTrEl=el.querySelector(`.vxe-body--row[rowid="${dragRowid}"]`);if(oldTrEl){dragOffsetTop=oldTrEl.offsetTop;}}let oafIndex=-1;let nafIndex=-1;const oldRest=dragRowRest;const newRowid=getRowid($xeTable,prevDragRow);const newRest=fullAllDataRowIdData[newRowid];const oldAllMaps={};let isSelfToChildStatus=false;// 如果为树结构
8492
8492
  if(treeConfig){if(transform){if(oldRest&&newRest){const{level:oldLevel}=oldRest;const{level:newLevel}=newRest;external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree([dragRow],item=>{oldAllMaps[getRowid($xeTable,item)]=item;},{children:mapChildrenField});if(oldLevel&&newLevel){// 子到子
8493
8493
  if(isPeerDrag&&!isCrossDrag){if(oldRest.row[parentField]!==newRest.row[parentField]){// 非同级
8494
8494
  handleRowDragEndClearStatus($xeTable);return Promise.resolve(errRest);}}else{if(!isCrossDrag){handleRowDragEndClearStatus($xeTable);return Promise.resolve(errRest);}if(oldAllMaps[newRowid]){isSelfToChildStatus=true;if(!(isCrossDrag&&isSelfToChildDrag)){if(core_.VxeUI.modal){core_.VxeUI.modal.message({status:'error',content:methods_getI18n('vxe.error.treeDragChild')});}handleRowDragEndClearStatus($xeTable);return Promise.resolve(errRest);}}}}else if(oldLevel){// 子到根
8495
8495
  if(!isCrossDrag){handleRowDragEndClearStatus($xeTable);return Promise.resolve(errRest);}}else if(newLevel){// 根到子
8496
8496
  if(!isCrossDrag){handleRowDragEndClearStatus($xeTable);return Promise.resolve(errRest);}if(oldAllMaps[newRowid]){isSelfToChildStatus=true;if(!(isCrossDrag&&isSelfToChildDrag)){if(core_.VxeUI.modal){core_.VxeUI.modal.message({status:'error',content:methods_getI18n('vxe.error.treeDragChild')});}handleRowDragEndClearStatus($xeTable);return Promise.resolve(errRest);}}}else{// 根到根
8497
- }}}}const isDragToChildFlag=isSelfToChildDrag&&dragToChildMethod?dragToChildMethod(dragParams):prevDragToChild;return Promise.resolve(dEndMethod?dEndMethod(dragParams):true).then(status=>{if(!status){return errRest;}// 如果为树结构
8497
+ }}}}const isDragToChildFlag=isSelfToChildDrag&&dragToChildMethod?dragToChildMethod(dragParams):prevDragToChild;if(dEndMethod){handleRowDragEndClearStatus($xeTable);}return Promise.resolve(dEndMethod?dEndMethod(dragParams):true).then(status=>{if(!status){return errRest;}// 如果为树结构
8498
8498
  if(treeConfig){if(transform){// 移出源位置
8499
8499
  if(oldRest&&newRest){const fullList=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toTreeArray(internalData.afterTreeFullData,{updated:false,key:rowField,parentKey:parentField,children:mapChildrenField});// 移出
8500
8500
  const otfIndex=$xeTable.findRowIndexOf(fullList,dragRow);fullList.splice(otfIndex,1);// 插入
@@ -8512,7 +8512,7 @@ rsIndex=_newRowIndex-_firstRowIndex;reIndex=rsIndex+_dragRowIndex-_newRowIndex+1
8512
8512
  */handleCrossTableRowDragoverEmptyEvent(evnt){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const{tableData}=reactData;const rowDragOpts=$xeTable.computeRowDragOpts;const{isCrossTableDrag}=rowDragOpts;if(isCrossTableDrag&&crossTableDragRowObj&&!tableData.length){const{$oldTable,$newTable}=crossTableDragRowObj;if($oldTable){const oldTableReactData=$oldTable;if($oldTable.xID!==$xeTable.xID){if($newTable&&$newTable.xID!==$xeTable.xID){$newTable.hideCrossTableRowDropClearStatus();}evnt.preventDefault();$oldTable.hideCrossTableRowDropClearStatus();crossTableDragRowObj.$newTable=$xeTable;internalData.prevDragRow=null;reactData.dragTipText=oldTableReactData.dragTipText;showDropTip($xeTable,evnt,evnt.currentTarget,null,true,'');}}}},/**
8513
8513
  * 处理跨表拖插入
8514
8514
  */handleCrossTableRowDragInsertEvent(evnt){const $xeTable=this;const $xeGantt=$xeTable.$xeGantt;const props=$xeTable;const reactData=$xeTable;const internalData=$xeTable;const crossTableDragRowInfo=getCrossTableDragRowInfo($xeTable);const{treeConfig}=props;const{prevDragRow,prevDragPos,prevDragToChild}=internalData;const rowDragOpts=$xeTable.computeRowDragOpts;const{animation,isSelfToChildDrag,isCrossTableDrag,dragEndMethod,dragToChildMethod}=rowDragOpts;const rowOpts=$xeTable.computeRowOpts;const cellOpts=$xeTable.computeCellOpts;const defaultRowHeight=$xeTable.computeDefaultRowHeight;const treeOpts=$xeTable.computeTreeOpts;const{parentField,mapChildrenField}=treeOpts;const childrenField=treeOpts.children||treeOpts.childrenField;// 跨表拖拽
8515
- if(isCrossTableDrag&&crossTableDragRowObj&&crossTableDragRowInfo){const{row:oldRow}=crossTableDragRowInfo;const{$oldTable}=crossTableDragRowObj;const el=$xeTable.$refs.refElem;if($oldTable&&oldRow){const dragRow=oldRow;let dragOffsetIndex=-1;if(prevDragRow){dragOffsetIndex=prevDragPos==='bottom'?1:0;}const dragParams={oldRow:dragRow,newRow:prevDragRow,dragRow,dragPos:prevDragPos,dragToChild:!!prevDragToChild,offsetIndex:dragOffsetIndex};const isDragToChildFlag=isSelfToChildDrag&&dragToChildMethod?dragToChildMethod(dragParams):prevDragToChild;const errRest={status:false};Promise.resolve(dragEndMethod?dragEndMethod(dragParams):true).then(status=>{if(!status){if($oldTable){if($oldTable.xID!==$xeTable.xID){$oldTable.handleCrossTableRowDragCancelEvent(evnt);}}handleRowDragEndClearStatus($xeTable);return errRest;}let insertRest=Promise.resolve();if(treeConfig){const dragList=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toTreeArray([dragRow],{updated:true,children:mapChildrenField});$oldTable.handleCrossTableRowDragFinishEvent(evnt);if(prevDragRow){dragRow[parentField]=prevDragRow[parentField];}else{dragRow[parentField]=null;}dragList.forEach(row=>{row[childrenField]=undefined;row[mapChildrenField]=undefined;});if(prevDragRow){if(prevDragPos==='bottom'){insertRest=$xeTable.insertNextAt(dragList,prevDragRow);}else{insertRest=$xeTable.insertAt(dragList,prevDragRow);}}else{insertRest=$xeTable.insert(dragList);}}else{$oldTable.handleCrossTableRowDragFinishEvent(evnt);if(prevDragRow){if(prevDragPos==='bottom'){insertRest=$xeTable.insertNextAt(dragRow,prevDragRow);}else{insertRest=$xeTable.insertAt(dragRow,prevDragRow);}}else{insertRest=$xeTable.insert(dragRow);}}$xeTable.dispatchEvent('row-insert-dragend',{oldRow,newRow:prevDragRow,dragRow,dragPos:prevDragPos,dragToChild:isDragToChildFlag,offsetIndex:dragOffsetIndex},evnt);clearRowDragData($xeTable);insertRest.then(()=>{const{tableData}=reactData;const{fullAllDataRowIdData}=internalData;const oldRowid=getRowid($xeTable,dragRow);const oldRowRest=fullAllDataRowIdData[oldRowid];let dragRowHeight=0;let rsIndex=-1;if(oldRowRest){if(animation){dragRowHeight=getCellRestHeight(oldRowRest,cellOpts,rowOpts,defaultRowHeight);}rsIndex=oldRowRest.$index;}const dragRangeList=rsIndex>-1?tableData.slice(rsIndex):[];if(animation&&dragRowHeight&&dragRangeList.length){const $xeGanttView=internalData.xeGanttView;let wrapperEl=el;if($xeGantt&&$xeGanttView){const ganttContainerElem=$xeGantt.$refs.refGanttContainerElem;if(ganttContainerElem){wrapperEl=ganttContainerElem;}}const dtClss=[];dragRangeList.forEach(row=>{const rowid=getRowid($xeTable,row);dtClss.push(`.vxe-body--row[rowid="${rowid}"]`);if($xeGantt){dtClss.push(`.vxe-gantt-view--body-row[rowid="${rowid}"]`,`.vxe-gantt-view--chart-row[rowid="${rowid}"]`);}});const dtTrList=wrapperEl.querySelectorAll(dtClss.join(','));moveRowAnimateToTb(dtTrList,-dragRowHeight);}});});}}},hideCrossTableRowDropClearStatus(){const $xeTable=this;hideDropTip($xeTable);},handleRowDragDragendEvent(evnt){const $xeTable=this;const props=$xeTable;const reactData=$xeTable;const internalData=$xeTable;const{treeConfig}=props;const{fullAllDataRowIdData,prevDragToChild}=internalData;const{dragRow}=reactData;const treeOpts=$xeTable.computeTreeOpts;const{lazy}=treeOpts;const hasChildField=treeOpts.hasChild||treeOpts.hasChildField;const{prevDragRow,prevDragPos}=internalData;const rowDragOpts=$xeTable.computeRowDragOpts;const{isCrossTableDrag,isCrossDrag}=rowDragOpts;// 跨表拖拽
8515
+ if(isCrossTableDrag&&crossTableDragRowObj&&crossTableDragRowInfo){const{row:oldRow}=crossTableDragRowInfo;const{$oldTable}=crossTableDragRowObj;const el=$xeTable.$refs.refElem;if($oldTable&&oldRow){const dragRow=oldRow;let dragOffsetIndex=-1;if(prevDragRow){dragOffsetIndex=prevDragPos==='bottom'?1:0;}const dragParams={oldRow:dragRow,newRow:prevDragRow,dragRow,dragPos:prevDragPos,dragToChild:!!prevDragToChild,offsetIndex:dragOffsetIndex};const isDragToChildFlag=isSelfToChildDrag&&dragToChildMethod?dragToChildMethod(dragParams):prevDragToChild;const errRest={status:false};if(dragEndMethod){handleRowDragEndClearStatus($xeTable);}Promise.resolve(dragEndMethod?dragEndMethod(dragParams):true).then(status=>{if(!status){if($oldTable){if($oldTable.xID!==$xeTable.xID){$oldTable.handleCrossTableRowDragCancelEvent(evnt);}}handleRowDragEndClearStatus($xeTable);return errRest;}let insertRest=Promise.resolve();if(treeConfig){const dragList=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toTreeArray([dragRow],{updated:true,children:mapChildrenField});$oldTable.handleCrossTableRowDragFinishEvent(evnt);if(prevDragRow){dragRow[parentField]=prevDragRow[parentField];}else{dragRow[parentField]=null;}dragList.forEach(row=>{row[childrenField]=undefined;row[mapChildrenField]=undefined;});if(prevDragRow){if(prevDragPos==='bottom'){insertRest=$xeTable.insertNextAt(dragList,prevDragRow);}else{insertRest=$xeTable.insertAt(dragList,prevDragRow);}}else{insertRest=$xeTable.insert(dragList);}}else{$oldTable.handleCrossTableRowDragFinishEvent(evnt);if(prevDragRow){if(prevDragPos==='bottom'){insertRest=$xeTable.insertNextAt(dragRow,prevDragRow);}else{insertRest=$xeTable.insertAt(dragRow,prevDragRow);}}else{insertRest=$xeTable.insert(dragRow);}}$xeTable.dispatchEvent('row-insert-dragend',{oldRow,newRow:prevDragRow,dragRow,dragPos:prevDragPos,dragToChild:isDragToChildFlag,offsetIndex:dragOffsetIndex},evnt);clearRowDragData($xeTable);insertRest.then(()=>{const{tableData}=reactData;const{fullAllDataRowIdData}=internalData;const oldRowid=getRowid($xeTable,dragRow);const oldRowRest=fullAllDataRowIdData[oldRowid];let dragRowHeight=0;let rsIndex=-1;if(oldRowRest){if(animation){dragRowHeight=getCellRestHeight(oldRowRest,cellOpts,rowOpts,defaultRowHeight);}rsIndex=oldRowRest.$index;}const dragRangeList=rsIndex>-1?tableData.slice(rsIndex):[];if(animation&&dragRowHeight&&dragRangeList.length){const $xeGanttView=internalData.xeGanttView;let wrapperEl=el;if($xeGantt&&$xeGanttView){const ganttContainerElem=$xeGantt.$refs.refGanttContainerElem;if(ganttContainerElem){wrapperEl=ganttContainerElem;}}const dtClss=[];dragRangeList.forEach(row=>{const rowid=getRowid($xeTable,row);dtClss.push(`.vxe-body--row[rowid="${rowid}"]`);if($xeGantt){dtClss.push(`.vxe-gantt-view--body-row[rowid="${rowid}"]`,`.vxe-gantt-view--chart-row[rowid="${rowid}"]`);}});const dtTrList=wrapperEl.querySelectorAll(dtClss.join(','));moveRowAnimateToTb(dtTrList,-dragRowHeight);}});});}}},hideCrossTableRowDropClearStatus(){const $xeTable=this;hideDropTip($xeTable);},handleRowDragDragendEvent(evnt){const $xeTable=this;const props=$xeTable;const reactData=$xeTable;const internalData=$xeTable;const{treeConfig}=props;const{fullAllDataRowIdData,prevDragToChild}=internalData;const{dragRow}=reactData;const treeOpts=$xeTable.computeTreeOpts;const{lazy}=treeOpts;const hasChildField=treeOpts.hasChild||treeOpts.hasChildField;const{prevDragRow,prevDragPos}=internalData;const rowDragOpts=$xeTable.computeRowDragOpts;const{isCrossTableDrag,isCrossDrag}=rowDragOpts;// 跨表拖拽
8516
8516
  if(isCrossTableDrag&&crossTableDragRowObj){const{$newTable}=crossTableDragRowObj;if($newTable&&$newTable.xID!==$xeTable.xID){if(!treeConfig||isCrossDrag){$newTable.handleCrossTableRowDragInsertEvent(evnt);}return;}}if(treeConfig&&lazy&&prevDragToChild){// 懒加载
8517
8517
  const newRowid=getRowid($xeTable,prevDragRow);const rowRest=fullAllDataRowIdData[newRowid];if(prevDragRow[hasChildField]){if(rowRest&&rowRest.treeLoaded){$xeTable.handleRowDragSwapEvent(evnt,true,dragRow,prevDragRow,prevDragPos,prevDragToChild);}}else{$xeTable.handleRowDragSwapEvent(evnt,true,dragRow,prevDragRow,prevDragPos,prevDragToChild);}}else{$xeTable.handleRowDragSwapEvent(evnt,true,dragRow,prevDragRow,prevDragPos,prevDragToChild);}},handleRowDragDragoverEvent(evnt){const $xeTable=this;const props=$xeTable;const reactData=$xeTable;const internalData=$xeTable;const{treeConfig}=props;const{fullAllDataRowIdData}=internalData;const{dragRow}=reactData;const treeOpts=$xeTable.computeTreeOpts;const{lazy,transform,parentField}=treeOpts;const hasChildField=treeOpts.hasChild||treeOpts.hasChildField;const rowDragOpts=$xeTable.computeRowDragOpts;const{isPeerDrag,isCrossDrag,isToChildDrag,isCrossTableDrag}=rowDragOpts;if(!dragRow&&!(isCrossTableDrag&&(!treeConfig||isCrossDrag)&&crossTableDragRowObj)){evnt.preventDefault();return;}const isControlKey=hasControlKey(evnt);const trEl=evnt.currentTarget;const rowid=trEl.getAttribute('rowid')||'';const rowRest=fullAllDataRowIdData[rowid];if(rowRest){evnt.preventDefault();const row=rowRest.row;const offsetY=evnt.clientY-trEl.getBoundingClientRect().y;const dragPos=offsetY<trEl.clientHeight/2?'top':'bottom';internalData.prevDragToChild=!!(treeConfig&&transform&&isCrossDrag&&isToChildDrag&&isControlKey);internalData.prevDragRow=row;internalData.prevDragPos=dragPos;// 跨表拖拽
8518
8518
  if(isCrossTableDrag&&(!treeConfig||isCrossDrag)&&crossTableDragRowObj){const{$oldTable,$newTable}=crossTableDragRowObj;if($oldTable){const oldTableReactData=$oldTable;if($oldTable.xID===$xeTable.xID){if($newTable){$newTable.hideCrossTableRowDropClearStatus();}reactData.isCrossDragRow=false;oldTableReactData.isCrossDragRow=false;crossTableDragRowObj.$newTable=null;}else if(!treeConfig||isCrossDrag){if($newTable&&$newTable.xID!==$xeTable.xID){$newTable.hideCrossTableRowDropClearStatus();}$oldTable.hideCrossTableRowDropClearStatus();oldTableReactData.isCrossDragRow=true;reactData.dragTipText=oldTableReactData.dragTipText;crossTableDragRowObj.$newTable=$xeTable;showDropTip($xeTable,evnt,trEl,null,true,dragPos);return;}}}if($xeTable.eqRow(dragRow,row)||isControlKey&&treeConfig&&lazy&&row[hasChildField]&&rowRest&&!rowRest.treeLoaded||!isCrossDrag&&treeConfig&&transform&&(isPeerDrag?dragRow[parentField]!==row[parentField]:rowRest.level)){showDropTip($xeTable,evnt,trEl,null,false,dragPos);return;}showDropTip($xeTable,evnt,trEl,null,true,dragPos);$xeTable.dispatchEvent('row-dragover',{oldRow:dragRow,targetRow:row,dragPos},evnt);}},handleCellDragMousedownEvent(evnt,params){const $xeTable=this;const props=$xeTable;const reactData=$xeTable;const crossTableDragRowInfo=getCrossTableDragRowInfo($xeTable);evnt.stopPropagation();const{dragConfig}=props;const rowDragOpts=$xeTable.computeRowDragOpts;const{isCrossTableDrag,trigger,dragStartMethod}=rowDragOpts;const{row}=params;const dragEl=evnt.currentTarget;const tdEl=trigger==='cell'||trigger==='row'?dragEl:dragEl.parentElement?.parentElement;const trEl=tdEl.parentElement;const dStartMethod=dragStartMethod||(dragConfig?dragConfig.dragStartMethod:null);clearRowDropOrigin($xeTable);if(dStartMethod&&!dStartMethod(params)){trEl.draggable=false;reactData.dragRow=null;reactData.dragCol=null;clearCrossTableDragStatus($xeTable);hideDropTip($xeTable);return;}if(isCrossTableDrag){crossTableDragRowInfo.row=row;crossTableDragRowObj={$oldTable:$xeTable,$newTable:null};}reactData.dragRow=row;reactData.isCrossDragRow=false;reactData.dragCol=null;trEl.draggable=true;updateRowDropOrigin($xeTable,row);updateRowDropTipContent($xeTable,tdEl);$xeTable.dispatchEvent('row-dragstart',params,evnt);},handleCellDragMouseupEvent(){const $xeTable=this;clearDragStatus($xeTable);},/**
@@ -12259,7 +12259,7 @@ function panel_hideDropTip($xeTableCustomPanel) {
12259
12259
  class: 'vxe-table-custom-popup--column-td col--align'
12260
12260
  }, VxeUIRadioGroupComponent ? [h(VxeUIRadioGroupComponent, {
12261
12261
  props: {
12262
- value: column.renderAlign || '',
12262
+ value: column.renderAlign || 'left',
12263
12263
  type: 'button',
12264
12264
  strict: false,
12265
12265
  disabled: isHidden,
@@ -12281,7 +12281,7 @@ function panel_hideDropTip($xeTableCustomPanel) {
12281
12281
  class: 'vxe-table-custom-popup--column-td col--header-align'
12282
12282
  }, isColGroup ? [h('span', '-')] : VxeUIRadioGroupComponent ? [h(VxeUIRadioGroupComponent, {
12283
12283
  props: {
12284
- value: column.renderHeaderAlign || '',
12284
+ value: column.renderHeaderAlign || 'left',
12285
12285
  type: 'button',
12286
12286
  strict: false,
12287
12287
  disabled: isHidden,
@@ -12303,7 +12303,7 @@ function panel_hideDropTip($xeTableCustomPanel) {
12303
12303
  class: 'vxe-table-custom-popup--column-td col--footer-align'
12304
12304
  }, isColGroup ? [h('span', '-')] : VxeUIRadioGroupComponent ? [h(VxeUIRadioGroupComponent, {
12305
12305
  props: {
12306
- value: column.renderFooterAlign || '',
12306
+ value: column.renderFooterAlign || 'left',
12307
12307
  type: 'button',
12308
12308
  strict: false,
12309
12309
  disabled: isHidden,
@@ -17991,7 +17991,7 @@ function handleExportAndPrint($xeTable, options, isPrint) {
17991
17991
  const isColGroup = column.children && column.children.length > 0;
17992
17992
  let isChecked = false;
17993
17993
  const isExtraChecked = extraFdMaps[column.field];
17994
- if (columns && columns.length) {
17994
+ if (columns) {
17995
17995
  isChecked = handleFilterColumns(defOpts, column, columns);
17996
17996
  } else if (excludeFields || includeFields) {
17997
17997
  isChecked = handleFilterFields(defOpts, column, includeFields, includeFdMaps, excludeFdMaps, extraFdMaps);
@@ -18221,7 +18221,7 @@ const convertToRows = originColumns => {
18221
18221
  }
18222
18222
  let isCustomCol = false;
18223
18223
  let customCols = [];
18224
- if (columns && columns.length) {
18224
+ if (columns) {
18225
18225
  isCustomCol = true;
18226
18226
  customCols = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().searchTree(columns, () => true, {
18227
18227
  children: 'children',
@@ -18233,7 +18233,7 @@ const convertToRows = originColumns => {
18233
18233
  const isColGroup = column.children && column.children.length > 0;
18234
18234
  let isChecked = false;
18235
18235
  const isExtraChecked = extraFdMaps[column.field];
18236
- if (columns && columns.length) {
18236
+ if (columns) {
18237
18237
  isChecked = handleFilterColumns(opts, column, columns);
18238
18238
  } else if (excludeFields || includeFields) {
18239
18239
  isChecked = handleFilterFields(opts, column, includeFields, includeFdMaps, excludeFdMaps, extraFdMaps);
@@ -18400,18 +18400,20 @@ const convertToRows = originColumns => {
18400
18400
  sortData
18401
18401
  } = gridReactData;
18402
18402
  const {
18403
- beforeQueryAll,
18404
- afterQueryAll,
18403
+ beforeQueryAll: oldBeforeQueryAll,
18404
+ afterQueryAll: oldAfterQueryAll,
18405
18405
  ajax = {}
18406
18406
  } = proxyOpts;
18407
18407
  const resConfigs = proxyOpts.response || proxyOpts.props || {};
18408
- const ajaxMethods = ajax.queryAll;
18409
- const queryAllSuccessMethods = ajax.queryAllSuccess;
18410
- const queryAllErrorMethods = ajax.queryAllError;
18411
- if (!ajaxMethods) {
18408
+ const beforeQueryAllMethod = ajax.beforeQueryAll;
18409
+ const queryAllMethod = ajax.queryAll;
18410
+ const afterQueryAllMethod = ajax.afterQueryAll;
18411
+ const queryAllSuccessMethod = ajax.queryAllSuccess;
18412
+ const queryAllErrorMethod = ajax.queryAllError;
18413
+ if (!queryAllMethod) {
18412
18414
  export_mixin_errLog('vxe.error.notFunc', ['proxy-config.ajax.queryAll']);
18413
18415
  }
18414
- if (ajaxMethods) {
18416
+ if (queryAllMethod) {
18415
18417
  const params = {
18416
18418
  $table: $xeTable,
18417
18419
  $grid: $xeGrid,
@@ -18422,44 +18424,72 @@ const convertToRows = originColumns => {
18422
18424
  form: gridReactData.formData,
18423
18425
  options: handleOptions
18424
18426
  };
18425
- return Promise.resolve((beforeQueryAll || ajaxMethods)(params)).then(rest => {
18426
- const listProp = resConfigs.list;
18427
- let tdData = [];
18428
- if (listProp) {
18429
- if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(listProp)) {
18430
- tdData = listProp({
18431
- data: rest,
18432
- $table: $xeTable,
18433
- $grid: $xeGrid,
18434
- $gantt: $xeGantt
18427
+ const handleQueryAll = () => {
18428
+ return Promise.resolve((oldBeforeQueryAll || queryAllMethod)(params)).then(rest => {
18429
+ if (afterQueryAllMethod) {
18430
+ afterQueryAllMethod({
18431
+ ...params,
18432
+ response: rest,
18433
+ status: 'success'
18435
18434
  });
18436
18435
  } else {
18437
- 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);
18436
+ const listProp = resConfigs.list;
18437
+ let tdData = [];
18438
+ if (listProp) {
18439
+ if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(listProp)) {
18440
+ tdData = listProp({
18441
+ data: rest,
18442
+ $table: $xeTable,
18443
+ $grid: $xeGrid,
18444
+ $gantt: $xeGantt
18445
+ });
18446
+ } else {
18447
+ 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);
18448
+ }
18449
+ } else {
18450
+ if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(rest)) {
18451
+ tdData = rest;
18452
+ }
18453
+ }
18454
+ handleOptions.data = tdData;
18455
+ if (oldAfterQueryAll) {
18456
+ oldAfterQueryAll({
18457
+ ...params,
18458
+ response: rest
18459
+ });
18460
+ }
18438
18461
  }
18439
- } else {
18440
- if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(rest)) {
18441
- tdData = rest;
18462
+ if (queryAllSuccessMethod) {
18463
+ queryAllSuccessMethod({
18464
+ ...params,
18465
+ response: rest
18466
+ });
18442
18467
  }
18443
- }
18444
- handleOptions.data = tdData;
18445
- if (afterQueryAll) {
18446
- afterQueryAll(params);
18447
- }
18448
- if (queryAllSuccessMethods) {
18449
- queryAllSuccessMethods({
18450
- ...params,
18451
- response: rest
18452
- });
18453
- }
18454
- return handleExport($xeTable, handleOptions);
18455
- }).catch(rest => {
18456
- if (queryAllErrorMethods) {
18457
- queryAllErrorMethods({
18458
- ...params,
18459
- response: rest
18460
- });
18461
- }
18462
- });
18468
+ return handleExport($xeTable, handleOptions);
18469
+ }).catch(rest => {
18470
+ if (afterQueryAllMethod) {
18471
+ afterQueryAllMethod({
18472
+ ...params,
18473
+ response: rest,
18474
+ status: 'error'
18475
+ });
18476
+ }
18477
+ if (queryAllErrorMethod) {
18478
+ queryAllErrorMethod({
18479
+ ...params,
18480
+ response: rest
18481
+ });
18482
+ }
18483
+ });
18484
+ };
18485
+ if (beforeQueryAllMethod) {
18486
+ return Promise.resolve(beforeQueryAllMethod(params)).then(status => {
18487
+ if (status !== false) {
18488
+ return handleQueryAll();
18489
+ }
18490
+ });
18491
+ }
18492
+ return handleQueryAll();
18463
18493
  }
18464
18494
  }
18465
18495
  } else if (mode === 'current') {
@@ -24826,14 +24856,14 @@ function grid_createInternalData() {
24826
24856
  const pagerOpts = $xeGrid.computePagerOpts;
24827
24857
  const toolbarOpts = $xeGrid.computeToolbarOpts;
24828
24858
  const {
24829
- beforeQuery,
24830
- afterQuery,
24831
- beforeQueryFooter,
24832
- afterQueryFooter,
24833
- beforeDelete,
24834
- afterDelete,
24835
- beforeSave,
24836
- afterSave,
24859
+ beforeQuery: oldBeforeQuery,
24860
+ afterQuery: oldAfterQuery,
24861
+ beforeQueryFooter: oldBeforeQueryFooter,
24862
+ afterQueryFooter: oldAfterQueryFooter,
24863
+ beforeDelete: oldBeforeDelete,
24864
+ afterDelete: oldAfterDelete,
24865
+ beforeSave: oldBeforeSave,
24866
+ afterSave: oldAfterSave,
24837
24867
  ajax = {}
24838
24868
  } = proxyOpts;
24839
24869
  const resConfigs = proxyOpts.response || proxyOpts.props || {};
@@ -24892,10 +24922,12 @@ function grid_createInternalData() {
24892
24922
  case 'reload':
24893
24923
  case 'query':
24894
24924
  {
24895
- const qMethods = ajax.query;
24896
- const qsMethods = ajax.querySuccess;
24897
- const qeMethods = ajax.queryError;
24898
- if (qMethods) {
24925
+ const bqMethod = ajax.beforeQuery;
24926
+ const qMethod = ajax.query;
24927
+ const aqMethod = ajax.afterQuery;
24928
+ const qsMethod = ajax.querySuccess;
24929
+ const qeMethod = ajax.queryError;
24930
+ if (qMethod) {
24899
24931
  const isInited = code === 'initial';
24900
24932
  const isReload = code === 'reload';
24901
24933
  if (!isInited && reactData.tableLoading) {
@@ -24981,82 +25013,110 @@ function grid_createInternalData() {
24981
25013
  sorts: sortList,
24982
25014
  filters: filterList,
24983
25015
  form: formData,
24984
- options: qMethods
25016
+ options: qMethod
24985
25017
  };
24986
- reactData.sortData = sortList;
24987
- reactData.filterData = filterList;
24988
- reactData.tableLoading = true;
24989
- return Promise.all([Promise.resolve((beforeQuery || qMethods)(commitParams, ...args)), operPromise]).then(([rest]) => {
24990
- let tableData = [];
24991
- reactData.tableLoading = false;
24992
- if (rest) {
24993
- const reParams = {
24994
- data: rest,
24995
- $table: $xeTable,
24996
- $grid: $xeGrid,
24997
- $gantt: null
24998
- };
24999
- if (pagerConfig && isEnableConf(pagerOpts)) {
25000
- const totalProp = resConfigs.total;
25001
- 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;
25002
- tablePage.total = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(total);
25003
- const resultProp = resConfigs.result;
25004
- 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')) || [];
25005
- // 检验当前页码,不能超出当前最大页数
25006
- const pageCount = Math.max(Math.ceil(total / tablePage.pageSize), 1);
25007
- if (tablePage.currentPage > pageCount) {
25008
- tablePage.currentPage = pageCount;
25009
- }
25018
+ const handleQuery = () => {
25019
+ reactData.sortData = sortList;
25020
+ reactData.filterData = filterList;
25021
+ reactData.tableLoading = true;
25022
+ return Promise.all([Promise.resolve((oldBeforeQuery || qMethod)(commitParams, ...args)), operPromise]).then(([rest]) => {
25023
+ reactData.tableLoading = false;
25024
+ if (aqMethod) {
25025
+ aqMethod({
25026
+ ...commitParams,
25027
+ response: rest,
25028
+ status: 'success'
25029
+ }, ...args);
25010
25030
  } else {
25011
- const listProp = resConfigs.list;
25012
- if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(rest)) {
25013
- tableData = rest;
25014
- } else if (listProp) {
25015
- 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)) || [];
25016
- }
25017
- }
25018
- if (showFooter) {
25019
- const fdProp = resConfigs.footerData;
25020
- 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) : [];
25021
- if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(footerList)) {
25022
- reactData.footerData = footerList;
25031
+ let tableData = [];
25032
+ if (rest) {
25033
+ const reParams = {
25034
+ data: rest,
25035
+ $table: $xeTable,
25036
+ $grid: $xeGrid,
25037
+ $gantt: null
25038
+ };
25039
+ if (pagerConfig && isEnableConf(pagerOpts)) {
25040
+ const totalProp = resConfigs.total;
25041
+ 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;
25042
+ tablePage.total = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(total);
25043
+ const resultProp = resConfigs.result;
25044
+ 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')) || [];
25045
+ // 检验当前页码,不能超出当前最大页数
25046
+ const pageCount = Math.max(Math.ceil(total / tablePage.pageSize), 1);
25047
+ if (tablePage.currentPage > pageCount) {
25048
+ tablePage.currentPage = pageCount;
25049
+ }
25050
+ } else {
25051
+ const listProp = resConfigs.list;
25052
+ if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(rest)) {
25053
+ tableData = rest;
25054
+ } else if (listProp) {
25055
+ 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)) || [];
25056
+ }
25057
+ }
25058
+ if (showFooter) {
25059
+ const fdProp = resConfigs.footerData;
25060
+ 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) : [];
25061
+ if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(footerList)) {
25062
+ reactData.footerData = footerList;
25063
+ }
25064
+ }
25023
25065
  }
25024
- }
25025
- }
25026
- if ($xeTable) {
25027
- $xeTable.loadData(tableData);
25028
- } else {
25029
- $xeGrid.$nextTick(() => {
25030
- const $xeTable = $xeGrid.$refs.refTable;
25031
25066
  if ($xeTable) {
25032
25067
  $xeTable.loadData(tableData);
25068
+ } else {
25069
+ $xeGrid.$nextTick(() => {
25070
+ const $xeTable = $xeGrid.$refs.refTable;
25071
+ if ($xeTable) {
25072
+ $xeTable.loadData(tableData);
25073
+ }
25074
+ });
25033
25075
  }
25034
- });
25035
- }
25036
- if (afterQuery) {
25037
- afterQuery(commitParams, ...args);
25038
- }
25039
- if (qsMethods) {
25040
- qsMethods({
25041
- ...commitParams,
25042
- response: rest
25043
- });
25044
- }
25045
- return {
25046
- status: true
25047
- };
25048
- }).catch(rest => {
25049
- reactData.tableLoading = false;
25050
- if (qeMethods) {
25051
- qeMethods({
25052
- ...commitParams,
25053
- response: rest
25054
- });
25055
- }
25056
- return {
25057
- status: false
25058
- };
25059
- });
25076
+ if (oldAfterQuery) {
25077
+ oldAfterQuery({
25078
+ ...commitParams,
25079
+ response: rest
25080
+ }, ...args);
25081
+ }
25082
+ }
25083
+ if (qsMethod) {
25084
+ qsMethod({
25085
+ ...commitParams,
25086
+ response: rest
25087
+ });
25088
+ }
25089
+ return {
25090
+ status: true
25091
+ };
25092
+ }).catch(rest => {
25093
+ reactData.tableLoading = false;
25094
+ if (aqMethod) {
25095
+ aqMethod({
25096
+ ...commitParams,
25097
+ response: rest,
25098
+ status: 'error'
25099
+ }, ...args);
25100
+ }
25101
+ if (qeMethod) {
25102
+ qeMethod({
25103
+ ...commitParams,
25104
+ response: rest
25105
+ });
25106
+ }
25107
+ return {
25108
+ status: false
25109
+ };
25110
+ });
25111
+ };
25112
+ if (bqMethod) {
25113
+ return Promise.resolve(bqMethod(commitParams, ...args)).then(status => {
25114
+ if (status !== false) {
25115
+ return handleQuery();
25116
+ }
25117
+ });
25118
+ }
25119
+ return handleQuery();
25060
25120
  } else {
25061
25121
  grid_errLog('vxe.error.notFunc', ['proxy-config.ajax.query']);
25062
25122
  }
@@ -25064,49 +25124,88 @@ function grid_createInternalData() {
25064
25124
  }
25065
25125
  case 'queryFooter':
25066
25126
  {
25067
- const qfMethods = ajax.queryFooter;
25068
- const qfSuccessMethods = ajax.queryFooterSuccess;
25069
- const qfErrorMethods = ajax.queryFooterError;
25070
- if (qfMethods) {
25127
+ const bqfMethod = ajax.beforeQueryFooter;
25128
+ const qfMethod = ajax.queryFooter;
25129
+ const aqfMethod = ajax.afterQueryFooter;
25130
+ const qfSuccessMethod = ajax.queryFooterSuccess;
25131
+ const qfErrorMethod = ajax.queryFooterError;
25132
+ if (qfMethod) {
25071
25133
  let filterList = [];
25072
25134
  if ($xeTable) {
25073
25135
  filterList = $xeTable.getCheckedFilters();
25074
25136
  }
25137
+ let pageParams = {};
25138
+ if (pagerConfig) {
25139
+ if (isEnableConf(pagerConfig)) {
25140
+ pageParams = {
25141
+ ...tablePage
25142
+ };
25143
+ }
25144
+ }
25075
25145
  const commitParams = {
25076
25146
  $table: $xeTable,
25077
25147
  $grid: $xeGrid,
25078
25148
  $gantt: null,
25079
25149
  code,
25080
25150
  button,
25151
+ page: pageParams,
25081
25152
  filters: filterList,
25082
25153
  form: formData,
25083
- options: qfMethods
25154
+ options: qfMethod
25084
25155
  };
25085
- return Promise.resolve((beforeQueryFooter || qfMethods)(commitParams, ...args)).then(rest => {
25086
- reactData.footerData = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(rest) ? rest : [];
25087
- if (afterQueryFooter) {
25088
- afterQueryFooter(commitParams, ...args);
25089
- }
25090
- if (qfSuccessMethods) {
25091
- qfSuccessMethods({
25092
- ...commitParams,
25093
- response: rest
25094
- });
25095
- }
25096
- return {
25097
- status: true
25098
- };
25099
- }).catch(rest => {
25100
- if (qfErrorMethods) {
25101
- qfErrorMethods({
25102
- ...commitParams,
25103
- response: rest
25104
- });
25105
- }
25106
- return {
25107
- status: false
25108
- };
25109
- });
25156
+ const handleQueryFooter = () => {
25157
+ return Promise.resolve((oldBeforeQueryFooter || qfMethod)(commitParams, ...args)).then(rest => {
25158
+ if (aqfMethod) {
25159
+ aqfMethod({
25160
+ ...commitParams,
25161
+ response: rest,
25162
+ status: 'success'
25163
+ }, ...args);
25164
+ } else {
25165
+ reactData.footerData = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(rest) ? rest : [];
25166
+ if (oldAfterQueryFooter) {
25167
+ oldAfterQueryFooter({
25168
+ ...commitParams,
25169
+ response: rest
25170
+ }, ...args);
25171
+ }
25172
+ }
25173
+ if (qfSuccessMethod) {
25174
+ qfSuccessMethod({
25175
+ ...commitParams,
25176
+ response: rest
25177
+ });
25178
+ }
25179
+ return {
25180
+ status: true
25181
+ };
25182
+ }).catch(rest => {
25183
+ if (aqfMethod) {
25184
+ aqfMethod({
25185
+ ...commitParams,
25186
+ response: rest,
25187
+ status: 'error'
25188
+ }, ...args);
25189
+ }
25190
+ if (qfErrorMethod) {
25191
+ qfErrorMethod({
25192
+ ...commitParams,
25193
+ response: rest
25194
+ });
25195
+ }
25196
+ return {
25197
+ status: false
25198
+ };
25199
+ });
25200
+ };
25201
+ if (bqfMethod) {
25202
+ return Promise.resolve(bqfMethod(commitParams, ...args)).then(status => {
25203
+ if (status !== false) {
25204
+ return handleQueryFooter();
25205
+ }
25206
+ });
25207
+ }
25208
+ return handleQueryFooter();
25110
25209
  } else {
25111
25210
  grid_errLog('vxe.error.notFunc', ['proxy-config.ajax.queryFooter']);
25112
25211
  }
@@ -25114,10 +25213,12 @@ function grid_createInternalData() {
25114
25213
  }
25115
25214
  case 'delete':
25116
25215
  {
25117
- const dMethods = ajax.delete;
25118
- const deleteSuccessMethods = ajax.deleteSuccess;
25119
- const deleteErrorMethods = ajax.deleteError;
25120
- if (dMethods) {
25216
+ const bdMethod = ajax.beforeDelete;
25217
+ const dMethod = ajax.delete;
25218
+ const adMethod = ajax.afterDelete;
25219
+ const deleteSuccessMethod = ajax.deleteSuccess;
25220
+ const deleteErrorMethod = ajax.deleteError;
25221
+ if (dMethod) {
25121
25222
  const selectRecords = $xeTable.getCheckboxRecords();
25122
25223
  const removeRecords = selectRecords.filter(row => !$xeTable.isInsertByRow(row));
25123
25224
  const body = {
@@ -25131,64 +25232,92 @@ function grid_createInternalData() {
25131
25232
  button,
25132
25233
  body,
25133
25234
  form: formData,
25134
- options: dMethods
25235
+ options: dMethod
25135
25236
  };
25136
- const applyArgs = [commitParams].concat(args);
25137
25237
  if (selectRecords.length) {
25138
25238
  return $xeGrid.handleDeleteRow(code, 'vxe.grid.deleteSelectRecord', () => {
25139
25239
  if (!removeRecords.length) {
25140
25240
  return $xeTable.remove(selectRecords);
25141
25241
  }
25142
- reactData.tableLoading = true;
25143
- return Promise.resolve((beforeDelete || dMethods)(...applyArgs)).then(rest => {
25144
- reactData.tableLoading = false;
25145
- $xeTable.setPendingRow(removeRecords, false);
25146
- if (isRespMsg) {
25147
- if (core_.VxeUI.modal) {
25148
- core_.VxeUI.modal.message({
25149
- content: $xeGrid.getRespMsg(rest, 'vxe.grid.delSuccess'),
25242
+ const handleDelete = () => {
25243
+ reactData.tableLoading = true;
25244
+ return Promise.resolve((oldBeforeDelete || dMethod)(commitParams, ...args)).then(rest => {
25245
+ reactData.tableLoading = false;
25246
+ if (adMethod) {
25247
+ adMethod({
25248
+ ...commitParams,
25249
+ response: rest,
25150
25250
  status: 'success'
25251
+ }, ...args);
25252
+ } else {
25253
+ $xeTable.setPendingRow(removeRecords, false);
25254
+ if (isRespMsg) {
25255
+ if (core_.VxeUI.modal) {
25256
+ core_.VxeUI.modal.message({
25257
+ content: $xeGrid.getRespMsg(rest, 'vxe.grid.delSuccess'),
25258
+ status: 'success'
25259
+ });
25260
+ }
25261
+ }
25262
+ if (oldAfterDelete) {
25263
+ oldAfterDelete({
25264
+ ...commitParams,
25265
+ response: rest
25266
+ }, ...args);
25267
+ } else {
25268
+ internalData.uFoot = true;
25269
+ $xeGrid.commitProxy('query');
25270
+ internalData.uFoot = false;
25271
+ $xeGrid.updateQueryFooter();
25272
+ }
25273
+ }
25274
+ if (deleteSuccessMethod) {
25275
+ deleteSuccessMethod({
25276
+ ...commitParams,
25277
+ response: rest
25151
25278
  });
25152
25279
  }
25153
- }
25154
- if (afterDelete) {
25155
- afterDelete(...applyArgs);
25156
- } else {
25157
- internalData.uFoot = true;
25158
- $xeGrid.commitProxy('query');
25159
- internalData.uFoot = false;
25160
- $xeGrid.updateQueryFooter();
25161
- }
25162
- if (deleteSuccessMethods) {
25163
- deleteSuccessMethods({
25164
- ...commitParams,
25165
- response: rest
25166
- });
25167
- }
25168
- return {
25169
- status: true
25170
- };
25171
- }).catch(rest => {
25172
- reactData.tableLoading = false;
25173
- if (isRespMsg) {
25174
- if (core_.VxeUI.modal) {
25175
- core_.VxeUI.modal.message({
25176
- id: code,
25177
- content: $xeGrid.getRespMsg(rest, 'vxe.grid.operError'),
25280
+ return {
25281
+ status: true
25282
+ };
25283
+ }).catch(rest => {
25284
+ reactData.tableLoading = false;
25285
+ if (adMethod) {
25286
+ adMethod({
25287
+ ...commitParams,
25288
+ response: rest,
25178
25289
  status: 'error'
25290
+ }, ...args);
25291
+ } else {
25292
+ if (isRespMsg) {
25293
+ if (core_.VxeUI.modal) {
25294
+ core_.VxeUI.modal.message({
25295
+ id: code,
25296
+ content: $xeGrid.getRespMsg(rest, 'vxe.grid.operError'),
25297
+ status: 'error'
25298
+ });
25299
+ }
25300
+ }
25301
+ }
25302
+ if (deleteErrorMethod) {
25303
+ deleteErrorMethod({
25304
+ ...commitParams,
25305
+ response: rest
25179
25306
  });
25180
25307
  }
25181
- }
25182
- if (deleteErrorMethods) {
25183
- deleteErrorMethods({
25184
- ...commitParams,
25185
- response: rest
25186
- });
25187
- }
25188
- return {
25189
- status: false
25190
- };
25191
- });
25308
+ return {
25309
+ status: false
25310
+ };
25311
+ });
25312
+ };
25313
+ if (bdMethod) {
25314
+ return Promise.resolve(bdMethod(commitParams, ...args)).then(status => {
25315
+ if (status !== false) {
25316
+ return handleDelete();
25317
+ }
25318
+ });
25319
+ }
25320
+ return handleDelete();
25192
25321
  });
25193
25322
  } else {
25194
25323
  if (isActiveMsg) {
@@ -25208,10 +25337,12 @@ function grid_createInternalData() {
25208
25337
  }
25209
25338
  case 'save':
25210
25339
  {
25211
- const ajaxMethods = ajax.save;
25212
- const saveSuccessMethods = ajax.saveSuccess;
25213
- const saveErrorMethods = ajax.saveError;
25214
- if (ajaxMethods) {
25340
+ const bSaveMethod = ajax.beforeSave;
25341
+ const sMethod = ajax.save;
25342
+ const aSaveMethod = ajax.afterSave;
25343
+ const sSuccessMethod = ajax.saveSuccess;
25344
+ const sErrorMethod = ajax.saveError;
25345
+ if (sMethod) {
25215
25346
  const body = $xeGrid.getRecordset();
25216
25347
  const {
25217
25348
  insertRecords,
@@ -25227,9 +25358,8 @@ function grid_createInternalData() {
25227
25358
  button,
25228
25359
  body,
25229
25360
  form: formData,
25230
- options: ajaxMethods
25361
+ options: sMethod
25231
25362
  };
25232
- const applyArgs = [commitParams].concat(args);
25233
25363
  // 排除掉新增且标记为删除的数据
25234
25364
  if (insertRecords.length) {
25235
25365
  body.pendingRecords = pendingRecords.filter(row => insertRecords.indexOf(row) === -1);
@@ -25249,56 +25379,79 @@ function grid_createInternalData() {
25249
25379
  return;
25250
25380
  }
25251
25381
  if (body.insertRecords.length || removeRecords.length || updateRecords.length || body.pendingRecords.length) {
25252
- reactData.tableLoading = true;
25253
- return Promise.resolve((beforeSave || ajaxMethods)(...applyArgs)).then(rest => {
25254
- reactData.tableLoading = false;
25255
- $xeTable.clearPendingRow();
25256
- if (isRespMsg) {
25257
- if (core_.VxeUI.modal) {
25258
- core_.VxeUI.modal.message({
25259
- content: $xeGrid.getRespMsg(rest, 'vxe.grid.saveSuccess'),
25260
- status: 'success'
25382
+ const handleSave = () => {
25383
+ reactData.tableLoading = true;
25384
+ return Promise.resolve((oldBeforeSave || sMethod)(commitParams, ...args)).then(rest => {
25385
+ reactData.tableLoading = false;
25386
+ if (aSaveMethod) {
25387
+ $xeTable.clearPendingRow();
25388
+ if (isRespMsg) {
25389
+ if (core_.VxeUI.modal) {
25390
+ core_.VxeUI.modal.message({
25391
+ content: $xeGrid.getRespMsg(rest, 'vxe.grid.saveSuccess'),
25392
+ status: 'success'
25393
+ });
25394
+ }
25395
+ }
25396
+ if (oldAfterSave) {
25397
+ oldAfterSave({
25398
+ ...commitParams,
25399
+ response: rest
25400
+ }, ...args);
25401
+ } else {
25402
+ internalData.uFoot = true;
25403
+ $xeGrid.commitProxy('query');
25404
+ internalData.uFoot = false;
25405
+ $xeGrid.updateQueryFooter();
25406
+ }
25407
+ }
25408
+ if (sSuccessMethod) {
25409
+ sSuccessMethod({
25410
+ ...commitParams,
25411
+ response: rest
25261
25412
  });
25262
25413
  }
25263
- }
25264
- if (afterSave) {
25265
- afterSave(...applyArgs);
25266
- } else {
25267
- internalData.uFoot = true;
25268
- $xeGrid.commitProxy('query');
25269
- internalData.uFoot = false;
25270
- $xeGrid.updateQueryFooter();
25271
- }
25272
- if (saveSuccessMethods) {
25273
- saveSuccessMethods({
25274
- ...commitParams,
25275
- response: rest
25276
- });
25277
- }
25278
- return {
25279
- status: true
25280
- };
25281
- }).catch(rest => {
25282
- reactData.tableLoading = false;
25283
- if (isRespMsg) {
25284
- if (core_.VxeUI.modal) {
25285
- core_.VxeUI.modal.message({
25286
- id: code,
25287
- content: $xeGrid.getRespMsg(rest, 'vxe.grid.operError'),
25414
+ return {
25415
+ status: true
25416
+ };
25417
+ }).catch(rest => {
25418
+ reactData.tableLoading = false;
25419
+ if (aSaveMethod) {
25420
+ aSaveMethod({
25421
+ ...commitParams,
25422
+ response: rest,
25288
25423
  status: 'error'
25424
+ }, ...args);
25425
+ } else {
25426
+ if (isRespMsg) {
25427
+ if (core_.VxeUI.modal) {
25428
+ core_.VxeUI.modal.message({
25429
+ id: code,
25430
+ content: $xeGrid.getRespMsg(rest, 'vxe.grid.operError'),
25431
+ status: 'error'
25432
+ });
25433
+ }
25434
+ }
25435
+ }
25436
+ if (sErrorMethod) {
25437
+ sErrorMethod({
25438
+ ...commitParams,
25439
+ response: rest
25289
25440
  });
25290
25441
  }
25291
- }
25292
- if (saveErrorMethods) {
25293
- saveErrorMethods({
25294
- ...commitParams,
25295
- response: rest
25296
- });
25297
- }
25298
- return {
25299
- status: false
25300
- };
25301
- });
25442
+ return {
25443
+ status: false
25444
+ };
25445
+ });
25446
+ };
25447
+ if (bSaveMethod) {
25448
+ return Promise.resolve(bSaveMethod(commitParams, ...args)).then(status => {
25449
+ if (status !== false) {
25450
+ return handleSave();
25451
+ }
25452
+ });
25453
+ }
25454
+ return handleSave();
25302
25455
  } else {
25303
25456
  if (isActiveMsg) {
25304
25457
  if (core_.VxeUI.modal) {
@@ -27357,7 +27510,18 @@ render_renderer.mixin({
27357
27510
  },
27358
27511
  FormatNumberInput: {
27359
27512
  renderTableDefault: handleNumberCell,
27360
- tableFilterDefaultMethod: handleInputFilterMethod,
27513
+ tableFilterDefaultMethod({
27514
+ option,
27515
+ row,
27516
+ column
27517
+ }) {
27518
+ const {
27519
+ data
27520
+ } = option;
27521
+ const cellValue = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row, column.field);
27522
+ /* eslint-disable eqeqeq */
27523
+ return cellValue == data;
27524
+ },
27361
27525
  tableExportMethod(params) {
27362
27526
  const {
27363
27527
  row,
@@ -27421,7 +27585,18 @@ render_renderer.mixin({
27421
27585
  createTableFilterOptions: defaultFilterOptions,
27422
27586
  renderTableFilter: defaultFilterRender,
27423
27587
  renderTableFloatingFilter: defaultFloatingFilterRender,
27424
- tableFilterDefaultMethod: handleInputFilterMethod,
27588
+ tableFilterDefaultMethod({
27589
+ option,
27590
+ row,
27591
+ column
27592
+ }) {
27593
+ const {
27594
+ data
27595
+ } = option;
27596
+ const cellValue = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row, column.field);
27597
+ /* eslint-disable eqeqeq */
27598
+ return cellValue == data;
27599
+ },
27425
27600
  tableExportMethod(params) {
27426
27601
  const {
27427
27602
  row,