Commit f5be80d4 authored by 罗超's avatar 罗超

1

parent 430c1ef5
......@@ -20,31 +20,28 @@
:current="current"
@change="onchange"
>
<swiper-item v-if="sortIndex != 1"></swiper-item>
<swiper-item
v-for="(item1, index1) in data.DetailsList"
:key="item1.id"
>
<swiper-item></swiper-item>
<swiper-item v-for="(item1, index1) in data.DetailsList" :key="index1">
<view class="item1">
<view class="flex flex_start_center">
<view class="num" v-html="item1.Title"></view>
</view>
<view
v-for="(item2, index2) in item1.QuestionContentObj"
:key="item2.id"
:key="index2"
class="item2 flex flex_start_center"
>
<view
class="chooseNum"
:class="{
myAnswer: item1.myAnswer.find((e) => e == item2.Name),
myAnswer: item2.IsAnswer,
}"
@click="change(index1, index2)"
>{{ item2.Name }}
@click="change(item2)"
>{{ item2.ShowName }}
</view>
<view
class="chooseName"
@click="change(index1, index2)"
@click="change(item2)"
v-html="item2.Content"
></view>
</view>
......@@ -77,9 +74,6 @@ export default {
sortTotal: Number,
},
setup(props, context) {
props.paperData.DetailsList.forEach((item, index) => {
item.myAnswer = [];
});
let data = reactive({
data: props.paperData,
sortIndex: props.sort + 1,
......@@ -100,15 +94,8 @@ export default {
uni.navigateBack();
},
//选题
change(index1, index2) {
let myAnswer = data.data.DetailsList[index1].myAnswer;
let res = data.data.DetailsList[index1].QuestionContentObj[index2].Name;
let find = myAnswer.indexOf(res);
if (find == -1) {
myAnswer.push(res);
} else {
myAnswer.splice(find, 1);
}
change(item) {
item.IsAnswer = !item.IsAnswer;
},
onchange(e) {
data.ExamIndex = e.detail.current;
......
......@@ -21,12 +21,10 @@
@change="onchange"
:skip-hidden-item-layout="true"
>
<!-- <swiper-item v-if="sortIndex != 1">第一页</swiper-item> -->
<swiper-item>第一页</swiper-item>
<swiper-item
v-for="(item1, index1) in data.DetailsList"
:key="item1.id"
>
<swiper-item>
<!-- 第一页 -->
</swiper-item>
<swiper-item v-for="(item1, index1) in data.DetailsList" :key="index1">
<view class="item1">
<view class="flex flex_start_center">
<view class="num" v-html="item1.Title"></view>
......@@ -34,24 +32,26 @@
<view
v-for="(item2, index2) in item1.QuestionContentObj"
:key="item2.id"
:key="index2"
class="flex item2 flex_start_center"
>
<view
class="chooseNum"
:class="{ myAnswer: item1.myAnswer === item2.Name }"
@click="change(index1, index2)"
>{{ item2.Name }}
:class="{ myAnswer: item2.IsAnswer }"
@click="change(item1, item2)"
>{{ item2.ShowName }}
</view>
<view
class="chooseName"
@click="change(index1, index2)"
@click="change(item1, item2)"
v-html="item2.Content"
></view>
</view>
</view>
</swiper-item>
<swiper-item v-if="sortIndex != sortTotal">最后一页</swiper-item>
<swiper-item v-if="sortIndex != sortTotal">
<!-- 最后一页 -->
</swiper-item>
</swiper>
</view>
<van-toast id="van-toast" />
......@@ -99,16 +99,19 @@ export default {
uni.navigateBack();
},
//选题
change(index1, index2) {
data.data.DetailsList[index1].myAnswer =
data.data.DetailsList[index1].QuestionContentObj[index2].Name;
change(item1, item2) {
item1.QuestionContentObj.map((e) => {
if (e.Name == item2.Name) {
e.IsAnswer = true;
} else {
e.IsAnswer = false;
}
});
},
onchange(e) {
console.log(106, e.detail.current);
if (data.sortIndex == 1) {
data.ExamIndex = e.detail.current;
}
if (data.ExamIndex === data.data.DetailsList.length + 1) {
console.log("单选", e.detail);
this.$emit("getAfterTopic");
......
......@@ -20,11 +20,8 @@
:current="current"
@change="onchange"
>
<swiper-item v-if="sortIndex != 1"></swiper-item>
<swiper-item
v-for="(item1, index1) in data.DetailsList"
:key="item1.id"
>
<swiper-item></swiper-item>
<swiper-item v-for="(item1, index1) in data.DetailsList" :key="index1">
<view class="item1">
<view class="flex flex_start_center">
<view
......@@ -69,13 +66,13 @@
>
<view
class="chooseNum"
:class="{ myAnswer: item2.myAnswer === item3.Name }"
@click="singerChange(index1, index2, index3)"
:class="{ myAnswer: item3.IsAnswer }"
@click="singerChange(item2, item3)"
>{{ item3.Name }}
</view>
<view
class="chooseName"
@click="singerChange(index1, index2, index3)"
@click="singerChange(item2, item3)"
v-html="item3.Content"
></view>
</view>
......@@ -86,15 +83,13 @@
>
<view
class="chooseNum"
:class="{
myAnswer: item2.myAnswer.find((e) => e == item3.Name),
}"
@click="multipleChange(index1, index2, index3)"
:class="{ myAnswer: item3.IsAnswer }"
@click="multipleChange(item3)"
>{{ item3.Name }}
</view>
<view
class="chooseName"
@click="multipleChange(index1, index2, index3)"
@click="multipleChange(item3)"
v-html="item3.Content"
></view>
</view>
......@@ -106,7 +101,7 @@
<view class="chooseNum">{{ index3 + 1 }} </view>
<input
type="text"
v-model="item2.myAnswer"
v-model="item3.Content"
class="chooseName chooseName2"
placeholder="请填写答案"
/>
......@@ -118,7 +113,7 @@
>
<textarea
type="text"
v-model="item2.myAnswer"
v-model="item3.Content"
class="chooseName chooseName2"
placeholder="请填写答案"
/>
......@@ -169,16 +164,6 @@ export default {
timer: null,
timeOutEvent: false,
});
data.data.DetailsList.forEach((item) => {
item.Title = item.Title.replace(/\<img/gi, '<img style="max-width:100%"');
item.QuestionContentObj.forEach((_item) => {
if (_item.QuestionKey === "multiple") {
_item.myAnswer = [];
} else {
_item.myAnswer = "嘻嘻";
}
});
});
let methods = {
changeNumToHan,
jumpPage() {
......@@ -191,34 +176,22 @@ export default {
},
//----------------------------------------选题----------------------------------
// 单选or判断
singerChange(index1, index2, index3) {
data.data.DetailsList[index1].QuestionContentObj[index2].myAnswer =
data.data.DetailsList[index1].QuestionContentObj[index2].SubAnwser[
index3
].Name;
},
// 多选
multipleChange(index1, index2, index3) {
let myAnswer = data.data.DetailsList[index1].QuestionContentObj[index2]
.myAnswer
? data.data.DetailsList[index1].QuestionContentObj[index2].myAnswer
: [];
let res =
data.data.DetailsList[index1].QuestionContentObj[index2].SubAnwser[
index3
].Name;
let find = myAnswer.indexOf(res);
if (find == -1) {
myAnswer.push(res);
singerChange(item2, item3) {
item2.SubAnwser.map((e) => {
if (e.Name == item3.Name) {
e.IsAnswer = true;
} else {
myAnswer.splice(find, 1);
e.IsAnswer = false;
}
});
},
// 多选
multipleChange(item) {
item.IsAnswer = !item.IsAnswer;
},
onchange(e) {
// data.questionH = 500;
data.ExamIndex = e.detail.current;
if (data.ExamIndex === data.data.DetailsList.length + 1) {
console.log("进入");
this.$emit("getAfterTopic");
}
if (e.detail.current == 0) {
......@@ -230,7 +203,7 @@ export default {
clearTimeout(data.timer);
data.timer = setTimeout(() => {
data.timeOutEvent = true;
}, 500);
}, 300);
},
touchmove(e) {
if (data.timeOutEvent) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment