getters.js 1.1 KB

1234567891011121314151617181920212223242526272829303132333435
  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. // getDictList: (state) => (enumName) => {
  26. // if (!state.dict[dictEnum[enumName]].length) return [];
  27. // return state.dict[dictEnum[enumName]].map((item) => {
  28. // return {
  29. // value: item.dictCode,
  30. // label: item.dictValue
  31. // };
  32. // });
  33. // }
  34. };