From 09a9c6c647a7c90d6f83663cddac68983b351209 Mon Sep 17 00:00:00 2001
From: chenrui <1187576398@qq.com>
Date: 星期二, 03 六月 2025 16:42:17 +0800
Subject: [PATCH] 登录修改

---
 src/views/login.vue |   69 +++++++++++++++++++++++++++++-----
 1 files changed, 59 insertions(+), 10 deletions(-)

diff --git a/src/views/login.vue b/src/views/login.vue
index 437093e..1cc6cfd 100644
--- a/src/views/login.vue
+++ b/src/views/login.vue
@@ -59,6 +59,27 @@
       </el-form-item>
       <el-checkbox v-model="loginForm.rememberMe" style="margin:0px 0px 25px 0px;">璁颁綇瀵嗙爜</el-checkbox>
     </el-form>
+    <el-dialog
+        v-model="modalView"
+        title="鐧诲綍閮ㄩ棬"
+        width="500"
+        :show-close="false">
+      <el-form :model="factoryCommitForm">
+        <el-form-item>
+          <el-select v-model="currentFatoryId">
+            <el-option  v-for="item in factoryList" :key="item.deptId" :label="item.deptName" :value="item.deptId" />
+          </el-select>
+        </el-form-item>
+      </el-form>
+      <template #footer>
+        <div class="dialog-footer">
+          <el-button @click="cancelLogin">鍙栨秷</el-button>
+          <el-button type="primary" @click="factoryCommit()">
+            纭
+          </el-button>
+        </div>
+      </template>
+    </el-dialog>
     <!--  搴曢儴  -->
 <!--    <div class="el-login-footer">-->
 <!--      <span>Copyright 漏 2018-2025 ruoyi.vip All Rights Reserved.</span>-->
@@ -67,10 +88,11 @@
 </template>
 
 <script setup>
-import { getCodeImg } from "@/api/login"
+import {getCodeImg, loginCheckFactory} from "@/api/login"
 import Cookies from "js-cookie"
 import { encrypt, decrypt } from "@/utils/jsencrypt"
 import useUserStore from '@/store/modules/user'
+import {userDeptList} from "@/api/system/user.js"
 
 const title = import.meta.env.VITE_APP_TITLE
 const userStore = useUserStore()
@@ -86,6 +108,10 @@
   uuid: ""
 })
 
+const factoryCommitForm = ref({
+  deptId:''
+})
+
 const loginRules = {
   username: [{ required: true, trigger: "blur", message: "璇疯緭鍏ユ偍鐨勮处鍙�" }],
   password: [{ required: true, trigger: "blur", message: "璇疯緭鍏ユ偍鐨勫瘑鐮�" }],
@@ -99,6 +125,11 @@
 // 娉ㄥ唽寮�鍏�
 const register = ref(false)
 const redirect = ref(undefined)
+
+const modalView = ref(false)
+
+const factoryList = ref([])
+const currentFatoryId = ref('')
 
 watch(route, (newRoute) => {
     redirect.value = newRoute.query && newRoute.query.redirect
@@ -120,15 +151,13 @@
         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]
-          }
-          return acc
-        }, {})
-        router.push({ path: redirect.value || "/", query: otherQueryParams })
+      userStore.loginCheck(loginForm.value).then(res => {
+        // 鏌ヨ鐢ㄦ埛閮ㄩ棬
+        userDeptList(res.data).then(res => {
+          factoryList.value = res.data
+          modalView.value = true
+        })
+
       }).catch(() => {
         loading.value = false
         // 閲嶆柊鑾峰彇楠岃瘉鐮�
@@ -137,6 +166,21 @@
         }
       })
     }
+  })
+}
+
+// 褰撳墠鐧诲綍鍏徃/閮ㄩ棬纭
+function factoryCommit(){
+  loginForm.value.factoryId = currentFatoryId.value
+  userStore.loginCheckFactory(loginForm.value).then(res => {
+    const query = route.query
+    const otherQueryParams = Object.keys(query).reduce((acc, cur) => {
+      if (cur !== "redirect") {
+        acc[cur] = query[cur]
+      }
+      return acc
+    }, {})
+    router.push({ path: redirect.value || "/", query: otherQueryParams })
   })
 }
 
@@ -161,6 +205,11 @@
   }
 }
 
+function cancelLogin() {
+  modalView.value = false
+  loading.value = false
+}
+
 getCode()
 getCookie()
 </script>

--
Gitblit v1.9.3