SanHQin 3 months ago
parent
commit
ccd243bc2d

+ 193 - 30
src/components/components/choseWorksDetailDialog.vue

@@ -31,34 +31,13 @@
               <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"
-                      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>
+            
+										<img :src="toolList.find(item=>item.value===toolType).img" alt/>
 
-										<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>
+										<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>
@@ -162,7 +141,61 @@
 
 									</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>
+
             </div>
             <div class="s_b_m_b_item" v-if="showType === 1 && dialogTypeList[1].showType.includes(toolType)">
 
@@ -237,7 +270,7 @@
               </div>
             </div>
             <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_noSubmit"  v-if="[45,15,41,47].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">
@@ -276,7 +309,7 @@
                   >
                 </div>
               </div>
-              <div class="s_b_b_i_worksPreview"  v-if="[45,15,41].includes(toolType)">
+              <div class="s_b_b_i_worksPreview"  v-if="[45,15,41,47].includes(toolType)">
                 <div class="s_b_b_i_ws_top">
                   <div class="s_b_b_i_ws_t_left">
                     <div
@@ -320,6 +353,8 @@
 
 											<div class="s_b_b_i_ws_b_i_s_i_t_t_answer">
 												
+
+
 												<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)">
@@ -331,6 +366,10 @@
 													</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>
+
 												<!-- <span>{{ worksCheckAnswer(item) }}</span> -->
 											</div>
                     </div>
@@ -404,10 +443,27 @@ export default {
         worksPreview: false
       },
       dialogTypeList: [
-        { label: "作业详细", value: 0,showType:[45,15,41], loading: false },
+        { label: "作业详细", value: 0,showType:[45,15,41,47], loading: false },
         { label: "题目统计", value: 1,showType:[45], loading: false },
-        { label: "学生统计", value: 2,showType:[45,15,41], loading: false }
+        { label: "学生统计", value: 2,showType:[45,15,41,47], loading: false }
       ],
+			// toolTypeList:{
+			// 	41:"选择匹配",
+			// 	45:"选择题",
+			// 	15:"问答题",
+			// 	47:"排序",
+			// },
+			// toolImageList:{
+			// 	15:require("../../assets/icon/thirdToolList/answer.png")
+			// 	41:require("../../assets/icon/thirdToolList/select.png"),
+			// 	47:require("../../assets/icon/fourthToolList/conSentences.png")
+			// },
+			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")}
+			],
 			statisticsTypeList:[
 				{label:"准确率",value:0},
 				{label:"选项汇总",value:1}
@@ -862,12 +918,19 @@ 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;
 }
 
+.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;
@@ -1290,7 +1353,107 @@ export default {
 	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;
+}
 
 /* F9FAFB */
 

+ 9 - 1
src/components/easy2/studyStudent.vue

@@ -1285,6 +1285,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
@@ -1301,6 +1305,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
@@ -24611,7 +24619,7 @@ export default {
           console.log("获取分屏数出错:", e);
         });
     },
-    doSplitScreenBehavior() {
+		doSplitScreenBehavior() {
       if (
         this.splitScreenData.isOpen &&
         this.splitScreenData.uid != this.splitScreenData.myUid

+ 6 - 2
src/components/easy3/studyStudent.vue

@@ -1216,10 +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)"
+														<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>
                           <div v-if="tooC == 44">
                             <img
@@ -1236,6 +1236,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

+ 8 - 4
src/components/studyStudent.vue

@@ -1185,6 +1185,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
@@ -20095,16 +20099,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,
@@ -20230,7 +20234,7 @@ export default {
           console.log("获取分屏数出错:", e);
         });
     },
-    doSplitScreenBehavior() {
+		doSplitScreenBehavior() {
       if (
         this.splitScreenData.isOpen &&
         this.splitScreenData.uid != this.splitScreenData.myUid