From 32526e5bddb7b14328b2467cd18783f480b33f3b Mon Sep 17 00:00:00 2001
From: xuxueyang <xuxy@fengyuntec.com>
Date: 星期六, 31 八月 2024 01:51:53 +0800
Subject: [PATCH] update合伙人

---
 pages/login/supplier-login.vue |  388 +++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 344 insertions(+), 44 deletions(-)

diff --git a/pages/login/supplier-login.vue b/pages/login/supplier-login.vue
index 427b37b..ea5734f 100644
--- a/pages/login/supplier-login.vue
+++ b/pages/login/supplier-login.vue
@@ -1,5 +1,5 @@
 <template>
-	<view class="main-container login-container img100 relative" style="margin-top: 0rpx;">
+	<view class="main-container login-container img100 relative" style="margin-top: 0rpx;min-height: 100vh;">
 		<!-- background-image:url('@/static/images/supplier/login/bg.png') -->
 
 		<image class="component-bg"
@@ -12,12 +12,12 @@
 					<view class="t-a titles-top">
 						<view class="title-1">HELLO</view>
 						<view class="title-2">欢迎登录<span class="title-3">花满芫</span>
-						<!-- #ifdef PUB_SUPPLIER -->
-						<span>供应商管理平台</span>
-						<!-- #endif -->
-						<!-- #ifdef PUB_PARTNER -->
-						<span>合伙人管理平台</span>
-						<!-- #endif -->					
+							<!-- #ifdef PUB_SUPPLIER -->
+							<span>供应商管理平台</span>
+							<!-- #endif -->
+							<!-- #ifdef PUB_PARTNER -->
+							<span>合伙人管理平台</span>
+							<!-- #endif -->
 						</view>
 					</view>
 					<view class="t-a input form-input" v-if="loginType=='pwd'">
@@ -26,20 +26,15 @@
 
 					</view>
 					<view class="t-a input form-input" v-if="loginType=='pwd'">
-						<!-- <input type="text" :password="true" name="password" placeholder="请输入密码" v-model="password" /> -->
 						<u-input :password="true" :border="false" placeholder="请输入密码" v-model="password"></u-input>
 					</view>
 					<view class="t-a input form-input" v-if="loginType=='code'">
 
 
-						<!-- 						<input type="text" name="userName" placeholder="请输入手机号" v-model="phoneNumber" />
-						<view class="get-code" :style="{'color':getCodeBtnColor}" @click.stop="getCode()">
-							{{getCodeText}}
-						</view> -->
 						<u-input placeholder="请输入手机号" :border="false" v-model="phoneNumber">
 							<template slot="suffix">
 								<view class="get-code" :style="{'color':getCodeBtnColor}" @click.stop="getCode()">
-									{{getCodeText}}
+									{{ getCodeText }}
 								</view>
 							</template>
 						</u-input>
@@ -47,52 +42,332 @@
 
 
 					<view class="t-a form-input" v-if="loginType=='code'">
-						<!-- <input type="text" name="userName" placeholder="请输入手机验证码" v-model="smsCode" /> -->
 						<u-input placeholder="请输入手机验证码" :border="false" v-model="smsCode"></u-input>
 
 					</view>
 
