eoss-ui 0.5.81-beta2 → 0.5.81-beta20

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 (127) hide show
  1. package/lib/button-group.js +76 -53
  2. package/lib/button.js +51 -46
  3. package/lib/checkbox-group.js +49 -45
  4. package/lib/clients.js +4 -3
  5. package/lib/config/api.js +3 -1
  6. package/lib/data-table-form.js +49 -45
  7. package/lib/data-table.js +443 -240
  8. package/lib/date-picker.js +49 -45
  9. package/lib/dialog.js +58 -53
  10. package/lib/eoss-ui.common.js +3698 -2064
  11. package/lib/flow-group.js +52 -48
  12. package/lib/flow-list.js +50 -46
  13. package/lib/flow.js +138 -75
  14. package/lib/form.js +96 -49
  15. package/lib/handle-user.js +66 -49
  16. package/lib/handler.js +61 -48
  17. package/lib/icon.js +49 -45
  18. package/lib/index.js +1 -1
  19. package/lib/input-number.js +49 -45
  20. package/lib/input.js +49 -45
  21. package/lib/login.js +64 -53
  22. package/lib/main.js +2632 -1466
  23. package/lib/menu.js +1 -1
  24. package/lib/nav.js +49 -45
  25. package/lib/notify.js +54 -50
  26. package/lib/page.js +49 -45
  27. package/lib/pagination.js +3719 -3
  28. package/lib/player.js +54 -50
  29. package/lib/qr-code.js +49 -45
  30. package/lib/radio-group.js +49 -45
  31. package/lib/retrial-auth.js +50 -46
  32. package/lib/select-ganged.js +49 -45
  33. package/lib/select.js +50 -46
  34. package/lib/selector-panel.js +115 -63
  35. package/lib/selector.js +491 -422
  36. package/lib/sizer.js +49 -45
  37. package/lib/steps.js +49 -45
  38. package/lib/switch.js +49 -45
  39. package/lib/table-form.js +49 -45
  40. package/lib/tabs.js +49 -45
  41. package/lib/theme-chalk/base.css +1 -1
  42. package/lib/theme-chalk/button-group.css +1 -1
  43. package/lib/theme-chalk/data-table.css +1 -1
  44. package/lib/theme-chalk/handler.css +1 -1
  45. package/lib/theme-chalk/index.css +1 -1
  46. package/lib/theme-chalk/main.css +1 -1
  47. package/lib/theme-chalk/menu.css +1 -1
  48. package/lib/theme-chalk/nav.css +1 -1
  49. package/lib/theme-chalk/pagination.css +1 -1
  50. package/lib/theme-chalk/selector-panel.css +1 -1
  51. package/lib/theme-chalk/simplicity.css +1 -1
  52. package/lib/theme-chalk/sizer.css +1 -1
  53. package/lib/theme-chalk/toolbar.css +1 -1
  54. package/lib/theme-chalk/tree.css +1 -1
  55. package/lib/theme-chalk/upload.css +1 -1
  56. package/lib/tips.js +49 -45
  57. package/lib/tree-group.js +49 -45
  58. package/lib/tree.js +49 -45
  59. package/lib/upload.js +59 -55
  60. package/lib/wujie.js +49 -45
  61. package/lib/wxlogin.js +49 -45
  62. package/package.json +2 -2
  63. package/packages/button/src/main.vue +2 -1
  64. package/packages/button-group/src/main.vue +8 -6
  65. package/packages/clients/src/main.vue +2 -1
  66. package/packages/data-table/src/column.vue +113 -41
  67. package/packages/data-table/src/formItem.vue +430 -0
  68. package/packages/data-table/src/main.vue +85 -45
  69. package/packages/data-table/src/sizer.vue +2 -0
  70. package/packages/dialog/src/main.vue +4 -3
  71. package/packages/flow/src/main.vue +30 -17
  72. package/packages/flow-group/src/main.vue +1 -1
  73. package/packages/form/src/main.vue +45 -10
  74. package/packages/handle-user/src/main.vue +10 -3
  75. package/packages/handler/src/main.vue +5 -3
  76. package/packages/login/src/main.vue +13 -6
  77. package/packages/main/src/default/index.vue +102 -179
  78. package/packages/main/src/main.vue +243 -16
  79. package/packages/main/src/public/online.vue +90 -0
  80. package/packages/main/src/simplicity/apps.vue +176 -145
  81. package/packages/main/src/simplicity/avatar.vue +16 -6
  82. package/packages/main/src/simplicity/handler.vue +6 -2
  83. package/packages/main/src/simplicity/index.vue +477 -323
  84. package/packages/main/src/simplicity/menu-list.vue +75 -24
  85. package/packages/main/src/simplicity/message.vue +35 -25
  86. package/packages/main/src/simplicity/notice.vue +72 -39
  87. package/packages/main/src/simplicity/router-page.vue +53 -0
  88. package/packages/main/src/simplicity/settings.vue +1 -1
  89. package/packages/main/src/simplicity/sub-menu.vue +169 -54
  90. package/packages/main/src/simplicity/user.vue +10 -5
  91. package/packages/main/src/simplicity/userinfo.vue +1 -0
  92. package/packages/menu/src/main.vue +4 -3
  93. package/packages/pagination/src/main.vue +20 -1
  94. package/packages/select/src/main.vue +4 -1
  95. package/packages/selector/src/main.vue +151 -136
  96. package/packages/selector-panel/src/main.vue +23 -9
  97. package/packages/selector-panel/src/selection.vue +6 -0
  98. package/packages/theme-chalk/lib/base.css +1 -1
  99. package/packages/theme-chalk/lib/button-group.css +1 -1
  100. package/packages/theme-chalk/lib/data-table.css +1 -1
  101. package/packages/theme-chalk/lib/handler.css +1 -1
  102. package/packages/theme-chalk/lib/index.css +1 -1
  103. package/packages/theme-chalk/lib/main.css +1 -1
  104. package/packages/theme-chalk/lib/menu.css +1 -1
  105. package/packages/theme-chalk/lib/nav.css +1 -1
  106. package/packages/theme-chalk/lib/pagination.css +1 -1
  107. package/packages/theme-chalk/lib/selector-panel.css +1 -1
  108. package/packages/theme-chalk/lib/simplicity.css +1 -1
  109. package/packages/theme-chalk/lib/sizer.css +1 -1
  110. package/packages/theme-chalk/lib/toolbar.css +1 -1
  111. package/packages/theme-chalk/lib/tree.css +1 -1
  112. package/packages/theme-chalk/lib/upload.css +1 -1
  113. package/packages/theme-chalk/src/base.scss +5 -0
  114. package/packages/theme-chalk/src/button-group.scss +18 -4
  115. package/packages/theme-chalk/src/common/var.scss +9 -2
  116. package/packages/theme-chalk/src/data-table.scss +60 -23
  117. package/packages/theme-chalk/src/handler.scss +5 -1
  118. package/packages/theme-chalk/src/login.scss +2 -2
  119. package/packages/theme-chalk/src/nav.scss +3 -2
  120. package/packages/theme-chalk/src/pagination.scss +7 -0
  121. package/packages/theme-chalk/src/selector-panel.scss +2 -1
  122. package/packages/theme-chalk/src/simplicity.scss +355 -58
  123. package/packages/theme-chalk/src/toolbar.scss +16 -4
  124. package/packages/theme-chalk/src/tree.scss +4 -2
  125. package/packages/upload/src/main.vue +3 -1
  126. package/src/config/api.js +3 -1
  127. package/src/index.js +1 -1
