lsc 2 달 전
부모
커밋
5d3c4013fe

+ 1 - 1
dist/index.html

@@ -32,7 +32,7 @@
       width: 100%;
       background: #e6eaf0;
       font-family: '黑体';
-    }</style><link href=./static/css/app.1b842baa37b2b463ef5075bbef0c55fd.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=./static/js/manifest.00bfcafc8431113801f1.js></script><script type=text/javascript src=./static/js/vendor.a54a39a7efbf3fedeee2.js></script><script type=text/javascript src=./static/js/app.ca2bde63c8b35a433fd5.js></script></body></html><script>function stopSafari() {
+    }</style><link href=./static/css/app.e6a60badba0e4874b3730f3b7214d2bb.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=./static/js/manifest.571c38d63f24b1ae9e16.js></script><script type=text/javascript src=./static/js/vendor.a82b79982b082928b294.js></script><script type=text/javascript src=./static/js/app.48977f9c503e8186bff8.js></script></body></html><script>function stopSafari() {
     //阻止safari浏览器双击放大功能
     let lastTouchEnd = 0  //更新手指弹起的时间
     document.documentElement.addEventListener("touchstart", function (event) {

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/static/css/app.e6a60badba0e4874b3730f3b7214d2bb.css


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/static/css/app.e6a60badba0e4874b3730f3b7214d2bb.css.map


+ 0 - 0
dist/static/img/videoFile.2273786.svg → dist/static/img/videoFile.8b2406f.svg


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/static/js/0.4f3b05586c3acc102a54.js.map


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/static/js/0.7da288988865a9378b49.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/static/js/0.7da288988865a9378b49.js.map


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/static/js/app.48977f9c503e8186bff8.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/static/js/app.48977f9c503e8186bff8.js.map


+ 2 - 2
dist/static/js/manifest.00bfcafc8431113801f1.js → dist/static/js/manifest.571c38d63f24b1ae9e16.js

@@ -1,2 +1,2 @@
-!function(e){var n=window.webpackJsonp;window.webpackJsonp=function(r,c,a){for(var i,u,f,s=0,l=[];s<r.length;s++)u=r[s],t[u]&&l.push(t[u][0]),t[u]=0;for(i in c)Object.prototype.hasOwnProperty.call(c,i)&&(e[i]=c[i]);for(n&&n(r,c,a);l.length;)l.shift()();if(a)for(s=0;s<a.length;s++)f=o(o.s=a[s]);return f};var r={},t={6:0};function o(n){if(r[n])return r[n].exports;var t=r[n]={i:n,l:!1,exports:{}};return e[n].call(t.exports,t,t.exports,o),t.l=!0,t.exports}o.e=function(e){var n=t[e];if(0===n)return new Promise(function(e){e()});if(n)return n[2];var r=new Promise(function(r,o){n=t[e]=[r,o]});n[2]=r;var c=document.getElementsByTagName("head")[0],a=document.createElement("script");a.type="text/javascript",a.charset="utf-8",a.async=!0,a.timeout=12e4,o.nc&&a.setAttribute("nonce",o.nc),a.src=o.p+"static/js/"+e+"."+{0:"4f3b05586c3acc102a54",1:"d8d4e9b1fe43bbb0a681",2:"94e1427bfc7ef0b4c685",3:"3a9f53a78da16650e6b8"}[e]+".js";var i=setTimeout(u,12e4);function u(){a.onerror=a.onload=null,clearTimeout(i);var n=t[e];0!==n&&(n&&n[1](new Error("Loading chunk "+e+" failed.")),t[e]=void 0)}return a.onerror=a.onload=u,c.appendChild(a),r},o.m=e,o.c=r,o.d=function(e,n,r){o.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},o.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(n,"a",n),n},o.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},o.p="./",o.oe=function(e){throw console.error(e),e}}([]);
-//# sourceMappingURL=manifest.00bfcafc8431113801f1.js.map
+!function(e){var n=window.webpackJsonp;window.webpackJsonp=function(r,a,c){for(var i,u,f,s=0,l=[];s<r.length;s++)u=r[s],t[u]&&l.push(t[u][0]),t[u]=0;for(i in a)Object.prototype.hasOwnProperty.call(a,i)&&(e[i]=a[i]);for(n&&n(r,a,c);l.length;)l.shift()();if(c)for(s=0;s<c.length;s++)f=o(o.s=c[s]);return f};var r={},t={6:0};function o(n){if(r[n])return r[n].exports;var t=r[n]={i:n,l:!1,exports:{}};return e[n].call(t.exports,t,t.exports,o),t.l=!0,t.exports}o.e=function(e){var n=t[e];if(0===n)return new Promise(function(e){e()});if(n)return n[2];var r=new Promise(function(r,o){n=t[e]=[r,o]});n[2]=r;var a=document.getElementsByTagName("head")[0],c=document.createElement("script");c.type="text/javascript",c.charset="utf-8",c.async=!0,c.timeout=12e4,o.nc&&c.setAttribute("nonce",o.nc),c.src=o.p+"static/js/"+e+"."+{0:"7da288988865a9378b49",1:"d8d4e9b1fe43bbb0a681",2:"94e1427bfc7ef0b4c685",3:"3a9f53a78da16650e6b8"}[e]+".js";var i=setTimeout(u,12e4);function u(){c.onerror=c.onload=null,clearTimeout(i);var n=t[e];0!==n&&(n&&n[1](new Error("Loading chunk "+e+" failed.")),t[e]=void 0)}return c.onerror=c.onload=u,a.appendChild(c),r},o.m=e,o.c=r,o.d=function(e,n,r){o.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},o.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(n,"a",n),n},o.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},o.p="./",o.oe=function(e){throw console.error(e),e}}([]);
+//# sourceMappingURL=manifest.571c38d63f24b1ae9e16.js.map

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/static/js/manifest.571c38d63f24b1ae9e16.js.map


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/static/js/vendor.a82b79982b082928b294.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/static/js/vendor.a82b79982b082928b294.js.map


+ 74 - 22
src/components/pages/aiAddCourse/addCourse.vue

@@ -577,7 +577,7 @@
                       <div class="op_box">
                         <div class="op_remark">*可以将需要优化的建议添加在任务描述后,点击“智能优化”,自动进行修改</div>
                         <div style="display: flex;">
