From 137910cf4fc73a3a2787a3a02718f1e1f637c368 Mon Sep 17 00:00:00 2001
From: zhouwx <1175765986@qq.com>
Date: 星期五, 14 六月 2024 16:01:17 +0800
Subject: [PATCH] bug修改

---
 src/views/components/loginForm.vue |   81 +++++++++++++++++++++++++++++++---------
 1 files changed, 62 insertions(+), 19 deletions(-)

diff --git a/src/views/components/loginForm.vue b/src/views/components/loginForm.vue
index 2f5995e..e2e2f2a 100644
--- a/src/views/components/loginForm.vue
+++ b/src/views/components/loginForm.vue
@@ -1,7 +1,7 @@
 <template>
   <div class="login-panel">
     <div class="login-img">
-      <img src="src/assets/images/loginImg.png">
+      <img :src="loginImgPng">
     </div>
     <el-form ref="loginRef" :model="loginForm" :rules="loginRules" class="login-form">
       <h3 class="title">登录系统</h3>
@@ -24,6 +24,7 @@
           auto-complete="off"
           placeholder="密码"
           @keyup.enter="handleLogin"
+          show-password
         >
           <template #prefix><svg-icon icon-class="password" class="el-input__icon input-icon" /></template>
         </el-input>
@@ -43,13 +44,17 @@
           <img :src="codeUrl" @click="getCode" class="login-code-img"/>
         </div>
       </el-form-item>
+      <el-radio-group v-model="loginForm.role" class="mb5">
+        <el-radio :label="0" size="large">监管部门</el-radio>
+        <el-radio :label="1" size="large">机构管理员</el-radio>
+      </el-radio-group>
       <div style="display: flex;justify-content: space-between;align-items: center;margin-bottom: 25px">
 <!--        <el-checkbox v-model="loginForm.rememberMe">记住密码</el-checkbox>-->
         <el-button
             :loading="loading"
             size="large"
             type="primary"
-            style="width:50%;"
+            style="width:63%;"
             @click.prevent="handleLogin"
         >
           <span v-if="!loading">登 录</span>
@@ -71,6 +76,9 @@
 import { encrypt, decrypt } from "@/utils/jsencrypt";
 import useUserStore from '@/store/modules/user'
 import { Register } from "@/layout/components";
+import { Base64 } from 'js-base64'
+import menu from "@/layout/components/Sidebar/menu";
+import loginImgPng from "@/assets/images/loginImg.png"
 
 const userStore = useUserStore()
 const route = useRoute();
@@ -78,16 +86,17 @@
 const { proxy } = getCurrentInstance();
 
 const loginForm = ref({
-  username: "admin",
-  password: "admin@123",
+  username: "",
+  password: "",
   code: "",
-  uuid: ""
+  uuid: "",
+  role: 0
 });
 
 const loginRules = {
   username: [{ required: true, trigger: "blur", message: "请输入您的账号" }],
   password: [{ required: true, trigger: "blur", message: "请输入您的密码" }],
-  code: [{ required: true, trigger: "change", message: "请输入验证码" }]
+  code: [{ required: true, trigger: "blur", message: "请输入验证码" }]
 };
 
 const codeUrl = ref("");
@@ -100,17 +109,19 @@
 const redirect = ref(undefined);
 
 onMounted(()=>{
-
+  Cookies.remove("userState");
 })
 
 const openRegist = ()=>{
-  regRef.value.dialogVisible = true
+  regRef.value.openDialog('add', {});
 }
 
 watch(route, (newRoute) => {
     redirect.value = newRoute.query && newRoute.query.redirect;
 }, { immediate: true });
 
+
+const sidebarRouters = ref([])
 function handleLogin() {
   proxy.$refs.loginRef.validate(valid => {
     if (valid) {
@@ -127,18 +138,50 @@
       //   Cookies.remove("rememberMe");
       // }
       // 调用action的登录方法
-      userStore.login(loginForm.value).then(() => {
-        const query = route.query;
-        const otherQueryParams = Object.keys(query).reduce((acc, cur) => {
-          if (cur !== "redirect") {
-            acc[cur] = query[cur];
+      // loginForm.value.password = Base64.encode(loginForm.value.password)
+        const param = {
+            username: loginForm.value.username,
+            password: Base64.encode(loginForm.value.password),
+            code: loginForm.value.code,
+            uuid: loginForm.value.uuid,
+            identity: loginForm.value.role
+        }
+      userStore.login(param).then(() => {
+        // const query = route.query;
+        // const otherQueryParams = Object.keys(query).reduce((acc, cur) => {
+        //   if (cur !== "redirect") {
+        //     acc[cur] = query[cur];
+        //   }
+        //   return acc;
+        // }, {});
+        const userInfo = JSON.parse(Cookies.get('userInfo'))
+          if(userInfo.identity === 0 ) {
+              //监管用户
+              sidebarRouters.value =  menu.adminMenu
+              Cookies.set('routers',JSON.stringify(sidebarRouters.value))
+          }else if(userInfo.identity === 1) {
+            const userState = JSON.parse(Cookies.get('userState'))
+            console.log("userState",userState)
+              //机构用户
+              //未审核状态不显示菜单
+              if(userState !==2 ){
+                sidebarRouters.value = menu.noMenu
+                Cookies.set('routers',JSON.stringify(sidebarRouters.value))
+              }else {
+                sidebarRouters.value =  menu.agencyMenu
+                Cookies.set('routers',JSON.stringify(sidebarRouters.value))
+              }
           }
-          return acc;
-        }, {});
-        const routers = JSON.parse(Cookies.get('routers'))
-          router.push({
-              path: routers[0].path
-          })
+          let path = ""
+          if(sidebarRouters.value[0].children && sidebarRouters.value[0].children.length > 0){
+              path = sidebarRouters.value[0].path + '/'+ sidebarRouters.value[0].children[0].path
+          }else {
+              path = sidebarRouters.value[0].path
+          }
+
+        router.push({
+            path: path
+        })
         // router.push({ path: redirect.value || "/", query: otherQueryParams });
       }).catch(() => {
         loading.value = false;

--
Gitblit v1.9.2