Jelajahi Sumber

Merge branch 'beta' into HK

lsc 9 bulan lalu
induk
melakukan
7224ff661a
43 mengubah file dengan 1237 tambahan dan 471 penghapusan
  1. 4 0
      dist/index.html
  2. 1 0
      dist/static/css/app.870b858529eb317e7770564238176213.css
  3. 0 0
      dist/static/css/app.870b858529eb317e7770564238176213.css.map
  4. 1 0
      dist/static/css/app.f18f7c530e454af8ab5dd7032267d2b2.css
  5. 0 0
      dist/static/css/app.f18f7c530e454af8ab5dd7032267d2b2.css.map
  6. 1 0
      dist/static/js/app.c1dfc924f6a02101bf26.js
  7. 0 0
      dist/static/js/app.c1dfc924f6a02101bf26.js.map
  8. 1 0
      dist/static/js/app.f280d1a80d281587ba05.js
  9. 1 0
      dist/static/js/app.f280d1a80d281587ba05.js.map
  10. 0 0
      dist/static/js/manifest.3ad1d5771e9b13dbdad2.js.map
  11. 0 0
      src/assets/icon/course/bulb.svg
  12. 0 0
      src/assets/icon/course/bulb2.svg
  13. 1 0
      src/assets/icon/course/clean.svg
  14. 1 0
      src/assets/icon/course/foldIcon.svg
  15. 20 0
      src/assets/icon/course/isTape.svg
  16. 0 0
      src/assets/icon/course/keyboard.svg
  17. 1 0
      src/assets/icon/course/megaphone.svg
  18. 0 0
      src/assets/icon/course/megaphone2.svg
  19. 0 0
      src/assets/icon/course/megaphone3.svg
  20. 1 0
      src/assets/icon/course/record.svg
  21. 1 0
      src/assets/icon/course/record2.svg
  22. 1 0
      src/assets/icon/course/refresh.svg
  23. 1 0
      src/assets/icon/course/robot.svg
  24. 1 0
      src/assets/icon/course/robot2.svg
  25. 1 0
      src/assets/icon/course/voice.svg
  26. 1 0
      src/assets/icon/course/voice2.svg
  27. 271 54
      src/components/classRoomHelper/component/dialogArea.vue
  28. 448 254
      src/components/classRoomHelper/component/searchArea.vue
  29. 253 47
      src/components/classRoomHelper/component/taskArea.vue
  30. 180 72
      src/components/classRoomHelper/index.vue
  31. 7 5
      src/components/courseDetail.vue
  32. 3 3
      src/components/easy2/studyStudent jiu.vue
  33. 4 4
      src/components/easy2/studyStudent.vue
  34. 3 3
      src/components/easy3/studyStudent jiu.vue
  35. 4 4
      src/components/easy3/studyStudent.vue
  36. 3 3
      src/components/noTerminal/studyStudent.vue
  37. 4 4
      src/components/studyStudent.vue
  38. 3 3
      src/components/studyStudentJiu.vue
  39. 3 3
      src/components/trainCourse/easy2/studyStudent.vue
  40. 3 3
      src/components/trainCourse/easy3/studyStudent.vue
  41. 3 3
      src/components/trainCourse/studyStudent.vue
  42. 3 3
      src/components/横板极简和任务模式/easy2/studyStudent.vue
  43. 3 3
      src/components/横板极简和任务模式/easy3/studyStudent.vue

+ 4 - 0
dist/index.html

