齐采药WEB端项目
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

224 lines
4.9 KiB

<template>
<!-- 我的收藏 -->
<div class="collect">
<div class="user-com-title">我的收藏</div>
<ul>
<li
v-for="(item, index) in list"
:key="index"
@click="goGoodsDetail(item.goods_id)"
>
<div class="left">
<img :src="imgUrl + item.sku_image" alt srcset />
</div>
<div class="right">
<div class="title">{{ item.goods_name }}</div>
<!--接口数据/地址、规格、单位/未返回 -->
<!-- <p>产地:北京</p> -->
<!-- <p>规格:10g/袋</p> -->
<div class="cad" v-if="userInfo.show_price">
<div class="l">
<span>¥{{ item.price }}</span>
<!-- /袋 -->
</div>
<div class="r" @click.stop.prevent="goCart(item)">
<img src="~assets/images/cards.png" alt />
</div>
</div>
</div>
</li>
</ul>
<!-- 分页 -->
<Page
:padding="0"
@currentChange="currentChange"
:total="total"
:pageSize="limit"
></Page>
</div>
</template>
<script>
import Setting from "~/setting";
export default {
name: "collect",
auth: "guest",
data() {
return {
imgUrl: Setting.uplodBaseURL,
userInfo: {},
list: [],
page: 1,
limit: 10,
total: 0,
};
},
fetch({ store }) {
store.commit("isHeader", true);
store.commit("isFooter", true);
},
head() {
return {
title: "我的收藏-" + this.$store.state.titleCon,
};
},
created() {
this.userInfo = JSON.parse(localStorage.getItem("userInfo"));
this.getList();
},
mounted() {},
methods: {
currentChange() {},
getList() {
this.$axios
.post("/goodscollect/page", {
params: {
page: this.page,
page_size: this.limit,
},
})
.then((res) => {
this.list = res.data.list;
this.total = res.data.count;
})
.catch((err) => {
this.$message.error(err);
});
},
//取消收藏
// offCollect(item) {
// this.$axios
// .post("collect/del", {
// id: item.product_id
// })
// .then(res => {
// Message.success(res.msg);
// this.getList();
// })
// .catch(error => {
// return Message.error(error);
// });
// },
//去详情
goGoodsDetail(id) {
this.$router.push({ path: `/goods_detail/${id}` });
},
// 分页点击
bindPageCur(data) {
this.page = data;
this.getList();
},
goCart(row) {
console.log(row);
let num;
if (row.min_buy < 1) {
num = 1;
} else {
num = row.min_buy;
}
let obj = {
num,
sku_id: row.sku_id,
};
this.$axios
.post(`/cart/add`, obj)
.then((res) => {
console.log(res);
this.$message({
message: "成功添加购物车",
type: "success",
offset: 100,
});
})
.catch((err) => {
console.log(err);
this.$message({
message: err,
type: "error",
offset: 100,
});
});
},
},
};
</script>
<style lang="scss" scoped>
.collect {
padding: 0 30px;
ul {
display: flex;
flex-flow: wrap;
// justify-content: space-between;
margin-top: 20px;
li {
width: 290px;
height: 110px;
background: #fbfbfb;
border-radius: 8px;
border: 1px solid #e7e7e7;
padding: 15px;
box-sizing: border-box;
display: flex;
margin: 0px 8px 20px;
cursor: pointer;
.left {
img {
width: 80px;
height: 80px;
}
}
.right {
margin-left: 20px;
.title {
width: 160px;
font-size: 16px;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #222222;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 1;
// 必须加不然隐藏不了
/*! autoprefixer: ignore next */
-webkit-box-orient: vertical;
}
p {
font-size: 14px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #585858;
margin-top: 10px;
}
.cad {
margin-top: 13px;
display: flex;
justify-content: space-between;
align-items: center;
.l {
font-size: 14px;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #585858;
span {
color: #ff1919;
}
}
.r {
img {
width: 20px;
height: 20px;
}
}
}
}
}
}
}
</style>