vue 项目的配置文件1


import Vue from 'vue'
import Router from 'vue-router'

const routerPush = Router.prototype.push
Router.prototype.push = function push(location) {
  return routerPush.call(this, location).catch(error=> error)
}


import login from '@/components/login.vue'
import HMBridgeInfo from '@/views/HMBridgeInfo'
import RealMonitor from '@/views/RealMonitor/RealMonitor'


// import Bearings from '@/views/assessment/Bearings'
const error404 = r => require.ensure([], () => r(require('@/components/error404')), 'error404');



const Monitoring_tree_management = r => require.ensure([], () => r(require('@/views/Monitoringmanagement/tianjia/Monitoring_tree_management')), 'Monitoring_tree_management'); //监测管理    

const Equipment_configuration = r => require.ensure([], () => r(require('@/views/Monitoringmanagement/equipment/Equipment_configuration')), 'Equipment_configuration');//
const Acquisition_system = r => require.ensure([], () => r(require('@/views/Monitoringmanagement/equipment/Acquisition_system')), 'Acquisition_system');//
const Equipment_management = r => require.ensure([], () => r(require('@/views/Monitoringmanagement/equipment/Equipment_management')), 'Equipment_management');//
const Graph_point_management = r => require.ensure([], () => r(require('@/views/Monitoringmanagement/dingwei/Graph_point_management')), 'Graph_point_management');// 图纸管理 
const Model_point_management = r => require.ensure([], () => r(require('@/views/Monitoringmanagement/dingwei/Model_point_management')), 'Model_point_management');//模型管理 
const Monitoring_point_management = r => require.ensure([], () => r(require('@/views/Monitoringmanagement/tianjia/Monitoring_point_management')), 'Monitoring_point_management');// 传感器管理页面 





// const RealMonitor = r => require.ensure([], () => r(require('@/views/RealMonitor/RealMonitor')), 'RealMonitor');//实时监测
// const testReal = r => require.ensure([], () => r(require('@/views/RealMonitor/testReal')), 'testReal');//实时监测

// const RealMonitorTest = r => require.ensure([], () => r(require('@/views/RealMonitor/RealMonitorTest')), 'RealMonitorTest');//实时监测







const Warning_query = r => require.ensure([], () => r(require('@/views/SafetyEarlyWarning/Warning_query')), 'Warning_query');//安全报警(实时报警)
const The_early_warning_management = r => require.ensure([], () => r(require('@/views/SafetyEarlyWarning/The_early_warning_management')), 'The_early_warning_management');//安全报警(管理)
const Warning_statistics = r => require.ensure([], () => r(require('@/views/SafetyEarlyWarning/Warning_statistics')), 'Warning_statistics');//安全报警(统计)
const Security_alarm = r => require.ensure([], () => r(require('@/views/SafetyEarlyWarning/Security_alarm')), 'Security_alarm');//安全告警(统计)


//数据分析
const Basic_statistics = r => require.ensure([], () => r(require('@/views/DataAnalysis/dataAR/Basic_statistics')), 'Basic_statistics');//数据分析
const Historical_data_query = r => require.ensure([], () => r(require('@/views/Dataanalysis/dataAR/Historical_data_query')), 'Historical_data_query');//历史数据管理
const Historical_alert_data_query  = r => require.ensure([], () => r(require('@/views/Dataanalysis/dataAR/Historical_image_data_query')), 'Historical_image_data_query');//影像历史数据


const Traffic_flow_project = r => require.ensure([], () => r(require('@/views/Dataanalysis/special/Traffic_flow_project')), 'Traffic_flow_project');// 车辆荷载专项
const Special_wind_load = r => require.ensure([], () => r(require('@/views/Dataanalysis/special/Special_wind_load')), 'Special_wind_load');//风荷载专项

const Autocorrelation_contrast = r => require.ensure([], () => r(require('@/views/Dataanalysis/DataComparison/Autocorrelation_contrast')), 'Autocorrelation_contrast');// 自相关对比
const Cross_correlation = r => require.ensure([], () => r(require('@/views/Dataanalysis/DataComparison/Cross_correlation')), 'Cross_correlation');//互相关对比


const General_report_management = r => require.ensure([], () => r(require('@/views/DataAnalysis/baogao/General_report_management')), 'General_report_management');//监测报表管理
const Offline_report_management = r => require.ensure([], () => r(require('@/views/DataAnalysis/baogao/Offline_analysis_report')), 'Offline_analysis_report');//监测报表管理


const Camera_control = r => require.ensure([], () => r(require('@/views/DataAnalysis/Camera/Camera_control')), 'Camera_control');//摄像机专项
const Camera_data_query = r => require.ensure([], () => r(require('@/views/DataAnalysis/Camera/Camera_data_query')), 'Camera_data_query');//



// const Bearing = r => require.ensure([], () => r(require('@/views/assessment/Bearing')), 'Bearing');//在线评估
// const assessment = r => require.ensure([], () => r(require('@/views/assessment/assessment')), 'assessment');//在线评估
// const Fatigue= r => require.ensure([], () => r(require('@/views/assessment/Fatigue')), 'Fatigue');//风荷载专项

