|
@@ -13,14 +13,14 @@
|
|
|
<div class="s_b_main">
|
|
|
<div class="s_b_m_top">
|
|
|
<div class="s_b_m_t_left">
|
|
|
- <span
|
|
|
- v-for="item in dialogTypeList"
|
|
|
- :key="item.value"
|
|
|
- :class="{ s_b_m_t_l_active: showType === item.value }"
|
|
|
- @click="changeShowType(item.value)"
|
|
|
- v-if="item.showType.includes(toolType)"
|
|
|
- >{{ (toolType == 15 && item.value ==1)? "词云" : item.label }}</span
|
|
|
- >
|
|
|
+ <div class="s_b_m_t_leftSp" :style="{'margin-right': item.showType.includes(toolType) ? '40px' : 0}" v-for="item in dialogTypeList" :key="item.value">
|
|
|
+ <span
|
|
|
+ v-if="item.showType.includes(toolType)"
|
|
|
+ :class="{ s_b_m_t_l_active: showType === item.value }"
|
|
|
+ @click="changeShowType(item.value)"
|
|
|
+ >{{ (toolType == 15 && item.value ==1)? "词云" : item.label }}</span
|
|
|
+ >
|
|
|
+ </div>
|
|
|
</div>
|
|
|
<div class="s_b_m_t_right">
|
|
|
<span @click="close">关闭</span>
|
|
@@ -188,7 +188,7 @@
|
|
|
<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">
|
|
|
+ <div class="sm_right_item" v-for="(item,index) in testData.selectJson.answer" :key="index + 'q1'">
|
|
|
<el-select v-model="radioS[index]" placeholder="请选择">
|
|
|
<el-option
|
|
|
v-for="(item2,index2) in testData.selectJson.select"
|
|
@@ -1009,8 +1009,11 @@
|
|
|
<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 v-if="accuracyRateData" class="s_b_m_b_i_e_charts_bottom">
|
|
|
+ <span
|
|
|
+ v-for="(item,index) in accuracyRateData.series[0].data" :key="index+'q2'" @click="jumpTo(index)" >
|
|
|
+ 第{{ index+1 }}题 {{ item }}%
|
|
|
+ </span>
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
@@ -1019,6 +1022,7 @@
|
|
|
class="s_b_m_b_i_m_choseList"
|
|
|
:id="index+'JP'"
|
|
|
v-for="(item, index) in tableData"
|
|
|
+ :key="index + 'q3'"
|
|
|
>
|
|
|
<div class="s_b_m_b_i_m_c_title">
|
|
|
<span>{{ index + 1 }}</span>
|
|
@@ -1052,8 +1056,9 @@
|
|
|
<el-table :data="item.optionsList" style="width: 800px">
|
|
|
<el-table-column prop="label" label="选项">
|
|
|
<template slot-scope="scope">
|
|
|
- <span>{{ optionTypeList[scope.$index] }}</span>
|
|
|
- <img @click.stop="$hevueImgPreview(scope.row.label.src)" class="tableImage" v-if="scope.row.label.imgType && scope.row.label.imgType === 1" :src="scope.row.label.src"></img>
|
|
|
+ <span>{{ optionTypeList[scope.$index] }}.</span>
|
|
|
+ <img @click.stop="$hevueImgPreview(scope.row.label.src)" class="tableImage"
|
|
|
+ v-if="scope.row.label.imgType && scope.row.label.imgType === 1" :src="scope.row.label.src"/>
|
|
|
<span v-else>{{ scope.row.label }}</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
@@ -1105,13 +1110,14 @@
|
|
|
<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_b_noSubmitItem"
|
|
|
- v-if="noWorksStudent.length > 0"
|
|
|
- v-for="item in noWorksStudent"
|
|
|
- :key="item.userid"
|
|
|
- >
|
|
|
- {{ item.student }}
|
|
|
+ <div style="display: flex;width: 100%;flex-wrap: wrap;" v-if="noWorksStudent.length > 0">
|
|
|
+ <div
|
|
|
+ class="s_b_b_i_ws_b_noSubmitItem"
|
|
|
+ v-for="item in noWorksStudent"
|
|
|
+ :key="item.userid"
|
|
|
+ >
|
|
|
+ {{ item.student }}
|
|
|
+ </div>
|
|
|
</div>
|
|
|
<span v-if="noWorksStudent.length === 0"
|
|
|
>无未提交学生...</span
|
|
@@ -1146,17 +1152,17 @@
|
|
|
<div class="s_b_b_i_ws_t_right"></div>
|
|
|
</div>
|
|
|
<div class="s_b_b_i_ws_bottom" v-show="!foldList.worksPreview">
|
|
|
- <div
|
|
|
- class="s_b_b_i_ws_b_isSubmitItem"
|
|
|
- v-if="worksStudent.length > 0"
|
|
|
- v-for="item in worksStudent"
|
|
|
- :key="item.userid"
|
|
|
- >
|
|
|
+ <div style="display: flex;width: 100%;flex-wrap: wrap;" v-if="worksStudent.length > 0">
|
|
|
<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,72].includes(toolType)?'0px':'10px'};`"
|
|
|
- @click="StudentWork(item)"
|
|
|
- >
|
|
|
+ class="s_b_b_i_ws_b_isSubmitItem"
|
|
|
+ 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,72].includes(toolType)?'0px':'10px'};`"
|
|
|
+ @click="StudentWork(item)"
|
|
|
+ >
|
|
|
|
|
|
<!-- @click="openTools(item)" -->
|
|
|
<div
|
|
@@ -1175,7 +1181,7 @@
|
|
|
<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 v-if="answer.type===1" v-for="(item2,indP) in answer.label" :key="indP +'indP'">
|
|
|
<span :class="`${item2.right?'answerRight':'answerWrong'}`">{{ item2.label }}</span>
|
|
|
</span>
|
|
|
<span v-if="answer.type===2" class="answer2" :class="`${answer.isRight?'answerRightLine':'answerWrongLine'}`" v-for="item3 in answer.label" :key="answer.index+'-'+item.userid+'-2'">
|
|
@@ -1203,16 +1209,16 @@
|
|
|
<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="answerSort" v-if="[47].includes(toolType)">
|
|
|
+ <span v-for="(item2,index2) in JSON.parse(item.works)" :key="index2+'index2P'">
|
|
|
+ <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="answerEvaluation" v-if="[40].includes(toolType)">
|
|
|
+ <el-rate v-for="(item2,index2) in JSON.parse(item.works).eStar" :key="index2+'3l'" :value="item2" disabled :max="testData.rateJson[index2].score"></el-rate>
|
|
|
+ <span>{{ JSON.parse(item.works).eBzText }}</span>
|
|
|
+ </div>
|
|
|
|
|
|
<div class="imageWorks" v-if="[7,1,3].includes(toolType)">
|
|
|
<img :src="item.works" alt="" @click.stop="$hevueImgPreview(item.works)">
|
|
@@ -1243,6 +1249,8 @@
|
|
|
<span>{{ item.time }}</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
+ </div>
|
|
|
+
|
|
|
<span v-if="worksStudent.length === 0">暂无提交学生...</span>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -3062,11 +3070,10 @@ export default {
|
|
|
white-space: nowrap;
|
|
|
}
|
|
|
|
|
|
-.s_b_m_t_left > span {
|
|
|
+.s_b_m_t_left > .s_b_m_t_leftSp {
|
|
|
font-size: 20px;
|
|
|
/* font-weight: bold; */
|
|
|
cursor: pointer;
|
|
|
- margin-right: 40px;
|
|
|
position: relative;
|
|
|
transition: 0.3s;
|
|
|
}
|
|
@@ -3562,6 +3569,7 @@ export default {
|
|
|
}
|
|
|
|
|
|
.s_b_m_b_i_e_charts_bottom>span{
|
|
|
+ cursor: pointer;
|
|
|
padding: 10px 15px;
|
|
|
background-color: #F3F7FD;
|
|
|
border-radius: 4px;
|