@@ -6,91 +6,133 @@
6
6
  :class="{ 'es-pointer': !readonly && !filterable }"
7
7
  v-clickoutside="handleClose"
8
8
  >
9
- <el-button v-if="button" v-bind="button" @click="openDialog"
10
- ><slot>选择</slot></el-button
11
- >
12
- <template v-else>
13
- <div
14
- :class="[
15
- selectorSize ? 'el-select--' + selectorSize : 'es-selector-box',
16
- { 'es-selector-search': filterable }
17
- ]"
18
- @click.stop="toggleMenu"
9
+ <template v-if="form">
10
+ <el-button v-if="button" v-bind="button" @click="openDialog"
11
+ ><slot>选择</slot></el-button
19
12
  >
13
+ <template v-else>
20
14
  <div
21
- v-if="multiple"
22
- ref="tags"
23
- class="el-select__tags"
24
- :class="{ 'es-selector-edit': !readonly }"
15
+ :class="[
16
+ selectorSize ? 'el-select--' + selectorSize : 'es-selector-box',
17
+ { 'es-selector-search': filterable }
18
+ ]"
19
+ @click.stop="toggleMenu"
25
20
  >
26
21
  <div
27
- v-if="collapseTags && selected.length"
28
- class="es-selector-tags"
29
- :class="{ 'es-selector-more': selected.length > 1 }"
22
+ v-if="multiple"
23
+ ref="tags"
24
+ class="el-select__tags"
25
+ :class="{ 'es-selector-edit': !readonly }"
30
26
  >
