@dongkboy 1 هفته پیش
والد
کامیت
f4f54768a2

+ 1 - 1
pages.json

@@ -1132,7 +1132,7 @@
 	},
 	"tabBar": {
 		"color": "#444444",
-		"selectedColor": "#343EEF",
+		"selectedColor": "#2D6DFF",
 		"borderStyle": "black",
 		"backgroundColor": "#ffffff",
 		"list": [{

+ 315 - 258
pages/components/date-picker.vue

@@ -1,266 +1,323 @@
 <template>
-  <div >
-   <u-popup ref="popup" class="popup" :mask="true" mode="bottom" >
-   	<view >
-   		<view class="popup-title ">
-   			<text >自定义时间</text>
-   			<text  @click="$refs.popup.close()">×</text>
-   		</view>
-   		<view style="padding: 15px">
-   			<view class="popup-data dis j-s">
-   				<text :class="startShow? 'active' :''" @click="startClick()">{{ interviewStartTime||'开始时间' }}</text>至
-   				<text :class="endShow? 'active' :''" @click="endClick()">{{ interviewEndTime || '结束时间' }}</text>
-   			</view>
-   			<picker-view v-show="visible" :indicator-style="indicatorStyle" :value="value" @change="bindChange"
-   			  class="picker-view">
-   			  <picker-view-column>
-   				<view class="item" v-for="(item,index) in years" :key="index">{{item}}年</view>
-   			  </picker-view-column>
-   			  <picker-view-column>
-   				<view class="item" v-for="(item,index) in months" :key="index">{{item}}月</view>
-   			  </picker-view-column>
-   			  <picker-view-column>
-   				<view class="item" v-for="(item,index) in days" :key="index">{{item}}日</view>
-   			  </picker-view-column>
-   			</picker-view>
-   		</view>
-   	</view>
-   	<view class="popup-footer dis j-s">
-   		<text @click.stop="reset" >重置</text>
-   		<text @click.stop="confirm" >确定</text>
-   	</view>
-   </u-popup>
-  </div>
+	<div>
+		<u-popup ref="popup" class="popup" :mask="true" mode="bottom" border-radius="20">
+			<view>
+				<view class="popup-title ">
+					<text>时间筛选</text>
+					<text @click="$refs.popup.close()">×</text>
+				</view>
+				<view class="quickOptions dis f-c ">
+					<text class="title">快捷选择</text>
+					<view class=" dis a-c j-start">
+						<view class="tab" :class="{tabactive:OptionsTabIndex==index}"
+							v-for="(item,index) in quickOptions" :key="index" @click="OptionsTabSelect(index)">
+							<text>{{item}}</text>
+						</view>
+					</view>
+				</view>
+				<text style="margin-left: 42rpx;font-size: 30rpx;color: #333;">自定义时间</text>
+				<view style="padding:20rpx  42rpx">
+					<view class="popup-data dis j-s">
+						<text :class="startShow? 'active' :''"
+							@click="startClick()">{{ interviewStartTime||'开始时间' }}</text>至
+						<text :class="endShow? 'active' :''" @click="endClick()">{{ interviewEndTime || '结束时间' }}</text>
+					</view>
+					<picker-view v-show="visible" :indicator-style="indicatorStyle" :value="value" @change="bindChange"
+						class="picker-view">
+						<picker-view-column>
+							<view class="item dis a-c j-c " v-for="(item,index) in years" :key="index">{{item}}年</view>
+						</picker-view-column>
+						<picker-view-column>
+							<view class="item dis a-c j-c " v-for="(item,index) in months" :key="index">{{item}}月</view>
+						</picker-view-column>
+						<picker-view-column>
+							<view class="item dis a-c j-c " v-for="(item,index) in days" :key="index">{{item}}日</view>
+						</picker-view-column>
+					</picker-view>
+				</view>
+			</view>
+			<view class="popup-footer dis j-s">
+				<text @click.stop="reset">重置</text>
+				<text @click.stop="confirm">确定</text>
+			</view>
+		</u-popup>
+	</div>
 </template>
 <script>
-  export default {
-    data() {
-      return {
-		  startShow: false,
-		  endShow: false,
-		  interviewStartTime:'',
-		  interviewEndTime:'',
-        years: [],
-        year: null,
-        months: [],
-        month: null,
-        days: [],
-        day: null,
-        hours: [],
-        hour: null,
-        minutes: [],
-        minute: null,
-        value: [],
-        indicatorStyle: `height: 50px;color:#2D6DFF `,
-		visible:false
-      }
-    },
-    props: {
-      // visible: {
-      //   type: Boolean,
-      //   default: true
-      // },
-      
-      // interviewTime: {
-      //   type: String,
-      //   default() {
-      //     return '';
-      //   },
-      // }
-    },
-    mounted() {
-      this.init();
-    },
-    watch: {
-      // visible: {
-      //   handler(newValue, oldValue) {
-      //     if (newValue) {
-      //       if (this.interviewTime) {
-      //         this.init(this.interviewTime);
-      //       }
-      //     }
-      //   },
-      //   immediate: false,
-      //   deep: true
-      // }
-    },
-    methods: {
-		open(){
-			this.$refs.popup.open()
+	export default {
+		data() {
+			return {
+				quickOptions: ["今日", "本月", "本年"], //快捷选项
+				OptionsTabIndex: null, //下标
+				startShow: false,
+				endShow: false,
+				interviewStartTime: '',
+				interviewEndTime: '',
+				years: [],
+				year: null,
+				months: [],
+				month: null,
+				days: [],
+				day: null,
+				hours: [],
+				hour: null,
+				minutes: [],
+				minute: null,
+				value: [],
+				indicatorStyle: `height: 50px;color:#2D6DFF `,
+				visible: false
+			}
 		},
-      bindChange: function (e) {
-        const val = e.detail.value
-        let year = this.years[val[0]] 
-        let isDay = 30, days = [];
-        if (val[1]+1 == 2) {
-            if((val[0]%4==0 && year%100!=0)||(year%400==0)){
-            console.log('闰年')
-            isDay = 29;
-          }else {
-            isDay = 28;
-             console.log('平年')
-          }
-        } else if ([1,3,5,7,8,10,12].includes(val[1]+1)) {
-          isDay = 31;
-        } else {
-          isDay = 30;
-        }
-      
-        for (let i = 1; i <= isDay; i++) {
-          days.push(i)
-        }
-        this.days = days;
-        this.year = this.years[val[0]]
-        this.month =  this.months[val[1]]
-        this.day = this.days[val[2]]
-        if(this.startShow){
-      	  this.interviewStartTime=this.year+'-'+this.month+'-'+this.day
-        }
-        if(this.endShow){
-        		this.interviewEndTime=this.year+'-'+this.month+'-'+this.day
-        }
-      },
-      init() {
-        const date =  new Date();
-        const years = []
-        const year = date.getFullYear()
-        const months = []
-        const month = date.getMonth() + 1
-        const days = []
-        const day = date.getDate()
-      
-        let isDay = 30;
-        if (month == 2) {
-          if((year%4==0 && year%100!=0)||(year%400==0)){
-            isDay = 29;
-          }else {
-            isDay = 28;
-          }
-        } else if ([1,3,5,7,8,10,12].includes(month)) {
-          isDay = 31;
-        } else {
-          isDay = 30;
-        }
-      
-        for (let i = date.getFullYear();  i >= 1900; i--) {
-          years.push(i)
-        }
-        for (let i = 1; i <= 12; i++) {
-          months.push(i)
-        }
-        for (let i = 1; i <= isDay; i++) {
-          days.push(i)
-        }
-      
-        this.years = years
-        this.year = year
-        this.months = months
-        this.month = month
-        this.days = days
-        this.day = day
-        this.value = [0, month-1, day-1]
-      },
-      // 补0
-      padZeroStr(originStr){
-         if(+originStr < 10){
-            return  String(originStr).padStart(2,'0')
-         }
-         return originStr + ''
-      },
-      close(){
-        this.$emit('update:visible', false);
-      },
-	  reset(){
-        this.$emit('update:visible', false);
-        this.interviewStartTime=''
-        this.interviewEndTime =''
-      },
-      startClick(){
-        // this.interviewStartTime=''
-        console.log(this.year ,this.month );
-        this.interviewStartTime = this.year+'-'+this.month+'-'+this.day
-        this.visible=true
-        this.startShow = true
-        this.endShow = false
-      },
-      endClick(){
-        this.interviewEndTime= this.year+'-'+this.month+'-'+this.day
-        this.visible=true
-        this.startShow = false
-        this.endShow = true
-      },
-      confirm() {
-        // let monthStr = this.padZeroStr(this.month)
-        // let dayStr = this.padZeroStr(this.day)
-        // let hourStr = this.padZeroStr(this.hour)
-        // let minuteStr = this.padZeroStr(this.minute)
-        // this.timeValue = `${this.year}/${monthStr}/${dayStr} ${hourStr}:${minuteStr}:00`;
-        this.$emit('confirmPickDate', this.interviewStartTime,this.interviewEndTime);
-		    this.$refs.popup.close()
-      },
-    },
-  }
+		props: {
+			// visible: {
+			//   type: Boolean,
+			//   default: true
+			// },
+
+			// interviewTime: {
+			//   type: String,
+			//   default() {
+			//     return '';
+			//   },
+			// }
+		},
+		mounted() {
+			this.init();
+		},
+		watch: {
+			// visible: {
+			//   handler(newValue, oldValue) {
+			//     if (newValue) {
+			//       if (this.interviewTime) {
+			//         this.init(this.interviewTime);
+			//       }
+			//     }
+			//   },
+			//   immediate: false,
+			//   deep: true
+			// }
+		},
+		methods: {
+			//快捷选择
+			OptionsTabSelect(index) {
+				this.OptionsTabIndex = index;
+			},
+			open() {
+				this.$refs.popup.open()
+			},
+			bindChange: function(e) {
+				const val = e.detail.value
+				let year = this.years[val[0]]
+				let isDay = 30,
+					days = [];
+				if (val[1] + 1 == 2) {
+					if ((val[0] % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {
+						console.log('闰年')
+						isDay = 29;
+					} else {
+						isDay = 28;
+						console.log('平年')
+					}
+				} else if ([1, 3, 5, 7, 8, 10, 12].includes(val[1] + 1)) {
+					isDay = 31;
+				} else {
+					isDay = 30;
+				}
+
+				for (let i = 1; i <= isDay; i++) {
+					days.push(i)
+				}
+				this.days = days;
+				this.year = this.years[val[0]]
+				this.month = this.months[val[1]]
+				this.day = this.days[val[2]]
+				if (this.startShow) {
+					this.interviewStartTime = this.year + '-' + this.month + '-' + this.day
+				}
+				if (this.endShow) {
+					this.interviewEndTime = this.year + '-' + this.month + '-' + this.day
+				}
+			},
+			init() {
+				const date = new Date();
+				const years = []
+				const year = date.getFullYear()
+				const months = []
+				const month = date.getMonth() + 1
+				const days = []
+				const day = date.getDate()
+
+				let isDay = 30;
+				if (month == 2) {
+					if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {
+						isDay = 29;
+					} else {
+						isDay = 28;
+					}
+				} else if ([1, 3, 5, 7, 8, 10, 12].includes(month)) {
+					isDay = 31;
+				} else {
+					isDay = 30;
+				}
+
+				for (let i = date.getFullYear(); i >= 1900; i--) {
+					years.push(i)
+				}
+				for (let i = 1; i <= 12; i++) {
+					months.push(i)
+				}
+				for (let i = 1; i <= isDay; i++) {
+					days.push(i)
+				}
+
+				this.years = years
+				this.year = year
+				this.months = months
+				this.month = month
+				this.days = days
+				this.day = day
+				this.value = [0, month - 1, day - 1]
+			},
+			// 补0
+			padZeroStr(originStr) {
+				if (+originStr < 10) {
+					return String(originStr).padStart(2, '0')
+				}
+				return originStr + ''
+			},
+			close() {
+				this.$emit('update:visible', false);
+			},
+			reset() {
+				this.$emit('update:visible', false);
+				this.interviewStartTime = ''
+				this.interviewEndTime = ''
+			},
+			startClick() {
+				// this.interviewStartTime=''
+				this.interviewStartTime = this.year + '-' + this.month + '-' + this.day
+				this.visible = true
+				this.startShow = true
+				this.endShow = false
+			},
+			endClick() {
+				this.interviewEndTime = this.year + '-' + this.month + '-' + this.day
+				this.visible = true
+				this.startShow = false
+				this.endShow = true
+			},
+			confirm() {
+				// let monthStr = this.padZeroStr(this.month)
+				// let dayStr = this.padZeroStr(this.day)
+				// let hourStr = this.padZeroStr(this.hour)
+				// let minuteStr = this.padZeroStr(this.minute)
+				// this.timeValue = `${this.year}/${monthStr}/${dayStr} ${hourStr}:${minuteStr}:00`;
+				this.$emit('confirmPickDate', this.interviewStartTime, this.interviewEndTime);
+				this.$refs.popup.close()
+			},
+		},
+	}
 </script>
 <style lang="scss" scoped>
 	.popup {
-	  border-radius:10px 10px 0 0 !important; 
+		border-radius: 10px 10px 0 0 !important;
+	}
+
+	.popup-title {
+		font-size: 15px;
+		color: #333333;
+		padding: 10px;
+		margin-bottom: 10px;
+		position: relative;
+		text-align: center;
+		border-bottom: 1rpx solid #eee;
+
+		text:first-child {
+			font-weight: 600;
+		}
+
+		text:last-child {
+			position: absolute;
+			right: 10px;
+			font-size: 21px;
+			color: #999999;
+			line-height: 23px;
+		}
+	}
+
+	.quickOptions {
+		padding: 0 42rpx;
+		box-sizing: border-box;
+		margin-bottom: 37rpx;
+
+		.title {
+			font-size: 30rpx;
+			color: #333;
+			margin-bottom: 20rpx;
+		}
+
+		.tab {
+			padding: 7rpx 20rpx;
+			box-sizing: border-box;
+			font-size: 26rpx;
+			color: #666;
+			border-radius: 4rpx 4rpx 4rpx 4rpx;
+			border: 1rpx solid #EEEEEE;
+			margin-right: 30rpx;
+		}
+
+		.tabactive {
+			background: rgba(45, 109, 255, 0.1);
+			color: #2D6DFF;
+			border: 1rpx solid #fff;
+		}
+	}
+
+	.popup-footer {
+		margin: 10px 15px;
+
+		text {
+			font-size: 16px;
+			padding: 5px 0;
+			color: #FFFFFF;
+			display: inline-block;
+			width: 45%;
+			text-align: center;
+		}
+
+		text:first-child {
+			color: #2D6DFF;
+			background: rgba(45, 109, 255, 0.1);
+			border-radius: 5px 5px 5px 5px;
+		}
+
+		text:last-child {
+			background: linear-gradient(132deg, #2DD9FF 0%, #2D6DFF 100%);
+			border-radius: 5px 5px 5px 5px;
+		}
+	}
+
+	.popup-data {
+		line-height: 25px;
+
+		text {
+			font-size: 14px;
+			color: #999999;
+			display: inline-block;
+			width: 45%;
+			text-align: center;
+			border: 1px solid #DDDDDD;
+			border-radius: 2px 2px 2px 2px;
+		}
+
+		.active {
+			border: 1px solid #2D6DFF;
+			color: #2D6DFF;
+		}
+	}
+
+	.picker-view {
+		width: 100%;
+		height: 150px;
 	}
-  .popup-title{
-  	font-size: 15px;
-  	color: #333333;
-  	padding:10px;
-  	margin-bottom: 10px;
-  	position: relative;
-  	text-align: center;
-  	text:first-child {
-  		font-weight: 600;
-  	}
-  	text:last-child {
-  		position: absolute;
-  		right: 10px;
-  		font-size: 21px;
-  		color: #999999;
-  		line-height: 23px;
-  	}
-  }
-  .popup-footer{
-  	margin:10px 15px;
-  	text{
-  		font-size: 16px;
-  		padding: 5px 0;
-  		color: #FFFFFF;
-  		display: inline-block;
-  		width: 45%;
-  		text-align: center;
-  	}
-  	text:first-child {
-  		color: #2D6DFF;
-  		background: rgba(45,109,255,0.1);
-  		border-radius: 5px 5px 5px 5px;
-  	}
-  	text:last-child {
-  		background: linear-gradient( 132deg, #2DD9FF 0%, #2D6DFF 100%);
-  		border-radius: 5px 5px 5px 5px;
-  	}
-  }
-  .popup-data{
-  	line-height: 25px;
-  	text{
-  		font-size: 14px;
-  		color: #999999 ;
-  		display: inline-block;
-  		width: 45%;
-  		text-align: center;
-  		border: 1px solid #DDDDDD;
-		border-radius: 2px 2px 2px 2px;
-  	}
-  	.active{
-  		border: 1px solid #2D6DFF;
-  		color: #2D6DFF;
-  	}
-  }
-   .picker-view {
-          width: 100%;
-          height: 150px;
-        }
-</style>
+</style>

+ 0 - 1
pages/index/applypartner.vue

@@ -121,7 +121,6 @@
 			...mapState(['userInfo', "userCheckInfo"]),
 		},
 		async onLoad(options) {
-			console.log(options);
 			this.grade = options.grade ? options.grade : ''
 		},
 		methods: {

+ 12 - 6
pages/index/index.vue

@@ -175,7 +175,9 @@
 				</view>
 			</view>
 		</view>
-
+		<u-popup v-model="personTypeshow" mode="bottom" border-radius="14">
+			<view>出淤泥而不染,濯清涟而不妖</view>
+		</u-popup>
 	</view>
 </template>
 <script>
@@ -197,6 +199,7 @@
 		},
 		data() {
 			return {
+				personTypeshow: false, //业务类型弹窗
 				teamOverviewInfo: {}, //页面展示数据
 				todayOverview: {}, //今日数据
 				teamOverview: [{
@@ -265,7 +268,6 @@
 			},
 			change(index) {
 				const info = this.teamOverview[index];
-				console.log(info);
 				this.teamOverviewInfo = info;
 				this.current = index;
 			},
@@ -337,12 +339,16 @@
 			},
 			//邀请码
 			invitationCode(value) {
+				if (value == 4) {
+					this.personTypeshow = true;
+				} else {
+					uni.navigateTo({
+						url: "/pages/institutional/invitationCode?grade=" + value,
+					})
+				}
 				// uni.navigateTo({
-				// 	url: "/pages/institutional/invitationCode?grade=" + value,
+				// 	url: "/pages/index/applypartner?grade=" + value,
 				// })
-				uni.navigateTo({
-					url: "/pages/index/applypartner?grade=" + value,
-				})
 			},
 		}
 	}

+ 38 - 16
pages/institutional/invitationCode.vue

@@ -13,8 +13,8 @@
 				<view class="header dis a-c mb-3">
 					<image src="/static/image/my/wuxingb.png" mode=""></image>
 					<view class="dis f-c ml-2">
-						<text>姓名</text>
-						<text>所在机构名称</text>
+						<text>{{userInfo.sysUser.userName}}</text>
+						<text>{{userInfo.sysUser.deptName}}</text>
 					</view>
 				</view>
 				<view class="dis f-c a-c ">
@@ -36,8 +36,8 @@
 			<!-- 标签 -->
 			<view class="tag mt-2 dis f-c ">
 				<view class="dis a-c j-s">
-					<text>我的身份:合伙人</text>
-					<view class="entryPoint" @click="upgrade">去升级</view>
+					<text>我的身份:{{gradeText}}</text>
+					<view class="entryPoint" v-show="supportUpgrade" @click="upgrade">去升级</view>
 				</view>
 				<text class="mt-1">再邀请6个工作室,即可升级成为管理人,赚取更多收益</text>
 			</view>
@@ -65,6 +65,7 @@
 			return {
 				recommendImg: "", //邀请码
 				grade: "", //等级
+				supportUpgrade: false, //是否支持升级
 			}
 		},
 		onShow() {
@@ -72,32 +73,53 @@
 		},
 		computed: {
 			...mapState(['userInfo', "userCheckInfo"]),
+			gradeText() {
+				const gradeMap = {
+					1: '创始人',
+					2: '管理人',
+					3: '合伙人',
+					4: '工作室'
+				}
+				return gradeMap[this.userInfo.sysUser.grade] || ''
+			}
 		},
 		onLoad(options) {
 			if (options) {
 				this.grade = options.grade;
 			}
-			console.log(options);
 			this.recommendCode();
+			this.entryPoint();
 		},
 		methods: {
+			//获取升级标识
+			async entryPoint() {
+				let res = await this.$http.post('/partner/verifyUpgradeConditions', {
+					grade: this.grade,
+				});
+				if (res.code == '200') {
+					this.supportUpgrade = true;
+				} else {
+					this.supportUpgrade = false;
+				}
+			},
 			//去升级
-			upgrade() {
-				uni.navigateTo({
-					url: '/pages/institutional/applicationResult'
-				})
+			async upgrade() {
+				let res = await this.$http.post('/partner/submitLiftingRecord', {
+					grade: this.grade,
+				});
+				if (res.code == '200') {
+					uni.navigateTo({
+						url: '/pages/institutional/applicationResult'
+					})
+				}
+
 			},
 			//邀请二维码生成
 			recommendCode() {
-				// this.recommendImg = QR.createQrCodeImg(this.$base.h5BaseUrl + "/#/pages/index/applystudio?deptSource=" +
-				// 	this
-				// 	.deptSource + '&userId=' + this.userInfo.sysUser.userId, {
-				// 		size: parseInt(200) //二维码大小  
-				// 	})
 				this.recommendImg = QR.createQrCodeImg(this.$base.h5BaseUrl + "/#/pages/index/applypartner?grade=" +
 					this
-					.grade, {
-						size: parseInt(200) //二维码大小  
+					.grade + '&userId=' + this.userInfo.sysUser.userId, {
+						size: parseInt(300) //二维码大小  
 					})
 			},
 			back() {

+ 29 - 8
pages/institutional/partner.vue

@@ -11,14 +11,14 @@
 					style="background: transparent;height: 80rpx;z-index: -1;"></u-tabs>
 			</view>
 			<view class="right dis a-c">
-				<image src="/static/home/customerService.png" mode=""></image>
+				<image src="/static/home/customerService1.png" mode=""></image>
 				<text>客服</text>
 			</view>
 		</view>
 		<view class="homeBackground"></view>
 		<!-- 业绩 -->
 		<view class="filterTime dis j-end a-c ">
-			<view class=" dis a-c ">
+			<view class=" dis a-c " @click="timeDropdownFilter">
 				<text>时间筛选</text>
 				<text>▼</text>
 			</view>
@@ -27,7 +27,7 @@
 			共有 5 笔订单,保费54252.25元,佣金569.35元
 		</view>
 		<view class="body p-2" style="padding-top: 340rpx;">
-			<view class="card mb-2" v-for="(item,index) in personlist" :key="index" @click="partnerDetail">
+			<view class="card mb-2" v-for="(item,index) in personlist" :key="index" @click="partnerDetail(item.id)">
 				<view class="card-title dis a-c j-s mb-2">
 					<view class="dis a-c ">
 						<view class="avatar">
@@ -102,6 +102,7 @@
 			<uni-popup-dialog type="warn" cancelText="取消" confirmText="确定" title=" " :content="dialogContent"
 				@confirm="dialogConfirm" @close="dialogClose"></uni-popup-dialog>
 		</u-popup>
+		<my-date-picker ref="datePicker" @confirmPickDate="confirmPickDate" />
 	</view>
 </template>
 <script>
@@ -174,14 +175,32 @@
 						text: '个代'
 					}
 				],
-				deptSource: 1
+				deptSource: 1,
+				startTime: "",
+				endTime: "",
+				grade: "",
 			}
 		},
 		async onLoad(params) {
-			this.queryData(params.grade)
+			this.grade = params.grade;
+			if (params.startTime) {
+				this.startTime = params.startTime;
+				this.endTime = params.endTime;
+			}
+			this.queryData();
 			this.userLevel = this.userInfo.sysUser.level
 		},
 		methods: {
+			//下拉筛选
+			timeDropdownFilter() {
+				this.$refs.datePicker.open()
+			},
+			//日期选择事件
+			confirmPickDate(startdate, enddate) {
+				this.startTime = startdate;
+				this.endTime = enddate;
+				this.queryData();
+			},
 			//数据格式化
 			numberFormat(value) {
 				return (value).toLocaleString('en-US');
@@ -235,9 +254,9 @@
 					url: "/pages/index/index"
 				})
 			},
-			partnerDetail() {
+			partnerDetail(id) {
 				uni.navigateTo({
-					url: "/pages/institutional/partnerDetail"
+					url: "/pages/institutional/partnerDetail?id=" + id,
 				})
 			},
 			closeInstitution(item, level) {
@@ -251,7 +270,9 @@
 			},
 			//列表数据
 			async queryData(grade) {
-				let res = await this.$http.get('/newAppPartner/selectByGradeList?grade=' + grade, );
+				let res = await this.$http.get('/newAppPartner/selectByGradeList?grade=' + this.grade + '&startTime=' +
+					this
+					.startTime + '&endTime=' + this.endTime, );
 				if (res.code == '200') {
 					this.tablist = res.data; //选项卡
 					this.tablist.map(val => {

+ 25 - 15
pages/institutional/partnerDetail.vue

@@ -9,39 +9,39 @@
 		<view class="intro dis a-c ">
 			<image src="/static/image/my/wuxingb.png" mode=""></image>
 			<view class="dis f-c ml-3">
-				<text class="title">姓名</text>
-				<text>18335592986</text>
+				<text class="title">{{referrerInfo.userName}}</text>
+				<text>{{referrerInfo.mobile}}</text>
 				<view class="dis a-c">
-					<text>推荐人:Fangfang</text>
+					<text>推荐人:{{referrerInfo.referrerName}}</text>
 					<view class="level dis  a-c j-c ">
-						合伙人
+						{{referrerInfo.referrerGrade}}
 					</view>
 				</view>
 
 			</view>
 		</view>
 		<view class="body p-2" style="padding-top: 400rpx;">
-			<view class="card mb-2" v-for="i in 10" :key="i" @click="partnerDetail">
+			<view class="card mb-2" v-for="(item,index) in userlist" :key="index">
 				<view class="card-title dis a-c j-s mb-2">
 					<view class="dis a-c ">
 						<view class="avatar">
 							<image src="/static/image/my/wuxingb.png" mode=""></image>
 						</view>
-						<text class="name ml-1">ZhangXiLin</text>
+						<text class="name ml-1">{{item.userName}}</text>
 					</view>
-					<text>2025.05.21 12:00:59 出单</text>
+					<text>{{item.createTime}} &nbsp;加入</text>
 				</view>
 				<view class="card-data dis a-c j-s ">
 					<view class="view dis f-c a-c ">
-						<text>wangxiaoyu</text>
-						<text>代理人</text>
+						<text>{{item.number}}</text>
+						<text>{{item.gradeName}}</text>
 					</view>
 					<view class="view dis f-c a-c ">
-						<text>22,552.87</text>
+						<text>{{item.premium}}</text>
 						<text>保费</text>
 					</view>
 					<view class="view dis f-c a-c ">
-						<text>152.87</text>
+						<text>{{item.commission}}</text>
 						<text>我的佣金</text>
 					</view>
 				</view>
@@ -53,11 +53,13 @@
 	export default {
 		data() {
 			return {
-
+				referrerInfo: {}, //个人信息
+				userlist: [],
 			}
 		},
-		onLoad(e) {
-
+		onLoad(options) {
+			this.id = options.id;
+			this.querydata();
 		},
 		methods: {
 			back() {
@@ -66,7 +68,15 @@
 					success: function() {}
 				});
 			},
-
+			async querydata() {
+				let res = await this.$http.get('/newAppPartner/selectByIdList?id=' + this.id + '&startTime=' +
+					this
+					.startTime + '&endTime=' + this.endTime);
+				if (res.code == '200') {
+					this.referrerInfo = res.data.referrer;
+					this.userlist = res.data.list;
+				}
+			},
 			onReachBottom() {
 				if (this.pageRequest.pageNum >= this.totalPages) return;
 				this.status = 'loading';

+ 1 - 0
pages/my/my.vue

@@ -484,6 +484,7 @@
 
 			},
 			confirmPickDate(dateStr, dateStr1) {
+				console.log(dateStr, dateStr1);
 				if (dateStr) {
 					dateStr += ' 00:00:01'
 				}

BIN
static/home/customerService1.png