constant.js 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364
  1. import dayjs from 'dayjs'
  2. export const descs = {
  3. STUDENT_REGISTRATION_NUM: '截止到昨日,系统注册学员总数',
  4. CHARGE_STUDENT_CHANGE_RATE: '截止到昨日,注册学员现金付费率(有订单交易成功的都算,导入的也算)',
  5. ACTIVATION_RATE: '截止到昨日,筹备中或进行中乐团在读学员和有VIP或网管课学员激活率(VIP网管课最后一节课在6个月前则不纳入统计)',
  6. SCHOOL: '截止到昨日,存在【进行中】乐团的【合作单位】总数',
  7. PROGRESS_MUSIC_GROUP_NUM: '截止到昨日,【进行中】乐团总数',
  8. TEACHER_NUM: '截止到昨日,非冻结,且离职时间在昨日之后的老师总数',
  9. FULL_TIME_NUM: '截止到昨日,非冻结、离职时间在昨日之后,且工作类型为【全职】的老师总数',
  10. PART_TIME_NUM: '截止到昨日,非冻结、离职时间在昨日之后,且工作类型为【兼职】的老师总数',
  11. SURPLUS_COURSE_NUM: '截止到昨日,系统中【未开始】课程总数(乐团+VIP+网管)【不包括试听课】',
  12. SURPLUS_MUSIC_COURSE_NUM: '截止到昨日,系统乐团【未开始】课程总数',
  13. SURPLUS_VIP_COURSE_NUM: '截止到昨日,系统中【未开始】VIP课程总数',
  14. SURPLUS_PRACTICE_COURSE_NUM: '截止到昨日,系统中【未开始】网管课程总数',
  15. OVER_COURSE_NUM: '截止到昨日,系统中【已结束】课程总数(乐团+VIP+网管)【不包括试听课】',
  16. OVER_MUSIC_COURSE_NUM: '截止到昨日,系统中乐团【已结束】课程总数',
  17. OVER_VIP_COURSE_NUM: '截止到昨日,系统中【已结束】VIP课程总数',
  18. OVER_PRACTICE_COURSE_NUM: '截止到昨日,系统中【已结束】网管课程总数',
  19. FINANCE_PAY: '筛选时间段内支出金额总和',
  20. FINANCE_BALANCE_AMOUNT: '筛选时间段内余额消耗总和',
  21. FINANCE_AMOUNT: '筛选时间段内现金收入总和',
  22. HOMEWORK_CREATE_RATE: '筛选时间段内,服务指标训练总布置率',
  23. HOMEWORK_SUBMIT_RATE: '筛选时间段内,已布置的训练学员总提交率(包括服务指标外的训练)',
  24. HOMEWORK_COMMENT_RATE: '筛选时间段内,学员已提交的训练老师总点评率',
  25. MUSIC_GROUP_COURSE: '筛选时间段内,乐团课程总数',
  26. VIP_GROUP_COURSE: '筛选时间段内,VIP课程总数',
  27. PRACTICE_GROUP_COURSE: '筛选时间段内,网管课程总数',
  28. ADD_STUDENT_REGISTRATION_NUM: '筛选时间段内,新注册学员总数',
  29. MUSIC_GROUP_STUDENT: '筛选时间段中最后一日,【进行中】乐团【在读】学员总数,分部下去重',
  30. NEWLY_STUDENT_NUM: '筛选时间段内,新增的【进行中】乐团【在读】学员总数(学员当前无在读乐团则记为新增)',
  31. QUIT_MUSIC_GROUP_STUDENT_NUM: '筛选时间段内,乐团退团学员总数(学员无在读乐团,则记为退团)',
  32. VIP_PRACTICE_STUDENT_NUM: '筛选时间段中最后一日,学员有剩余VIP或网管未上课时的总人数(分部下去重)',
  33. VIP_PRACTICE_ADD_STUDENT_NUM: '筛选时间段内,新增的VIP/网管课付费学员总数',
  34. MUSIC_PATROL_ITEM: '乐团主管提交的巡查表中有未勾选事项',
  35. HIGH_CLASS_STUDENT_LESS_THAN_THREE: '基础技能班学员数量<3',
  36. STUDENT_NOT_PAYMENT: '当前时间以前的缴费项目中未缴费学员数量',
  37. STUDENT_APPLY_FOR_QUIT_MUSIC_GROUP: '未处理的学员退团申请数量',
  38. TEACHER_EXPECT_SALARY_BE_LOW: '本月预计课酬未达到系统设置的分部基本课酬标准的老师人数',
  39. INSPECTION_ITEM: '乐团主管未完成巡查计划安排',
  40. INSPECTION_ITEM_PLAN: '乐团主管已安排的巡查任务未提交',
  41. STUDENT_VISIT: '乐团主管未完成回访任务',
  42. TEACHER_EXCEPTION_ATTENDANCE: '课程上有老师或学员考勤异常',
  43. TEACHER_NOT_A_CLASS: '课程无老师考勤',
  44. TEACHER_SERVE_ERROR: '服务指标生成的训练未布置',
  45. WAIT_CREATE_PAYMENT_CALENDER: '缴费项目有效期结束前7天',
  46. NO_CLASS_MUSIC_GROUP_STUDENT_INFO: '进行中乐团不在班级中的在读学员提醒',
  47. COURSE_TIME_ERROR: '上课时间在21:00~06:00时间段内为时间安排异常',
  48. TOTAL_AMOUNT: '总收入:现金收入 + 余额收入',
  49. STUDENT_ERROR_LEAVE: '当月请假2次及以上',
  50. STUDENT_ARREARAGE: '缴费项目中的学员未缴费',
  51. NO_MEMBER_STUDENT_INFO: '进行中会员收费乐团中会员已过期在读学生数量',
  52. MEMBER_STUDENT_INFO: "进行中会员收费乐团中会员有效期≤15天的在读学生数量",
  53. APPLY_AMOUNT: "乐团报名缴费、新增学员缴费收入金额总和",
  54. PRACTICE_AMOUNT: "网管课购买、续费金额总和",
  55. OTHER_AMOUNT: "其他收入金额总和",
  56. RENEW_AMOUNT: "乐团续费、临时加课、合班缴费金额总和",
  57. VIP_AMOUNT: "VIP课购买、续费、复学、课程组新增学员收入金额总和",
  58. "vipStudentNum":'待激活及生效中的会员人数(去重)',
  59. "eVipStudentNum":'如果是试用会员又是付费会员,则不算试用会员数',
  60. "cloudStudyLivelyStudentNum":'过去四周内有三周及以上每周训练时长超过60分钟为活跃学员',
  61. "newCloudStudyStudentNum":'第一次使用云教练的人数',
  62. // "cloudStudyTodayUseStudentNum":'今日使用的总人数',
  63. // "cloudStudyUseStudentNum":'累计使用的总人数',
  64. "totalStudentNum":"分部注册学员总人数",
  65. // "waitActivateVipStudentNum":'待激活会员人数',
  66. // "effectiveVipStudentNum":"生效中会员人数",
  67. "vipStudentRate":"会员总人数/有效学员数",
  68. "effectiveStudentNum":"(进行中乐团在读学员+有剩余课时的学员+有排课次数的学员)去重"
  69. }
  70. export const titles = {
  71. "waitActivateVipStudentNum":'待激活会员人数',
  72. "effectiveVipStudentNum":"生效中会员人数",
  73. "vipStudentNum":'会员总人数',
  74. "eVipStudentNum":'试用会员人数',
  75. "totalStudentNum":"学员总数",
  76. "cloudStudyLivelyStudentNum":'活跃学员人数 ',
  77. "newCloudStudyStudentNum":'今日新增使用人数',
  78. "cloudStudyTodayUseStudentNum":'今日使用人数',
  79. "cloudStudyUseStudentNum":'累计使用人数',
  80. "effectiveStudentNum":'有效学员数',
  81. "vipStudentRate":'会员人数占比'
  82. }
  83. const dates = {
  84. start: dayjs().subtract(2, 'month').set('date', 1).format('YYYY-MM-DD'),
  85. end: dayjs().format('YYYY-MM-DD'),
  86. }
  87. export const errorType = {
  88. COURSE_TIME_ERROR: {
  89. name: '课程时间安排异常',
  90. isError: false,
  91. url: '/teamCourseList',
  92. permission: '/teamCourseList',
  93. always: true,
  94. query: {
  95. searchType: 'COURSE_TIME_ERROR',
  96. // ...dates
  97. },
  98. },
  99. MUSIC_PATROL_ITEM: {
  100. name: '乐团巡查事项异常',
  101. isError: false,
  102. url: '/musicInspection',
  103. permission: '/musicInspection',
  104. always: true,
  105. query: {
  106. tabrouter: 'teamSchedule',
  107. searchType: 'MUSIC_PATROL_ITEM',
  108. ...dates,
  109. },
  110. },
  111. HIGH_CLASS_STUDENT_LESS_THAN_THREE: {
  112. name: '基础技能班学员数量异常',
  113. isError: true,
  114. url: '/teamCLassList',
  115. permission: '/teamCLassList',
  116. always: true,
  117. query: {
  118. lessThenThreeHighOnline: '1',
  119. },
  120. },
  121. NO_MEMBER_STUDENT_INFO: {
  122. name: '当前共有{0}个乐团共{1}名学员会员已过期',
  123. isError: true,
  124. url: '/main/teamMemberList',
  125. permission: '/teamMemberList',
  126. always: true,
  127. query: {
  128. hasMember: '0'
  129. }
  130. },
  131. MUSIC_GROUP_PERFORMANCE: {
  132. name: '当前共有{0}个乐团共{1}次展演计划',
  133. isError: false,
  134. url: '/main/teamShowList',
  135. permission: '/teamShowList',
  136. always: true,
  137. },
  138. MEMBER_STUDENT_INFO: {
  139. name: '当前共有{0}个乐团共{1}名学员会员即将过期',
  140. isError: true,
  141. url: '/main/teamMemberList',
  142. permission: '/teamMemberList',
  143. always: true,
  144. query: {
  145. hasMember: '1'
  146. }
  147. },
  148. NO_CLASS_MUSIC_GROUP_STUDENT_INFO: {
  149. name: '当前有{0}个乐团共{1}名学员未加入任何班级',
  150. isError: true,
  151. url: '/main/notClassStudent',
  152. permission: '/notClassStudent',
  153. always: true,
  154. },
  155. STUDENT_ERROR_LEAVE: {
  156. name: '学员异常请假',
  157. isError: true,
  158. url: '/main/studentLeaveList',
  159. permission: '/studentLeaveList',
  160. always: true,
  161. },
  162. STUDENT_ARREARAGE: {
  163. name: '未缴费学员数',
  164. isError: true,
  165. url: '/studentManager/ArrearageStudents',
  166. permission: '/ArrearageStudents',
  167. always: true,
  168. query: {
  169. noPaymentType: '0'
  170. }
  171. },
  172. STUDENT_NOT_PAYMENT: {
  173. name: '未缴费学员数',
  174. isError: true,
  175. url: '/studentManager/ArrearageStudents',
  176. permission: '/ArrearageStudents',
  177. always: true,
  178. query: {
  179. noPaymentType: '1'
  180. }
  181. },
  182. STUDENT_APPLY_FOR_QUIT_MUSIC_GROUP: {
  183. name: '申请退团学员数',
  184. isError: true,
  185. url: '/journal/WithdrawalApplication',
  186. permission: '/WithdrawalApplication',
  187. always: true,
  188. query: {
  189. visitFlag: '0',
  190. },
  191. },
  192. COOPERATION_PAYMENT_ERROR: {
  193. name: '合作单位回款异常',
  194. isError: true,
  195. url: '/branchPayManager',
  196. permission: '/WithdrawalApplication',
  197. always: true,
  198. query: {
  199. searchType: 'COOPERATION_PAYMENT_ERROR',
  200. },
  201. },
  202. COOPERATION_PAYMENT_ALERT: {
  203. name: '合作单位回款提醒',
  204. isError: true,
  205. url: '/branchPayManager',
  206. permission: '/WithdrawalApplication',
  207. always: true,
  208. query: {
  209. searchType: 'COOPERATION_PAYMENT_ALERT',
  210. },
  211. },
  212. // WAIT_CREATE_PAYMENT_CALENDER: {
  213. // name: '待创建缴费项目',
  214. // isError: true,
  215. // url: '/teamList',
  216. // permission: '/teamList',
  217. // query: {
  218. // searchType: 'WAIT_CREATE_PAYMENT_CALENDER'
  219. // }
  220. // },
  221. COURSE_TRUANT_STUDENT_NUM: {
  222. name: '学员考勤异常旷课',
  223. isError: true,
  224. url: '/stuRecodeManager',
  225. permission: '/stuRecodeManager',
  226. always: true,
  227. query: {
  228. visitFlag: '0',
  229. status: 'TRUANT',
  230. ...dates,
  231. }
  232. },
  233. COURSE_LEAVE_STUDENT_NUM: {
  234. name: '学员请假',
  235. isError: true,
  236. url: '/stuRecodeManager',
  237. permission: '/stuRecodeManager',
  238. always: true,
  239. query: {
  240. visitFlag: 0,
  241. status: 'LEAVE',
  242. ...dates,
  243. }
  244. },
  245. TEACHER_EXCEPTION_ATTENDANCE: {
  246. name: '课程考勤异常',
  247. isError: true,
  248. always: true,
  249. url: '/teamCourseList',
  250. permission: '/teamCourseList',
  251. query: {
  252. searchType: 'ERR_ATTENDANCE',
  253. ...dates,
  254. start: dayjs().subtract(1, 'month').set('date', 1).format('YYYY-MM-DD'),
  255. },
  256. },
  257. // start: '2021-02-01', start: '2021-02-01',
  258. TEACHER_NOT_A_CLASS: {
  259. name: '课程异常',
  260. isError: true,
  261. always: true,
  262. url: '/teamCourseList',
  263. permission: '/teamCourseList',
  264. query: {
  265. searchType: 'NO_ATTENDANCE',
  266. ...dates,
  267. start: dayjs().subtract(1, 'month').set('date', 1).format('YYYY-MM-DD'),
  268. },
  269. },
  270. TEACHER_LEAVE: {
  271. name: '老师请假',
  272. isError: false,
  273. url: '/journal/journal',
  274. permission: '/leaveOperation',
  275. resultKey: 'search',
  276. query: {
  277. tabrouter: 'LEAVE'
  278. }
  279. },
  280. TEACHER_EXPECT_SALARY_BE_LOW: {
  281. name: '预计课酬较低',
  282. isError: false,
  283. url: '/operateManager/operationalList',
  284. permission: '/operationalList',
  285. always: true,
  286. query: {
  287. lowSalary: 1
  288. }
  289. },
  290. INSPECTION_ITEM: {
  291. name: '乐团巡查任务未计划',
  292. isError: true,
  293. always: true,
  294. url: '/workbench',
  295. permission: '/main/main',
  296. resultKey: 'ids',
  297. query: {
  298. tabrouter: 'teamSchedule',
  299. searchType: 'INSPECTION_ITEM',
  300. },
  301. },
  302. INSPECTION_ITEM_PLAN: {
  303. name: '乐团巡查任务未提交',
  304. isError: true,
  305. url: '/musicInspection',
  306. permission: '/musicInspection',
  307. always: true,
  308. query: {
  309. searchType: 'INSPECTION_ITEM_PLAN',
  310. ...dates
  311. },
  312. },
  313. STUDENT_VISIT: {
  314. name: '回访任务未完成',
  315. isError: true,
  316. url: '/workbench',
  317. permission: '/main/main',
  318. always: true,
  319. query: {
  320. tabrouter: 'teamSchedule',
  321. searchType: 'STUDENT_VISIT',
  322. ...dates
  323. },
  324. },
  325. TEACHER_SERVE_ERROR: {
  326. name: '服务指标异常',
  327. isError: true,
  328. always: true,
  329. url: '/serverIndexManager/serverDetail',
  330. permission: '/serverDetail',
  331. query: {
  332. searchType: 'TEACHER_SERVE_ERROR',
  333. unDone: 1,
  334. reminded: 0
  335. },
  336. },
  337. MUSIC_GROUP_HAS_COURSE_TIMES:{
  338. name: '乐团剩余时长未排课',
  339. isError: true,
  340. url: '/teamList',
  341. permission: '/teamList',
  342. query: {
  343. searchType: 'MUSIC_GROUP_HAS_COURSE_TIMES'
  344. }
  345. },
  346. HAS_FREE_COURSE_TIMES: {
  347. name: '排课时长消耗异常',
  348. isError: true,
  349. url: '/hasfreeCourse',
  350. permission: '/hasfreeCourse',
  351. always: true,
  352. },
  353. }
  354. export const matterTypes = {
  355. INSPECT: '下校巡查',
  356. VISIT: '学员回访',
  357. }
  358. export const chioseNum = 31