vueFilter.js 20 KB

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