chore:查看我的关注,加去逛逛按钮,点击售后,标题应展示“售后”,无数据时界面应展示“暂无售后记录”

This commit is contained in:
2026-01-06 18:13:23 +08:00
parent 6023b5b65e
commit 8e337da21e
2 changed files with 93 additions and 65 deletions

View File

@@ -1,6 +1,6 @@
export const lang = { export const lang = {
//title为每个页面的标题 //title为每个页面的标题
title: '退款', title: '售后',
checkDetail: '查看详情', checkDetail: '查看详情',
emptyTips: '暂无退款记录' emptyTips: '暂无售后记录'
} }

View File

@@ -1,87 +1,115 @@
<template> <template>
<view :style="themeColor"> <view :style="themeColor">
<mescroll-uni ref="mescroll" @getData="getData" class="member-point" :size="8" @listenRefresh="listenRefresh" <mescroll-uni ref="mescroll" @getData="getData" class="member-point" :size="8" @listenRefresh="listenRefresh"
v-if="storeToken"> v-if="storeToken">
<view class="goods_list" slot="list"> <view class="goods_list" slot="list">
<block v-if="collectionList.length > 0"> <block v-if="collectionList.length > 0">
<view class="goods_li margin-top" v-for="(item, index) in collectionList" :key="index" <view class="goods_li margin-top" v-for="(item, index) in collectionList" :key="index"
@click.stop="toDetail(item)"> @click.stop="toDetail(item)">
<view class="pic"> <view class="pic">
<image :src="$util.img(item.goods_image.split(',')[0], { size: 'mid' })" mode="aspectFill" <image :src="$util.img(item.goods_image.split(',')[0], { size: 'mid' })" mode="aspectFill"
@error="goodsImageError(index)"></image> @error="goodsImageError(index)"></image>
</view> </view>
<view class="goods_info"> <view class="goods_info">
<view class="goods_name font-size-base">{{ item.sku_name }}</view> <view class="goods_name font-size-base">{{ item.sku_name }}</view>
<view class="goods_opection"> <view class="goods_opection">
<view class="left lineheight-clear "> <view class="left lineheight-clear ">
<text class="symbol price-style small"></text> <text class="symbol price-style small"></text>
<text class="price price-style large">{{ <text class="price price-style large">{{
parseFloat(item.discount_price).toFixed(2).split('.')[0] }}</text> parseFloat(item.discount_price).toFixed(2).split('.')[0] }}</text>
<text class="symbol price-style small">.{{ <text class="symbol price-style small">.{{
parseFloat(item.discount_price).toFixed(2).split('.')[1] }}</text> parseFloat(item.discount_price).toFixed(2).split('.')[1] }}</text>
</view> </view>
<view class="right"> <view class="right">
<view class="cars" @click.stop="deleteItem(item.goods_id)"> <view class="cars" @click.stop="deleteItem(item.goods_id)">
<view class="icon iconfont icon-icon7"></view> <view class="icon iconfont icon-icon7"></view>
</view> </view>
</view> </view>
</view> </view>
</view> </view>
</view> </view>
</block> </block>
<!-- 第一个列表为空时 --> <!-- 第一个列表为空时 -->
<ns-empty v-if="collectionList.length == 0 && isShowEmpty" text="暂无关注的商品" :isIndex="false"></ns-empty> <view v-if="collectionList.length == 0 && isShowEmpty" class="empty-with-btn">
<ns-goods-recommend ref="goodsRecommend"></ns-goods-recommend> <ns-empty text="暂无关注的商品" :isIndex="false"></ns-empty>
</view> <button class="go-browse-btn" @click="goToBrowse">去逛逛</button>
</mescroll-uni> </view>
<ns-login ref="login"></ns-login> <ns-goods-recommend ref="goodsRecommend"></ns-goods-recommend>
<loading-cover ref="loadingCover"></loading-cover> </view>
</view> </mescroll-uni>
<ns-login ref="login"></ns-login>
<loading-cover ref="loadingCover"></loading-cover>
</view>
</template> </template>
<script> <script>
import collection from './public/js/collection.js'; import collection from './public/js/collection.js';
export default { export default {
mixins: [collection], mixins: [collection],
data() { data() {
return {}; return {};
}, },
onShow() { methods: {
if (this.storeToken) { goToBrowse() {
if (this.$refs.mescroll) this.$refs.mescroll.refresh(); // 跳转到首页
} else { uni.switchTab({
this.$nextTick(() => { url: '/pages/index/index'
this.$refs.login.open('/pages_tool/member/collection'); });
}); }
} },
}, onShow() {
watch: { if (this.storeToken) {
storeToken: function (nVal, oVal) { if (this.$refs.mescroll) this.$refs.mescroll.refresh();
if (nVal) { } else {
this.$refs.mescroll.refresh(); this.$nextTick(() => {
} this.$refs.login.open('/pages_tool/member/collection');
} });
} }
},
watch: {
storeToken: function (nVal, oVal) {
if (nVal) {
this.$refs.mescroll.refresh();
}
}
}
}; };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
/deep/ .fixed { /deep/ .fixed {
position: relative; position: relative;
top: 0; top: 0;
} }
/deep/ .empty { /deep/ .empty {
margin-top: 0 !important; margin-top: 0 !important;
} }
@import './public/css/collection.scss'; @import './public/css/collection.scss';
.empty-with-btn {
display: flex;
flex-direction: column;
align-items: center;
padding-top: 40rpx;
}
.go-browse-btn {
width: 200rpx;
height: 60rpx;
line-height: 60rpx;
background-color: #ff2f55;
color: #ffffff;
border-radius: 30rpx;
font-size: 28rpx;
margin-top: 40rpx;
}
</style> </style>
<style lang="scss" scoped> <style lang="scss" scoped>
/deep/ .sku-layer .uni-popup__wrapper.uni-custom .uni-popup__wrapper-box { /deep/ .sku-layer .uni-popup__wrapper.uni-custom .uni-popup__wrapper-box {
max-height: unset !important; max-height: unset !important;
} }
</style> </style>