APIHandler.js 32 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429
  1. let testData = [{
  2. "examInfo": {
  3. "owner": "school",
  4. "name": "评测-220419-02",
  5. "school": "hbcn",
  6. "creatorId": "张老师",
  7. "stuCount": 27, //学生数量
  8. "createTime": 1650354722557,
  9. "updateTime": 0,
  10. "startTime": 1650354722557,
  11. "endTime": 1650470399999,
  12. "year": 2022,
  13. "source": "0", // 评量模式
  14. "qamode": 0, // 是否为纸本测验
  15. "classes": [
  16. "hbcn0602",
  17. "88935be7-8e82-4f28-0f3b-c189d49af2d7",
  18. "287ff146-addf-4a67-815d-22d1f2fc8a02"
  19. ],
  20. "stuLists": [],
  21. "groupLists": [],
  22. "targets": [
  23. [
  24. "class",
  25. 0,
  26. "hbcn0602"
  27. ],
  28. [
  29. "class",
  30. 1,
  31. "88935be7-8e82-4f28-0f3b-c189d49af2d7"
  32. ],
  33. [
  34. "class",
  35. 2,
  36. "287ff146-addf-4a67-815d-22d1f2fc8a02"
  37. ]
  38. ],
  39. "papers": [{
  40. "id": "ddd7342b-05a8-fa99-d5fb-cca53f3fef24",
  41. "code": "Paper-hbcn",
  42. "name": "精进学习-个人20220228",
  43. "blob": "/exam/d32d4104-1c1b-4d42-b389-7a5c5b6a64a5/paper/8b94c6b6-2572-41e5-89b9-a82fcf13891e",
  44. "scope": "school",
  45. "multipleRule": 1,
  46. "point": [
  47. 20,
  48. 20,
  49. 20,
  50. 20,
  51. 5,
  52. 5,
  53. 10
  54. ],
  55. "answers": [
  56. [
  57. "A"
  58. ],
  59. [
  60. "C"
  61. ],
  62. [
  63. "A"
  64. ],
  65. [
  66. "A"
  67. ],
  68. [],
  69. [],
  70. []
  71. ],
  72. "knowledge": [
  73. [],
  74. [
  75. "醍摩豆"
  76. ],
  77. [
  78. "醍摩豆"
  79. ],
  80. [
  81. "语文"
  82. ],
  83. [
  84. "语文"
  85. ],
  86. [
  87. "醍摩豆"
  88. ],
  89. []
  90. ],
  91. "type": [
  92. "single",
  93. "single",
  94. "single",
  95. "single",
  96. "complete",
  97. "complete",
  98. "complete"
  99. ],
  100. "field": [
  101. 1,
  102. 1,
  103. 2,
  104. 3,
  105. 3,
  106. 1,
  107. 1
  108. ],
  109. "sheet": null,
  110. "sheetNo": null,
  111. "mode": null,
  112. "time": 0
  113. }],
  114. "type": "",
  115. "period": {
  116. "id": "463db08d-cbe7-48a0-a81a-fc39b3c1fep1",
  117. "name": "幼教test"
  118. }, // 评量学段
  119. "grades": [{
  120. "id": "0",
  121. "name": "一年级"
  122. },
  123. {
  124. "id": "1",
  125. "name": "二年级"
  126. },
  127. {
  128. "id": "2",
  129. "name": "三年级"
  130. }
  131. ],
  132. "subjects": [{
  133. "id": "8b94c6b6-2572-41e5-89b9-a82fcf13891e",
  134. "name": "语文",
  135. "classCount": 0
  136. }],
  137. "progress": "finish",
  138. "scope": "school",
  139. "examType": {
  140. "id": "662332e5-8717-8b81-cfcc-614f6ccbf0fa",
  141. "name": "期中考试"
  142. }, // 评量类型
  143. "id": "d32d4104-1c1b-4d42-b389-7a5c5b6a64a5",
  144. "code": "Exam-hbcn",
  145. "pk": "Exam",
  146. "ttl": -1
  147. }
  148. }, {
  149. "examInfo": {
  150. "owner": "school",
  151. "name": "评测-220419-03",
  152. "school": "hbcn",
  153. "creatorId": "张老师",
  154. "stuCount": 27, //学生数量
  155. "createTime": 1650354722557,
  156. "updateTime": 0,
  157. "startTime": 1650354722557,
  158. "endTime": 1650470399999,
  159. "year": 2022,
  160. "source": "0", // 评量模式
  161. "qamode": 0, // 是否为纸本测验
  162. "classes": [
  163. "hbcn0602",
  164. "88935be7-8e82-4f28-0f3b-c189d49af2d7",
  165. "287ff146-addf-4a67-815d-22d1f2fc8a02"
  166. ],
  167. "stuLists": [],
  168. "groupLists": [],
  169. "targets": [
  170. [
  171. "class",
  172. 0,
  173. "hbcn0602"
  174. ],
  175. [
  176. "class",
  177. 1,
  178. "88935be7-8e82-4f28-0f3b-c189d49af2d7"
  179. ],
  180. [
  181. "class",
  182. 2,
  183. "287ff146-addf-4a67-815d-22d1f2fc8a02"
  184. ]
  185. ],
  186. "papers": [{
  187. "id": "ddd7342b-05a8-fa99-d5fb-cca53f3fef24",
  188. "code": "Paper-hbcn",
  189. "name": "精进学习0228",
  190. "blob": "/exam/d32d4104-1c1b-4d42-b389-7a5c5b6a64a5/paper/8b94c6b6-2572-41e5-89b9-a82fcf13891e",
  191. "scope": "school",
  192. "multipleRule": 1,
  193. "point": [
  194. 20,
  195. 20,
  196. 20,
  197. 20,
  198. 5,
  199. 5,
  200. 10
  201. ],
  202. "answers": [
  203. [
  204. "A"
  205. ],
  206. [
  207. "C"
  208. ],
  209. [
  210. "A"
  211. ],
  212. [
  213. "A"
  214. ],
  215. [],
  216. [],
  217. []
  218. ],
  219. "knowledge": [
  220. [],
  221. [
  222. "醍摩豆"
  223. ],
  224. [
  225. "醍摩豆"
  226. ],
  227. [
  228. "语文"
  229. ],
  230. [
  231. "语文"
  232. ],
  233. [
  234. "醍摩豆"
  235. ],
  236. []
  237. ],
  238. "type": [
  239. "single",
  240. "single",
  241. "single",
  242. "single",
  243. "complete",
  244. "complete",
  245. "complete"
  246. ],
  247. "field": [
  248. 1,
  249. 1,
  250. 2,
  251. 3,
  252. 3,
  253. 1,
  254. 1
  255. ],
  256. "sheet": null,
  257. "sheetNo": null,
  258. "mode": null,
  259. "time": 0
  260. }],
  261. "type": "",
  262. "period": {
  263. "id": "463db08d-cbe7-48a0-a81a-fc39b3c1fep1",
  264. "name": "幼教test"
  265. }, // 评量学段
  266. "grades": [{
  267. "id": "0",
  268. "name": "一年级"
  269. },
  270. {
  271. "id": "1",
  272. "name": "二年级"
  273. },
  274. {
  275. "id": "2",
  276. "name": "三年级"
  277. }
  278. ],
  279. "subjects": [{
  280. "id": "8b94c6b6-2572-41e5-89b9-a82fcf13891e",
  281. "name": "数学",
  282. "classCount": 0
  283. }],
  284. "progress": "going",
  285. "scope": "school",
  286. "examType": {
  287. "id": "662332e5-8717-8b81-cfcc-614f6ccbf0fa",
  288. "name": "期中考试"
  289. }, // 评量类型
  290. "id": "d32d4104-1c1b-4d42-b389-7a5c5b6a64a5",
  291. "code": "Exam-hbcn",
  292. "pk": "Exam",
  293. "ttl": -1
  294. }
  295. }, {
  296. "examInfo": {
  297. "owner": "school",
  298. "name": "评测-220419-04",
  299. "school": "hbcn",
  300. "creatorId": "张老师",
  301. "stuCount": 27, //学生数量
  302. "createTime": 1650354722557,
  303. "updateTime": 0,
  304. "startTime": 1650354722557,
  305. "endTime": 1650470399999,
  306. "year": 2022,
  307. "source": "0", // 评量模式
  308. "qamode": 0, // 是否为纸本测验
  309. "classes": [
  310. "hbcn0602",
  311. "88935be7-8e82-4f28-0f3b-c189d49af2d7",
  312. "287ff146-addf-4a67-815d-22d1f2fc8a02"
  313. ],
  314. "stuLists": [],
  315. "groupLists": [],
  316. "targets": [
  317. [
  318. "class",
  319. 0,
  320. "hbcn0602"
  321. ],
  322. [
  323. "class",
  324. 1,
  325. "88935be7-8e82-4f28-0f3b-c189d49af2d7"
  326. ],
  327. [
  328. "class",
  329. 2,
  330. "287ff146-addf-4a67-815d-22d1f2fc8a02"
  331. ]
  332. ],
  333. "papers": [{
  334. "id": "ddd7342b-05a8-fa99-d5fb-cca53f3fef24",
  335. "code": "Paper-hbcn",
  336. "name": "精进学习-个人20220228",
  337. "blob": "/exam/d32d4104-1c1b-4d42-b389-7a5c5b6a64a5/paper/8b94c6b6-2572-41e5-89b9-a82fcf13891e",
  338. "scope": "school",
  339. "multipleRule": 1,
  340. "point": [
  341. 20,
  342. 20,
  343. 20,
  344. 20,
  345. 5,
  346. 5,
  347. 10
  348. ],
  349. "answers": [
  350. [
  351. "A"
  352. ],
  353. [
  354. "C"
  355. ],
  356. [
  357. "A"
  358. ],
  359. [
  360. "A"
  361. ],
  362. [],
  363. [],
  364. []
  365. ],
  366. "knowledge": [
  367. [],
  368. [
  369. "醍摩豆"
  370. ],
  371. [
  372. "醍摩豆"
  373. ],
  374. [
  375. "语文"
  376. ],
  377. [
  378. "语文"
  379. ],
  380. [
  381. "醍摩豆"
  382. ],
  383. []
  384. ],
  385. "type": [
  386. "single",
  387. "single",
  388. "single",
  389. "single",
  390. "complete",
  391. "complete",
  392. "complete"
  393. ],
  394. "field": [
  395. 1,
  396. 1,
  397. 2,
  398. 3,
  399. 3,
  400. 1,
  401. 1
  402. ],
  403. "sheet": null,
  404. "sheetNo": null,
  405. "mode": null,
  406. "time": 0
  407. }],
  408. "type": "",
  409. "period": {
  410. "id": "463db08d-cbe7-48a0-a81a-fc39b3c1fep1",
  411. "name": "幼教test"
  412. }, // 评量学段
  413. "grades": [{
  414. "id": "0",
  415. "name": "一年级"
  416. },
  417. {
  418. "id": "1",
  419. "name": "二年级"
  420. },
  421. {
  422. "id": "2",
  423. "name": "三年级"
  424. }
  425. ],
  426. "subjects": [{
  427. "id": "8b94c6b6-2572-41e5-89b9-a82fcf13891e",
  428. "name": "英语",
  429. "classCount": 0
  430. }],
  431. "progress": "going",
  432. "scope": "school",
  433. "examType": {
  434. "id": "662332e5-8717-8b81-cfcc-614f6ccbf0fa",
  435. "name": "期中考试"
  436. }, // 评量类型
  437. "id": "d32d4104-1c1b-4d42-b389-7a5c5b6a64a5",
  438. "code": "Exam-hbcn",
  439. "pk": "Exam",
  440. "ttl": -1
  441. }
  442. }]
  443. let homeworkData = [{
  444. "work": {
  445. "owner": "teacher", // teacher 个人
  446. "school": null, // 如果owner是school 那这个的值为 学校编码
  447. "name": "作业活动-01", // 活动名称
  448. "description": "<p>富文本富文本22富文本22富文本22</p>", // 活动描述富文本
  449. "creatorId": "张老师", // 创建者id
  450. "progress": "finish", // 活动进度 finish 完成 going 进行中 pending 待发布
  451. "scope": "private", // 活动范围 private 个人 school 学校
  452. "classes": [], // 活动班级行政班ID集合
  453. "stuLists": [
  454. "6a3d133b-88b3-4a82-94c9-8cbb6bc4d50d"
  455. ], // 活动教学班ID集合
  456. "targetType": "student", // 活动目标类型 student 学生
  457. "startTime": 1648208343141, // 活动开始时间
  458. "endTime": 1648310399999, // 活动结束时间
  459. "createTime": 1648208414715, // 活动创建时间
  460. "updateTime": 0, // 活动更新时间
  461. "blob": null, // 作业活动对应Blob容器的地址
  462. "status": 0, // 活动状态
  463. "allowSupply": true, // 是否允许补交作业
  464. "allowComment": true, // 是否允许学生互评
  465. "extLimit": [], // 提交作业的文件类型限制
  466. "attachments": [{
  467. "name": "文件名称313", // 文件名
  468. "url": "https://teammodeltest.blob.core.chinacloudapi.cn/hbcn/image/000222111.png", // 文件地址
  469. "size": 73360, // 文件大小
  470. "createTime": 1626864529474, // 文件创建时间
  471. "extension": "PNG", // 文件扩展名
  472. "type": "excel", // 文件类型
  473. "blob": "/image/000222111.png", // 文件地址
  474. "hash": null, // 文件hash值
  475. "duration": 0 // 文件时长
  476. }],
  477. "recordUrl": "/homework/82a124df-6d19-e987-5ae2-60af9a7d5034/record.json", // 作业记录地址
  478. "mustSubmit": true, // 是否必须提交文件
  479. "id": "82a124df-6d19-e987-5ae2-60af9a7d5034", // 作业id
  480. "code": "Homework-张老师", // 作业编码
  481. "pk": "Homework", // 作业表名
  482. "ttl": -1
  483. },
  484. "status": 200
  485. }, {
  486. "work": {
  487. "owner": "teacher", // teacher 个人
  488. "school": null, // 如果owner是school 那这个的值为 学校编码
  489. "name": "作业活动-02", // 活动名称
  490. "description": "<p>活动描述富文本富文本22富文本22</p>", // 活动描述富文本
  491. "creatorId": "张老师", // 创建者id
  492. "progress": "finish", // 活动进度 finish 完成 going 进行中 pending 待发布
  493. "scope": "private", // 活动范围 private 个人 school 学校
  494. "classes": [], // 活动班级行政班ID集合
  495. "stuLists": [
  496. "6a3d133b-88b3-4a82-94c9-8cbb6bc4d50d"
  497. ], // 活动教学班ID集合
  498. "targetType": "student", // 活动目标类型 student 学生
  499. "startTime": 1648208343141, // 活动开始时间
  500. "endTime": 1648310399999, // 活动结束时间
  501. "createTime": 1648208414715, // 活动创建时间
  502. "updateTime": 0, // 活动更新时间
  503. "blob": null, // 作业活动对应Blob容器的地址
  504. "status": 0, // 活动状态
  505. "allowSupply": true, // 是否允许补交作业
  506. "allowComment": true, // 是否允许学生互评
  507. "extLimit": [], // 提交作业的文件类型限制
  508. "attachments": [{
  509. "name": "000222111.png", // 文件名
  510. "url": "https://teammodeltest.blob.core.chinacloudapi.cn/hbcn/image/000222111.png", // 文件地址
  511. "size": 43360, // 文件大小
  512. "createTime": 1626864529474, // 文件创建时间
  513. "extension": "PNG", // 文件扩展名
  514. "type": "pdf", // 文件类型
  515. "blob": "/image/000222111.png", // 文件地址
  516. "hash": null, // 文件hash值
  517. "duration": 0 // 文件时长
  518. }, {
  519. "name": "000222111.png", // 文件名
  520. "url": "https://teammodeltest.blob.core.chinacloudapi.cn/hbcn/image/000222111.png", // 文件地址
  521. "size": 23360, // 文件大小
  522. "createTime": 1626864529474, // 文件创建时间
  523. "extension": "PNG", // 文件扩展名
  524. "type": "image", // 文件类型
  525. "blob": "/image/000222111.png", // 文件地址
  526. "hash": null, // 文件hash值
  527. "duration": 0 // 文件时长
  528. }],
  529. "recordUrl": "/homework/82a124df-6d19-e987-5ae2-60af9a7d5034/record.json", // 作业记录地址
  530. "mustSubmit": true, // 是否必须提交文件
  531. "id": "82a124df-6d19-e987-5ae2-60af9a7d5034", // 作业id
  532. "code": "Homework-张老师", // 作业编码
  533. "pk": "Homework", // 作业表名
  534. "ttl": -1
  535. },
  536. "status": 200
  537. }, {
  538. "work": {
  539. "owner": "teacher", // teacher 个人
  540. "school": null, // 如果owner是school 那这个的值为 学校编码
  541. "name": "作业活动-03", // 活动名称
  542. "description": "<p>描述富文本富文本22富文本22富文本22</p>", // 活动描述富文本
  543. "creatorId": "张老师", // 创建者id
  544. "progress": "finish", // 活动进度 finish 完成 going 进行中 pending 待发布
  545. "scope": "private", // 活动范围 private 个人 school 学校
  546. "classes": [], // 活动班级行政班ID集合
  547. "stuLists": [
  548. "6a3d133b-88b3-4a82-94c9-8cbb6bc4d50d"
  549. ], // 活动教学班ID集合
  550. "targetType": "student", // 活动目标类型 student 学生
  551. "startTime": 1648208343141, // 活动开始时间
  552. "endTime": 1648310399999, // 活动结束时间
  553. "createTime": 1648208414715, // 活动创建时间
  554. "updateTime": 0, // 活动更新时间
  555. "blob": null, // 作业活动对应Blob容器的地址
  556. "status": 0, // 活动状态
  557. "allowSupply": true, // 是否允许补交作业
  558. "allowComment": true, // 是否允许学生互评
  559. "extLimit": [], // 提交作业的文件类型限制
  560. "attachments": [{
  561. "name": "000222111.png", // 文件名
  562. "url": "https://teammodeltest.blob.core.chinacloudapi.cn/hbcn/image/000222111.png", // 文件地址
  563. "size": 143360, // 文件大小
  564. "createTime": 1626864529474, // 文件创建时间
  565. "extension": "PNG", // 文件扩展名
  566. "type": "word", // 文件类型
  567. "blob": "/image/000222111.png", // 文件地址
  568. "hash": null, // 文件hash值
  569. "duration": 0 // 文件时长
  570. }],
  571. "recordUrl": "/homework/82a124df-6d19-e987-5ae2-60af9a7d5034/record.json", // 作业记录地址
  572. "mustSubmit": true, // 是否必须提交文件
  573. "id": "82a124df-6d19-e987-5ae2-60af9a7d5034", // 作业id
  574. "code": "Homework-张老师", // 作业编码
  575. "pk": "Homework", // 作业表名
  576. "ttl": -1
  577. },
  578. "status": 200
  579. }, {
  580. "work": {
  581. "owner": "teacher", // teacher 个人
  582. "school": null, // 如果owner是school 那这个的值为 学校编码
  583. "name": "作业活动-04", // 活动名称
  584. "description": "<p>富文本11富文本22富文本22富文本22</p>", // 活动描述富文本
  585. "creatorId": "张老师", // 创建者id
  586. "progress": "going", // 活动进度 finish 完成 going 进行中 pending 待发布
  587. "scope": "private", // 活动范围 private 个人 school 学校
  588. "classes": [], // 活动班级行政班ID集合
  589. "stuLists": [
  590. "6a3d133b-88b3-4a82-94c9-8cbb6bc4d50d"
  591. ], // 活动教学班ID集合
  592. "targetType": "student", // 活动目标类型 student 学生
  593. "startTime": 1648208343141, // 活动开始时间
  594. "endTime": 1648310399999, // 活动结束时间
  595. "createTime": 1648208414715, // 活动创建时间
  596. "updateTime": 0, // 活动更新时间
  597. "blob": null, // 作业活动对应Blob容器的地址
  598. "status": 0, // 活动状态
  599. "allowSupply": true, // 是否允许补交作业
  600. "allowComment": true, // 是否允许学生互评
  601. "extLimit": [], // 提交作业的文件类型限制
  602. "attachments": [{
  603. "name": "000222111.png", // 文件名
  604. "url": "https://teammodeltest.blob.core.chinacloudapi.cn/hbcn/image/000222111.png", // 文件地址
  605. "size": 48360, // 文件大小
  606. "createTime": 1626864529474, // 文件创建时间
  607. "extension": "PNG", // 文件扩展名
  608. "type": "word", // 文件类型
  609. "blob": "/image/000222111.png", // 文件地址
  610. "hash": null, // 文件hash值
  611. "duration": 0 // 文件时长
  612. }],
  613. "recordUrl": "/homework/82a124df-6d19-e987-5ae2-60af9a7d5034/record.json", // 作业记录地址
  614. "mustSubmit": true, // 是否必须提交文件
  615. "id": "82a124df-6d19-e987-5ae2-60af9a7d5034", // 作业id
  616. "code": "Homework-张老师", // 作业编码
  617. "pk": "Homework", // 作业表名
  618. "ttl": -1
  619. },
  620. "status": 200
  621. }, {
  622. "work": {
  623. "owner": "teacher", // teacher 个人
  624. "school": null, // 如果owner是school 那这个的值为 学校编码
  625. "name": "作业活动-05", // 活动名称
  626. "description": "<p>富文本22富文本22富文本22富文本22</p>", // 活动描述富文本
  627. "creatorId": "张老师", // 创建者id
  628. "progress": "going", // 活动进度 finish 完成 going 进行中 pending 待发布
  629. "scope": "private", // 活动范围 private 个人 school 学校
  630. "classes": [], // 活动班级行政班ID集合
  631. "stuLists": [
  632. "6a3d133b-88b3-4a82-94c9-8cbb6bc4d50d"
  633. ], // 活动教学班ID集合
  634. "targetType": "student", // 活动目标类型 student 学生
  635. "startTime": 1648208343141, // 活动开始时间
  636. "endTime": 1648310399999, // 活动结束时间
  637. "createTime": 1648208414715, // 活动创建时间
  638. "updateTime": 0, // 活动更新时间
  639. "blob": null, // 作业活动对应Blob容器的地址
  640. "status": 0, // 活动状态
  641. "allowSupply": true, // 是否允许补交作业
  642. "allowComment": true, // 是否允许学生互评
  643. "extLimit": [], // 提交作业的文件类型限制
  644. "attachments": [{
  645. "name": "000222111.png", // 文件名
  646. "url": "https://teammodeltest.blob.core.chinacloudapi.cn/hbcn/image/000222111.png", // 文件地址
  647. "size": 53360, // 文件大小
  648. "createTime": 1626864529474, // 文件创建时间
  649. "extension": "PNG", // 文件扩展名
  650. "type": "image", // 文件类型
  651. "blob": "/image/000222111.png", // 文件地址
  652. "hash": null, // 文件hash值
  653. "duration": 0 // 文件时长
  654. }],
  655. "recordUrl": "/homework/82a124df-6d19-e987-5ae2-60af9a7d5034/record.json", // 作业记录地址
  656. "mustSubmit": true, // 是否必须提交文件
  657. "id": "82a124df-6d19-e987-5ae2-60af9a7d5034", // 作业id
  658. "code": "Homework-张老师", // 作业编码
  659. "pk": "Homework", // 作业表名
  660. "ttl": -1
  661. },
  662. "status": 200
  663. }]
  664. let activityData = [{
  665. "vote": {
  666. "owner": "teacher",
  667. "school": null,
  668. "name": "投票",
  669. "creatorId": "张老师",
  670. "description": "<p>家长参与的投票活动</p>",
  671. "progress": "going",
  672. "options": [{
  673. "code": "A",
  674. "value": "<p>一方案富文本</p>",
  675. "desc": null
  676. },
  677. {
  678. "code": "B",
  679. "value": "<p>二方案富文本</p>",
  680. "desc": null
  681. }
  682. ], // 投票选项
  683. "secret": false, // 是否是匿名投票
  684. "times": "once", // 投票频率 once 一次 day 一天一次 week 一周一次
  685. "voteNum": 1, // 可投票数量
  686. "repeat": false, // 是否允许重复投票
  687. "scope": "private",
  688. "classes": [],
  689. "stuLists": [
  690. "d2bb9111-d6f3-d97f-9a6d-5f6b7e653279",
  691. "d25f3dbf-c7d5-da58-6155-cc584439aac8"
  692. ],
  693. "tchLists": [],
  694. "groupLists": [],
  695. "targetType": "student",
  696. "targets": [
  697. "d2bb9111-d6f3-d97f-9a6d-5f6b7e653279",
  698. "d25f3dbf-c7d5-da58-6155-cc584439aac8"
  699. ],
  700. "startTime": 1647918299414,
  701. "createTime": 1647918299414,
  702. "endTime": 1648051199999,
  703. "updateTime": 0,
  704. "recordUrl": "/vote/2224ae0f-056b-4188-aa0e-5b5f3806d70f/record.json",
  705. "status": 0,
  706. "size": 0,
  707. "areaId": null,
  708. "pId": null,
  709. "publish": 0,
  710. "id": "2224ae0f-056b-4188-aa0e-5b5f3806d70f",
  711. "code": "Vote-张老师",
  712. "pk": "Vote",
  713. "ttl": -1
  714. },
  715. "status": 200
  716. }, {
  717. "survey": {
  718. "owner": "teacher",
  719. "school": null,
  720. "name": "问卷",
  721. "description": "<p>家长问卷示例</p>",
  722. "creatorId": "张老师",
  723. "progress": "finish",
  724. "scope": "private",
  725. "classes": [],
  726. "stuLists": [
  727. "285af18b-cc2b-7045-8726-acddd5b1a3c9"
  728. ],
  729. "tchLists": [],
  730. "groupLists": [],
  731. "targetType": "student",
  732. "targets": [
  733. "285af18b-cc2b-7045-8726-acddd5b1a3c9"
  734. ],
  735. "startTime": 1647934008496,
  736. "endTime": 1648051199999,
  737. "createTime": 1647934021458,
  738. "updateTime": 0,
  739. "blob": "/survey/710b92d4-803f-3381-cad1-6a5ebc7f7544/index.json",
  740. "recordUrl": "/survey/710b92d4-803f-3381-cad1-6a5ebc7f7544/record.json",
  741. "answers": [
  742. [
  743. "A",
  744. "B",
  745. "C",
  746. "D"
  747. ]
  748. ],
  749. "status": 0,
  750. "size": 830,
  751. "areaId": null,
  752. "pId": null,
  753. "publish": 0,
  754. "id": "710b92d4-803f-3381-cad1-6a5ebc7f7544",
  755. "code": "Survey-张老师",
  756. "pk": "Survey",
  757. "ttl": -1
  758. },
  759. "status": 200
  760. }, ]
  761. //获取完成数据
  762. let testFinishData = testData.filter(x => x.examInfo.progress === 'finish')
  763. let homeworkFinishData = homeworkData.filter(x => x.work.progress === 'finish')
  764. let activityFinishData = activityData.filter(x => x.vote && x.vote.progress === 'finish')
  765. activityFinishData.push(...activityData.filter(x => x.survey && x.survey.progress === 'finish'))
  766. //初始化App数据
  767. function initApp(phoneNumber) {
  768. //const parentDetailData = await uni.$http.post('',numData.phoneNumber)
  769. let parentDetail = {
  770. phoneNumber: phoneNumber,
  771. name: '家长姓名',
  772. childrenList: [{
  773. avatar: '/static/default-icons/boy.png',
  774. name: '张三',
  775. gender: '男',
  776. classid: '0301',
  777. class: '三年级一班',
  778. age:9,
  779. tmdid: 'tmdid01',
  780. schoolname: '研发学校'
  781. }, {
  782. avatar: '/static/default-icons/girl.png',
  783. name: '张梅',
  784. gender: '女',
  785. classid: '0504',
  786. class: '五年级四班',
  787. age:11,
  788. tmdid: 'tmdid03',
  789. schoolname: '研发学校'
  790. }, ]
  791. }
  792. this.$store.commit('m_parent/updateParentDetail', parentDetail)
  793. let semesterList = [
  794. ['21学年下学期', '21学年上学期', '20学年下学期', '20学年上学期']
  795. ]
  796. this.$store.commit('m_children/updateChildrenSemesterList', semesterList)
  797. this.$store.commit('m_children/updateChildrenSemester', semesterList[0][0])
  798. let myData = {
  799. subscribeLevel: '专业版',
  800. subscribePrivilege: '这里是订阅权益描述信息',
  801. subscribeTime: '2022.2.15-2025.2.15',
  802. msgList: [{
  803. icon: 't-icon t-icon-shuju',
  804. title: '成绩通知',
  805. msgTime: '12分钟前',
  806. content: '您的孩子【张梅】在 【青城山学校】的【2020年语文期末测试】成绩已经生成',
  807. image: 'https://image.meiye.art/pic_9ikZaVYnJE38Ao6AZlVIx?imageMogr2/thumbnail/450x/interlace/1'
  808. },
  809. {
  810. icon: 't-icon t-icon-tishi',
  811. title: '系统通知',
  812. msgTime: '20分钟前',
  813. content: '您以成功绑定【青城山学校】【五年级8班】【张梅】学生。',
  814. image: 'https://image.meiye.art/pic_ucQUd7WwkuW1vKvjbgUlv?imageMogr2/thumbnail/450x/interlace/1'
  815. },
  816. {
  817. icon: 't-icon t-icon-bianji',
  818. title: '任务通知',
  819. msgTime: '40分钟前',
  820. content: '您的孩子【张梅】班主任李老师给您发布一个新的问卷活动【周末孩子表现问卷调查】',
  821. image: 'https://image.meiye.art/pic_1628927180566LfOmH3IV5i24Mmc65BGE0?imageMogr2/thumbnail/450x/interlace/1'
  822. }
  823. ]
  824. }
  825. this.$store.commit('m_parent/updateMyData', myData)
  826. }
  827. //获取首页数据
  828. function initHome() {
  829. let classList = [{
  830. title: '文章鉴赏',
  831. name: '语文',
  832. teacher: '王老师',
  833. time: '09:00-09:50',
  834. timeFrame: '上午第一节',
  835. resource: 'https://klxxcdn.oss-cn-hangzhou.aliyuncs.com/histudy/hrm/media/bg2.mp4',
  836. }, {
  837. title: '计算练习',
  838. name: '数学',
  839. teacher: '李老师',
  840. time: '10:00-10:50',
  841. timeFrame: '上午第二节',
  842. resource: 'https://klxxcdn.oss-cn-hangzhou.aliyuncs.com/histudy/hrm/media/bg1.mp4',
  843. }, {
  844. title: '阅读专项训练',
  845. name: '外语',
  846. teacher: '张老师',
  847. time: '11:00-11:50',
  848. timeFrame: '上午第三节',
  849. resource: 'https://klxxcdn.oss-cn-hangzhou.aliyuncs.com/histudy/hrm/media/bg3.mp4',
  850. }, {
  851. title: '思想品德教育',
  852. name: '思品',
  853. teacher: '史老师',
  854. time: '11:50-14:50',
  855. timeFrame: '下午第一节',
  856. resource: 'https://klxxcdn.oss-cn-hangzhou.aliyuncs.com/histudy/hrm/media/bg2.mp4',
  857. }, {
  858. title: '户外运动锻炼',
  859. name: '体育',
  860. teacher: '李老师',
  861. time: '14:50-17:50',
  862. timeFrame: '下午第二节',
  863. resource: 'https://klxxcdn.oss-cn-hangzhou.aliyuncs.com/histudy/hrm/media/bg1.mp4',
  864. }, {
  865. title: '科学学习实验',
  866. name: '科学',
  867. teacher: '张老师',
  868. time: '17:55-20:50',
  869. timeFrame: '上午第三节',
  870. resource: 'https://klxxcdn.oss-cn-hangzhou.aliyuncs.com/histudy/hrm/media/bg3.mp4',
  871. }]
  872. this.$store.commit('m_children/updateClassList', classList)
  873. let records = [{
  874. date: 28,
  875. month: 3,
  876. year: 2022,
  877. time: '08:25'
  878. }, {
  879. date: 29,
  880. month: 3,
  881. year: 2022,
  882. time: '08:27'
  883. }, {
  884. date: 30,
  885. month: 3,
  886. year: 2022,
  887. time: '08:15'
  888. }, {
  889. date: 31,
  890. month: 3,
  891. year: 2022,
  892. time: '08:19'
  893. }, {
  894. date: 2,
  895. month: 4,
  896. year: 2022,
  897. time: '08:25'
  898. }, {
  899. date: 3,
  900. month: 4,
  901. year: 2022,
  902. time: '08:09'
  903. }, {
  904. date: 4,
  905. month: 4,
  906. year: 2022,
  907. time: '08:20'
  908. }, {
  909. date: 5,
  910. month: 4,
  911. year: 2022,
  912. time: '08:02'
  913. }, {
  914. date: 6,
  915. month: 4,
  916. year: 2022,
  917. time: '08:05'
  918. }, {
  919. date: 7,
  920. month: 4,
  921. year: 2022,
  922. time: '08:22'
  923. }, {
  924. date: 8,
  925. month: 4,
  926. year: 2022,
  927. time: '08:05'
  928. }, {
  929. date: 9,
  930. month: 4,
  931. year: 2022,
  932. time: '08:15'
  933. }, {
  934. date: 10,
  935. month: 4,
  936. year: 2022,
  937. time: '08:19'
  938. }, {
  939. date: 11,
  940. month: 4,
  941. year: 2022,
  942. time: '08:20'
  943. }, {
  944. date: 12,
  945. month: 4,
  946. year: 2022,
  947. time: '08:16'
  948. }, {
  949. date: 13,
  950. month: 4,
  951. year: 2022,
  952. time: '08:13'
  953. }, {
  954. date: 18,
  955. month: 4,
  956. year: 2022,
  957. time: '08:01'
  958. }, {
  959. date: 19,
  960. month: 4,
  961. year: 2022,
  962. time: '08:06'
  963. }, {
  964. date: 20,
  965. month: 4,
  966. year: 2022,
  967. time: '08:06'
  968. }, {
  969. date: 5,
  970. month: 5,
  971. year: 2022,
  972. time: '08:06'
  973. }, {
  974. date: 6,
  975. month: 5,
  976. year: 2022,
  977. time: '08:06'
  978. }, {
  979. date: 7,
  980. month: 5,
  981. year: 2022,
  982. time: '08:07'
  983. }, {
  984. date: 8,
  985. month: 5,
  986. year: 2022,
  987. time: '08:27'
  988. }, {
  989. date: 9,
  990. month: 5,
  991. year: 2022,
  992. time: '08:15'
  993. }, {
  994. date: 10,
  995. month: 5,
  996. year: 2022,
  997. time: '08:17'
  998. }]
  999. this.$store.commit('m_children/updateRecords', records)
  1000. let homeChartData = {
  1001. //评测进度条数据
  1002. evaluationArcbar: {
  1003. "series": [{
  1004. "name": "评测完成",
  1005. "data": '',
  1006. "color": "#4169E1"
  1007. }]
  1008. },
  1009. //作业进度条数据
  1010. homeworkArcbar: {
  1011. "series": [{
  1012. "name": "作业完成",
  1013. "data": '',
  1014. "color": "#ff8caf"
  1015. }]
  1016. },
  1017. //活动进度条数据
  1018. activityArcbar: {
  1019. "series": [{
  1020. "name": "活动完成",
  1021. "data": '',
  1022. "color": "#f9c752"
  1023. }]
  1024. },
  1025. }
  1026. homeChartData.evaluationArcbar.series[0].data = (testFinishData.length / testData.length).toFixed(2)
  1027. homeChartData.homeworkArcbar.series[0].data = (homeworkFinishData.length / homeworkData.length).toFixed(2)
  1028. homeChartData.activityArcbar.series[0].data = (activityFinishData.length / activityData.length).toFixed(2)
  1029. this.$store.commit('m_chart/updateHomeChart', homeChartData)
  1030. }
  1031. //获取成绩数据
  1032. function initGrade(semester, tmdid) {
  1033. let testList = [
  1034. "开学考试",
  1035. "第一月考",
  1036. "第二月考",
  1037. "期中考试",
  1038. "第三月考",
  1039. "期末考试"
  1040. ]
  1041. let subjectList = [
  1042. "数学",
  1043. "语文",
  1044. "英语",
  1045. "体育",
  1046. "科学",
  1047. "思品"
  1048. ]
  1049. //成绩图表数据
  1050. let gradeData = {
  1051. //学期折线图数据
  1052. semesterLineChart: {
  1053. //总成绩
  1054. generalComparison: {
  1055. categories: testList,
  1056. series: [{
  1057. name: "孩子总分",
  1058. data: [
  1059. 556,
  1060. 577,
  1061. 540,
  1062. 588,
  1063. 563,
  1064. 594
  1065. ]
  1066. },
  1067. {
  1068. name: "班级平均分",
  1069. data: [
  1070. 460,
  1071. 477,
  1072. 455,
  1073. 522,
  1074. 538,
  1075. 511
  1076. ]
  1077. },
  1078. {
  1079. name: "年级平均分",
  1080. data: [
  1081. 533,
  1082. 476,
  1083. 484,
  1084. 547,
  1085. 485,
  1086. 502
  1087. ]
  1088. }
  1089. ],
  1090. },
  1091. //单科与平均对比
  1092. singleAverageComparison: '',
  1093. //单科对比
  1094. subjectComparison: {
  1095. categories: testList,
  1096. series: [{
  1097. name: subjectList[0],
  1098. data: [
  1099. 90,
  1100. 95,
  1101. 92,
  1102. 100,
  1103. 88,
  1104. 99
  1105. ]
  1106. },
  1107. {
  1108. name: subjectList[1],
  1109. data: [
  1110. 95,
  1111. 98,
  1112. 84,
  1113. 92,
  1114. 93,
  1115. 89
  1116. ]
  1117. },
  1118. {
  1119. name: subjectList[2],
  1120. data: [
  1121. 98,
  1122. 89,
  1123. 97,
  1124. 84,
  1125. 95,
  1126. 89
  1127. ]
  1128. },
  1129. {
  1130. name: subjectList[3],
  1131. data: [
  1132. 91,
  1133. 72,
  1134. 92,
  1135. 89,
  1136. 97,
  1137. 92
  1138. ]
  1139. },
  1140. {
  1141. name: subjectList[4],
  1142. data: [
  1143. 95,
  1144. 89,
  1145. 92,
  1146. 87,
  1147. 91,
  1148. 83
  1149. ]
  1150. },
  1151. {
  1152. name: subjectList[5],
  1153. data: [
  1154. 91,
  1155. 82,
  1156. 87,
  1157. 84,
  1158. 90,
  1159. 85
  1160. ]
  1161. }
  1162. ],
  1163. },
  1164. },
  1165. //近期单次考试数据
  1166. recentTestChart: {
  1167. //近两次对比
  1168. recentComparison: {
  1169. categories: subjectList,
  1170. series: [{
  1171. name: "最近成绩",
  1172. data: [
  1173. 91,
  1174. 92,
  1175. 94,
  1176. 88,
  1177. 88,
  1178. 98
  1179. ]
  1180. },
  1181. {
  1182. name: "上次成绩",
  1183. data: [
  1184. 88,
  1185. 84,
  1186. 97,
  1187. 92,
  1188. 89,
  1189. 93
  1190. ]
  1191. }
  1192. ],
  1193. },
  1194. //近期排名占比分析
  1195. recentRank: {
  1196. series: [{
  1197. name: "超过年级中",
  1198. data: 0.53,
  1199. color: "#4169E1"
  1200. },
  1201. {
  1202. name: "超过班级中",
  1203. data: 0.72,
  1204. color: "#ff8caf"
  1205. }
  1206. ],
  1207. },
  1208. recentRankComparison:{
  1209. categories: subjectList,
  1210. series: [{
  1211. name: "最近成绩超过",
  1212. data: [
  1213. 71,
  1214. 62,
  1215. 74,
  1216. 98,
  1217. 58,
  1218. 92
  1219. ]
  1220. },
  1221. {
  1222. name: "上次成绩超过",
  1223. data: [
  1224. 48,
  1225. 64,
  1226. 57,
  1227. 52,
  1228. 79,
  1229. 93
  1230. ]
  1231. }
  1232. ],
  1233. }
  1234. },
  1235. //排名占比分析
  1236. rankChart: {
  1237. //学期排名占比分析
  1238. semesterRank: {
  1239. categories: testList,
  1240. series: [{
  1241. name: "超过年级中",
  1242. data: [
  1243. 50,
  1244. 75,
  1245. 62,
  1246. 80,
  1247. 68,
  1248. 39
  1249. ]
  1250. },
  1251. {
  1252. name: "超过班级中",
  1253. data: [
  1254. 95,
  1255. 98,
  1256. 84,
  1257. 92,
  1258. 93,
  1259. 79
  1260. ]
  1261. }
  1262. ]
  1263. },
  1264. //单科学期排名
  1265. semesterSubjectRank: '',
  1266. },
  1267. //优势科目分析
  1268. advantageRoseChart: {
  1269. //近期优势科目分析
  1270. recentAdvantage: {
  1271. series: [{
  1272. data: [{
  1273. name: subjectList[0],
  1274. value: 100
  1275. },
  1276. {
  1277. name: subjectList[1],
  1278. value: 86
  1279. },
  1280. {
  1281. name: subjectList[2],
  1282. value: 100
  1283. },
  1284. {
  1285. name: subjectList[3],
  1286. value: 79
  1287. },
  1288. {
  1289. name: subjectList[4],
  1290. value: 88
  1291. },
  1292. {
  1293. name: subjectList[5],
  1294. value: 95
  1295. }
  1296. ]
  1297. }]
  1298. },
  1299. //学期综合分析
  1300. semesterAdvantage: {
  1301. series: [{
  1302. data: [{
  1303. name: subjectList[0],
  1304. value: 95
  1305. },
  1306. {
  1307. name: subjectList[1],
  1308. value: 88
  1309. },
  1310. {
  1311. name: subjectList[2],
  1312. value: 99
  1313. },
  1314. {
  1315. name: subjectList[3],
  1316. value: 80
  1317. },
  1318. {
  1319. name: subjectList[4],
  1320. value: 77
  1321. },
  1322. {
  1323. name: subjectList[5],
  1324. value: 95
  1325. }
  1326. ]
  1327. }]
  1328. },
  1329. },
  1330. //能力雷达图分析
  1331. abilityChart: {
  1332. //重要考试分析
  1333. importantAnalyse: {
  1334. categories: subjectList,
  1335. series: [{
  1336. name: "开学考试",
  1337. data: [
  1338. 90,
  1339. 89,
  1340. 98,
  1341. 88,
  1342. 95,
  1343. 89
  1344. ]
  1345. },
  1346. {
  1347. name: "期中考试",
  1348. data: [
  1349. 94,
  1350. 89,
  1351. 97,
  1352. 91,
  1353. 95,
  1354. 90
  1355. ]
  1356. },
  1357. {
  1358. name: "期末考试",
  1359. data: [
  1360. 90,
  1361. 90,
  1362. 95,
  1363. 96,
  1364. 90,
  1365. 92
  1366. ]
  1367. }
  1368. ],
  1369. },
  1370. //普通考试分析
  1371. commonAnalyse: {
  1372. categories: subjectList,
  1373. series: [{
  1374. name: "第一月考",
  1375. data: [
  1376. 90,
  1377. 100,
  1378. 77,
  1379. 78,
  1380. 75,
  1381. 95
  1382. ]
  1383. },
  1384. {
  1385. name: "第二月考",
  1386. data: [
  1387. 89,
  1388. 94,
  1389. 75,
  1390. 99,
  1391. 80,
  1392. 92
  1393. ]
  1394. },
  1395. {
  1396. name: "第三月考",
  1397. data: [
  1398. 79,
  1399. 84,
  1400. 94,
  1401. 73,
  1402. 99,
  1403. 87
  1404. ]
  1405. }
  1406. ],
  1407. },
  1408. },
  1409. }
  1410. this.$store.commit('m_chart/updateGradeChart', gradeData)
  1411. }
  1412. //获取评测,作业,活动数据
  1413. function initHomework() {
  1414. //数据
  1415. this.testData = testData
  1416. this.homeworkData = homeworkData
  1417. this.activityData = activityData
  1418. //完成数据
  1419. this.testFinish = testFinishData.length
  1420. this.homeworkFinish = homeworkFinishData.length
  1421. this.activityFinish = activityFinishData.length
  1422. }
  1423. export default {
  1424. initApp, //初始化项目数据
  1425. initHome, //初始化首页数据
  1426. initGrade, //初始化成绩数据
  1427. initHomework, //初始化作业数据
  1428. }