From 375513370cc01fcd976987d07797249600b0bb3e Mon Sep 17 00:00:00 2001 From: 杨磊 <505174330@qq.com> Date: 星期四, 07 八月 2025 17:15:09 +0800 Subject: [PATCH] 'first' --- src/components/detail/relatedRecommendation.vue | 159 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 159 insertions(+), 0 deletions(-) diff --git a/src/components/detail/relatedRecommendation.vue b/src/components/detail/relatedRecommendation.vue new file mode 100644 index 0000000..a78bce8 --- /dev/null +++ b/src/components/detail/relatedRecommendation.vue @@ -0,0 +1,159 @@ +<template> + <div class="relatedBox" v-loading="loading"> + <div class="titleBox">鎺ㄨ崘鏁欐潗</div> + <div v-if="dataList.length == 0 && !loading" class="emptyBox"> + <el-empty :image-size="100" description="鏆傛棤璧勬簮"></el-empty> + </div> + <div class="bookBox" v-if="dataList.length > 0 && !loading"> + <div + class="itemBox" + v-for="(item, index) in dataList" + :key="index" + @click="toDetail(item)" + > + <div class="imgBox"> + <img class="autoImg" :src="item.icon" alt="" /> + </div> + <div class="rightBox"> + <div class="bookName ellipsis" :title="item.name"> + {{ item.name }} + </div> + <div class="authorBox"> + <div>浣滆�咃細</div> + <div class="authorName" :title="item.caupress_author"> + {{ item.caupress_author }} + </div> + </div> + <div class="toDetail" @click="toDetail(item)">璇︽儏 >></div> + </div> + </div> + </div> + </div> +</template> + +<script> +export default { + props: ["recommendKey", "bookInfo"], + data() { + return { + dataList: [], + loading: true, + }; + }, + created() { + // this.getData(); + }, + methods: { + getData(val) { + console.log(val); + let query = { + path: "caupress_bookMall", // 涔﹀煄鐩稿叧鎺ㄨ崘 + queryType: "*", + paging: { + start: 0, + size: 7, // 澶氳幏鍙栦竴鏉★紝闃叉闅忔満鍒拌嚜韬� + }, + sort: { Random: "Asc" }, + fields: { + caupress_author: [], + "caupress_catalogue*": val ? val : [], + }, + coverSize: { + height: 200, + }, + }; + console.log(query, "query"); + this.MG.store.getProductList(query).then((res) => { + this.dataList = res.datas.filter((item) => item.id != this.bookInfo.id); + this.dataList = this.dataList.slice(0, 6); + console.log(this.dataList, "this.dataList"); + this.loading = false; + }); + }, + toDetail(row) { + this.$router.replace({ + name: "bookStore-detail", + query: { id: row.id, cmsPath: row.rootCmsItemId }, + }); + this.$emit("reloadPage", row); + }, + }, + watch: { + recommendKey(key) { + if (key === "null") { + this.loading = false; + } + }, + }, +}; +</script> + +<style scoped> +.relatedBox { + width: 357px; + margin-top: 10px; + margin-left: 20px; + border-radius: 5%; + border: 1px solid #e4e7ed; + overflow: hidden; +} +.titleBox { + height: 60px; + line-height: 60px; + padding: 0 40px; + font-weight: 700; + font-size: 18px; + background-color: #fff; + color: #333333; + + border-bottom: 1px solid #e4e7ed; +} +.bookBox { + background-color: #fff; + padding: 10px; +} +.imgBox { + width: 100px; + height: 150px; + position: relative; + border: 1px solid #e6e6e6; +} +.rightBox { + flex: 1; + overflow: hidden; + margin-left: 10px; +} +.itemBox { + display: flex; + border-bottom: 1px solid #eeeeee; + padding: 10px; + cursor: pointer; +} +.bookName { + font-size: 16px !important; + line-height: 20px; +} +.authorBox { + margin-top: 10px; + color: #666666; + position: relative; + display: flex; + line-height: 20px; +} +.toDetail { + margin-top: 40px; + color: #00873c; + cursor: pointer; +} +.authorName { + flex: 1; + overflow: hidden; + text-overflow: ellipsis; + display: -webkit-box; + -webkit-line-clamp: 3; + -webkit-box-orient: vertical; +} +.emptyBox { + background-color: #fff; +} +</style> -- Gitblit v1.9.1