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 | 1175 ++++++++++++++++++++++++++++++++++++----------------------
 1 files changed, 732 insertions(+), 443 deletions(-)

diff --git a/pages/login/supplier-login.vue b/pages/login/supplier-login.vue
index 96c7a4a..ea5734f 100644
--- a/pages/login/supplier-login.vue
+++ b/pages/login/supplier-login.vue
@@ -1,498 +1,787 @@
 <template>
-  <view class="main-container login-container img100 relative" style="margin-top: 0rpx;">
-    <!-- background-image:url('@/static/images/supplier/login/bg.png') -->
+	<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"
-           src="https://hmy-flower.oss-cn-shanghai.aliyuncs.com/a5/a54508de179a4942918ecb2c5a4aa9f5bg.png"
-           mode="scaleToFill"/>
-    <view class="t-login top-bg">
-      <view class="nav-title">登录</view>
-      <view class="login">
-        <form class="cl">
-          <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 -->
-            </view>
-          </view>
-          <view class="t-a input form-input" v-if="loginType=='pwd'">
-            <!-- <input type="text" name="userName" placeholder="请输入账号" v-model="userName" /> -->
-            <u-input placeholder="请输入账号" :border="false" v-model="userName"></u-input>
+		<image class="component-bg"
+			src="https://hmy-flower.oss-cn-shanghai.aliyuncs.com/a5/a54508de179a4942918ecb2c5a4aa9f5bg.png"
+			mode="scaleToFill" />
+		<view class="t-login top-bg">
+			<view class="nav-title">登录</view>
+			<view class="login">
+				<form class="cl">
+					<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 -->
+						</view>
+					</view>
+					<view class="t-a input form-input" v-if="loginType=='pwd'">
+						<!-- <input type="text" name="userName" placeholder="请输入账号" v-model="userName" /> -->
+						<u-input placeholder="请输入账号" :border="false" v-model="userName"></u-input>
 
-          </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'">
+					</view>
+					<view class="t-a input form-input" v-if="loginType=='pwd'">
+						<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 }}
-                </view>
-              </template>
-            </u-input>
-          </view>
+						<u-input placeholder="请输入手机号" :border="false" v-model="phoneNumber">
+							<template slot="suffix">
+								<view class="get-code" :style="{'color':getCodeBtnColor}" @click.stop="getCode()">
+									{{ getCodeText }}
+								</view>
+							</template>
+						</u-input>
+					</view>
 
 
-          <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 class="t-a form-input" v-if="loginType=='code'">
+						<u-input placeholder="请输入手机验证码" :border="false" v-model="smsCode"></u-input>
 
-          </view>
+					</view>
 
-          <button @tap="login()" class="bottom-button">登 录</button>
+					<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 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>
+						<!-- /pages/help/content?id=新手帮助 -->
+						<!-- 用户协议,隐私政策、卖家入驻协议、合伙人入驻协议 -->
 
-            <view class="topic-font m-l-a m-r-0" @click="toReg">前往注册</view>
+						<!-- #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 -->
 
-            <!-- #ifdef PUB_CUSTOMER -->
-            <view class="topic-font m-l-a m-r-0" @click="toHome">返回首页</view>
-            <!-- #endif -->
-          </view>
+					</view>
 
-        </form>
-      </view>
-    </view>
-  </view>
+
+
+
+
+					<button @tap="login()" class="bottom-button">登 录</button>
+
+					<view class="flex">
+						<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>
+
+						<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'
-  // 		}
-  // 	},
-  // },
-  data() {
-    return {
-      openId: '-1',
-      userName: '',
-      password: '',
-      // userName: '',
-      // password: '',
+	export default {
+		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]
+						}
+					}
+				}
 
-      phoneNumber: '',
-      smsCode: '',
+			} catch (e) {
+				console.error('error2', e)
+			}
 
