264 lines
6.0 KiB
Vue
264 lines
6.0 KiB
Vue
|
|
<template>
|
|||
|
|
<div class="box" style="padding-bottom: 30rpx;">
|
|||
|
|
<div class="head_box">
|
|||
|
|
<img :src="pageInfo.user && pageInfo.user.avatar" />
|
|||
|
|
<!-- <div style="font-size: 28rpx;font-family: Source Han Sans CN;font-weight: 400;">{{pageInfo.user&&pageInfo.user.nickname}}</div> -->
|
|||
|
|
</div>
|
|||
|
|
<div class="center_text" v-if="showTit">我买了一些好东西,分享给你看看</div>
|
|||
|
|
<div class="imgs_box" v-for="(item, index1) in pageInfo.comments" :key="index1">
|
|||
|
|
<div class="center_text" v-if="item.status === 0 || isSale">{{item.comment}}</div>
|
|||
|
|
<div v-if="item.status === 0 || isSale">
|
|||
|
|
<div class="imgs" v-if="item.material.length">
|
|||
|
|
<div v-for="(list, index2) in item.material" :key="index2">
|
|||
|
|
<img :src="list.url" alt="" v-if="list.type===1" @click="hanleClick(list)">
|
|||
|
|
<img :src="list.img_video" alt="" v-if="list.type===2" @click="hanleClick(list)">
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<view class="process" v-if="isSale">
|
|||
|
|
<view class="it" :class="item.status == 0 ? 'choose' : ''" @click="toExamine(item, 0)">审核通过</view>
|
|||
|
|
<view class="it" :class="item.status == 3 ? 'choose' : ''" @click="toExamine(item, 3)">审核不通过</view>
|
|||
|
|
</view>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
<video-dialog :url="video" :show="show" @close="show = false"></video-dialog>
|
|||
|
|
|
|||
|
|
</div>
|
|||
|
|
<div class="box" style="margin-top: 25rpx;padding: 48rpx 29rpx;">
|
|||
|
|
<div style="text-align: center;font-size: 30rpx;">TA已购买的商品</div>
|
|||
|
|
<div class="commodity" v-for="(list, index) in pageInfo.items" :key="index" @click="hanleJump(list)">
|
|||
|
|
<div class="left">
|
|||
|
|
<img :src="list.pic_url" />
|
|||
|
|
</div>
|
|||
|
|
<div class="right">
|
|||
|
|
<div class="name">{{list.goods_name}}<text v-if="list.sku_name">({{list.sku_name}})</text></div>
|
|||
|
|
<div class="span"><span>好友购买价:</span> <span class="red">¥{{list.price}}</span> </div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</template>
|
|||
|
|
|
|||
|
|
<script>
|
|||
|
|
import { get, post } from '@/api/request.js'
|
|||
|
|
import { ref, reactive, toRefs } from 'vue'
|
|||
|
|
import { login, showToast, userBind } from '@/components/common.js'
|
|||
|
|
import videoDialog from '@/components/videoDialog/index.vue'
|
|||
|
|
|
|||
|
|
export default {
|
|||
|
|
components: {
|
|||
|
|
videoDialog
|
|||
|
|
},
|
|||
|
|
setup() {
|
|||
|
|
const data = reactive({
|
|||
|
|
id: '',
|
|||
|
|
sale_id: '',
|
|||
|
|
s: '',
|
|||
|
|
u: '',
|
|||
|
|
company_id: '',
|
|||
|
|
pageInfo: {},
|
|||
|
|
video: '',
|
|||
|
|
show: false,
|
|||
|
|
isSale: false,
|
|||
|
|
showTit: true,
|
|||
|
|
Color: ''
|
|||
|
|
})
|
|||
|
|
//点击查看图片
|
|||
|
|
const hanleClick = (e) => {
|
|||
|
|
var img = []
|
|||
|
|
if (e.type === 1) {
|
|||
|
|
img.push(e.url)
|
|||
|
|
uni.previewImage({
|
|||
|
|
current: e.url,
|
|||
|
|
urls: img,
|
|||
|
|
})
|
|||
|
|
} else {
|
|||
|
|
data.show = true
|
|||
|
|
data.video = e.url
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// 获取列表数据
|
|||
|
|
async function getlist() {
|
|||
|
|
let res = await get(`/api/v1/orderComment/share/${data.id}`)
|
|||
|
|
data.pageInfo = res.data
|
|||
|
|
res.data.comments.forEach((it) => {
|
|||
|
|
if(it.status === 0) {
|
|||
|
|
data.showTit = false
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// 点击跳转购买过的商品页面
|
|||
|
|
const hanleJump = (id) => {
|
|||
|
|
if (id.shop_group_goods_id) {
|
|||
|
|
uni.navigateTo({
|
|||
|
|
url: '/pages/groups/index?id=' + id.shop_group_goods_id,
|
|||
|
|
})
|
|||
|
|
} else {
|
|||
|
|
uni.navigateTo({
|
|||
|
|
url: '/pages/productDetails/index?id=' + id.shop_goods_id,
|
|||
|
|
})
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// 销售审核评论
|
|||
|
|
function toExamine(item, val) {
|
|||
|
|
post(`/api/v1/sales/comment/approve/${item.id}`, {status: val}).then((res) => {
|
|||
|
|
item.status = val
|
|||
|
|
showToast('操作成功')
|
|||
|
|
})
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return {
|
|||
|
|
...toRefs(data),
|
|||
|
|
userBind,
|
|||
|
|
hanleJump,
|
|||
|
|
hanleClick,
|
|||
|
|
login,
|
|||
|
|
getlist,
|
|||
|
|
toExamine
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
async onLoad(options) {
|
|||
|
|
// await this.$onLaunched
|
|||
|
|
let scenne = uni.getEnterOptionsSync().scene
|
|||
|
|
const _this = this
|
|||
|
|
if (options) {
|
|||
|
|
Object.keys(options).map((key) => {
|
|||
|
|
if (key == 'id') {
|
|||
|
|
_this.id = options[key] || 0
|
|||
|
|
} else if (key == 'from') {
|
|||
|
|
_this.sale_id = options[key] || 0
|
|||
|
|
} else if (key == 's') {
|
|||
|
|
_this.s = options[key] || 0
|
|||
|
|
} else if (key == 'u') {
|
|||
|
|
_this.u = options[key] || 0
|
|||
|
|
} else if (key == 'company_id') {
|
|||
|
|
_this.company_id = options[key] || ''
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
} else {
|
|||
|
|
_this.id = options.id
|
|||
|
|
_this.sale_id = options.from || 0
|
|||
|
|
_this.s = options.s || 0
|
|||
|
|
_this.u = options.u || 0
|
|||
|
|
}
|
|||
|
|
let parmas = {
|
|||
|
|
from: _this.sale_id,
|
|||
|
|
s: _this.s,
|
|||
|
|
u: _this.u,
|
|||
|
|
group_id: _this.id,
|
|||
|
|
scene: scenne,
|
|||
|
|
company_id: _this.company_id
|
|||
|
|
}
|
|||
|
|
this.userBind(parmas)
|
|||
|
|
this.getlist()
|
|||
|
|
this.Color = uni.getStorageSync('theme_color')
|
|||
|
|
this.isSale = uni.getStorageSync('role') == 1
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
</script>
|
|||
|
|
|
|||
|
|
<style lang="scss" scoped>
|
|||
|
|
.box {
|
|||
|
|
background: #fff;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.head_box {
|
|||
|
|
width: 50%;
|
|||
|
|
margin: 0 auto;
|
|||
|
|
padding: 51rpx 0;
|
|||
|
|
text-align: center;
|
|||
|
|
|
|||
|
|
image {
|
|||
|
|
width: 120rpx;
|
|||
|
|
height: 120rpx;
|
|||
|
|
border-radius: 50%;
|
|||
|
|
margin-bottom: 30rpx;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.center_text {
|
|||
|
|
margin: 0 50rpx;
|
|||
|
|
margin-bottom: 20rpx;
|
|||
|
|
font-size: 28rpx;
|
|||
|
|
font-family: Source Han Sans CN;
|
|||
|
|
font-weight: 500;
|
|||
|
|
text-align: center;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.imgs_box {
|
|||
|
|
text-align: center;
|
|||
|
|
padding: 0 20rpx;
|
|||
|
|
.imgs {
|
|||
|
|
display: flex;
|
|||
|
|
flex-wrap: wrap;
|
|||
|
|
image {
|
|||
|
|
width: 200rpx;
|
|||
|
|
height: 200rpx;
|
|||
|
|
margin: 0 19rpx;
|
|||
|
|
margin-bottom: 20rpx;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.commodity {
|
|||
|
|
display: flex;
|
|||
|
|
justify-content: space-between;
|
|||
|
|
margin-top: 50rpx;
|
|||
|
|
.left {
|
|||
|
|
image {
|
|||
|
|
width: 180rpx;
|
|||
|
|
height: 180rpx;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
.right {
|
|||
|
|
width: calc(100% - 210rpx);
|
|||
|
|
font-size: 28rpx;
|
|||
|
|
.name{
|
|||
|
|
margin-bottom: 24rpx;
|
|||
|
|
}
|
|||
|
|
.span {
|
|||
|
|
color: #656565;
|
|||
|
|
.red {
|
|||
|
|
color: v-bind('Color');
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
.process{
|
|||
|
|
margin: 16rpx 0 30rpx;
|
|||
|
|
display: flex;
|
|||
|
|
justify-content: center;
|
|||
|
|
align-items: center;
|
|||
|
|
.it{
|
|||
|
|
font-size: 30rpx;
|
|||
|
|
color: #2C2C2C;
|
|||
|
|
margin-right: 30rpx;
|
|||
|
|
display: flex;
|
|||
|
|
align-items: center;
|
|||
|
|
position: relative;
|
|||
|
|
padding-left: 40rpx;
|
|||
|
|
box-sizing: border-box;
|
|||
|
|
&:before{
|
|||
|
|
content: '';
|
|||
|
|
position: absolute;
|
|||
|
|
top: 50%;
|
|||
|
|
margin-top: -15rpx;
|
|||
|
|
left: 0;
|
|||
|
|
width: 30rpx;
|
|||
|
|
height: 30rpx;
|
|||
|
|
border: 1px solid #DDE0E6;
|
|||
|
|
border-radius: 50%;
|
|||
|
|
box-sizing: border-box;
|
|||
|
|
}
|
|||
|
|
&.choose{
|
|||
|
|
color: v-bind('Color');
|
|||
|
|
&:before{
|
|||
|
|
border: 10rpx solid v-bind('Color');
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
</style>
|