iov-design 2.15.60 → 2.15.61

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 (234) hide show
  1. package/README.md +148 -148
  2. package/lib/alert.js +24 -105
  3. package/lib/aside.js +24 -34
  4. package/lib/autocomplete.js +36 -240
  5. package/lib/avatar.js +21 -20
  6. package/lib/backtop.js +27 -52
  7. package/lib/badge.js +30 -58
  8. package/lib/breadcrumb-item.js +24 -53
  9. package/lib/breadcrumb.js +24 -37
  10. package/lib/button-group.js +24 -29
  11. package/lib/button.js +38 -60
  12. package/lib/calendar.js +29 -146
  13. package/lib/card.js +24 -51
  14. package/lib/carousel-item.js +30 -68
  15. package/lib/carousel.js +27 -159
  16. package/lib/cascader-panel.js +41 -64
  17. package/lib/cascader.js +37 -470
  18. package/lib/checkbox-button.js +28 -164
  19. package/lib/checkbox-group.js +24 -37
  20. package/lib/checkbox.js +35 -189
  21. package/lib/col.js +1 -0
  22. package/lib/collapse-item.js +27 -125
  23. package/lib/collapse.js +24 -37
  24. package/lib/color-picker.js +104 -424
  25. package/lib/container.js +24 -34
  26. package/lib/date-picker.js +126 -1981
  27. package/lib/descriptions-item.js +1 -0
  28. package/lib/descriptions.js +1 -0
  29. package/lib/dialog.js +24 -137
  30. package/lib/divider.js +29 -64
  31. package/lib/drawer.js +24 -139
  32. package/lib/dropdown-item.js +27 -45
  33. package/lib/dropdown-menu.js +24 -51
  34. package/lib/dropdown.js +21 -20
  35. package/lib/empty.js +24 -61
  36. package/lib/footer.js +24 -34
  37. package/lib/form-item.js +42 -128
  38. package/lib/form.js +27 -40
  39. package/lib/header.js +24 -34
  40. package/lib/icon.js +24 -29
  41. package/lib/image.js +36 -220
  42. package/lib/index.js +1 -1
  43. package/lib/infinite-scroll.js +1 -0
  44. package/lib/input-number.js +30 -163
  45. package/lib/input.js +42 -274
  46. package/lib/iov-design.common.js +1635 -11132
  47. package/lib/link.js +31 -56
  48. package/lib/loading.js +24 -77
  49. package/lib/locale/format.js +10 -10
  50. package/lib/main.js +24 -29
  51. package/lib/menu-item-group.js +24 -40
  52. package/lib/menu-item.js +27 -83
  53. package/lib/menu.js +21 -20
  54. package/lib/message-box.js +24 -321
  55. package/lib/message.js +30 -82
  56. package/lib/mixins/migrating.js +20 -20
  57. package/lib/notification.js +24 -109
  58. package/lib/option-group.js +24 -50
  59. package/lib/option.js +27 -76
  60. package/lib/page-header.js +24 -56
  61. package/lib/pagination.js +24 -97
  62. package/lib/popconfirm.js +24 -97
  63. package/lib/popover.js +24 -89
  64. package/lib/progress.js +30 -133
  65. package/lib/radio-button.js +29 -111
  66. package/lib/radio-group.js +24 -39
  67. package/lib/radio.js +36 -152
  68. package/lib/rate.js +24 -94
  69. package/lib/result.js +72 -187
  70. package/lib/row.js +1 -0
  71. package/lib/scrollbar.js +1 -0
  72. package/lib/select.js +48 -637
  73. package/lib/skeleton-item.js +36 -68
  74. package/lib/skeleton.js +28 -70
  75. package/lib/slider.js +36 -267
  76. package/lib/spinner.js +24 -51
  77. package/lib/statistic.js +24 -76
  78. package/lib/step.js +29 -118
  79. package/lib/steps.js +27 -40
  80. package/lib/submenu.js +21 -20
  81. package/lib/switch.js +24 -130
  82. package/lib/tab-pane.js +24 -52
  83. package/lib/table-column.js +1 -0
  84. package/lib/table.js +93 -633
  85. package/lib/tabs.js +34 -49
  86. package/lib/tag.js +21 -20
  87. package/lib/theme-chalk/button.css +1 -1
  88. package/lib/theme-chalk/calendar.css +1 -1
  89. package/lib/theme-chalk/dropdown.css +1 -1
  90. package/lib/theme-chalk/index.css +1 -1
  91. package/lib/theme-chalk/link.css +1 -1
  92. package/lib/theme-chalk/message-box.css +1 -1
  93. package/lib/theme-chalk/transfer.css +1 -1
  94. package/lib/time-picker.js +58 -820
  95. package/lib/time-select.js +42 -303
  96. package/lib/timeline-item.js +29 -75
  97. package/lib/timeline.js +21 -20
  98. package/lib/tooltip.js +1 -0
  99. package/lib/transfer.js +36 -299
  100. package/lib/tree.js +54 -243
  101. package/lib/upload.js +86 -654
  102. package/lib/utils/clickoutside.js +7 -7
  103. package/lib/utils/vue-popper.js +7 -7
  104. package/package.json +154 -154
  105. package/packages/autocomplete/src/autocomplete-suggestions.vue +76 -76
  106. package/packages/autocomplete/src/autocomplete.vue +285 -285
  107. package/packages/button/src/button.vue +90 -90
  108. package/packages/calendar/src/date-table.vue +200 -200
  109. package/packages/calendar/src/main.vue +280 -280
  110. package/packages/carousel/src/item.vue +138 -138
  111. package/packages/carousel/src/main.vue +315 -315
  112. package/packages/cascader/src/cascader.vue +776 -776
  113. package/packages/cascader-panel/src/cascader-menu.vue +138 -138
  114. package/packages/cascader-panel/src/cascader-node.vue +246 -246
  115. package/packages/cascader-panel/src/cascader-panel.vue +391 -391
  116. package/packages/cascader-panel/src/node.js +166 -166
  117. package/packages/cascader-panel/src/store.js +58 -58
  118. package/packages/checkbox/src/checkbox-button.vue +199 -199
  119. package/packages/checkbox/src/checkbox-group.vue +49 -49
  120. package/packages/checkbox/src/checkbox.vue +225 -225
  121. package/packages/collapse/src/collapse-item.vue +114 -114
  122. package/packages/color-picker/src/components/picker-dropdown.vue +121 -121
  123. package/packages/color-picker/src/main.vue +188 -188
  124. package/packages/date-picker/src/basic/date-table.vue +441 -441
  125. package/packages/date-picker/src/basic/month-table.vue +269 -269
  126. package/packages/date-picker/src/basic/time-spinner.vue +304 -304
  127. package/packages/date-picker/src/basic/year-table.vue +111 -111
  128. package/packages/date-picker/src/panel/date-range.vue +680 -680
  129. package/packages/date-picker/src/panel/date.vue +609 -609
  130. package/packages/date-picker/src/panel/month-range.vue +289 -289
  131. package/packages/date-picker/src/panel/time-range.vue +248 -248
  132. package/packages/date-picker/src/panel/time-select.vue +178 -178
  133. package/packages/date-picker/src/panel/time.vue +186 -186
  134. package/packages/date-picker/src/picker.vue +967 -967
  135. package/packages/descriptions/src/index.js +180 -180
  136. package/packages/dialog/src/component.vue +262 -262
  137. package/packages/drawer/src/main.vue +205 -205
  138. package/packages/dropdown/src/dropdown-item.vue +37 -37
  139. package/packages/dropdown/src/dropdown-menu.vue +63 -63
  140. package/packages/dropdown/src/dropdown.vue +293 -293
  141. package/packages/empty/src/index.vue +70 -70
  142. package/packages/form/src/form-item.vue +324 -324
  143. package/packages/form/src/form.vue +182 -182
  144. package/packages/image/src/image-viewer.vue +330 -330
  145. package/packages/image/src/main.vue +249 -249
  146. package/packages/infinite-scroll/src/main.js +150 -150
  147. package/packages/input/src/input.vue +477 -477
  148. package/packages/input-number/src/input-number.vue +283 -283
  149. package/packages/loading/src/directive.js +133 -133
  150. package/packages/loading/src/index.js +106 -106
  151. package/packages/menu/src/menu-item.vue +112 -112
  152. package/packages/menu/src/menu.vue +325 -325
  153. package/packages/menu/src/submenu.vue +349 -349
  154. package/packages/message/src/main.js +91 -91
  155. package/packages/message-box/src/main.js +216 -216
  156. package/packages/message-box/src/main.vue +333 -333
  157. package/packages/notification/src/main.js +94 -94
  158. package/packages/page-header/src/main.vue +30 -30
  159. package/packages/pagination/src/pagination.js +390 -390
  160. package/packages/popconfirm/src/main.vue +104 -104
  161. package/packages/popover/src/main.vue +239 -239
  162. package/packages/radio/src/radio-button.vue +115 -115
  163. package/packages/radio/src/radio-group.vue +115 -115
  164. package/packages/radio/src/radio.vue +148 -148
  165. package/packages/rate/src/main.vue +348 -348
  166. package/packages/scrollbar/src/bar.js +92 -92
  167. package/packages/scrollbar/src/main.js +130 -130
  168. package/packages/select/src/option-group.vue +60 -60
  169. package/packages/select/src/option.vue +171 -171
  170. package/packages/select/src/select-dropdown.vue +74 -74
  171. package/packages/select/src/select.vue +979 -979
  172. package/packages/slider/src/button.vue +238 -238
  173. package/packages/slider/src/main.vue +427 -427
  174. package/packages/statistic/src/main.vue +204 -204
  175. package/packages/steps/src/steps.vue +68 -68
  176. package/packages/switch/src/component.vue +182 -182
  177. package/packages/table/src/config.js +153 -153
  178. package/packages/table/src/filter-panel.vue +194 -194
  179. package/packages/table/src/store/current.js +76 -76
  180. package/packages/table/src/store/helper.js +41 -41
  181. package/packages/table/src/store/index.js +147 -147
  182. package/packages/table/src/store/watcher.js +502 -502
  183. package/packages/table/src/table-body.js +469 -469
  184. package/packages/table/src/table-column.js +328 -328
  185. package/packages/table/src/table-header.js +571 -571
  186. package/packages/table/src/table-layout.js +249 -249
  187. package/packages/table/src/table-row.js +101 -101
  188. package/packages/table/src/table.vue +740 -740
  189. package/packages/table/src/util.js +273 -273
  190. package/packages/tabs/src/tab-bar.vue +57 -57
  191. package/packages/tabs/src/tab-nav.vue +294 -294
  192. package/packages/tabs/src/tabs.vue +201 -201
  193. package/packages/theme-chalk/src/button.scss +416 -416
  194. package/packages/theme-chalk/src/cascader.scss +252 -252
  195. package/packages/theme-chalk/src/checkbox.scss +419 -419
  196. package/packages/theme-chalk/src/common/var.scss +795 -795
  197. package/packages/theme-chalk/src/form.scss +201 -201
  198. package/packages/theme-chalk/src/input.scss +591 -591
  199. package/packages/theme-chalk/src/iovfont.scss +803 -803
  200. package/packages/theme-chalk/src/link.scss +8 -8
  201. package/packages/theme-chalk/src/message-box.scss +207 -207
  202. package/packages/theme-chalk/src/mixins/_button.scss +136 -136
  203. package/packages/theme-chalk/src/mixins/mixins.scss +190 -190
  204. package/packages/theme-chalk/src/radio-button.scss +115 -115
  205. package/packages/theme-chalk/src/select.scss +270 -270
  206. package/packages/theme-chalk/src/tabs.scss +755 -755
  207. package/packages/theme-chalk/src/upload.scss +568 -568
  208. package/packages/tooltip/src/main.js +242 -242
  209. package/packages/transfer/src/main.vue +231 -231
  210. package/packages/transfer/src/transfer-panel.vue +251 -251
  211. package/packages/tree/src/model/node.js +484 -484
  212. package/packages/tree/src/tree-node.vue +279 -279
  213. package/packages/tree/src/tree.vue +496 -496
  214. package/packages/upload/src/index.vue +420 -420
  215. package/packages/upload/src/upload-file.vue +98 -98
  216. package/packages/upload/src/upload-list.vue +115 -115
  217. package/packages/upload/src/upload-picture.vue +98 -98
  218. package/packages/upload/src/upload.vue +231 -231
  219. package/packages/upload/src/utils.js +31 -31
  220. package/src/directives/repeat-click.js +26 -26
  221. package/src/index.js +259 -259
  222. package/src/locale/format.js +46 -46
  223. package/src/locale/index.js +48 -48
  224. package/src/locale/lang/lo-LA.js +126 -126
  225. package/src/mixins/locale.js +9 -9
  226. package/src/mixins/migrating.js +54 -54
  227. package/src/transitions/collapse-transition.js +77 -77
  228. package/src/utils/clickoutside.js +76 -76
  229. package/src/utils/date-util.js +282 -282
  230. package/src/utils/popup/index.js +218 -218
  231. package/src/utils/popup/popup-manager.js +194 -194
  232. package/src/utils/util.js +245 -245
  233. package/src/utils/vdom.js +5 -5
  234. package/src/utils/vue-popper.js +198 -198