+					<view class="flex flex-wrap-normal" v-if="true">
+						<view :style="{'margin-top': '24rpx','margin-right': '12rpx','font-size':'24rpx'}"
+							@click="protocal=!protocal" class="component-radio" :class="[protocal?'cur':'']">
+
+						</view>
+						<!-- /pages/help/content?id=新手帮助 -->
+						<!-- 用户协议,隐私政策、卖家入驻协议、合伙人入驻协议 -->
+
+						<!-- #ifdef PUB_PARTNER -->
+						<view class="topic-gray">
+							请仔细阅读<span class="t-red" @click="goto('/pages/help/content?id=用户协议',false)">《用户协议》</span>、
+							<span class="t-red" @click="goto('/pages/help/content?id=隐私政策',false)">《隐私政策》</span>
+							、<span class="t-red" @click="goto('/pages/help/content?id=合伙人入驻协议',false)">《合伙人入驻协议》</span>
+							如您同意该指引,请勾选开始使用本小程序
+						</view>
+						<!-- #endif -->
+						<!-- #ifdef PUB_SUPPLIER -->
+						<view class="topic-gray">
+							请仔细阅读<span class="t-red" @click="goto('/pages/help/content?id=用户协议',false)">《用户协议》</span>、
+							<span class="t-red" @click="goto('/pages/help/content?id=隐私政策',false)">《隐私政策》</span>
+							、<span class="t-red" @click="goto('/pages/help/content?id=卖家入驻协议',false)">《卖家入驻协议》</span>
+							如您同意该指引,请勾选开始使用本小程序
+						</view>
+						<!-- #endif -->
+						<!-- #ifdef PUB_CUSTOMER -->
+						<view class="topic-gray">
+							请仔细阅读<span class="t-red" @click="goto('/pages/help/content?id=用户协议',false)">《用户协议》</span>和
+							<span class="t-red" @click="goto('/pages/help/content?id=隐私政策',false)">《隐私政策》</span>
+							如您同意该指引,请勾选开始使用本小程序
+						</view>
+						<!-- #endif -->
+
+					</view>
+
+
+
+
+
 					<button @tap="login()" class="bottom-button">登 录</button>
 
 					<view class="flex">
-						<view class="topic-font" v-if="loginType=='pwd'" @click="loginType='code'">手机验证码登录</view>
-						<view class="topic-font" v-if="loginType=='code'" @click="loginType='pwd'">账号密码登录</view>
+						<view class="topic-font" v-if="loginType=='pwd'&&apitype!=='loginAdmin'"
+							@click="loginType='code'">手机验证码登录</view>
+						<view class="topic-font" v-if="loginType=='code'&&apitype!=='loginAdmin'"
+							@click="loginType='pwd'">账号密码登录</view>
 
-						<!-- #ifndef PUB_CUSTOMER -->
-						<view class="topic-font m-l-a m-r-0" @click="toReg">前往注册</view>
+						<view class="topic-font m-l-a m-r-0" v-if="apitype!=='loginAdmin'" @click="toReg">前往注册</view>
+
+						<!-- #ifdef PUB_CUSTOMER -->
+						<view class="topic-font m-l-a m-r-0" @click="toHome" v-if="!source">返回首页</view>
+						<view class="topic-font m-l-a m-r-0" @click="backpage" v-if="source==='jump'">返回上一页</view>
 
 						<!-- #endif -->
+						<!-- #ifdef PUB_PARTNER -->
+						<view class="topic-font m-l-a m-r-0" @click="()=>{
+							if(apitype==='loginPartner'){
+								apitype = 'loginAdmin'
+								loginType = 'pwd'
+							}else{
+								apitype = 'loginPartner'
+							}
+						}">
+							切换为{{apitype!=='loginPartner'?'合伙人':'质检人员'}}登录
+						</view>
+						<!-- #endif -->
 					</view>
+
 				</form>
 			</view>
+			<!-- 		<view v-if="optionsStr">
+				{{optionsStr}}
+			</view> -->
 		</view>
 	</view>
 </template>
 <script>