const Real_time_modal_recognition = r => require.ensure([], () => r(require('@/views/assessment/modal/Real_time_modal_recognition')), 'Real_time_modal_recognition');//实时模态分析
const Historical_modal_query = r => require.ensure([], () => r(require('@/views/assessment/modal/Historical_modal_query')), 'Historical_modal_query');//历史模态分析
const Modal_parameter_configuration = r => require.ensure([], () => r(require('@/views/assessment/modal/Modal_parameter_configuration')), 'Modal_parameter_configuration');//模态参数配置

//承载力  
const Real_time_bearing_capacity_analysis = r => require.ensure([], () => r(require('@/views/assessment/Bear/Real_time_bearing_capacity_analysis')), 'Real_time_bearing_capacity_analysis');//实时承载力       
const Historical_bearing_Capacity_Inquiry = r => require.ensure([], () => r(require('@/views/assessment/Bear/Historical_bearing_Capacity_Inquiry')), 'Historical_bearing_Capacity_Inquiry');//历史承载力
const Bearing_capacity_parameter_configuration = r => require.ensure([], () => r(require('@/views/assessment/Bear/Bearing_capacity_parameter_configuration')), 'Bearing_capacity_parameter_configuration');//承载力参数配置

const Traffic_flow_parameter_configuration = r => require.ensure([], () => r(require('@/views/assessment/vehicle/Traffic_flow_parameter_configuration')), 'Traffic_flow_parameter_configuration');//
const On_line_analytical_monitoring = r => require.ensure([], () => r(require('@/views/assessment/vehicle/On_line_analytical_monitoring')), 'On_line_analytical_monitoring');//


//系统管理页面 
const roemanagement = r => require.ensure([], () => r(require('@/views/system/roemanagement')), 'roemanagement'); //角色管理    
const company = r => require.ensure([], () => r(require('@/views/system/company')), 'company');//   公司管理 
const divisional = r => require.ensure([], () => r(require('@/views/system/divisional')), 'divisional');//部门管理
const user = r => require.ensure([], () => r(require('@/views/system/user')), 'user'); //用户管理    
const personal = r => require.ensure([], () => r(require('@/views/system/personal')), 'personal');//   个人设置 
const memu = r => require.ensure([], () => r(require('@/views/system/memu')), 'memu');//菜单管理
const info = r => require.ensure([], () => r(require('@/views/system/info')), 'info');//信息管理


//离线模块

const Modal_recognition_results_are_presented = r => require.ensure([], () => r(require('@/views/Offline/offModal/Modal_recognition_results_are_presented')), 'Modal_recognition_results_are_presented'); //模态分析    
const Modal_identification_analysis_management = r => require.ensure([], () => r(require('@/views/Offline/offModal/Modal_identification_analysis_management')), 'Modal_identification_analysis_management'); //模态分析    
const Configuration_of_modal_identification_parameters = r => require.ensure([], () => r(require('@/views/Offline/offModal/Configuration_of_modal_identification_parameters')), 'Configuration_of_modal_identification_parameters'); //模态分析    

  //疲劳分析

  const Fatigue_assessment_results_are_presented = r => require.ensure([], () => r(require('@/views/Offline/fatigueAnalysisController/ResultsShow')), 'Fatigue_assessment_results_are_presented'); //展示    
  const Fatigue_assessment_structural_analysis = r => require.ensure([], () => r(require('@/views/Offline/fatigueAnalysisController/Management')), 'Fatigue_assessment_structural_analysis'); //管理    
  const Fatigue_assessment_parameter_configuration = r => require.ensure([], () => r(require('@/views/Offline/fatigueAnalysisController/ParametersSetting')), 'Fatigue_assessment_parameter_configuration'); //参数设置    
  

  //模型修正
  const Model_modification_results_are_presented = r => require.ensure([], () => r(require('@/views/Offline/modelModificationController/ResultsShow')), 'Model_modification_results_are_presented'); //展示    
  const Model_modification_analysis_management = r => require.ensure([], () => r(require('@/views/Offline/modelModificationController/Management')), 'Model_modification_analysis_management'); //管理    
  const Model_modification_parameter_configuration = r => require.ensure([], () => r(require('@/views/Offline/modelModificationController/ParametersSetting')), 'Model_modification_parameter_configuration'); //参数设置 
  //车流模拟
  const Traffic_flow_simulation_results_are_presented = r => require.ensure([], () => r(require('@/views/Offline/trafficSimulationController/ResultsShow')), 'Traffic_flow_simulation_results_are_presented'); //展示    
  const Traffic_flow_simulation_parameter_configuration = r => require.ensure([], () => r(require('@/views/Offline/trafficSimulationController/ParametersSetting')), 'Traffic_flow_simulation_parameter_configuration'); //参数设置 
  //疲劳数值
  const Fatigue_reliability_results_were_presented = r => require.ensure([], () => r(require('@/views/Offline/fatigueValueController/ResultsShow')), 'Fatigue_reliability_results_were_presented'); //展示    
  const Configuration_of_fatigue_reliability_parameters = r => require.ensure([], () => r(require('@/views/Offline/fatigueValueController/ParametersSetting')), 'Configuration_of_fatigue_reliability_parameters'); //参数设置 


  const Management_of_capacity_assessment_and_analysis = r => require.ensure([], () => r(require('@/views/Offline/OfflineCapacity/Management_of_capacity_assessment_and_analysis')), 'Management_of_capacity_assessment_and_analysis');   
  const Bearing_capacity_evaluation_parameter_configuration = r => require.ensure([], () => r(require('@/views/Offline/OfflineCapacity/Bearing_capacity_evaluation_parameter_configuration')), 'Bearing_capacity_evaluation_parameter_configuration');     
  const Bearing_capacity_evaluation_results_are_displayed = r => require.ensure([], () => r(require('@/views/Offline/OfflineCapacity/Bearing_capacity_evaluation_results_are_displayed')), 'Bearing_capacity_evaluation_results_are_displayed');     
  
  //可靠度评估
  
  const Bearing_capacity_reliability_parameter_configuration = r => require.ensure([], () => r(require('@/views/Offline/Reliability/OffRParameter')), 'Bearing_capacity_reliability_parameter_configuration');     
  const The_reliability_of_bearing_capacity_is_displayed = r => require.ensure([], () => r(require('@/views/Offline/Reliability/OffResultsShow')), 'The_reliability_of_bearing_capacity_is_displayed');      

  // 总分析控制

  const Population_analysis_control = r => require.ensure([], () => r(require('@/views/Offline/Overall/OverallShow')), 'Population_analysis_control');   
 

  import LeftNav from '@/components/LeftNav.vue'
  import Home from '@/components/heade_left.vue'
  import san_left from '@/components/san_left.vue'
  import lixian from '@/components/lixian.vue'  
  import left_anquan from '@/components/left_anquan.vue'       
      
  import shuju_left from '@/components/shuju_left.vue'     
  import jiance_left from '@/components/jiance_left.vue'   
  import left_guanli from '@/components/common/left_guanli.vue'          

                 
                
  
