eoss-ui 0.5.64 → 0.5.66

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 (52) hide show
  1. package/CHANGELOG.md +929 -0
  2. package/lib/button-group.js +209 -44
  3. package/lib/button.js +65 -37
  4. package/lib/calendar.js +18 -6
  5. package/lib/data-table.js +116 -31
  6. package/lib/eoss-ui.common.js +1143 -719
  7. package/lib/form.js +22 -7
  8. package/lib/index.js +1 -1
  9. package/lib/login.js +11 -2
  10. package/lib/main.js +183 -121
  11. package/lib/selector.js +469 -429
  12. package/lib/theme-chalk/base.css +1 -1
  13. package/lib/theme-chalk/button-group.css +1 -1
  14. package/lib/theme-chalk/button.css +1 -1
  15. package/lib/theme-chalk/calendar.css +1 -1
  16. package/lib/theme-chalk/index.css +1 -1
  17. package/lib/theme-chalk/main.css +1 -1
  18. package/lib/theme-chalk/menu.css +1 -1
  19. package/lib/theme-chalk/sizer.css +1 -1
  20. package/lib/theme-chalk/tree.css +1 -1
  21. package/lib/theme-chalk/upload.css +1 -1
  22. package/lib/toolbar.js +6 -0
  23. package/lib/upload.js +9 -7
  24. package/package.json +2 -2
  25. package/packages/button/src/main.vue +96 -56
  26. package/packages/button-group/src/main.vue +72 -8
  27. package/packages/calendar/src/main.vue +16 -5
  28. package/packages/data-table/src/children.vue +3 -1
  29. package/packages/data-table/src/column.vue +1 -1
  30. package/packages/data-table/src/main.vue +55 -10
  31. package/packages/form/src/main.vue +19 -5
  32. package/packages/login/src/main.vue +8 -0
  33. package/packages/main/src/main.vue +141 -96
  34. package/packages/selector/src/main.vue +31 -5
  35. package/packages/theme-chalk/lib/base.css +1 -1
  36. package/packages/theme-chalk/lib/button-group.css +1 -1
  37. package/packages/theme-chalk/lib/button.css +1 -1
  38. package/packages/theme-chalk/lib/calendar.css +1 -1
  39. package/packages/theme-chalk/lib/index.css +1 -1
  40. package/packages/theme-chalk/lib/main.css +1 -1
  41. package/packages/theme-chalk/lib/menu.css +1 -1
  42. package/packages/theme-chalk/lib/sizer.css +1 -1
  43. package/packages/theme-chalk/lib/tree.css +1 -1
  44. package/packages/theme-chalk/lib/upload.css +1 -1
  45. package/packages/theme-chalk/src/base.scss +3 -0
  46. package/packages/theme-chalk/src/button-group.scss +149 -0
  47. package/packages/theme-chalk/src/button.scss +6 -0
  48. package/packages/theme-chalk/src/calendar.scss +3 -0
  49. package/packages/theme-chalk/src/tree.scss +1 -0
  50. package/packages/toolbar/src/main.vue +6 -0
  51. package/packages/upload/src/main.vue +4 -2
  52. package/src/index.js +1 -1
package/lib/upload.js CHANGED
@@ -3828,8 +3828,8 @@ module.exports = require("js-base64");
3828
3828
  // ESM COMPAT FLAG
3829
3829
  __webpack_require__.r(__webpack_exports__);
3830
3830
 
3831
- // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/upload/src/main.vue?vue&type=template&id=789e2154&
3832
- var mainvue_type_template_id_789e2154_render = function () {
3831
+ // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/upload/src/main.vue?vue&type=template&id=33bc9a52&
3832
+ var mainvue_type_template_id_33bc9a52_render = function () {
3833
3833
  var _vm = this
3834
3834
  var _h = _vm.$createElement
3835
3835
  var _c = _vm._self._c || _h
@@ -3843,7 +3843,7 @@ var mainvue_type_template_id_789e2154_render = function () {
3843
3843
  class: [
3844
3844
  {
3845
3845
  "es-avatar-uploader": _vm.portrait,
3846
- "es-upload-readonly": _vm.isReadonly,
3846
+ "es-upload-readonly": _vm.isReadonly && !_vm.downloads,
3847
3847
  },
3848
3848
  "es-upload-" + _vm.listType,
3849
3849
  ],
@@ -4210,10 +4210,10 @@ var mainvue_type_template_id_789e2154_render = function () {
4210
4210
  : _vm._e()
4211
4211
  }
4212
4212
  var staticRenderFns = []
4213
- mainvue_type_template_id_789e2154_render._withStripped = true
4213
+ mainvue_type_template_id_33bc9a52_render._withStripped = true
4214
4214
 
4215
4215
 
4216
- // CONCATENATED MODULE: ./packages/upload/src/main.vue?vue&type=template&id=789e2154&
4216
+ // CONCATENATED MODULE: ./packages/upload/src/main.vue?vue&type=template&id=33bc9a52&
4217
4217
 
4218
4218
  // EXTERNAL MODULE: ./src/config/api.js
4219
4219
  var api = __webpack_require__(1);
@@ -4960,7 +4960,9 @@ var _props;
4960
4960
  }
4961
4961
  });
