@dongkboy 2 bulan lalu
induk
melakukan
0e6c33a387

+ 7 - 8
config/baseUrl.js

@@ -4,23 +4,22 @@ let socketUrl = "";
 if (process.env.NODE_ENV === 'development') {
 	// 开发环境
 	// baseUrl = "http://192.168.0.106:8080"; //屈晨
-	baseUrl = "http://192.168.0.59:8080"; //徐强
+	baseUrl = "http://192.168.0.59:8001"; //徐强
 	// baseUrl = "http://192.168.0.52:8080"; //贺礼霄
 	// baseUrl = "https://test.baoxianzhanggui.com/web-api"; //测试
-	h5BaseUrl = "https://test.baoxianzhanggui.com/partner2H5";
+	// h5BaseUrl = "https://test.baoxianzhanggui.com/partner2H5";
 	// baseUrl = "https://pre.baoxianzhanggui.com/web-api"; //预生产
-	// h5BaseUrl = "https://pre.baoxianzhanggui.com/h5";
 	// baseUrl = "https://sxzgkj.baoxianzhanggui.com/web-api"; //生产
-	// h5BaseUrl = "https://sxzgkj.baoxianzhanggui.com/partner2H5";
+	h5BaseUrl = "https://sxzgkj.baoxianzhanggui.com/partner2";
 	socketUrl = "";
 } else if (process.env.NODE_ENV === 'production') {
 	// 生产环境
-	baseUrl = "https://test.baoxianzhanggui.com/web-api"; //测试
-	h5BaseUrl = "https://test.baoxianzhanggui.com/partner2H5";
+	// baseUrl = "https://test.baoxianzhanggui.com/web-api"; //测试   
+	// h5BaseUrl = "https://test.baoxianzhanggui.com/partner2H5";
 	// baseUrl = "https://pre.baoxianzhanggui.com/web-api"; //预生产
 	// h5BaseUrl = "https://pre.baoxian8zhanggui.com/partner2H5";
-	// baseUrl = "https://sxzgkj.baoxianzhanggui.com/web-api"; //生产
-	// h5BaseUrl = "https://sxzgkj.baoxianzhanggui.com/partner2H5";
+	baseUrl = "https://sxzgkj.baoxianzhanggui.com/web-api"; //生产
+	h5BaseUrl = "https://sxzgkj.baoxianzhanggui.com/partner2";
 	socketUrl = "";
 }
 const courtConfig = {

+ 3 - 3
manifest.json

@@ -7,8 +7,8 @@
 		"sizes": "分辨率,192x192",
 		"src": "图片路径"
 	}],
-	"versionName": "1.1.4",
-	"versionCode": 114,
+	"versionName": "1.1.0",
+	"versionCode": 110,
 	"app-plus": {
 		"error": {
 			"url": "hybrid/html/error.html"
@@ -174,7 +174,7 @@
 		},
 		"devServer": {
 			"https": false,
-			"port": 80
+			"port": 81
 		},
 		"sdkConfigs": {
 			"maps": {}

+ 14 - 1
pages.json

@@ -155,6 +155,19 @@
 				}
 			}
 		},
