import Vue from "vue"; import { TEMPLATE_CLASSIFY, EXAM_TASK_STATUS, AUDITING_STATUS, AUDITING_RESULT, PRINT_PLAN_STATUS, PRINT_TASK_STATUS, DATA_TASK_STATUS, DATA_TASK_TYPE, DATA_TASK_RESULT, ORG_TYPE, CARD_SOURCE_TYPE, MARK_TASK_SYNC_STATUS } from "../constants/enumerate"; import { formatDate } from "../plugins/utils"; const DEFAULT_FIELD = "--"; Vue.filter("defaultFieldFilter", function(val) { return val || DEFAULT_FIELD; }); Vue.filter("enableFilter", function(val) { return val ? "启用" : "禁用"; }); Vue.filter("templateClassifyFilter", function(val) { return TEMPLATE_CLASSIFY[val] || DEFAULT_FIELD; }); Vue.filter("orgsFilter", function(val) { return val.map(item => item.name).join(","); }); Vue.filter("rolesFilter", function(val) { return val.map(item => item.name).join(","); }); Vue.filter("coursesFilter", function(val) { return val.map(item => `${item.name}(${item.code})`).join(","); }); Vue.filter("examTaskStatusFilter", function(val) { return EXAM_TASK_STATUS[val] || DEFAULT_FIELD; }); Vue.filter("auditStatusFilter", function(val) { return AUDITING_STATUS[val] || DEFAULT_FIELD; }); Vue.filter("reviewStatusFilter", function(val) { return AUDITING_RESULT[val] || DEFAULT_FIELD; }); Vue.filter("printPlanStatusFilter", function(val) { return PRINT_PLAN_STATUS[val] || DEFAULT_FIELD; }); Vue.filter("printTaskStatusFilter", function(val) { return PRINT_TASK_STATUS[val] || DEFAULT_FIELD; }); Vue.filter("dataTaskTypeFilter", function(val) { return DATA_TASK_TYPE[val] || DEFAULT_FIELD; }); Vue.filter("dataTaskStatusFilter", function(val) { return DATA_TASK_STATUS[val] || DEFAULT_FIELD; }); Vue.filter("dataTaskResultFilter", function(val) { return DATA_TASK_RESULT[val] || DEFAULT_FIELD; }); Vue.filter("orgTypeFilter", function(val) { return ORG_TYPE[val] || DEFAULT_FIELD; }); Vue.filter("cardSourceTypeFilter", function(val) { return CARD_SOURCE_TYPE[val] || DEFAULT_FIELD; }); Vue.filter("timestampFilter", function(val) { return val ? formatDate("YYYY-MM-DD HH:mm:ss", new Date(val * 1)) : DEFAULT_FIELD; }); Vue.filter("flowTaskNameFilter", function(val) { return val ? val.replace(/\(.+?\)/g, "") : DEFAULT_FIELD; }); Vue.filter("markTaskSyncStatusFilter", function(val) { return MARK_TASK_SYNC_STATUS[val] || DEFAULT_FIELD; });