Bladeren bron

Merge branch 'beta'

lsc 8 maanden geleden
bovenliggende
commit
927ed2a1c0

+ 1 - 1
dist/index.html

@@ -27,7 +27,7 @@
     html,
     body{
       font-family: '黑体';
-    }</style><link href=./static/css/app.1d3a43724b14043b9e6236a19c1555d9.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.264e3d6e7c524117db80.js></script><script type=text/javascript src=./static/js/app.311f22d965d1a60a504d.js></script></body></html><script>function stopSafari() {
+    }</style><link href=./static/css/app.8972ce9a57cc6f698481525e44f60999.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.264e3d6e7c524117db80.js></script><script type=text/javascript src=./static/js/app.cb11cf6c916a37cd1ed4.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.1d3a43724b14043b9e6236a19c1555d9.css


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


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


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


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


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


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


+ 1 - 1
src/components/classRoomHelper/component/countdown.vue

@@ -1555,7 +1555,7 @@ ${_textData}
         message: [{ type: "text", text: _msg }],
         session_name: uuidv4(),
         file_ids: this.fileId,
-        model: "gpt-4o-2024-08-06"
+        model: "gpt-4o-2024-11-20"
       };
       this.ajax
         // .post("https://gpt4.cocorobo.cn/chat", params)

+ 1 - 1
src/components/classRoomHelper/component/dialogArea.vue

