he wei
2023-04-18 10028e106c3a07e9de6c7265659606ff0ecb5333
UA 登录页面国际化 菜单路由国际化
6个文件已修改
1个文件已添加
430 ■■■■■ 已修改文件
src/assets/js/tools/i18n.js 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/layout/components/TagsView/index.vue 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/router/i18n.js 126 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/router/index.js 180 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/login/components/AddLicense.vue 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/login/index.vue 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/login/js/i18n.js 60 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/js/tools/i18n.js
@@ -6,15 +6,18 @@
import elementZhLocale from 'element-ui/lib/locale/lang/zh-CN'
import Base from '@/assets/js/i18n/base';
import router from '@/router/i18n';
const messages = {
  US: {
    ...elementEnLocale,
    ...Base.US,
    ...router.US,
  },
  CN: {
    ...elementZhLocale,
    ...Base.CN,
    ...router.CN,
  }
};
// const LANGS = ['US', 'CN'];
src/layout/components/TagsView/index.vue
@@ -4,7 +4,7 @@
        <scroll-pane ref="scrollPane" class="tags-view-wrapper" @scroll="handleScroll">
            <router-link v-for="tag in visitedViews" ref="tag" :key="tag.path" :class="isActive(tag) ? 'active' : ''" :to="{ path: tag.path, query: tag.query, fullPath: tag.fullPath }" tag="span" class="tags-view-item" @click.middle.native="!isAffix(tag) ? closeSelectedTag(tag) : ''" @contextmenu.prevent.native="openMenu(tag, $event)">
                {{ tag.title }}
                {{ $t('router.' + tag.title) }}
                <span v-if="!isAffix(tag)" class="el-icon-close" @click.prevent.stop="closeSelectedTag(tag)" />
            </router-link>
        </scroll-pane>
