Browse Source

adm:fix> 合并v3.8版本

shaun-sheep 4 years ago
parent
commit
363eaa59a5

+ 4 - 4
config/dev.env.js

@@ -4,14 +4,14 @@ const prodEnv = require('./prod.env')
 
 module.exports = merge(prodEnv, {
   NODE_ENV: '"development"',
-  BASE_URL: '"http://192.168.64.14:8081"', //测试iframe地址
+  // BASE_URL: '"http://192.168.64.14:8081"', //测试iframe地址
   // BASE_URL: '"http://60.205.177.43:8081"', //测试iframe地址
-  SSO_SERVER: '"http://192.168.12.238:8081"', //测试环境
+  // SSO_SERVER: '"http://192.168.12.238:8081"', //测试环境
   // BASE_URL: '"http://192.168.20.236"', //(新)测试iframe地址
   // SSO_SERVER: '"http://192.168.20.236:8086"', //(新)测试环境
   // MQTT_SERVICE: '"ws://172.16.42.210:61614/stomp/"' //MQ测试环境地址
-  // BASE_URL: '"http://mbi.sagacloud.cn"', //线上iframe地址
-  // SSO_SERVER: '"http://sso.sagacloud.cn"',  //正式环境
+  BASE_URL: '"http://mbi.sagacloud.cn"', //线上iframe地址
+  SSO_SERVER: '"http://sso.sagacloud.cn"',  //正式环境
   MQTT_SERVICE: '"ws://adm.sagacloud.cn/stomp/"' //MQ正式环境地址
 })
 

+ 1 - 8
config/index.js