@@ -882,7 +882,7 @@ export default {
         this.ajax
           .post("https://gpt4.cocorobo.cn/get_agent_park_chat", params)
           .then(res => {
-            let _data = JSON.parse(res.data.FunctionResponse);
+            let _data = JSON.parse(res.data.FunctionResponse).response;
             if (_data.length > 0) {
               let _chatList = [];
               for (let i = 0; i < _data.length; i++) {

+ 1 - 1
src/components/classRoomHelper/component/languageAssistant.vue

@@ -321,7 +321,7 @@ export default {
                     session_name: _uuid + "-qgt",
                     uid: _uuid,
                     file_ids: [],
-                    model: "gpt-4o-2024-08-06"
+                    model: "gpt-4o-2024-11-20"
                   };
                   this.ajax
                     // .post("https://claude3.cocorobo.cn/chat", params)

+ 1 - 1
src/components/classRoomHelper/component/levitatedSphere.vue

@@ -244,7 +244,7 @@ export default {
                   session_name: _uuid + "-qgt",
                   uid: _uuid,
                   file_ids: [],
-									model: "gpt-4o-2024-08-06",
+									model: "gpt-4o-2024-11-20",
                 };
                 this.ajax
                   // .post("https://claude3.cocorobo.cn/chat", params)

+ 15 - 8
src/components/classRoomHelper/component/searchArea.vue

@@ -2079,8 +2079,8 @@ export default {
         session_name: `${this.courseId}-studyStudent-md`,
         uid: _uuid,
         file_ids: this.fileId,
-        // model: "gpt-4o-2024-08-06"
-				model:"gpt-4o-2024-08-06"
+        // model: "gpt-4o-2024-11-20"
+				model:"gpt-4o-2024-11-20"
       };
       // let params = {
       //   model: "gpt-3.5-turbo",
@@ -2250,7 +2250,7 @@ ${_atList
         session_name: `${this.courseId}-studyStudent-md`,
         uid: _uuid,
         file_ids: this.fileId,
-        model: "gpt-4o-2024-08-06"
+        model: "gpt-4o-2024-11-20"
       };
       // let params = {
       //   model: "gpt-3.5-turbo",
@@ -2565,7 +2565,7 @@ ${_atList
         this.ajax
           .post("https://gpt4.cocorobo.cn/get_agent_park_chat", params)
           .then(res => {
-            let _data = JSON.parse(res.data.FunctionResponse);
+            let _data = JSON.parse(res.data.FunctionResponse).response;
             if (_data.length > 0) {
               let _chatList = [];
               for (let i = 0; i < _data.length; i++) {
@@ -2623,6 +2623,13 @@ ${_atList
         this.chatList.find(i => i.uid == _uuid2).loading = false;
 				return;
 			}
+
+			if(_uuid2 && !this.$parent.getWangLoading){
+				let _index = this.chatList.findIndex(i=>i.uid==_uuid2)
+				if(_index>-1){
+					this.chatList.splice(_index,1)
+				}
+			}
       let _uuid = uuidv4();
 
       let _msg = `
@@ -2700,7 +2707,7 @@ Instruction: Based on the context, follow "Format example", write content
         session_name: _uuid,
         // uid: _uuid,
         file_ids: this.fileId,
-        model: "gpt-4o-2024-08-06"
+        model: "gpt-4o-2024-11-20"
       };
       // let params = {
       //   message: {
@@ -2813,7 +2820,7 @@ Instruction: Based on the context, follow "Format example", write content
         session_name: _uuid,
         // uid: _uuid,
         file_ids: this.fileId,
-        model: "gpt-4o-2024-08-06"
+        model: "gpt-4o-2024-11-20"
       };
       // let params = {
       //   message: {
@@ -3068,7 +3075,7 @@ ${_wordData}
             session_name: `${this.courseId}-studyStudent-md`,
             uid: _uuid,
             file_ids: this.fileId,
-            model: "gpt-4o-2024-08-06"
+            model: "gpt-4o-2024-11-20"
           };
           // let params = {
           //   model: "gpt-3.5-turbo",
@@ -3265,7 +3272,7 @@ ${_wordData}
         session_name: `${this.courseId}-studyStudent-md`,
         uid: _uuid,
         file_ids: this.fileId,
-        model: "gpt-4o-2024-08-06"
+        model: "gpt-4o-2024-11-20"
       };
       // let params = {
       //     model: "gpt-3.5-turbo",

+ 3 - 3
src/components/classRoomHelper/component/taskArea.vue

@@ -1227,7 +1227,7 @@ ${_textData}
         session_name: uuidv4(),
         // uid: _uuid,
         file_ids: this.fileId,
-        model: "gpt-4o-2024-08-06"
+        model: "gpt-4o-2024-11-20"
       };
 
       this.ajax
@@ -1512,7 +1512,7 @@ ${taskText}
         session_name: uuidv4(),
         // uid: _uuid,
         file_ids: this.fileId,
-        model: "gpt-4o-2024-08-06"
+        model: "gpt-4o-2024-11-20"
       };
 
       this.ajax
@@ -1850,7 +1850,7 @@ ${_choiceText}
           session_name: uuidv4(),
           // uid: _uuid,
           file_ids: this.fileId,
-          model: "gpt-4o-2024-08-06"
+          model: "gpt-4o-2024-11-20"
         };
 
         this.ajax

+ 21 - 9
src/components/classRoomHelper/index.vue

@@ -53,11 +53,8 @@
         <el-popover
           placement="left"
           width="200"
-          trigger="hover"
-          :disabled="
-            !splitScreenData.isOpen ||
-              splitScreenData.uid != splitScreenData.myUid
-          "
+          trigger="manual"
+					v-model="showPopover"
         >
           <div class="ch_nav_box_topFixed_popover">
             <div
@@ -565,6 +562,19 @@ export default {
       }
     };
   },
+	computed:{
+		showPopover:{
+			get(){
+				// return this.Annot
+				return (this.splitScreenData.isOpen && this.splitScreenData.uid === this.splitScreenData.myUid);
+			},
+			set(newValue){
+				console.log(newValue)
+
+				// this.AnnotationCanvasShow = newValue
+			}
+		}
+	},
   mounted() {
     let setting = this.courseDetail.setting;
     if (setting) {
@@ -654,8 +664,8 @@ ${_textData}
           // session_name: uuidv4(),
           // // uid: _uuid,
           // file_ids: this.fileId,
-          // model: "gpt-4o-2024-08-06",
-          model: "gpt-4o-2024-08-06",
+          // model: "gpt-4o-2024-11-20",
+          model: "gpt-4o-2024-11-20",
           temperature: 0,
           max_tokens: 4096,
           top_p: 1,
@@ -686,7 +696,9 @@ ${_textData}
           })
           .catch(e => {
             this.showTipsLoading = false;
-            this.$message.error("获取课堂小贴士失败");
+						console.log("获取课堂小贴士失败")
+						// this.getTipsListTime(1000)
+            // this.$message.error("获取课堂小贴士失败");
             console.log(e);
           });
       });
@@ -940,7 +952,7 @@ Instruction: Based on the context, follow "Format example", write content
         session_name: _uuid,
         // uid: _uuid,
         file_ids: this.fileId,
-        model: "gpt-4o-2024-08-06"
+        model: "gpt-4o-2024-11-20"
       };
       // let params = {
       //   message: {

+ 396 - 48
src/components/components/choseWorksDetailDialog.vue

@@ -18,6 +18,7 @@
                 :key="item.value"
                 :class="{ s_b_m_t_l_active: showType === item.value }"
                 @click="changeShowType(item.value)"
+								v-if="item.showType.includes(toolType)"
                 >{{ item.label }}</span
               >
             </div>
@@ -26,39 +27,23 @@
             </div>
           </div>
           <div class="s_b_m_bottom">
-            <div class="s_b_m_b_item" v-if="showType === 0">
+            <div class="s_b_m_b_item" v-if="showType === 0 && dialogTypeList[0].showType.includes(toolType)">
               <div class="s_b_m_b_i_main">
                 <div class="s_b_m_b_i_m_title" v-if="testData">
                   <div>
-                    <svg
-                      t="1731461684123"
-                      class="icon"
-                      viewBox="0 0 1024 1024"
-                      version="1.1"
-                      xmlns="http://www.w3.org/2000/svg"
-                      p-id="4452"
-                      width="200"
-                      height="200"
-                    >
-                      <path
-                        d="M361.425 318.506h389.4v427.6h-389.4z"
-                        fill="#CFD5F8"
-                        p-id="4453"
-                      ></path>
-                      <path
-                        d="M773.825 514.306h-293.3v-48.1h293.3v48.1z m0-216.4h-293.3v48.1h293.3v-48.1z m0 336.7h-293.3v48.1h293.3v-48.1z m-415.5-168.4c-13.3 0.2-23.9 11.2-23.7 24.4 0.2 13.3 11.2 23.9 24.4 23.7 13.1-0.2 23.7-10.9 23.7-24 0-13.3-10.8-24.1-24-24.1h-0.4m0-48.1c39.8 0.6 71.6 33.5 71 73.3s-33.5 71.6-73.3 71c-39.4-0.6-71-32.7-71-72.2 0-39.9 32.3-72.2 72.2-72.2 0.3 0.1 0.7 0.1 1.1 0.1z m0-120.2c-13.3 0.2-23.9 11.2-23.7 24.4 0.2 13.3 11.2 23.9 24.4 23.7 13.1-0.2 23.7-10.9 23.7-24 0-13.3-10.8-24.1-24.1-24.1h-0.3m0-48.1c39.8 0.6 71.6 33.5 71 73.3s-33.5 71.6-73.3 71c-39.4-0.6-71-32.8-71-72.2 0-39.9 32.3-72.2 72.1-72.2 0.4 0 0.8 0 1.2 0.1z m0 384.8c-13.3 0.2-23.9 11.2-23.7 24.4 0.2 13.3 11.2 23.9 24.4 23.7 13.1-0.2 23.7-10.9 23.7-24 0-13.3-10.8-24.1-24-24.1h-0.4m0-48.2c39.8 0.6 71.6 33.5 71 73.3-0.6 39.8-33.5 71.6-73.3 71-39.4-0.6-71-32.7-71-72.2 0-39.9 32.3-72.2 72.2-72.2 0.3 0.1 0.7 0.1 1.1 0.1z"
-                        fill="#486EFF"
-                        p-id="4454"
-                      ></path>
-                    </svg>
-                    <span>选择题</span>
+            
+										<img :src="toolList.find(item=>item.value===toolType).img" alt/>
+
+										<span>{{ toolList.find(item=>item.value===toolType).label }}</span>
                   </div>
                   <span v-if="testData.toolDetail">{{ testData.toolDetail }}</span>
+									<span v-else>无</span>
                 </div>
 
                 <span>题目内容</span>
 
                 <div
+									v-if="[45].includes(toolType)"
                   class="s_b_m_b_i_m_choseList"
                   v-for="(item, index) in testJson"
                 >
@@ -133,9 +118,114 @@
                     </span>
                   </div>
                 </div>
+
+								<div v-if="[15].includes(toolType)" class="s_b_m_b_i_m_question">
+									<div class="s_b_m_b_i_m_c_title">
+                    <span>{{1 }}</span>
+                    <svg
+                      width="16"
+                      height="16"
+                      viewBox="0 0 16 16"
+                      fill="none"
+                      xmlns="http://www.w3.org/2000/svg"
+                    >
+                      <path
+                        d="M15.3536 8.35355C15.5488 8.15829 15.5488 7.84171 15.3536 7.64645L12.1716 4.46447C11.9763 4.2692 11.6597 4.2692 11.4645 4.46447C11.2692 4.65973 11.2692 4.97631 11.4645 5.17157L14.2929 8L11.4645 10.8284C11.2692 11.0237 11.2692 11.3403 11.4645 11.5355C11.6597 11.7308 11.9763 11.7308 12.1716 11.5355L15.3536 8.35355ZM1 8.5H15V7.5H1V8.5Z"
+                        fill="#3681FC"
+                      />
+                    </svg>
+
+                    <span>提问:{{ testData.answerQ }}</span>
+                  </div>
+									<span>
+
+									</span>
+								</div>
+
+								<div v-if="[41].includes(toolType)" class="s_b_m_b_i_m_selectiveMatching">
+									<div class="sm_left">
+										<img :src="testData.selectJson.url" alt="" @click="$hevueImgPreview(testData.selectJson.url)">
+									</div>
+									<div class="sm_right">
+										<div class="sm_right_item" v-for="(item,index) in testData.selectJson.answer">
+											<el-select v-model="testData.selectJson.answer[index]" placeholder="请选择">
+  			  							<el-option
+  			  								v-for="(item2,index2) in testData.selectJson.select"
+													:disabled="item!==index2"
+  			  								:key="index2"
+  			  								:label="item2"
+  			  								:value="index2">
+												</el-option>
+											</el-select>
+										</div>
+									</div>
+								</div
+								
+								>
+
+								<div v-if="[47].includes(toolType)" class="s_b_m_b_i_m_sorting">
+									<div class="sortingItem" v-for="(item,index) in testData.sentenceList" :key="index">
+										<div class="s_b_m_b_i_m_c_title">
+                    <span>{{ index + 1 }}</span>
+                    <svg
+                      width="16"
+                      height="16"
+                      viewBox="0 0 16 16"
+                      fill="none"
+                      xmlns="http://www.w3.org/2000/svg"
+                    >
+                      <path
+                        d="M15.3536 8.35355C15.5488 8.15829 15.5488 7.84171 15.3536 7.64645L12.1716 4.46447C11.9763 4.2692 11.6597 4.2692 11.4645 4.46447C11.2692 4.65973 11.2692 4.97631 11.4645 5.17157L14.2929 8L11.4645 10.8284C11.2692 11.0237 11.2692 11.3403 11.4645 11.5355C11.6597 11.7308 11.9763 11.7308 12.1716 11.5355L15.3536 8.35355ZM1 8.5H15V7.5H1V8.5Z"
+                        fill="#3681FC"
+                      />
+                    </svg>
+
+                    <span>{{ item.sentenceTitle?item.sentenceTitle:"无标题" }}</span>
+                  </div>
+
+									<div class="si_box">
+										<!-- <span v-for="(item2,index2) in item.sentenceContent" :key="index2">{{ item2 }}</span> -->
+										<div class="si_b_top">
+											<span class="si_b_t_item" v-for="(item2,index2) in item.addSentence" :key="index2">{{ item.rightAnswer[index2] }}</span>
+										</div>
+										<div class="si_b_bottom">
+											<span class="si_b_b_item" v-for="(item2,index2) in item.rightAnswer" :key="index2">{{ item2 }}</span>
+										</div>
+									</div>
+									</div>
+								</div>
+
+								<div v-if="[40].includes(toolType)" class="s_b_m_b_i_m_evaluation">
+									<div class="e_item" v-for="(item,index) in testData.rateJson" :key="index">
+										<div class="s_b_m_b_i_m_c_title">
+                    <span>{{ index + 1 }}</span>
+                    <svg
+                      width="16"
+                      height="16"
+                      viewBox="0 0 16 16"
+                      fill="none"
+                      xmlns="http://www.w3.org/2000/svg"
+                    >
+                      <path
+                        d="M15.3536 8.35355C15.5488 8.15829 15.5488 7.84171 15.3536 7.64645L12.1716 4.46447C11.9763 4.2692 11.6597 4.2692 11.4645 4.46447C11.2692 4.65973 11.2692 4.97631 11.4645 5.17157L14.2929 8L11.4645 10.8284C11.2692 11.0237 11.2692 11.3403 11.4645 11.5355C11.6597 11.7308 11.9763 11.7308 12.1716 11.5355L15.3536 8.35355ZM1 8.5H15V7.5H1V8.5Z"
+                        fill="#3681FC"
+                      />
+                    </svg>
+
+                    <span>{{ item.value?item.value:"无标题" }}</span>
+                  </div>
+									<div class="e_item_content">
+										<span class="e_i_c_detail">{{ item.detail?item.detail:"无内容" }}</span>
+										<el-rate :value="item.score" disabled :max="item.score"></el-rate>
+									</div>
+									
+									</div>
+									<span>请输入评价内容...</span>
+								</div>
               </div>
+
             </div>
-            <div class="s_b_m_b_item" v-if="showType === 1">
+            <div class="s_b_m_b_item" v-if="showType === 1 && dialogTypeList[1].showType.includes(toolType)">
 
 							<div class="s_b_m_b_i_eChartsArea">
 								<div class="s_b_m_b_i_e_title">
@@ -207,7 +297,7 @@
                 </div>
               </div>
             </div>
-            <div class="s_b_m_b_item s_b_m_b_worksSubmit" v-if="showType === 2">
+            <div class="s_b_m_b_item s_b_m_b_worksSubmit" v-if="showType === 2 && dialogTypeList[2].showType.includes(toolType)">
               <div class="s_b_b_i_noSubmit">
                 <div class="s_b_b_i_ws_top">
                   <div class="s_b_b_i_ws_t_left">
@@ -233,7 +323,7 @@
                   </div>
                   <div class="s_b_b_i_ws_t_right"></div>
                 </div>
-                <div class="s_b_b_i_ws_bottom" v-show="!foldList.noSubmit">
+                <div class="s_b_b_i_ws_bottom" v-show="!foldList.noSubmit" >
                   <div
                     class="s_b_b_i_ws_b_noSubmitItem"
                     v-if="noWorksStudent.length > 0"
@@ -281,7 +371,7 @@
                     v-for="item in worksStudent"
                     :key="item.userid"
                   >
-                    <div class="s_b_b_i_ws_b_i_s_i_t_top" @click="openTools(item)">
+                    <div class="s_b_b_i_ws_b_i_s_i_t_top" :style="`cursor: ${[45,7,52,48].includes(toolType)?'pointer':'default'};padding: ${[7,52,48].includes(toolType)?'0px':'10px'};`" @click="openTools(item)">
                       <div
                         class="s_b_b_i_ws_b_i_s_i_t_t_delIcon"
                         @click.stop="deleteWorks(item.wid)"
@@ -291,7 +381,11 @@
 
 											<div class="s_b_b_i_ws_b_i_s_i_t_t_answer">
 												
-												<span v-for="(answer,answerIndex) in worksCheckAnswer(item)" :key="item.userid+'-'+answerIndex+'-'+answer.index">
+
+
+												<span v-if="[15].includes(toolType)" class="questionsAndAnswersSpan">{{ questionsAndAnswers(item) }}</span>
+
+												<span v-for="(answer,answerIndex) in worksCheckAnswer(item)" :key="item.userid+'-'+answerIndex+'-'+answer.index" v-if="[45].includes(toolType)">
 													<span v-if="answer.type===1" v-for="item2 in answer.label" :key="answer.index+'-'+item.userid+'-1'">
 														<span :class="`${item2.right?'answerRight':'answerWrong'}`">{{ item2.label }}</span>
 													</span>
@@ -300,6 +394,30 @@
 													</span>
 												</span>
 
+												<div class="answerSelect" v-if="[41].includes(toolType)">
+													<span v-for="(item2,index2) in item.works.split(',')" :key="index2" :class="`${testData.selectJson.answer[index2]===parseInt(item2)?'answerRight':'answerWrong'}`">{{ optionTypeList[item2] }}</span>
+												</div>
+
+												<div class="answerSort" v-if="[47].includes(toolType)">
+													<span v-for="(item2,index2) in JSON.parse(item.works)">
+														<span :class="`${JSON.stringify(item2.chooseSenList)===JSON.stringify(item2.rightAnswer)?'answerRight':'answerWrong'}`">{{ JSON.stringify(item2.chooseSenList)===JSON.stringify(item2.rightAnswer)?'✓':'✕' }}</span>
+													</span>
+												</div>
+
+												<div class="answerEvaluation" v-if="[40].includes(toolType)">
+													<el-rate v-for="(item2,index2) in JSON.parse(item.works).eStar" :key="2" :value="item2" disabled :max="testData.rateJson[index2].score"></el-rate>
+													<span>{{ JSON.parse(item.works).eBzText }}</span>
+												</div>
+
+												<div class="imageWorks" v-if="[7].includes(toolType)">
+														<img :src="item.works" alt="" @click.stop="$hevueImgPreview(item.works)">
+												</div>
+
+												<div class="imageWorks" v-if="[52,48].includes(toolType)">
+													<img :src="require('../../assets/icon/isWord.png')" alt="">
+													<!-- <img v-if="[48].includes(toolType)" :src="require('../../assets/icon/isTxt.png')" alt=""> -->
+												</div>
+
 												<!-- <span>{{ worksCheckAnswer(item) }}</span> -->
 											</div>
                     </div>
@@ -348,7 +466,7 @@ export default {
       default: () => []
     },
     courseType: {
-      type: String,
+      type: String || Number,
       default: ""
     },
     taskCount: {
@@ -367,15 +485,24 @@ export default {
       toolIndex: null,
       worksStudent: [],
       noWorksStudent: [],
+			toolType:null,
       foldList: {
         noSubmit: false,
         worksPreview: false
       },
       dialogTypeList: [
-        { label: "作业详细", value: 0, loading: false },
-        { label: "题目统计", value: 1, loading: false },
-        { label: "学生统计", value: 2, loading: false }
+        { label: "作业详细", value: 0,showType:[45,15,41,47,40], loading: false },
+        { label: "题目统计", value: 1,showType:[45], loading: false },
+        { label: "学生统计", value: 2,showType:[45,15,41,47,40,7,52,48], loading: false }
       ],
+			toolList:[
+				{label:"选择题",value:45,img:require("../../assets/icon/thirdToolList/choose.png")},
+				{label:"问答题",value:15,img:require("../../assets/icon/thirdToolList/answer.png")},
+				{label:"选择匹配",value:41,img:require("../../assets/icon/thirdToolList/select.png")},
+				{label:"排序",value:47,img:require("../../assets/icon/fourthToolList/conSentences.png")},
+				{label:"个人评价",value:40,img:require("../../assets/icon/secondToolList/eval.png")},
+				{label:"思维网格",value:7,img:require("../../assets/icon/secondToolList/mindNetwork.png")}
+			],
 			statisticsTypeList:[
 				{label:"准确率",value:0},
 				{label:"选项汇总",value:1}
@@ -386,7 +513,7 @@ export default {
   computed: {
     tableData() {
       let _result = [];
-      if (this.show && this.toolIndex !== null) {
+      if (this.show && this.toolIndex !== null && [45].includes(this.toolType)) {
         let worksJson = [];
         if (this.testJson) {
           worksJson = JSON.parse(JSON.stringify(this.testJson));
@@ -528,7 +655,8 @@ export default {
 		worksCheckAnswer(){
 			return data=>{
 				let _result = [];
-				let works = JSON.parse(data.works);
+				if([45].includes(this.toolType)){
+					let works = JSON.parse(data.works);
 				let testJson = works[0].testJson.testJson;
 				let worksAnswer = works[0].anwer;
 
@@ -559,10 +687,20 @@ export default {
 				})
 
 				_result = answerList;
-				// _result = works[0].anwer;
-
-
+				}
 
+				return _result;
+			}
+		},
+		questionsAndAnswers(){
+			return data=>{
+				let _result = "";
+				if([15].includes(this.toolType)){
+					let _work = data.works?JSON.parse(data.works)[0]:null;
+					if(_work){
+						_result = _work.answer;
+					}
+				}
 				return _result;
 			}
 		}
@@ -601,13 +739,16 @@ export default {
       deep: true
     }
   },
-
   methods: {
     open(data) {
       if (this.show) return;
       this.show = true;
       this.data = data;
       this.toolIndex = data.toolIndex;
+			this.toolType = data.toolType;
+			if(this.dialogTypeList.findIndex(i=>i.showType.includes(this.toolType))!==-1){
+				this.changeShowType(this.dialogTypeList.findIndex(i=>i.showType.includes(this.toolType)))
+			}
       this.setData();
     },
     setData() {
@@ -618,12 +759,14 @@ export default {
         this.noWorksStudent = JSON.parse(
           JSON.stringify(this.noWorksSData[this.toolIndex])
         );
-        let _tempData = this.chapInfoListData[this.courseType].chapterInfo[0]
-          .taskJson[this.taskCount].toolChoose[this.toolIndex];
-        this.testData = _tempData ? _tempData : null;
-        this.testJson = this.testData.testJson
-          ? this.testData.testJson.testJson
-          : null;
+        if(![52,48].includes(this.toolType)){
+          let _tempData = this.chapInfoListData[this.courseType].chapterInfo[0]
+            .taskJson[this.taskCount].toolChoose[this.toolIndex];
+          this.testData = _tempData ? _tempData : null;
+          this.testJson = this.testData.testJson
+            ? this.testData.testJson.testJson
+            : null;
+        }
       }
     },
     close() {
@@ -640,6 +783,7 @@ export default {
       this.noWorksStudent = [];
       this.toolIndex = null;
       this.testData = null;
+			this.toolType = null;
       this.foldList = {
         noSubmit: false,
         worksPreview: false
@@ -661,7 +805,11 @@ export default {
       this.dialogTypeList[2].loading = true;
     },
 		openTools(data){
-			this.$emit("openTools",45,this.toolIndex,this.taskCount,data.works,data.sName)
+			if([45].includes(this.toolType)){
+				this.$emit("openTools",this.toolType,this.toolIndex,this.taskCount,data.works,data.sName)
+			}else if([52,48].includes(this.toolType)){
+				this.$emit("openWord",data)
+			}
 		},
 		changeShowStatisticsType(type){
 			this.showStatisticsType = type;
@@ -675,13 +823,15 @@ export default {
         }})
 		},
 		splitScreenFn(data){
-			console.log("splitScreenFn",data)
 			if(data.type!==undefined){
 				this.showType = data.type;
 			}
 			if(data.showStatisticsType!==undefined){
 				this.showStatisticsType = data.showStatisticsType;
 			}
+			if(data.toolType!==undefined){
+				this.toolType = data.toolType;
+			}
 		}
   }
 };
@@ -819,6 +969,13 @@ export default {
   margin-right: 5px;
 }
 
+.s_b_m_b_i_m_title > div >img {
+  width: 50px;
+  height: 50px;
+	margin: 5px;
+  margin-right: 5px;
+}
+
 .s_b_m_b_i_m_title > div > span {
   font-size: 20px;
   font-weight: bold;
@@ -1025,7 +1182,6 @@ export default {
   display: flex;
   justify-content: center;
   align-items: center;
-  padding: 10px;
   flex-wrap: wrap;
   background-image: linear-gradient(
     45deg,
@@ -1034,7 +1190,6 @@ export default {
     #e3eeff 100%
   );
   position: relative;
-	cursor: pointer;
 	overflow: auto;
 }
 
@@ -1121,6 +1276,11 @@ export default {
 	color: #000;
 }
 
+.s_b_b_i_ws_b_i_s_i_t_t_answer{
+	width: 100%;
+	height: 100%;
+}
+
 .s_b_b_i_ws_b_i_s_i_t_t_answer>span{
 	font-size: 18px;
 	font-weight: bold;
@@ -1220,6 +1380,194 @@ export default {
 	border-radius: 4px;
 }
 
+.questionsAndAnswersSpan{
+	font-size: 18px;
+}
+
+.s_b_m_b_i_m_question{
+	width: 100%;
+	height: auto;
+	box-sizing: border-box;
+	padding: 10px 0 10px 15px;
+}
+
+.s_b_m_b_i_m_question>span{
+	width: 100%;
+	height: 150px;
+	display: block;
+	margin-top: 15px;
+	border-radius: 10px;
+	box-sizing: border-box;
+	padding: 2px;
+	border: solid 1px #d7d9e0;
+}
+
+.s_b_m_b_i_m_evaluation>span{
+	width: 100%;
+	height: 150px;
+	display: block;
+	margin-top: 15px;
+	border-radius: 10px;
+	box-sizing: border-box;
+	padding: 2px;
+	border: solid 1px #d7d9e0;
+}
+
+.s_b_m_b_i_m_selectiveMatching{
+	width: 100%;
+	height: auto;
+	padding-left: 15px;
+	display: flex;
+}
+
+.sm_left{
+	width: calc(100% - 300px);
+	height: 100%;
+}
+
+.sm_left>img{
+	width: 100%;
+	height: auto;
+	cursor: pointer;
+	border-radius: 2px;
+}
+
+.sm_right{
+	width: 300px;
+	min-height: 600px;
+	box-sizing: border-box;
+	padding: 10px;
+	height: auto;
+	overflow: auto;
+}
+
+.sm_right_item{
+	width: 100%;
+	height: auto;
+	margin-bottom: 20px;
+	display: flex;
+	align-items: center;
+	justify-content: center;
+}
+
+.sm_right_item>>>.el-select{
+	width: 100%;
+}
+
+.answerSelect>span{
+	font-size: 18px;
+	font-weight: bold;
+	margin: 2px 4px;
+	display: block;
+	float: left;
+	
+}
+
+.s_b_m_b_i_m_sorting{
+	width: 100%;
+	height: auto;
+	box-sizing: border-box;
+	padding-left: 15px;
+}
+
+.sortingItem{
+	margin-bottom: 20px;
+}
+
+.si_box{
+	width: 100%;
+	height: auto;
+	box-sizing: border-box;
+	padding: 10px;
+}
+
+.si_b_top{
+	width: 100%;
+	height: auto;
+	margin-top: 20px;
+}
+
+.si_b_top>span{
+	font-size: 24px;
+	margin-right: 20px;
+	padding: 10px 40px;
+	border: dashed 2px #d7d9e0;
+	border-radius: 5px;
+	color: #ebedf3;
+	font-weight: bold;
+	box-sizing: border-box;
+}
+
+.si_b_bottom{
+	width: 100%;
+	height: auto;
+	margin-top: 40px;
+}
+
+.si_b_bottom>span{
+	font-size: 24px;
+	margin-right: 20px;
+	padding: 10px 40px;
+	border: solid 2px #A3C7F9;
+	border-radius: 5px;
+	color: black;
+	font-weight: bold;
+	box-sizing: border-box;
+}
+
+.answerSort>span{
+	font-size: 20px;
+	margin-right: 10px;
+	font-weight: bold;
+}
+
+.s_b_m_b_i_m_evaluation{
+	box-sizing: border-box;
+	padding-left: 15px;
+}
+
+.e_item{
+	margin-bottom: 50px;
+}
+
+.e_item_content{
+	display: flex;
+	justify-content: center;
+	flex-direction: column;
+}
+
+.e_item_content>span{
+	padding: 10px 20px;
+	background-color: #F3F7FD;
+	border-radius: 5px;
+	margin: 10px 0;
+	font-size: 18px;
+}
+
+.e_item_content>>>.el-rate .el-rate__item{
+	width: 30px;
+	height: 30px;
+}
+
+.e_item_content>>>.el-rate .el-rate__item>.el-rate__icon{
+	width: 100%;
+	height: 100%;
+	font-size: 26px;
+}
+
+.imageWorks{
+	width: 100%;
+	height: 100%;
+	display: flex;
+	align-items: center;
+	justify-content: center;
+}
+
+.imageWorks>img{
+	width: 100%;
+	height: 100%;
+	object-fit: fill;
+}
 
 
 /* F9FAFB */

+ 81 - 52
src/components/components/statisticalAnalysis.vue

@@ -12,7 +12,7 @@
       <div class="s_box">
         <div class="s_b_top">
           <div class="s_b_t_left">
-            <img src="../../assets/icon/thirdToolList/ask.png" slt="图片"/>
+            <img src="../../assets/icon/thirdToolList/ask.png" slt="图片" />
             <div class="s_b_t_l_detail">
               <div>{{ askData.title }}</div>
               <span>{{ askData.describe }}</span>
@@ -56,16 +56,19 @@
             >
           </div>
           <div class="s_b_b_right">
-						<div class=s_b_b_r_btnArea>
-							<div class="s_b_b_r_primaryBtn" @click="refresh">刷新</div>
-						</div>
+            <div class="s_b_b_r_btnArea">
+              <div class="s_b_b_r_primaryBtn" @click="refresh">刷新</div>
+            </div>
             <div class="s_b_b_r_item" v-if="showType === 0">
               <div class="itemBox">
                 <div class="ib_title">数据统计图</div>
-                <div class="ib_echarts" style="width:60%;height: 600px;min-width: 600px;">
+                <div
+                  class="ib_echarts"
+                  style="width:60%;height: 600px;min-width: 600px;"
+                >
                   <eChartsView
-										id="problemSituationData"
-                    v-if="problemSituationData.eChartsOption && show "
+                    id="problemSituationData"
+                    v-if="problemSituationData.eChartsOption && show"
                     :data="problemSituationData.eChartsOption"
                   />
                 </div>
@@ -109,9 +112,12 @@
             <div class="s_b_b_r_item" v-if="showType === 1">
               <div class="itemBox">
                 <div class="ib_title">数据统计图</div>
-                <div class="ib_echarts" style="width:60%;height: 600px;min-width: 600px;">
+                <div
+                  class="ib_echarts"
+                  style="width:60%;height: 600px;min-width: 600px;"
+                >
                   <eChartsView2
-										id="studentSummaryData"
+                    id="studentSummaryData"
                     v-if="studentSummary.eChartsOption && show"
                     :data="studentSummary.eChartsOption"
                   />
@@ -158,7 +164,7 @@
                 <div class="ib_title">数据统计图</div>
                 <div class="ib_echarts" style="width:800px;height: 600px">
                   <eChartsView3
-										id="classSummaryData"
+                    id="classSummaryData"
                     v-if="classSummary.eChartsOption && show"
                     :data="classSummary.eChartsOption"
                   />
@@ -212,6 +218,16 @@ import eChartsView from "./eChartsView.vue";
 import eChartsView2 from "./eChartsView.vue";
 import eChartsView3 from "./eChartsView.vue";
 export default {
+  props: {
+    courseType: {
+      type: String || Number,
+      default: ""
+    },
+    taskCount: {
+      type: Number,
+      default: 0
+    }
+  },
   components: {
     eChartsView,
     eChartsView2,
@@ -225,7 +241,7 @@ export default {
       tType: null,
       worksData: null,
       worksStudent: null,
-			toolIndex:null,
+      toolIndex: null,
       askData: {
         title: "",
         describe: ""
@@ -234,11 +250,11 @@ export default {
   },
   methods: {
     open(data) {
-			console.log(data)
+      console.log(data);
       this.show = true;
       this.data = data;
       this.worksStudent = data.worksStudent;
-			this.toolIndex = data.toolIndex;
+      this.toolIndex = data.toolIndex;
       if (data.worksStudent.length > 0) {
         let works = data.worksStudent[0].works
           ? JSON.parse(data.worksStudent[0].works)
@@ -257,13 +273,14 @@ export default {
     close() {
       this.show = false;
       this.init();
+			this.$emit("changeSplitScreenBehavior",{code:99})
     },
     init() {
       this.data = null;
       this.showType = 0;
       this.tType = null;
       this.worksData = null;
-			this.toolIndex = null;
+      this.toolIndex = null;
       this.askData = {
         title: "",
         describe: ""
@@ -271,7 +288,16 @@ export default {
     },
     changeShowType(type) {
       this.showType = type;
-			this.$forceUpdate()
+      this.$emit("changeSplitScreenBehavior", {
+        code: 2,
+        form: {
+          toolIndex: this.toolIndex,
+          courseType: this.courseType,
+          taskCount: this.taskCount,
+          type: this.showType
+        }
+      });
+      this.$forceUpdate();
     },
     indexMethod(index) {
       if (index === 0) {
@@ -280,14 +306,14 @@ export default {
         return index;
       }
     },
-		refresh(){
-			this.$emit("refresh",this.toolIndex)
-		},
-		refreshData(data){
-			console.log(data)
-			this.data = data;
+    refresh() {
+      this.$emit("refresh", this.toolIndex);
+    },
+    refreshData(data) {
+      console.log(data);
+      this.data = data;
       this.worksStudent = data.worksStudent;
-			this.toolIndex = data.toolIndex;
+      this.toolIndex = data.toolIndex;
       if (data.worksStudent.length > 0) {
         let works = data.worksStudent[0].works
           ? JSON.parse(data.worksStudent[0].works)
@@ -302,7 +328,14 @@ export default {
       } else {
         this.worksData = [];
       }
-		},
+    },
+    splitScreenFn(data) {
+			console.log("👇👇")
+			console.log(data)
+      if (data.type !== undefined) {
+        this.showType = data.type;
+      }
+    }
   },
   computed: {
     // 题目情况
@@ -617,16 +650,13 @@ export default {
 
       result.tableData.unshift(totalData);
 
-
-			totalData.options.forEach((item,index)=>{
-				let obj = {
-					value:item,
-					name:`选项${index+1}`
-				}
-				result.eChartsOption.series[0].data.push(obj)
-			})
-			
-			
+      totalData.options.forEach((item, index) => {
+        let obj = {
+          value: item,
+          name: `选项${index + 1}`
+        };
+        result.eChartsOption.series[0].data.push(obj);
+      });
 
       return result;
     }
@@ -760,31 +790,30 @@ export default {
 .s_b_b_right {
   width: calc(100% - 300px);
   height: 100%;
-	position: relative;
+  position: relative;
 }
 
-.s_b_b_r_btnArea{
-	width: auto;
-	height: auto;
-	position: absolute;
-	right: 30px;
-	top: 30px;
+.s_b_b_r_btnArea {
+  width: auto;
+  height: auto;
+  position: absolute;
+  right: 30px;
+  top: 30px;
 }
 
-.s_b_b_r_primaryBtn{
-	width: auto;
-	height: auto;
-	background-color: #007AFF;
-	
-	color: #fff;
-	font-size: 16px;
-	padding: 10px 30px;
-	border-radius: 25px;
-	cursor: pointer;
-	box-shadow: 0px 2px 5px 0px #1D398314;
+.s_b_b_r_primaryBtn {
+  width: auto;
+  height: auto;
+  background-color: #007aff;
 
-box-shadow: 0.5px 0.5px 10px 2px #1D39830D;
+  color: #fff;
+  font-size: 16px;
+  padding: 10px 30px;
+  border-radius: 25px;
+  cursor: pointer;
+  box-shadow: 0px 2px 5px 0px #1d398314;
 
+  box-shadow: 0.5px 0.5px 10px 2px #1d39830d;
 }
 
 .s_b_b_r_item {

+ 2 - 2
src/components/easy2/commpont/markDialog.vue

@@ -738,7 +738,7 @@ export default {
         userId: this.cUserid,
         file_ids: _fileid ? [_fileid] : [],
         isImage: this.currentUid.type == 1 ? true : "",
-        model: "gpt-4o-2024-08-06"
+        model: "gpt-4o-2024-11-20"
       };
       this.ajax
         .post("https://gpt4.cocorobo.cn/ai_agent_park_chat", params)
@@ -1123,7 +1123,7 @@ export default {
         userId: this.cUserid,
         file_ids: _fileid ? [_fileid] : [],
         isImage: work.type == 1 ? true : "",
-        model: _fileid ? "gpt-4o-2024-08-06" : "gpt-4o-2024-08-06"
+        model: _fileid ? "gpt-4o-2024-11-20" : "gpt-4o-2024-11-20"
       };
       this.ajax
         .post("https://gpt4.cocorobo.cn/ai_agent_park_chat", params)

+ 1 - 1
src/components/easy2/commpont/markScore.vue

@@ -285,7 +285,7 @@ export default {
         userId: this.userid,
         file_ids: _fileid ? [_fileid] : [],
         isImage: work == 0 ? true : '',
-        model:  _fileid ? "gpt-4o-2024-08-06"  : "gpt-4o-2024-08-06"
+        model:  _fileid ? "gpt-4o-2024-11-20"  : "gpt-4o-2024-11-20"
       };
       return new Promise((resolve,reject) => {
         this.ajax

+ 84 - 20
src/components/easy2/studyStudent.vue

@@ -1043,6 +1043,10 @@
                               @click="addTools(tooC, toolIndex, taskCount)"
                             />
                             <div style="margin: 5px 0">思维网格</div>
+														<div class="upload_toolBtn" v-if="tType==='1' && worksStudent[toolIndex].length>0" @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,7)"
+                              style="position: absolute;right: 33px;top: -30px;">
+                              作业详细
+                            </div>
                           </div>
                           <div v-if="tooC == 8">
                             <img
@@ -1082,7 +1086,8 @@
                                 openStatisticalAnalysis(
                                   tooC,
                                   toolIndex,
-                                  taskCount
+                                  taskCount,
+																	45
                                 )
                               "
                               style="position: absolute;right: 33px;top: -30px;"
@@ -1107,7 +1112,8 @@
                                 openChoseWorksDetailDialog(
                                   tooC,
                                   toolIndex,
-                                  taskCount
+                                  taskCount,
+																	45
                                 )
                               "
                               style="position: absolute;right: 33px;top: -30px;"
@@ -1138,6 +1144,10 @@
                               alt
                             />
                             <div style="margin: 5px 0">问答</div>
+														<div class="upload_toolBtn" v-if="tType==='1' && worksStudent[toolIndex].length>0" @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,15)"
+                              style="position: absolute;right: 135px;top: -45px;height: 40px;display: flex;align-items: center;justify-content: center;background: #409EFF;">
+                              作业详细
+                            </div>
                           </div>
                           <div v-if="tooC == 26">
                             <img
@@ -1272,6 +1282,10 @@
                               alt
                             />
                             <div style="margin: 5px 0">个人评价</div>
+														<div class="upload_toolBtn" v-if="tType==='1' && worksStudent[toolIndex].length>0" @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,40)"
+                              style="position: absolute;right: 33px;top: -30px;">
+                              作业详细
+                            </div>
                           </div>
                           <div v-if="tooC == 41">
                             <img
@@ -1280,6 +1294,10 @@
                               alt
                             />
                             <div style="margin: 5px 0">选择匹配</div>
+														<div class="upload_toolBtn" v-if="tType==='1' && worksStudent[toolIndex].length>0" @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,41)"
+                              style="position: absolute;right: 33px;top: -30px;">
+                              作业详细
+                            </div>
                           </div>
                           <div v-if="tooC == 44">
                             <img
@@ -1296,6 +1314,10 @@
                               alt
                             />
                             <div style="margin: 5px 0">排序</div>
+														<div class="upload_toolBtn" v-if="tType==='1' && worksStudent[toolIndex].length>0" @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,47)"
+                              style="position: absolute;right: 33px;top: -30px;">
+                              作业详细
+                            </div>
                           </div>
                           <div v-if="tooC == 48">
                             <img
@@ -1304,6 +1326,10 @@
                               alt
                             />
                             <div style="margin: 5px 0">表格</div>
+														<div class="upload_toolBtn" v-if="tType==='1' && worksStudent[toolIndex].length>0" @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,48)"
+                              style="position: absolute;right: 33px;top: -30px;">
+                              作业详细
+                            </div>
                           </div>
                           <div v-if="tooC == 52">
                             <img
@@ -1312,6 +1338,10 @@
                               alt
                             />
                             <div style="margin: 5px 0">文档</div>
+														<div class="upload_toolBtn" v-if="tType==='1' && worksStudent[toolIndex].length>0" @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,52)"
+                              style="position: absolute;right: 33px;top: -30px;">
+                              作业详细
+                            </div>
                           </div>
                           <div v-if="tooC == 49">
                             <img
@@ -13188,7 +13218,7 @@
                 'https://view.officeapps.live.com/op/view.aspx?src='
               ) != -1
           "
-          style="width: 95%; margin: 0 auto"
+          style="width: 100%;height:100%; margin: 0 auto"
         >
           <iframe
             style="width: 100%; height: 100%; border: none"
@@ -13212,6 +13242,7 @@
           v-if="fulltype == 1"
           style="
             box-shadow: 0 0 6px 1px #f2f2f2;
+						height:100%;
             width: 100%;
             background: #f1f1f1;
           "
@@ -15405,10 +15436,7 @@
       </div>
       <div>{{ TxtMd }}</div>
     </el-dialog>
-    <statisticalAnalysis
-      ref="statisticalAnalysisRef"
-      @refresh="statisticalAnalysisRefresh"
-    />
+    <statisticalAnalysis ref="statisticalAnalysisRef" @refresh="statisticalAnalysisRefresh"  @changeSplitScreenBehavior="changeSplitScreenBehavior"  :courseType="courseType" :taskCount="taskCount"/>
     <choseWorksDetailDialog
       ref="choseWorksDetailDialogRef"
       :worksStudentData="this.worksStudent"
@@ -15418,6 +15446,8 @@
       :taskCount="taskCount"
       @deleteWorks="deleteWorks"
       @openTools="openTools"
+			@openWord="openWord"
+			@openScore="openScore"
       @changeSplitScreenBehavior="changeSplitScreenBehavior"
     />
   </div>
@@ -16362,7 +16392,7 @@ export default {
         session_name: uuidv4(),
         userId: this.userid,
         file_ids: [],
-        model: "gpt-4o-2024-08-06"
+        model: "gpt-4o-2024-11-20"
       };
       // console.log('params',params);
 
@@ -21605,7 +21635,7 @@ export default {
             this.getCourseState(1);
           }
 
-          if (this.IsFollow && this.tType == 2) {
+					if ((this.IsFollow && this.tType == 2) || (this.splitScreenData.isOpen && this.splitScreenData.uid != this.splitScreenData.myUid)) {
             this.setContent2(false);
             let _followC = res.data[0][0].followC.split("-");
             if (
@@ -24473,14 +24503,16 @@ export default {
     setClassRoomHelperWidth(width) {
       this.classRoomHelperWidth = width;
     },
-    openChoseWorksDetailDialog(tooC, toolIndex, taskCount) {
+    openChoseWorksDetailDialog(tooC, toolIndex, taskCount,tooc) {
       this.$refs.choseWorksDetailDialogRef.open({
+				toolType:tooc,
         tType: this.tType,
         toolIndex: toolIndex
       });
       this.changeSplitScreenBehavior({
         code: 1,
         form: {
+					toolType:tooc,
           toolIndex: toolIndex,
           courseType: this.courseType,
           taskCount: this.taskCount,
@@ -24493,6 +24525,16 @@ export default {
         worksStudent: this.worksStudent[toolIndex],
         tType: this.tType,
         toolIndex: toolIndex
+      });
+			this.changeSplitScreenBehavior({
+        code: 2,
+        form: {
+					toolType:4,
+					courseType: this.courseType,
+          taskCount: this.taskCount,
+          toolIndex: toolIndex,
+          type: 0
+        }
       });
     },
     statisticalAnalysisRefresh(toolIndex) {
@@ -24516,7 +24558,7 @@ export default {
         this.$message.success("已关闭分屏模式");
         this.studentFreePreview(false);
         this.OpenJobPreview(false);
-        this.followingMode(false);
+        // this.followingMode(false);
       } else if (type == 1) {
         //开启分屏
         this.splitScreenData.isOpen = true;
@@ -24529,7 +24571,7 @@ export default {
           this.$message.success("已开启分屏");
           this.studentFreePreview(true);
           this.OpenJobPreview(true);
-          this.followingMode(true);
+          // this.followingMode(true);
         } else {
           this.splitScreenData.isOpen = false;
           this.splitScreenData.userId = "";
@@ -24609,31 +24651,52 @@ export default {
 						if(this.$refs.choseWorksDetailDialogRef.show){
 							this.$refs.choseWorksDetailDialogRef.close();
 						}
+						if(this.$refs.statisticalAnalysisRef.show){
+							this.$refs.statisticalAnalysisRef.close();
+						}
           } else if (behavior.code === 0) {
             //开启内容列表弹窗
             this.checkFileFull1(behavior.form[0], behavior.form[1]);
           } else if (behavior.code === 1) {
             //关于选择题的作业详细的操作
             // toolIndex:toolIndex,courseType:this.courseType,taskCount:this.taskCount,type:0
-            this.courseType = behavior.form.courseType;
-            this.taskCount = behavior.form.taskCount;
+            if(this.courseType!==behavior.form.courseType || this.taskCount!==behavior.form.taskCount){
+							this.courseType = behavior.form.courseType;
+            	this.taskCount = behavior.form.taskCount;
+						}
             this.$nextTick(() => {
-              if (this.$refs.choseWorksDetailDialogRef.show) {
+							if (this.$refs.choseWorksDetailDialogRef.show) {
                 //已经打开了
-								this.$refs.choseWorksDetailDialogRef.splitScreenFn({type:behavior.form.type,showStatisticsType:behavior.form.showStatisticsType})
+								this.$refs.choseWorksDetailDialogRef.splitScreenFn({toolType:behavior.form.toolType,type:behavior.form.type,showStatisticsType:behavior.form.showStatisticsType})
               } else {
-								this.$refs.choseWorksDetailDialogRef.open({toolIndex:behavior.form.toolIndex,tType: this.tType,})
+								this.$refs.choseWorksDetailDialogRef.open({toolType:behavior.form.toolType,toolIndex:behavior.form.toolIndex,tType: this.tType,})
               }
             });
-          }
+          }else if(behavior.code === 2){
+						if(this.$refs.statisticalAnalysisRef.show){
+							this.$refs.statisticalAnalysisRef.splitScreenFn({type:behavior.form.type})
+						}else{
+							this.$refs.statisticalAnalysisRef.open({
+      				  worksStudent: this.worksStudent[behavior.form.toolIndex],
+      				  tType: this.tType,
+      				  toolIndex: behavior.form.toolIndex
+      				});
+						}
+					}
         } else {
         }
       }
     },
     updateSplitScreenData(empty = 0) {
-      // return
       return new Promise(resolve => {
-				if(this.userid!==this.courseDetail.userid)return;
+				if(this.userid!==this.courseDetail.userid){
+					if(!this.courseDetail.userid){
+						return setTimeout(()=>{
+							this.updateSplitScreenData(empty)
+						},2000)
+					}
+					return;
+				};
         if (
           this.splitScreenData.uid == this.splitScreenData.myUid &&
           this.splitScreenData.userId == this.userid
@@ -24694,6 +24757,7 @@ export default {
     },
     studentFreePreview(flag) {
       this.IsLookOpen = flag;
+			this.followingMode(flag)
       this.updateLookOpen();
     },
     OpenJobPreview(flag) {

+ 81 - 18
src/components/easy3/studyStudent.vue

@@ -996,6 +996,10 @@
                               @click="addTools(tooC, toolIndex, taskCount)"
                             />
                             <div style="margin: 5px 0">思维网格</div>
+														<div class="upload_toolBtn" v-if="tType==='1' && worksStudent[toolIndex].length>0" @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,7)"
+                              style="position: absolute;right: 33px;top: -30px;">
+                              作业详细
+                            </div>
                           </div>
                           <div v-if="tooC == 8">
                             <img
@@ -1041,7 +1045,7 @@
                             />
                             <div style="margin: 5px 0">选择题</div>
 
-														<div class="upload_toolBtn" v-if="tType==='1' && worksStudent[toolIndex].length>0" @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount)"
+														<div class="upload_toolBtn" v-if="tType==='1' && worksStudent[toolIndex].length>0" @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,45)"
                               style="position: absolute;right: 33px;top: -30px;">
                               作业详细
                             </div>
@@ -1069,6 +1073,11 @@
                               alt
                             />
                             <div style="margin: 5px 0">问答</div>
+
+														<div class="upload_toolBtn" v-if="tType==='1' && worksStudent[toolIndex].length>0" @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,15)"
+                              style="position: absolute;right: 135px;top: -45px;height: 40px;display: flex;align-items: center;justify-content: center;background: #409EFF;">
+                              作业详细
+                            </div>
                           </div>
                           <div v-if="tooC == 26">
                             <img
@@ -1203,6 +1212,10 @@
                               alt
                             />
                             <div style="margin: 5px 0">个人评价</div>
+														<div class="upload_toolBtn" v-if="tType==='1' && worksStudent[toolIndex].length>0" @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,40)"
+                              style="position: absolute;right: 33px;top: -30px;">
+                              作业详细
+                            </div>
                           </div>
                           <div v-if="tooC == 41">
                             <img
@@ -1211,6 +1224,10 @@
                               alt
                             />
                             <div style="margin: 5px 0">选择匹配</div>
+														<div class="upload_toolBtn" v-if="tType==='1' && worksStudent[toolIndex].length>0" @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,41)"
+                              style="position: absolute;right: 33px;top: -30px;">
+                              作业详细
+                            </div>
                           </div>
                           <div v-if="tooC == 44">
                             <img
@@ -1227,6 +1244,10 @@
                               alt
                             />
                             <div style="margin: 5px 0">排序</div>
+														<div class="upload_toolBtn" v-if="tType==='1' && worksStudent[toolIndex].length>0" @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,47)"
+                              style="position: absolute;right: 33px;top: -30px;">
+                              作业详细
+                            </div>
                           </div>
                           <div v-if="tooC == 48">
                             <img
@@ -1235,6 +1256,10 @@
                               alt
                             />
                             <div style="margin: 5px 0">表格</div>
+														<div class="upload_toolBtn" v-if="tType==='1' && worksStudent[toolIndex].length>0" @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,48)"
+                              style="position: absolute;right: 33px;top: -30px;">
+                              作业详细
+                            </div>
                           </div>
                           <div v-if="tooC == 52">
                             <img
@@ -1243,6 +1268,10 @@
                               alt
                             />
                             <div style="margin: 5px 0">文档</div>
+														<div class="upload_toolBtn" v-if="tType==='1' && worksStudent[toolIndex].length>0" @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,52)"
+                              style="position: absolute;right: 33px;top: -30px;">
+                              作业详细
+                            </div>
                           </div>
                           <div v-if="tooC == 49">
                             <img
@@ -10008,7 +10037,7 @@
               'https://view.officeapps.live.com/op/view.aspx?src='
             ) != -1
           "
-          style="width: 95%; margin: 0 auto"
+          style="width: 100%;height:100%; margin: 0 auto"
         >
           <iframe
             style="width: 100%; height: 100%; border: none"
@@ -10032,6 +10061,7 @@
           v-if="fulltype == 1"
           style="
             box-shadow: 0 0 6px 1px #f2f2f2;
+						height:100%;
             width: 100%;
             background: #f1f1f1;
           "
@@ -11952,7 +11982,7 @@
     :scoreDetail="scoreDetail"
     @selectSWorks="selectSWorks" 
     @selectStudent="selectStudent"></checkEnglishVoice>
-		<statisticalAnalysis ref="statisticalAnalysisRef" @refresh="statisticalAnalysisRefresh"/>
+		<statisticalAnalysis ref="statisticalAnalysisRef" @refresh="statisticalAnalysisRefresh"  @changeSplitScreenBehavior="changeSplitScreenBehavior"  :courseType="courseType" :taskCount="taskCount"/>
 		<choseWorksDetailDialog
       ref="choseWorksDetailDialogRef"
       :worksStudentData="this.worksStudent"
@@ -11962,6 +11992,8 @@
       :taskCount="taskCount"
       @deleteWorks="deleteWorks"
       @openTools="openTools"
+			@openWord="openWord"
+			@openScore="openScore"
       @changeSplitScreenBehavior="changeSplitScreenBehavior"
     />
   </div>
@@ -17296,7 +17328,7 @@ export default {
             this.getCourseState(1);
           }
 
-          if ((this.IsFollow && this.tType == 2) || (this.splitScreenData.isOpen && this.splitScreenData.uid != this.splitScreenData.myUid)) {
+					if ((this.IsFollow && this.tType == 2) || (this.splitScreenData.isOpen && this.splitScreenData.uid != this.splitScreenData.myUid)) {
             this.setContent2(false);
             let _followC = res.data[0][0].followC.split("-");
             if (
@@ -20100,17 +20132,16 @@ export default {
 		setClassRoomHelperWidth(width){
       this.classRoomHelperWidth = width
     },
-		openStatisticalAnalysis(tooC,toolIndex,taskCount){
-			this.$refs.statisticalAnalysisRef.open({worksStudent:this.worksStudent[toolIndex],tType:this.tType,toolIndex:toolIndex})
-		},
-    openChoseWorksDetailDialog(tooC, toolIndex, taskCount) {
+		openChoseWorksDetailDialog(tooC, toolIndex, taskCount,tooc) {
       this.$refs.choseWorksDetailDialogRef.open({
+				toolType:tooc,
         tType: this.tType,
         toolIndex: toolIndex
       });
       this.changeSplitScreenBehavior({
         code: 1,
         form: {
+					toolType:tooc,
           toolIndex: toolIndex,
           courseType: this.courseType,
           taskCount: this.taskCount,
@@ -20123,6 +20154,16 @@ export default {
         worksStudent: this.worksStudent[toolIndex],
         tType: this.tType,
         toolIndex: toolIndex
+      });
+			this.changeSplitScreenBehavior({
+        code: 2,
+        form: {
+					toolType:4,
+					courseType: this.courseType,
+          taskCount: this.taskCount,
+          toolIndex: toolIndex,
+          type: 0
+        }
       });
     },
     statisticalAnalysisRefresh(toolIndex) {
@@ -20146,7 +20187,7 @@ export default {
         this.$message.success("已关闭分屏模式");
         this.studentFreePreview(false);
         this.OpenJobPreview(false);
-        this.followingMode(false);
+        // this.followingMode(false);
       } else if (type == 1) {
         //开启分屏
         this.splitScreenData.isOpen = true;
@@ -20159,7 +20200,7 @@ export default {
           this.$message.success("已开启分屏");
           this.studentFreePreview(true);
           this.OpenJobPreview(true);
-          this.followingMode(true);
+          // this.followingMode(true);
         } else {
           this.splitScreenData.isOpen = false;
           this.splitScreenData.userId = "";
@@ -20239,31 +20280,52 @@ export default {
 						if(this.$refs.choseWorksDetailDialogRef.show){
 							this.$refs.choseWorksDetailDialogRef.close();
 						}
+						if(this.$refs.statisticalAnalysisRef.show){
+							this.$refs.statisticalAnalysisRef.close();
+						}
           } else if (behavior.code === 0) {
             //开启内容列表弹窗
             this.checkFileFull1(behavior.form[0], behavior.form[1]);
           } else if (behavior.code === 1) {
             //关于选择题的作业详细的操作
             // toolIndex:toolIndex,courseType:this.courseType,taskCount:this.taskCount,type:0
-            this.courseType = behavior.form.courseType;
-            this.taskCount = behavior.form.taskCount;
+            if(this.courseType!==behavior.form.courseType || this.taskCount!==behavior.form.taskCount){
+							this.courseType = behavior.form.courseType;
+            	this.taskCount = behavior.form.taskCount;
+						}
             this.$nextTick(() => {
-              if (this.$refs.choseWorksDetailDialogRef.show) {
+							if (this.$refs.choseWorksDetailDialogRef.show) {
                 //已经打开了
-								this.$refs.choseWorksDetailDialogRef.splitScreenFn({type:behavior.form.type,showStatisticsType:behavior.form.showStatisticsType})
+								this.$refs.choseWorksDetailDialogRef.splitScreenFn({toolType:behavior.form.toolType,type:behavior.form.type,showStatisticsType:behavior.form.showStatisticsType})
               } else {
-								this.$refs.choseWorksDetailDialogRef.open({toolIndex:behavior.form.toolIndex,tType: this.tType,})
+								this.$refs.choseWorksDetailDialogRef.open({toolType:behavior.form.toolType,toolIndex:behavior.form.toolIndex,tType: this.tType,})
               }
             });
-          }
+          }else if(behavior.code === 2){
+						if(this.$refs.statisticalAnalysisRef.show){
+							this.$refs.statisticalAnalysisRef.splitScreenFn({type:behavior.form.type})
+						}else{
+							this.$refs.statisticalAnalysisRef.open({
+      				  worksStudent: this.worksStudent[behavior.form.toolIndex],
+      				  tType: this.tType,
+      				  toolIndex: behavior.form.toolIndex
+      				});
+						}
+					}
         } else {
         }
       }
     },
     updateSplitScreenData(empty = 0) {
-      // return
       return new Promise(resolve => {
-				if(this.userid!==this.courseDetail.userid)return;
+				if(this.userid!==this.courseDetail.userid){
+					if(!this.courseDetail.userid){
+						return setTimeout(()=>{
+							this.updateSplitScreenData(empty)
+						},2000)
+					}
+					return;
+				};
         if (
           this.splitScreenData.uid == this.splitScreenData.myUid &&
           this.splitScreenData.userId == this.userid
@@ -20324,6 +20386,7 @@ export default {
     },
     studentFreePreview(flag) {
       this.IsLookOpen = flag;
+			this.followingMode(flag)
       this.updateLookOpen();
     },
     OpenJobPreview(flag) {

+ 85 - 21
src/components/studyStudent.vue

@@ -965,6 +965,10 @@
                               @click="addTools(tooC, toolIndex, taskCount)"
                             />
                             <div style="margin: 5px 0">思维网格</div>
+														<div class="upload_toolBtn" v-if="tType==='1' && worksStudent[toolIndex].length>0" @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,7)"
+                              style="position: absolute;right: 33px;top: -30px;">
+                              作业详细
+                            </div>
                           </div>
                           <div v-if="tooC == 8">
                             <img
@@ -1011,7 +1015,7 @@
                             />
                             <div style="margin: 5px 0">选择题</div>
 
-														<div class="upload_toolBtn" v-if="tType==='1'" @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount)"
+														<div class="upload_toolBtn" v-if="tType==='1'" @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,45)"
                               style="position: absolute;right: 33px;top: -30px;">
                               作业详细
                             </div>
@@ -1039,6 +1043,10 @@
                               alt
                             />
                             <div style="margin: 5px 0">问答</div>
+														<div class="upload_toolBtn" v-if="tType==='1' && worksStudent[toolIndex].length>0" @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,15)"
+                              style="position: absolute;right: 135px;top: -45px;height: 40px;display: flex;align-items: center;justify-content: center;background: #409EFF;">
+                              作业详细
+                            </div>
                           </div>
                           <div v-if="tooC == 26">
                             <img
@@ -1173,6 +1181,10 @@
                               alt
                             />
                             <div style="margin: 5px 0">个人评价</div>
+														<div class="upload_toolBtn" v-if="tType==='1' && worksStudent[toolIndex].length>0" @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,40)"
+                              style="position: absolute;right: 33px;top: -30px;">
+                              作业详细
+                            </div>
                           </div>
                           <div v-if="tooC == 41">
                             <img
@@ -1181,6 +1193,10 @@
                               alt
                             />
                             <div style="margin: 5px 0">选择匹配</div>
+														<div class="upload_toolBtn" v-if="tType==='1' && worksStudent[toolIndex].length>0" @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,41)"
+                              style="position: absolute;right: 33px;top: -30px;">
+                              作业详细
+                            </div>
                           </div>
                           <div v-if="tooC == 44">
                             <img
@@ -1197,6 +1213,10 @@
                               alt
                             />
                             <div style="margin: 5px 0">排序</div>
+														<div class="upload_toolBtn" v-if="tType==='1' && worksStudent[toolIndex].length>0" @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,47)"
+                              style="position: absolute;right: 33px;top: -30px;">
+                              作业详细
+                            </div>
                           </div>
                           <div v-if="tooC == 48">
                             <img
@@ -1205,6 +1225,10 @@
                               alt
                             />
                             <div style="margin: 5px 0">表格</div>
+														<div class="upload_toolBtn" v-if="tType==='1' && worksStudent[toolIndex].length>0" @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,48)"
+                              style="position: absolute;right: 33px;top: -30px;">
+                              作业详细
+                            </div>
                           </div>
                           <div v-if="tooC == 52">
                             <img
@@ -1213,6 +1237,10 @@
                               alt
                             />
                             <div style="margin: 5px 0">文档</div>
+														<div class="upload_toolBtn" v-if="tType==='1' && worksStudent[toolIndex].length>0" @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,52)"
+                              style="position: absolute;right: 33px;top: -30px;">
+                              作业详细
+                            </div>
                           </div>
                           <div v-if="tooC == 49">
                             <img
@@ -9954,7 +9982,7 @@
               'https://view.officeapps.live.com/op/view.aspx?src='
             ) != -1
           "
-          style="width: 95%; margin: 0 auto"
+          style="width: 100%;height:100%; margin: 0 auto"
         >
           <iframe
             style="width: 100%; height: 100%; border: none"
@@ -9979,6 +10007,7 @@
           style="
             box-shadow: 0 0 6px 1px #f2f2f2;
             width: 100%;
+						height:100%;
             background: #f1f1f1;
           "
         >
@@ -11894,7 +11923,7 @@
     :scoreDetail="scoreDetail"
     @selectSWorks="selectSWorks" 
     @selectStudent="selectStudent"></checkEnglishVoice>
-		<statisticalAnalysis ref="statisticalAnalysisRef" @refresh="statisticalAnalysisRefresh"/>
+		<statisticalAnalysis ref="statisticalAnalysisRef" @refresh="statisticalAnalysisRefresh"  @changeSplitScreenBehavior="changeSplitScreenBehavior"  :courseType="courseType" :taskCount="taskCount"/>
 		<choseWorksDetailDialog
       ref="choseWorksDetailDialogRef"
       :worksStudentData="this.worksStudent"
@@ -11904,6 +11933,8 @@
       :taskCount="taskCount"
       @deleteWorks="deleteWorks"
       @openTools="openTools"
+			@openWord="openWord"
+			@openScore="openScore"
       @changeSplitScreenBehavior="changeSplitScreenBehavior"
     />
   </div>
@@ -17288,7 +17319,7 @@ export default {
             this.getCourseState(1);
           }
 
-          if ((this.IsFollow && this.tType == 2) || this.splitScreenData.isOpen) {
+          if ((this.IsFollow && this.tType == 2) || (this.splitScreenData.isOpen && this.splitScreenData.uid != this.splitScreenData.myUid)) {
             this.setContent2(false);
             let _followC = res.data[0][0].followC.split("-");
             if (
@@ -20090,17 +20121,16 @@ export default {
     setClassRoomHelperWidth(width){
       this.classRoomHelperWidth = width
     },
-		openStatisticalAnalysis(tooC,toolIndex,taskCount){
-			this.$refs.statisticalAnalysisRef.open({worksStudent:this.worksStudent[toolIndex],tType:this.tType,toolIndex:toolIndex})
-		},
-    openChoseWorksDetailDialog(tooC, toolIndex, taskCount) {
+		openChoseWorksDetailDialog(tooC, toolIndex, taskCount,tooc) {
       this.$refs.choseWorksDetailDialogRef.open({
+				toolType:tooc,
         tType: this.tType,
         toolIndex: toolIndex
       });
       this.changeSplitScreenBehavior({
         code: 1,
         form: {
+					toolType:tooc,
           toolIndex: toolIndex,
           courseType: this.courseType,
           taskCount: this.taskCount,
@@ -20113,6 +20143,16 @@ export default {
         worksStudent: this.worksStudent[toolIndex],
         tType: this.tType,
         toolIndex: toolIndex
+      });
+			this.changeSplitScreenBehavior({
+        code: 2,
+        form: {
+					toolType:4,
+					courseType: this.courseType,
+          taskCount: this.taskCount,
+          toolIndex: toolIndex,
+          type: 0
+        }
       });
     },
     statisticalAnalysisRefresh(toolIndex) {
@@ -20122,7 +20162,7 @@ export default {
         toolIndex: toolIndex
       });
     },
-    async splitScreenBehavior(type = 0) {
+		async splitScreenBehavior(type = 0) {
       // return;
       if (this.splitScreenData.loading)
         return this.$message.info("操作过快,请稍等");
@@ -20136,7 +20176,7 @@ export default {
         this.$message.success("已关闭分屏模式");
         this.studentFreePreview(false);
         this.OpenJobPreview(false);
-        this.followingMode(false);
+        // this.followingMode(false);
       } else if (type == 1) {
         //开启分屏
         this.splitScreenData.isOpen = true;
@@ -20149,7 +20189,7 @@ export default {
           this.$message.success("已开启分屏");
           this.studentFreePreview(true);
           this.OpenJobPreview(true);
-          this.followingMode(true);
+          // this.followingMode(true);
         } else {
           this.splitScreenData.isOpen = false;
           this.splitScreenData.userId = "";
@@ -20216,7 +20256,7 @@ export default {
           console.log("获取分屏数出错:", e);
         });
     },
-    doSplitScreenBehavior() {
+		doSplitScreenBehavior() {
       if (
         this.splitScreenData.isOpen &&
         this.splitScreenData.uid != this.splitScreenData.myUid
@@ -20229,31 +20269,52 @@ export default {
 						if(this.$refs.choseWorksDetailDialogRef.show){
 							this.$refs.choseWorksDetailDialogRef.close();
 						}
+						if(this.$refs.statisticalAnalysisRef.show){
+							this.$refs.statisticalAnalysisRef.close();
+						}
           } else if (behavior.code === 0) {
             //开启内容列表弹窗
             this.checkFileFull1(behavior.form[0], behavior.form[1]);
           } else if (behavior.code === 1) {
             //关于选择题的作业详细的操作
             // toolIndex:toolIndex,courseType:this.courseType,taskCount:this.taskCount,type:0
-            this.courseType = behavior.form.courseType;
-            this.taskCount = behavior.form.taskCount;
+            if(this.courseType!==behavior.form.courseType || this.taskCount!==behavior.form.taskCount){
+							this.courseType = behavior.form.courseType;
+            	this.taskCount = behavior.form.taskCount;
+						}
             this.$nextTick(() => {
-              if (this.$refs.choseWorksDetailDialogRef.show) {
+							if (this.$refs.choseWorksDetailDialogRef.show) {
                 //已经打开了
-								this.$refs.choseWorksDetailDialogRef.splitScreenFn({type:behavior.form.type,showStatisticsType:behavior.form.showStatisticsType})
+								this.$refs.choseWorksDetailDialogRef.splitScreenFn({toolType:behavior.form.toolType,type:behavior.form.type,showStatisticsType:behavior.form.showStatisticsType})
               } else {
-								this.$refs.choseWorksDetailDialogRef.open({toolIndex:behavior.form.toolIndex,tType: this.tType,})
+								this.$refs.choseWorksDetailDialogRef.open({toolType:behavior.form.toolType,toolIndex:behavior.form.toolIndex,tType: this.tType,})
               }
             });
-          }
+          }else if(behavior.code === 2){
+						if(this.$refs.statisticalAnalysisRef.show){
+							this.$refs.statisticalAnalysisRef.splitScreenFn({type:behavior.form.type})
+						}else{
+							this.$refs.statisticalAnalysisRef.open({
+      				  worksStudent: this.worksStudent[behavior.form.toolIndex],
+      				  tType: this.tType,
+      				  toolIndex: behavior.form.toolIndex
+      				});
+						}
+					}
         } else {
         }
       }
     },
     updateSplitScreenData(empty = 0) {
-      // return
       return new Promise(resolve => {
-				if(this.userid!==this.courseDetail.userid)return;
+				if(this.userid!==this.courseDetail.userid){
+					if(!this.courseDetail.userid){
+						return setTimeout(()=>{
+							this.updateSplitScreenData(empty)
+						},2000)
+					}
+					return;
+				};
         if (
           this.splitScreenData.uid == this.splitScreenData.myUid &&
           this.splitScreenData.userId == this.userid
@@ -20284,6 +20345,7 @@ export default {
               resoleve(0);
             });
         } else if (empty == 2 && this.tType == 1) {
+					console.log("清空清空清空清空")
           let params = [
             {
               cid: this.id,
@@ -20314,6 +20376,7 @@ export default {
     },
     studentFreePreview(flag) {
       this.IsLookOpen = flag;
+			this.followingMode(flag)
       this.updateLookOpen();
     },
     OpenJobPreview(flag) {
@@ -24501,7 +24564,8 @@ ol {
   height: 100%;
 }
 .navItemList > div:first-child {
-  min-width: 60px;
+  /* min-width: 60px; */
+	min-width:fit-content;
 }
 .navItemList > div:last-child {
   width: calc(100% - 80px);

File diff suppressed because it is too large
+ 1054 - 5
src/components/works.vue


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