@@ -71,6 +71,7 @@
    mounted() {
        this.initTags();
        this.addTags();
    console.log(this.$i18n, '000000000')
    },
    methods: {
        toggleSideBar() {
src/router/i18n.js
New file
@@ -0,0 +1,126 @@
export default {
  CN: {
    router: {
      home: '首页',
      state: '服务器管理',
      userInfo: '用户信息管理',
      userFaceManager: '用户人脸管理',
      operationRecord: '操作事件管理',
      powerMager: '权限管理',
      baojiMager: '包机组管理',
      powerMager: '电源信息配置',
      aioStationImport: '一体机机房导入',
      totalStation: '机房信息管理',
      battGroupMager: '电池信息管理',
      elePriceDistributionTpl: '电价分布模板管理',
      homeAddressInfoManage: '机房定位信息管理',
      produceTotal: '电池信息统计分析',
      threadMager: '后台线程管理',
      batteryMager: '电池关注管理',
      deviceWorkState: '设备工作状态',
      powercut: '机房停电查询',
      scrapBattery: '报废电池信息管理',
      repairBattery: '备件电池信息管理',
      carbonInfo: '碳中和',
      alarmDispatch: '告警派单管理',
      batteryrTimequery: '电池实时告警',
      batteryrHistoryquery: '电池历史告警',
      deviceTimequery: '设备实时告警',
      deviceHistoryquery: '设备历史告警',
      powerRealtimeInfo: '电源实时告警',
      powerHistoryInfo: '电源历史告警',
      powerBoxAlarm: '通信电源实时告警',
      powerBoxHistoryAlarm: '通信电源历史告警',
      powerAlarmTimeout: '通信电源超时告警',
      powerCabinetSetting: '通信电源告警规则',
      devicepaSetting: '电池告警参数设置',
      alarmHandle: '告警预处理管理',
      btsUpgrade: 'BTS设备升级',
      aioUpdate: '一体机设备升级',
      nineDevUpdate: '9度设备升级',
      planManage: '放电计划管理',
      movingRingSystem: '实时监控',
      history: '历史数据',
      historyInfoMager: '历史数据管理',
      dischargeMeterData: '放电仪放电数据分析',
      standardLine: '标准曲线',
      btsStatus: '设备状态查询',
      historyAio: '一体机导入记录',
      hfSwitch: '高频开关配电柜遥测量',
      GGDmeasure: '交流配电柜遥测量',
      eleAnalyse: '电池组统计分析查询',
      eleMonomer: '电池单体统计分析查询',
      eleAssess: '蓄电池组后评估',
      taskplan: '落后单体查询',
      elestatus: '电池实时状态查询',
      endure: '电池续航能力历史查询',
      powerReport: '通信电源报表',
      eventTotalPage: '事件总表',
      realTimeSetting: '系统配置',
      threeHomeSetting: '3D机房配置',
      chartMapSetting: '地图配置',
    }
  },
  US: {
    router: {
      home: 'home',
      state: 'Server Management',
      userInfo: 'User Info Management',
      userFaceManager: 'User Facial Recognition',
      operationRecord: 'Operation Event Management',
      powerMager: 'Authority Management',
      baojiMager: 'Work Team Management',
      powerMager: 'Power Supply Setting',
      aioStationImport: 'FGCD Equipment Room Import',
      totalStation: 'Equipment Room Info Manaement',
      battGroupMager: 'Battery Info Management',
      elePriceDistributionTpl: 'Electricity Rate Distribution Template',
      homeAddressInfoManage: 'Equipment Room Location Management Permission',
      produceTotal: 'Battery Info Management',
      threadMager: 'Background Thread Management',
      batteryMager: 'Battery Management',
      deviceWorkState: 'Device Working State',
      powercut: '机房停电查询',
      scrapBattery: 'Dead Battery Management',
      repairBattery: 'Spare Battery Management',
      carbonInfo: 'Carbon Neutral',
      alarmDispatch: 'Alarm Assign Management',
      batteryrTimequery: '电池实时告警',
      batteryrHistoryquery: '电池历史告警',
      deviceTimequery: '设备实时告警',
      deviceHistoryquery: '设备历史告警',
      powerRealtimeInfo: 'Power Supply Real-time Alarm',
      powerHistoryInfo: 'Power Supply History Alarm',
      powerBoxAlarm: 'Comm Power Real-time Alarm',
      powerBoxHistoryAlarm: 'Comm Power History Alarm',
      powerAlarmTimeout: 'Comm Power Timeout Alarm',
      powerCabinetSetting: 'Comm Alarm Parameter Rule',
      devicepaSetting: 'Battery Alarm Parameter Setting',
      alarmHandle: 'Alarm Preprocess Management',
      btsUpgrade: 'BTS Equipment Upgrade',
      aioUpdate: 'FGCD Tester Upgrade',
      nineDevUpdate: 'LD-9 Device Upgrade',
      planManage: 'Discharge Plan Management',
      movingRingSystem: 'Real-time Monitoring',
      history: 'History Data',
      historyInfoMager: 'History Data Management',
      dischargeMeterData: 'Discharger Data Analysis',
      standardLine: 'Standard Curve',
      btsStatus: 'Device Status Search',
      historyAio: 'FGCD Tester Import Record',
      hfSwitch: 'Telemetering of High-frequency Switch  Distribution Cabinet',
      GGDmeasure: 'Telemetering of AC Distribution Cabinet',
      eleAnalyse: 'Battery Statistics Analysis Search',
      eleMonomer: 'Cell Statistics Analysis Search',
      eleAssess: 'Battery Group Post-Evaluation',
      taskplan: 'Lagging Cell Search',
      elestatus: 'Battery Real-time Status Search',
      endure: 'Battery Life History Search',
      powerReport: 'Comm Power Report',
      eventTotalPage: 'Event Summary Table',
      realTimeSetting: 'System Configuration',
      threeHomeSetting: '3D Equipement Room Config',
      chartMapSetting: 'Map Configuration',
    }
  }
}
src/router/index.js
@@ -36,14 +36,14 @@
    // 监控员
    // component: ()=> import("@/views/home/home-monitor"),
    meta: {
      title: '首页',
      title: 'home',
      affix: true
    }
  }, {
    path: 'state',
    name: 'state',
    meta: {
      title: '服务器管理',
      title: 'state',
      icon: ''
    },
    component: (resolve) =>{
@@ -66,13 +66,13 @@
      require(['@/views/userMager/userInfo'], resolve)
    },
    meta: {
      title: '用户信息管理',
      title: 'userInfo',
    }
  }, {
    path: 'userFaceManager',
    name: 'userFaceManager',
    meta: {
      title: '用户人脸管理',
      title: 'userFaceManager',
      icon: ''
    },
    component: (resolve) =>{
@@ -82,7 +82,7 @@
    path: 'operationRecord',
    name: 'operationRecord',
    meta: {
      title: '操作事件管理',
      title: 'operationRecord',
      icon: ''
    },
    component: (resolve) => {
@@ -92,7 +92,7 @@
    path: 'powerMager',
    name: 'powerMager',
    meta: {
      title: '权限管理',
      title: 'powerMager',
      icon: ''
    },
    component: (resolve) => {
@@ -102,7 +102,7 @@
    path: 'baojiMager',
    name: 'baojiMager',
    meta: {
      title: '包机组管理',
      title: 'baojiMager',
      icon: ''
    },
    component: (resolve) => {
@@ -124,7 +124,7 @@
      path: 'powerMager',
      name: 'powerMager',
      meta: {
        title: '电源信息配置',
        title: 'powerMager',
        icon: ''
      },
      component: (resolve) => {
@@ -135,7 +135,7 @@
      path: 'aioStationImport',
      name: 'aioStationImport',
      meta: {
        title: '一体机机房导入',
        title: 'aioStationImport',
        icon: ''
      },
      component: (resolve) => {
@@ -146,7 +146,7 @@
      path: 'totalStation',
      name: 'totalStation',
      meta: {
        title: '机房信息管理',
        title: 'totalStation',
        icon: ''
      },
      component: (resolve) => {
@@ -157,7 +157,7 @@
      path: 'battGroupMager',
      name: 'battGroupMager',
      meta: {
        title: '电池信息管理',
        title: 'battGroupMager',
        icon: ''
      },
      component: (resolve) => {
@@ -168,7 +168,7 @@
      path: 'elePriceDistributionTpl',
      name: 'elePriceDistributionTpl',
      meta: {
        title: '电价分布模板管理',
        title: 'elePriceDistributionTpl',
        icon: ''
      },
      component: (resolve) => {
@@ -179,7 +179,7 @@
      path: 'homeAddressInfoManage',
      name: 'homeAddressInfoManage',
      meta: {
        title: '机房定位信息管理',
        title: 'homeAddressInfoManage',
        icon: ''
      },
      component: (resolve) => {
@@ -190,7 +190,7 @@
      path: 'produceTotal',
      name: 'produceTotal',
      meta: {
        title: '电池信息统计分析',
        title: 'produceTotal',
        icon: ''
      },
      component: (resolve) => {
@@ -201,7 +201,7 @@
      path: 'threadMager',
      name: 'threadMager',
      meta: {
        title: '后台线程管理',
        title: 'threadMager',
        icon: ''
      },
      component: (resolve) => {
@@ -212,7 +212,7 @@
      path: 'batteryMager',
      name: 'batteryMager',
      meta: {
        title: '电池关注管理',
        title: 'batteryMager',
        icon: ''
      },
      component: (resolve) => {
@@ -223,7 +223,7 @@
      path: 'deviceWorkState',
      name: 'deviceWorkState',
      meta: {
        title: '设备工作状态',
        title: 'deviceWorkState',
        icon: ''
      },
      component: (resolve) => {
@@ -234,7 +234,7 @@
      path: 'powercut',
      name: 'powercut',
      meta: {
        title: '机房停电查询',
        title: 'powercut',
        icon: ''
      },
      component: (resolve) => {
@@ -245,7 +245,7 @@
      path: 'scrapBattery',
      name: 'scrapBattery',
      meta: {
        title: '报废电池信息管理',
        title: 'scrapBattery',
        icon: ''
      },
      component: (resolve) => {
@@ -256,7 +256,7 @@
      path: 'repairBattery',
      name: 'repairBattery',
      meta: {
        title: '备件电池信息管理',
        title: 'repairBattery',
        icon: ''
      },
      component: (resolve) => {
@@ -268,7 +268,7 @@
      name: 'carbonInfo',
      component: () => import('@/views/dataMager/carbonInfo'),
      meta: {
        title: '碳中和',
        title: 'carbonInfo',
        icon: ''
      }
    },
@@ -290,7 +290,7 @@
      require(['@/views/alarmMager/alarm-dispatch'], resolve)
    },
    meta: {
      title: '告警派单管理',
      title: 'alarmDispatch',
      icon: ''
    }
  }, {
@@ -300,7 +300,7 @@
      require(['@/views/alarmMager/batteryrTimequery'], resolve)
    },
    meta: {
      title: '电池实时告警',
      title: 'batteryrTimequery',
      icon: ''
    }
  }, {
@@ -310,7 +310,7 @@
      require(['@/views/alarmMager/batteryrHistoryquery'], resolve)
    },
    meta: {
      title: '电池历史告警',
      title: 'batteryrHistoryquery',
      icon: ''
    }
  }, {
@@ -320,7 +320,7 @@
      require(['@/views/alarmMager/deviceTimequery'], resolve)
    },
    meta: {
      title: '设备实时告警',
      title: 'deviceTimequery',
      icon: ''
    }
  }, {
@@ -330,7 +330,7 @@
      require(['@/views/alarmMager/deviceHistoryquery'], resolve)
    },
    meta: {
      title: '设备历史告警',
      title: 'deviceHistoryquery',
      icon: ''
    }
  }, {
@@ -340,7 +340,7 @@
      require(['@/views/alarmMager/powerRealtimeInfo'], resolve)
    },
    meta: {
      title: '电源实时告警',
      title: 'powerRealtimeInfo',
      icon: ''
    }
  }, {
@@ -350,7 +350,7 @@
      require(['@/views/alarmMager/powerHistoryInfo'], resolve)
    },
    meta: {
      title: '电源历史告警',
      title: 'powerHistoryInfo',
      icon: ''
    }
  }, {
@@ -360,7 +360,7 @@
      require(['@/views/alarmMager/powerBoxAlarm'], resolve)
    },
    meta: {
      title: '通信电源实时告警',
      title: 'powerBoxAlarm',
      icon: ''
    }
  }, {
@@ -370,7 +370,7 @@
      require(['@/views/alarmMager/powerBoxHistoryAlarm'], resolve)
    },
    meta: {
      title: '通信电源历史告警',
      title: 'powerBoxHistoryAlarm',
      icon: ''
    }
  }, {
@@ -380,7 +380,7 @@
      require(['@/views/alarmMager/powerAlarmTimeout'], resolve)
    },
    meta: {
      title: '通信电源超时告警',
      title: 'powerAlarmTimeout',
      icon: ''
    }
  }, {
@@ -390,7 +390,7 @@
      require(['@/views/alarmMager/powerCabinetSetting'], resolve)
    },
    meta: {
      title: '通信电源告警规则',
      title: 'powerCabinetSetting',
      icon: ''
    }
  }, {
@@ -400,7 +400,7 @@
      require(['@/views/alarmMager/devicepaSetting'], resolve)
    },
    meta: {
      title: '电池告警参数设置',
      title: 'devicepaSetting',
      icon: ''
    }
  },{
@@ -410,7 +410,7 @@
      require(['@/views/alarmMager/alarmHandle.vue'], resolve)
    },
    meta: {
      title: '告警预处理管理',
      title: 'alarmHandle',
      icon: ''
    }
  }]
@@ -431,7 +431,7 @@
        require(['@/views/jobManage/btsUpgrade'], resolve)
      },
      meta: {
        title: 'BTS设备升级',
        title: 'btsUpgrade',
        icon: ''
      }
    },
@@ -442,7 +442,7 @@
        require(['@/views/jobManage/aioUpdate'], resolve)
      },
      meta: {
        title: '一体机设备升级',
        title: 'aioUpdate',
        icon: ''
      }
    },
