From 9d221483745544c8825393f0074328c6bdbc4ac0 Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期三, 20 九月 2023 17:04:15 +0800
Subject: [PATCH] 单点登录测试

---
 Source/UBCS-WEB/src/router/page/index.js               |   11 +
 Source/UBCS-WEB/src/components/Theme/ThemeAttrCrud.vue |   65 ++++----
 Source/UBCS-WEB/src/page/login/userlogin.vue           |  216 +++++++++++++++++++++++-------
 Source/UBCS-WEB/src/api/system/user.js                 |   13 +
 Source/UBCS-WEB/src/store/modules/user.js              |    5 
 Source/UBCS-WEB/src/page/login/sso.vue                 |   69 +++++++++
 6 files changed, 294 insertions(+), 85 deletions(-)

diff --git a/Source/UBCS-WEB/src/api/system/user.js b/Source/UBCS-WEB/src/api/system/user.js
index c539aec..ed42c7e 100644
--- a/Source/UBCS-WEB/src/api/system/user.js
+++ b/Source/UBCS-WEB/src/api/system/user.js
@@ -159,4 +159,17 @@
     }
   })
 }
+//鍗曠偣鐧诲綍鎺ュ彛
+export const oaSsos =(userName) => {
+  return request({
+    url: '/api/ubcs-code/passwordFree/oaSsos',
+    method: 'post',
+    params:{
+      userName
+    },
+    headers: {
+      'empCode': 'ZVKcWmOH1JvFYaM7BuNVm1BWbaw6OcMi04aAT2H+X3Y='
+    },
+  })
+}
 
diff --git a/Source/UBCS-WEB/src/components/Theme/ThemeAttrCrud.vue b/Source/UBCS-WEB/src/components/Theme/ThemeAttrCrud.vue
index fcec976..8b5bc4c 100644
--- a/Source/UBCS-WEB/src/components/Theme/ThemeAttrCrud.vue
+++ b/Source/UBCS-WEB/src/components/Theme/ThemeAttrCrud.vue
@@ -23,7 +23,8 @@
       </el-button-group>
       <el-button-group>
         <!--    淇濆瓨-->
-        <el-button v-if="(!checkStatus|| crudLCStatus=='Editing') && editOpenFlag" icon="el-icon-check" plain size="small"
+        <el-button v-if="(!checkStatus|| crudLCStatus=='Editing') && editOpenFlag" icon="el-icon-check" plain
+                   size="small"
                    type="success" @click.prevent="addsHandler">淇濆瓨
         </el-button>
         <!--    棰勮鎺掑簭-->
@@ -67,11 +68,14 @@
       </el-button-group>
       <!-- 鏄惁寮�鍚紪杈�     -->
       <el-button-group>
-        <el-button v-if="(!checkStatus|| crudLCStatus=='Editing') && !editOpenFlag && attrEditVisible == false && attrFlagChiledren==false" icon="el-icon-view" plain
-                   size="small"
-                   @click="editOpen">寮�鍚紪杈�
+        <el-button
+          v-if="(!checkStatus|| crudLCStatus=='Editing') && !editOpenFlag && attrEditVisible == false && attrFlagChiledren==false"
+          icon="el-icon-view" plain
+          size="small"
+          @click="editOpen">寮�鍚紪杈�
         </el-button>
-        <el-select v-if="(!checkStatus || crudLCStatus=='Editing') && editOpenFlag" v-model="selectvalue" placeholder="璇烽�夋嫨"
+        <el-select v-if="(!checkStatus || crudLCStatus=='Editing') && editOpenFlag" v-model="selectvalue"
+                   placeholder="璇烽�夋嫨"
                    size="small">
           <el-option
             v-for="item in selectoptions"
@@ -325,17 +329,20 @@
                        align="center"
       >
         <template slot-scope="{ row }">
-          <el-input v-if="editingRows === row && editShows== item.prop && item.prop != 'codeDateFormat' && (item.edit == 'text'  ||item.edit == 'refer' )"
-                    :ref="'input' + row.oid"
-                    v-show="!AddCellFlag"
-                    v-model="row[item.prop]"
-                    @blur="saveRows(row)"
-                    ></el-input>
-          <el-input-number v-if="editingRows === row && editShows== item.prop && item.edit == 'number'" v-model="row[item.prop]"
+          <el-input
+            v-if="editingRows === row && editShows== item.prop && item.prop != 'codeDateFormat' && (item.edit == 'text'  ||item.edit == 'refer' )"
+            v-show="!AddCellFlag"
+            :ref="'input' + row.oid"
+            v-model="row[item.prop]"
+            @blur="saveRows(row)"
+          ></el-input>
+          <el-input-number v-if="editingRows === row && editShows== item.prop && item.edit == 'number'"
+                           v-model="row[item.prop]"
                            :style="{width:(item.width-10)+'px'}"
                            controls-position="right"
                            size="small" @blur="saveRows"></el-input-number>
