eoss-ui 0.7.96 → 0.7.98

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 (187) hide show
  1. package/lib/button-group.js +1 -1
  2. package/lib/button.js +1 -1
  3. package/lib/calogin.js +1 -1
  4. package/lib/checkbox-group.js +1 -1
  5. package/lib/data-table-form.js +1 -1
  6. package/lib/data-table.js +9 -9
  7. package/lib/date-picker.js +1 -1
  8. package/lib/dialog.js +1 -1
  9. package/lib/eoss-ui.common.js +307 -301
  10. package/lib/flow-group.js +1 -1
  11. package/lib/flow-list.js +97 -97
  12. package/lib/flow.js +176 -175
  13. package/lib/form.js +1 -1
  14. package/lib/handle-user.js +1 -1
  15. package/lib/handler.js +1 -1
  16. package/lib/icon.js +1 -1
  17. package/lib/index.js +1 -1
  18. package/lib/input-number.js +1 -1
  19. package/lib/input.js +1 -1
  20. package/lib/login.js +1 -1
  21. package/lib/main.js +22 -17
  22. package/lib/nav.js +1 -1
  23. package/lib/page.js +1 -1
  24. package/lib/pagination.js +1 -1
  25. package/lib/player.js +1 -1
  26. package/lib/qr-code.js +1 -1
  27. package/lib/radio-group.js +1 -1
  28. package/lib/retrial-auth.js +1 -1
  29. package/lib/select-ganged.js +1 -1
  30. package/lib/select.js +1 -1
  31. package/lib/selector-panel.js +1 -1
  32. package/lib/selector.js +1 -1
  33. package/lib/sizer.js +1 -1
  34. package/lib/steps.js +1 -1
  35. package/lib/switch.js +1 -1
  36. package/lib/table-form.js +1 -1
  37. package/lib/tabs.js +1 -1
  38. package/lib/theme-chalk/index.css +1 -1
  39. package/lib/theme-chalk/login.css +1 -1
  40. package/lib/tips.js +1 -1
  41. package/lib/tree-group.js +1 -1
  42. package/lib/tree.js +1 -1
  43. package/lib/upload.js +1 -1
  44. package/lib/utils/util.js +1 -1
  45. package/lib/wujie.js +1 -1
  46. package/lib/wxlogin.js +1 -1
  47. package/package.json +1 -1
  48. package/packages/button-group/src/main.vue +346 -346
  49. package/packages/calogin/src/main.vue +412 -412
  50. package/packages/clients/src/main.vue +151 -151
  51. package/packages/data-table/src/column.vue +1 -1
  52. package/packages/flow/src/component/Circulate.vue +417 -417
  53. package/packages/flow/src/component/CommonOpinions.vue +376 -376
  54. package/packages/flow/src/component/CustomPreset.vue +324 -324
  55. package/packages/flow/src/component/FileList.vue +97 -97
  56. package/packages/flow/src/component/FreeCirculation.vue +3 -2
  57. package/packages/flow/src/component/Preset.vue +257 -257
  58. package/packages/flow/src/component/SendMsg.vue +242 -242
  59. package/packages/flow/src/component/SortFlow.vue +110 -110
  60. package/packages/flow/src/component/taskUnionExamine.vue +761 -761
  61. package/packages/flow/src/form.vue +123 -123
  62. package/packages/flow/src/freeStartFlow.vue +2855 -2855
  63. package/packages/flow/src/main.vue +1 -1
  64. package/packages/flow/src/processForm.vue +1680 -1680
  65. package/packages/flow/src/processReject.vue +309 -309
  66. package/packages/flow/src/reset.vue +946 -946
  67. package/packages/flow/src/startTaskRead.vue +695 -695
  68. package/packages/flow/src/supervise.vue +159 -159
  69. package/packages/flow/src/table.vue +58 -58
  70. package/packages/flow-list/src/main.vue +2337 -2337
  71. package/packages/form/src/main.vue +3901 -3901
  72. package/packages/form/src/table.vue +1512 -1512
  73. package/packages/icon/src/main.vue +104 -104
  74. package/packages/login/src/resetPassword.vue +557 -557
  75. package/packages/main/src/public/online.vue +89 -89
  76. package/packages/main/src/public/search.vue +464 -464
  77. package/packages/main/src/public/settings.vue +273 -273
  78. package/packages/main/src/simplicity/apps.vue +388 -388
  79. package/packages/main/src/simplicity/avatar.vue +82 -82
  80. package/packages/main/src/simplicity/handler.vue +158 -158
  81. package/packages/main/src/simplicity/menu-list.vue +135 -135
  82. package/packages/main/src/simplicity/message.vue +293 -293
  83. package/packages/main/src/simplicity/notice.vue +222 -222
  84. package/packages/main/src/simplicity/sub-menu.vue +276 -276
  85. package/packages/main/src/simplicity/user.vue +259 -259
  86. package/packages/main/src/simplicityTop/apps.vue +388 -388
  87. package/packages/main/src/simplicityTop/avatar.vue +82 -82
  88. package/packages/main/src/simplicityTop/handler.vue +215 -215
  89. package/packages/main/src/simplicityTop/index.vue +8 -3
  90. package/packages/main/src/simplicityTop/lists.vue +84 -84
  91. package/packages/main/src/simplicityTop/menu-list.vue +135 -135
  92. package/packages/main/src/simplicityTop/message.vue +293 -293
  93. package/packages/main/src/simplicityTop/notice.vue +222 -222
  94. package/packages/main/src/simplicityTop/router-page.vue +45 -45
  95. package/packages/main/src/simplicityTop/sub-menu.vue +274 -274
  96. package/packages/main/src/simplicityTop/user.vue +259 -259
  97. package/packages/menu/src/main.vue +595 -595
  98. package/packages/nav/src/main.vue +351 -351
  99. package/packages/selector/src/main.vue +761 -761
  100. package/packages/selector-panel/src/main.vue +1036 -1036
  101. package/packages/selector-panel/src/selection.vue +174 -174
  102. package/packages/switch/src/main.vue +170 -170
  103. package/packages/theme-chalk/lib/base.css +1 -0
  104. package/packages/theme-chalk/lib/button-group.css +1 -0
  105. package/packages/theme-chalk/lib/button.css +1 -0
  106. package/packages/theme-chalk/lib/calendar.css +1 -0
  107. package/packages/theme-chalk/lib/calogin.css +0 -0
  108. package/packages/theme-chalk/lib/card.css +1 -0
  109. package/packages/theme-chalk/lib/cascader.css +0 -0
  110. package/packages/theme-chalk/lib/checkbox-group.css +1 -0
  111. package/packages/theme-chalk/lib/clients.css +1 -0
  112. package/packages/theme-chalk/lib/data-table-form.css +1 -0
  113. package/packages/theme-chalk/lib/data-table.css +1 -0
  114. package/packages/theme-chalk/lib/date-picker.css +1 -0
  115. package/packages/theme-chalk/lib/dialog.css +1 -0
  116. package/packages/theme-chalk/lib/enable-drag.css +1 -0
  117. package/packages/theme-chalk/lib/enterprise.css +1 -0
  118. package/packages/theme-chalk/lib/error-page.css +1 -0
  119. package/packages/theme-chalk/lib/flow-chart.css +0 -0
  120. package/packages/theme-chalk/lib/flow-group.css +1 -0
  121. package/packages/theme-chalk/lib/flow-list.css +1 -0
  122. package/packages/theme-chalk/lib/flow.css +1 -0
  123. package/packages/theme-chalk/lib/fonts/iconfont.ttf +0 -0
  124. package/packages/theme-chalk/lib/fonts/iconfont.woff +0 -0
  125. package/packages/theme-chalk/lib/form.css +1 -0
  126. package/packages/theme-chalk/lib/handle-user.css +1 -0
  127. package/packages/theme-chalk/lib/handler.css +1 -0
  128. package/packages/theme-chalk/lib/icon.css +1 -0
  129. package/packages/theme-chalk/lib/icons.css +1 -0
  130. package/packages/theme-chalk/lib/index.css +1 -0
  131. package/packages/theme-chalk/lib/input-number.css +0 -0
  132. package/packages/theme-chalk/lib/input.css +1 -0
  133. package/packages/theme-chalk/lib/label.css +1 -0
  134. package/packages/theme-chalk/lib/layout.css +1 -0
  135. package/packages/theme-chalk/lib/login.css +1 -0
  136. package/packages/theme-chalk/lib/main.css +1 -0
  137. package/packages/theme-chalk/lib/menu.css +1 -0
  138. package/packages/theme-chalk/lib/nav.css +1 -0
  139. package/packages/theme-chalk/lib/notify.css +0 -0
  140. package/packages/theme-chalk/lib/page.css +1 -0
  141. package/packages/theme-chalk/lib/pagination.css +1 -0
  142. package/packages/theme-chalk/lib/player.css +1 -0
  143. package/packages/theme-chalk/lib/qr-code.css +1 -0
  144. package/packages/theme-chalk/lib/radio-group.css +1 -0
  145. package/packages/theme-chalk/lib/retrial-auth.css +1 -0
  146. package/packages/theme-chalk/lib/select-ganged.css +1 -0
  147. package/packages/theme-chalk/lib/select.css +1 -0
  148. package/packages/theme-chalk/lib/selector-panel.css +1 -0
  149. package/packages/theme-chalk/lib/selector.css +1 -0
  150. package/packages/theme-chalk/lib/simplicity-top.css +1 -0
  151. package/packages/theme-chalk/lib/simplicity.css +1 -0
  152. package/packages/theme-chalk/lib/sizer.css +1 -0
  153. package/packages/theme-chalk/lib/steps.css +1 -0
  154. package/packages/theme-chalk/lib/switch.css +1 -0
  155. package/packages/theme-chalk/lib/table-form.css +0 -0
  156. package/packages/theme-chalk/lib/tabs-panel.css +0 -0
  157. package/packages/theme-chalk/lib/tabs.css +1 -0
  158. package/packages/theme-chalk/lib/tips.css +1 -0
  159. package/packages/theme-chalk/lib/toolbar.css +1 -0
  160. package/packages/theme-chalk/lib/tree-group.css +1 -0
  161. package/packages/theme-chalk/lib/tree.css +1 -0
  162. package/packages/theme-chalk/lib/upload.css +1 -0
  163. package/packages/theme-chalk/lib/wujie.css +0 -0
  164. package/packages/theme-chalk/lib/wxlogin.css +1 -0
  165. package/packages/theme-chalk/src/data-table.scss +297 -297
  166. package/packages/theme-chalk/src/flow-list.scss +55 -55
  167. package/packages/theme-chalk/src/flow.scss +373 -373
  168. package/packages/theme-chalk/src/form.scss +501 -501
  169. package/packages/theme-chalk/src/handler.scss +148 -148
  170. package/packages/theme-chalk/src/icon.scss +3452 -3452
  171. package/packages/theme-chalk/src/login.scss +1006 -1006
  172. package/packages/theme-chalk/src/main.scss +664 -664
  173. package/packages/theme-chalk/src/menu.scss +224 -224
  174. package/packages/theme-chalk/src/selector.scss +114 -114
  175. package/packages/theme-chalk/src/simplicity-top.scss +1845 -1845
  176. package/packages/theme-chalk/src/simplicity.scss +1403 -1403
  177. package/packages/theme-chalk/src/tree.scss +165 -165
  178. package/packages/theme-chalk/src/upload.scss +172 -172
  179. package/packages/tips/src/main.vue +141 -141
  180. package/packages/toolbar/src/main.vue +430 -430
  181. package/packages/upload/src/main.vue +1344 -1344
  182. package/packages/wujie/src/main.vue +146 -146
  183. package/src/config/api.js +348 -348
  184. package/src/index.js +163 -163
  185. package/src/utils/rules.js +18 -18
  186. package/src/utils/util.js +18 -19
  187. package/packages/theme-chalk/gulpfile.js +0 -25
