fix:修改题目显示顺序及重合问题

This commit is contained in:
wyx
2023-01-07 20:23:24 +08:00
parent 011c05ca70
commit 6d64dcb98c

View File

@@ -29,7 +29,7 @@
v-for="(values, index) in questionListArr"
:key="index">
<!-- 单项选择 -->
<div v-if="values[0].questionType==1" class="assessbox" style="margin-top: 30px">
<div v-if="values.questionType==1" class="assessbox" style="margin-top: 30px">
<div class="box1">
<div class="asstype">评估类型</div>
<div class="typename">单选</div>
@@ -37,18 +37,18 @@
<div class="box1" style="margin-left: 64px">
<div class="asstype">题干</div>
<div style="color: rgba(153, 153, 153, 1); font-size: 14px">
{{values[0]?.singleStemName}}
{{values?.singleStemName}}
</div>
</div>
<div v-for="(iitem,indexs) in values" :key="indexs">
<div>
<div class="box1" style="margin-left: 55px; margin-top: 20px">
<div class="asstype">选择{{indexs+1}}</div>
<div class="asstype">选择1</div>
<div style="display:flex;justify-content:center;align-items:center;">
<div v-if="iitem.select" style="display:flex;justify-content:center;align-items:center;width:16px;height:16px;border-radius:8px;border:1px solid rgba(151, 151, 151, 0.29);margin-right: 8px;">
<div v-if="values.select" style="display:flex;justify-content:center;align-items:center;width:16px;height:16px;border-radius:8px;border:1px solid rgba(151, 151, 151, 0.29);margin-right: 8px;">
<div style="width:8px;height:8px;border-radius:4px;background-color:#409eff;"></div>
</div>
<div v-else style="width:16px;height:16px;border-radius:8px;border:1px solid rgba(151, 151, 151, 0.29);margin-right: 8px;"></div>
{{iitem.singleOptionName}}
{{values.singleOptionName}}
</div>
<!-- <a-radio :value="indexs" defaultValue>{{iitem.singleOptionName}}</a-radio> -->
</div>
@@ -56,7 +56,7 @@
<div style="margin-bottom:30px;"></div>
</div>
<!-- 多项选择 -->
<div v-if="values[0].questionType==2" class="assessbox" style="margin-top: 30px">
<div v-if="values.questionType==2" class="assessbox" style="margin-top: 30px">
<div class="box1">
<div class="asstype">评估类型</div>
<div class="typename">多选</div>
@@ -64,18 +64,18 @@
<div class="box1" style="margin-left: 64px">
<div class="asstype">题干</div>
<div style="color: rgba(153, 153, 153, 1); font-size: 14px">
{{values[0]?.multipleStemName}}
{{values?.multipleStemName}}
</div>
</div>
<div v-for="(iitem,indexs) in values" :key="indexs">
<div>
<div class="box1" style="margin-left: 55px; margin-top: 20px">
<div class="asstype">选择{{indexs+1}}</div>
<div class="asstype">选择1</div>
<div style="display:flex;justify-content:center;align-items:center;">
<div v-if="iitem.select" style="display:flex;justify-content:center;align-items:center;width:16px;height:16px;border-radius:8px;border:1px solid rgba(151, 151, 151, 0.29);margin-right: 8px;">
<div v-if="values.select" style="display:flex;justify-content:center;align-items:center;width:16px;height:16px;border-radius:8px;border:1px solid rgba(151, 151, 151, 0.29);margin-right: 8px;">
<div style="width:8px;height:8px;border-radius:4px;background-color:#409eff;"></div>
</div>
<div v-else style="width:16px;height:16px;border-radius:8px;border:1px solid rgba(151, 151, 151, 0.29);margin-right: 8px;"></div>
{{iitem.multipleOptionName}}
{{values.multipleOptionName}}
</div>
<!-- <a-radio :value="indexs" defaultValue>{{iitem.singleOptionName}}</a-radio> -->
</div>
@@ -83,7 +83,7 @@
<div style="margin-bottom:30px;"></div>
</div>
<!-- 问答题 -->
<div v-if="values[0].questionType==3" class="assessbox" style="margin-top: 30px">
<div v-if="values.questionType==3" class="assessbox" style="margin-top: 30px">
<div class="box1">
<div class="asstype">评估类型</div>
<div class="typename">问答题</div>
@@ -91,7 +91,7 @@
<div class="box1" style="margin-left: 64px">
<div class="asstype">标题</div>
<div style="color: rgba(153, 153, 153, 1); font-size: 14px">
{{values[0]?.assessmentQaTitle}}
{{values?.assessmentQaTitle}}
</div>
</div>
<div
@@ -100,12 +100,12 @@
>
<div class="asstype">描述</div>
<div style="color: rgba(51, 51, 51, 1); font-size: 14px">
{{ values[0]?.assessmentQaDescribe }}
{{ values?.assessmentQaDescribe }}
</div>
</div>
</div>
<!-- 评分题 -->
<div v-if="values[0].questionType==4" class="assessbox" style="margin-top: 30px">
<div v-if="values.questionType==4" class="assessbox" style="margin-top: 30px">
<div class="box1">
<div class="asstype">评估类型</div>
<div class="typename">评分题</div>
@@ -113,13 +113,13 @@
<div class="box1" style="margin-left: 64px">
<div class="asstype">标题</div>
<div style="color: rgba(153, 153, 153, 1); font-size: 14px">
{{values[0]?.assessmentScTitle}}{{ values[0]?.assessmentMinScore }}{{ values[0]?.assessmentMaxScore }}
{{values?.assessmentScTitle}}
</div>
</div>
<div class="lastbox">
<div class="sorcetext">非常不满意</div>
<div class="sorcebox" v-for="(iittem, index) in [1,2,3,4,5,6,7,8,9,10]" :key="index">
<div :class="index+1 == values[0].selectAnswer ? 'numbox' : 'numbox1'">{{ iittem }}</div>
<div v-if="iittem >= values.assessmentMinScore && iittem <= values.assessmentMaxScore" :class="index+1 == values.selectAnswer ? 'numbox' : 'numbox1'">{{ iittem }}</div>
</div>
<div class="sorcetext">非常满意</div>
</div>
@@ -201,7 +201,13 @@ export default {
console.log(res)
if(res.data.code==200){
let qarr = [res.data.data.assessmentEssayQuestionDtoList, res.data.data.assessmentMultipleChoiceDtoList,res.data.data.assessmentScoringQuestionDtoList,res.data.data.assessmentSingleChoiceDtoList]
let newarr = formateArr(qarr).sort((a, b) => { return a[0].orderNumber - b[0].orderNumber})
let allArr = []
for(let i=0;i<qarr.length;i++){
for(let j=0;j<qarr[i].length;j++){
allArr.push(qarr[i][j])
}
}
let newarr = formateArr(allArr).sort((a, b) => { return a.orderNumber - b.orderNumber})
state.questionListArr = newarr
console.log('我是经过排序后的题目',newarr)
}