vueFilter.js 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909
  1. import Vue from "vue";
  2. import dayjs from "dayjs";
  3. import numeral from "numeral";
  4. import * as constant from "../constant";
  5. // 合并数组
  6. Vue.filter("joinArray", (value, type) => {
  7. if (!type) {
  8. type = " ";
  9. }
  10. if (typeof value == "object" && value != null) {
  11. return value.join(type);
  12. } else {
  13. return value;
  14. }
  15. });
  16. // 合作单位
  17. Vue.filter("branchType", value => {
  18. let template = {
  19. OWN: "自有",
  20. COOPERATION: "合作",
  21. LEASE: "租赁"
  22. };
  23. return template[value];
  24. });
  25. // 商品类型
  26. Vue.filter("shopType", value => {
  27. let template = {
  28. INSTRUMENT: "乐器",
  29. ACCESSORIES: "辅件",
  30. TEACHING: "教材",
  31. STAFF: "教谱",
  32. OTHER: "其它"
  33. };
  34. return template[value];
  35. });
  36. // 乐团学员状态
  37. Vue.filter("musicGroupStudentType", value => {
  38. let template = {
  39. NORMAL: "在读",
  40. LEAVE: "请假",
  41. QUIT: "退团",
  42. APPLY: "报名"
  43. };
  44. return template[value];
  45. });
  46. // 乐团学员状态
  47. Vue.filter("instrumentType", value => {
  48. let template = {
  49. GROUP: "团购",
  50. OWNED: "自备",
  51. LEASE: "租赁"
  52. };
  53. return template[value];
  54. });
  55. // 课程类型
  56. Vue.filter("coursesType", value => {
  57. let template = {
  58. NORMAL: "声部课",
  59. SINGLE: "声部课",
  60. MIX: "合奏课",
  61. HIGH: "基础技能课",
  62. VIP: "VIP课",
  63. DEMO: "试听课",
  64. COMPREHENSIVE: "综合课",
  65. // PRACTICE: '练习课',
  66. ENLIGHTENMENT: "启蒙课",
  67. TRAINING: "集训课",
  68. TRAINING_SINGLE: "集训声部课",
  69. TRAINING_MIX: "集训合奏课",
  70. CLASSROOM: "课堂课",
  71. PRACTICE: "网管课",
  72. COMM: "对外课",
  73. MUSIC: "乐团课",
  74. HIGH_ONLINE: "线上基础技能课",
  75. MUSIC_NETWORK: "乐团网管课",
  76. LIVE: "直播课"
  77. };
  78. return template[value];
  79. });
  80. // 课程状态
  81. Vue.filter("coursesStatus", value => {
  82. let template = {
  83. NOT_START: "未开始",
  84. UNDERWAY: "进行中",
  85. OVER: "已结束"
  86. };
  87. return template[value];
  88. });
  89. // 考勤类型
  90. Vue.filter("clockingIn", value => {
  91. let templateStatus = {
  92. NORMAL: "正常",
  93. TRUANT: "旷课",
  94. LEAVE: "请假",
  95. QUIT_SCHOOL: "休学",
  96. DROP_OUT: "退学",
  97. LATE: "迟到"
  98. };
  99. return templateStatus[value];
  100. });
  101. // 学员状态
  102. Vue.filter("studentTeamStatus", value => {
  103. let templateStatus = {
  104. NORMAL: "在读",
  105. QUIT: "退团",
  106. QUIT_SCHOOL: "休学",
  107. APPLY: "报名"
  108. };
  109. return templateStatus[value];
  110. });
  111. // 时间处理
  112. Vue.filter("dayjsFormat", (value, format = "YYYY-MM-DD") => {
  113. if (value) {
  114. return dayjs(value).format(format);
  115. } else {
  116. return value;
  117. }
  118. });
  119. Vue.filter("dayjsFormatForDate", (value, format = "MM-DD") => {
  120. if (value) {
  121. return dayjs(value).format(format);
  122. } else {
  123. return value;
  124. }
  125. });
  126. Vue.filter("dayjsFormatWeek", value => {
  127. if (value) {
  128. return dayjs(value).format("YYYY-MM");
  129. } else {
  130. return value;
  131. }
  132. });
  133. // courseViewType
  134. Vue.filter("dayjsFormatMinute", value => {
  135. if (value) {
  136. return dayjs(value).format("HH:mm");
  137. } else {
  138. return value;
  139. }
  140. });
  141. Vue.filter("formatTimer", value => {
  142. if (value) {
  143. return value.split(" ")[0];
  144. } else {
  145. return value;
  146. }
  147. });
  148. Vue.filter("formatSecondTimer", value => {
  149. if (value) {
  150. return dayjs(value).format("HH:mm:ss");
  151. } else {
  152. return value;
  153. }
  154. });
  155. Vue.filter("timerForMinFormat", value => {
  156. if (value) {
  157. return value.substring(0, 5);
  158. } else {
  159. return value;
  160. }
  161. });
  162. Vue.filter("dateForMinFormat", value => {
  163. if (value) {
  164. return value.substring(0, 16);
  165. } else {
  166. return value;
  167. }
  168. });
  169. // 乐团状态
  170. Vue.filter("musicGroupType", value => {
  171. // let template = {
  172. // APPLY: "报名中",
  173. // PAY: "缴费中",
  174. // PREPARE: "筹备中",
  175. // PROGRESS: "进行中",
  176. // CANCELED: '取消',
  177. // PAUSE: '暂停',
  178. // AUDIT: '审核中',
  179. // DRAFT: '编辑中',
  180. // AUDIT_FAILED: '审核失败'
  181. // }
  182. return constant.musicGroupType[value];
  183. });
  184. Vue.filter("paymentPatternTypeFormat", val => constant.paymentPatternType[val]);
  185. // 支付用户类型
  186. Vue.filter("payUserTypeFormat", val => constant.payUserType[val]);
  187. // 支付缴费方式
  188. Vue.filter("userPaymentTypeFormat", val => constant.userPaymentType[val]);
  189. // 课程类型格式化
  190. Vue.filter("courseTypeFormat", val => constant.courseType[val]);
  191. // 格式化签到签退记录 updateAttendanceEnum
  192. Vue.filter("updateAttendanceEnum", val => constant.updateAttendanceEnum[val]);
  193. Vue.filter("clientTypeFilter", val => constant.clientTypeFilter[val]);
  194. // 机构状态
  195. Vue.filter("organState", val => constant.organState[val]);
  196. // 机构缴费状态
  197. Vue.filter("organPayState", val => constant.organPayState[val]);
  198. // 教学伴奏
  199. Vue.filter("clientType", val => constant.clientStatus[val]);
  200. // 会员周期
  201. Vue.filter("memberEnumType", val => {
  202. let template = {
  203. DAY: "天",
  204. ...constant.memberEnum
  205. };
  206. // constant.memberEnum[val]
  207. return template[val];
  208. });
  209. // 优惠券类型
  210. Vue.filter("coupontypeDetailType", val => constant.coupontypeDetail[val]);
  211. // 学员回访状态 feedbackType
  212. Vue.filter("feedbackTypeFilter", val => constant.feedbackTypeAll[val]);
  213. Vue.filter("feedbackTypeDescFilter", val => constant.feedbackTypeDesc[val]);
  214. // 小小训练营状态
  215. Vue.filter("campStateListFilter", val => constant.campState[val]);
  216. // 时间处理
  217. Vue.filter("timer", value => {
  218. if (value) {
  219. let tempDate = new Date(value);
  220. let month =
  221. tempDate.getHours() >= 10
  222. ? tempDate.getHours()
  223. : "0" + tempDate.getHours();
  224. let days =
  225. tempDate.getMinutes() >= 10
  226. ? tempDate.getMinutes()
  227. : "0" + tempDate.getMinutes();
  228. return month + ":" + days;
  229. } else {
  230. return value;
  231. }
  232. });
  233. // 格式化成星期
  234. Vue.filter("formatWeek", date => {
  235. let nd = new Date(date);
  236. let temp = [
  237. "星期天",
  238. "星期一",
  239. "星期二",
  240. "星期三",
  241. "星期四",
  242. "星期五",
  243. "星期六"
  244. ];
  245. return temp[nd.getDay()];
  246. });
  247. // 职位
  248. Vue.filter("jobType", value => {
  249. let template = {
  250. ADVISER: "指导老师",
  251. ACADEMIC: "乐团主管",
  252. TEACHING: "乐队指导"
  253. };
  254. return template[value];
  255. });
  256. // 工作类型
  257. Vue.filter("jobNature", value => {
  258. return constant.jobNature[value];
  259. });
  260. // 发券方式
  261. Vue.filter("issueType", value => {
  262. return constant.issue[value];
  263. });
  264. // 考勤状态
  265. Vue.filter("attendanceType", value => {
  266. let template = {
  267. 0: "异常",
  268. 1: "正常",
  269. 3: "未签到"
  270. };
  271. return template[value];
  272. });
  273. // 考情签退
  274. Vue.filter("attendanceOutType", value => {
  275. let template = {
  276. 0: "异常",
  277. 1: "正常",
  278. 3: "未签退"
  279. };
  280. return template[value];
  281. });
  282. // 上课类型
  283. Vue.filter("workType", value => {
  284. return constant.workType[value];
  285. });
  286. // 交易类型
  287. Vue.filter("orderType", value => constant.orderType[value]);
  288. //
  289. Vue.filter("paymentChannelType", value => {
  290. let template = {
  291. PER: "个人",
  292. COM: "公司"
  293. };
  294. return template[value];
  295. });
  296. // 交易状态
  297. Vue.filter("dealStatus", value => {
  298. let template = {
  299. ING: "交易中",
  300. SUCCESS: "成功交易",
  301. FAILED: "交易失败",
  302. CLOSE: "交易关闭"
  303. };
  304. return template[value];
  305. });
  306. // 交易状态
  307. Vue.filter("returnStatus", value => {
  308. let template = {
  309. ING: "审核中",
  310. REJECT: "拒绝",
  311. WAIT_PAYMENT: "待支付",
  312. DONE: "完成"
  313. };
  314. return template[value];
  315. });
  316. // 缴费状态
  317. Vue.filter("payTypeStatus", val => {
  318. return constant.payStatus[val];
  319. });
  320. // 性别
  321. Vue.filter("sex", value => {
  322. let template = ["女", "男"];
  323. return template[value];
  324. });
  325. // 服从调剂 isAllowAdjust
  326. Vue.filter("isAllowAdjust", value => {
  327. let template = ["否", "是"];
  328. return template[value];
  329. });
  330. // 学员缴费状态 paymentStatus
  331. Vue.filter("paymentStatus", value => {
  332. let template = ["未开启缴费", "开启缴费", "已缴费"];
  333. return template[value];
  334. });
  335. // 乐团状态
  336. // Vue.filter('teamStatus', value => {
  337. // let template = {
  338. // PRE_APPLY: "预报名中",
  339. // APPLY: "报名中",
  340. // PAY: "缴费中",
  341. // PREPARE: "筹备中",
  342. // PROGRESS: "进行中",
  343. // DRAFT: '创建缴费中',
  344. // CANCELED: '取消',
  345. // PAUSE: '暂停',
  346. // AUDIT: '乐团审核中',
  347. // DRAFT: '编辑中',
  348. // AUDIT_FAILED: '审核失败',
  349. // FEE_AUDIT: '费用审核中',
  350. // CLOSE: '已关闭',
  351. // }
  352. // return template[value]
  353. // })
  354. // 学生状态
  355. /**studentStatus */
  356. Vue.filter("studentStatus", value => {
  357. let template = ["在读", "已退课", "退课中", "休学"];
  358. return template[value];
  359. });
  360. // 学生点名
  361. Vue.filter("studentRecord", value => {
  362. let template = {
  363. NORMAL: "正常",
  364. TRUANT: "旷课",
  365. LEAVE: "请假",
  366. DROP_OUT: "退学",
  367. LATE: "迟到",
  368. "": "未签到"
  369. };
  370. return template[value];
  371. });
  372. // 是否
  373. Vue.filter("yesOrNo", value => {
  374. let template = ["否", "是"];
  375. return template[value];
  376. });
  377. // 学员缴费状态
  378. Vue.filter("studentPay", value => {
  379. let template = {
  380. PAID_COMPLETED: "完成缴费",
  381. NON_PAYMENT: "未缴费",
  382. PROCESSING: "缴费中"
  383. };
  384. return template[value];
  385. });
  386. // 学员点名详情
  387. Vue.filter("studentSign", value => {
  388. let template = {
  389. NORMAL: "正常",
  390. TRUANT: "旷课",
  391. LEAVE: "请假",
  392. DROP_OUT: "退学",
  393. LATE: "迟到"
  394. };
  395. return template[value];
  396. });
  397. // 班级类型
  398. Vue.filter("classType", value => {
  399. let template = {
  400. NORMAL: "声部班",
  401. MIX: "合奏班",
  402. HIGH: "基础技能班",
  403. VIP: "VIP",
  404. DEMO: "试听",
  405. SNAP: "临时班",
  406. PRACTICE: "网管课",
  407. HIGH_ONLINE: "线上基础技能课",
  408. MUSIC_NETWORK: "乐团网管课"
  409. };
  410. return template[value];
  411. });
  412. Vue.filter("teachMode", value => {
  413. return constant.teachMode[value];
  414. });
  415. // 老师状态
  416. Vue.filter("teacherStatus", value => {
  417. let template = {
  418. "0": "正常",
  419. "1": "冻结",
  420. "9": "锁定"
  421. };
  422. return template[value];
  423. });
  424. // vip课状态
  425. Vue.filter("vipCourseStatus", value => {
  426. let template = {
  427. 0: "未开始",
  428. 1: "报名中",
  429. 5: "报名结束",
  430. 2: "进行中",
  431. 4: "已结束",
  432. 3: "取消",
  433. 6: "暂停"
  434. };
  435. return template[value];
  436. });
  437. // 账号类型
  438. Vue.filter("accountTypeFormat", value => {
  439. let template = {
  440. 0: "对内",
  441. 1: "对外"
  442. };
  443. return template[value];
  444. });
  445. // 扣减库存
  446. Vue.filter("stockTypeFormat", value => {
  447. let template = {
  448. INTERNAL: "内部",
  449. EXTERNAL: "外部",
  450. ALL: "内部,外部"
  451. };
  452. return template[value];
  453. });
  454. // 交易状态
  455. Vue.filter("paymentChannelStatus", value => {
  456. let template = {
  457. YQPAY: "双乾",
  458. BALANCE: "余额",
  459. ADAPAY: "汇付"
  460. };
  461. return template[value];
  462. });
  463. // edition
  464. Vue.filter("editionFilter", value => {
  465. let template = {
  466. "ios-teacher": "苹果-老师端",
  467. "ios-student": "苹果-学生端",
  468. "ios-education": "苹果-管理端",
  469. "android-teacher": "安卓-老师端",
  470. "android-student": "安卓-学生端",
  471. "android-education": "安卓-管理端",
  472. "ios-electron": "苹果-桌面端",
  473. "win-electron": "win-桌面端"
  474. };
  475. return template[value];
  476. });
  477. // payStatus 订单支付状态
  478. Vue.filter("payStatus", value => {
  479. let template = {
  480. WAIT_PAY: "等待支付",
  481. ING: "交易中",
  482. SUCCESS: "成功交易",
  483. FAILED: "交易失败",
  484. CLOSE: "交易关闭"
  485. };
  486. return template[value];
  487. });
  488. // payType 交易类型
  489. Vue.filter("payType", value => {
  490. let template = {
  491. RECHARGE: "充值",
  492. WITHDRAW: "提现",
  493. PAY_FEE: "缴费",
  494. SPORADIC: "零星收费",
  495. FILL_ACCOUNT: "人工补账",
  496. REFUNDS: "退费",
  497. REWARDS: "奖励",
  498. WAGE: "工资"
  499. };
  500. return template[value];
  501. });
  502. // 课程组状态 FINISH
  503. Vue.filter("courseGroup", value => {
  504. let template = {
  505. NORMAL: "正常",
  506. LOCK: "锁定",
  507. FINISH: "结束",
  508. CANCEL: "取消"
  509. };
  510. return template[value];
  511. });
  512. // 网管课程组
  513. Vue.filter("comCourseGroup", value => {
  514. let template = {
  515. NOT_START: "未开始",
  516. LOCK: "锁定",
  517. APPLYING: "报名中",
  518. NORMAL: "进行中",
  519. FINISH: "结束",
  520. CANCEL: "关闭"
  521. };
  522. return template[value];
  523. });
  524. //网管课类型
  525. Vue.filter("comType", value => {
  526. let template = {
  527. FREE: "免费",
  528. CHARGE: "收费",
  529. TRIAL: "试听课",
  530. CARE_PACKAGE: "关心包",
  531. COME_ON_PACKAGE: "加油包"
  532. };
  533. return template[value];
  534. });
  535. // 首充续费
  536. Vue.filter("firstOrRenewFilter", value => {
  537. let template = {
  538. "0": "续费",
  539. "1": "首次"
  540. };
  541. return template[value];
  542. });
  543. // 老师时间
  544. Vue.filter("transTypeFilter", value => {
  545. let template = {
  546. RECHARGE: "充值",
  547. CONSUME: "建课",
  548. RETURN: "退课",
  549. MANUAL_ADD: "系统充值",
  550. MANUAL_SUB: "系统扣除"
  551. };
  552. return template[value];
  553. });
  554. // paymentType
  555. Vue.filter("paymentType", value => {
  556. let template = {
  557. OFFLINE: "线下",
  558. ONLINE: "线上",
  559. ALL: "全部"
  560. };
  561. return template[value];
  562. });
  563. Vue.filter("paymentListStatus", value => {
  564. let template = {
  565. 0: "未开始",
  566. 1: "已开启",
  567. 2: "已结束"
  568. };
  569. return template[value];
  570. });
  571. // paymentStatus
  572. Vue.filter("paymentStatusDetall", value => {
  573. let template = {
  574. PAID_COMPLETED: "已缴费",
  575. PROCESSING: "缴费中",
  576. NON_PAYMENT: "未缴费"
  577. };
  578. return template[value];
  579. });
  580. Vue.filter("paymentStatusGet", value => {
  581. let template = {
  582. PAID_COMPLETED: "已付款",
  583. PROCESSING: "付款中",
  584. NON_PAYMENT: "未付款"
  585. };
  586. return template[value];
  587. });
  588. Vue.filter("replacementInsFilter", value => {
  589. let template = {
  590. 2: "已缴费",
  591. 1: "缴费中",
  592. 0: "未缴费"
  593. };
  594. return template[value];
  595. });
  596. // 课时申诉
  597. Vue.filter("complaintsStatusEnum", value => {
  598. let template = {
  599. 0: "已拒绝",
  600. 1: "已通过",
  601. 2: "待处理",
  602. 3: "已撤销"
  603. };
  604. return template[value];
  605. });
  606. // 人事状态 isProbationPeriod
  607. Vue.filter("isProbationPeriod", value => {
  608. let template = {
  609. 0: "正式",
  610. 1: "试用",
  611. 2: "离职"
  612. };
  613. return template[value];
  614. });
  615. Vue.filter("visiterType", value => {
  616. let template = {
  617. TEACHER: "指导老师",
  618. EDU_TEACHER: "乐团主管"
  619. };
  620. return template[value];
  621. });
  622. // 人力资源人员状态
  623. Vue.filter("hrStatus", value => {
  624. let template = {
  625. NOT_EMPLOYED: "未录用",
  626. INTERVIEWING: "面试中",
  627. RESERVE: "储备",
  628. PART_TIME: "兼职",
  629. FULL_TIME: "全职",
  630. DIMISSION: "离职",
  631. BLACK_LIST: "黑名单"
  632. };
  633. return template[value];
  634. });
  635. // 费用类型
  636. Vue.filter("feeType", value => {
  637. return constant.feeType[value];
  638. });
  639. // 费用项目
  640. Vue.filter("feeProject", value => {
  641. return constant.feeProject[value];
  642. });
  643. // 销售类型
  644. Vue.filter("saleType", value => {
  645. return constant.saleType[value];
  646. });
  647. // 退费类型 backType
  648. Vue.filter("backType", value => {
  649. return constant.backType[value];
  650. });
  651. // 缴费状态
  652. Vue.filter("teamPayStatus", value => {
  653. const tpl = {
  654. 0: "按月",
  655. 1: "按学期",
  656. 2: "一次性"
  657. };
  658. return tpl[value];
  659. });
  660. Vue.filter("numberFormat", value => {
  661. return numeral(value).format("0,0");
  662. });
  663. // 金额格式化
  664. Vue.filter("moneyFormat", (value, unit = false) => {
  665. if (unit) {
  666. return numeral(value).format("0,0.00") + "元";
  667. } else {
  668. return numeral(value).format("0,0.00");
  669. }
  670. });
  671. Vue.filter("hasMoneyFormat", value => {
  672. if (value) {
  673. return numeral(value).format("0,0.00") + "元";
  674. } else {
  675. return "--";
  676. }
  677. });
  678. Vue.filter("stockTypeStatus", value => {
  679. const template = {
  680. INTERNAL: "内部",
  681. EXTERNAL: "外部",
  682. ALL: "全部"
  683. };
  684. return template[value];
  685. });
  686. // 确认收货类型
  687. Vue.filter("receiveFormat", value => {
  688. let template = {
  689. NO_RECEIVE: "未确认",
  690. MANUAL_RECEIVE: "手动确认",
  691. AUTO_RECEIVE: "自动确认"
  692. };
  693. return template[value];
  694. });
  695. // 缴费方式
  696. Vue.filter("payOrderType", value => {
  697. return constant.payOrderType[value];
  698. });
  699. // 审核状态 auditType
  700. Vue.filter("auditType", value => {
  701. return constant.auditType[value];
  702. });
  703. // 审核申请类型 auditPaymentType
  704. Vue.filter("auditPaymentType", value => {
  705. return constant.auditPaymentType[value];
  706. });
  707. // 销售收入和服务收入
  708. Vue.filter("orderServer", value => {
  709. return constant.orderServerType[value];
  710. });
  711. // 订单审核状态 orderAuditType
  712. Vue.filter("orderAuditType", value => {
  713. constant.orderAuditType[""] = "审核通过";
  714. return constant.orderAuditType[value];
  715. });
  716. Vue.filter("songUseTypeFormat", value => {
  717. return constant.songUseType[value];
  718. });
  719. Vue.filter("rewardModeTypeFormat", value => {
  720. return constant.rewardModeType[value];
  721. });
  722. // 系统日志类型
  723. Vue.filter("journalTypeFormat", value => {
  724. return constant.journalType[value];
  725. });
  726. // 日程安排 inspectionItem
  727. Vue.filter("inspectionItemFormat", value => {
  728. return constant.inspectionItem[value];
  729. });
  730. // 学员列表关心包,加油包
  731. Vue.filter("studentPackage", value => {
  732. return constant.packageStatus[value];
  733. });
  734. // 分部 学年制
  735. Vue.filter("gradeTypeFormat", value => {
  736. return constant.gradeType[value];
  737. });
  738. // 老师状态
  739. Vue.filter("ProbationPeriod", value => {
  740. return constant.ProbationPeriodStatus[value];
  741. });
  742. // 下载列表 类型
  743. // downListType
  744. Vue.filter("downListType", value => {
  745. return constant.downListType[value];
  746. });
  747. // 退团状态
  748. Vue.filter("withdrawalStatus", value => {
  749. return constant.withdrawalStatus[value];
  750. });
  751. //
  752. Vue.filter("conclusionStatus", value => {
  753. return constant.conclusion[value];
  754. });
  755. Vue.filter("courseViewType", value => {
  756. return constant.courseViewType[value];
  757. });
  758. Vue.filter("couponTypeFilter", value => {
  759. return constant.couponType[value];
  760. });
  761. // couponType
  762. Vue.filter("catRoleFilter", value => {
  763. return constant.couponType[value];
  764. });
  765. Vue.filter("tenantStatus", value => {
  766. return constant.tenantStatus[value];
  767. });
  768. Vue.filter("cloudGroupActive", value => {
  769. let template = {
  770. 1: "天数",
  771. 2: "月度",
  772. 3: "季度",
  773. 4: "半年",
  774. 5: "年度"
  775. };
  776. return template[value];
  777. });
  778. Vue.filter("chargingStatus", value => {
  779. return constant.chargingStatus[value];
  780. });
  781. // 群消息类型
  782. Vue.filter("catgGoupType", value => {
  783. return constant.catgGoupType[value];
  784. });
  785. // 群类型
  786. Vue.filter("catType", value => {
  787. return constant.catType[value];
  788. });
  789. Vue.filter("catDotType", value => {
  790. return constant.catDotType[value];
  791. });
  792. Vue.filter("quiteReasonFilter", value => {
  793. return constant.quiteReason[value];
  794. });
  795. // 直播设备
  796. Vue.filter("osFilter", value => {
  797. return constant.osType[value];
  798. });
  799. // 直播方案
  800. Vue.filter("serviceProvider", value => {
  801. return constant.serviceProvider[value];
  802. });
  803. // 考级状态
  804. Vue.filter("levelStatus", value => {
  805. return constant.levelStatus[value];
  806. });
  807. // palyLevel 难度
  808. Vue.filter("palyLevelFilter", value => {
  809. return constant.palyLevel[value];
  810. });
  811. Vue.filter("usageStatus", value => {
  812. let obj = {
  813. 0: "未使用",
  814. 1: "已使用",
  815. 2: "已过期"
  816. };
  817. return obj[value];
  818. });
  819. Vue.filter("liveState", value => {
  820. let obj = {
  821. 0: "未开始",
  822. 1: "直播中",
  823. 2: "已结束"
  824. };
  825. return obj[value];
  826. });