31
- <el-tag
32
- :closable="!selectorDisabled && !readonly"
33
- type="info"
34
- disable-transitions
35
- @close="deleteTag($event, selected[0])"
36
- >
37
- <span class="el-select__tags-text">
38
- {{
39
- isObject(selected[0]) ? selected[0][labelKey] : selected[0]
40
- }}
41
- </span>
42
- </el-tag>
43
- <el-tag
44
- v-if="selected.length > 1"
45
- :closable="false"
46
- type="info"
47
- disable-transitions
48
- class="es-tags-more"
27
+ <div
28
+ v-if="collapseTags && selected.length"
29
+ class="es-selector-tags"
30
+ :class="{ 'es-selector-more': selected.length > 1 }"
49
31
  >
50
- <span class="el-select__tags-text"
51
- >+ {{ selected.length - 1 }}</span
32
+ <el-tag
33
+ :closable="!selectorDisabled && !readonly"
34
+ type="info"
35
+ disable-transitions
36
+ @close="deleteTag($event, selected[0])"
37
+ >
38
+ <span class="el-select__tags-text">
39
+ {{
40
+ isObject(selected[0]) ? selected[0][labelKey] : selected[0]
41
+ }}
42
+ </span>
43
+ </el-tag>
44
+ <el-tag
45
+ v-if="selected.length > 1"
46
+ :closable="false"
47
+ type="info"
48
+ disable-transitions
49
+ class="es-tags-more"
50
+ >
51
+ <span class="el-select__tags-text"
52
+ >+ {{ selected.length - 1 }}</span
53
+ >
54
+ </el-tag>
55
+ </div>
56
+ <transition-group @after-leave="resetInputHeight">
57
+ <el-tag
58
+ v-for="(item, index) in selected"
59
+ :key="getValueKey(item)"
60
+ :closable="!selectorDisabled && !readonly"
61
+ type="info"
62
+ disable-transitions
63
+ @close="deleteTag($event, item, index)"
52
64
  >
53
- </el-tag>
65
+ <span class="el-select__tags-text">{{ getLabel(item) }}</span>
66
+ </el-tag>
67
+ </transition-group>
54
68
  </div>
55
- <transition-group @after-leave="resetInputHeight">
56
- <el-tag
57
- v-for="(item, index) in selected"
58
- :key="getValueKey(item)"
59
- :closable="!selectorDisabled && !readonly"
60
- type="info"
61
- disable-transitions
62
- @close="deleteTag($event, item, index)"
63
- >
64
- <span class="el-select__tags-text">{{ getLabel(item) }}</span>
65
- </el-tag>
66
- </transition-group>
67
- </div>
68
- <div ref="reference" class="es-input__inner" v-if="readonly">
69
- <template v-if="!multiple">{{ selectedLabel }}</template>
70
- </div>
71
- <template v-else>
72
- <template v-if="multiple">
69
+ <div ref="reference" class="es-input__inner" v-if="readonly">
70
+ <template v-if="!multiple">{{ selectedLabel }}</template>
71
+ </div>
72
+ <template v-else>
73
+ <template v-if="multiple">
74
+ <el-input
75
+ type="text"
76
+ ref="reference"
77
+ autocomplete="off"
78
+ v-model="words"
79
+ :readonly="filterable ? false : true"
80
+ :id="id"
81
+ :placeholder="currentPlaceholder"
82
+ :size="selectorSize"
83
+ :disabled="selectorDisabled"
84
+ :class="{
85
+ 'is-focus': visible,
86
+ 'es-plain': plain,
87
+ 'es-pointer': !filterable,
88
+ 'es-zindex-2': focus
89
+ }"
90
+ :tabindex="tabindex"
91
+ v-popover:popover
92
+ @dblclick.native="openDialog"
93
+ @focus="handleFocus"
94
+ @blur="handleBlur"
95
+ >
96
+ <template slot="append">
97
+ <el-button
98
+ ref="openDialog"
99
+ v-if="filterable || showButton"
100
+ @click.stop="openDialog"
101
+ ><slot>选择</slot></el-button
102
+ >
103
+ </template>
104
+ </el-input>
105
+ <el-input
106
+ v-model="selectedLabel"
107
+ readonly
108
+ :name="name"
109
+ type="text"
110
+ v-show="false"
111
+ ></el-input>
112
+ </template>
73
113
  <el-input
114
+ v-else
115
+ v-model="selectedLabel"
74
116
  type="text"
75
117
  ref="reference"
76
118
  autocomplete="off"
