getters.js 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. /**
  2. * vuex getter
  3. */
  4. import dictEnum from '@/enum/dict';
  5. export default {
  6. user: (state) => state.user,
  7. theme: (state) => state.theme,
  8. dict: (state) => state.dict,
  9. // 根据字典enumName 和 dictCode 获取字典项
  10. getDict: (state) => (enumName, dictCode) =>
  11. (state.dict[dictEnum[enumName]] || []).find(
  12. (item) => item.dictCode === dictCode
  13. ) || {},
  14. // 根据字典enumName 和 dictCode 获取字典 值(名称
  15. getDictValue: (state) => (enumName, dictCode) => {
  16. const obj = (state.dict[dictEnum[enumName]] || []).find((item) => {
  17. return item.dictCode === dictCode;
  18. });
  19. return obj && obj.dictValue;
  20. },
  21. getDictName: (state) => (enumName, dictCode) => {
  22. const arr = state.dict[dictEnum[enumName]] || [];
  23. return arr.find((item) => item.dictCode === dictCode)?.dictValue || '';
  24. },
  25. getDictCode: (state) => (enumName, dictValue) => {
  26. const obj = (state.dict[dictEnum[enumName]] || []).find((item) => {
  27. return item.dictValue == dictValue;
  28. });
  29. return obj && obj.dictCode;
  30. }
  31. // getDictList: (state) => (enumName) => {
  32. // if (!state.dict[dictEnum[enumName]].length) return [];
  33. // return state.dict[dictEnum[enumName]].map((item) => {
  34. // return {
  35. // value: item.dictCode,
  36. // label: item.dictValue
  37. // };
  38. // });
  39. // }
  40. };