@@ -453,7 +453,7 @@
        require(['@/views/jobManage/nineDevUpdate'], resolve)
      },
      meta: {
        title: '9度设备升级',
        title: 'nineDevUpdate',
        icon: ''
      }
    },
@@ -464,21 +464,21 @@
        require(['@/views/jobManage/planManage'], resolve)
      },
      meta: {
        title: '放电计划管理',
        title: 'planManage',
        icon: ''
      }
    },
    {
      path: 'addplan1',
      name: 'planManage',
      component: (resolve) => {
        require(['@/views/jobManage/components/addplan1'], resolve)
      },
      meta: {
        title: '新增放电计划',
        icon: '',
      }
    }
    // {
    //   path: 'addplan1',
    //   name: 'planManage',
    //   component: (resolve) => {
    //     require(['@/views/jobManage/components/addplan1'], resolve)
    //   },
    //   meta: {
    //     title: '新增放电计划',
    //     icon: '',
    //   }
    // }
  ]
},
{
@@ -501,7 +501,7 @@
      path: 'real-time/:battGroupId',
      name: 'movingRingSystem',
      meta: {
        title: '实时监控',
        title: 'movingRingSystem',
        icon: '',
        url: '/dataTest/realTime'
      },
@@ -510,7 +510,7 @@
      path: 'real-time/:battGroupId/:powerDeviceId',
      name: 'movingRingSystem',
      meta: {
        title: '实时监控',
        title: 'movingRingSystem',
        icon: '',
        url: '/dataTest/realTimeForShanXi'
      },
@@ -519,7 +519,7 @@
      path: 'real-time-storage/:battGroupId',
      name: 'movingRingSystem',
      meta: {
        title: '实时监控',
        title: 'movingRingSystem',
        icon: '',
        url: '/dataTest/realTimeStorage'
      },
@@ -529,7 +529,7 @@
      path: 'real-time-aio0/:battGroupId',
      name: 'movingRingSystem',
      meta: {
        title: '实时监控',
        title: 'movingRingSystem',
        icon: '',
        url: '/dataTest/realTimeAio0'
      },
@@ -539,7 +539,7 @@
      path: 'real-time-aio/:battGroupId',
      name: 'movingRingSystem',
      meta: {
        title: '实时监控',
        title: 'movingRingSystem',
        icon: '',
        url: '/dataTest/realTimeAio'
      },
@@ -549,7 +549,7 @@
      path: 'real-time-fbo/:battGroupId',
      name: 'movingRingSystem',
      meta: {
        title: '实时监控',
        title: 'movingRingSystem',
        icon: '',
        url: '/dataTest/realTimeFbo'
      },
@@ -559,7 +559,7 @@
      path: 'real-time-fbo4815/:battGroupId',
      name: 'movingRingSystem',
      meta: {
        title: '实时监控',
        title: 'movingRingSystem',
        icon: '',
        url: '/dataTest/realTimeFbo4815'
      },
@@ -569,7 +569,7 @@
      path: 'real-time-fbo4831/:battGroupId',
      name: 'movingRingSystem',
      meta: {
        title: '实时监控',
        title: 'movingRingSystem',
        icon: '',
        url: '/dataTest/realTimeFbo4831'
      },
@@ -579,7 +579,7 @@
      path: 'real-time-li/:battGroupId',
      name: 'movingRingSystem',
      meta: {
        title: '实时监控',
        title: 'movingRingSystem',
        icon: '',
        url: '/dataTest/realTimeLi'
      },
@@ -589,7 +589,7 @@
      path: 'real-time-kgdy/:battGroupId',
      name: 'movingRingSystem',
      meta: {
        title: '实时监控',
        title: 'movingRingSystem',
        icon: '',
        url: '/dataTest/realTimeKgdy'
      },
@@ -599,7 +599,7 @@
      path: 'real-time-9141/:battGroupId',
      name: 'movingRingSystem',
      meta: {
        title: '实时监控',
        title: 'movingRingSystem',
        icon: '',
        url: '/dataTest/realTime9141'
      },
@@ -609,7 +609,7 @@
      path: 'real-time-9149/:battGroupId',
      name: 'movingRingSystem',
      meta: {
        title: '实时监控',
        title: 'movingRingSystem',
        icon: '',
        url: '/dataTest/realTime9149'
      },
@@ -618,7 +618,7 @@
      path: 'lithium-battery/:battGroupId',
      name: 'movingRingSystem',
      meta: {
        title: '实时监控',
        title: 'movingRingSystem',
        icon: '',
        url: '/dataTest/lithiumBattery'
      },
@@ -627,7 +627,7 @@
      path: 'ele-info/:powerDeviceId',
      name: 'movingRingSystem',
      meta: {
        title: '实时监控',
        title: 'movingRingSystem',
        icon: '',
        url: '/dataTest/realTimeData'
      },
@@ -636,7 +636,7 @@
      path: 'isolating-device/:powerDeviceId',
      name: 'movingRingSystem',
      meta: {
        title: '实时监控',
        title: 'movingRingSystem',
        icon: '',
        url: '/dataTest/isolatingDevice'
      },
@@ -645,7 +645,7 @@
      path: 'charger-status/:powerDeviceId',
      name: 'movingRingSystem',
      meta: {
        title: '实时监控',
        title: 'movingRingSystem',
        icon: '',
        url: '/dataTest/chargerStatus'
      },
@@ -654,7 +654,7 @@
      path: 'air/:powerDeviceId',
      name: 'movingRingSystem',
      meta: {
        title: '实时监控',
        title: 'movingRingSystem',
        icon: '',
        url: '/dataTest/airCooditioner'
      },
@@ -663,7 +663,7 @@
      path: 'power-box/:powerDeviceId',
      name: 'movingRingSystem',
      meta: {
        title: '实时监控',
        title: 'movingRingSystem',
        icon: '',
        url: '/dataTest/powerBox'
      },
@@ -672,7 +672,7 @@
      path: 'remote-restart-device/:battGroupId',
      name: 'movingRingSystem',
      meta: {
        title: '实时监控',
        title: 'movingRingSystem',
        icon: '',
        url: '/dataTest/remoteRestartDevice'
      },
@@ -681,7 +681,7 @@
      path: 'ele-operation/:battGroupId',
      name: 'movingRingSystem',
      meta: {
        title: '实时监控',
        title: 'movingRingSystem',
        icon: '',
        url: '/dataTest/eleOperation'
      },
@@ -694,7 +694,7 @@
      require(['@/views/dataTest/history'], resolve)
    },
    meta: {
      title: '历史数据',
      title: 'history',
      icon: ''
    }
  }, {
@@ -704,7 +704,7 @@
      require(['@/views/dataTest/historyLD9'], resolve)
    },
    meta: {
      title: '历史数据',
      title: 'history',
      icon: ''
    }
  }, {
@@ -714,7 +714,7 @@
      require(['@/views/dataTest/historyInfoMager'], resolve)
    },
    meta: {
      title: '历史数据管理',
      title: 'historyInfoMager',
      icon: ''
    }
  },{
@@ -724,7 +724,7 @@
      require(['@/views/dataTest/dischargeMeterData'], resolve)
    },
    meta: {
      title: '放电仪放电数据分析',
      title: 'dischargeMeterData',
      icon: ''
    }
  }, {
@@ -734,7 +734,7 @@
      require(['@/views/dataTest/standardLine'], resolve)
    },
    meta: {
      title: '标准曲线',
      title: 'standardLine',
      icon: ''
    }
  }, {
@@ -744,7 +744,7 @@
      require(['@/views/dataTest/btsStatus'], resolve)
    },
    meta: {
      title: '设备状态查询',
      title: 'btsStatus',
      icon: ''
    }
  }, {
@@ -754,7 +754,7 @@
      require(['@/views/dataTest/historyAio'], resolve)
    },
    meta: {
      title: '一体机导入记录',
      title: 'historyAio',
      icon: ''
    }
  }, {
@@ -764,7 +764,7 @@
      require(['@/views/dataTest/hfSwitch'], resolve)
    },
    meta: {
      title: '高频开关配电柜遥测量',
      title: 'hfSwitch',
      icon: ''
    }
  }, {
@@ -774,7 +774,7 @@
      require(['@/views/dataTest/GGDmeasure'], resolve)
    },
    meta: {
      title: '交流配电柜遥测量',
      title: 'GGDmeasure',
      icon: ''
    }
  }]
