getters.js 996 B

12345678910111213141516171819202122232425262728293031323334
  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. taskObj: (state) => state.taskObj,
  10. // 根据字典enumName 和 dictCode 获取字典项
  11. getDict: (state) => (enumName, dictCode) =>
  12. (state.dict[dictEnum[enumName]] || []).find(
  13. (item) => item.dictCode === dictCode
  14. ) || {},
  15. // 根据字典enumName 和 dictCode 获取字典 值(名称
  16. getDictValue: (state) => (enumName, dictCode) => {
  17. const obj = (state.dict[dictEnum[enumName]] || []).find((item) => {
  18. return item.dictCode === dictCode + '';
  19. });
  20. return obj && obj.dictValue;
  21. },
  22. // 根据字典enumName 获取字典列表 label value 格式
  23. getDictList: (sate) => (enumName) => {
  24. const dList = sate.dict[dictEnum[enumName]] || [];
  25. return dList.map((i) => {
  26. return {
  27. ...i,
  28. label: i.dictValue,
  29. value: i.dictCode
  30. };
  31. });
  32. }
  33. };