parent
0ef007240d
commit
566053da0c
@ -0,0 +1,68 @@ |
|||||||
|
<template> |
||||||
|
<div class="component-upload-image"> |
||||||
|
<el-upload |
||||||
|
:action="uploadImgUrl" |
||||||
|
list-type="picture-card" |
||||||
|
:on-success="handleUploadSuccess" |
||||||
|
:before-upload="handleBeforeUpload" |
||||||
|
:on-error="handleUploadError" |
||||||
|
name="file" |
||||||
|
:show-file-list="false" |
||||||
|
:headers="headers" |
||||||
|
style="display: inline-block; vertical-align: top" |
||||||
|
> |
||||||
|
<img v-if="value" :src="value" class="avatar" /> |
||||||
|
<i v-else class="el-icon-plus avatar-uploader-icon"></i> |
||||||
|
</el-upload> |
||||||
|
</div> |
||||||
|
</template> |
||||||
|
|
||||||
|
<script> |
||||||
|
import { getToken } from "@/utils/auth"; |
||||||
|
|
||||||
|
export default { |
||||||
|
components: {}, |
||||||
|
data() { |
||||||
|
return { |
||||||
|
uploadImgUrl: process.env.VUE_APP_BASE_API + "/common/upload", // 上传的图片服务器地址 |
||||||
|
headers: { |
||||||
|
Authorization: "Bearer " + getToken(), |
||||||
|
}, |
||||||
|
}; |
||||||
|
}, |
||||||
|
props: { |
||||||
|
value: { |
||||||
|
type: String, |
||||||
|
default: "", |
||||||
|
}, |
||||||
|
}, |
||||||
|
methods: { |
||||||
|
handleUploadSuccess(res) { |
||||||
|
this.$emit("input", res.url); |
||||||
|
this.loading.close(); |
||||||
|
}, |
||||||
|
handleBeforeUpload() { |
||||||
|
this.loading = this.$loading({ |
||||||
|
lock: true, |
||||||
|
text: "上传中", |
||||||
|
background: "rgba(0, 0, 0, 0.7)", |
||||||
|
}); |
||||||
|
}, |
||||||
|
handleUploadError() { |
||||||
|
this.$message({ |
||||||
|
type: "error", |
||||||
|
message: "上传失败", |
||||||
|
}); |
||||||
|
this.loading.close(); |
||||||
|
}, |
||||||
|
}, |
||||||
|
watch: {}, |
||||||
|
}; |
||||||
|
</script> |
||||||
|
|
||||||
|
<style scoped lang="scss"> |
||||||
|
.avatar { |
||||||
|
width: 100%; |
||||||
|
height: 100%; |
||||||
|
} |
||||||
|
</style> |
Loading…
Reference in new issue