eoss-ui 0.8.39 → 0.8.40

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 (41) hide show
  1. package/lib/eoss-ui.common.js +736 -1086
  2. package/lib/flow-list.js +83 -22
  3. package/lib/flow.js +167 -111
  4. package/lib/index.js +1 -1
  5. package/lib/selector-panel.js +189 -110
  6. package/lib/selector.js +164 -700
  7. package/lib/theme-chalk/flow-list.css +1 -1
  8. package/lib/theme-chalk/flow.css +1 -1
  9. package/lib/theme-chalk/fonts/iconfont.ttf +0 -0
  10. package/lib/theme-chalk/fonts/iconfont.woff +0 -0
  11. package/lib/theme-chalk/form.css +1 -1
  12. package/lib/theme-chalk/index.css +1 -1
  13. package/lib/theme-chalk/selector-panel.css +1 -1
  14. package/lib/theme-chalk/selector.css +1 -1
  15. package/lib/theme-chalk/tree.css +1 -1
  16. package/package.json +2 -2
  17. package/packages/flow/src/flow.vue +26 -11
  18. package/packages/flow/src/main.vue +10 -5
  19. package/packages/flow/src/selectUser.vue +1 -0
  20. package/packages/flow-list/src/main.vue +72 -14
  21. package/packages/selector/src/main.vue +120 -269
  22. package/packages/selector-panel/src/main.vue +1071 -1036
  23. package/packages/selector-panel/src/tree.vue +24 -18
  24. package/packages/theme-chalk/lib/flow-list.css +1 -1
  25. package/packages/theme-chalk/lib/flow.css +1 -1
  26. package/packages/theme-chalk/lib/fonts/iconfont.ttf +0 -0
  27. package/packages/theme-chalk/lib/fonts/iconfont.woff +0 -0
  28. package/packages/theme-chalk/lib/form.css +1 -1
  29. package/packages/theme-chalk/lib/index.css +1 -1
  30. package/packages/theme-chalk/lib/selector-panel.css +1 -1
  31. package/packages/theme-chalk/lib/selector.css +1 -1
  32. package/packages/theme-chalk/lib/tree.css +1 -1
  33. package/packages/theme-chalk/src/flow-list.scss +61 -55
  34. package/packages/theme-chalk/src/flow.scss +16 -2
  35. package/packages/theme-chalk/src/fonts/iconfont.ttf +0 -0
  36. package/packages/theme-chalk/src/fonts/iconfont.woff +0 -0
  37. package/packages/theme-chalk/src/form.scss +5 -1
  38. package/packages/theme-chalk/src/selector-panel.scss +36 -6
  39. package/packages/theme-chalk/src/selector.scss +66 -115
  40. package/packages/theme-chalk/src/tree.scss +1 -1
  41. package/src/index.js +1 -1
package/lib/selector.js CHANGED
@@ -4528,6 +4528,13 @@ module.exports = require("lodash");
4528
4528
 
4529
4529
  /***/ }),
4530
4530
 
4531
+ /***/ 13:
4532
+ /***/ (function(module, exports) {
4533
+
4534
+ module.exports = require("throttle-debounce");
4535
+
4536
+ /***/ }),
4537
+
4531
4538
  /***/ 2:
