vueFilter.js 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911
  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("shareLiveTypeFilter", val => constant.shareLiveType[val]);
  218. // 时间处理
  219. Vue.filter("timer", value => {
  220. if (value) {
  221. let tempDate = new Date(value);
  222. let month =
  223. tempDate.getHours() >= 10
  224. ? tempDate.getHours()
  225. : "0" + tempDate.getHours();
  226. let days =
  227. tempDate.getMinutes() >= 10
  228. ? tempDate.getMinutes()
  229. : "0" + tempDate.getMinutes();
  230. return month + ":" + days;
  231. } else {
  232. return value;
  233. }
  234. });
  235. // 格式化成星期
  236. Vue.filter("formatWeek", date => {
  237. let nd = new Date(date);
  238. let temp = [
  239. "星期天",
  240. "星期一",
  241. "星期二",
  242. "星期三",
  243. "星期四",
  244. "星期五",
  245. "星期六"
  246. ];
  247. return temp[nd.getDay()];
  248. });
  249. // 职位
  250. Vue.filter("jobType", value => {
  251. let template = {
  252. ADVISER: "指导老师",
  253. ACADEMIC: "乐团主管",
  254. TEACHING: "乐队指导"
  255. };
  256. return template[value];
  257. });
  258. // 工作类型
  259. Vue.filter("jobNature", value => {
  260. return constant.jobNature[value];
  261. });
  262. // 发券方式
  263. Vue.filter("issueType", value => {
  264. return constant.issue[value];
  265. });
  266. // 考勤状态
  267. Vue.filter("attendanceType", value => {
  268. let template = {
  269. 0: "异常",
  270. 1: "正常",
  271. 3: "未签到"
  272. };
  273. return template[value];
  274. });
  275. // 考情签退
  276. Vue.filter("attendanceOutType", value => {
  277. let template = {
  278. 0: "异常",
  279. 1: "正常",
  280. 3: "未签退"
  281. };
  282. return template[value];
  283. });
  284. // 上课类型
  285. Vue.filter("workType", value => {
  286. return constant.workType[value];
  287. });
  288. // 交易类型
  289. Vue.filter("orderType", value => constant.orderType[value]);
  290. //
  291. Vue.filter("paymentChannelType", value => {
  292. let template = {
  293. PER: "个人",
  294. COM: "公司"
  295. };
  296. return template[value];
  297. });
  298. // 交易状态
  299. Vue.filter("dealStatus", value => {
  300. let template = {
  301. ING: "交易中",
  302. SUCCESS: "成功交易",
  303. FAILED: "交易失败",
  304. CLOSE: "交易关闭"
  305. };
  306. return template[value];
  307. });
  308. // 交易状态
  309. Vue.filter("returnStatus", value => {
  310. let template = {
  311. ING: "审核中",
  312. REJECT: "拒绝",
  313. WAIT_PAYMENT: "待支付",
  314. DONE: "完成"
  315. };
  316. return template[value];
  317. });
  318. // 缴费状态
  319. Vue.filter("payTypeStatus", val => {
  320. return constant.payStatus[val];
  321. });
  322. // 性别
  323. Vue.filter("sex", value => {
  324. let template = ["女", "男"];
  325. return template[value];
  326. });
  327. // 服从调剂 isAllowAdjust
  328. Vue.filter("isAllowAdjust", value => {
  329. let template = ["否", "是"];
  330. return template[value];
  331. });
  332. // 学员缴费状态 paymentStatus
  333. Vue.filter("paymentStatus", value => {
  334. let template = ["未开启缴费", "开启缴费", "已缴费"];
  335. return template[value];
  336. });
  337. // 乐团状态
  338. // Vue.filter('teamStatus', value => {
  339. // let template = {
  340. // PRE_APPLY: "预报名中",
  341. // APPLY: "报名中",
  342. // PAY: "缴费中",
  343. // PREPARE: "筹备中",
  344. // PROGRESS: "进行中",
  345. // DRAFT: '创建缴费中',
  346. // CANCELED: '取消',
  347. // PAUSE: '暂停',
  348. // AUDIT: '乐团审核中',
  349. // DRAFT: '编辑中',
  350. // AUDIT_FAILED: '审核失败',
  351. // FEE_AUDIT: '费用审核中',
  352. // CLOSE: '已关闭',
  353. // }
  354. // return template[value]
  355. // })
  356. // 学生状态
  357. /**studentStatus */
  358. Vue.filter("studentStatus", value => {
  359. let template = ["在读", "已退课", "退课中", "休学"];
  360. return template[value];
  361. });
  362. // 学生点名
  363. Vue.filter("studentRecord", value => {
  364. let template = {
  365. NORMAL: "正常",
  366. TRUANT: "旷课",
  367. LEAVE: "请假",
  368. DROP_OUT: "退学",
  369. LATE: "迟到",
  370. "": "未签到"
  371. };
  372. return template[value];
  373. });
  374. // 是否
  375. Vue.filter("yesOrNo", value => {
  376. let template = ["否", "是"];
  377. return template[value];
  378. });
  379. // 学员缴费状态
  380. Vue.filter("studentPay", value => {
  381. let template = {
  382. PAID_COMPLETED: "完成缴费",
  383. NON_PAYMENT: "未缴费",
  384. PROCESSING: "缴费中"
  385. };
  386. return template[value];
  387. });
  388. // 学员点名详情
  389. Vue.filter("studentSign", value => {
  390. let template = {
  391. NORMAL: "正常",
  392. TRUANT: "旷课",
  393. LEAVE: "请假",
  394. DROP_OUT: "退学",
  395. LATE: "迟到"
  396. };
  397. return template[value];
  398. });
  399. // 班级类型
  400. Vue.filter("classType", value => {
  401. let template = {
  402. NORMAL: "声部班",
  403. MIX: "合奏班",
  404. HIGH: "基础技能班",
  405. VIP: "VIP",
  406. DEMO: "试听",
  407. SNAP: "临时班",
  408. PRACTICE: "网管课",
  409. HIGH_ONLINE: "线上基础技能课",
  410. MUSIC_NETWORK: "乐团网管课"
  411. };
  412. return template[value];
  413. });
  414. Vue.filter("teachMode", value => {
  415. return constant.teachMode[value];
  416. });
  417. // 老师状态
  418. Vue.filter("teacherStatus", value => {
  419. let template = {
  420. "0": "正常",
  421. "1": "冻结",
  422. "9": "锁定"
  423. };
  424. return template[value];
  425. });
  426. // vip课状态
  427. Vue.filter("vipCourseStatus", value => {
  428. let template = {
  429. 0: "未开始",
  430. 1: "报名中",
  431. 5: "报名结束",
  432. 2: "进行中",
  433. 4: "已结束",
  434. 3: "取消",
  435. 6: "暂停"
  436. };
  437. return template[value];
  438. });
  439. // 账号类型
  440. Vue.filter("accountTypeFormat", value => {
  441. let template = {
  442. 0: "对内",
  443. 1: "对外"
  444. };
  445. return template[value];
  446. });
  447. // 扣减库存
  448. Vue.filter("stockTypeFormat", value => {
  449. let template = {
  450. INTERNAL: "内部",
  451. EXTERNAL: "外部",
  452. ALL: "内部,外部"
  453. };
  454. return template[value];
  455. });
  456. // 交易状态
  457. Vue.filter("paymentChannelStatus", value => {
  458. let template = {
  459. YQPAY: "双乾",
  460. BALANCE: "余额",
  461. ADAPAY: "汇付"
  462. };
  463. return template[value];
  464. });
  465. // edition
  466. Vue.filter("editionFilter", value => {
  467. let template = {
  468. "ios-teacher": "苹果-老师端",
  469. "ios-student": "苹果-学生端",
  470. "ios-education": "苹果-管理端",
  471. "android-teacher": "安卓-老师端",
  472. "android-student": "安卓-学生端",
  473. "android-education": "安卓-管理端",
  474. "ios-electron": "苹果-桌面端",
  475. "win-electron": "win-桌面端"
  476. };
  477. return template[value];
  478. });
  479. // payStatus 订单支付状态
  480. Vue.filter("payStatus", value => {
  481. let template = {
  482. WAIT_PAY: "等待支付",
  483. ING: "交易中",
  484. SUCCESS: "成功交易",
  485. FAILED: "交易失败",
  486. CLOSE: "交易关闭"
  487. };
  488. return template[value];
  489. });
  490. // payType 交易类型
  491. Vue.filter("payType", value => {
  492. let template = {
  493. RECHARGE: "充值",
  494. WITHDRAW: "提现",
  495. PAY_FEE: "缴费",
  496. SPORADIC: "零星收费",
  497. FILL_ACCOUNT: "人工补账",
  498. REFUNDS: "退费",
  499. REWARDS: "奖励",
  500. WAGE: "工资"
  501. };
  502. return template[value];
  503. });
  504. // 课程组状态 FINISH
  505. Vue.filter("courseGroup", value => {
  506. let template = {
  507. NORMAL: "正常",
  508. LOCK: "锁定",
  509. FINISH: "结束",
  510. CANCEL: "取消"
  511. };
  512. return template[value];
  513. });
  514. // 网管课程组
  515. Vue.filter("comCourseGroup", value => {
  516. let template = {
  517. NOT_START: "未开始",
  518. LOCK: "锁定",
  519. APPLYING: "报名中",
  520. NORMAL: "进行中",
  521. FINISH: "结束",
  522. CANCEL: "关闭"
  523. };
  524. return template[value];
  525. });
  526. //网管课类型
  527. Vue.filter("comType", value => {
  528. let template = {
  529. FREE: "免费",
  530. CHARGE: "收费",
  531. TRIAL: "试听课",
  532. CARE_PACKAGE: "关心包",
  533. COME_ON_PACKAGE: "加油包"
  534. };
  535. return template[value];
  536. });
  537. // 首充续费
  538. Vue.filter("firstOrRenewFilter", value => {
  539. let template = {
  540. "0": "续费",
  541. "1": "首次"
  542. };
  543. return template[value];
  544. });
  545. // 老师时间
  546. Vue.filter("transTypeFilter", value => {
  547. let template = {
  548. RECHARGE: "充值",
  549. CONSUME: "建课",
  550. RETURN: "退课",
  551. MANUAL_ADD: "系统充值",
  552. MANUAL_SUB: "系统扣除"
  553. };
  554. return template[value];
  555. });
  556. // paymentType
  557. Vue.filter("paymentType", value => {
  558. let template = {
  559. OFFLINE: "线下",
  560. ONLINE: "线上",
  561. ALL: "全部"
  562. };
  563. return template[value];
  564. });
  565. Vue.filter("paymentListStatus", value => {
  566. let template = {
  567. 0: "未开始",
  568. 1: "已开启",
  569. 2: "已结束"
  570. };
  571. return template[value];
  572. });
  573. // paymentStatus
  574. Vue.filter("paymentStatusDetall", value => {
  575. let template = {
  576. PAID_COMPLETED: "已缴费",
  577. PROCESSING: "缴费中",
  578. NON_PAYMENT: "未缴费"
  579. };
  580. return template[value];
  581. });
  582. Vue.filter("paymentStatusGet", value => {
  583. let template = {
  584. PAID_COMPLETED: "已付款",
  585. PROCESSING: "付款中",
  586. NON_PAYMENT: "未付款"
  587. };
  588. return template[value];
  589. });
  590. Vue.filter("replacementInsFilter", value => {
  591. let template = {
  592. 2: "已缴费",
  593. 1: "缴费中",
  594. 0: "未缴费"
  595. };
  596. return template[value];
  597. });
  598. // 课时申诉
  599. Vue.filter("complaintsStatusEnum", value => {
  600. let template = {
  601. 0: "已拒绝",
  602. 1: "已通过",
  603. 2: "待处理",
  604. 3: "已撤销"
  605. };
  606. return template[value];
  607. });
  608. // 人事状态 isProbationPeriod
  609. Vue.filter("isProbationPeriod", value => {
  610. let template = {
  611. 0: "正式",
  612. 1: "试用",
  613. 2: "离职"
  614. };
  615. return template[value];
  616. });
  617. Vue.filter("visiterType", value => {
  618. let template = {
  619. TEACHER: "指导老师",
  620. EDU_TEACHER: "乐团主管"
  621. };
  622. return template[value];
  623. });
  624. // 人力资源人员状态
  625. Vue.filter("hrStatus", value => {
  626. let template = {
  627. NOT_EMPLOYED: "未录用",
  628. INTERVIEWING: "面试中",
  629. RESERVE: "储备",
  630. PART_TIME: "兼职",
  631. FULL_TIME: "全职",
  632. DIMISSION: "离职",
  633. BLACK_LIST: "黑名单"
  634. };
  635. return template[value];
  636. });
  637. // 费用类型
  638. Vue.filter("feeType", value => {
  639. return constant.feeType[value];
  640. });
  641. // 费用项目
  642. Vue.filter("feeProject", value => {
  643. return constant.feeProject[value];
  644. });
  645. // 销售类型
  646. Vue.filter("saleType", value => {
  647. return constant.saleType[value];
  648. });
  649. // 退费类型 backType
  650. Vue.filter("backType", value => {
  651. return constant.backType[value];
  652. });
  653. // 缴费状态
  654. Vue.filter("teamPayStatus", value => {
  655. const tpl = {
  656. 0: "按月",
  657. 1: "按学期",
  658. 2: "一次性"
  659. };
  660. return tpl[value];
  661. });
  662. Vue.filter("numberFormat", value => {
  663. return numeral(value).format("0,0");
  664. });
  665. // 金额格式化
  666. Vue.filter("moneyFormat", (value, unit = false) => {
  667. if (unit) {
  668. return numeral(value).format("0,0.00") + "元";
  669. } else {
  670. return numeral(value).format("0,0.00");
  671. }
  672. });
  673. Vue.filter("hasMoneyFormat", value => {
  674. if (value) {
  675. return numeral(value).format("0,0.00") + "元";
  676. } else {
  677. return "--";
  678. }
  679. });
  680. Vue.filter("stockTypeStatus", value => {
  681. const template = {
  682. INTERNAL: "内部",
  683. EXTERNAL: "外部",
  684. ALL: "全部"
  685. };
  686. return template[value];
  687. });
  688. // 确认收货类型
  689. Vue.filter("receiveFormat", value => {
  690. let template = {
  691. NO_RECEIVE: "未确认",
  692. MANUAL_RECEIVE: "手动确认",
  693. AUTO_RECEIVE: "自动确认"
  694. };
  695. return template[value];
  696. });
  697. // 缴费方式
  698. Vue.filter("payOrderType", value => {
  699. return constant.payOrderType[value];
  700. });
  701. // 审核状态 auditType
  702. Vue.filter("auditType", value => {
  703. return constant.auditType[value];
  704. });
  705. // 审核申请类型 auditPaymentType
  706. Vue.filter("auditPaymentType", value => {
  707. return constant.auditPaymentType[value];
  708. });
  709. // 销售收入和服务收入
  710. Vue.filter("orderServer", value => {
  711. return constant.orderServerType[value];
  712. });
  713. // 订单审核状态 orderAuditType
  714. Vue.filter("orderAuditType", value => {
  715. constant.orderAuditType[""] = "审核通过";
  716. return constant.orderAuditType[value];
  717. });
  718. Vue.filter("songUseTypeFormat", value => {
  719. return constant.songUseType[value];
  720. });
  721. Vue.filter("rewardModeTypeFormat", value => {
  722. return constant.rewardModeType[value];
  723. });
  724. // 系统日志类型
  725. Vue.filter("journalTypeFormat", value => {
  726. return constant.journalType[value];
  727. });
  728. // 日程安排 inspectionItem
  729. Vue.filter("inspectionItemFormat", value => {
  730. return constant.inspectionItem[value];
  731. });
  732. // 学员列表关心包,加油包
  733. Vue.filter("studentPackage", value => {
  734. return constant.packageStatus[value];
  735. });
  736. // 分部 学年制
  737. Vue.filter("gradeTypeFormat", value => {
  738. return constant.gradeType[value];
  739. });
  740. // 老师状态
  741. Vue.filter("ProbationPeriod", value => {
  742. return constant.ProbationPeriodStatus[value];
  743. });
  744. // 下载列表 类型
  745. // downListType
  746. Vue.filter("downListType", value => {
  747. return constant.downListType[value];
  748. });
  749. // 退团状态
  750. Vue.filter("withdrawalStatus", value => {
  751. return constant.withdrawalStatus[value];
  752. });
  753. //
  754. Vue.filter("conclusionStatus", value => {
  755. return constant.conclusion[value];
  756. });
  757. Vue.filter("courseViewType", value => {
  758. return constant.courseViewType[value];
  759. });
  760. Vue.filter("couponTypeFilter", value => {
  761. return constant.couponType[value];
  762. });
  763. // couponType
  764. Vue.filter("catRoleFilter", value => {
  765. return constant.couponType[value];
  766. });
  767. Vue.filter("tenantStatus", value => {
  768. return constant.tenantStatus[value];
  769. });
  770. Vue.filter("cloudGroupActive", value => {
  771. let template = {
  772. 1: "天数",
  773. 2: "月度",
  774. 3: "季度",
  775. 4: "半年",
  776. 5: "年度"
  777. };
  778. return template[value];
  779. });
  780. Vue.filter("chargingStatus", value => {
  781. return constant.chargingStatus[value];
  782. });
  783. // 群消息类型
  784. Vue.filter("catgGoupType", value => {
  785. return constant.catgGoupType[value];
  786. });
  787. // 群类型
  788. Vue.filter("catType", value => {
  789. return constant.catType[value];
  790. });
  791. Vue.filter("catDotType", value => {
  792. return constant.catDotType[value];
  793. });
  794. Vue.filter("quiteReasonFilter", value => {
  795. return constant.quiteReason[value];
  796. });
  797. // 直播设备
  798. Vue.filter("osFilter", value => {
  799. return constant.osType[value];
  800. });
  801. // 直播方案
  802. Vue.filter("serviceProvider", value => {
  803. return constant.serviceProvider[value];
  804. });
  805. // 考级状态
  806. Vue.filter("levelStatus", value => {
  807. return constant.levelStatus[value];
  808. });
  809. // palyLevel 难度
  810. Vue.filter("palyLevelFilter", value => {
  811. return constant.palyLevel[value];
  812. });
  813. Vue.filter("usageStatus", value => {
  814. let obj = {
  815. 0: "未使用",
  816. 1: "已使用",
  817. 2: "已过期"
  818. };
  819. return obj[value];
  820. });
  821. Vue.filter("liveState", value => {
  822. let obj = {
  823. 0: "未开始",
  824. 1: "直播中",
  825. 2: "已结束"
  826. };
  827. return obj[value];
  828. });