From a5cba9ab040f6f97558046885dce3017f9bab7e9 Mon Sep 17 00:00:00 2001
From: WXL (wul) <wl_5969728@163.com>
Date: 星期二, 11 八月 2026 14:12:29 +0800
Subject: [PATCH] 提交

---
 src/views/loginSSO.vue |   78 +++++++++++++++++++++++++++------------
 1 files changed, 54 insertions(+), 24 deletions(-)

diff --git a/src/views/loginSSO.vue b/src/views/loginSSO.vue
index d195a79..e43a341 100644
--- a/src/views/loginSSO.vue
+++ b/src/views/loginSSO.vue
@@ -34,45 +34,47 @@
   },
   methods: {
     // 鍖归厤orgid - 浼樺寲涓哄璞℃槧灏�
-    mateOrgid(orgid) {
+    mateOrgid(campusid, orgid) {
       const orgMap = {
-        "30001002": {
+        30001002: {
           orgname: "鐪佺珛鍚屽痉缈犺嫅闄㈠尯",
           ZuHuID: "1400361376454545408",
           deptCode: "1017",
         },
-        "30001003": {
+        30001003: {
           orgname: "鐪佺珛鍚屽痉涔嬫睙闄㈠尯",
           ZuHuID: "1400360867068907520",
           deptCode: "01040201",
         },
-        "30001004": {
+        30001004: {
           orgname: "鐪佺珛鍚屽痉闂叉灄闄㈠尯",
           ZuHuID: "1429338802177000002",
           deptCode: "",
         },
-        "30001005": {
+        30001005: {
           orgname: "鐪佺珛鍚屽痉澶╃洰灞辫矾闄㈠尯",
           ZuHuID: "1429338802177000003",
           deptCode: "",
         },
-        "30001006": {
+        30001006: {
           orgname: "鐪佺珛鍚屽痉闈掑北婀栭櫌鍖�",
           ZuHuID: "1429338802177000004",
           deptCode: "",
         },
-        "30001007": {
-          orgname: "娴嬭瘯闄㈠尯",
+        30001007: {
+          orgname: "鐪佺珛鍚屽痉缈犺嫅闄㈠尯", //娴嬭瘯
           ZuHuID: "1429338802177000005",
           deptCode: "",
         },
       };
 
-      const orgInfo = orgMap[orgid];
+      const orgInfo = orgMap[campusid];
       if (orgInfo) {
         localStorage.setItem("orgname", orgInfo.orgname);
         localStorage.setItem("ZuHuID", orgInfo.ZuHuID);
         localStorage.setItem("deptCode", orgInfo.deptCode);
+        localStorage.setItem("campusid", campusid);
+        localStorage.setItem("orgid", orgid);
         return orgInfo;
       }
       return null;
@@ -147,7 +149,18 @@
         // 3. 娓呯悊鏃х郴缁熸暟鎹�
         this.clearOldSystemData();
 
-        const { token, orgid, orgname, ZuHuID, deptCode, redirect } = params;
+        const { token, orgid, orgname, ZuHuID, deptCode, redirect, campusid } =
+          params;
+        console.log(
+          token,
+          orgid,
+          orgname,
+          ZuHuID,
+          deptCode,
+          redirect,
+          campusid,
+          "鍙傛暟鏃ュ織"
+        );
 
         // 4. 瀛樺偍token
         setToken(token);
@@ -157,7 +170,7 @@
         // 5. 澶勭悊鏈烘瀯淇℃伅
         if (orgid) {
           // 浼樺厛浣跨敤mateOrgid鏄犲皠
-          const orgInfo = this.mateOrgid(orgid);
+          const orgInfo = this.mateOrgid(campusid, orgid);
           if (!orgInfo) {
             // 濡傛灉娌℃湁鏄犲皠锛屼娇鐢ㄤ紶鍏ョ殑鍙傛暟
             if (orgname) localStorage.setItem("orgname", orgname);
@@ -166,15 +179,26 @@
           }
 
           localStorage.setItem("orgid", orgid);
-          if (this.$store.dispatch && typeof this.$store.dispatch === "function") {
+          if (
+            this.$store.dispatch &&
+            typeof this.$store.dispatch === "function"
+          ) {
             await this.$store.dispatch("UpdateOrgId", orgid);
           }
         }
         this.loadingDetail = "璁剧疆鏈烘瀯淇℃伅...";
 
-        // 6. 鑾峰彇鐢ㄦ埛淇℃伅
-        if (this.$store.dispatch && typeof this.$store.dispatch === "function") {
+        // 6. 鑾峰彇鐢ㄦ埛淇℃伅 + 鐢熸垚鍔ㄦ�佽矾鐢�
+        if (
+          this.$store.dispatch &&
+          typeof this.$store.dispatch === "function"
+        ) {
           await this.$store.dispatch("GetInfo");
+          // SSO 鍏嶇櫥鍦ㄨ烦杞墠宸插畬鎴� GetInfo锛岃矾鐢卞畧鍗笉浼氬啀瑙﹀彂 GenerateRoutes
+          // 蹇呴』鍦ㄦ澶勬樉寮忚皟鐢紝鍚﹀垯鍔ㄦ�佽矾鐢变笉浼氭敞鍐�
+          await this.$store.dispatch("GenerateRoutes").then((accessRoutes) => {
+            this.$router.addRoutes(accessRoutes);
+          });
         }
         this.loadingDetail = "鑾峰彇鐢ㄦ埛淇℃伅...";
 
@@ -203,15 +227,17 @@
           console.log("鍑嗗璺宠浆鍒�:", redirectPath);
 
           // 鉁� 浣跨敤 push 鑰屼笉鏄� replace锛屼繚鐣欏巻鍙茶褰�
-          this.$router.push({ path: redirectPath }).then(() => {
-            console.log("SSO鐧诲綍鎴愬姛锛岃烦杞畬鎴�");
-          }).catch((error) => {
-            console.error("璺敱璺宠浆澶辫触:", error);
-            // 鍥為��鍒伴粯璁ら〉闈�
-            this.$router.push({ path: "/followvisit/discharge" });
-          });
+          this.$router
+            .push({ path: redirectPath })
+            .then(() => {
+              console.log("SSO鐧诲綍鎴愬姛锛岃烦杞畬鎴�");
+            })
+            .catch((error) => {
+              console.error("璺敱璺宠浆澶辫触:", error);
+              // 鍥為��鍒伴粯璁ら〉闈�
+              this.$router.push({ path: "/followvisit/discharge" });
+            });
         }, 500);
-
       } catch (error) {
         console.error("SSO鐧诲綍澶辫触:", error);
         this.errorMessage = `鍗曠偣鐧诲綍澶辫触: ${error.message || "鏈煡閿欒"}`;
@@ -273,8 +299,12 @@
 }
 
 @keyframes spin {
-  0% { transform: rotate(0deg); }
-  100% { transform: rotate(360deg); }
+  0% {
+    transform: rotate(0deg);
+  }
+  100% {
+    transform: rotate(360deg);
+  }
 }
 
 .loading-content p {

--
Gitblit v1.9.3