-	// import util from '@/utils/util.js'
-	// import gzmzApi from '@/api/gzmzApi.js'
-	// import myCache from '@/utils/myCache.js'
 	export default {
-		// props: {
-		// 	// apitype: 'loginSupplier',
-		// 	apitype: {
-		// 		type: String,
-		// 		default () {
-		// 			// #ifdef PUB_SUPPLIER
-		// 			return 'loginSupplier'
-		// 			// #endif
-		// 			// #ifdef PUB_PARTNER
-		// 			return 'loginPartner'
-		// 			// #endif
-		// 			// #ifdef PUB_CUSTOMER
-		// 			return 'loginCustomer'
-		// 			// #endif	
-		// 			// return 'loginPartner'
-		// 		}
-		// 	},
-		// },
+		async onLoad(options) {
+			this.source = options.source || ''
+			this.sharePartnerUserId = options.sharePartnerUserId || ''
+			// #ifdef PUB_CUSTOMER
+			var query = options.q && decodeURIComponent(options.q) || ''
+			var querydto = {}
+			if (query) {
+				try {
+					var keyvalues = query.split("?")[1].split("&")
+					for (var item of keyvalues) {
+						var tarr = item.split("=")
+						querydto[tarr[0]] = tarr[1]
+					}
+				} catch (e) {
+					console.error('error', e)
+				}
+			}
+			try {
+				if (!querydto.partnerUserId) {
+					if (options.query && options.query.scene) {
+						//说明是特殊小程序二维码扫码跳转的
+						var keyvalues = decodeURIComponent(options.query.scene).split("&")
+						for (var item of keyvalues) {
+							var tarr = item.split("=")
+							querydto[tarr[0]] = tarr[1]
+						}
+					}
+				}
+
+			} catch (e) {
+				console.error('error2', e)
+			}
+
+
+			console.log('options query111', options, querydto)
+			// this.optionsStr = JSON.stringify(options) || ''
+			if (querydto.partnerUserId) {
+				//通过接口获取名称,兼容,url上不能放中文的情况
+
+
+
+				if (this.$storage.getItem('token')) {
+					console.log('to login 1')
+					this.$message.showLoading()
+					//稍微等一会,避免currentInfo还在同步
+					let tmp = this
+					setTimeout(async () => {
+						try {
+							tmp.$message.hideLoading()
+							if (tmp.currentInfo && tmp.currentInfo.id || tmp.$storage.getItem('token')) {
+								await tmp.$store.dispatch('getCurrentInfo');
+								//已经登录的直接判断,并且绑定
+								tmp.$nextTick(async () => {
+									if (!tmp.currentInfo.customerDTO) {
+										tmp.$message.showToast(
+											'您尚未完善信息无法绑定')
+										setTimeout(() => {
+											uni.reLaunch({
+												url: '/pages/home/home'
+											})
+										}, 500)
+										return
+									} else {
+										if (tmp.currentInfo.customerDTO
+											.partnerId) {
+											tmp.$message.showToast(
+												'您已绑定,请联系客服解除绑定')
+											setTimeout(() => {
+												uni.reLaunch({
+													url: '/pages/home/home'
+												})
+											}, 500)
+											return
+										} else {
+											//前往绑定页面
+											//直接绑定
+											//调用接口绑定
+											tmp.$message.showLoading()
+											const {
+												code,
+												data
+											} = await tmp.$http.request('post',
+												'/api/customer/bind/partner', {
+													data: {
+														partnerUserId: querydto
+															.partnerUserId
+													}
+												})
+											tmp.$message.hideLoading()
+											if (code == 0) {
+												tmp.$message.showToast(`绑定合伙人成功`)
+												await tmp.$store.dispatch('getCurrentInfo')
+												//跳转到个人页面
+												setTimeout(() => {
+													uni.reLaunch({
+														url: '/pages/home/home'
+													})
+												}, 500)
+
+											}
+
+										}
+									}
+								})
+
+
+
+								//这种已经登录的
+								//确定是注册绑定还是重新绑定
+								// tmp.$nextTick(() => {
+								// 	var tt = {
+								// 		title: '提示:您已登录,是直接用该账号绑定,还是退出并注册新账号绑定合伙人',
+								// 		content: '',
+								// 		showCancel: true,
+								// 		cancelText: '直接绑定',
+								// 		cancelColor: '#000000',
+								// 		confirmText: '退出注册',
+								// 		confirmColor: '#20613D'
+								// 	}
+								// 	uni.showModal({
+								// 		...tt,
+								// 		success: async (res) => {
+
+								// 			if (res.confirm) {
+								// 				//清空登录信息,
+								// 				this.$store.commit('updateLogin',
+								// 					false)
+								// 				setTimeout(() => {
+								// 					uni.navigateTo({
+								// 						url: `/sub_pages/customer/customer-info/customer-info?source=step&partnerUserId=${querydto.partnerUserId}&partnerUserName=${querydto.partnerUserName}`
+								// 					})
+								// 				}, 200)
+								// 			}
+								// 			if (res.cancel) {
+								// 				if (!tmp.currentInfo.customerDTO) {
+								// 					tmp.$message.showToast(
+								// 						'您尚未完善信息无法绑定')
+								// 					return
+								// 				} else {
+								// 					if (tmp.currentInfo.customerDTO
+								// 						.partnerId) {
+								// 						tmp.$message.showToast(
+								// 							'您已绑定,请联系客服解除绑定')
+								// 						return
+								// 					} else {
+								// 						//前往绑定页面
+								// 						uni.reLaunch({
+								// 							url: `/pages/user/supplier-user?partnerUserId=${querydto.partnerUserId}&partnerUserName=${querydto.partnerUserName}`
+								// 						})
+								// 					}
+								// 				}
+								// 			}
+								// 		},
+								// 		fail(res) {
+								// 			console.log('res uni model', res)
+								// 		}
+								// 	})
+
+								// })
+
+
+							} else {
+								console.log('to login 3')
+								//退出登录了,或者失效了
+								// uni.navigateTo({
+								// 	url: `/sub_pages/customer/customer-info/customer-info?source=step&partnerUserId=${querydto.partnerUserId}&partnerUserName=${querydto.partnerUserName}`
+								// })
+								if (!querydto.partnerUserName) {
+									tmp.$message.showLoading()
+									const resname = await tmp.$http.request('get',
+										'/api/customer/partner/name', {
+											params: {
+												id: querydto.partnerUserId
+											}
+										})
+									tmp.$message.hideLoading()
+									if (resname.code == 0) {
+										querydto.partnerUserName = resname.data || ''
+									}
+
+								}
+								uni.navigateTo({
+									url: `/pages/login/supplier-reg?partnerUserId=${querydto.partnerUserId}&partnerUserName=${querydto.partnerUserName}`
+								})
+							}
+						} catch (e2) {
+							console.log('to login error', e2)
+						}
+					}, 2000)
+
+				} else {
+					if (!querydto.partnerUserName) {
+						this.$message.showLoading()
+						const resname = await this.$http.request('get', '/api/customer/partner/name', {
+							params: {
+								id: querydto.partnerUserId
+							}
+						})
+						this.$message.hideLoading()
+						if (resname.code == 0) {
+							querydto.partnerUserName = resname.data || ''
+						}
+
+					}
+					// console.log('to login 2',
+					// 	`/sub_pages/customer/customer-info/customer-info?source=step&partnerUserId=${querydto.partnerUserId}&partnerUserName=${querydto.partnerUserName}`
+					// )
+					// uni.navigateTo({
+					// 	url: `/sub_pages/customer/customer-info/customer-info?source=step&partnerUserId=${querydto.partnerUserId}&partnerUserName=${querydto.partnerUserName}`
+					// })
+					uni.navigateTo({
+						url: `/pages/login/supplier-reg?partnerUserId=${querydto.partnerUserId}&partnerUserName=${querydto.partnerUserName}`
+					})
+				}
+
+
+			}
+			// #endif
+
+		},
+		onShareAppMessage() {
+			let that = this;
+			var name = that.currentInfo.customerDTO && that.currentInfo.customerDTO.name || that.currentInfo.supplierDTO &&
+				that.currentInfo.supplierDTO.name || that.currentInfo.partnerDTO && that.currentInfo.partnerDTO.name || ''
+			var url =
+				`/pages/login/supplier-login?shareId=${this.currentInfo&&this.currentInfo.id||''}&shareName=${name||''}`; //你的转发页面路径拼接参数
+			return {
+				title: "花满芫",
+				path: url,
+			}
+		},
+		onShareTimeline() {
+			let that = this;
+			var name = that.currentInfo.customerDTO && that.currentInfo.customerDTO.name || that.currentInfo.supplierDTO &&
+				that.currentInfo.supplierDTO.name || that.currentInfo.partnerDTO && that.currentInfo.partnerDTO.name || ''
+			var url =
+				`/pages/login/supplier-login?shareId=${this.currentInfo&&this.currentInfo.id||''}&shareName=${name||''}`; //你的转发页面路径拼接参数
+			return {
+				title: "花满芫",
+				path: url,
+			}
+		},
 		data() {
 			return {
+				optionsStr: '',
 				openId: '-1',
 				userName: '',
 				password: '',
@@ -101,6 +376,8 @@
 
 				phoneNumber: '',
 				smsCode: '',
+				source: '', //来源
+				sharePartnerUserId: '', //分享跳转登录的id
 
 				checked: false,
 				loginType: 'pwd', //pwd和code,密码和验证码登录
@@ -108,7 +385,8 @@
 				getCodeText: '获取验证码',
 				getCodeBtnColor: "#20613D",
 				getCodeisWaiting: false,
-				Timer: undefined,
+				Timer: undefined,
+				protocal:false,
 				// #ifdef PUB_SUPPLIER
 				apitype: 'loginSupplier',
 				// #endif
@@ -117,7 +395,7 @@
 				// #endif
 				// #ifdef PUB_CUSTOMER
 				apitype: 'loginCustomer',
-				// #endif	
+				// #endif
 				// return 'loginPartner'
 			};
 		},
@@ -184,6 +462,11 @@
 					holdTime--;
 				}, 1000)
 			},
