eoss 0.1.0-alpha.47 → 0.1.0-alpha.49

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 (117) hide show
  1. package/lib/3.js +1 -1
  2. package/lib/autocomplete.js +6 -6
  3. package/lib/ca-login.js +2 -2
  4. package/lib/calendar.js +2 -2
  5. package/lib/cascader-panel.js +2 -2
  6. package/lib/cascader.js +4 -4
  7. package/lib/code-editor.js +2 -2
  8. package/lib/collapse-item.js +2 -2
  9. package/lib/collapse.js +2 -2
  10. package/lib/color-picker.js +2 -2
  11. package/lib/cron.js +4 -4
  12. package/lib/data-table.js +366 -20
  13. package/lib/date-picker.js +3 -3
  14. package/lib/dialog.js +12 -10
  15. package/lib/drawer.js +2 -2
  16. package/lib/dropdown-item.js +23 -4
  17. package/lib/dropdown.js +4 -4
  18. package/lib/empty.js +2 -2
  19. package/lib/eoss.common.js +734 -322
  20. package/lib/flow-group.js +2 -2
  21. package/lib/flow.js +7 -7
  22. package/lib/form-editor.js +2 -2
  23. package/lib/form.js +12 -11
  24. package/lib/guide.js +2 -2
  25. package/lib/icons.js +4 -4
  26. package/lib/index.js +1 -1
  27. package/lib/input.js +2 -2
  28. package/lib/loading.js +4 -4
  29. package/lib/lowcode-view.js +2 -2
  30. package/lib/lowcode.js +7 -50
  31. package/lib/main.js +5 -5
  32. package/lib/menu-item-group.js +5 -1
  33. package/lib/menu.js +33 -43
  34. package/lib/message-box.js +4 -4
  35. package/lib/message.js +2 -2
  36. package/lib/notification.js +2 -2
  37. package/lib/pagination.js +2 -2
  38. package/lib/process-module.js +2 -2
  39. package/lib/rate.js +2 -2
  40. package/lib/scrollbar.js +71 -87
  41. package/lib/select.js +23 -13
  42. package/lib/selector-panel.js +2 -2
  43. package/lib/selector.js +16 -18
  44. package/lib/slider.js +2 -2
  45. package/lib/step.js +2 -2
  46. package/lib/steps.js +4 -4
  47. package/lib/submenu.js +16 -24
  48. package/lib/switch.js +2 -2
  49. package/lib/table-column.js +69 -3
  50. package/lib/table.js +162 -56
  51. package/lib/tabs.js +2 -2
  52. package/lib/theme-chalk/autocomplete.css +1 -1
  53. package/lib/theme-chalk/cascader-panel.css +1 -1
  54. package/lib/theme-chalk/cascader.css +1 -1
  55. package/lib/theme-chalk/data-table.css +1 -1
  56. package/lib/theme-chalk/date-picker.css +1 -1
  57. package/lib/theme-chalk/form.css +1 -1
  58. package/lib/theme-chalk/index.css +1 -1
  59. package/lib/theme-chalk/input-number.css +1 -1
  60. package/lib/theme-chalk/input.css +1 -1
  61. package/lib/theme-chalk/menu.css +1 -1
  62. package/lib/theme-chalk/message-box.css +1 -1
  63. package/lib/theme-chalk/pagination.css +1 -1
  64. package/lib/theme-chalk/scrollbar.css +1 -1
  65. package/lib/theme-chalk/select.css +1 -1
  66. package/lib/theme-chalk/selector.css +1 -1
  67. package/lib/theme-chalk/slider.css +1 -1
  68. package/lib/theme-chalk/table.css +1 -1
  69. package/lib/theme-chalk/time-picker.css +1 -1
  70. package/lib/theme-chalk/time-select.css +1 -1
  71. package/lib/theme-chalk/transfer.css +1 -1
  72. package/lib/theme-chalk/tree.css +1 -1
  73. package/lib/theme-chalk/upload.css +1 -1
  74. package/lib/time-picker.js +2 -2
  75. package/lib/time-select.js +6 -6
  76. package/lib/toolbar.js +2 -2
  77. package/lib/transfer.js +4 -4
  78. package/lib/tree.js +8 -15
  79. package/lib/upload.js +20 -20
  80. package/lib/utils/popup/popup-manager.js +24 -8
  81. package/package.json +4 -1
  82. package/packages/data-table/src/data-table.vue +43 -8
  83. package/packages/data-table/src/sizer.vue +104 -87
  84. package/packages/dialog/src/dialog.vue +4 -2
  85. package/packages/dropdown/src/dropdown-item.vue +21 -3
  86. package/packages/form/src/form.vue +5 -8
  87. package/packages/icons/src/icons.vue +2 -2
  88. package/packages/lowcode/src/util/components.js +0 -59
  89. package/packages/menu/src/menu.vue +7 -21
  90. package/packages/menu/src/mixins.js +6 -1
  91. package/packages/menu/src/submenu.vue +7 -16
  92. package/packages/scrollbar/src/main.js +64 -78
  93. package/packages/select/src/select.vue +13 -6
  94. package/packages/selector/src/selector.vue +6 -13
  95. package/packages/table/src/config.js +48 -0
  96. package/packages/table/src/store/index.js +19 -4
  97. package/packages/table/src/store/watcher.js +14 -3
  98. package/packages/table/src/table-body.js +9 -4
  99. package/packages/table/src/table-column.js +17 -3
  100. package/packages/table/src/table-footer.js +4 -2
  101. package/packages/table/src/table-header.js +9 -6
  102. package/packages/table/src/table.vue +48 -27
  103. package/packages/theme-chalk/src/data-table.scss +4 -0
  104. package/packages/theme-chalk/src/form.scss +3 -0
  105. package/packages/theme-chalk/src/input.scss +2 -2
  106. package/packages/theme-chalk/src/menu.scss +8 -0
  107. package/packages/theme-chalk/src/mixins/function.scss +61 -12
  108. package/packages/theme-chalk/src/mixins/utils.scss +12 -0
  109. package/packages/theme-chalk/src/scrollbar.scss +4 -5
  110. package/packages/theme-chalk/src/selector.scss +6 -1
  111. package/packages/theme-chalk/src/table.scss +40 -0
  112. package/packages/theme-chalk/src/tree.scss +7 -6
  113. package/packages/theme-chalk/src/upload.scss +5 -0
  114. package/packages/tree/src/tree.vue +2 -13
  115. package/packages/upload/src/upload-list.vue +5 -10
  116. package/src/index.js +1 -1
  117. package/src/utils/popup/popup-manager.js +24 -9
package/lib/data-table.js CHANGED
@@ -82,11 +82,18 @@ module.exports =
82
82
  /******/
83
83
  /******/
84
84
  /******/ // Load entry module and return exports
85
- /******/ return __webpack_require__(__webpack_require__.s = 213);
85
+ /******/ return __webpack_require__(__webpack_require__.s = 200);
86
86
  /******/ })
87
87
  /************************************************************************/
88
88
  /******/ ({
89
89
 
90
+ /***/ 0:
91
+ /***/ (function(module, exports) {
92
+
93
+ module.exports = require("eoss/lib/utils/util.js");
94
+
95
+ /***/ }),
96
+
90
97
  /***/ 1:
91
98
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
92
99
 
@@ -206,14 +213,14 @@ module.exports = require("eoss/lib/toolbar");
206
213
 
207
214
  /***/ }),
208
215
 
209
- /***/ 213:
216
+ /***/ 200:
210
217
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
211
218
 
212
219
  "use strict";
213
220
  // ESM COMPAT FLAG
214
221
  __webpack_require__.r(__webpack_exports__);
215
222
 
216
- // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/data-table/src/data-table.vue?vue&type=template&id=a0d290e2&
223
+ // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/data-table/src/data-table.vue?vue&type=template&id=0c0ac1b9&
217
224
  var render = function () {
218
225
  var _vm = this
219
226
  var _h = _vm.$createElement
@@ -262,12 +269,13 @@ var render = function () {
262
269
  {
263
270
  ref: "esTable",
264
271
  attrs: {
265
- thead: _vm.thead,
272
+ thead: _vm.theads,
266
273
  data: _vm.datas,
267
274
  height: _vm.tableHeight,
268
275
  readonly: _vm.readonly,
269
276
  "infinite-scroll": _vm.handleInfiniteScroll,
270
277
  "infinite-scroll-disabled": _vm.isInfiniteScrollDisabled,
278
+ "show-summary": _vm.showSummary,
271
279
  },
272
280
  },
273
281
  "es-table",
@@ -299,6 +307,24 @@ var render = function () {
299
307
  )
300
308
  )
301
309
  : _vm._e(),
310
+ _c(
311
+ "es-dialog",
312
+ {
313
+ attrs: { title: "列表设置", visible: _vm.showSizer },
314
+ on: {
315
+ "update:visible": function ($event) {
316
+ _vm.showSizer = $event
317
+ },
318
+ },
319
+ },
320
+ [
321
+ _c("sizer", {
322
+ attrs: { data: _vm.thead, "show-summary": _vm.showSummary },
323
+ on: { confirm: _vm.mergeThead },
324
+ }),
325
+ ],
326
+ 1
327
+ ),
302
328
  _vm._t("default"),
303
329
  ],
304
330
  2
@@ -308,7 +334,7 @@ var staticRenderFns = []
308
334
  render._withStripped = true
309
335
 
310
336
 
311
- // CONCATENATED MODULE: ./packages/data-table/src/data-table.vue?vue&type=template&id=a0d290e2&
337
+ // CONCATENATED MODULE: ./packages/data-table/src/data-table.vue?vue&type=template&id=0c0ac1b9&
312
338
 
313
339
  // EXTERNAL MODULE: external "eoss/lib/table"
314
340
  var table_ = __webpack_require__(84);
@@ -459,10 +485,291 @@ var external_throttle_debounce_ = __webpack_require__(13);
459
485
  }
460
486
  }
461
487
  });
488
+ // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/data-table/src/sizer.vue?vue&type=template&id=8a8cface&
489
+ var sizervue_type_template_id_8a8cface_render = function () {
490
+ var _vm = this
491
+ var _h = _vm.$createElement
492
+ var _c = _vm._self._c || _h
493
+ return _c(
494
+ "div",
495
+ [
496
+ _c("es-table", {
497
+ attrs: { height: "380px", data: _vm.rows, thead: _vm.thead },
498
+ on: {
499
+ "update:data": function ($event) {
500
+ _vm.rows = $event
501
+ },
502
+ },
503
+ }),
504
+ _c(
505
+ "div",
506
+ { staticClass: "es-data-table__sizer-btn" },
507
+ [
508
+ _c(
509
+ "es-button",
510
+ {
511
+ attrs: { type: "primary", size: "medium" },
512
+ on: { click: _vm.handleConfirm },
513
+ },
514
+ [_vm._v("确定")]
515
+ ),
516
+ ],
517
+ 1
518
+ ),
519
+ ],
520
+ 1
521
+ )
522
+ }
523
+ var sizervue_type_template_id_8a8cface_staticRenderFns = []
524
+ sizervue_type_template_id_8a8cface_render._withStripped = true
525
+
526
+
527
+ // CONCATENATED MODULE: ./packages/data-table/src/sizer.vue?vue&type=template&id=8a8cface&
528
+
529
+ // EXTERNAL MODULE: external "eoss/lib/utils/util.js"
530
+ var util_js_ = __webpack_require__(0);
531
+
532
+ // EXTERNAL MODULE: external "eoss/lib/button"
533
+ var button_ = __webpack_require__(6);
534
+ var button_default = /*#__PURE__*/__webpack_require__.n(button_);
535
+
536
+ // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/data-table/src/sizer.vue?vue&type=script&lang=js&
537
+ var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
538
+
539
+ function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
540
+
541
+ //
542
+ //
543
+ //
544
+ //
545
+ //
546
+ //
547
+ //
548
+ //
549
+ //
550
+ //
551
+ //
552
+
553
+
554
+
555
+
556
+ /* harmony default export */ var sizervue_type_script_lang_js_ = ({
557
+ name: 'Sizer',
558
+ components: { EsButton: button_default.a, EsDataTable: data_table },
559
+
560
+ props: {
561
+ data: Array,
562
+ showSummary: Boolean
563
+ },
564
+ computed: {
565
+ thead: function thead() {
566
+ var thead = [{
567
+ type: 'drag'
568
+ }, {
569
+ title: '名称',
570
+ field: 'title'
571
+ }, {
572
+ title: '锁定列位置',
573
+ field: 'fixed',
574
+ type: 'select',
575
+ config: {
576
+ clearable: true
577
+ },
578
+ optionData: [{
579
+ value: 'left',
580
+ name: '左'
581
+ }, {
582
+ value: 'right',
583
+ name: '右'
584
+ }]
585
+ }, {
586
+ title: '列是否显示',
587
+ field: 'hide',
588
+ type: 'switch',
589
+ align: 'center',
590
+ // row.hide 为「是否显示」(true=显示),与 thead.hide(true=隐藏)互反,
591
+ // es-switch 的 ON(true)/OFF(false) 文案按显示语义对应
592
+ config: {
593
+ data: [{
594
+ value: false,
595
+ name: '隐藏'
596
+ }, {
597
+ value: true,
598
+ name: '显示'
599
+ }]
600
+ }
601
+ }];
602
+ return this.showSummary ? [].concat(thead, [{
603
+ title: '是否开启合计',
604
+ field: 'total',
605
+ type: 'switch',
606
+ align: 'center',
607
+ data: [{
608
+ value: false,
609
+ name: '关闭'
610
+ }, {
611
+ value: true,
612
+ name: '开启'
613
+ }]
614
+ }]) : thead;
615
+ }
616
+ },
617
+ data: function data() {
618
+ return {
619
+ visible: false,
620
+ newThead: [],
621
+ // sizer 表格行模型(活模型):拖拽顺序经 :data.sync 回写,
622
+ // 锁定/显示/合计等编辑由 renderDom 的 setValue 直接写回行对象
623
+ rows: []
624
+ };
625
+ },
626
+ mounted: function mounted() {
627
+ this.newThead = Object(util_js_["extend"])(true, [], this.data);
628
+ this.getThead(this.data, this.rows);
629
+ },
630
+
631
+ methods: {
632
+ show: function show() {
633
+ this.visible = true;
634
+ },
635
+ getThead: function getThead(res, data) {
636
+ var _this = this;
637
+
638
+ res.forEach(function (item, index) {
639
+ if (item.type !== 'index' && item.type !== 'selection' && item.type !== 'handle' && item.type !== 'drag') {
640
+ var fixed = item.fixed,
641
+ hide = item.hide,
642
+ childHead = item.childHead,
643
+ children = item.children,
644
+ title = item.title,
645
+ other = _objectWithoutProperties(item, ['fixed', 'hide', 'childHead', 'children', 'title']);
646
+
647
+ var items = _extends({
648
+ title: title ? title : item.label,
649
+ fixed: fixed === true ? 'left' : fixed === undefined || fixed === false ? '' : fixed,
650
+ hide: hide ? false : true,
651
+ id: index
652
+ }, other);
653
+ if (childHead && childHead.length) {
654
+ var childHeads = [];
655
+ _this.getThead(childHead, childHeads);
656
+ items.childHead = childHeads;
657
+ }
658
+ if (children && children.length) {
659
+ var _childHeads = [];
660
+ _this.getThead(children, _childHeads);
661
+ items.children = _childHeads;
662
+ }
663
+ data.push(items);
664
+ }
665
+ });
666
+ },
667
+ setThead: function setThead(res, thead) {
668
+ var name = res.name,
669
+ value = res.value,
670
+ data = res.data;
671
+
672
+ for (var i in thead) {
673
+ var item = thead[i];
674
+ if (data.field === item.field) {
675
+ thead[i][name] = name === 'hide' ? !value : value;
676
+ thead[i].hide === false && delete thead[i].hide;
677
+ break;
678
+ } else {
679
+ if (item.childHead && item.childHead.length) {
680
+ this.setThead(res, item.childHead);
681
+ }
682
+ if (item.children && item.children.length) {
683
+ this.setThead(res, item.children);
684
+ }
685
+ }
686
+ }
687
+ },
688
+ handleConfirm: function handleConfirm() {
689
+ var _this2 = this;
690
+
691
+ console.log(this.newThead, this.rows);
692
+ this.visible = false;
693
+ // rows 是拖拽+编辑后的活模型:按 field 把各列新值反写回 newThead
694
+ // (取值映射与 getThead/setThead 的约定互逆),再按 rows 顺序重排,
695
+ // drag/handle 等不在 rows 里的结构列保持原槽位不动
696
+ var rowByField = {};
697
+ this.rows.forEach(function (row) {
698
+ rowByField[row.field] = row;
699
+ });
700
+ var applyRow = function applyRow(item) {
701
+ var row = rowByField[item.field];
702
+ if (row) {
703
+ if (row.fixed === 'left') {
704
+ item.fixed = true;
705
+ } else if (row.fixed === 'right') {
706
+ item.fixed = 'right';
707
+ } else {
708
+ delete item.fixed;
709
+ }
710
+ // row.hide 为「是否显示」,与 thead.hide(true=隐藏)互反,回写时取反;
711
+ // false 时删键保持 thead 干净(与 setThead 的历史处理一致)
712
+ item.hide = !row.hide;
713
+ item.hide === false && delete item.hide;
714
+ // 合计列在展示时把每列 total 标记显式回写:table-footer 默认对
715
+ // 除 total===false 外的所有列求和,不显式化会把未开启合计的列也算进去
716
+ if (_this2.showSummary || 'total' in row) {
717
+ item.total = !!row.total;
718
+ }
719
+ }
720
+ if (item.childHead && item.childHead.length) {
721
+ item.childHead.forEach(applyRow);
722
+ }
723
+ if (item.children && item.children.length) {
724
+ item.children.forEach(applyRow);
725
+ }
726
+ };
727
+ this.newThead.forEach(applyRow);
728
+ var order = this.rows.map(function (row) {
729
+ return row.field;
730
+ });
731
+ var pool = this.newThead.filter(function (item) {
732
+ return order.includes(item.field);
733
+ }).sort(function (a, b) {
734
+ return order.indexOf(a.field) - order.indexOf(b.field);
735
+ });
736
+ var i = 0;
737
+ var merged = this.newThead.map(function (item) {
738
+ return order.includes(item.field) ? pool[i++] : item;
739
+ });
740
+ this.$emit('confirm', merged);
741
+ }
742
+ }
743
+ });
744
+ // CONCATENATED MODULE: ./packages/data-table/src/sizer.vue?vue&type=script&lang=js&
745
+ /* harmony default export */ var src_sizervue_type_script_lang_js_ = (sizervue_type_script_lang_js_);
746
+ // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
747
+ var componentNormalizer = __webpack_require__(1);
748
+
749
+ // CONCATENATED MODULE: ./packages/data-table/src/sizer.vue
750
+
751
+
752
+
753
+
754
+
755
+ /* normalize component */
756
+
757
+ var component = Object(componentNormalizer["a" /* default */])(
758
+ src_sizervue_type_script_lang_js_,
759
+ sizervue_type_template_id_8a8cface_render,
760
+ sizervue_type_template_id_8a8cface_staticRenderFns,
761
+ false,
762
+ null,
763
+ null,
764
+ null
765
+
766
+ )
767
+
768
+ /* harmony default export */ var sizer = (component.exports);
462
769
  // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/data-table/src/data-table.vue?vue&type=script&lang=js&
