1、优惠券的下载刷新时不会遮挡tabs标签

2、发布页面的标签选择之后再删除不仅展示的地方删除,已在选中的列表中删除(包括发布页面和已发布的编辑页面)
3、足迹列表可以跳转到招租详情
4、签到的赚钱积分任务的去发布信息需要先弹框提示发布信息通过后才发放积分
5、发布信息的信息认证的逻辑完善
6、我的订单四个状态点击进去应该对应相应的列表
This commit is contained in:
wangzimeng 2025-08-05 15:57:22 +08:00
parent fce0172f6e
commit 0c34797e9a
8 changed files with 273 additions and 59 deletions

View File

@ -84,7 +84,7 @@
</view> </view>
</view> </view>
<view class="signBtn" @click="toTabb('/pages/index/fabu')"> <view class="signBtn" @click="openFB">
去发布 去发布
</view> </view>
</view> </view>
@ -205,6 +205,23 @@
</view> </view>
</view> </view>
</su-popup> </su-popup>
<!-- 去发布提示 -->
<su-popup :show="showFB == true" type="center" round="10" :isMaskClick="false">
<view class="popupContacted">
<view class="contactedBox">
<view
style="font-size: 36rpx;line-height: 50rpx;font-weight: 900;color: #3d3d3d;text-align: center;">
发布积分</view>
<view
style="font-size: 30rpx;line-height: 44rpx;font-weight: 400;color: #3d3d3d;text-align: center;">
发布审核通过后发放积分</view>
</view>
<view class="contactBtn">
<view class="tactBtnBox" style="color: #999999;" @click="showFB = false">取消</view>
<view class="tactBtnBox2" style="color: #323232;" @click="toTabb('/pages/index/fabu')">去发布</view>
</view>
</view>
</su-popup>
</s-layout> </s-layout>
</template> </template>
@ -215,6 +232,7 @@
onReady onReady
} from '@dcloudio/uni-app'; } from '@dcloudio/uni-app';
import { import {
ref,
computed, computed,
reactive reactive
} from 'vue'; } from 'vue';
@ -390,6 +408,15 @@
}) })
} }
const showFB = ref(false)
function openFB() {
showFB.value = true;
}
function closeFB() {
showFB.value = false;
}
// //
function showShare() { function showShare() {
// 使URL // 使URL
@ -409,6 +436,52 @@
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.popupContacted {
width: 600rpx;
height: 300rpx;
background-color: #fff;
display: grid;
border-radius: 18rpx;
.contactedBox {
width: 600rpx;
height: 146rpx;
padding: 30rpx 0;
// margin-top: 40rpx;
display: grid;
justify-content: center;
align-items: center;
}
.contactBtn {
width: 600rpx;
height: 92rpx;
border-top: 1rpx solid #eeeeee;
display: flex;
border-radius: 0 0 18rpx 18rpx;
// margin-top: 40rpx;
.tactBtnBox {
width: 300rpx;
height: 92rpx;
border-right: 1rpx solid #eeeeee;
display: flex;
align-items: center;
justify-content: center;
}
.tactBtnBox2 {
width: 300rpx;
height: 92rpx;
// border-right: 1rpx solid #eeeeee;
display: flex;
align-items: center;
justify-content: center;
}
}
}
.header-box { .header-box {
border-top: 2rpx solid rgba(#dfdfdf, 0.5); border-top: 2rpx solid rgba(#dfdfdf, 0.5);
} }

View File

@ -178,27 +178,6 @@
</su-popup> </su-popup>
<!-- 身份证是否认证 -->
<su-popup :show="cardShow == true" type="center" round="10" :isMaskClick="false">
<view class="popupContacted">
<view class="contactedBox">
<image style="width: 198rpx;height: 122rpx;position: relative;left: 12rpx;"
src="https://jiangxiaoxian.0rui.cn/couponSuccess.png"></image>
<view
style="font-size: 36rpx;line-height: 50rpx;font-weight: 900;color: #3d3d3d;text-align: center;">
身份认证</view>
<view
style="font-size: 30rpx;line-height: 44rpx;font-weight: 400;color: #3d3d3d;text-align: center;">
认证后即可发布信息</view>
</view>
<view class="contactBtn">
<view class="tactBtnBox" style="color: #999999;" @click="cardShow = false">取消</view>
<view class="tactBtnBox2" style="color: #323232;" @click="toPage('')">去认证</view>
</view>
</view>
</su-popup>
<!-- 省市区弹窗 --> <!-- 省市区弹窗 -->
<su-regionCity-picker :show="state.showRegion" @cancel="state.showRegion = false" @confirm="onRegionConfirm"> <su-regionCity-picker :show="state.showRegion" @cancel="state.showRegion = false" @confirm="onRegionConfirm">
</su-regionCity-picker> </su-regionCity-picker>
@ -510,12 +489,15 @@
// //
function removebq(i) { function removebq(i) {
for (let w = 0; w < tagShowList.value.length; w++) {
if (tagShowList.value[w].name == selectTagslist.value[i].name) {
tagShowList.value[w].isSelect = false
}
}
selectTagslist.value.splice(i, 1); selectTagslist.value.splice(i, 1);
tagSelectedNum.value -= 1; tagSelectedNum.value -= 1;
console.log('删除标签', tagSelectedNum.value); console.log('删除标签', tagSelectedNum.value);
let arr = selectTagslist.value.map((item) => {
return item.name
})
} }
function change() { function change() {
@ -530,7 +512,7 @@
// //
function getDetail() { function getDetail() {
console.log('详情',tagList.value); console.log('详情1',tagList.value);
if(tagList.value.length == 0){ if(tagList.value.length == 0){
tagList.value = uni.getStorageInfoSync('tagList'); tagList.value = uni.getStorageInfoSync('tagList');
tagShowList.value = tagList.value tagShowList.value = tagList.value
@ -546,7 +528,7 @@
if (form.value.cate_ids.includes(obj.id)) { if (form.value.cate_ids.includes(obj.id)) {
acc.push(obj); acc.push(obj);
} }
return acc;wwwwwwwwwwwwwwwwwwwwwww return acc;
}, []); }, []);
tagSelectedNum.value = selectTagslist.value.length tagSelectedNum.value = selectTagslist.value.length
form.value.area = form.value.address_city_text form.value.area = form.value.address_city_text
@ -687,6 +669,52 @@
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.popupContacted {
width: 660rpx;
height: 477rpx;
background-color: #fff;
display: grid;
border-radius: 18rpx;
.contactedBox {
width: 660rpx;
height: 325rpx;
padding: 30rpx 0;
// margin-top: 40rpx;
display: grid;
justify-content: center;
align-items: center;
}
.contactBtn {
width: 660rpx;
height: 92rpx;
border-top: 1rpx solid #eeeeee;
display: flex;
border-radius: 0 0 18rpx 18rpx;
// margin-top: 40rpx;
.tactBtnBox {
width: 330rpx;
height: 92rpx;
border-right: 1rpx solid #eeeeee;
display: flex;
align-items: center;
justify-content: center;
}
.tactBtnBox2 {
width: 330rpx;
height: 92rpx;
// border-right: 1rpx solid #eeeeee;
display: flex;
align-items: center;
justify-content: center;
}
}
}
.checkedLabel { .checkedLabel {
width: 690rpx; width: 690rpx;
display: flex; display: flex;

View File

@ -305,6 +305,52 @@
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.popupContacted {
width: 660rpx;
height: 477rpx;
background-color: #fff;
display: grid;
border-radius: 18rpx;
.contactedBox {
width: 660rpx;
height: 325rpx;
padding: 30rpx 0;
// margin-top: 40rpx;
display: grid;
justify-content: center;
align-items: center;
}
.contactBtn {
width: 660rpx;
height: 92rpx;
border-top: 1rpx solid #eeeeee;
display: flex;
border-radius: 0 0 18rpx 18rpx;
// margin-top: 40rpx;
.tactBtnBox {
width: 330rpx;
height: 92rpx;
border-right: 1rpx solid #eeeeee;
display: flex;
align-items: center;
justify-content: center;
}
.tactBtnBox2 {
width: 330rpx;
height: 92rpx;
// border-right: 1rpx solid #eeeeee;
display: flex;
align-items: center;
justify-content: center;
}
}
}
.search-result { .search-result {
padding-top: 10px; padding-top: 10px;
padding-bottom: 20px; padding-bottom: 20px;

View File

@ -1,6 +1,6 @@
<!-- 优惠券中心 --> <!-- 优惠券中心 -->
<template> <template>
<s-layout title="我的优惠券" :bgStyle="{ color: '#f2f2f2' }"> <s-layout title="我的优惠券">
<view class="container"> <view class="container">
<!-- tabs页签 --> <!-- tabs页签 -->
<view class="tabs-box"> <view class="tabs-box">
@ -10,7 +10,7 @@
<!-- 可兑换券列表 --> <!-- 可兑换券列表 -->
<scroll-view @scrolltolower="onScrolltolower" :refresher-enabled="true" :refresher-triggered="homrS" <scroll-view @scrolltolower="onScrolltolower" :refresher-enabled="true" :refresher-triggered="homrS"
@refresherrefresh="onS" scroll-y="true" class="flex align-items" @refresherrefresh="onS" scroll-y="true" class="flex align-items"
style="height: 85vh;box-sizing: border-box;margin-top: 30rpx;"> style="height: 83vh;box-sizing: border-box;margin-top: 30rpx;">
<!-- 满减券 --> <!-- 满减券 -->
<view class="exChangeBox" v-if="currentTab == 0"> <view class="exChangeBox" v-if="currentTab == 0">
<view class="couponsListFull"> <view class="couponsListFull">
@ -114,7 +114,9 @@
listQuery.value.limit = 10; listQuery.value.limit = 10;
listQuery.value.list_rows = 10 listQuery.value.list_rows = 10
couponFullList.value = [] couponFullList.value = []
couponTimesCount.value = [] couponFullCount.value = 0;
couponTimesList.value = [];
couponTimesCount.value = 0;
if (currentTab.value == 0) { if (currentTab.value == 0) {
getCouponFullList(); getCouponFullList();
} else { } else {
@ -252,7 +254,7 @@
// getCouponList(); // getCouponList();
} }
onLoad(() => { onShow(() => {
getCouponFullList(); getCouponFullList();
}); });
</script> </script>
@ -330,10 +332,10 @@
.c9 { .c9 {
color: #999999; color: #999999;
} }
.container { .container {
background-color: #f7f7f7; background-color: #f7f7f7;
height: 100vh;
.exChangeBox { .exChangeBox {
// height: 80vh; // height: 80vh;

View File

@ -195,7 +195,7 @@
</view> </view>
<view class="contactBtn"> <view class="contactBtn">
<view class="tactBtnBox" style="color: #999999;" @click="cardShow = false">取消</view> <view class="tactBtnBox" style="color: #999999;" @click="cardShow = false">取消</view>
<view class="tactBtnBox2" style="color: #323232;" @click="toPage('')">去认证</view> <view class="tactBtnBox2" style="color: #323232;" @click="toAuthen()">去认证</view>
</view> </view>
</view> </view>
</su-popup> </su-popup>
@ -342,8 +342,9 @@
const Negotiate = ref('') // const Negotiate = ref('') //
const cardShow = ref(false) // const cardShow = ref(false) //
const status = ref(0) const status = ref(0)
onShow(() => { onShow(() => {
getAuthentied();
getFbKnow(); getFbKnow();
getTagList(); getTagList();
getTypeList(); getTypeList();
@ -352,10 +353,10 @@
function getAuthentied() { function getAuthentied() {
sheep.$api.rent.isAuthentied().then((res) => { sheep.$api.rent.isAuthentied().then((res) => {
if (res.code == 1) { if (res.code == 1) {
if (res.data != 1) { if (res.data.status == 1) {
cardShow.value = true;
} else {
cardShow.value = false; cardShow.value = false;
} else {
cardShow.value = true;
} }
} }
}) })
@ -370,10 +371,12 @@
} }
}) })
} }
const toPage = () => {
function toAuthen() {
if (isLogin.value == true) { if (isLogin.value == true) {
cardShow.value = false
uni.navigateTo({ uni.navigateTo({
url: e url: '/pages/user/authentication'
}) })
} else { } else {
@ -382,7 +385,7 @@
icon: 'none', icon: 'none',
duration: 2000 duration: 2000
}) })
cardShow.value = false
setTimeout(function() { setTimeout(function() {
uni.switchTab({ uni.switchTab({
url: '/pages/index/user' url: '/pages/index/user'
@ -499,12 +502,16 @@
// //
function removebq(i) { function removebq(i) {
console.log('删除标签1', i, selectTagslist.value[i].name);
for (let w = 0; w < tagShowList.value.length; w++) {
if (tagShowList.value[w].name == selectTagslist.value[i].name) {
tagShowList.value[w].isSelect = false
}
}
console.log('删除标签2', tagShowList.value);
selectTagslist.value.splice(i, 1); selectTagslist.value.splice(i, 1);
tagSelectedNum.value -= 1; tagSelectedNum.value -= 1;
console.log('删除标签', tagSelectedNum.value); console.log('删除标签3', tagSelectedNum.value);
let arr = selectTagslist.value.map((item) => {
return item.name
})
} }
function change() { function change() {
@ -522,13 +529,13 @@
sheep.$api.rent.rentInfo(rentEditId.value).then((res) => { sheep.$api.rent.rentInfo(rentEditId.value).then((res) => {
if (res.code == 1) { if (res.code == 1) {
form.value = res.data, form.value = res.data,
selectTagslist.value = tagList.value.reduce((acc, obj) => { selectTagslist.value = tagList.value.reduce((acc, obj) => {
if (form.value.cate_ids.includes(obj.id)) { if (form.value.cate_ids.includes(obj.id)) {
acc.push(obj); acc.push(obj);
} }
return acc; return acc;
}, []); }, []);
console.log('详情',selectTagslist.value); console.log('详情', selectTagslist.value);
} }
}) })
} }
@ -651,6 +658,52 @@
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.popupContacted {
width: 660rpx;
height: 477rpx;
background-color: #fff;
display: grid;
border-radius: 18rpx;
.contactedBox {
width: 660rpx;
height: 325rpx;
padding: 30rpx 0;
// margin-top: 40rpx;
display: grid;
justify-content: center;
align-items: center;
}
.contactBtn {
width: 660rpx;
height: 92rpx;
border-top: 1rpx solid #eeeeee;
display: flex;
border-radius: 0 0 18rpx 18rpx;
// margin-top: 40rpx;
.tactBtnBox {
width: 330rpx;
height: 92rpx;
border-right: 1rpx solid #eeeeee;
display: flex;
align-items: center;
justify-content: center;
}
.tactBtnBox2 {
width: 330rpx;
height: 92rpx;
// border-right: 1rpx solid #eeeeee;
display: flex;
align-items: center;
justify-content: center;
}
}
}
.checkedLabel { .checkedLabel {
width: 690rpx; width: 690rpx;
display: flex; display: flex;

View File

@ -70,19 +70,19 @@
</view> </view>
</view> </view>
<view class="myOrder-second"> <view class="myOrder-second">
<view class="pendingBox" @click="toPage('/pages/order/list')"> <view class="pendingBox" @click="toPage('/pages/order/list?type=1')">
<image class="pendImg" src="https://jiangxiaoxian.0rui.cn/pendPay.png"></image> <image class="pendImg" src="https://jiangxiaoxian.0rui.cn/pendPay.png"></image>
<view class="fs-28 weight4" style="margin-top: 20rpx;color: #3d3d3d;">待支付</view> <view class="fs-28 weight4" style="margin-top: 20rpx;color: #3d3d3d;">待支付</view>
</view> </view>
<view class="pendingBox" @click="toPage('/pages/order/list')"> <view class="pendingBox" @click="toPage('/pages/order/list?type=2')">
<image class="pendImg" src="https://jiangxiaoxian.0rui.cn/shipment.png"></image> <image class="pendImg" src="https://jiangxiaoxian.0rui.cn/shipment.png"></image>
<view class="fs-28 weight4" style="margin-top: 20rpx;color: #3d3d3d;">待发货</view> <view class="fs-28 weight4" style="margin-top: 20rpx;color: #3d3d3d;">待发货</view>
</view> </view>
<view class="pendingBox" @click="toPage('/pages/order/list')"> <view class="pendingBox" @click="toPage('/pages/order/list?type=3')">
<image class="pendImg" src="https://jiangxiaoxian.0rui.cn/pendingDoods.png"></image> <image class="pendImg" src="https://jiangxiaoxian.0rui.cn/pendingDoods.png"></image>
<view class="fs-28 weight4" style="margin-top: 20rpx;color: #3d3d3d;">待收货</view> <view class="fs-28 weight4" style="margin-top: 20rpx;color: #3d3d3d;">待收货</view>
</view> </view>
<view class="pendingBox" @click="toPage('/pages/order/list')"> <view class="pendingBox" @click="toPage('/pages/order/list?type=4')">
<image class="pendImg" src="https://jiangxiaoxian.0rui.cn/completed.png"></image> <image class="pendImg" src="https://jiangxiaoxian.0rui.cn/completed.png"></image>
<view class="fs-28 weight4" style="margin-top: 20rpx;color: #3d3d3d;">已完成</view> <view class="fs-28 weight4" style="margin-top: 20rpx;color: #3d3d3d;">已完成</view>
</view> </view>

View File

@ -286,6 +286,7 @@
// //
function onTabsChange(e) { function onTabsChange(e) {
console.log('切换Tabs',e.index, e);
if (state.currentTab === e.index) return; if (state.currentTab === e.index) return;
state.pagination = pagination; state.pagination = pagination;
@ -473,9 +474,13 @@
} }
onLoad(async (options) => { onLoad(async (options) => {
if (options.type) { console.log('onLoad',options.type);
state.currentTab = options.type; // if (options.type) {
} // state.currentTab = options.type;
// }
if(options.type) {
state.currentTab = options.type;
}
getOrderList(); getOrderList();
}); });

View File

@ -7,7 +7,7 @@
<view class="cart-content"> <view class="cart-content">
<view class="goods-box ss-r-10 ss-m-b-14" v-for="(item, index) in feetHisList" :key="index"> <view class="goods-box ss-r-10 ss-m-b-14" v-for="(item, index) in feetHisList" :key="index">
<view class="dataBox">{{item.date_text}}</view> <view class="dataBox">{{item.date_text}}</view>
<view class="rrecommList" v-for="(e,i) in item.log" :key="i"> <view class="rrecommList" v-for="(e,i) in item.log" :key="i" @click="toDetail(e)">
<view class="reListItem"> <view class="reListItem">
<!-- 左侧图片 --> <!-- 左侧图片 -->
<view class="listItem-images"> <view class="listItem-images">
@ -188,6 +188,13 @@
loadStatus.value = "loading"; loadStatus.value = "loading";
getFeetList(); getFeetList();
} }
function toDetail(e){
console.log('跳转详情',e);
uni.navigateTo({
url:'/pages/canteenRent/rentDetail?id=' + e.id
})
}
const sys_navBar = sheep.$platform.navbar; const sys_navBar = sheep.$platform.navbar;
onReachBottom(() => {}); onReachBottom(() => {});