@@ -793,7 +793,7 @@
      require(['@/views/reportStatistics/eleAnalyse'], resolve)
    },
    meta: {
      title: '电池组统计分析查询',
      title: 'eleAnalyse',
    }
  }, {
    path: 'eleMonomer',
@@ -802,7 +802,7 @@
      require(['@/views/reportStatistics/eleMonomer'], resolve)
    },
    meta: {
      title: '电池单体统计分析查询',
      title: 'eleMonomer',
    }
  }, {
    path: 'eleAssess',
@@ -811,7 +811,7 @@
      require(['@/views/reportStatistics/eleAssess'], resolve)
    },
    meta: {
      title: '蓄电池组后评估',
      title: 'eleAssess',
    }
  }, {
    path: 'taskplan',
@@ -820,7 +820,7 @@
      require(['@/views/reportStatistics/taskplan'], resolve)
    },
    meta: {
      title: '落后单体查询',
      title: 'taskplan',
    }
  }, {
    path: 'elestatus',
@@ -829,7 +829,7 @@
      require(['@/views/reportStatistics/elestatus'], resolve)
    },
    meta: {
      title: '电池实时状态查询',
      title: 'elestatus',
    }
  }, {
    path: 'endure',
@@ -838,7 +838,7 @@
      require(['@/views/reportStatistics/endure'], resolve)
    },
    meta: {
      title: '电池续航能力历史查询',
      title: 'endure',
    }
  }, {
    path: 'powerReport',
@@ -847,7 +847,7 @@
      require(['@/views/reportStatistics/powerReport'], resolve)
    },
    meta: {
      title: '通信电源报表',
      title: 'powerReport',
    }
  }, {
    path: 'eventTotalPage',
@@ -856,7 +856,7 @@
      require(['@/views/reportStatistics/eventTotalPage'], resolve)
    },
    meta: {
      title: '事件总表',
      title: 'eventTotalPage',
    }
  },]
},
@@ -874,7 +874,7 @@
      require(['@/views/pageSetting/realTime'], resolve)
    },
    meta: {
      title: '系统配置',
      title: 'realTimeSetting',
    }
  }, {
    path: 'threeHomeSetting',
@@ -883,7 +883,7 @@
      require(['@/views/pageSetting/threeHomeSetting'], resolve)
    },
    meta: {
      title: '3D机房配置',
      title: 'threeHomeSetting',
    }
  }, {
    path: 'chartMapSetting',
@@ -892,7 +892,7 @@
      require(['@/views/pageSetting/chartMapSetting'], resolve)
    },
    meta: {
      title: '地图配置',
      title: 'chartMapSetting',
    }
  },]
},
@@ -924,4 +924,4 @@
  router.matcher = newRouter.matcher // reset router
}
export default router
export default router
src/views/login/components/AddLicense.vue
@@ -1,35 +1,35 @@
<template>
    <div class="params-container">
        <el-steps :active="active" finish-status="success" simple>
            <el-step title="机器码"></el-step>
            <el-step title="注册码"></el-step>
            <el-step title="结束"></el-step>
            <el-step :title="$t('MachineCode')"></el-step>
            <el-step :title="$t('RegistrationCode')"></el-step>
            <el-step :title="$t('Finish')"></el-step>
        </el-steps>
        <el-form size="mini" label-position="top" class="params-dialog" v-show="active == 1">
            <el-form-item label="机器码(请复制机器码,发送到后台,获取注册码。)" prop="license">
                <label slot="label">机器码
                    <span class="font-error">(请复制机器码,发送到后台,获取注册码。)</span></label>
                <el-input ref="machineCode" type="textarea" :autosize="{ minRows: 10, maxRows: 10 }" placeholder="请获取机器码" resize="none" readonly="readonly" v-model="machineCode"></el-input>
            <el-form-item prop="license">
                <label slot="label">{{ $t('MachineCode') }}
                    <span class="font-error">({{ $t('regNote') }})</span></label>
                <el-input ref="machineCode" type="textarea" :autosize="{ minRows: 10, maxRows: 10 }" :placeholder="$t('RefreshMachineCode')" resize="none" readonly="readonly" v-model="machineCode"></el-input>
            </el-form-item>
            <div class="form-footer">
                <three-btn @click="getMacLicense">刷新机器码</three-btn>
                <three-btn @click="copyCode">复制</three-btn>
                <three-btn @click="active++">下一步</three-btn>
                <three-btn @click="getMacLicense">{{ $t('Refresh') }}</three-btn>
                <three-btn @click="copyCode">{{ $t('copy') }}</three-btn>
                <three-btn @click="active++">{{ $t('next') }}</three-btn>
            </div>
        </el-form>
        <el-form ref="ruleForm" size="mini" label-position="top" :model="params" :rules="rules" class="params-dialog" v-show="active == 2">
            <el-form-item label="激活码" prop="license">
                <el-input type="textarea" :autosize="{ minRows: 10, maxRows: 10 }" placeholder="请输入内容" resize="none" v-model="params.license"></el-input>
            <el-form-item :label="$t('ActiveCode')" prop="license">
                <el-input type="textarea" :autosize="{ minRows: 10, maxRows: 10 }" :placeholder="$t('Pleaseinput')" resize="none" v-model="params.license"></el-input>
            </el-form-item>
            <div class="form-footer">
                <three-btn @click="active--">上一步</three-btn>
                <three-btn @click="checkLicense">确定</three-btn>
                <three-btn @click="active--">{{ $t('Previous') }}</three-btn>
                <three-btn @click="checkLicense">{{ $t('ok') }}</three-btn>
            </div>
        </el-form>
        <div class="success-register-wrapper params-dialog" v-show="active == 3">
            <div class="success-register">注册成功</div>
            <div class="success-register">{{ $t('RegisterSuccessfully') }}</div>
            <div class="form-footer">
                <three-btn @click="close">关闭</three-btn>
                <three-btn @click="close">{{ $t('Close') }}</three-btn>
            </div>
        </div>
    </div>