4962
4962
  _this3.filesTotalSize = filesTotalSize;
4963
- _this3.$emit('input', _this3.lists.length ? _this3.lists : '');
4963
+ if (_this3.lists.length) {
4964
+ _this3.$emit('input', _this3.lists);
4965
+ }
4964
4966
  }
4965
4967
  } else {
4966
4968
  var msg = res.msg || '系统错误,请联系管理员!';
@@ -5313,7 +5315,7 @@ var componentNormalizer = __webpack_require__(3);
5313
5315
 
5314
5316
  var component = Object(componentNormalizer["a" /* default */])(
5315
5317
  src_mainvue_type_script_lang_js_,
5316
- mainvue_type_template_id_789e2154_render,
5318
+ mainvue_type_template_id_33bc9a52_render,
5317
5319
  staticRenderFns,
5318
5320
  false,
5319
5321
  null,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eoss-ui",
3
- "version": "0.5.64",
3
+ "version": "0.5.66",
4
4
  "description": "eoss内部业务组件",
5
5
  "main": "lib/eoss-ui.common.js",
6
6
  "files": [
@@ -97,7 +97,7 @@
97
97
  "cp-cli": "^1.0.2",
98
98
  "cross-env": "^3.1.3",
99
99
  "css-loader": "^2.1.0",
100
- "eoss-element": "^0.2.93",
100
+ "eoss-element": "^0.2.96",
101
101
  "es6-promise": "^4.0.5",
102
102
  "eslint": "4.18.2",
103
103
  "eslint-config-elemefe": "0.1.1",
@@ -47,7 +47,9 @@ export default {
47
47
  text: String,
48
48
  onClick: Function,
49
49
  badge: [Object, Number],
50
- float: String
50
+ float: String,
51
+ selector: Boolean,
52
+ upload: Boolean
51
53
  },
52
54
  computed: {
53
55
  _type() {
@@ -260,68 +262,90 @@ export default {
260
262
  }
261
263
  let tag = 'el-button';
262
264
  let clas = ['es-button'];
263
- let props = { type: this._type, size: this.size };
265
+ let props = {};
264
266
  let attrs = {};
265
- if (this.link && !this.open) {
266
- const link = this.param
267
- ? util.urlJoinParams({ url: this.link, param: this.param })
268
- : this.link;
269
- attrs = { href: link };
270
- tag = 'a';
271
- clas = clas.concat([
272
- 'el-button',
273
- this._type ? `el-button--${this._type}` : 'el-button--default',
274
- this.size ? `el-button--${this.size}` : '',
275
- this.float ? `es-button--${this.float}` : ''
276
- ]);
277
- }
278
- if (this.badge) {
279
- let config = {};
280
- if (typeof this.badge === 'number') {
281
- config = { class: 'es-button-badge', props: { value: this.badge } };
282
- } else {
283
- let { value, max, isDot, hidden, type } = this.badge;
284
- config = {
285
- class: this.badge.class
286
- ? this.badge.class + ' es-button-badge'
287
- : 'es-button-badge',
288
- props: { value, max, isDot, hidden, type }
289
- };
267
+ let listeners = {};
268
+ let config = {};
269
+ if (this.selector) {
270
+ tag = 'es-selector';
271
+ props = {
272
+ reset: true,
273
+ ...this.$attrs,
274
+ button: { type: this._type, size: this.size }
275
+ };
276
+ listeners = this.$listeners;
277
+ } else if (this.upload) {
278
+ tag = 'es-upload';
279
+ props = { ...this.$attrs, showFileList: false };
280
+ listeners = this.$listeners;
281
+ config = {
282
+ type: this._type,
283
+ size: this.size
284
+ };
285
+ } else {
286
+ props = { ...this.$attrs, type: this._type, size: this.size };
287
+ listeners = { ...this.$listeners, click: this.handleClick };
288
+ if (this.link && !this.open) {
289
+ const link = this.param
290
+ ? util.urlJoinParams({ url: this.link, param: this.param })
291
+ : this.link;
292
+ attrs = { href: link };
293
+ tag = 'a';
294
+ clas = clas.concat([
295
+ 'el-button',
296
+ this._type ? `el-button--${this._type}` : 'el-button--default',
297
+ this.size ? `el-button--${this.size}` : '',
298
+ this.float ? `es-button--${this.float}` : ''
299
+ ]);
290
300
  }
291
- return h('el-badge', config, [
292
- h(
293
- tag,
294
- {
295
- class: clas,
296
- props: { ...this.$attrs, ...props },
297
- attrs: attrs,
298
- on: { ...this.$listeners, click: this.handleClick },
299
- directives: [
300
- {
301
- name: 'show',
302
- value: !this.hide
303
- }
304
- ]
305
- },
306
- this.iconPlacement === 'start'
307
- ? [
308
- this.icon ? h('i', { class: this.icon }) : '',
309
- this.$slots.default || this.text
310
- ]
311
- : [
312
- this.$slots.default || this.text,
313
- this.icon ? h('i', { class: this.icon }) : ''
301
+ if (this.badge) {
302
+ let config = {};
303
+ if (typeof this.badge === 'number') {
304
+ config = { class: 'es-button-badge', props: { value: this.badge } };
305
+ } else {
306
+ let { value, max, isDot, hidden, type } = this.badge;
307
+ config = {
308
+ class: this.badge.class
309
+ ? this.badge.class + ' es-button-badge'
310
+ : 'es-button-badge',
311
+ props: { value, max, isDot, hidden, type }
312
+ };
313
+ }
314
+ return h('el-badge', config, [
315
+ h(
316
+ tag,
317
+ {
318
+ class: clas,
319
+ props: { ...this.$attrs, ...props },
320
+ attrs: attrs,
321
+ on: { ...this.$listeners, click: this.handleClick },
322
+ directives: [
323
+ {
324
+ name: 'show',
325
+ value: !this.hide
326
+ }
314
327
  ]
315
- )
316
- ]);
328
+ },
329
+ this.iconPlacement === 'start'
330
+ ? [
331
+ this.icon ? h('i', { class: this.icon }) : '',
332
+ this.$slots.default || this.text
333
+ ]
334
+ : [
335
+ this.$slots.default || this.text,
336
+ this.icon ? h('i', { class: this.icon }) : ''
337
+ ]
338
+ )
339
+ ]);
340
+ }
317
341
  }
318
342
  return h(
319
343
  tag,
320
344
  {
321
345
  class: clas,
322
- props: { ...this.$attrs, ...props },
346
+ props: props,
323
347
  attrs: attrs,
324
- on: { ...this.$listeners, click: this.handleClick },
348
+ on: listeners,
325
349
  directives: [
326
350
  {
327
351
  name: 'show',
@@ -332,10 +356,26 @@ export default {
332
356
  this.iconPlacement === 'start'
333
357
  ? [
334
358
  this.icon ? h('i', { class: this.icon }) : '',
335
- this.$slots.default || this.text
359
+ this.upload
360
+ ? h(
361
+ 'el-button',
362
+ {
363
+ props: config
364
+ },
365
+ [this.$slots.default || this.text]
366
+ )
367
+ : this.$slots.default || this.text
336
368
  ]
337
369
  : [
338
- this.$slots.default || this.text,
370
+ this.upload
371
+ ? h(
372
+ 'el-button',
373
+ {
374
+ props: config
375
+ },
376
+ [this.$slots.default || this.text]
377
+ )
378
+ : this.$slots.default || this.text,
339
379
  this.icon ? h('i', { class: this.icon }) : ''
340
380
  ]
341
381
  );
@@ -7,20 +7,31 @@
7
7
  v-if="item.upload || (item.code && item.ownId)"
8
8
  class="el-button"
9
9
  v-bind="{
10
- ...item,
10
+ ...exclAttribute({
11
+ data: item,
12
+ attrs: ['events']
13
+ }),
14
+ ...parseProps(),
11
15
  method: 'post',
12
16
  btnSize: size,
13
17
  showFileList: false,
14
18
  selectType: item.type ? item.type : ''
15
19
  }"
20
+ v-on="item.events"
16
21
  ></es-upload>
17
22
  <es-button
18
23
  v-else
19
24
  :stop="stop"
20
- v-bind="item"
25
+ v-bind="
26
+ exclAttribute({
27
+ data: item,
28
+ attrs: ['events']
29
+ })
30
+ "
21
31
  :key="index"
22
32
  :size="size"
23
33
  :type="item.type"
34
+ v-on="item.events"
24
35
  @click="handleClick({ ...data, handle: item })"
25
36
  >
26
37
  {{
@@ -34,6 +45,7 @@
34
45
  </template>
35
46
  <el-dropdown
36
47
  v-if="other.length > 0"
48
+ ref="dropdown"
37
49
  @command="handleCommand"
38
50
  @visible-change="handleChange"
39
51
  :trigger="trigger"
@@ -55,12 +67,53 @@
55
67
  v-for="(item, index) in other"
56
68
  :key="index"
57
69
  :command="item"
70
+ :class="{ 'es-dropdown-padding': item.upload || item.selector }"
58
71
  >
59
- <i :class="item.icon" v-if="item.icon"></i
60
- >{{
61
- item.template ? item.template({ ...data, config: item }) : item.text
62
- }}</el-dropdown-item
63
- >
72
+ <es-upload
73
+ v-if="item.upload || (item.code && item.ownId)"
74
+ class="es-dropdown-upload"
75
+ v-bind="{
76
+ ...exclAttribute({
77
+ data: item,
78
+ attrs: ['events']
79
+ }),
80
+ ...parseProps(),
81
+ method: 'post',
82
+ showFileList: false,
83
+ selectType: 'text'
84
+ }"
85
+ v-on="item.events"
86
+ ></es-upload>
87
+ <es-selector
88
+ v-else-if="item.selector"
89
+ class="es-dropdown-selector"
90
+ v-bind="{
91
+ reset: true,
92
+ ...exclAttribute({
93
+ data: item,
94
+ attrs: ['events', 'type', 'value']
95
+ }),
96
+ businessData: data
97
+ }"
98
+ v-on="item.events"
99
+ :button="{ size: 'medium', type: 'text' }"
100
+ >
101
+ <i :class="item.icon" v-if="item.icon"></i
102
+ >{{
103
+ item.template
104
+ ? item.template({ ...data, config: item })
105
+ : item.text
106
+ }}
107
+ </es-selector>
108
+ <template v-else>
109
+ <i :class="item.icon" v-if="item.icon"></i
110
+ >{{
111
+ item.template
112
+ ? item.template({ ...data, config: item })
113
+ : item.text
114
+ }}
115
+ </template>
116
+ </el-dropdown-item>
64
117
  </el-dropdown-menu>
65
118
  </el-dropdown>
66
119
  </el-button-group>
@@ -97,7 +150,8 @@ export default {
97
150
  placement: {
98
151
  type: String,
99
152
  default: 'bottom'
100
- }
153
+ },
154
+ parseData: Function
101
155
  },
102
156
  computed: {
103
157
  btns() {
@@ -126,6 +180,9 @@ export default {
126
180
  this.resetWidth();
127
181
  },
128
182
  methods: {
183
+ exclAttribute({ data, attrs }) {
184
+ return util.exclAttribute({ data, attrs });
185
+ },
129
186
  getBtns() {
130
187
  let useCaseCodes = util.getStorage('useCaseCodes');
131
188
  let keyword =
@@ -166,6 +223,10 @@ export default {
166
223
  this.$emit('handle-click', obj);
167
224
  },
168
225
  handleCommand(res) {
226
+ if (res.upload || res.selector) {
227
+ this.$refs.dropdown.hide();
228
+ return false;
229
+ }
169
230
  this.$emit('handleClick', { ...this.data, handle: res });
170
231
  this.$emit('handle-click', { ...this.data, handle: res });
171
232
  },
@@ -183,6 +244,9 @@ export default {
183
244
  this.$emit('input', w + 'px');
184
245
  }
185
246
  });
247
+ },
248
+ parseProps() {
249
+ return this.parseData && this.data ? this.parseData(this.data) : {};
186
250
  }
187
251
  }
188
252
  };
@@ -22,7 +22,7 @@
22
22
  {{ item }}
23
23
  </li>
24
24
  </ul>
25
- <ul class="es-calendar-days">
25
+ <ul class="es-calendar-days" :style="{ height: _height }">
26
26
  <li
27
27
  class="es-day"
28
28
  @click="handleClick(item)"
@@ -34,7 +34,8 @@
34
34
  :class="{
35
35
  'es-disabled-day': item.type == 0,
36
36
  'es-today': isSelect(item, today) && mark,
37
- 'es-select': isSelect(item, select)
37
+ 'es-select': isSelect(item, select),
38
+ 'es-disabled': item.disabled
38
39
  }"
39
40
  >
40
41
  {{ item.date }}
@@ -78,7 +79,9 @@ export default {
78
79
  type: Boolean,
79
80
  default: true
80
81
  },
81
- mark: Boolean
82
+ mark: Boolean,
83
+ disabled: Boolean,
84
+ height: String
82
85
  },
83
86
  watch: {
84
87
  date: {
@@ -115,6 +118,9 @@ export default {
115
118
  }
116
119
  }
117
120
  });
121
+ },
122
+ _height() {
123
+ return this.height && this.all ? parseInt(this.height) + 'px' : '';
118
124
  }
119
125
  },
120
126
  data() {
@@ -191,6 +197,9 @@ export default {
191
197
  return target == `${year}/${month}/${date}`;
192
198
  },
193
199
  handleClick(res) {
200
+ if (res.disabled) {
201
+ return false;
202
+ }
194
203
  let { year, month, date } = res;
195
204
  this.selectDate = date;
196
205
  this.select = `${year}/${month}/${date}`;
@@ -322,7 +331,8 @@ export default {
322
331
  date: i,
323
332
  type: 0,
324
333
  year: month == 0 ? year - 1 : year,
325
- month: month == 0 ? 12 : month
334
+ month: month == 0 ? 12 : month,
335
+ disabled: this.disabled
326
336
  });
327
337
  }
328
338
  }
@@ -343,7 +353,8 @@ export default {
343
353
  date: i,
344
354
  type: 0,
345
355
  year: month == 11 ? year + 1 : year,
346
- month: month == 11 ? 1 : month + 2
356
+ month: month == 11 ? 1 : month + 2,
357
+ disabled: this.disabled
347
358
  });
348
359
  }
349
360
  }
