Blame view

src/components/LangSelect/index.vue 1.28 KB
be009217   monkeyhouyi   处理,通知公告,任务中心
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
  <template>
    <el-dropdown class="international" @command="handleSetLanguage">
      <div>
        <i class="icon-ym icon-ym-header-language"></i>
      </div>
      <el-dropdown-menu slot="dropdown">
        <el-dropdown-item :disabled="language==='zh'" command="zh">
          简体中文
        </el-dropdown-item>
        <el-dropdown-item :disabled="language==='zhtw'" command="zhtw">
          繁体中文
        </el-dropdown-item>
        <el-dropdown-item :disabled="language==='en'" command="en">
          English
        </el-dropdown-item>
      </el-dropdown-menu>
    </el-dropdown>
  </template>
  
  <script>
  import { UpdateLanguage } from '@/api/permission/userSetting'
  import getPageTitle from '@/utils/get-page-title'
  export default {
    computed: {
      language() {
        return this.$store.getters.language
      }
    },
    methods: {
      handleSetLanguage(lang) {
        UpdateLanguage({ language: lang }).then(res => { })
        this.$i18n.locale = lang
        this.$store.dispatch('app/setLanguage', lang)
        let text = '切换成功'
        if (lang === 'en') text = 'Switch Language Success'
        if (lang === 'zhtw') text = '切換成功'
        document.title = getPageTitle(this.$route.meta.title, this.$route.meta.zhTitle)
        this.$message({
          message: text,
          type: 'success'
        })
      }
    }
  }
  </script>