Browse Source

跳转ETA

jwyu 1 year ago
parent
commit
3d16429b54

+ 1 - 1
config/dev.env.js

@@ -10,5 +10,5 @@ module.exports = merge(prodEnv, {
   CHART_LINK:'"https://charttest.hzinsights.com/chartshow"',
   HR_MANAGEMENT_SYSTEM:'"http://8.136.199.33:8391/login"',
   FINANCIAL_MANAGEMENT_SYSTEM:'"http://8.136.199.33:8618/login"',
-  ETA_SYSTEM:'"http://8.136.199.33:7778/login"'
+  ETA_SYSTEM:'"http://8.136.199.33:7778/temppage"'
 });

+ 1 - 1
config/prod.env.js

@@ -6,5 +6,5 @@ module.exports = {
 	CHART_LINK:'"https://chartlib.hzinsights.com/chartshow"',
 	HR_MANAGEMENT_SYSTEM:'"https://hr.hzinsights.com/login"',
 	FINANCIAL_MANAGEMENT_SYSTEM:'"https://fms.hzinsights.com/login"',
-	ETA_SYSTEM:'"https://hzeta.hzinsights.com/login"'
+	ETA_SYSTEM:'"https://hzeta.hzinsights.com/temppage"'
 }

+ 1 - 1
config/prod.test.env.js

@@ -8,5 +8,5 @@ module.exports = {
 	CHART_LINK:'"https://charttest.hzinsights.com/chartshow"',
 	HR_MANAGEMENT_SYSTEM:'"http://8.136.199.33:8391/login"',
   FINANCIAL_MANAGEMENT_SYSTEM:'"http://8.136.199.33:8618/login"',
-  ETA_SYSTEM:'"http://8.136.199.33:7778/login"'
+  ETA_SYSTEM:'"http://8.136.199.33:7778/temppage"'
 }

+ 8 - 0
src/api/modules/setApi.js

@@ -236,6 +236,14 @@ const departInterence = {
 	 */
 	sortDepart:params=>{
 		return http.post('/system/group/set_sort',params)
+	},
+	// 获取跳转到ETA系统的code
+	getToETASysCode:()=>{
+		return http.get('/sysuser/get_eta_auth_code',{})
+	},
+	//从其他系统跳转来用code换token
+	useCodeLogin:params=>{
+		return http.get('/sysuser/get_eta_token',params)
 	}
 }
 

+ 6 - 6
src/routes/routes.js

@@ -29,12 +29,12 @@ let routes = [
 		name: '',
 		hidden: true
 	},