-          <el-select v-if="editingRows === row && editShows== item.prop && item.edit == 'select' " slot="prepend" v-model="row[item.prop]" allow-create default-first-option
+          <el-select v-if="editingRows === row && editShows== item.prop && item.edit == 'select' " slot="prepend"
+                     v-model="row[item.prop]" allow-create default-first-option
                      filterable
                      @blur="selectChangeHandler(item.editConfig,index)">
             <el-option
@@ -455,16 +462,6 @@
         }
       }
     },
-    // editingRows:{
-    //   handler(newval,oldval){
-    //     if(newval){
-    //       const inputElement = document.querySelector(`#inputRef${newval.oid}`);
-    //       if (inputElement) {
-    //         inputElement.focus();
-    //       };
-    //     }
-    //   }
-    // },
     ProData: {
       handler(newval, oldval) {
         if (newval) {
@@ -495,7 +492,7 @@
   data() {
     return {
       // 淇濆瓨鍗曞厓鏍肩姸鎬�
-      AddCellFlag:false,
+      AddCellFlag: false,
       //鍏ㄥ睆缂栬緫楂樺害鐘舵��
       editStyleFlag: false,
       loading: false,
@@ -1091,12 +1088,12 @@
           {
             label: "灞炴�ц嫳鏂囧悕绉�",
             prop: "id",
-            width:100,
+            width: 100,
           },
           {
             label: "灞炴�т腑鏂囧悕绉�",
             prop: "name",
-            width:100,
+            width: 100,
           },
           {
             label: "闀垮害",
@@ -1802,7 +1799,7 @@
           this.editOpenFlag = false;
           // 璋冪敤鐖剁粍浠朵慨鏀规寜閽姸鎬�
           this.$emit('editCloseChildren')
-          this.AddCellFlag=true;
+          this.AddCellFlag = true;
         }).catch(() => {
           this.$message.warning('淇濆瓨澶辫触锛岃鏌ョ湅鎺у埗鍙拌緭鍑猴紒')
         });
@@ -2024,7 +2021,13 @@
     },
     //鍒嗙被娉ㄥ叆淇濆瓨
     injectAddHandle() {
-      const { classifyInvokeAttr, classifyInvokeAttrName, classifyInvokeLevel, classifyInvokeEditFlag, classifyNumber } = this.injectOption;
+      const {
+        classifyInvokeAttr,
+        classifyInvokeAttrName,
+        classifyInvokeLevel,
+        classifyInvokeEditFlag,
+        classifyNumber
+      } = this.injectOption;
 
       const data = {
         "娉ㄥ叆绫诲瀷": classifyInvokeAttr,
@@ -2112,7 +2115,7 @@
         this.editStyleFlag = true;
         this.attrEditVisible = true;
         this.attrFlag = true;
-        this.AddCellFlag=true;
+        this.AddCellFlag = true;
       }
 
     },
@@ -2126,7 +2129,7 @@
     updataFormlaContent(val) {
       if (this.CurrentCell) {
         this.$set(this.CurrentCell, 'componentRule', val.replace(/"/g, ''))
-        this.componentRuleText= this.CurrentCell.componentRule
+        this.componentRuleText = this.CurrentCell.componentRule
       } else {
         this.$set(this.attrRow, 'componentRule', val.replace(/"/g, ''))
       }
@@ -2148,7 +2151,7 @@
     //寮�鍚紪杈�
     editOpen() {
       this.editOpenFlag = true;
-      this.AddCellFlag=false;
+      this.AddCellFlag = false;
     },
     //瀹氫箟涓�涓叧闂紪杈戠殑鏂规硶渚涘瓙缁勪欢浣跨敤
     editClose() {
diff --git a/Source/UBCS-WEB/src/page/login/sso.vue b/Source/UBCS-WEB/src/page/login/sso.vue
new file mode 100644
index 0000000..5521ac4
--- /dev/null
+++ b/Source/UBCS-WEB/src/page/login/sso.vue
@@ -0,0 +1,69 @@
+<template>
+  <p>娴嬭瘯</p>
+</template>
+
+<script>
+import {oaSsos} from "@/api/system/user.js"
+import {mapGetters} from "vuex";
+import {setStore} from "@/util/store";
+
+export default {
+  name: "sso",
+  data() {
+    return {
+      loginForm:{
+        //绉熸埛ID
+        tenantId: "",
+        //閮ㄩ棬ID
+        deptId: "",
+        //瑙掕壊ID
+        roleId: "",
+        //鐢ㄦ埛鍚�
+        username: "",
+        //瀵嗙爜
+        password: "",
+        selectInput: '',
+        //涓嬫媺input鏁版嵁
+        value: '绠$悊缁�',
+        //涓嬫媺鑿滃崟
+        region: [],
+        //璐﹀彿绫诲瀷
+        type: "account",
+        //楠岃瘉鐮佺殑绱㈠紩
+        key: "",
+        //棰勫姞杞界櫧鑹茶儗鏅�
+        image: "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",
+
+      },
+    }
+  },
+  computed: {
+    ...mapGetters(["tagWel", "userInfo"])
+  },
+  created() {
+
+  },
+  methods: {
+    // Onload() {
+    //   let name = 'pwdfree'
+    //   oaSsos(name).then(res=>{
+    //     console.log(res)
+    //     if(res.status === 200){
+    //       // this.loginForm.tenantId=res.data.tenant_id;
+    //       // this.loginForm.username=res.data.user_name;
+    //       this.$store.dispatch("LoginBySso").then((res) => {
+    //         console.log('res',res)
+    //           this.$router.push({path: this.tagWel.value});
+    //       })
+    //       // console.log(this.tagWel)
+    //       // this.$router.push({path: this.tagWel.value});
+    //     }
+    //   })
+    // }
+  }
+}
+</script>
+
+<style scoped>
+
+</style>
diff --git a/Source/UBCS-WEB/src/page/login/userlogin.vue b/Source/UBCS-WEB/src/page/login/userlogin.vue
index a8877c8..51e4454 100644
--- a/Source/UBCS-WEB/src/page/login/userlogin.vue
+++ b/Source/UBCS-WEB/src/page/login/userlogin.vue
@@ -49,15 +49,16 @@
       </el-form-item>
       <!--瀵嗙爜淇敼寮瑰嚭妗�-->
     </el-form>
-    <el-dialog title="淇敼瀵嗙爜" :visible.sync="dialogFormVisible" append-to-body @closed="closehandle" :close-on-press-escape="false" >
-      <el-form :model="form"  :rules="rules">
-        <el-form-item label="鍘熷瘑鐮�" :label-width="formLabelWidth" prop="oldPassword">
+    <el-dialog :close-on-press-escape="false" :visible.sync="dialogFormVisible" append-to-body title="淇敼瀵嗙爜"
+               @closed="closehandle">
+      <el-form :model="form" :rules="rules">
+        <el-form-item :label-width="formLabelWidth" label="鍘熷瘑鐮�" prop="oldPassword">
           <el-input v-model="form.oldPassword" autocomplete="off"></el-input>
         </el-form-item>
-        <el-form-item label="鏂板瘑鐮�" :label-width="formLabelWidth" prop="newPassword">
+        <el-form-item :label-width="formLabelWidth" label="鏂板瘑鐮�" prop="newPassword">
           <el-input v-model="form.newPassword" autocomplete="off"></el-input>
         </el-form-item>
-        <el-form-item label="纭瀵嗙爜" :label-width="formLabelWidth" prop="newPassword1">
+        <el-form-item :label-width="formLabelWidth" label="纭瀵嗙爜" prop="newPassword1">
           <el-input v-model="form.newPassword1" autocomplete="off"></el-input>
         </el-form-item>
       </el-form>
@@ -74,38 +75,39 @@
 import {mapGetters} from "vuex";
 import {info} from "@/api/system/tenant";
 import {getTopUrl} from "@/util/util";
-import {updatePassword} from "@/api/system/user.js"
+import {oaSsos, updatePassword} from "@/api/system/user.js"
 import {removeToken} from "@/util/auth";
 import md5 from "js-md5";
+
 export default {
   name: "userlogin",
   data() {
     return {
       tenantMode: this.website.tenantMode,
       ButtonList: [],
-      dialogFormVisible:false,
+      dialogFormVisible: false,
       form: {
         oldPassword: '',
         newPassword: '',
         newPassword1: '',
       },
-      loginRules:{
-        username:[
-          { required: true, message: '璇疯緭鍏ヨ处鍙�', trigger: 'blur' }
+      loginRules: {
+        username: [
+          {required: true, message: '璇疯緭鍏ヨ处鍙�', trigger: 'blur'}
         ],
         password: [
-          { required: true, message: '璇疯緭鍏ュ瘑鐮�', trigger: 'blur' }
+          {required: true, message: '璇疯緭鍏ュ瘑鐮�', trigger: 'blur'}
         ],
       },
       rules: {
         oldPassword: [
-          { required: true, message: '璇疯緭鍏ュ師瀵嗙爜', trigger: 'blur' }
+          {required: true, message: '璇疯緭鍏ュ師瀵嗙爜', trigger: 'blur'}
         ],
-        newPassword:[
-          { required: true, message: '璇疯緭鍏ユ柊瀵嗙爜', trigger: 'blur' }
+        newPassword: [
+          {required: true, message: '璇疯緭鍏ユ柊瀵嗙爜', trigger: 'blur'}
         ],
-        newPassword1:[
-          { required: true, message: '璇疯緭纭瀵嗙爜', trigger: 'blur' }
+        newPassword1: [
+          {required: true, message: '璇疯緭纭瀵嗙爜', trigger: 'blur'}
         ]
       },
       loginForm: {
@@ -157,7 +159,113 @@
     this.getTenant();
     //杩欓噷鏄祻瑙堝櫒鐨勪竴涓猙ug锛岀獊鐒跺嚭鐜扮殑鐩墠鎵句笉鍒板師鍥狅紝鏂扮殑娴忚鍣ㄦ墦寮�姝ら」鐩�俵ocalStorage浼氬皯瀛樺偍涓�涓悕涓簊aber-permission鐨勬暟鎹紝灏戜簡杩欐潯鏁版嵁绉熸埛绠$悊鐣岄潰浼氱己灏戝嚑涓寜閽拰鏍峰紡
     //杩樻湁涓�绉嶆儏鍐碉紝褰撴垜浠墜鍔ㄥ垹闄よ繖鏉℃暟鎹垨鑰呮竻绌簂ocalStorage鍚庯紝鍐嶅埛鏂拌繘鍏ラ〉闈㈠畠涔熶笉瀛樺偍杩欎釜鍙橀噺锛屾墍浠ユ垜灏卞湪杩欏啓姝讳簡瀛樺偍锛岀洰鍓嶆晥鏋滄病鏈夐棶棰�
-    localStorage.setItem("saber-permission",JSON.stringify({"dataType":"object","content":{"flow_model_create":true,"flow_model_update":true,"flow_model_deploy":true,"flow_model_download":true,"flow_model_delete":true,"work_start_flow":true,"work_start_image":true,"oss_add":true,"oss_edit":true,"oss_delete":true,"oss_view":true,"oss_enable":true,"role_add":true,"role_edit":true,"role_delete":true,"role_view":true,"notice_add":true,"notice_edit":true,"notice_delete":true,"notice_view":true,"user_add":true,"user_edit":true,"user_delete":true,"user_role":true,"user_reset":true,"user_view":true,"log_usual_view":true,"code_add":true,"code_edit":true,"code_delete":true,"code_view":true,"region_add":true,"region_delete":true,"region_import":true,"region_export":true,"region_debug":true,"work_claim_sign":true,"work_claim_detail":true,"work_claim_follow":true,"work_todo_handle":true,"work_todo_detail":true,"work_todo_follow":true,"data_scope_setting":true,"datasource_add":true,"datasource_edit":true,"datasource_delete":true,"datasource_view":true,"attach_upload":true,"attach_download":true,"attach_delete":true,"dept_add":true,"dept_edit":true,"dept_delete":true,"dept_view":true,"log_api_view":true,"flow_manager_state":true,"flow_manager_image":true,"flow_manager_remove":true,"work_send_detail":true,"work_send_follow":true,"sms_add":true,"sms_edit":true,"sms_delete":true,"sms_view":true,"sms_enable":true,"api_scope_setting":true,"log_error_view":true,"post_add":true,"post_edit":true,"post_delete":true,"post_view":true,"flow_follow_delete":true,"work_done_detail":true,"work_done_follow":true,"dict_add":true,"dict_edit":true,"dict_delete":true,"dict_view":true,"dictbiz_add":true,"dictbiz_edit":true,"dictbiz_delete":true,"dictbiz_view":true,"menu_add":true,"menu_edit":true,"menu_delete":true,"menu_view":true,"topmenu_add":true,"topmenu_edit":true,"topmenu_delete":true,"topmenu_view":true,"topmenu_setting":true,"param_add":true,"param_edit":true,"param_delete":true,"param_view":true,"tenant_add":true,"tenant_edit":true,"tenant_delete":true,"tenant_view":true,"client_add":true,"client_edit":true,"client_delete":true,"client_view":true},"datetime":1678352291697}))
+    localStorage.setItem("saber-permission", JSON.stringify({
+      "dataType": "object", "content": {
+        "flow_model_create": true,
+        "flow_model_update": true,
+        "flow_model_deploy": true,
+        "flow_model_download": true,
+        "flow_model_delete": true,
+        "work_start_flow": true,
+        "work_start_image": true,
+        "oss_add": true,
+        "oss_edit": true,
+        "oss_delete": true,
+        "oss_view": true,
+        "oss_enable": true,
+        "role_add": true,
+        "role_edit": true,
+        "role_delete": true,
+        "role_view": true,
+        "notice_add": true,
+        "notice_edit": true,
+        "notice_delete": true,
+        "notice_view": true,
+        "user_add": true,
+        "user_edit": true,
+        "user_delete": true,
+        "user_role": true,
+        "user_reset": true,
+        "user_view": true,
+        "log_usual_view": true,
+        "code_add": true,
+        "code_edit": true,
+        "code_delete": true,
+        "code_view": true,
+        "region_add": true,
+        "region_delete": true,
+        "region_import": true,
+        "region_export": true,
+        "region_debug": true,
+        "work_claim_sign": true,
+        "work_claim_detail": true,
+        "work_claim_follow": true,
+        "work_todo_handle": true,
+        "work_todo_detail": true,
+        "work_todo_follow": true,
+        "data_scope_setting": true,
+        "datasource_add": true,
+        "datasource_edit": true,
+        "datasource_delete": true,
+        "datasource_view": true,
+        "attach_upload": true,
+        "attach_download": true,
+        "attach_delete": true,
+        "dept_add": true,
+        "dept_edit": true,
+        "dept_delete": true,
+        "dept_view": true,
+        "log_api_view": true,
+        "flow_manager_state": true,
+        "flow_manager_image": true,
+        "flow_manager_remove": true,
+        "work_send_detail": true,
+        "work_send_follow": true,
+        "sms_add": true,
+        "sms_edit": true,
+        "sms_delete": true,
+        "sms_view": true,
+        "sms_enable": true,
+        "api_scope_setting": true,
+        "log_error_view": true,
+        "post_add": true,
+        "post_edit": true,
+        "post_delete": true,
+        "post_view": true,
+        "flow_follow_delete": true,
+        "work_done_detail": true,
+        "work_done_follow": true,
+        "dict_add": true,
+        "dict_edit": true,
+        "dict_delete": true,
+        "dict_view": true,
+        "dictbiz_add": true,
+        "dictbiz_edit": true,
+        "dictbiz_delete": true,
+        "dictbiz_view": true,
+        "menu_add": true,
+        "menu_edit": true,
+        "menu_delete": true,
+        "menu_view": true,
+        "topmenu_add": true,
+        "topmenu_edit": true,
+        "topmenu_delete": true,
+        "topmenu_view": true,
+        "topmenu_setting": true,
+        "param_add": true,
+        "param_edit": true,
+        "param_delete": true,
+        "param_view": true,
+        "tenant_add": true,
+        "tenant_edit": true,
+        "tenant_delete": true,
+        "tenant_view": true,
+        "client_add": true,
+        "client_edit": true,
+        "client_delete": true,
+        "client_view": true
+      }, "datetime": 1678352291697
+    }))
   },
   mounted() {
     //鍦╩ounted鑾峰彇棣栭〉涓嬫媺鑿滃崟鏁版嵁
@@ -193,26 +301,29 @@
   },
   props: [],
   methods: {
-    ChandleLogin(){
-
+    ChandleLogin() {
+      this.$store.dispatch("LoginBySso").then((res) => {
+        console.log('res', res)
+        this.$router.push({path: this.tagWel.value});
+      })
     },
-    closehandle(){
+    closehandle() {
       removeToken()
     },
-    delok(){
+    delok() {
       //鐐瑰嚮鍙栨秷鎴栬�厁 娓呴櫎token鍏抽棴寮圭獥 娓呴櫎token鍚庝細鑷姩閲嶆柊鑾峰彇鐢ㄦ埛淇℃伅 杩欓噷娌℃湁閲嶆柊璋冪敤鏂规硶锛屽洜涓轰笅闈㈤�昏緫鏈夌偣缁曪紝鎬曢噸鏂版帀鏈塨ug鐩存帴娓呴櫎token閲嶆柊鑾峰彇鐢ㄦ埛淇℃伅
       this.dialogFormVisible = false;
       removeToken()
     },
     // 鐐瑰嚮纭畾淇敼瀵嗙爜
-    addHandler(){
+    addHandler() {
       this.dialogFormVisible = false
-      updatePassword(md5(this.form.oldPassword), this.form.newPassword, this.form.newPassword1).then(res=>{
+      updatePassword(md5(this.form.oldPassword), this.form.newPassword, this.form.newPassword1).then(res => {
         console.log(res)
-        if(res.data.code==200){
+        if (res.data.code == 200) {
           this.$message({
-            type:"success",
-            message:"淇敼鎴愬姛锛�"
+            type: "success",
+            message: "淇敼鎴愬姛锛�"
           })
           this.$router.push({path: this.tagWel.value})
         }
@@ -239,8 +350,9 @@
 
     },
     handleLogin: function () {
+      debugger
       this.userInfo = this.$store.state.upadatastatus
-      localStorage.setItem('username',this.loginForm.username)
+      localStorage.setItem('username', this.loginForm.username)
       this.$refs.loginForm.validate(valid => {
         if (valid) {
           const loading = this.$loading({
@@ -251,37 +363,37 @@
           this.$store.dispatch("LoginByUsername", this.loginForm).then(() => {
             //涓婇潰鍙堝姞浜嗕竴灞傚垽鏂殑鎰忔�濇槸濡傛灉鏄秴绠′笉杩涜鍒ゆ柇 鏆傛椂鍔犱笂杩欎釜鍒ゆ柇鐨勮瘽锛岀櫥褰曚細鏈塨ug锛岀偣鍑荤櫥褰曞埛鏂板悗鎵嶈繘鍏ワ紝鍏堢畝鍗曞湪涓嬮潰鍒ゆ柇鏄惁涓虹┖锛屽彧鏈夎秴绠$殑strategyUpdateStatus涓虹┖
             // if(this.userInfo.user_id != '0' && this.userInfo.tenant_id !== '000000'){
-              //鍒ゆ柇濡傛灉涓嶇瓑浜�0灏辨槸绛栫暐瀵嗙爜娌℃湁淇敼璧颁笅闈㈤�昏緫
-              if (this.userInfo.strategyUpdateStatus == 0 || this.userInfo.strategyUpdateStatus==null) {
-                if (this.website.switchMode) {
-                  const deptId = this.userInfo.dept_id;
-                  const roleId = this.userInfo.role_id;
-                  if (deptId.includes(",") || roleId.includes(",")) {
-                    this.loginForm.deptId = deptId;
-                    this.loginForm.roleId = roleId;
-                    this.userBox = true;
-                    this.$store.dispatch("LogOut").then(() => {
-                      loading.close();
-                    });
-                  }
+            //鍒ゆ柇濡傛灉涓嶇瓑浜�0灏辨槸绛栫暐瀵嗙爜娌℃湁淇敼璧颁笅闈㈤�昏緫
+            if (this.userInfo.strategyUpdateStatus == 0 || this.userInfo.strategyUpdateStatus == null) {
+              if (this.website.switchMode) {
+                const deptId = this.userInfo.dept_id;
+                const roleId = this.userInfo.role_id;
+                if (deptId.includes(",") || roleId.includes(",")) {
+                  this.loginForm.deptId = deptId;
+                  this.loginForm.roleId = roleId;
+                  this.userBox = true;
+                  this.$store.dispatch("LogOut").then(() => {
+                    loading.close();
+                  });
                 }
-                this.$router.push({path: this.tagWel.value});
-              } else {
-                //绛変簬0璇存槑瀵嗙爜绛栫暐琚慨鏀癸紝鎻愮ず鐢ㄦ埛淇敼瀵嗙爜锛岀粰涓�涓慨鏀瑰脊妗�
-                this.$message({
-                  type: "warning",
-                  message: "瀵嗙爜绛栫暐宸茶淇敼锛岃閲嶆柊淇敼瀵嗙爜锛�"
-                })
-                setTimeout(()=>{
-                  this.dialogFormVisible=true
-                },1500)
               }
+              this.$router.push({path: this.tagWel.value});
+            } else {
+              //绛変簬0璇存槑瀵嗙爜绛栫暐琚慨鏀癸紝鎻愮ず鐢ㄦ埛淇敼瀵嗙爜锛岀粰涓�涓慨鏀瑰脊妗�
+              this.$message({
+                type: "warning",
+                message: "瀵嗙爜绛栫暐宸茶淇敼锛岃閲嶆柊淇敼瀵嗙爜锛�"
+              })
+              setTimeout(() => {
+                this.dialogFormVisible = true
+              }, 1500)
+            }
 
             // }
             //鎶婂垽鏂瘑鐮佺瓥鐣ヤ慨鏀圭殑鍊煎瓨杩涙湰鍦帮紝鐒跺悗鍐嶈矾鐢辨潈闄恓s鏂囦欢閲岄潰鑾峰彇鍐嶅仛鍒ゆ柇锛屼笉鐒跺埛鏂颁細杩涘叆棣栭〉锛堝洜涓哄湪鏈塱d鍜宼oken鐨勬儏鍐典笅锛屽埛鏂伴〉闈㈡垨鑰呰繘鍏ョ櫥褰曢〉浼氳嚜鍔ㄨ繘鍏ラ椤碉級
             //index椤甸潰涔熷彲浠ョ敤鍒拌繖涓�兼潵鍒ゆ柇鏄惁鏄秴绠¤韩浠界櫥褰曟潵鍒ゆ柇鏄惁鎻愰啋杩囨湡鏃堕棿绛�
-            localStorage.setItem("updataid",JSON.stringify(this.userInfo))
-            localStorage.setItem("userId",this.userInfo.user_id)
+            localStorage.setItem("updataid", JSON.stringify(this.userInfo))
+            localStorage.setItem("userId", this.userInfo.user_id)
             loading.close();
           }).catch(() => {
             loading.close();
diff --git a/Source/UBCS-WEB/src/router/page/index.js b/Source/UBCS-WEB/src/router/page/index.js
index 1136402..b795a56 100644
--- a/Source/UBCS-WEB/src/router/page/index.js
+++ b/Source/UBCS-WEB/src/router/page/index.js
@@ -12,6 +12,17 @@
   }
 },
   {
+    path: '/sso',
+    name: '鍗曠偣娴嬭瘯椤�',
+    component: () =>
+      import( /* webpackChunkName: "page" */ '@/page/login/sso'),
+    meta: {
+      keepAlive: true,
+      isTab: false,
+      isAuth: false
+    }
+  },
+  {
     path: '/lock',
     name: '閿佸睆椤�',
     component: () =>
diff --git a/Source/UBCS-WEB/src/store/modules/user.js b/Source/UBCS-WEB/src/store/modules/user.js
index eb2859a..8227677 100644
--- a/Source/UBCS-WEB/src/store/modules/user.js
+++ b/Source/UBCS-WEB/src/store/modules/user.js
@@ -5,6 +5,7 @@
 import {deepClone} from '@/util/util'
 import website from '@/config/website'
 import {loginByUsername, loginBySocial, loginBySso, getUserInfo, logout, refreshToken, getButtons} from '@/api/user'
+import {oaSsos} from "@/api/system/user.js"
 import {getTopMenu, getRoutes} from '@/api/system/menu'
 import md5 from 'js-md5'
 
@@ -109,9 +110,9 @@
       })
     },
     //鏍规嵁鍗曠偣淇℃伅鐧诲綍
-    LoginBySso({commit}, userInfo) {
+    LoginBySso({commit}) {
       return new Promise((resolve) => {
-        loginBySso(userInfo.state,).then(res => {
+        oaSsos().then(res => {
           const data = res.data;
           if (data.error_description) {
             Message({

--
Gitblit v1.9.3