vxe-table 3.7.8 → 3.7.9-beta.0

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 (58) hide show
  1. package/helper/vetur/attributes.json +8 -0
  2. package/helper/vetur/tags.json +3 -1
  3. package/lib/grid/src/grid.js +151 -70
  4. package/lib/grid/src/grid.min.js +1 -1
  5. package/lib/icon/style/style.css +9 -1
  6. package/lib/icon/style/style.min.css +9 -1
  7. package/lib/index.css +1 -1
  8. package/lib/index.umd.js +240 -82
  9. package/lib/index.umd.min.js +1 -1
  10. package/lib/locale/lang/en-US.js +9 -1
  11. package/lib/locale/lang/en-US.min.js +1 -1
  12. package/lib/locale/lang/en-US.umd.js +9 -1
  13. package/lib/locale/lang/ja-JP.js +9 -1
  14. package/lib/locale/lang/ja-JP.min.js +1 -1
  15. package/lib/locale/lang/ja-JP.umd.js +9 -1
  16. package/lib/locale/lang/zh-CN.js +9 -1
  17. package/lib/locale/lang/zh-CN.min.js +1 -1
  18. package/lib/locale/lang/zh-CN.umd.js +9 -1
  19. package/lib/locale/lang/zh-HK.min.js +1 -1
  20. package/lib/locale/lang/zh-HK.umd.js +9 -1
  21. package/lib/locale/lang/zh-MO.min.js +1 -1
  22. package/lib/locale/lang/zh-MO.umd.js +9 -1
  23. package/lib/locale/lang/zh-TC.js +9 -1
  24. package/lib/locale/lang/zh-TC.min.js +1 -1
  25. package/lib/locale/lang/zh-TC.umd.js +9 -1
  26. package/lib/locale/lang/zh-TW.min.js +1 -1
  27. package/lib/locale/lang/zh-TW.umd.js +9 -1
  28. package/lib/pager/src/pager.js +62 -6
  29. package/lib/pager/src/pager.min.js +1 -1
  30. package/lib/style.css +1 -1
  31. package/lib/style.min.css +1 -1
  32. package/lib/table/src/methods.js +24 -9
  33. package/lib/table/src/methods.min.js +1 -1
  34. package/lib/tools/log.js +1 -1
  35. package/lib/tools/log.min.js +1 -1
  36. package/lib/v-x-e-table/index.js +1 -1
  37. package/lib/v-x-e-table/index.min.js +1 -1
  38. package/lib/v-x-e-table/src/conf.js +2 -0
  39. package/lib/v-x-e-table/src/conf.min.js +1 -1
  40. package/lib/v-x-e-table/style/style.css +9 -1
  41. package/lib/v-x-e-table/style/style.min.css +1 -1
  42. package/package.json +2 -2
  43. package/packages/grid/src/grid.js +147 -73
  44. package/packages/locale/lang/en-US.js +9 -1
  45. package/packages/locale/lang/ja-JP.js +9 -1
  46. package/packages/locale/lang/zh-CN.js +9 -1
  47. package/packages/locale/lang/zh-TC.js +9 -1
  48. package/packages/pager/src/pager.js +65 -6
  49. package/packages/table/src/methods.js +20 -8
  50. package/packages/v-x-e-table/src/conf.js +2 -0
  51. package/styles/icon.scss +10 -1
  52. package/types/pager.d.ts +1 -1
  53. /package/lib/icon/style/{iconfont.1705365451437.ttf → iconfont.1705883476685.ttf} +0 -0
  54. /package/lib/icon/style/{iconfont.1705365451437.woff → iconfont.1705883476685.woff} +0 -0
  55. /package/lib/icon/style/{iconfont.1705365451437.woff2 → iconfont.1705883476685.woff2} +0 -0
  56. /package/lib/{iconfont.1705365451437.ttf → iconfont.1705883476685.ttf} +0 -0
  57. /package/lib/{iconfont.1705365451437.woff → iconfont.1705883476685.woff} +0 -0
  58. /package/lib/{iconfont.1705365451437.woff2 → iconfont.1705883476685.woff2} +0 -0
package/lib/index.umd.js CHANGED
@@ -10373,6 +10373,8 @@ var iconPrefix = 'vxe-icon-';
10373
10373
  SELECT_OPEN: iconPrefix + 'caret-down rotate180',