463
770
  var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
464
771
 
465
- var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
772
+ var data_tablevue_type_script_lang_js_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
466
773
 
467
774
  //
468
775
  //
@@ -546,6 +853,12 @@ var _extends = Object.assign || function (target) { for (var i = 1; i < argument
546
853
  //
547
854
  //
548
855
  //
856
+ //
857
+ //
858
+ //
859
+ //
860
+ //
861
+
549
862
 
550
863
 
551
864
 
@@ -563,6 +876,7 @@ var DEFAULT_PAGES = {
563
876
  name: 'EsDataTable',
564
877
  mixins: [table_methods],
565
878
  components: {
879
+ sizer: sizer,
566
880
  EsTable: table_default.a,
567
881
  EsToolbar: toolbar_default.a,
568
882
  EsPagination: pagination_default.a
@@ -660,7 +974,11 @@ var DEFAULT_PAGES = {
660
974
  * @type {Boolean}
661
975
  * @default false
662
976
  */
663
- infiniteScrollDisabled: Boolean
977
+ infiniteScrollDisabled: Boolean,
978
+ /**
979
+ * 筛选列配置
980
+ */
981
+ showSummary: Boolean
664
982
  },
665
983
  computed: {
666
984
  /**
@@ -716,7 +1034,12 @@ var DEFAULT_PAGES = {
716
1034
  tableListeners: function tableListeners() {
717
1035
  var _this = this;
718
1036
 
719
- var listeners = _extends({}, this.$listeners);
1037
+ var listeners = data_tablevue_type_script_lang_js_extends({
1038
+ 'filter-column': function filterColumn() {
1039
+ console.log('filter-column');
1040
+ _this.showSizer = !_this.showSizer;
1041
+ }
1042
+ }, this.$listeners);
720
1043
  var originChange = listeners.change;
721
1044
  listeners.change = function () {
722
1045
  for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
@@ -748,6 +1071,13 @@ var DEFAULT_PAGES = {
748
1071
  this.getData(val);
749
1072
  }
750
1073
  },
1074
+ thead: {
1075
+ immediate: true,
1076
+ deep: true,
1077
+ handler: function handler(val) {
1078
+ this.theads = val;
1079
+ }
1080
+ },
751
1081
  data: {
752
1082
  immediate: true,
753
1083
  deep: true,
@@ -787,6 +1117,7 @@ var DEFAULT_PAGES = {
787
1117
  },
788
1118
  data: function data() {
789
1119
  return {
1120
+ theads: [],
790
1121
  toolbars: [],
791
1122
  tableHeight: this.height,
792
1123
  datas: [],
@@ -798,7 +1129,8 @@ var DEFAULT_PAGES = {
798
1129
  currentPage: 1,
799
1130
  pageSize: 20
800
1131
  },
801
- isInfiniteScrollDisabled: this.infiniteScrollDisabled
1132
+ isInfiniteScrollDisabled: this.infiniteScrollDisabled,
1133
+ showSizer: false
802
1134
  };
803
1135
  },
804
1136
  created: function created() {
@@ -814,6 +1146,11 @@ var DEFAULT_PAGES = {
814
1146
  },
815
1147
 
816
1148
  methods: {
1149
+ mergeThead: function mergeThead(thead) {
1150
+ this.showSizer = false;
1151
+ this.theads = thead;
1152
+ },
1153
+
817
1154
  /**
818
1155
  * 对外抛数据变化通知(:data.sync / v-model 承接)
819
1156
  * @param {Array} val - 最新表格数据,默认当前 datas
@@ -836,7 +1173,7 @@ var DEFAULT_PAGES = {
836
1173
  var param = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
837
1174
 
838
1175
  if (this.url) {
839
- var params = _extends({}, this.params, this.searchParams, {
1176
+ var params = data_tablevue_type_script_lang_js_extends({}, this.params, this.searchParams, {
840
1177
  pageNum: this.pages.currentPage,
841
1178
  pageSize: this.pages.pageSize
842
1179
  }, param);
@@ -871,6 +1208,10 @@ var DEFAULT_PAGES = {
871
1208
  * @param {Array} val - 表格数据
872
1209
  */
873
1210
  setDatas: function setDatas(val) {
1211
+ // 回写拦截:datas 对外 emit 后被 .sync 原样带回时与 datas 同引用,
1212
+ // 再走下面的空数据分支会每次新建引用,让 data watch 与 datas watch
1213
+ // 互相触发无限循环(拖拽排序先 emit [] 重置时必现,数组无限增长卡死页面)
1214
+ if (val === this.datas) return;
874
1215
  if (!this.isTotal || !this.showPagination) {
875
1216
  this.datas = val || [];
876
1217
  return;
@@ -883,7 +1224,8 @@ var DEFAULT_PAGES = {
883
1224
  this.datas = val;
884
1225
  }
885
1226
  } else {
886
- this.datas = [];
1227
+ // 复用传入引用而非新建 [],避免与 .sync 回写形成引用循环
1228
+ this.datas = val || [];
887
1229
  }
888
1230
  },
889
1231
 
@@ -927,8 +1269,8 @@ var DEFAULT_PAGES = {
927
1269
  _this4.$set(_this4.param, key, values[key]);
928
1270
  }
929
1271
  });
930
- this.searchParams = _extends({}, values);
931
- this.$emit('update:param', _extends({}, this.param, values));
1272
+ this.searchParams = data_tablevue_type_script_lang_js_extends({}, values);
1273
+ this.$emit('update:param', data_tablevue_type_script_lang_js_extends({}, this.param, values));
932
1274
  },
933
1275
 
934
1276
  /**
@@ -938,7 +1280,7 @@ var DEFAULT_PAGES = {
938
1280
  hanleSearch: function hanleSearch() {
939
1281
  var param = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
940
1282
 
941
- this.searchParams = _extends({}, param);
1283
+ this.searchParams = data_tablevue_type_script_lang_js_extends({}, param);
942
1284
  if (this.url) {
943
1285
  this.getData(param);
944
1286
  }
@@ -963,7 +1305,7 @@ var DEFAULT_PAGES = {
963
1305
  hanleSubmit: function hanleSubmit() {
964
1306
  var param = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
965
1307
 
966
- this.searchParams = _extends({}, param);
1308
+ this.searchParams = data_tablevue_type_script_lang_js_extends({}, param);
967
1309
  if (this.url) {
968
1310
  this.getData(param);
969
1311
  }
@@ -1043,9 +1385,6 @@ var DEFAULT_PAGES = {
1043
1385
  });
1044
1386
  // CONCATENATED MODULE: ./packages/data-table/src/data-table.vue?vue&type=script&lang=js&
1045
1387
  /* harmony default export */ var src_data_tablevue_type_script_lang_js_ = (data_tablevue_type_script_lang_js_);
1046
- // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
1047
- var componentNormalizer = __webpack_require__(1);
1048
-
1049
1388
  // CONCATENATED MODULE: ./packages/data-table/src/data-table.vue
1050
1389
 
1051
1390
 
@@ -1054,7 +1393,7 @@ var componentNormalizer = __webpack_require__(1);
1054
1393
 
1055
1394
  /* normalize component */
1056
1395
 
1057
- var component = Object(componentNormalizer["a" /* default */])(
1396
+ var data_table_component = Object(componentNormalizer["a" /* default */])(
1058
1397
  src_data_tablevue_type_script_lang_js_,
1059
1398
  render,
1060
1399
  staticRenderFns,
@@ -1065,7 +1404,7 @@ var component = Object(componentNormalizer["a" /* default */])(
1065
1404
 
1066
1405
  )
1067
1406
 
1068
- /* harmony default export */ var data_table = (component.exports);
1407
+ /* harmony default export */ var data_table = (data_table_component.exports);
1069
1408
  // CONCATENATED MODULE: ./packages/data-table/index.js
1070
1409
 
1071
1410
 
@@ -1084,6 +1423,13 @@ module.exports = require("eoss/lib/utils/ajax.js");
1084
1423
 
1085
1424
  /***/ }),
1086
1425
 
1426
+ /***/ 6:
1427
+ /***/ (function(module, exports) {
1428
+
1429
+ module.exports = require("eoss/lib/button");
1430
+
1431
+ /***/ }),
1432
+
1087
1433
  /***/ 76:
1088
1434
  /***/ (function(module, exports) {
1089
1435
 
@@ -1368,7 +1368,7 @@ render._withStripped = true
1368
1368
  var date_js_ = __webpack_require__(4);
1369
1369
 
1370
1370
  // EXTERNAL MODULE: external "eoss/lib/utils/clickoutside.js"
1371
- var clickoutside_js_ = __webpack_require__(29);
1371
+ var clickoutside_js_ = __webpack_require__(28);
1372
1372
  var clickoutside_js_default = /*#__PURE__*/__webpack_require__.n(clickoutside_js_);
1373
1373
 
1374
1374
  // EXTERNAL MODULE: external "eoss/lib/input"
@@ -5217,7 +5217,7 @@ module.exports = require("eoss/lib/utils/merge.js");
5217
5217
 
5218
5218
  /***/ }),
5219
5219
 
5220
- /***/ 29:
5220
+ /***/ 28:
5221
5221
  /***/ (function(module, exports) {
5222
5222
 
5223
5223
  module.exports = require("eoss/lib/utils/clickoutside.js");
@@ -5791,7 +5791,7 @@ var external_vue_ = __webpack_require__(11);
5791
5791
  var external_vue_default = /*#__PURE__*/__webpack_require__.n(external_vue_);
5792
5792
 
5793
5793
  // EXTERNAL MODULE: external "eoss/lib/utils/clickoutside.js"
5794
- var clickoutside_js_ = __webpack_require__(29);
5794
+ var clickoutside_js_ = __webpack_require__(28);
5795
5795
  var clickoutside_js_default = /*#__PURE__*/__webpack_require__.n(clickoutside_js_);
5796
5796
 
5797
5797
  // EXTERNAL MODULE: external "eoss/lib/utils/date.js"
package/lib/dialog.js CHANGED
@@ -220,7 +220,7 @@ module.exports = require("eoss/lib/utils/merge.js");
220
220
  // ESM COMPAT FLAG
221
221
  __webpack_require__.r(__webpack_exports__);
222
222
 
223
- // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/dialog/src/dialog.vue?vue&type=template&id=3526f8eb&
223
+ // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/dialog/src/dialog.vue?vue&type=template&id=8f9d4b2c&
224
224
  var render = function () {
225
225
  var _vm = this
226
226
  var _h = _vm.$createElement
@@ -375,13 +375,13 @@ var staticRenderFns = []
375
375
  render._withStripped = true
376
376
 
377
377
 
378
- // CONCATENATED MODULE: ./packages/dialog/src/dialog.vue?vue&type=template&id=3526f8eb&
378
+ // CONCATENATED MODULE: ./packages/dialog/src/dialog.vue?vue&type=template&id=8f9d4b2c&
379
379
 
380
380
  // EXTERNAL MODULE: ./src/utils/popup/index.js + 2 modules
381
381
  var popup = __webpack_require__(67);
382
382
 
383
383
  // EXTERNAL MODULE: external "eoss/lib/mixins/migrating.js"
384
- var migrating_js_ = __webpack_require__(31);
384
+ var migrating_js_ = __webpack_require__(30);
385
385
  var migrating_js_default = /*#__PURE__*/__webpack_require__.n(migrating_js_);
386
386
 
387
387
  // EXTERNAL MODULE: external "eoss/lib/mixins/emitter.js"
@@ -754,14 +754,16 @@ var availHeight = 600;
754
754
  * 获取定位基准矩形(视口)
755
755
  * wujie 沙箱(非降级)下 document.body 为 shadowRoot.body,其 rect 只是子应用在主应用内的容器区域
756
756
  * (扣除了主应用侧栏/顶栏),fixed 定位的 dialog 用它居中、定边界会整体偏移;
757
- * documentElement 的尺寸已被 wujie-polyfill 的 DocElementRectPlugin 修正为主应用视口值,改用它做基准;
757
+ * 沙箱内 documentElement 仅在主应用注册了 wujie-polyfill 的 DocElementRectPlugin 时才被修正(如 eoss-ui 的 main 未注册),
758
+ * 故直接通过 __WUJIE_RAW_WINDOW__ 取主应用真实视口尺寸做基准,不依赖主应用是否配置插件;
758
759
  * 降级模式与非微前端环境保持原有 document.body 基准不变
759
760
  */
760
761
  getViewportRect: function getViewportRect() {
761
762
  if (window.__WUJIE && !window.__WUJIE.degrade) {
762
- var _document$documentEle = document.documentElement,
763
- width = _document$documentEle.clientWidth,
764
- height = _document$documentEle.clientHeight;
763
+ var rawWindow = window.__WUJIE_RAW_WINDOW__ || window;
764
+ var _rawWindow$document$d = rawWindow.document.documentElement,
765
+ width = _rawWindow$document$d.clientWidth,
766
+ height = _rawWindow$document$d.clientHeight;
765
767
 
766
768
  return { width: width, height: height, top: 0, left: 0 };
767
769
  }
@@ -1095,14 +1097,14 @@ module.exports = require("eoss/lib/utils/resize-event.js");
1095
1097
 
1096
1098
  /***/ }),
1097
1099
 
1098
- /***/ 28:
1100
+ /***/ 27:
1099
1101
  /***/ (function(module, exports) {
1100
1102
 
1101
1103
  module.exports = require("eoss/lib/utils/popup/popup-manager.js");
1102
1104
 
1103
1105
  /***/ }),
1104
1106
 
1105
- /***/ 31:
1107
+ /***/ 30:
1106
1108
  /***/ (function(module, exports) {
1107
1109
 
1108
1110
  module.exports = require("eoss/lib/mixins/migrating.js");
@@ -1125,7 +1127,7 @@ var merge_js_ = __webpack_require__(23);
1125
1127
  var merge_js_default = /*#__PURE__*/__webpack_require__.n(merge_js_);
1126
1128
 
1127
1129
  // EXTERNAL MODULE: external "eoss/lib/utils/popup/popup-manager.js"
1128
- var popup_manager_js_ = __webpack_require__(28);
1130
+ var popup_manager_js_ = __webpack_require__(27);
1129
1131
  var popup_manager_js_default = /*#__PURE__*/__webpack_require__.n(popup_manager_js_);
1130
1132
 
1131
1133
  // CONCATENATED MODULE: ./src/utils/scrollbar.js
package/lib/drawer.js CHANGED
@@ -699,7 +699,7 @@ drawer.install = function (Vue) {
699
699
 
700
700
  /***/ }),
701
701
 
702
- /***/ 28:
702
+ /***/ 27:
703
703
  /***/ (function(module, exports) {
704
704
 
705
705
  module.exports = require("eoss/lib/utils/popup/popup-manager.js");
@@ -722,7 +722,7 @@ var merge_js_ = __webpack_require__(23);
722
722
  var merge_js_default = /*#__PURE__*/__webpack_require__.n(merge_js_);
723
723
 
724
724
  // EXTERNAL MODULE: external "eoss/lib/utils/popup/popup-manager.js"
725
- var popup_manager_js_ = __webpack_require__(28);
725
+ var popup_manager_js_ = __webpack_require__(27);
726
726
  var popup_manager_js_default = /*#__PURE__*/__webpack_require__.n(popup_manager_js_);
727
727
 
728
728
  // CONCATENATED MODULE: ./src/utils/scrollbar.js