@@ -40,8 +40,14 @@
    getMacLicense,
    checkLicense
} from "@/views/login/js/api";
import i18n from '../js/i18n';
import { createI18nOption } from '@/assets/js/tools/i18n';
const i18nMixin = createI18nOption(i18n);
export default {
    name: "AddLicense",
  mixins: [i18nMixin],
    props: {
        visible: {
            type: Boolean,
@@ -78,11 +84,11 @@
            let machineCode = this.$refs.machineCode;
            machineCode.select(); // 选择对象
            document.execCommand("Copy"); // 执行浏览器复制命令
            this.$layer.msg("复制成功");
            this.$layer.msg(this.$t('CopySuccessfully'));
        },
        checkLicense() {
            if (!this.params.license.trim()) {
                this.$layer.msg("license不能为空");
                this.$layer.msg("license " + this.$t('emptyMsg'));
                return;
            }
            let license = {
src/views/login/index.vue
@@ -78,7 +78,7 @@
          </el-form-item>
          <el-form-item v-if="!register">
            <a href="javascript:;" @click="license.show = true" class="regBtn"
              >{{ $t('PlatformRegistero') }}</a
              >{{ $t('PlatformRegister') }}</a
            >
          </el-form-item>
          <el-form-item v-else>
@@ -89,7 +89,7 @@
      <!-- license弹框输入面板 -->
      <el-dialog
        :title="$t('PlatformRegistrationPrompt')"
        width="600px"
        width="860px"
        :visible.sync="license.show"
        :close-on-click-modal="false"
        top="0"
@@ -350,11 +350,11 @@
            let randomNumber = rs.data;
            this.softUKey.getSign(randomNumber, this.checkUKeySign);
          } else {
            this.$message.error("服务器连接异常!");
            this.$message.error(this.$t('connectErr'));
          }
        })
        .catch(error => {
          this.$message.error("服务器连接异常!");
          this.$message.error(this.$t('connectErr'));
        });
    },
    checkUKeySign(result) {
@@ -413,7 +413,7 @@
      //this.loading = false;
      res = res.data;
      if (res.data) {
        this.$message.success("登录成功");
        this.$message.success($t('loginOk'));
        sessionStorage.setItem("username", res.data2[0].uname);
        sessionStorage.setItem("userId", res.data2[0].uid);
        sessionStorage.setItem("userPower", res.data2[0].urole);
@@ -441,7 +441,7 @@
          if (rs.code == 1) {
            this.register = true;
          } else {
            this.$layer.msg("平台未注册!请先注册。");
            this.$layer.msg($t('notReg'));
            this.license.show = true;
            this.register = false;
          }
@@ -498,12 +498,12 @@
            let data = rs.data["1"][0];
            this.platformName = data.param;
          } else {
            this.platformName = "蓄电池后台监控管理平台";
            this.platformName = $t('platformName');
          }
          sessionStorage.setItem("platformName", this.platformName);
        })
        .catch(error => {
          this.platformName = "蓄电池后台监控管理平台";
          this.platformName = $t('platformName');
          sessionStorage.setItem("platformName", this.platformName);
        });
    },
