From a9d507a13f5eff939b9dfb2242a204d445460d42 Mon Sep 17 00:00:00 2001
From: xuxueyang <xuxy@fengyuntec.com>
Date: 星期二, 06 八月 2024 18:26:25 +0800
Subject: [PATCH] update 跳转的逻辑栈
---
pages/login/supplier-login.vue | 6
sub_pages/customer/trade/list.vue | 44 +++++---
components/footer/customer-footer.vue | 13 ++
components/footer/managefooter.vue | 2
components/footer/supplier-footer.vue | 2
manifest.json | 2
pages/login/supplier-reg.vue | 2
sub_pages/customer/shop/shop.vue | 111 +++++++++++++++++++--
sub_pages/customer/trade/trade.vue | 3
store/index.js | 8 -
sub_pages/customer/trade/detail.vue | 62 +++++++++++-
11 files changed, 206 insertions(+), 49 deletions(-)
diff --git a/components/footer/customer-footer.vue b/components/footer/customer-footer.vue
index 3cc049b..0627f98 100644
--- a/components/footer/customer-footer.vue
+++ b/components/footer/customer-footer.vue
@@ -93,12 +93,23 @@
}
}
+ //判断,如果上上上级别,就是要跳转的,改为返回,避免堆栈太多
+ const pages = getCurrentPages();
+ //如果上一层就是购物车,那么就返回,而不是跳转
+ // console.log('toShopping',pages)
+ if (pages && pages.length >= 2) {
+ if ( ('/' + pages[pages.length - 2].route) === item.pagePath) {
+ uni.navigateBack()
+ return
+ }
+ }
+
uni.navigateTo({
url: item.pagePath
})
} else {
- uni.redirectTo({
+ uni.reLaunch({
url: item.pagePath
});
diff --git a/components/footer/managefooter.vue b/components/footer/managefooter.vue
index 3767afe..cff3253 100644
--- a/components/footer/managefooter.vue
+++ b/components/footer/managefooter.vue
@@ -60,7 +60,7 @@
},
methods: {
go(item){
- uni.redirectTo({ url: item.pagePath })
+ uni.reLaunch({ url: item.pagePath })
// uni.switchTab({ url: item.pagePath })
}
}
diff --git a/components/footer/supplier-footer.vue b/components/footer/supplier-footer.vue
index ebae554..2f6d329 100644
--- a/components/footer/supplier-footer.vue
+++ b/components/footer/supplier-footer.vue
@@ -68,7 +68,7 @@
if (this.flg == ('' + index)) {
return
}
- uni.redirectTo({
+ uni.reLaunch({
url: item.pagePath
});
diff --git a/manifest.json b/manifest.json
index 782394c..2848179 100644
--- a/manifest.json
+++ b/manifest.json
@@ -49,7 +49,7 @@
"quickapp" : {},
/* 快应用特有相关 */
"mp-weixin" : {
- "appid" : "wx6d0ecc4e18710458",
+ "appid" : "wx1441324401626290",
"setting" : {
"urlCheck" : false,
"es6" : true,
diff --git a/pages/login/supplier-login.vue b/pages/login/supplier-login.vue
index d1d069f..dcb669d 100644
--- a/pages/login/supplier-login.vue
+++ b/pages/login/supplier-login.vue
@@ -423,7 +423,7 @@
}, 1000)
},
toHome() {
- uni.redirectTo({
+ uni.reLaunch({
url: '/pages/home/home'
})
},
@@ -439,7 +439,7 @@
})
// #endif
// #ifdef PUB_SUPPLIER
- uni.redirectTo({
+ uni.reLaunch({
url: '/pages/login/supplier-reg'
})
// #endif
@@ -448,7 +448,7 @@
// uni.navigateTo({
// url: '/sub_pages/customer/customer-info/customer-info' + addstr
// })
- uni.redirectTo({
+ uni.reLaunch({
url: '/pages/login/supplier-reg'
})
// todo 如果是有分享id的,可能需要提前进行绑定
diff --git a/pages/login/supplier-reg.vue b/pages/login/supplier-reg.vue
index fdcce4a..e8d03b4 100644
--- a/pages/login/supplier-reg.vue
+++ b/pages/login/supplier-reg.vue
@@ -288,7 +288,7 @@
}, 1000)
},
toLogin() {
- uni.redirectTo({
+ uni.reLaunch({
url: '/pages/login/supplier-login'
})
diff --git a/store/index.js b/store/index.js
index 7d00f52..9346fa3 100644
--- a/store/index.js
+++ b/store/index.js
@@ -55,9 +55,7 @@
state.currentInfo = {}
storage.removeItem('token')
message.showToast('退出登录成功')
- // uni.redirectTo({
- // url: '/views/login/login'
- // })
+
},
setOpenid(state, openid) {
state.openid = openid
@@ -354,9 +352,7 @@
console.log("启用结果2:", ret);
});
// #endif
- // uni.redirectTo({
- // url: '/views/app/app-home/app-home'
- // })
+
uni.reLaunch({
url: '/pages/home/supplier-home'
})
diff --git a/sub_pages/customer/shop/shop.vue b/sub_pages/customer/shop/shop.vue
index 2318028..a3e0675 100644
--- a/sub_pages/customer/shop/shop.vue
+++ b/sub_pages/customer/shop/shop.vue
@@ -38,7 +38,7 @@
</view>
<view class="tj-info m-t-12">
<view class="form-item">
- <view class="value">0</view>
+ <view class="value">{{page.total || 0}}</view>
<view class="label">发布</view>
</view>
<view class="form-item">
@@ -63,20 +63,16 @@
<view class="brand-info">
<view v-if="flg==='0'" class="brand-info-0">
<view class="component-filter-container" style="padding-top: 12rpx;">
- <!-- <view class="flex1">
- 排序
+ <view class="flex1" @click.stop="$refs.popup_column.open()">
+ 排序{{ query.columnStr&&('-'+query.columnStr) || '' }}
<image src="../../../static/common/icon-arrow-down.png" class="icon-arrow-down"></image>
</view>
- <view class="flex1">
- 等级
+ <view class="flex1" @click.stop="$refs.popup_level.open()">
+ {{ query.levelStr || '级别' }}
<image src="../../../static/common/icon-arrow-down.png" class="icon-arrow-down"></image>
</view>
- <view class="flex1">
- 参数
- <image src="../../../static/common/icon-arrow-down.png" class="icon-arrow-down"></image>
- </view> -->
</view>
- <view class="top-title">
+ <view class="top-title m-t-12">
报价已包含打包费、材料费、交易佣金
</view>
<view class="component-shop-item flex" v-for="(item,index) of list" :key="index"
@@ -112,7 +108,7 @@
</view>
<view class="bottom-buttons flex">
<view class="m-l-0 m-r-a">
- <view class="m-r-15">
+ <view class="m-r-15 desc-gray other-info">
颜色:{{item.color||'-'}}
</view>
</view>
@@ -163,8 +159,55 @@
</view> -->
</view>
</view>
+ <uni-popup ref="popup_column" type="bottom">
+ <view class="component-popup_input_all">
+ <view class="text-center m-b-40" style="font-size: 48rpx;font-weight: 600;">点击选择不同排序</view>
+ <view v-for="(item,i) in order_columns" :key="i" class="m-t-20">
+ <view class="m-t-12 flex value-items">
+ <view class="value-item" @click="()=>{
+ if(each.value!==query.value){
+ query.column = each.value
+ query.columnStr = each.label
+ refreshList('post')
+ $refs.popup_column.close()
+ }
+ }" :class="[query.column==each.value?'cur':'']" v-for="(each, j) in item" :key="j">
+ {{ each.label || '-' }}
+ </view>
+ </view>
+ </view>
+ <view class="button-space"></view>
+ <view>
+ <view class="button-green" @click="$refs.popup_column.close()">关闭
+ </view>
+ </view>
+ </view>
+ </uni-popup>
-
+ <uni-popup ref="popup_level" type="bottom">
+ <view class="component-popup_input_all">
+ <view class="text-center m-b-40" style="font-size: 48rpx;font-weight: 600;">点击选择不同级别</view>
+ <view v-for="(item,i) in level_columns" :key="i" class="m-t-20">
+ <view class="m-t-12 flex value-items">
+ <view class="value-item" @click="()=>{
+ if(each.value!==query.value){
+ query.level = each.value
+ query.levelStr = each.label
+ refreshList('post')
+ $refs.popup_level.close()
+ }
+ }" :class="[query.level==each.value?'cur':'']" v-for="(each, j) in item" :key="j">
+ {{ each.label || '-' }}
+ </view>
+ </view>
+ </view>
+ <view class="button-space"></view>
+ <view>
+ <view class="button-green" @click="$refs.popup_level.close()">关闭
+ </view>
+ </view>
+ </view>
+ </uni-popup>
</view>
</template>
@@ -197,6 +240,21 @@
list: [],
id: '',
catgoryTree: undefined,
+ query: {
+ columnStr: '',
+ column: '',
+ levelStr: '',
+ level: '',
+ },
+ level_show: false,
+ level_columns: [
+ []
+ ],
+
+ order_show: false,
+ order_columns: [
+ []
+ ]
}
},
onLoad(options) {
@@ -208,6 +266,30 @@
this.listApi = `/api/customer/flower/list`
this.query.supplierId = this.id
this.getList('post')
+ this.$http.request('get', '/api/code/value', {
+ params: {
+ type: 'FLOWER_LEVEL'
+ }
+ }).then(res => {
+ var data = res.data
+ this.level_columns = [data || []]
+ this.level_columns[0].unshift({
+ label: '全部',
+ value: ''
+ })
+ })
+ this.$http.request('get', '/api/code/value', {
+ params: {
+ type: 'FLOWER_ORDER_BY'
+ }
+ }).then(res => {
+ var data = res.data
+ this.order_columns = [data || []]
+ this.order_columns[0].unshift({
+ label: '默认',
+ value: ''
+ })
+ })
},
// #ifdef PUB_CUSTOMER
onShareAppMessage() {
@@ -401,6 +483,11 @@
}
},
+ toDetail(item) {
+ uni.navigateTo({
+ url: `/sub_pages/customer/trade/detail?id=${item.id}`
+ })
+ },
}
}
</script>
diff --git a/sub_pages/customer/trade/detail.vue b/sub_pages/customer/trade/detail.vue
index 25d4601..c050b1c 100644
--- a/sub_pages/customer/trade/detail.vue
+++ b/sub_pages/customer/trade/detail.vue
@@ -160,7 +160,7 @@
this.id = options.id || ''
// #ifdef PUB_CUSTOMER
- if (options.partnerUserId) {
+ if (options.partnerUserId) {
let tmp = this
tmp.sharePartnerUserId = options.partnerUserId
//合伙人绑定的,判断当前用户,是否有登录,登录没绑定,没登录先缓存合伙人id,等注册和登录时候再弄
@@ -398,14 +398,62 @@
})
return
}
- uni.navigateTo({
- url: '/sub_pages/customer/shopping/shopping'
- })
+ //判断堆栈,如果是购物车,就直接返回
+ const pages = getCurrentPages();
+ //如果上一层就是购物车,那么就返回,而不是跳转
+ // console.log('toShopping',pages)
+ if (pages && pages.length >= 2) {
+ if (pages[pages.length - 2].route === "sub_pages/customer/shopping/shopping") {
+ uni.navigateBack()
+ return
+ }
+ }
+ if (pages.length >= 10) {
+ //直接强制购物车
+ uni.reLaunch({
+ url: '/sub_pages/customer/shopping/shopping'
+ })
+ } else {
+ uni.navigateTo({
+ url: '/sub_pages/customer/shopping/shopping'
+ })
+ }
+
},
openbrand() {
- uni.navigateTo({
- url: '/sub_pages/customer/shop/shop?id=' + (this.dto.supplierId || '')
- })
+ //也要判断一下是否重复进入
+ //判断堆栈,如果是店铺,就直接返回
+ //或者是:从商铺到列表再到详情,再到商铺,这种也不行
+ const pages = getCurrentPages();
+ console.log('toShopping', pages)
+ if (pages && pages.length >= 2) {
+ if (pages[pages.length - 2].route === "sub_pages/customer/shop/shop") {
+ uni.navigateBack()
+ return
+ }
+ }
+ if (pages && pages.length >= 3) {
+ if (pages[pages.length - 3].route === "sub_pages/customer/shop/shop" &&
+ pages[pages.length - 2].route === "sub_pages/customer/trade/list"
+ ) {
+ uni.navigateBack({
+ delta: 2
+ })
+ return
+ }
+ }
+
+ if (pages.length >= 10) {
+ //直接强制购物车
+ uni.reLaunch({
+ url: '/sub_pages/customer/shop/shop?id=' + (this.dto.supplierId || '')
+ })
+ } else {
+ uni.navigateTo({
+ url: '/sub_pages/customer/shop/shop?id=' + (this.dto.supplierId || '')
+ })
+ }
+
}
}
}
diff --git a/sub_pages/customer/trade/list.vue b/sub_pages/customer/trade/list.vue
index 929a99a..6b961df 100644
--- a/sub_pages/customer/trade/list.vue
+++ b/sub_pages/customer/trade/list.vue
@@ -104,8 +104,7 @@
</view>
- <view class="icon-shop" v-if="list&&list.length>0"
- @click="goto('/sub_pages/customer/shopping/shopping',true)">
+ <view class="icon-shop" v-if="list&&list.length>0" @click="toShopping">
<!-- 购物图标 -->
<!-- 如果有购买的东西,就要附带数字了 -->
<view v-if="shoptotal>0" class="number">
@@ -213,12 +212,14 @@
name: '',
category: '',
zoneId: '',
+
+
+ params: [],
+ supplierName: '',
+ columnStr: '',
+ column: '',
levelStr: '',
level: '',
- column: '',
- params: [],
- supplierName:'',
- columnStr: '',
},
categoryInfo: {},
params: [],
@@ -265,19 +266,19 @@
console.log('options', options)
this.query.category = options.categoryId || options.category || ''
this.query.zoneId = options.zoneId || ''
- this.query.name = options.name || ''
- this.query.supplierName = options.supplierName || ''
-
-
+ this.query.name = options.name || ''
+ this.query.supplierName = options.supplierName || ''
+
+
if (this.query.name) {
uni.setNavigationBarTitle({
title: '商品列表-' + this.query.name
})
- }
- if (this.query.supplierName) {
- uni.setNavigationBarTitle({
- title: '商品列表-' + this.query.supplierName
- })
+ }
+ if (this.query.supplierName) {
+ uni.setNavigationBarTitle({
+ title: '商品列表-' + this.query.supplierName
+ })
}
this.listApi = '/api/customer/flower/list'
this.getList('post')
@@ -421,6 +422,19 @@
this.refreshList('post')
},
+ toShopping() {
+ if (!this.currentInfo.id) {
+ // await this.$message.confirm('请前往登录')
+ uni.navigateTo({
+ url: '/pages/login/supplier-login?source=jump'
+ })
+ return
+ }
+ //直接强制购物车
+ uni.reLaunch({
+ url: '/sub_pages/customer/shopping/shopping'
+ })
+ },
toDetail(item) {
uni.navigateTo({
url: `/sub_pages/customer/trade/detail?id=${item.id}`
diff --git a/sub_pages/customer/trade/trade.vue b/sub_pages/customer/trade/trade.vue
index ff15aae..9419328 100644
--- a/sub_pages/customer/trade/trade.vue
+++ b/sub_pages/customer/trade/trade.vue
@@ -9,7 +9,8 @@
</view>
<view class="flex1 input">
- <u-input :placeholder="type==='category'?'请输入分类名称':'请输入店铺名称'" v-model="query.name" clearable @confirm="buttonSearchFlow" @clear="()=>{
+ <u-input :placeholder="type==='category'?'请输入分类名称':'请输入店铺名称'" v-model="query.name" clearable
+ @confirm="buttonSearchFlow" @clear="()=>{
$nextTick(()=>{buttonSearchFlow()})
}">
<template slot="suffix">
--
Gitblit v1.9.3