@@ -36,10 +36,7 @@ module.exports = {
       '/business-space': {
         // 目标 API 地址
         target: 'http://39.97.179.199:9909',
-        changeOrigin: true,
-        pathRewrite: {
-          "^/business-space": "/dp-auxiliary/business-space/"
-        }
+        changeOrigin: true
       },
       '/pointconfig': {
         // 目标 API 地址
@@ -88,11 +85,7 @@ module.exports = {
         pathRewrite: {
           "^/image-service": "/image-service/"
         }
-        // pathRewrite: {
-        //   "^/image-service": "/dp-auxiliary/image-service/"
-        // }
       },
-
       '/modelapi': {
         target: 'http://mbi.sagacloud.cn:8080',
         changeOrigin: true,

+ 2 - 2
config/prod.env.js

@@ -6,8 +6,8 @@ module.exports = {
   // BASE_URL: '"http://192.168.20.236"', //(新)测试iframe地址
   // SSO_SERVER: '"http://192.168.20.236:8086"', //(新)测试环境
   // MQTT_SERVICE: '"ws://172.16.42.210:61614/stomp/"' //MQ测试环境地址
-  BASE_URL: '"http://192.168.64.14:8081"', //线上iframe地址
+  BASE_URL: '"http://mbi.sagacloud.cn"', //线上iframe地址
   SSO_SERVER: '"http://sso.sagacloud.cn"',  //正式环境
-  MQTT_SERVICE: '"ws://adm.sagacloud.cn/stomp/"' //MQ正式环境地址
+   MQTT_SERVICE: '"ws://adm.sagacloud.cn/stomp/"' //MQ正式环境地址
 }
 

+ 1 - 1
src/components/model/file/modelLog.vue

@@ -80,7 +80,7 @@ export default {
       if (item.Url) {
         let a = document.createElement("a");
         a.href = url;
-        a.download =`${this.modelFolderName}${item.modelLogFloorName}模型文件v${item.Version}.rvt`;
+        a.download =`${this.modelFolderName}${this.modelLogFloorName}模型文件v${item.Version}.rvt`;
         a.click();
       } else {
         this.$message({

+ 130 - 143
src/framework/layout/PageHeader.vue

@@ -1,169 +1,156 @@
 <template>
-  <div class='page-header'>
-    <div id='page-header-logo' class='page-logo'>
-      <a @click="toIndex">
-        <img src='@/assets/logo.png' alt='logo' class='logo-default'>
-      </a>
-      <div class='menu-toggler sidebar-toggler' @click.stop='toggleSidebar'>
+    <div class='page-header'>
+        <div id='page-header-logo' class='page-logo'>
+            <a @click="toIndex">
+                <img src='@/assets/logo.png' alt='logo' class='logo-default'>
+            </a>
+            <div class='menu-toggler sidebar-toggler' @click.stop='toggleSidebar'>
                 <span>
                     <i class='el-icon-fa-bars'></i>
                 </span>
-      </div>
-    </div>
-    <div id='page-header-data-menu' class='data-menu'>
-      <el-select v-model='selectedProjectId' placeholder='请选择' filterable>
-        <el-option-group v-for="group in projectGropList" :key="group.label" :label="group.label">
-          <el-option v-for='item in group.options' :key='item.id' :label='item.name' :value='item.id'></el-option>
-        </el-option-group>
-      </el-select>
-    </div>
-    <div id='page-header-user-menu' class='user-menu'>
-         <span class='el-dropdown-link' style="margin-top: 11px;">
-              yanruolan
-              <i class='el-icon-fa-user el-icon--right'></i>
-          </span>
-      <!--      <el-dropdown trigger='hover' class='user-menu-dropdown' @command='userMenuCommand'>-->
-      <!--                <span class='el-dropdown-link'>-->
-      <!--                    {{ userInfo.userName }}-->
-      <!--                    <i class='el-icon-fa-user el-icon&#45;&#45;right'></i>-->
-      <!--                </span>-->
-      <!--        <el-dropdown-menu slot='dropdown'>-->
-      <!--          <el-dropdown-item icon='el-icon-plus' command='logout'>退出</el-dropdown-item>-->
-      <!--          <el-dropdown-item icon='el-icon-circle-plus'>修改密码</el-dropdown-item>-->
-      <!--        </el-dropdown-menu>-->
-      <!--      </el-dropdown>-->
-      <ul class="header-nav">
-        <li class="header-nav-Splitscreen">
-          <a href="/splitScreen" target="_blank"><i class="el-icon-s-platform"></i></a>
-        </li>
-        <li class="header-nav-notification">
-          <message-sever></message-sever>
-        </li>
-      </ul>
+            </div>
+        </div>
+        <div id='page-header-data-menu' class='data-menu'>
+            <el-select v-model='selectedProjectId' placeholder='请选择' filterable>
+                <el-option-group v-for="group in projectGropList" :key="group.label" :label="group.label">
+                    <el-option v-for='item in group.options' :key='item.id' :label='item.name' :value='item.id'></el-option>
+                </el-option-group>
+            </el-select>
+        </div>
+        <div id='page-header-user-menu' class='user-menu'>
+            <el-dropdown trigger='hover' class='user-menu-dropdown' @command='userMenuCommand'>
+                <span class='el-dropdown-link'>
+                    {{userInfo.userName}}
+                    <i class='el-icon-fa-user el-icon--right'></i>
+                </span>
+                <el-dropdown-menu slot='dropdown'>
+                    <el-dropdown-item icon='el-icon-plus' command='logout'>退出</el-dropdown-item>
+                    <el-dropdown-item icon='el-icon-circle-plus'>修改密码</el-dropdown-item>
+                </el-dropdown-menu>
+            </el-dropdown>
+            <ul class="header-nav">
+                <li class="header-nav-Splitscreen">
+                    <a href="/splitScreen" target="_blank"><i class="el-icon-s-platform"></i></a>
+                </li>
+                <li class="header-nav-notification">
+                    <message-sever></message-sever>
+                </li>
+            </ul>
+        </div>
     </div>
-  </div>
 </template>
 <script>
 import frameworkApi from '@/api/framework'
-import {mapGetters, mapMutations} from 'vuex'
+import { mapGetters, mapMutations } from 'vuex'
 import getFirstLetter from '@/utils/getFirstLetter'
 import MessageSever from '../components/messagesever/index'
 import lStorage from '@/utils/localStorage'
-
 export default {
-  name: 'PageHeader',
-  props: [],
-  data() {
-    return {
-      selectedProjectId: null
-    }
-  },
-  computed: {
-    ...mapGetters('layout', ['sidebarClosed', 'userInfo', 'projects', 'projectId']),
-    projectGropList() {
-      const cacheInfo = lStorage.get('historyInfo') ? lStorage.get('historyInfo') : {}
-      let options = [{
-        label: '最近使用',
-        options: []
-      }]
-      const projectHistory = cacheInfo[this.userInfo.userName] || [];
-      let copyProjects = JSON.parse(JSON.stringify(this.projects));
-      options[0].options = projectHistory.map(projectId => {
-        let obj = this.projects.find(project => {
-          return project.id === projectId
-        });
-        let index = copyProjects.findIndex(project => {
-          return project.id === projectId
-        })
-        if (index != -1) {
-          copyProjects.splice(index, 1);
+    name: 'PageHeader',
+    props: [],
+    data() {
+        return {
+            selectedProjectId: null
         }
-        return obj ? obj : []
-      })
+    },
+    computed: {
+        ...mapGetters('layout', ['sidebarClosed', 'userInfo', 'projects', 'projectId']),
+        projectGropList () {
+            const cacheInfo = lStorage.get('historyInfo')?lStorage.get('historyInfo'):{}
+            let options = [{
+                label: '最近使用',
+                options: []
+            }]
+            const projectHistory = cacheInfo[this.userInfo.userName] || [];
+            let copyProjects = JSON.parse(JSON.stringify(this.projects));
+            options[0].options = projectHistory.map(projectId => {
+                let obj = this.projects.find(project => {
+                    return project.id === projectId
+                });
+                let index = copyProjects.findIndex(project => {
+                    return project.id === projectId
+                })
+                if (index != -1) {
+                    copyProjects.splice(index, 1);
+                }
+                return obj?obj:[]
+            })
 
-      let helpObj = {}
-      copyProjects.forEach(p => {
-        const label = getFirstLetter((p.name || p.id).slice(0, 1))
-        if (helpObj[label]) {
-          helpObj[label].push(p)
-        } else {
-          helpObj[label] = [p]
+            let helpObj = {}
+            copyProjects.forEach(p => {
+                const label = getFirstLetter((p.name || p.id).slice(0, 1))
+                if (helpObj[label]) {
+                    helpObj[label].push(p)
+                } else {
+                    helpObj[label] = [p]
+                }
+            })
+            const arr = Object.keys(helpObj).sort().map(label => {
+                return {
+                    label: label,
+                    options: helpObj[label]
+                }
+            })
+            return [...(options[0].options.length > 0 ? options : []), ...arr]
         }
-      })
-      const arr = Object.keys(helpObj).sort().map(label => {
-        return {
-          label: label,
-          options: helpObj[label]
+    },
+    watch: {
+        selectedProjectId(n, o) {
+            this.setprojectId(n)
         }
-      })
-      return [...(options[0].options.length > 0 ? options : []), ...arr]
-    }
-  },
-  watch: {
-    selectedProjectId(n, o) {
-      this.setprojectId(n)
-    }
-  },
-  methods: {
-    ...mapMutations('layout', ['setSidebarClosed', 'setprojectId']),
-    handleSelect() {
     },
-    toggleSidebar() {
-      this.setSidebarClosed(!this.sidebarClosed)
+    methods: {
+        ...mapMutations('layout', ['setSidebarClosed', 'setprojectId']),
+        handleSelect() {},
+        toggleSidebar() {
+            this.setSidebarClosed(!this.sidebarClosed)
+        },
+        userMenuCommand(cmd) {
+            // console.log('userMenuCommand ', cmd)
+            if (cmd == 'logout') {
+                console.log("点击登出l")
+                frameworkApi.toLogout()
+            }
+        },
+        toIndex() {
+            this.$router.push('/')
+        }
     },
-    userMenuCommand(cmd) {
-      // console.log('userMenuCommand ', cmd)
-      if (cmd == 'logout') {
-        console.log("点击登出l")
-        frameworkApi.toLogout()
-      }
+    created() {
+        let cacheInfo = lStorage.get('historyInfo')?lStorage.get('historyInfo'):{}
+        if(cacheInfo[this.userInfo.userName] &&
+            cacheInfo[this.userInfo.userName][0] &&
+            this.projects.some((item) => {return item.id == cacheInfo[this.userInfo.userName][0]})
+        ){
+            this.selectedProjectId = cacheInfo[this.userInfo.userName][0]
+        } else {
+            this.selectedProjectId = this.projectId
+        }
     },
-    toIndex() {
-      this.$router.push('/')
-    }
-  },
-  created() {
-    let cacheInfo = lStorage.get('historyInfo') ? lStorage.get('historyInfo') : {}
-    if (cacheInfo[this.userInfo.userName] &&
-      cacheInfo[this.userInfo.userName][0] &&
-      this.projects.some((item) => {
-        return item.id == cacheInfo[this.userInfo.userName][0]
-      })
-    ) {
-      this.selectedProjectId = cacheInfo[this.userInfo.userName][0]
-    } else {
-      this.selectedProjectId = this.projectId
+    mounted() {},
+    components: {
+        MessageSever
     }
-  },
-  mounted() {
-  },
-  components: {
-    MessageSever
-  }
 }
 </script>
 <style lang="scss" scoped>
-.header-nav-Splitscreen > a {
-  display: flex;
-  width: 100%;
-  height: 100%;
-  position: relative;
-  padding: 16px 10px 10px;
-  -webkit-box-sizing: border-box;
-  box-sizing: border-box;
-  color: #79869a;
-  font-size: 24px;
-  text-decoration: none;
-  cursor: pointer;
-
-  i {
-    transition: all 0ms ease 0ms
-  }
+.header-nav-Splitscreen>a{
+    display: flex;
+    width: 100%;
+    height: 100%;
+    position: relative;
+    padding: 16px 10px 10px;
+    -webkit-box-sizing: border-box;
+    box-sizing: border-box;
+    color: #79869a;
+    font-size: 24px;
+    text-decoration: none;
+    cursor: pointer;
+    i{transition:all 0ms ease 0ms}
 }
-
-.header-nav-Splitscreen > a:hover {
-  text-decoration: none;
-  color: #d3d8e2;
-  background-color: #3f4f62;
+.header-nav-Splitscreen>a:hover{
+    text-decoration: none;
+    color: #d3d8e2;
+    background-color: #3f4f62;
 }
 </style>

+ 86 - 119
src/framework/layout/layout-store.js

@@ -8,139 +8,106 @@ const KEY_PAGE_BRANDCRUMB = 'page_brandcrumb'
 
 export default {
   namespaced: true,
-  state: {
-    sidebarClosed: false,
-    sidebarSelected: '', // sidebar选中的选项
-    // userInfo: null, //{ username: 'admin' },
-    userInfo: {
-      username: 'yanruolan',
-      userId: '06328a53c69a41bb8f5bb1a552c6e8d6'
+    state: {
+      sidebarClosed: false,
+      sidebarSelected: '', // sidebar选中的选项
+      userInfo: null, //{ username: 'admin' },
+      permissions: {
+        "system:role:delete": true,
+        "system:role:create": true,
+        "system:role:query": true,
+        "system:role:setOpts": true
+      },
+      projectId: '',
+      projects: [],
+      breadcrumb: [],
+      uploaderList: [], //当前上传文件列表
+      secret: "", //项目密码
+      userId: "", //用户id
+      rowEdit: false,//表格数据变化
+      errorReport:[],//扫楼错误报告
     },
-    permissions: {
-      "system:role:delete": true,
-      "system:role:create": true,
-      "system:role:query": true,
-      "system:role:setOpts": true
-    },
-    projectId: 'Pj5101050001',
-    projects: [{
-      id: "Pj5101050001",
-      name: "成都青羊万达广场",
-      pwd: "saga123456"
-    },{
-      id: "Pj1101080260",
-      name: "万达测试",
-      pwd: "saga123456"
-    },{
-      id: "Pj5107030002",
-      name: "绵阳CBD万达广场",
-      pwd: "saga123456"
-    },{
-      id: "Pj1101050029",
-      name: "北京东坝万达广场",
-      pwd: "saga123456"
-    },{
-      id: "Pj4419000005",
-      name: "莞城万科城市广场",
-      pwd: "saga123456"
-    },{
-      id: "Pj1101080259",
-      name: "博锐尚格北京总部办公楼",
-      pwd: "saga123456"
-    },{
-      id: "Pj4101020002",
-      name: "郑州亿达科技新城展厅",
-      pwd: "saga123456"
-    }],
-    breadcrumb: [],
-    uploaderList: [], //当前上传文件列表
-    secret: "saga123456", //项目密码
-    userId: "06328a53c69a41bb8f5bb1a552c6e8d6", //用户id
-    rowEdit: false,//表格数据变化
-    errorReport: [],//扫楼错误报告
-  },
-  getters: {
-    sidebarClosed: state => state.sidebarClosed,
-    secret: state => state.secret,
-    userId: state => state.userId,
-    sidebarSelected: state => {
-      // if (!state.pageSidebarSelected) {
-      //     let menu = storage.get(KEY_MENU_SELECTED)
-      //     if (menu) {
-      //         state.pageSidebarSelected = menu
-      //     }
-      // }
-      // return state.pageSidebarSelected
-      return state.sidebarSelected
-    },
-    userInfo: state => state.userInfo,
-    permissions: state => state.permissions,
-    projects: state => state.projects,
-    uploaderList: state => state.uploaderList,
-    projectId: state => {
-      if (!state.projectId) {
-        let pid = storage.get(KEY_PROJECT_SELECTED)
-        if (pid) {
-          state.projectId = pid
+    getters: {
+      sidebarClosed: state => state.sidebarClosed,
+      secret: state => state.secret,
+      userId: state => state.userId,
+      sidebarSelected: state => {
+        // if (!state.pageSidebarSelected) {
+        //     let menu = storage.get(KEY_MENU_SELECTED)
+        //     if (menu) {
+        //         state.pageSidebarSelected = menu
+        //     }
+        // }
+        // return state.pageSidebarSelected
+        return state.sidebarSelected
+      },
+      userInfo: state => state.userInfo,
+      permissions: state => state.permissions,
+      projects: state => state.projects,
+      uploaderList: state => state.uploaderList,
+      projectId: state => {
+        if (!state.projectId) {
+          let pid = storage.get(KEY_PROJECT_SELECTED)
+          if (pid) {
+            state.projectId = pid
+          }
         }
-      }
-      return state.projectId
-    },
-    breadcrumb: state => {
-      if (!state.breadcrumb) {
-        let arr = storage.get(KEY_PAGE_BRANDCRUMB)
-        if (arr) {
-          state.breadcrumb = arr
+        return state.projectId
+      },
+      breadcrumb: state => {
+        if (!state.breadcrumb) {
+          let arr = storage.get(KEY_PAGE_BRANDCRUMB)
+          if (arr) {
+            state.breadcrumb = arr
+          }
         }
+        return state.breadcrumb
       }
-      return state.breadcrumb
-    }
-  },
-  mutations: {
-    setRowEdit: (state, val) => (state.rowEdit = val),
-    setErrorReport: (state, val) => (state.errorReport = val),
-    setSidebarClosed: (state, val) => (state.sidebarClosed = val),
-    setSidebarSelected: (state, val) => {
-      state.sidebarSelected = val
-      storage.set(KEY_MENU_SELECTED, val)
-      lStorage.set('screen_data', {path: val, data: {}})
     },
-    setprojectId: (state, val) => {
-      lStorage.remove('cacheInfo') //待删除(删除用户浏览器无用缓存)
-      let cacheInfo = lStorage.get('historyInfo') ? lStorage.get('historyInfo') : {}
-      state.projectId = val
-      localStorage.setItem('projectId', val)
-      if (cacheInfo[state.userInfo.userName]) {
-        // cacheInfo[state.userInfo.userName].projectId = val
-        cacheInfo[state.userInfo.userName] = [...new Set([val, ...cacheInfo[state.userInfo.userName]])].slice(0, 3)
-        lStorage.set('historyInfo', cacheInfo)
-      } else {
-        cacheInfo[state.userInfo.userName] = [val]
-        lStorage.set('historyInfo', cacheInfo)
-      }
-      storage.set(KEY_PROJECT_SELECTED, val)
-      state.projects.map((item) => {
-        if (item.id == val) {
-          state.secret = item.pwd
-          localStorage.setItem('secret', item.pwd)
+    mutations: {
+      setRowEdit: (state, val) => (state.rowEdit = val),
+      setErrorReport:(state,val) => (state.errorReport = val),
+      setSidebarClosed: (state, val) => (state.sidebarClosed = val),
+      setSidebarSelected: (state, val) => {
+        state.sidebarSelected = val
+        storage.set(KEY_MENU_SELECTED, val)
+        lStorage.set('screen_data', {path: val, data: {}})
+      },
+      setprojectId: (state, val) => {
+        lStorage.remove('cacheInfo') //待删除(删除用户浏览器无用缓存)
+        let cacheInfo = lStorage.get('historyInfo') ? lStorage.get('historyInfo') : {}
+        state.projectId = val
+        localStorage.setItem('projectId', val)
+        if (cacheInfo[state.userInfo.userName]) {
+          // cacheInfo[state.userInfo.userName].projectId = val
+          cacheInfo[state.userInfo.userName] = [...new Set([val, ...cacheInfo[state.userInfo.userName]])].slice(0,3)
+          lStorage.set('historyInfo', cacheInfo)
+        } else {
+          cacheInfo[state.userInfo.userName] = [val]
+          lStorage.set('historyInfo', cacheInfo)
         }
-      })
-    },
-    setUploaderList: (state, val) => {
-      state.uploaderList = val ? val : []
-    },
+        storage.set(KEY_PROJECT_SELECTED, val)
+        state.projects.map((item) => {
+          if (item.id == val) {
+            state.secret = item.pwd
+            localStorage.setItem('secret', item.pwd)
+          }
+        })
+      },
+      setUploaderList: (state, val) => {
+        state.uploaderList = val ? val : []
+      },
 
-  },
+    },
   actions: {
     setRowEdit(contentx, value) {
       contentx.commit('setRowEdit', value)
     },
-    setErrorReport(contentx, value) {
-      contentx.commit('setErrorReport', value)
+    setErrorReport(contentx,value) {
+      contentx.commit('setErrorReport',value)
     },
     loadUserInfo({state}) {
       console.log(state)
-      // 获取 userInfo 信息
       return new Promise((resolve, reject) => {
         frameworkApi.loadUserInfo().then(resp => {
           console.log(resp)

+ 32 - 35
src/views/system/auth/index.vue

@@ -1,43 +1,40 @@
 <template>
-  <div>
-    <h4>请稍候...</h4>
-  </div>
+    <div>
+        <h4>请稍候...</h4>
+    </div>
 </template>
 <script>
-import {mapGetters, mapMutations} from 'vuex'
+import { mapGetters, mapMutations } from 'vuex'
 import adminapi from '@/api/system/admin'
 import authutils from '@/utils/authutils'
-
 export default {
-  name: 'index',
-  props: [],
-  data() {
-    return {}
-  },
-  created() {
-    let token = this.$route.query.token
-    console.log(token)
-    this.$store.commit('setSsoToken', token)
-    console.log(this.$store.state.ssoToken)
-    this.$router.replace({path: "/"})
-    // this.$store.dispatch('layout/loadUserInfo').then(resp => {
-    //     console.log('store dispatch result ', resp)
-    //     // if (resp.result  == 'success') {
-    //     if (resp.Result  == 'success') {
-    //         let lastRoute = this.$store.getters['lastRoute']
-    //         console.log('last route ', lastRoute)
-    //         if (lastRoute) {
-    //             this.$router.replace(lastRoute)
-    //         } else {
-    //             this.$router.replace({path: "/"})
-    //         }
-    //     }else{
-    //         this.$router.replace('/nouser')
-    //     }
-    // })
-  },
-  mounted() {
-  },
-  components: {}
+    name: 'index',
+    props: [],
+    data() {
+        return {}
+    },
+    created() {
+        let token = this.$route.query.token
+        console.log(token)
+        this.$store.commit('setSsoToken', token)
+        console.log(this.$store.state.ssoToken)
+        this.$store.dispatch('layout/loadUserInfo').then(resp => {
+            console.log('store dispatch result ', resp)
+            // if (resp.result  == 'success') {
+            if (resp.Result  == 'success') {
+                let lastRoute = this.$store.getters['lastRoute']
+                console.log('last route ', lastRoute)
+                if (lastRoute) {
+                    this.$router.replace(lastRoute)
+                } else {
+                    this.$router.replace({path: "/"})
+                }
+            }else{
+                this.$router.replace('/nouser')
+            }
+        })
+    },
+    mounted() {},
+    components: {}
 }
 </script>