filters.js 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. import Vue from "vue";
  2. import {
  3. TEMPLATE_CLASSIFY,
  4. EXAM_TASK_STATUS,
  5. AUDITING_STATUS,
  6. AUDITING_RESULT,
  7. PRINT_PLAN_STATUS,
  8. PRINT_TASK_STATUS,
  9. DATA_TASK_STATUS,
  10. DATA_TASK_TYPE,
  11. DATA_TASK_RESULT,
  12. ORG_TYPE,
  13. CARD_SOURCE_TYPE,
  14. MARK_TASK_SYNC_STATUS
  15. } from "../constants/enumerate";
  16. import { formatDate } from "../plugins/utils";
  17. const DEFAULT_FIELD = "--";
  18. Vue.filter("defaultFieldFilter", function(val) {
  19. return val || DEFAULT_FIELD;
  20. });
  21. Vue.filter("enableFilter", function(val) {
  22. return val ? "启用" : "禁用";
  23. });
  24. Vue.filter("templateClassifyFilter", function(val) {
  25. return TEMPLATE_CLASSIFY[val] || DEFAULT_FIELD;
  26. });
  27. Vue.filter("orgsFilter", function(val) {
  28. return val.map(item => item.name).join(",");
  29. });
  30. Vue.filter("rolesFilter", function(val) {
  31. return val.map(item => item.name).join(",");
  32. });
  33. Vue.filter("coursesFilter", function(val) {
  34. return val.map(item => `${item.name}(${item.code})`).join(",");
  35. });
  36. Vue.filter("examTaskStatusFilter", function(val) {
  37. return EXAM_TASK_STATUS[val] || DEFAULT_FIELD;
  38. });
  39. Vue.filter("auditStatusFilter", function(val) {
  40. return AUDITING_STATUS[val] || DEFAULT_FIELD;
  41. });
  42. Vue.filter("reviewStatusFilter", function(val) {
  43. return AUDITING_RESULT[val] || DEFAULT_FIELD;
  44. });
  45. Vue.filter("printPlanStatusFilter", function(val) {
  46. return PRINT_PLAN_STATUS[val] || DEFAULT_FIELD;
  47. });
  48. Vue.filter("printTaskStatusFilter", function(val) {
  49. return PRINT_TASK_STATUS[val] || DEFAULT_FIELD;
  50. });
  51. Vue.filter("dataTaskTypeFilter", function(val) {
  52. return DATA_TASK_TYPE[val] || DEFAULT_FIELD;
  53. });
  54. Vue.filter("dataTaskStatusFilter", function(val) {
  55. return DATA_TASK_STATUS[val] || DEFAULT_FIELD;
  56. });
  57. Vue.filter("dataTaskResultFilter", function(val) {
  58. return DATA_TASK_RESULT[val] || DEFAULT_FIELD;
  59. });
  60. Vue.filter("orgTypeFilter", function(val) {
  61. return ORG_TYPE[val] || DEFAULT_FIELD;
  62. });
  63. Vue.filter("cardSourceTypeFilter", function(val) {
  64. return CARD_SOURCE_TYPE[val] || DEFAULT_FIELD;
  65. });
  66. Vue.filter("timestampFilter", function(val) {
  67. return val
  68. ? formatDate("YYYY-MM-DD HH:mm:ss", new Date(val * 1))
  69. : DEFAULT_FIELD;
  70. });
  71. Vue.filter("flowTaskNameFilter", function(val) {
  72. return val ? val.replace(/\(.+?\)/g, "") : DEFAULT_FIELD;
  73. });
  74. Vue.filter("markTaskSyncStatusFilter", function(val) {
  75. return MARK_TASK_SYNC_STATUS[val] || DEFAULT_FIELD;
  76. });