@@ -8,7 +8,8 @@
8
8
  v-bind="{
9
9
  ...$attrs,
10
10
  ...item,
11
- indexs: index
11
+ indexs: index,
12
+ ...(dragSort ? { ...item, fixed: false } : item)
12
13
  }"
13
14
  v-on="$listeners"
14
15
  ></children
@@ -24,6 +25,7 @@ export default {
24
25
  [column.name]: column
25
26
  },
26
27
  props: {
28
+ dragSort: Boolean,
27
29
  children: Array,
28
30
  childHead: Array
29
31
  },
@@ -479,7 +479,7 @@ export default {
479
479
  width: [Number, String],
480
480
  minWidth: [Number, String],
481
481
  hide: Boolean,
482
- showOverflowTooltip: Boolean,
482
+ showOverflowTooltip: [Boolean, Number],
483
483
  render: [Function, String],
484
484
  contents: Array,
485
485
  events: [Array, Object],
@@ -43,7 +43,6 @@
43
43
  ref="oaTable"
44
44
  v-bind="{
45
45
  ...$attrs,
46
- data: datas,
47
46
  emptyText: emptyText,
48
47
  showSummary: showTotal,
49
48
  sumText: sumText || totalText,
@@ -54,28 +53,46 @@
54
53
  : undefined,
55
54
  border: _border,
56
55
  infiniteScroll: getTableData,
57
- infiniteScrollDisabled: infiniteDisabled
56
+ infiniteScrollDisabled: infiniteDisabled,
57
+ dragSort: dragSort,
58
+ dragSortClass: dragSortIcon
58
59
  }"