-      checked: false,
-      loginType: 'pwd', //pwd和code,密码和验证码登录
-      pcfvalue: undefined,
-      getCodeText: '获取验证码',
-      getCodeBtnColor: "#20613D",
-      getCodeisWaiting: false,
-      Timer: undefined,
-      // #ifdef PUB_SUPPLIER
-      apitype: 'loginSupplier',
-      // #endif
-      // #ifdef PUB_PARTNER
-      apitype: 'loginPartner',
-      // #endif
-      // #ifdef PUB_CUSTOMER
-      apitype: 'loginCustomer',
-      // #endif
-      // return 'loginPartner'
-    };
-  },
-  methods: {
-    async getCode() {
-      console.log('getCode')
-      uni.hideKeyboard() //隐藏已经显示的软键盘,如果软键盘没有显示则不做任何操作。
-      if (this.getCodeisWaiting) {
-        return;
-      }
-      if (!(/^1(3|4|5|6|7|8|9)\d{9}$/.test(this.phoneNumber))) { //校验手机号码是否有误
-        this.$message.showToast('请填写正确手机号码')
-        return false;
-      }
-      this.getCodeText = "发送中..." //发送验证码
-      this.getCodeisWaiting = true;
-      this.getCodeBtnColor = "#000" //追加样式,修改颜色
-      //示例用定时器模拟请求效果
-      //setTimeout(()用于在指定的毫秒数后调用函数或计算表达式
-      const {
-        code
-      } = await this.$http.request('post', '/api/sms/send/code', {
-        data: {
-          tel: this.phoneNumber,
-          userType: this.apitype.replace("login", "").toLowerCase()
-        }
-      })
-      if (code == 0) {
-        uni.showToast({
-          title: '验证码已发送',
-          icon: "none"
-        });
-        this.setTimer(); //调用定时器方法
-      } else {
-        this.getCodeText = "获取验证码" //发送验证码
-        this.getCodeisWaiting = false;
-        this.getCodeBtnColor = "#20613D";
-      }
-      // setTimeout(() => {
-      // 	uni.showToast({
-      // 		title: '验证码已发送',
-      // 		icon: "none"
-      // 	}); //弹出提示框
-      // 	//示例默认1234,生产中请删除这一句。
-      // 	// this.code = '1234'; //发送验证码,进行填入
-      // 	this.setTimer(); //调用定时器方法
-      // }, 1000)
-    },
-    //setTimer: 需要每隔一段时间执行一件事的的时候就需要使用SetTimer函数
-    setTimer() {
-      let holdTime = 60; //定义变量并赋值
-      this.getCodeText = "重新获取(60)"
-      //setInterval()是一个实现定时调用的函数,可按照指定的周期(以毫秒计)来调用函数或计算表达式。
-      //setInterval方法会不停地调用函数,直到 clearInterval被调用或窗口被关闭。
-      this.Timer = setInterval(() => {
-        if (holdTime <= 0) {
-          this.getCodeisWaiting = false;
-          this.getCodeBtnColor = "#20613D";
-          this.getCodeText = "获取验证码"
-          clearInterval(this.Timer); //清除该函数
-          return; //返回前面
-        }
-        this.getCodeText = "重新获取(" + holdTime + ")"
-        holdTime--;
-      }, 1000)
-    },
-    toHome(){
-      uni.redirectTo({
-        url: '/pages/home/home'
-      })
-    },
-    toReg() {
-      // uni.switchTab({
-      // 	url: '/pages/index/index'
-      // })
-      var addstr = ''
-      // #ifdef PUB_PARTNER
-      addstr = '?source=step'
-      uni.navigateTo({
-        url: '/sub_pages/partner/partner-info/partner-info' + addstr
-      })
-      // #endif
-      // #ifdef PUB_SUPPLIER
-      uni.redirectTo({
-        url: '/pages/login/supplier-reg'
-      })
-      // #endif
-      // #ifdef PUB_CUSTOMER
-      addstr = '?source=step'
-      uni.navigateTo({
-        url: '/sub_pages/customer/customer-info/customer-info' + addstr
-      })
-      // #endif
-    },
-    changeAll(e) {
-      this.pcfvalue = e.detail.value[0]
-    },
-    async login() {
-      uni.showLoading({
-        title: '登陆中'
-      });
-      var that = this;
-      if (this.loginType == 'pwd') {
-        if (!that.userName) {
-          uni.showToast({
-            title: '请输入用户名',
-            icon: 'none'
-          });
-          return;
-        }
-        if (!that.password) {
-          uni.showToast({
-            title: '请输入密码',
-            icon: 'none'
-          });
-          return;
-        }
-      }
-      if (this.loginType == 'code') {
-        if (!that.phoneNumber) {
-          uni.showToast({
-            title: '请输入手机号',
-            icon: 'none'
-          });
-          return;
-        }
-        if (!that.smsCode) {
-          uni.showToast({
-            title: '请输入手机验证码',
-            icon: 'none'
-          });
-          return;
-        }
-      }
-      // if (this.pcfvalue == undefined) {
-      // 	util.showMyToast('必须勾选《用户服务协议》及《隐私政策》');
-      // 	return;
-      // }
-      let post = {
-        username: this.userName,
-        password: this.password,
-        tel: this.phoneNumber,
-        smsCode: this.smsCode
-        // openId: '123456789'
-      }
-      // const {
-      // code
-      // } = await this.$http.request('get', '/api/login/admin')
-      const resp = await this.$store.dispatch(this.apitype, post);
-      // uni.hideLoading()
 
-      if (resp.code === 0) {
+			console.log('options query111', options, querydto)
+			// this.optionsStr = JSON.stringify(options) || ''
+			if (querydto.partnerUserId) {
+				//通过接口获取名称,兼容,url上不能放中文的情况
 
-        // myCache.cache("userToken", res.data.accessToken)
-        // let userRes = await gzmzApi.getMemberInfo();
-        // if (userRes.status) {
-        // 	myCache.cache("userInfo", JSON.stringify(userRes.data))
-        // }
-        // setTimeout(() => {
-        // 	uni.navigateBack();
-        // }, 1000);
 
-      } else {
-        // uni.showToast({
-        // 	title: '登录失败!',
-        // 	icon: 'none'
-        // });
-        return;
-      }
 
-    },
-    tc1(id) {
-      uni.navigateTo({
-        url: '/pages/users/xieyi?id=' + id,
-      });
-    }
-  }
-};
+				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: '',
+				// userName: '',
+				// password: '',
+
+				phoneNumber: '',
+				smsCode: '',
+				source: '', //来源
+				sharePartnerUserId: '', //分享跳转登录的id
+
+				checked: false,
+				loginType: 'pwd', //pwd和code,密码和验证码登录
+				pcfvalue: undefined,
+				getCodeText: '获取验证码',
+				getCodeBtnColor: "#20613D",
+				getCodeisWaiting: false,
+				Timer: undefined,
+				protocal:false,
+				// #ifdef PUB_SUPPLIER
+				apitype: 'loginSupplier',
+				// #endif
+				// #ifdef PUB_PARTNER
+				apitype: 'loginPartner',
+				// #endif
+				// #ifdef PUB_CUSTOMER
+				apitype: 'loginCustomer',
+				// #endif
+				// return 'loginPartner'
+			};
+		},
+		methods: {
+			async getCode() {
+				console.log('getCode')
+				uni.hideKeyboard() //隐藏已经显示的软键盘,如果软键盘没有显示则不做任何操作。
+				if (this.getCodeisWaiting) {
+					return;
+				}
+				if (!(/^1(3|4|5|6|7|8|9)\d{9}$/.test(this.phoneNumber))) { //校验手机号码是否有误
+					this.$message.showToast('请填写正确手机号码')
+					return false;
+				}
+				this.getCodeText = "发送中..." //发送验证码
+				this.getCodeisWaiting = true;
+				this.getCodeBtnColor = "#000" //追加样式,修改颜色
+				//示例用定时器模拟请求效果
+				//setTimeout(()用于在指定的毫秒数后调用函数或计算表达式
+				const {
+					code
+				} = await this.$http.request('post', '/api/sms/send/code', {
+					data: {
+						tel: this.phoneNumber,
+						userType: this.apitype.replace("login", "").toLowerCase()
+					}
+				})
+				if (code == 0) {
+					uni.showToast({
+						title: '验证码已发送',
+						icon: "none"
+					});
+					this.setTimer(); //调用定时器方法
+				} else {
+					this.getCodeText = "获取验证码" //发送验证码
+					this.getCodeisWaiting = false;
+					this.getCodeBtnColor = "#20613D";
+				}
+				// setTimeout(() => {
+				// 	uni.showToast({
+				// 		title: '验证码已发送',
+				// 		icon: "none"
+				// 	}); //弹出提示框
+				// 	//示例默认1234,生产中请删除这一句。
+				// 	// this.code = '1234'; //发送验证码,进行填入
+				// 	this.setTimer(); //调用定时器方法
+				// }, 1000)
+			},
+			//setTimer: 需要每隔一段时间执行一件事的的时候就需要使用SetTimer函数
+			setTimer() {
+				let holdTime = 60; //定义变量并赋值
+				this.getCodeText = "重新获取(60)"
+				//setInterval()是一个实现定时调用的函数,可按照指定的周期(以毫秒计)来调用函数或计算表达式。
+				//setInterval方法会不停地调用函数,直到 clearInterval被调用或窗口被关闭。
+				this.Timer = setInterval(() => {
+					if (holdTime <= 0) {
+						this.getCodeisWaiting = false;
+						this.getCodeBtnColor = "#20613D";
+						this.getCodeText = "获取验证码"
+						clearInterval(this.Timer); //清除该函数
+						return; //返回前面
+					}
+					this.getCodeText = "重新获取(" + holdTime + ")"
+					holdTime--;
+				}, 1000)
+			},
+			toHome() {
+				uni.reLaunch({
+					url: '/pages/home/home'
+				})
+			},
+			toReg() {
+				// uni.switchTab({
+				// 	url: '/pages/index/index'
+				// })
+				var addstr = ''
+				// #ifdef PUB_PARTNER
+				addstr = '?source=step'
+				uni.navigateTo({
+					url: '/sub_pages/partner/partner-info/partner-info' + addstr
+				})
+				// #endif
+				// #ifdef PUB_SUPPLIER
+				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() {
+				if(!this.protocal){
+					this.$message.showToast('请同意用户协议')
+					return
+				}
+				uni.showLoading({
+					title: '登陆中'
+				});
+				var that = this;
+				if (this.loginType == 'pwd') {
+					if (!that.userName) {
+						uni.showToast({
+							title: '请输入用户名',
+							icon: 'none'
+						});
+						return;
+					}
+					if (!that.password) {
+						uni.showToast({
+							title: '请输入密码',
+							icon: 'none'
+						});
+						return;
+					}
+					that.phoneNumber = ''
+				}
+				if (this.loginType == 'code') {
+					if (!that.phoneNumber) {
+						uni.showToast({
+							title: '请输入手机号',
+							icon: 'none'
+						});
+						return;
+					}
+					if (!that.smsCode) {
+						uni.showToast({
+							title: '请输入手机验证码',
+							icon: 'none'
+						});
+						return;
+					}
+				}
+				// if (this.pcfvalue == undefined) {
+				// 	util.showMyToast('必须勾选《用户服务协议》及《隐私政策》');
+				// 	return;
+				// }
+				let post = {
+					username: this.userName,
+					password: this.password,
+					tel: this.phoneNumber,
+					smsCode: this.smsCode
+					// openId: '123456789'
+				}
+				// const {
+				// code
+				// } = await this.$http.request('get', '/api/login/admin')
+				const resp = await this.$store.dispatch(this.apitype, post);
+				// uni.hideLoading()
+
+				if (resp.code === 0) {
+
+					// myCache.cache("userToken", res.data.accessToken)
+					// let userRes = await gzmzApi.getMemberInfo();
+					// if (userRes.status) {
+					// 	myCache.cache("userInfo", JSON.stringify(userRes.data))
+					// }
+					// setTimeout(() => {
+					// 	uni.navigateBack();
+					// }, 1000);
+
+
+
+				} else {
+					// uni.showToast({
+					// 	title: '登录失败!',
+					// 	icon: 'none'
+					// });
+					return;
+				}
+
+			},
+			tc1(id) {
+				uni.navigateTo({
+					url: '/pages/users/xieyi?id=' + id,
+				});
+			}
+		}
+	};
 </script>
 <style lang="scss" scoped>
