vueFilter.js 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951
  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. LIVE: "直播课"
  412. };
  413. return template[value];
  414. });
  415. Vue.filter("teachMode", value => {
  416. return constant.teachMode[value];
  417. });
  418. // 老师状态
  419. Vue.filter("teacherStatus", value => {
  420. let template = {
  421. 0: "正常",
  422. 1: "冻结",
  423. 9: "锁定"
  424. };
  425. return template[value];
  426. });
  427. // vip课状态
  428. Vue.filter("vipCourseStatus", value => {
  429. let template = {
  430. 0: "未开始",
  431. 1: "报名中",
  432. 5: "报名结束",
  433. 2: "进行中",
  434. 4: "已结束",
  435. 3: "取消",
  436. 6: "暂停"
  437. };
  438. return template[value];
  439. });
  440. // 账号类型
  441. Vue.filter("accountTypeFormat", value => {
  442. let template = {
  443. 0: "对内",
  444. 1: "对外"
  445. };
  446. return template[value];
  447. });
  448. // 扣减库存
  449. Vue.filter("stockTypeFormat", value => {
  450. let template = {
  451. INTERNAL: "内部",
  452. EXTERNAL: "外部",
  453. ALL: "内部,外部"
  454. };
  455. return template[value];
  456. });
  457. // 交易状态
  458. Vue.filter("paymentChannelStatus", value => {
  459. let template = {
  460. YQPAY: "双乾",
  461. BALANCE: "余额",
  462. ADAPAY: "汇付"
  463. };
  464. return template[value];
  465. });
  466. // edition
  467. Vue.filter("editionFilter", value => {
  468. let template = {
  469. "ios-teacher": "苹果-老师端",
  470. "ios-student": "苹果-学生端",
  471. "ios-education": "苹果-管理端",
  472. "android-teacher": "安卓-老师端",
  473. "android-student": "安卓-学生端",
  474. "android-education": "安卓-管理端",
  475. "ios-electron": "苹果-桌面端",
  476. "win-electron": "win-桌面端"
  477. };
  478. return template[value];
  479. });
  480. // payStatus 订单支付状态
  481. Vue.filter("payStatus", value => {
  482. let template = {
  483. WAIT_PAY: "等待支付",
  484. ING: "交易中",
  485. SUCCESS: "成功交易",
  486. FAILED: "交易失败",
  487. CLOSE: "交易关闭"
  488. };
  489. return template[value];
  490. });
  491. // payType 交易类型
  492. Vue.filter("payType", value => {
  493. let template = {
  494. RECHARGE: "充值",
  495. WITHDRAW: "提现",
  496. PAY_FEE: "缴费",
  497. SPORADIC: "零星收费",
  498. FILL_ACCOUNT: "人工补账",
  499. REFUNDS: "退费",
  500. REWARDS: "奖励",
  501. WAGE: "工资"
  502. };
  503. return template[value];
  504. });
  505. // 课程组状态 FINISH
  506. Vue.filter("courseGroup", value => {
  507. let template = {
  508. NORMAL: "正常",
  509. LOCK: "锁定",
  510. FINISH: "结束",
  511. CANCEL: "取消"
  512. };
  513. return template[value];
  514. });
  515. // 网管课程组
  516. Vue.filter("comCourseGroup", value => {
  517. let template = {
  518. NOT_START: "未开始",
  519. LOCK: "锁定",
  520. APPLYING: "报名中",
  521. NORMAL: "进行中",
  522. FINISH: "结束",
  523. CANCEL: "关闭"
  524. };
  525. return template[value];
  526. });
  527. //网管课类型
  528. Vue.filter("comType", value => {
  529. let template = {
  530. FREE: "免费",
  531. CHARGE: "收费",
  532. TRIAL: "试听课",
  533. CARE_PACKAGE: "关心包",
  534. COME_ON_PACKAGE: "加油包"
  535. };
  536. return template[value];
  537. });
  538. // 首充续费
  539. Vue.filter("firstOrRenewFilter", value => {
  540. let template = {
  541. 0: "续费",
  542. 1: "首次"
  543. };
  544. return template[value];
  545. });
  546. // 老师时间
  547. Vue.filter("transTypeFilter", value => {
  548. let template = {
  549. RECHARGE: "充值",
  550. CONSUME: "建课",
  551. RETURN: "退课",
  552. MANUAL_ADD: "系统充值",
  553. MANUAL_SUB: "系统扣除"
  554. };
  555. return template[value];
  556. });
  557. // paymentType
  558. Vue.filter("paymentType", value => {
  559. let template = {
  560. OFFLINE: "线下",
  561. ONLINE: "线上",
  562. ALL: "全部"
  563. };
  564. return template[value];
  565. });
  566. Vue.filter("paymentListStatus", value => {
  567. let template = {
  568. 0: "未开始",
  569. 1: "已开启",
  570. 2: "已结束"
  571. };
  572. return template[value];
  573. });
  574. // paymentStatus
  575. Vue.filter("paymentStatusDetall", value => {
  576. let template = {
  577. PAID_COMPLETED: "已缴费",
  578. PROCESSING: "缴费中",
  579. NON_PAYMENT: "未缴费"
  580. };
  581. return template[value];
  582. });
  583. Vue.filter("paymentStatusGet", value => {
  584. let template = {
  585. PAID_COMPLETED: "已付款",
  586. PROCESSING: "付款中",
  587. NON_PAYMENT: "未付款"
  588. };
  589. return template[value];
  590. });
  591. Vue.filter("replacementInsFilter", value => {
  592. let template = {
  593. 2: "已缴费",
  594. 1: "缴费中",
  595. 0: "未缴费"
  596. };
  597. return template[value];
  598. });
  599. // 课时申诉
  600. Vue.filter("complaintsStatusEnum", value => {
  601. let template = {
  602. 0: "已拒绝",
  603. 1: "已通过",
  604. 2: "待处理",
  605. 3: "已撤销"
  606. };
  607. return template[value];
  608. });
  609. // 人事状态 isProbationPeriod
  610. Vue.filter("isProbationPeriod", value => {
  611. let template = {
  612. 0: "正式",
  613. 1: "试用",
  614. 2: "离职"
  615. };
  616. return template[value];
  617. });
  618. Vue.filter("visiterType", value => {
  619. let template = {
  620. TEACHER: "指导老师",
  621. EDU_TEACHER: "乐团主管"
  622. };
  623. return template[value];
  624. });
  625. // 人力资源人员状态
  626. Vue.filter("hrStatus", value => {
  627. let template = {
  628. NOT_EMPLOYED: "未录用",
  629. INTERVIEWING: "面试中",
  630. RESERVE: "储备",
  631. PART_TIME: "兼职",
  632. FULL_TIME: "全职",
  633. DIMISSION: "离职",
  634. BLACK_LIST: "黑名单"
  635. };
  636. return template[value];
  637. });
  638. // 费用类型
  639. Vue.filter("feeType", value => {
  640. return constant.feeType[value];
  641. });
  642. // 费用项目
  643. Vue.filter("feeProject", value => {
  644. return constant.feeProject[value];
  645. });
  646. // 销售类型
  647. Vue.filter("saleType", value => {
  648. return constant.saleType[value];
  649. });
  650. // 退费类型 backType
  651. Vue.filter("backType", value => {
  652. return constant.backType[value];
  653. });
  654. // 缴费状态
  655. Vue.filter("teamPayStatus", value => {
  656. const tpl = {
  657. 0: "按月",
  658. 1: "按学期",
  659. 2: "一次性"
  660. };
  661. return tpl[value];
  662. });
  663. Vue.filter("numberFormat", value => {
  664. return numeral(value).format("0,0");
  665. });
  666. // 金额格式化
  667. Vue.filter("moneyFormat", (value, unit = false) => {
  668. if (unit) {
  669. return numeral(value).format("0,0.00") + "元";
  670. } else {
  671. return numeral(value).format("0,0.00");
  672. }
  673. });
  674. Vue.filter("hasMoneyFormat", value => {
  675. if (value) {
  676. return numeral(value).format("0,0.00") + "元";
  677. } else {
  678. return "--";
  679. }
  680. });
  681. Vue.filter("stockTypeStatus", value => {
  682. const template = {
  683. INTERNAL: "内部",
  684. EXTERNAL: "外部",
  685. ALL: "全部"
  686. };
  687. return template[value];
  688. });
  689. // 确认收货类型
  690. Vue.filter("receiveFormat", value => {
  691. let template = {
  692. NO_RECEIVE: "未确认",
  693. MANUAL_RECEIVE: "手动确认",
  694. AUTO_RECEIVE: "自动确认"
  695. };
  696. return template[value];
  697. });
  698. // 缴费方式
  699. Vue.filter("payOrderType", value => {
  700. return constant.payOrderType[value];
  701. });
  702. // 审核状态 auditType
  703. Vue.filter("auditType", value => {
  704. return constant.auditType[value];
  705. });
  706. // 审核申请类型 auditPaymentType
  707. Vue.filter("auditPaymentType", value => {
  708. return constant.auditPaymentType[value];
  709. });
  710. // 销售收入和服务收入
  711. Vue.filter("orderServer", value => {
  712. return constant.orderServerType[value];
  713. });
  714. // 订单审核状态 orderAuditType
  715. Vue.filter("orderAuditType", value => {
  716. constant.orderAuditType[""] = "审核通过";
  717. return constant.orderAuditType[value];
  718. });
  719. Vue.filter("songUseTypeFormat", value => {
  720. return constant.songUseType[value];
  721. });
  722. Vue.filter("rewardModeTypeFormat", value => {
  723. return constant.rewardModeType[value];
  724. });
  725. // 系统日志类型
  726. Vue.filter("journalTypeFormat", value => {
  727. return constant.journalType[value];
  728. });
  729. // 日程安排 inspectionItem
  730. Vue.filter("inspectionItemFormat", value => {
  731. return constant.inspectionItem[value];
  732. });
  733. // 学员列表关心包,加油包
  734. Vue.filter("studentPackage", value => {
  735. return constant.packageStatus[value];
  736. });
  737. // 分部 学年制
  738. Vue.filter("gradeTypeFormat", value => {
  739. return constant.gradeType[value];
  740. });
  741. // 老师状态
  742. Vue.filter("ProbationPeriod", value => {
  743. return constant.ProbationPeriodStatus[value];
  744. });
  745. // 下载列表 类型
  746. // downListType
  747. Vue.filter("downListType", value => {
  748. return constant.downListType[value];
  749. });
  750. // 退团状态
  751. Vue.filter("withdrawalStatus", value => {
  752. return constant.withdrawalStatus[value];
  753. });
  754. //
  755. Vue.filter("conclusionStatus", value => {
  756. return constant.conclusion[value];
  757. });
  758. Vue.filter("courseViewType", value => {
  759. return constant.courseViewType[value];
  760. });
  761. Vue.filter("couponTypeFilter", value => {
  762. return constant.couponType[value];
  763. });
  764. // couponType
  765. Vue.filter("catRoleFilter", value => {
  766. return constant.couponType[value];
  767. });
  768. Vue.filter("tenantStatus", value => {
  769. return constant.tenantStatus[value];
  770. });
  771. Vue.filter("cloudGroupActive", value => {
  772. let template = {
  773. 1: "天数",
  774. 2: "月度",
  775. 3: "季度",
  776. 4: "半年",
  777. 5: "年度"
  778. };
  779. return template[value];
  780. });
  781. Vue.filter("chargingStatus", value => {
  782. return constant.chargingStatus[value];
  783. });
  784. // 群消息类型
  785. Vue.filter("catgGoupType", value => {
  786. return constant.catgGoupType[value];
  787. });
  788. // 群类型
  789. Vue.filter("catType", value => {
  790. return constant.catType[value];
  791. });
  792. Vue.filter("catDotType", value => {
  793. return constant.catDotType[value];
  794. });
  795. Vue.filter("quiteReasonFilter", value => {
  796. return constant.quiteReason[value];
  797. });
  798. // 直播设备
  799. Vue.filter("osFilter", value => {
  800. return constant.osType[value];
  801. });
  802. // 直播方案
  803. Vue.filter("serviceProvider", value => {
  804. return constant.serviceProvider[value];
  805. });
  806. // 考级状态
  807. Vue.filter("levelStatus", value => {
  808. return constant.levelStatus[value];
  809. });
  810. // palyLevel 难度
  811. Vue.filter("palyLevelFilter", value => {
  812. return constant.palyLevel[value];
  813. });
  814. // schoolUserType
  815. Vue.filter("schoolUserType", value => {
  816. return constant.schoolUserType[value];
  817. });
  818. // 学校巡堂综合评价
  819. Vue.filter("evaluateStatus", value => {
  820. return constant.evaluateStatus[value];
  821. });
  822. // 学校巡堂问题类型
  823. Vue.filter("problemType", value => {
  824. // 自定义问题类型
  825. if (value) {
  826. const arrList = value
  827. .split(",")
  828. .map(item => {
  829. return constant.problemType[item];
  830. })
  831. .join(",");
  832. return arrList;
  833. // constant.problemType[value];
  834. } else {
  835. return "--";
  836. }
  837. });
  838. Vue.filter("schoolUserStatus", value => {
  839. let obj = {
  840. "-1": "注销",
  841. 9: "冻结",
  842. 1: "激活"
  843. };
  844. return obj[value];
  845. });
  846. Vue.filter("usageStatus", value => {
  847. let obj = {
  848. 0: "未使用",
  849. 1: "已使用",
  850. 2: "已过期"
  851. };
  852. return obj[value];
  853. });
  854. Vue.filter("liveState", value => {
  855. let obj = {
  856. 0: "未开始",
  857. 1: "直播中",
  858. 2: "已结束"
  859. };
  860. return obj[value];
  861. });
  862. Vue.filter("joinCourseType", value => {
  863. return constant.joinCourseType[value];
  864. });