+			toHome() {
+				uni.reLaunch({
+					url: '/pages/home/home'
+				})
+			},
 			toReg() {
 				// uni.switchTab({
 				// 	url: '/pages/index/index'
@@ -196,17 +479,31 @@
 				})
 				// #endif
 				// #ifdef PUB_SUPPLIER
-				uni.redirectTo({
+				uni.reLaunch({
 					url: '/pages/login/supplier-reg'
 				})
 				// #endif
+				// #ifdef PUB_CUSTOMER
+				// addstr = '?source=step'
+				// uni.navigateTo({
+				// 	url: '/sub_pages/customer/customer-info/customer-info' + addstr
+				// })
+				uni.reLaunch({
+					url: '/pages/login/supplier-reg'
+				})
+				// todo 如果是有分享id的,可能需要提前进行绑定
 
 
+				// #endif
 			},
 			changeAll(e) {
 				this.pcfvalue = e.detail.value[0]
 			},
-			async login() {
+			async login() {
+				if(!this.protocal){
+					this.$message.showToast('请同意用户协议')
+					return
+				}
 				uni.showLoading({
 					title: '登陆中'
 				});
@@ -226,6 +523,7 @@
 						});
 						return;
 					}
+					that.phoneNumber = ''
 				}
 				if (this.loginType == 'code') {
 					if (!that.phoneNumber) {
@@ -260,7 +558,7 @@
 				const resp = await this.$store.dispatch(this.apitype, post);
 				// uni.hideLoading()
 
-				if (resp.code == 0) {
+				if (resp.code === 0) {
 
 					// myCache.cache("userToken", res.data.accessToken)
 					// let userRes = await gzmzApi.getMemberInfo();
@@ -271,6 +569,8 @@
 					// 	uni.navigateBack();
 					// }, 1000);
 
+
+
 				} else {
 					// uni.showToast({
 					// 	title: '登录失败!',

--
Gitblit v1.9.3