eoss-ui 0.7.90 → 0.7.91

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 (160) hide show
  1. package/lib/button-group.js +16 -0
  2. package/lib/button.js +18 -2
  3. package/lib/calogin.js +16 -0
  4. package/lib/checkbox-group.js +16 -0
  5. package/lib/data-table-form.js +16 -0
  6. package/lib/data-table.js +24 -8
  7. package/lib/date-picker.js +16 -0
  8. package/lib/dialog.js +27 -6
  9. package/lib/eoss-ui.common.js +759 -744
  10. package/lib/flow-group.js +30 -15
  11. package/lib/flow-list.js +112 -96
  12. package/lib/flow.js +178 -162
  13. package/lib/form.js +16 -0
  14. package/lib/handle-user.js +19 -3
  15. package/lib/handler.js +26 -10
  16. package/lib/icon.js +16 -0
  17. package/lib/index.js +1 -1
  18. package/lib/input-number.js +16 -0
  19. package/lib/input.js +16 -0
  20. package/lib/login.js +16 -0
  21. package/lib/main.js +397 -386
  22. package/lib/nav.js +16 -0
  23. package/lib/page.js +16 -0
  24. package/lib/pagination.js +19 -3
  25. package/lib/player.js +16 -0
  26. package/lib/qr-code.js +16 -0
  27. package/lib/radio-group.js +16 -0
  28. package/lib/retrial-auth.js +22 -6
  29. package/lib/select-ganged.js +16 -0
  30. package/lib/select.js +16 -0
  31. package/lib/selector-panel.js +16 -0
  32. package/lib/selector.js +16 -0
  33. package/lib/sizer.js +16 -0
  34. package/lib/steps.js +16 -0
  35. package/lib/switch.js +16 -0
  36. package/lib/table-form.js +16 -0
  37. package/lib/tabs.js +16 -0
  38. package/lib/theme-chalk/index.css +1 -1
  39. package/lib/theme-chalk/login.css +1 -1
  40. package/lib/tips.js +16 -0
  41. package/lib/tree-group.js +19 -3
  42. package/lib/tree.js +16 -0
  43. package/lib/upload.js +16 -0
  44. package/lib/utils/util.js +16 -0
  45. package/lib/wujie.js +16 -0
  46. package/lib/wxlogin.js +16 -0
  47. package/package.json +1 -1
  48. package/packages/.DS_Store +0 -0
  49. package/packages/button/src/main.vue +2 -2
  50. package/packages/button-group/src/main.vue +346 -346
  51. package/packages/calogin/.DS_Store +0 -0
  52. package/packages/calogin/src/main.vue +412 -412
  53. package/packages/clients/src/main.vue +151 -151
  54. package/packages/data-table/src/main.vue +4 -3
  55. package/packages/date-picker/.DS_Store +0 -0
  56. package/packages/date-picker/src/.DS_Store +0 -0
  57. package/packages/dialog/.DS_Store +0 -0
  58. package/packages/dialog/src/main.vue +11 -4
  59. package/packages/flow/.DS_Store +0 -0
  60. package/packages/flow/src/.DS_Store +0 -0
  61. package/packages/flow/src/component/Circulate.vue +417 -417
  62. package/packages/flow/src/component/CommonOpinions.vue +376 -376
  63. package/packages/flow/src/component/CustomPreset.vue +324 -324
  64. package/packages/flow/src/component/FileList.vue +97 -97
  65. package/packages/flow/src/component/FreeCirculation.vue +244 -244
  66. package/packages/flow/src/component/Preset.vue +257 -257
  67. package/packages/flow/src/component/SendMsg.vue +242 -242
  68. package/packages/flow/src/component/SortFlow.vue +110 -110
  69. package/packages/flow/src/component/taskUnionExamine.vue +761 -761
  70. package/packages/flow/src/form.vue +123 -123
  71. package/packages/flow/src/freeStartFlow.vue +2855 -2855
  72. package/packages/flow/src/processForm.vue +1680 -1680
  73. package/packages/flow/src/processReject.vue +309 -309
  74. package/packages/flow/src/reset.vue +946 -946
  75. package/packages/flow/src/startTaskRead.vue +695 -695
  76. package/packages/flow/src/supervise.vue +159 -159
  77. package/packages/flow/src/table.vue +58 -58
  78. package/packages/flow-group/src/main.vue +728 -727
  79. package/packages/flow-list/.DS_Store +0 -0
  80. package/packages/flow-list/src/main.vue +2337 -2337
  81. package/packages/form/.DS_Store +0 -0
  82. package/packages/form/src/main.vue +3901 -3901
  83. package/packages/form/src/table.vue +1512 -1512
  84. package/packages/handle-user/src/main.vue +137 -137
  85. package/packages/handler/src/main.vue +10 -8
  86. package/packages/icon/.DS_Store +0 -0
  87. package/packages/icon/src/main.vue +104 -104
  88. package/packages/login/.DS_Store +0 -0
  89. package/packages/login/src/main.vue +2087 -2087
  90. package/packages/login/src/resetPassword.vue +557 -557
  91. package/packages/main/.DS_Store +0 -0
  92. package/packages/main/src/.DS_Store +0 -0
  93. package/packages/main/src/default/userinfo.vue +505 -503
  94. package/packages/main/src/main.vue +10 -15
  95. package/packages/main/src/public/online.vue +89 -89
  96. package/packages/main/src/public/search.vue +464 -464
  97. package/packages/main/src/public/settings.vue +273 -273
  98. package/packages/main/src/simplicity/apps.vue +388 -388
  99. package/packages/main/src/simplicity/avatar.vue +82 -82
  100. package/packages/main/src/simplicity/handler.vue +158 -158
  101. package/packages/main/src/simplicity/index.vue +2330 -2328
  102. package/packages/main/src/simplicity/menu-list.vue +135 -135
  103. package/packages/main/src/simplicity/message.vue +293 -293
  104. package/packages/main/src/simplicity/notice.vue +222 -222
  105. package/packages/main/src/simplicity/sub-menu.vue +276 -276
  106. package/packages/main/src/simplicity/user.vue +259 -259
  107. package/packages/main/src/simplicity/userinfo.vue +403 -401
  108. package/packages/main/src/simplicityTop/apps.vue +388 -388
  109. package/packages/main/src/simplicityTop/avatar.vue +82 -82
  110. package/packages/main/src/simplicityTop/handler.vue +215 -215
  111. package/packages/main/src/simplicityTop/index.vue +2620 -2618
  112. package/packages/main/src/simplicityTop/lists.vue +84 -84
  113. package/packages/main/src/simplicityTop/menu-list.vue +135 -135
  114. package/packages/main/src/simplicityTop/message.vue +293 -293
  115. package/packages/main/src/simplicityTop/notice.vue +222 -222
  116. package/packages/main/src/simplicityTop/router-page.vue +45 -45
  117. package/packages/main/src/simplicityTop/sub-menu.vue +274 -274
  118. package/packages/main/src/simplicityTop/user.vue +259 -259
  119. package/packages/main/src/simplicityTop/userinfo.vue +403 -401
  120. package/packages/menu/.DS_Store +0 -0
  121. package/packages/menu/src/main.vue +595 -595
  122. package/packages/nav/src/main.vue +351 -351
  123. package/packages/pagination/src/main.vue +1 -1
  124. package/packages/retrial-auth/src/main.vue +4 -4
  125. package/packages/select/.DS_Store +0 -0
  126. package/packages/selector/.DS_Store +0 -0
  127. package/packages/selector/src/main.vue +761 -761
  128. package/packages/selector-panel/.DS_Store +0 -0
  129. package/packages/selector-panel/src/main.vue +1036 -1036
  130. package/packages/selector-panel/src/selection.vue +174 -174
  131. package/packages/switch/src/main.vue +170 -170
  132. package/packages/theme-chalk/lib/index.css +1 -1
  133. package/packages/theme-chalk/lib/login.css +1 -1
  134. package/packages/theme-chalk/src/.DS_Store +0 -0
  135. package/packages/theme-chalk/src/data-table.scss +297 -297
  136. package/packages/theme-chalk/src/flow-list.scss +55 -55
  137. package/packages/theme-chalk/src/flow.scss +373 -373
  138. package/packages/theme-chalk/src/form.scss +501 -501
  139. package/packages/theme-chalk/src/handler.scss +148 -148
  140. package/packages/theme-chalk/src/icon.scss +3452 -3452
  141. package/packages/theme-chalk/src/login.scss +1006 -1006
  142. package/packages/theme-chalk/src/main.scss +664 -664
  143. package/packages/theme-chalk/src/menu.scss +224 -224
  144. package/packages/theme-chalk/src/selector.scss +114 -114
  145. package/packages/theme-chalk/src/simplicity-top.scss +1845 -1845
  146. package/packages/theme-chalk/src/simplicity.scss +1403 -1403
  147. package/packages/theme-chalk/src/tree.scss +165 -165
  148. package/packages/theme-chalk/src/upload.scss +172 -172
  149. package/packages/tips/src/main.vue +141 -141
  150. package/packages/toolbar/src/main.vue +430 -430
  151. package/packages/tree-group/src/main.vue +2 -1
  152. package/packages/upload/.DS_Store +0 -0
  153. package/packages/upload/src/main.vue +1344 -1344
  154. package/packages/wujie/src/main.vue +146 -146
  155. package/src/.DS_Store +0 -0
  156. package/src/config/api.js +348 -348
  157. package/src/index.js +163 -163
  158. package/src/utils/.DS_Store +0 -0
  159. package/src/utils/rules.js +18 -18
  160. package/src/utils/util.js +16 -0
@@ -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>