| | |
| | | <template> |
| | | <div class="my-upload"> |
| | | <el-upload |
| | | <div v-if="pictureList.length > 0" class="image-box"> |
| | | <div v-for="image in pictureList" class="image-box-item"> |
| | | <i @click="handleDeletePicture(image)" class="el-icon-delete image-delete-icon"></i> |
| | | <el-image :key="image" class="image-content" :src="image" ></el-image> |
| | | </div> |
| | | </div> |
| | | <el-upload |
| | | :file-list="fileList" |
| | | action="/sccg/file/medias" |
| | | :multiple="multiple" |
| | |
| | | :list-type="listType" |
| | | :on-remove="handleRemove" |
| | | :headers="getToken()"> |
| | | <div class="upload-btn"> |
| | | <i class="el-icon-plus"></i> |
| | | <span>上传图片</span> |
| | | </div> |
| | | <div class="upload-btn"> |
| | | <i class="el-icon-plus"></i> |
| | | <span>上传图片</span> |
| | | </div> |
| | | </el-upload> |
| | | </div> |
| | | </template> |
| | |
| | | // 文件列表 |
| | | fileList: [], |
| | | // 是否显示文件列表 |
| | | flag: true, |
| | | flag: false, |
| | | // 多选 |
| | | multiple: false, |
| | | // 限制 |
| | |
| | | // 移除文件 |
| | | handleRemove(file, fileList){ |
| | | this.$emit('delPictureUrl',{url:file.response.data.url1}); |
| | | }, |
| | | |
| | | handleDeletePicture(imageUrl) { |
| | | this.$emit('delPictureUrl', { url: imageUrl }); |
| | | } |
| | | }, |
| | | props: { |
| | |
| | | </script> |
| | | <style lang="scss" scoped> |
| | | .my-upload { |
| | | display: flex; |
| | | flex-wrap: nowrap; |
| | | justify-content: flex-start; |
| | | margin-right: 5px; |
| | | |
| | | .upload-btn { |
| | | display: flex; |
| | | flex-direction: column; |
| | | justify-content: center; |
| | | align-items: center; |
| | | border-radius: 4px; |
| | | width: 100px; |
| | | height: 100px; |
| | | |
| | | &:hover i{ |
| | | color: #409eff; |
| | | } |
| | | |
| | | i { |
| | | font-size: 30px; |
| | | font-weight: 650; |
| | | } |
| | | |
| | | span { |
| | | line-height: 22px; |
| | | } |
| | | } |
| | | .image-box { |
| | | display: flex; |
| | | height: 100px; |
| | | margin: 0 10px; |
| | | |
| | | .image-content { |
| | | width: 100px; |
| | | height: 100px; |
| | | } |
| | | .image-delete-icon { |
| | | position: relative; |
| | | bottom: calc(100% - 50px); |
| | | left: calc(100% - 50px); |
| | | opacity: 0; |
| | | } |
| | | |
| | | .image-box-item:hover { |
| | | color: #ffffff; |
| | | opacity: .5; |
| | | .image-delete-icon { |
| | | z-index: 2; |
| | | opacity: 1; |
| | | } |
| | | } |
| | | } |
| | | |
| | | :deep(.el-upload--picture-card) { |
| | | width: 100px; |
| | |
| | | :deep(.el-upload-list__item){ |
| | | width: 100px; |
| | | height: 100px; |
| | | } |
| | | //.file-list { |
| | | // display: flex; |
| | | // flex-wrap: nowrap; |
| | | //} |
| | | .upload-btn { |
| | | display: flex; |
| | | flex-direction: column; |
| | | justify-content: center; |
| | | align-items: center; |
| | | border-radius: 4px; |
| | | width: 100px; |
| | | height: 100px; |
| | | |
| | | &:hover i{ |
| | | color: #409eff; |
| | | } |
| | | |
| | | i { |
| | | font-size: 30px; |
| | | font-weight: 650; |
| | | } |
| | | |
| | | span { |
| | | line-height: 22px; |
| | | } |
| | | } |
| | | .uploaded-image { |
| | | width: 0; |
| | | height: 100px; |
| | | display: flex; |
| | | } |
| | | } |
| | | </style> |