Browse Source

Merge branch 'beta' of https://git.cocorobo.cn/CocoRoboLabs/pbl-teacher-table into beta

lsc 6 months ago
parent
commit
d395dfc316

+ 1 - 1
dist/index.html

@@ -32,7 +32,7 @@
       width: 100%;
       background: #e6eaf0;
       font-family: '黑体';
-    }</style><link href=./static/css/app.a3e275c269b3a34b3ca536e34892dea5.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=./static/js/manifest.161e82026ac2ae03ab6f.js></script><script type=text/javascript src=./static/js/vendor.de15001ce66f032e9274.js></script><script type=text/javascript src=./static/js/app.c90f2e34859b29afbf28.js></script></body></html><script>function stopSafari() {
+    }</style><link href=./static/css/app.94188cf72b1d492129aaa13f77f0d421.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=./static/js/manifest.161e82026ac2ae03ab6f.js></script><script type=text/javascript src=./static/js/vendor.de15001ce66f032e9274.js></script><script type=text/javascript src=./static/js/app.68dc25c5c2bad0ee729e.js></script></body></html><script>function stopSafari() {
     //阻止safari浏览器双击放大功能
     let lastTouchEnd = 0  //更新手指弹起的时间
     document.documentElement.addEventListener("touchstart", function (event) {

File diff suppressed because it is too large
+ 0 - 0
dist/static/css/app.94188cf72b1d492129aaa13f77f0d421.css


File diff suppressed because it is too large
+ 0 - 0
dist/static/css/app.94188cf72b1d492129aaa13f77f0d421.css.map


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/app.68dc25c5c2bad0ee729e.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/app.68dc25c5c2bad0ee729e.js.map


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/manifest.161e82026ac2ae03ab6f.js.map


+ 1 - 0
src/assets/icon/test/echart0_icon.svg

@@ -0,0 +1 @@
+<svg t="1737686902051" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2765" width="200" height="200"><path d="M85.333333 128a42.666667 42.666667 0 0 0-85.333333 0v682.666667a128 128 0 0 0 128 128h853.333333a42.666667 42.666667 0 1 0 0-85.333334H128a42.666667 42.666667 0 0 1-42.666667-42.666666V128z" fill="#5087EC" p-id="2766"></path><path d="M886.485333 332.672a42.666667 42.666667 0 1 0-63.232-57.344l-255.957333 282.24-115.498667-107.776a85.333333 85.333333 0 0 0-121.941333 5.632l-154.709333 173.653333a42.666667 42.666667 0 0 0 63.744 56.746667l154.709333-173.653333 115.498667 107.776a85.333333 85.333333 0 0 0 121.429333-5.077334l255.957333-282.197333z" fill="#5087EC" p-id="2767"></path></svg>

+ 1 - 0
src/assets/icon/test/echart10_icon.svg

@@ -0,0 +1 @@
+<svg t="1737687539852" class="icon" viewBox="0 0 1339 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="16356" width="200" height="200"><path d="M1315.446154 905.846154V1024H70.892308v-118.153846zM244.184615 212.676923v598.646154h-78.76923V212.676923zM575.015385 330.830769v409.6h-78.769231V330.830769zM1228.8 401.723077v267.815385h-78.769231V401.723077zM905.846154 118.153846v504.123077h-78.769231V118.153846z" fill="#5087EC" p-id="16357"></path><path d="M70.892308 708.923077h275.692307V362.338462H70.892308zM393.846154 630.153846h275.692308V401.723077H393.846154zM1055.507692 614.4h275.692308V488.369231h-275.692308zM724.676923 488.369231h275.692308V228.430769H724.676923z" fill="#5087EC" p-id="16358"></path><path d="M307.2 165.415385v78.76923H102.4v-78.76923zM630.153846 283.569231v78.769231H433.230769v-78.769231zM1291.815385 346.584615v78.769231h-196.923077v-78.769231zM960.984615 55.138462v78.76923H764.061538v-78.76923zM307.2 771.938462v78.76923H102.4v-78.76923zM630.153846 701.046154v78.769231H433.230769v-78.769231zM1291.815385 669.538462v78.76923h-196.923077v-78.76923zM960.984615 582.892308v78.76923H764.061538v-78.76923z" fill="#5087EC" p-id="16359"></path></svg>

+ 1 - 0
src/assets/icon/test/echart11_icon.svg

@@ -0,0 +1 @@
+<svg t="1737687573055" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="17482" width="200" height="200"><path d="M938.664229 0H85.335771C38.268343 0 0 38.268343 0 85.335771v853.328458C0 985.731657 38.268343 1024 85.335771 1024h853.328458c47.067429 0 85.335771-38.268343 85.335771-85.335771V85.335771C1024 38.136686 985.731657 0 938.664229 0zM369.737143 261.866057V86.674286h284.401371v175.199085h284.401372v175.199086H654.1312v326.933943h-0.533943V617.866971H369.2032v146.139429h-283.867429V617.457371h284.394058V442.2656H85.335771V261.866057h284.394058z m0 0h284.401371v175.199086H369.737143V261.866057z" fill="#5087EC" p-id="17483"></path></svg>

+ 1 - 0
src/assets/icon/test/echart12_icon.svg

@@ -0,0 +1 @@
+<svg t="1737687608690" class="icon" viewBox="0 0 1280 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="18590" width="200" height="200"><path d="M1280 0l-128 320H128L0 0z" fill="#5182E4" p-id="18591"></path><path d="M1120 384L1024 704H256L160 384z" fill="#5182E4" fill-opacity=".3" p-id="18592"></path><path d="M992 768l-256 256h-192l-256-256z" fill="#5182E4" fill-opacity=".504" p-id="18593"></path></svg>

+ 1 - 0
src/assets/icon/test/echart13_icon.svg

@@ -0,0 +1 @@
+<svg t="1737687653070" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="19675" width="200" height="200"><path d="M538.452203 112.617395l381.897748 277.463311c15.846004 11.513784 22.476009 31.919188 16.423559 50.54672L790.90211 889.5757c-6.05245 18.626402-23.41185 31.239912-42.997827 31.239911H275.852715c-19.585978 0-36.944247-12.61351-42.996697-31.239911L86.983488 440.627426c-6.05245-18.626402 0.578684-39.032936 16.423558-50.545589l381.897749-277.465572c15.846004-11.511523 37.302534-11.511523 53.147408 0z m87.418631 634.057183l-261.603743 59.293669a45.294481 45.294481 0 0 1-10.139409 1.125722l-49.621051 68.510799h414.742605l-93.378402-128.93019z m257.793696-288.899108l-80.361395 25.172768a45.453845 45.453845 0 0 1-3.142075 6.321449L662.305342 719.908168l94.011338 129.803867 127.34672-391.936565z m-743.548327 0.077987l127.322985 391.857448 47.483761-65.561996a45.345342 45.345342 0 0 1-3.646163-8.300503l-95.302075-293.309315a45.560088 45.560088 0 0 1-0.319859-1.025131l-75.538649-23.660503z m371.761731 131.426896L393.278163 753.035585l203.752265-46.181722-85.152494-117.57351z m-243.316415-91.195903L347.082879 739.743929l128.14128-176.928212-206.66264-64.731267z m470.722402 4.914296L548.49102 562.759205l84.960353 117.306773 105.832548-177.067232zM489.273077 301.244751l-210.236468 152.745536 210.236468 65.850207V301.244751z m45.209713 0v218.526799l210.169784-65.829863-210.169784-152.696936z m0-135.62914v80.050579c1.356291 0.784389 2.682066 1.643373 3.969413 2.579214l249.475108 181.254781a45.227797 45.227797 0 0 1 8.621493 8.186349l78.545094-24.603126-340.611108-247.467797z m-45.209713 0L148.594155 413.132009l77.59117 24.303611a45.262834 45.262834 0 0 1 6.212944-5.442119l252.906526-183.748097a45.38377 45.38377 0 0 1 3.968282-2.578084v-80.051709z" fill="#5087EC" p-id="19676"></path></svg>

+ 1 - 0
src/assets/icon/test/echart14_icon.svg

@@ -0,0 +1 @@
+<svg t="1737687751003" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="22123" width="200" height="200"><path d="M130.133333 804.266667l-2.133333-170.666667 2.133333 85.333333-2.133333-85.333333c2.133333 0 172.8-6.4 334.933333-125.866667 72.533333-53.333333 125.866667-108.8 172.8-157.866666 76.8-81.066667 142.933333-149.333333 247.466667-153.6l8.533333 170.666666c-38.4 2.133333-74.666667 38.4-134.4 102.4-49.066667 51.2-110.933333 115.2-194.133333 177.066667-209.066667 153.6-424.533333 157.866667-433.066667 157.866667z" fill="#4C64FE" opacity=".6" p-id="22124"></path><path d="M85.333333 170.666667h85.333334v682.666666H85.333333zM853.333333 170.666667h85.333334v682.666666h-85.333334z" fill="#4C64FE" p-id="22125"></path><path d="M872.533333 661.333333c-74.666667 0-283.733333-14.933333-422.4-157.866666-115.2-119.466667-320-123.733333-322.133333-123.733334l2.133333-170.666666c10.666667 0 277.333333 4.266667 445.866667 174.933333 113.066667 117.333333 315.733333 104.533333 315.733333 104.533333l12.8 170.666667c-4.266667 2.133333-14.933333 2.133333-32 2.133333zM878.933333 806.4c-68.266667 0-251.733333-12.8-375.466666-138.666667-134.4-138.666667-366.933333-142.933333-369.066667-142.933333v-42.666667c10.666667 0 251.733333 2.133333 398.933333 155.733334 134.4 138.666667 364.8 123.733333 366.933334 123.733333l2.133333 42.666667c2.133333 2.133333-8.533333 2.133333-23.466667 2.133333z" fill="#4C64FE" p-id="22126"></path></svg>

+ 1 - 0
src/assets/icon/test/echart1_icon.svg

@@ -0,0 +1 @@
+<svg t="1737687032779" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5431" width="200" height="200"><path d="M128.4 897.6V97h-30v830.6h823.5v-30z" p-id="5432" fill="#5087EC"></path><path d="M254.7 584.9c-5.2-1.6-10.7-2.5-16.4-2.5-29.9 0-54.2 24.3-54.2 54.2s24.3 54.2 54.2 54.2 54.2-24.3 54.2-54.2c0-9.5-2.5-18.5-6.8-26.3l94-98.9 79.7 52c-1.6 5.2-2.5 10.6-2.5 16.3 0 29.9 24.3 54.2 54.2 54.2s54.2-24.3 54.2-54.2c0-2.1-0.1-4.2-0.4-6.3l75.4-33L752.1 679c-3.9 7.5-6.2 16-6.2 25.1 0 29.9 24.3 54.2 54.2 54.2s54.2-24.3 54.2-54.2-24.3-54.2-54.2-54.2c-6.2 0-12.2 1.1-17.7 3l-103.9-129 84.6-37c9.7 9.1 22.7 14.6 37 14.6 29.9 0 54.2-24.3 54.2-54.2S830.1 393 800.1 393s-54.2 24.3-54.2 54.2c0 1.1 0 2.3 0.1 3.4l-93.6 40.9-93.3-115.8c4-7.6 6.3-16.2 6.3-25.4 0-29.9-24.3-54.2-54.2-54.2S457 320.4 457 350.3c0 6.4 1.1 12.6 3.2 18.4l-86.4 91-81.4-53.1c0.1-1.5 0.2-3.1 0.2-4.7 0-29.9-24.3-54.2-54.2-54.2s-54.2 24.3-54.2 54.2 24.3 54.2 54.2 54.2c13.8 0 26.3-5.1 35.9-13.6l71.5 46.6-91.1 95.8z m232.1-186.2c7.3 3.7 15.6 5.8 24.4 5.8 6.1 0 12-1 17.5-2.9l85.8 106.5-68.5 30c-9.4-7.9-21.5-12.6-34.8-12.6-9.5 0-18.4 2.5-26.2 6.8L407.8 482l79-83.3z" p-id="5433" fill="#5087EC"></path></svg>

+ 1 - 0
src/assets/icon/test/echart2_icon.svg

@@ -0,0 +1 @@
+<svg t="1737687083473" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="6531" width="200" height="200"><path d="M170.688 128a42.688 42.688 0 0 0-85.376 0V600.32c0 67.84 0 122.944 5.888 166.464 6.08 45.44 19.2 84.48 50.368 115.584 31.104 31.104 70.144 44.288 115.52 50.368 43.52 5.888 98.688 5.888 166.528 5.888h472.32a42.688 42.688 0 0 0 0-85.376H426.752c-71.68 0-121.024-0.064-158.208-5.12-35.904-4.8-53.952-13.44-66.56-26.112-12.608-12.608-21.312-30.656-26.176-66.56-4.992-37.12-5.12-86.592-5.12-158.208V128z" fill="#5087EC" p-id="6532"></path><path d="M789.44 443.904a42.688 42.688 0 1 0-85.312 0v256a42.688 42.688 0 0 0 85.312 0v-256zM533.44 230.592c23.552 0 42.688 19.136 42.688 42.688v426.688a42.688 42.688 0 1 1-85.376 0V273.28c0-23.552 19.136-42.688 42.688-42.688zM362.752 529.28a42.688 42.688 0 0 0-85.312 0v170.688a42.688 42.688 0 1 0 85.312 0V529.28z" fill="#5087EC" p-id="6533"></path></svg>

+ 1 - 0
src/assets/icon/test/echart3_icon.svg

@@ -0,0 +1 @@
+<svg t="1737687803630" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="23277" width="200" height="200"><path d="M928 854.8V909c0 10.5-8.5 19.1-19.1 19.1H117.1c-10.5 0-19.1-8.5-19.1-19.1v-54.2c0-10.5 8.5-19.1 19.1-19.1H909c10.5 0.1 19 8.6 19 19.1zM236 486.1V770c0 10.5-8.5 19.1-19.1 19.1H117c-10.5-0.1-19-8.6-19-19.1V486.1c0-10.5 8.5-19.1 19.1-19.1H217c10.5 0 19 8.6 19 19.1z m0-275.3V401c0 10.5-8.5 19.1-19.1 19.1H117c-10.5 0-19.1-8.5-19.1-19.1V210.8c0-10.5 8.5-19.1 19.1-19.1h99.9c10.6 0.1 19.1 8.6 19.1 19.1z m230.7 386.8V770c0 10.5-8.5 19.1-19.1 19.1h-99.9c-10.5 0-19.1-8.5-19.1-19.1V597.6c0-10.5 8.5-19.1 19.1-19.1h99.9c10.5 0 19.1 8.6 19.1 19.1z m0-480.5v395.3c0 10.5-8.5 19.1-19.1 19.1h-99.9c-10.5 0-19.1-8.5-19.1-19.1V117.1c0-10.5 8.5-19.1 19.1-19.1h99.9c10.5 0.1 19.1 8.6 19.1 19.1z m230.6 369V770c0 10.5-8.5 19.1-19.1 19.1h-99.9c-10.5 0-19.1-8.5-19.1-19.1V486.1c0-10.5 8.5-19.1 19.1-19.1h99.9c10.6 0 19.1 8.6 19.1 19.1z m0-211.1v126c0 10.5-8.5 19.1-19.1 19.1h-99.9c-10.5 0-19.1-8.5-19.1-19.1V275c0-10.5 8.5-19.1 19.1-19.1h99.9c10.6 0.1 19.1 8.6 19.1 19.1zM928 405v365c0 10.5-8.5 19.1-19.1 19.1H809c-10.5 0-19.1-8.5-19.1-19.1V405c0-10.5 8.5-19.1 19.1-19.1h99.9c10.6 0.1 19.1 8.6 19.1 19.1z m0-287.9v202.1c0 10.5-8.5 19.1-19.1 19.1H809c-10.5 0-19.1-8.5-19.1-19.1V117.1c0-10.5 8.5-19.1 19.1-19.1h99.9c10.6 0.1 19.1 8.6 19.1 19.1z" p-id="23278" fill="#5087EC"></path></svg>

+ 1 - 0
src/assets/icon/test/echart4_icon.svg

@@ -0,0 +1 @@
+<svg t="1737687317896" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="9082" width="200" height="200"><path d="M63.4 248.4h166.1v664.5H63.4z" fill="#5B8FF9" p-id="9083"></path><path d="M262.7 514.2h166.1v398.7H262.7z" fill="#5AD8A6" p-id="9084"></path><path d="M595 115.5h166.1v797.4H595z" fill="#5B8FF9" p-id="9085"></path><path d="M794.3 348h166.1v564.8H794.3z" fill="#5AD8A6" p-id="9086"></path></svg>

+ 1 - 0
src/assets/icon/test/echart5_icon.svg

@@ -0,0 +1 @@
+<svg t="1737687364933" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="10146" width="200" height="200"><path d="M481.440914 512.599771h-0.928914V0C212.297143 16.413257 0 239.147886 0 511.531886 0 794.594743 229.376 1024 512.402286 1024c142.109257 0 270.7456-57.921829 363.615085-151.332571L481.440914 512.592457z m378.1632-365.399771l8.009143-8.009143C783.945143 59.655314 676.125257 11.337143 563.104914 0.402286V407.04l296.4992-259.84z m61.915429 59.253029l-340.801829 298.276571 344.137143 312.151771a362.261943 362.261943 0 0 0 11.607772-16.420571C991.707429 718.657829 1024 620.032 1024 513.938286a510.529829 510.529829 0 0 0-102.473143-307.485257z" fill="#5087EC" p-id="10147"></path></svg>

+ 1 - 0
src/assets/icon/test/echart6_icon.svg

@@ -0,0 +1 @@
+<svg t="1737687413043" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="11268" width="200" height="200"><path d="M909.582629 187.896686l-183.625143 183.881143c26.141257 40.067657 41.208686 87.873829 41.208685 139.285942a254.442057 254.442057 0 0 1-48.274285 149.569829l182.827885 183.083886C977.993143 754.117486 1024 638.061714 1024 511.063771c0.131657-122.455771-42.8032-234.898286-114.417371-323.167085z m-59.209143-61.564343C770.501486 55.822629 668.350171 9.888914 555.936914 0.270629v259.203657c41.742629 7.211886 80.018286 24.700343 112.149943 49.539657l182.286629-182.6816zM306.8416 663.171657a255.370971 255.370971 0 0 1-50.007771-152.107886c0-126.997943 92.547657-232.360229 213.76-252.123428V0C207.096686 21.101714 0 241.846857 0 511.063771c0 128.073143 46.811429 245.050514 124.284343 334.921143L306.834286 663.171657z m351.246629 57.417143a253.805714 253.805714 0 0 1-146.154058 46.08 254.142171 254.142171 0 0 1-143.623314-44.207543L185.226971 905.947429C273.905371 979.6608 387.781486 1024 512.065829 1024c125.352229 0 240.164571-45.136457 329.106285-119.917714L658.088229 720.596114z" fill="#5087EC" p-id="11269"></path></svg>

+ 1 - 0
src/assets/icon/test/echart7_icon.svg

@@ -0,0 +1 @@
+<svg t="1737687448905" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="12681" width="200" height="200"><path d="M128 89.6a38.4 38.4 0 0 1 38.4 38.4v729.6H896a38.4 38.4 0 1 1 0 76.8H174.933333a85.333333 85.333333 0 0 1-85.333333-85.333333V128a38.4 38.4 0 0 1 38.4-38.4z" fill="#5087EC" p-id="12682"></path><path d="M384 661.333333a64 64 0 1 1-128 0 64 64 0 0 1 128 0zM469.333333 512a85.333333 85.333333 0 1 0 0-170.666667 85.333333 85.333333 0 0 0 0 170.666667zM768 661.333333a64 64 0 1 1-128 0 64 64 0 0 1 128 0zM768 426.666667a128 128 0 1 0 0-256 128 128 0 0 0 0 256z" fill="#5087EC" p-id="12683"></path></svg>

+ 1 - 0
src/assets/icon/test/echart8_icon.svg

@@ -0,0 +1 @@
+<svg t="1737687480910" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="13901" width="200" height="200"><path d="M787.2 234.666667m-64 0a64 64 0 1 0 128 0 64 64 0 1 0-128 0Z" fill="#5087EC" p-id="13902"></path><path d="M277.333333 234.666667m-106.666666 0a106.666667 106.666667 0 1 0 213.333333 0 106.666667 106.666667 0 1 0-213.333333 0Z" fill="#5087EC" p-id="13903"></path><path d="M554.666667 234.666667m-85.333334 0a85.333333 85.333333 0 1 0 170.666667 0 85.333333 85.333333 0 1 0-170.666667 0Z" fill="#5087EC" p-id="13904"></path><path d="M128 213.333333h768v42.666667H128z" fill="#5087EC" p-id="13905"></path><path d="M787.2 512m-64 0a64 64 0 1 0 128 0 64 64 0 1 0-128 0Z" fill="#5087EC" p-id="13906"></path><path d="M277.333333 512m-106.666666 0a106.666667 106.666667 0 1 0 213.333333 0 106.666667 106.666667 0 1 0-213.333333 0Z" fill="#5087EC" p-id="13907"></path><path d="M554.666667 512m-85.333334 0a85.333333 85.333333 0 1 0 170.666667 0 85.333333 85.333333 0 1 0-170.666667 0Z" fill="#5087EC" p-id="13908"></path><path d="M128 490.666667h768v42.666666H128z" fill="#5087EC" p-id="13909"></path><path d="M787.2 789.333333m-64 0a64 64 0 1 0 128 0 64 64 0 1 0-128 0Z" fill="#5087EC" p-id="13910"></path><path d="M277.333333 789.333333m-106.666666 0a106.666667 106.666667 0 1 0 213.333333 0 106.666667 106.666667 0 1 0-213.333333 0Z" fill="#5087EC" p-id="13911"></path><path d="M554.666667 789.333333m-85.333334 0a85.333333 85.333333 0 1 0 170.666667 0 85.333333 85.333333 0 1 0-170.666667 0Z" fill="#5087EC" p-id="13912"></path><path d="M128 768h768v42.666667H128z" fill="#5087EC" p-id="13913"></path></svg>

+ 1 - 0
src/assets/icon/test/echart9_icon.svg

@@ -0,0 +1 @@
+<svg t="1737687507074" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="15067" width="200" height="200"><path d="M47.122556 535.683357h243.670005v290.548403H47.122556zM828.429185 0h49.31998v924.383405H828.429185zM488.072485 99.128278h49.31998v924.383405H488.072485z" fill="#5087EC" p-id="15068"></path><path d="M413.848355 321.312351h193.861707v480.503577H413.848355z" fill="#5087EC" p-id="15069"></path><path d="M585.247496 345.728183v431.671912h-146.494992V345.728183h146.494992m48.831665-48.831664h-244.158322v529.335241h244.158322V296.896519zM144.297568 291.525036H193.617549V874.086791H144.297568zM730.277539 193.373391h246.111588v537.148307h-246.111588z" fill="#5087EC" p-id="15070"></path></svg>

+ 42 - 32
src/components/pages/appStore/views/appManagement.vue

@@ -928,7 +928,16 @@ export default {
         type: "warning"
       })
         .then(async e => {
-          this.copyAgentOrWorkflow(item);
+          let _status = await this.copyAgentOrWorkflow(item);
+          if(_status==1){
+            this.$message.success("复制成功,已添加至我的工作流列表。");
+          }else if(_status==2){
+            this.$message.success("复制成功,已添加至我的智能体列表。");
+          }else if(_status==3){
+            this.$message.error("复制失败,该应用无内容")
+          }else if(_status==0){
+            this.$message.error("复制失败")
+          }
           // console.log(item);
           // let url = item.url;
           // let id =
@@ -965,34 +974,34 @@ export default {
           //   console.log('immersivePublishDataId',immersivePublishDataId);
           //   console.log('cardPublishDataId',cardPublishDataId)
           // })
-          let params = [
-            {
-              name: `${item.name}_copy`, //app名称
-              userid: this.userId, //创建的用户ID
-              label: item.label, //app标签
-              detail: item.detail, //app简介
-              url: item.url, //app链接
-              type: item.type, //app类型
-              juri: "1", //app权限 1:我的 2:组织 3:所有人
-              stand: "cn", //语言
-              json: JSON.stringify(item.json) //其他信息
-            }
-          ];
-          this.ajax
-            .post(this.$store.state.api + "insert_appStore", params)
-            .then(res => {
-              if (res.data) {
-                this.$message.success("复制成功,已添加至我的列表。");
-                this.getData();
-                this.insertSave(item, 3);
-              } else {
-                this.$message.error("复制失败");
-              }
-            })
-            .catch(err => {
-              console.log(err);
-              this.$message.error("复制失败");
-            });
+          // let params = [
+          //   {
+          //     name: `${item.name}_copy`, //app名称
+          //     userid: this.userId, //创建的用户ID
+          //     label: item.label, //app标签
+          //     detail: item.detail, //app简介
+          //     url: item.url, //app链接
+          //     type: item.type, //app类型
+          //     juri: "1", //app权限 1:我的 2:组织 3:所有人
+          //     stand: "cn", //语言
+          //     json: JSON.stringify(item.json) //其他信息
+          //   }
+          // ];
+          // this.ajax
+          //   .post(this.$store.state.api + "insert_appStore", params)
+          //   .then(res => {
+          //     if (res.data) {
+          //       this.$message.success("复制成功,已添加至我的列表。");
+          //       this.getData();
+          //       this.insertSave(item, 3);
+          //     } else {
+          //       this.$message.error("复制失败");
+          //     }
+          //   })
+          //   .catch(err => {
+          //     console.log(err);
+          //     this.$message.error("复制失败");
+          //   });
         })
         .catch(_ => {
           console.log("取消复制");
@@ -1006,7 +1015,7 @@ export default {
           item.url.split("/")[item.url.split("/").length - 1];
         if (!id){
           console.log("该链接无对应id")
-          return resolve();
+          return resolve(3);
           // return this.$message.error("复制失败,未找到对应id")
         };
         console.log(item)
@@ -1016,6 +1025,7 @@ export default {
             .get(`https://appapi.cocorobo.cn/api/agents/muti_agent/${id}`)
             .then(async res => {
               let _data = res.data;
+              console.log(_data)
               let _idList = [];
               if (_data["dialoguePublishDataId"])
                 _idList.push(_data["dialoguePublishDataId"]);
@@ -1024,7 +1034,7 @@ export default {
               if (_data["cardPublishDataId"])
                 _idList.push(_data["cardPublishDataId"]);
               if (_idList.length <= 0) {
-                resolve(0);
+                resolve(3);
                 return console.log("该应用无id");
               }
               // /api/agents/copy_mutiAgent
@@ -1047,7 +1057,7 @@ export default {
             userId: this.userId,
             username: this.userName?this.userName:await this.getUserName(this.userId),
           }).then(_=>{
-            resolve(1);
+            resolve(2);
           }).catch(e=>{
             console.log(e)
             resolve(0)

+ 69 - 3
src/components/pages/test/add/components/choice/choice.vue

@@ -67,12 +67,22 @@
               @keyup.enter="save"
               placeholder="请输入选项标题"
             />
+
+            <div class="changeIndex">
+              <span  @click.stop="changeIndex(index,0)">
+                <svg t="1737082063936" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4412" width="200" height="200"><path d="M908.8 787.2 512 396.8l-396.8 396.8c-25.6 25.6-70.4 25.6-96 0s-25.6-70.4 0-96l441.6-441.6C480 236.8 492.8 230.4 512 230.4s32 6.4 51.2 19.2l441.6 441.6c25.6 25.6 25.6 70.4 0 96C979.2 819.2 934.4 819.2 908.8 787.2z" p-id="4413"></path></svg>
+                </span>
+              <span  @click.stop="changeIndex(index,1)">
+                <svg style="transform: rotate(180deg);" t="1737082063936" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4412" width="200" height="200"><path d="M908.8 787.2 512 396.8l-396.8 396.8c-25.6 25.6-70.4 25.6-96 0s-25.6-70.4 0-96l441.6-441.6C480 236.8 492.8 230.4 512 230.4s32 6.4 51.2 19.2l441.6 441.6c25.6 25.6 25.6 70.4 0 96C979.2 819.2 934.4 819.2 908.8 787.2z" p-id="4413"></path></svg></span>
+            </div>
+
             <span
               @click.stop="deleteChoice(index)"
               class="deleteChoice"
               v-if="cJson.array.length>2"
               >×</span
             >
+
           </div>
           <div
             class="choice_c"
@@ -101,12 +111,22 @@
               @keyup.enter="save"
               placeholder="请输入选项标题"
             />
+
+            <div class="changeIndex">
+              <span  @click.stop="changeIndex(index,0)">
+                <svg t="1737082063936" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4412" width="200" height="200"><path d="M908.8 787.2 512 396.8l-396.8 396.8c-25.6 25.6-70.4 25.6-96 0s-25.6-70.4 0-96l441.6-441.6C480 236.8 492.8 230.4 512 230.4s32 6.4 51.2 19.2l441.6 441.6c25.6 25.6 25.6 70.4 0 96C979.2 819.2 934.4 819.2 908.8 787.2z" p-id="4413"></path></svg>
+                </span>
+              <span  @click.stop="changeIndex(index,1)">
+                <svg style="transform: rotate(180deg);" t="1737082063936" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4412" width="200" height="200"><path d="M908.8 787.2 512 396.8l-396.8 396.8c-25.6 25.6-70.4 25.6-96 0s-25.6-70.4 0-96l441.6-441.6C480 236.8 492.8 230.4 512 230.4s32 6.4 51.2 19.2l441.6 441.6c25.6 25.6 25.6 70.4 0 96C979.2 819.2 934.4 819.2 908.8 787.2z" p-id="4413"></path></svg></span>
+            </div>
+
             <span
               @click.stop="deleteChoice(index)"
                 v-if="cJson.array.length>2"
               class="deleteChoice"
               >×</span
             >
+
           </div>
         </div>
       </div>
@@ -228,7 +248,18 @@ export default {
     },
 		addChoice(){
 			this.checkJson.array.push({ option: "选项" + (this.checkJson.array.length + 1), img: "" })
-		}
+		},
+    changeIndex(index,type){
+      if (type == 0 && index != 0) { // 上移
+        const item = this.checkJson.array.splice(index, 1)[0];
+        this.checkJson.array.splice(index - 1, 0, item);
+        // this.$message.info("上移");
+      } else if (type == 1 && index != this.checkJson.array.length - 1) { // 下移
+        const item = this.checkJson.array.splice(index, 1)[0];
+        this.checkJson.array.splice(index + 1, 0, item);
+        // this.$message.info("下移");
+      }
+    }
   },
   mounted() {
     // if (!this.cJson || Object.keys(this.cJson).length == 0) {
@@ -267,7 +298,7 @@ export default {
   align-items: center;
   margin-bottom: 10px;
   position: relative;
-  width: calc(100% - 50px);
+  width: calc(100% - 50px - 50px);
 }
 .choice_box > .choices > .choice > .choice_c > span {
   /* padding-right: 50px; */
@@ -306,7 +337,7 @@ export default {
   min-width: 25px;
   min-height: 25px;
   position: absolute;
-  right: -30px;
+  right: -60px;
   transform: translateY(2px);
   border-radius: 5px;
   color: #646a73 !important;
@@ -326,4 +357,39 @@ export default {
   background-color: #e8e9e9;
 }
 
+.changeIndex{
+  width: 16px;
+  height: 45px;
+  position: absolute;
+  right: -25px;
+  display: flex;
+  flex-direction: column;
+  justify-content: space-around;
+  transform: translateY(2px);
+  /* background-color: red; */
+}
+
+.changeIndex>span{
+  width: 20px;
+  height: 18px;
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  box-sizing: border-box;
+  padding: 4px;
+  cursor: pointer;
+  border-radius: 4px;
+  background-color: #fff;
+  /* background-color: yellow; */
+}
+
+.changeIndex>span:hover{
+  background-color: #e8e9e9;
+}
+
+.changeIndex>span>svg{
+  width: 100%;
+  height: 100%;
+}
+
 </style>

+ 211 - 7
src/components/pages/test/check/index.vue

@@ -129,14 +129,14 @@
                   style="margin-right: 10px; position: relative"
                   v-if="stype == 2 || stype == 3"
                 >
-                  <el-date-picker
+                  <!-- <el-date-picker
                     v-model="SubmitTime"
                     type="date"
                     @change="searchCourse"
                     value-format="yyyy-MM-dd"
                     placeholder="选择日期"
                   >
-                  </el-date-picker>
+                  </el-date-picker> -->
                   <!-- <el-select v-model="SubmitTime" placeholder="按提交时间筛选">
                     <el-option
                       label="全部"
@@ -328,7 +328,7 @@
                 </div>
               </div>
               <div class="content2" v-if="item.type == 3">
-                <div class="left">
+                <div class="left"  style="min-height: 482px;">
                   <div class="title">
                     <span>序号</span>
                     <span>词频</span>
@@ -336,10 +336,10 @@
                   </div>
                   <div
                     class="data"
-                    v-for="(data, index2) in item.array"
-                    :key="index + '-' + index2"
+                    v-for="(data, index3) in item.showArray"
+                    :key="index + '-' + index3"
                   >
-                    <span>{{ index2 + 1 }}</span>
+                    <span>{{ index3 + 1 }}</span>
                     <span>{{ data.count }}次</span>
                     <el-tooltip
                       :content="data.name"
@@ -350,10 +350,29 @@
                       <span>{{ data.name }}</span>
                     </el-tooltip>
                   </div>
+                  <div class="paging" v-if="item.limit">
+                    <el-pagination
+                      background
+                      :hide-on-single-page="true"
+                      :page-size="item.limit"
+											@current-change="textPagingChange($event,item,index)"
+                      :current-page="item.nowPage"
+                      layout="prev, pager, next"
+                      :total="item.total">
+                    </el-pagination>
+                  </div>
                 </div>
                 <div class="right">
+									<div class="noWordCloud" v-if="!item.wordCloutData">
+										<el-button v-if="!item.loadingWordCloud" type="primary" @click="getWordCloutData(item,index)">生成词云图</el-button>
+                    <div v-else>
+                      <span>小可努力生成中,请稍等片刻</span>
+                      <img src="../../../../assets/KekeLoading.gif">
+                    </div>
+									</div>
                   <wordcloud
-                    :data="item.array"
+										v-else
+                    :data="item.wordCloutData"
                     nameKey="name"
                     valueKey="count"
                     :showTooltip="false"
@@ -1098,6 +1117,22 @@
                 width="170px"
                 align="left"
               >
+              <template slot="header" slot-scope="scope">
+                  <div
+                  style="display: flex; align-items: center"
+                  >
+                    <span>提交时间</span>
+                    <div class="tableDatePicker">
+                      <el-date-picker
+                        v-model="submissionTimePicker"
+                        @change="submissionTimePickerChange"
+                        type="daterange"
+                        range-separator="▼"
+                      >
+                      </el-date-picker>
+                    </div>
+                  </div>
+                </template>
                 <template slot-scope="scope">
                   <span
                     :style="`${
@@ -1735,6 +1770,8 @@ import FileSaver from "file-saver";
 import XLSX from "xlsx-js-style";
 import aiBoxRight from "./aiBoxRight.vue";
 
+import { v4 as uuidv4 } from "uuid";
+
 // word模板
 import docxTemplateDialog from "./docxTemplateDialog";
 
@@ -1851,6 +1888,7 @@ export default {
       fileLoading: [],
       selectWorkList: [],
       tableDatePicker: [],
+      submissionTimePicker:[],
       // fileLoadCount: [],
       // fileLoadNum: [],
       // infoprogress: [],
@@ -2395,6 +2433,20 @@ export default {
                       count: 1,
                     });
                   }
+
+                  let limit = 10;
+
+                  if(topic.array.length>limit){
+                    topic.showArray = topic.array.slice(0,limit)
+                    topic.nowPage = 1;
+                    topic.total = topic.array.length;
+                    topic.limit = limit;
+                  }else{
+                    topic.showArray = topic.array;
+                  }
+
+									topic.loadingWordCloud = false;
+									topic.wordCloutData = null;
                 }
               } else if (topic.type == 5) {
                 let _answer = el2.array[i].json.file
@@ -3552,7 +3604,127 @@ export default {
       });
       this.tableWorksArray = _copyData;
     },
+    submissionTimePickerChange(){
+      let _copyData = JSON.parse(JSON.stringify(this.worksArray));
+      console.log(this.submissionTimePicker)
+      if(!this.submissionTimePicker)return this.tableWorksArray = _copyData;
+      _copyData =  _copyData.filter(i=>{
+        let _startDate = new Date(this.submissionTimePicker[0]);
+        let _endDate = new Date(this.submissionTimePicker[1]);
+
+        let time = i.time.replace(/日/g, "").replace(/年|月/g, "-");
+        let _answerDate = new Date(time);
+        return _answerDate >= _startDate && _answerDate <= _endDate;
+      })
+
+      this.tableWorksArray = _copyData;
+      // this.submissionTimePicker.forEach((i, index) => {
+      //   /*[null,["2024-12-05T00:00:00.000","2025-01-12T00:00:00.000"],["2024-12-04T00:00:00.000","2025-01-24T00:00:00.000"]] */
+      //   if (i && i.length > 0) {
+      //     let _startDate = new Date(i[0]);
+      //     let _endDate = new Date(i[1]);
+      //     _copyData = _copyData.filter((f) => {
+      //       let _answer = f.array[index].json.answer2
+      //         .replace(/日/g, "")
+      //         .replace(/年|月/g, "-");
+      //       let _answerDate = new Date(_answer);
+      //       return _answerDate >= _startDate && _answerDate <= _endDate;
+      //     });
+      //   }
+      // });
+    },
+    textPagingChange(event,item,index){
+			this.testArray[index].nowPage = event;
+			let _nowPage = this.testArray[index].nowPage;
+			let _limit = this.testArray[index].limit;
+			this.testArray[index].showArray = this.testArray[index].array.slice(((_nowPage==0?1:_nowPage)-1)*_limit,((_nowPage==0?1:_nowPage)-1)*_limit+_limit);
+    },
+		getWordCloutData(item,index){
+			console.log(item,index);
+      this.testArray[index].loadingWordCloud = true;
+      const _msg = `NOTICE
+Language: Please use the same language as the user requirement, if the user speaks Chinese, the specific text of your answer should also be in Chinese.
+ATTENTION: Use '##' to SPLIT SECTIONS, not '#'. Output format carefully referenced "Format example".
+Instruction: Based on the context, follow "Format example", write content.
+
+## 任务
+
+请基于以下表单文本,提炼出多个关键词,用于绘制词云图。请给出相应的关键词,关键词出现的频次。请确保输出的关键字准确反映表单文本的主要内容和主题。
+
+## 要求
+
+1. **提取关键词**:从提供的课堂实录文本中提取出多个最具代表性的关键字。关键词应该涵盖表单文本中的主要概念、重要术语和核心主题。尽量选择多样化的关键词,避免过于集中在某一个主题或概念上。
+2. **词频统计**:计算每个关键字在文本中出现的频率。
+3. **输出格式**:输出结果应包含每个关键字、对应的词频数量。
+
+## 输出格式
+
+### 输出格式
+
+[
+	{"count":1,"name":"氯化钠"},
+	{"count":2,"name":"溶液"},
+	{"count":1,"name":"实验"},
+	{"count":3,"name":"质量分数"},
+	{"count":1,"name":"溶质"},
+	{"count":2,"name":"氢氧化钠"},
+	{"count":1,"name":"溶解度"},
+	{"count":4,"name":"饱和溶液"}
+]
+
+请仅仅输出表头,输出关键词和相应的内容,无需其它任何说明文字。
+冒号、逗号等符号均使用英文字符。
+
+### Format example
+
+[
+	{"count":1,"name":"氯化钠"},
+	{"count":2,"name":"溶液"},
+	{"count":1,"name":"实验"},
+	{"count":3,"name":"质量分数"},
+	{"count":1,"name":"溶质"},
+	{"count":2,"name":"氢氧化钠"},
+	{"count":1,"name":"溶解度"},
+	{"count":4,"name":"饱和溶液"}
+]
+
+## 表单文本
+${JSON.stringify(item.array)}
+`;
+
+        const _uuid = uuidv4();
+				let params = {
+					// model: "gpt-3.5-turbo",
+					temperature: 0,
+					max_tokens: 4096,
+					top_p: 1,
+					frequency_penalty: 0,
+					presence_penalty: 0,
+					messages: [{ role: "user", content: _msg }],
+					uid: _uuid,
+					mind_map_question: "",
+					stream: false,
+					model: "gpt-4o-2024-11-20",
+				};
+        this.ajax
+					.post("https://gpt4.cocorobo.cn/chat", params)
+					.then((res) => {
+            let _data = res.data.FunctionResponse.choices[0];
+						let _jsonData = _data.message.content;
+						_jsonData = _jsonData.replaceAll("```json", "").replaceAll("```", "");
+						let _result = JSON.parse(_jsonData);
+            this.testArray[index].wordCloutData = _result;
+            this.testArray[index].loadingWordCloud = false;
+            console.log(_result);
+          }).catch(e=>{
+            console.log(e);
+            this.testArray[index].loadingWordCloud = false;
+            this.testArray[index].wordCloutData = null;
+            this.$message.error("生成词云图失败")
+          })
+		},
   },
+
   beforeDestroy() {
     document.getElementsByTagName("html")[0].style.overflow = "";
     window.removeEventListener("resize", this.checkScreenSize);
@@ -4003,6 +4175,7 @@ export default {
   margin-left: 20px;
   border: 1px solid #e7e7e7;
   min-height: 300px;
+	box-sizing: border-box;
 }
 
 .title_content > .title_box > .content2 {
@@ -4014,6 +4187,7 @@ export default {
 .title_content > .title_box > .content2 > .left {
   width: calc(100% - 620px);
   border: 1px solid #e7e7e7;
+	box-sizing: border-box;
 }
 
 .title_content > .title_box > .content2 > .left > div + div {
@@ -4062,6 +4236,7 @@ export default {
   width: 600px;
   margin-left: 20px;
   border: 1px solid #e7e7e7;
+	box-sizing: border-box;
 }
 
 .title_content > .title_box > .content2 > .right >>> .wordCloud {
@@ -4529,4 +4704,33 @@ export default {
   top: -6px;
   color: red;
 }
+
+.paging{
+  width: 100%;
+  height: 40px;
+  display: flex;
+  justify-content: flex-end;
+	align-items: center;
+  margin-top:auto ;
+}
+
+.noWordCloud{
+	width: 100%;
+	height: 100%;
+	min-height: 300px;
+	display: flex;
+	justify-content: center;
+	align-items: center;
+}
+
+.noWordCloud>div{
+  display: flex;
+  align-items: center;
+}
+
+.noWordCloud>div>img{
+  width: 40px;
+  height: 40px;
+  margin-left: 5px;
+}
 </style>

File diff suppressed because it is too large
+ 8 - 12
src/components/pages/test/checkAi/aiLeader.vue


Some files were not shown because too many files changed in this diff