-                          <el-switch style="margin-right: 10px" v-model="isQuote['aiteacherTextDetail']" active-text="引用" active-color="#0061FF"  class="custom-switch" v-if="templateid == 'cf5722a4-401b-11ef-b873-005056b86cd2'"  @change="handleSwitchChange('aiteacherTextDetail')"></el-switch>
+                          <el-switch style="margin-right: 10px" v-model="isQuote['aiteacherTextDetail']" active-text="引用" active-color="#0061FF"  class="custom-switch" v-if="dialogTemplateArray.indexOf(templateid) != -1"  @change="handleSwitchChange('aiteacherTextDetail')"></el-switch>
                           <el-tooltip effect="light" content="右键单击可配置提示词" placement="bottom">
                           <div class="r_pub_button_op"
                             @contextmenu.prevent="openAiDialog(1, 'aiteacherTextDetail', 2)"
@@ -610,7 +610,7 @@
                     <div class="op_box">
                       <div class="op_remark">*可以将需要优化的建议添加在任务描述后,点击“智能优化”,自动进行修改</div>
                       <div style="display: flex;">
-                        <el-switch style="margin-right: 10px" v-model="isQuote['aitargetTextDetail']" active-text="引用" active-color="#0061FF"  class="custom-switch" v-if="templateid == 'cf5722a4-401b-11ef-b873-005056b86cd2'"  @change="handleSwitchChange('aitargetTextDetail')"></el-switch>
+                        <el-switch style="margin-right: 10px" v-model="isQuote['aitargetTextDetail']" active-text="引用" active-color="#0061FF"  class="custom-switch" v-if="dialogTemplateArray.indexOf(templateid) != -1"  @change="handleSwitchChange('aitargetTextDetail')"></el-switch>
                         <el-tooltip effect="light" content="右键单击可配置提示词" placement="bottom">
                           <div class="r_pub_button_op"
                             @contextmenu.prevent="openAiDialog(1, 'aitargetTextDetail', 2)"
@@ -1104,7 +1104,7 @@
                       <div class="op_box">
                         <div class="op_remark">*可以将需要优化的建议添加在任务描述后,点击“智能优化”,自动进行修改</div>
                         <div style="display: flex;">
-                          <el-switch style="margin-right: 10px" v-model="isQuote['aiDetail']" active-text="引用" active-color="#0061FF"  class="custom-switch" v-if="templateid == 'cf5722a4-401b-11ef-b873-005056b86cd2'"  @change="handleSwitchChange('aiDetail')"></el-switch>
+                          <el-switch style="margin-right: 10px" v-model="isQuote['aiDetail']" active-text="引用" active-color="#0061FF"  class="custom-switch" v-if="dialogTemplateArray.indexOf(templateid) != -1"  @change="handleSwitchChange('aiDetail')"></el-switch>
                           <el-tooltip effect="light" content="右键单击可配置提示词" placement="bottom">
                             <div class="r_pub_button_op"
                               @contextmenu.prevent="openAiDialog(1, 'aiDetail', 2)"
@@ -1154,7 +1154,7 @@
                               @contextmenu.prevent="openAiDialog(1, 'aiDetail', 2)"
                               @click="openAiDialog(2, 'aiDetail', 2)">智能优化</div>
                           </el-tooltip> -->
-                          <el-switch style="margin-right: 10px" v-model="isQuote['aiDetail']" active-text="引用" active-color="#0061FF"  class="custom-switch" v-if="templateid == 'cf5722a4-401b-11ef-b873-005056b86cd2'"  @change="handleSwitchChange('aiDetail')"></el-switch>
+                          <el-switch style="margin-right: 10px" v-model="isQuote['aiDetail']" active-text="引用" active-color="#0061FF"  class="custom-switch" v-if="dialogTemplateArray.indexOf(templateid) != -1"  @change="handleSwitchChange('aiDetail')"></el-switch>
                           <div class="r_pub_button_edit" style="margin-left:10px" @click="courseTextB = !courseTextB,forceUpdate2()">{{ courseTextB ? '确定' : '编辑'}}</div>
                         </div>
                       </div>
@@ -1326,7 +1326,7 @@
                       <div class="op_box">
                         <div class="op_remark">*可以将需要优化的建议添加在任务描述后,点击“智能优化”,自动进行修改</div>
                         <div style="display: flex;">
-                          <el-switch style="margin-right: 10px" v-model="isQuote['aitargetTextDetail2']" active-text="引用" active-color="#0061FF"  class="custom-switch" v-if="templateid == 'cf5722a4-401b-11ef-b873-005056b86cd2'"  @change="handleSwitchChange('aitargetTextDetail2')"></el-switch>
+                          <el-switch style="margin-right: 10px" v-model="isQuote['aitargetTextDetail2']" active-text="引用" active-color="#0061FF"  class="custom-switch" v-if="dialogTemplateArray.indexOf(templateid) != -1"  @change="handleSwitchChange('aitargetTextDetail2')"></el-switch>
                           <el-tooltip effect="light" content="右键单击可配置提示词" placement="bottom">
                             <div class="r_pub_button_op"
                               @contextmenu.prevent="openAiDialog(1, 'aitargetTextDetail2', 2)"
@@ -1655,7 +1655,7 @@
                       <div class="op_box">
                         <div class="op_remark">*可以将需要优化的建议添加在任务描述后,点击“智能优化”,自动进行修改</div>
                         <div style="display: flex;">
-                          <el-switch style="margin-right: 10px" v-model="isQuote['aiDetail1-'+index]" active-text="引用" active-color="#0061FF"  class="custom-switch" v-if="templateid == 'cf5722a4-401b-11ef-b873-005056b86cd2'"  @change="handleSwitchChange('aiDetail1-'+index)"></el-switch>
+                          <el-switch style="margin-right: 10px" v-model="isQuote['aiDetail1-'+index]" active-text="引用" active-color="#0061FF"  class="custom-switch" v-if="dialogTemplateArray.indexOf(templateid) != -1"  @change="handleSwitchChange('aiDetail1-'+index)"></el-switch>
                           <el-tooltip effect="light" content="右键单击可配置提示词" placement="bottom">
                             <div class="r_pub_button_op"
                               @contextmenu.prevent="openAiDialog(1, 'aiDetail1', item, index)"
@@ -1686,7 +1686,7 @@
                     <div class="op_box">
                       <div class="op_remark">*可以将需要优化的建议添加在任务描述后,点击“智能优化”,自动进行修改</div>
                       <div style="display: flex;">