-.form-input {
-  background-color: #f8f7fc;
-  border-radius: 50rpx;
-  margin-bottom: 50rpx;
-  border: 1px solid #e9e9e9;
+	.form-input {
+		background-color: #f8f7fc;
+		border-radius: 50rpx;
+		margin-bottom: 50rpx;
+		border: 1px solid #e9e9e9;
 
-  /deep/ .u-input {
-    padding-left: 60rpx !important;
-    padding-right: 40rpx !important;
-  }
+		/deep/ .u-input {
+			padding-left: 60rpx !important;
+			padding-right: 40rpx !important;
+		}
 
-  /deep/ input {
-    height: 70rpx;
-    line-height: 70rpx;
+		/deep/ input {
+			height: 70rpx;
+			line-height: 70rpx;
 
-  }
+		}
 
-}
+	}
 </style>
 <style lang="scss" scoped>
-@import './login.scss';
+	@import './login.scss';
 
-.main-container {
-  margin: 20px 0;
-}
+	.main-container {
+		margin: 20px 0;
+	}
 
-.img-a {
-  position: absolute;
-  width: 100%;
-  top: -150rpx;
-  right: 0;
-}
+	.img-a {
+		position: absolute;
+		width: 100%;
+		top: -150rpx;
+		right: 0;
+	}
 