@@ -1,174 +1,174 @@
1
- <template>
2
- <div class="es-selection">
3
- <el-scrollbar class="es-scrollbar">
4
- <el-radio-group
5
- v-if="!multiple"
6
- v-bind="$attrs"
7
- size="small"
8
- v-on="$listeners"
9
- v-model="selectes"
10
- >
11
- <el-radio
12
- v-for="(item, index) in data"
13
- :key="index"
14
- v-show="item.disabled ? showDisabled : true"
15
- v-bind="getprops($attrs, item)"
16
- :label="isObject || typeof item == 'string' ? item : item[valueKey]"
17
- :disabled="isDisabled(item)"
18
- :class="{ 'es-radio-delete': genre === 'delete' }"
19
- :value-key="valueKey"
20
- :tooltip="showTooltip ? item[tipKey] : undefined"
21
- >
22
- {{ typeof item == 'string' ? item : getLabel(item) }}</el-radio
23
- >
24
- </el-radio-group>
25
- <el-checkbox-group
26
- v-else
27
- v-bind="$attrs"
28
- :max="max"
29
- size="small"
30
- v-on="$listeners"
31
- v-model="selectes"
32
- ref="sortable"
33
- >
34
- <el-checkbox
35
- v-for="(item, index) in data"
36
- :key="index"
37
- v-show="item.disabled ? showDisabled : true"
38
- v-bind="getprops($attrs, item)"
39
- :label="isObject || typeof item == 'string' ? item : item[valueKey]"
40
- :disabled="isDisabled(item)"
41
- :class="{ 'es-checkbox-delete': genre === 'delete' }"
42
- :value-key="valueKey"
43
- :tooltip="showTooltip ? item[tipKey] : undefined"
44
- >
45
- {{ typeof item == 'string' ? item : getLabel(item) }}
46
- <i v-show="genre === 'delete'" class="el-icon-circle-close"></i>
47
- </el-checkbox>
48
- </el-checkbox-group>
49
- </el-scrollbar>
50
- </div>
51
- </template>
52
- <script>
53
- import Sortable from 'sortablejs';
54
- import util from 'eoss-ui/src/utils/util.js';
55
- export default {
56
- name: 'Selection',
57
- props: {
58
- value: [String, Array, Object],
59
- showDisabled: {
60
- type: Boolean,
61
- default: true
62
- },
63
- genre: String,
64
- valueKey: {
65
- type: String,
66
- default: 'showid'
67
- },
68
- labelKey: {
69
- type: String,
70
- default: 'showname'
71
- },
72
- tipKey: {
73
- type: String,
74
- default: 'pathname'
75
- },
76
- showTooltip: {
77
- type: Boolean,
78
- default: true
79
- },
80
- valueType: {
81
- type: String,
82
- default: 'object',
83
- validator: function (value) {
84
- return ['string', 'object'].includes(value);
85
- }
86
- },
87
- data: {
88
- type: Array,
89
- default() {
90
- return [];
91
- }
92
- },
93
- multiple: {
94
- type: Boolean,
95
- default: true
96
- },
97
- max: Number,
98
- mix: Boolean,
99
- disableds: {
100
- type: Array,
101
- default() {
102
- return [];
103
- }
104
- }
105
- },
106
- data() {
107
- return {};
108
- },
109
- computed: {
110
- isObject() {
111
- if (
112
- this.selectes &&
113
- Array.isArray(this.selectes) &&
114
- this.selectes.length > 0 &&
115
- util.isObject(this.selectes[0])
116
- ) {
117
- return true;
118
- } else {
119
- if (this.valueType === 'object') {
120
- return true;
121
- } else {
122
- return false;
123
- }
124
- }
125
- },
126
- selectes: {
127
- get() {
128
- if (!this.multiple && this.value && this.value.length) {
129
- return this.value[0];
130
- }
131
- return this.value;
132
- },
133
- set(val) {
134
- return val;
135
- }
136
- }
137
- },
138
- mounted() {
139
- if (this.multiple && this.genre === 'delete') {
140
- this._sortable = new Sortable(this.$refs.sortable.$el, {
141
- animation: 150,
142
- onUpdate: this.handleSort
143
- });
144
- }
145
- },
146
- methods: {
147
- getLabel(res) {
148
- return res[this.labelKey]
149
- ? res[this.labelKey]
150
- : res.label || res[this.valueKey];
151
- },
152
- handleSort(res) {
153
- this.$emit('sort', res);
154
- },
155
- getprops(attrs, res) {
156
- return util.isObject(res) ? { ...attrs, ...res } : attrs;
157
- },
158
- isDisabled(res) {
159
- if (typeof res == 'string') {
160
- return false;
161
- }
162
- if (this.disableds && this.disableds.length > 0) {
163
- if (this.disableds.includes(res[this.valueKey])) {
164
- return true;
165
- }
166
- }
167
- return res.disabled;
168
- }
169
- },
170
- beforeDestroy() {
171
- if (this._sortable !== undefined) this._sortable.destroy();
172
- }
173
- };
174
- </script>
1
+ <template>
2
+ <div class="es-selection">
3
+ <el-scrollbar class="es-scrollbar">
4
+ <el-radio-group
5
+ v-if="!multiple"
6
+ v-bind="$attrs"
7
+ size="small"
8
+ v-on="$listeners"
9
+ v-model="selectes"
10
+ >
11
+ <el-radio
12
+ v-for="(item, index) in data"
13
+ :key="index"
14
+ v-show="item.disabled ? showDisabled : true"
15
+ v-bind="getprops($attrs, item)"
16
+ :label="isObject || typeof item == 'string' ? item : item[valueKey]"
17
+ :disabled="isDisabled(item)"
18
+ :class="{ 'es-radio-delete': genre === 'delete' }"
19
+ :value-key="valueKey"
20
+ :tooltip="showTooltip ? item[tipKey] : undefined"
21
+ >
22
+ {{ typeof item == 'string' ? item : getLabel(item) }}</el-radio
23
+ >
24
+ </el-radio-group>
25
+ <el-checkbox-group
26
+ v-else
27
+ v-bind="$attrs"
28
+ :max="max"
29
+ size="small"
30
+ v-on="$listeners"
31
+ v-model="selectes"
32
+ ref="sortable"
33
+ >
34
+ <el-checkbox
35
+ v-for="(item, index) in data"
36
+ :key="index"
37
+ v-show="item.disabled ? showDisabled : true"
38
+ v-bind="getprops($attrs, item)"
39
+ :label="isObject || typeof item == 'string' ? item : item[valueKey]"
40
+ :disabled="isDisabled(item)"
41
+ :class="{ 'es-checkbox-delete': genre === 'delete' }"
42
+ :value-key="valueKey"
43
+ :tooltip="showTooltip ? item[tipKey] : undefined"
44
+ >
45
+ {{ typeof item == 'string' ? item : getLabel(item) }}
46
+ <i v-show="genre === 'delete'" class="el-icon-circle-close"></i>
47
+ </el-checkbox>
48
+ </el-checkbox-group>
49
+ </el-scrollbar>
50
+ </div>
51
+ </template>
52
+ <script>
53
+ import Sortable from 'sortablejs';
54
+ import util from 'eoss-ui/src/utils/util.js';
55
+ export default {
56
+ name: 'Selection',
57
+ props: {
58
+ value: [String, Array, Object],
59
+ showDisabled: {
60
+ type: Boolean,
61
+ default: true
62
+ },
63
+ genre: String,
64
+ valueKey: {
65
+ type: String,
66
+ default: 'showid'
67
+ },
68
+ labelKey: {
69
+ type: String,
70
+ default: 'showname'
71
+ },
72
+ tipKey: {
73
+ type: String,
74
+ default: 'pathname'
75
+ },
76
+ showTooltip: {
77
+ type: Boolean,
78
+ default: true
79
+ },
80
+ valueType: {
81
+ type: String,
82
+ default: 'object',
83
+ validator: function (value) {
84
+ return ['string', 'object'].includes(value);
85
+ }
86
+ },
87
+ data: {
88
+ type: Array,
89
+ default() {
90
+ return [];
91
+ }
92
+ },
93
+ multiple: {
94
+ type: Boolean,
95
+ default: true
96
+ },
97
+ max: Number,
98
+ mix: Boolean,
99
+ disableds: {
100
+ type: Array,
101
+ default() {
102
+ return [];
103
+ }
104
+ }
105
+ },
106
+ data() {
107
+ return {};
108
+ },
109
+ computed: {
110
+ isObject() {
111
+ if (
112
+ this.selectes &&
113
+ Array.isArray(this.selectes) &&
114
+ this.selectes.length > 0 &&
115
+ util.isObject(this.selectes[0])
116
+ ) {
117
+ return true;
118
+ } else {
119
+ if (this.valueType === 'object') {
120
+ return true;
121
+ } else {
122
+ return false;
123
+ }
124
+ }
125
+ },
126
+ selectes: {
127
+ get() {
128
+ if (!this.multiple && this.value && this.value.length) {
129
+ return this.value[0];
130
+ }
131
+ return this.value;
132
+ },
133
+ set(val) {
134
+ return val;
135
+ }
136
+ }
137
+ },
138
+ mounted() {
139
+ if (this.multiple && this.genre === 'delete') {
140
+ this._sortable = new Sortable(this.$refs.sortable.$el, {
141
+ animation: 150,
142
+ onUpdate: this.handleSort
143
+ });
144
+ }
145
+ },
146
+ methods: {
147
+ getLabel(res) {
148
+ return res[this.labelKey]
149
+ ? res[this.labelKey]
150
+ : res.label || res[this.valueKey];
151
+ },
152
+ handleSort(res) {
153
+ this.$emit('sort', res);
154
+ },
155
+ getprops(attrs, res) {
156
+ return util.isObject(res) ? { ...attrs, ...res } : attrs;
157
+ },
158
+ isDisabled(res) {
159
+ if (typeof res == 'string') {
160
+ return false;
161
+ }
162
+ if (this.disableds && this.disableds.length > 0) {
163
+ if (this.disableds.includes(res[this.valueKey])) {
164
+ return true;
165
+ }
166
+ }
167
+ return res.disabled;
168
+ }
169
+ },
170
+ beforeDestroy() {
171
+ if (this._sortable !== undefined) this._sortable.destroy();
172
+ }
173
+ };
174
+ </script>
@@ -1,170 +1,170 @@
1
- <script>
2
- import util from 'eoss-ui/src/utils/util';
3
- export default {
4
- name: 'EsSwitch',
5
- inheritAttrs: false,
6
- props: {
7
- // 显示隐藏组件
8
- display: {
9
- type: Boolean,
10
- default: true
11
- },
12
- // 是否不渲染组件
13
- hide: {
14
- type: Boolean,
15
- default: false
16
- },
17
- inlay: {
18
- type: Boolean,
19
- default: true
20
- },
21
- data: {
22
- type: [Object, Array],
23
- default() {
24
- return [];
25
- }
26
- },
27
- value: [String, Boolean, Number],
28
- readonly: Boolean,
29
- plain: Boolean,
30
- activeText: String,
31
- inactiveText: String
32
- },
33
- data() {
34
- return {
35
- attrs: {
36
- activeText: '',
37
- inactiveText: '',
38
- activeValue: '',
39
- inactiveValue: ''
40
- }
41
- };
42
- },
43
- computed: {
44
- model: {
45
- get() {
46
- return this.value;
47
- },
48
- set(val) {
49
- return val;
50
- }
51
- }
52
- },
53
- render(h) {
54
- if (!this.hide) {
55
- if (this.readonly) {
56
- let dom = '';
57
- if (Array.isArray(this.data)) {
58
- this.data.forEach((item) => {
59
- if (this.value === item.value) {
60
- dom = item.name || item.label || item.text || item.value;
61
- return;
62
- }
63
- });
64
- } else {
65
- for (let i in this.data) {
66
- if (
67
- util.isObject(this.data[i]) &&
68
- this.value === this.data[i].value
69
- ) {
70
- dom =
71
- this.data[i].name ||
72
- this.data[i].label ||
73
- this.data[i].text ||
74
- this.data[i].value;
75
- break;
76
- } else if (this.value === this.data[i]) {
77
- dom = this.data[i];
78
- break;
79
- }
80
- }
81
- }
82
- return h(
83
- 'div',
84
- { class: ['es-input__inner', { 'es-plain': this.plain }] },
85
- [dom]
86
- );
87
- }
88
- if (Array.isArray(this.data)) {
89
- this.data.forEach((item) => {
90
- if (
91
- util.isObject(item) &&
92
- (typeof item.value === 'boolean' || typeof item.value === 'number')
93
- ) {
94
- if (item.value) {
95
- this.attrs.activeValue = item.value;
96
- this.attrs.activeText =
97
- this.activeText !== undefined
98
- ? this.activeText
99
- : item.name || item.label || item.text || item.value;
100
- } else {
101
- this.attrs.inactiveValue = item.value;
102
- this.attrs.inactiveText =
103
- this.inactiveText !== undefined
104
- ? this.inactiveText
105
- : item.name || item.label || item.text || item.value;
106
- }
107
- } else {
108
- console.error('数据错误');
109
- return false;
110
- }
111
- });
112
- } else {
113
- if (this.data.active && this.data.inactive) {
114
- if (typeof this.data.active === 'string') {
115
- this.attrs.activeValue = this.data.active;
116
- this.attrs.activeText =
117
- this.activeText !== undefined
118
- ? this.activeText
119
- : this.data.active;
120
- } else if (util.isObject(this.data.active)) {
121
- this.attrs.activeValue = this.data.active.value;
122
- this.attrs.activeText =
123
- this.activeText !== undefined
124
- ? this.activeText
125
- : this.data.active.name ||
126
- this.data.active.label ||
127
- this.data.active.text ||
128
- this.data.active.value;
129
- }
130
- if (typeof this.data.inactive === 'string') {
131
- this.attrs.inactiveValue = this.data.inactive;
132
- this.attrs.inactiveText =
133
- this.inactiveText !== undefined
134
- ? this.inactiveText
135
- : this.data.inactive;
136
- } else if (util.isObject(this.data.inactive)) {
137
- this.attrs.inactiveValue = this.data.inactive.value;
138
- this.attrs.inactiveText =
139
- this.inactiveText !== undefined
140
- ? this.inactiveText
141
- : this.data.inactive.name ||
142
- this.data.inactive.label ||
143
- this.data.inactive.text ||
144
- this.data.inactive.value;
145
- }
146
- }
147
- }
148
- return h('div', { class: 'es-switch-content' }, [
149
- h('el-switch', {
150
- attrs: {
151
- ...this.$attrs,
152
- ...this.attrs,
153
- inlay: this.inlay,
154
- value: this.model
155
- },
156
- on: this.$listeners,
157
- directives: [
158
- {
159
- name: 'show',
160
- value: this.display
161
- }
162
- ]
163
- })
164
- ]);
165
- } else {
166
- return '';
167
- }
168
- }
169
- };
170
- </script>
1
+ <script>
2
+ import util from 'eoss-ui/src/utils/util';
3
+ export default {
4
+ name: 'EsSwitch',
5
+ inheritAttrs: false,
6
+ props: {
7
+ // 显示隐藏组件
8
+ display: {
9
+ type: Boolean,
10
+ default: true
11
+ },
12
+ // 是否不渲染组件
13
+ hide: {
14
+ type: Boolean,
15
+ default: false
16
+ },
17
+ inlay: {
18
+ type: Boolean,
19
+ default: true
20
+ },
21
+ data: {
22
+ type: [Object, Array],
23
+ default() {
24
+ return [];
25
+ }
26
+ },
27
+ value: [String, Boolean, Number],
28
+ readonly: Boolean,
29
+ plain: Boolean,
30
+ activeText: String,
31
+ inactiveText: String
32
+ },
33
+ data() {
34
+ return {
35
+ attrs: {
36
+ activeText: '',
37
+ inactiveText: '',
38
+ activeValue: '',
39
+ inactiveValue: ''
40
+ }
41
+ };
42
+ },
43
+ computed: {
44
+ model: {
45
+ get() {
46
+ return this.value;
47
+ },
48
+ set(val) {
49
+ return val;
50
+ }
51
+ }
52
+ },
53
+ render(h) {
54
+ if (!this.hide) {
55
+ if (this.readonly) {
56
+ let dom = '';
57
+ if (Array.isArray(this.data)) {
58
+ this.data.forEach((item) => {
59
+ if (this.value === item.value) {
60
+ dom = item.name || item.label || item.text || item.value;
61
+ return;
62
+ }
63
+ });
64
+ } else {
65
+ for (let i in this.data) {
66
+ if (
67
+ util.isObject(this.data[i]) &&
68
+ this.value === this.data[i].value
69
+ ) {
70
+ dom =
71
+ this.data[i].name ||
72
+ this.data[i].label ||
73
+ this.data[i].text ||
74
+ this.data[i].value;
75
+ break;
76
+ } else if (this.value === this.data[i]) {
77
+ dom = this.data[i];
78
+ break;
79
+ }
80
+ }
81
+ }
82
+ return h(
83
+ 'div',
84
+ { class: ['es-input__inner', { 'es-plain': this.plain }] },
85
+ [dom]
86
+ );
87
+ }
88
+ if (Array.isArray(this.data)) {
89
+ this.data.forEach((item) => {
90
+ if (
91
+ util.isObject(item) &&
92
+ (typeof item.value === 'boolean' || typeof item.value === 'number')
93
+ ) {
94
+ if (item.value) {
95
+ this.attrs.activeValue = item.value;
96
+ this.attrs.activeText =
97
+ this.activeText !== undefined
98
+ ? this.activeText
99
+ : item.name || item.label || item.text || item.value;
100
+ } else {
101
+ this.attrs.inactiveValue = item.value;
102
+ this.attrs.inactiveText =
103
+ this.inactiveText !== undefined
104
+ ? this.inactiveText
105
+ : item.name || item.label || item.text || item.value;
106
+ }
107
+ } else {
108
+ console.error('数据错误');
109
+ return false;
110
+ }
111
+ });
112
+ } else {
113
+ if (this.data.active && this.data.inactive) {
114
+ if (typeof this.data.active === 'string') {
115
+ this.attrs.activeValue = this.data.active;
116
+ this.attrs.activeText =
117
+ this.activeText !== undefined
118
+ ? this.activeText
119
+ : this.data.active;
120
+ } else if (util.isObject(this.data.active)) {
121
+ this.attrs.activeValue = this.data.active.value;
122
+ this.attrs.activeText =
123
+ this.activeText !== undefined
124
+ ? this.activeText
125
+ : this.data.active.name ||
126
+ this.data.active.label ||
127
+ this.data.active.text ||
128
+ this.data.active.value;
129
+ }
130
+ if (typeof this.data.inactive === 'string') {
131
+ this.attrs.inactiveValue = this.data.inactive;
132
+ this.attrs.inactiveText =
133
+ this.inactiveText !== undefined
134
+ ? this.inactiveText
135
+ : this.data.inactive;
136
+ } else if (util.isObject(this.data.inactive)) {
137
+ this.attrs.inactiveValue = this.data.inactive.value;
138
+ this.attrs.inactiveText =
139
+ this.inactiveText !== undefined
140
+ ? this.inactiveText
141
+ : this.data.inactive.name ||
142
+ this.data.inactive.label ||
143
+ this.data.inactive.text ||
144
+ this.data.inactive.value;
145
+ }
146
+ }
147
+ }
148
+ return h('div', { class: 'es-switch-content' }, [
149
+ h('el-switch', {
150
+ attrs: {
151
+ ...this.$attrs,
152
+ ...this.attrs,
153
+ inlay: this.inlay,
154
+ value: this.model
155
+ },
156
+ on: this.$listeners,
157
+ directives: [
158
+ {
159
+ name: 'show',
160
+ value: this.display
161
+ }
162
+ ]
163
+ })
164
+ ]);
165
+ } else {
166
+ return '';
167
+ }
168
+ }
169
+ };
170
+ </script>