@@ -27,7 +27,11 @@
     html,
     html,
     body{
     body{
       font-family: '黑体';
       font-family: '黑体';
+<<<<<<< HEAD
     }</style><link href=./static/css/app.f18f7c530e454af8ab5dd7032267d2b2.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=./static/js/manifest.3ad1d5771e9b13dbdad2.js></script><script type=text/javascript src=./static/js/vendor.0eb3ff1f4c979300a113.js></script><script type=text/javascript src=./static/js/app.c1dfc924f6a02101bf26.js></script></body></html><script>function stopSafari() {
     }</style><link href=./static/css/app.f18f7c530e454af8ab5dd7032267d2b2.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=./static/js/manifest.3ad1d5771e9b13dbdad2.js></script><script type=text/javascript src=./static/js/vendor.0eb3ff1f4c979300a113.js></script><script type=text/javascript src=./static/js/app.c1dfc924f6a02101bf26.js></script></body></html><script>function stopSafari() {
+=======
+    }</style><link href=./static/css/app.870b858529eb317e7770564238176213.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=./static/js/manifest.3ad1d5771e9b13dbdad2.js></script><script type=text/javascript src=./static/js/vendor.0eb3ff1f4c979300a113.js></script><script type=text/javascript src=./static/js/app.f280d1a80d281587ba05.js></script></body></html><script>function stopSafari() {
+>>>>>>> beta
     //阻止safari浏览器双击放大功能
     //阻止safari浏览器双击放大功能
     let lastTouchEnd = 0  //更新手指弹起的时间
     let lastTouchEnd = 0  //更新手指弹起的时间
     document.documentElement.addEventListener("touchstart", function (event) {
     document.documentElement.addEventListener("touchstart", function (event) {

File diff ditekan karena terlalu besar
+ 1 - 0
dist/static/css/app.870b858529eb317e7770564238176213.css


File diff ditekan karena terlalu besar
+ 0 - 0
dist/static/css/app.870b858529eb317e7770564238176213.css.map


File diff ditekan karena terlalu besar
+ 1 - 0
dist/static/css/app.f18f7c530e454af8ab5dd7032267d2b2.css


File diff ditekan karena terlalu besar
+ 0 - 0
dist/static/css/app.f18f7c530e454af8ab5dd7032267d2b2.css.map


File diff ditekan karena terlalu besar
+ 1 - 0
dist/static/js/app.c1dfc924f6a02101bf26.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/static/js/app.c1dfc924f6a02101bf26.js.map


File diff ditekan karena terlalu besar
+ 1 - 0
dist/static/js/app.f280d1a80d281587ba05.js


File diff ditekan karena terlalu besar
+ 1 - 0
dist/static/js/app.f280d1a80d281587ba05.js.map


File diff ditekan karena terlalu besar
+ 0 - 0
dist/static/js/manifest.3ad1d5771e9b13dbdad2.js.map


File diff ditekan karena terlalu besar
+ 0 - 0
src/assets/icon/course/bulb.svg


File diff ditekan karena terlalu besar
+ 0 - 0
src/assets/icon/course/bulb2.svg


+ 1 - 0
src/assets/icon/course/clean.svg

@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1720143046002" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4651" xmlns:xlink="http://www.w3.org/1999/xlink" width="64" height="64"><path d="M900.7 504.4l-76.3-150c-13.4-26.3-40-42.6-69.5-42.6H638.4c-1.1 0-2-0.9-2-2V120.2c0-31.1-25.3-56.3-56.3-56.3h-90c-31.1 0-56.3 25.3-56.3 56.3v189.6c0 1.1-0.9 2-2 2H315.1c-29.5 0-56.1 16.3-69.5 42.6l-76.3 150c-9.2 18.1-8.4 39.3 2.2 56.6 10.3 16.8 27.9 27 47.4 27.6-4.8 101-38.3 205.9-90.2 279.5-12.5 17.8-14.1 40.8-4.1 60.1 10 19.3 29.7 31.3 51.5 31.3h601.6c35 0 66-23.6 75.2-57.4 15.5-56.5 28.4-107.9 29.4-164.9 1.1-52.6-8.9-101.6-30-148.6 19-1.1 36.1-11.2 46.2-27.6 10.6-17.3 11.4-38.5 2.2-56.6z m-681.5 25.4l76.3-150c3.8-7.4 11.3-12 19.6-12h116.4c32 0 58-26 58-58V120.2c0-0.1 0.2-0.3 0.3-0.3h90c0.1 0 0.3 0.2 0.3 0.3v189.6c0 32 26 58 58 58h116.4c8.3 0 15.8 4.6 19.6 12l76.3 150c0.2 0.3 0.5 1-0.1 2s-1.3 1-1.7 1H221c-0.4 0-1.1 0-1.7-1-0.6-1-0.3-1.7-0.1-2z m607.2 206.4c-0.9 50.5-12.9 98.3-27.4 151.1-2.6 9.5-11.3 16.2-21.2 16.2H651.2c11.3-22.3 18.5-44 23.1-61.2 7.1-26.7 10.7-53.5 10.6-78-0.1-17.1-15.5-30.1-32.4-27.4-13.6 2.2-23.6 14-23.6 27.8 0.1 42.7-14.1 98.2-42.7 138.8H405.6c15.2-21.7 26.1-43.8 33.6-61.9 10-24.3 17.4-49.7 21.2-72.5 2.8-17-10.4-32.5-27.6-32.5-13.6 0-25.3 9.8-27.6 23.3-2.8 16.6-8.3 37.7-17.7 60.4-10.1 24.6-27.8 58.1-55.6 83.3H176.2c-0.5 0-1.2 0-1.8-1.1-0.6-1.1-0.2-1.6 0.1-2 29.7-42.1 54.8-94.5 72.5-151.4 16.2-52.1 25.7-106.9 28-160.3h514.6c25.8 46.4 37.8 94.8 36.8 147.4z" p-id="4652" fill="#000000"></path></svg>

+ 1 - 0
src/assets/icon/course/foldIcon.svg

@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1720058031510" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="8647" xmlns:xlink="http://www.w3.org/1999/xlink" width="64" height="64"><path d="M913.4 400.5c-60.7 0-110.6 49.8-110.6 110.7 0 61 49.7 110.7 110.6 110.7 60.8 0 110.6-49.8 110.6-110.7s-49.9-110.7-110.6-110.7z m-400.7 0.8c-59.1 0-107.6 49.9-107.6 111.1s48.4 111.1 107.6 111.1c59.1 0 107.6-49.9 107.6-111.1S572 401.3 512.7 401.3z m-403.2 0.4C49.3 401.7 0 451.4 0 512.4s49.2 110.7 109.5 110.7S219 573.3 219 512.4c-0.1-61-49.4-110.7-109.5-110.7z" fill="#000000" p-id="8648"></path></svg>

+ 20 - 0
src/assets/icon/course/isTape.svg

@@ -0,0 +1,20 @@
+<svg width="56" height="56" viewBox="0 0 56 56" fill="none" xmlns="http://www.w3.org/2000/svg">
+<g filter="url(#filter0_f_596_1430)">
+<circle cx="28" cy="28" r="28" fill="#6AAFF2" fill-opacity="0.12"/>
+</g>
+<circle cx="28" cy="28" r="23" fill="#6AAFF2" fill-opacity="0.2"/>
+<circle cx="28" cy="28" r="20" fill="#5E9AFC"/>
+<path d="M38.9422 25.6226H41.0004V29.4645H38.9422V25.6226Z" fill="white"/>
+<path d="M32.7677 24.6622H34.8259V30.425H32.7677V24.6622Z" fill="white"/>
+<path d="M26.5933 22.7412H28.6514V32.346H26.5933V22.7412Z" fill="white"/>
+<path d="M17.3664 25.6226H15.3082V29.4645H17.3664V25.6226Z" fill="white"/>
+<path d="M23.5409 24.6622H21.4827V30.425H23.5409V24.6622Z" fill="white"/>
+<path d="M29.7153 22.7412H27.6572V32.346H29.7153V22.7412Z" fill="white"/>
+<defs>
+<filter id="filter0_f_596_1430" x="-4" y="-4" width="64" height="64" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
+<feFlood flood-opacity="0" result="BackgroundImageFix"/>
+<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
+<feGaussianBlur stdDeviation="2" result="effect1_foregroundBlur_596_1430"/>
+</filter>
+</defs>
+</svg>

File diff ditekan karena terlalu besar
+ 0 - 0
src/assets/icon/course/keyboard.svg


+ 1 - 0
src/assets/icon/course/megaphone.svg

@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1720161929302" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="23431" xmlns:xlink="http://www.w3.org/1999/xlink" width="64" height="64"><path d="M571.9 875.5c-13 0-26.1-3.5-37.9-10.6l-199.6-119c-0.9-0.6-1.9-1.2-2.7-1.8-8-4.1-16.4-6.2-25-6.2H167.9c-56 0-101.6-50.6-101.6-112.7V400.3c0-62.2 45.6-112.7 101.6-112.7h138.8c9.7 0 19.5-2.8 28.3-8.1l199.6-119c23.1-13.8 50.9-14.1 74.3-0.9 26.2 14.9 42.4 44.2 42.4 76.5l-0.3 130.6-0.3 422.6c0 32.3-16.3 61.6-42.4 76.5-11.5 6.5-23.9 9.7-36.4 9.7zM841.4 747.6c-9 0-18-3.4-24.9-10.3-13.7-13.7-13.7-36 0-49.7 46.7-46.7 72.4-108.8 72.4-174.9s-25.7-128.2-72.4-174.9c-13.7-13.7-13.7-36 0-49.7 13.7-13.7 36-13.7 49.7 0 60 60 93 139.7 93 224.6s-33 164.6-93 224.6c-6.8 6.9-15.8 10.3-24.8 10.3z" fill="#6C8CFF" p-id="23432"></path><path d="M722.9 666.4c-9 0-18-3.4-24.9-10.3-13.7-13.7-13.7-36 0-49.7 51.7-51.7 51.7-135.8 0-187.5-13.7-13.7-13.7-36 0-49.7 13.7-13.7 36-13.7 49.7 0 79.1 79.1 79.1 207.8 0 286.9-6.8 6.9-15.8 10.3-24.8 10.3z" fill="#6C8CFF" p-id="23433"></path></svg>

File diff ditekan karena terlalu besar
+ 0 - 0
src/assets/icon/course/megaphone2.svg


File diff ditekan karena terlalu besar
+ 0 - 0
src/assets/icon/course/megaphone3.svg


+ 1 - 0
src/assets/icon/course/record.svg

@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1720079124747" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="17601" xmlns:xlink="http://www.w3.org/1999/xlink" width="64" height="64"><path d="M617.792 807.424H173.44c-51.328 0-93.056-45.248-93.056-100.928V384.256c0-55.68 41.728-100.992 93.056-100.992h444.352c51.328 0 93.056 45.312 93.056 100.992v322.24c0 55.68-41.728 100.928-93.056 100.928zM173.44 331.328c-24.832 0-45.056 23.744-45.056 52.992v322.24c0 29.184 20.16 52.928 45.056 52.928h444.352c24.896 0 45.056-23.744 45.056-52.928V384.256c0-29.248-20.16-52.992-45.056-52.992H173.44z" p-id="17602" fill="#000000"></path><path d="M907.328 779.776a48.192 48.192 0 0 1-25.344-7.808L664.256 636.8l25.344-40.768 208.064 129.216 0.128-359.68-208.192 129.216-25.344-40.768 217.664-135.232c14.848-9.152 30.656-10.24 43.584-3.136 12.864 7.168 20.288 21.312 20.288 38.656v382.144c0 17.344-7.36 31.424-20.288 38.656a37.824 37.824 0 0 1-18.176 4.672z" p-id="17603" fill="#000000"></path><path d="M214.528 416.512m-33.024 0a33.024 33.024 0 1 0 66.048 0 33.024 33.024 0 1 0-66.048 0Z" p-id="17604" fill="#000000"></path></svg>

+ 1 - 0
src/assets/icon/course/record2.svg

@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1720079124747" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="17601" xmlns:xlink="http://www.w3.org/1999/xlink" width="64" height="64"><path d="M617.792 807.424H173.44c-51.328 0-93.056-45.248-93.056-100.928V384.256c0-55.68 41.728-100.992 93.056-100.992h444.352c51.328 0 93.056 45.312 93.056 100.992v322.24c0 55.68-41.728 100.928-93.056 100.928zM173.44 331.328c-24.832 0-45.056 23.744-45.056 52.992v322.24c0 29.184 20.16 52.928 45.056 52.928h444.352c24.896 0 45.056-23.744 45.056-52.928V384.256c0-29.248-20.16-52.992-45.056-52.992H173.44z" p-id="17602" fill="#ffffff"></path><path d="M907.328 779.776a48.192 48.192 0 0 1-25.344-7.808L664.256 636.8l25.344-40.768 208.064 129.216 0.128-359.68-208.192 129.216-25.344-40.768 217.664-135.232c14.848-9.152 30.656-10.24 43.584-3.136 12.864 7.168 20.288 21.312 20.288 38.656v382.144c0 17.344-7.36 31.424-20.288 38.656a37.824 37.824 0 0 1-18.176 4.672z" p-id="17603" fill="#ffffff"></path><path d="M214.528 416.512m-33.024 0a33.024 33.024 0 1 0 66.048 0 33.024 33.024 0 1 0-66.048 0Z" p-id="17604" fill="#ffffff"></path></svg>

+ 1 - 0
src/assets/icon/course/refresh.svg

@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1720166942796" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="24447" xmlns:xlink="http://www.w3.org/1999/xlink" width="64" height="64"><path d="M960 416V192l-73.056 73.056a447.712 447.712 0 0 0-373.6-201.088C265.92 63.968 65.312 264.544 65.312 512S265.92 960.032 513.344 960.032a448.064 448.064 0 0 0 415.232-279.488 38.368 38.368 0 1 0-71.136-28.896 371.36 371.36 0 0 1-344.096 231.584C308.32 883.232 142.112 717.024 142.112 512S308.32 140.768 513.344 140.768c132.448 0 251.936 70.08 318.016 179.84L736 416h224z" p-id="24448"></path></svg>

+ 1 - 0
src/assets/icon/course/robot.svg

@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1720074794426" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="12952" xmlns:xlink="http://www.w3.org/1999/xlink" width="64" height="64"><path d="M271.36 107.008l3.982222 3.299556 96.540445 96.597333A334.392889 334.392889 0 0 1 512 176.355556c50.005333 0 97.450667 10.922667 140.117333 30.549333l96.597334-96.597333 3.925333-3.299556a28.444444 28.444444 0 0 1 39.594667 39.594667l-3.299556 3.982222-85.617778 85.617778A335.246222 335.246222 0 0 1 847.644444 512c0 47.331556-9.841778 93.297778-28.501333 135.566222a130.787556 130.787556 0 0 1-42.211555 250.993778l-8.931556 0.284444h-512a130.844444 130.844444 0 0 1-51.086222-251.335111A333.767111 333.767111 0 0 1 176.355556 512a335.246222 335.246222 0 0 1 144.327111-275.797333L235.064889 150.528a28.444444 28.444444 0 0 1 36.295111-43.52zM768 694.044444h-512a73.955556 73.955556 0 0 0-7.566222 147.512889l7.566222 0.398223h512a73.955556 73.955556 0 1 0 0-147.911112zM512 233.244444a278.755556 278.755556 0 0 0-249.173333 403.911112h498.232889l0.568888-0.853334A278.755556 278.755556 0 0 0 512 233.244444zM102.4 381.155556a28.444444 28.444444 0 0 1 27.989333 23.324444l0.455111 5.12v179.2a28.444444 28.444444 0 0 1-56.433777 5.12l-0.455111-5.12V409.6a28.444444 28.444444 0 0 1 28.444444-28.444444z m819.2 0a28.444444 28.444444 0 0 1 27.989333 23.324444l0.455111 5.12v179.2a28.444444 28.444444 0 0 1-56.433777 5.12l-0.455111-5.12V409.6a28.444444 28.444444 0 0 1 28.444444-28.444444z m-512 28.444444a51.2 51.2 0 1 1 0 102.4 51.2 51.2 0 0 1 0-102.4z m204.8 0a51.2 51.2 0 1 1 0 102.4 51.2 51.2 0 0 1 0-102.4z" fill="#000000" p-id="12953"></path></svg>

+ 1 - 0
src/assets/icon/course/robot2.svg

@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1720074794426" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="12952" xmlns:xlink="http://www.w3.org/1999/xlink" width="64" height="64"><path d="M271.36 107.008l3.982222 3.299556 96.540445 96.597333A334.392889 334.392889 0 0 1 512 176.355556c50.005333 0 97.450667 10.922667 140.117333 30.549333l96.597334-96.597333 3.925333-3.299556a28.444444 28.444444 0 0 1 39.594667 39.594667l-3.299556 3.982222-85.617778 85.617778A335.246222 335.246222 0 0 1 847.644444 512c0 47.331556-9.841778 93.297778-28.501333 135.566222a130.787556 130.787556 0 0 1-42.211555 250.993778l-8.931556 0.284444h-512a130.844444 130.844444 0 0 1-51.086222-251.335111A333.767111 333.767111 0 0 1 176.355556 512a335.246222 335.246222 0 0 1 144.327111-275.797333L235.064889 150.528a28.444444 28.444444 0 0 1 36.295111-43.52zM768 694.044444h-512a73.955556 73.955556 0 0 0-7.566222 147.512889l7.566222 0.398223h512a73.955556 73.955556 0 1 0 0-147.911112zM512 233.244444a278.755556 278.755556 0 0 0-249.173333 403.911112h498.232889l0.568888-0.853334A278.755556 278.755556 0 0 0 512 233.244444zM102.4 381.155556a28.444444 28.444444 0 0 1 27.989333 23.324444l0.455111 5.12v179.2a28.444444 28.444444 0 0 1-56.433777 5.12l-0.455111-5.12V409.6a28.444444 28.444444 0 0 1 28.444444-28.444444z m819.2 0a28.444444 28.444444 0 0 1 27.989333 23.324444l0.455111 5.12v179.2a28.444444 28.444444 0 0 1-56.433777 5.12l-0.455111-5.12V409.6a28.444444 28.444444 0 0 1 28.444444-28.444444z m-512 28.444444a51.2 51.2 0 1 1 0 102.4 51.2 51.2 0 0 1 0-102.4z m204.8 0a51.2 51.2 0 1 1 0 102.4 51.2 51.2 0 0 1 0-102.4z" fill="#ffffff" p-id="12953"></path></svg>

+ 1 - 0
src/assets/icon/course/voice.svg

@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1720145444290" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="17203" xmlns:xlink="http://www.w3.org/1999/xlink" width="64" height="64"><path d="M490.666667 809.856c-136.149333-10.346667-244.842667-119.04-255.189334-255.189333h42.816C289.066667 674.282667 389.589333 768 512 768s222.933333-93.717333 233.706667-213.333333h42.816c-10.346667 136.149333-119.04 244.842667-255.189334 255.189333V896h170.666667v42.666667H320v-42.666667h170.666667v-86.144zM512 85.333333a192 192 0 0 1 192 192v256a192 192 0 0 1-384 0V277.333333a192 192 0 0 1 192-192z m0 42.666667a149.333333 149.333333 0 0 0-149.333333 149.333333v256a149.333333 149.333333 0 0 0 298.666666 0V277.333333a149.333333 149.333333 0 0 0-149.333333-149.333333z" fill="#000000" p-id="17204"></path></svg>

+ 1 - 0
src/assets/icon/course/voice2.svg

@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1720145444290" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="17203" xmlns:xlink="http://www.w3.org/1999/xlink" width="64" height="64"><path d="M490.666667 809.856c-136.149333-10.346667-244.842667-119.04-255.189334-255.189333h42.816C289.066667 674.282667 389.589333 768 512 768s222.933333-93.717333 233.706667-213.333333h42.816c-10.346667 136.149333-119.04 244.842667-255.189334 255.189333V896h170.666667v42.666667H320v-42.666667h170.666667v-86.144zM512 85.333333a192 192 0 0 1 192 192v256a192 192 0 0 1-384 0V277.333333a192 192 0 0 1 192-192z m0 42.666667a149.333333 149.333333 0 0 0-149.333333 149.333333v256a149.333333 149.333333 0 0 0 298.666666 0V277.333333a149.333333 149.333333 0 0 0-149.333333-149.333333z" fill="#ffffff" p-id="17204"></path></svg>

File diff ditekan karena terlalu besar
+ 271 - 54
src/components/classRoomHelper/component/dialogArea.vue


File diff ditekan karena terlalu besar
+ 448 - 254
src/components/classRoomHelper/component/searchArea.vue


File diff ditekan karena terlalu besar
+ 253 - 47
src/components/classRoomHelper/component/taskArea.vue


+ 180 - 72
src/components/classRoomHelper/index.vue

@@ -6,8 +6,9 @@
         ref="searchAreaRef"
         ref="searchAreaRef"
         :navList="navList"
         :navList="navList"
         :tcid="tcid"
         :tcid="tcid"
-				:fileId="fileId"
-				:recordType="recordType"
+				:openMegaphone="openMegaphone"
+        :fileId="fileId"
+        :recordType="recordType"
         v-if="itemType == 1"
         v-if="itemType == 1"
       />
       />
       <taskArea
       <taskArea
@@ -16,32 +17,72 @@
         :courseType="courseType"
         :courseType="courseType"
         :taskCount="taskCount"
         :taskCount="taskCount"
         :worksStudent="worksStudent"
         :worksStudent="worksStudent"
+				:openMegaphone="openMegaphone"
         ref="taskAreaRef"
         ref="taskAreaRef"
-				:fileId="fileId"
+        :fileId="fileId"
         v-if="itemType == 2"
         v-if="itemType == 2"
       />
       />
       <dialogArea
       <dialogArea
         :courseDetail="courseDetail"
         :courseDetail="courseDetail"
+				:openMegaphone="openMegaphone"
         ref="dialogAreaRef"
         ref="dialogAreaRef"
-				:fileId="fileId"
+        :fileId="fileId"
         v-if="itemType == 3"
         v-if="itemType == 3"
       />
       />
     </div>
     </div>
     <div class="ch_nav_box">
     <div class="ch_nav_box">
       <div class="ch_nav_box_top">
       <div class="ch_nav_box_top">
-        <div @click="$emit('backPage')">
-          <el-tooltip class="item" effect="dark" content="返回" placement="top">
-            <img :src="require('../../assets/icon/course/return.png')" alt="" />
-          </el-tooltip>
-        </div>
-
-        <div @click="$emit('refresh')">
-          <el-tooltip class="item" effect="dark" content="刷新" placement="top">
+        <div @click="changeFold(!fold)">
+          <el-tooltip class="item" effect="dark" :content="fold?'折叠':'展开'" placement="top">
             <img
             <img
-              :src="require('../../assets/icon/course/refresh.png')"
+              :src="require('../../assets/icon/course/foldIcon.svg')"
               alt=""
               alt=""
+							:style="`${fold?'transform: rotate(90deg);':''}`"
             />
             />
           </el-tooltip>
           </el-tooltip>
+          <div v-if="fold" class="itemFold">
+            <div @click="$emit('backPage')">
+              <el-tooltip
+                class="item"
+                effect="dark"
+                content="返回"
+                placement="top"
+              >
+                <img
+                  :src="require('../../assets/icon/course/return.png')"
+                  alt=""
+                />
+              </el-tooltip>
+            </div>
+
+            <div @click="$emit('refresh')">
+              <el-tooltip
+                class="item"
+                effect="dark"
+                content="刷新"
+                placement="top"
+              >
+                <img
+                  :src="require('../../assets/icon/course/refresh.png')"
+                  alt=""
+                />
+              </el-tooltip>
+            </div>
+
+            <div @click="$emit('authority')" v-if="tType == 1 || tType == 4">
+              <el-tooltip
+                class="item"
+                effect="dark"
+                content="权限"
+                placement="top"
+              >
+                <img
+                  :src="require('../../assets/icon/course/setting.png')"
+                  alt=""
+                />
+              </el-tooltip>
+            </div>
+          </div>
         </div>
         </div>
 
 
         <div @click="$emit('review')" v-if="tType == 1">
         <div @click="$emit('review')" v-if="tType == 1">
@@ -53,53 +94,68 @@
             />
             />
           </el-tooltip>
           </el-tooltip>
         </div>
         </div>
-        <div @click="$emit('authority')" v-if="tType == 1 || tType == 4">
-          <!-- -->
-          <el-tooltip class="item" effect="dark" content="权限" placement="top">
+
+				<div @click="$emit('startRecording')" v-if="!videoStart && (tType == 1 || tType == 4)">
+          <el-tooltip class="item" effect="dark" content="录制" placement="top">
+            <img
+              :src="require('../../assets/icon/course/record.svg')"
+              alt=""
+              style="width: 22px;height: 22px;"
+            />
+          </el-tooltip>
+        </div>
+
+				<div @click="$emit('stopRecording')" v-else-if="(tType == 1 || tType == 4)" style="background:#f63564">
+          <el-tooltip class="item" effect="dark" content="下载" placement="top">
             <img
             <img
-              :src="require('../../assets/icon/course/setting.png')"
+              :src="require('../../assets/icon/course/record2.svg')"
               alt=""
               alt=""
+              style="width: 22px;height: 22px;"
             />
             />
           </el-tooltip>
           </el-tooltip>
         </div>
         </div>
+
+				
       </div>
       </div>
       <div class="ch_nav_box_middle">
       <div class="ch_nav_box_middle">
         <div
         <div
           :class="[
           :class="[
             'ch_nav_box_middle_item',
             'ch_nav_box_middle_item',
-            itemType == 1 ? 'ch_nav_box_middle_item_active' : ''
+            itemType == 2 ? 'ch_nav_box_middle_item_active' : ''
           ]"
           ]"
-          @click.stop="changeItemType(1)"
+          @click.stop="changeItemType(2)"
         >
         >
           <img
           <img
-            v-if="itemType == 1"
-            :src="require('../../assets/icon/course/up_active.png')"
+            v-if="itemType == 2"
+            :src="require('../../assets/icon/course/task_active.png')"
           />
           />
           <img
           <img
-            v-if="itemType != 1"
-            :src="require('../../assets/icon/course/up.png')"
+            v-if="itemType != 2"
+            :src="require('../../assets/icon/course/task.png')"
           />
           />
-          <!-- <span :style="`background:url(${itemType==1?require('../../assets/icon/course/up_active.png'):require('../../assets/icon/course/up.png')});`"></span> -->
-          <div>对话</div>
+          <!-- <span :style="`background:url(${itemType==2?require('../../assets/icon/course/task_active.png'):require('../../assets/icon/course/task.png')});`"></span> -->
+          <div>任务</div>
         </div>
         </div>
-        <div
+
+				<div
           :class="[
           :class="[
             'ch_nav_box_middle_item',
             'ch_nav_box_middle_item',
-            itemType == 2 ? 'ch_nav_box_middle_item_active' : ''
+            itemType == 1 ? 'ch_nav_box_middle_item_active' : ''
           ]"
           ]"
-          @click.stop="changeItemType(2)"
+          @click.stop="changeItemType(1)"
         >
         >
           <img
           <img
-            v-if="itemType == 2"
-            :src="require('../../assets/icon/course/task_active.png')"
+            v-if="itemType == 1"
+            :src="require('../../assets/icon/course/up_active.png')"
           />
           />
           <img
           <img
-            v-if="itemType != 2"
-            :src="require('../../assets/icon/course/task.png')"
+            v-if="itemType != 1"
+            :src="require('../../assets/icon/course/up.png')"
           />
           />
-          <!-- <span :style="`background:url(${itemType==2?require('../../assets/icon/course/task_active.png'):require('../../assets/icon/course/task.png')});`"></span> -->
-          <div>任务</div>
+          <!-- <span :style="`background:url(${itemType==1?require('../../assets/icon/course/up_active.png'):require('../../assets/icon/course/up.png')});`"></span> -->
+          <div>对话</div>
         </div>
         </div>
+
         <div
         <div
           :class="[
           :class="[
             'ch_nav_box_middle_item',
             'ch_nav_box_middle_item',
@@ -120,6 +176,19 @@
         </div>
         </div>
       </div>
       </div>
       <div class="ch_nav_box_bottom">
       <div class="ch_nav_box_bottom">
+
+				<div @click.stop="startAssistant()" :class="[recordType==1?'ch_nav_box_middle_item_active':'']">
+					<el-tooltip
+            class="item"
+            effect="dark"
+            :content="recordType==0?'开启语音助手':'关闭语音助手'"
+            placement="top"
+          >
+            <img v-if="recordType!=1" :src="require('../../assets/icon/course/robot.svg')" />
+						<img v-else :src="require('../../assets/icon/course/robot2.svg')" />
+          </el-tooltip>
+				</div>
+
         <div @click.stop="$emit('goStep', 0)">
         <div @click.stop="$emit('goStep', 0)">
           <el-tooltip
           <el-tooltip
             class="item"
             class="item"
@@ -166,7 +235,7 @@ import dialogArea from "./component/dialogArea.vue";
 import levitatedSphere from "./component/levitatedSphere.vue";
 import levitatedSphere from "./component/levitatedSphere.vue";
 import timepiece from "./component/timepiece.vue";
 import timepiece from "./component/timepiece.vue";
 export default {
 export default {
-  emits: ["refresh", "goStep", "backPage", "authority", "review"],
+  emits: ["refresh", "goStep", "backPage", "authority", "review","stopRecording","startRecording"],
   components: {
   components: {
     searchArea,
     searchArea,
     taskArea,
     taskArea,
@@ -206,14 +275,21 @@ export default {
     fileList: {
     fileList: {
       type: Array,
       type: Array,
       default: () => []
       default: () => []
-    }
+    },
+		videoStart:{
+			type:Boolean,
+			default:false,
+		},
   },
   },
   data() {
   data() {
     return {
     return {
       type: 0,
       type: 0,
       itemType: 0, //0--无  1-搜索  2-任务 3-对话
       itemType: 0, //0--无  1-搜索  2-任务 3-对话
       fileId: [],
       fileId: [],
-			recordType:0,
+      recordType: 0,
+			recordLoading:false,
+      fold: false,
+			openMegaphone:false,//是否打开喇叭
       getFileIdLoading: false
       getFileIdLoading: false
     };
     };
   },
   },
@@ -254,12 +330,12 @@ export default {
     },
     },
     getFileId() {
     getFileId() {
       if (this.getFileIdLoading) return;
       if (this.getFileIdLoading) return;
-			this.getFileIdLoading = true;
+      this.getFileIdLoading = true;
       this.fileId = [];
       this.fileId = [];
-			let _this = this;
+      let _this = this;
       let _successFileUrl = [];
       let _successFileUrl = [];
       if (this.fileList.length <= 0) retrun;
       if (this.fileList.length <= 0) retrun;
-      let addType = ["DOCX", "DOC", "PPT", "PPTX", "MD", "TXT","PDF"];
+      let addType = ["DOCX", "DOC", "PPT", "PPTX", "MD", "TXT", "PDF"];
       this.fileList.forEach(i => {
       this.fileList.forEach(i => {
         if (
         if (
           addType.includes(
           addType.includes(
@@ -282,7 +358,7 @@ export default {
                 if (_data.result && _data.result.id) {
                 if (_data.result && _data.result.id) {
                   this.fileId.push(_data.result.id);
                   this.fileId.push(_data.result.id);
                 }
                 }
-								resolve();
+                resolve();
               });
               });
           })
           })
         );
         );
@@ -291,18 +367,36 @@ export default {
         this.getFileIdLoading = false;
         this.getFileIdLoading = false;
       });
       });
     },
     },
