138 lines
3.1 KiB
Vue
138 lines
3.1 KiB
Vue
|
<template>
|
|||
|
<view class="comment-item-view">
|
|||
|
<view class="view-container">
|
|||
|
<view class="goods-info">
|
|||
|
<image :src="goods.goods_image"></image>
|
|||
|
<view class="goods-text">
|
|||
|
<view class="goods-name u-line-1">{{ goods.goods_name }}</view>
|
|||
|
<!-- <view class="goods-spec u-line-1">{{ }}</view> -->
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
<view class="rate">
|
|||
|
<view class="title">描述相符</view>
|
|||
|
<u-rate :count="5" v-model="describe" active-color="#FF780F" inactive-color="#CCCCCC" gutter="20" size="32"></u-rate>
|
|||
|
</view>
|
|||
|
<u-input v-model="content" type="textarea" height="100" :auto-height="true" placeholder="发表你的评价吧,收货时心情如何?" />
|
|||
|
<u-upload
|
|||
|
:ref="'upload' + index"
|
|||
|
:custom-btn="true"
|
|||
|
:max-count="count"
|
|||
|
:auto-upload="false"
|
|||
|
:action="action"
|
|||
|
:header="header"
|
|||
|
:form-data="formData"
|
|||
|
:name="fileName"
|
|||
|
@on-list-change="setImageList"
|
|||
|
>
|
|||
|
<view slot="addBtn" class="slot-btn" hover-class="slot-btn__hover" hover-stay-time="150">
|
|||
|
<image src="../static/mine/27.png"></image>
|
|||
|
</view>
|
|||
|
</u-upload>
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
</template>
|
|||
|
<script>
|
|||
|
export default {
|
|||
|
data() {
|
|||
|
return {
|
|||
|
count: 3,
|
|||
|
action: this.$u.http.config.baseUrl + '/Upload/uploadfile',
|
|||
|
header: {
|
|||
|
"authorization": 'Bearer' + " " + uni.getStorageSync('token')
|
|||
|
},
|
|||
|
fileName: 'common', // 与formData name 一样
|
|||
|
formData: {
|
|||
|
name: 'common', // 其他图片
|
|||
|
},
|
|||
|
content: '',
|
|||
|
describe: '',
|
|||
|
imageList: [],
|
|||
|
}
|
|||
|
},
|
|||
|
props: {
|
|||
|
goods: Object,
|
|||
|
index: Number
|
|||
|
},
|
|||
|
watch: {
|
|||
|
content(value) {
|
|||
|
this.$emit('setContent', { content: value, index: this.index });
|
|||
|
},
|
|||
|
describe(value) {
|
|||
|
this.$emit('setDescribe', { describe: value, index: this.index });
|
|||
|
},
|
|||
|
},
|
|||
|
methods: {
|
|||
|
setImageList(lists) {
|
|||
|
// console.log(lists);
|
|||
|
this.imageList = [];
|
|||
|
lists.forEach(item => {
|
|||
|
this.imageList.push(item.url);
|
|||
|
})
|
|||
|
console.log(this.imageList);
|
|||
|
this.$emit('setLocalImage', { list: this.imageList, index: this.index });
|
|||
|
}
|
|||
|
}
|
|||
|
};
|
|||
|
</script>
|
|||
|
<style lang="scss" scoped>
|
|||
|
.comment-item-view {
|
|||
|
.view-container {
|
|||
|
.goods-info {
|
|||
|
display: flex;
|
|||
|
margin-bottom: 40rpx;
|
|||
|
> image {
|
|||
|
width: 113rpx;
|
|||
|
height: 106rpx;
|
|||
|
border-radius: 5rpx;
|
|||
|
margin-right: 20rpx;
|
|||
|
background-color: antiquewhite;
|
|||
|
}
|
|||
|
.goods-text {
|
|||
|
.goods-name {
|
|||
|
width: 530rpx;
|
|||
|
font-size: 28rpx;
|
|||
|
color: rgba(0,0,51,1);
|
|||
|
margin-bottom: 20rpx;
|
|||
|
}
|
|||
|
.goods-spec {
|
|||
|
max-width: 300rpx;
|
|||
|
box-sizing: content-box;
|
|||
|
padding: 10rpx 15rpx;
|
|||
|
font-size: 24rpx;
|
|||
|
color: rgba(153,153,153,1);
|
|||
|
background:rgba(236,236,236,1);
|
|||
|
border-radius: 6rpx;
|
|||
|
display: inline-block;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
textarea {
|
|||
|
width: 100% !important;
|
|||
|
margin-bottom: 60rpx;
|
|||
|
}
|
|||
|
.slot-btn {
|
|||
|
width: 140rpx;
|
|||
|
height: 140rpx;
|
|||
|
background: rgba(236,236,236,1);
|
|||
|
border-radius: 10rpx;
|
|||
|
text-align: center;
|
|||
|
> image {
|
|||
|
margin-top: 48rpx;
|
|||
|
width: 54rpx;
|
|||
|
height: 49rpx;
|
|||
|
}
|
|||
|
}
|
|||
|
.rate {
|
|||
|
display: flex;
|
|||
|
&:not(:last-child) {
|
|||
|
margin-bottom: 35rpx;
|
|||
|
}
|
|||
|
.title {
|
|||
|
margin-right: 25rpx;
|
|||
|
font-size: 28rpx;
|
|||
|
color: rgba(51,51,51,1);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
</style>
|