4532
4539
  /***/ (function(module, exports) {
4533
4540
 
@@ -4682,7 +4689,7 @@ module.exports = require("json-bigint");
4682
4689
  // ESM COMPAT FLAG
4683
4690
  __webpack_require__.r(__webpack_exports__);
4684
4691
 
4685
- // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/selector/src/main.vue?vue&type=template&id=2e6b9dd2&
4692
+ // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/selector/src/main.vue?vue&type=template&id=18a2e4a6&
4686
4693
  var render = function () {
4687
4694
  var _vm = this
4688
4695
  var _h = _vm.$createElement
@@ -4691,22 +4698,14 @@ var render = function () {
4691
4698
  ? _c(
4692
4699
  "div",
4693
4700
  {
4694
- directives: [
4695
- {
4696
- name: "clickoutside",
4697
- rawName: "v-clickoutside",
4698
- value: _vm.handleClose,
4699
- expression: "handleClose",
4700
- },
4701
- ],
4702
4701
  ref: "esSelector",
4703
4702
  staticClass: "es-selector",
4704
- class: { "es-pointer": !_vm.readonly && !_vm.filterable },
4703
+ class: { "is-button": _vm.button && !_vm.readonly },
4705
4704
  },
4706
4705
  [
4707
4706
  _vm.form
4708
4707
  ? [
4709
- _vm.button
4708
+ _vm.button && !_vm.readonly
4710
4709
  ? _c(
4711
4710
  "el-button",
4712
4711
  _vm._b(
@@ -4725,485 +4724,94 @@ var render = function () {
4725
4724
  2
4726
4725
  )
4727
4726
  : [
4728
- _c(
4729
- "div",
4730
- {
4731
- class: [
4732
- _vm.selectorSize
4733
- ? "el-select--" + _vm.selectorSize
4734
- : "es-selector-box",
4735
- { "es-selector-search": _vm.filterable },
4736
- ],
4737
- on: {
4738
- click: function ($event) {
4739
- $event.stopPropagation()
4740
- return _vm.toggleMenu($event)
4741
- },
4742
- },
4743
- },
4744
- [
4745
- _vm.multiple
4746
- ? _c(
4747
- "div",
4748
- {
4749
- ref: "tags",
4750
- staticClass: "el-select__tags",
4751
- class: { "es-selector-edit": !_vm.readonly },
4752
- },
4753
- [
4754
- _vm.collapseTags && _vm.selected.length
4755
- ? _c(
4756
- "div",
4757
- {
4758
- staticClass: "es-selector-tags",
4759
- class: {
4760
- "es-selector-more":
4761
- _vm.selected.length > 1,
4762
- },
4763
- },
4764
- [
4765
- _vm._l(
4766
- _vm.selected.slice(
4767
- 0,
4768
- _vm.collapseTags === true
4769
- ? 1
4770
- : _vm.collapseTags
4771
- ),
4772
- function (item, index) {
4773
- return _c(
4774
- "el-tag",
4775
- {
4776
- key: _vm.getValueKey(item),
4777
- attrs: {
4778
- closable:
4779
- !_vm.selectorDisabled &&
4780
- !_vm.readonly &&
4781
- _vm.selected.length >
4782
- _vm.min,
4783
- type: "info",
4784
- "disable-transitions": "",
4785
- },
4786
- on: {
4787
- close: function ($event) {
4788
- _vm.deleteTag(
4789
- $event,
4790
- item,
4791
- index
4792
- )
4793
- },
4794
- },
4795
- },
4796
- [
4797
- _c(
4798
- "span",
4799
- {
4800
- staticClass:
4801
- "el-select__tags-text",
4802
- },
4803
- [
4804
- _vm._v(
4805
- _vm._s(
4806
- _vm.getLabel(item)
4807
- )
4808
- ),
4809
- ]
4810
- ),
4811
- ]
4812
- )
4813
- }
4814
- ),
4815
- _vm.selected.length >
4816
- (_vm.collapseTags === true
4817
- ? 1
4818
- : _vm.collapseTags)
4819
- ? _c(
4820
- "el-tag",
4821
- {
4822
- staticClass: "es-tags-more",
4823
- attrs: {
4824
- closable: false,
4825
- type: "info",
4826
- "disable-transitions": "",
4827
- },
4828
- },
4829
- [
4830
- _c(
4831
- "span",
4832
- {
4833
- staticClass:
4834
- "el-select__tags-text",
4835
- },
4836
- [
4837
- _vm._v(
4838
- "+\n " +
4839
- _vm._s(
4840
- _vm.selected
4841
- .length -
4842
- (_vm.collapseTags ===
4843
- true
4844
- ? 1
4845
- : _vm.collapseTags)
4846
- )
4847
- ),
4848
- ]
4849
- ),
4850
- ]
4851
- )
4852
- : _vm._e(),
4853
- ],
4854
- 2
4855
- )
4856
- : _c(
4857
- "transition-group",
4858
- {
4859
- on: {
4860
- "after-leave": _vm.resetInputHeight,
4861
- },
4862
- },
4863
- _vm._l(
4864
- _vm.selected,
4865
- function (item, index) {
4866
- return _c(
4867
- "el-tag",
4868
- {
4869
- key: _vm.getValueKey(item),
4870
- attrs: {
4871
- closable:
4872
- !_vm.selectorDisabled &&
4873
- !_vm.readonly &&
4874
- _vm.selected.length >
4875
- _vm.min,
4876
- type: "info",
4877
- "disable-transitions": "",
4878
- },
4879
- on: {
4880
- close: function ($event) {
4881
- _vm.deleteTag(
4882
- $event,
4883
- item,
4884
- index
4885
- )
4886
- },
4887
- },
4888
- },
4889
- [
4890
- _c(
4891
- "span",
4892
- {
4893
- staticClass:
4894
- "el-select__tags-text",
4895
- },
4896
- [
4897
- _vm._v(
4898
- _vm._s(_vm.getLabel(item))
4899
- ),
4900
- ]
4901
- ),
4902
- ]
4903
- )
4904
- }
4905
- ),
4906
- 1
4907
- ),
4908
- ],
4909
- 1
4910
- )
4911
- : _vm._e(),
4912
- _vm.readonly
4913
- ? _c(
4914
- "div",
4915
- {
4916
- ref: "reference",
4917
- staticClass: "es-input__inner",
4727
+ !(_vm.multiple && _vm.readonly)
4728
+ ? _c(
4729
+ "el-autocomplete",
4730
+ {
4731
+ attrs: {
4732
+ "value-key": "showname",
4733
+ readonly: _vm.readonly,
4734
+ "fetch-suggestions": _vm.search,
4735
+ placeholder: _vm.placeholder,
4736
+ "trigger-on-focus": false,
4737
+ "get-label": _vm.getLabel,
4738
+ },
4739
+ on: {
4740
+ select: _vm.handleSelect,
4741
+ change: _vm.handleChange,
4742
+ },
4743
+ model: {
4744
+ value: _vm.selectedLabel,
4745
+ callback: function ($$v) {
4746
+ _vm.selectedLabel = $$v
4918
4747
  },
4919
- [
4920
- !_vm.multiple
4921
- ? [_vm._v(_vm._s(_vm.selectedLabel))]
4922
- : _vm._e(),
4923
- ],
4924
- 2
4925
- )
4926
- : [
4927
- _vm.multiple
4928
- ? [
4929
- _c(
4930
- "el-input",
4931
- {
4932
- directives: [
4933
- {
4934
- name: "popover",
4935
- rawName: "v-popover:popover",
4936
- arg: "popover",
4937
- },
4938
- ],
4939
- ref: "reference",
4940
- class: {
4941
- "is-focus": _vm.visible,
4942
- "es-plain": _vm.plain,
4943
- "es-pointer": !_vm.filterable,
4944
- "es-zindex-2": _vm.focus,
4945
- },
4946
- attrs: {
4947
- type: "text",
4948
- autocomplete: "off",
4949
- readonly: _vm.filterable
4950
- ? false
4951
- : true,
4952
- id: _vm.id,
4953
- placeholder: _vm.currentPlaceholder,
4954
- size: _vm.selectorSize,
4955
- disabled: _vm.selectorDisabled,
4956
- tabindex: _vm.tabindex,
4957
- },
4958
- on: {
4959
- focus: _vm.handleFocus,
4960
- blur: _vm.handleBlur,
4961
- },
4962
- nativeOn: {
4963
- dblclick: function ($event) {
4964
- return _vm.openDialog($event)
4965
- },
4966
- },
4967
- model: {
4968
- value: _vm.words,
4969
- callback: function ($$v) {
4970
- _vm.words = $$v
4971
- },
4972
- expression: "words",
4973
- },
4974
- },
4975
- [
4976
- _c(
4977
- "template",
4978
- { slot: "append" },
4979
- [
4980
- _vm.filterable || _vm.showButton
4981
- ? _c(
4982
- "el-button",
4983
- {
4984
- ref: "openDialog",
4985
- on: {
4986
- click: function (
4987
- $event
4988
- ) {
4989
- $event.stopPropagation()
4990
- return _vm.openDialog(
4991
- $event
4992
- )
4993
- },
4994
- },
4995
- },
4996
- [
4997
- _vm._t("default", [
4998
- _vm.icon
4999
- ? _c("es-icon", {
5000
- attrs: {
5001
- contents:
5002
- _vm.icon,
5003
- },
5004
- })
5005
- : [_vm._v("选择")],
5006
- ]),
5007
- ],
5008
- 2
5009
- )
5010
- : _vm._e(),
5011
- ],
5012
- 1
5013
- ),
5014
- ],
5015
- 2
5016
- ),
5017
- _c("el-input", {
5018
- directives: [
5019
- {
5020
- name: "show",
5021
- rawName: "v-show",
5022
- value: false,
5023
- expression: "false",
5024
- },
5025
- ],
5026
- attrs: {
5027
- readonly: "",
5028
- name: _vm.name,
5029
- type: "text",
5030
- },
5031
- model: {
5032
- value: _vm.selectedLabel,
5033
- callback: function ($$v) {
5034
- _vm.selectedLabel = $$v
5035
- },
5036
- expression: "selectedLabel",
5037
- },
5038
- }),
5039
- ]
5040
- : _c(
5041
- "el-input",
5042
- {
5043
- ref: "reference",
5044
- class: {
5045
- "is-focus": _vm.visible,
5046
- "es-plain": this.plain,
5047
- "es-pointer": !_vm.filterable,
5048
- },
5049
- attrs: {
5050
- type: "text",
5051
- autocomplete: "off",
5052
- clearable: _vm.clearable,
5053
- showClearIcon: "",
5054
- name: _vm.name,
5055
- readonly: _vm.filterable
5056
- ? false
5057
- : true,
5058
- active: _vm.actived,
5059
- id: _vm.id,
5060
- placeholder: _vm.currentPlaceholder,
5061
- size: _vm.selectorSize,
5062
- disabled: _vm.selectorDisabled,
5063
- tabindex: _vm.tabindex,
5064
- },
5065
- on: { clear: _vm.handleClear },
5066
- nativeOn: {
5067
- dblclick: function ($event) {
5068
- return _vm.openDialog($event)
5069
- },
5070
- },
5071
- model: {
5072
- value: _vm.selectedLabel,
5073
- callback: function ($$v) {
5074
- _vm.selectedLabel = $$v
5075
- },
5076
- expression: "selectedLabel",
5077
- },
5078
- },
5079
- [
5080
- _c(
5081
- "template",
5082
- { slot: "append" },
5083
- [
5084
- _vm.filterable || _vm.showButton
5085
- ? _c(
5086
- "el-button",
5087
- {
5088
- ref: "openDialog",
5089
- on: {
5090
- click: function ($event) {
5091
- $event.stopPropagation()
5092
- return _vm.openDialog(
5093
- $event
5094
- )
5095
- },
5096
- },
5097
- },
5098
- [
5099
- _vm._t("default", [
5100
- _vm.icon
5101
- ? _c("es-icon", {
5102
- attrs: {
5103
- contents:
5104
- _vm.icon,
5105
- },
5106
- })
5107
- : [_vm._v("选择")],
5108
- ]),
5109
- ],
5110
- 2
5111
- )
5112
- : _vm._e(),
5113
- ],
5114
- 1
5115
- ),
5116
- ],
5117
- 2
5118
- ),
5119
- ],
5120
- ],
5121
- 2
5122
- ),
5123
- _c(
5124
- "el-popover",
5125
- {
5126
- attrs: {
5127
- placement: "bottom-start",
5128
- trigger: "manual",
5129
- "popper-class": "es-selector-popover",
5130
- width: _vm.minWidth,
5131
- queryParent: true,
5132
- reference: _vm.reference,
5133
- "arrow-offset": 20,
5134
- },
5135
- model: {
5136
- value: _vm.show,
5137
- callback: function ($$v) {
5138
- _vm.show = $$v
4748
+ expression: "selectedLabel",
4749
+ },
5139
4750
  },
5140
- expression: "show",
5141
- },
5142
- },
5143
- [
5144
- _c(
5145
- "el-scrollbar",
4751
+ [
4752
+ !_vm.readonly
4753
+ ? _c("el-button", {
4754
+ staticClass: "es-selector-btn",
4755
+ attrs: {
4756
+ slot: "suffix",
4757
+ type: "text",
4758
+ icon: _vm.icon,
4759
+ },
4760
+ on: {
4761
+ click: function ($event) {
4762
+ $event.stopPropagation()
4763
+ return _vm.openDialog($event)
4764
+ },
4765
+ },
4766
+ slot: "suffix",
4767
+ })
4768
+ : _vm._e(),
4769
+ ],
4770
+ 1
4771
+ )
4772
+ : _vm._e(),
4773
+ _vm.multiple
4774
+ ? _c(
4775
+ "div",
5146
4776
  {
5147
- directives: [
5148
- {
5149
- name: "show",
5150
- rawName: "v-show",
5151
- value: _vm.options.length,
5152
- expression: "options.length",
5153
- },
5154
- ],
5155
- ref: "scrollbar",
5156
- attrs: {
5157
- tag: "ul",
5158
- "wrap-class": "es-selector-dropdown__wrap",
5159
- "view-class": "es-selector-dropdown__list",
5160
- maxHeight: "228",
4777
+ ref: "tags",
4778
+ staticClass: "es-select__tags",
4779
+ class: {
4780
+ "is-edit": !_vm.readonly,
4781
+ "is-show": _vm.selected.length,
5161
4782
  },
5162
4783
  },
5163
- _vm._l(_vm.options, function (item) {
4784
+ _vm._l(_vm.selected, function (item, index) {
5164
4785
  return _c(
5165
- "li",
4786
+ "el-tag",
5166
4787
  {
5167
- key: item.id,
5168
- staticClass: "es-selector-dropdown-item",
5169
- class: { "es-selected": item.selected },
4788
+ key: _vm.getValueKey(item),
4789
+ attrs: {
4790
+ closable:
4791
+ !_vm.selectorDisabled &&
4792
+ !_vm.readonly &&
4793
+ _vm.selected.length > _vm.min,
4794
+ type: "info",
4795
+ "disable-transitions": "",
4796
+ },
5170
4797
  on: {
5171
- click: function ($event) {
5172
- _vm.handleSelect(item)
4798
+ close: function ($event) {
4799
+ _vm.deleteTag($event, item, index)
5173
4800
  },
5174
4801
  },
5175
4802
  },
5176
4803
  [
5177
- _c("span", [
5178
- _vm._v(
5179
- "\n " +
5180
- _vm._s(_vm.getDep(item)) +
5181
- "\n " +
5182
- _vm._s(item[_vm.labelKey]) +
5183
- "\n "
5184
- ),
5185
- ]),
5186
- ]
5187
- )
5188
- }),
5189
- 0
5190
- ),
5191
- _vm.options.length == 0
5192
- ? _c(
5193
- "p",
5194
- { staticClass: "el-select-dropdown__empty" },
5195
- [
5196
- _vm._v(
5197
- "\n " +
5198
- _vm._s(_vm.noMatchText) +
5199
- "\n "
4804
+ _c(
4805
+ "span",
4806
+ { staticClass: "el-select__tags-text" },
4807
+ [_vm._v(_vm._s(_vm.getLabel(item)))]
5200
4808
  ),
5201
4809
  ]
5202
4810
  )
5203
- : _vm._e(),
5204
- ],
5205
- 1
5206
- ),
4811
+ }),
4812
+ 1
4813
+ )
4814
+ : _vm._e(),
5207
4815
  ],
5208
4816
  ]
5209
4817
  : _vm._e(),
@@ -5244,6 +4852,8 @@ var render = function () {
5244
4852
  type: _vm.types,
5245
4853
  mix: _vm.mix,
5246
4854
  isShowLevel3: _vm.isShowLevel3,
4855
+ "tree-title": _vm.treeTitle,
4856
+ "show-switch": _vm.showSwitch,
5247
4857
  },
5248
4858
  on: {
5249
4859
  tabschage: _vm.tabschage,
@@ -5280,7 +4890,7 @@ var staticRenderFns = []
5280
4890
  render._withStripped = true
5281
4891
 
5282
4892
 
5283
- // CONCATENATED MODULE: ./packages/selector/src/main.vue?vue&type=template&id=2e6b9dd2&
4893
+ // CONCATENATED MODULE: ./packages/selector/src/main.vue?vue&type=template&id=18a2e4a6&
5284
4894
 
5285
4895
  // EXTERNAL MODULE: ./src/utils/util.js + 1 modules
5286
4896
  var util = __webpack_require__(0);
@@ -5292,6 +4902,9 @@ var api = __webpack_require__(1);
5292
4902
  var clickoutside_ = __webpack_require__(26);
5293
4903
  var clickoutside_default = /*#__PURE__*/__webpack_require__.n(clickoutside_);
5294
4904
 
4905
+ // EXTERNAL MODULE: external "throttle-debounce"
4906
+ var external_throttle_debounce_ = __webpack_require__(13);
4907
+
5295
4908
  // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/selector/src/main.vue?vue&type=script&lang=js&
5296
4909
  //
5297
4910
  //
@@ -5383,155 +4996,7 @@ var clickoutside_default = /*#__PURE__*/__webpack_require__.n(clickoutside_);
5383
4996
  //
5384
4997
  //
5385
4998
  //
5386
- //
5387
- //
5388
- //
5389
- //
5390
- //
5391
- //
5392
- //
5393
- //
5394
- //
5395
- //
5396
- //
5397
- //
5398
- //
5399
- //
5400
- //
5401
- //
5402
- //
5403
- //
5404
- //
5405
- //
5406
- //
5407
- //
5408
- //
5409
- //
5410
- //
5411
- //
5412
- //
5413
- //
5414
- //
5415
- //
5416
- //
5417
- //
5418
- //
5419
- //
5420
- //
5421
- //
5422
- //
5423
- //
5424
- //
5425
- //
5426
- //
5427
- //
5428
- //
5429
- //
5430
- //
5431
- //
5432
- //
5433
- //
5434
- //
5435
- //
5436
- //
5437
- //
5438
- //
5439
- //
5440
- //
5441
- //
5442
- //
5443
- //
5444
- //
5445
- //
5446
- //
5447
- //
5448
- //
5449
- //
5450
- //
5451
- //
5452
- //
5453
- //
5454
- //
5455
- //
5456
- //
5457
- //
5458
- //
5459
- //
5460
- //
5461
- //
5462
- //
5463
- //
5464
- //
5465
- //
5466
- //
5467
- //
5468
- //
5469
- //
5470
- //
5471
- //
5472
- //
5473
- //
5474
- //
5475
- //
5476
- //
5477
- //
5478
- //
5479
- //
5480
- //
5481
- //
5482
- //
5483
- //
5484
- //
5485
- //
5486
- //
5487
- //
5488
- //
5489
- //
5490
- //
5491
- //
5492
- //
5493
- //
5494
- //
5495
- //
5496
- //
5497
- //
5498
- //
5499
- //
5500
- //
5501
- //
5502
- //
5503
- //
5504
- //
5505
- //
5506
- //
5507
- //
5508
- //
5509
- //
5510
- //
5511
- //
5512
- //
5513
- //
5514
- //
5515
- //
5516
- //
5517
- //
5518
- //
5519
- //
5520
- //
5521
- //
5522
- //
5523
- //
5524
- //
5525
- //
5526
- //
5527
- //
5528
- //
5529
- //
5530
- //
5531
- //
5532
- //
5533
- //
5534
- //
4999
+
5535
5000
 
5536
5001
 
5537
5002
 
@@ -5627,17 +5092,17 @@ var clickoutside_default = /*#__PURE__*/__webpack_require__.n(clickoutside_);
5627
5092
  default: -1
5628
5093
  },
5629
5094
  //是否显示搜索框
5630
- filterable: Boolean,
5631
- //搜索列表是否显示部门信息
5632
- showFilterListDep: {
5095
+ filterable: {
5633
5096
  type: Boolean,
5634
5097
  default: true
5635
5098
  },
5099
+ //搜索列表是否显示部门信息
5100
+ showFilterListDep: Boolean,
5636
5101
  //是否根据搜索值创建新的数据
5637
5102
  createable: Boolean,
5638
5103
  showButton: Boolean,
5639
5104
  button: Object,
5640
- icon: String,
5105
+ icon: { type: String, default: 'es-icon-sousuorenyuan' },
5641
5106
  active: String,
5642
5107
  keywords: {
5643
5108
  type: String,
@@ -5680,16 +5145,24 @@ var clickoutside_default = /*#__PURE__*/__webpack_require__.n(clickoutside_);
5680
5145
  default: true
5681
5146
  },
5682
5147
  //弹窗关闭时是否销毁子组件
5683
- destroyOnClose: Boolean
5148
+ destroyOnClose: Boolean,
5149
+ //树结构标题
5150
+ treeTitle: String,
5151
+ //是否显示切换按钮
5152
+ showSwitch: {
5153
+ type: Boolean,
5154
+ default: true
5155
+ },
5156
+ selection: [Array, String]
5684
5157
  },
5685
5158
  data: function data() {
5686
5159
  return {
5160
+ selectedLabel: '',
5687
5161
  selected: [],
5688
5162
  visible: false,
5689
5163
  menuVisibleOnFocus: false,
5690
5164
  inputHovering: false,
5691
5165
  styles: {},
5692
- words: '',
5693
5166
  minWidth: '',
5694
5167
  options: '',
5695
5168
  show: false,
@@ -5725,30 +5198,6 @@ var clickoutside_default = /*#__PURE__*/__webpack_require__.n(clickoutside_);
5725
5198
  selectorDisabled: function selectorDisabled() {
5726
5199
  return this.disabled || (this.elForm || {}).disabled;
5727
5200
  },
5728
-
5729
- selectedLabel: {
5730
- get: function get() {
5731
- var _this = this;
5732
-
5733
- if (this.selected) {
5734
- if (typeof this.selected === 'string') {
5735
- return this.selected;
5736
- } else if (util["a" /* default */].isObject(this.selected)) {
5737
- return this.selected[this.labelKey];
5738
- } else if (Array.isArray(this.selected)) {
5739
- return this.selected.map(function (item) {
5740
- return typeof item === 'string' ? item : item[_this.labelKey];
5741
- }).join(',');
5742
- }
5743
- }
5744
- return '';
5745
- },
5746
- set: function set(val) {
5747
- this.selected = [val];
5748
- this.words = val;
5749
- return val;
5750
- }
5751
- },
5752
5201
  currentPlaceholder: function currentPlaceholder() {
5753
5202
  if (this.selected && this.selected.length) {
5754
5203
  return '';
@@ -5773,6 +5222,9 @@ var clickoutside_default = /*#__PURE__*/__webpack_require__.n(clickoutside_);
5773
5222
  } else {
5774
5223
  this.selected = [];
5775
5224
  }
5225
+ if (!this.multiple && val && val.length) {
5226
+ this.selectedLabel = this.getLabel(val[0]);
5227
+ }
5776
5228
  }
5777
5229
  },
5778
5230
  selected: {
@@ -5784,12 +5236,6 @@ var clickoutside_default = /*#__PURE__*/__webpack_require__.n(clickoutside_);
5784
5236
  }
5785
5237
  }
5786
5238
  },
5787
- words: function words(val) {
5788
- if (this.emptySerach || val !== '') {
5789
- clearTimeout(this.timer);
5790
- this.timer = setTimeout(this.handleSearch, 500);
5791
- }
5792
- },
5793
5239
  mix: function mix(val) {
5794
5240
  if (val) {
5795
5241
  this.getSysParam();
@@ -5797,6 +5243,11 @@ var clickoutside_default = /*#__PURE__*/__webpack_require__.n(clickoutside_);
5797
5243
  }
5798
5244
  },
5799
5245
  created: function created() {
5246
+ var _this = this;
5247
+
5248
+ this.search = Object(external_throttle_debounce_["throttle"])(500, function (query, callback) {
5249
+ _this.handleSearch(query, callback);
5250
+ });
5800
5251
  this.reference = this.$refs.esSelector;
5801
5252
  this.mix && this.getSysParam();
5802
5253
  },
@@ -5844,76 +5295,83 @@ var clickoutside_default = /*#__PURE__*/__webpack_require__.n(clickoutside_);
5844
5295
  getValueKey: function getValueKey(obj) {
5845
5296
  return util["a" /* default */].isObject(obj) ? obj[this.valueKey] : obj;
5846
5297
  },
5847
- toggleMenu: function toggleMenu() {
5848
- if (!this.selectorDisabled && !this.readonly && !this.filterable && this.select) {
5849
- this.visible = true;
5850
- }
5851
- },
5852
5298
  openDialog: function openDialog() {
5853
5299
  if (!this.selectorDisabled && !this.readonly && this.select) {
5854
5300
  this.visible = true;
5855
5301
  }
5856
5302
  },
5857
- handleSearch: function handleSearch() {
5858
- var _this3 = this;
5303
+ handleSearch: function handleSearch(query, callback) {
5304
+ var _ref,
5305
+ _this3 = this;
5859
5306
 
5860
- var options = [];
5861
- if (this.createable) {
5862
- var _ref;
5307
+ if (!query) return;
5863
5308
 
5864
- options = [(_ref = {}, _ref[this.labelKey] = this.words, _ref[this.valueKey] = this.words, _ref)];
5309
+ var options = this.createable ? [(_ref = {}, _ref[this.labelKey] = query, _ref[this.valueKey] = query, _ref)] : [];
5310
+ if (!this.tree && this.selection && Array.isArray(this.selection)) {
5311
+ var selections = this.selection.filter(function (item) {
5312
+ return item[_this3.labelKey].indexOf(query) > -1;
5313
+ });
5314
+ // selections = selections.filter((item) => {
5315
+ // return (
5316
+ // this.selected.findIndex(
5317
+ // (selected) => selected[this.valueKey] === item[this.valueKey]
5318
+ // ) === -1
5319
+ // );
5320
+ // });
5321
+ options = options.concat(selections);
5865
5322
  }
5866
5323
  if (this.filterable) {
5867
5324
  var params = {
5868
5325
  type: this.actived
5869
5326
  };
5870
- params[this.keywords] = this.words;
5327
+ var url = !this.tree && this.selection && typeof this.selection === 'string' ? this.selection : this.action;
5328
+ params[this.keywords] = query;
5871
5329
  params = util["a" /* default */].extend({}, params, this.where);
5872
5330
  util["a" /* default */].ajax({
5873
- url: this.action,
5331
+ url: url,
5874
5332
  params: params
5875
5333
  }).then(function (res) {
5876
5334
  if (res.rCode === 0) {
5877
- _this3.options = [].concat(options, res.results);
5878
- if (_this3.selected.length && _this3.multiple) {
5879
- _this3.selected.forEach(function (item) {
5880
- var i = util["a" /* default */].indexOfObj(_this3.options, item, _this3.valueKey);
5881
- if (i > -1) {
5882
- _this3.options[i].selected = true;
5883
- }
5884
- });
5885
- }
5886
- _this3.show = true;
5335
+ var results = res.results || [];
5336
+ // .filter((item) => {
5337
+ // return (
5338
+ // this.selected.findIndex(
5339
+ // (selected) =>
5340
+ // selected[this.valueKey] === item[this.valueKey]
5341
+ // ) === -1
5342
+ // );
5343
+ // });
5344
+ options = options.concat(results);
5345
+ callback(options);
5887
5346
  }
5888
5347
  }).catch(function (err) {
5889
5348
  if (err.message && err.message !== 'canceled') {
5890
5349
  _this3.$message.error(err.message);
5891
5350
  }
5892
5351
  });
5893
- } else if (this.createable) {
5894
- this.options = options;
5895
- this.show = true;
5896
- }
5897
- },
5898
- handleFocus: function handleFocus() {
5899
- if (this.filterable) {
5900
- this.focus = true;
5352
+ } else {
5353
+ callback(options);
5901
5354
  }
5902
5355
  },
5903
- handleBlur: function handleBlur() {
5904
- this.focus = false;
5905
- },
5906
5356
  tabschage: function tabschage(trees, active) {
5907
5357
  this.$emit('tabs-change', trees, active);
5908
5358
  },
5909
- handleClose: function handleClose(res) {
5910
- if (!this.multiple && this.selected[0] === this.words) {
5359
+ handleChange: function handleChange(val) {
5360
+ if (!this.multiple) {
5911
5361
  this.selected = [];
5362
+
5363
+ this.$emit('input', []);
5364
+ this.$emit('confirm', [], this.businessData);
5912
5365
  }
5913
- this.show = false;
5366
+ console.log('handleChange', val);
5914
5367
  },
5915
5368
  handleSelect: function handleSelect(res) {
5916
- this.words = '';
5369
+ console.log('handleSelect', res);
5370
+ if (!this.multiple) {
5371
+ this.selectedLabel = this.getLabel(res);
5372
+ } else {
5373
+ this.selectedLabel = '';
5374
+ }
5917
5375
  if (!res.selected) {
5918
5376
  if (this.multiple) {
5919
5377
  if (this.selected.length) {
@@ -5945,8 +5403,14 @@ var clickoutside_default = /*#__PURE__*/__webpack_require__.n(clickoutside_);
5945
5403
  this.$emit('confirm', this.selected);
5946
5404
  },
5947
5405
  handleConfirm: function handleConfirm(res) {
5948
- this.visible = false;
5406
+ console.log('handleConfirm', res);
5949
5407
  var val = util["a" /* default */].isObject(res) ? [res] : res;
5408
+ this.visible = false;
5409
+ if (!this.multiple) {
5410
+ this.selectedLabel = val[0] ? this.getLabel(val) : '';
5411
+ } else {
5412
+ this.selectedLabel = '';
5413
+ }
5950
5414
  if (this.mix) {
5951
5415
  val.forEach(function (item, index) {
5952
5416
  val[index]._typeName = util["a" /* default */].getTypeName(item.stype);