|
@@ -24,49 +24,52 @@
|
|
|
<div class="ql-right-part" v-if="SingleList.length">
|
|
|
<span class="ql-right-part-title"><span class="ql-line"></span>{{$t('totalAnalysis.ql_text2')}}({{sumArr(SingleList.map(item => item.score))}}{{$t('totalAnalysis.ql_text8')}})</span>
|
|
|
<div class="ql-right-items">
|
|
|
- <span class="ql-right-item" v-for="(item,index) in SingleList" :key="index" @click="handleItemClick(item,$event)" :ref="'indexRef' + questionList.indexOf(item)">{{getIndexOrder(item)}}</span>
|
|
|
+ <span class="ql-right-item" v-for="(item,index) in SingleList" :key="index" @click="handleItemClick(item,$event)" :ref="'indexRef' + flatList.indexOf(item)" :data-order="flatList.indexOf(item)">{{getIndexOrder(item)}}</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="ql-right-part" v-if="MultipleList.length">
|
|
|
<span class="ql-right-part-title"><span class="ql-line"></span>{{$t('totalAnalysis.ql_text3')}}({{sumArr(MultipleList.map(item => item.score))}}{{$t('totalAnalysis.ql_text8')}})</span>
|
|
|
<div class="ql-right-items">
|
|
|
- <span class="ql-right-item" v-for="(item,index) in MultipleList" :key="index" @click="handleItemClick(item,$event)" :ref="'indexRef' + questionList.indexOf(item)">{{getIndexOrder(item)}}</span>
|
|
|
+ <span class="ql-right-item" v-for="(item,index) in MultipleList" :key="index" @click="handleItemClick(item,$event)" :ref="'indexRef' + flatList.indexOf(item)" :data-order="flatList.indexOf(item)">{{getIndexOrder(item)}}</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="ql-right-part" v-if="JudgeList.length">
|
|
|
<span class="ql-right-part-title"><span class="ql-line"></span>{{$t('totalAnalysis.ql_text4')}}({{sumArr(JudgeList.map(item => item.score))}}{{$t('totalAnalysis.ql_text8')}})</span>
|
|
|
<div class="ql-right-items">
|
|
|
- <span class="ql-right-item" v-for="(item,index) in JudgeList" :key="index" @click="handleItemClick(item,$event)" :ref="'indexRef' + questionList.indexOf(item)">{{getIndexOrder(item)}}</span>
|
|
|
+ <span class="ql-right-item" v-for="(item,index) in JudgeList" :key="index" @click="handleItemClick(item,$event)" :ref="'indexRef' + flatList.indexOf(item)" :data-order="flatList.indexOf(item)">{{getIndexOrder(item)}}</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="ql-right-part" v-if="CompleteList.length">
|
|
|
<span class="ql-right-part-title"><span class="ql-line"></span>{{$t('totalAnalysis.ql_text5')}}({{sumArr(CompleteList.map(item => item.score))}}{{$t('totalAnalysis.ql_text8')}})</span>
|
|
|
<div class="ql-right-items">
|
|
|
- <span class="ql-right-item" v-for="(item,index) in CompleteList" :key="index" @click="handleItemClick(item,$event)" :ref="'indexRef' + questionList.indexOf(item)">{{getIndexOrder(item)}}</span>
|
|
|
+ <span class="ql-right-item" v-for="(item,index) in CompleteList" :key="index" @click="handleItemClick(item,$event)" :ref="'indexRef' + flatList.indexOf(item)" :data-order="flatList.indexOf(item)">{{getIndexOrder(item)}}</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="ql-right-part" v-if="SubjectiveList.length">
|
|
|
<span class="ql-right-part-title"><span class="ql-line"></span>{{$t('totalAnalysis.ql_text6')}}({{sumArr(SubjectiveList.map(item => item.score))}}{{$t('totalAnalysis.ql_text8')}})</span>
|
|
|
<div class="ql-right-items">
|
|
|
- <span class="ql-right-item" v-for="(item,index) in SubjectiveList" :key="index" @click="handleItemClick(item,$event)" :ref="'indexRef' + questionList.indexOf(item)">{{getIndexOrder(item)}}</span>
|
|
|
+ <span class="ql-right-item" v-for="(item,index) in SubjectiveList" :key="index" @click="handleItemClick(item,$event)" :ref="'indexRef' + flatList.indexOf(item)" :data-order="flatList.indexOf(item)">{{getIndexOrder(item)}}</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="ql-right-part" v-if="ConnectorList.length">
|
|
|
<span class="ql-right-part-title"><span class="ql-line"></span>{{$t('totalAnalysis.ql_text14')}}({{sumArr(ConnectorList.map(item => item.score))}}{{$t('totalAnalysis.ql_text8')}})</span>
|
|
|
<div class="ql-right-items">
|
|
|
- <span class="ql-right-item" v-for="(item,index) in ConnectorList" :key="index" @click="handleItemClick(item,$event)" :ref="'indexRef' + questionList.indexOf(item)">{{getIndexOrder(item)}}</span>
|
|
|
+ <span class="ql-right-item" v-for="(item,index) in ConnectorList" :key="index" @click="handleItemClick(item,$event)" :ref="'indexRef' + flatList.indexOf(item)" :data-order="flatList.indexOf(item)">{{getIndexOrder(item)}}</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="ql-right-part" v-if="CorrectList.length">
|
|
|
<span class="ql-right-part-title"><span class="ql-line"></span>{{$t('totalAnalysis.ql_text15')}}({{sumArr(CorrectList.map(item => item.score))}}{{$t('totalAnalysis.ql_text8')}})</span>
|
|
|
<div class="ql-right-items">
|
|
|
- <span class="ql-right-item" v-for="(item,index) in CorrectList" :key="index" @click="handleItemClick(item,$event)" :ref="'indexRef' + questionList.indexOf(item)">{{getIndexOrder(item)}}</span>
|
|
|
+ <span class="ql-right-item" v-for="(item,index) in CorrectList" :key="index" @click="handleItemClick(item,$event)" :ref="'indexRef' + flatList.indexOf(item)" :data-order="flatList.indexOf(item)">{{getIndexOrder(item)}}</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="ql-right-part" v-if="ComposeList.length">
|
|
|
<span class="ql-right-part-title"><span class="ql-line"></span>{{$t('totalAnalysis.ql_text7')}}({{sumArr(ComposeList.map(item => item.score))}}{{$t('totalAnalysis.ql_text8')}})</span>
|
|
|
<div class="ql-right-items">
|
|
|
- <span class="ql-right-item" v-for="(item,index) in ComposeList" :key="index" @click="handleItemClick(item,$event)" :ref="'indexRef' + questionList.indexOf(item)">{{getIndexOrder(item)}}</span>
|
|
|
+ <!-- 如果是综合题 则需要把小题题序放出来 -->
|
|
|
+ <span v-for="(item,index) in ComposeList" :key="index" style="background-color: none;" class="ql-right-items">
|
|
|
+ <span class="ql-right-item" v-for="(child,childIndex) in item.children" :key="childIndex" @click="handleItemClick(item,$event)" :ref="'indexRef' + (flatList.indexOf(child))" :data-order="flatList.indexOf(child)">{{getIndexOrder(item)}} - {{ childIndex + 1 }}</span>
|
|
|
+ </span>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -95,6 +98,7 @@
|
|
|
optionsData: [],
|
|
|
collapseList: [],
|
|
|
questionList: [],
|
|
|
+ flatList:[],
|
|
|
SingleList: [],
|
|
|
MultipleList: [],
|
|
|
JudgeList: [],
|
|
@@ -332,11 +336,16 @@
|
|
|
// 如果是试题页面过来带有题序 则获取指定题目并进行滚动
|
|
|
let qIndex = this.$route.query.QIndex
|
|
|
if (qIndex) {
|
|
|
+ let paperItems = fullPaperJson.item
|
|
|
+ let allItems = []
|
|
|
+ paperItems.forEach(i => {
|
|
|
+ allItems = allItems.concat(i.type === 'compose' ? i.children : [i])
|
|
|
+ })
|
|
|
+ this.flatList = allItems
|
|
|
+ console.log('拉平后的题目',allItems)
|
|
|
this.$nextTick(() => {
|
|
|
- let listLength = this.questionList.length
|
|
|
- let index = qIndex > listLength ? (+listLength - 1) : (+qIndex - 1)
|
|
|
setTimeout(() => {
|
|
|
- this.$refs['indexRef' + index][0].click() // 根据路由携带的题序 来触发对应题序的点击事件 完成滚动
|
|
|
+ this.$refs['indexRef' + (qIndex - 1)][0].click() // 根据路由携带的题序 来触发对应题序的点击事件 完成滚动
|
|
|
}, 1000)
|
|
|
})
|
|
|
} else {
|
|
@@ -373,6 +382,7 @@
|
|
|
|
|
|
// 点击右边题序 获取到题目DOM 进行滚动操作
|
|
|
handleItemClick(item, e) {
|
|
|
+ console.log(e)
|
|
|
this.$nextTick(() => {
|
|
|
let parentVm = this.$parent.$parent.$parent
|
|
|
let currentSpan = e.target || e
|
|
@@ -387,6 +397,10 @@
|
|
|
})
|
|
|
// 将当前选中项修改选中色
|
|
|
currentSpan.style.background = '#139c51'
|
|
|
+
|
|
|
+ console.log(itemIndex)
|
|
|
+ console.log(this.$refs.exList)
|
|
|
+ this.$refs.exList.collapseList = [itemIndex]
|
|
|
})
|
|
|
|
|
|
},
|