Commit f5be80d4 authored by 罗超's avatar 罗超

1

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