eoss-ui 0.5.81-beta2 → 0.5.81-beta21

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 (131) 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 +471 -256
  8. package/lib/date-picker.js +49 -45
  9. package/lib/dialog.js +71 -70
  10. package/lib/eoss-ui.common.js +4165 -2449
  11. package/lib/flow-group.js +98 -63
  12. package/lib/flow-list.js +50 -46
  13. package/lib/flow.js +152 -83
  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 +2677 -1479
  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 +117 -65
  35. package/lib/selector.js +493 -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 +86 -79
  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/tabs.css +1 -1
  54. package/lib/theme-chalk/toolbar.css +1 -1
  55. package/lib/theme-chalk/tree.css +1 -1
  56. package/lib/theme-chalk/upload.css +1 -1
  57. package/lib/tips.js +49 -45
  58. package/lib/tree-group.js +49 -45
  59. package/lib/tree.js +49 -45
  60. package/lib/upload.js +59 -55
  61. package/lib/wujie.js +49 -45
  62. package/lib/wxlogin.js +49 -45
  63. package/package.json +3 -3
  64. package/packages/button/src/main.vue +2 -1
  65. package/packages/button-group/src/main.vue +8 -6
  66. package/packages/clients/src/main.vue +2 -1
  67. package/packages/data-table/src/column.vue +132 -53
  68. package/packages/data-table/src/formItem.vue +430 -0
  69. package/packages/data-table/src/main.vue +85 -45
  70. package/packages/data-table/src/sizer.vue +2 -0
  71. package/packages/dialog/src/main.vue +17 -23
  72. package/packages/flow/src/main.vue +32 -17
  73. package/packages/flow-group/src/main.vue +18 -11
  74. package/packages/form/src/main.vue +45 -10
  75. package/packages/handle-user/src/main.vue +10 -3
  76. package/packages/handler/src/main.vue +5 -3
  77. package/packages/login/src/main.vue +13 -6
  78. package/packages/main/src/default/index.vue +102 -179
  79. package/packages/main/src/main.vue +243 -16
  80. package/packages/main/src/public/online.vue +90 -0
  81. package/packages/main/src/simplicity/apps.vue +176 -145
  82. package/packages/main/src/simplicity/avatar.vue +16 -6
  83. package/packages/main/src/simplicity/handler.vue +6 -2
  84. package/packages/main/src/simplicity/index.vue +555 -344
  85. package/packages/main/src/simplicity/menu-list.vue +75 -24
  86. package/packages/main/src/simplicity/message.vue +35 -25
  87. package/packages/main/src/simplicity/notice.vue +72 -39
  88. package/packages/main/src/simplicity/router-page.vue +44 -0
  89. package/packages/main/src/simplicity/settings.vue +1 -1
  90. package/packages/main/src/simplicity/sub-menu.vue +169 -54
  91. package/packages/main/src/simplicity/user.vue +10 -5
  92. package/packages/main/src/simplicity/userinfo.vue +1 -0
  93. package/packages/menu/src/main.vue +4 -3
  94. package/packages/pagination/src/main.vue +20 -1
  95. package/packages/select/src/main.vue +4 -1
  96. package/packages/selector/src/main.vue +152 -136
  97. package/packages/selector-panel/src/main.vue +23 -9
  98. package/packages/selector-panel/src/selection.vue +8 -2
  99. package/packages/tabs/src/main.vue +14 -14
  100. package/packages/theme-chalk/lib/base.css +1 -1
  101. package/packages/theme-chalk/lib/button-group.css +1 -1
  102. package/packages/theme-chalk/lib/data-table.css +1 -1
  103. package/packages/theme-chalk/lib/handler.css +1 -1
  104. package/packages/theme-chalk/lib/index.css +1 -1
  105. package/packages/theme-chalk/lib/main.css +1 -1
  106. package/packages/theme-chalk/lib/menu.css +1 -1
  107. package/packages/theme-chalk/lib/nav.css +1 -1
  108. package/packages/theme-chalk/lib/pagination.css +1 -1
  109. package/packages/theme-chalk/lib/selector-panel.css +1 -1
  110. package/packages/theme-chalk/lib/simplicity.css +1 -1
  111. package/packages/theme-chalk/lib/sizer.css +1 -1
  112. package/packages/theme-chalk/lib/tabs.css +1 -1
  113. package/packages/theme-chalk/lib/toolbar.css +1 -1
  114. package/packages/theme-chalk/lib/tree.css +1 -1
  115. package/packages/theme-chalk/lib/upload.css +1 -1
  116. package/packages/theme-chalk/src/base.scss +5 -0
  117. package/packages/theme-chalk/src/button-group.scss +18 -4
  118. package/packages/theme-chalk/src/common/var.scss +9 -2
  119. package/packages/theme-chalk/src/data-table.scss +60 -23
  120. package/packages/theme-chalk/src/handler.scss +5 -1
  121. package/packages/theme-chalk/src/login.scss +2 -2
  122. package/packages/theme-chalk/src/nav.scss +3 -2
  123. package/packages/theme-chalk/src/pagination.scss +7 -0
  124. package/packages/theme-chalk/src/selector-panel.scss +2 -1
  125. package/packages/theme-chalk/src/simplicity.scss +355 -58
  126. package/packages/theme-chalk/src/tabs.scss +24 -28
  127. package/packages/theme-chalk/src/toolbar.scss +16 -4
  128. package/packages/theme-chalk/src/tree.scss +4 -2
  129. package/packages/upload/src/main.vue +3 -1
  130. package/src/config/api.js +3 -1
  131. 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,87 +143,48 @@
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"
182
184
  :title="title"
