guotianliang 4 anos atrás
pai
commit
08cdabc9ab

+ 2 - 2
config/index.js

@@ -54,7 +54,7 @@ module.exports = {
     notifyOnErrors: true,
     poll: false, // https://webpack.js.org/configuration/dev-server/#devserver-watchoptions-
 
-    
+
     /**
      * Source Maps
      */
@@ -100,4 +100,4 @@ module.exports = {
     // Set to `true` or `false` to always turn it on or off
     bundleAnalyzerReport: process.env.npm_config_report
   }
-}
+}

+ 26 - 21
src/router/index.js

@@ -10,7 +10,6 @@ const DoBusiness = () => import('@/views/doBusiness/index')
 const Evaluate = () => import('@/views/evaluate/index')
 const EvTwoLevelMenu = () => import('@/views/evaluate/evTwoLevelMenu')
 const Auth = () => import('@/views/auth/index')
-
 import store from '../store'
 import {
   query
@@ -75,29 +74,35 @@ const router = new Router({
 })
 router.beforeEach(async (to, from, next) => {
   const token = query().token || sessionStorage.getItem('token')
-  if (store.state.token && Object.keys(store.state.userInfo).length > 0) {
-    next()
-  } else if (token) {
-    store.commit('setSsoToken', token)
-    await store.dispatch('loadUserInfo', {
-      token
-    })
-    // 去除浏览器地址栏token
-    if (query().token) {
-      router.replace(location.pathname + location.search.replace(/(&?token=\w+&?)/, ''))
-    }
+  if(query().loginFromlz||store.state.formLz){
+    store.commit('setFromLz',true);
     next()
-  } else {
-    let lastRoute = {
-      path: to.path,
-      params: to.params,
-      query: to.query
+  }else{
+    if (store.state.token && Object.keys(store.state.userInfo).length > 0) {
+      next()
+    } else if (token) {
+      store.commit('setSsoToken', token)
+      await store.dispatch('loadUserInfo', {
+        token
+      })
+      // 去除浏览器地址栏token
+      if (query().token) {
+        router.replace(location.pathname + location.search.replace(/(&?token=\w+&?)/, ''))
+      }
+      next()
+    } else {
+      let lastRoute = {
+        path: to.path,
+        params: to.params,
+        query: to.query
+      }
+      store.commit('setLastRoute', lastRoute)
+      let ssoServer = 'http://sso.sagacloud.cn'
+      let redirectUrl = window.location.protocol + '//' + window.location.host + '/auth'
+      window.location.href = `${ssoServer}/login?redirectUrl=${redirectUrl}`
     }
-    store.commit('setLastRoute', lastRoute)
-    let ssoServer = 'http://sso.sagacloud.cn'
-    let redirectUrl = window.location.protocol + '//' + window.location.host + '/auth'
-    window.location.href = `${ssoServer}/login?redirectUrl=${redirectUrl}`
   }
+
 })
 
 export default router

+ 11 - 1
src/store/index.js

@@ -19,7 +19,9 @@ const store = new Vuex.Store({
     lastRoute: null,
     userInfo: {
 
-    }
+    },
+    formLz:false,
+    toiframe:false
   },
   getters: {
     flag: state => state.flag,
@@ -51,6 +53,14 @@ const store = new Vuex.Store({
     },
     setUserInfo(state, { userInfo }) {
       state.userInfo = userInfo
+    },
+    setFromLz(state, val) {
+      console.log(val,"57");
+      state.formLz = val
+    },
+    setToFromLz(state, val) {
+      console.log(val,"58");
+      state.toiframe = val
     }
   },
   actions: {

+ 4 - 1
src/views/evaluate/evTwoLevelMenu.vue

@@ -3,7 +3,7 @@
         <div class='evTwoContainer-out'>
             <Head :headText='headText'></Head>
             <div class='count-top'>
-                <div class='count-top-left MicrYaHei'>
+                <div class='count-top-left MicrYaHei' :class="$store.state.formLz?'lzleft':''">
                     <span>首页</span>
                     <span>></span>
                     <span>单日运行评价</span>
@@ -333,6 +333,9 @@ export default {
                 line-height: 22px;
             }
         }
+        .lzleft{
+            left: 33px ;
+        }
         ul {
             display: flex;
             padding: 0 16px;

+ 21 - 2
src/views/evaluate/index.vue

@@ -1,7 +1,7 @@
 
 <template>
     <div>
-        <Head :headText='headText'></Head>
+        <Head :headText='headText' v-if="headShow"></Head>
         <div class='nav-right'>
             <el-radio-group v-model='radio'>
                 <el-radio label='1' @change='radioChange'>近30天</el-radio>
@@ -118,7 +118,9 @@ export default {
             isExecutedNum: '', //已执行数量
             allReceivedNum: '', //共收到数量
             tindoorOverrunDegree: '', //超限程度
-            energyDataList: [] //图标数据
+            energyDataList: [], //图标数据
+            headShow:true,
+            iframe:false,
         }
     },
     components: {
@@ -126,6 +128,23 @@ export default {
         EvIndoorTemperature
     },
     mounted() {
+        console.log(123)
+        if(this.$store.state.formLz&&!this.$store.state.toiframe){
+            //告诉父页面以及加载完成
+            this.$store.commit("setToFromLz",true)
+            window.parent.postMessage( {msg: 'iframeSuccess'}, '*');
+            //监听父页面传递过来的项目列表
+            const that = this;
+            window.addEventListener("message",(event)=>{
+                that.headShow=false;
+                if(event.data.hasOwnProperty('query') ){
+                    that.$store.commit("setProjects",{ projects:event.data.query.projectList })
+                    that.$store.commit("setProId",event.data.query.projectList[0].id)
+                    console.log('获取到列表了',event.data.query.projectList,event.data.query.projectList[0].id);
+                }
+                setTimeout(()=>{that.headShow=true},300)
+            })
+        }
         this.query(0)
     },
     computed: {

+ 1 - 1
src/views/main/index.vue

@@ -1,7 +1,7 @@
 <template>
     <div class='mainContainer'>
         <div class='mainContainerBox'>
-            <header>
+            <header v-show="!$store.state.formLz">
                 <div class='head-left'>
                     <ul>
                         <li>