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.

84 lines
2.1 KiB

  1. <template>
  2. <el-dialog
  3. width="350px"
  4. title="语言"
  5. :close-on-click-modal="false"
  6. :visible.sync="visible">
  7. <el-row v-for="(item,index) in dataList"
  8. :key="item.columnProp"
  9. :label="item.columnLabel"
  10. :prop="item.columnProp">
  11. <el-col :span="4">
  12. </el-col>
  13. <el-col :span="4">
  14. {{ languageList[index].languageCode==item.languageCode?languageList[index].languageName:item.languageCode }}
  15. </el-col>
  16. <el-col :span="20">
  17. <el-input v-model="item.languageValue" controls-position="right" style="display:inline"></el-input>
  18. </el-col>
  19. </el-row>
  20. <span slot="footer" class="dialog-footer">
  21. <el-button type="primary" @click="dataFormSubmit()"> {{ buttons.add }}</el-button>
  22. <el-button @click="visible = false" type="primary">{{ buttons.close }}</el-button>
  23. </span>
  24. </el-dialog>
  25. </template>
  26. <script>
  27. import {searchBaseLanguageList, saveBaseObjectLanguageList,searchSysLanguage} from '@/api/sysLanguage.js'
  28. export default {
  29. data() {
  30. return {
  31. visible: false,
  32. dataList: [],
  33. languageList: [],
  34. buttons: {
  35. add: '确认',
  36. close: '关闭',
  37. },
  38. }
  39. },
  40. methods: {
  41. async init(val) {
  42. this.visible = true
  43. await this.getLanguageList()
  44. searchBaseLanguageList(val).then(({data}) => {
  45. this.dataList = data.rows
  46. })
  47. },
  48. // 获取数据列表
  49. getDataList() {
  50. this.dataListLoading = false
  51. },
  52. // 表单提交
  53. dataFormSubmit(val) {
  54. saveBaseObjectLanguageList(this.dataList).then(({data}) => {
  55. if (data.code == 0) {
  56. this.$message.success(data.msg)
  57. this.visible = false
  58. } else {
  59. this.$message.error(data.msg)
  60. }
  61. })
  62. },
  63. // 获取多语言列表
  64. async getLanguageList() {
  65. await searchSysLanguage({ languageCode: this.$i18n.locale}).then(({data}) => {
  66. this.languageList = data.rows
  67. })
  68. },
  69. }
  70. }
  71. </script>
  72. <style lang="scss">
  73. .el-form-item--mini.el-form-item, .el-form-item--small.el-form-item {
  74. margin-bottom: 5px;
  75. }
  76. </style>