183
185
  :visible.sync="visible"
184
186
  :width="width"
187
+ :height="height"
185
188
  :css="false"
186
189
  :append-to-body="true"
187
190
  :close-on-click-modal="false"
@@ -224,6 +227,10 @@ export default {
224
227
  },
225
228
  directives: { Clickoutside },
226
229
  props: {
230
+ form: {
231
+ type: Boolean,
232
+ default: true
233
+ },
227
234
  isShowLevel3: {
228
235
  type: Boolean,
229
236
  default: true
@@ -296,6 +303,10 @@ export default {
296
303
  return ['enterprise', 'person'];
297
304
  }
298
305
  },
306
+ tabindex: {
307
+ type: [String, Number],
308
+ default: -1
309
+ },
299
310
  filterable: {
300
311
  type: Boolean,
301
312
  default: false
@@ -652,6 +663,11 @@ export default {
652
663
  },
653
664
  beforeDestroy() {
654
665
  this.$el.removeEventListener('keyup', this.doSearch);
666
+ if (this.$refs.openDialog) {
667
+ this.$refs.openDialog.$el.parentNode.removeEventListener('click', () => {
668
+ this.openDialog();
669
+ });
670
+ }
655
671
  }
656
672
  };
657
673
  </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,8 +11,9 @@
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
- :label="isObject || typeof item == 'string' ? item : item[valKey]"
16
+ :label="isObject || typeof item == 'string' ? item : item[valueKey]"
16
17
  :disabled="typeof item == 'string' ? false : item.disabled"
17
18
  :class="{ 'es-radio-delete': genre === 'delete' }"
18
19
  :value-key="valueKey"
@@ -33,8 +34,9 @@
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
- :label="isObject || typeof item == 'string' ? item : item[valKey]"
39
+ :label="isObject || typeof item == 'string' ? item : item[valueKey]"
38
40
  :disabled="typeof item == 'string' ? false : item.disabled"
39
41
  :class="{ 'es-checkbox-delete': genre === 'delete' }"
40
42
  :value-key="valueKey"
@@ -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,
@@ -19,22 +19,22 @@
19
19
  :name="items.name || String(indexs)"
20
20
  >
21
21
  <template slot="label" v-if="items.title">
22
- <span>
23
- <template v-if="typeof items.title === 'object'">
24
- <i v-if="items.title.icon" :class="items.title.icon"></i>
25
- <el-badge
26
- v-if="
27
- Object.prototype.hasOwnProperty.call(items.title, 'count')
28
- "
29
- type="primary"
30
- :value="items.title.count"
31
- :max="99"
32
- >
33
- </el-badge>
22
+ <template v-if="typeof items.title === 'object'">
23
+ <i v-if="items.title.icon" :class="items.title.icon"></i>
24
+ <template v-if="items.title.text">
34
25
  {{ items.title.text }}
35
26
  </template>
36
- <template v-else>{{ items.title }}</template>
37
- </span>
27
+ <el-badge
28
+ v-if="
29
+ Object.prototype.hasOwnProperty.call(items.title, 'count')
30
+ "
31
+ type="primary"
32
+ :value="items.title.count"
33
+ :max="99"
34
+ >
35
+ </el-badge>
36
+ </template>
37
+ <template v-else>{{ items.title }}</template>
38
38
  </template>
39
39
  <template slot-scope="{ loaded }">
40
40
  <es-tabs-panel v-bind="items" :show="loaded">