-.img-b {
-  position: absolute;
-  width: 50%;
-  bottom: 0;
-  left: -120rpx;
-}
+	.img-b {
+		position: absolute;
+		width: 50%;
+		bottom: 0;
+		left: -120rpx;
+	}
 
-.to-home {
-  margin-top: 30rpx;
-  font-size: 30rpx;
-  color: #5af;
-  display: flex;
-  flex-direction: row-reverse;
-}
+	.to-home {
+		margin-top: 30rpx;
+		font-size: 30rpx;
+		color: #5af;
+		display: flex;
+		flex-direction: row-reverse;
+	}
 
-.t-login {
-  width: 100%;
-  margin: 0 auto;
-  font-size: 28rpx;
-  color: #000;
-}
+	.t-login {
+		width: 100%;
+		margin: 0 auto;
+		font-size: 28rpx;
+		color: #000;
+	}
 
-.t-login .bg {
-  width: 100%;
-  position: relative;
-}
+	.t-login .bg {
+		width: 100%;
+		position: relative;
+	}
 
-.t-login .login {
-  width: 650rpx;
-  margin: 60rpx auto;
-  margin-top: 0rpx;
-  font-size: 28rpx;
-  color: #000;
-}
+	.t-login .login {
+		width: 650rpx;
+		margin: 60rpx auto;
+		margin-top: 0rpx;
+		font-size: 28rpx;
+		color: #000;
+	}
 
