filters.js 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. import Vue from "vue";
  2. import {
  3. TEMPLATE_CLASSIFY,
  4. TEMPLATE_TYPE,
  5. EXAM_TASK_STATUS,
  6. AUDITING_STATUS,
  7. AUDITING_RESULT,
  8. PRINT_PLAN_STATUS,
  9. PRINT_TASK_STATUS,
  10. DATA_TASK_STATUS,
  11. DATA_TASK_TYPE,
  12. DATA_TASK_RESULT,
  13. ORG_TYPE,
  14. CARD_SOURCE_TYPE,
  15. MARK_TASK_SYNC_STATUS,
  16. STMMS_SYNC_TYPE,
  17. SYNC_PRINT_STATUS,
  18. PRINT_PDF_TYPE,
  19. EXAM_TYPE,
  20. CARD_TYPE,
  21. CARD_CREATE_METHOD_TYPE,
  22. FLOW_APPROVE_OPERATION_TYPE,
  23. ANALYSIS_BATCH_STATUS,
  24. FLOW_TYPE
  25. } from "../constants/enumerate";
  26. import { formatDate } from "../plugins/utils";
  27. const DEFAULT_FIELD = "--";
  28. Vue.filter("defaultFieldFilter", function(val) {
  29. return val || DEFAULT_FIELD;
  30. });
  31. Vue.filter("enableFilter", function(val) {
  32. return val ? "启用" : "禁用";
  33. });
  34. Vue.filter("templateClassifyFilter", function(val) {
  35. return TEMPLATE_CLASSIFY[val] || DEFAULT_FIELD;
  36. });
  37. Vue.filter("templateTypeFilter", function(val) {
  38. return TEMPLATE_TYPE[val] || DEFAULT_FIELD;
  39. });
  40. Vue.filter("orgsFilter", function(val) {
  41. return val.map(item => item.name).join();
  42. });
  43. Vue.filter("rolesFilter", function(val) {
  44. return val.map(item => item.name).join();
  45. });
  46. Vue.filter("coursesFilter", function(val) {
  47. return val.map(item => `${item.name}(${item.code})`).join(",");
  48. });
  49. Vue.filter("examTaskStatusFilter", function(val) {
  50. return EXAM_TASK_STATUS[val] || DEFAULT_FIELD;
  51. });
  52. Vue.filter("auditStatusFilter", function(val) {
  53. return AUDITING_STATUS[val] || DEFAULT_FIELD;
  54. });
  55. Vue.filter("reviewStatusFilter", function(val) {
  56. return AUDITING_RESULT[val] || DEFAULT_FIELD;
  57. });
  58. Vue.filter("printPlanStatusFilter", function(val) {
  59. return PRINT_PLAN_STATUS[val] || DEFAULT_FIELD;
  60. });
  61. Vue.filter("printTaskStatusFilter", function(val) {
  62. return PRINT_TASK_STATUS[val] || DEFAULT_FIELD;
  63. });
  64. Vue.filter("dataTaskTypeFilter", function(val) {
  65. return DATA_TASK_TYPE[val] || DEFAULT_FIELD;
  66. });
  67. Vue.filter("dataTaskStatusFilter", function(val) {
  68. return DATA_TASK_STATUS[val] || DEFAULT_FIELD;
  69. });
  70. Vue.filter("dataTaskResultFilter", function(val) {
  71. return DATA_TASK_RESULT[val] || DEFAULT_FIELD;
  72. });
  73. Vue.filter("orgTypeFilter", function(val) {
  74. return ORG_TYPE[val] || DEFAULT_FIELD;
  75. });
  76. Vue.filter("cardSourceTypeFilter", function(val) {
  77. return CARD_SOURCE_TYPE[val] || DEFAULT_FIELD;
  78. });
  79. Vue.filter("timestampFilter", function(val) {
  80. return val
  81. ? formatDate("YYYY-MM-DD HH:mm:ss", new Date(val * 1))
  82. : DEFAULT_FIELD;
  83. });
  84. Vue.filter("flowTaskNameFilter", function(val) {
  85. return val ? val.replace(/\(.+?\)/g, "") : DEFAULT_FIELD;
  86. });
  87. Vue.filter("markTaskSyncStatusFilter", function(val) {
  88. return MARK_TASK_SYNC_STATUS[val] || "失败";
  89. });
  90. Vue.filter("stmmsSyncTypeFilter", function(val) {
  91. return STMMS_SYNC_TYPE[val] || DEFAULT_FIELD;
  92. });
  93. Vue.filter("syncPrintStatusFilter", function(val) {
  94. return SYNC_PRINT_STATUS[val] || DEFAULT_FIELD;
  95. });
  96. Vue.filter("printPdfTypeFilter", function(val) {
  97. return PRINT_PDF_TYPE[val] || DEFAULT_FIELD;
  98. });
  99. Vue.filter("examTypeFilter", function(val) {
  100. return EXAM_TYPE[val] || DEFAULT_FIELD;
  101. });
  102. Vue.filter("cardTypeFilter", function(val) {
  103. return CARD_TYPE[val] || DEFAULT_FIELD;
  104. });
  105. Vue.filter("cardCreateMethodTypeFilter", function(val) {
  106. return CARD_CREATE_METHOD_TYPE[val] || DEFAULT_FIELD;
  107. });
  108. Vue.filter("flowApproveOperationTypeFilter", function(val) {
  109. return FLOW_APPROVE_OPERATION_TYPE[val] || "";
  110. });
  111. Vue.filter("flowTypeFilter", function(val) {
  112. return FLOW_TYPE[val] || "";
  113. });
  114. Vue.filter("analysisBatchStatusFilter", function(val) {
  115. return ANALYSIS_BATCH_STATUS[val] || DEFAULT_FIELD;
  116. });