Merge remote-tracking branch 'remotes/origin/dev/1.0' into dev/1.0

This commit is contained in:
2026-01-07 11:50:41 +08:00
18 changed files with 224 additions and 63 deletions

View File

@@ -1,4 +1,5 @@
<template>
<<<<<<< HEAD
<view :style="themeColor">
<mescroll-uni ref="mescroll" @getData="getData" class="member-point" :size="8" @listenRefresh="listenRefresh"
v-if="storeToken">
@@ -74,6 +75,78 @@ export default {
}
}
}
=======
<view :style="themeColor">
<mescroll-uni ref="mescroll" @getData="getData" class="member-point" :size="8" @listenRefresh="listenRefresh">
<block class="goods_list" slot="list">
<block v-if="collectionList.length > 0">
<view class="goods_li margin-top" v-for="(item, index) in collectionList" :key="index"
@click.stop="toDetail(item)">
<view class="pic">
<image :src="$util.img(item.goods_image.split(',')[0], { size: 'mid' })" mode="aspectFill"
@error="goodsImageError(index)"></image>
</view>
<view class="goods_info">
<view class="goods_name font-size-base">{{ item.sku_name }}</view>
<view class="goods_opection">
<view class="left lineheight-clear ">
<text class="symbol price-style small"></text>
<text class="price price-style large">{{
parseFloat(item.discount_price).toFixed(2).split('.')[0] }}</text>
<text class="symbol price-style small">.{{
parseFloat(item.discount_price).toFixed(2).split('.')[1] }}</text>
</view>
<view class="right">
<view class="cars" @click.stop="deleteItem(item.goods_id)">
<view class="icon iconfont icon-icon7"></view>
</view>
</view>
</view>
</view>
</view>
</block>
<!-- 第一个列表为空时 -->
<view class="collection-empty" v-else>
<ns-empty v-if="collectionList.length == 0 && isShowEmpty" text="暂无关注的商品"
:isIndex="Boolean(storeToken)" :emptyBtn="{ text: $lang('toGoodsCategoryPage'), url: '/pages_goods/category' }"></ns-empty>
<button type="primary" size="mini" class="button mini" v-if="!storeToken"
@click="toLogin">{{ $lang('toLogin') }}</button>
</view>
<ns-goods-recommend ref="goodsRecommend"></ns-goods-recommend>
</block>
</mescroll-uni>
<ns-login ref="login"></ns-login>
<loading-cover ref="loadingCover"></loading-cover>
</view>
</template>
<script>
import common from './public/js/common.js';
import collection from './public/js/collection.js';
export default {
mixins: [common, collection],
data() {
return {};
},
onShow() {
if (this.storeToken) {
if (this.$refs.mescroll) this.$refs.mescroll.refresh();
} else {
this.$nextTick(() => {
this.$refs.loadingCover.hide();
});
}
},
watch: {
storeToken: function (nVal, oVal) {
if (nVal) {
this.$refs.mescroll.refresh();
}
}
}
>>>>>>> remotes/origin/dev/1.0
};
</script>

View File

@@ -3,9 +3,9 @@
<view class="head-wrap" v-if="storeToken">
<text @click="manageFootprint">{{ manage ? '完成' : '管理' }}</text>
</view>
<mescroll-uni ref="mescroll" @getData="getListData" top="110rpx" v-if="storeToken">
<mescroll-uni ref="mescroll" @getData="getListData" top="110rpx">
<block slot="list">
<view class="goods-list single-column" v-if="goodsList.length">
<view class="goods-list single-column" v-if="goodsList.length > 0">
<view v-for="(item, index) in goodsList" :key="index">
<view class="datetime">{{ datetime(item) }}</view>
<view class="goods-item" :class="{ manage: manage }">
@@ -45,7 +45,11 @@
</view>
</view>
</view>
<view v-else><ns-empty text="暂无浏览过的商品"></ns-empty></view>
<view class="footprint-empty" v-else>
<ns-empty text="暂无浏览过的商品" :isIndex="Boolean(storeToken)" :emptyBtn="{ text: $lang('toGoodsCategoryPage'), url: '/pages_goods/category' }"></ns-empty>
<button type="primary" size="mini" class="button mini" v-if="!storeToken"
@click="toLogin">{{ $lang('toLogin') }}</button>
</view>
<view class="bottom-wrap" v-if="goodsList.length && manage">
<view class="all-election" @click="allElection">
@@ -65,7 +69,10 @@
<script>
var dateList = [];
import common from './public/js/common.js';
export default {
mixins: [common],
data() {
return {
goodsList: [],
@@ -81,7 +88,7 @@ export default {
if (this.$refs.mescroll) this.$refs.mescroll.refresh();
} else {
this.$nextTick(() => {
this.$refs.login.open('/pages_tool/member/footprint');
this.$refs.loadingCover.hide();
});
}
},
@@ -108,9 +115,7 @@ export default {
if (res.code == 0 && res.data) {
newArr = res.data.list;
} else {
this.$util.showToast({
title: msg
});
console.log(`后台服务器返回的信息:${msg}`);
}
mescroll.endSuccess(newArr.length);
//设置列表数据

View File

@@ -99,3 +99,24 @@
box-sizing: border-box;
margin-top: 50rpx;
}
.collection-empty {
text-align: center;
padding: 140rpx $padding 80rpx $padding;
image {
width: 380rpx;
}
button {
min-width: 300rpx;
margin-top: 100rpx;
height: 70rpx;
line-height: 70rpx !important;
font-size: $font-size-base;
border-radius: 50rpx;
&.visit-the {
font-weight: bold;
}
}
}

View File

@@ -2,6 +2,27 @@
margin-top: 100rpx;
}
.footprint-empty {
text-align: center;
padding: 140rpx $padding 80rpx $padding;
image {
width: 380rpx;
}
button {
min-width: 300rpx;
margin-top: 100rpx;
height: 70rpx;
line-height: 70rpx !important;
font-size: $font-size-base;
border-radius: 50rpx;
&.visit-the {
font-weight: bold;
}
}
}
.lineheight-clear {
}

View File

@@ -25,7 +25,7 @@ export default {
},
async: false,
}).then((res) => {
let newArr = res.data.list;
let newArr = res.data?.list || [];
for (var i = 0; i < newArr.length; i++) {
newArr[i].composite_score = Math.floor((parseFloat(newArr[i].shop_desccredit) + parseFloat(newArr[i].shop_servicecredit) + parseFloat(newArr[i].shop_deliverycredit)) / 3).toFixed(1);
}