dict.js 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. "use strict";
  2. const stores_dict = require("../stores/dict.js");
  3. const utils_request = require("../utils/request.js");
  4. const common_vendor = require("../common/vendor.js");
  5. function useDict(...args) {
  6. const res = common_vendor.ref({});
  7. return (() => {
  8. args.forEach((dictType, index) => {
  9. res.value[dictType] = [];
  10. const dicts = stores_dict.useDictStore().getDict(dictType);
  11. if (dicts) {
  12. res.value[dictType] = dicts;
  13. } else {
  14. utils_request.request({
  15. url: "/sys/sys-dict/list2",
  16. data: {
  17. paterCode: dictType
  18. }
  19. }).then((resp) => {
  20. console.log("resp", resp);
  21. res.value[dictType] = resp.map((p) => ({
  22. label: p.msg,
  23. value: p.value,
  24. code: p.code,
  25. elTagType: p.cssClass,
  26. elTagClass: p.cssClass
  27. }));
  28. stores_dict.useDictStore().setDict(dictType, res.value[dictType]);
  29. });
  30. }
  31. });
  32. console.log("res.value", res.value);
  33. return common_vendor.toRefs(res.value);
  34. })();
  35. }
  36. function getDictByValue(dict, value) {
  37. let re = dict.find((e) => e.value == value);
  38. return re ? re : {};
  39. }
  40. function getDictByCode(dict, code) {
  41. let re = dict.find((e) => e.code == code);
  42. return re ? re : {};
  43. }
  44. exports.getDictByCode = getDictByCode;
  45. exports.getDictByValue = getDictByValue;
  46. exports.useDict = useDict;