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.

79 lines
2.2 KiB

5 years ago
5 years ago
5 years ago
  1. <template>
  2. <el-dialog
  3. title="修改用户默认语言"
  4. :visible.sync="visible"
  5. :append-to-body="true">
  6. <el-form :model="dataForm" ref="dataForm" @keyup.enter.native="dataFormSubmit()" label-width="80px">
  7. <el-form-item label="账号">
  8. <span>{{ userName }}</span>
  9. </el-form-item>
  10. <el-form-item label="当前语言" prop="newPassword">
  11. <span>{{language}}</span>
  12. </el-form-item>
  13. <el-form-item label="新语言" prop="newLanguage">
  14. <el-select type="password" v-model="dataForm.languageDefault">
  15. <el-option label="中文" value="cn"></el-option>
  16. <el-option label="英文" value="en"></el-option>
  17. <el-option label="日文" value="jp"></el-option>
  18. </el-select>
  19. </el-form-item>
  20. </el-form>
  21. <span slot="footer" class="dialog-footer">
  22. <el-button @click="visible = false">取消</el-button>
  23. <el-button type="primary" @click="dataFormSubmit()">确定</el-button>
  24. </span>
  25. </el-dialog>
  26. </template>
  27. <script>
  28. import {updateUserLanguage} from '@/api/user.js'
  29. // import PubSub from 'pubsub-js'
  30. export default {
  31. data() {
  32. return {
  33. visible: false,
  34. dataForm: {
  35. languageDefault: ''
  36. },
  37. language: localStorage.getItem('locale')
  38. }
  39. },
  40. computed: {
  41. userName: {
  42. get() {
  43. return this.$store.state.user.name
  44. }
  45. },
  46. mainTabs: {
  47. get() {
  48. return this.$store.state.common.mainTabs
  49. },
  50. set(val) {
  51. this.$store.commit('common/updateMainTabs', val)
  52. }
  53. }
  54. },
  55. methods: {
  56. // 初始化
  57. init() {
  58. this.visible = true
  59. this.$nextTick(() => {
  60. this.$refs['dataForm'].resetFields()
  61. })
  62. },
  63. // 修改用户默认语言
  64. dataFormSubmit() {
  65. updateUserLanguage(this.dataForm).then(({data}) => {
  66. if (data.code == 0) {
  67. language: localStorage.setItem('locale',this.dataForm.languageDefault)
  68. this.$router.go(0);
  69. // PubSub.publish('search',this.dataForm.languageDefault )
  70. // this.$router.replace({name: 'login'})
  71. }
  72. })
  73. }
  74. }
  75. }
  76. </script>