mx-form-translate-mixin.js 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. import cacheMixin from '@/components/Cache/mx-cache-mixin.js'
  2. export default {
  3. mixins: [cacheMixin],
  4. data() {
  5. return {
  6. formTypeList: [],
  7. formStatusList: [],
  8. formAuditList: [],
  9. formTranslateReady: false
  10. }
  11. },
  12. beforeMount() {
  13. this.loadTranslateForm()
  14. },
  15. methods: {
  16. async loadTranslateForm() {
  17. this.formTypeList = await this.getFormTypeListByCache()
  18. this.formStatusList = await this.getFormStatusListByCache()
  19. this.formAuditList = await this.getFormAuditListByCache()
  20. this.formTranslateReady = true
  21. this.translateFormReady()
  22. },
  23. translateFormReady() {
  24. //to be overrided for non-computed needs
  25. },
  26. translateForm(item) {
  27. // 未准备好不翻译
  28. // TODO: 这里与APP处理有细微差别, 待后续看APP是否也需要照这里调整 22.1.23
  29. if (!this.formTranslateReady) return
  30. this.$set(item, 'formTypeName', this.translateFormType(item.formType))
  31. this.$set(item, 'formStatusName', this.translateFormStatus(item.formStatus))
  32. this.$set(item, 'formAuditName', this.translateFormAudit(item.formAudit))
  33. },
  34. translateFormType(type) {
  35. const item = this.formTypeList.find(t => t.value == type)
  36. return item?.label || '未知类型'
  37. },
  38. translateFormStatus(status) {
  39. const item = this.formStatusList.find(s => s.value == status)
  40. return item?.label || '未知状态'
  41. },
  42. translateFormAudit(audit) {
  43. const item = this.formAuditList.find(a => a.value == audit)
  44. return item?.label || '未知类型'
  45. }
  46. }
  47. }