xuxueyang
2024-08-02 1b78e33e0d0340f3d45f87160abcb0f13f013774
pages/login/supplier-login.vue
@@ -11,36 +11,67 @@
            <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>
               <view class="t-a input" v-if="loginType=='pwd'">
                  <input type="text" name="userName" placeholder="请输入账号" v-model="userName" />
               </view>
               <view class="t-a input" v-if="loginType=='pwd'">
                  <input type="text" :password="true" name="password" placeholder="请输入密码" v-model="password" />
               </view>
               <view class="t-a 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 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 class="t-a input" v-if="loginType=='code'">
                  <input type="text" name="userName" placeholder="请输入手机验证码" v-model="smsCode" />
               </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'">
                  <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'">
                  <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>
                  <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>
@@ -51,30 +82,29 @@
   // 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'
            }
         },
      },
      // 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: 'gzm',
            password: '123456',
            userName: '',
            password: '',
            // userName: '',
            // password: '',
@@ -87,11 +117,22 @@
            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() {
            console.log('getCode')
            uni.hideKeyboard() //隐藏已经显示的软键盘,如果软键盘没有显示则不做任何操作。
            if (this.getCodeisWaiting) {
               return;
@@ -110,7 +151,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) {
@@ -119,6 +160,10 @@
                  icon: "none"
               });
               this.setTimer(); //调用定时器方法
            } else {
               this.getCodeText = "获取验证码" //发送验证码
               this.getCodeisWaiting = false;
               this.getCodeBtnColor = "#20613D";
            }
            // setTimeout(() => {
            //    uni.showToast({
@@ -148,14 +193,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]
@@ -179,10 +243,11 @@
                     icon: 'none'
                  });
                  return;
               }
               }
               that.phoneNumber = ''
            }
            if (this.loginType == 'code') {
               if (!that.tel) {
               if (!that.phoneNumber) {
                  uni.showToast({
                     title: '请输入手机号',
                     icon: 'none'
@@ -214,7 +279,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();
@@ -226,10 +291,10 @@
               // }, 1000);
            } else {
               uni.showToast({
                  title: '登录失败!',
                  icon: 'none'
               });
               // uni.showToast({
               //    title: '登录失败!',
               //    icon: 'none'
               // });
               return;
            }
@@ -242,7 +307,26 @@
      }
   };
</script>
<style lang="scss" scoped>
   .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/ input {
         height: 70rpx;
         line-height: 70rpx;
      }
   }
</style>
<style lang="scss" scoped>
   @import './login.scss';
@@ -303,7 +387,7 @@
   }
   .t-login input {
      padding: 0 20rpx 0 120rpx;
      padding: 0 20rpx 0 60rpx;
      height: 90rpx;
      line-height: 90rpx;
      margin-bottom: 50rpx;
@@ -317,9 +401,9 @@
      position: relative;
      .get-code {
         position: absolute;
         right: 40rpx;
         top: 25rpx;
         // position: absolute;
         // right: 40rpx;
         // top: 25rpx;
      }
   }
@@ -404,9 +488,9 @@
      font-size: 27rpx;
   }
   .t-login .uni-input-placeholder {
      color: #000;
   }
   // .t-login .uni-input-placeholder {
   //    color: #000;
   // }
   .cl {
      zoom: 1;