60
+ :data.sync="datas"
59
61
  v-on="{
60
62
  ...$listeners,
61
63
  'row-click': rowClick,
62
64
  'selection-change': selectionChange,
63
65
  'filter-column': handleFilterColumn,
64
- 'sort-change': handleSortChange
66
+ 'sort-change': handleSortChange,
67
+ 'update-drag-sort': handleUpdateDragSort
65
68
  }"
66
69
  :class="
67
70
  'es-table' +
68
71
  (theadBorder && border != 'none' ? ' es-thead-border' : '')
69
72
  "
70
73
  >
74
+ <!-- <el-table-column v-if="dragSort" width="32" fixed>
75
+ <template slot-scope="scope">
76
+ <es-icon :contents="dragSortIcon"></es-icon>
77
+ </template>
78
+ </el-table-column> -->
71
79
  <slot name="prepend"></slot>
72
80
  <slot></slot>
73
81
  <template v-for="(item, index) in theads">
74
82
  <template v-if="item.hide !== true">
75
83
  <el-table-column
76
- v-if="item.type === 'index' || item.type === 'selection'"
84
+ v-if="item.type === 'sort'"
85
+ width="32"
86
+ :key="index"
87
+ >
88
+ <template slot-scope="scope">
89
+ <es-icon class="es-move" :contents="dragSortIcon"></es-icon>
90
+ </template>
91
+ </el-table-column>
92
+ <el-table-column
93
+ v-else-if="item.type === 'index' || item.type === 'selection'"
77
94
  :key="index"