// 页面刷新时,重新赋值token               
if (sessionStorage.getItem('Token')) {    
  store.commit('set_token', sessionStorage.getItem('Token'))
}   
          
Vue.use(Router);    


let router = new Router({
    routes: [
      {
        path: '/',
        type: 'login',
        component: login  
      },
      {
        path: '/HMBridgeInfo',
        type: 'HMBridgeInfo',
        component: HMBridgeInfo  
      },
    //   {
    //     path: '/assessment',
    //     type: 'assessment',
    //     component: assessment  
    //   },
      // {
      //   path: '*',
      //   component: NotFound
      // },
   
      {
          path: '/RealMonitor',
          component: Home,
          type: 'home', // 根据type区分不同模块(顶部导航)
          name: 'homes', // 根据name区分不同子模块(左侧导航)
          menuShow: false,
          leaf: true, // 只有一个节点
          children: [
            { path: '/RealMonitor', component: RealMonitor, name: 'RealMonitor', menuShow: false, },
      
          ]
        },
        
        // 在线模块
        {
            path: '/zaixian',
            type: 'home', // 根据type区分不同模块(顶部导航)
            name: 'Real_time_bearing_capacity_analysis', // 根据name区分不同子模块(左侧导航)
            redirect: '/Real_time_bearing_capacity_analysis',
            component: Home,
            leaf: false, // 只有一个节点
            menuShow: false,
            children: [
              {
                path: '/modal',
                component: LeftNav,
                name: '模态识别', // 当前路由的name
                leaf: false, // 只有一个节点
                iconCls: 'iconfont icon-dianbo01', // 图标样式class  /Real_time_modal_recognition 
                menuShow: true,
                children: [
                  { path: '/Real_time_modal_recognition', component: Real_time_modal_recognition, name: '实时模态识别', iconCls: 'iconfont icon-ico-' },
                  { path: '/Historical_modal_query', component: Historical_modal_query, name: '历史模态查询 ', iconCls: 'iconfont icon-shishiboxingjiankongtu' },
                  { path: '/Modal_parameter_configuration', component: Modal_parameter_configuration, name: '模态参数配置', iconCls: 'iconfont icon-guanli1' }

                ]
              },
              {
                path: '/cheng',
                component: LeftNav,
                name: '承载力评估',
                iconCls: 'iconfont icon-xiazai3',
                leaf: false, // 只有一个节点
                menuShow: true,
                children: [
                  { path: '/Real_time_bearing_capacity_analysis', component: Real_time_bearing_capacity_analysis, name: '实时承载力分析', menuShow: true, iconCls: 'iconfont icon-chengyunshangguanli_icox'},
                  { path: '/Historical_bearing_Capacity_Inquiry', component: Historical_bearing_Capacity_Inquiry, name: '历史承载力查询', menuShow: true , iconCls: 'iconfont icon-chengyunshangjichushuju'},
                  { path: '/Bearing_capacity_parameter_configuration', component: Bearing_capacity_parameter_configuration, name: '承载力参数配置', menuShow: true , iconCls: 'iconfont icon-guanli1'}
                ]
              },
              {
                  path: '/che',
                  component: LeftNav,
                  name: '车流特性分析',
                  iconCls: 'iconfont icon-cheliangshenqing',
                  leaf: false, // 只有一个节点
                  menuShow: true,
                  children: [
                      
                    { path: '/On_line_analytical_monitoring', component: On_line_analytical_monitoring, name: '在线分析监测', menuShow: true, iconCls: 'iconfont icon-ziyuan'},
                    { path: '/Traffic_flow_parameter_configuration', component: Traffic_flow_parameter_configuration, name: '车流参数配置', menuShow: true , iconCls: 'iconfont icon-guanli1'},
                   
                  ]
                }
            ]
          },
        //   离线模块
        {
          path: '/lixian',
          type: 'home', // 根据type区分不同模块(顶部导航)
          name: 'Configuration_of_modal_identification_parameters', // 根据name区分不同子模块(左侧导航)
          redirect: '/Configuration_of_modal_identification_parameters',
          component: Home,
          leaf: false, // 只有一个节点
          menuShow: false,
          children: [
              {
                  path: '/lixian1',
                  component: san_left,
                  name:'',
                  names: '离线数据结构分析',
                  iconCls: 'iconfont icon-sandiantu',
                  menuShow: true,
                  leaf: false, // 只有一个节点
                  children: [
                    { path: '/lixian1_1', 
                    component: lixian, 
                    name:'',
                    names: '模态识别', 
                    menuShow: true, 
                    leaf: false, // 只有一个节点
                    iconCls: 'iconfont icon-nls-asrcustommodelyuyinmoxingzixuexi', 
                    children: [
                      { path: '/Configuration_of_modal_identification_parameters', component:Configuration_of_modal_identification_parameters,name:'Configuration_of_modal_identification_parameters', names: '参数配置', menuShow: true, iconCls: 'iconfont  icon-tongjichaifenjieguo'},
                      { path: '/Modal_identification_analysis_management', component: Modal_identification_analysis_management,name:'Modal_identification_analysis_management', names: '分析管理', menuShow: true , iconCls: 'iconfont  icon-pingtaiapicanshu'},
                      { path: '/Modal_recognition_results_are_presented', component: Modal_recognition_results_are_presented, name:'Modal_recognition_results_are_presented',names: '结果展示', menuShow: true , iconCls: 'iconfont icon-youhuayunhang'}
                    ]},
                    { path: '/lixian1_2', 
                    component: lixian, name:'',
                    names: '承载力评估', 
                    menuShow: true, 
                    leaf: false, // 只有一个节点
                    iconCls: 'iconfont icon-chengjie', 
                    children: [
                        { path: '/Bearing_capacity_evaluation_parameter_configuration', component: Bearing_capacity_evaluation_parameter_configuration,name:'Bearing_capacity_evaluation_parameter_configuration', names: '参数配置', menuShow: true, iconCls: 'iconfont  icon-tongjichaifenjieguo'},
                        { path: '/Management_of_capacity_assessment_and_analysis', component: Management_of_capacity_assessment_and_analysis, name:'Management_of_capacity_assessment_and_analysis',names: '分析管理', menuShow: true , iconCls: 'iconfont  icon-pingtaiapicanshu'},
                        { path: '/Bearing_capacity_evaluation_results_are_displayed', component: Bearing_capacity_evaluation_results_are_displayed, name:'Bearing_capacity_evaluation_results_are_displayed',names: '结果展示', menuShow: true , iconCls: 'iconfont icon-youhuayunhang'}
                    ]},
                    { path: '/lixian1_3', 
                    component: lixian, name:'',
                    names: '疲劳评估', 
                    menuShow: true, 
                    leaf: false, // 只有一个节点
                    iconCls: 'iconfont icon-yly_youtegang', 
                    children: [
                        { path: '/Fatigue_assessment_parameter_configuration', component: Fatigue_assessment_parameter_configuration,name:'Fatigue_assessment_parameter_configuration', names: '参数配置', menuShow: true, iconCls: 'iconfont  icon-tongjichaifenjieguo'},
                        { path: '/Fatigue_assessment_structural_analysis', component: Fatigue_assessment_structural_analysis, name:'Fatigue_assessment_structural_analysis',names: '分析管理', menuShow: true , iconCls: 'iconfont  icon-pingtaiapicanshu'},
                        { path: '/Fatigue_assessment_results_are_presented', component: Fatigue_assessment_results_are_presented,name:'Fatigue_assessment_results_are_presented', names: '结果展示', menuShow: true , iconCls: 'iconfont icon-youhuayunhang'}
                    ]},
                  ]
                },
                {
                    path: '/lixian2',
                    component: san_left,name:'',
                    names: '数值模拟结构评估',
                    iconCls: 'iconfont icon-qunfengkaifangshujuguanli',
                    menuShow: true,
                    leaf: false, // 只有一个节点
                    children: [
                      { path: '/lixian2_1', 
                      component: lixian,name:'', 
                      names: '模型修正', 
                      menuShow: true, 
                      leaf: false, // 只有一个节点
                      iconCls: 'iconfont icon-Dmoxingx', 
                      children: [
                        { path: '/Model_modification_parameter_configuration', component: Model_modification_parameter_configuration, name:'Model_modification_parameter_configuration',names: '参数配置', menuShow: true, iconCls: 'iconfont  icon-tongjichaifenjieguo'},
                        { path: '/Model_modification_analysis_management', component: Model_modification_analysis_management, name:'Model_modification_analysis_management',names: '分析管理', menuShow: true , iconCls: 'iconfont  icon-pingtaiapicanshu'},
                        { path: '/Model_modification_results_are_presented', component: Model_modification_results_are_presented,name:'Model_modification_results_are_presented', names: '结果展示', menuShow: true , iconCls: 'iconfont icon-youhuayunhang'}
                      ]},
                      { path: '/lixian2_2', 
                      component: lixian, name:'',
                      names: '车流模拟', 
                      menuShow: true, 
                      leaf: false, // 只有一个节点
                      iconCls: 'iconfont icon-cheliangxinxi', 
                      children: [
                        { path: '/Traffic_flow_simulation_parameter_configuration', component: Traffic_flow_simulation_parameter_configuration, name:'Traffic_flow_simulation_parameter_configuration',names: '参数配置', menuShow: true, iconCls: 'iconfont  icon-tongjichaifenjieguo'},
                        { path: '/Traffic_flow_simulation_results_are_presented', component: Traffic_flow_simulation_results_are_presented, name:'Traffic_flow_simulation_results_are_presented',names: '结果展示', menuShow: true , iconCls: 'iconfont icon-youhuayunhang'}
                      ]},
                      { path: '/lixian2_3', 
                      component: lixian,name:'', 
                      names: '疲劳可靠度', 
                      menuShow: true, 
                      leaf: false, // 只有一个节点
                      iconCls: 'iconfont icon-zhongfubaojing', 
                      children: [
                        { path: '/Configuration_of_fatigue_reliability_parameters', component: Configuration_of_fatigue_reliability_parameters,name:'Configuration_of_fatigue_reliability_parameters', names: '参数配置', menuShow: true, iconCls: 'iconfont  icon-tongjichaifenjieguo'},
                        { path: '/Fatigue_reliability_results_were_presented', component: Fatigue_reliability_results_were_presented, name:'Fatigue_reliability_results_were_presented',names: '结果展示', menuShow: true , iconCls: 'iconfont icon-youhuayunhang'}
                      ]},
                      { path: '/lixian2_4', 
                      component: lixian, 
                      names: '承载力可靠度', name:'',
                      menuShow: true, 
                      leaf: false, // 只有一个节点
                      iconCls: 'iconfont icon-moban2', 
                      children: [
                        { path: '/Bearing_capacity_reliability_parameter_configuration', component: Bearing_capacity_reliability_parameter_configuration,name:'Bearing_capacity_reliability_parameter_configuration', names: '参数配置', menuShow: true, iconCls: 'iconfont  icon-tongjichaifenjieguo'},
                        { path: '/The_reliability_of_bearing_capacity_is_displayed', component: The_reliability_of_bearing_capacity_is_displayed,name:'The_reliability_of_bearing_capacity_is_displayed', names: '结果展示', menuShow: true , iconCls: 'iconfont icon-youhuayunhang'}
                      ]},
                      { path: '/lixian2_5', 
                      component: lixian, 
                      names: '分析管理', name:'',
                      menuShow: true, 
                      leaf: false, // 只有一个节点
                      iconCls: 'iconfont icon-shouye', 
                      children: [
                        { path: '/Population_analysis_control', component: Population_analysis_control, name:'Population_analysis_control',names: '总体分析控制', menuShow: true , iconCls: 'iconfont icon-kongzhiqi'}
                      ]},
                    ]
                  },
                  {
                    path: '/Offline_report_management',
                    component: san_left,names: '报告管理',
                    name: '', // 当前路由的name
                    leaf: false, // 只有一个节点
                    
                    iconCls: 'iconfont icon-plus-datareport', // 图标样式class  /Real_time_modal_recognition 
                    menuShow: true,
                    children: [
                        { path: '/Offline_report_management', grade:3,component:Offline_report_management,name:"Offline_report_management", names: '离线报告管理', menuShow: true, iconCls: 'iconfont icon-baogao'},   

                     
    
                    ]
                  },

               
            
          ]
        }, 
        //安全报警 
        {
            path: '/anquan',
            type: 'home', // 根据type区分不同模块(顶部导航)
            name: 'home', // 根据name区分不同子模块(左侧导航)
            redirect: '/Warning_query',
            component: Home,
            leaf: false, // 只有一个节点
            menuShow: false,
            children: [
          

                  {
                    path: '/anquan1_1',
                    component: left_anquan,
                    name: 'anquan1_1', // 当前路由的name
                    leaf: true, // 只有一个节点
                    menuShow: true,
                    children: [
                        { path: '/Warning_query', component: Warning_query, name: '报警查询', iconCls: 'iconfont icon-hetongyujing' },
                    ]
                  },
                  {
                    path: '/anquan1_5',
                    component: left_anquan,
                    name: 'anquan1_5', // 当前路由的name
                    leaf: true, // 只有一个节点
                    menuShow: true,
                    children: [
                        { path: '/Historical_alert_data_query', component: Historical_alert_data_query, name: '动挠度报警查询', iconCls: 'iconfont icon-paizhaoxiangji' }

                    ]
                  },

              {
                path: '/anquan1_2',
                component: left_anquan,
                name: 'anquan1_2', // 当前路由的name
                leaf: true, // 只有一个节点
                menuShow: true,
                children: [
                  { path: '/The_early_warning_management', component: The_early_warning_management, name: '报警管理', iconCls: 'iconfont icon-weibiaoti5' },
                ]
              },
              {
                path: '/anquan1_3',
                component: left_anquan,
                name: 'anquan1_3', // 当前路由的name
                leaf: true, // 只有一个节点
                menuShow: true,
                children: [
                  { path: '/Warning_statistics', component: Warning_statistics, name: '报警统计', iconCls: 'iconfont icon-yujingtongji' },
                ]
              },
              {
                path: '/anquan1_4',
                component: left_anquan,
                name: 'anquan1_4', // 当前路由的name
                leaf: true, // 只有一个节点
                menuShow: true,
                children: [
                  { path: '/Security_alarm', component: Security_alarm, name: '安全告警', iconCls: 'iconfont icon-laba-copy' },
                ]
              }
              
              
            ]
          },
        //数据统计
        {
            path: '/shuju',   
            type: 'home', // 根据type区分不同模块(顶部导航)
            name: 'Basic_statistics', // 根据name区分不同子模块(左侧导航)
            redirect: '/Basic_statistics',
            component: Home,
            leaf: false, // 只有一个节点
            menuShow: false,
            children: [ 
              {
                path: '/chaxun',
                component: shuju_left,
                name: '基础统计', // 当前路由的name
                leaf: false, // 只有一个节点
                iconCls: 'iconfont icon-shuju1', // 图标样式class  /Real_time_modal_recognition 
                menuShow: true,
                children: [
                  { path: '/Basic_statistics', component: Basic_statistics, name: '数据实时统计', iconCls: 'iconfont icon-tongjibaobiao' },
                  { path: '/Historical_data_query', component: Historical_data_query, name: '历史数据统计 ', iconCls: 'iconfont icon-suyaniconchanpinleibufenzuodaohangbufen84' },
                  { path: '/Autocorrelation_contrast', component: Autocorrelation_contrast, name: '自相关对比', menuShow: true, iconCls: 'iconfont  icon-shujuyuan'},
                  { path: '/Cross_correlation', component: Cross_correlation, name: '互相关对比', menuShow: true , iconCls: 'iconfont  icon-icon_huabanfuben'}, 
                ]
              },
            //   {
            //     path: '/duibi',
            //     component: shuju_left,
            //     name: '数据对比',
            //     iconCls: 'iconfont icon-qudaoqushiduibifenxi',
            //     leaf: false, // 只有一个节点
            //     menuShow: true,
            //     children: [
            //       { path: '/Autocorrelation_contrast', component: Autocorrelation_contrast, name: '自相关对比', menuShow: true, iconCls: 'iconfont  icon-shujuyuan'},
            //       { path: '/Cross_correlation', component: Cross_correlation, name: '互相关对比', menuShow: true , iconCls: 'iconfont  icon-icon_huabanfuben'},
            //     ]
            //   },
              {
                  path: '/zhuan', 
                  component: shuju_left,
                  name: '专项统计',
                  iconCls: 'iconfont icon-tongjiwajue',
                  leaf: false, // 只有一个节点
                  menuShow: true,
                  children: [
                    { path: '/Special_wind_load', component: Special_wind_load, name: '风荷载专项', menuShow: true, iconCls: 'iconfont  icon-feng'},
                    { path: '/Traffic_flow_project', component: Traffic_flow_project, name: '交通流专项', menuShow: true , iconCls: 'iconfont  icon-cheliang'},
                   
                  ]
                } ,
                {
                    path: '/camera',
                    component: shuju_left,
                    name: '摄像机专项',
                    iconCls: 'iconfont icon-chedaoshexiangji',
                    leaf: false, // 只有一个节点
                    menuShow: true,
                    children: [
                      { path: '/Camera_control', component: Camera_control, name: '摄像机控制', menuShow: true, iconCls: 'iconfont icon-raoshexiangjixuanzhuan'},
                      { path: '/Camera_data_query', component:Camera_data_query, name: '摄像机数据查询', menuShow: true, iconCls: 'iconfont icon-shexiangjibeifen2'},   
                    ]
                  },
                {
                    path: '/baog',
                    component: shuju_left,
                    name: '报告管理',
                    iconCls: 'iconfont icon-plus-datareport',
                    leaf: false, // 只有一个节点
                    menuShow: true,
                    children: [
                      { path: '/General_report_management', component: General_report_management, name: '总报告管理', menuShow: true, iconCls: 'iconfont icon-baogao'},
                    ]
                  }
            ]
          },
        //监测管理
        {
            path: '/Monitoring',
            type: 'home', // 根据type区分不同模块(顶部导航)
            name: 'Monitoring_tree_management', // 根据name区分不同子模块(左侧导航)
            redirect: '/Monitoring_tree_management',
            component: Home,
            leaf: false, // 只有一个节点
            menuShow: false,
            children: [
              {
                path: '/Monitoring1',
                component: jiance_left,
                name: '测点管理', // 当前路由的name
                leaf: false, // 只有一个节点
                iconCls: 'iconfont icon-dongtaijiance1', // 图标样式class  /Real_time_modal_recognition 
                menuShow: true,
                children: [
                  { path: '/Monitoring_tree_management', component: Monitoring_tree_management, name: '监测树管理', iconCls: 'iconfont icon-tree' },
                  { path: '/Monitoring_point_management', component: Monitoring_point_management, name: '监测点管理 ', iconCls: 'iconfont icon-chuanganqiganyingqi' },

                ]
              },
              {
                path: '/Monitoring2',
                component: jiance_left,
                name: '测点标记',
                iconCls: 'iconfont icon-dingwei2',
                leaf: false, // 只有一个节点
                menuShow: true,
                children: [
                  { path: '/Graph_point_management', component: Graph_point_management, name: '图形测点管理', menuShow: true, iconCls: 'iconfont icon-shebei1'},
                  { path: '/Model_point_management', component: Model_point_management, name: '模型测点管理', menuShow: true , iconCls: 'iconfont icon-guanli1'},
                ]
              },
              {
                  path: '/Monitoring3',
                  component: jiance_left,
                  name: '设备组网',
                  iconCls: 'iconfont icon-shebei1',
                  leaf: false, // 只有一个节点
                  menuShow: true,
                  children: [
                      
                    { path: '/Acquisition_system', component: Acquisition_system, name: '采集制度', menuShow: true, iconCls: 'iconfont icon-ziyuan'},
                    { path: '/Equipment_configuration', component: Equipment_configuration, name: '设备配置', menuShow: true , iconCls: 'iconfont icon-guanli1'},
                    { path: '/Equipment_management', component: Equipment_management, name: '设备管理', menuShow: true , iconCls: 'iconfont icon-kongzhiqi'},
                   
                  ]
                }
            ]
          },  
          //系统管理  
        {
            path: '/memus',
            type: 'home', // 根据type区分不同模块(顶部导航)
            name: 'personal', // 根据name区分不同子模块(左侧导航)
            redirect: '/personal',
            component: Home,
            leaf: false, // 只有一个节点
            menuShow: false,
            children: [
          

                  {
                    path: '/memu1_1',
                    component: left_guanli,
                    name: 'memu1_1', // 当前路由的name
                    leaf: true, // 只有一个节点
                    menuShow: true,
                    children: [
                        { path: '/personal', component: personal, name: '个人设置', iconCls: 'iconfont icon-huabanfuben' },
                    ]
                  },
              {
                path: '/memu1_2',
                component: left_guanli,
                name: 'memu1_2', // 当前路由的name
                leaf: true, // 只有一个节点
                menuShow: true,
                children: [
                  { path: '/company', component: company, name: '公司管理', iconCls: 'iconfont icon-gongsiguanli' },
                ]
              },  
              {
                path: '/memu1_3',
                component: left_guanli,
                name: 'memu1_3', // 当前路由的name
                leaf: true, // 只有一个节点
                menuShow: true,
                children: [
                  { path: '/divisional', component: divisional, name: '部门管理', iconCls: 'iconfont icon-bumenguanli' },
                ]
              },
              {
                path: '/memu1_4',
                component: left_guanli,
                name: 'memu1_4', // 当前路由的name
                leaf: true, // 只有一个节点
                menuShow: true,
                children: [
                  { path: '/roemanagement', component: roemanagement, name: '角色管理', iconCls: 'iconfont icon-jiaoseguanli2' },
                ]
              },
              {
                path: '/memu1_5',
                component: left_guanli,
                name: 'memu1_5', // 当前路由的name
                leaf: true, // 只有一个节点
                menuShow: true,
                children: [
                  { path: '/memu', component: memu, name: '菜单管理', iconCls: 'iconfont icon-caidanguanli3' },
                ]
              },
              {
                path: '/memu1_6',
                component: left_guanli,
                name: 'memu1_6', // 当前路由的name
                leaf: true, // 只有一个节点
                menuShow: true,
                children: [
                  { path: '/user', component: user, name: '用户管理', iconCls: 'iconfont icon-yonghuguanli2' },
                ]
              },
              {
                path: '/memu1_7',
                component: left_guanli,
                name: 'memu1_7', // 当前路由的name 
                leaf: true, // 只有一个节点
                menuShow: true,
                children: [
                  { path: '/info', component: info, name: '消息中心', iconCls: 'iconfont icon-xiaoxizhongxin1' },
                ]
              }
              
              
            ]
          },
  
        
  
    ]
  });


  // 导航守卫     
