From b37bca8f7a6cdae798e74f14b51936e3a6a9637c Mon Sep 17 00:00:00 2001 From: xuxueyang <xuxy@fengyuntec.com> Date: 星期四, 29 八月 2024 22:42:14 +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