-                          <el-switch style="margin-right: 10px" v-model="isQuote['aiCpote1']" active-text="引用" active-color="#0061FF"  class="custom-switch" v-if="templateid == 'cf5722a4-401b-11ef-b873-005056b86cd2'"  @change="handleSwitchChange('aiCpote1')"></el-switch>
+                          <el-switch style="margin-right: 10px" v-model="isQuote['aiCpote1']" active-text="引用" active-color="#0061FF"  class="custom-switch" v-if="dialogTemplateArray.indexOf(templateid) != -1"  @change="handleSwitchChange('aiCpote1')"></el-switch>
                           <el-tooltip effect="light" content="右键单击可配置提示词" placement="bottom">
                             <div class="r_pub_button_op" @contextmenu.prevent="openAiDialog(1, 'aiCpote1')"
                             @click="openAiDialog(2, 'aiCpote1')">智能优化</div>
@@ -1715,7 +1715,7 @@
                     <div class="op_box">
                       <div class="op_remark">*可以将需要优化的建议添加在任务描述后,点击“智能优化”,自动进行修改</div>
                       <div style="display: flex;">
-                          <el-switch style="margin-right: 10px" v-model="isQuote['aiCpote2']" active-text="引用" active-color="#0061FF"  class="custom-switch" v-if="templateid == 'cf5722a4-401b-11ef-b873-005056b86cd2'"  @change="handleSwitchChange('aiCpote2')"></el-switch>
+                          <el-switch style="margin-right: 10px" v-model="isQuote['aiCpote2']" active-text="引用" active-color="#0061FF"  class="custom-switch" v-if="dialogTemplateArray.indexOf(templateid) != -1"  @change="handleSwitchChange('aiCpote2')"></el-switch>
                           <el-tooltip effect="light" content="右键单击可配置提示词" placement="bottom">
                             <div class="r_pub_button_op" @contextmenu.prevent="openAiDialog(1, 'aiCpote2')"
                             @click="openAiDialog(2, 'aiCpote2')">智能优化</div>
@@ -1744,7 +1744,7 @@
                     <div class="op_box">
                       <div class="op_remark">*可以将需要优化的建议添加在任务描述后,点击“智能优化”,自动进行修改</div>
                       <div style="display: flex;">
-                          <el-switch style="margin-right: 10px" v-model="isQuote['aiCpote3']" active-text="引用" active-color="#0061FF"  class="custom-switch" v-if="templateid == 'cf5722a4-401b-11ef-b873-005056b86cd2'"  @change="handleSwitchChange('aiCpote3')"></el-switch>
+                          <el-switch style="margin-right: 10px" v-model="isQuote['aiCpote3']" active-text="引用" active-color="#0061FF"  class="custom-switch" v-if="dialogTemplateArray.indexOf(templateid) != -1"  @change="handleSwitchChange('aiCpote3')"></el-switch>
                           <el-tooltip effect="light" content="右键单击可配置提示词" placement="bottom">
                             <div class="r_pub_button_op" @contextmenu.prevent="openAiDialog(1, 'aiCpote3')"
                             @click="openAiDialog(2, 'aiCpote3')">智能优化</div>
@@ -1773,7 +1773,7 @@
                     <div class="op_box">
                       <div class="op_remark">*可以将需要优化的建议添加在任务描述后,点击“智能优化”,自动进行修改</div>
                       <div style="display: flex;">
-                          <el-switch style="margin-right: 10px" v-model="isQuote['aiCpote4']" active-text="引用" active-color="#0061FF"  class="custom-switch" v-if="templateid == 'cf5722a4-401b-11ef-b873-005056b86cd2'"  @change="handleSwitchChange('aiCpote4')"></el-switch>
+                          <el-switch style="margin-right: 10px" v-model="isQuote['aiCpote4']" active-text="引用" active-color="#0061FF"  class="custom-switch" v-if="dialogTemplateArray.indexOf(templateid) != -1"  @change="handleSwitchChange('aiCpote4')"></el-switch>
                           <el-tooltip effect="light" content="右键单击可配置提示词" placement="bottom">
                             <div class="r_pub_button_op" @contextmenu.prevent="openAiDialog(1, 'aiCpote4')"
                             @click="openAiDialog(2, 'aiCpote4')">智能优化</div>
@@ -1820,7 +1820,7 @@
                       <div class="op_box">
                         <div class="op_remark">*可以将需要优化的建议添加在任务描述后,点击“智能优化”,自动进行修改</div>
                         <div style="display: flex;">
-                          <el-switch style="margin-right: 10px" v-model="isQuote['teacherDetail2-'+index]" active-text="引用" active-color="#0061FF"  class="custom-switch" v-if="templateid == 'cf5722a4-401b-11ef-b873-005056b86cd2'"  @change="handleSwitchChange('teacherDetail2-'+index)"></el-switch>
+                          <el-switch style="margin-right: 10px" v-model="isQuote['teacherDetail2-'+index]" active-text="引用" active-color="#0061FF"  class="custom-switch" v-if="dialogTemplateArray.indexOf(templateid) != -1"  @change="handleSwitchChange('teacherDetail2-'+index)"></el-switch>
                           <el-tooltip effect="light" content="右键单击可配置提示词" placement="bottom">
                             <div class="r_pub_button_op"
                               @contextmenu.prevent="openAiDialog(1, 'teacherDetail2', item.taskDetail3, index)"
@@ -2633,6 +2633,7 @@
                     }" :class="{ smallTaskBorder: itemTask.isFold === 1 }"
                       v-for="(itemTask, itemTaskIndex) in item.taskJson" :key="itemTaskIndex" v-loading="taskLoading[itemTaskIndex]" element-loading-text="小可正在努力生成中,请稍等...">
                       <div style="background: #fff; border-radius: 5px" v-loading="taskGLoading[itemTaskIndex] && taskGLoading[itemTaskIndex][0]" element-loading-text="小可正在努力生成中,请稍等...">
+                        <div class="c_pub_button_confirm stopBtn" v-if="taskGLoading[itemTaskIndex] && taskGLoading[itemTaskIndex][0]" @click="cancelAjax('aiTaskGL1', itemTaskIndex)">停止</div>
                         <div class="taskTitle">
                           <div style="display: flex;width: 100%;justify-content: space-between;">
                             <span>任务{{ itemTaskIndex + 1 }}</span>
@@ -2731,7 +2732,7 @@
                               <div class="op_box">
                                 <div class="op_remark">*可以将需要优化的建议添加在任务描述后,点击“智能优化”,自动进行修改</div>
                                 <div style="display: flex;">