77
- v-model="words"
119
+ :clearable="clearable"
120
+ showClearIcon
121
+ :name="name"
78
122
  :readonly="filterable ? false : true"
123
+ :active="actived"
79
124
  :id="id"
80
125
  :placeholder="currentPlaceholder"
81
126
  :size="selectorSize"
82
127
  :disabled="selectorDisabled"
83
128
  :class="{
84
129
  'is-focus': visible,
85
- 'es-plain': plain,
86
- 'es-pointer': !filterable,
87
- 'es-zindex-2': focus
130
+ 'es-plain': this.plain,
131
+ 'es-pointer': !filterable
88
132
  }"
89
- :tabindex="multiple ? '-1' : null"
90
- v-popover:popover
133
+ :tabindex="tabindex"
91
134
  @dblclick.native="openDialog"
92
- @focus="handleFocus"
93
- @blur="handleBlur"
135
+ @clear="handleClear"
94
136
  >
95
137
  <template slot="append">
96
138
  <el-button
@@ -101,81 +143,41 @@
101
143
  >
102
144
  </template>
103
145
  </el-input>
104
- <el-input
105
- v-model="selectedLabel"
106
- readonly
107
- :name="name"
108
- type="text"
109
- v-show="false"
110
- ></el-input>
111
146
  </template>
112
- <el-input
113
- v-else
114
- v-model="selectedLabel"
115
- type="text"
116
- ref="reference"
117
- autocomplete="off"
118
- :clearable="clearable"
119
- showClearIcon
120
- :name="name"
121
- :readonly="filterable ? false : true"
122
- :active="actived"
123
- :id="id"
124
- :placeholder="currentPlaceholder"
125
- :size="selectorSize"
126
- :disabled="selectorDisabled"
127
- :class="{
128
- 'is-focus': visible,
129
- 'es-plain': this.plain,
130
- 'es-pointer': !filterable
131
- }"
132
- :tabindex="multiple ? '-1' : null"
133
- @dblclick.native="openDialog"
134
- @clear="handleClear"
135
- >
136
- <template slot="append">
137
- <el-button
138
- ref="openDialog"
139
- v-if="filterable || showButton"
140
- @click.stop="openDialog"
141
- ><slot>选择</slot></el-button
142
- >
143
- </template>
144
- </el-input>
145
- </template>
146
- </div>
147
- <el-popover
148
- v-model="show"
149
- placement="bottom-start"
150
- trigger="manual"
151
- popper-class="es-selector-popover"
152
- :width="minWidth"
153
- :queryParent="true"
154
- :reference="reference"
155
- :arrow-offset="20"
156
- >
157
- <el-scrollbar
158
- tag="ul"
159
- wrap-class="es-selector-dropdown__wrap"
160
- view-class="es-selector-dropdown__list"
161
- ref="scrollbar"
162
- v-show="options.length"
163
- maxHeight="228"
147
+ </div>
148
+ <el-popover
149
+ v-model="show"
150
+ placement="bottom-start"
151
+ trigger="manual"
152
+ popper-class="es-selector-popover"
153
+ :width="minWidth"
154
+ :queryParent="true"
155
+ :reference="reference"
156
+ :arrow-offset="20"
164
157
  >
165
- <li
166
- v-for="item in options"
167
- :key="item.id"
168
- @click="handleSelect(item)"
169
- class="es-selector-dropdown-item"
170
- :class="{ 'es-selected': item.selected }"
158
+ <el-scrollbar
159
+ tag="ul"
160
+ wrap-class="es-selector-dropdown__wrap"
161
+ view-class="es-selector-dropdown__list"
162
+ ref="scrollbar"
163
+ v-show="options.length"
164
+ maxHeight="228"
171
165
  >
172
- <span>{{ item[labelKey] }}</span>
173
- </li>
174
- </el-scrollbar>
175
- <p v-if="options.length == 0" class="el-select-dropdown__empty">
176
- {{ noMatchText }}
177
- </p>
178
- </el-popover>
166
+ <li
167
+ v-for="item in options"
168
+ :key="item.id"
169
+ @click="handleSelect(item)"
170
+ class="es-selector-dropdown-item"
171
+ :class="{ 'es-selected': item.selected }"
172
+ >
173
+ <span>{{ item[labelKey] }}</span>
174
+ </li>
175
+ </el-scrollbar>
176
+ <p v-if="options.length == 0" class="el-select-dropdown__empty">
177
+ {{ noMatchText }}
178
+ </p>
179
+ </el-popover>
180
+ </template>
179
181
  </template>
180
182
  <es-dialog
181
183
  v-if="!readonly"
