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