-		startAssistant(){
-			if(this.recordType==0){
-				this.$refs.levitatedSphereRef.recordStart();
-			}else if(this.recordType==1){
-				this.$refs.levitatedSphereRef.stopRecord();
+    startAssistant() {
+			if(this.recordLoading)return this.$message.info("请稍等...")
+			this.recordLoading = true;
+      if (this.recordType == 0) {
+			// this.$message.info("开启")
+				// this.changeRecordType(1)
+        this.$refs.levitatedSphereRef.recordStart();
+      } else if (this.recordType == 1) {
+				// this.$message.info("关闭")
+				// this.changeRecordType(0)
+        this.$refs.levitatedSphereRef.stopRecord();
+      }
+    },
+		changeMegaphone(){
+			this.openMegaphone = !this.openMegaphone;
+			if(this.openMegaphone){
+				this.$message.success("已开启AI语音")
+			}else{
+				this.$message.success("已关闭AI语音")
 			}
 			}
 		},
 		},
-		changeRecordType(type){
-			console.log("修改了")
-			this.recordType = type;
-			console.log(this.recordType)
-		},
+    // 展开
+    changeFold(newValue) {
+      // this.$message.info("展开");
+			this.fold = newValue;
+    },
+    changeRecordType(type) {
+			this.recordLoading = false;
+      this.recordType = type;
+    }
   }
   }
 };
 };
 </script>
 </script>