+		{
+			"path": "pages/institutional/untransferredRecords",
+			"style": {
+				"navigationBarTextStyle": "white",
+				"navigationBarTitleText": "未转入记录",
+				"app-plus": {
+					"titleNView": false,
+					"scrollIndicator": "none",
+					"bounce": "none"
+				}
+			}
+		},
+
 		{
 			"path": "pages/institutional/accountFreezeRecord",
 			"style": {
@@ -423,7 +436,7 @@
 			"path": "pages/index/index",
 			"style": {
 				"navigationBarTextStyle": "white",
-				"enablePullDownRefresh": false, //开启下拉刷新
+				"enablePullDownRefresh": true, //开启下拉刷新
 				"navigationStyle": "custom",
 				"app-plus": {
 					"titleNView": false

+ 3 - 2
pages/index/applypartner.vue

@@ -133,7 +133,7 @@
 					this.$http.post('/user/newSaveUserInfoByPartner', {
 						sysUser: {
 							...this.personData,
-							roleId: this.grade == 4 ? "21" : "97",
+							roleId: this.grade == 4 ? "21" : "108",
 							referrerId: this.id,
 							grade: this.grade,
 							...(this.deptSource != null && {
@@ -145,7 +145,8 @@
 						if (res.code == 200) {
 							let obj = JSON.stringify({
 								id: res.data.id,
-								mobile: res.data.mobile
+								mobile: res.data.mobile,
+								grade: this.grade,
 							});
 							uni.redirectTo({
 								url: "/pages/index/success?data=" + obj

+ 136 - 85
pages/index/index.vue

@@ -52,7 +52,7 @@
 			<view class="statistics">
 				<uni-tabs :list="teamOverview" :is-scroll="true" name="gradeName" active-color="#333"
 					inactive-color="#999" :current="current" @change="change"
-					style="background: transparent;border-bottom: 1rpx solid #EEEEEE;"></uni-tabs>
+					style="background: transparent;border-bottom: 1rpx solid #EEEEEE;padding: 0 10rpx;"></uni-tabs>
 				<view class="count">
 					<template v-if="teamOverviewInfo.grade==1">
 						<image src="/static/home/icon4.png" class="mb-2" mode=""
@@ -61,20 +61,20 @@
 						<view class="data dis f-wrap j-s ">
 							<view class="dis f-c a-c view" style="border-right: 1rpx solid #EEEEEE;"
 								@click="closePartner">
-								<text>{{teamOverviewInfo.vo1.v1 || 0}}</text>
+								<text>{{teamOverviewInfo.vo1 && teamOverviewInfo.vo1.v1?teamOverviewInfo.vo1.v1:0}}</text>
 								<text>我的管理人</text>
 							</view>
 							<view class="dis f-c a-c view">
-								<text>{{teamOverviewInfo.vo1.v2 || 0}}</text>
+								<text>{{teamOverviewInfo.vo1 && teamOverviewInfo.vo1.v2?teamOverviewInfo.vo1.v2:0}}</text>
 								<text>管理人的合伙人</text>
 							</view>
 							<view class="dis f-c a-c view" style="border-right: 1rpx solid #EEEEEE;"
 								@click="todayclosePartner">
-								<text>{{teamOverviewInfo.vo1.v3 || 0}}</text>
+								<text>{{teamOverviewInfo.vo1 && teamOverviewInfo.vo1.v3?teamOverviewInfo.vo1.v3:0}}</text>
 								<text>我今日新增管理人</text>
 							</view>
 							<view class="dis f-c a-c view">
-								<text>{{teamOverviewInfo.vo1.v4 || 0}}</text>
+								<text>{{teamOverviewInfo.vo1 && teamOverviewInfo.vo1.v4?teamOverviewInfo.vo1.v4:0}}</text>
 								<text>今日管理人邀请的合伙人</text>
 							</view>
 						</view>
@@ -87,7 +87,8 @@
 								<text>{{userWalletInfo.extractFee || 0}}</text>
 								<text>佣金</text>
 							</view>
-							<view class="dis f-c a-c view" style="border-right: 1rpx solid #EEEEEE;">
+							<view class="dis f-c a-c view" style="border-right: 1rpx solid #EEEEEE;"
+								@click="incomingTransferLog">
 								<text>{{userWalletInfo.historyFee || 0}}</text>
 								<text>佣金已转入</text>
 							</view>
@@ -115,28 +116,28 @@
 							<!-- 权限锁定组件 -->
 							<view class="dis f-c a-c view" style="border-right: 1rpx solid #EEEEEE;"
 								@click="closePartner">
-								<text>{{teamOverviewInfo.vo2.v1 || 0}}</text>
+								<text>{{teamOverviewInfo.vo2 && teamOverviewInfo.vo2.v1?teamOverviewInfo.vo2.v1:0}}</text>
 								<text>我的合伙人</text>
 							</view>
 							<view class="dis f-c a-c view">
-								<text>{{teamOverviewInfo.vo2.v2 || 0}}</text>
+								<text>{{teamOverviewInfo.vo2 && teamOverviewInfo.vo2.v2?teamOverviewInfo.vo2.v2:0}}</text>
 								<text>合伙人的工作室</text>
 							</view>
 							<view class="dis f-c a-c view" style="border-right: 1rpx solid #EEEEEE;"
 								@click="todayclosePartner">
-								<text>{{teamOverviewInfo.vo2.v3 || 0}}</text>
+								<text>{{teamOverviewInfo.vo2 && teamOverviewInfo.vo2.v3?teamOverviewInfo.vo2.v3:0}}</text>
 								<text>我今日新增合伙人</text>
 							</view>
 							<view class="dis f-c a-c view">
-								<text>{{teamOverviewInfo.vo2.v4 || 0}}</text>
+								<text>{{teamOverviewInfo.vo2 && teamOverviewInfo.vo2.v4?teamOverviewInfo.vo2.v4:0}}</text>
 								<text>今日合伙人邀请的工作室</text>
 							</view>
 							<view class="dis f-c a-c view" style="border-right: 1rpx solid #EEEEEE;">
-								<text>{{teamOverviewInfo.vo2.v5 || 0}}</text>
+								<text>{{teamOverviewInfo.vo2 && teamOverviewInfo.vo2.v5?teamOverviewInfo.vo2.v5:0}}</text>
 								<text>今日保费</text>
 							</view>
 							<view class="dis f-c a-c view">
-								<text>{{teamOverviewInfo.vo2.v6 || 0}}</text>
+								<text>{{teamOverviewInfo.vo2 && teamOverviewInfo.vo2.v6?teamOverviewInfo.vo2.v6:0}}</text>
 								<text>今日佣金</text>
 							</view>
 						</view>
@@ -149,11 +150,12 @@
 								<text>{{userWalletInfo.extractFee ||0}}</text>
 								<text>佣金</text>
 							</view>
-							<view class="dis f-c a-c view" style="border-right: 1rpx solid #EEEEEE;">
+							<view class="dis f-c a-c view" style="border-right: 1rpx solid #EEEEEE;"
+								@click="incomingTransferLog">
 								<text>{{userWalletInfo.historyFee ||0 }}</text>
 								<text>佣金已转入</text>
 							</view>
-							<view class="dis f-c a-c view">
+							<view class="dis f-c a-c view" @click="accountExpireRecord">
 								<text>{{userWalletInfo.expired||0 }}</text>
 								<text>佣金已过期</text>
 							</view>
@@ -165,7 +167,7 @@
 									<u-icon name="arrow-rightward" color="#2D6DFF" size="20"></u-icon>
 								</view>
 							</view>
-							<view class="dis f-c a-c view">
+							<view class="dis f-c a-c view" @click="accountFreezeRecord">
 								<text
 									:style="{color:userWalletInfo.freeze>0?'#999':'#333'}">{{userWalletInfo.freeze ||0}}</text>
 								<text>佣金已冻结</text>
@@ -190,28 +192,28 @@
 							<!-- 权限锁定组件 -->
 							<view class="dis f-c a-c view" style="border-right: 1rpx solid #EEEEEE;"
 								@click="closePartner">
-								<text>{{teamOverviewInfo.vo3.v1 || 0}}</text>
+								<text>{{teamOverviewInfo.vo3 && teamOverviewInfo.vo3.v1?teamOverviewInfo.vo3.v1:0}}</text>
 								<text>我的工作室</text>
 							</view>
 							<view class="dis f-c a-c view">
-								<text>{{teamOverviewInfo.vo3.v2 || 0}}</text>
+								<text>{{teamOverviewInfo.vo3 && teamOverviewInfo.vo3.v2?teamOverviewInfo.vo3.v2:0}}</text>
 								<text>工作室下的业务团队</text>
 							</view>
 							<view class="dis f-c a-c view" style="border-right: 1rpx solid #EEEEEE;"
 								@click="todayclosePartner">
-								<text>{{teamOverviewInfo.vo3.v3 || 0}}</text>
+								<text>{{teamOverviewInfo.vo3 && teamOverviewInfo.vo3.v3?teamOverviewInfo.vo3.v3:0}}</text>
 								<text>我今日新增工作室</text>
 							</view>
 							<view class="dis f-c a-c view">
-								<text>{{teamOverviewInfo.vo3.v4 || 0}}</text>
+								<text>{{teamOverviewInfo.vo3 && teamOverviewInfo.vo3.v4?teamOverviewInfo.vo3.v4:0}}</text>
 								<text>今日工作室邀请的团队</text>
 							</view>
 							<view class="dis f-c a-c view" style="border-right: 1rpx solid #EEEEEE;">
-								<text>{{teamOverviewInfo.vo3.v5 || 0}}</text>
+								<text>{{teamOverviewInfo.vo3 && teamOverviewInfo.vo3.v5?teamOverviewInfo.vo3.v5:0}}</text>
 								<text>今日保费</text>
 							</view>
 							<view class="dis f-c a-c view">
-								<text>{{teamOverviewInfo.vo3.v6 || 0}}</text>
+								<text>{{teamOverviewInfo.vo3 && teamOverviewInfo.vo3.v6?teamOverviewInfo.vo3.v6:0}}</text>
 								<text>今日佣金</text>
 							</view>
 						</view>
@@ -224,11 +226,12 @@
 								<text>{{userWalletInfo.extractFee ||0}}</text>
 								<text>佣金</text>
 							</view>
-							<view class="dis f-c a-c view" style="border-right: 1rpx solid #EEEEEE;">
+							<view class="dis f-c a-c view" style="border-right: 1rpx solid #EEEEEE;"
+								@click="incomingTransferLog">
 								<text>{{userWalletInfo.historyFee ||0 }}</text>
 								<text>佣金已转入</text>
 							</view>
-							<view class="dis f-c a-c view">
+							<view class="dis f-c a-c view" @click="accountExpireRecord">
 								<text>{{userWalletInfo.expired||0 }}</text>
 								<text>佣金已过期</text>
 							</view>
@@ -240,7 +243,7 @@
 									<u-icon name="arrow-rightward" color="#2D6DFF" size="20"></u-icon>
 								</view>
 							</view>
-							<view class="dis f-c a-c view">
+							<view class="dis f-c a-c view" @click="accountFreezeRecord">
 								<text
 									:style="{color:userWalletInfo.freeze>0?'#999':'#333'}">{{userWalletInfo.freeze ||0}}</text>
 								<text>佣金已冻结</text>
@@ -264,28 +267,28 @@
 							<!-- 权限锁定组件 -->
 							<view class="dis f-c a-c view" style="border-right: 1rpx solid #EEEEEE;"
 								@click="closePartner">
-								<text>{{teamOverviewInfo.vo4.v1 || 0}}</text>
+								<text>{{teamOverviewInfo.vo4 && teamOverviewInfo.vo4.v1?teamOverviewInfo.vo4.v1:0}}</text>
 								<text>我的团队</text>
 							</view>
 							<view class="dis f-c a-c view">
-								<text>{{teamOverviewInfo.vo4.v2 || 0}}</text>
+								<text>{{teamOverviewInfo.vo4 && teamOverviewInfo.vo4.v2?teamOverviewInfo.vo4.v2:0}}</text>
 								<text>代理人人数</text>
 							</view>
 							<view class="dis f-c a-c view" style="border-right: 1rpx solid #EEEEEE;"
 								@click="todayclosePartner">
-								<text>{{teamOverviewInfo.vo4.v3 || 0}}</text>
+								<text>{{teamOverviewInfo.vo4 && teamOverviewInfo.vo4.v3?teamOverviewInfo.vo4.v3:0}}</text>
 								<text>我今日新增团队</text>
 							</view>
 							<view class="dis f-c a-c view">
-								<text>{{teamOverviewInfo.vo4.v4 || 0}}</text>
+								<text>{{teamOverviewInfo.vo4 && teamOverviewInfo.vo4.v4?teamOverviewInfo.vo4.v4:0}}</text>
 								<text>今日新增代理人</text>
 							</view>
 							<view class="dis f-c a-c view" style="border-right: 1rpx solid #EEEEEE;">
-								<text>{{teamOverviewInfo.vo4.v5 || 0}}</text>
+								<text>{{teamOverviewInfo.vo4 && teamOverviewInfo.vo4.v5?teamOverviewInfo.vo4.v5:0}}</text>
 								<text>今日保费</text>
 							</view>
 							<view class="dis f-c a-c view">
-								<text>{{teamOverviewInfo.vo4.v6 || 0 }}</text>
+								<text>{{teamOverviewInfo.vo4 && teamOverviewInfo.vo4.v6?teamOverviewInfo.vo4.v6:0}}</text>
 								<text>今日佣金</text>
 							</view>
 						</view>
@@ -422,7 +425,7 @@
 									</view>
 								</view>
 								<view :class="index==1?'task-btn1':'task-btn'"
-									v-if="Number(item.achieve)>=Number(item.min)">
+									v-if="Number(item.achieve)>=Number(item.min)" @click="requestUnlock">
 									已完成
 								</view>
 								<view :class="index==1?'task-btn1':'task-btn'" v-else @click="requestUnlock">
@@ -475,7 +478,7 @@
 					<text>您的每一个等级收益需要手动转入钱包中,才可以将收益提现</text>
 					<view class="mt-1 ">
 						<text>{{userWalletInfo.cashFee}}元</text>
-						<text class="ml-2" style="color: #2D6DFF;">全部转入</text>
+						<text class="ml-2" style="color: #2D6DFF;" @click="transferAll">全部转入</text>
 					</view>
 					<u-input v-model="amount" class="mt-1" type="digit" :border="true" placeholder="输入转入金额" focus />
 				</view>
@@ -522,6 +525,8 @@
 		},
 		data() {
 			return {
+				showBackground: false,
+				prevScrollTop: 0,
 				startTime: null,
 				endTime: null,
 				swiperKey: 0, // 用于强制更新 swiper
@@ -566,18 +571,75 @@
 				grade: 0,
 			}
 		},
+		//下拉刷新
+		async onPullDownRefresh() {
+			await this.getList();
+			await this.getAmountList(this.teamOverviewInfo.grade)
+			uni.stopPullDownRefresh();
+		},
+		onPageScroll(e) {
+			this.handleScroll(e);
+		},
+		mounted() {
+			uni.pageScrollTo({
+				scrollTop: 0,
+				duration: 0
+			});
+			uni.$on('scroll', this.handleScroll);
+
+		},
+		destroyed() {
+			uni.$off('scroll', this.handleScroll);
+		},
 		onShow() {},
 		async onLoad() {
-
+			this.startTime = this.today();
+			this.endTime = this.today();
 			this.type = uni.getStorageSync('type')
 			this.showData = '全部数据';
 			await this.getList() //人员统计
-			this.getAmountList(this.userInfo.sysUser.grade); //角色佣金
+			this.getAmountList(this.teamOverviewInfo.grade); //角色佣金
 			if (this.userInfo.sysUser.grade > 1) this.getUpgradeTask(this.userInfo.sysUser.grade); //角色升级任务
 
 
 		},
 		methods: {
+			today() {
+				const today = new Date();
+				const year = today.getFullYear();
+				let month = today.getMonth() + 1;
+				let day = today.getDate();
+				if (day < 10) {
+					day = "0" + day;
+				}
+				if (month < 10) {
+					month = "0" + month;
+				}
+				return `${year}-${month}-${day}`
+			},
+			handleScroll(e) {
+				const scrollTop = e.scrollTop;
+				if (scrollTop > this.prevScrollTop) {
+					// 向下滚动
+					this.showBackground = true; // 显示背景图
+				} else if (scrollTop < 50) {
+					// 在顶部附近,隐藏背景图
+					this.showBackground = false;
+				} else {
+					// 向上滚动
+					this.showBackground = true; // 显示背景图
+				}
+				this.headerStyle.backgroundColor = this.showBackground ? '#fff' : 'transparent';
+				this.headerStyle.backgroundImage = this.showBackground ?
+					`url("/static/home/back.png")` : '';
+				this.headerStyle.backgroundSize = this.showBackground ? 'cover' : '';
+				// this.headerStyle.backgroundPosition = this.showBackground ? 'center' : '';
+				this.prevScrollTop = scrollTop;
+			},
+			transferAll() {
+				this.amount = this.userWalletInfo.cashFee;
+			},
+			//转入记录
 			incomingTransferLog() {
 				uni.navigateTo({
 					url: '/pages/institutional/incomingTransferLog?grade=' + this.teamOverviewInfo.grade
@@ -585,12 +647,14 @@
 			},
 			accountExpireRecord() {
 				uni.navigateTo({
-					url: '/pages/institutional/accountFreezeRecord?type=1&&grade=' + this.teamOverviewInfo.grade
+					url: '/pages/institutional/accountFreezeRecord?appStatus=2&grade=' + this.teamOverviewInfo
+						.grade
 				})
 			},
 			accountFreezeRecord() {
 				uni.navigateTo({
-					url: '/pages/institutional/accountFreezeRecord?type=2&&grade=' + this.teamOverviewInfo.grade
+					url: '/pages/institutional/accountFreezeRecord?appStatus=1&grade=' + this.teamOverviewInfo
+						.grade
 				})
 			},
 			//日期选择回调
@@ -598,7 +662,7 @@
 				console.log(startdate, enddate);
 				this.startTime = startdate;
 				this.endTime = enddate;
-				this.getList(startdate, enddate) //人员统计
+				this.getList() //人员统计
 			},
 			//激活时间选择组件
 			searchPopup() {
@@ -612,7 +676,7 @@
 					3: '合伙人',
 					4: '工作室'
 				}
-				return gradeMap[Number(grade) - 1] || ''
+				return gradeMap[Number(grade)] || ''
 			},
 			//获取升级任务
 			async getUpgradeTask(grade) {
@@ -648,11 +712,14 @@
 					});
 				}
 				let res = await this.$http.post('/partnerExtractHistory/extractRecords', {
-					grade: this.userWalletInfo.grade,
+					"startTime": this.startTime + ' 00:00:00' || '',
+					"endTime": this.endTime + ' 23:59:59' || '',
+					grade: this.teamOverviewInfo.grade,
 					amount: this.amount,
 				});
 				if (res.code == 200) {
-					this.roleCommInShow = true;
+					this.roleCommInShow = false;
+					this.getAmountList(this.teamOverviewInfo.grade)
 				} else {
 					uni.showToast({
 						title: res.msg,
@@ -663,46 +730,28 @@
 			},
 			//锁定视图点击事件
 			async requestUnlock() {
-				if (this.teamOverviewInfo.parentStatus == '2' && this.teamOverviewInfo.unlockedStatus) {
-					switch (this.teamOverviewInfo.upgradeStatus) {
-						case 0:
-							let params = {
-								grade: Number(this.teamOverviewInfo.grade),
-								lockingState: this.teamOverviewInfo.parentStatus,
-								lockCommission: this.teamOverviewInfo.lockCommission,
-								zeroDays: this.teamOverviewInfo.zeroDays,
-								fallAmount: this.teamOverviewInfo.fallAmount,
-							}
-							uni.navigateTo({
-								url: "/pages/my/upgradeTask?info=" + JSON.stringify(params),
-							})
-							break;
-						case 1:
-							let res = await this.$http.post('/partner/submitLiftingRecord', {
-								grade: this.teamOverviewInfo.grade,
-								upgradeType: '1'
-							});
-							if (res.code == '200') {
-								uni.showToast({
-									title: res.msg,
-									icon: 'none',
-								});
-								this.getList()
-							} else {
-								uni.showToast({
-									title: res.msg,
-									icon: 'none',
-								});
-							}
-							break;
-						case 2:
-							uni.showToast({
-								title: '申请中',
-								icon: 'none',
-							});
-							break;
-						default:
+				// let params = {
+				// 	grade: Number(this.teamOverviewInfo.grade),
+				// 	lockingState: this.teamOverviewInfo.parentStatus,
+				// 	lockCommission: this.teamOverviewInfo.lockCommission,
+				// 	zeroDays: this.teamOverviewInfo.zeroDays,
+				// 	fallAmount: this.teamOverviewInfo.fallAmount,
+				// }
+				// uni.navigateTo({
+				// 	url: "/pages/my/upgradeTask?info=" + JSON.stringify(params),
+				// })
+				if (this.teamOverviewInfo.unlockedStatus) {
+					let params = {
+						grade: Number(this.teamOverviewInfo.grade),
+						lockingState: this.teamOverviewInfo.parentStatus,
+						lockCommission: this.teamOverviewInfo.lockCommission,
+						zeroDays: this.teamOverviewInfo.zeroDays,
+						fallAmount: this.teamOverviewInfo.fallAmount,
 					}
+					uni.navigateTo({
+						url: "/pages/my/upgradeTask?info=" + JSON.stringify(params),
+					})
+
 				} else {
 					uni.showToast({
 						title: '先解锁上一级',
@@ -710,6 +759,7 @@
 					});
 				}
 			},
+
 			//业务来源确定事件
 			promptshowconfirm() {
 				this.promptshow = false;
@@ -743,11 +793,11 @@
 				this.getUpgradeTask(info.grade); //角色升级任务
 			},
 			//获取人员数据
-			async getList(startTime, endTime) {
+			async getList() {
 				let params = {
 					type: this.type,
-					"startTime": startTime + '00:00:00' || '',
-					"endTime": endTime + '23:59:59' || '',
+					"startTime": this.startTime ? this.startTime + ' 00:00:00' : '',
+					"endTime": this.endTime ? this.endTime + ' 23:59:59' : '',
 				}
 				let res = await this.$http.post('/newAppPartner/getHomePage', params); //统计数据
 				if (res.code == '200') {
@@ -757,7 +807,7 @@
 						return val;
 					})
 					res.data.teamOverview.map(val => {
-						if (val.parentStatus == '2') {
+						if (val.parentStatus == '2' || val.lock) {
 							val.imageSel = '/static/home/imageSel.png'
 							val.imageUnSel = '/static/home/imageUnSel.png'
 						}
@@ -767,14 +817,15 @@
 					console.log(this.teamOverview);
 					this.current = 0;
 					this.teamOverviewInfo = res.data.teamOverview[0]; //页面赋值第一条数据
+					console.log(this.teamOverviewInfo);
 				}
 			},
 			//钱包
 			async getAmountList(grade) {
 				let params = {
 					grade: grade,
-					"startTime": '',
-					"endTime": '',
+					"startTime": this.startTime + ' 00:00:00' || '',
+					"endTime": this.endTime + ' 23:59:59' || '',
 				}
 				let res = await this.$http.post('/newAppPartner/getHomeWallet', params); //佣金
 				if (res.code == '200') {

+ 5 - 3
pages/index/success.vue

@@ -28,8 +28,9 @@
 		async onLoad(e) {
 			let options = JSON.parse(e.data);
 			if (e) {
-				this.id = options.id
-				this.mobile = options.mobile //驳回内容
+				this.id = options.id;
+				this.mobile = options.mobile; //驳回内容
+				this.grade = options.grade;
 			}
 		},
 		methods: {
@@ -67,7 +68,7 @@
 							},
 							appid: {
 								name: "appid",
-								value: "__UNI__2041321",
+								value: this.grade == 4 ? "__UNI__D4FE29A" : '__UNI__2041321',
 							}
 						}
 					};
@@ -81,6 +82,7 @@
 							icon: 'none'
 						});
 					}
+
 				}
 			},
 			async promotionCode() {

+ 176 - 121
pages/institutional/accountFreezeRecord.vue

@@ -12,61 +12,62 @@
 					<text>▼</text>
 				</view>
 				<view class=" dis a-c " @click="statusFilterShow=true">
-					<text>{{ pageQuery.appStatus == '0'?'正常':pageQuery.appStatus == '1'?'已冻结':pageQuery.appStatus == '2'?'已失效':'全部' }}</text>
+					<text>{{pageQuery.gradeName || "全部"}}</text>
 					<text>▼</text>
 				</view>
 			</view>
-			<uni-collapse ref="collapse">
-				<uni-collapse-item v-if="recordType=='1'" :title="collapseTitle" :open="true" :show-arrow="true">
-					<view class="content">
-						<text class="text">因您的职级在考核期内,未达成考核任务,按照规则,此部分收益将冻结,考核任务达成后即可提现,在规定期间内未达成考核任务,收益将过期。</text>
-					</view>
-				</uni-collapse-item>
-				<uni-collapse-item v-if="recordType=='2'" :title="collapseTitle" :open="true" :show-arrow="true">
-					<view class="content">
-						<text class="text">因您的职级处于冻结状态,且在该职级考核期区间内未完成解锁条件和申请解锁,按照规则,此部分收益已过期,无法再进行领取。</text>
-					</view>
-				</uni-collapse-item>
-			</uni-collapse>
+
+			<u-collapse hover-class="none">
+				<u-collapse-item :title="item.head" v-for="(item, index) in itemList" :key="index">
+					{{item.body}}
+				</u-collapse-item>
+			</u-collapse>
 		</u-sticky>
-		<view class="content" v-if="recordType == '1'">
-			<view class="item" v-for="(item, index) in transferRecords" @click="toReacors(item.id)">
-				<view class="info">
-					<view class="name">工作室</view>
-					<view class="time">{{ item.startTime }}</view>
-				</view>
-				<view class="amount">{{ item.amount }}</view>
-			</view>
-		</view>
-		<view class="content" v-if="recordType == '2'">
-			<view class="cold" v-for="(item, index) in transferRecords" @click="toReacors(item.id)">
+		<view class="content" v-if="pageQuery.appStatus=='1'">
+			<view class="cold" v-for="(item,index) in transferRecordsData" :key="index"
+				@click="transferRecordsClick(item)">
 				<view class="rows">
-					<view class="left name">工作室</view>
-					<view class="right amount">{{ item.amount }}</view>
+					<view class="left name">{{item.gradeName}}</view>
+					<view class="right amount">{{ item.totalAmount }}</view>
 				</view>
-				<view class="rows">
+				<view class="rows mb-2">
 					<view class="left">考核时间</view>
-					<view class="right" style="white-space: pre-line;">
-						起{{ item.startTime }}
-						止{{ item.endTime }}
+					<view class="right" style="white-space: pre-line;" v-if="item.dateTime">
+						起{{item.dateTime.upgradeTimeStart}}
+						止{{item.dateTime.upgradeTimeEnd}}
 					</view>
 				</view>
-				<view class="rows">
+				<view class="rows mb-2">
 					<view class="left">冻结时间</view>
-					<view class="right">{{ item.freezeTime }}</view>
+					<view class="right" style="white-space: pre-line;" v-if="item.dateTime">
+						起{{item.dateTime.freezeStart}}
+						止{{item.dateTime.freezeEnd}}
+					</view>
 				</view>
-				<view class="rows">
+				<view class="rows" v-if="item.dateTime">
 					<view class="left">过期时间</view>
-					<view class="right">{{ item.expireTime }}</view>
+					<view class="right">{{item.dateTime.expired}}</view>
+				</view>
+			</view>
+		</view>
+		<view class="content" v-else>
+			<view class="cold" v-for="(item,index) in transferRecordsData" :key="index"
+				@click="transferRecordsClick(item)">
+				<view class="rows">
+					<view class="left name">{{item.gradeName}}</view>
+					<view class="right amount">{{ item.totalAmount }}</view>
+				</view>
+				<view class="rows" v-if="item.dateTime">
+					<view style="font-size: 20rpx;color: #999;">{{item.dateTime.expired}}</view>
 				</view>
 			</view>
 		</view>
 		<u-loadmore v-if="userlist.length!=0" :status="status" />
 		<!-- 筛选组件 -->
-		<uni-popup :show="statusFilterShow" @close='statusFilterShow=false' headerTitle="筛选状态"
-			:statusList="quickOptions" contentType="status" @statusConfirm="statusFilterConfirm">
-		
-		</uni-popup>
+		<uni-Popup :show="statusFilterShow" @close='statusFilterShow=false' headerTitle="筛选状态" :statusList="tablist"
+			contentType="status" @statusConfirm="statusFilterConfirm">
+
+		</uni-Popup>
 		<my-date-picker ref="datePicker" @confirmPickDate="confirmPickDate" />
 	</view>
 </template>
@@ -78,11 +79,18 @@
 		},
 		data() {
 			return {
+				tablist: [],
+				itemList: [{
+					head: "",
+					body: "因您的职级处于冻结状态,且在该职级考核期区间内未完成解锁条件和申请解锁,按照规则,此部分收益已过期,无法再进行领取。",
+					open: true,
+					disabled: true
+				}],
 				title: '过期记录',
 				referrerInfo: {}, //个人信息
 				userlist: [],
 				pageQuery: {
-					id: "",
+					grade: "",
 					endTime: "",
 					startTime: "",
 					appStatus: '',
@@ -92,32 +100,8 @@
 				status: 'loadmore',
 				totalPages: 0,
 				parentStatus: "",
-				transferRecords: [
-					{
-						grade: '1',
-						startTime: '2025-09-06',
-						amount: 10,
-						endTime: '2025-09-07',
-						freezeTime: '2025-09-09',
-						expireTime: '2025-09-08'
-					},
-					{
-						grade: '1',
-						startTime: '2025-09-06',
-						amount: 10,
-						endTime: '2025-09-07',
-						freezeTime: '2025-09-09',
-						expireTime: '2025-09-08'
-					},
-					{
-						grade: '1',
-						startTime: '2025-09-06',
-						amount: 10,
-						endTime: '2025-09-07',
-						freezeTime: '2025-09-09',
-						expireTime: '2025-09-08'
-					}
-				],
+				transferRecords: [],
+				transferRecordsTtoal: {},
 				recordType: '',
 				collapseTitle: '',
 				statusFilterShow: false,
@@ -140,6 +124,12 @@
 				],
 			}
 		},
+		computed: {
+			transferRecordsData() {
+				const list = this.transferRecords.filter(val => val.grade != 1);
+				return list;
+			}
+		},
 		onReachBottom() {
 			if (this.pageQuery.pageNum >= this.totalPages) return;
 			this.status = 'loading';
@@ -154,14 +144,40 @@
 				else this.status = 'loading';
 			}, 1000)
 		},
-		onLoad(options) {
-			this.pageQuery.id = options.id;
-			this.recordType = this.$route.query.type
-			this.title = this.$route.query.type == '1'?'过期记录':this.$route.query.type == '2'?'冻结记录':''
-			this.collapseTitle = this.$route.query.type == '1'?`共有${this.transferRecords.length}过期记录`:this.$route.query.type == '2'?`共有${this.transferRecords.length}冻结记录`:''
-			this.querydata();
+		async onLoad(options) {
+			this.pageQuery.grade = options.grade;
+			this.pageQuery.appStatus = options.appStatus;
+			this.title = this.pageQuery.appStatus == '1' ? '冻结记录' : '过期记录'
+			await this.querydata();
+			await this.GradeListMap();
+			this.itemList[0].head = options.appStatus == '1' ?
+				`共有${this.transferRecordsTtoal.size || 0 }条冻结记录,累计冻结${this.transferRecordsTtoal.totalAmount || 0 }元` :
+				`共有${this.transferRecordsTtoal.size || 0 }条过期记录,累计过期${this.transferRecordsTtoal.totalAmount || 0 }元`
+			this.itemList[0].body = options.appStatus == '1' ?
+				'因您的职级在考核期内,未达成考核任务,按照规则,此部分收益将冻结,考核任务达成后即可提现,在规定期间内未达成考核任务,收益将过期。' :
+				'因您的职级处于冻结状态,且在该职级考核期区间内未完成解锁条件和申请解锁,按照规则,此部分收益已过期,无法再进行领取。'
 		},
 		methods: {
+			transferRecordsClick(item) {
+				let params = {
+					grade: item.grade,
+					appStatus: this.pageQuery.appStatus,
+				}
+				uni.navigateTo({
+					url: "/pages/institutional/myEarnings?info=" + JSON.stringify(params),
+				})
+			},
+			//获取角色列表
+			async GradeListMap() {
+				let res = await this.$http.get('/partner/getUserGradeListMap');
+				if (res.code == 200) {
+					this.tablist = res.data;
+					this.tablist.map(val => {
+						val.label = val.gradeName;
+						return val;
+					})
+				}
+			},
 			back() {
 				uni.navigateBack({
 					delta: 1, // 返回的页面数,如果是1表示返回上一页
@@ -169,12 +185,10 @@
 				});
 			},
 			async querydata() {
-				let res = await this.$http.post('/newAppPartner/selectByIdList', this.pageQuery);
+				let res = await this.$http.post('/partner/commissionDetails/queryExpiredLockRecords', this.pageQuery);
 				if (res.code == '200') {
-					this.referrerInfo = res.data.referrer;
-					this.userlist = res.data.list.records;
-					this.parentStatus = res.data.parentStatus;
-					this.totalPages = res.data.list.totalPages;
+					this.transferRecords = res.data.data;
+					this.transferRecordsTtoal = res.data.total;
 				}
 			},
 			//激活时间选择组件
@@ -187,7 +201,8 @@
 				this.pageQuery.endTime = enddate;
 			},
 			statusFilterConfirm(item) {
-				this.pageQuery.appStatus = item.value;
+				this.pageQuery.grade = item.grade;
+				this.pageQuery.gradeName = item.gradeName;
 				this.querydata();
 				this.statusFilterShow = false;
 			},
@@ -205,21 +220,23 @@
 		padding-top: 50px;
 		background: linear-gradient(180deg, #D1EFFE 0%, #FFFFFF 100%);
 		border-bottom: 1rpx solid #f2f2f2;
+
 		text {
 			font-size: 36rpx;
 			font-weight: bold;
 			color: #000;
 		}
+
 		.right {
 			position: absolute;
 			right: 30rpx;
-	
+
 			image {
 				width: 28rpx;
 				height: 28rpx;
 				margin-right: 4rpx;
 			}
-	
+
 			text {
 				font-weight: 400;
 				color: #000;
@@ -227,6 +244,7 @@
 			}
 		}
 	}
+
 	//头部背景
 	.homeBackground {
 		position: fixed;
@@ -238,6 +256,7 @@
 		background: linear-gradient(180deg, #D1EFFE 0%, #FFFFFF 100%);
 		border-bottom: 1rpx solid #f2f2f2;
 	}
+
 	//业绩
 	.performance {
 		width: 100%;
@@ -247,6 +266,7 @@
 		font-size: 30rpx;
 		color: #2B67EF;
 	}
+
 	//时间筛选
 	.filterTime {
 		width: 100%;
@@ -254,12 +274,12 @@
 		border-radius: 0rpx 0rpx 0rpx 0rpx;
 		padding: 20rpx 30rpx;
 		box-sizing: border-box;
-	
+
 		text:first-child {
 			font-size: 26rpx;
 			color: #333;
 		}
-	
+
 		text:last-child {
 			font-size: 19rpx;
 			color: #666;
@@ -371,79 +391,114 @@
 		box-sizing: border-box;
 		background-color: #FFFFFF;
 		border-radius: 10rpx 10rpx 10rpx 10rpx;
-		padding: 30rpx;
+		padding: 0 30rpx;
 		box-sizing: border-box;
-		.item{
-			display: flex;
-			align-items: center;
-			justify-content: space-between;
-			padding:24rpx 0 30rpx;
-			border-bottom: 1rpx solid #eee;
-			.info{
-				.name{
-					font-size: 30rpx;
-					color: #333;
-				}
-				.time{
-					font-size: 20rpx;
-					color: #999;
-				}
-			}
-			.amount{
-				font-size: 30rpx;
-				color: #333;
-				font-weight: 500;
-			}
-		}
-		.cold{
+
+
+
+
+
+		.cold {
 			padding: 30rpx 0;
 			border-bottom: 1rpx solid #eee;
-			.rows{
+
+			.rows {
 				display: flex;
 				justify-content: space-between;
-				.amount{
+
+				.amount {
 					font-size: 30rpx;
 					color: #333;
+					font-weight: bold;
 				}
-				.left{
+
+				.left {
 					font-size: 28rpx;
 					color: #999;
 				}
-				.name{
+
+				.name {
 					font-size: 30rpx;
 					color: #333;
 				}
-				.right{
+
+				.right {
 					font-size: 28rpx;
 					color: #333;
 				}
 			}
 		}
+
+		.cold:last-child {
+			border-bottom: none;
+		}
 	}
-	::v-deep .uni-collapse-cell__title{
+
+	::v-deep .uni-collapse-cell__title {
 		background-color: #EBF4FF;
 		height: 60rpx;
 		padding: 0 30rpx;
 		color: #2B67EF;
 	}
-	::v-deep .uni-collapse-cell--hide{
+
+	::v-deep .uni-collapse-cell--hide {
 		height: 60rpx;
 	}
-	::v-deep .uni-collapse-cell__wrapper .content{
+
+	::v-deep .uni-collapse-cell__wrapper .content {
 		margin: 0;
 		background-color: #EBF4FF;
 		color: #2B67EF;
 		padding: 10rpx 30rpx;
 	}
+
 	::v-deep .uni-collapse-cell__title::after {
-		content: ''; /* 确保内容不为空 */
-		border-width: 4rpx 4rpx 0 0; /* 根据实际需要调整边框宽度 */
+		content: '';
+		/* 确保内容不为空 */
+		border-width: 4rpx 4rpx 0 0;
+		/* 根据实际需要调整边框宽度 */
 		border-style: solid;
-		border-color: #2B67EF; /* 箭头颜色 */
-		width: 16rpx; /* 箭头宽度 */
-		height: 16rpx; /* 箭头高度 */
-		transform: rotate(134deg); /* 旋转角度 */
-		display: inline-block; /* 确保以块级元素显示 */
-		margin-left: 10px; /* 根据需要调整边距 */
+		border-color: #2B67EF;
+		/* 箭头颜色 */
+		width: 16rpx;
+		/* 箭头宽度 */
+		height: 16rpx;
+		/* 箭头高度 */
+		transform: rotate(134deg);
+		/* 旋转角度 */
+		display: inline-block;
+		/* 确保以块级元素显示 */
+		margin-left: 10px;
+		/* 根据需要调整边距 */
+	}
+
+	::v-deep {
+		.u-collapse-head {
+			padding: 20rpx 30rpx;
+			box-sizing: border-box;
+
+			.u-icon-wrap {
+				.u-icon__icon {
+					color: #2B67EF !important;
+				}
+			}
+		}
+
+		.u-collapse-title {
+			color: #2B67EF;
+		}
+
+		.u-collapse-item {
+			background-color: #EBF4FF;
+		}
+
+		.u-collapse-body {
+			padding: 0 30rpx;
+			box-sizing: border-box;
+
+			.u-collapse-content {
+				color: #2B67EF;
+			}
+		}
 	}
 </style>

+ 18 - 4
pages/institutional/applicationResult.vue

@@ -2,8 +2,8 @@
 	<view class="page">
 		<view class="dis f-c a-c ">
 			<image src="/static/applicationSuccess.png" mode=""></image>
-			<text class="title">添加成功</text>
-			<text class="msg ">已提交成为%升级等级%的申请, 请等待耐心等待系统审核</text>
+			<text class="title">申请成功</text>
+			<text class="msg ">已提交成为{{gradeText || '合伙人'}}的申请, 请耐心等待系统审核</text>
 		</view>
 	</view>
 </template>
@@ -12,14 +12,28 @@
 	export default {
 		data() {
 			return {
-
+				grade: null,
 			}
 		},
 		onShow() {
 
 		},
-		onLoad() {
+		onLoad(options) {
+			if (options.grade) {
+				this.grade = Number(options.grade);
 
+			}
+		},
+		computed: {
+			gradeText() {
+				const gradeMap = {
+					1: '创始人',
+					2: '管理人',
+					3: '合伙人',
+					4: '工作室'
+				}
+				return gradeMap[this.grade] || ''
+			},
 		},
 		methods: {
 

+ 59 - 38
pages/institutional/incomingTransferLog.vue

@@ -12,28 +12,28 @@
 					<text>▼</text>
 				</view>
 				<view class=" dis a-c " @click="statusFilterShow=true">
-					<text>{{ pageQuery.appStatus == '0'?'正常':pageQuery.appStatus == '1'?'已冻结':pageQuery.appStatus == '2'?'已失效':'全部' }}</text>
+					<text>{{pageQuery.gradeName || "全部"}}</text>
 					<text>▼</text>
 				</view>
 			</view>
 			<view class="performance dis a-c j-c ">
-				共有 5笔订单,保费5元,佣金5
+				共有 {{total.size}}条转入记录,累计转入{{total.totalAmount}}
 			</view>
 		</u-sticky>
 		<view class="content">
-			<view class="item" v-for="(item, index) in transferRecords" @click="toReacors(item.id)">
+			<view class="item" v-for="(item, index) in transferRecords" @click="toReacors(item.id)" :key="index">
 				<view class="info">
-					<view class="name">{{ item.grade }}</view>
-					<view class="time">{{ item.startTime }}</view>
+					<view class="name">{{ gradeText(item.grade) }}</view>
+					<view class="time">{{ item.createTime }}</view>
 				</view>
 				<view class="amount">{{ item.amount }}</view>
 			</view>
 		</view>
 		<!-- 筛选组件 -->
-		<uni-popup :show="statusFilterShow" @close='statusFilterShow=false' headerTitle="筛选状态"
-			:statusList="quickOptions" contentType="status" @statusConfirm="statusFilterConfirm">
-		
-		</uni-popup>
+		<uni-Popup :show="statusFilterShow" @close='statusFilterShow=false' headerTitle="筛选状态" :statusList="tablist"
+			contentType="status" @statusConfirm="statusFilterConfirm">
+
+		</uni-Popup>
 		<u-loadmore v-if="userlist.length!=0" :status="status" />
 		<my-date-picker ref="datePicker" @confirmPickDate="confirmPickDate" />
 	</view>
@@ -46,12 +46,15 @@
 		},
 		data() {
 			return {
+				tablist: [],
+				total: {},
 				referrerInfo: {}, //个人信息
 				userlist: [],
 				pageQuery: {
-					id: "",
 					endTime: "",
 					startTime: "",
+					grade: "",
+					gradeName: "",
 					appStatus: '',
 					pageNum: 1,
 					pageSize: 10,
@@ -59,23 +62,7 @@
 				status: 'loadmore',
 				totalPages: 0,
 				parentStatus: "",
-				transferRecords: [
-					{
-						grade: '工作室',
-						startTime: '2025-09-06',
-						amount: 10
-					},
-					{
-						grade: '工作室',
-						startTime: '2025-09-06',
-						amount: 10
-					},
-					{
-						grade: '工作室',
-						startTime: '2025-09-06',
-						amount: 10
-					}
-				],
+				transferRecords: [],
 				statusFilterShow: false,
 				quickOptions: [{
 						label: "全部",
@@ -111,10 +98,34 @@
 			// }, 1000)
 		},
 		onLoad(options) {
-			this.pageQuery.id = options.id;
+			this.pageQuery.grade = options.grade;
 			this.querydata();
+			this.GradeListMap();
+		},
+		computed: {
+
 		},
 		methods: {
+			async GradeListMap() {
+				let res = await this.$http.get('/partner/getUserGradeListMap');
+				if (res.code == 200) {
+					this.tablist = res.data;
+					this.tablist.map(val => {
+						val.label = val.gradeName;
+						return val;
+					})
+					console.log(this.tablist);
+				}
+			},
+			gradeText(grade) {
+				const gradeMap = {
+					1: '创始人',
+					2: '管理人',
+					3: '合伙人',
+					4: '工作室'
+				}
+				return gradeMap[grade] || ''
+			},
 			back() {
 				uni.navigateBack({
 					delta: 1, // 返回的页面数,如果是1表示返回上一页
@@ -124,13 +135,17 @@
 			async querydata() {
 				let res = await this.$http.post('/partnerExtractHistory/query', {
 					...this.pageQuery,
-					grage: Number(this.$route.query.grade)
 				})
-				console.log(12312321, res)
+				if (res.code == 200) {
+					this.transferRecords = res.data.page.records;
+					this.total = res.data.total;
+				}
+
 			},
 			toReacors(id) {
 				uni.navigateTo({
-					url: "/pages/institutional/accountFreezeRecord?id="+id + '&&grade=' + this.$route.query.grade + '&&type=2'
+					url: "/pages/institutional/accountFreezeRecord?id=" + id + '&&grade=' + this.$route.query
+						.grade + '&&type=2'
 				})
 			},
 			//激活时间选择组件
@@ -143,7 +158,9 @@
 				this.pageQuery.endTime = enddate;
 			},
 			statusFilterConfirm(item) {
-				this.pageQuery.appStatus = item.value;
+				console.log(item);
+				this.pageQuery.grade = item.grade;
+				this.pageQuery.gradeName = item.gradeName;
 				this.querydata();
 				this.statusFilterShow = false;
 			},
@@ -224,23 +241,27 @@
 		border-radius: 10rpx 10rpx 10rpx 10rpx;
 		padding: 30rpx;
 		box-sizing: border-box;
-		.item{
+
+		.item {
 			display: flex;
 			align-items: center;
 			justify-content: space-between;
-			padding:24rpx 0 30rpx;
+			padding: 24rpx 0 30rpx;
 			border-bottom: 1rpx solid #eee;
-			.info{
-				.name{
+
+			.info {
+				.name {
 					font-size: 30rpx;
 					color: #333;
 				}
-				.time{
+
+				.time {
 					font-size: 20rpx;
 					color: #999;
 				}
 			}
-			.amount{
+
+			.amount {
 				font-size: 30rpx;
 				color: #333;
 				font-weight: 500;

+ 16 - 14
pages/institutional/invitationCode.vue

@@ -20,10 +20,11 @@
 				<view class="dis f-c a-c ">
 					<view class="panelcanvas " id="panelcanvas">
 						<!-- 权限锁定组件 -->
-						<uni-permission-view v-if="this.teamOverviewInfo.lockingState=='2'"
-							:genericText="`完成仕务,解锁“合伙人,扩展我的业务团队`" background="rgba(255, 255, 255, 0.7)"
-							:imageStyle="{width:'109rpx',height:'107rpx'}" :contentStyle="{marginBottom:'20rpx'}"
-							:genericTextStyle="{fontSize:'28rpx'}" @requestUnlock="requestUnlock">
+						<uni-permission-view position="fixed" :backimage="true"
+							v-if="this.teamOverviewInfo.lockingState=='2'" :genericText="`完成仕务,解锁“合伙人,扩展我的业务团队`"
+							background="rgba(255, 255, 255, 0.7)" :imageStyle="{width:'109rpx',height:'107rpx'}"
+							:contentStyle="{marginBottom:'20rpx'}" :genericTextStyle="{fontSize:'28rpx'}"
+							@requestUnlock="requestUnlock">
 						</uni-permission-view>
 						<!-- 权限锁定组件 -->
 						<image :src="recommendImg" mode="widthFix" lazy-load></image>
@@ -46,12 +47,9 @@
 					<text>我的身份:{{gradeText}}</text>
 					<view class="entryPoint" v-show="supportUpgrade" @click="upgrade">去升级</view>
 				</view>
-				<text class="mt-1" v-if="gradeText=='创始人'">您的掌柜合伙人所有专属权益全面解锁,可持续享出单收益</text>
-				<text class="mt-1" v-if="gradeText=='合伙人'">再邀请6个工作室,即可升级成为管理人,赚取更多收益</text>
 			</view>
 			<view class="tag mt-2 dis f-c a-start">
-				<text>我的佣金权益:0.2%</text>
-				<text class="mt-1">再邀请3-5个工作室,佣金可达0.5%</text>
+				<text>我的佣金比例:{{commissionRate || 0 }}%</text>
 			</view>
 		</view>
 
@@ -77,6 +75,7 @@
 				grade: "", //等级
 				supportUpgrade: false, //是否支持升级
 				deptSource: "",
+				commissionRate: "", //角色佣金比例
 			}
 		},
 		onShow() {
@@ -91,7 +90,7 @@
 					3: '合伙人',
 					4: '工作室'
 				}
-				return gradeMap[this.userInfo.sysUser.grade] || ''
+				return gradeMap[this.grade] || ''
 			}
 		},
 		onLoad(options) {
@@ -108,8 +107,16 @@
 		},
 		onShow() {
 			this.entryPoint();
+			this.getCommissionRate();
 		},
 		methods: {
+			//获取佣金比例
+			async getCommissionRate() {
+				let res = await this.$http.get(`/partner/commissionRate?grade=${this.grade}`);
+				if (res.code == 200) {
+					this.commissionRate = res.data.rate;
+				}
+			},
 			async requestUnlock() {
 				if (this.teamOverviewInfo.lockingState == '2' && this.teamOverviewInfo.unlockedStatus) {
 					switch (this.teamOverviewInfo.upgradeStatus) {
@@ -431,10 +438,5 @@
 			color: #333;
 			font-weight: bold;
 		}
-
-		text:last-child {
-			font-size: 24rpx;
-			color: #666;
-		}
 	}
 </style>

+ 8 - 14
pages/institutional/myEarnings.vue

@@ -87,7 +87,7 @@
 			seach
 		},
 		computed: {
-			...mapState(['userInfo', "userCheckInfo", ]),
+			...mapState(['userInfo', "userCheckInfo"]),
 			gradeText() {
 				const gradeMap = {
 					1: '创始人',
@@ -131,19 +131,6 @@
 				parentStatus: "", //是否锁定
 				totalCount: {}, //统计
 				incomeList: [], //列表
-				//tab选项
-				list: [{
-						name: '我是创始人'
-					}, {
-						name: '我是管理人'
-					},
-					{
-						name: '我是合伙人'
-					},
-					{
-						name: '我是工作室'
-					}
-				],
 				current: 0,
 				dialogContent: '',
 				ShowalertDialog: false,
@@ -199,6 +186,9 @@
 			if (params) {
 				let info = JSON.parse(params.info)
 				console.log(info);
+				if (info.appStatus) {
+					this.pageQuery.appStatus = info.appStatus;
+				}
 				this.pageQuery.grade = info.grade
 				this.teamOverviewInfo = info;
 				await this.queryData()
@@ -271,6 +261,10 @@
 			},
 			change(index) {
 				this.current = index;
+				this.pageQuery.grade = this.tablist[index].grade;
+				this.queryData();
+				this.pageQuery.pageNum = 1;
+				this.pageQuery.pageSize = 10;
 			},
 			dialogClose() {
 				this.$refs.alertDialog.close()

+ 347 - 0
pages/institutional/untransferredRecords.vue

@@ -0,0 +1,347 @@
+<template>
+	<view class="">
+		<public-module></public-module>
+		<u-sticky h5-nav-height="0">
+			<view class="headers dis a-c j-start">
+				<u-icon name="arrow-left" color="#333" size="38" @click="back"></u-icon>
+				<text style="margin: auto;">未转入记录</text>
+			</view>
+			<view class="performance dis f-c ">
+				<text>共有 {{total}}元未转入</text>
+				<text>您的每一个等级收益需要手动转入钱包中,才可以将收益提现</text>
+			</view>
+		</u-sticky>
+		<!-- 列表数据 -->
+		<view class="content">
+			<view class="item dis a-c j-s" v-for="(item,index) in transferRecords" :key="index" @click="Records(item)">
+				<text>{{item.gradeName}}</text>
+				<text class="font-weight">{{item.cashFee}}</text>
+				<u-icon class="ml-1" name="arrow-right" color="#999" size="22"></u-icon>
+			</view>
+		</view>
+		<u-loadmore v-if="userlist.length!=0" :status="status" />
+		<!-- 钱包转入 -->
+		<u-popup v-model="roleCommInShow" mode="center" border-radius="10">
+			<view class=" roleCommInClass dis f-c a-c">
+				<text class="title font-weight mt-3">佣金转入钱包</text>
+				<view class="dis f-c p-3 content">
+					<text>您的每一个等级收益需要手动转入钱包中,才可以将收益提现</text>
+					<view class="mt-1 ">
+						<text>{{Recordsitem.cashFee}}元</text>
+						<text class="ml-2" style="color: #2D6DFF;" @click="transferAll">全部转入</text>
+					</view>
+					<u-input v-model="amount" class="mt-1" type="digit" :border="true" placeholder="输入转入金额" focus />
+				</view>
+
+			</view>
+			<view class="roleCommInClass-footer dis a-c j-s ">
+				<view class="dis a-c j-c" @click="roleCommInShow=false">取消</view>
+				<view class="dis a-c j-c" @click="roleCommInconfirm">确认</view>
+			</view>
+		</u-popup>
+	</view>
+</template>
+<script>
+	import myDatePicker from '../components/todaydate-picker.vue';
+	export default {
+		components: {
+			myDatePicker
+		},
+		data() {
+			return {
+				amount: null, //转入佣金
+				roleCommInShow: false,
+				tablist: [],
+				total: "",
+				referrerInfo: {}, //个人信息
+				userlist: [],
+				pageQuery: {
+					endTime: "",
+					startTime: "",
+					grade: "",
+					gradeName: "",
+					appStatus: '',
+					pageNum: 1,
+					pageSize: 10,
+				},
+				status: 'loadmore',
+				totalPages: 0,
+				parentStatus: "",
+				transferRecords: [],
+				Recordsitem: {},
+				statusFilterShow: false,
+				quickOptions: [{
+						label: "全部",
+						value: null,
+					},
+					{
+						label: "正常",
+						value: "0",
+					},
+					{
+						label: "已冻结",
+						value: "1",
+					},
+					{
+						label: "已失效",
+						value: "2",
+					}
+				],
+			}
+		},
+		onReachBottom() {
+			// if (this.pageQuery.pageNum >= this.totalPages) return;
+			// this.status = 'loading';
+			// this.pageQuery.pageNum = ++this.pageQuery.pageNum;
+			// setTimeout(async () => {
+			// 	let res = await this.$http.post('/newAppPartner/selectByIdList', this.pageQuery);
+			// 	if (res.code == '200') {
+			// 		this.userlist = [...this.userlist, ...res.data.list.records];
+
+			// 	}
+			// 	if (this.pageQuery.pageNum >= this.totalPages) this.status = 'nomore';
+			// 	else this.status = 'loading';
+			// }, 1000)
+		},
+		onLoad(options) {
+			this.pageQuery.grade = options.grade;
+			this.querydata();
+		},
+		computed: {
+
+		},
+		methods: {
+			Records(item) {
+				this.Recordsitem = item;
+				this.roleCommInShow = true;
+			},
+			//全部转入
+			transferAll() {
+				this.amount = this.Recordsitem.cashFee;
+			},
+			//角色佣金转入
+			async roleCommInconfirm() {
+				if (Number(this.amount) > this.Recordsitem.cashFee) {
+					return uni.showToast({
+						title: '转入金额不能大于可转入金额',
+						icon: 'none',
+					});
+				}
+				if (Number(this.amount) <= 0) {
+					return uni.showToast({
+						title: '转入金额不能为0',
+						icon: 'none',
+					});
+				}
+				let res = await this.$http.post('/partnerExtractHistory/extractRecords', {
+					grade: this.Recordsitem.grade,
+					amount: this.amount,
+				});
+				if (res.code == 200) {
+					this.roleCommInShow = false;
+					this.querydata();
+				} else {
+					uni.showToast({
+						title: res.msg,
+						icon: 'none',
+					});
+				}
+
+			},
+			gradeText(grade) {
+				const gradeMap = {
+					1: '创始人',
+					2: '管理人',
+					3: '合伙人',
+					4: '工作室'
+				}
+				return gradeMap[grade] || ''
+			},
+			back() {
+				uni.navigateBack({
+					delta: 1, // 返回的页面数,如果是1表示返回上一页
+					success: function() {}
+				});
+			},
+			async querydata() {
+				let res = await this.$http.get('/partnerExtractHistory/queryExtractRecords')
+				if (res.code == 200) {
+					this.transferRecords = res.data.list;
+					this.total = res.data.total;
+				}
+
+			},
+			toReacors(id) {
+				uni.navigateTo({
+					url: "/pages/institutional/accountFreezeRecord?id=" + id + '&&grade=' + this.$route.query
+						.grade + '&&type=2'
+				})
+			},
+			//激活时间选择组件
+			searchPopup() {
+				this.$refs.datePicker.open()
+			},
+			//日期选择回调
+			confirmPickDate(startdate, enddate) {
+				this.pageQuery.startTime = startdate;
+				this.pageQuery.endTime = enddate;
+			},
+			statusFilterConfirm(item) {
+				console.log(item);
+				this.pageQuery.grade = item.grade;
+				this.pageQuery.gradeName = item.gradeName;
+				this.querydata();
+				this.statusFilterShow = false;
+			},
+		}
+
+	}
+</script>
+
+<style lang="scss" scoped>
+	.headers {
+		width: 100%;
+		z-index: 999999;
+		padding: 30rpx;
+		padding-top: 50px;
+		background: linear-gradient(180deg, #D1EFFE 0%, #FFFFFF 100%);
+		border-bottom: 1rpx solid #f2f2f2;
+
+		text {
+			font-size: 36rpx;
+			font-weight: bold;
+			color: #000;
+		}
+
+
+
+		.right {
+			position: absolute;
+			right: 30rpx;
+
+			image {
+				width: 28rpx;
+				height: 28rpx;
+				margin-right: 4rpx;
+			}
+
+			text {
+				font-weight: 400;
+				color: #000;
+				font-size: 24rpx;
+			}
+		}
+	}
+
+	//业绩
+	.performance {
+		width: 100%;
+		background: #EBF4FF;
+		border-radius: 0rpx 0rpx 0rpx 0rpx;
+		padding: 20rpx 30rpx;
+		box-sizing: border-box;
+		color: #2B67EF;
+
+		text:first-child {
+			font-size: 30rpx;
+			font-weight: bold;
+			line-height: 1.5;
+		}
+
+		text:last-child {
+			font-size: 28rpx;
+			font-weight: 400;
+			line-height: 1.5;
+		}
+	}
+
+	//时间筛选
+	.filterTime {
+		width: 100%;
+		background: #fff;
+		border-radius: 0rpx 0rpx 0rpx 0rpx;
+		padding: 20rpx 30rpx;
+		box-sizing: border-box;
+
+		text:first-child {
+			font-size: 26rpx;
+			color: #333;
+		}
+
+		text:last-child {
+			font-size: 19rpx;
+			color: #666;
+			margin-left: 4rpx;
+		}
+	}
+
+	.content {
+		margin: 20rpx 30rpx;
+		box-sizing: border-box;
+		background-color: #FFFFFF;
+		border-radius: 10rpx 10rpx 10rpx 10rpx;
+		padding: 0 30rpx;
+		box-sizing: border-box;
+
+		.item {
+			font-size: 30rpx;
+			color: #333;
+			padding: 24rpx 0 30rpx;
+			border-bottom: 1rpx solid #eee;
+
+			text:first-child {
+				margin-right: auto;
+			}
+		}
+
+		.item:last-child {
+			border: none;
+		}
+	}
+
+	.roleCommInClass {
+		width: 600rpx;
+		border-radius: 10rpx;
+		box-sizing: border-box;
+		font-size: 26rpx;
+
+		.title {
+			font-size: 32rpx;
+			color: #333;
+		}
+
+		.content {
+			text:nth-child(1) {
+				font-size: 28rpx;
+				color: #333;
+			}
+
+			text:nth-child(2) {
+				font-size: 26rpx;
+				color: #666;
+			}
+
+		}
+
+	}
+
+	.roleCommInClass-footer {
+		width: 100%;
+		border-top: 1rpx solid #eee;
+
+		view {
+			width: 49%;
+			padding: 24rpx;
+			box-sizing: border-box;
+
+		}
+
+		view:first-child {
+			border-right: 1rpx solid #eee;
+		}
+
+		view:last-child {
+			color: #2D6DFF;
+		}
+	}
+</style>

+ 26 - 12
pages/login/login.vue

@@ -17,6 +17,16 @@
 			<view class="mx-3">
 				<!-- 账号密码登录 false代表账号密码登录 -->
 				<template v-if="current==0">
+					<view class="mt-2 position-relative border-bottom">
+						<view class="position-absolute d-flex a-center j-center left-0 top-0 font-weight"
+							style="height: 100%;">
+							<image src="../../static/image/login/zhanghao.png" mode=""
+								style="width: 18px;height: 18px;">
+							</image>
+						</view>
+						<input type="text" v-model="system" class="uni-input common-input" placeholder="请输入code编码"
+							style="padding-left: 56rpx;" />
+					</view>
 					<view class="mt-2 position-relative border-bottom">
 						<view class="position-absolute d-flex a-center j-center left-0 top-0 font-weight"
 							style="height: 100%;">
@@ -25,7 +35,7 @@
 							</image>
 						</view>
 						<input type="text" v-model="username" class="uni-input common-input" maxlength="17"
-							placeholder="请输入会员号" style="padding-left: 56rpx;background: transparent;" />
+							placeholder="请输入会员号" style="padding-left: 56rpx;" />
 					</view>
 					<view class="mt-2 position-relative border-bottom">
 						<view class="position-absolute d-flex a-center j-center left-0 top-0 font-weight"
@@ -51,9 +61,10 @@
 						</view>
 						<input type="text" v-model="imgcode" class="uni-input common-input" maxlength="5"
 							placeholder="请输入验证码" style="padding-right: 200rpx;padding-left: 56rpx;" />
-						<image style="height: 80%;padding-top: 4rpx;width: 200rpx;" mode="aspectFill"
-							class="position-absolute top-0 right-0 d-flex a-center j-center text-light-muted"
-							:src="imgcodesrc" @tap="refreshCaptcha"></image>
+						<image mode="aspectFill" :src="imgcodesrc"
+							style=" position: absolute;height: 60rpx;width: 200rpx;top: 0;right: 20rpx;bottom: 0;margin: auto 0 ;"
+							@tap="refreshCaptcha">
+						</image>
 					</view>
 				</template>
 				<!-- 手机验证码登录 true代表手机验证码登录 -->
@@ -149,6 +160,7 @@
 				disabled: true, //登录按钮是否可用
 				loading: false, //是否显示按钮加载状态
 				username: "", //登录用户名
+				system: "", //系统code
 				password: "", //登录密码
 				imgcode: "", //图片验证码0
 				imgcodesrc: "", //验证码图片
@@ -188,7 +200,7 @@
 					}
 				}
 			};
-			let getquote = await this.$http.post('/sysVersion/findPage', pageRequest);
+			// let getquote = await this.$http.post('/sysVersion/findPage', pageRequest);
 			// #ifdef APP-PLUS
 			this.openSQL();
 			this.selectTableData();
@@ -294,7 +306,7 @@
 			// 图片验证码
 			refreshCaptcha() {
 				let randnum = Math.floor(Math.random() * (1000000 - 1 + 1)) + 1
-				this.imgcodesrc = this.$base.baseUrl + "/captchaById?t=" + new Date().getTime() +
+				this.imgcodesrc = this.$base.baseUrl + "/auth/captchaById?t=" + new Date().getTime() +
 					'&captchaId=' + randnum;
 				this.captchaId = randnum;
 			},
@@ -428,10 +440,11 @@
 				if (this.current == 0) {
 					//#ifdef H5
 					this.$login({
-						url: "/aapLogin",
+						url: "/appAuth/partnerAppLogin",
 						data: {
-							account: this.username,
-							password: this.password,
+							system: this.system,
+							mobile: this.username,
+							passWord: this.password,
 							captcha: this.imgcode.toLowerCase(),
 							captchaId: this.captchaId,
 						}
@@ -452,10 +465,11 @@
 						this.listData.map(ele => {
 							if (this.username == ele.username && this.password == ele.password) {
 								this.$login({
-									url: "/aapLogin",
+									url: "/appAuth/partnerAppLogin",
 									data: {
-										account: this.username,
-										password: this.password,
+										system: this.system,
+										mobile: this.username,
+										passWord: this.password,
 										captcha: this.imgcode.toLowerCase(),
 										captchaId: this.captchaId,
 									}

+ 42 - 65
pages/my/benefits.vue

@@ -33,81 +33,50 @@
 			<view class="content-container">
 				<view class="content-wrap contentwrap1 dis f-c a-c" v-show="activeTab === 0">
 					<text class="title">- 成为{{gradeText}}已解锁的权益 -</text>
-					<template v-if="this.userInfo.sysUser.grade==1">
+					<template v-if="this.grade==1">
 						<view class="benefits dis f-c ">
 							<text>发展管理人</text>
-							<text>邀请管理人加入,获得管理人车险订单0.1%的收益</text>
+							<text>邀请管理人加入,获得管理人团队车险订单0.1%的收益</text>
 						</view>
-						<view class="benefits dis f-c ">
-							<text>成为管理人</text>
-							<text>邀请合伙人,获得合伙人0.1-0.5的收益</text>
-						</view>
-						<view class="benefits dis f-c ">
-							<text>成为合伙人</text>
-							<text>邀请工作室,获得下辖团队出单业务的0.1-0.5的收益</text>
-						</view>
-						<view class="benefits dis f-c ">
-							<text>成为工作室</text>
-							<text>邀请团队,获得下辖团队出单业务的0.1-0.5的收益</text>
+						<view class="benefits dis f-c"
+							style="background-image: url('/static/image/my/benefits/benefits-back3.png')">
+							<text>职级保护</text>
+							<text>创始人职级无降级考核,同时其他职级不可晋升创始人,保护创始人专心做团队扩张。</text>
 						</view>
 					</template>
-					<template v-if="this.userInfo.sysUser.grade==2">
-						<view class="benefits dis f-c ">
+					<template v-if="this.grade==2">
+						<view class="benefits dis f-c "
+							style="background-image: url('/static/image/my/benefits/benefits-back3.png')">
 							<text>发展合伙人</text>
-							<text>邀请合伙人加入,获得合伙人车险订单0.1-0.5%%的收益</text>
-						</view>
-						<view class="benefits dis f-c ">
-							<text>成为合伙人</text>
-							<text>邀请工作室,获得下辖团队出单业务的0.1-0.5的收益</text>
-						</view>
-						<view class="benefits dis f-c ">
-							<text>成为工作室</text>
-							<text>邀请团队,获得下辖团队出单业务的0.1-0.5的收益</text>
-						</view>
-						<view class="benefits dis f-c ">
-							<text>升级成为创始人</text>
-							<text>邀请团队,获得下辖团队出单业务的0.1-0.5的收益</text>
+							<text>邀请合伙人加入,获得合伙人团队车险订单0.1%-0.5%的收益</text>
 						</view>
 					</template>
-					<template v-if="this.userInfo.sysUser.grade==3">
-						<view class="benefits dis f-c ">
+					<template v-if="this.grade==3">
+						<view class="benefits dis f-c "
+							style="background-image: url('/static/image/my/benefits/benefits-back3.png')">
 							<text>发展工作室</text>
-							<text>邀请工作室加入,获得合伙人车险订单0.1-0.5%%的收益</text>
+							<text>邀请工作室加入,获得工作室团队车险订单0.1%-0.5%的收益</text>
 						</view>
 						<view class="benefits dis f-c ">
-							<text>成为工作室</text>
-							<text>邀请团队,获得下辖团队出单业务的0.1-0.5的收益</text>
-						</view>
-						<view class="benefits dis f-c ">
-							<text>升级成为管理人</text>
-							<text>邀请团队,获得下辖团队出单业务的0.1-0.5的收益</text>
+							<text>成为管理人</text>
+							<text>可以晋升成为管理人,享受多重身份权益。</text>
 						</view>
 					</template>
-					<template v-if="this.userInfo.sysUser.grade==4">
+					<template v-if="this.grade==4">
 						<view class="benefits dis f-c ">
-							<text>发展出单团队</text>
-							<text>邀请出单团队加入,获得出单员车险订单0.1-0.5%%的收益</text>
+							<text>发展团队</text>
+							<text>邀请团队长加入,获得团队长所辖团队车险订单0.1%-0.5%的收益</text>
 						</view>
 						<view class="benefits dis f-c ">
-							<text>成为出单团队</text>
-							<text>成为出单团队,获取车险订单的三级分销佣金</text>
-						</view>
-						<view class="benefits dis f-c ">
-							<text>升级成为合伙人</text>
-							<text>满足考核条件升级成为管理人,解锁更多权益</text>
+							<text>成为合伙人</text>
+							<text>可以晋升成为合伙人,享受多重身份权益。</text>
 						</view>
+
 					</template>
 				</view>
 				<view class="content-wrap contentwrap2 dis f-c a-c" v-show="activeTab === 1">
-					<text class="title">- 各类身份的佣金权益 -</text>
+					<text class="title">- 成为{{gradeText}}的佣金权益 -</text>
 					<view class="ratio-benefits dis f-c ">
-						<view class=" dis a-c j-s mb-5">
-							<view class="item dis f-c a-c" v-for="(item,index) in ratioList"
-								:class="{active:index==ratioindex}" :key="index" @click="itemclick(item,index)">
-								<image :src="index==ratioindex?item.activeImg:item.img" mode=""></image>
-								<text>{{item.title}}</text>
-							</view>
-						</view>
 						<text class="content">{{content}}</text>
 					</view>
 
@@ -131,7 +100,6 @@
 		</u-popup>
 	</view>
 </template>
-
 <script>
 	import {
 		mapState,
@@ -140,11 +108,12 @@
 	export default {
 		data() {
 			return {
+				grade: "",
 				info: {},
 				ratiodetailshow: false, //佣金比例弹窗
 				ratioindex: 0, //佣金权益选中下标
-				content: "创始人身份可享受邀请的所有管理人发展的团队成员车险订单的0.1% \n例如:创始人邀请了管理人A,管理人A邀请了合伙人B,合伙人B邀请了工作室C,工作室C邀请了团队D,团队D内的成员出单保费1000元(除车船税),管理人即可获得1000*0.1% = 1元",
-				activeTab: 0,
+				content: "创始人身份可享受邀请的所有管理人发展的团队成员车险订单的0.1% \n例如:创始人A邀请了管理人B,管理人B所辖团队车险出单保费50000元,创始人A即可获得50000*0.1%=50元。",
+				activeTab: 1,
 				backLogo: '', //等级标志
 				tabList: [{
 						label: "身份权益"
@@ -154,29 +123,34 @@
 					}
 				],
 				ratioList: [{
+						value: 1,
 						title: "创始人",
 						img: "/static/image/my/benefits/1.png",
 						activeImg: "/static/image/my/benefits/active1.png",
-						Text: "创始人身份可享受邀请的所有管理人发展的团队成员车险订单的0.1% \n例如:创始人邀请了管理人A,管理人A邀请了合伙人B,合伙人B邀请了工作室C,工作室C邀请了团队D,团队D内的成员出单保费1000元(除车船税),管理人即可获得1000*0.1% = 1元"
+						Text: "创始人身份可享受邀请的所有管理人发展的团队成员车险订单的0.1% \n例如:创始人A邀请了管理人B,管理人B所辖团队车险出单保费50000元,创始人A即可获得50000*0.1%=50元。"
 					},
 					{
+						value: 2,
 						title: "管理人",
 						img: "/static/image/my/benefits/2.png",
 						activeImg: "/static/image/my/benefits/active2.png",
-						Text: "管理人身份可享受邀请的所有合伙人发展的团队成员车险订单的0.15-0.5%;\n 邀请合伙人1-3人,为0.1%,\n 邀请合伙人4-6人,为0.3,\n 邀请合伙人7人以上,为0.5\n 例如:管理人邀请了合伙人A,B,C,达成了0.1%的奖励;合伙人A邀请了工作室B,工作室B邀请了团队C,团队C内的成员出单保费1000元(除车船税),管理人即可获得1000*0.1% = 1元"
+						Text: "管理人身份可享受邀请的所有合伙人发展的团队成员车险订单的0.1%-0.5%;\n 管理人初始管理费用为0.5%,\n 当所辖合伙人发展工作室达到一定的数量则管理费用相对变化,比如所辖合伙人为0.3%时,管理人为0.3%。\n 例如:管理人A邀请了合伙人B,合伙人B所辖团队车险出单保费50000元,管理人A即可获得50000*0.1%=50元—50000*0.5%=250元。"
 					},
 					{
+						value: 3,
 						title: "合伙人",
 						img: "/static/image/my/benefits/3.png",
 						activeImg: "/static/image/my/benefits/active3.png",
-						Text: "合伙人身份可享受邀请的所有工作室发展的团队成员车险订单的0.15-0.5%;\n 邀请工作室1-3人,为0.1%,\n 邀请工作室4-6人,为0.3,\n 邀请工作室7人以上,为0.5 \n例如:合伙人邀请了工作室A,B,C,达成了0.1%的奖励;合伙人A邀请了工作室B,工作室B邀请了团队C,团队C内的成员出单保费1000元(除车船税),管理人即可获得1000*0.1% = 1元"
+						Text: "合伙人身份可享受邀请的所有工作室发展的团队成员车险订单的0.1%-0.9%\n 合伙人初始管理费用为0.1%\n 邀请工作室2-3人,为0.2%\n 邀请工作室4-5人,为0.3% \n邀请工作室6-7人,为0.4%\n 邀请工作室8人及以上,为0.5%\n还可以获得工作室未达到0.5%管理费用的差额。\n  例如:合伙人A邀请了工作室B,工作室B所辖团队车险出单保费50000元,合伙人A即可获得50000*0.1%=50元—50000*0.9%=450元。"
 					}, {
+						value: 4,
 						title: "工作室",
 						img: "/static/image/my/benefits/4.png",
 						activeImg: "/static/image/my/benefits/active4.png",
-						Text: "工作室身份可享受邀请的所有发展的团队成员 车险订单的0.15-0.5%;\n 邀请团队1-3人,为0.1%,\n 邀请团队4-6人,为0.3,\n 邀请团队7人以上,为0.5 \n例如:工作室请了团队A,B,C,达成了0.1%的奖励;工作室邀请了团队A,团队A内的成员出单保费1000元(除车船税),管理人即可获得1000*0.1% = 1元"
+						Text: "工作室身份可以享受邀请的所有团队长发展的团队成员车险订单的0.1%-0.5%;\n 工作室初始管理费用为0.1%;\n 邀请团队长2-3人,为0.2%;\n 邀请团队长4-5人,为0.3%;\n 邀请团队长6-7人,为0.4%;\n 邀请团队长8人及以上,为0.5%; \n例如:工作室A邀请了团队长B,团队长B所辖团队车险出单保费50000元,工作室A即可获得50000*0.1%=50元—50000*0.5%=250元"
 					}
 				],
+				ratioListInfo: {},
 				//角色权益等级匹配列表
 				backLogoList: [{
 						grade: 1,
@@ -207,19 +181,22 @@
 					3: '合伙人',
 					4: '工作室'
 				}
-				return gradeMap[this.userInfo.sysUser.grade] || ''
+				return gradeMap[this.grade] || ''
 			}
 		},
 		async onShow() {
-			this.backLogo = this.backLogoList.find(val => val.grade == this.userInfo.sysUser.grade).url; //获取对等身份logo标志
+			this.backLogo = this.backLogoList.find(val => val.grade == this.grade).url; //获取对等身份logo标志
 			this.ratioindex = this.userInfo.sysUser.grade - 1; //默认高亮显示对应等级
 			let res = await this.$http.get('/partner/myCommissionRate');
 			if (res.code == '200') {
 				this.info = res.data;
 			}
 		},
-		onLoad() {
-
+		onLoad(options) {
+			this.grade = options.grade;
+			let text = this.ratioList.find(val => val.value == this.grade).Text;
+			console.log(text);
+			this.content = text;
 		},
 		methods: {
 			//切换事件

+ 213 - 78
pages/my/my.vue

@@ -7,21 +7,16 @@
 			<view class="dis a-c j-c">
 				<text>我的</text>
 				<view class="headers-right">
-					<view style="margin-left:15px">
-						<image @tap="tool" src="/static/image/my/Frame.png" mode=""></image>
-						<text>设置</text>
+					<view class="dis a-c">
+						<image src="/static/home/customerService1.png" mode=""></image>
+						<text>客服</text>
 					</view>
-
-					<!-- <view style="margin-left:15px">
-						<image @tap="logout" src="/static/image/my/tichu.png" mode="">
-						</image>
-						<text>退出</text>
-					</view> -->
 				</view>
 
 			</view>
 		</view>
-		<image :src="backImage" mode="" style="width: 100%;height: 771rpx;position: absolute;"></image>
+		<image :src="superiorIdentityData.backImageurl" mode="" style="width: 100%;height: 771rpx;position: absolute;">
+		</image>
 		<view class="Personnel">
 			<view class="dis a-c  Personnel-info">
 				<view class="Personnel-img" @click="updateAvatar">
@@ -33,20 +28,21 @@
 						<text>{{ userInfo.sysUser.userName }}</text>
 					</view>
 					<view class=" dis f-c  digit">
-						<text>手机号:{{userInfo.sysUser.userId}}</text>
-						<text>工号:{{ userInfo.sysUser.mobile }}</text>
+						<text>手机号:{{userInfo.sysUser.mobile}}</text>
+						<text>工号:{{ userInfo.sysUser.userId}}</text>
 					</view>
 				</view>
 			</view>
 			<!-- 角色选项卡切换 -->
-			<view class="customTab dis a-c j-s" :style="{ backgroundImage: `url(${superiorIdentityData.tabline})` }">
-				<view class="tab-item" :class="index==customTabIndex?'tab-item-active':''"
-					v-for="(item,index) in roleIdentityList" :key="index" @click="customTabChange(item,index)">
+			<view class="customTab dis a-c j-s" :style="{ backgroundImage: `url(${superiorIdentityData.tabline})`}">
+				<view class="tab-item dis a-c j-c" :class="index==customTabIndex?'tab-item-active':''"
+					:style="{width:`${100/roleIdentityList.length}%`}" v-for="(item,index) in roleIdentityList"
+					:key="index" @click="customTabChange(item,index)">
 					{{item.gradeName}}
 				</view>
 			</view>
 			<!-- 角色名片 -->
-			<view class="characterCard mt-3 dis a-c j-s"
+			<view class="characterCard  dis a-c j-s"
 				:style="{ backgroundImage: `url(${superiorIdentityData.roleCard})` }">
 				<!-- 角色状态标签 -->
 				<view class="statusTag" :style="{background:superiorIdentityData.statusTagbackColor}">
@@ -54,17 +50,19 @@
 				</view>
 				<!-- icon -->
 				<image class="gradeIcon" :src="gradeIconstyle" mode=""></image>
-				<view class="dis f-c content">
+				<view class="dis f-c content" @click="benefitsNavigate(superiorIdentityData.grade)">
 					<!-- name -->
 					<view class="title dis mb-1" :style="{color:superiorIdentityData.titleColor}">
 						<text class="font-weight">{{superiorIdentityData.gradeName}}会员</text>
 						<u-icon name="arrow-right" :color="superiorIdentityData.titleColor" size="36"></u-icon>
-						<text class="expiryTime" :style="{color:superiorIdentityData.textColor}">2025.10.23过期</text>
+						<text class="expiryTime" v-if="superiorIdentityData.grade!='1'"
+							:style="{color:superiorIdentityData.textColor}">{{superiorIdentityData.lockingState==0?'':superiorIdentityData.lockingState==1?`${superiorIdentityData.expiryDate}过期`:`已过期${superiorIdentityData.expiryDate || 0}天`}}
+						</text>
 					</view>
 					<!-- 进度条 -->
 					<view class="progressBar">
 						<text
-							:style="{color:superiorIdentityData.textColor}">{{superiorIdentityData.proportional}}/100</text>
+							:style="{color:superiorIdentityData.textColor}">{{superiorIdentityData.grade=='1'?'100':superiorIdentityData.proportional}}/100</text>
 						<view class="line" :style="{background:superiorIdentityData.progressBarlineColor}">
 							<view class="jindu"
 								:style="{width: `${ Number(superiorIdentityData.proportional)}%`,background:superiorIdentityData.progressBarColor}">
@@ -74,12 +72,17 @@
 					<!-- 提示信息 -->
 					<view class="comment mt-2 dis a-c ">
 						<image class="commenticon" src="/static/image/my/grade/crown.png" mode=""></image>
-						<text class="ml-1" :style="{color:superiorIdentityData.textColor}">
-							{{superiorIdentityData.lockingState==0?'完成任务即可升级为该会员等级':superiorIdentityData.lockingState==1?'在期限内完成任务,可继续保持该会员等级身份':`截止2025.02.28完成任务,可重新成为改为该会员等级`}}
+						<text class="ml-1" :style="{color:superiorIdentityData.textColor}"
+							v-if="superiorIdentityData.grade=='1'">
+							永久有效
+						</text>
+						<text v-else class="ml-1" :style="{color:superiorIdentityData.textColor}">
+							{{superiorIdentityData.lockingState==0?'完成任务即可升级为该会员等级':superiorIdentityData.lockingState==2?`截止${superiorIdentityData.unlockDeadline}完成任务,可重新成为改为该会员等级`: superiorIdentityData.lockingState==1 && superiorIdentityData.prompt?'当前职级本阶段无需保级':'在期限内完成任务,可继续保持该会员等级身份'}}
 						</text>
 					</view>
 				</view>
-				<view class="btn" :style="{color:superiorIdentityData.textColor}">
+				<view class="btn" :style="{color:superiorIdentityData.textColor}" @click="upgradeNow"
+					v-if="superiorIdentityData.grade!='1' && !superiorIdentityData.prompt">
 					{{superiorIdentityData.lockingState==1?'去保级':'去升级'}}
 				</view>
 
@@ -147,47 +150,105 @@
 			<view class="withdrawal-box">
 				<view class="dis a-c j-c  withdrawal-title">
 					<text>可提现总金额</text>
-					<text @tap="accountTool('/pages/wallet/bankCard')">银行卡</text>
 				</view>
 				<view class="dis a-s j-c withdrawal-sum">
 					<text>¥</text>
 					<text>{{ getApplication.cashFee || 0 }} </text>
 				</view>
 				<view class="withdrawal-income dis f-wrap">
-					<view class="dis f-c a-c">
+					<view class="dis f-c a-c" @click="incomeClick">
 						<view class="dis">
-							<text @click="incomeClick">佣金总收入</text>
+							<text>累计佣金</text>
 							<u-icon name="arrow-right" color="#666" size="18"></u-icon>
 						</view>
-						<text class="sum">¥{{ getApplication.extractFee || 0 }} </text>
+						<text class="sum">¥{{ getApplication.totalAmount || 0 }} </text>
 					</view>
 					<view class="dis f-c a-c">
 						<view class="dis ">
-							<text>已提现</text>
+							<text>已提现佣金</text>
 							<u-icon name="arrow-right" color="#666" size="18"></u-icon>
 						</view>
 						<text class="sum">¥{{ getApplication.historyFee || 0 }}</text>
 					</view>
-					<view class="dis f-c a-c">
+					<view class="dis f-c a-c" @click="incomingTransferLog">
 						<view class="dis ">
-							<text>已冻结</text>
+							<text>已转入佣金</text>
 							<u-icon name="arrow-right" color="#666" size="18"></u-icon>
 						</view>
-						<text class="sum">¥{{ getApplication.historyFee || 0 }}</text>
+						<text class="sum">¥{{ getApplication.transferAmount || 0 }}</text>
 					</view>
-					<view class="dis f-c a-c">
+					<view class="dis f-c a-c" @click="untransferredRecords">
 						<view class="dis ">
-							<text>已过期</text>
+							<text>未转入佣金</text>
 							<u-icon name="arrow-right" color="#666" size="18"></u-icon>
 						</view>
-						<text class="sum">¥{{ getApplication.historyFee || 0 }}</text>
+						<text class="sum">¥{{ getApplication.unreportedAmount || 0 }}</text>
+					</view>
+					<view class="dis f-c a-c" @click="accountFreezeRecord">
+						<view class="dis ">
+							<text>已冻结佣金</text>
+							<u-icon name="arrow-right" color="#666" size="18"></u-icon>
+						</view>
+						<text class="sum">¥{{ getApplication.frozenAmount || 0 }}</text>
+					</view>
+					<view class="dis f-c a-c" @click="accountExpireRecord">
+						<view class="dis ">
+							<text>已过期佣金</text>
+							<u-icon name="arrow-right" color="#666" size="18"></u-icon>
+						</view>
+						<text class="sum">¥{{ getApplication.expiredAmount || 0 }}</text>
 					</view>
 				</view>
 				<view class="withdrawal-fun" @click="toWithdraw">提现</view>
 			</view>
 			<view class="cell-item mt-2">
-				<view class="item">
-
+				<view class="item dis a-c " @click="promotionCode">
+					<image src="/static/code.png" mode=""></image>
+					<text>我的推广码</text>
+					<u-icon name="arrow-right" color="#232832" size="22"></u-icon>
+				</view>
+				<view class="item dis a-c " @tap="accountTool('/pages/wallet/bankCard')">
+					<image src="/static/image/my/bankCard.png" mode=""></image>
+					<text>银行卡</text>
+					<u-icon name="arrow-right" color="#232832" size="22"></u-icon>
+				</view>
+				<view class="item dis a-c " @tap="tool">
+					<image src="/static/image/my/Frame.png" mode=""></image>
+					<text>设置</text>
+					<u-icon name="arrow-right" color="#232832" size="22"></u-icon>
+				</view>
+			</view>
+			<view class=" dis a-c j-s" style="margin: 0px 16px;">
+				<view class="withdrawal-record">
+					<i></i>
+					<text>提现记录</text>
+				</view>
+				<view class="search" @click="searchPopup">
+					<text>自定义时间</text>
+					<i></i>
+				</view>
+			</view>
+			<view class="withdrawal-flow">
+				<view class="withdrawal-card" v-for="(val,index) in withdrawalData" :key="index"
+					@click="viewWithdrawal(val)">
+					<view class="dis j-s">
+						<view>
+							<view style="line-height: 18px;">提现</view>
+							<text style="font-size: 10px;color: #999999;">{{ val.createTime }}</text>
+						</view>
+						<view class="dis a-c">
+							<view style="text-align: right;">
+								<view style="line-height: 18px;">-{{ val.cashFee }}</view>
+								<text class="withdrawal-status" v-if="val.status == '0'"
+									style="background: #EAF0FF;color: #2D6DFF;">提现中</text>
+								<text class="withdrawal-status" v-if="val.status == '1'"
+									style="background: #E3FBE7;color: #18B63B;">已提现</text>
+								<text class="withdrawal-status" v-if="val.status == '2'"
+									style="background: #FFECEC ;color: #F74141;">提现失败</text>
+							</view>
+							<image src="/static/icon/you.png" mode=""></image>
+						</view>
+					</view>
 				</view>
 			</view>
 		</view>
@@ -219,11 +280,6 @@
 				</view>
 			</view>
 		</u-popup>
-		<!-- <view class="Personnel-title" @click="promotionCode">
-			<image src="/static/icon/code.png" mode="">
-			</image>
-			推广码
-		</view> -->
 		<u-action-sheet :list="Avatarlist" v-model="updateAvatarShow" border-radius="20"></u-action-sheet>
 	</view>
 </template>
@@ -243,7 +299,7 @@
 		},
 		data() {
 			return {
-
+				customTabPadding: '0 40rpx',
 				customTabIndex: 0,
 				updateAvatarShow: false, //头像工具
 				Avatarlist: [{
@@ -400,7 +456,7 @@
 			if (this.userInfo.sysUser.insUploadFiles && this.userInfo.sysUser.insUploadFiles.url) {
 				this.avatar = this.$base.baseUrl + this.userInfo.sysUser.insUploadFiles.url;
 			}
-			// this.WithdrawalqueryData()
+			this.WithdrawalqueryData()
 		},
 		onPageScroll(e) {
 			this.handleScroll(e);
@@ -424,12 +480,48 @@
 				this.superiorIdentityData = item;
 				this.backImage = this.superiorIdentityData.backImageurl; //切换背景
 				this.customTabIndex = index;
+				this.handleScroll({
+					scrollTop: 24
+				});
+			},
+			//转入记录
+			incomingTransferLog() {
+				uni.navigateTo({
+					url: '/pages/institutional/incomingTransferLog?grade='
+				})
+			},
+			//未转入
+			untransferredRecords() {
+				uni.navigateTo({
+					url: '/pages/institutional/untransferredRecords?grade='
+				})
+			},
+			//过期
+			accountExpireRecord() {
+				uni.navigateTo({
+					url: '/pages/institutional/accountFreezeRecord?appStatus=2&grade='
+				})
+			},
+			//冻结
+			accountFreezeRecord() {
+				uni.navigateTo({
+					url: '/pages/institutional/accountFreezeRecord?appStatus=1&grade='
+				})
 			},
-
 			//获取角色列表
 			async queryIdentityInformation() {
 				let res = await this.$http.get('/newAppPartner/queryIdentityInformation'); //获取各级身份
 				if (res.code == 200) {
+					const hasGradeOne = res.data.some(item => item.grade == 1);
+					if (!hasGradeOne) {
+						this.customTabPadding = '0 80rpx',
+							this.gradeimageList = this.gradeimageList.map((item, index) => {
+								return {
+									...item,
+									tabline: `/static/image/my/grade/istabline${index+1}.png`
+								};
+							});
+					}
 					const merged = res.data.map(itemA => {
 						const gradeimageinfo = this.gradeimageList.find(itemB => itemB.grade === itemA.grade);
 						return {
@@ -439,7 +531,12 @@
 					});
 					this.roleIdentityList = merged;
 					this.superiorIdentityData = this.roleIdentityList.find(item => item.grade == this.userInfo.sysUser
-						.grade)
+						.grade) //获取当前用户最高身份的数据信息
+					const index = this.roleIdentityList.findIndex(item => item.grade == this.userInfo.sysUser.grade);
+					this.customTabIndex = index;
+					this.handleScroll({
+						scrollTop: 24
+					});
 				} else {
 					uni.showToast({
 						title: res.msg,
@@ -504,11 +601,42 @@
 				return progressBar == 1 ? '0 100px 100px 0' : '0';
 			},
 			// 权益跳转
-			benefitsNavigate() {
+			benefitsNavigate(grade) {
 				uni.navigateTo({
-					url: "/pages/my/benefits?grade=" + this.userInfo.sysUser.grade,
+					url: "/pages/my/benefits?grade=" + grade,
 				})
 			},
+			//去升级
+			async upgradeNow() {
+				// let params = {
+				// 	grade: Number(this.superiorIdentityData.grade),
+				// 	lockingState: this.superiorIdentityData.lockingState,
+				// 	lockCommission: this.superiorIdentityData.lockCommission,
+				// 	zeroDays: this.superiorIdentityData.zeroDays,
+				// 	fallAmount: this.superiorIdentityData.fallAmount,
+				// }
+				// uni.navigateTo({
+				// 	url: "/pages/my/upgradeTask?info=" + JSON.stringify(params),
+				// })
+				if (this.superiorIdentityData.unlockedStatus) {
+					let params = {
+						grade: Number(this.superiorIdentityData.grade),
+						lockingState: this.superiorIdentityData.lockingState,
+						lockCommission: this.superiorIdentityData.lockCommission,
+						zeroDays: this.superiorIdentityData.zeroDays,
+						fallAmount: this.superiorIdentityData.fallAmount,
+					}
+					uni.navigateTo({
+						url: "/pages/my/upgradeTask?info=" + JSON.stringify(params),
+					})
+
+				} else {
+					uni.showToast({
+						title: '先解锁上一级',
+						icon: 'none',
+					});
+				}
+			},
 			//完成任务
 			upgradeTask() {
 				uni.navigateTo({
@@ -770,7 +898,7 @@
 				}
 				this.headerStyle.backgroundColor = this.showBackground ? '#fff' : 'transparent';
 				this.headerStyle.backgroundImage = this.showBackground ?
-					'url("/static/image/my/beijing.png")' : '';
+					`url("${this.superiorIdentityData.backImageurl}")` : '';
 				this.headerStyle.backgroundSize = this.showBackground ? 'cover' : '';
 				// this.headerStyle.backgroundPosition = this.showBackground ? 'center' : '';
 				this.prevScrollTop = scrollTop;
@@ -859,29 +987,22 @@
 		}
 
 		.headers-right {
-			// width: 100%;
-			// height: 100%;
-			// position: relative;
+
 			position: absolute;
-			right: 15px;
-			// width: 70px;
+			right: 30rpx;
 			display: flex;
 			justify-content: space-between;
 
-			view {
-				line-height: 8px;
-			}
 
 			text {
-				font-size: 9px;
-				color: #666666;
+				font-size: 24rpx;
+				color: #333;
 			}
 
 			image {
-				// position: absolute;
-				// right: 0;
-				width: 16px;
-				height: 16px;
+				width: 28rpx;
+				height: 28rpx;
+				margin-right: 5rpx;
 			}
 		}
 
@@ -893,7 +1014,8 @@
 		width: 100%;
 		background: transparent;
 		background-size: 100% 100%;
-		padding: 90px 30rpx 20rpx 30rpx;
+		padding: 90px 0 20rpx 0;
+		box-sizing: border-box;
 		position: relative;
 
 	}
@@ -979,7 +1101,8 @@
 	.Personnel-info {
 		font-size: 14px;
 		color: #152F63;
-
+		padding: 0 30rpx;
+		box-sizing: border-box;
 	}
 
 	.full-name {
@@ -1005,15 +1128,15 @@
 	}
 
 	.withdrawal-box {
-		margin-top: 13px;
 		background: #FFFFFF;
 		border-radius: 5px 5px 5px 5px;
 		padding: 18px 16px;
+		margin: 26rpx 30rpx 0;
+		box-sizing: border-box;
 
 		.withdrawal-title {
 			width: 100%;
 			height: 100%;
-			position: relative;
 
 			text:first-child {
 				font-weight: 400;
@@ -1021,13 +1144,6 @@
 				color: #999999;
 			}
 
-			text:last-child {
-				position: absolute;
-				right: 0;
-				font-size: 10px;
-				color: #2D6DFF;
-				line-height: 12px;
-			}
 		}
 
 		.withdrawal-sum {
@@ -1086,11 +1202,33 @@
 	}
 
 	.cell-item {
-		height: 270rpx;
 		background: #FFFFFF;
 		border-radius: 10rpx 10rpx 10rpx 10rpx;
 		padding: 0 30rpx;
+		margin: 20rpx 30rpx 0;
 		box-sizing: border-box;
+
+		.item {
+			padding: 25rpx 0;
+			box-sizing: border-box;
+			border-bottom: 1rpx solid #eee;
+			font-size: 28rpx;
+			color: #333;
+
+			image {
+				width: 40rpx;
+				height: 40rpx;
+				margin-right: 20rpx;
+			}
+
+			.u-icon {
+				margin-left: auto;
+			}
+		}
+
+		.item:last-child {
+			border: none;
+		}
 	}
 
 	.withdrawal-record {
@@ -1351,12 +1489,8 @@
 		height: 85rpx;
 		margin-top: 30rpx;
 		background-size: 100% 100%;
-		padding: 0 40rpx;
-		box-sizing: border-box;
 
 		.tab-item {
-			padding: 23rpx 0;
-			box-sizing: border-box;
 			font-size: 28rpx;
 			color: #999;
 		}
@@ -1375,6 +1509,7 @@
 		padding: 58rpx 48rpx 25rpx 30rpx;
 		box-sizing: border-box;
 		border-radius: 20rpx;
+		margin: 30rpx 30rpx 0;
 
 		.statusTag {
 			position: absolute;
@@ -1397,7 +1532,7 @@
 		}
 
 		.content {
-			flex: 1;
+			width: 72%;
 
 			.title {
 				font-size: 36rpx;

+ 32 - 4
pages/my/upgradeTask.vue

@@ -5,7 +5,7 @@
 		<!-- 头部标题 -->
 		<view class="headers dis a-c j-start">
 			<u-icon name="arrow-left" color="#333" size="38" @tap="back" :custom-style="{fontWeight:'bold'}"></u-icon>
-			<text style="margin: auto;">升级任务</text>
+			<text style="margin: auto;">{{info.lockingState==1?'保级':'升级'}}任务</text>
 		</view>
 		<!-- 升级任务 -->
 		<view class="contentArea">
@@ -23,11 +23,15 @@
 				<view class="header dis a-c ">
 					<image class="logo" src="/static/image/my/upgradeTask/decoration1.png" mode=""></image>
 					<view class="title">
-						<text class="text">升级任务</text>
+						<text class="text">{{info.lockingState==1?'保级':'升级'}}任务</text>
 						<image class="line" src="/static/image/my/upgradeTask/decoration2.png" mode=""></image>
 					</view>
+					<text class="upgradeOperation" @click="upgradeOperation">申请升级</text>
 				</view>
-				<view class="message dis a-c j-c">{{upgradeTaskdata.assessmentEndDate}}前
+				<view v-if="info.lockingState==1" class="message dis a-c j-c">{{upgradeTaskdata.assessmentEndDate}}前
+					满足下列{{upgradeTaskdata.relSatisfy=='1'?'全部条件':'任意一条'}}即可升级
+				</view>
+				<view v-else class="message dis a-c j-c">{{upgradeTaskdata.assessmentEndDate}}前
 					满足下列{{upgradeTaskdata.appraise=='1'?'全部条件':'任意一条'}}即可升级
 				</view>
 				<!-- 任务列表 -->
@@ -156,7 +160,7 @@
 			}
 			this.info = JSON.parse(options.info);
 			console.log(this.info);
-			if (this.info.lockingState == '2') {
+			if (this.info.lockingState == '1') {
 				let res = await this.$http.get('/partner/degradedTask?grade=' + this.info.grade); //保级任务
 				this.upgradeTaskdata = res.data;
 			} else {
@@ -257,6 +261,24 @@
 						});
 					})
 			},
+			//申请升级操作
+			async upgradeOperation() {
+				console.log(this.info);
+				let res = await this.$http.post('/partner/submitLiftingRecord', {
+					grade: this.info.grade,
+					upgradeType: this.info.lockingState == 2 ? '1' : '0'
+				});
+				if (res.code == '200') {
+					uni.navigateTo({
+						url: '/pages/institutional/applicationResult?grade=' + this.info.grade,
+					})
+				} else {
+					uni.showToast({
+						title: res.msg,
+						icon: 'none',
+					});
+				}
+			},
 			back() {
 				uni.navigateBack({
 					delta: 1, // 返回的页面数,如果是1表示返回上一页
@@ -421,6 +443,12 @@
 					}
 				}
 
+				.upgradeOperation {
+					font-size: 28rpx;
+					color: #2D74FF;
+					margin-left: auto;
+				}
+
 			}
 
 			.message {

TEMPAT SAMPAH
static/code.png


TEMPAT SAMPAH
static/image/my/bankCard.png


TEMPAT SAMPAH
static/image/my/benefits/benefits-back3.png


TEMPAT SAMPAH
static/image/my/grade/istabline2.png


TEMPAT SAMPAH
static/image/my/grade/istabline3.png


TEMPAT SAMPAH
static/image/my/grade/istabline4.png