zengh
2022-05-09 52c39f5e2711e5535b689b66dfa5e100c7882b7f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
<template>
    <view>
        <!-- <nav-bar-sub></nav-bar-sub> -->
        <!-- 用于提示是否确认退出考试 -->
        <u-modal v-model="show" :content="content" :show-cancel-button="true" @confirm="handleConfirm"></u-modal>
        <!-- 渲染题目 -->
        <Answer @submit='handleCommit' @timeEnd='handleConfirm' @onChange='onChange'></Answer>
 
        <u-toast ref="uToast" />
    </view>
</template>
 
<script>
    import Answer from '@/components/dyw-answer/answer.vue';
 
    import {
        ModifyQuesList
    } from '@/common/api/examFunc'
    
    export default {
        data() {
            return {
                show: false,
                content: '是否确认交卷',
                questionList: [],
            }
        },
        onLoad(option) {
            this.$store.state.questionList = []
 
            var that = this
            // 理论考试
            uni.request({
                url: "http://61.131.136.25:2080/api/simulateExamRecord/beginExam",
                // url: "http://localhost:81/simulateExamRecord/beginExam",
                method: 'POST',
                data: {
                    idCardNo: this.$store.state.UserData.cardid
                },
                success: (res) => {
                    var examObj = res.data.data.simulateExamRecord
 
                    examObj.exam = {
                        name: '模拟考试',
                        examScore: 100,
                        examTime: res.data.data.simulateExamRecord.answerTime,
                        checkFace: 1,
                        ...option
                    }
 
                    examObj.exam.totalQuestion = res.data.data.examSubjectInfo.length
                    examObj.totalQuestion = res.data.data.examSubjectInfo.length
                    that.$store.state.examDetail = examObj
 
                    that.$store.state.paperDetail = res.data.data.simulateExamRecord
                    // 提取出所有的题目
                    ModifyQuesList(res.data.data.examSubjectInfo)
                }
            });
        },
        components: {
            Answer
        },
        methods: {
            /* 提交答案 显示再次确认*/
            handleCommit() {
                // 显示是否确认交卷
                this.show = true;
            },
 
            // 已确认进行答案提交
            handleConfirm() {
                let that = this
                let totalQueNum = 0
                let totalScore = 0
                let rightQueNum = 0
                let wrongQueNum = 0
                let noneQueNum = 0
                let score = 0
 
                let sendData = {
                    simulateExamId: this.$store.state.paperDetail.id,
                    examResultVOS: []
                }
 
                this.$store.state.questionList.forEach(item => {
                    if (item.selectedFlag == true) {
 
                        let obj = {
                            subjectChoicesId: item.id,
                            value: item.tempAnswer,
                            grade: item.score
                        }
 
                        if (item.correctOrError == false) {
                            obj.grade = 0
                            wrongQueNum += 1
                        } else {
                            rightQueNum += 1
                            score += item.score
                        }
 
                        sendData.examResultVOS.push(obj)
 
                    } else {
                        noneQueNum += 1
                    }
                    totalQueNum += 1
                    totalScore += item.score
                })
 
                if (noneQueNum == totalQueNum)
                    return this.$refs.uToast.show({
                        title: '请答题后再交卷',
                        type: 'warning',
                        duration: 2000
                    })
 
                // 进行交卷的api请求
                that.$u.route('/pages/exam/examResultPage', {
                    recordId: that.$store.state.examDetail.recordId,
                    totalQueNum: totalQueNum,
                    totalScore: totalScore,
                    rightQueNum: rightQueNum,
                    wrongQueNum: wrongQueNum,
                    noneQueNum: noneQueNum,
                    score: score
                })
 
 
                uni.request({
                    url: "http://61.131.136.25:2080/api/simulateExamRecord/saveSimulateExam",
                    method: 'POST',
                    data: sendData,
                    success: (res) => {
 
                    }
                });
            },
            /* 题目答案变化
             */
            onChange(answer) {
            }
        }
    }
</script>
 
<style lang="scss" scoped>
    page {
        background-color: #FFFFFF;
    }
</style>