kevin_zhangl 2 лет назад
Родитель
Сommit
b43fb5969f
5 измененных файлов с 106 добавлено и 25 удалено
  1. 44 0
      src/lang/en.js
  2. 44 0
      src/lang/zh.js
  3. 5 4
      src/layout/components/Sidebar/SidebarItem.vue
  4. 3 21
      src/store/modules/permission.js
  5. 10 0
      src/utils/i18n.js

+ 44 - 0
src/lang/en.js

@@ -78,6 +78,50 @@ export default {
     size: 'Global Size',
     visitPreviousVersion: 'Visit Previous Version',
   },
+  menu: {
+    // 一级菜单
+    dashboard: 'Dashboard',
+    shoppingMall: 'Shopping Mall',
+    memberManagement: 'Member Management',
+    networkChart: 'Network Chart',
+    bonusManagement: 'Bonus Management',
+    articleManagement: 'Article Management',
+    setting: 'Setting',
+    // 二级菜单/接口-dashboard
+    monthBonus: 'Month Bonus',
+    // 二级菜单/接口-shoppingMall
+    standardProducts: 'Standard Products',
+    carFundProducts: 'Car Fund Products',
+    villaFundProducts: 'Villa Fund Products',
+    welcomePack: 'Welcome Pack',
+    welcomePackList: 'Welcome Pack Listing',
+    memberUpgrade: 'Upgrade Management',
+    orderList: 'Order List',
+    brandAmbassador: 'Brand Ambassador',
+    BAOrderList: 'Brand Ambassador Order',
+    // 二级菜单/接口-memberManagement
+    personalInfo: 'Personal Info',
+    resetPassword: 'Reset Password',
+    // 二级菜单/接口-networkChart
+    placementNetwork: 'Placement Network',
+    sponsorNetwork: 'Sponsor Network',
+    brandAmbassadorList: 'Brand Ambassador List',
+    // 二级菜单/接口-bonusManagement
+    myAccount: 'My Account',
+    myBonus: 'My Bonus',
+    teamInquiry: 'Team Inquiry',
+    historicalCumulativeBonus: 'Historical Cumulative Bonus',
+    withdrawalDetails: 'Withdrawal Details',
+    applyWithdraw: 'Apply For Withdraw',
+    rechargeDetails: 'Recharge Details',
+    applyRecharge: 'Apply For Recharge',
+    transferDetails: 'Transfer Details',
+    applyTransfer: 'Apply For Transfer',
+    // 二级菜单/接口-articleManagement
+    systemNotification: 'System Notification',
+    // 二级菜单/接口-setting
+    shippingAddress: 'Shipping Address',
+  },
   login: {
     title: 'Welcome',
     logIn: 'Login',

+ 44 - 0
src/lang/zh.js

@@ -78,6 +78,50 @@ export default {
     size: '布局大小',
     visitPreviousVersion: '进入旧版',
   },
+  menu: {
+    // 一级菜单
+    dashboard: '首页',
+    shoppingMall: '商城管理',
+    memberManagement: '会员管理',
+    networkChart: '会员网络',
+    bonusManagement: '奖金管理',
+    articleManagement: '文章管理',
+    setting: '设置',
+    // 二级菜单/接口-dashboard
+    monthBonus: '月奖',
+    // 二级菜单/接口-shoppingMall
+    standardProducts: '普通商品',
+    carFundProducts: '车奖商品',
+    villaFundProducts: '房奖商品',
+    welcomePack: '报单管理',
+    welcomePackList: '报单列表',
+    memberUpgrade: '升级管理',
+    orderList: '订单列表',
+    brandAmbassador: 'BA会员',
+    BAOrderList: 'BA订单',
+    // 二级菜单/接口-memberManagement
+    personalInfo: '个人资料',
+    resetPassword: '重设密码',
+    // 二级菜单/接口-networkChart
+    placementNetwork: '安置网络',
+    sponsorNetwork: '推荐网路',
+    brandAmbassadorList: 'BA会员',
+    // 二级菜单/接口-bonusManagement
+    myAccount: '我的账户',
+    myBonus: '我的奖金',
+    teamInquiry: '团队查询',
+    historicalCumulativeBonus: '历史累积奖金',
+    withdrawalDetails: '提现明细',
+    applyWithdraw: '申请提现',
+    rechargeDetails: '充值明细',
+    applyRecharge: '申请充值',
+    transferDetails: '转账明细',
+    applyTransfer: '申请转账',
+    // 二级菜单/接口-articleManagement
+    systemNotification: '系统通知',
+    // 二级菜单/接口-setting
+    shippingAddress: '收货地址',
+  },
   login: {
     title: '欢迎',
     logIn: '登录',

+ 5 - 4
src/layout/components/Sidebar/SidebarItem.vue

@@ -3,14 +3,14 @@
     <template v-if="hasOneShowingChild(item.children,item) && (!onlyOneChild.children||onlyOneChild.noShowingChildren)&&!item.alwaysShow">
       <app-link v-if="onlyOneChild.meta" :to="resolvePath(onlyOneChild.path)">
         <el-menu-item :index="resolvePath(onlyOneChild.path)" :class="{'submenu-title-noDropdown':!isNest}">
-          <item :icon="onlyOneChild.meta.icon||(item.meta&&item.meta.icon)" :title="generateTitle(onlyOneChild.meta.title)" />
+          <item :icon="onlyOneChild.meta.icon||(item.meta&&item.meta.icon)" :title="generateTitleWiki(onlyOneChild.meta.title)" />
         </el-menu-item>
       </app-link>
     </template>
 
     <el-submenu v-else ref="subMenu" :index="resolvePath(item.path)" popper-append-to-body>
       <template slot="title">
-        <item v-if="item.meta" :icon="item.meta && item.meta.icon" :title="generateTitle(item.meta.title)" />
+        <item v-if="item.meta" :icon="item.meta && item.meta.icon" :title="generateTitleWiki(item.meta.title)" />
       </template>
       <sidebar-item
         v-for="child in item.children"
@@ -26,7 +26,7 @@
 
 <script>
 import path from 'path'
-import { generateTitle } from '@/utils/i18n'
+import { generateTitle,generateTitleWiki } from '@/utils/i18n'
 import { isExternal } from '@/utils/validate'
 import Item from './Item'
 import AppLink from './Link'
@@ -92,7 +92,8 @@ export default {
       return path.resolve(this.basePath, routePath)
     },
 
-    generateTitle
+    generateTitle,
+		generateTitleWiki
   }
 }
 </script>

