fix(关注/足迹): 优化交互逻辑
This commit is contained in:
@@ -19,5 +19,10 @@ export const lang = {
|
||||
currencySymbol: '¥',
|
||||
submit: 'Submit',
|
||||
searchTip: 'Please enter search keywords'
|
||||
}
|
||||
},
|
||||
|
||||
login: 'Login/Register',
|
||||
loginTips: 'Click to login and enjoy more exciting information',
|
||||
toLogin: 'Go to login',
|
||||
toGoodsCategoryPage: 'Go shopping',
|
||||
}
|
||||
|
||||
@@ -23,6 +23,8 @@ export const lang = {
|
||||
|
||||
login: '登录/注册',
|
||||
loginTpis: '点击登录 享受更多精彩信息',
|
||||
toLogin: '去登录',
|
||||
toGoodsCategoryPage: '去逛逛',
|
||||
|
||||
waitpay: '待付款',
|
||||
waitsend: '待发货',
|
||||
|
||||
@@ -65,7 +65,7 @@
|
||||
{{ parseFloat(item.member_price).toFixed(2).split('.')[0] }}
|
||||
<text class="unit price-style small">.{{
|
||||
parseFloat(item.member_price).toFixed(2).split('.')[1]
|
||||
}}</text>
|
||||
}}</text>
|
||||
<image :src="$util.img('public/uniapp/index/VIP.png')" />
|
||||
</view>
|
||||
</view>
|
||||
@@ -79,7 +79,7 @@
|
||||
}}
|
||||
<text class="unit price-style small">.{{
|
||||
parseFloat(item.discount_price).toFixed(2).split('.')[1]
|
||||
}}</text>
|
||||
}}</text>
|
||||
<image
|
||||
:src="$util.img('public/uniapp/index/discount.png')" />
|
||||
</view>
|
||||
@@ -95,7 +95,7 @@
|
||||
{{ parseFloat(item.member_price).toFixed(2).split('.')[0] }}
|
||||
<text class="unit price-style small">.{{
|
||||
parseFloat(item.member_price).toFixed(2).split('.')[1]
|
||||
}}</text>
|
||||
}}</text>
|
||||
<image :src="$util.img('public/uniapp/index/VIP.png')" />
|
||||
</view>
|
||||
</view>
|
||||
@@ -108,7 +108,7 @@
|
||||
{{ parseFloat(item.price).toFixed(2).split('.')[0] }}
|
||||
<text class="unit price-style small">.{{
|
||||
parseFloat(item.price).toFixed(2).split('.')[1]
|
||||
}}</text>
|
||||
}}</text>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
@@ -175,7 +175,7 @@
|
||||
}}
|
||||
<text class="unit price-style small">.{{
|
||||
parseFloat(goodsItem.member_price).toFixed(2).split('.')[1]
|
||||
}}</text>
|
||||
}}</text>
|
||||
<image :src="$util.img('public/uniapp/index/VIP.png')" />
|
||||
</template>
|
||||
<template v-else>
|
||||
@@ -185,7 +185,7 @@
|
||||
}}
|
||||
<text class="unit price-style small">.{{
|
||||
parseFloat(goodsItem.discount_price).toFixed(2).split('.')[1]
|
||||
}}</text>
|
||||
}}</text>
|
||||
</template>
|
||||
</text>
|
||||
</view>
|
||||
@@ -199,9 +199,12 @@
|
||||
</block>
|
||||
<block v-else>
|
||||
<view class="cart-empty">
|
||||
<ns-empty text="购物车为空" subText="赶紧去逛逛, 购买心仪的商品吧" :isIndex="Boolean(storeToken)"></ns-empty>
|
||||
<button type="primary" size="mini" class="button mini" v-if="!storeToken"
|
||||
@click="toLogin">去登录</button>
|
||||
<ns-empty text="购物车为空" subText="赶紧去逛逛, 购买心仪的商品吧" :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>
|
||||
</block>
|
||||
<ns-goods-recommend ref="goodrecommend" route="cart"></ns-goods-recommend>
|
||||
@@ -316,9 +319,9 @@
|
||||
<text class="unit price-font">{{ $lang('common.currencySymbol') }}</text>
|
||||
<block v-if="Object.keys(discount).length">
|
||||
<text class="value price-font">{{ parseFloat(discount.order_money).toFixed(2).split('.')[0]
|
||||
}}</text>
|
||||
}}</text>
|
||||
<text class="unit price-font">.{{ parseFloat(discount.order_money).toFixed(2).split('.')[1]
|
||||
}}</text>
|
||||
}}</text>
|
||||
</block>
|
||||
<block v-else>
|
||||
<text class="value price-font">{{ parseFloat(totalPrice).toFixed(2).split('.')[0] }}</text>
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
import common from './common.js';
|
||||
|
||||
export default {
|
||||
mixins: [common],
|
||||
data() {
|
||||
return {
|
||||
cartData: [], // 购物车
|
||||
@@ -444,9 +447,6 @@ export default {
|
||||
// });
|
||||
}
|
||||
},
|
||||
toLogin() {
|
||||
this.$refs.login.open();
|
||||
},
|
||||
// 重置编辑状态
|
||||
resetEditStatus() {
|
||||
if (this.cartData.length) {
|
||||
|
||||
8
pages_goods/public/js/common.js
Normal file
8
pages_goods/public/js/common.js
Normal file
@@ -0,0 +1,8 @@
|
||||
export default {
|
||||
methods: {
|
||||
// 跳转至登录页
|
||||
toLogin() {
|
||||
this.$refs.login.open();
|
||||
},
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<view :style="themeColor">
|
||||
<mescroll-uni ref="mescroll" @getData="getData" class="member-point" :size="8" @listenRefresh="listenRefresh">
|
||||
<view class="goods_list" slot="list">
|
||||
<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)">
|
||||
@@ -29,15 +29,15 @@
|
||||
</view>
|
||||
</block>
|
||||
<!-- 第一个列表为空时 -->
|
||||
<view class="collection-empty">
|
||||
<view class="collection-empty" v-else>
|
||||
<ns-empty v-if="collectionList.length == 0 && isShowEmpty" text="暂无关注的商品"
|
||||
:isIndex="Boolean(storeToken)"></ns-empty>
|
||||
: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">去登录</button>
|
||||
@click="toLogin">{{ $lang('toLogin') }}</button>
|
||||
</view>
|
||||
|
||||
<ns-goods-recommend ref="goodsRecommend"></ns-goods-recommend>
|
||||
</view>
|
||||
</block>
|
||||
</mescroll-uni>
|
||||
<ns-login ref="login"></ns-login>
|
||||
<loading-cover ref="loadingCover"></loading-cover>
|
||||
@@ -45,11 +45,11 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
import common from './public/js/common.js';
|
||||
import collection from './public/js/collection.js';
|
||||
|
||||
export default {
|
||||
mixins: [collection],
|
||||
mixins: [common, collection],
|
||||
data() {
|
||||
return {};
|
||||
},
|
||||
@@ -58,12 +58,8 @@ export default {
|
||||
if (this.$refs.mescroll) this.$refs.mescroll.refresh();
|
||||
} else {
|
||||
this.$nextTick(() => {
|
||||
this.isShowEmpty = true;
|
||||
this.$refs.loadingCover.hide();
|
||||
});
|
||||
// this.$nextTick(() => {
|
||||
// if (this.$refs.login) this.$refs.login.open();
|
||||
// });
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
|
||||
@@ -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);
|
||||
//设置列表数据
|
||||
|
||||
@@ -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 {
|
||||
}
|
||||
|
||||
|
||||
@@ -75,9 +75,6 @@ export default {
|
||||
goodsImageError(index) {
|
||||
this.collectionList[index].sku_image = this.$util.getDefaultImage().goods;
|
||||
this.$forceUpdate();
|
||||
},
|
||||
toLogin() {
|
||||
this.$refs.login.open();
|
||||
},
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
8
pages_tool/member/public/js/common.js
Normal file
8
pages_tool/member/public/js/common.js
Normal file
@@ -0,0 +1,8 @@
|
||||
export default {
|
||||
methods: {
|
||||
// 跳转至登录页
|
||||
toLogin() {
|
||||
this.$refs.login.open();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user