<view class='upload-image-view'>
<block v-for="(image,index) in imageList" :key="index">
<view class='image-view'>
<image :src="image" :data-src="image" @tap="previewImage"></image>
<view class='del-btn' @tap='deleteImage(image,index)'>
<view class='baicha'></view>
</view>
</view>
</block>
<view class='add-view' v-if="imageList.length < imageLength" @click="chooseImage">
<view class="cross">
<view class="transverse-line"></view>
<view class="vertical-line"></view>
</view>
</view>
</view>
chooseImage: async function() {
uni.chooseImage({
sourceType: sourceType[this.sourceTypeIndex],
sizeType: sizeType[this.sizeTypeIndex],
count: this.imageLength - this.imageList.length,
success: (res) => {
uni.uploadFile({
url: 'http://192.168.3.127:9001',
filePath: res.tempFilePaths[0],
name: 'file',
formData: this.formdata,
file: res.tempFilePaths[0],
header: {
'Content-Type': 'multipart/form-data',
user_token: uni.getStorageSync('token')
},
success: (uploadFileRes) => {
let imageData = JSON.parse(uploadFileRes.data);
this.imageList.push(imageData.data)
},
fail: () => {
}
})
},
})
},
previewImage: function(e) {
var current = e.target.dataset.src
uni.previewImage({
current: current,
urls: this.imageList
})
},
deleteImage: function(image, index) {
this.$request.delete(`/youranbang-user/evaluation/deleteImg?path=${image}`)
.then(res => {
if (res.data.code === 200) {
this.imageList.splice(index, 1)
uni.showToast({
title: res.data.message,
duration: 2000,
icon: "none",
mask: true
});
}
})
},
.upload-image-view {
width: 100%;
margin: 20upx 0 20upx 0;
display: flex;
flex-wrap: wrap;
align-items: center;
}
.upload-image-view .title {
width: 100%;
font-family: PingFang-SC-Regular;
font-size: 24upx;
color: #4a4a4a;
margin-bottom: 15upx;
line-height: 100%;
}
.upload-image-view .info {
width: 100%;
font-family: PingFang-SC-Regular;
font-size: 24upx;
color: #ff4259;
height: 24upx;
margin-top: 15upx;
line-height: 24upx;
}
.upload-image-view .image-view {
height: 130upx;
width: 130upx;
position: relative;
margin: 15upx 15upx 15upx 0upx;
border-radius: 8upx;
}
.upload-image-view .image-view image {
height: 100%;
width: 100%;
border-radius: 8upx;
}
.upload-image-view .image-view .del-btn {
background-color: #f67371;
border-radius: 50%;
width: 25upx;
height: 25upx;
position: absolute;
top: -12upx;
right: -12upx;
z-index: 2;
display: flex;
justify-content: center;
align-items: center;
}
.upload-image-view .image-view .del-btn .baicha {
display: inline-block;
width: 20upx;
height: 5upx;
background: #fff;
line-height: 0;
font-size: 0;
vertical-align: middle;
-webkit-transform: rotate(45deg);
}
.upload-image-view .image-view .del-btn .baicha:after {
content: '/';
display: block;
width: 20upx;
height: 5upx;
background: #fff;
-webkit-transform: rotate(-90deg);
}
.upload-image-view .add-view {
height: 115upx;
width: 115upx;
margin: 15upx 15upx 15upx 0upx;
display: flex;
align-items: center;
justify-content: center;
background: rgba(255, 255, 255, 0.00);
border: 3upx dashed #979797;
border-radius: 8upx;
}
.upload-image-view .add-view .xiangji {
height: 40upx;
width: 48upx;
display: flex;
justify-content: center;
flex-wrap: wrap;
}
.upload-image-view .add-view .xiangji .tixing {
width: 10upx;
height: 7upx;
background-color: #fff;
border-right: 10upx solid #fff;
border-bottom: 7upx solid #b2b2b2;
border-left: 10upx solid #fff;
}
.upload-image-view .add-view .xiangji .changfx {
height: 32upx;
width: 48upx;
border-radius: 5%;
background-color: #b2b2b2;
display: flex;
align-items: center;
justify-content: center;
}
.upload-image-view .add-view .xiangji .changfx .yuan1 {
height: 20upx;
width: 20upx;
border-radius: 50%;
background-color: #fff;
display: flex;
align-items: center;
justify-content: center;
}
.upload-image-view .add-view .xiangji .changfx .yuan2 {
height: 10upx;
width: 10upx;
border-radius: 50%;
background-color: #b2b2b2;
}
.upload-image-view .add-view .cross {
height: 48upx;
width: 48upx;
display: flex;
flex-wrap: wrap;
position: relative;
}
.upload-image-view .add-view .cross .transverse-line {
height: 100%;
width: 48%;
position: absolute;
border-right: 3upx solid #5A5A5A;
top: 0;
left: 0;
}
.upload-image-view .add-view .cross .vertical-line {
height: 48%;
width: 100%;
position: absolute;
border-bottom: 3upx solid #5A5A5A;
top: 0;
left: 0;
}