// 使用 router.beforeEach 注册一个全局前置守卫,判断用户是否登陆
router.beforeEach((to, from, next) => {
    if (to.matched.some(r => r.meta.requireAuth)) {           //这里的requireAuth为路由中定义的 meta:{requireAuth:true},意思为:该路由添加该字段,表示进入该路由需要登陆的
      if (store.state.token) {
        next();
      }
      else {
        next({
          path: '/login',
          query: { redirect: to.fullPath }
        })
      }
    }
    else {
      next();
    }
  });

export default router;
<template>
  <el-col :span="24" class="main">
    <!--左侧导航-->
    <aside :class="{showSidebar:!collapsed}">
      <!--展开折叠开关-->
      <div class="menu-toggle" @click.prevent="collapse">
        <i class="iconfont icon-shouqi" v-show="!collapsed" title="收起"   style="font-size: 18px;"></i>
        <i class="iconfont icon-zhankai" v-show="collapsed" title="展开"  style="font-size: 20px;"></i>
      </div> 
      <!--导航菜单-->
   


    <el-menu :default-active="$route.path" router :collapse="collapsed" ref="leftNavigation">
        <template v-for="issue in arrnva" >
          <template ><!-- 注意:这里就是leftNavState状态作用之处,当该值与router的根路由的name相等时加载相应菜单组 -->
            <template v-for="(item,index) in issue.children">
              <el-submenu v-if="!item.leaf" :index="index+''" v-show="item.menuShow">
                <template slot="title"><i :class="item.iconCls"></i><span slot="title">{{item.name}}</span></template>
                <el-menu-item v-for="term in item.children" :key="term.path" :index="term.path" v-if="term.menuShow"
                              :class="$route.path==term.path?'is-active':''">
                  <i :class="term.iconCls"></i><span slot="title">{{term.name}}</span>
                </el-menu-item>
              </el-submenu>
              <el-menu-item v-else-if="item.leaf&&item.children&&item.children.length" :index="item.children[0].path"
                            :class="$route.path==item.children[0].path?'is-active':''" v-show="item.menuShow">
                <i :class="item.children[0].iconCls" style="color:#fff;"></i><span slot="title">{{item.children[0].name}}</span>
              </el-menu-item>
            </template>
          </template>
        </template>
      </el-menu>



      
    </aside>
    <!--右侧内容区-->
    <section class="content-container">
      <div class="grid-content bg-purple-light">
        <el-col :span="24" class="content-wrapper">
          <transition name="fade" mode="out-in">
            <router-view></router-view>
          </transition>
        </el-col>
      </div>
    </section>
  </el-col>