-                                    <el-switch style="margin-right: 10px" v-model="isQuote['aiDetail2-'+itemTaskIndex]" active-text="引用" active-color="#0061FF"  class="custom-switch" v-if="templateid == 'cf5722a4-401b-11ef-b873-005056b86cd2'"  @change="handleSwitchChange('aiDetail2-'+itemTaskIndex)"></el-switch>
+                                    <el-switch style="margin-right: 10px" v-model="isQuote['aiDetail2-'+itemTaskIndex]" active-text="引用" active-color="#0061FF"  class="custom-switch" v-if="dialogTemplateArray.indexOf(templateid) != -1"  @change="handleSwitchChange('aiDetail2-'+itemTaskIndex)"></el-switch>
                                     <el-tooltip effect="light" content="右键单击可配置提示词" placement="bottom">
                                     <div class="r_pub_button_op" @contextmenu.prevent="openAiDialog(1, 'aiDetail2', unitJson[unitIndex].chapterInfo[0].taskJson[
                                       itemTaskIndex
@@ -3505,6 +3506,7 @@
                           unitJson[unitIndex].easy == 6 ||
                           !unitJson[unitIndex].easy
                         " class="toolChoose" v-loading="taskGLoading[itemTaskIndex] && taskGLoading[itemTaskIndex][1]" element-loading-text="小可正在努力生成中,请稍等...">