@@ -316,7 +410,6 @@ export default {
   border-radius: 10px;
   border-radius: 10px;
   box-sizing: border-box;
   box-sizing: border-box;
   right: 20px;
   right: 20px;
-  /* overflow: hidden; */
   display: flex;
   display: flex;
   top: 20px;
   top: 20px;
   z-index: 1000;
   z-index: 1000;
@@ -327,10 +420,10 @@ export default {
   width: 65px;
   width: 65px;
   display: flex;
   display: flex;
   flex-direction: column;
   flex-direction: column;
-  /* justify-content: flex-end; */
-  margin-top: auto;
   align-items: center;
   align-items: center;
-  overflow: auto;
+  /* overflow-y: auto; */
+  overflow-x: visible; /* 确保横向溢出内容可见 */
+  position: relative;
 }
 }
 
 
 .ch_content_box {
 .ch_content_box {
@@ -341,18 +434,14 @@ export default {
 
 
 .ch_nav_box_bottom {
 .ch_nav_box_bottom {
   width: 100%;
   width: 100%;
-  height: auto;
   box-sizing: border-box;
   box-sizing: border-box;
   border-top: solid 1px #eaeaea;
   border-top: solid 1px #eaeaea;
   display: flex;
   display: flex;
   flex-direction: column;
   flex-direction: column;
-  /* justify-content: flex-end; */
 }
 }
 
 
 .ch_nav_box_middle {
 .ch_nav_box_middle {
   width: 100%;
   width: 100%;
-  height: auto;
-  display: flex;
   box-sizing: border-box;
   box-sizing: border-box;
   border-top: solid 1px #eaeaea;
   border-top: solid 1px #eaeaea;
   flex-direction: column;
   flex-direction: column;
@@ -371,10 +460,6 @@ export default {
   font-size: 14px;
   font-size: 14px;
 }
 }
 
 
-/* .ch_nav_box_middle_item:hover{
-			background-color: rgb(195, 215, 247);
-		} */
-
 .ch_nav_box_middle_item_active {
 .ch_nav_box_middle_item_active {
   background-color: #3681fc;
   background-color: #3681fc;
   color: white;
   color: white;
@@ -386,14 +471,6 @@ export default {
   margin-bottom: 5px;
   margin-bottom: 5px;
 }
 }
 
 
-/* .ch_nav_box_middle_item>span{
-			width: 24px;
-			height: 24px;
-			background-size: 100% 100%;
-			background-repeat: no-repeat;
-			background-position: center;
-		} */
-
 .ch_nav_box_bottom > div {
 .ch_nav_box_bottom > div {
   width: 100%;
   width: 100%;
   height: 65px;
   height: 65px;
@@ -403,6 +480,7 @@ export default {
   align-items: center;
   align-items: center;
   cursor: pointer;
   cursor: pointer;
 }
 }
+
 .ch_nav_box_bottom > div > img {
 .ch_nav_box_bottom > div > img {
   width: 24px;
   width: 24px;
   height: 24px;
   height: 24px;
@@ -410,9 +488,9 @@ export default {
 
 
 .ch_nav_box_top {
 .ch_nav_box_top {
   width: 100%;
   width: 100%;
-  height: auto;
   margin-top: auto;
   margin-top: auto;
 }
 }
+
 .ch_nav_box_top > div {
 .ch_nav_box_top > div {
   width: 100%;
   width: 100%;
   height: 65px;
   height: 65px;
@@ -420,8 +498,38 @@ export default {
   justify-content: center;
   justify-content: center;
   align-items: center;
   align-items: center;
   cursor: pointer;
   cursor: pointer;
+  position: relative;
 }
 }
+
 .ch_nav_box_top > div > img {
 .ch_nav_box_top > div > img {
+  width: 24px;
+  height: 24px;
+	transition: .3s;
+}
+
+.itemFold {
+  position: absolute;
+  width: 65px;
+	left:-65px;
+	top: 0;
+  background: rgb(255, 255, 255);
+  box-sizing: border-box;
+  border: solid 1px #eaeaea;
+	/* border-top: solid 1px #eaeaea; */
+  z-index: 1000; /* 确保二级菜单在主菜单上层 */
+	border-radius: 10px;
+}
+
+.itemFold > div {
+  width: 100%;
+  height: 65px;
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  cursor: pointer;
+}
+
+.itemFold > div > img {
   width: 24px;
   width: 24px;
   height: 24px;
   height: 24px;
 }
 }

+ 7 - 5
src/components/courseDetail.vue

@@ -247,7 +247,7 @@
                 <div class="jdAndTask">
                 <div class="jdAndTask">
                   <div>第{{ index + 1 }}阶段</div>
                   <div>第{{ index + 1 }}阶段</div>
                   <div
                   <div
-                    v-if="courseDetail.state == 2 || courseDetail.state == 3 || courseDetail.state == 4"
+                    v-if="courseDetail.state == 2 || courseDetail.state == 3 || courseDetail.state == 4 || courseDetail.state == 5"
                   >
                   >
                     任务查看
                     任务查看
                   </div>
                   </div>
@@ -1251,7 +1251,7 @@ export default {
               this.screenType
               this.screenType
           );
           );
         }
         }
-      } else if (this.courseDetail.state == 2) {
+      } else if (this.courseDetail.state == 2 || this.courseDetail.state == 5) {
         if (this.classList.length) {
         if (this.classList.length) {
           this.goTo(
           this.goTo(
             "/studystudentE2?type=" +
             "/studystudentE2?type=" +
@@ -1350,9 +1350,11 @@ export default {
 						}).then(() => {
 						}).then(() => {
 							if(this.courseDetail.state == 1 || this.courseDetail.state == 2){
 							if(this.courseDetail.state == 1 || this.courseDetail.state == 2){
 								window.parent.postMessage({ tools: "openNewCourseUpdate",cid:this.id }, "*");
 								window.parent.postMessage({ tools: "openNewCourseUpdate",cid:this.id }, "*");
-							}else if(this.courseDetail.state == 3 || this.courseDetail.state == 4){
+							}else if(this.courseDetail.state == 3){
 								window.parent.postMessage({ tools: "openCourseEUpdate",cid:this.id }, "*");
 								window.parent.postMessage({ tools: "openCourseEUpdate",cid:this.id }, "*");
-							}
+							}else if(this.courseDetail.state == 4 || this.courseDetail.state == 5){
+								window.parent.postMessage({ tools: "openCourseAiUpdate",cid:this.id }, "*");
+              }
 
 
 						})
 						})
 					}else{
 					}else{
@@ -1433,7 +1435,7 @@ export default {
                   "&screenType=" +
                   "&screenType=" +
                   this.screenType
                   this.screenType
               );
               );
-            } else if (this.courseDetail.state == 2) {
+            } else if (this.courseDetail.state == 2 || this.courseDetail.state == 5) {
               this.goTo(
               this.goTo(
                 "/studystudentE2?type=" +
                 "/studystudentE2?type=" +
                   i +
                   i +

+ 3 - 3
src/components/easy2/studyStudent jiu.vue

@@ -13787,17 +13787,17 @@ export default {
                     f[g].ttype == 2 &&
                     f[g].ttype == 2 &&
                     this.tcid &&
                     this.tcid &&
                     this.arrayToArray(
                     this.arrayToArray(
-                      f[g].classid.split(","),
+                      (f[g].classid ? f[g].classid.split(",") : []),
                       this.tcid.split(",")
                       this.tcid.split(",")
                     ).length == 0
                     ).length == 0
                   ) {
                   ) {
                     continue;
                     continue;
                   }
                   }
                   if (gA == f[g].group && f[g].tool == i && (this.arrayToArray(
                   if (gA == f[g].group && f[g].tool == i && (this.arrayToArray(
-                      f[g].classid.split(","),
+                      (f[g].classid ? f[g].classid.split(",") : []),
                       this.tcid.split(",")
                       this.tcid.split(",")
                     ).length !== 0 || this.arrayToArray(
                     ).length !== 0 || this.arrayToArray(
-                      f[g].classid.split(","),
+                      (f[g].classid ? f[g].classid.split(",") : []),
                       this.classId ? this.classId.split(",") : []
                       this.classId ? this.classId.split(",") : []
                     ).length !== 0 || (!this.tcid && this.tType == '1') || (this.courseDetail.juri === '') || f[g].ttype == 1)) {
                     ).length !== 0 || (!this.tcid && this.tType == '1') || (this.courseDetail.juri === '') || f[g].ttype == 1)) {
                     this.groupStudent[i][gA].push(f[g]);
                     this.groupStudent[i][gA].push(f[g]);

+ 4 - 4
src/components/easy2/studyStudent.vue

@@ -8081,7 +8081,7 @@
       </div>
       </div>
     </div>
     </div>
 		<!-- v-show="org == '1973f6c7-1561-11ee-91d8-005056b86db5' || org == '777559d2-7239-11ee-b98c-005056b86db5' || org == '884c5665-a453-46f3-b7b6-01d575290aa9'" -->
 		<!-- v-show="org == '1973f6c7-1561-11ee-91d8-005056b86db5' || org == '777559d2-7239-11ee-b98c-005056b86db5' || org == '884c5665-a453-46f3-b7b6-01d575290aa9'" -->
-		<classRoomHelper :fileList="vChapterData[taskCount]" :worksStudent="worksStudent" :courseType="parseInt(courseType)" :taskCount="taskCount" :tcid="tcid" :navList="navList" v-show="orgArray.includes(org) || oidArray.includes(oid)" ref="classRoomHelperRef" :courseDetail="courseDetail" :tType="tType" @setWidth="setClassRoomHelperWidth" @refresh="refreshCourse" @goStep="nextOrpreSteps" @authority="juriVisible = true" @review="setPz" @backPage="goTo(
+		<classRoomHelper :videoStart="videoStart" @startRecording="startRecording" @stopRecording="stopRecording" :fileList="vChapterData[taskCount]" :worksStudent="worksStudent" :courseType="parseInt(courseType)" :taskCount="taskCount" :tcid="tcid" :navList="navList" v-show="orgArray.includes(org) || oidArray.includes(oid)" ref="classRoomHelperRef" :courseDetail="courseDetail" :tType="tType" @setWidth="setClassRoomHelperWidth" @refresh="refreshCourse" @goStep="nextOrpreSteps" @authority="juriVisible = true" @review="setPz" @backPage="goTo(
                     '/courseDetail?userid=' +
                     '/courseDetail?userid=' +
                       userid +
                       userid +
                       '&oid=' +
                       '&oid=' +
@@ -14423,17 +14423,17 @@ export default {
                     f[g].ttype == 2 &&
                     f[g].ttype == 2 &&
                     this.tcid &&
                     this.tcid &&
                     this.arrayToArray(
                     this.arrayToArray(
-                      f[g].classid.split(","),
+                      (f[g].classid ? f[g].classid.split(",") : []),
                       this.tcid.split(",")
                       this.tcid.split(",")
                     ).length == 0
                     ).length == 0
                   ) {
                   ) {
                     continue;
                     continue;
                   }
                   }
                   if (gA == f[g].group && f[g].tool == i && (this.arrayToArray(
                   if (gA == f[g].group && f[g].tool == i && (this.arrayToArray(
-                      f[g].classid.split(","),
+                      (f[g].classid ? f[g].classid.split(",") : []),
                       this.tcid.split(",")
                       this.tcid.split(",")
                     ).length !== 0 || this.arrayToArray(
                     ).length !== 0 || this.arrayToArray(
-                      f[g].classid.split(","),
+                      (f[g].classid ? f[g].classid.split(",") : []),
                       this.classId ? this.classId.split(",") : []
                       this.classId ? this.classId.split(",") : []
                     ).length !== 0 || (!this.tcid && this.tType == '1') || (this.courseDetail.juri === '') || f[g].ttype == 1)) {
                     ).length !== 0 || (!this.tcid && this.tType == '1') || (this.courseDetail.juri === '') || f[g].ttype == 1)) {
                     this.groupStudent[i][gA].push(f[g]);
                     this.groupStudent[i][gA].push(f[g]);

+ 3 - 3
src/components/easy3/studyStudent jiu.vue

@@ -13807,17 +13807,17 @@ export default {
                     f[g].ttype == 2 &&
                     f[g].ttype == 2 &&
                     this.tcid &&
                     this.tcid &&
                     this.arrayToArray(
                     this.arrayToArray(
-                      f[g].classid.split(","),
+                      (f[g].classid ? f[g].classid.split(",") : []),
                       this.tcid.split(",")
                       this.tcid.split(",")
                     ).length == 0
                     ).length == 0
                   ) {
                   ) {
                     continue;
                     continue;
                   }
                   }
                   if (gA == f[g].group && f[g].tool == i && (this.arrayToArray(
                   if (gA == f[g].group && f[g].tool == i && (this.arrayToArray(
-                      f[g].classid.split(","),
+                      (f[g].classid ? f[g].classid.split(",") : []),
                       this.tcid.split(",")
                       this.tcid.split(",")
                     ).length !== 0 || this.arrayToArray(
                     ).length !== 0 || this.arrayToArray(
-                      f[g].classid.split(","),
+                      (f[g].classid ? f[g].classid.split(",") : []),
                       this.classId ? this.classId.split(",") : []
                       this.classId ? this.classId.split(",") : []
                     ).length !== 0 || (!this.tcid && this.tType == '1') || (this.courseDetail.juri === '') || f[g].ttype == 1)) {
                     ).length !== 0 || (!this.tcid && this.tType == '1') || (this.courseDetail.juri === '') || f[g].ttype == 1)) {
                     this.groupStudent[i][gA].push(f[g]);
                     this.groupStudent[i][gA].push(f[g]);

+ 4 - 4
src/components/easy3/studyStudent.vue

@@ -8111,7 +8111,7 @@
       </div>
       </div>
     </div>
     </div>
 				<!-- v-show="org == '1973f6c7-1561-11ee-91d8-005056b86db5' || org == '777559d2-7239-11ee-b98c-005056b86db5' || org == '884c5665-a453-46f3-b7b6-01d575290aa9'" -->
 				<!-- v-show="org == '1973f6c7-1561-11ee-91d8-005056b86db5' || org == '777559d2-7239-11ee-b98c-005056b86db5' || org == '884c5665-a453-46f3-b7b6-01d575290aa9'" -->
-		<classRoomHelper :fileList="vChapterData[taskCount]" :worksStudent="worksStudent" :courseType="parseInt(courseType)" :taskCount="taskCount" :tcid="tcid" :navList="navList" v-show="orgArray.includes(org) || oidArray.includes(oid)" ref="classRoomHelperRef" :courseDetail="courseDetail" :tType="tType" @setWidth="setClassRoomHelperWidth" @refresh="refreshCourse" @goStep="nextOrpreSteps" @authority="juriVisible = true" @review="setPz" @backPage="goTo(
+		<classRoomHelper :videoStart="videoStart" @startRecording="startRecording" @stopRecording="stopRecording" :fileList="vChapterData[taskCount]" :worksStudent="worksStudent" :courseType="parseInt(courseType)" :taskCount="taskCount" :tcid="tcid" :navList="navList" v-show="orgArray.includes(org) || oidArray.includes(oid)" ref="classRoomHelperRef" :courseDetail="courseDetail" :tType="tType" @setWidth="setClassRoomHelperWidth" @refresh="refreshCourse" @goStep="nextOrpreSteps" @authority="juriVisible = true" @review="setPz" @backPage="goTo(
                     '/courseDetail?userid=' +
                     '/courseDetail?userid=' +
                       userid +
                       userid +
                       '&oid=' +
                       '&oid=' +
@@ -14462,17 +14462,17 @@ export default {
                     f[g].ttype == 2 &&
                     f[g].ttype == 2 &&
                     this.tcid &&
                     this.tcid &&
                     this.arrayToArray(
                     this.arrayToArray(
-                      f[g].classid.split(","),
+                      (f[g].classid ? f[g].classid.split(",") : []),
                       this.tcid.split(",")
                       this.tcid.split(",")
                     ).length == 0
                     ).length == 0
                   ) {
                   ) {
                     continue;
                     continue;
                   }
                   }
                   if (gA == f[g].group && f[g].tool == i && (this.arrayToArray(
                   if (gA == f[g].group && f[g].tool == i && (this.arrayToArray(
-                      f[g].classid.split(","),
+                      (f[g].classid ? f[g].classid.split(",") : []),
                       this.tcid.split(",")
                       this.tcid.split(",")
                     ).length !== 0 || this.arrayToArray(
                     ).length !== 0 || this.arrayToArray(
-                      f[g].classid.split(","),
+                      (f[g].classid ? f[g].classid.split(",") : []),
                       this.classId ? this.classId.split(",") : []
                       this.classId ? this.classId.split(",") : []
                     ).length !== 0 || (!this.tcid && this.tType == '1') || (this.courseDetail.juri === '') || f[g].ttype == 1)) {
                     ).length !== 0 || (!this.tcid && this.tType == '1') || (this.courseDetail.juri === '') || f[g].ttype == 1)) {
                     this.groupStudent[i][gA].push(f[g]);
                     this.groupStudent[i][gA].push(f[g]);

+ 3 - 3
src/components/noTerminal/studyStudent.vue

@@ -6638,15 +6638,15 @@ export default {
                   if (
                   if (
                     f[g].ttype == 2 &&
                     f[g].ttype == 2 &&
                     this.tcid &&
                     this.tcid &&
-                    this.arrayToArray(f[g].classid.split(","), this.tcid.split(",")).length == 0
+                    this.arrayToArray((f[g].classid ? f[g].classid.split(",") : []), this.tcid.split(",")).length == 0
                   ) {
                   ) {
                     continue;
                     continue;
                   }
                   }
                   if (gA == f[g].group && f[g].tool == i && (this.arrayToArray(
                   if (gA == f[g].group && f[g].tool == i && (this.arrayToArray(
-                      f[g].classid.split(","),
+                      (f[g].classid ? f[g].classid.split(",") : []),
                       this.tcid.split(",")
                       this.tcid.split(",")
                     ).length !== 0 || this.arrayToArray(
                     ).length !== 0 || this.arrayToArray(
-                      f[g].classid.split(","),
+                      (f[g].classid ? f[g].classid.split(",") : []),
                       this.classId ? this.classId.split(",") : []
                       this.classId ? this.classId.split(",") : []
                     ).length !== 0 || (!this.tcid && this.tType == '1') || (this.courseDetail.juri === '') || f[g].ttype == 1)) {
                     ).length !== 0 || (!this.tcid && this.tType == '1') || (this.courseDetail.juri === '') || f[g].ttype == 1)) {
                     this.groupStudent[i][gA].push(f[g]);
                     this.groupStudent[i][gA].push(f[g]);

+ 4 - 4
src/components/studyStudent.vue

@@ -8078,7 +8078,7 @@
         </el-dialog>
         </el-dialog>
       </div>
       </div>
 			<!-- v-show="org == '1973f6c7-1561-11ee-91d8-005056b86db5' || org == '777559d2-7239-11ee-b98c-005056b86db5' || org == '884c5665-a453-46f3-b7b6-01d575290aa9'" -->
 			<!-- v-show="org == '1973f6c7-1561-11ee-91d8-005056b86db5' || org == '777559d2-7239-11ee-b98c-005056b86db5' || org == '884c5665-a453-46f3-b7b6-01d575290aa9'" -->
-      <classRoomHelper :fileList="vChapterData[taskCount]" :worksStudent="worksStudent" :courseType="parseInt(courseType)" :taskCount="taskCount" :tcid="tcid" :navList="navList" v-show="orgArray.includes(org) || oidArray.includes(oid)"  ref="classRoomHelperRef" :courseDetail="courseDetail" :tType="tType" @setWidth="setClassRoomHelperWidth" @refresh="refreshCourse" @goStep="nextOrpreSteps" @authority="juriVisible = true" @review="setPz" @backPage="goTo(
+      <classRoomHelper :videoStart="videoStart" @startRecording="startRecording" @stopRecording="stopRecording" :fileList="vChapterData[taskCount]" :worksStudent="worksStudent" :courseType="parseInt(courseType)" :taskCount="taskCount" :tcid="tcid" :navList="navList" v-show="orgArray.includes(org) || oidArray.includes(oid)"  ref="classRoomHelperRef" :courseDetail="courseDetail" :tType="tType" @setWidth="setClassRoomHelperWidth" @refresh="refreshCourse" @goStep="nextOrpreSteps" @authority="juriVisible = true" @review="setPz" @backPage="goTo(
                     '/courseDetail?userid=' +
                     '/courseDetail?userid=' +
                       userid +
                       userid +
                       '&oid=' +
                       '&oid=' +
@@ -14396,17 +14396,17 @@ export default {
                     f[g].ttype == 2 &&
                     f[g].ttype == 2 &&
                     this.tcid &&
                     this.tcid &&
                     this.arrayToArray(
                     this.arrayToArray(
-                      f[g].classid.split(","),
+                      (f[g].classid ? f[g].classid.split(",") : []),
                       this.tcid.split(",")
                       this.tcid.split(",")
                     ).length == 0
                     ).length == 0
                   ) {
                   ) {
                     continue;
                     continue;
                   }
                   }
                   if (gA == f[g].group && f[g].tool == i && (this.arrayToArray(
                   if (gA == f[g].group && f[g].tool == i && (this.arrayToArray(
-                      f[g].classid.split(","),
+                      (f[g].classid ? f[g].classid.split(",") : []),
                       this.tcid.split(",")
                       this.tcid.split(",")
                     ).length !== 0 || this.arrayToArray(
                     ).length !== 0 || this.arrayToArray(
-                      f[g].classid.split(","),
+                      (f[g].classid ? f[g].classid.split(",") : []),
                       this.classId ? this.classId.split(",") : []
                       this.classId ? this.classId.split(",") : []
                     ).length !== 0 || (!this.tcid && this.tType == '1') || (this.courseDetail.juri === '') || f[g].ttype == 1)) {
                     ).length !== 0 || (!this.tcid && this.tType == '1') || (this.courseDetail.juri === '') || f[g].ttype == 1)) {
                     this.groupStudent[i][gA].push(f[g]);
                     this.groupStudent[i][gA].push(f[g]);

+ 3 - 3
src/components/studyStudentJiu.vue

@@ -14325,17 +14325,17 @@ export default {
                     f[g].ttype == 2 &&
                     f[g].ttype == 2 &&
                     this.tcid &&
                     this.tcid &&
                     this.arrayToArray(
                     this.arrayToArray(
-                      f[g].classid.split(","),
+                      (f[g].classid ? f[g].classid.split(",") : []),
                       this.tcid.split(",")
                       this.tcid.split(",")
                     ).length == 0
                     ).length == 0
                   ) {
                   ) {
                     continue;
                     continue;
                   }
                   }
                   if (gA == f[g].group && f[g].tool == i && (this.arrayToArray(
                   if (gA == f[g].group && f[g].tool == i && (this.arrayToArray(
-                      f[g].classid.split(","),
+                      (f[g].classid ? f[g].classid.split(",") : []),
                       this.tcid.split(",")
                       this.tcid.split(",")
                     ).length !== 0 || this.arrayToArray(
                     ).length !== 0 || this.arrayToArray(
-                      f[g].classid.split(","),
+                      (f[g].classid ? f[g].classid.split(",") : []),
                       this.classId ? this.classId.split(",") : []
                       this.classId ? this.classId.split(",") : []
                     ).length !== 0 || (!this.tcid && this.tType == '1') || (this.courseDetail.juri === '') || f[g].ttype == 1)) {
                     ).length !== 0 || (!this.tcid && this.tType == '1') || (this.courseDetail.juri === '') || f[g].ttype == 1)) {
                     this.groupStudent[i][gA].push(f[g]);
                     this.groupStudent[i][gA].push(f[g]);

+ 3 - 3
src/components/trainCourse/easy2/studyStudent.vue

@@ -13951,17 +13951,17 @@ export default {
                     f[g].ttype == 2 &&
                     f[g].ttype == 2 &&
                     this.tcid &&
                     this.tcid &&
                     this.arrayToArray(
                     this.arrayToArray(
-                      f[g].classid.split(","),
+                      (f[g].classid ? f[g].classid.split(",") : []),
                       this.tcid.split(",")
                       this.tcid.split(",")
                     ).length == 0
                     ).length == 0
                   ) {
                   ) {
                     continue;
                     continue;
                   }
                   }
                   if (gA == f[g].group && f[g].tool == i && (this.arrayToArray(
                   if (gA == f[g].group && f[g].tool == i && (this.arrayToArray(
-                      f[g].classid.split(","),
+                      (f[g].classid ? f[g].classid.split(",") : []),
                       this.tcid.split(",")
                       this.tcid.split(",")
                     ).length !== 0 || this.arrayToArray(
                     ).length !== 0 || this.arrayToArray(
-                      f[g].classid.split(","),
+                      (f[g].classid ? f[g].classid.split(",") : []),
                       this.classId ? this.classId.split(",") : []
                       this.classId ? this.classId.split(",") : []
                     ).length !== 0 || (!this.tcid && this.tType == '1') || (this.courseDetail.juri === '') || f[g].ttype == 1)) {
                     ).length !== 0 || (!this.tcid && this.tType == '1') || (this.courseDetail.juri === '') || f[g].ttype == 1)) {
                     this.groupStudent[i][gA].push(f[g]);
                     this.groupStudent[i][gA].push(f[g]);

+ 3 - 3
src/components/trainCourse/easy3/studyStudent.vue

@@ -13941,17 +13941,17 @@ export default {
                     f[g].ttype == 2 &&
                     f[g].ttype == 2 &&
                     this.tcid &&
                     this.tcid &&
                     this.arrayToArray(
                     this.arrayToArray(
-                      f[g].classid.split(","),
+                      (f[g].classid ? f[g].classid.split(",") : []),
                       this.tcid.split(",")
                       this.tcid.split(",")
                     ).length == 0
                     ).length == 0
                   ) {
                   ) {
                     continue;
                     continue;
                   }
                   }
                   if (gA == f[g].group && f[g].tool == i && (this.arrayToArray(
                   if (gA == f[g].group && f[g].tool == i && (this.arrayToArray(
-                      f[g].classid.split(","),
+                      (f[g].classid ? f[g].classid.split(",") : []),
                       this.tcid.split(",")
                       this.tcid.split(",")
                     ).length !== 0 || this.arrayToArray(
                     ).length !== 0 || this.arrayToArray(
-                      f[g].classid.split(","),
+                      (f[g].classid ? f[g].classid.split(",") : []),
                       this.classId ? this.classId.split(",") : []
                       this.classId ? this.classId.split(",") : []
                     ).length !== 0 || (!this.tcid && this.tType == '1') || (this.courseDetail.juri === '') || f[g].ttype == 1)) {
                     ).length !== 0 || (!this.tcid && this.tType == '1') || (this.courseDetail.juri === '') || f[g].ttype == 1)) {
                     this.groupStudent[i][gA].push(f[g]);
                     this.groupStudent[i][gA].push(f[g]);

+ 3 - 3
src/components/trainCourse/studyStudent.vue

@@ -13922,17 +13922,17 @@ export default {
                     f[g].ttype == 2 &&
                     f[g].ttype == 2 &&
                     this.tcid &&
                     this.tcid &&
                     this.arrayToArray(
                     this.arrayToArray(
-                      f[g].classid.split(","),
+                      (f[g].classid ? f[g].classid.split(",") : []),
                       this.tcid.split(",")
                       this.tcid.split(",")
                     ).length == 0
                     ).length == 0
                   ) {
                   ) {
                     continue;
                     continue;
                   }
                   }
                   if (gA == f[g].group && f[g].tool == i && (this.arrayToArray(
                   if (gA == f[g].group && f[g].tool == i && (this.arrayToArray(
-                      f[g].classid.split(","),
+                      (f[g].classid ? f[g].classid.split(",") : []),
                       this.tcid.split(",")
                       this.tcid.split(",")
                     ).length !== 0 || this.arrayToArray(
                     ).length !== 0 || this.arrayToArray(
-                      f[g].classid.split(","),
+                      (f[g].classid ? f[g].classid.split(",") : []),
                       this.classId ? this.classId.split(",") : []
                       this.classId ? this.classId.split(",") : []
                     ).length !== 0 || (!this.tcid && this.tType == '1') || (this.courseDetail.juri === '') || f[g].ttype == 1)) {
                     ).length !== 0 || (!this.tcid && this.tType == '1') || (this.courseDetail.juri === '') || f[g].ttype == 1)) {
                     this.groupStudent[i][gA].push(f[g]);
                     this.groupStudent[i][gA].push(f[g]);

+ 3 - 3
src/components/横板极简和任务模式/easy2/studyStudent.vue

@@ -13787,17 +13787,17 @@ export default {
                     f[g].ttype == 2 &&
                     f[g].ttype == 2 &&
                     this.tcid &&
                     this.tcid &&
                     this.arrayToArray(
                     this.arrayToArray(
-                      f[g].classid.split(","),
+                      (f[g].classid ? f[g].classid.split(",") : []),
                       this.tcid.split(",")
                       this.tcid.split(",")
                     ).length == 0
                     ).length == 0
                   ) {
                   ) {
                     continue;
                     continue;
                   }
                   }
                   if (gA == f[g].group && f[g].tool == i && (this.arrayToArray(
                   if (gA == f[g].group && f[g].tool == i && (this.arrayToArray(
-                      f[g].classid.split(","),
+                      (f[g].classid ? f[g].classid.split(",") : []),
                       this.tcid.split(",")
                       this.tcid.split(",")
                     ).length !== 0 || this.arrayToArray(
                     ).length !== 0 || this.arrayToArray(
-                      f[g].classid.split(","),
+                      (f[g].classid ? f[g].classid.split(",") : []),
                       this.classId ? this.classId.split(",") : []
                       this.classId ? this.classId.split(",") : []
                     ).length !== 0 || (!this.tcid && this.tType == '1') || (this.courseDetail.juri === '') || f[g].ttype == 1)) {
                     ).length !== 0 || (!this.tcid && this.tType == '1') || (this.courseDetail.juri === '') || f[g].ttype == 1)) {
                     this.groupStudent[i][gA].push(f[g]);
                     this.groupStudent[i][gA].push(f[g]);

+ 3 - 3
src/components/横板极简和任务模式/easy3/studyStudent.vue

@@ -13807,17 +13807,17 @@ export default {
                     f[g].ttype == 2 &&
                     f[g].ttype == 2 &&
                     this.tcid &&
                     this.tcid &&
                     this.arrayToArray(
                     this.arrayToArray(
-                      f[g].classid.split(","),
+                      (f[g].classid ? f[g].classid.split(",") : []),
                       this.tcid.split(",")
                       this.tcid.split(",")
                     ).length == 0
                     ).length == 0
                   ) {
                   ) {
                     continue;
                     continue;
                   }
                   }
                   if (gA == f[g].group && f[g].tool == i && (this.arrayToArray(
                   if (gA == f[g].group && f[g].tool == i && (this.arrayToArray(
-                      f[g].classid.split(","),
+                      (f[g].classid ? f[g].classid.split(",") : []),
                       this.tcid.split(",")
                       this.tcid.split(",")
                     ).length !== 0 || this.arrayToArray(
                     ).length !== 0 || this.arrayToArray(
-                      f[g].classid.split(","),
+                      (f[g].classid ? f[g].classid.split(",") : []),
                       this.classId ? this.classId.split(",") : []
                       this.classId ? this.classId.split(",") : []
                     ).length !== 0 || (!this.tcid && this.tType == '1') || (this.courseDetail.juri === '') || f[g].ttype == 1)) {
                     ).length !== 0 || (!this.tcid && this.tType == '1') || (this.courseDetail.juri === '') || f[g].ttype == 1)) {
                     this.groupStudent[i][gA].push(f[g]);
                     this.groupStudent[i][gA].push(f[g]);

Beberapa file tidak ditampilkan karena terlalu banyak file yang berubah dalam diff ini