10374
10374
  SELECT_CLOSE: iconPrefix + 'caret-down',
10375
10375
  // pager
10376
+ PAGER_HOME: iconPrefix + 'home-page',
10377
+ PAGER_END: iconPrefix + 'end-page',
10376
10378
  PAGER_JUMP_PREV: iconPrefix + 'arrow-double-left',
10377
10379
  PAGER_JUMP_NEXT: iconPrefix + 'arrow-double-right',
10378
10380
  PAGER_PREV_PAGE: iconPrefix + 'arrow-left',
@@ -10591,7 +10593,7 @@ var es_array_concat = __webpack_require__(2222);
10591
10593
 
10592
10594
 
10593
10595
  function getLog(message, params) {
10594
- return "[vxe-table v".concat("3.7.8", "] ").concat(conf.i18n(message, params));
10596
+ return "[vxe-table v".concat("3.7.9-beta.0", "] ").concat(conf.i18n(message, params));
10595
10597
  }
10596
10598
  function outLog(type) {
10597
10599
  return function (message, params) {
@@ -12023,7 +12025,7 @@ var setup = config;
12023
12025
  var globalStore = {};
12024
12026
  var VXETable = {
12025
12027
  v: v,
12026
- version: "3.7.8",
12028
+ version: "3.7.9-beta.0",
12027
12029
  reg: reg,
12028
12030
  use: use,
12029
12031
  setup: setup,
@@ -16832,12 +16834,14 @@ var Methods = {
16832
16834
  * 如果存在排序,继续处理
16833
16835
  */
16834
16836
  getTableData: function getTableData() {
16835
- var tableFullData = this.tableFullData,
16837
+ var treeConfig = this.treeConfig,
16838
+ tableFullData = this.tableFullData,
16836
16839
  afterFullData = this.afterFullData,
16837
16840
  tableData = this.tableData,
16838
- footerTableData = this.footerTableData;
16841
+ footerTableData = this.footerTableData,
16842
+ tableFullTreeData = this.tableFullTreeData;
16839
16843
  return {
16840
- fullData: tableFullData.slice(0),
16844
+ fullData: treeConfig ? tableFullTreeData.slice(0) : tableFullData.slice(0),
16841
16845
  visibleData: afterFullData.slice(0),
16842
16846
  tableData: tableData.slice(0),
16843
16847
  footerData: footerTableData.slice(0)
@@ -16885,9 +16889,22 @@ var Methods = {
16885
16889
  * 设置为固定列
16886
16890
  */
16887
16891
  setColumnFixed: function setColumnFixed(fieldOrColumn, fixed) {
16892
+ var isMaxFixedColumn = this.isMaxFixedColumn,
16893
+ columnOpts = this.columnOpts;
16894
+ var maxFixedSize = columnOpts.maxFixedSize;
16888
16895
  var column = handleFieldOrColumn(this, fieldOrColumn);
16889
16896
  var targetColumn = getRootColumn(this, column);
16890
16897
  if (targetColumn && targetColumn.fixed !== fixed) {
16898
+ // 是否超过最大固定列数量
16899
+ if (!targetColumn.fixed && isMaxFixedColumn) {
16900
+ if (v_x_e_table.modal) {
16901
+ v_x_e_table.modal.message({
16902
+ status: 'error',
16903
+ content: conf.i18n('vxe.table.maxFixedCol', [maxFixedSize])
16904
+ });
16905
+ }
16906
+ return this.$nextTick();
16907
+ }
16891
16908
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree([targetColumn], function (column) {
16892
16909
  column.fixed = fixed;
16893
16910
  });
@@ -33637,6 +33654,152 @@ function getTableOns(_vm) {
33637
33654
  }
33638
33655
  return ons;
33639
33656
  }
33657
+
33658
+ /**
33659
+ * 渲染表单
33660
+ */
33661
+ function renderForms(h, _vm) {
33662
+ var _e = _vm._e,
33663
+ $scopedSlots = _vm.$scopedSlots,
33664
+ formConfig = _vm.formConfig;
33665
+ var formSlot = $scopedSlots.form;
33666
+ var hasForm = !!(formSlot || isEnableConf(formConfig));
33667
+ return hasForm ? h('div', {
33668
+ key: 'form',
33669
+ ref: 'formWrapper',
33670
+ class: 'vxe-grid--form-wrapper'
33671
+ }, formSlot ? formSlot.call(_vm, {
33672
+ $grid: _vm
33673
+ }, h) : renderDefaultForm(h, _vm)) : _e();
33674
+ }
33675
+
33676
+ /**
33677
+ * 渲染工具栏
33678
+ */
33679
+ function renderToolbars(h, _vm) {
33680
+ var _e = _vm._e,
33681
+ $scopedSlots = _vm.$scopedSlots,
33682
+ toolbarConfig = _vm.toolbarConfig,
33683
+ toolbar = _vm.toolbar;
33684
+ var toolbarSlot = $scopedSlots.toolbar;
33685
+ var hasToolbar = !!(toolbarSlot || isEnableConf(toolbarConfig) || toolbar);
33686
+ return hasToolbar ? h('div', {
33687
+ key: 'toolbar',
33688
+ ref: 'toolbarWrapper',
33689
+ class: 'vxe-grid--toolbar-wrapper'
33690
+ }, toolbarSlot ? toolbarSlot.call(_vm, {
33691
+ $grid: _vm
33692
+ }, h) : [h('vxe-toolbar', {
33693
+ props: _vm.toolbarOpts,
33694
+ ref: 'xToolbar',
33695
+ scopedSlots: getToolbarSlots(_vm)
33696
+ })]) : _e();
33697
+ }
33698
+
33699
+ /**
33700
+ * 渲染表格顶部区域
33701
+ */
33702
+ function renderTops(h, _vm) {
33703
+ var _e = _vm._e,
33704
+ $scopedSlots = _vm.$scopedSlots;
33705
+ var topSlot = $scopedSlots.top;
33706
+ return topSlot ? h('div', {
33707
+ key: 'top',
33708
+ ref: 'topWrapper',
33709
+ class: 'vxe-grid--top-wrapper'
33710
+ }, topSlot.call(_vm, {
33711
+ $grid: _vm
33712
+ }, h)) : _e();
33713
+ }
33714
+
33715
+ /**
33716
+ * 渲染表格
33717
+ */
33718
+ function renderTables(h, _vm) {
33719
+ var $scopedSlots = _vm.$scopedSlots,
33720
+ tableProps = _vm.tableProps;
33721
+ return h('vxe-table', {
33722
+ key: 'table',
33723
+ props: tableProps,
33724
+ on: getTableOns(_vm),
33725
+ scopedSlots: $scopedSlots,
33726
+ ref: 'xTable'
33727
+ });
33728
+ }
33729
+
33730
+ /**
33731
+ * 渲染表格底部区域
33732
+ */
33733
+ function renderBottoms(h, _vm) {
33734
+ var _e = _vm._e,
33735
+ $scopedSlots = _vm.$scopedSlots;
33736
+ var bottomSlot = $scopedSlots.bottom;
33737
+ return bottomSlot ? h('div', {
33738
+ key: 'bottom',
33739
+ ref: 'bottomWrapper',
33740
+ class: 'vxe-grid--bottom-wrapper'
33741
+ }, bottomSlot.call(_vm, {
33742
+ $grid: _vm
33743
+ }, h)) : _e();
33744
+ }
33745
+
33746
+ /**
33747
+ * 渲染分页
33748
+ */
33749
+ function renderPagers(h, _vm) {
33750
+ var _e = _vm._e,
33751
+ $scopedSlots = _vm.$scopedSlots,
33752
+ pagerConfig = _vm.pagerConfig,
33753
+ proxyConfig = _vm.proxyConfig,
33754
+ tablePage = _vm.tablePage;
33755
+ var pagerSlot = $scopedSlots.pager;
33756
+ var hasPager = !!(pagerSlot || isEnableConf(pagerConfig));
33757
+ return hasPager ? h('div', {
33758
+ key: 'pager',
33759
+ ref: 'pagerWrapper',
33760
+ class: 'vxe-grid--pager-wrapper'
33761
+ }, pagerSlot ? pagerSlot.call(_vm, {
33762
+ $grid: _vm
33763
+ }, h) : [h('vxe-pager', {
33764
+ props: _objectSpread2(_objectSpread2({}, _vm.pagerOpts), proxyConfig ? tablePage : {}),
33765
+ on: {
33766
+ 'page-change': _vm.pageChangeEvent
33767
+ },
33768
+ scopedSlots: getPagerSlots(_vm)
33769
+ })]) : _e();
33770
+ }
33771
+ var defaultLayouts = ['Form', 'Toolbar', 'Top', 'Table', 'Bottom', 'Pager'];
33772
+ function renderLayout(h, _vm) {
33773
+ var layouts = _vm.layouts;
33774
+ var vns = [];
33775
+ var currLayouts = layouts && layouts.length ? layouts : conf.grid.layouts || defaultLayouts;
33776
+ currLayouts.forEach(function (name) {
33777
+ switch (name) {
33778
+ case 'Form':
33779
+ vns.push(renderForms(h, _vm));
33780
+ break;
33781
+ case 'Toolbar':
33782
+ vns.push(renderToolbars(h, _vm));
33783
+ break;
33784
+ case 'Top':
33785
+ vns.push(renderTops(h, _vm));
33786
+ break;
33787
+ case 'Table':
33788
+ vns.push(renderTables(h, _vm));
33789
+ break;
33790
+ case 'Bottom':
33791
+ vns.push(renderBottoms(h, _vm));
33792
+ break;
33793
+ case 'Pager':
33794
+ vns.push(renderPagers(h, _vm));
33795
+ break;
33796
+ default:
33797
+ if (false) {}
33798
+ break;
33799
+ }
33800
+ });
33801
+ return vns;
33802
+ }
33640
33803
  Object.keys(packages_table.methods).forEach(function (name) {
33641
33804
  grid_methods[name] = function () {
33642
33805
  var _this$$refs$xTable;
@@ -33647,6 +33810,7 @@ Object.keys(packages_table.methods).forEach(function (name) {
33647
33810
  name: 'VxeGrid',
33648
33811
  mixins: [size],
33649
33812
  props: _objectSpread2(_objectSpread2({}, packages_table.props), {}, {
33813
+ layouts: Array,
33650
33814
  columns: Array,
33651
33815
  pagerConfig: [Boolean, Object],
33652
33816
  proxyConfig: Object,
@@ -33797,80 +33961,12 @@ Object.keys(packages_table.methods).forEach(function (name) {
33797
33961
  },
33798
33962
  render: function render(h) {
33799
33963
  var _ref;
33800
- var $scopedSlots = this.$scopedSlots,
33801
- vSize = this.vSize,
33964
+ var vSize = this.vSize,
33802
33965
  isZMax = this.isZMax;
33803
- var hasForm = !!($scopedSlots.form || isEnableConf(this.formConfig));
33804
- var hasToolbar = !!($scopedSlots.toolbar || isEnableConf(this.toolbarConfig) || this.toolbar);
33805
- var hasPager = !!($scopedSlots.pager || isEnableConf(this.pagerConfig));
33806
33966
  return h('div', {
33807
33967
  class: ['vxe-grid', (_ref = {}, _defineProperty(_ref, "size--".concat(vSize), vSize), _defineProperty(_ref, 'is--animat', !!this.animat), _defineProperty(_ref, 'is--round', this.round), _defineProperty(_ref, 'is--maximize', isZMax), _defineProperty(_ref, 'is--loading', this.loading || this.tableLoading), _ref)],
33808
33968
  style: this.renderStyle
33809
- }, [
33810
- /**
33811
- * 渲染表单
33812
- */
33813
- hasForm ? h('div', {
33814
- ref: 'formWrapper',
33815
- class: 'vxe-grid--form-wrapper'
33816
- }, $scopedSlots.form ? $scopedSlots.form.call(this, {
33817
- $grid: this
33818
- }, h) : renderDefaultForm(h, this)) : null,
33819
- /**
33820
- * 渲染工具栏
33821
- */
33822
- hasToolbar ? h('div', {
33823
- ref: 'toolbarWrapper',
33824
- class: 'vxe-grid--toolbar-wrapper'
33825
- }, $scopedSlots.toolbar ? $scopedSlots.toolbar.call(this, {
33826
- $grid: this
33827
- }, h) : [h('vxe-toolbar', {
33828
- props: this.toolbarOpts,
33829
- ref: 'xToolbar',
33830
- scopedSlots: getToolbarSlots(this)
33831
- })]) : null,
33832
- /**
33833
- * 渲染表格顶部区域
33834
- */
33835
- $scopedSlots.top ? h('div', {
33836
- ref: 'topWrapper',
33837
- class: 'vxe-grid--top-wrapper'
33838
- }, $scopedSlots.top.call(this, {
33839
- $grid: this
33840
- }, h)) : null,
33841
- /**
33842
- * 渲染表格
33843
- */
33844
- h('vxe-table', {
33845
- props: this.tableProps,
33846
- on: getTableOns(this),
33847
- scopedSlots: $scopedSlots,
33848
- ref: 'xTable'
33849
- }),
33850
- /**
33851
- * 渲染表格底部区域
33852
- */
33853
- $scopedSlots.bottom ? h('div', {
33854
- ref: 'bottomWrapper',
33855
- class: 'vxe-grid--bottom-wrapper'
33856
- }, $scopedSlots.bottom.call(this, {
33857
- $grid: this
33858
- }, h)) : null,
33859
- /**
33860
- * 渲染分页
33861
- */
33862
- hasPager ? h('div', {
33863
- ref: 'pagerWrapper',
33864
- class: 'vxe-grid--pager-wrapper'
33865
- }, $scopedSlots.pager ? $scopedSlots.pager.call(this, {
33866
- $grid: this
33867
- }, h) : [h('vxe-pager', {
33868
- props: _objectSpread2(_objectSpread2({}, this.pagerOpts), this.proxyConfig ? this.tablePage : {}),
33869
- on: {
33870
- 'page-change': this.pageChangeEvent
33871
- },
33872
- scopedSlots: getPagerSlots(this)
33873
- })]) : null]);
33969
+ }, renderLayout(h, this));
33874
33970
  },
33875
33971
  methods: _objectSpread2(_objectSpread2({}, grid_methods), {}, {
33876
33972
  callSlot: function callSlot(slotFunc, params, h, vNodes) {
@@ -35438,6 +35534,7 @@ var Toolbar = Object.assign(toolbar, {
35438
35534
 
35439
35535
 
35440
35536
 
35537
+
35441
35538
  /* harmony default export */ var pager = ({
35442
35539
  name: 'VxePager',
35443
35540
  mixins: [size],
@@ -35535,7 +35632,9 @@ var Toolbar = Object.assign(toolbar, {
35535
35632
  iconJumpPrev: String,
35536
35633
  iconJumpNext: String,
35537
35634
  iconNextPage: String,
35538
- iconJumpMore: String
35635
+ iconJumpMore: String,
35636
+ iconHomePage: String,
35637
+ iconEndPage: String
35539
35638
  },
35540
35639
  inject: {
35541
35640
  $xegrid: {
@@ -35604,7 +35703,11 @@ var Toolbar = Object.assign(toolbar, {
35604
35703
  })));
35605
35704
  }
35606
35705
  this.layouts.forEach(function (name) {
35607
- childNodes.push(_this["render".concat(name)](h));
35706
+ if (_this["render".concat(name)](h)) {
35707
+ childNodes.push(_this["render".concat(name)](h));
35708
+ } else {
35709
+ if (false) {}
35710
+ }
35608
35711
  });
35609
35712
  if ($scopedSlots.right) {
35610
35713
  childNodes.push(h('span', {
@@ -35622,6 +35725,40 @@ var Toolbar = Object.assign(toolbar, {
35622
35725
  }, childNodes)]);
35623
35726
  },
35624
35727
  methods: {
35728
+ // 首页
35729
+ renderHome: function renderHome(h) {
35730
+ return h('button', {
35731
+ class: ['vxe-pager--prev-btn', {
35732
+ 'is--disabled': this.currentPage <= 1
35733
+ }],
35734
+ attrs: {
35735
+ type: 'button',
35736
+ title: conf.i18n('vxe.pager.homePageTitle')
35737
+ },
35738
+ on: {
35739
+ click: this.homePage
35740
+ }
35741
+ }, [h('i', {
35742
+ class: ['vxe-pager--btn-icon', this.iconHomePage || conf.icon.PAGER_HOME]
35743
+ })]);
35744
+ },
35745
+ // 末页
35746
+ renderEnd: function renderEnd(h) {
35747
+ return h('button', {
35748
+ class: ['vxe-pager--prev-btn', {
35749
+ 'is--disabled': this.currentPage <= 1
35750
+ }],
35751
+ attrs: {
35752
+ type: 'button',
35753
+ title: conf.i18n('vxe.pager.endPageTitle')
35754
+ },
35755
+ on: {
35756
+ click: this.endPage
35757
+ }
35758
+ }, [h('i', {
35759
+ class: ['vxe-pager--btn-icon', this.iconEndPage || conf.icon.PAGER_END]
35760
+ })]);
35761
+ },
35625
35762
  // 上一页
35626
35763
  renderPrevPage: function renderPrevPage(h) {
35627
35764
  return h('button', {
@@ -35630,7 +35767,7 @@ var Toolbar = Object.assign(toolbar, {
35630
35767
  }],
35631
35768
  attrs: {
35632
35769
  type: 'button',
35633
- title: conf.i18n('vxe.pager.prevPage')
35770
+ title: conf.i18n('vxe.pager.prevPageTitle')
35634
35771
  },
35635
35772
  on: {
35636
35773
  click: this.prevPage
@@ -35648,7 +35785,7 @@ var Toolbar = Object.assign(toolbar, {
35648
35785
  }],
35649
35786
  attrs: {
35650
35787
  type: 'button',
35651
- title: conf.i18n('vxe.pager.prevJump')
35788
+ title: conf.i18n('vxe.pager.prevJumpTitle')
35652
35789
  },
35653
35790
  on: {
35654
35791
  click: this.prevJump
@@ -35680,7 +35817,7 @@ var Toolbar = Object.assign(toolbar, {
35680
35817
  }],
35681
35818
  attrs: {
35682
35819
  type: 'button',
35683
- title: conf.i18n('vxe.pager.nextJump')
35820
+ title: conf.i18n('vxe.pager.nextJumpTitle')
35684
35821
  },
35685
35822
  on: {
35686
35823
  click: this.nextJump
@@ -35699,7 +35836,7 @@ var Toolbar = Object.assign(toolbar, {
35699
35836
  }],
35700
35837
  attrs: {
35701
35838
  type: 'button',
35702
- title: conf.i18n('vxe.pager.nextPage')
35839
+ title: conf.i18n('vxe.pager.nextPageTitle')
35703
35840
  },
35704
35841
  on: {
35705
35842
  click: this.nextPage
@@ -35839,6 +35976,19 @@ var Toolbar = Object.assign(toolbar, {
35839
35976
  getPageCount: function getPageCount(total, size) {
35840
35977
  return Math.max(Math.ceil(total / size), 1);
35841
35978
  },
35979
+ homePage: function homePage() {
35980
+ var currentPage = this.currentPage;
35981
+ if (currentPage > 1) {
35982
+ this.jumpPage(1);
35983
+ }
35984
+ },
35985
+ endPage: function endPage() {
35986
+ var currentPage = this.currentPage,
35987
+ pageCount = this.pageCount;
35988
+ if (currentPage < pageCount) {
35989
+ this.jumpPage(pageCount);
35990
+ }
35991
+ },
35842
35992
  prevPage: function prevPage() {
35843
35993
  var currentPage = this.currentPage,
35844
35994
  pageCount = this.pageCount;
@@ -39908,10 +40058,18 @@ var Pulldown = Object.assign(pulldown, {
39908
40058
  pagesize: '{0}条/页',
39909
40059
  total: '共 {0} 条记录',
39910
40060
  pageClassifier: '页',
40061
+ homePage: '首页',
40062
+ homePageTitle: '首页',
39911
40063
  prevPage: '上一页',
40064
+ prevPageTitle: '上一页',
39912
40065
  nextPage: '下一页',
40066
+ nextPageTitle: '下一页',
39913
40067
  prevJump: '向上跳页',
39914
- nextJump: '向下跳页'
40068
+ prevJumpTitle: '向上跳页',
40069
+ nextJump: '向下跳页',
40070
+ nextJumpTitle: '向下跳页',
40071
+ endPage: '末页',
40072
+ endPageTitle: '末页'
39915
40073
  },
39916
40074
  alert: {
39917
40075
  title: '消息提示'