Browse Source

更改投影

SanHQin 2 months ago
parent
commit
d35d38341f
1 changed files with 49 additions and 46 deletions
  1. 49 46
      src/components/components/choseWorksDetailDialog.vue

+ 49 - 46
src/components/components/choseWorksDetailDialog.vue

@@ -31,7 +31,7 @@
               <div class="s_b_m_b_i_main">
                 <div class="s_b_m_b_i_m_title" v-if="testData">
                   <div>
-            
+
 										<img :src="toolList.find(item=>item.value===toolType).img" alt/>
 
 										<span>{{ toolList.find(item=>item.value===toolType).label }}</span>
@@ -74,7 +74,7 @@
                   <div
                     class="s_b_m_b_i_m_c_options"
                     v-for="(item2, index2) in item.checkList"
-                  
+
                   >
                   <!-- :class="{
                       s_b_m_b_i_m_c_o_right:
@@ -92,7 +92,7 @@
                           <!-- v-if="testJson.anwer[index] == index2" -->
                       </span>
                       <span class="s_b_m_b_i_m_c_o_btn2" v-else>
-                      
+
                           <!-- <span v-if="testJson.anwer[index].includes(index2)"> -->
                             <!-- <svg
                               width="8"
@@ -109,7 +109,7 @@
                               />
                             </svg> -->
                           <!-- </span> -->
-                        
+
                       </span>
                     </div>
                     <span>
@@ -124,7 +124,7 @@
                   </div>
                 </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">
@@ -141,7 +141,7 @@
                         fill="#3681FC"
                       />
                     </svg> -->
-                
+
                     <span>提问:{{ testData.answerQ }}</span>
                   </div>
                   <!-- v-if="testJsonCopy && testJsonCopy.answer"  -->
@@ -189,7 +189,7 @@
                     </div>
 									</div>
 								</div>
-                
+
                 <div v-if="[40].includes(toolType)" class="s_b_m_b_i_m_evaluation">
                   <div class="middleBox">
                     <div class="pfBox" v-for="(e, eIndex) in testData.rateJson" :key="eIndex">
@@ -250,14 +250,14 @@
                       <span class="e_i_c_detail">{{ item.detail?item.detail:"无内容" }}</span>
                       <el-rate :value="testJson.eStar[index]" disabled :max="item.score"></el-rate>
                     </div>
-									
+
 									</div>
 									<span v-if="testJson" style="padding: 10px;">{{ testJson.eBzText }}</span>
 								</div> -->
                 </div>
                 <div v-if="[48].includes(toolType)" class="s_b_m_b_i_m_evaluation">
                   <el-form>
-                    <div  class="cont" v-if="testData && testData.tableJson && testData.tableJson.text" v-html="testData.tableJson.text"></div>                
+                    <div  class="cont" v-if="testData && testData.tableJson && testData.tableJson.text" v-html="testData.tableJson.text"></div>
                   </el-form>
                 </div>
                 <div v-if="[52].includes(toolType)" class="s_b_m_b_i_m_evaluation">
@@ -281,7 +281,7 @@
                         v-for="(g, gindex) in testData.groupJson.group"
                         :key="gindex"
                       >
- 
+
                       <div class="g_d_group_chair">
                         <div v-if="testData.groupJson.number > 1">
                           <span class="isChair">
@@ -365,7 +365,7 @@
                       </div>
                     </div>
                   </div>
-               
+
                 </div>
               </div>
             </div>
@@ -376,12 +376,12 @@
 								<div class="s_b_m_b_i_e_title">
 									<span v-for="item in statisticsTypeList" :key="item.value" :class="{'s_b_m_b_i_e_t_active':showStatisticsType===item.value}" @click="changeShowStatisticsType(item.value)">{{item.label}}</span>
 								</div>
-								
+
 								<div class="s_b_m_b_i_e_charts">
 									<eChartsView1 v-if="showStatisticsType===0 && accuracyRateData" :data="accuracyRateData"/>
 									<eChartsView2 v-if="showStatisticsType===1 && optionSummaryData" :data="optionSummaryData"/>
 								</div>
-								
+
 								<div class="s_b_m_b_i_e_charts_bottom">
 									<span style="cursor: pointer;" v-if="accuracyRateData" @click="jumpTo(index)" v-for="(item,index) in accuracyRateData.series[0].data">第{{ index+1 }}题 {{ item }}%</span>
 								</div>
@@ -447,7 +447,7 @@
 							<div v-if="toolType == 15">
                 <choseWordCloud :cloudData="cy" :dialogVisibleWordCloud="dialogVisibleWordCloud"></choseWordCloud>
               </div>
-              
+
 
             </div>
             <div class="s_b_m_b_item s_b_m_b_worksSubmit" v-if="showType === 2 && dialogTypeList[2].showType.includes(toolType)">
