vxe-table 3.19.20 → 3.19.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/grid/src/grid.js +148 -33
- package/es/style.css +1 -1
- package/es/table/render/index.js +113 -4
- package/es/table/src/cell.js +3 -3
- package/es/table/src/methods.js +36 -16
- package/es/ui/index.js +3 -2
- package/es/ui/src/log.js +1 -1
- package/lib/grid/src/grid.js +166 -48
- package/lib/grid/src/grid.min.js +1 -1
- package/lib/index.umd.js +328 -73
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/table/render/index.js +140 -10
- package/lib/table/render/index.min.js +1 -1
- package/lib/table/src/cell.js +6 -3
- package/lib/table/src/cell.min.js +1 -1
- package/lib/table/src/methods.js +35 -15
- package/lib/table/src/methods.min.js +1 -1
- package/lib/ui/index.js +3 -2
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/package.json +2 -2
- package/packages/grid/src/grid.ts +148 -35
- package/packages/table/render/index.ts +115 -4
- package/packages/table/src/cell.ts +3 -3
- package/packages/table/src/methods.ts +35 -14
- package/packages/ui/index.ts +2 -1
- /package/es/{iconfont.1764045838630.ttf → iconfont.1764298141619.ttf} +0 -0
- /package/es/{iconfont.1764045838630.woff → iconfont.1764298141619.woff} +0 -0
- /package/es/{iconfont.1764045838630.woff2 → iconfont.1764298141619.woff2} +0 -0
- /package/lib/{iconfont.1764045838630.ttf → iconfont.1764298141619.ttf} +0 -0
- /package/lib/{iconfont.1764045838630.woff → iconfont.1764298141619.woff} +0 -0
- /package/lib/{iconfont.1764045838630.woff2 → iconfont.1764298141619.woff2} +0 -0
package/lib/ui/index.js
CHANGED
|
@@ -13,7 +13,7 @@ Object.defineProperty(exports, "VxeUI", {
|
|
|
13
13
|
exports.version = exports.validators = exports.use = exports.t = exports.setup = exports.setTheme = exports.setLanguage = exports.setIcon = exports.setI18n = exports.setConfig = exports.saveFile = exports.renderer = exports.readFile = exports.print = exports.modal = exports.menus = exports.log = exports.interceptor = exports.globalResize = exports.globalEvents = exports.getTheme = exports.getIcon = exports.getI18n = exports.getConfig = exports.formats = exports.default = exports.config = exports.commands = exports.clipboard = exports._t = void 0;
|
|
14
14
|
var _core = require("@vxe-ui/core");
|
|
15
15
|
var _utils = require("./src/utils");
|
|
16
|
-
const version = exports.version = "3.19.
|
|
16
|
+
const version = exports.version = "3.19.21";
|
|
17
17
|
_core.VxeUI.version = version;
|
|
18
18
|
_core.VxeUI.tableVersion = version;
|
|
19
19
|
_core.VxeUI.setConfig({
|
|
@@ -293,9 +293,10 @@ _core.VxeUI.setConfig({
|
|
|
293
293
|
showResponseMsg: true,
|
|
294
294
|
showActionMsg: true,
|
|
295
295
|
response: {
|
|
296
|
-
list:
|
|
296
|
+
list: 'list',
|
|
297
297
|
result: 'result',
|
|
298
298
|
total: 'page.total',
|
|
299
|
+
footerData: 'footerData',
|
|
299
300
|
message: 'message'
|
|
300
301
|
}
|
|
301
302
|
// beforeItem: null,
|
package/lib/ui/index.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.VXETable=void 0,Object.defineProperty(exports,"VxeUI",{enumerable:!0,get:function(){return _core.VxeUI}}),exports.version=exports.validators=exports.use=exports.t=exports.setup=exports.setTheme=exports.setLanguage=exports.setIcon=exports.setI18n=exports.setConfig=exports.saveFile=exports.renderer=exports.readFile=exports.print=exports.modal=exports.menus=exports.log=exports.interceptor=exports.globalResize=exports.globalEvents=exports.getTheme=exports.getIcon=exports.getI18n=exports.getConfig=exports.formats=exports.default=exports.config=exports.commands=exports.clipboard=exports._t=void 0;var _core=require("@vxe-ui/core"),_utils=require("./src/utils");let version=exports.version="3.19.
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.VXETable=void 0,Object.defineProperty(exports,"VxeUI",{enumerable:!0,get:function(){return _core.VxeUI}}),exports.version=exports.validators=exports.use=exports.t=exports.setup=exports.setTheme=exports.setLanguage=exports.setIcon=exports.setI18n=exports.setConfig=exports.saveFile=exports.renderer=exports.readFile=exports.print=exports.modal=exports.menus=exports.log=exports.interceptor=exports.globalResize=exports.globalEvents=exports.getTheme=exports.getIcon=exports.getI18n=exports.getConfig=exports.formats=exports.default=exports.config=exports.commands=exports.clipboard=exports._t=void 0;var _core=require("@vxe-ui/core"),_utils=require("./src/utils");let version=exports.version="3.19.21",iconPrefix=(_core.VxeUI.version=version,_core.VxeUI.tableVersion=version,_core.VxeUI.setConfig({emptyCell:" ",table:{fit:!0,showHeader:!0,animat:!0,delayHover:250,autoResize:!0,padding:!0,resizeConfig:{},resizableConfig:{dragMode:"auto",showDragTip:!0,isSyncAutoHeight:!0,isSyncAutoWidth:!0,minHeight:18},radioConfig:{strict:!0},rowDragConfig:{showIcon:!0,animation:!0,showGuidesStatus:!0,showDragTip:!0},columnDragConfig:{showIcon:!0,animation:!0,showGuidesStatus:!0,showDragTip:!0},checkboxConfig:{strict:!0},tooltipConfig:{enterable:!0},headerTooltipConfig:{enterable:!0},footerTooltipConfig:{enterable:!0},validConfig:{showMessage:!0,autoClear:!0,autoPos:!0,message:"inline",msgMode:"single",theme:"beautify"},columnConfig:{autoOptions:{isCalcHeader:!0,isCalcBody:!0,isCalcFooter:!0},maxFixedSize:4},cellConfig:{padding:!0},headerCellConfig:{height:"unset"},footerCellConfig:{height:"unset"},menuConfig:{destroyOnClose:!0},customConfig:{allowVisible:!0,allowResizable:!0,allowFixed:!0,allowSort:!0,showFooter:!0,placement:"top-right",storeOptions:{visible:!0,resizable:!0,sort:!0,fixed:!0},modalOptions:{showMaximize:!0,mask:!0,lockView:!0,resize:!0,escClosable:!0},drawerOptions:{mask:!0,lockView:!0,escClosable:!0,resize:!0}},sortConfig:{showIcon:!0,allowClear:!0,allowBtn:!0,iconLayout:"vertical"},filterConfig:{destroyOnClose:!0,multiple:!0,showIcon:!0},floatingFilterConfig:{},aggregateConfig:{padding:!0,rowField:"id",parentField:"_X_ROW_PARENT_KEY",childrenField:"_X_ROW_CHILDREN",mapChildrenField:"_X_ROW_CHILD_LIST",indent:20,showIcon:!0,maxGroupSize:4,showAggFuncTitle:!0},treeConfig:{padding:!0,rowField:"id",parentField:"parentId",childrenField:"children",hasChildField:"hasChild",mapChildrenField:"_X_ROW_CHILD",indent:20,showIcon:!0,showRootLine:!0},expandConfig:{showIcon:!0,mode:"fixed"},editConfig:{showIcon:!0,showAsterisk:!0,autoFocus:!0},importConfig:{_typeMaps:{csv:1,html:1,xml:1,txt:1}},exportConfig:{_typeMaps:{csv:1,html:1,xml:1,txt:1}},printConfig:{},mouseConfig:{extension:!0},keyboardConfig:{isAll:!0,isEsc:!0},areaConfig:{autoClear:!0,selectCellByHeader:!0,selectCellByBody:!0,extendDirection:{top:!0,left:!0,bottom:!0,right:!0}},clipConfig:{isCopy:!0,isCut:!0,isPaste:!0},fnrConfig:{isFind:!0,isReplace:!0},virtualXConfig:{gt:24,preSize:0,oSize:0},virtualYConfig:{gt:100,preSize:1,oSize:0},scrollbarConfig:{x:{visible:!0},y:{visible:!0}}},grid:{formConfig:{enabled:!0},pagerConfig:{enabled:!0},toolbarConfig:{enabled:!0},proxyConfig:{enabled:!0,autoLoad:!0,showLoading:!0,showResponseMsg:!0,showActionMsg:!0,response:{list:"list",result:"result",total:"page.total",footerData:"footerData",message:"message"}}},toolbar:{},gantt:{}}),"vxe-table-icon-"),setTheme=(_core.VxeUI.setIcon({TABLE_SORT_ASC:iconPrefix+"caret-up",TABLE_SORT_DESC:iconPrefix+"caret-down",TABLE_FILTER_NONE:iconPrefix+"funnel",TABLE_FILTER_MATCH:iconPrefix+"funnel",TABLE_EDIT:iconPrefix+"edit",TABLE_TITLE_PREFIX:iconPrefix+"question-circle-fill",TABLE_TITLE_SUFFIX:iconPrefix+"question-circle-fill",TABLE_TREE_LOADED:iconPrefix+"spinner roll",TABLE_TREE_OPEN:iconPrefix+"caret-right rotate90",TABLE_TREE_CLOSE:iconPrefix+"caret-right",TABLE_EXPAND_LOADED:iconPrefix+"spinner roll",TABLE_EXPAND_OPEN:iconPrefix+"arrow-right rotate90",TABLE_EXPAND_CLOSE:iconPrefix+"arrow-right",TABLE_CHECKBOX_CHECKED:iconPrefix+"checkbox-checked-fill",TABLE_CHECKBOX_UNCHECKED:iconPrefix+"checkbox-unchecked",TABLE_CHECKBOX_INDETERMINATE:iconPrefix+"checkbox-indeterminate-fill",TABLE_CHECKBOX_DISABLED_UNCHECKED:iconPrefix+"checkbox-unchecked-fill",TABLE_RADIO_CHECKED:iconPrefix+"radio-checked-fill",TABLE_RADIO_UNCHECKED:iconPrefix+"radio-unchecked",TABLE_RADIO_DISABLED_UNCHECKED:iconPrefix+"radio-unchecked-fill",TABLE_CUSTOM_SORT:iconPrefix+"drag-handle",TABLE_MENU_OPTIONS:iconPrefix+"arrow-right",TABLE_MENU_OPTION_LOADING:iconPrefix+"repeat roll",TABLE_DRAG_ROW:iconPrefix+"drag-handle",TABLE_DRAG_COLUMN:iconPrefix+"drag-handle",TABLE_DRAG_STATUS_ROW:iconPrefix+"sort",TABLE_DRAG_STATUS_SUB_ROW:iconPrefix+"add-sub",TABLE_DRAG_STATUS_AGG_GROUP:iconPrefix+"grouping",TABLE_DRAG_STATUS_AGG_VALUES:iconPrefix+"values",TABLE_DRAG_STATUS_COLUMN:iconPrefix+"swap",TABLE_DRAG_DISABLED:iconPrefix+"no-drop",TABLE_ROW_GROUP_OPEN:iconPrefix+"arrow-right rotate90",TABLE_ROW_GROUP_CLOSE:iconPrefix+"arrow-right",TABLE_AGGREGATE_GROUPING:iconPrefix+"grouping",TABLE_AGGREGATE_VALUES:iconPrefix+"values",TABLE_AGGREGATE_SORT:iconPrefix+"drag-handle",TABLE_AGGREGATE_DELETE:iconPrefix+"close",TOOLBAR_TOOLS_REFRESH:iconPrefix+"repeat",TOOLBAR_TOOLS_REFRESH_LOADING:iconPrefix+"repeat roll",TOOLBAR_TOOLS_IMPORT:iconPrefix+"upload",TOOLBAR_TOOLS_EXPORT:iconPrefix+"download",TOOLBAR_TOOLS_PRINT:iconPrefix+"print",TOOLBAR_TOOLS_FULLSCREEN:iconPrefix+"fullscreen",TOOLBAR_TOOLS_MINIMIZE:iconPrefix+"minimize",TOOLBAR_TOOLS_CUSTOM:iconPrefix+"custom-column",TOOLBAR_TOOLS_FIXED_LEFT:iconPrefix+"fixed-left",TOOLBAR_TOOLS_FIXED_LEFT_ACTIVE:iconPrefix+"fixed-left-fill",TOOLBAR_TOOLS_FIXED_RIGHT:iconPrefix+"fixed-right",TOOLBAR_TOOLS_FIXED_RIGHT_ACTIVE:iconPrefix+"fixed-right-fill"}),exports.setTheme=_core.VxeUI.setTheme),getTheme=exports.getTheme=_core.VxeUI.getTheme,setConfig=exports.setConfig=_core.VxeUI.setConfig,getConfig=exports.getConfig=_core.VxeUI.getConfig,setIcon=exports.setIcon=_core.VxeUI.setIcon,getIcon=exports.getIcon=_core.VxeUI.getIcon,setLanguage=exports.setLanguage=_core.VxeUI.setLanguage,setI18n=exports.setI18n=_core.VxeUI.setI18n,getI18n=exports.getI18n=_core.VxeUI.getI18n,globalEvents=exports.globalEvents=_core.VxeUI.globalEvents,globalResize=exports.globalResize=_core.VxeUI.globalResize,renderer=exports.renderer=_core.VxeUI.renderer,validators=exports.validators=_core.VxeUI.validators,menus=exports.menus=_core.VxeUI.menus,formats=exports.formats=_core.VxeUI.formats,commands=exports.commands=_core.VxeUI.commands,interceptor=exports.interceptor=_core.VxeUI.interceptor,clipboard=exports.clipboard=_core.VxeUI.clipboard,log=exports.log=_core.VxeUI.log,use=exports.use=_core.VxeUI.use,setup=e=>_core.VxeUI.setConfig(e),config=(exports.setup=setup,_core.VxeUI.setup=setup,e=>_core.VxeUI.setConfig(e)),t=(exports.config=config,_core.VxeUI.config=config,(e,o)=>_core.VxeUI.getI18n(e,o)),_t=(exports.t=t,_core.VxeUI.t=t,(e,o)=>(0,_utils.getFuncText)(e,o)),VXETable=(exports._t=_t,_core.VxeUI._t=_t,exports.VXETable=_core.VxeUI),saveFile=e=>_core.VxeUI.saveFile(e),readFile=(exports.saveFile=saveFile,e=>_core.VxeUI.readFile(e)),print=(exports.readFile=readFile,e=>_core.VxeUI.print(e)),modal=(exports.print=print,exports.modal={get(e){return _core.VxeUI.modal.get(e)},close(e){return _core.VxeUI.modal.close(e)},open(e){return _core.VxeUI.modal.open(e)},alert(e,o,i){return _core.VxeUI.modal.alert(e,o,i)},confirm(e,o,i){return _core.VxeUI.modal.confirm(e,o,i)},message(e,o){return _core.VxeUI.modal.message(e,o)},notification(e,o,i){return _core.VxeUI.modal.notification(e,o,i)}});var _default=exports.default=_core.VxeUI;
|
package/lib/ui/src/log.js
CHANGED
|
@@ -8,6 +8,6 @@ var _core = require("@vxe-ui/core");
|
|
|
8
8
|
const {
|
|
9
9
|
log
|
|
10
10
|
} = _core.VxeUI;
|
|
11
|
-
const version = `table v${"3.19.
|
|
11
|
+
const version = `table v${"3.19.21"}`;
|
|
12
12
|
const warnLog = exports.warnLog = log.create('warn', version);
|
|
13
13
|
const errLog = exports.errLog = log.create('error', version);
|
package/lib/ui/src/log.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.warnLog=exports.errLog=void 0;var _core=require("@vxe-ui/core");let log=_core.VxeUI.log,version="table v3.19.
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.warnLog=exports.errLog=void 0;var _core=require("@vxe-ui/core");let log=_core.VxeUI.log,version="table v3.19.21",warnLog=exports.warnLog=log.create("warn",version),errLog=exports.errLog=log.create("error",version);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vxe-table",
|
|
3
|
-
"version": "3.19.
|
|
3
|
+
"version": "3.19.21",
|
|
4
4
|
"description": "A PC-end table component based on Vxe UI, supporting copy-paste, data pivot table, and high-performance virtual list table solution.",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"update": "npm install --legacy-peer-deps",
|
|
@@ -68,7 +68,7 @@
|
|
|
68
68
|
"vue-i18n": "^8.15.1",
|
|
69
69
|
"vue-router": "^3.5.1",
|
|
70
70
|
"vue-template-compiler": "2.6.14",
|
|
71
|
-
"vxe-gantt": "~3.0.
|
|
71
|
+
"vxe-gantt": "~3.0.25"
|
|
72
72
|
},
|
|
73
73
|
"vetur": {
|
|
74
74
|
"tags": "helper/vetur/tags.json",
|
|
@@ -52,6 +52,7 @@ XEUtils.each(VxeTableComponent.methods, (fn, name) => {
|
|
|
52
52
|
|
|
53
53
|
function createInternalData (): GridInternalData {
|
|
54
54
|
return {
|
|
55
|
+
uFoot: false
|
|
55
56
|
}
|
|
56
57
|
}
|
|
57
58
|
|
|
@@ -76,6 +77,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
76
77
|
editRules: PropType<VxeTablePropTypes.EditRules>
|
|
77
78
|
animat: PropType<VxeTablePropTypes.Animat>
|
|
78
79
|
scrollbarConfig: PropType<VxeTablePropTypes.ScrollbarConfig>
|
|
80
|
+
showFooter: PropType<VxeTablePropTypes.ShowFooter>
|
|
79
81
|
params: PropType<VxeTablePropTypes.Params>
|
|
80
82
|
}),
|
|
81
83
|
|
|
@@ -111,6 +113,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
111
113
|
filterData: [],
|
|
112
114
|
formData: {},
|
|
113
115
|
sortData: [],
|
|
116
|
+
footerData: [],
|
|
114
117
|
tZindex: 0,
|
|
115
118
|
tablePage: {
|
|
116
119
|
total: 0,
|
|
@@ -235,7 +238,9 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
235
238
|
const rest: any = {}
|
|
236
239
|
const gridProps: any = props
|
|
237
240
|
propKeys.forEach(key => {
|
|
238
|
-
|
|
241
|
+
if (gridProps[key] !== undefined) {
|
|
242
|
+
rest[key] = gridProps[key]
|
|
243
|
+
}
|
|
239
244
|
})
|
|
240
245
|
return rest
|
|
241
246
|
},
|
|
@@ -244,15 +249,22 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
244
249
|
const props = $xeGrid
|
|
245
250
|
const reactData = $xeGrid.reactData
|
|
246
251
|
|
|
247
|
-
const { seqConfig, pagerConfig, editConfig, proxyConfig } = props
|
|
248
|
-
const { isZMax, tablePage } = reactData
|
|
252
|
+
const { showFooter, seqConfig, pagerConfig, editConfig, proxyConfig } = props
|
|
253
|
+
const { isZMax, tablePage, footerData } = reactData
|
|
249
254
|
const tableExtendProps = $xeGrid.computeTableExtendProps as any
|
|
250
|
-
const proxyOpts = $xeGrid.computeProxyOpts
|
|
251
|
-
const pagerOpts = $xeGrid.computePagerOpts
|
|
252
|
-
const isLoading = $xeGrid.computeIsLoading
|
|
255
|
+
const proxyOpts = $xeGrid.computeProxyOpts as VxeGridPropTypes.ProxyConfig
|
|
256
|
+
const pagerOpts = $xeGrid.computePagerOpts as VxeGridPropTypes.PagerConfig
|
|
257
|
+
const isLoading = $xeGrid.computeIsLoading as boolean
|
|
253
258
|
const tProps = Object.assign({}, tableExtendProps)
|
|
259
|
+
if (showFooter && !tProps.footerData) {
|
|
260
|
+
// 如果未设置自己的标位数据,则使用代理的
|
|
261
|
+
tProps.footerData = footerData
|
|
262
|
+
} else if (proxyOpts.footer && footerData.length) {
|
|
263
|
+
// 如果代理标为数据,且未请求到数据,则用自己的
|
|
264
|
+
tProps.footerData = footerData
|
|
265
|
+
}
|
|
254
266
|
if (isZMax) {
|
|
255
|
-
if (
|
|
267
|
+
if (tProps.maxHeight) {
|
|
256
268
|
tProps.maxHeight = '100%'
|
|
257
269
|
} else {
|
|
258
270
|
tProps.height = '100%'
|
|
@@ -514,6 +526,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
514
526
|
const $xeGrid = this
|
|
515
527
|
const props = $xeGrid
|
|
516
528
|
const reactData = $xeGrid.reactData
|
|
529
|
+
const internalData = $xeGrid.internalData
|
|
517
530
|
|
|
518
531
|
const { proxyConfig, formConfig } = props
|
|
519
532
|
const { proxyInited } = reactData
|
|
@@ -523,14 +536,31 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
523
536
|
if (isEnableConf(formConfig) && proxyOpts.form && formOpts.items) {
|
|
524
537
|
reactData.formData = $xeGrid.getDefaultFormData()
|
|
525
538
|
}
|
|
526
|
-
if (!proxyInited
|
|
539
|
+
if (!proxyInited) {
|
|
527
540
|
reactData.proxyInited = true
|
|
528
|
-
|
|
529
|
-
$xeGrid.
|
|
530
|
-
|
|
541
|
+
if (proxyOpts.autoLoad !== false) {
|
|
542
|
+
$xeGrid.$nextTick().then(() => {
|
|
543
|
+
internalData.uFoot = true
|
|
544
|
+
const rest = $xeGrid.commitProxy('initial')
|
|
545
|
+
internalData.uFoot = false
|
|
546
|
+
$xeGrid.updateQueryFooter()
|
|
547
|
+
return rest
|
|
548
|
+
}).then((rest) => {
|
|
549
|
+
$xeGrid.dispatchEvent('proxy-query', { ...rest, isInited: true }, new Event('initial'))
|
|
550
|
+
})
|
|
551
|
+
}
|
|
531
552
|
}
|
|
532
553
|
}
|
|
533
554
|
},
|
|
555
|
+
updateQueryFooter () {
|
|
556
|
+
const $xeGrid = this
|
|
557
|
+
|
|
558
|
+
const proxyOpts = $xeGrid.computeProxyOpts
|
|
559
|
+
const { ajax } = proxyOpts
|
|
560
|
+
if (ajax && ajax.queryFooter) {
|
|
561
|
+
return $xeGrid.commitProxy('queryFooter')
|
|
562
|
+
}
|
|
563
|
+
},
|
|
534
564
|
handleGlobalKeydownEvent (evnt: KeyboardEvent) {
|
|
535
565
|
const $xeGrid = this
|
|
536
566
|
const reactData = $xeGrid.reactData
|
|
@@ -605,6 +635,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
605
635
|
const $xeGrid = this
|
|
606
636
|
const props = $xeGrid
|
|
607
637
|
const reactData = $xeGrid.reactData
|
|
638
|
+
const internalData = $xeGrid.internalData
|
|
608
639
|
|
|
609
640
|
/**
|
|
610
641
|
* 已废弃
|
|
@@ -612,15 +643,15 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
612
643
|
*/
|
|
613
644
|
const toolbar = (props as any).toolbar
|
|
614
645
|
|
|
615
|
-
const { proxyConfig, toolbarConfig, pagerConfig, editRules, validConfig } = props
|
|
646
|
+
const { showFooter, proxyConfig, toolbarConfig, pagerConfig, editRules, validConfig } = props
|
|
616
647
|
const { tablePage } = reactData
|
|
617
648
|
const isActiveMsg = $xeGrid.computeIsActiveMsg
|
|
618
649
|
const isRespMsg = $xeGrid.computeIsRespMsg
|
|
619
650
|
const proxyOpts = $xeGrid.computeProxyOpts
|
|
620
651
|
const pagerOpts = $xeGrid.computePagerOpts
|
|
621
652
|
const toolbarOpts = $xeGrid.computeToolbarOpts
|
|
622
|
-
const { beforeQuery, afterQuery, beforeDelete, afterDelete, beforeSave, afterSave, ajax = {} } = proxyOpts
|
|
623
|
-
const resConfigs = proxyOpts.response || proxyOpts.props || {}
|
|
653
|
+
const { beforeQuery, afterQuery, beforeQueryFooter, afterQueryFooter, beforeDelete, afterDelete, beforeSave, afterSave, ajax = {} } = proxyOpts
|
|
654
|
+
const resConfigs = (proxyOpts.response || proxyOpts.props || {}) as VxeGridDefines.ProxyConfigResponseConfig
|
|
624
655
|
const $xeTable = $xeGrid.$refs.refTable as VxeTableConstructor & VxeTablePrivateMethods
|
|
625
656
|
let formData = $xeGrid.getFormData()
|
|
626
657
|
let button: VxeToolbarPropTypes.ButtonConfig | null = null
|
|
@@ -669,10 +700,10 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
669
700
|
case 'initial':
|
|
670
701
|
case 'reload':
|
|
671
702
|
case 'query': {
|
|
672
|
-
const
|
|
673
|
-
const
|
|
674
|
-
const
|
|
675
|
-
if (
|
|
703
|
+
const qMethods = ajax.query
|
|
704
|
+
const qsMethods = ajax.querySuccess
|
|
705
|
+
const qeMethods = ajax.queryError
|
|
706
|
+
if (qMethods) {
|
|
676
707
|
const isInited = code === 'initial'
|
|
677
708
|
const isReload = code === 'reload'
|
|
678
709
|
if (!isInited && reactData.tableLoading) {
|
|
@@ -750,24 +781,25 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
750
781
|
sorts: sortList,
|
|
751
782
|
filters: filterList,
|
|
752
783
|
form: formData,
|
|
753
|
-
options:
|
|
784
|
+
options: qMethods
|
|
754
785
|
}
|
|
755
786
|
reactData.sortData = sortList
|
|
756
787
|
reactData.filterData = filterList
|
|
757
788
|
reactData.tableLoading = true
|
|
758
789
|
return Promise.all([
|
|
759
|
-
Promise.resolve((beforeQuery ||
|
|
790
|
+
Promise.resolve((beforeQuery || qMethods)(commitParams, ...args)),
|
|
760
791
|
operPromise
|
|
761
792
|
]).then(([rest]) => {
|
|
762
793
|
let tableData: any[] = []
|
|
763
794
|
reactData.tableLoading = false
|
|
764
795
|
if (rest) {
|
|
796
|
+
const reParams = { data: rest, $table: $xeTable, $grid: $xeGrid as VxeGridConstructor, $gantt: null }
|
|
765
797
|
if (pagerConfig && isEnableConf(pagerOpts)) {
|
|
766
798
|
const totalProp = resConfigs.total
|
|
767
|
-
const total = (XEUtils.isFunction(totalProp) ? totalProp(
|
|
799
|
+
const total = (XEUtils.isFunction(totalProp) ? totalProp(reParams) : XEUtils.get(rest, totalProp || 'page.total')) || 0
|
|
768
800
|
tablePage.total = XEUtils.toNumber(total)
|
|
769
801
|
const resultProp = resConfigs.result
|
|
770
|
-
tableData = (XEUtils.isFunction(resultProp) ? resultProp(
|
|
802
|
+
tableData = (XEUtils.isFunction(resultProp) ? resultProp(reParams) : XEUtils.get(rest, resultProp || 'result')) || []
|
|
771
803
|
// 检验当前页码,不能超出当前最大页数
|
|
772
804
|
const pageCount = Math.max(Math.ceil(total / tablePage.pageSize), 1)
|
|
773
805
|
if (tablePage.currentPage > pageCount) {
|
|
@@ -775,7 +807,18 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
775
807
|
}
|
|
776
808
|
} else {
|
|
777
809
|
const listProp = resConfigs.list
|
|
778
|
-
|
|
810
|
+
if (XEUtils.isArray(rest)) {
|
|
811
|
+
tableData = rest
|
|
812
|
+
} else if (listProp) {
|
|
813
|
+
tableData = (XEUtils.isFunction(listProp) ? listProp(reParams) : XEUtils.get(rest, listProp)) || []
|
|
814
|
+
}
|
|
815
|
+
}
|
|
816
|
+
if (showFooter) {
|
|
817
|
+
const fdProp = resConfigs.footerData
|
|
818
|
+
const footerList = fdProp ? (XEUtils.isFunction(fdProp) ? fdProp(reParams) : XEUtils.get(rest, fdProp)) : []
|
|
819
|
+
if (XEUtils.isArray(footerList)) {
|
|
820
|
+
reactData.footerData = footerList
|
|
821
|
+
}
|
|
779
822
|
}
|
|
780
823
|
}
|
|
781
824
|
if ($xeTable) {
|
|
@@ -791,14 +834,14 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
791
834
|
if (afterQuery) {
|
|
792
835
|
afterQuery(commitParams, ...args)
|
|
793
836
|
}
|
|
794
|
-
if (
|
|
795
|
-
|
|
837
|
+
if (qsMethods) {
|
|
838
|
+
qsMethods({ ...commitParams, response: rest })
|
|
796
839
|
}
|
|
797
840
|
return { status: true }
|
|
798
841
|
}).catch((rest) => {
|
|
799
842
|
reactData.tableLoading = false
|
|
800
|
-
if (
|
|
801
|
-
|
|
843
|
+
if (qeMethods) {
|
|
844
|
+
qeMethods({ ...commitParams, response: rest })
|
|
802
845
|
}
|
|
803
846
|
return { status: false }
|
|
804
847
|
})
|
|
@@ -807,11 +850,50 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
807
850
|
}
|
|
808
851
|
break
|
|
809
852
|
}
|
|
853
|
+
case 'queryFooter': {
|
|
854
|
+
const qfMethods = ajax.queryFooter
|
|
855
|
+
const qfSuccessMethods = ajax.queryFooterSuccess
|
|
856
|
+
const qfErrorMethods = ajax.queryFooterError
|
|
857
|
+
if (qfMethods) {
|
|
858
|
+
let filterList: VxeTableDefines.FilterCheckedParams[] = []
|
|
859
|
+
if ($xeTable) {
|
|
860
|
+
filterList = $xeTable.getCheckedFilters()
|
|
861
|
+
}
|
|
862
|
+
const commitParams = {
|
|
863
|
+
$table: $xeTable,
|
|
864
|
+
$grid: $xeGrid,
|
|
865
|
+
$gantt: null,
|
|
866
|
+
code,
|
|
867
|
+
button,
|
|
868
|
+
filters: filterList,
|
|
869
|
+
form: formData,
|
|
870
|
+
options: qfMethods
|
|
871
|
+
}
|
|
872
|
+
return Promise.resolve((beforeQueryFooter || qfMethods)(commitParams, ...args)).then(rest => {
|
|
873
|
+
reactData.footerData = XEUtils.isArray(rest) ? rest : []
|
|
874
|
+
if (afterQueryFooter) {
|
|
875
|
+
afterQueryFooter(commitParams, ...args)
|
|
876
|
+
}
|
|
877
|
+
if (qfSuccessMethods) {
|
|
878
|
+
qfSuccessMethods({ ...commitParams, response: rest })
|
|
879
|
+
}
|
|
880
|
+
return { status: true }
|
|
881
|
+
}).catch((rest) => {
|
|
882
|
+
if (qfErrorMethods) {
|
|
883
|
+
qfErrorMethods({ ...commitParams, response: rest })
|
|
884
|
+
}
|
|
885
|
+
return { status: false }
|
|
886
|
+
})
|
|
887
|
+
} else {
|
|
888
|
+
errLog('vxe.error.notFunc', ['[grid] proxy-config.ajax.queryFooter'])
|
|
889
|
+
}
|
|
890
|
+
break
|
|
891
|
+
}
|
|
810
892
|
case 'delete': {
|
|
811
|
-
const
|
|
893
|
+
const dMethods = ajax.delete
|
|
812
894
|
const deleteSuccessMethods = ajax.deleteSuccess
|
|
813
895
|
const deleteErrorMethods = ajax.deleteError
|
|
814
|
-
if (
|
|
896
|
+
if (dMethods) {
|
|
815
897
|
const selectRecords = $xeTable.getCheckboxRecords()
|
|
816
898
|
const removeRecords = selectRecords.filter((row) => !$xeTable.isInsertByRow(row))
|
|
817
899
|
const body = { removeRecords }
|
|
@@ -823,7 +905,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
823
905
|
button,
|
|
824
906
|
body,
|
|
825
907
|
form: formData,
|
|
826
|
-
options:
|
|
908
|
+
options: dMethods
|
|
827
909
|
}
|
|
828
910
|
const applyArgs = [commitParams].concat(args)
|
|
829
911
|
if (selectRecords.length) {
|
|
@@ -832,7 +914,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
832
914
|
return $xeTable.remove(selectRecords)
|
|
833
915
|
}
|
|
834
916
|
reactData.tableLoading = true
|
|
835
|
-
return Promise.resolve((beforeDelete ||
|
|
917
|
+
return Promise.resolve((beforeDelete || dMethods)(...applyArgs))
|
|
836
918
|
.then(rest => {
|
|
837
919
|
reactData.tableLoading = false
|
|
838
920
|
$xeTable.setPendingRow(removeRecords, false)
|
|
@@ -844,7 +926,10 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
844
926
|
if (afterDelete) {
|
|
845
927
|
afterDelete(...applyArgs)
|
|
846
928
|
} else {
|
|
929
|
+
internalData.uFoot = true
|
|
847
930
|
$xeGrid.commitProxy('query')
|
|
931
|
+
internalData.uFoot = false
|
|
932
|
+
$xeGrid.updateQueryFooter()
|
|
848
933
|
}
|
|
849
934
|
if (deleteSuccessMethods) {
|
|
850
935
|
deleteSuccessMethods({ ...commitParams, response: rest })
|
|
@@ -926,7 +1011,10 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
926
1011
|
if (afterSave) {
|
|
927
1012
|
afterSave(...applyArgs)
|
|
928
1013
|
} else {
|
|
1014
|
+
internalData.uFoot = true
|
|
929
1015
|
$xeGrid.commitProxy('query')
|
|
1016
|
+
internalData.uFoot = false
|
|
1017
|
+
$xeGrid.updateQueryFooter()
|
|
930
1018
|
}
|
|
931
1019
|
if (saveSuccessMethods) {
|
|
932
1020
|
saveSuccessMethods({ ...commitParams, response: rest })
|
|
@@ -1114,13 +1202,26 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
1114
1202
|
},
|
|
1115
1203
|
triggerToolbarCommitEvent (params: any, evnt: any) {
|
|
1116
1204
|
const $xeGrid = this
|
|
1205
|
+
const internalData = $xeGrid.internalData
|
|
1117
1206
|
|
|
1118
1207
|
const { code } = params
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1208
|
+
if (code) {
|
|
1209
|
+
const isUf = ['reload', 'delete', 'save'].includes(code)
|
|
1210
|
+
if (isUf) {
|
|
1211
|
+
internalData.uFoot = true
|
|
1122
1212
|
}
|
|
1123
|
-
|
|
1213
|
+
const rest = $xeGrid.commitProxy(params, evnt).then((rest) => {
|
|
1214
|
+
if (code && rest && rest.status && ['query', 'reload', 'delete', 'save'].includes(code)) {
|
|
1215
|
+
$xeGrid.dispatchEvent(code === 'delete' || code === 'save' ? `proxy-${code as 'delete' | 'save'}` : 'proxy-query', { ...rest, isReload: code === 'reload' }, evnt)
|
|
1216
|
+
}
|
|
1217
|
+
})
|
|
1218
|
+
if (isUf) {
|
|
1219
|
+
$xeGrid.updateQueryFooter()
|
|
1220
|
+
}
|
|
1221
|
+
internalData.uFoot = false
|
|
1222
|
+
return rest
|
|
1223
|
+
}
|
|
1224
|
+
return $xeGrid.$nextTick()
|
|
1124
1225
|
},
|
|
1125
1226
|
triggerToolbarBtnEvent (button: any, evnt: any) {
|
|
1126
1227
|
const $xeGrid = this
|
|
@@ -1188,6 +1289,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
1188
1289
|
const $xeGrid = this
|
|
1189
1290
|
const props = $xeGrid
|
|
1190
1291
|
const reactData = $xeGrid.reactData
|
|
1292
|
+
const internalData = $xeGrid.internalData
|
|
1191
1293
|
const $xeTable = $xeGrid.$refs.refTable as VxeTableConstructor & VxeTablePrivateMethods
|
|
1192
1294
|
|
|
1193
1295
|
const { proxyConfig } = props
|
|
@@ -1198,9 +1300,12 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
1198
1300
|
reactData.filterData = params.filterList
|
|
1199
1301
|
if (proxyConfig && isEnableConf(proxyOpts)) {
|
|
1200
1302
|
reactData.tablePage.currentPage = 1
|
|
1303
|
+
internalData.uFoot = true
|
|
1201
1304
|
$xeGrid.commitProxy('query').then((rest) => {
|
|
1202
1305
|
$xeGrid.dispatchEvent('proxy-query', rest, params.$event)
|
|
1203
1306
|
})
|
|
1307
|
+
internalData.uFoot = false
|
|
1308
|
+
$xeGrid.updateQueryFooter()
|
|
1204
1309
|
}
|
|
1205
1310
|
}
|
|
1206
1311
|
},
|
|
@@ -1220,6 +1325,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
1220
1325
|
const $xeGrid = this
|
|
1221
1326
|
const props = $xeGrid
|
|
1222
1327
|
const reactData = $xeGrid.reactData
|
|
1328
|
+
const internalData = $xeGrid.internalData
|
|
1223
1329
|
|
|
1224
1330
|
const { proxyConfig } = props
|
|
1225
1331
|
const proxyOpts = $xeGrid.computeProxyOpts
|
|
@@ -1227,15 +1333,19 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
1227
1333
|
return
|
|
1228
1334
|
}
|
|
1229
1335
|
if (proxyConfig && isEnableConf(proxyOpts)) {
|
|
1336
|
+
internalData.uFoot = true
|
|
1230
1337
|
$xeGrid.commitProxy('reload').then((rest) => {
|
|
1231
1338
|
$xeGrid.dispatchEvent('proxy-query', { ...rest, isReload: true }, params.$event)
|
|
1232
1339
|
})
|
|
1340
|
+
internalData.uFoot = false
|
|
1341
|
+
$xeGrid.updateQueryFooter()
|
|
1233
1342
|
}
|
|
1234
1343
|
$xeGrid.dispatchEvent('form-submit', params, params.$event)
|
|
1235
1344
|
},
|
|
1236
1345
|
resetFormEvent (params: VxeFormDefines.ResetEventParams) {
|
|
1237
1346
|
const $xeGrid = this
|
|
1238
1347
|
const props = $xeGrid
|
|
1348
|
+
const internalData = $xeGrid.internalData
|
|
1239
1349
|
|
|
1240
1350
|
const $xeTable = $xeGrid.$refs.refTable as VxeTableConstructor & VxeTablePrivateMethods
|
|
1241
1351
|
const { proxyConfig } = props
|
|
@@ -1243,9 +1353,12 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
1243
1353
|
const proxyOpts = $xeGrid.computeProxyOpts
|
|
1244
1354
|
if (proxyConfig && isEnableConf(proxyOpts)) {
|
|
1245
1355
|
$xeTable.clearScroll()
|
|
1356
|
+
internalData.uFoot = true
|
|
1246
1357
|
$xeGrid.commitProxy('reload').then((rest) => {
|
|
1247
1358
|
$xeGrid.dispatchEvent('proxy-query', { ...rest, isReload: true }, $event)
|
|
1248
1359
|
})
|
|
1360
|
+
internalData.uFoot = false
|
|
1361
|
+
$xeGrid.updateQueryFooter()
|
|
1249
1362
|
}
|
|
1250
1363
|
$xeGrid.dispatchEvent('form-reset', params, $event)
|
|
1251
1364
|
},
|