123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172 |
- import Vue from "vue";
- import * as constant from "../constant";
- import numeral from "numeral";
- import dayjs from "dayjs";
- // 乐团状态
- Vue.filter("bandStatus", (value) => {
- let templateStatus = {
- APPLY: "报名中",
- PAY: "缴费中",
- PREPARE: "筹备中",
- UNDERWAY: "进行中",
- CANCELED: "取消",
- };
- return templateStatus[value];
- });
- // 商品类型
- Vue.filter("shopType", (value) => {
- let template = {
- INSTRUMENT: "乐器",
- ACCESSORIES: "辅件",
- TEACHING: "教材",
- STAFF: "教谱",
- OTHER: "其它",
- };
- return template[value];
- });
- // 金额格式化
- Vue.filter("moneyFormat", (value) => {
- return numeral(value).format("0,0.00");
- });
- // 金额格式化,不要多余的0
- Vue.filter("moneyFormat2", (value) => {
- const str = numeral(value).format("0,0.00");
- const nums = str.split(".");
- const result = [nums[0]];
- const subfix = parseFloat("." + nums[1]);
- if (subfix > 0) {
- result.push(("" + subfix).replace("0.", ""));
- }
- return result.join(".");
- });
- Vue.filter("numberFormat", (value) => {
- return numeral(value).format("0,0");
- });
- // 课程类型
- Vue.filter("coursesType", (val) => constant.courseType[val]);
- // 合并数组
- Vue.filter("joinArray", (value, type) => {
- if (!type) {
- type = " ";
- }
- if (typeof value == "object" && value != null) {
- return value.join(type);
- } else {
- return value;
- }
- });
- // 数据类型
- Vue.filter("dataStatusCN", (value) => {
- let templateStatus = {
- 到课: "",
- 请假: "truant",
- 旷课: "leave",
- };
- return templateStatus[value];
- });
- // 考勤类型
- Vue.filter("clockingIn", (value) => {
- let templateStatus = {
- NORMAL: "正常",
- TRUANT: "旷课",
- LEAVE: "请假",
- QUIT_SCHOOL: "休学",
- DROP_OUT: "退学",
- LATE: "迟到",
- };
- return templateStatus[value];
- });
- // 课程类型
- Vue.filter("teachModeStatus", (value) => {
- let templateStatus = {
- ONLINE: "线上课",
- OFFLINE: "线下课",
- };
- return templateStatus[value];
- });
- // 消耗类型
- Vue.filter("periodRecordStatus", (value) => {
- let templateStatus = {
- NOT_START: "未开始",
- APPLYING: "报名中",
- NORMAL: "正常",
- LOCK: "锁定",
- FINISH: "结束",
- CANCEL: "取消",
- };
- return templateStatus[value];
- });
- // 计算分钟数
- Vue.filter("calcMinute", (minute) => {
- if (minute <= 0) {
- return "0分钟";
- }
- let minutes = minute % 60; // 算出分钟
- let hours = 0; // 小时
- if (minute >= 60) {
- hours = (minute - minutes) / 60;
- }
- let text = "";
- if (hours) {
- text = hours + "小时";
- }
- if (minutes) {
- text += minutes + "分钟";
- }
- return text;
- });
- Vue.filter("formatDate", (value) => {
- let d = new Date(value.replace(/-/gi, "/"));
- let hour = d.getHours() >= 10 ? d.getHours() : "0" + d.getHours();
- let minute = d.getMinutes() >= 10 ? d.getMinutes() : "0" + d.getMinutes();
- return hour + ":" + minute;
- });
- Vue.filter("formatDateExtend", (value, format = "YYYY-MM-DD") => {
- return dayjs(value).format(format);
- });
- Vue.filter("formatTimer", (value) => {
- if (value) {
- return value.split(" ")[0];
- } else {
- return value;
- }
- });
- // 格式化单位
- Vue.filter("formatUnit", (value) => {
- const template = {
- 1: "元",
- 2: "%",
- };
- return template[value];
- });
- Vue.filter("coupontypeDetailType", (val) => constant.coupontypeDetail[val]);
- // 乐团学员状态
- Vue.filter("musicGroupStudentType", (value) => {
- let template = {
- NORMAL: "在读",
- LEAVE: "请假",
- QUIT: "退团",
- APPLY: "报名",
- };
- return template[value];
- });
- Vue.filter("coursesType", (val) => constant.courseType[val]);
|