@@ -524,9 +524,9 @@
                     v-for="item in worksStudent"
                     :key="item.userid"
                   >
-                    <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'};`"  
+                    <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="StudentWork(item)"
                       >
 
@@ -541,7 +541,7 @@
                       </div>
 
 											<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>
@@ -582,7 +582,7 @@
 													<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>
@@ -607,18 +607,20 @@
         </div>
       </div>
     </el-dialog>
+    <studentWorkPreviewDialog ref="studentWorkPreviewDialogRef"/>
   </div>
 </template>
 
 <script>
 import eChartsView from './eChartsView.vue'
 import choseWordCloud from './choseWordCloud.vue'
-
+import studentWorkPreviewDialog from './studentWorkPreviewDialog.vue';
 export default {
 	components:{
 		eChartsView1:eChartsView,
 		eChartsView2:eChartsView,
-    choseWordCloud
+    choseWordCloud,
+    studentWorkPreviewDialog
 	},
   props: {
     worksStudentData: {
@@ -703,7 +705,7 @@ export default {
 
         isWorksData = this.worksStudent.map(i => JSON.parse(i.works)[0].anwer);
         console.log('worksJson',worksJson);
-        
+
         pushData = worksJson.map((item, index) => {
           return {
             title: item.teststitle,
@@ -763,14 +765,14 @@ export default {
     		    {
     		      name: '准确率',
     		      type: 'bar',
-    		      data: [], 
+    		      data: [],
     		      itemStyle: {
     		        color: '#5c87ef'  // 设置条形图的颜色
     		      }
     		    }
     		  ],
     		  // 设置条形图的间隔
-    		  barCategoryGap: '50%', 
+    		  barCategoryGap: '50%',
     		}
 
 				this.tableData.forEach((item,index)=>{
@@ -907,9 +909,9 @@ export default {
             num++
           }
         })
-        
 
-        
+
+
 				// let _result = "";
 				// if([15].includes(this.toolType)){
 				// 	let _work = data.works?JSON.parse(data.works)[0]:null;
@@ -963,7 +965,7 @@ export default {
       a.scrollIntoView({
         behavior: "smooth" // 平滑滚动效果
       });
-      
+
     },
     open(data) {
       if (this.show) return;
@@ -979,23 +981,24 @@ export default {
     openWordCloud() {
       this.dialogVisibleWordCloud = true
     },
-    StudentWork(val){
-
-      if (this.toolType == 41) {
-        this.testJsonCopy=val.works.split(',')
-      }else if(this.toolType == 52 ) {
-        return this.openTools(val)
-      }else if(this.toolType == 48) {
-        return this.openTools(val)
-        return this.openTools(JSON.parse(val))
-      }else if(this.toolType == 40){
-        this.testJsonCopy=JSON.parse(val.works)
-      }else{
-        this.testJsonCopy=JSON.parse(val.works)[0]
-      }
+    StudentWork(item){
+
+      this.$refs.studentWorkPreviewDialogRef.open({work:item,tool:this.toolType});
+      // if (this.toolType == 41) {
+      //   this.testJsonCopy=val.works.split(',')
+      // }else if(this.toolType == 52 ) {
+      //   return this.openTools(val)
+      // }else if(this.toolType == 48) {
+      //   return this.openTools(val)
+      //   return this.openTools(JSON.parse(val))
+      // }else if(this.toolType == 40){
+      //   this.testJsonCopy=JSON.parse(val.works)
+      // }else{
+      //   this.testJsonCopy=JSON.parse(val.works)[0]
+      // }
 
       // console.log('this.testJson',JSON.parse(JSON.stringify(this.testJsonCopy)));
-      
+
       // this.showType = 0;
 			// this.$emit("changeSplitScreenBehavior",{code: 1,
       //   form: {
@@ -1008,7 +1011,7 @@ export default {
 			// 		lookWorks:val.wid
       //   }})
     },
-    setData() {      
+    setData() {
       if (this.show && this.toolIndex !== null) {
         this.worksStudent = JSON.parse(
           JSON.stringify(this.worksStudentData[this.toolIndex])
@@ -1061,7 +1064,7 @@ export default {
           type: this.showType,
 					showStatisticsType:this.showStatisticsType,
         }})
-       
+
     },
     deleteWorks(wid) {
       this.$emit("deleteWorks", wid);
@@ -1101,7 +1104,7 @@ export default {
         let work = this.worksStudent.find(e=>e.wid==data.lookWorks);
         if(work){
           this.StudentWork(work)
-        }     
+        }
 			}
 		}
   }
@@ -1747,7 +1750,7 @@ export default {
 	margin: 2px 4px;
 	display: block;
 	float: left;
-	
+
 }
 
 .s_b_m_b_i_m_sorting{