From 345706a1c57053dae0ef56d0ed911b68b5ecd863 Mon Sep 17 00:00:00 2001 From: xuxueyang <xuxy@fengyuntec.com> Date: 星期六, 03 八月 2024 15:51:49 +0800 Subject: [PATCH] add 合伙人接口 --- pages/login/supplier-login.vue | 248 ++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 212 insertions(+), 36 deletions(-) diff --git a/pages/login/supplier-login.vue b/pages/login/supplier-login.vue index 52303aa..20d49bf 100644 --- a/pages/login/supplier-login.vue +++ b/pages/login/supplier-login.vue @@ -11,7 +11,14 @@ <form class="cl"> <view class="t-a titles-top"> <view class="title-1">HELLO</view> - <view class="title-2">欢迎登录<span class="title-3">花满芜</span></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" /> --> @@ -19,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> @@ -40,53 +42,197 @@ <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> + <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">返回首页</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 '' - // return 'loginPartner' + async onLoad(options) { + // #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) } - }, + } + console.log('options query111', querydto) + // this.optionsStr = JSON.stringify(options) || '' + if (querydto.partnerUserId) { + //通过接口获取名称,兼容,url上不能放中文的情况 + + 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 || '' + } + + } + + 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 this.$store.dispatch('getCurrentInfo'); + + + //这种已经登录的 + //确定是注册绑定还是重新绑定 + 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}` + }) + } + } catch (e2) { + console.log('to login error', e2) + } + }, 2000) + + } else { + 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}` + }) + } + + + } + // #endif + + }, + onShareAppMessage() { + let that = this; + var name = that.currentInfo.customerDTO && currentInfo.customerDTO.name || that.currentInfo.supplierDTO && + currentInfo.supplierDTO.name || that.currentInfo.partnerDTO && 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 && currentInfo.customerDTO.name || that.currentInfo.supplierDTO && + currentInfo.supplierDTO.name || that.currentInfo.partnerDTO && 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: '', @@ -102,7 +248,17 @@ getCodeText: '获取验证码', getCodeBtnColor: "#20613D", getCodeisWaiting: false, - Timer: undefined + Timer: undefined, + // #ifdef PUB_SUPPLIER + apitype: 'loginSupplier', + // #endif + // #ifdef PUB_PARTNER + apitype: 'loginPartner', + // #endif + // #ifdef PUB_CUSTOMER + apitype: 'loginCustomer', + // #endif + // return 'loginPartner' }; }, methods: { @@ -126,7 +282,7 @@ } = await this.$http.request('post', '/api/sms/send/code', { data: { tel: this.phoneNumber, - userType: this.apitype.replace("login", "").toLowerCase() || 'supplier' + userType: this.apitype.replace("login", "").toLowerCase() } }) if (code == 0) { @@ -168,14 +324,33 @@ 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] @@ -200,6 +375,7 @@ }); return; } + that.phoneNumber = '' } if (this.loginType == 'code') { if (!that.phoneNumber) { @@ -234,7 +410,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(); -- Gitblit v1.9.3