|
@@ -13,7 +13,7 @@
|
|
|
group: { name: 'itxst', pull: 'clone' },
|
|
|
}"
|
|
|
:sort="task_model == 'ANSWER' ? false : true"
|
|
|
- class="content-box"
|
|
|
+ :class="['content-box', 'content-box-' + data.property.layout_type]"
|
|
|
@start="onStart($event)"
|
|
|
@end="onEnd($event)"
|
|
|
>
|
|
@@ -23,8 +23,19 @@
|
|
|
:key="indexNode"
|
|
|
:class="['drag-item', itemNode.correct == 'correct' ? 'correct' : 'error']"
|
|
|
>
|
|
|
- <SvgIcon class="drag-icon" :size="20" icon-class="draggable" />
|
|
|
+ <SvgIcon
|
|
|
+ v-if="data.property.layout_type === 'vertical'"
|
|
|
+ class="drag-icon"
|
|
|
+ :size="20"
|
|
|
+ icon-class="draggable"
|
|
|
+ />
|
|
|
<span class="drag-content" v-html="sanitizeHTML(itemNode.content)"></span>
|
|
|
+ <SvgIcon
|
|
|
+ v-if="data.property.layout_type === 'horizontal'"
|
|
|
+ class="drag-icon"
|
|
|
+ :size="20"
|
|
|
+ icon-class="draggable"
|
|
|
+ />
|
|
|
</div>
|
|
|
</transition-group>
|
|
|
</draggable>
|
|
@@ -54,20 +65,26 @@ export default {
|
|
|
this.answer_list = val.map(({ mark }) => {
|
|
|
return mark;
|
|
|
});
|
|
|
- console.log(this.answer_list);
|
|
|
},
|
|
|
deep: true,
|
|
|
},
|
|
|
},
|
|
|
created() {
|
|
|
- console.log(this.data);
|
|
|
this.handleData();
|
|
|
},
|
|
|
mounted() {},
|
|
|
methods: {
|
|
|
// 初始化数据
|
|
|
handleData() {
|
|
|
- this.move_list = this.shuffle(JSON.parse(JSON.stringify(this.data.option_list)));
|
|
|
+ let sort_list = this.shuffle(JSON.parse(JSON.stringify(this.data.option_list)));
|
|
|
+ sort_list.forEach((item, index) => {
|
|
|
+ if (item.mark === this.data.option_list[index].mark) {
|
|
|
+ item.correct = true;
|
|
|
+ } else {
|
|
|
+ item.correct = false;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ this.move_list = sort_list;
|
|
|
},
|
|
|
// 随机打乱数组顺序
|
|
|
shuffle(arr) {
|
|
@@ -88,7 +105,13 @@ export default {
|
|
|
},
|
|
|
// 判断对错
|
|
|
changeuserAnswerJudge() {
|
|
|
- let flag = true;
|
|
|
+ this.move_list.forEach((item, index) => {
|
|
|
+ if (item.mark === this.data.option_list[index].mark) {
|
|
|
+ item.correct = true;
|
|
|
+ } else {
|
|
|
+ item.correct = false;
|
|
|
+ }
|
|
|
+ });
|
|
|
},
|
|
|
},
|
|
|
};
|
|
@@ -126,6 +149,30 @@ export default {
|
|
|
margin: 0;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ &-horizontal {
|
|
|
+ > span {
|
|
|
+ display: flex;
|
|
|
+ column-gap: 8px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .drag-item {
|
|
|
+ display: block;
|
|
|
+ }
|
|
|
+
|
|
|
+ .drag-content {
|
|
|
+ display: block;
|
|
|
+ width: max-content;
|
|
|
+ padding: 8px 16px;
|
|
|
+ background: #f9f8f9;
|
|
|
+ border-radius: 4px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .drag-icon {
|
|
|
+ display: block;
|
|
|
+ margin: 16px auto 0;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
</style>
|