Sfoglia il codice sorgente

修改为单点登录

ymy 1 anno fa
parent
commit
48fbc2efc6
5 ha cambiato i file con 73 aggiunte e 94 eliminazioni
  1. 0 34
      src/main.ts
  2. 30 37
      src/permission.ts
  3. 13 9
      src/router/index.ts
  4. 3 2
      src/store/modules/user.ts
  5. 27 12
      src/views/oms/WMSProduct/index.vue

+ 0 - 34
src/main.ts

@@ -101,40 +101,6 @@ Vue.prototype.selectDictLabels = selectDictLabels
 Vue.prototype.download = download
 Vue.prototype.handleTree = handleTree
 
-async function myLogin () {
-  if(getToken()) {
-    return
-  }
-  const ticket = getQueryString('ticket')
-  const ssoToken = getQueryString('ssoToken')
-
-  if(ticket || ssoToken) {
-    const url = ticket ? '/sso/doLoginByTicket' : '/sso/doLoginByToken'
-    let data:any = {}
-    if(ticket) {
-      data.ticket = ticket
-    }
-    if(ssoToken) {
-      data.token = ssoToken
-    }
-    store.dispatch('GetToken',{
-      url,data
-    }).then(() => {
-
-      // location.href = '/index';
-    }).catch((err:any) => {
-      if(err && err.msg) {
-        Message.error(err.msg);
-      }
-    })
-
-  }else{
-    const redirect = location.href.replace(/\??ticket=[^&]*&?/g, '')
-    location.href = `${process.env.VUE_APP_LOGIN_URL}?&redirect=${encodeURIComponent(redirect)}`
-  }
-} 
-
-// myLogin()
 new Vue({
   router,
   store,

+ 30 - 37
src/permission.ts

@@ -11,6 +11,28 @@ NProgress.configure({ showSpinner: false })
 
 // const whiteList = ['/login', '/demo', '/auth-redirect', '/bind', '/register']
 
+const infoHandle = (to:any, next:any) => {
+  isRelogin.show = true
+  // 判断当前用户是否已拉取完user_info信息
+  store.dispatch('GetInfo').then(() => {
+    isRelogin.show = false
+    store.dispatch('GenerateRoutes').then(accessRoutes => {
+      // 根据roles权限生成可访问的路由表
+      for(const item of accessRoutes){
+        router.addRoute(item)
+      }
+      // router.addRoutes(accessRoutes) // 动态添加可访问路由表
+      console.log(to)
+      next({ ...to, replace: true }) // hack方法 确保addRoutes已完成
+    })
+  }).catch(err => {
+      store.dispatch('LogOut').then(() => {
+        Message.error(err)
+        // next({ path: '/' })
+      })
+    })
+}
+
 router.beforeEach((to:any, from:any, next:any) => {
   NProgress.start()
   if (getToken()) {
@@ -21,24 +43,7 @@ router.beforeEach((to:any, from:any, next:any) => {
     //   NProgress.done()
     // } else {
       if (store.getters.roles.length === 0) {
-        isRelogin.show = true
-        // 判断当前用户是否已拉取完user_info信息
-        store.dispatch('GetInfo').then(() => {
-          isRelogin.show = false
-          store.dispatch('GenerateRoutes').then(accessRoutes => {
-            // 根据roles权限生成可访问的路由表
-            for(const item of accessRoutes){
-              router.addRoute(item)
-            }
-            // router.addRoutes(accessRoutes) // 动态添加可访问路由表
-            next({ ...to, replace: true }) // hack方法 确保addRoutes已完成
-          })
-        }).catch(err => {
-            store.dispatch('LogOut').then(() => {
-              Message.error(err)
-              // next({ path: '/' })
-            })
-          })
+        infoHandle(to,next)
       } else {
         next()
       }
@@ -48,7 +53,8 @@ router.beforeEach((to:any, from:any, next:any) => {
     const ssoToken = getQueryString('ssoToken')
 
     if(!ticket && !ssoToken){
-      const redirect = location.href.replace(/\??ticket=[^&]*&?/g, '')
+      const redirect = location.origin
+      // const redirect = location.href.replace(/\??ticket=[^&]*&?/g, '')
       location.href = `${process.env.VUE_APP_LOGIN_URL}?&redirect=${encodeURIComponent(redirect)}`
     }else{
       const url = ticket ? '/sso/doLoginByTicket' : '/sso/doLoginByToken'
@@ -62,29 +68,15 @@ router.beforeEach((to:any, from:any, next:any) => {
       store.dispatch('GetToken',{
         url,data
       }).then(() => {
-        isRelogin.show = true
-        // 判断当前用户是否已拉取完user_info信息
-        store.dispatch('GetInfo').then(() => {
-          isRelogin.show = false
-          store.dispatch('GenerateRoutes').then(accessRoutes => {
-            // 根据roles权限生成可访问的路由表
-            for(const item of accessRoutes){
-              router.addRoute(item)
-            }
-            // router.addRoutes(accessRoutes) // 动态添加可访问路由表
-            next({ ...to, replace: true }) // hack方法 确保addRoutes已完成
-          })
-        }).catch(err => {
-            store.dispatch('LogOut').then(() => {
-              Message.error(err)
-              // next({ path: '/' })
-            })
-          })
+        infoHandle(to,next)
         // location.href = '/index';
       }).catch((err:any) => {
         if(err && err.msg) {
           Message.error(err.msg);
         }
+        // const redirect = location.href.replace(/\??ticket=[^&]*&?/g, '')
+        const redirect = location.origin
+        location.href = `${process.env.VUE_APP_LOGIN_URL}?&redirect=${encodeURIComponent(redirect)}`
       })
       // next()
     }
@@ -105,3 +97,4 @@ router.beforeEach((to:any, from:any, next:any) => {
 router.afterEach(() => {
   NProgress.done()
 })
+

+ 13 - 9
src/router/index.ts

@@ -19,18 +19,22 @@ export const constantRoutes: Array<any> = [
   //   // which is lazy-loaded when the route is visited.
   //   component: () => import(/* webpackChunkName: "about" */ '../views/AboutView.vue')
   // },
+  // {
+  //   path: '/login',
+  //   component: () => import('../views/login.vue'),
+  //   hidden: true
+  // },
+  // {
+  //   path: '/register',
+  //   component: () => import('@/views/register.vue'),
+  //   hidden: true
+  // },
   {
-    path: '/login',
-    component: () => import('../views/login.vue'),
-    hidden: true
-  },
-  {
-    path: '/register',
-    component: () => import('@/views/register.vue'),
-    hidden: true
+    path: '*',
+    redirect: '/index'
   },
   {
-    path: '',
+    path: '/',
     component: Layout,
     redirect: 'index',
     children: [

+ 3 - 2
src/store/modules/user.ts

@@ -123,8 +123,9 @@ const user = {
 					commit('SET_PERMISSIONS', [])
 					removeToken()
 					resolve()
-					const redirect = location.href.replace(/\??ticket=[^&]*&?/g, '')
-    			location.href = `${process.env.LOGIN_URL}?&redirect=${encodeURIComponent(redirect)}`
+					// const redirect = location.href.replace(/\??ticket=[^&]*&?/g, '')
+					const redirect = location.origin
+    			location.href = `${process.env.VUE_APP_LOGIN_URL}?&redirect=${encodeURIComponent(redirect)}`
 				}).catch((error : any) => {
 					reject(error)
 				})

+ 27 - 12
src/views/oms/WMSProduct/index.vue

@@ -34,14 +34,14 @@ export default class WMSProduct extends Vue {
             attr:{
               clearable:true,
               data: [{
-                label:'越库库',
-                value:'YKCK'
+                label:'越库库',
+                value:'YKRK'
               },{
-                label:'B2B库',
-                value:'B2BCK'
+                label:'B2B库',
+                value:'B2BRK'
               },{
-                label:'B2C库',
-                value:'B2CCK'
+                label:'B2C库',
+                value:'B2CRK'
               }]
             }
           }
@@ -105,6 +105,21 @@ export default class WMSProduct extends Vue {
       {
         title:'入库类型',
         field:'sendType',
+        component: 'textChange',
+        compConfig:{
+          attr:{
+            data:[{
+              label:'越库入库',
+              value:'YKRK'
+            },{
+              label:'B2B入库',
+              value:'B2BRK'
+            },{
+              label:'B2C入库',
+              value:'B2CRK'
+            }]
+          }
+        }
       },
       {
         title:'状态',
@@ -201,14 +216,14 @@ export default class WMSProduct extends Vue {
               attr:{
                 clearable:true,
                 data: [{
-                  label:'越库库',
-                  value:'YKCK'
+                  label:'越库库',
+                  value:'YKRK'
                 },{
-                  label:'B2B库',
-                  value:'B2BCK'
+                  label:'B2B库',
+                  value:'B2BRK'
                 },{
-                  label:'B2C库',
-                  value:'B2CCK'
+                  label:'B2C库',
+                  value:'B2CRK'
                 }]
               }
             }