@@ -224,6 +226,10 @@ export default {
224
226
  },
225
227
  directives: { Clickoutside },
226
228
  props: {
229
+ form: {
230
+ type: Boolean,
231
+ default: true
232
+ },
227
233
  isShowLevel3: {
228
234
  type: Boolean,
229
235
  default: true
@@ -296,6 +302,10 @@ export default {
296
302
  return ['enterprise', 'person'];
297
303
  }
298
304
  },
305
+ tabindex: {
306
+ type: [String, Number],
307
+ default: -1
308
+ },
299
309
  filterable: {
300
310
  type: Boolean,
301
311
  default: false
@@ -652,6 +662,11 @@ export default {
652
662
  },
653
663
  beforeDestroy() {
654
664
  this.$el.removeEventListener('keyup', this.doSearch);
665
+ if (this.$refs.openDialog) {
666
+ this.$refs.openDialog.$el.parentNode.removeEventListener('click', () => {
667
+ this.openDialog();
668
+ });
669
+ }
655
670
  }
656
671
  };
657
672
  </script>
@@ -30,6 +30,9 @@
30
30
  class="es-selector-selection-toolbar"
31
31
  v-if="multiple || isShowTree"
32
32
  >
33
+ <el-form-item>
34
+ <es-switch v-model="showDisabled" :data="options"></es-switch>
35
+ </el-form-item>
33
36
  <el-form-item>
34
37
  <el-checkbox
35
38
  v-show="multiple && !max"
@@ -78,6 +81,7 @@
78
81
  :label-key="labelKey"
79
82
  :multiple="mix ? mix : multiple"
80
83
  :max="max"
84
+ :showDisabled="showDisabled"
81
85
  ></selection>
82
86
  <selection
83
87
  v-model="checkeds"
@@ -158,12 +162,7 @@ export default {
158
162
  default: false
159
163
  },
160
164
  //页签
161
- tabs: {
162
- type: Object,
163
- default() {
164
- return;
165
- }
166
- },
165
+ tabs: Object,
167
166
  filtrate: {
168
167
  type: [Boolean, Object],
169
168
  default() {
@@ -228,7 +227,18 @@ export default {
228
227
  activeName: '',
229
228
  selections: [],
230
229
  checkboxs: [],
231
- checkeds: null
230
+ checkeds: null,
231
+ showDisabled: true,
232
+ options: [
233
+ {
234
+ value: true,
235
+ name: '展示'
236
+ },
237
+ {
238
+ value: false,
239
+ name: '过滤'
240
+ }
241
+ ]
232
242
  };
233
243
  },
234
244
  computed: {
@@ -356,7 +366,7 @@ export default {
356
366
  }
357
367
  },
358
368
  persongroup: {
359
- label: '员工群组成员',
369
+ label: '选择群组成员',
360
370
  name: 'persongroup',
361
371
  url: getSelectorOrgTree,
362
372
  data: [],
@@ -815,7 +825,11 @@ export default {
815
825
  if (res) {
816
826
  if (this.isShowTree) {
817
827
  this.nodeData.checkAll = true;
818
- let checkeds = this.checkeds.concat(this.checkboxs);
828
+ let checkeds = this.checkeds.concat(
829
+ this.checkboxs.filter((item) => {
830
+ return item.disabled !== true;
831
+ })
832
+ );
819
833
  if (checkeds.length > 0) {
820
834
  this.checkeds = util.arrUnique(
821
835
  checkeds,
@@ -11,6 +11,7 @@
11
11
  <el-radio
12
12
  v-for="(item, index) in data"
13
13
  :key="index"
14
+ v-show="item.disabled ? showDisabled : true"
14
15
  v-bind="getprops($attrs, item)"
15
16
  :label="isObject || typeof item == 'string' ? item : item[valKey]"
16
17
  :disabled="typeof item == 'string' ? false : item.disabled"
@@ -33,6 +34,7 @@
33
34
  <el-checkbox
34
35
  v-for="(item, index) in data"
35
36
  :key="index"
37
+ v-show="item.disabled ? showDisabled : true"
36
38
  v-bind="getprops($attrs, item)"
37
39
  :label="isObject || typeof item == 'string' ? item : item[valKey]"
38
40
  :disabled="typeof item == 'string' ? false : item.disabled"
@@ -54,6 +56,10 @@ export default {
54
56
  name: 'Selection',
55
57
  props: {
56
58
  value: [String, Array, Object],
59
+ showDisabled: {
60
+ type: Boolean,
61
+ default: true
62
+ },
57
63
  genre: String,
58
64
  valueKey: {
59
65
  type: String,