SanHQin 3 months ago
parent
commit
683d6e3ab7

+ 1 - 1
dist/index.html

@@ -27,7 +27,7 @@
     html,
     body{
       font-family: '黑体';
-    }</style><link href=./static/css/app.216baed224d43380d802e4855048a3b1.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.a1de63061d3b450c2aff.js></script></body></html><script>function stopSafari() {
+    }</style><link href=./static/css/app.630c7e3850f8bc76cdf2f722be61e2a1.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.d579e796ae52f5f0a4e9.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.216baed224d43380d802e4855048a3b1.css


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


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


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


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


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


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


+ 83 - 19
src/components/components/choseWorksDetailDialog.vue

@@ -27,11 +27,12 @@
             </div>
           </div>
           <div class="s_b_m_bottom">
-            <div class="s_b_m_b_item" v-if="showType === 0 && [45].includes(toolType)">
+            <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
+											v-if="[45].includes(toolType)"
                       t="1731461684123"
                       class="icon"
                       viewBox="0 0 1024 1024"
@@ -52,7 +53,10 @@
                         p-id="4454"
                       ></path>
                     </svg>
-                    <span>选择题</span>
+
+										<svg v-if="[15].includes(toolType)" style="padding: 12px;box-sizing: border-box;" class="icon" viewBox="0 0 1024 1024" width="200" height="200"><path d="M464 512a48 48 0 1 0 96 0 48 48 0 0 0-96 0z m200 0a48 48 0 1 0 96 0 48 48 0 0 0-96 0z m-400 0a48 48 0 1 0 96 0 48 48 0 0 0-96 0z m661.184-173.632A448.128 448.128 0 0 0 512 64h-1.984a446.976 446.976 0 0 0-446.08 450.112 449.472 449.472 0 0 0 48.064 199.872v152c0 25.408 20.608 46.016 46.016 46.016h152.064c61.632 31.104 130.56 47.68 199.936 48h2.112c59.84 0 117.952-11.584 172.672-34.304a444.48 444.48 0 0 0 142.784-95.168A447.04 447.04 0 0 0 960 514.048a446.4 446.4 0 0 0-34.816-175.68z m-151.04 438.016A370.048 370.048 0 0 1 512 883.968h-1.728a373.312 373.312 0 0 1-173.056-43.52l-8.384-4.48h-140.8v-140.8l-4.48-8.32a373.376 373.376 0 0 1-43.52-173.12 369.728 369.728 0 0 1 107.52-263.808 369.216 369.216 0 0 1 262.848-109.888h1.728a370.176 370.176 0 0 1 263.168 108.864 370.176 370.176 0 0 1 108.928 264.832 370.56 370.56 0 0 1-110.08 262.656z" fill="#486EFF" p-id="12192"></path></svg>
+                    <span v-if="[45].includes(toolType)">选择题</span>
+                    <span v-if="[15].includes(toolType)">问答题</span>
                   </div>
                   <span v-if="testData.toolDetail">{{ testData.toolDetail }}</span>
                 </div>
@@ -60,6 +64,7 @@
                 <span>题目内容</span>
 
                 <div
+									v-if="[45].includes(toolType)"
                   class="s_b_m_b_i_m_choseList"
                   v-for="(item, index) in testJson"
                 >
@@ -134,9 +139,32 @@
                     </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>
             </div>
-            <div class="s_b_m_b_item" v-if="showType === 1 && [45].includes(toolType)">
+            <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">
@@ -208,8 +236,8 @@
                 </div>
               </div>
             </div>
-            <div class="s_b_m_b_item s_b_m_b_worksSubmit" v-if="showType === 2 && [45].includes(toolType)">
-              <div class="s_b_b_i_noSubmit">
+            <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"  v-if="[45,15,41].includes(toolType)">
                 <div class="s_b_b_i_ws_top">
                   <div class="s_b_b_i_ws_t_left">
                     <div @click="foldList.noSubmit = !foldList.noSubmit">
@@ -234,7 +262,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"
@@ -248,7 +276,7 @@
                   >
                 </div>
               </div>
-              <div class="s_b_b_i_worksPreview">
+              <div class="s_b_b_i_worksPreview"  v-if="[45,15,41].includes(toolType)">
                 <div class="s_b_b_i_ws_top">
                   <div class="s_b_b_i_ws_t_left">
                     <div
@@ -282,7 +310,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].includes(toolType)?'pointer':'default'}`" @click="openTools(item)">
                       <div
                         class="s_b_b_i_ws_b_i_s_i_t_t_delIcon"
                         @click.stop="deleteWorks(item.wid)"
@@ -292,7 +320,9 @@
 
 											<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>
@@ -374,9 +404,9 @@ export default {
         worksPreview: false
       },
       dialogTypeList: [
-        { label: "作业详细", value: 0,showType:[45], loading: false },
+        { label: "作业详细", value: 0,showType:[45,15,41], loading: false },
         { label: "题目统计", value: 1,showType:[45], loading: false },
-        { label: "学生统计", value: 2,showType:[45], loading: false }
+        { label: "学生统计", value: 2,showType:[45,15,41], loading: false }
       ],
 			statisticsTypeList:[
 				{label:"准确率",value:0},
@@ -388,7 +418,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));
@@ -530,7 +560,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;
 
@@ -561,10 +592,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;
 			}
 		}
@@ -665,7 +706,9 @@ 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)
+			}
 		},
 		changeShowStatisticsType(type){
 			this.showStatisticsType = type;
@@ -819,7 +862,7 @@ export default {
   align-items: center;
 }
 
-.s_b_m_b_i_m_title > div > svg {
+.s_b_m_b_i_m_title > div  svg {
   width: 60px;
   height: 60px;
   margin-right: 5px;
@@ -1040,7 +1083,6 @@ export default {
     #e3eeff 100%
   );
   position: relative;
-	cursor: pointer;
 	overflow: auto;
 }
 
@@ -1226,6 +1268,28 @@ 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;
+}
+
 
 
 /* F9FAFB */

+ 19 - 5
src/components/easy2/studyStudent.vue

@@ -1082,7 +1082,8 @@
                                 openStatisticalAnalysis(
                                   tooC,
                                   toolIndex,
-                                  taskCount
+                                  taskCount,
+																	45
                                 )
                               "
                               style="position: absolute;right: 33px;top: -30px;"
@@ -1138,6 +1139,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
@@ -24512,7 +24517,7 @@ export default {
         toolIndex: toolIndex
       });
     },
-    async splitScreenBehavior(type = 0) {
+		async splitScreenBehavior(type = 0) {
       // return;
       if (this.splitScreenData.loading)
         return this.$message.info("操作过快,请稍等");
@@ -24526,7 +24531,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;
@@ -24539,7 +24544,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 = "";
@@ -24658,7 +24663,14 @@ export default {
     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
@@ -24689,6 +24701,7 @@ export default {
               resoleve(0);
             });
         } else if (empty == 2 && this.tType == 1) {
+					console.log("清空清空清空清空")
           let params = [
             {
               cid: this.id,
@@ -24719,6 +24732,7 @@ export default {
     },
     studentFreePreview(flag) {
       this.IsLookOpen = flag;
+			this.followingMode(flag)
       this.updateLookOpen();
     },
     OpenJobPreview(flag) {

+ 24 - 8
src/components/easy3/studyStudent.vue

@@ -1041,7 +1041,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 +1069,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
@@ -1211,6 +1216,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
@@ -20101,16 +20110,16 @@ export default {
 		setClassRoomHelperWidth(width){
       this.classRoomHelperWidth = width
     },
-		openChoseWorksDetailDialog(tooC, toolIndex, taskCount) {
+		openChoseWorksDetailDialog(tooC, toolIndex, taskCount,tooc) {
       this.$refs.choseWorksDetailDialogRef.open({
-				toolType:45,
+				toolType:tooc,
         tType: this.tType,
         toolIndex: toolIndex
       });
       this.changeSplitScreenBehavior({
         code: 1,
         form: {
-					toolType:45,
+					toolType:tooc,
           toolIndex: toolIndex,
           courseType: this.courseType,
           taskCount: this.taskCount,
@@ -20156,7 +20165,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;
@@ -20169,7 +20178,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 = "";
@@ -20286,9 +20295,15 @@ export default {
       }
     },
     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
@@ -20349,6 +20364,7 @@ export default {
     },
     studentFreePreview(flag) {
       this.IsLookOpen = flag;
+			this.followingMode(flag)
       this.updateLookOpen();
     },
     OpenJobPreview(flag) {

+ 18 - 6
src/components/studyStudent.vue

@@ -1011,7 +1011,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 +1039,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
@@ -20132,7 +20136,7 @@ export default {
         toolIndex: toolIndex
       });
     },
-    async splitScreenBehavior(type = 0) {
+		async splitScreenBehavior(type = 0) {
       // return;
       if (this.splitScreenData.loading)
         return this.$message.info("操作过快,请稍等");
@@ -20146,7 +20150,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 +20163,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 = "";
@@ -20276,9 +20280,15 @@ export default {
       }
     },
     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
@@ -20309,6 +20319,7 @@ export default {
               resoleve(0);
             });
         } else if (empty == 2 && this.tType == 1) {
+					console.log("清空清空清空清空")
           let params = [
             {
               cid: this.id,
@@ -20339,6 +20350,7 @@ export default {
     },
     studentFreePreview(flag) {
       this.IsLookOpen = flag;
+			this.followingMode(flag)
       this.updateLookOpen();
     },
     OpenJobPreview(flag) {

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