-	// {
-	// 	path: '/temppage',
-	// 	component: ()=>import('@/views/transferPage.vue'),
-	// 	name: '',
-	// 	hidden: true
-	// },
+	{
+		path: '/temppage',
+		component: ()=>import('@/views/transferPage.vue'),
+		name: '',
+		hidden: true
+	},
 	{
 		path: '/404',
 		component: notFound,

+ 9 - 1
src/views/Home.vue

@@ -721,13 +721,21 @@ export default {
 			    window.open(href,'_blank');
     },
     // 跳转去其他的系统
-    linkToOtherMS(key){
+    async linkToOtherMS(key){
       /**
        * HR_MANAGEMENT_SYSTEM -- HR管理系统
        * FINANCIAL_MANAGEMENT_SYSTEM -- 财务管理系统
        */
+
       let href = process.env[key]
       console.log(href);
+      if(key==='ETA_SYSTEM'){//跳转ETA系统
+        // 获取临时code
+        const res=await departInterence.getToETASysCode()
+        if(res.Ret===200){
+          href=`${href}?code=${res.Data}`
+        }
+      }
       window.open(href,'_blank');
     },
     // 切换通知消息类型

+ 22 - 9
src/views/dataReport_manage/components/CollectList.vue

@@ -18,7 +18,7 @@
       <div class="dialog-container" >
         <p>共{{total||0}}张图表</p>
         <div class="list-wrap" v-loading="listLoading">
-          <div class="list-item" v-for="item in ListData" :key="item.Id" @click="showChartDetail(item.UniqueCode)">
+          <div class="list-item" v-for="item in ListData" :key="item.Id" @click="showChartDetail(item)">
             <span class="item-title">{{item.ChartName||'该图表已被删除'}}</span>
             <div class="item-image-wrap">
               <div class="image" :style="{backgroundImage:`url(${item.ChartImage})`}">
@@ -52,7 +52,7 @@
 </template>
 
 <script>
-import { dataMainInterface } from '@/api/api.js';
+import { dataMainInterface,departInterence } from '@/api/api.js';
 import chartDetail from '@/views/mychart_manage/components/chartDetailDia.vue';
 export default {
   props:{
@@ -124,13 +124,14 @@ export default {
       const {Paging,List} = res.Data
       this.ListData = List.map(item=>{
         const ChartInfo = item.ChartInfo||{}
-        const {UniqueCode,ChartName,ChartImage,Id} = ChartInfo
+        const {UniqueCode,ChartName,ChartImage,ChartInfoId} = ChartInfo
         const temp = {
-          Id:Id||'',
+          Id:item.Id||'',
           UniqueCode:UniqueCode||'',
           ChartName:ChartName||'',
           ChartImage:ChartImage||'',
-          CreateTime:item.CreateTime||''
+          CreateTime:item.CreateTime||'',
+          ChartInfoId:ChartInfoId||''
         }
         return temp
       })
@@ -145,10 +146,22 @@ export default {
       this.pageNo = page
       this.getCollectList()
     },
-    showChartDetail(id){
-      if(!id) return
-      this.chartId=id
-      this.isOpenDetail = true
+    async showChartDetail(item){
+      if(!item.UniqueCode) return
+      // 跳转去ETA
+      const redirect_uri=encodeURIComponent(`/chartsetting?code=${item.UniqueCode}&id=${item.ChartInfoId}`)
+      let href = process.env.ETA_SYSTEM
+      console.log(href);
+      console.log(redirect_uri);
+      // 获取临时code
+      const res=await departInterence.getToETASysCode()
+      if(res.Ret===200){
+        href=`${href}?code=${res.Data}&redirect_uri=${redirect_uri}`
+        window.open(href,'_blank');
+      }
+      
+      // this.chartId=id
+      // this.isOpenDetail = true
     },
     handleRemove(UniqueCode){
       this.allCharts.splice(this.allCharts.findIndex(item=>item===UniqueCode),1)

+ 81 - 0
src/views/transferPage.vue

@@ -0,0 +1,81 @@
+<template>
+    <div></div>
+</template>
+
+<script>
+import { departInterence } from '@/api/api.js';
+export default {
+    data() {
+        return {
+            
+        }
+    },
+    created(){
+        this.init()
+        
+    },
+    methods:{
+        async init(){
+            if(this.$route.query.code){
+                const res=await departInterence.useCodeLogin({AuthCode:this.$route.query.code})
+                if(res.Ret===200){
+                    localStorage.setItem('auth', res.Data.Authorization)
+					localStorage.setItem('userName', res.Data.RealName)
+					localStorage.setItem('Role', res.Data.RoleTypeCode)
+					localStorage.setItem('RoleIdentity', res.Data.SysRoleTypeCode)
+					localStorage.setItem('RoleType', res.Data.ProductName)
+					localStorage.setItem('ManageType', res.Data.Authority)
+					localStorage.setItem('AdminId', res.Data.AdminId)
+                    localStorage.setItem('AdminName',res.Data.AdminName)
+
+                    // 如果路由参数有redirect_uri则跳转到redirect_uri,redirect_uri通过encode
+                    if(this.$route.query.redirect_uri){
+                        const path=decodeURIComponent(this.$route.query.redirect_uri)
+                        this.$router.push(path)
+                        return
+                    }
+
+
+                    let path = await this.getOtherRolePath('myCalendar');
+                    this.$router.push({path})
+                    return
+                }
+            }
+
+            this.$router.replace('/login')
+        },
+        getOtherRolePath(pathVal){
+			return departInterence.getMenu().then(res => {
+				let resolvePath=''
+				if(res.Ret === 200) {
+					let menuList = res.Data.List||[];
+					if(!menuList.length){
+						this.$message.error('该账号没有任何菜单权限,请联系管理员')
+						return
+					}
+					// 是否已经拿到菜单信息
+					sessionStorage.setItem('hasGetMenu','true')
+					sessionStorage.setItem('MenuList',JSON.stringify(menuList));
+					/* 是否有数据报表权限 */
+					this.$store.commit('SET_DATA_AUTH',menuList.some(item => item.name === '报表统计'))
+
+					for (let i = 0; i < menuList.length; i++) {
+						const element = menuList[i];
+						const arr=menuList[i].children||[]
+						if(arr.some(it => it.path == pathVal)){
+							resolvePath='/'+pathVal
+							break
+						}
+					}
+					return resolvePath || '/'+menuList[0].children[0].path
+				}
+				return '/'+pathVal
+			})
+		}
+    }
+}
+</script>
+
+<style>
+
+</style>