78
- v-bind="item"
95
+ v-bind="dragSort ? { ...item, fixed: false } : item"
79
96
  ></el-table-column>
80
97
  <children
81
98
  v-else
@@ -86,7 +103,8 @@
86
103
  form: form,
87
104
  readonly: readonly,
88
105
  optionData: optionDatas,
89
- ...item
106
+ dragSort: dragSort,
107
+ ...(dragSort ? { ...item, fixed: false } : item)
90
108
  }"
91
109
  v-on="{
92
110
  handleClick: handleClick,
@@ -402,6 +420,11 @@ export default {
402
420
  default() {
403
421
  return {};
404
422
  }
423
+ },
424
+ dragSort: Boolean,
425
+ dragSortIcon: {
426
+ type: String,
427
+ default: 'es-icon-caidan'
405
428
  }
406
429
  },
407
430
  data() {
@@ -430,7 +453,8 @@ export default {
430
453
  icon: true,
431
454
  show: true,
432
455
  sysCodes: [],
433
- infiniteDisabled: this.infiniteScroll
456
+ infiniteDisabled: this.infiniteScroll,
457
+ isUpadeData: false
434
458
  };
435
459
  },
436
460
  computed: {
@@ -450,7 +474,23 @@ export default {
450
474
  theads: {
451
475
  get() {
452
476
  let thead = [];
453
- if (this.checkbox) {
477
+ let types = this.theadData
478
+ .filter((item) => {
479
+ return (
480
+ item.type == 'selection' ||
481
+ item.type == 'index' ||
482
+ item.type == 'sort'
483
+ );
484
+ })
485
+ .map((item) => {
486
+ return item.type;
487
+ });
488
+ if (this.dragSort && !types.includes('sort')) {
489
+ thead.push({
490
+ type: 'sort'
491
+ });
492
+ }
493
+ if (this.checkbox && !types.includes('selection')) {
454
494
  thead.push({
455
495
  type: 'selection',
456
496
  width: '55',
@@ -460,7 +500,7 @@ export default {
460
500
  reserveSelection: this.reserveSelection
461
501
  });
462
502
  }
463
- if (this.numbers) {
503
+ if (this.numbers && !types.includes('index')) {
464
504
  let index = 1;
465
505
  if (this.infiniteScroll) {
466
506
  index = typeof this.index == 'boolean' ? 1 : this.index;
@@ -476,7 +516,8 @@ export default {
476
516
  width: '70',
477
517
  align: 'center',
478
518
  fixed: 'left',
479
- index: index
519
+ index: index,
520
+ filterIcon: this.filter ? 'es-icon-biao' : undefined
480
521
  });
481
522
  }
482
523
  if (this.theadData.length) {
@@ -512,6 +553,7 @@ export default {
512
553
  return this.data;
513
554
  },
514
555
  set(val) {
556
+ this.$emit('update:data', val);
515
557
  return val;
516
558
  }
517
559
  },
@@ -1481,6 +1523,9 @@ export default {
1481
1523
  }
1482
1524
  this.$emit('sort-change', res);
1483
1525
  },
1526
+ handleUpdateDragSort(data, event) {
1527
+ this.$emit('update-drag-sort', data, event);
1528
+ },
1484
1529
  mergeThead(res) {
1485
1530
  this.theadData = res;
1486
1531
  this.icon = true;