+                          <div class="c_pub_button_confirm stopBtn" v-if="taskGLoading[itemTaskIndex] && taskGLoading[itemTaskIndex][1]" @click="cancelAjax('aiTaskGL2', itemTaskIndex)">停止</div>
                            <div v-if="
                             unitJson[unitIndex].easy != 3 &&
                             !(
@@ -4848,7 +4850,7 @@
                                 <div class="op_box">
                                   <div class="op_remark">*可以将需要优化的建议添加在工具描述后,点击“智能优化”,自动进行修改</div>
                                   <div style="display: flex">
-                                    <el-switch style="margin-right: 10px" v-model="isQuote['aiDetail3-'+itemTaskIndex+'-'+toolIndex]" active-text="引用" active-color="#0061FF"  class="custom-switch" v-if="templateid == 'cf5722a4-401b-11ef-b873-005056b86cd2'"  @change="handleSwitchChange('aiDetail3-'+itemTaskIndex+'-'+toolIndex)"></el-switch>
+                                    <el-switch style="margin-right: 10px" v-model="isQuote['aiDetail3-'+itemTaskIndex+'-'+toolIndex]" active-text="引用" active-color="#0061FF"  class="custom-switch" v-if="dialogTemplateArray.indexOf(templateid) != -1"  @change="handleSwitchChange('aiDetail3-'+itemTaskIndex+'-'+toolIndex)"></el-switch>
                                     <el-tooltip effect="light" content="右键单击可配置提示词" placement="bottom">
                                       <div class="r_pub_button_op"
                                         @contextmenu.prevent="openAiDialog(1, 'aiDetail3', itemTool, itemTaskIndex, toolIndex)"
@@ -5362,7 +5364,7 @@
         <aiTips ttitle="任务详情" title="任务评价优化" :detail="aiJson.aiDetail4" pan="aiDetail4" @setAiJson="setAiJson" />
         <aiTips ttitle="任务详情" title="生成评价细则" :detail="aiJson.aiRateRule" pan="aiRateRule" @setAiJson="setAiJson"/>
       </div>
-      <div class="leftBar2" v-if="istemplate != 1 && templateid == 'cf5722a4-401b-11ef-b873-005056b86cd2' && chatid">
+      <div class="leftBar2" v-if="istemplate != 1 && dialogTemplateArray.indexOf(templateid) != -1 && chatid">
         <aiBoxRight  
         :languageSetting="languageSetting"
         :courseId="chatid" 
@@ -7402,7 +7404,10 @@ export default {
       knowFileids: [],
       pjTemplateArray: [ 'cf5722a4-401b-11ef-b873-005056b86cp5' ],
       pjIndex: [52, 48, 1, 3, 16, 45, 47, 41],
-      taskAnLoading: []
+      taskAnLoading: [],
+      dialogTemplateArray: [ 'cf5722a4-401b-11ef-b873-005056b86cd2', '68629cfb-e719-48e9-a03d-56f189fb9cb0' ],
+      taskCancelToken1: [],
+      taskCancelToken2: [],
     };
   },
   directives: {
@@ -9011,6 +9016,7 @@ export default {
         return
       }
       this.taskAnLoading[index] = true
+      this.$forceUpdate()
       let _this = this
       let md = new MarkdownIt();
       
@@ -11067,7 +11073,18 @@ ${_this.unitJson[0].chapterInfo[0].taskJson[index].taskDetail3.replaceAll('#',''
         let _mclass = fileM == 1 ? [] : mclass.length ? this.arrayToArray(fileM, mclass) : [2]
         let fileids = this.knowInfoData.map((item) => item.fileid)
 
-        if(_sub.length > 0 && _mclass.length > 0 && _mclass[0] == 2 && fileids.indexOf(_file.fileid) == -1){
+        if(_sub.length > 0 && _mclass.length > 0 && _mclass[0] == 2 && fileids.indexOf(_file.fileid) == -1 && _file.type == 1){
+          this.knowInfoData.push({
+            name: _file.filename,
+            url: _file.url,
+            uid: '',
+            type: 3,
+            fileid: _file.fileid,
+          });
+          this.knowFileids.push(_file.fileid)
+        }
+        fileids = this.knowInfoData.map((item) => item.fileid)
+        if(_mclass.length > 0 && fileS == 1 && _mclass[0] != 2 && fileids.indexOf(_file.fileid) == -1 && _file.type == 1){
           this.knowInfoData.push({
             name: _file.filename,
             url: _file.url,
@@ -11078,7 +11095,7 @@ ${_this.unitJson[0].chapterInfo[0].taskJson[index].taskDetail3.replaceAll('#',''
           this.knowFileids.push(_file.fileid)
         }
         fileids = this.knowInfoData.map((item) => item.fileid)
-        if(_mclass.length > 0 && fileS == 1 && _mclass[0] != 2 && fileids.indexOf(_file.fileid) == -1){
+        if(_sub.length > 0 && fileM == 1 && fileids.indexOf(_file.fileid) == -1 && _file.type == 1){
           this.knowInfoData.push({
             name: _file.filename,
             url: _file.url,
@@ -11089,7 +11106,8 @@ ${_this.unitJson[0].chapterInfo[0].taskJson[index].taskDetail3.replaceAll('#',''
           this.knowFileids.push(_file.fileid)
         }
         fileids = this.knowInfoData.map((item) => item.fileid)
-        if(_sub.length > 0 && fileM == 1 && fileids.indexOf(_file.fileid) == -1){
+
+        if(_sub.length > 0 && _mclass.length > 0 && _mclass[0] != 2 && fileids.indexOf(_file.fileid) == -1 && _file.type == 1){
           this.knowInfoData.push({
             name: _file.filename,
             url: _file.url,
@@ -11101,7 +11119,7 @@ ${_this.unitJson[0].chapterInfo[0].taskJson[index].taskDetail3.replaceAll('#',''
         }
         fileids = this.knowInfoData.map((item) => item.fileid)
 
-        if(_sub.length > 0 && _mclass.length > 0 && _mclass[0] != 2 && fileids.indexOf(_file.fileid) == -1){
+        if(sub.length > 1 && fileids.indexOf(_file.fileid) == -1 && _file.type == 2){
           this.knowInfoData.push({
             name: _file.filename,
             url: _file.url,
@@ -18155,6 +18173,29 @@ ${this.courseText && this.aiCallBack[0] == 2 ? '注意,优化原有的<参考
           this.isTeacherTaskCancelSource[index] = null
         }
       }
+
+      if(type == 'aiTaskGL1'){
+        this.$message.success("已经成功停止生成任务概述")
+        if(this.taskCancelToken1 && this.taskCancelToken1[index]){
+          this.taskCancelToken1[index].cancel('Request canceled by the user.');
+          this.taskCancelToken1[index] = null;
+        }
+        if(this.taskGLoading[index] && this.taskGLoading[index][0]){
+          this.taskGLoading[index][0] = false
+        }
+        this.$forceUpdate()
+      }
+      if(type == 'aiTaskGL2'){
+        this.$message.success("已经成功停止生成任务概述")
+        if(this.taskCancelToken2 && this.taskCancelToken2[index]){
+          this.taskCancelToken2[index].cancel('Request canceled by the user.');
+          this.taskCancelToken2[index] = null;
+        }
+        if(this.taskGLoading[index] && this.taskGLoading[index][1]){
+          this.taskGLoading[index][1] = false
+        }
+        this.$forceUpdate()
+      }
     },
     async aiGetTask2(messages, callback) {
       let _this = this
@@ -19267,6 +19308,7 @@ ${this.courseText && this.aiCallBack[0] == 2 ? '注意,优化原有的<参考
         }
       }
 
+      _this.taskCancelToken1[index] = _this.ajax.setCancelSource();
 
       let parm = {
         assistant_id: '6063369f-289a-11ef-8bf4-12e77c4cb76b',
@@ -19278,7 +19320,7 @@ ${this.courseText && this.aiCallBack[0] == 2 ? '注意,优化原有的<参考
         temperature: this.mode == 3 ? 0.5 : 0.1,
       }
       this.ajax
-        .post("https://gpt4.cocorobo.cn/ai_agent_park_chat", parm)
+        .post("https://gpt4.cocorobo.cn/ai_agent_park_chat", parm, _this.taskCancelToken1[index])
         .then(async (response) => {
           console.log(response);
           let data = response.data.FunctionResponse
@@ -19315,10 +19357,14 @@ ${this.courseText && this.aiCallBack[0] == 2 ? '注意,优化原有的<参考
           
           // callback ? callback() : ''
           _this.taskGLoading[index][0] = false
+          _this.taskCancelToken1[index] = null
+          _this.$forceUpdate();
         })
         .catch((error) => {
           // _this.loading = false
           _this.taskGLoading[index][0] = false
+          _this.taskCancelToken1[index] = null
+          _this.$forceUpdate();
           console.log(error);
         });
     },
@@ -19344,6 +19390,8 @@ ${this.courseText && this.aiCallBack[0] == 2 ? '注意,优化原有的<参考
         }
       }
 
+      _this.taskCancelToken2[index] = _this.ajax.setCancelSource();
+
       let parm = {
         assistant_id: '6063369f-289a-11ef-8bf4-12e77c4cb76b',
         message: [{"type":"text", "text":this.languageSetting == 1 ? converter2(messages.replaceAll('\n', " ").replaceAll('*', "")) : messages.replaceAll('\n', " ").replaceAll('*', "")}],
@@ -19354,7 +19402,7 @@ ${this.courseText && this.aiCallBack[0] == 2 ? '注意,优化原有的<参考
         temperature: this.mode == 3 ? 0.5 : 0.1,
       }
       this.ajax
-        .post("https://gpt4.cocorobo.cn/ai_agent_park_chat", parm)
+        .post("https://gpt4.cocorobo.cn/ai_agent_park_chat", parm, _this.taskCancelToken2[index])
         .then(async (response) => {
           console.log(response);
           let data = response.data.FunctionResponse
@@ -19425,7 +19473,7 @@ ${this.courseText && this.aiCallBack[0] == 2 ? '注意,优化原有的<参考
                   askJson: [{ askstitle: "", askItem: 1, checkList: [] }],
                 }
                 _this.unitJson[0].chapterInfo[0].taskJson[index].toolChoose.push(_json)
-                
+
                 if(converter(_task.toolChoose[j].tool) == converter('问答') || _task.toolChoose[j].tool == 'Q&A Tool'){
                   let answerQ = await _this.aiCreateQuestion(15, index)
                   // _json.answerQ = answerQ.answerQ 
@@ -19468,10 +19516,14 @@ ${this.courseText && this.aiCallBack[0] == 2 ? '注意,优化原有的<参考
           
           // callback ? callback() : ''
           _this.taskGLoading[index][1] = false
+          _this.taskCancelToken2[index] = null
+          _this.$forceUpdate();
         })
         .catch((error) => {
           // _this.loading = false
           _this.taskGLoading[index][1] = false
+          _this.taskCancelToken2[index] = null
+          _this.$forceUpdate();
           console.log(error);
         });
     },

+ 107 - 81
src/components/pages/aiAddCourse/evaList.vue

@@ -1,5 +1,6 @@
 <template>
-    <div v-loading="loading" :style="{ minHeight: loading ? '250px' : 'auto' }" element-loading-text="小可正在努力生成中,请稍等...">
+    <div style="position: relative;" v-loading="loading" :style="{ minHeight: loading ? '250px' : 'auto' }" element-loading-text="小可正在努力生成中,请稍等...">
+        <div class="c_pub_button_confirm stopBtn" v-if="loading" @click="cancelAjax()">停止</div>
         <div class="elist_title">
             <div style=" display: flex; flex-direction: row;align-items: center; margin: 20px 0; ">
                 <div class="lineTitle clineTitle">评价设置</div>
@@ -34,7 +35,8 @@
                         <div class="elist_inptu_text" style="align-items: flex-start;">
                             <span>评价细则:</span>
                             <div style="width: calc(100%);">
-                                <div @click="openRule(eIndex)" class="ruleBtn">{{ eItem.isrule ? '收起细则' : '展开细则' }}</div>
+                                <div @click="openRule(eIndex)" class="ruleBtn">{{ eItem.isrule ? '收起细则' : '展开细则' }}
+                                </div>
                                 <div style="width: calc(100%);" class='op_task_box' v-if="eItem.isrule">
                                     <textarea v-autoHeight="68" rows="2" class="binfo_input binfo_textarea" cols
                                         v-model="eItem.rule" placeholder="请输入评价细则"></textarea>
@@ -67,7 +69,7 @@ let converter2 = OpenCC.Converter({
 
 export default {
     props: {
-        toolsData:{
+        toolsData: {
             type: Object,
             default: () => ({})
         },
@@ -100,14 +102,15 @@ export default {
         return {
             eList: [],
             isEvaFold: true,
-            loading: false
+            loading: false,
+            cancelToken: null,
         }
     },
     watch: {
         eList: {
             handler(newVal) {
-                if(newVal.length > 0) {
-                    this.$emit('setEvaList', this.itemTaskIndex, this.toolIndex ,newVal)
+                if (newVal.length > 0) {
+                    this.$emit('setEvaList', this.itemTaskIndex, this.toolIndex, newVal)
                 }
             },
             immediate: true,
@@ -128,9 +131,9 @@ export default {
             update(el, binding) {
                 const { value } = binding;
                 if (value && typeof value === "number") {
-                el.style.height = `${value}px`;
+                    el.style.height = `${value}px`;
                 } else {
-                el.style.height = "auto";
+                    el.style.height = "auto";
                 }
             },
             componentUpdated(el) {
@@ -139,6 +142,17 @@ export default {
         },
     },
     methods: {
+        cancelAjax() {
+            this.$message.success("已经成功停止生成评价设置")
+            if (this.cancelToken) {
+                this.cancelToken.cancel('Request canceled by the user.');
+                this.cancelToken = null;
+            }
+            if (this.loading) {
+                this.loading = false
+            }
+            this.$forceUpdate()
+        },
         forceUpdate() {
             this.$forceUpdate();
         },
@@ -260,7 +274,7 @@ Language: ${this.getLang()}
 "},
 ]`
             _this.loading = true
-
+            _this.cancelToken = _this.ajax.setCancelSource();
             let params = {
                 assistant_id: '6063369f-289a-11ef-8bf4-12e77c4cb76b',
                 message: [{ "type": "text", "text": this.languageSetting == 1 ? converter2(messages.replaceAll('\n', " ").replaceAll('*', "")) : messages.replaceAll('\n', " ").replaceAll('*', "") }],
@@ -270,7 +284,7 @@ Language: ${this.getLang()}
                 model: 'gpt-4o-2024-08-06',
                 temperature: 0.1,
             }
-            _this.ajax.post('https://gpt4.cocorobo.cn/ai_agent_park_chat', params).then(function (response) {
+            _this.ajax.post('https://gpt4.cocorobo.cn/ai_agent_park_chat', params, _this.cancelToken).then(function (response) {
                 console.log(response);
                 let data = response.data.FunctionResponse
                 if (data.message) {
@@ -279,14 +293,14 @@ Language: ${this.getLang()}
                     try {
                         elist = JSON.parse(data.message.replaceAll("```json", "").replaceAll("```", ""))
                         elist = elist.map(el => {
-                                return {
-                                    isai : "1",
-                                    target: el.core,
-                                    value: "",
-                                    detail: el.std,
-                                    rule: el.rule.replace(/([;。])/g, '$1\n')
-                                }
-                            })
+                            return {
+                                isai: "1",
+                                target: el.core,
+                                value: "",
+                                detail: el.std,
+                                rule: el.rule.replace(/([;。])/g, '$1\n')
+                            }
+                        })
                     } catch (e) {
                         console.log("error_________________" + e);
                         try {
@@ -295,7 +309,7 @@ Language: ${this.getLang()}
                             elist = JSON.parse(match[0])
                             elist = elist.map(el => {
                                 return {
-                                    isai : "1",
+                                    isai: "1",
                                     target: el.core,
                                     value: "",
                                     detail: el.std,
@@ -311,8 +325,10 @@ Language: ${this.getLang()}
                     _this.eList = elist
                     _this.$forceUpdate()
                 }
+                _this.cancelToken = null
                 _this.loading = false
             }).catch(function (error) {
+                _this.cancelToken = null
                 _this.loading = false
                 console.log(error);
             });
@@ -323,16 +339,16 @@ Language: ${this.getLang()}
         deletEList(index) {
             this.$confirm('确定删除吗?').then(() => {
                 this.eList.splice(index, 1)
-                if(!this.eList.length){
-                    this.$emit('setEvaList', this.itemTaskIndex, this.toolIndex ,_this.eList)
+                if (!this.eList.length) {
+                    this.$emit('setEvaList', this.itemTaskIndex, this.toolIndex, _this.eList)
                 }
             })
 
         },
-        openRule(i){
-            if(this.eList[i].isrule){
+        openRule(i) {
+            if (this.eList[i].isrule) {
                 this.eList[i].isrule = false
-            }else {
+            } else {
                 this.eList[i].isrule = true
             }
             setTimeout(() => {
@@ -346,7 +362,7 @@ Language: ${this.getLang()}
     },
     mounted() {
         let elist = this.unitJson[0].chapterInfo[0].taskJson[this.itemTaskIndex].toolChoose[this.toolIndex].eList
-        this.eList = elist ? JSON.parse(JSON.stringify(elist))  : []
+        this.eList = elist ? JSON.parse(JSON.stringify(elist)) : []
     }
 }
 </script>
@@ -400,15 +416,15 @@ Language: ${this.getLang()}
 }
 
 .remove {
-  background-image: url("../../../assets/icon/new/delete_u.png");
-  cursor: pointer;
-  opacity: 0.5;
-  width: 30px;
-  min-width: 30px;
-  height: 30px;
-  background-size: 100% 100%;
-  background-repeat: no-repeat;
-  margin-left: 10px;
+    background-image: url("../../../assets/icon/new/delete_u.png");
+    cursor: pointer;
+    opacity: 0.5;
+    width: 30px;
+    min-width: 30px;
+    height: 30px;
+    background-size: 100% 100%;
+    background-repeat: no-repeat;
+    margin-left: 10px;
 }
 
 .elist_input .elist_input_box .remove {
@@ -813,77 +829,87 @@ Language: ${this.getLang()}
 }
 
 .ruleBtn {
-  width: fit-content;
-  height: 36px;
-  line-height: 36px;
-  cursor: pointer;
-  color: #0061FF;
+    width: fit-content;
+    height: 36px;
+    line-height: 36px;
+    cursor: pointer;
+    color: #0061FF;
 }
 
 .op_task_box,
 .op_tool_box,
 .outline_detail {
-  position: relative;
+    position: relative;
 }
 
 .op_task_box:hover .op_box,
 .op_tool_box:hover .op_box,
 .outline_detail:hover .op_box {
-  display: flex
+    display: flex
 }
 
 .binfo_input {
-  width: 100%;
-  margin: 0;
-  padding: 12px 14px;
-  display: block;
-  min-width: 0;
-  outline: none;
-  box-sizing: border-box;
-  background: none;
-  border: none;
-  border-radius: 4px;
-  background: #fff;
-  font-size: 16px;
-  resize: none;
-  font-family: "Microsoft YaHei";
-  min-height: 48px;
-  /* border: 1px solid #3682fc00; */
-  border: 1.5px solid #cad1dc;
+    width: 100%;
+    margin: 0;
+    padding: 12px 14px;
+    display: block;
+    min-width: 0;
+    outline: none;
+    box-sizing: border-box;
+    background: none;
+    border: none;
+    border-radius: 4px;
+    background: #fff;
+    font-size: 16px;
+    resize: none;
+    font-family: "Microsoft YaHei";
+    min-height: 48px;
+    /* border: 1px solid #3682fc00; */
+    border: 1.5px solid #cad1dc;
 }
 
 .binfo_textarea {
-  border: 1.5px solid #cad1dc;
-  font-size: 16px;
-  resize: none;
-  /* background: #f6f6f6; */
-  font-family: "Microsoft YaHei";
+    border: 1.5px solid #cad1dc;
+    font-size: 16px;
+    resize: none;
+    /* background: #f6f6f6; */
+    font-family: "Microsoft YaHei";
 }
 
 .binfo_input:focus-visible {
-  border: 1.5px solid #3681fc !important;
+    border: 1.5px solid #3681fc !important;
 }
-.rateSwitch >>> .el-switch__label.is-active {
-  color: #0061FF;
+
+.rateSwitch>>>.el-switch__label.is-active {
+    color: #0061FF;
 }
 
-.rateSwitch >>> .el-switch__label--right{
-  display: flex;
-  align-items: center;
+.rateSwitch>>>.el-switch__label--right {
+    display: flex;
+    align-items: center;
 }
-.rateSwitch >>> .el-switch__label--right::before{
-  content: "";
-  width: 14px;
-  height: 14px;
-  min-width: 14px;
-  min-height: 14px;
-  background-size: 100% 100%;
-  display: block;
-  margin-right: 7px;
-  background-image: url(../../../assets/icon/new/u_op2.png);
+
+.rateSwitch>>>.el-switch__label--right::before {
+    content: "";
+    width: 14px;
+    height: 14px;
+    min-width: 14px;
+    min-height: 14px;
+    background-size: 100% 100%;
+    display: block;
+    margin-right: 7px;
+    background-image: url(../../../assets/icon/new/u_op2.png);
 }
-.rateSwitch >>> .el-switch__label--right.is-active::before{
-  background-image: url(../../../assets/icon/new/u_op.png);
+
+.rateSwitch>>>.el-switch__label--right.is-active::before {
+    background-image: url(../../../assets/icon/new/u_op.png);
 }
 
+.stopBtn{
+  z-index: 999999;
+  position: absolute;
+  left: 50%;
+  top: calc(50% + 70px);
+  transform: translateX(-50%);
+}
 </style>

+ 13 - 12
src/components/pages/test/add/components/course2/courseIndex.vue

@@ -96,10 +96,10 @@
                 </div>
               </div>
             </div>
-            <!-- <div class="all_choose" v-if="role == '1'">
+            <div class="all_choose">
               <span><span>所有者</span></span>
               <div class="typeCss">
-                <div class="cName" :class="groupA == '4' ? 'isCType' : ''" @click="groupA = '4'; search();">
+                <div class="cName" :class="groupA == '0' ? 'isCType' : ''" @click="groupA = '0'; search();">
                   全部
                 </div>
                 <div class="cName" :class="groupA == '2' ? 'isCType' : ''" @click="groupA = '2'; search();">
@@ -108,15 +108,12 @@
                 <div class="cName" :class="groupA == '3' ? 'isCType' : ''" @click="groupA = '3'; search();">
                   协同课程
                 </div>
-                <div class="cName" :class="groupA == '1' ? 'isCType' : ''" @click="groupA = '1'; search();">
-                  他人课程
-                </div>
               </div>
-            </div>
-            <div class="all_choose" v-else>
+            </div> 
+            <!-- <div class="all_choose" v-if="role == '1'">
               <span><span>所有者</span></span>
               <div class="typeCss">
-                <div class="cName" :class="groupA == '0' ? 'isCType' : ''" @click="groupA = '0'; search();">
+                <div class="cName" :class="groupA == '4' ? 'isCType' : ''" @click="groupA = '4'; search();">
                   全部
                 </div>
                 <div class="cName" :class="groupA == '2' ? 'isCType' : ''" @click="groupA = '2'; search();">
@@ -125,8 +122,12 @@
                 <div class="cName" :class="groupA == '3' ? 'isCType' : ''" @click="groupA = '3'; search();">
                   协同课程
                 </div>
+                <div class="cName" :class="groupA == '1' ? 'isCType' : ''" @click="groupA = '1'; search();">
+                  他人课程
+                </div>
               </div>
-            </div> -->
+            </div>
+          -->
 						<div class="chooseAll">
 							<el-checkbox v-model="checkedAll" style="display: flex;">全选</el-checkbox>
 						</div>
@@ -370,7 +371,7 @@
         userid: this.$route.query.userid,
         oid: this.$route.query.oid,
         org: this.$route.query.org,
-        role: this.$route.query.role,
+        role: 0,
         Juri: "",
         groupList: [],
         JuriList: [],
@@ -885,8 +886,8 @@
         console.log("typea", this.typea);
         this.isLoading = true;
         let params = {
-          // type: this.groupA,
-					type: "0",
+          type: this.groupA,
+					// type: "0",
           uid: this.userid,
           oid: this.oid,
           org: this.org,

+ 96 - 10
src/components/pages/testPerson/info/index.vue

@@ -14,12 +14,24 @@
       </div>
     </div>
     <div class="i_bottom">
-        <div class="i_bottom_span">
+        <!-- <div class="i_bottom_span">
           <span>教研室</span>
           <el-tooltip :content="info.classname ? info.classname : '暂无'" placement="top" effect="dark">
             <span>{{info.classname ? info.classname : '暂无'}}</span>
           </el-tooltip>
+        </div> -->
+        <div class="i_bottom_box">
+          <div class="i_bottom_span" v-for="item in teaType" :key="item.id">
+            <span>
+              {{ item.name + ":" }}
+            </span>
+            <!-- <span>{{ item.value }}</span> -->
+            <el-tooltip :content="getTypeC(item.child, item.value)" placement="top" effect="dark">
+              <span>{{ getTypeC(item.child, item.value) }}</span>
+            </el-tooltip>
+          </div>
         </div>
+
         <!-- <div v-if="!oidArray.includes(oid)" class="i_bottom_span">
           <span>学科</span>
           <el-tooltip :content="info.subject ? info.subject : '暂无'" placement="top" effect="dark">
@@ -61,7 +73,8 @@ export default {
       avator: avator,
       info: {},
       dialogVisibleInfo:false,
-      oidArray: ["d67940a5-510c-40ea-9c9a-2631ab03013a"]
+      oidArray: ["d67940a5-510c-40ea-9c9a-2631ab03013a"],
+      teaType: []
     }
   },
   watch: {
@@ -69,7 +82,65 @@ export default {
       this.getData()
     }
   },
+  computed: {
+    getTypeC() {
+      return function(array, value) {
+        let name = []
+        for(var i = 0; i < array.length; i++) {
+          if(value.indexOf(array[i].id) != -1) {
+            name.push(array[i].name)
+          }
+        }
+        return name.length ? name.join("/") : '暂无'
+      }
+    }
+  },
   methods: {
+    arrayToArray(arrayo, arrayt) {
+      let array1 = arrayo;
+      let array2 = arrayt;
+
+      let commonElements = [];
+
+      for (let i = 0; i < array1.length; i++) {
+        for (let j = 0; j < array2.length; j++) {
+          if (array1[i] === array2[j]) {
+            commonElements.push(array1[i]);
+          }
+        }
+      }
+      return commonElements;
+    },
+    //获取分类类名
+    getTypeInfo() {
+      let params = {
+        oid: this.oid
+      };
+      this.ajax
+        .get(this.$store.state.api + "selectPerInfoAllTea", params)
+        .then((res) => {
+          
+          this.teaType = res.data[0];
+          let typeInfo = res.data[1];
+
+          this.teaType.forEach((e) => {
+            e.child = [];
+            e.value = [];
+            typeInfo.forEach((i) => {
+              if (e.id == i.parentid) {
+                e.child.push({ id: i.id, name: i.name })
+              }
+            })
+          })
+          console.log(this.teaType, "teaType");
+          // this.options = res.data[2];
+          this.getData();
+
+        })
+        .catch((err) => {
+          console.error(err);
+        });
+    },
     getData() {
       let params = {
         uid: this.userid,
@@ -79,7 +150,13 @@ export default {
         .then((res) => {
           this.info = res.data[0][0]
           // 用于存储归类后的数据的对象
-  
+          this.teaType.forEach(e =>{
+            let array2 = []
+            for (var i = 0; i < e.child.length; i++) {
+              array2.push(e.child[i].id)
+            }
+            e.value = this.arrayToArray(this.info.cclassid.split(','), array2)
+          })
         })
         .catch((err) => {
           console.error(err);
@@ -90,7 +167,7 @@ export default {
     }
   },
   mounted () {
-    this.getData();
+    this.getTypeInfo();
   },
 }
 </script>
@@ -103,7 +180,8 @@ export default {
         background: #fff;
         border-radius: 5px;
         margin-bottom: 10px;
-        overflow: hidden;
+        /* overflow: hidden; */
+        overflow: auto;
     }
     .i_top{
       height: 55%;
@@ -172,7 +250,7 @@ export default {
       justify-content: center;
     }
 
-    .i_bottom > .i_bottom_span{
+    .i_bottom .i_bottom_span{
       width: 90%;
       margin: 0 auto;
       display: flex;
@@ -180,17 +258,17 @@ export default {
       font-size: 15px;
     }
 
-    .i_bottom > .i_bottom_span + .i_bottom_span{
+    .i_bottom .i_bottom_span + .i_bottom_span{
       margin-top: 10px;
     }
 
-    .i_bottom > .i_bottom_span > span:nth-child(1){
+    .i_bottom .i_bottom_span > span:nth-child(1){
       width: 50px;
       min-width: 50px;
       text-align: right;
       color: #a1a1a1;
     }
-    .i_bottom > .i_bottom_span > span:nth-child(2){
+    .i_bottom .i_bottom_span > span:nth-child(2){
       width: calc(100% - 30px);
       overflow: hidden;
       margin-left: 20px;
@@ -198,6 +276,14 @@ export default {
       text-overflow: ellipsis;
     }
 
+    .i_bottom_box {
+      width: 100%;
+      height: calc(100% - 55px);
+      overflow: auto;
+      padding-top: 10px;
+      box-sizing: border-box;
+    }
+
     .i_bottom > .i_bottom_btn{
       cursor: pointer;
       border-radius: 5px;
@@ -205,7 +291,7 @@ export default {
       box-sizing: border-box;
       width: 90%;
       background: rgb(252, 252, 252);
-      margin: 30px auto 0;
+      margin: auto auto 10px;
       height: 35px;
       font-weight: 600;
       font-size: 12px;

+ 2 - 2
src/components/pages/testPerson/info/infoDialog/index.vue

@@ -14,12 +14,12 @@
           <span>姓名:</span>
           <el-input v-model="info.username" placeholder="请输入姓名"></el-input>
         </div>
-        <div class="info_span">
+        <!-- <div class="info_span">
           <span>教研室:</span>
           <el-select v-model="info.teacherOffice"  multiple placeholder="类型" @change="Ochange">
             <el-option v-for="item in options" :key="item.id" :label="item.name" :value="item.id"></el-option>
           </el-select>
-        </div>
+        </div> -->
 
         <div class="info_span" v-for="item in teaType" :key="item.id">
           <span>

이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.