@@ -1,568 +1,568 @@
1
- @import "mixins/mixins";
2
- @import "progress";
3
- @import "common/var";
4
-
5
- @include b(upload) {
6
- display: inline-block;
7
- text-align: center;
8
- cursor: pointer;
9
- outline: none;
10
- @include e(input) {
11
- display: none;
12
- }
13
-
14
- @include e(tip) {
15
- font-size: 12px;
16
- color: $--color-text-2;
17
- margin-top: 8px;
18
- }
19
-
20
- iframe {
21
- position: absolute;
22
- z-index: -1;
23
- top: 0;
24
- left: 0;
25
- opacity: 0;
26
- filter: alpha(opacity=0);
27
- }
28
-
29
- @include m(wrap) {
30
- position: relative;
31
- }
32
-
33
- @include m(drag) {
34
- display: block;
35
- &.el-upload--drag__small {
36
- width: 112px;
37
- background: $--color-fill-1;
38
- &:hover {
39
- background: #fff;
40
- }
41
- .el-upload-dragger {
42
- padding: 0;
43
- height: 68px;
44
- .el-upload-list__item-status-label {
45
- left: 12px;
46
- right: 12px;
47
- }
48
- }
49
- .el-upload-list__file {
50
- padding: 5px 12px;
51
- }
52
- .el-upload-list__item {
53
- .el-upload-list__icon {
54
- width: 24px;
55
- height: 24px;
56
- }
57
- .el-upload-list__name {
58
- margin-top: 4px;
59
- }
60
- }
61
- .el-upload-progress__text {
62
- margin-top: 8px;
63
- }
64
- }
65
- &.el-upload--drag__medium {
66
- width: 400px;
67
- .el-upload-dragger {
68
- padding: 0;
69
- height: 132px;
70
- }
71
- }
72
- }
73
-
74
- /* 照片墙模式 */
75
- @include m(picture-card) {
76
- border: 1px dashed $--color-line-2;
77
- border-radius: 4px;
78
- box-sizing: border-box;
79
- cursor: pointer;
80
- vertical-align: middle;
81
- &:hover {
82
- border-color: $--color-primary-5;
83
- }
84
- &:focus {
85
- border-color: $--color-primary-6;
86
- }
87
- // 图片上传(如头像上传)
88
- &.el-upload--picture-card__no-border {
89
- border: 0 none;
90
- overflow: hidden;
91
- .el-upload-list__item {
92
- margin: 0;
93
- }
94
- }
95
- &.el-upload--large {
96
- width: 106px;
97
- height: 106px;
98
- }
99
- &.el-upload--medium {
100
- width: 88px;
101
- height: 88px;
102
- }
103
- &.el-upload--small {
104
- width: 68px;
105
- height: 68px;
106
- }
107
- .el-upload__picture {
108
- height: 100%;
109
- display: flex;
110
- flex-direction: column;
111
- justify-content: center;
112
- }
113
- .el-upload__icon {
114
- font-size: 24px;
115
- color: $--color-fill-4;
116
- margin: 0 auto;
117
- }
118
- .el-upload__desc {
119
- margin: 4px auto 0;
120
- font-size: 12px;
121
- color: $--color-text-2;
122
- }
123
- }
124
- }
125
-
126
- // 拖拽上传
127
- @include b(upload-dragger) {
128
- padding: 0 30px;
129
- border: 1px dashed $--color-line-2;
130
- border-radius: 4px;
131
- box-sizing: border-box;
132
- height: 132px;
133
- text-align: center;
134
- cursor: pointer;
135
- position: relative;
136
- display: flex;
137
- flex-direction: column;
138
- justify-content: center;
139
-
140
- .el-link {
141
- font-size: 13px;
142
- [class*="iov-icon-"] + span {
143
- margin-left: 4px;
144
- }
145
- }
146
- .el-upload__icon {
147
- font-size: 30px;
148
- color: $--color-fill-4;
149
- margin: 0 auto;
150
- }
151
- .el-upload__btn {
152
- margin-top: 10px;
153
- align-self: center;
154
- ~ .el-upload__tip {
155
- margin-top: 8px;
156
- }
157
- }
158
-
159
- .el-upload__tip {
160
- margin: 4px auto 0;
161
- text-align: center;
162
- color: $--color-text-2;
163
- }
164
-
165
- .el-upload__remove {
166
- cursor: pointer;
167
- display: flex;
168
- align-items: center;
169
- position: absolute;
170
- top: -5px;
171
- right: -5px;
172
-
173
- &:before {
174
- margin-right: -12px;
175
- color: #fff;
176
- font-size: 10px;
177
- position: relative;
178
- line-height: 1;
179
- }
180
- &:after {
181
- content: '';
182
- border-radius: 100%;
183
- width: 14px;
184
- height: 14px;
185
- background: $--color-fill-5;
186
- }
187
-
188
- &:hover {
189
- &:before {
190
- color: #fff;
191
- }
192
- &:after {
193
- background: $--color-fill-5;
194
- }
195
- }
196
- }
197
-
198
- // 重置file-list样式
199
- .el-upload-list__item {
200
- position: inherit;
201
- &:first-child {
202
- margin-top: 0;
203
- }
204
- .el-upload-list__file {
205
- margin-right: 0;
206
- background: none;
207
- .el-upload-list__item-name {
208
- margin-right: 0;
209
- }
210
- }
211
- .el-upload-list__icon {
212
- margin: 0 auto;
213
- display: block;
214
- width: 30px;
215
- height: 30px;
216
- }
217
- .el-upload-list__name {
218
- display: block;
219
- height: auto;
220
- line-height: 1;
221
- margin-top: 8px;
222
- width: 100%;
223
- }
224
- .el-upload__btn {
225
- margin-top: 10px;
226
- }
227
- }
228
- .el-upload-list__item-status-label {
229
- left: 24px;
230
- right: 24px;
231
- }
232
- .el-upload-progress__text {
233
- margin: 12px auto 0;
234
- color: $--color-text-6;
235
- font-size: 12px;
236
- display: block;
237
- }
238
-
239
- .el-upload__text {
240
- margin: 12px auto 0;
241
- color: $--color-text-6;
242
- font-size: 12px;
243
- text-align: center;
244
- }
245
-
246
- &:hover {
247
- border-color: $--color-primary-5;
248
- }
249
-
250
- &:fcous,
251
- &:active {
252
- border-color: $--color-primary-6;
253
- }
254
-
255
- @include when(dragover) {
256
- border-color: $--color-primary-5;
257
- }
258
- }
259
-
260
- // backgorund模式
261
- @include b(upload-bg) {
262
- padding: 12px;
263
- background: rgba(246, 247, 248, 0.6);
264
- border-radius: 4px;
265
- .el-upload-list__file {
266
- background: #fff;
267
- }
268
- }
269
-
270
- // 上传文件列表
271
- @include b(upload-list) {
272
- margin: 0;
273
- padding: 0;
274
- list-style: none;
275
-
276
- @include e(item) {
277
- margin-top: 4px;
278
- position: relative;
279
- width: 100%;
280
- box-sizing: border-box;
281
- &:first-child {
282
- margin-top: 8px;
283
- }
284
-
285
- .el-upload-success {
286
- color: $--color-success-6;
287
- }
288
-
289
- .iov-icon-delete {
290
- display: none;
291
- position: absolute;
292
- top: 50%;
293
- right: 8px;
294
- cursor: pointer;
295
- transform: translateY(-50%);
296
- color: $--color-fill-5;
297
- &:hover {
298
- color: $--color-primary-6;
299
- }
300
- }
301
-
302
- &:hover {
303
- .iov-icon-delete {
304
- display: inline-block;
305
- }
306
- }
307
-
308
- @include when(success) {
309
- .el-upload-list__item-status-label {
310
- display: block;
311
- }
312
-
313
- .el-upload-list__item-name:hover {
314
- cursor: pointer;
315
- }
316
- }
317
- }
318
-
319
- @include when(disabled) {
320
- .el-upload-list__item:hover .el-upload-list__item-status-label {
321
- display: block;
322
- }
323
- }
324
-
325
- @include e(file) {
326
- margin-right: 30px;
327
- padding: 5px 8px;
328
- box-sizing: border-box;
329
- border-radius: 4px;
330
- background: $--color-fill-1;
331
- position: relative;
332
- }
333
-
334
- @include e(icon) {
335
- margin-right: 4px;
336
- width: 20px;
337
- height: 20px;
338
- display: inline-block;
339
- background-repeat: no-repeat;
340
- background-position: center center;
341
- background-size: contain;
342
- vertical-align: middle;
343
- }
344
-
345
- @include e(name) {
346
- height: 20px;
347
- line-height: 20px;
348
- display: inline-block;
349
- vertical-align: middle;
350
- font-size: 12px;
351
- color: $--color-text-6;
352
- overflow: hidden;
353
- text-overflow: ellipsis;
354
- white-space: nowrap;
355
- width: calc(100% - 50px);
356
-
357
- .file-name:hover {
358
- color: $--color-primary-6;
359
- }
360
- }
361
-
362
- @include e(item-name) {
363
- color: $--color-text-6;
364
- display: block;
365
-
366
- [class^="iov-icon"] {
367
- height: 100%;
368
- margin-right: 4px;
369
- line-height: inherit;
370
- }
371
- }
372
-
373
- @include e(item-status-label) {
374
- position: absolute;
375
- right: 8px;
376
- top: 55%;
377
- transform: translateY(-50%);
378
- }
379
-
380
- @include e(item-delete) {
381
- position: absolute;
382
- right: 10px;
383
- top: 0;
384
- font-size: 12px;
385
- color: $--color-text-regular;
386
- display: none;
387
-
388
- &:hover {
389
- color: $--color-primary;
390
- }
391
- }
392
-
393
- @include m(text) {
394
- .el-upload-list__item-name{
395
- margin-right: 30px;
396
- }
397
- .el-upload-progress {
398
- position: relative;
399
- top: 2px;
400
- svg {
401
- path {
402
- &:nth-child(1) {
403
- stroke: $--color-primary-2;
404
- }
405
- &:nth-child(2) {
406
- stroke: $--color-primary-6;
407
- }
408
- }
409
- }
410
- }
411
- }
412
-
413
- // 图片墙列表
414
- @include m(picture-card) {
415
- display: inline;
416
- .el-upload-list__item {
417
- margin: 0 8px 0 0;
418
- overflow: hidden;
419
- background: #fff;
420
- border: 1px solid $--color-line-2;
421
- border-radius: 4px;
422
- box-sizing: border-box;
423
- display: inline-block;
424
- font-size: 0;
425
- vertical-align: middle;
426
- &:first-child {
427
- margin-top: 0;
428
- }
429
- &.el-upload-list__item-large {
430
- width: 106px;
431
- height: 106px;
432
- .el-image__placeholder,
433
- .el-image__error {
434
- background-size: 53px 53px;
435
- }
436
- }
437
- &.el-upload-list__item-medium {
438
- width: 88px;
439
- height: 88px;
440
- .el-image__placeholder,
441
- .el-image__error {
442
- background-size: 44px 44px;
443
- }
444
- }
445
- &.el-upload-list__item-small {
446
- width: 68px;
447
- height: 68px;
448
- .el-image__placeholder,
449
- .el-image__error {
450
- background-size: 34px 34px;
451
- }
452
- }
453
- }
454
- .el-upload-list__file {
455
- margin: 0 auto;
456
- padding: 0;
457
- width: 100%;
458
- height: 100%;
459
- }
460
- .el-upload-list__item-name {
461
- height: 100%;
462
- }
463
- .el-upload-list__item-thumbnail {
464
- width: 100%;
465
- height: 100%;
466
- display: block;
467
- .el-image {
468
- width: 100%;
469
- height: 100%;
470
- }
471
- }
472
- .el-upload-list__item-status-label {
473
- left: 10px;
474
- right: 10px;
475
- }
476
- .el-upload-progress__text {
477
- margin: 8px auto 0;
478
- color: $--color-text-6;
479
- font-size: 12px;
480
- display: block;
481
- text-align: center;
482
- }
483
- .el-upload-list__item-actions {
484
- position: absolute;
485
- width: 100%;
486
- height: 100%;
487
- left: 0;
488
- top: 0;
489
- cursor: default;
490
- text-align: center;
491
- color: #fff;
492
- opacity: 0;
493
- background: rgba(0, 0, 0, .5);
494
- transition: opacity .3s;
495
- display: flex;
496
- align-items: center;
497
- justify-content: center;
498
- gap: 8px;
499
- i {
500
- display: none;
501
- cursor: pointer;
502
- font-size: 18px;
503
- color: #fff;
504
- flex: none;
505
- }
506
- .iov-icon-delete {
507
- position: relative;
508
- top: auto;
509
- right: auto;
510
- transform: none;
511
- }
512
- &:hover {
513
- opacity: 1;
514
- i {
515
- display: inline-block;
516
- color: #fff;
517
- }
518
- }
519
- }
520
- }
521
-
522
- .el-image__placeholder {
523
- display: inline-block;
524
- background: $--color-fill-1 url(//obs-helf.cucloud.cn/prod-common-public/iov-design/img_placeholder.png) no-repeat center center / 20px 20px;
525
- }
526
- .el-image__error {
527
- display: inline-block;
528
- background: $--color-fill-3 url(//obs-helf.cucloud.cn/prod-common-public/iov-design/img_fail.png) no-repeat center center / 20px 20px;
529
- }
530
-
531
- // 图片列表缩略图
532
- @include m(picture) {
533
- .el-upload-list__file {
534
- padding: 6px 8px;
535
- }
536
- .el-upload-list__item-thumbnail {
537
- margin-right: 8px;
538
- vertical-align: middle;
539
- display: inline-block;
540
- position: relative;
541
- background: $--color-fill-3;
542
- border: 1px solid $--color-line-2;
543
- border-radius: 4px;
544
- font-size: 0;
545
- .el-image {
546
- width: 40px;
547
- height: 40px;
548
- }
549
- }
550
- .el-upload-list__name {
551
- width: calc(100% - 80px);
552
- }
553
- .el-upload-progress {
554
- position: relative;
555
- top: 2px;
556
- svg {
557
- path {
558
- &:nth-child(1) {
559
- stroke: $--color-primary-2;
560
- }
561
- &:nth-child(2) {
562
- stroke: $--color-primary-6;
563
- }
564
- }
565
- }
566
- }
567
- }
568
- }
1
+ @import "mixins/mixins";
2
+ @import "progress";
3
+ @import "common/var";
4
+
5
+ @include b(upload) {
6
+ display: inline-block;
7
+ text-align: center;
8
+ cursor: pointer;
9
+ outline: none;
10
+ @include e(input) {
11
+ display: none;
12
+ }
13
+
14
+ @include e(tip) {
15
+ font-size: 12px;
16
+ color: $--color-text-2;
17
+ margin-top: 8px;
18
+ }
19
+
20
+ iframe {
21
+ position: absolute;
22
+ z-index: -1;
23
+ top: 0;
24
+ left: 0;
25
+ opacity: 0;
26
+ filter: alpha(opacity=0);
27
+ }
28
+
29
+ @include m(wrap) {
30
+ position: relative;
31
+ }
32
+
33
+ @include m(drag) {
34
+ display: block;
35
+ &.el-upload--drag__small {
36
+ width: 112px;
37
+ background: $--color-fill-1;
38
+ &:hover {
39
+ background: #fff;
40
+ }
41
+ .el-upload-dragger {
42
+ padding: 0;
43
+ height: 68px;
44
+ .el-upload-list__item-status-label {
45
+ left: 12px;
46
+ right: 12px;
47
+ }
48
+ }
49
+ .el-upload-list__file {
50
+ padding: 5px 12px;
51
+ }
52
+ .el-upload-list__item {
53
+ .el-upload-list__icon {
54
+ width: 24px;
55
+ height: 24px;
56
+ }
57
+ .el-upload-list__name {
58
+ margin-top: 4px;
59
+ }
60
+ }
61
+ .el-upload-progress__text {
62
+ margin-top: 8px;
63
+ }
64
+ }
65
+ &.el-upload--drag__medium {
66
+ width: 400px;
67
+ .el-upload-dragger {
68
+ padding: 0;
69
+ height: 132px;
70
+ }
71
+ }
72
+ }
73
+
74
+ /* 照片墙模式 */
75
+ @include m(picture-card) {
76
+ border: 1px dashed $--color-line-2;
77
+ border-radius: 4px;
78
+ box-sizing: border-box;
79
+ cursor: pointer;
80
+ vertical-align: middle;
81
+ &:hover {
82
+ border-color: $--color-primary-5;
83
+ }
84
+ &:focus {
85
+ border-color: $--color-primary-6;
86
+ }
87
+ // 图片上传(如头像上传)
88
+ &.el-upload--picture-card__no-border {
89
+ border: 0 none;
90
+ overflow: hidden;
91
+ .el-upload-list__item {
92
+ margin: 0;
93
+ }
94
+ }
95
+ &.el-upload--large {
96
+ width: 106px;
97
+ height: 106px;
98
+ }
99
+ &.el-upload--medium {
100
+ width: 88px;
101
+ height: 88px;
102
+ }
103
+ &.el-upload--small {
104
+ width: 68px;
105
+ height: 68px;
106
+ }
107
+ .el-upload__picture {
108
+ height: 100%;
109
+ display: flex;
110
+ flex-direction: column;
111
+ justify-content: center;
112
+ }
113
+ .el-upload__icon {
114
+ font-size: 24px;
115
+ color: $--color-fill-4;
116
+ margin: 0 auto;
117
+ }
118
+ .el-upload__desc {
119
+ margin: 4px auto 0;
120
+ font-size: 12px;
121
+ color: $--color-text-2;
122
+ }
123
+ }
124
+ }
125
+
126
+ // 拖拽上传
127
+ @include b(upload-dragger) {
128
+ padding: 0 30px;
129
+ border: 1px dashed $--color-line-2;
130
+ border-radius: 4px;
131
+ box-sizing: border-box;
132
+ height: 132px;
133
+ text-align: center;
134
+ cursor: pointer;
135
+ position: relative;
136
+ display: flex;
137
+ flex-direction: column;
138
+ justify-content: center;
139
+
140
+ .el-link {
141
+ font-size: 13px;
142
+ [class*="iov-icon-"] + span {
143
+ margin-left: 4px;
144
+ }
145
+ }
146
+ .el-upload__icon {
147
+ font-size: 30px;
148
+ color: $--color-fill-4;
149
+ margin: 0 auto;
150
+ }
151
+ .el-upload__btn {
152
+ margin-top: 10px;
153
+ align-self: center;
154
+ ~ .el-upload__tip {
155
+ margin-top: 8px;
156
+ }
157
+ }
158
+
159
+ .el-upload__tip {
160
+ margin: 4px auto 0;
161
+ text-align: center;
162
+ color: $--color-text-2;
163
+ }
164
+
165
+ .el-upload__remove {
166
+ cursor: pointer;
167
+ display: flex;
168
+ align-items: center;
169
+ position: absolute;
170
+ top: -5px;
171
+ right: -5px;
172
+
173
+ &:before {
174
+ margin-right: -12px;
175
+ color: #fff;
176
+ font-size: 10px;
177
+ position: relative;
178
+ line-height: 1;
179
+ }
180
+ &:after {
181
+ content: '';
182
+ border-radius: 100%;
183
+ width: 14px;
184
+ height: 14px;
185
+ background: $--color-fill-5;
186
+ }
187
+
188
+ &:hover {
189
+ &:before {
190
+ color: #fff;
191
+ }
192
+ &:after {
193
+ background: $--color-fill-5;
194
+ }
195
+ }
196
+ }
197
+
198
+ // 重置file-list样式
199
+ .el-upload-list__item {
200
+ position: inherit;
201
+ &:first-child {
202
+ margin-top: 0;
203
+ }
204
+ .el-upload-list__file {
205
+ margin-right: 0;
206
+ background: none;
207
+ .el-upload-list__item-name {
208
+ margin-right: 0;
209
+ }
210
+ }
211
+ .el-upload-list__icon {
212
+ margin: 0 auto;
213
+ display: block;
214
+ width: 30px;
215
+ height: 30px;
216
+ }
217
+ .el-upload-list__name {
218
+ display: block;
219
+ height: auto;
220
+ line-height: 1;
221
+ margin-top: 8px;
222
+ width: 100%;
223
+ }
224
+ .el-upload__btn {
225
+ margin-top: 10px;
226
+ }
227
+ }
228
+ .el-upload-list__item-status-label {
229
+ left: 24px;
230
+ right: 24px;
231
+ }
232
+ .el-upload-progress__text {
233
+ margin: 12px auto 0;
234
+ color: $--color-text-6;
235
+ font-size: 12px;
236
+ display: block;
237
+ }
238
+
239
+ .el-upload__text {
240
+ margin: 12px auto 0;
241
+ color: $--color-text-6;
242
+ font-size: 12px;
243
+ text-align: center;
244
+ }
245
+
246
+ &:hover {
247
+ border-color: $--color-primary-5;
248
+ }
249
+
250
+ &:fcous,
251
+ &:active {
252
+ border-color: $--color-primary-6;
253
+ }
254
+
255
+ @include when(dragover) {
256
+ border-color: $--color-primary-5;
257
+ }
258
+ }
259
+
260
+ // backgorund模式
261
+ @include b(upload-bg) {
262
+ padding: 12px;
263
+ background: rgba(246, 247, 248, 0.6);
264
+ border-radius: 4px;
265
+ .el-upload-list__file {
266
+ background: #fff;
267
+ }
268
+ }
269
+
270
+ // 上传文件列表
271
+ @include b(upload-list) {
272
+ margin: 0;
273
+ padding: 0;
274
+ list-style: none;
275
+
276
+ @include e(item) {
277
+ margin-top: 4px;
278
+ position: relative;
279
+ width: 100%;
280
+ box-sizing: border-box;
281
+ &:first-child {
282
+ margin-top: 8px;
283
+ }
284
+
285
+ .el-upload-success {
286
+ color: $--color-success-6;
287
+ }
288
+
289
+ .iov-icon-delete {
290
+ display: none;
291
+ position: absolute;
292
+ top: 50%;
293
+ right: 8px;
294
+ cursor: pointer;
295
+ transform: translateY(-50%);
296
+ color: $--color-fill-5;
297
+ &:hover {
298
+ color: $--color-primary-6;
299
+ }
300
+ }
301
+
302
+ &:hover {
303
+ .iov-icon-delete {
304
+ display: inline-block;
305
+ }
306
+ }
307
+
308
+ @include when(success) {
309
+ .el-upload-list__item-status-label {
310
+ display: block;
311
+ }
312
+
313
+ .el-upload-list__item-name:hover {
314
+ cursor: pointer;
315
+ }
316
+ }
317
+ }
318
+
319
+ @include when(disabled) {
320
+ .el-upload-list__item:hover .el-upload-list__item-status-label {
321
+ display: block;
322
+ }
323
+ }
324
+
325
+ @include e(file) {
326
+ margin-right: 30px;
327
+ padding: 5px 8px;
328
+ box-sizing: border-box;
329
+ border-radius: 4px;
330
+ background: $--color-fill-1;
331
+ position: relative;
332
+ }
333
+
334
+ @include e(icon) {
335
+ margin-right: 4px;
336
+ width: 20px;
337
+ height: 20px;
338
+ display: inline-block;
339
+ background-repeat: no-repeat;
340
+ background-position: center center;
341
+ background-size: contain;
342
+ vertical-align: middle;
343
+ }
344
+
345
+ @include e(name) {
346
+ height: 20px;
347
+ line-height: 20px;
348
+ display: inline-block;
349
+ vertical-align: middle;
350
+ font-size: 12px;
351
+ color: $--color-text-6;
352
+ overflow: hidden;
353
+ text-overflow: ellipsis;
354
+ white-space: nowrap;
355
+ width: calc(100% - 50px);
356
+
357
+ .file-name:hover {
358
+ color: $--color-primary-6;
359
+ }
360
+ }
361
+
362
+ @include e(item-name) {
363
+ color: $--color-text-6;
364
+ display: block;
365
+
366
+ [class^="iov-icon"] {
367
+ height: 100%;
368
+ margin-right: 4px;
369
+ line-height: inherit;
370
+ }
371
+ }
372
+
373
+ @include e(item-status-label) {
374
+ position: absolute;
375
+ right: 8px;
376
+ top: 55%;
377
+ transform: translateY(-50%);
378
+ }
379
+
380
+ @include e(item-delete) {
381
+ position: absolute;
382
+ right: 10px;
383
+ top: 0;
384
+ font-size: 12px;
385
+ color: $--color-text-regular;
386
+ display: none;
387
+
388
+ &:hover {
389
+ color: $--color-primary;
390
+ }
391
+ }
392
+
393
+ @include m(text) {
394
+ .el-upload-list__item-name{
395
+ margin-right: 30px;
396
+ }
397
+ .el-upload-progress {
398
+ position: relative;
399
+ top: 2px;
400
+ svg {
401
+ path {
402
+ &:nth-child(1) {
403
+ stroke: $--color-primary-2;
404
+ }
405
+ &:nth-child(2) {
406
+ stroke: $--color-primary-6;
407
+ }
408
+ }
409
+ }
410
+ }
411
+ }
412
+
413
+ // 图片墙列表
414
+ @include m(picture-card) {
415
+ display: inline;
416
+ .el-upload-list__item {
417
+ margin: 0 8px 0 0;
418
+ overflow: hidden;
419
+ background: #fff;
420
+ border: 1px solid $--color-line-2;
421
+ border-radius: 4px;
422
+ box-sizing: border-box;
423
+ display: inline-block;
424
+ font-size: 0;
425
+ vertical-align: middle;
426
+ &:first-child {
427
+ margin-top: 0;
428
+ }
429
+ &.el-upload-list__item-large {
430
+ width: 106px;
431
+ height: 106px;
432
+ .el-image__placeholder,
433
+ .el-image__error {
434
+ background-size: 53px 53px;
435
+ }
436
+ }
437
+ &.el-upload-list__item-medium {
438
+ width: 88px;
439
+ height: 88px;
440
+ .el-image__placeholder,
441
+ .el-image__error {
442
+ background-size: 44px 44px;
443
+ }
444
+ }
445
+ &.el-upload-list__item-small {
446
+ width: 68px;
447
+ height: 68px;
448
+ .el-image__placeholder,
449
+ .el-image__error {
450
+ background-size: 34px 34px;
451
+ }
452
+ }
453
+ }
454
+ .el-upload-list__file {
455
+ margin: 0 auto;
456
+ padding: 0;
457
+ width: 100%;
458
+ height: 100%;
459
+ }
460
+ .el-upload-list__item-name {
461
+ height: 100%;
462
+ }
463
+ .el-upload-list__item-thumbnail {
464
+ width: 100%;
465
+ height: 100%;
466
+ display: block;
467
+ .el-image {
468
+ width: 100%;
469
+ height: 100%;
470
+ }
471
+ }
472
+ .el-upload-list__item-status-label {
473
+ left: 10px;
474
+ right: 10px;
475
+ }
476
+ .el-upload-progress__text {
477
+ margin: 8px auto 0;
478
+ color: $--color-text-6;
479
+ font-size: 12px;
480
+ display: block;
481
+ text-align: center;
482
+ }
483
+ .el-upload-list__item-actions {
484
+ position: absolute;
485
+ width: 100%;
486
+ height: 100%;
487
+ left: 0;
488
+ top: 0;
489
+ cursor: default;
490
+ text-align: center;
491
+ color: #fff;
492
+ opacity: 0;
493
+ background: rgba(0, 0, 0, .5);
494
+ transition: opacity .3s;
495
+ display: flex;
496
+ align-items: center;
497
+ justify-content: center;
498
+ gap: 8px;
499
+ i {
500
+ display: none;
501
+ cursor: pointer;
502
+ font-size: 18px;
503
+ color: #fff;
504
+ flex: none;
505
+ }
506
+ .iov-icon-delete {
507
+ position: relative;
508
+ top: auto;
509
+ right: auto;
510
+ transform: none;
511
+ }
512
+ &:hover {
513
+ opacity: 1;
514
+ i {
515
+ display: inline-block;
516
+ color: #fff;
517
+ }
518
+ }
519
+ }
520
+ }
521
+
522
+ .el-image__placeholder {
523
+ display: inline-block;
524
+ background: $--color-fill-1 url(//obs-helf.cucloud.cn/prod-common-public/iov-design/img_placeholder.png) no-repeat center center / 20px 20px;
525
+ }
526
+ .el-image__error {
527
+ display: inline-block;
528
+ background: $--color-fill-3 url(//obs-helf.cucloud.cn/prod-common-public/iov-design/img_fail.png) no-repeat center center / 20px 20px;
529
+ }
530
+
531
+ // 图片列表缩略图
532
+ @include m(picture) {
533
+ .el-upload-list__file {
534
+ padding: 6px 8px;
535
+ }
536
+ .el-upload-list__item-thumbnail {
537
+ margin-right: 8px;
538
+ vertical-align: middle;
539
+ display: inline-block;
540
+ position: relative;
541
+ background: $--color-fill-3;
542
+ border: 1px solid $--color-line-2;
543
+ border-radius: 4px;
544
+ font-size: 0;
545
+ .el-image {
546
+ width: 40px;
547
+ height: 40px;
548
+ }
549
+ }
550
+ .el-upload-list__name {
551
+ width: calc(100% - 80px);
552
+ }
553
+ .el-upload-progress {
554
+ position: relative;
555
+ top: 2px;
556
+ svg {
557
+ path {
558
+ &:nth-child(1) {
559
+ stroke: $--color-primary-2;
560
+ }
561
+ &:nth-child(2) {
562
+ stroke: $--color-primary-6;
563
+ }
564
+ }
565
+ }
566
+ }
567
+ }
568
+ }