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 | 294 +++++++++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 236 insertions(+), 58 deletions(-)
diff --git a/pages/login/supplier-login.vue b/pages/login/supplier-login.vue
index c6b3b1a..20d49bf 100644
--- a/pages/login/supplier-login.vue
+++ b/pages/login/supplier-login.vue
@@ -11,82 +11,228 @@
<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" /> -->
- <u-input placeholder="请输入账号" :border="false" v-model="userName"></u-input>
-
+ <!-- <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>
+ <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 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>
-
+ <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>
- <!-- #ifdef PUB_SUPPLIER -->
- <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,11 +248,21 @@
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: {
- async getCode() {
+ async getCode() {
console.log('getCode')
uni.hideKeyboard() //隐藏已经显示的软键盘,如果软键盘没有显示则不做任何操作。
if (this.getCodeisWaiting) {
@@ -126,7 +282,7 @@
} = await this.$http.request('post', '/api/sms/send/code', {
data: {
tel: this.phoneNumber,
- userType: 'supplier'
+ userType: this.apitype.replace("login", "").toLowerCase()
}
})
if (code == 0) {
@@ -135,7 +291,7 @@
icon: "none"
});
this.setTimer(); //调用定时器方法
- }else{
+ } else {
this.getCodeText = "获取验证码" //发送验证码
this.getCodeisWaiting = false;
this.getCodeBtnColor = "#20613D";
@@ -168,14 +324,33 @@
holdTime--;
}, 1000)
},
+ toHome() {
+ uni.redirectTo({
+ url: '/pages/home/home'
+ })
+ },
toReg() {
// uni.switchTab({
// url: '/pages/index/index'
// })
- uni.redirectTo({
- url: '/sub_pages/supplier/supplier-reg/supplier-reg'
+ 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();
@@ -266,17 +442,19 @@
.form-input {
background-color: #f8f7fc;
border-radius: 50rpx;
- margin-bottom: 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;
-
- }
+ line-height: 70rpx;
+
+ }
}
</style>
--
Gitblit v1.9.3