1.搭+页面新增:我的钱包

2.搭+钱包接口对接:收益明细,提现明细
搭+提现功能总完成度(40%)
This commit is contained in:
王创世 2025-06-05 18:31:54 +08:00
parent eecd854ab3
commit 094e5a693d
9 changed files with 1688 additions and 1366 deletions

1
.gitignore vendored
View File

@ -17,6 +17,7 @@ selenium-debug.log
*.suo
*.ntvs*
*.njsproj
*.sln
*.local

View File

@ -1,6 +1,6 @@
{
"name" : "多样青春活动版",
"appid" : "__UNI__BD0139D",
"appid" : "__UNI__F09A3D9",
"description" : "",
"versionName" : "1.0.0",
"versionCode" : "100",

22
packageB/wallet/bank.vue Normal file
View File

@ -0,0 +1,22 @@
<template>
<view>
123
</view>
</template>
<script>
export default {
data() {
return {
}
},
methods: {
}
}
</script>
<style>
</style>

261
packageB/wallet/index.vue Normal file
View File

@ -0,0 +1,261 @@
<template>
<view class="page">
<view style="background-color: #FFFFFF;border-radius: 0rpx 0rpx 44rpx 44rpx;padding: 30rpx 30rpx 40rpx 30rpx;">
<view class="section_1">
<view style="color: #FFFFFF;font-size: 26rpx;padding: 30rpx 30rpx 0rpx 30rpx;">当前余额</view>
<view style="display: flex;justify-content: space-between;align-items: center;padding: 30rpx;">
<view style="color: #FFFFFF;font-size: 60rpx;font-weight: 900;">
{{settleInfo.settled_amount?settleInfo.settled_amount:0}}</view>
<view @click="openUrl('/packageB/wallet/bank')">
<view
style="text-align: center;width: 169rpx;height: 70rpx;background: #BBFC5B;line-height: 70rpx;color: #3D3D3D;font-size: 32rpx;border-radius: 70rpx;">
提现</view>
</view>
</view>
<view style="color: #FFFFFF;font-weight: 400;font-size: 26rpx;padding-left: 30rpx;">
<text>预计待入账</text>
<text
style="padding-left: 20rpx;">{{settleInfo.expected_incoming_amount?settleInfo.expected_incoming_amount:0}}</text>
<text style="padding: 0rpx 20rpx;">|</text>
<text>累计收益</text>
<text
style="padding-left: 20rpx;">{{settleInfo.accumulated_incoming_amount?settleInfo.accumulated_incoming_amount:0}}</text>
</view>
</view>
</view>
<view
style="background-color: #FFFFFF;border-radius:44rpx;padding:45rpx 30rpx;margin-top: 30rpx;">
<view style="display: flex;gap: 70rpx;padding-bottom: 40rpx;">
<view @click="openTab(0)">
<view :class="tabIndex==0?'act':'no_act'">收益明细</view>
<view v-if="tabIndex==0"
style="width: 60rpx;height: 10rpx;background-color: #BBFC5B;margin: 0 auto;margin-top: 20rpx;">
</view>
</view>
<view @click="openTab(1)">
<view :class="tabIndex==1?'act':'no_act'">提现明细</view>
<view v-if="tabIndex==1"
style="width: 60rpx;height: 10rpx;background-color: #BBFC5B;margin: 0 auto;margin-top: 20rpx;">
</view>
</view>
</view>
<view v-if="tabIndex==0" v-for="item in list">
<view style="display: flex;justify-content: space-between;align-items: center;">
<view>
<view style="font-size: 30rpx;color: #3D3D3D;font-weight: 600;">{{item.detail.title}}</view>
<view style="font-size: 26rpx;color: #9C9C9C;font-weight: 400;margin: 30rpx 0rpx;">
<text v-if="item.status==3">{{formatTimestamp(item.settletime)}}</text>
<text v-if="item.status==2">{{formatTimestamp(item.createtime)}}</text>
</view>
<view style="font-size: 25rpx;color: #FF4810;font-weight: 400;">[ 活动订单总金额x{{item.fee_scale*100}}%平台费率=待入账金额 ]
</view>
</view>
<view style="text-align: center;">
<view>+{{item.settle_price}}</view>
<view v-if="item.status==2"
style="background: #E6EEFF;width: 90rpx;height: 32rpx;border-radius: 4rpx 4rpx 4rpx 4rpx;text-align: center;margin: 0 auto;margin-top: 20rpx;">
<view style="color: #2F78CD;font-size: 22rpx;line-height: 32rpx;">待入账</view>
</view>
<view v-if="item.status==3"
style="background: #EAF8EB;width: 90rpx;height: 32rpx;border-radius: 4rpx 4rpx 4rpx 4rpx;text-align: center;margin: 0 auto;margin-top: 20rpx;">
<view style="color: #2BA635;font-size: 22rpx;line-height: 32rpx;">已入账</view>
</view>
</view>
</view>
<view style="background: #F0F0F0;width: 100%;height: 1px;margin: 40rpx 0rpx;"></view>
</view>
<view v-if="tabIndex==1" v-for="item in list">
<view style="display: flex;justify-content: space-between;align-items: center;">
<view>
<view style="font-size: 30rpx;color: #3D3D3D;font-weight: 600;">工商银行0514</view>
<view style="font-size: 26rpx;color: #9C9C9C;font-weight: 400;margin: 30rpx 0rpx;">2025.05.25
14:35:36</view>
</view>
<view style="text-align: center;">
<view>+55.00</view>
<view v-if="item.status==1"
style="background: #E6EEFF;width: 90rpx;height: 32rpx;border-radius: 4rpx 4rpx 4rpx 4rpx;text-align: center;margin: 0 auto;">
<view style="color: #2F78CD;font-size: 22rpx;line-height: 32rpx;">审核中</view>
</view>
<view v-if="item.status==3"
style="background: #F8EAEA;width: 90rpx;height: 32rpx;border-radius: 4rpx 4rpx 4rpx 4rpx;text-align: center;margin: 0 auto;">
<view style="color: #A62B2B;font-size: 22rpx;line-height: 32rpx;">失败</view>
</view>
<view v-if="item.status==2 && item.withdrawal_status==3"
style="background: #EAF8EB;width: 90rpx;height: 32rpx;border-radius: 4rpx 4rpx 4rpx 4rpx;text-align: center;margin: 0 auto;">
<view style="color: #2BA635;font-size: 22rpx;line-height: 32rpx;">已打款</view>
</view>
<view v-if="item.status==2 && item.withdrawal_status==2"
style="background: #FFF3ED;width: 90rpx;height: 32rpx;border-radius: 4rpx 4rpx 4rpx 4rpx;text-align: center;margin: 0 auto;">
<view style="color: #FF783A;font-size: 22rpx;line-height: 32rpx;">打款中</view>
</view>
</view>
</view>
<view style="font-weight: 400;color: #3D3D3D;font-size: 24rpx;background: #EEEEEE;border-radius: 6rpx;padding: 30rpx 20rpx;">
银行卡异常无法打款金额已返还账户
</view>
<view style="background: #F0F0F0;width: 100%;height: 1px;margin: 40rpx 0rpx;"></view>
</view>
<u-loadmore style="margin-bottom: 60rpx;" :status="loadStatus" />
</view>
</view>
</template>
<script>
export default {
data() {
return {
tabIndex: 0,
page: 1,
list: [],
settleInfo: {},
loadStatus: 'loading',
}
},
onLoad() {
this.getSyList();
},
onShow() {
this.token = uni.getStorageSync('token');
if (this.token) {
this.getUserInfo();
}
},
onReachBottom() {
this.page += 1;
if (this.tabIndex == 0) {
this.getSyList();
} else {
this.getTxList();
}
},
methods: {
openTab(index) {
this.loadStatus = 'loading';
this.page = 1;
this.tabIndex = index;
this.list=[];
if (index == 0) {
this.getSyList();
} else {
this.getTxList();
}
},
getSyList() {
uni.$u.http
.get("/api/school.newactivity.settle_log/settle_log", {
params: {
page: this.page,
limit: 10,
status:'2,3'
},
})
.then((res) => {
if (res.code == 1) {
this.list.push(...res.data.list);
if (res.data.list.length < 10) {
this.loadStatus = 'nomore';
}
} else {
uni.showToast({
title: res.msg,
icon: "none",
duration: 2000,
});
}
})
},
getTxList(){
uni.$u.http
.get("/api/school.newactivity.settle_log/withdrawal_log", {
params: {
page: this.page,
limit: 10,
},
})
.then((res) => {
if (res.code == 1) {
this.list.push(...res.data.list);
if (res.data.list.length < 10) {
this.loadStatus = 'nomore';
}
} else {
uni.showToast({
title: res.msg,
icon: "none",
duration: 2000,
});
}
})
},
//
getUserInfo() {
uni.$u.http.get('/api/user/index', {}).then(res => {
if (res.code == 1) {
uni.setStorageSync('userInfo', res.data.user_info)
uni.setStorageSync('settleInfo', res.data.settle_info)
uni.setStorageSync('activityInfo', res.data.activity_info)
this.settleInfo= res.data.settle_info;
} else {
uni.showToast({
title: '登陆失败',
icon: 'error',
duration: 2000
})
}
}).catch(error => {
console.log('error', error);
this.showPopup = false
uni.showToast({
title: '登陆失败',
icon: 'error',
duration: 2000
})
})
},
formatTimestamp(timestamp) {
const date = new Date(timestamp * 1000); // 101000
const year = date.getFullYear();
const month = String(date.getMonth() + 1).padStart(2, "0");
const day = String(date.getDate()).padStart(2, "0");
const hours = String(date.getHours()).padStart(2, "0");
const minutes = String(date.getMinutes()).padStart(2, "0");
const seconds = String(date.getSeconds()).padStart(2, "0");
return `${year}.${month}.${day} ${hours}:${minutes}:${seconds}`;
},
openUrl(url){
uni.navigateTo({
url:url
})
},
}
}
</script>
<style scoped lang="scss">
.page {
font-family: PingFang SC, PingFang SC;
background: #f7f7f7;
min-height: 100vh;
}
.section_1 {
width: 100%;
height: 264rpx;
background: url(@/static/wallet.png);
background-size: 100% 100%;
}
.no_act {
font-size: 30rpx;
font-weight: 600;
color: #9C9C9C;
}
.act {
font-size: 34rpx;
color: #323232;
font-weight: 600;
}
</style>

View File

@ -2,26 +2,25 @@
"easycom": {
"^u-(.*)": "uview-ui/components/u-$1/u-$1.vue"
},
"pages": [
{
"pages": [{
"path": "pages/tail",
"style": {
"navigationBarTitleText": "",
"navigationStyle": "custom" //
"navigationStyle": "custom" //
}
},
{
"path": "pages/index/index",
"style": {
"navigationBarTitleText": "多样青春·活动",
"navigationStyle": "custom" //
"navigationStyle": "custom" //
}
},
{
"path": "pages/fenl/index",
"style": {
"navigationBarTitleText": "分类",
"navigationStyle": "custom" //
"navigationStyle": "custom" //
}
},
{
@ -30,12 +29,12 @@
"navigationBarTitleText": "申请入驻"
}
},
{
"path": "pages/activity/index",
"style": {
"navigationBarTitleText": "活动中心",
"navigationStyle": "custom" //
"navigationStyle": "custom" //
}
},
{
@ -48,252 +47,266 @@
{
"path": "pages/my/index",
"style": {
"navigationBarTitleText": "我的" ,//
"navigationStyle": "custom" //
"navigationBarTitleText": "我的", //
"navigationStyle": "custom" //
}
},
{
"path": "pages/my/classCheck",
"style": {
"navigationBarTitleText": "活动核销" ,//
"navigationStyle": "custom" //
"navigationBarTitleText": "活动核销", //
"navigationStyle": "custom" //
}
},
{
"path": "pages/center/index", // tabBar
"style": {
"navigationBarTitleText": "",
"navigationStyle": "custom" //
"navigationStyle": "custom" //
}
}
],
"subPackages": [{
"root": "packageA",
"pages": [
{
"path": "afterSales/index",
"style": {
"navigationBarTitleText": "售后订单"
}
},
"pages": [{
"path": "afterSales/index",
"style": {
"navigationBarTitleText": "售后订单"
}
},
{
"path": "afterSales/list",
"style": {
"navigationBarTitleText": "售后订单"
}
},
{
"path": "afterSales/info",
"style": {
"navigationBarTitleText": "售后订单"
}
},
{
"path": "Negotiate/agreement",
"style": {
"navigationBarTitleText": "用户协议"
}
},
{
"path": "Negotiate/privacy",
"style": {
"navigationBarTitleText": "隐私政策"
}
},
{
"path": "my/person-detail",
"style": {
"navigationBarTitleText": "个人中心"
}
},
{
"path": "my/makeList",
"style": {
"navigationBarTitleText": "我的预约"
}
},
{
"path": "my/station",
"style": {
"navigationBarTitleText": "站内信"
}
},
{
"path": "my/orderList",
"style": {
"navigationBarTitleText": "我发布的活动"
}
},
{
"path": "my/exercise",
"style": {
"navigationBarTitleText": "我参与的活动"
}
},
{
"path": "my/pendinPay",
"style": {
"navigationBarTitleText": "待支付订单"
}
},
{
"path": "my/pendinPayDetail",
"style": {
"navigationBarTitleText": "待核销订单"
}
},
{
"path": "my/pendinPayStatus",
"style": {
"navigationBarTitleText": "已完成订单",
"navigationStyle": "custom"
}
},
"path": "afterSales/list",
"style": {
"navigationBarTitleText": "售后订单"
}
},
{
"path": "afterSales/info",
"style": {
"navigationBarTitleText": "售后订单"
}
},
{
"path": "Negotiate/agreement",
"style": {
"navigationBarTitleText": "用户协议"
}
},
{
"path": "Negotiate/privacy",
"style": {
"navigationBarTitleText": "隐私政策"
}
},
{
"path": "my/person-detail",
"style": {
"navigationBarTitleText": "个人中心"
}
},
{
"path": "my/cancel",
"style": {
"navigationBarTitleText": "课程核销"
{
"path": "my/makeList",
"style": {
"navigationBarTitleText": "我的预约"
}
},
{
"path": "my/station",
"style": {
"navigationBarTitleText": "站内信"
}
},
{
"path": "my/orderList",
"style": {
"navigationBarTitleText": "我发布的活动"
}
},
{
"path": "my/exercise",
"style": {
"navigationBarTitleText": "我参与的活动"
}
},
{
"path": "my/pendinPay",
"style": {
"navigationBarTitleText": "待支付订单"
}
},
{
"path": "my/pendinPayDetail",
"style": {
"navigationBarTitleText": "待核销订单"
}
},
{
"path": "my/pendinPayStatus",
"style": {
"navigationBarTitleText": "已完成订单",
"navigationStyle": "custom"
}
},
{
"path": "my/cancel",
"style": {
"navigationBarTitleText": "课程核销"
}
},
{
"path": "my/cancelActivity",
"style": {
"navigationBarTitleText": "活动核销"
}
},
{
"path": "my/success",
"style": {
"navigationBarTitleText": "报名成功"
}
},
{
"path": "my/classCheck",
"style": {
"navigationBarTitleText": "报名审核"
}
},
{
"path": "my/stationDetail",
"style": {
"navigationBarTitleText": "消息详情"
}
},
{
"path": "my/Feedback",
"style": {
"navigationBarTitleText": "课程反馈"
}
},
{
"path": "my/timetable",
"style": {
"navigationBarTitleText": "课程表"
}
},
{
"path": "my/Judge",
"style": {
"navigationBarTitleText": "课程评价"
}
},
{
"path": "my/settleIn",
"style": {
"navigationBarTitleText": "邀请入驻"
}
},
{
"path": "my/management",
"style": {
"navigationBarTitleText": "课程管理"
}
},
{
"path": "my/ac-management",
"style": {
"navigationBarTitleText": "活动管理"
}
},
{
"path": "my/help",
"style": {
"navigationBarTitleText": "帮助"
}
},
{
"path": "my/helpDetail",
"style": {
"navigationBarTitleText": "帮助中心"
}
},
{
"path": "my/addManagement",
"style": {
"navigationBarTitleText": "新增课程"
}
},
{
"path": "my/mentList",
"style": {
"navigationBarTitleText": "订单管理"
}
},
{
"path": "my/refund",
"style": {
"navigationBarTitleText": "发起退款"
}
},
{
"path": "center/detail",
"style": {
"navigationBarTitleText": "",
"navigationStyle": "custom" //
}
},
{
"path": "center/detailSys",
"style": {
"navigationBarTitleText": "", //
"navigationStyle": "custom"
}
},
{
"path": "center/signDetail",
"style": {
"navigationBarTitleText": "报名信息"
}
},
{
"path": "center/MechanismDetail",
"style": {
"navigationBarTitleText": "机构详情"
}
},
{
"path": "center/orderDetail",
"style": {
"navigationBarTitleText": "订单详情"
}
},
{
"path": "center/applyDetail",
"style": {
"navigationBarTitleText": "支付参加"
}
}
},
{
"path": "my/cancelActivity",
"style": {
"navigationBarTitleText": "活动核销"
}
},
{
"path": "my/success",
"style": {
"navigationBarTitleText": "报名成功"
}
},
{
"path": "my/classCheck",
"style": {
"navigationBarTitleText": "报名审核"
}
},
{
"path": "my/stationDetail",
"style": {
"navigationBarTitleText": "消息详情"
}
},
{
"path": "my/Feedback",
"style": {
"navigationBarTitleText": "课程反馈"
}
},
{
"path": "my/timetable",
"style": {
"navigationBarTitleText": "课程表"
}
},
{
"path": "my/Judge",
"style": {
"navigationBarTitleText": "课程评价"
}
},
{
"path": "my/settleIn",
"style": {
"navigationBarTitleText": "邀请入驻"
}
},
{
"path": "my/management",
"style": {
"navigationBarTitleText": "课程管理"
}
},
{
"path": "my/ac-management",
"style": {
"navigationBarTitleText": "活动管理"
}
},
{
"path": "my/help",
"style": {
"navigationBarTitleText": "帮助"
}
},
{
"path": "my/helpDetail",
"style": {
"navigationBarTitleText": "帮助中心"
}
},
{
"path": "my/addManagement",
"style": {
"navigationBarTitleText": "新增课程"
}
},
{
"path": "my/mentList",
"style": {
"navigationBarTitleText": "订单管理"
}
},
{
"path": "my/refund",
"style": {
"navigationBarTitleText": "发起退款"
}
},
{
"path": "center/detail",
"style": {
"navigationBarTitleText": "",
"navigationStyle": "custom" //
}
},
{
"path": "center/detailSys",
"style": {
"navigationBarTitleText": "", //
"navigationStyle": "custom"
}
},
{
"path": "center/signDetail",
"style": {
"navigationBarTitleText": "报名信息"
}
},
{
"path": "center/MechanismDetail",
"style": {
"navigationBarTitleText": "机构详情"
}
},
{
"path": "center/orderDetail",
"style": {
"navigationBarTitleText": "订单详情"
}
},
{
"path": "center/applyDetail",
"style": {
"navigationBarTitleText": "支付参加"
}
}
]
},
{
"root": "packageB",
"pages": [{
"path": "wallet/index",
"style": {
"navigationBarTitleText": "我的钱包"
}
},{
"path": "wallet/bank",
"style": {
"navigationBarTitleText": "提现"
}
}]
}],
"preloadRule": { //
"pages/index/index": { // pages/indexAB
@ -311,8 +324,7 @@
"custom": true,
"color": "#888888",
"selectedColor": "#181818",
"list": [
{
"list": [{
"pagePath": "pages/index/index",
"text": "首页"
},

File diff suppressed because it is too large Load Diff

View File

@ -112,14 +112,11 @@
</template>
<script>
import MySwiper from "@/components/fuyu-MixSwiper/fuyu-MixSwiper.vue";
// import MySwiper from "@/components/fuyu-MixSwiper/fuyu-MixSwiper.vue";
import {
dateWeek
} from '../../utils/dateFormat'
export default {
components: {
MySwiper,
},
data() {
return {
cate_ids: '', //id

View File

@ -45,12 +45,12 @@
<!-- 提现 -->
<!-- <view class="first mymoney flex flex-column" @click="callPhone(init.mobile)">
<view class="first mymoney flex flex-column" @click="to('/packageB/wallet/index')">
<view class="flex">
<view class="flex flex-column myyue">
<span style="font-size: 26rpx;">当前余额</span>
<view class="flex align-items" style="margin-top: 20rpx;">
<span style="font-size: 40rpx;margin-right: 20rpx;">00.00</span>
<span style="font-size: 40rpx;margin-right: 20rpx;">{{settleInfo.settled_amount?settleInfo.settled_amount:0}}</span>
<image src="/static/my/qjt.png" mode="" style="width: 28rpx; height: 28rpx;"></image>
</view>
</view>
@ -59,12 +59,12 @@
<span class="tixianwz">提现</span>
</view>
</view>
<view class="flex align-items botmoney">
<span>待入账 6658.00</span>
<view class="flex align-items botmoney" >
<span>待入账 {{settleInfo.expected_incoming_amount?settleInfo.expected_incoming_amount:0}}</span>
<span class="shu"></span>
<span>累计收益 6658.00</span>
<span>累计收益 {{settleInfo.accumulated_incoming_amount?settleInfo.accumulated_incoming_amount:0}}</span>
</view>
</view> -->
</view>
<!-- 成为主理人 -->
<view class="first service flex justify-center align-items" @click="iszhuliren()">
@ -181,6 +181,7 @@ export default {
...mapActions(['number']),
data() {
return {
settleInfo:{},
tabBarShow:null,
topHeight: '',
hotList: [],
@ -744,6 +745,8 @@ export default {
this.avatar = res.data.user_info.avatar;
this.actives = res.data.activity_info.join_num;
this.pushActives = res.data.activity_info.release_num;
this.settleInfo= res.data.settle_info;
uni.setStorageSync("niName", res.data.user_info.nickname)
this.userinfo = res.data.user_info
@ -1137,13 +1140,13 @@ export default {
.mymoney {
margin-top: 30rpx;
width: 690rpx;
height: 206rpx;
height: 200rpx;
background: #323232;
border-radius: 24rpx;
position: relative;
align-items: flex-start;
.myyue{
margin-top: 40rpx;
margin-top: 30rpx;
margin-left: 30rpx;
color: #ffffff;
}

BIN
static/wallet.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB