From 6be28040e74e1ff7764478174a9b5d706fe4fc39 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期五, 31 五月 2024 11:40:28 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 h5/pages/staffLogin/login.vue |   74 ++++++++++++++++++++++++++++++------
 1 files changed, 61 insertions(+), 13 deletions(-)

diff --git a/h5/pages/staffLogin/login.vue b/h5/pages/staffLogin/login.vue
index bbdbe35..0e1a4bc 100644
--- a/h5/pages/staffLogin/login.vue
+++ b/h5/pages/staffLogin/login.vue
@@ -6,32 +6,51 @@
     <view class="login_list">
       <view class="login_list_item">
         <image src="@/static/login_ic_phone@2x.png" mode="widthFix" />
-        <input
-          v-model="form.account"
-          maxlength="18"
-          placeholder="璐﹀彿"
-        />
+        <input v-model="form.username" maxlength="18" placeholder="璐﹀彿" />
       </view>
       <view class="login_list_item">
         <image src="@/static/login_ic_password@2x.png" mode="widthFix" />
         <input v-model="form.password" type="password" placeholder="瀵嗙爜" />
       </view>
+      <view class="login_list_item">
+        <image src="@/static/ic_captcha.png" mode="widthFix"></image>
+        <input v-model="form.code" placeholder="楠岃瘉鐮�" type="text" />
+        <image
+          @click="initCaptcha"
+          :src="captcha.image"
+          class="captcha"
+          mode="widthFix"
+        />
+      </view>
     </view>
     <view class="login_btn">
       <view class="login_btn_n" @click="onLogin">绔嬪嵆鐧诲綍</view>
-      <view class="for_psd">蹇樿瀵嗙爜</view>
+      <view @click="$jump('/pages/staffLogin/forgetPsd')" class="for_psd"
+        >蹇樿瀵嗙爜</view
+      >
     </view>
 
     <view class="deal_wrap">
       <checkbox @change="dealChange" />
       <text>鐧诲綍鍗冲悓鎰�</text>
-      <text class="deal">銆婂畨娉扮墿娴佺敤鎴峰崗璁��</text>
+      <text class="deal" @click="isShowProtocol = true"
+        >銆婂畨娉扮墿娴佺敤鎴峰崗璁��</text
+      >
     </view>
+    <!--  -->
+    <u-popup
+      :show="isShowProtocol"
+      @close="isShowProtocol = false"
+      mode="center"
+    >
+      <view class="modal">111</view>
+    </u-popup>
   </view>
 </template>
 
 <script>
-import { loginPost } from '@/api'
+import { loginPost, loginCaptcha, getUserInfo } from '@/api'
+import { mapState, mapMutations } from 'vuex'
 export default {
   name: 'login',
 
@@ -40,32 +59,55 @@
       form: {
         account: '',
         password: '',
-      }
+      },
+      isShowProtocol: false,
+      captcha: {}
     }
   },
 
-  created() {
+  onLoad() {
+    this.initCaptcha()
   },
 
   methods: {
+    ...mapMutations(["setToken", "setUserInfo"]),
     dealChange(e) {
       console.log(e)
     },
+    initCaptcha() {
+      loginCaptcha().then(res => {
+        this.captcha = res.data
+      })
+    },
+
     onLogin() {
       const { form } = this
-      if (!form.account) return uni.showToast({
-        title: '璐﹀彿鍚庝笉鑳戒负绌�',
+      if (!form.username) return uni.showToast({
+        title: '璐﹀彿涓嶈兘涓虹┖',
         icon: 'none'
       })
       if (!form.password) return uni.showToast({
         title: '瀵嗙爜涓嶈兘涓虹┖',
         icon: 'none'
       })
+      if (!form.code) return uni.showToast({
+        title: '楠岃瘉鐮佷笉鑳戒负绌�',
+        icon: 'none'
+      })
       loginPost({
         ...form,
+        uuid: this.captcha.uuid,
         openId: this.$store.state.openId
       }).then(res => {
-        console.log('res', res);
+        if (res.code === 200) {
+          this.setToken(res.data)
+          getUserInfo().then(ress => {
+            this.setUserInfo(ress.data)
+            uni.redirectTo({
+              url: "/pages/staff/index"
+            })
+          })
+        }
       })
     }
   }
@@ -125,6 +167,9 @@
         width: 40rpx;
         height: 40rpx;
       }
+      .captcha {
+        width: 200rpx;
+      }
       input {
         flex: 1;
         height: 100%;
@@ -171,4 +216,7 @@
     }
   }
 }
+.modal {
+  padding: 32rpx;
+}
 </style>

--
Gitblit v1.9.3