<template>
|
<div class="upload-container">
|
<el-tooltip v-if="tinymceUploadType === 'prod'" :content="this.$i18n.t('product.uploadDetailPicTips')" placement="top">
|
<el-button :style="{background:color,borderColor:color}" icon="el-icon-upload" size="mini" type="primary" @click="clickUpload()">
|
{{ $t('components.uploadImage') }}
|
</el-button>
|
</el-tooltip>
|
<el-button v-else :style="{background:color,borderColor:color}" icon="el-icon-upload" size="mini" type="primary" @click="clickUpload()">
|
{{ $t('components.uploadImage') }}
|
</el-button>
|
<!-- 弹窗, 新增图片 -->
|
<elx-imgbox v-if="elxImgboxVisible" ref="elxImgbox" @refreshPic="refreshPic"></elx-imgbox>
|
</div>
|
</template>
|
|
<script>
|
import ImgsUpload from '@/components/imgs-upload'
|
import ElxImgbox from '@/components/elx-imgbox'
|
export default {
|
name: 'EditorSlideUpload',
|
props: {
|
color: {
|
type: String,
|
default: '#1890ff'
|
},
|
tinymceUploadType: {
|
default: '',
|
type: String
|
}
|
},
|
data () {
|
return {
|
elxImgboxVisible: false,
|
maxNum: 15, // 可选择的最大图片数量
|
imgUrls: [],
|
resourcesUrl: process.env.VUE_APP_RESOURCES_URL
|
}
|
},
|
components: {
|
ImgsUpload,
|
ElxImgbox
|
},
|
methods: {
|
/**
|
* 打开图片选择窗
|
*/
|
clickUpload () {
|
this.imgUrls = ''
|
this.elxImgboxVisible = true
|
this.$nextTick(() => {
|
this.$refs.elxImgbox.init(0, this.maxNum)
|
})
|
},
|
/**
|
* 接收回调的图片数据
|
*/
|
refreshPic (imagePath) {
|
let imageArray = imagePath.split(',')
|
var data = []
|
imageArray.forEach(img => {
|
data.push(this.resourcesUrl + img)
|
})
|
this.imgUrls = ''
|
this.dialogVisible = false
|
this.$emit('successCBK', data)
|
}
|
// handleSubmit() {
|
// let imageArray = this.imgUrls.split(',')
|
// var data = []
|
// imageArray.forEach(img => {
|
// data.push(this.resourcesUrl + img)
|
// })
|
// this.imgUrls = ''
|
// this.dialogVisible = false
|
// this.$emit('successCBK', data)
|
// }
|
}
|
}
|
</script>
|
|
<style lang="scss" scoped>
|
.editor-slide-upload {
|
margin-bottom: 20px;
|
::v-deep .el-upload--picture-card {
|
width: 100%;
|
}
|
}
|
</style>
|