@@ -20,15 +20,16 @@ var imageCompressor = new ImageCompressor();
20
20
21
21
var doubleSlash = '//' ;
22
22
var oneKB = 1024 ;
23
+ var image = 'image' ;
23
24
24
25
var Component = { render : function render ( ) {
25
- var _vm = this ; var _h = _vm . $createElement ; var _c = _vm . _self . _c || _h ; return _c ( 'div' , { staticClass : "upload-to-oss" } , [ _vm . _l ( _vm . uploadList , function ( imgUrl , index ) {
26
+ var _vm = this ; var _h = _vm . $createElement ; var _c = _vm . _self . _c || _h ; return _c ( 'div' , { staticClass : "upload-to-oss" } , [ ! _vm . $slots . default ? _vm . _l ( _vm . uploadList , function ( imgUrl , index ) {
26
27
return _c ( 'div' , { key : index , staticClass : "upload-item" , class : { 'is-preview' : _vm . preview } } , [ ! _vm . disabled ? _c ( 'i' , { staticClass : "upload-del-icon" , on : { "click" : function click ( $event ) {
27
28
$event . stopPropagation ( ) ; $event . preventDefault ( ) ; _vm . onDelete ( imgUrl , index ) ;
28
29
} } } ) : _vm . _e ( ) , _vm . _v ( " " ) , _c ( 'img' , { staticClass : "upload-img" , attrs : { "src" : imgUrl } , on : { "click" : function click ( $event ) {
29
30
_vm . onClick ( imgUrl ) ;
30
31
} } } ) ] ) ;
31
- } ) , _vm . _v ( " " ) , _vm . canUpload ? _c ( 'div' , { staticClass : "upload-area" , class : { disabled : _vm . disabled } , on : { "click" : _vm . selectFiles } } , [ _c ( 'div' , { staticClass : "upload-box" } , [ _vm . uploading ? _vm . _t ( "spinner" , [ _c ( 'div' , { staticClass : "upload-loading" } , [ _c ( 'svg' , { staticClass : "circular" , attrs : { "viewBox" : "25 25 50 50" } } , [ _c ( 'circle' , { staticClass : "path" , attrs : { "cx" : "50" , "cy" : "50" , "r" : "20" , "fill" : "none" } } ) ] ) ] ) ] ) : _vm . _t ( "placeholder" , [ _c ( 'div' , { staticClass : "upload-placeholder" } ) ] ) ] , 2 ) ] ) : _vm . _e ( ) , _vm . _v ( " " ) , _c ( 'input' , { ref : "uploadInput" , staticClass : "upload-input" , attrs : { "type" : "file" , "disabled" : _vm . uploading , "hidden" : "" , "accept" : _vm . accept , "multiple" : _vm . multiple } , on : { "change" : _vm . upload } } ) , _vm . _v ( " " ) , _vm . preview ? _c ( 'img-preview' , { model : { value : _vm . previewUrl , callback : function callback ( $$v ) {
32
+ } ) : _vm . _e ( ) , _vm . _v ( " " ) , _vm . canUpload ? _c ( 'div' , { staticClass : "upload-area" , class : { disabled : _vm . disabled } , on : { "click" : _vm . selectFiles } } , [ _vm . _t ( "default" , [ _c ( 'div' , { staticClass : "upload-box" } , [ _vm . uploading ? _vm . _t ( "spinner" , [ _c ( 'div' , { staticClass : "upload-loading" } , [ _c ( 'svg' , { staticClass : "circular" , attrs : { "viewBox" : "25 25 50 50" } } , [ _c ( 'circle' , { staticClass : "path" , attrs : { "cx" : "50" , "cy" : "50" , "r" : "20" , "fill" : "none" } } ) ] ) ] ) ] ) : _vm . _t ( "placeholder" , [ _c ( 'div' , { staticClass : "upload-placeholder" } ) ] ) ] , 2 ) ] ) ] , 2 ) : _vm . _e ( ) , _vm . _v ( " " ) , _c ( 'input' , { ref : "uploadInput" , staticClass : "upload-input" , attrs : { "type" : "file" , "disabled" : _vm . uploading , "hidden" : "" , "accept" : _vm . accept , "multiple" : _vm . multiple } , on : { "change" : _vm . upload } } ) , _vm . _v ( " " ) , _vm . preview ? _c ( 'img-preview' , { model : { value : _vm . previewUrl , callback : function callback ( $$v ) {
32
33
_vm . previewUrl = $$v ;
33
34
} , expression : "previewUrl" } } ) : _vm . _e ( ) ] , 2 ) ;
34
35
} , staticRenderFns : [ ] ,
@@ -117,30 +118,13 @@ var Component = { render: function render() {
117
118
type : Number ,
118
119
default : 0
119
120
} ,
120
- /**
121
- * 上传文件类型
122
- * 默认 img
123
- * 可选 file
124
- */
125
- type : {
126
- type : String ,
127
- default : 'img'
128
- } ,
129
121
/**
130
122
* 是否禁用。若为true,则不能上传
131
123
*/
132
124
disabled : {
133
125
type : Boolean ,
134
126
default : false
135
127
} ,
136
- /**
137
- * 是否显示删除图标。
138
- * 默认为false,不展示
139
- */
140
- canDelete : {
141
- type : Boolean ,
142
- default : false
143
- } ,
144
128
/**
145
129
* 允许上传的最大数量
146
130
*/
@@ -241,6 +225,10 @@ var Component = { render: function render() {
241
225
this . $emit ( 'delete' , url , index ) ;
242
226
} ,
243
227
selectFiles : function selectFiles ( ) {
228
+ if ( ! this . canUpload ) {
229
+ alert ( '已达到上传的最大数量' ) ;
230
+ return ;
231
+ }
244
232
this . $refs . uploadInput . click ( ) ;
245
233
} ,
246
234
upload : function ( ) {
@@ -295,7 +283,7 @@ var Component = { render: function render() {
295
283
296
284
case 13 :
297
285
if ( ! ( i < files . length ) ) {
298
- _context . next = 33 ;
286
+ _context . next = 34 ;
299
287
break ;
300
288
}
301
289
@@ -304,7 +292,7 @@ var Component = { render: function render() {
304
292
break ;
305
293
}
306
294
307
- return _context . abrupt ( 'break' , 33 ) ;
295
+ return _context . abrupt ( 'break' , 34 ) ;
308
296
309
297
case 16 :
310
298
file = files [ i ] ;
@@ -318,12 +306,18 @@ var Component = { render: function render() {
318
306
319
307
this . $emit ( 'loading' , name ) ;
320
308
321
- _context . next = 22 ;
309
+ if ( ! ( file . type . indexOf ( image ) > - 1 ) ) {
310
+ _context . next = 24 ;
311
+ break ;
312
+ }
313
+
314
+ _context . next = 23 ;
322
315
return imageCompressor . compress ( file , this . compressOptions ) ;
323
316
324
- case 22 :
317
+ case 23 :
325
318
file = _context . sent ;
326
319
320
+ case 24 :
327
321
328
322
//文件名-时间戳 作为上传文件key
329
323
pos = name . lastIndexOf ( '.' ) ;
@@ -335,7 +329,7 @@ var Component = { render: function render() {
335
329
336
330
key = name . substring ( 0 , pos ) + '-' + new Date ( ) . getTime ( ) + suffix ;
337
331
338
- _context . next = 29 ;
332
+ _context . next = 30 ;
339
333
return this . client . multipartUpload ( this . dir + key , file , this . uploadOptions ) . then ( function ( res ) {
340
334
// 协议无关
341
335
var filename = doubleSlash ;
@@ -373,30 +367,30 @@ var Component = { render: function render() {
373
367
}
374
368
} ) ;
375
369
376
- case 29 :
370
+ case 30 :
377
371
378
372
this . newClient ( ) ;
379
373
380
- case 30 :
374
+ case 31 :
381
375
i ++ ;
382
376
_context . next = 13 ;
383
377
break ;
384
378
385
- case 33 :
379
+ case 34 :
386
380
387
381
reset ( ) ;
388
382
this . uploading = false ;
389
383
390
384
// 没有一张上传成功的,不触发load事件
391
385
392
386
if ( ! ( currentUploads . length < 1 ) ) {
393
- _context . next = 37 ;
387
+ _context . next = 38 ;
394
388
break ;
395
389
}
396
390
397
391
return _context . abrupt ( 'return' ) ;
398
392
399
- case 37 :
393
+ case 38 :
400
394
401
395
/**
402
396
* 上传完成后触发的事件,返回url
@@ -410,7 +404,7 @@ var Component = { render: function render() {
410
404
this . $emit ( 'loaded' , currentUploads [ 0 ] ) ;
411
405
}
412
406
413
- case 38 :
407
+ case 39 :
414
408
case 'end' :
415
409
return _context . stop ( ) ;
416
410
}
0 commit comments