完成小程序端接单模块的前端部分

This commit is contained in:
chen-xin-zhi 2025-06-01 10:43:37 +08:00
parent 97f9dad10d
commit 62a6b0eec6
23 changed files with 394 additions and 81 deletions

View File

@ -19,7 +19,8 @@
"pages/projectModule/userProject/userProject",
"pages/loginModule/forgetPwd/forgetPwd",
"pages/personCenter/commissionSetting/commissionSetting",
"pages/personCenter/resetPwd/resetPwd"
"pages/personCenter/resetPwd/resetPwd",
"pages/personCenter/bindBankCard/bindBankCard"
],
"window": {
"navigationBarTextStyle": "black",

View File

@ -0,0 +1,66 @@
// pages/personCenter/bindBankCard/bindBankCard.js
Page({
/**
* 页面的初始数据
*/
data: {
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
}
})

View File

@ -0,0 +1,3 @@
{
"usingComponents": {}
}

View File

@ -0,0 +1,44 @@
<view class="flex-col page">
<text class="self-center font text">绑定银行卡</text>
<text class="self-center font_2 text_2">请绑定持卡人本人的银行卡</text>
<view class="flex-col self-stretch group">
<view class="self-start group_2">
<text class="font_2">持卡人</text>
<text class="font_3">*</text>
</view>
<view class="flex-col justify-start items-start self-stretch text-wrapper mt-11">
<input class="text_3 font" placeholder="请输入持卡人" />
</view>
<view class="self-start group_3 mt-11">
<text class="font_2 text_4">身份证号</text>
<text class="font_3">*</text>
</view>
<view class="flex-col justify-start items-start self-stretch text-wrapper_2 mt-11">
<input class="text_12 font_4" placeholder="请输入持卡人身份证号" />
</view>
<view class="self-start group_4 mt-11">
<text class="font_2">手机号</text>
<text class="font_3">*</text>
</view>
<view class="flex-col justify-start items-start self-stretch text-wrapper_2 mt-11">
<input class="text_1 font_4" placeholder="请输入持卡人绑定的手机号" />
</view>
<view class="self-start group_5 mt-11">
<text class="font_2 text_6">银行卡号</text>
<text class="font_3">*</text>
</view>
<view class="flex-col justify-start items-start self-stretch text-wrapper_2 mt-11">
<input class="text_5 font_4" placeholder="请输入持卡人银行卡号" />
</view>
<view class="self-start group_6 mt-11">
<text class="font_2 text_7">开户银行</text>
<text class="font_3">*</text>
</view>
<view class="flex-col justify-start items-start self-stretch text-wrapper_2 mt-11">
<input class="text_1 font_4" placeholder="请输入开户银行" />
</view>
</view>
<view class="flex-col justify-start items-center self-center text-wrapper_3">
<text class="font_2 text_8">保存</text>
</view>
</view>

View File

@ -0,0 +1,103 @@
.mt-11 {
margin-top: 20.99rpx;
}
.page {
padding: 77.27rpx 45.8rpx 372.14rpx 45.8rpx;
background-color: #ffffff;
width: 100%;
overflow-y: auto;
overflow-x: hidden;
height: 100%;
}
.font_2 {
font-size: 30.53rpx;
font-family: SourceHanSansCN;
line-height: 28.09rpx;
color: #000000;
}
.text_2 {
margin-top: 53.49rpx;
color: #808080;
line-height: 28.4rpx;
}
.group {
margin-top: 84.43rpx;
}
.group_2 {
line-height: 28.09rpx;
}
.font_3 {
font-size: 30.53rpx;
font-family: SourceHanSansCN;
line-height: 9.92rpx;
color: #ff5733;
}
.text-wrapper {
padding: 26.87rpx 0 23.32rpx;
background-color: #f5f5f5;
border-radius: 10rpx;
}
.text_3 {
margin-left: 27.52rpx;
}
.font {
font-size: 34.35rpx;
font-family: SourceHanSansCN;
line-height: 31.87rpx;
color: #000000;
}
.text {
line-height: 32.25rpx;
}
.group_3 {
line-height: 28.44rpx;
}
.text_4 {
line-height: 28.44rpx;
}
.text-wrapper_2 {
padding: 30.38rpx 0 25.61rpx;
background-color: #f5f5f5;
border-radius: 10rpx;
}
.text_12 {
margin-left: 25.8rpx;
}
.group_4 {
line-height: 28.09rpx;
}
.text_1 {
width: 400rpx;
margin-left: 27.82rpx;
}
.group_5 {
line-height: 28.21rpx;
}
.text_6 {
line-height: 28.21rpx;
}
.text_5 {
margin-left: 26.74rpx;
}
.font_4 {
font-size: 34.35rpx;
font-family: SourceHanSansCN;
line-height: 26.07rpx;
color: #000000;
}
.group_6 {
line-height: 28.49rpx;
}
.text_7 {
line-height: 28.49rpx;
}
.text-wrapper_3 {
margin-top: 57.25rpx;
padding: 25.84rpx 0 20.5rpx;
background-color: #ff8d1a;
border-radius: 19.08rpx;
width: 248.09rpx;
}
.text_8 {
color: #ffffff;
}

View File

@ -1,5 +1,3 @@
import { baseUrl } from "../../../request";
// pages/personCenter/commissionSetting/commissionSetting.js
Page({
@ -9,28 +7,44 @@ Page({
data: {
items_1: [null, null, null],
items: [null, null],
projectList: []
showPopup: false, // 控制弹窗显隐
showCommissionRatePop: false,
},
// 显示弹窗
showPopup() {
this.setData({
showPopup: true
});
},
// 关闭弹窗
closePopup() {
this.setData({
showPopup: false
});
},
// 处理抽佣比例提交
handleCommissionSubmit(e) {
const { commissionRate } = e.detail;
console.log(`设置的抽佣比例是:${commissionRate}%`);
// 你可以在这里保存提交的数据,或者执行其他操作
this.closePopup(); // 确认后关闭弹窗
},
// 点击“设价”按钮,显示弹窗
showCommissionRatePop() {
this.setData({ showCommissionRatePop: true });
},
// 获取项目列表
getProjectList() {
wx.request({
url: baseUrl + '/projectCommission/query/commission ',
method: 'POST',
header: {
Authorization: wx.getStorageSync('token')
},
success: res => {
console.log('项目列表-->',res.data);
if (res.data.code === 1) {
this.setData({
projectList: res.data.data
})
}
}
})
// 关闭弹窗(包括遮罩点击和取消按钮)
closeCommissionRatePop() {
this.setData({ showCommissionRatePop: false });
},
// 确认按钮回调
handleCommissionRateConfirm(e) {
const { agentPrice, commissionRate, pricingMethod } = e.detail;
console.log('设置数据:', agentPrice, commissionRate, pricingMethod);
this.closeCommissionRatePop();
},
gotoSubCommission() {
wx.navigateTo({
url: '/pages/personCenter/subCommissionSetting/subCommissionSetting',
@ -40,7 +54,7 @@ Page({
* 生命周期函数--监听页面加载
*/
onLoad(options) {
this.getProjectList()
},
/**

View File

@ -1,3 +1,6 @@
{
"usingComponents": {}
"usingComponents": {
"commissionPop": "/pages/personCenter/component/commissionPop/commissionPop",
"commissionRatePop": "/pages/personCenter/component/commissionRatePop/commissionRatePop"
}
}

View File

@ -3,7 +3,7 @@
<view class="flex-row items-center">
<image
class="shrink-0 image"
src="https://ide.code.fun/api/image?token=68368d354ae84d001230f4d1&name=45456da4cda2cfc790fd25988b784619.png"
src="./images/tz.png"
/>
<view class="group ml-5">
<text class="font text">一键设置下级抽成比例:</text>
@ -12,28 +12,28 @@
</view>
<image
class="image_2"
src="./images/rightBlack.png"
src="./images/yjt1.png"
/>
</view>
<view class="flex-col mt-19">
<view class="flex-col list-item mt-20" wx:for="{{projectList}}" wx:for-item="item" wx:for-index="index" wx:key="index">
<view class="flex-col list-item mt-20" wx:for="{{items}}" wx:for-item="item" wx:for-index="index" wx:key="index">
<view class="flex-row group_2">
<view class="flex-row flex-1 self-center">
<image
class="shrink-0 image_3"
src="{{ item.projectImage }}"
src="./images/xmtp.png"
/>
<view class="flex-col items-start flex-1 group_3 ml-13">
<text class="font">{{ item.projectName }}</text>
<text class="font">美团神券包-春季活动</text>
<view class="flex-col justify-start items-center text-wrapper mt-14">
<text class="font_3 text_4">结算T+{{ item.projectSettlementCycle }}</text>
<text class="font_3 text_4">结算T+2</text>
</view>
</view>
</view>
<view class="flex-row shrink-0 self-start section_2 ml-21" bind:tap="gotoSubCommission">
<image
class="image_4 image_5"
src="./images/right.png"
src="./images/yjt2.png"
/>
<text class="font_2 text_3">下级单价</text>
</view>
@ -47,17 +47,17 @@
<view class="flex-col mt-16">
<view
class="flex-row justify-center items-center relative list-item_2 mt-14"
wx:for="{{item.projectDetailCommissionVOList}}"
wx:for-item="commission"
wx:for="{{items_1}}"
wx:for-item="item"
wx:for-index="index"
wx:key="index"
>
<text class="font_6 text_6 pos">{{ commission.projectDetailName }}</text>
<text class="font_7 text_9">{{ commission.myUnitPrice }}/{{ commission.agentUnitPrice }}/{{ commission.currentCommissionRate }}%</text>
<text class="font_6 text_6 pos">3.6元购买</text>
<text class="font_7 text_9">0.30/0.30/0.00%</text>
<view class="flex-row group_5 pos_2" bindtap="showCommissionRatePop">
<image
class="image_4 image_6"
src="https://ide.code.fun/api/image?token=68368d354ae84d001230f4d1&name=2994ec01c6859d93ce653a6cb3d50301.png"
src="./images/yjt3.png"
/>
<text class="font_8 text_8">设价</text>
</view>

Binary file not shown.

After

Width:  |  Height:  |  Size: 804 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 603 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 182 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 290 B

View File

@ -1,24 +1,32 @@
// pages/personCenter/component/InvitationCodePop/InvitationCodePop.js
Component({
/**
* 组件的属性列表
*/
properties: {
// 接收传递进来的二维码图片路径
show: { // 控制显示/隐藏
type: Boolean,
value: false
},
qrcode: {
type: String,
value: ""
},
},
/**
* 组件的初始数据
*/
data: {
closeIcon: "./images/cha.png", // 关闭按钮的图标
},
/**
* 组件的方法列表
*/
methods: {
// 关闭弹窗
close() {
// 触发关闭弹窗事件
this.triggerEvent('close');
},
// 预览二维码
previewQrcode() {
wx.previewImage({
urls: [this.data.qrcode], // 预览图片
});
}
}
})
});

View File

@ -1,24 +1,57 @@
// pages/personCenter/component/commissionPop/commissionPop.js
Component({
/**
* 组件的属性列表
*/
properties: {
show: {
type: Boolean,
value: false,
},
},
/**
* 组件的初始数据
*/
data: {
commissionRate: "", // 用户输入的抽佣比例
},
/**
* 组件的方法列表
*/
methods: {
// 获取用户输入的比例
handleInput(e) {
this.setData({
commissionRate: e.detail.value,
});
},
}
// 提交设置
submit() {
const rate = parseFloat(this.data.commissionRate);
if (isNaN(rate) || rate <= 0 || rate > 5) {
wx.showToast({
title: `请输入有效的比例,最大为 5%`,
icon: 'none',
});
return;
}
// 触发父组件的事件,将设置的比例传递出去
this.triggerEvent('submit', {
commissionRate: rate,
});
// 关闭弹窗
this.triggerEvent('close');
},
// 关闭弹窗
close() {
this.triggerEvent('close');
}
}
})

View File

@ -1,24 +1,28 @@
// pages/personCenter/component/commissionRatePop/commissionRatePop.js
Component({
/**
* 组件的属性列表
*/
properties: {
},
/**
* 组件的初始数据
*/
data: {
show: { // 控制显示/隐藏
type: Boolean,
value: false
},
},
/**
* 组件的方法列表
*/
methods: {
close() {
this.triggerEvent('close');
},
cancel() {
this.triggerEvent('cancel');
},
confirm() {
// 触发confirm事件带数据
this.triggerEvent('confirm', {/*数据*/});
},
}
})
})

View File

@ -7,10 +7,7 @@ Page({
* 页面的初始数据
*/
data: {
items: [null, null, null],
cxz: "",
cxz2: "",
cxz3: "",
items: [null],
nickName: "",
userAvatar: "",
phoneNumber: "",
@ -19,7 +16,22 @@ Page({
currentBalance: "", // 当前余额
withdrawalAmount: "", // 提现中的余额
withdrawnAmount: "", // 已提现的余额
totalIncome:"" // 累计收入
totalIncome:"", // 累计收入
showPopup: false, // 控制弹窗显示与否
qrcode: "https://img.picui.cn/free/2025/05/29/6837c53582068.gif", // 设置二维码图片的路径
},
// 点击二维码时,显示弹窗
showPromoPopup() {
this.setData({
showPopup: true
});
},
// 关闭弹窗
closePopup() {
this.setData({
showPopup: false
});
},
myteam(){
wx.navigateTo({

View File

@ -2,25 +2,25 @@
<view class="flex-col relative section">
<view class="flex-row justify-between items-center group">
<view class="flex-col">
<text class="self-start font text">{{ nickName }}</text>
<text class="self-start font text">qingcheng</text>
<view class="flex-row items-center self-stretch group_2 mt-9">
<image
class="image_3"
src="./images/dianhua.png"
mode="aspectFill"
/>
<text class="font_2 text_2 ml-7">{{ phoneNumber }}</text>
<text class="font_2 text_2 ml-7">15214547473</text>
</view>
<view class="flex-row items-center self-stretch section_2 mt-9">
<text class="font_3 text_3">邀请码123445</text>
<image
class="shrink-0 image_4"
src="./images/fuzhi.png"
mode="aspectFill"
/>
<text class="font_3 text_3">邀请码:{{ invitationCode }}</text>
</view>
</view>
<view class="flex-col items-center" bind:tap="erweima">
<view class="flex-col items-center">
<image
class="image_2"
src="./images/erweima.png"
@ -34,7 +34,7 @@
<view class="flex-row justify-between items-center group_4">
<view class="group_5">
<text class="font_2 text_6">当前金额:</text>
<text class="text_5">¥{{ currentBalance }}</text>
<text class="text_5">¥5.00</text>
</view>
<view class="flex-row items-center section_3" bind:tap="lijitixian">
<image
@ -47,15 +47,15 @@
<view class="flex-row items-start equal-division section_4">
<view class="flex-col items-center equal-division-item_8">
<text class="font_2 text_8">提现中</text>
<text class="font_4 mt-15">¥{{ withdrawalAmount }}</text>
<text class="font_4 mt-15">¥0.00</text>
</view>
<view class="flex-col items-center group_6 equal-division-item">
<text class="font_2 text_9">已提现</text>
<text class="font_4 mt-15">¥{{ withdrawnAmount }}</text>
<text class="font_4 mt-15">¥0.00</text>
</view>
<view class="flex-col items-center group_7 equal-division-item_8">
<text class="font_2 text_10">累计收入</text>
<text class="font_4 mt-15">¥{{ totalIncome }}</text>
<text class="font_4 mt-15">¥0.00</text>
</view>
</view>
</view>

Binary file not shown.

After

Width:  |  Height:  |  Size: 951 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 290 B

View File

@ -7,6 +7,24 @@ Page({
data: {
items_1: [null, null, null],
items: [null, null],
showCommissionRatePop: false,
},
// 点击“设价”按钮,显示弹窗
showCommissionRatePop() {
this.setData({ showCommissionRatePop: true });
},
// 关闭弹窗(包括遮罩点击和取消按钮)
closeCommissionRatePop() {
this.setData({ showCommissionRatePop: false });
},
// 确认按钮回调
handleCommissionRateConfirm(e) {
const { agentPrice, commissionRate, pricingMethod } = e.detail;
console.log('设置数据:', agentPrice, commissionRate, pricingMethod);
this.closeCommissionRatePop();
},
/**

View File

@ -4,7 +4,7 @@
<view class="flex-row items-center section">
<image
class="image"
src="https://ide.code.fun/api/image?token=68368d354ae84d001230f4d1&name=923cbdfd7647bf70f563354b3b547dea.png"
src="./images/ss.png"
/>
<input class="font text_2 ml-7" placeholder="请输入关键字" />
</view>
@ -31,7 +31,7 @@
<view class="flex-row shrink-0 group_2" bindtap="showCommissionRatePop">
<image
class="image_2"
src="https://ide.code.fun/api/image?token=68368d354ae84d001230f4d1&name=2994ec01c6859d93ce653a6cb3d50301.png"
src="./images/yjt.png"
/>
<text class="font_6 text_7">设价</text>
</view>

View File

@ -7,7 +7,11 @@ Page({
data: {
},
gotoEditBankCardInfo() {
wx.navigateTo({
url: '/pages/personCenter/bindBankCard/bindBankCard',
})
},
/**
* 生命周期函数--监听页面加载
*/