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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vxe-table",
3
- "version": "3.22.8",
3
+ "version": "3.22.10",
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",
@@ -65,7 +65,7 @@
65
65
  "vue-i18n": "^8.15.1",
66
66
  "vue-router": "^3.5.1",
67
67
  "vue-template-compiler": "2.6.14",
68
- "vxe-pc-ui": "3.16.22"
68
+ "vxe-pc-ui": "3.16.27"
69
69
  },
70
70
  "vetur": {
71
71
  "tags": "helper/vetur/tags.json",
@@ -656,7 +656,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
656
656
  const proxyOpts = $xeGrid.computeProxyOpts
657
657
  const pagerOpts = $xeGrid.computePagerOpts
658
658
  const toolbarOpts = $xeGrid.computeToolbarOpts
659
- const { beforeQuery, afterQuery, beforeQueryFooter, afterQueryFooter, beforeDelete, afterDelete, beforeSave, afterSave, ajax = {} } = proxyOpts
659
+ const { beforeQuery: oldBeforeQuery, afterQuery: oldAfterQuery, beforeQueryFooter: oldBeforeQueryFooter, afterQueryFooter: oldAfterQueryFooter, beforeDelete: oldBeforeDelete, afterDelete: oldAfterDelete, beforeSave: oldBeforeSave, afterSave: oldAfterSave, ajax = {} } = proxyOpts
660
660
  const resConfigs = (proxyOpts.response || proxyOpts.props || {}) as VxeGridDefines.ProxyConfigResponseConfig
661
661
  const $xeTable = $xeGrid.$refs.refTable as VxeTableConstructor & VxeTablePrivateMethods
662
662
  let formData = $xeGrid.getFormData()
@@ -706,10 +706,12 @@ export default /* define-vxe-component start */ defineVxeComponent({
706
706
  case 'initial':
707
707
  case 'reload':
708
708
  case 'query': {
709
- const qMethods = ajax.query
710
- const qsMethods = ajax.querySuccess
711
- const qeMethods = ajax.queryError
712
- if (qMethods) {
709
+ const bqMethod = ajax.beforeQuery
710
+ const qMethod = ajax.query
711
+ const aqMethod = ajax.afterQuery
712
+ const qsMethod = ajax.querySuccess
713
+ const qeMethod = ajax.queryError
714
+ if (qMethod) {
713
715
  const isInited = code === 'initial'
714
716
  const isReload = code === 'reload'
715
717
  if (!isInited && reactData.tableLoading) {
@@ -787,119 +789,164 @@ export default /* define-vxe-component start */ defineVxeComponent({
787
789
  sorts: sortList,
788
790
  filters: filterList,
789
791
  form: formData,
790
- options: qMethods
792
+ options: qMethod
791
793
  }
792
- reactData.sortData = sortList
793
- reactData.filterData = filterList
794
- reactData.tableLoading = true
795
- return Promise.all([
796
- Promise.resolve((beforeQuery || qMethods)(commitParams, ...args)),
797
- operPromise
798
- ]).then(([rest]) => {
799
- let tableData: any[] = []
800
- reactData.tableLoading = false
801
- if (rest) {
802
- const reParams = { data: rest, $table: $xeTable, $grid: $xeGrid as VxeGridConstructor, $gantt: null }
803
- if (pagerConfig && isEnableConf(pagerOpts)) {
804
- const totalProp = resConfigs.total
805
- const total = (XEUtils.isFunction(totalProp) ? totalProp(reParams) : XEUtils.get(rest, totalProp || 'page.total')) || 0
806
- tablePage.total = XEUtils.toNumber(total)
807
- const resultProp = resConfigs.result
808
- tableData = (XEUtils.isFunction(resultProp) ? resultProp(reParams) : XEUtils.get(rest, resultProp || 'result')) || []
809
- // 检验当前页码,不能超出当前最大页数
810
- const pageCount = Math.max(Math.ceil(total / tablePage.pageSize), 1)
811
- if (tablePage.currentPage > pageCount) {
812
- tablePage.currentPage = pageCount
813
- }
794
+ const handleQuery = () => {
795
+ reactData.sortData = sortList
796
+ reactData.filterData = filterList
797
+ reactData.tableLoading = true
798
+ return Promise.all([
799
+ Promise.resolve((oldBeforeQuery || qMethod)(commitParams, ...args)),
800
+ operPromise
801
+ ]).then(([rest]) => {
802
+ reactData.tableLoading = false
803
+ if (aqMethod) {
804
+ aqMethod({ ...commitParams, response: rest, status: 'success' }, ...args)
814
805
  } else {
815
- const listProp = resConfigs.list
816
- if (XEUtils.isArray(rest)) {
817
- tableData = rest
818
- } else if (listProp) {
819
- tableData = (XEUtils.isFunction(listProp) ? listProp(reParams) : XEUtils.get(rest, listProp)) || []
820
- }
821
- }
822
- if (showFooter) {
823
- const fdProp = resConfigs.footerData
824
- const footerList = fdProp ? (XEUtils.isFunction(fdProp) ? fdProp(reParams) : XEUtils.get(rest, fdProp)) : []
825
- if (XEUtils.isArray(footerList)) {
826
- reactData.footerData = footerList
806
+ let tableData: any[] = []
807
+ if (rest) {
808
+ const reParams = { data: rest, $table: $xeTable, $grid: $xeGrid as VxeGridConstructor, $gantt: null }
809
+ if (pagerConfig && isEnableConf(pagerOpts)) {
810
+ const totalProp = resConfigs.total
811
+ const total = (XEUtils.isFunction(totalProp) ? totalProp(reParams) : XEUtils.get(rest, totalProp || 'page.total')) || 0
812
+ tablePage.total = XEUtils.toNumber(total)
813
+ const resultProp = resConfigs.result
814
+ tableData = (XEUtils.isFunction(resultProp) ? resultProp(reParams) : XEUtils.get(rest, resultProp || 'result')) || []
815
+ // 检验当前页码,不能超出当前最大页数
816
+ const pageCount = Math.max(Math.ceil(total / tablePage.pageSize), 1)
817
+ if (tablePage.currentPage > pageCount) {
818
+ tablePage.currentPage = pageCount
819
+ }
820
+ } else {
821
+ const listProp = resConfigs.list
822
+ if (XEUtils.isArray(rest)) {
823
+ tableData = rest
824
+ } else if (listProp) {
825
+ tableData = (XEUtils.isFunction(listProp) ? listProp(reParams) : XEUtils.get(rest, listProp)) || []
826
+ }
827
+ }
828
+ if (showFooter) {
829
+ const fdProp = resConfigs.footerData
830
+ const footerList = fdProp ? (XEUtils.isFunction(fdProp) ? fdProp(reParams) : XEUtils.get(rest, fdProp)) : []
831
+ if (XEUtils.isArray(footerList)) {
832
+ reactData.footerData = footerList
833
+ }
834
+ }
827
835
  }
828
- }
829
- }
830
- if ($xeTable) {
831
- $xeTable.loadData(tableData)
832
- } else {
833
- $xeGrid.$nextTick(() => {
834
- const $xeTable = $xeGrid.$refs.refTable as VxeTableConstructor & VxeTablePrivateMethods
835
836
  if ($xeTable) {
836
837
  $xeTable.loadData(tableData)
838
+ } else {
839
+ $xeGrid.$nextTick(() => {
840
+ const $xeTable = $xeGrid.$refs.refTable as VxeTableConstructor & VxeTablePrivateMethods
841
+ if ($xeTable) {
842
+ $xeTable.loadData(tableData)
843
+ }
844
+ })
837
845
  }
838
- })
839
- }
840
- if (afterQuery) {
841
- afterQuery(commitParams, ...args)
842
- }
843
- if (qsMethods) {
844
- qsMethods({ ...commitParams, response: rest })
845
- }
846
- return { status: true }
847
- }).catch((rest) => {
848
- reactData.tableLoading = false
849
- if (qeMethods) {
850
- qeMethods({ ...commitParams, response: rest })
851
- }
852
- return { status: false }
853
- })
846
+ if (oldAfterQuery) {
847
+ oldAfterQuery({ ...commitParams, response: rest }, ...args)
848
+ }
849
+ }
850
+ if (qsMethod) {
851
+ qsMethod({ ...commitParams, response: rest })
852
+ }
853
+ return { status: true }
854
+ }).catch((rest) => {
855
+ reactData.tableLoading = false
856
+ if (aqMethod) {
857
+ aqMethod({ ...commitParams, response: rest, status: 'error' }, ...args)
858
+ }
859
+ if (qeMethod) {
860
+ qeMethod({ ...commitParams, response: rest })
861
+ }
862
+ return { status: false }
863
+ })
864
+ }
865
+ if (bqMethod) {
866
+ return Promise.resolve(bqMethod(commitParams, ...args)).then(status => {
867
+ if (status !== false) {
868
+ return handleQuery()
869
+ }
870
+ })
871
+ }
872
+ return handleQuery()
854
873
  } else {
855
874
  errLog('vxe.error.notFunc', ['proxy-config.ajax.query'])
856
875
  }
857
876
  break
858
877
  }
859
878
  case 'queryFooter': {
860
- const qfMethods = ajax.queryFooter
861
- const qfSuccessMethods = ajax.queryFooterSuccess
862
- const qfErrorMethods = ajax.queryFooterError
863
- if (qfMethods) {
879
+ const bqfMethod = ajax.beforeQueryFooter
880
+ const qfMethod = ajax.queryFooter
881
+ const aqfMethod = ajax.afterQueryFooter
882
+ const qfSuccessMethod = ajax.queryFooterSuccess
883
+ const qfErrorMethod = ajax.queryFooterError
884
+ if (qfMethod) {
864
885
  let filterList: VxeTableDefines.FilterCheckedParams[] = []
865
886
  if ($xeTable) {
866
887
  filterList = $xeTable.getCheckedFilters()
867
888
  }
889
+ let pageParams: any = {}
890
+ if (pagerConfig) {
891
+ if (isEnableConf(pagerConfig)) {
892
+ pageParams = { ...tablePage }
893
+ }
894
+ }
868
895
  const commitParams = {
869
896
  $table: $xeTable,
870
897
  $grid: $xeGrid,
871
898
  $gantt: null,
872
899
  code,
873
900
  button,
901
+ page: pageParams,
874
902
  filters: filterList,
875
903
  form: formData,
876
- options: qfMethods
904
+ options: qfMethod
877
905
  }
878
- return Promise.resolve((beforeQueryFooter || qfMethods)(commitParams, ...args)).then(rest => {
879
- reactData.footerData = XEUtils.isArray(rest) ? rest : []
880
- if (afterQueryFooter) {
881
- afterQueryFooter(commitParams, ...args)
882
- }
883
- if (qfSuccessMethods) {
884
- qfSuccessMethods({ ...commitParams, response: rest })
885
- }
886
- return { status: true }
887
- }).catch((rest) => {
888
- if (qfErrorMethods) {
889
- qfErrorMethods({ ...commitParams, response: rest })
890
- }
891
- return { status: false }
892
- })
906
+ const handleQueryFooter = () => {
907
+ return Promise.resolve((oldBeforeQueryFooter || qfMethod)(commitParams, ...args)).then(rest => {
908
+ if (aqfMethod) {
909
+ aqfMethod({ ...commitParams, response: rest, status: 'success' }, ...args)
910
+ } else {
911
+ reactData.footerData = XEUtils.isArray(rest) ? rest : []
912
+ if (oldAfterQueryFooter) {
913
+ oldAfterQueryFooter({ ...commitParams, response: rest }, ...args)
914
+ }
915
+ }
916
+ if (qfSuccessMethod) {
917
+ qfSuccessMethod({ ...commitParams, response: rest })
918
+ }
919
+ return { status: true }
920
+ }).catch((rest) => {
921
+ if (aqfMethod) {
922
+ aqfMethod({ ...commitParams, response: rest, status: 'error' }, ...args)
923
+ }
924
+ if (qfErrorMethod) {
925
+ qfErrorMethod({ ...commitParams, response: rest })
926
+ }
927
+ return { status: false }
928
+ })
929
+ }
930
+ if (bqfMethod) {
931
+ return Promise.resolve(bqfMethod(commitParams, ...args)).then(status => {
932
+ if (status !== false) {
933
+ return handleQueryFooter()
934
+ }
935
+ })
936
+ }
937
+ return handleQueryFooter()
893
938
  } else {
894
939
  errLog('vxe.error.notFunc', ['proxy-config.ajax.queryFooter'])
895
940
  }
896
941
  break
897
942
  }
898
943
  case 'delete': {
899
- const dMethods = ajax.delete
900
- const deleteSuccessMethods = ajax.deleteSuccess
901
- const deleteErrorMethods = ajax.deleteError
902
- if (dMethods) {
944
+ const bdMethod = ajax.beforeDelete
945
+ const dMethod = ajax.delete
946
+ const adMethod = ajax.afterDelete
947
+ const deleteSuccessMethod = ajax.deleteSuccess
948
+ const deleteErrorMethod = ajax.deleteError
949
+ if (dMethod) {
903
950
  const selectRecords = $xeTable.getCheckboxRecords()
904
951
  const removeRecords = selectRecords.filter((row) => !$xeTable.isInsertByRow(row))
905
952
  const body = { removeRecords }
@@ -911,49 +958,67 @@ export default /* define-vxe-component start */ defineVxeComponent({
911
958
  button,
912
959
  body,
913
960
  form: formData,
914
- options: dMethods
961
+ options: dMethod
915
962
  }
916
- const applyArgs = [commitParams].concat(args)
917
963
  if (selectRecords.length) {
918
964
  return $xeGrid.handleDeleteRow(code, 'vxe.grid.deleteSelectRecord', () => {
919
965
  if (!removeRecords.length) {
920
966
  return $xeTable.remove(selectRecords)
921
967
  }
922
- reactData.tableLoading = true
923
- return Promise.resolve((beforeDelete || dMethods)(...applyArgs))
924
- .then(rest => {
925
- reactData.tableLoading = false
926
- $xeTable.setPendingRow(removeRecords, false)
927
- if (isRespMsg) {
928
- if (VxeUI.modal) {
929
- VxeUI.modal.message({ content: $xeGrid.getRespMsg(rest, 'vxe.grid.delSuccess'), status: 'success' })
968
+ const handleDelete = () => {
969
+ reactData.tableLoading = true
970
+ return Promise.resolve((oldBeforeDelete || dMethod)(commitParams, ...args))
971
+ .then(rest => {
972
+ reactData.tableLoading = false
973
+ if (adMethod) {
974
+ adMethod({ ...commitParams, response: rest, status: 'success' }, ...args)
975
+ } else {
976
+ $xeTable.setPendingRow(removeRecords, false)
977
+ if (isRespMsg) {
978
+ if (VxeUI.modal) {
979
+ VxeUI.modal.message({ content: $xeGrid.getRespMsg(rest, 'vxe.grid.delSuccess'), status: 'success' })
980
+ }
981
+ }
982
+ if (oldAfterDelete) {
983
+ oldAfterDelete({ ...commitParams, response: rest }, ...args)
984
+ } else {
985
+ internalData.uFoot = true
986
+ $xeGrid.commitProxy('query')
987
+ internalData.uFoot = false
988
+ $xeGrid.updateQueryFooter()
989
+ }
930
990
  }
931
- }
932
- if (afterDelete) {
933
- afterDelete(...applyArgs)
934
- } else {
935
- internalData.uFoot = true
936
- $xeGrid.commitProxy('query')
937
- internalData.uFoot = false
938
- $xeGrid.updateQueryFooter()
939
- }
940
- if (deleteSuccessMethods) {
941
- deleteSuccessMethods({ ...commitParams, response: rest })
942
- }
943
- return { status: true }
944
- })
945
- .catch(rest => {
946
- reactData.tableLoading = false
947
- if (isRespMsg) {
948
- if (VxeUI.modal) {
949
- VxeUI.modal.message({ id: code, content: $xeGrid.getRespMsg(rest, 'vxe.grid.operError'), status: 'error' })
991
+ if (deleteSuccessMethod) {
992
+ deleteSuccessMethod({ ...commitParams, response: rest })
950
993
  }
994
+ return { status: true }
995
+ })
996
+ .catch(rest => {
997
+ reactData.tableLoading = false
998
+ if (adMethod) {
999
+ adMethod({ ...commitParams, response: rest, status: 'error' }, ...args)
1000
+ } else {
1001
+ if (isRespMsg) {
1002
+ if (VxeUI.modal) {
1003
+ VxeUI.modal.message({ id: code, content: $xeGrid.getRespMsg(rest, 'vxe.grid.operError'), status: 'error' })
1004
+ }
1005
+ }
1006
+ }
1007
+ if (deleteErrorMethod) {
1008
+ deleteErrorMethod({ ...commitParams, response: rest })
1009
+ }
1010
+ return { status: false }
1011
+ })
1012
+ }
1013
+
1014
+ if (bdMethod) {
1015
+ return Promise.resolve(bdMethod(commitParams, ...args)).then(status => {
1016
+ if (status !== false) {
1017
+ return handleDelete()
951
1018
  }
952
- if (deleteErrorMethods) {
953
- deleteErrorMethods({ ...commitParams, response: rest })
954
- }
955
- return { status: false }
956
1019
  })
1020
+ }
1021
+ return handleDelete()
957
1022
  })
958
1023
  } else {
959
1024
  if (isActiveMsg) {
@@ -968,10 +1033,12 @@ export default /* define-vxe-component start */ defineVxeComponent({
968
1033
  break
969
1034
  }
970
1035
  case 'save': {
971
- const ajaxMethods = ajax.save
972
- const saveSuccessMethods = ajax.saveSuccess
973
- const saveErrorMethods = ajax.saveError
974
- if (ajaxMethods) {
1036
+ const bSaveMethod = ajax.beforeSave
1037
+ const sMethod = ajax.save
1038
+ const aSaveMethod = ajax.afterSave
1039
+ const sSuccessMethod = ajax.saveSuccess
1040
+ const sErrorMethod = ajax.saveError
1041
+ if (sMethod) {
975
1042
  const body = $xeGrid.getRecordset()
976
1043
  const { insertRecords, removeRecords, updateRecords, pendingRecords } = body
977
1044
  const commitParams = {
@@ -982,9 +1049,8 @@ export default /* define-vxe-component start */ defineVxeComponent({
982
1049
  button,
983
1050
  body,
984
1051
  form: formData,
985
- options: ajaxMethods
1052
+ options: sMethod
986
1053
  }
987
- const applyArgs = [commitParams].concat(args)
988
1054
  // 排除掉新增且标记为删除的数据
989
1055
  if (insertRecords.length) {
990
1056
  body.pendingRecords = pendingRecords.filter((row) => insertRecords.indexOf(row) === -1)
@@ -1004,41 +1070,57 @@ export default /* define-vxe-component start */ defineVxeComponent({
1004
1070
  return
1005
1071
  }
1006
1072
  if (body.insertRecords.length || removeRecords.length || updateRecords.length || body.pendingRecords.length) {
1007
- reactData.tableLoading = true
1008
- return Promise.resolve((beforeSave || ajaxMethods)(...applyArgs))
1009
- .then(rest => {
1010
- reactData.tableLoading = false
1011
- $xeTable.clearPendingRow()
1012
- if (isRespMsg) {
1013
- if (VxeUI.modal) {
1014
- VxeUI.modal.message({ content: $xeGrid.getRespMsg(rest, 'vxe.grid.saveSuccess'), status: 'success' })
1073
+ const handleSave = () => {
1074
+ reactData.tableLoading = true
1075
+ return Promise.resolve((oldBeforeSave || sMethod)(commitParams, ...args))
1076
+ .then(rest => {
1077
+ reactData.tableLoading = false
1078
+ if (aSaveMethod) {
1079
+ $xeTable.clearPendingRow()
1080
+ if (isRespMsg) {
1081
+ if (VxeUI.modal) {
1082
+ VxeUI.modal.message({ content: $xeGrid.getRespMsg(rest, 'vxe.grid.saveSuccess'), status: 'success' })
1083
+ }
1084
+ }
1085
+ if (oldAfterSave) {
1086
+ oldAfterSave({ ...commitParams, response: rest }, ...args)
1087
+ } else {
1088
+ internalData.uFoot = true
1089
+ $xeGrid.commitProxy('query')
1090
+ internalData.uFoot = false
1091
+ $xeGrid.updateQueryFooter()
1092
+ }
1015
1093
  }
1016
- }
1017
- if (afterSave) {
1018
- afterSave(...applyArgs)
1019
- } else {
1020
- internalData.uFoot = true
1021
- $xeGrid.commitProxy('query')
1022
- internalData.uFoot = false
1023
- $xeGrid.updateQueryFooter()
1024
- }
1025
- if (saveSuccessMethods) {
1026
- saveSuccessMethods({ ...commitParams, response: rest })
1027
- }
1028
- return { status: true }
1029
- })
1030
- .catch(rest => {
1031
- reactData.tableLoading = false
1032
- if (isRespMsg) {
1033
- if (VxeUI.modal) {
1034
- VxeUI.modal.message({ id: code, content: $xeGrid.getRespMsg(rest, 'vxe.grid.operError'), status: 'error' })
1094
+ if (sSuccessMethod) {
1095
+ sSuccessMethod({ ...commitParams, response: rest })
1035
1096
  }
1097
+ return { status: true }
1098
+ })
1099
+ .catch(rest => {
1100
+ reactData.tableLoading = false
1101
+ if (aSaveMethod) {
1102
+ aSaveMethod({ ...commitParams, response: rest, status: 'error' }, ...args)
1103
+ } else {
1104
+ if (isRespMsg) {
1105
+ if (VxeUI.modal) {
1106
+ VxeUI.modal.message({ id: code, content: $xeGrid.getRespMsg(rest, 'vxe.grid.operError'), status: 'error' })
1107
+ }
1108
+ }
1109
+ }
1110
+ if (sErrorMethod) {
1111
+ sErrorMethod({ ...commitParams, response: rest })
1112
+ }
1113
+ return { status: false }
1114
+ })
1115
+ }
1116
+ if (bSaveMethod) {
1117
+ return Promise.resolve(bSaveMethod(commitParams, ...args)).then(status => {
1118
+ if (status !== false) {
1119
+ return handleSave()
1036
1120
  }
1037
- if (saveErrorMethods) {
1038
- saveErrorMethods({ ...commitParams, response: rest })
1039
- }
1040
- return { status: false }
1041
1121
  })
1122
+ }
1123
+ return handleSave()
1042
1124
  } else {
1043
1125
  if (isActiveMsg) {
1044
1126
  if (VxeUI.modal) {
@@ -1513,7 +1513,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
1513
1513
  ? [
1514
1514
  h(VxeUIRadioGroupComponent, {
1515
1515
  props: {
1516
- value: column.renderAlign || '',
1516
+ value: column.renderAlign || 'left',
1517
1517
  type: 'button',
1518
1518
  strict: false,
1519
1519
  disabled: isHidden,
@@ -1542,7 +1542,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
1542
1542
  ? [
1543
1543
  h(VxeUIRadioGroupComponent, {
1544
1544
  props: {
1545
- value: column.renderHeaderAlign || '',
1545
+ value: column.renderHeaderAlign || 'left',
1546
1546
  type: 'button',
1547
1547
  strict: false,
1548
1548
  disabled: isHidden,
@@ -1571,7 +1571,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
1571
1571
  ? [
1572
1572
  h(VxeUIRadioGroupComponent, {
1573
1573
  props: {
1574
- value: column.renderFooterAlign || '',
1574
+ value: column.renderFooterAlign || 'left',
1575
1575
  type: 'button',
1576
1576
  strict: false,
1577
1577
  disabled: isHidden,