You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
92 lines
2.5 KiB
92 lines
2.5 KiB
<template>
|
|
<el-dialog
|
|
title="修改用户默认语言"
|
|
:visible.sync="visible"
|
|
width="300px"
|
|
:append-to-body="true">
|
|
<el-form :model="dataForm" ref="dataForm" @keyup.enter.native="dataFormSubmit()" label-width="80px">
|
|
<el-form-item label="账号">
|
|
<span>{{ userName }}</span>
|
|
</el-form-item>
|
|
<el-form-item label="当前语言" prop="newPassword">
|
|
<span>{{language}}</span>
|
|
</el-form-item>
|
|
<el-form-item label="新语言" prop="newLanguage">
|
|
<el-select filterable v-model="dataForm.languageDefault" clearable>
|
|
<el-option :label="item.languageName" :value="item.languageCode" v-for="(item,index) in languageList "
|
|
:key="index"></el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form>
|
|
<span slot="footer" class="dialog-footer">
|
|
<el-button @click="visible = false">取消</el-button>
|
|
<el-button type="primary" @click="dataFormSubmit()">确定</el-button>
|
|
</span>
|
|
</el-dialog>
|
|
</template>
|
|
|
|
<script>
|
|
import {updateUserLanguage} from '@/api/user.js'
|
|
// import PubSub from 'pubsub-js'
|
|
import {
|
|
searchSysLanguage
|
|
} from "@/api/sysLanguage.js"
|
|
|
|
export default {
|
|
data() {
|
|
return {
|
|
visible: false,
|
|
dataForm: {
|
|
languageDefault: ''
|
|
},
|
|
language: localStorage.getItem('locale'),
|
|
languageList: []
|
|
}
|
|
},
|
|
computed: {
|
|
userName: {
|
|
get() {
|
|
return this.$store.state.user.name
|
|
}
|
|
},
|
|
mainTabs: {
|
|
get() {
|
|
return this.$store.state.common.mainTabs
|
|
},
|
|
set(val) {
|
|
this.$store.commit('common/updateMainTabs', val)
|
|
}
|
|
}
|
|
},
|
|
|
|
methods: {
|
|
// 获取多语言列表
|
|
getLanguageList() {
|
|
searchSysLanguage({ languageCode: this.$i18n.locale}).then(({data}) => {
|
|
this.languageList = data.rows
|
|
})
|
|
},
|
|
// 初始化
|
|
init() {
|
|
this.visible = true
|
|
this.$nextTick(() => {
|
|
this.$refs['dataForm'].resetFields()
|
|
})
|
|
},
|
|
// 修改用户默认语言
|
|
dataFormSubmit() {
|
|
updateUserLanguage(this.dataForm).then(({data}) => {
|
|
if (data.code == 0) {
|
|
language: localStorage.setItem('locale',this.dataForm.languageDefault)
|
|
this.$router.go(0);
|
|
// PubSub.publish('search',this.dataForm.languageDefault )
|
|
// this.$router.replace({name: 'login'})
|
|
}
|
|
})
|
|
}
|
|
} ,created() {
|
|
this.getLanguageList()
|
|
},
|
|
}
|
|
</script>
|
|
|