-.t-login button {
-  font-size: 28rpx;
-  background: #5677fc;
-  color: #fff;
-  height: 90rpx;
-  line-height: 90rpx;
-  border-radius: 50rpx;
-  box-shadow: 0 5px 7px 0 rgba(86, 119, 252, 0.2);
-}
+	.t-login button {
+		font-size: 28rpx;
+		background: #5677fc;
+		color: #fff;
+		height: 90rpx;
+		line-height: 90rpx;
+		border-radius: 50rpx;
+		box-shadow: 0 5px 7px 0 rgba(86, 119, 252, 0.2);
+	}
 
-.t-login input {
-  padding: 0 20rpx 0 60rpx;
-  height: 90rpx;
-  line-height: 90rpx;
-  margin-bottom: 50rpx;
-  background: #f8f7fc;
-  border: 1px solid #e9e9e9;
-  font-size: 28rpx;
-  border-radius: 50rpx;
-}
+	.t-login input {
+		padding: 0 20rpx 0 60rpx;
+		height: 90rpx;
+		line-height: 90rpx;
+		margin-bottom: 50rpx;
+		background: #f8f7fc;
+		border: 1px solid #e9e9e9;
+		font-size: 28rpx;
+		border-radius: 50rpx;
+	}
 
-.t-login .t-a {
-  position: relative;
+	.t-login .t-a {
+		position: relative;
 
-  .get-code {
-    // position: absolute;
-    // right: 40rpx;
-    // top: 25rpx;
-  }
-}
+		.get-code {
+			// position: absolute;
+			// right: 40rpx;
+			// top: 25rpx;
+		}
+	}
 
