Files
PC-202306242200\Administrator c7cbc11d07 first commit
2026-03-28 23:07:10 +08:00

119 lines
2.6 KiB
Vue

<template>
<view class="orderGoods borRadius14">
<view class="total">{{ orderProNum ? orderProNum : totalNmu }}件商品</view>
<view class="goodWrapper pad30">
<view class="item acea-row row-between-wrapper" v-for="(item, index) in cartInfo" :key="index" @click="jumpCon(item.productId)">
<view class="pictrue">
<image :src="item.image"></image>
</view>
<view class="text">
<view class="acea-row row-between-wrapper">
<view class="name line1">{{ item.productName ? item.productName : item.storeName }}</view>
<view class="num">x {{ item.payNum ? item.payNum : item.cartNum }}</view>
</view>
<view class="attr line1" v-if="item.sku">{{ item.sku }}</view>
<view class="money font-color">{{ item.price }}</view>
<!-- <view class="money font-color">{{ userInfo.levelRatio && userInfo.levelRatio > 0 ? item.price : item.otPrice }}</view> -->
<view class="evaluate" v-if="item.isReply == 0 && evaluate == 2" @click.stop="evaluateTap(item)">评价</view>
<view class="evaluate" v-else-if="item.isReply == 1">已评价</view>
</view>
</view>
</view>
</view>
</template>
<script>
import { mapGetters } from 'vuex';
export default {
computed: mapGetters(['userInfo']),
props: {
evaluate: {
type: Number,
default: 0
},
cartInfo: {
type: Array,
default: function () {
return [];
}
},
orderId: {
type: String,
default: ''
},
ids: {
type: Number,
default: 0
},
jump: {
type: Boolean,
default: false
},
orderProNum: {
type: Number,
default: function () {
return 0;
}
},
productType: {
type: Number,
default: function () {
return 0;
}
}
},
data() {
return {
totalNmu: ''
};
},
watch: {
cartInfo: function (nVal, oVal) {
let num = 0;
nVal.forEach((item, index) => {
num += item.cartNum;
});
this.totalNmu = num;
}
},
methods: {
evaluateTap(item) {
uni.navigateTo({
url: '/pages/users/goods_comment_con/index?unique=' + item.attrId + '&orderId=' + this.orderId + '&id=' + this.ids
});
},
jumpCon: function (id) {
let type = this.productType == 0 ? 'normal' : 'video';
if (this.jump) {
uni.navigateTo({
url: `/pages/goods_details/index?id=${id}&type=${type}`
});
}
}
}
};
</script>
<style scoped lang="scss">
.orderGoods {
background-color: #fff;
margin-top: 15rpx;
}
.orderGoods .total {
width: 100%;
height: 86rpx;
padding: 0 24rpx;
border-bottom: 2rpx solid #f0f0f0;
font-size: 30rpx;
color: #282828;
line-height: 86rpx;
box-sizing: border-box;
}
.pictrue image {
background: #f4f4f4;
}
</style>