+ 3 - 21
src/store/modules/permission.js

@@ -30,11 +30,12 @@ const mutations = {
       name: item.name,
       meta: {
         // 接口需要新返回一个字段,标记语言标签 使用 item.routeLangFlag
-        title: testBackLangTitle(item.name),
+        // title: testBackLangTitle(item.name),
+        title: item.wiki,
         icon: item.icon
       }
     }
- 
+
     if (item.child) {
       generaMenu(menu.children, item.child)
     }
@@ -44,25 +45,6 @@ const mutations = {
   return routes
 }
 
-export function testBackLangTitle(name) {
-  let ret = name
-  if (name == '控制台' || name == 'Dashboard') {
-    ret = 'dashboard'
-  } else if (name == '商城管理' || name == 'Shopping Mall') {
-    ret = 'shop'
-  } else if (name == '商品列表' || name == 'Products list') {
-    ret = 'indexShop'
-  } else if (name == '复消商品') {
-    ret = 'shopReconsume'
-  } else if (name == '会员管理' || name == 'Member management') {
-    ret = 'memberManagement'
-  } else if (name == 'Personal info' || name == '个人资料') {
-    ret = 'personalInfo'
-  }
-
-  return ret
-}
-
 const actions = {
   generateRoutes({ commit }, roles) {
     return new Promise(resolve => {

+ 10 - 0
src/utils/i18n.js

@@ -10,3 +10,13 @@ export function generateTitle(title) {
   }
   return title
 }
+
+export function generateTitleWiki(wiki) {
+  const hasKey = this.$te('menu.' + wiki)
+
+  if (hasKey) {
+    // $t :this method from vue-i18n, inject in @/lang/index.js
+    return this.$t('menu.' + wiki)
+  }
+  return wiki
+}