src/views/login/js/i18n.js
@@ -26,6 +26,28 @@
      or: '或',
      Password: '密码',
      emptyMsg: '不能为空',
      loginOk: '登录成功',
      platformName: '蓄电池后台监控管理平台',
      MachineCode: '机器码',
      RegistrationCode: '注册码',
      Finish: '结束',
      regNote: '请复制机器码,发送到后台,获取注册码。',
      RefreshMachineCode: '请获取机器码',
      Refresh: '刷新机器码',
      copy: '复制',
      next: '下一步',
      Previous: '上一步',
      ActiveCode: '激活码',
      Pleaseinput: '请输入内容',
      ok: '确定',
      RegisterSuccessfully: '注册成功',
      Close: '关闭',
      CopySuccessfully: '复制成功',
      name: '',
      name: '',
      name: '',
      name: '',
      name: '',
    },
    US: {
      loading: 'Page loading…',
@@ -38,29 +60,33 @@
      FacialLogin: 'Facial Login',
      ConfigurationList: 'Configuration List',
      Binding: 'Binding',
      notReg: '平台未注册,请先注册平台',
      notReg: 'The platform is not registered, please register the platform first',
      NetworkError: 'Network Error',
      connectErr: '服务器连接异常',
      connectErr: 'Server connection exception',
      // signErr: '签名校验失败',
      UserName: 'User Name',
      or: 'or',
      Password: 'Password',
      emptyMsg: 'Cannot be blank',
      ttt: '',
      ttt: '',
      ttt: '',
      ttt: '',
      ttt: '',
      ttt: '',
      ttt: '',
      ttt: '',
      ttt: '',
      ttt: '',
      ttt: '',
      ttt: '',
      ttt: '',
      ttt: '',
      ttt: '',
      loginOk: 'Login successfully',
      platformName: 'Battery background monitoring and management platform',
      MachineCode: 'Machine Code',
      RegistrationCode: 'Registration Code',
      Finish: 'Finish',
      regNote: 'Please copy the machine code, send it to the background, and get the registration code.',
      RefreshMachineCode: 'Please get the Machine Code',
      Refresh: 'Refresh',
      copy: 'Copy',
      next: 'Next',
      Previous: 'Previous',
      ActiveCode: 'Active Code',
      Pleaseinput: 'Please input',
      RegisterSuccessfully: 'Register Successfully',
      ok: 'Ok',
      Close: 'Close',
      CopySuccessfully: 'Copy Successfully',
      oo: '',
      oo: '',
    },
  },
}