vxe-gantt 3.0.24 → 3.0.26
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/gantt/src/gantt-chart.js +2 -1
- package/es/gantt/src/gantt.js +163 -36
- package/es/gantt/style.css +13 -0
- package/es/gantt/style.min.css +1 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/es/vxe-gantt/style.css +13 -0
- package/es/vxe-gantt/style.min.css +1 -1
- package/lib/gantt/src/gantt-chart.js +3 -1
- package/lib/gantt/src/gantt-chart.min.js +1 -1
- package/lib/gantt/src/gantt.js +207 -77
- package/lib/gantt/src/gantt.min.js +1 -1
- package/lib/gantt/style/style.css +13 -0
- package/lib/gantt/style/style.min.css +1 -1
- package/lib/index.umd.js +268 -138
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/ui/index.js +1 -1
- 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/lib/vxe-gantt/style/style.css +13 -0
- package/lib/vxe-gantt/style/style.min.css +1 -1
- package/package.json +3 -3
- package/packages/gantt/src/gantt-chart.ts +2 -1
- package/packages/gantt/src/gantt.ts +195 -67
- package/styles/components/gantt-module/gantt-chart.scss +6 -0
- package/styles/components/gantt.scss +3 -0
|
@@ -10,7 +10,7 @@ import GanttViewComponent from './gantt-view'
|
|
|
10
10
|
import { VxeTable as VxeTableComponent } from 'vxe-table'
|
|
11
11
|
|
|
12
12
|
import type { ValueOf, VxeFormInstance, VxeFormItemProps, VxePagerInstance, VxePagerDefines, VxeComponentStyleType, VxeComponentSizeType, VxeFormDefines, VxeFormItemPropTypes } from 'vxe-pc-ui'
|
|
13
|
-
import type { VxeTableMethods, VxeToolbarPropTypes, VxeTableProps, VxeTableConstructor, VxeTablePrivateMethods, VxeTableDefines, TableReactData, VxeToolbarInstance, TableInternalData, VxeTablePropTypes, VxeGridPropTypes } from 'vxe-table'
|
|
13
|
+
import type { VxeTableMethods, VxeToolbarPropTypes, VxeTableProps, VxeTableConstructor, VxeTablePrivateMethods, VxeTableDefines, TableReactData, VxeToolbarInstance, TableInternalData, VxeTablePropTypes, VxeGridPropTypes, VxeGridDefines } from 'vxe-table'
|
|
14
14
|
import type { VxeGanttEmits, GanttReactData, GanttInternalData, VxeGanttPropTypes, VxeGanttViewInstance, VxeGanttDefines, VxeGanttConstructor } from '../../../types'
|
|
15
15
|
|
|
16
16
|
const { getConfig, getIcon, getI18n, commands, globalMixins, createEvent, globalEvents, GLOBAL_EVENT_KEYS, renderEmptyElement } = VxeUI
|
|
@@ -76,6 +76,7 @@ XEUtils.each((VxeTableComponent as any).methods, (fn, name) => {
|
|
|
76
76
|
|
|
77
77
|
function createInternalData (): GanttInternalData {
|
|
78
78
|
return {
|
|
79
|
+
uFoot: false,
|
|
79
80
|
resizeTableWidth: 0
|
|
80
81
|
}
|
|
81
82
|
}
|
|
@@ -103,6 +104,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
103
104
|
editRules: PropType<VxeTablePropTypes.EditRules>
|
|
104
105
|
animat: PropType<VxeTablePropTypes.Animat>
|
|
105
106
|
scrollbarConfig: PropType<VxeTablePropTypes.ScrollbarConfig>
|
|
107
|
+
showFooter: PropType<VxeTablePropTypes.ShowFooter>
|
|
106
108
|
params: PropType<VxeTablePropTypes.Params>
|
|
107
109
|
}),
|
|
108
110
|
|
|
@@ -119,8 +121,8 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
119
121
|
taskViewConfig: Object as PropType<VxeGanttPropTypes.TaskViewConfig>,
|
|
120
122
|
taskBarConfig: Object as PropType<VxeGanttPropTypes.TaskBarConfig>,
|
|
121
123
|
taskSplitConfig: Object as PropType<VxeGanttPropTypes.TaskSplitConfig>,
|
|
122
|
-
|
|
123
|
-
|
|
124
|
+
taskBarResizeConfig: Object as PropType<VxeGanttPropTypes.TaskBarResizeConfig>,
|
|
125
|
+
taskBarDragConfig: Object as PropType<VxeGanttPropTypes.TaskBarDragConfig>,
|
|
124
126
|
size: {
|
|
125
127
|
type: String as PropType<VxeGridPropTypes.Size>,
|
|
126
128
|
default: () => getConfig().gantt.size || getConfig().size
|
|
@@ -146,6 +148,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
146
148
|
filterData: [],
|
|
147
149
|
formData: {},
|
|
148
150
|
sortData: [],
|
|
151
|
+
footerData: [],
|
|
149
152
|
tZindex: 0,
|
|
150
153
|
tablePage: {
|
|
151
154
|
total: 0,
|
|
@@ -235,6 +238,18 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
235
238
|
|
|
236
239
|
return Object.assign({}, getConfig().gantt.taskBarConfig, props.taskBarConfig)
|
|
237
240
|
},
|
|
241
|
+
computeTaskBarDragOpts () {
|
|
242
|
+
const $xeGantt = this
|
|
243
|
+
const props = $xeGantt
|
|
244
|
+
|
|
245
|
+
return Object.assign({}, getConfig().gantt.taskBarDragConfig, props.taskBarDragConfig)
|
|
246
|
+
},
|
|
247
|
+
computeTaskBarResizeOpts () {
|
|
248
|
+
const $xeGantt = this
|
|
249
|
+
const props = $xeGantt
|
|
250
|
+
|
|
251
|
+
return Object.assign({}, getConfig().gantt.taskBarResizeConfig, props.taskBarResizeConfig)
|
|
252
|
+
},
|
|
238
253
|
computeTaskSplitOpts () {
|
|
239
254
|
const $xeGantt = this
|
|
240
255
|
const props = $xeGantt
|
|
@@ -336,7 +351,9 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
336
351
|
const rest: any = {}
|
|
337
352
|
const gridProps: any = props
|
|
338
353
|
propKeys.forEach(key => {
|
|
339
|
-
|
|
354
|
+
if (gridProps[key] !== undefined) {
|
|
355
|
+
rest[key] = gridProps[key]
|
|
356
|
+
}
|
|
340
357
|
})
|
|
341
358
|
return rest
|
|
342
359
|
},
|
|
@@ -345,8 +362,8 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
345
362
|
const props = $xeGantt
|
|
346
363
|
const reactData = $xeGantt.reactData
|
|
347
364
|
|
|
348
|
-
const { seqConfig, pagerConfig, editConfig, proxyConfig } = props
|
|
349
|
-
const { isZMax, tablePage } = reactData
|
|
365
|
+
const { showFooter, seqConfig, pagerConfig, editConfig, proxyConfig } = props
|
|
366
|
+
const { isZMax, tablePage, footerData } = reactData
|
|
350
367
|
const taskViewOpts = $xeGantt.computeTaskViewOpts
|
|
351
368
|
const { tableStyle } = taskViewOpts
|
|
352
369
|
const tableExtendProps = $xeGantt.computeTableExtendProps as any
|
|
@@ -365,8 +382,15 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
365
382
|
tProps.border = border
|
|
366
383
|
}
|
|
367
384
|
}
|
|
385
|
+
if (showFooter && !tProps.footerData) {
|
|
386
|
+
// 如果未设置自己的标位数据,则使用代理的
|
|
387
|
+
tProps.footerData = footerData
|
|
388
|
+
} else if (proxyOpts.footer && footerData.length) {
|
|
389
|
+
// 如果代理标为数据,且未请求到数据,则用自己的
|
|
390
|
+
tProps.footerData = footerData
|
|
391
|
+
}
|
|
368
392
|
if (isZMax) {
|
|
369
|
-
if (
|
|
393
|
+
if (tProps.maxHeight) {
|
|
370
394
|
tProps.maxHeight = '100%'
|
|
371
395
|
} else {
|
|
372
396
|
tProps.height = '100%'
|
|
@@ -710,6 +734,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
710
734
|
const $xeGantt = this
|
|
711
735
|
const props = $xeGantt
|
|
712
736
|
const reactData = $xeGantt.reactData
|
|
737
|
+
const internalData = $xeGantt.internalData
|
|
713
738
|
const $xeTable = $xeGantt.$refs.refTable as VxeTableConstructor & VxeTablePrivateMethods
|
|
714
739
|
|
|
715
740
|
const { proxyConfig } = props
|
|
@@ -720,9 +745,12 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
720
745
|
reactData.filterData = params.filterList
|
|
721
746
|
if (proxyConfig && isEnableConf(proxyOpts)) {
|
|
722
747
|
reactData.tablePage.currentPage = 1
|
|
748
|
+
internalData.uFoot = true
|
|
723
749
|
$xeGantt.commitProxy('query').then((rest) => {
|
|
724
750
|
$xeGantt.dispatchEvent('proxy-query', rest, params.$event)
|
|
725
751
|
})
|
|
752
|
+
internalData.uFoot = false
|
|
753
|
+
$xeGantt.updateQueryFooter()
|
|
726
754
|
}
|
|
727
755
|
}
|
|
728
756
|
},
|
|
@@ -742,6 +770,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
742
770
|
const $xeGantt = this
|
|
743
771
|
const props = $xeGantt
|
|
744
772
|
const reactData = $xeGantt.reactData
|
|
773
|
+
const internalData = $xeGantt.internalData
|
|
745
774
|
|
|
746
775
|
const { proxyConfig } = props
|
|
747
776
|
const proxyOpts = $xeGantt.computeProxyOpts
|
|
@@ -749,15 +778,19 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
749
778
|
return
|
|
750
779
|
}
|
|
751
780
|
if (proxyConfig && isEnableConf(proxyOpts)) {
|
|
781
|
+
internalData.uFoot = true
|
|
752
782
|
$xeGantt.commitProxy('reload').then((rest) => {
|
|
753
783
|
$xeGantt.dispatchEvent('proxy-query', { ...rest, isReload: true }, params.$event)
|
|
754
784
|
})
|
|
785
|
+
internalData.uFoot = false
|
|
786
|
+
$xeGantt.updateQueryFooter()
|
|
755
787
|
}
|
|
756
788
|
$xeGantt.dispatchEvent('form-submit', params, params.$event)
|
|
757
789
|
},
|
|
758
790
|
resetFormEvent (params: VxeFormDefines.ResetEventParams) {
|
|
759
791
|
const $xeGantt = this
|
|
760
792
|
const props = $xeGantt
|
|
793
|
+
const internalData = $xeGantt.internalData
|
|
761
794
|
|
|
762
795
|
const $xeTable = $xeGantt.$refs.refTable as VxeTableConstructor & VxeTablePrivateMethods
|
|
763
796
|
const { proxyConfig } = props
|
|
@@ -765,9 +798,12 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
765
798
|
const proxyOpts = $xeGantt.computeProxyOpts
|
|
766
799
|
if (proxyConfig && isEnableConf(proxyOpts)) {
|
|
767
800
|
$xeTable.clearScroll()
|
|
801
|
+
internalData.uFoot = true
|
|
768
802
|
$xeGantt.commitProxy('reload').then((rest) => {
|
|
769
803
|
$xeGantt.dispatchEvent('proxy-query', { ...rest, isReload: true }, $event)
|
|
770
804
|
})
|
|
805
|
+
internalData.uFoot = false
|
|
806
|
+
$xeGantt.updateQueryFooter()
|
|
771
807
|
}
|
|
772
808
|
$xeGantt.dispatchEvent('form-reset', params, $event)
|
|
773
809
|
},
|
|
@@ -919,6 +955,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
919
955
|
const $xeGantt = this
|
|
920
956
|
const props = $xeGantt
|
|
921
957
|
const reactData = $xeGantt.reactData
|
|
958
|
+
const internalData = $xeGantt.internalData
|
|
922
959
|
|
|
923
960
|
const { proxyConfig, formConfig } = props
|
|
924
961
|
const { proxyInited } = reactData
|
|
@@ -928,14 +965,31 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
928
965
|
if (isEnableConf(formConfig) && proxyOpts.form && formOpts.items) {
|
|
929
966
|
reactData.formData = $xeGantt.getDefaultFormData()
|
|
930
967
|
}
|
|
931
|
-
if (!proxyInited
|
|
968
|
+
if (!proxyInited) {
|
|
932
969
|
reactData.proxyInited = true
|
|
933
|
-
|
|
934
|
-
$xeGantt.
|
|
935
|
-
|
|
970
|
+
if (proxyOpts.autoLoad !== false) {
|
|
971
|
+
$xeGantt.$nextTick().then(() => {
|
|
972
|
+
internalData.uFoot = true
|
|
973
|
+
const rest = $xeGantt.commitProxy('initial')
|
|
974
|
+
internalData.uFoot = false
|
|
975
|
+
$xeGantt.updateQueryFooter()
|
|
976
|
+
return rest
|
|
977
|
+
}).then((rest) => {
|
|
978
|
+
$xeGantt.dispatchEvent('proxy-query', { ...rest, isInited: true }, new Event('initial'))
|
|
979
|
+
})
|
|
980
|
+
}
|
|
936
981
|
}
|
|
937
982
|
}
|
|
938
983
|
},
|
|
984
|
+
updateQueryFooter () {
|
|
985
|
+
const $xeGantt = this
|
|
986
|
+
|
|
987
|
+
const proxyOpts = $xeGantt.computeProxyOpts
|
|
988
|
+
const { ajax } = proxyOpts
|
|
989
|
+
if (ajax && ajax.queryFooter) {
|
|
990
|
+
return $xeGantt.commitProxy('queryFooter')
|
|
991
|
+
}
|
|
992
|
+
},
|
|
939
993
|
handleGlobalKeydownEvent (evnt: KeyboardEvent) {
|
|
940
994
|
const $xeGantt = this
|
|
941
995
|
const reactData = $xeGantt.reactData
|
|
@@ -959,6 +1013,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
959
1013
|
const $xeGantt = this
|
|
960
1014
|
const props = $xeGantt
|
|
961
1015
|
const reactData = $xeGantt.reactData
|
|
1016
|
+
const internalData = $xeGantt.internalData
|
|
962
1017
|
|
|
963
1018
|
/**
|
|
964
1019
|
* 已废弃
|
|
@@ -966,15 +1021,15 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
966
1021
|
*/
|
|
967
1022
|
const toolbar = (props as any).toolbar
|
|
968
1023
|
|
|
969
|
-
const { proxyConfig, toolbarConfig, pagerConfig, editRules, validConfig } = props
|
|
1024
|
+
const { showFooter, proxyConfig, toolbarConfig, pagerConfig, editRules, validConfig } = props
|
|
970
1025
|
const { tablePage } = reactData
|
|
971
1026
|
const isActiveMsg = $xeGantt.computeIsActiveMsg
|
|
972
1027
|
const isRespMsg = $xeGantt.computeIsRespMsg
|
|
973
1028
|
const proxyOpts = $xeGantt.computeProxyOpts
|
|
974
1029
|
const pagerOpts = $xeGantt.computePagerOpts
|
|
975
1030
|
const toolbarOpts = $xeGantt.computeToolbarOpts
|
|
976
|
-
const { beforeQuery, afterQuery, beforeDelete, afterDelete, beforeSave, afterSave, ajax = {} } = proxyOpts
|
|
977
|
-
const resConfigs = proxyOpts.response || proxyOpts.props || {}
|
|
1031
|
+
const { beforeQuery, afterQuery, beforeQueryFooter, afterQueryFooter, beforeDelete, afterDelete, beforeSave, afterSave, ajax = {} } = proxyOpts
|
|
1032
|
+
const resConfigs = (proxyOpts.response || proxyOpts.props || {}) as VxeGridDefines.ProxyConfigResponseConfig
|
|
978
1033
|
const $xeTable = $xeGantt.$refs.refTable as VxeTableConstructor & VxeTablePrivateMethods
|
|
979
1034
|
let formData = $xeGantt.getFormData()
|
|
980
1035
|
let button: VxeToolbarPropTypes.ButtonConfig | null = null
|
|
@@ -1023,23 +1078,25 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
1023
1078
|
case 'initial':
|
|
1024
1079
|
case 'reload':
|
|
1025
1080
|
case 'query': {
|
|
1026
|
-
const
|
|
1027
|
-
const
|
|
1028
|
-
const
|
|
1029
|
-
if (
|
|
1081
|
+
const qMethods = ajax.query
|
|
1082
|
+
const qsMethods = ajax.querySuccess
|
|
1083
|
+
const qeMethods = ajax.queryError
|
|
1084
|
+
if (qMethods) {
|
|
1030
1085
|
const isInited = code === 'initial'
|
|
1031
1086
|
const isReload = code === 'reload'
|
|
1032
1087
|
if (!isInited && reactData.tableLoading) {
|
|
1033
1088
|
return $xeGantt.$nextTick()
|
|
1034
1089
|
}
|
|
1090
|
+
let operPromise = null
|
|
1035
1091
|
let sortList: any[] = []
|
|
1036
1092
|
let filterList: VxeTableDefines.FilterCheckedParams[] = []
|
|
1037
1093
|
let pageParams: any = {}
|
|
1038
1094
|
if (pagerConfig) {
|
|
1039
1095
|
if (isInited || isReload) {
|
|
1096
|
+
// 重置分页
|
|
1040
1097
|
tablePage.currentPage = 1
|
|
1041
1098
|
}
|
|
1042
|
-
if (isEnableConf(
|
|
1099
|
+
if (isEnableConf(pagerOpts)) {
|
|
1043
1100
|
pageParams = { ...tablePage }
|
|
1044
1101
|
}
|
|
1045
1102
|
}
|
|
@@ -1083,7 +1140,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
1083
1140
|
} else {
|
|
1084
1141
|
if ($xeTable) {
|
|
1085
1142
|
if (isReload) {
|
|
1086
|
-
$xeTable.clearAll()
|
|
1143
|
+
operPromise = $xeTable.clearAll()
|
|
1087
1144
|
} else {
|
|
1088
1145
|
sortList = $xeTable.getSortColumns()
|
|
1089
1146
|
filterList = $xeTable.getCheckedFilters()
|
|
@@ -1103,58 +1160,111 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
1103
1160
|
sorts: sortList,
|
|
1104
1161
|
filters: filterList,
|
|
1105
1162
|
form: formData,
|
|
1106
|
-
options:
|
|
1163
|
+
options: qMethods
|
|
1107
1164
|
}
|
|
1108
1165
|
reactData.sortData = sortList
|
|
1109
1166
|
reactData.filterData = filterList
|
|
1110
1167
|
reactData.tableLoading = true
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
|
|
1129
|
-
const listProp = resConfigs.list
|
|
1130
|
-
tableData = (listProp ? (XEUtils.isFunction(listProp) ? listProp({ data: rest, $table: $xeTable, $grid: null, $gantt: $xeGantt }) : XEUtils.get(rest, listProp)) : rest) || []
|
|
1168
|
+
return Promise.all([
|
|
1169
|
+
Promise.resolve((beforeQuery || qMethods)(commitParams, ...args)),
|
|
1170
|
+
operPromise
|
|
1171
|
+
]).then(([rest]) => {
|
|
1172
|
+
let tableData: any[] = []
|
|
1173
|
+
reactData.tableLoading = false
|
|
1174
|
+
if (rest) {
|
|
1175
|
+
const reParams = { data: rest, $table: $xeTable, $grid: null, $gantt: $xeGantt }
|
|
1176
|
+
if (pagerConfig && isEnableConf(pagerOpts)) {
|
|
1177
|
+
const totalProp = resConfigs.total
|
|
1178
|
+
const total = (XEUtils.isFunction(totalProp) ? totalProp(reParams) : XEUtils.get(rest, totalProp || 'page.total')) || 0
|
|
1179
|
+
tablePage.total = XEUtils.toNumber(total)
|
|
1180
|
+
const resultProp = resConfigs.result
|
|
1181
|
+
tableData = (XEUtils.isFunction(resultProp) ? resultProp(reParams) : XEUtils.get(rest, resultProp || 'result')) || []
|
|
1182
|
+
// 检验当前页码,不能超出当前最大页数
|
|
1183
|
+
const pageCount = Math.max(Math.ceil(total / tablePage.pageSize), 1)
|
|
1184
|
+
if (tablePage.currentPage > pageCount) {
|
|
1185
|
+
tablePage.currentPage = pageCount
|
|
1131
1186
|
}
|
|
1132
|
-
}
|
|
1133
|
-
if ($xeTable as any) {
|
|
1134
|
-
$xeTable.loadData(tableData)
|
|
1135
1187
|
} else {
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
|
|
1140
|
-
|
|
1141
|
-
|
|
1142
|
-
if (afterQuery) {
|
|
1143
|
-
afterQuery(...applyArgs)
|
|
1144
|
-
}
|
|
1145
|
-
if (querySuccessMethods) {
|
|
1146
|
-
querySuccessMethods({ ...commitParams, response: rest })
|
|
1188
|
+
const listProp = resConfigs.list
|
|
1189
|
+
if (XEUtils.isArray(rest)) {
|
|
1190
|
+
tableData = rest
|
|
1191
|
+
} else if (listProp) {
|
|
1192
|
+
tableData = (XEUtils.isFunction(listProp) ? listProp(reParams) : XEUtils.get(rest, listProp)) || []
|
|
1193
|
+
}
|
|
1147
1194
|
}
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
|
|
1152
|
-
|
|
1195
|
+
if (showFooter) {
|
|
1196
|
+
const fdProp = resConfigs.footerData
|
|
1197
|
+
const footerList = fdProp ? (XEUtils.isFunction(fdProp) ? fdProp(reParams) : XEUtils.get(rest, fdProp)) : []
|
|
1198
|
+
if (XEUtils.isArray(footerList)) {
|
|
1199
|
+
reactData.footerData = footerList
|
|
1200
|
+
}
|
|
1153
1201
|
}
|
|
1154
|
-
|
|
1155
|
-
|
|
1202
|
+
}
|
|
1203
|
+
if ($xeTable) {
|
|
1204
|
+
$xeTable.loadData(tableData)
|
|
1205
|
+
} else {
|
|
1206
|
+
$xeGantt.$nextTick(() => {
|
|
1207
|
+
const $xeTable = $xeGantt.$refs.refTable as VxeTableConstructor & VxeTablePrivateMethods
|
|
1208
|
+
if ($xeTable) {
|
|
1209
|
+
$xeTable.loadData(tableData)
|
|
1210
|
+
}
|
|
1211
|
+
})
|
|
1212
|
+
}
|
|
1213
|
+
if (afterQuery) {
|
|
1214
|
+
afterQuery(commitParams, ...args)
|
|
1215
|
+
}
|
|
1216
|
+
if (qsMethods) {
|
|
1217
|
+
qsMethods({ ...commitParams, response: rest })
|
|
1218
|
+
}
|
|
1219
|
+
return { status: true }
|
|
1220
|
+
}).catch((rest) => {
|
|
1221
|
+
reactData.tableLoading = false
|
|
1222
|
+
if (qeMethods) {
|
|
1223
|
+
qeMethods({ ...commitParams, response: rest })
|
|
1224
|
+
}
|
|
1225
|
+
return { status: false }
|
|
1226
|
+
})
|
|
1227
|
+
} else {
|
|
1228
|
+
errLog('vxe.error.notFunc', ['[gantt] proxy-config.ajax.query'])
|
|
1229
|
+
}
|
|
1230
|
+
break
|
|
1231
|
+
}
|
|
1232
|
+
case 'queryFooter': {
|
|
1233
|
+
const qfMethods = ajax.queryFooter
|
|
1234
|
+
const qfSuccessMethods = ajax.queryFooterSuccess
|
|
1235
|
+
const qfErrorMethods = ajax.queryFooterError
|
|
1236
|
+
if (qfMethods) {
|
|
1237
|
+
let filterList: VxeTableDefines.FilterCheckedParams[] = []
|
|
1238
|
+
if ($xeTable) {
|
|
1239
|
+
filterList = $xeTable.getCheckedFilters()
|
|
1240
|
+
}
|
|
1241
|
+
const commitParams = {
|
|
1242
|
+
$table: $xeTable,
|
|
1243
|
+
$grid: null,
|
|
1244
|
+
$gantt: $xeGantt,
|
|
1245
|
+
code,
|
|
1246
|
+
button,
|
|
1247
|
+
filters: filterList,
|
|
1248
|
+
form: formData,
|
|
1249
|
+
options: qfMethods
|
|
1250
|
+
}
|
|
1251
|
+
return Promise.resolve((beforeQueryFooter || qfMethods)(commitParams, ...args)).then(rest => {
|
|
1252
|
+
reactData.footerData = XEUtils.isArray(rest) ? rest : []
|
|
1253
|
+
if (afterQueryFooter) {
|
|
1254
|
+
afterQueryFooter(commitParams, ...args)
|
|
1255
|
+
}
|
|
1256
|
+
if (qfSuccessMethods) {
|
|
1257
|
+
qfSuccessMethods({ ...commitParams, response: rest })
|
|
1258
|
+
}
|
|
1259
|
+
return { status: true }
|
|
1260
|
+
}).catch((rest) => {
|
|
1261
|
+
if (qfErrorMethods) {
|
|
1262
|
+
qfErrorMethods({ ...commitParams, response: rest })
|
|
1263
|
+
}
|
|
1264
|
+
return { status: false }
|
|
1265
|
+
})
|
|
1156
1266
|
} else {
|
|
1157
|
-
errLog('vxe.error.notFunc', ['proxy-config.ajax.
|
|
1267
|
+
errLog('vxe.error.notFunc', ['[gantt] proxy-config.ajax.queryFooter'])
|
|
1158
1268
|
}
|
|
1159
1269
|
break
|
|
1160
1270
|
}
|
|
@@ -1197,7 +1307,10 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
1197
1307
|
if (afterDelete) {
|
|
1198
1308
|
afterDelete(...applyArgs)
|
|
1199
1309
|
} else {
|
|
1310
|
+
internalData.uFoot = true
|
|
1200
1311
|
$xeGantt.commitProxy('query')
|
|
1312
|
+
internalData.uFoot = false
|
|
1313
|
+
$xeGantt.updateQueryFooter()
|
|
1201
1314
|
}
|
|
1202
1315
|
if (deleteSuccessMethods) {
|
|
1203
1316
|
deleteSuccessMethods({ ...commitParams, response: rest })
|
|
@@ -1285,7 +1398,10 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
1285
1398
|
if (afterSave) {
|
|
1286
1399
|
afterSave(...applyArgs)
|
|
1287
1400
|
} else {
|
|
1401
|
+
internalData.uFoot = true
|
|
1288
1402
|
$xeGantt.commitProxy('query')
|
|
1403
|
+
internalData.uFoot = false
|
|
1404
|
+
$xeGantt.updateQueryFooter()
|
|
1289
1405
|
}
|
|
1290
1406
|
if (saveSuccessMethods) {
|
|
1291
1407
|
saveSuccessMethods({ ...commitParams, response: rest })
|
|
@@ -1623,13 +1739,25 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
1623
1739
|
},
|
|
1624
1740
|
triggerToolbarCommitEvent (params: any, evnt: any) {
|
|
1625
1741
|
const $xeGantt = this
|
|
1742
|
+
const internalData = $xeGantt.internalData
|
|
1626
1743
|
|
|
1627
1744
|
const { code } = params
|
|
1628
|
-
|
|
1629
|
-
|
|
1630
|
-
|
|
1745
|
+
if (code) {
|
|
1746
|
+
const isUf = ['reload', 'delete', 'save'].includes(code)
|
|
1747
|
+
if (isUf) {
|
|
1748
|
+
internalData.uFoot = true
|
|
1631
1749
|
}
|
|
1632
|
-
|
|
1750
|
+
const rest = $xeGantt.commitProxy(params, evnt).then((rest) => {
|
|
1751
|
+
if (code && rest && rest.status && ['query', 'reload', 'delete', 'save'].includes(code)) {
|
|
1752
|
+
$xeGantt.dispatchEvent(code === 'delete' || code === 'save' ? `proxy-${code as 'delete' | 'save'}` : 'proxy-query', { ...rest, isReload: code === 'reload' }, evnt)
|
|
1753
|
+
}
|
|
1754
|
+
})
|
|
1755
|
+
if (isUf) {
|
|
1756
|
+
$xeGantt.updateQueryFooter()
|
|
1757
|
+
}
|
|
1758
|
+
internalData.uFoot = false
|
|
1759
|
+
return rest
|
|
1760
|
+
}
|
|
1633
1761
|
},
|
|
1634
1762
|
triggerToolbarBtnEvent (button: any, evnt: any) {
|
|
1635
1763
|
const $xeGantt = this
|