</template>
<script>
  export default {
    name: 'leftNav',
    data () {
      return {
        collapsed: false,
        arrnva:[],
      }
    },
    methods: {
      //折叠导航栏
      collapse: function () {
        this.collapsed = !this.collapsed;
        this.$store.state.collapsed = this.collapsed;
      },
      // 左侧导航栏根据当前路径默认打开子菜单(如果当前路由是三级,则二级子菜单默认打开)
      defaultLeftNavOpened () {
        let cur_path = this.$route.path; //获取当前路由
        let routers = this.$router.options.routes; // 获取路由对象
        let subMenuIndex = 0, needOpenSubmenu = false;
        for (let i = 0; i < routers.length; i++) {
          let children = routers[i].children;
          if(children){
            for (let j = 0; j < children.length; j++) {
              if (children[j].path === cur_path) {
                break;
              }
              // 如果该菜单下有子菜单(个数>1且设置的leaf为false才有下拉子菜单)
              if(children[j].children && !children[j].leaf) {
                let grandChildren = children[j].children;
                for(let z=0; z<grandChildren.length; z++) {
                  if(grandChildren[z].path === cur_path) {
                    subMenuIndex = j;
                    needOpenSubmenu = true;
                    break;
                  }
                }
              }
            }
          }
        }
        if(this.$refs['leftNavigation'] && needOpenSubmenu) {
          this.$refs['leftNavigation'].open(subMenuIndex);
        }
      },
    },
    mounted() {
    //   this.defaultLeftNavOpened();
    
    this.$router.options.routes
    
        
    if (this.$route.path == "/personal" ||
          this.$route.path == "/company" ||
          this.$route.path == "/company" ||
          this.$route.path == "/divisional"||
          this.$route.path == "/roemanagement" ||
          this.$route.path == "/memu" ||
          this.$route.path == "/user" ||
          this.$route.path == "/info" 
          ) {
        this.arrnva.push(this.$router.options.routes[8])
        // this.collapsed=false
    


    
      let path_arr=[]
      let path_arr1=[]  
      var arr=this.$router.options.routes[8].children
        
         this.cur_path = this.$route.path; //获取当前路由
      this.collapsed=false
        

      
            var Menus = JSON.parse(localStorage.getItem("Menus"))[6].subItem;  
         
            
         for (let i = 0; i <Menus.length; i++) {
               console.log(Menus[i].root_url)
                    path_arr.push('/'+ Menus[i].root_url)
                
            
             
         }
         
          for (let i = 0; i < arr.length; i++) {
              
              for (let j = 0; j < arr[i].children.length; j++) {
                   path_arr1.push(arr[i].children[j].path)
                   if ( path_arr.indexOf(arr[i].children[j].path)<0) {
                       console.log(arr[i].children[j].path)
                  arr[i].children.splice(j,1)
                   }
                  
              }
              
          }
          
            this.arrnva[0].children=arr
                
           
           
           
           }
    }
    
  }
</script>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值