-.t-login .t-a .icon {
-  width: 40rpx;
-  height: 40rpx;
-  position: absolute;
-  left: 24rpx;
-  top: 14rpx;
-  margin-right: 20rpx;
-}
+	.t-login .t-a .icon {
+		width: 40rpx;
+		height: 40rpx;
+		position: absolute;
+		left: 24rpx;
+		top: 14rpx;
+		margin-right: 20rpx;
+	}
 
-.t-login .t-a .line {
-  width: 2rpx;
-  height: 40rpx;
-  background-color: #dedede;
-  position: absolute;
-  top: 28rpx;
-  left: 98rpx;
-}
+	.t-login .t-a .line {
+		width: 2rpx;
+		height: 40rpx;
+		background-color: #dedede;
+		position: absolute;
+		top: 28rpx;
+		left: 98rpx;
+	}
 
-.t-login .t-b {
-  text-align: left;
-  font-size: 46rpx;
-  color: #000;
-  padding: 300rpx 0 30rpx 0;
-  font-weight: bold;
-}
+	.t-login .t-b {
+		text-align: left;
+		font-size: 46rpx;
+		color: #000;
+		padding: 300rpx 0 30rpx 0;
+		font-weight: bold;
+	}
 
-.t-login .t-b2 {
-  text-align: left;
-  font-size: 32rpx;
-  color: #aaaaaa;
-  padding: 0rpx 0 120rpx 0;
-}
+	.t-login .t-b2 {
+		text-align: left;
+		font-size: 32rpx;
+		color: #aaaaaa;
+		padding: 0rpx 0 120rpx 0;
+	}
 
-.t-login .t-c {
-  position: absolute;
-  right: 22rpx;
-  top: 22rpx;
-  background: #5677fc;
-  color: #fff;
-  font-size: 24rpx;
-  border-radius: 50rpx;
-  height: 50rpx;
-  line-height: 50rpx;
-  padding: 0 25rpx;
-  z-index: 999;
-}
+	.t-login .t-c {
+		position: absolute;
+		right: 22rpx;
+		top: 22rpx;
+		background: #5677fc;
+		color: #fff;
+		font-size: 24rpx;
+		border-radius: 50rpx;
+		height: 50rpx;
+		line-height: 50rpx;
+		padding: 0 25rpx;
+		z-index: 999;
+	}
 
-.t-login .t-d {
-  text-align: center;
-  color: #999;
-  margin: 80rpx 0;
-}
+	.t-login .t-d {
+		text-align: center;
+		color: #999;
+		margin: 80rpx 0;
+	}
 
-.t-login .t-e {
-  text-align: center;
-  width: 250rpx;
-  margin: 80rpx auto 0;
-}
+	.t-login .t-e {
+		text-align: center;
+		width: 250rpx;
+		margin: 80rpx auto 0;
+	}
 
-.t-login .t-g {
-  float: left;
-  width: 50%;
-}
+	.t-login .t-g {
+		float: left;
+		width: 50%;
+	}
 
-.t-login .t-e image {
-  width: 50rpx;
-  height: 50rpx;
-}
+	.t-login .t-e image {
+		width: 50rpx;
+		height: 50rpx;
+	}
 
-.t-login .t-f {
-  text-align: center;
-  margin: 200rpx 0 0 0;
-  color: #666;
-}
+	.t-login .t-f {
+		text-align: center;
+		margin: 200rpx 0 0 0;
+		color: #666;
+	}
 
-.t-login .t-f text {
-  margin-left: 20rpx;
-  color: #aaaaaa;
-  font-size: 27rpx;
-}
+	.t-login .t-f text {
+		margin-left: 20rpx;
+		color: #aaaaaa;
+		font-size: 27rpx;
+	}
 
-// .t-login .uni-input-placeholder {
-// 	color: #000;
-// }
+	// .t-login .uni-input-placeholder {
+	// 	color: #000;
+	// }
 
-.cl {
-  zoom: 1;
-}
+	.cl {
+		zoom: 1;
+	}
 
-.cl:after {
-  clear: both;
-  display: block;
-  visibility: hidden;
-  height: 0;
-  content: '\20';
-}
+	.cl:after {
+		clear: both;
+		display: block;
+		visibility: hidden;
+		height: 0;
+		content: '\20';
+	}
 </style>
\ No newline at end of file

--
Gitblit v1.9.3