CommodityCard.vue
2.94 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
<template>
<view class="card" @tap="toGoods(goods.id?goods.id:goods.pid,goods.goodType?goods.goodType:goods.p_root_index)">
<image mode="widthFix" :src="goods.imgurl?goods.imgurl:goods.pic" ></image>
<view class="name">{{goods.name?goods.name:goods.p_name}}</view>
<view class="info">
<view class="priceBox">
<view class="price">{{goods.price?goods.price:goods.real_price}}</view>
<view class="originCost">
{{goods.rsSon.Max_Price?goods.rsSon.Max_Price:goods.old_price}}
</view>
</view>
<view class="trade_num">{{goods.trade_num}}人购买</view>
</view>
</view>
</template>
<script>
export default {
props: {
/**
* 商品数据
*/
goods: {
id: Number,
imgurl: String,
name: String,
rsSon:Object,
originCost:String,
price: String,
trade_num:String,
goodType:String,
}
},
created() {
// console.log(this.goods)
},
data() {
return {
};
},
methods:{
toGoods(id,type){
uni.navigateTo({
url: `../frameDetail/frameDetail?oderId=`+id,
success: res => {},
fail: () => {},
complete: () => {}
});
console.log('toGoods =====> id:'+id +"======>type:"+type)
switch(type){
case 1:
uni.navigateTo({
url: `../frameDetail/frameDetail?oderId=`+id+`&goodType=`+type,
success: res => {},
fail: () => {},
complete: () => {}
});
break;
case 2:
uni.navigateTo({
url: `../frameDetail/frameDetail?oderId=`+id+`&goodType=`+type,
success: res => {},
fail: () => {},
complete: () => {}
});
break;
case 3:
uni.navigateTo({
url: `../frameDetail/frameDetail?oderId=`+id+`&goodType=`+type,
success: res => {},
fail: () => {},
complete: () => {}
});
break;
case 4:
uni.navigateTo({
url: `../frameDetail/frameDetail?oderId=`+id+`&goodType=`+type,
success: res => {},
fail: () => {},
complete: () => {}
});
break;
default :
break
}
}
}
}
</script>
<style lang="scss">
image{
width: 100%;
height: 120rpx;
}
.name{
width: 92%;
height: 54rpx;
padding: 5px 4%;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
text-align: justify;
overflow: hidden;
font-size: 24rpx;
color: #333333;
}
.info{
display: flex;
justify-content: space-between;
align-items: center;
width: 92%;
padding: 5px 4% 5px 4%;
.priceBox{
display: flex;
justify-content: space-between;
align-items: center;
.price{
color: #EB5D3B;
font-size: 28rpx;
font-weight: 600;
margin-right: 10rpx;
}
.originCost{
text-decoration:line-through;
color: #999999;
font-size: 20rpx;
}
}
.trade_num{
color: #999999;
font-size: 20rpx;
}
}
</style>