ソースを参照

三力测试开发中

JXDS18FUJT 1 年間 前
コミット
ac81801d06

+ 2 - 2
src/api/three/three.ts

@@ -2,14 +2,14 @@ import request from "../request"
 import { threeApi } from "./type"
 export default {
     //查询三力测试列表
-    threeForceList(): Promise<any> {
+    threeForceList(): Promise<threeApi.threeForceList> {
         return request({
             url: "/three/force/list",
             method: 'get'
         })
     },
     //获取三力测试模拟考题
-    threeForceSelectTestQuestionInfoList(): Promise<any> {
+    threeForceSelectTestQuestionInfoList(): Promise<threeApi.threeForceList> {
         return request({
             url: "/three/force/selectTestQuestionInfoList",
             method: 'get'

+ 5 - 1
src/api/three/type.d.ts

@@ -37,7 +37,11 @@ export declare namespace threeApi {
             "mediaUrl": string,
             "showOptionType": number,
             "questionSource": number,
-            "bestExplainNew": string
+            "bestExplainNew": string,
+            "userAnswer":string,
+            isComplete?:boolean,
+            isError?:boolean
+           
         }[]
 
 

+ 611 - 0
src/hooks/exam/threeExam.ts

@@ -0,0 +1,611 @@
+import { computed, onMounted, reactive, ref, watch, onBeforeUnmount } from "vue";
+
+import moment from 'moment';
+import audio from "@/utils/audio";
+import { useStore } from "vuex";
+import { message } from "ant-design-vue";
+import { threeApi } from "@/api/three/type";
+export const useThreeExam = (requestFn: Promise<threeApi.threeForceList>, config = {
+    countDown: true,
+    autoAnswer: true
+}) => {
+    const store = useStore()
+    let timerId = 0
+    let examTimeMillSeconds = config.countDown ? 45 * 60 * 1000 : 0
+    const falseNum = ref(0)
+    const trueNum = ref(0)
+    const list = ref<threeApi.threeForceList["rows"]>([{
+        "id": 26950,
+        "type": 1,
+        "intnumber": "",
+        "strtppe": "87",
+        "strtypeL": "8701",
+        "licensetype": "",
+        "question": "下图时钟指示的时间是五点整。",
+        "an1": "正确",
+        "an2": "错误",
+        "an3": "",
+        "an4": "",
+        "an5": "",
+        "an6": "",
+        "an7": "",
+        "answertrue": "1",
+        "explain": "图中时钟是五点整,因此本题正确。",
+        "bestanswerid": "1334792674833649664",
+        "kemu": 1,
+        "jieshiFrom": "",
+        "moretypes": "",
+        "chapterid": 0,
+        "sinaimg": "26950-1607070544975.webp",
+        "videoUrl": "",
+        "diffDegree": 1,
+        "cityid": 0,
+        "gs": "test",
+        "keyword": "",
+        "errorRate": 0,
+        "mediaUrl": "https://t1-1305573081.file.myqcloud.com/yd/app/media/26950-1607070544975.webp",
+        "showOptionType": 0,
+        "questionSource": 1,
+        "bestExplainNew": "图中时钟是五点整,因此本题正确。",
+        "userAnswer": ''
+
+    },
+    {
+        "id": 26971,
+        "type": 1,
+        "intnumber": "",
+        "strtppe": "87",
+        "strtypeL": "8701",
+        "licensetype": "",
+        "question": "下图中物体的颜色是红色。",
+        "an1": "正确",
+        "an2": "错误",
+        "an3": "",
+        "an4": "",
+        "an5": "",
+        "an6": "",
+        "an7": "",
+        "answertrue": "1",
+        "explain": "图中玫瑰花的颜色是红色,题中说红色,因此本题正确。",
+        "bestanswerid": "1334802770611470337",
+        "kemu": 1,
+        "jieshiFrom": "",
+        "moretypes": "",
+        "chapterid": 0,
+        "sinaimg": "26971-1607070553838.webp",
+        "videoUrl": "",
+        "diffDegree": 2,
+        "cityid": 0,
+        "gs": "test",
+        "keyword": "",
+        "errorRate": 0,
+        "mediaUrl": "https://t1-1305573081.file.myqcloud.com/yd/app/media/26971-1607070553838.webp",
+        "showOptionType": 0,
+        "questionSource": 1,
+        "bestExplainNew": "图中玫瑰花的颜色是红色,题中说红色,因此本题正确。",
+        "userAnswer": ''
+    },
+    {
+        "id": 27355,
+        "type": 1,
+        "intnumber": "",
+        "strtppe": "87",
+        "strtypeL": "8701",
+        "licensetype": "",
+        "question": "注意观察图片:中间箭头的方向是向下。",
+        "an1": "正确",
+        "an2": "错误",
+        "an3": "",
+        "an4": "",
+        "an5": "",
+        "an6": "",
+        "an7": "",
+        "answertrue": "2",
+        "explain": "图中箭头的方向依次是下、上、下、上、下、下、上,中间箭头的方向是上。",
+        "bestanswerid": "1363676634208559104",
+        "kemu": 1,
+        "jieshiFrom": "",
+        "moretypes": "",
+        "chapterid": 0,
+        "sinaimg": "27355-1613961310107.webp",
+        "videoUrl": "",
+        "diffDegree": 4,
+        "cityid": 0,
+        "gs": "test",
+        "keyword": "",
+        "errorRate": 1,
+        "mediaUrl": "https://t1-1305573081.file.myqcloud.com/yd/app/media/27355-1613961310107.webp",
+        "showOptionType": 0,
+        "questionSource": 1,
+        "bestExplainNew": "图中箭头的方向依次是下、上、下、上、下、下、上,中间箭头的方向是上。",
+        "userAnswer": ''
+    },
+    {
+        "id": 26969,
+        "type": 1,
+        "intnumber": "",
+        "strtppe": "87",
+        "strtypeL": "8701",
+        "licensetype": "",
+        "question": "下图时钟指示的时间是十二点整。",
+        "an1": "正确",
+        "an2": "错误",
+        "an3": "",
+        "an4": "",
+        "an5": "",
+        "an6": "",
+        "an7": "",
+        "answertrue": "2",
+        "explain": "图中时钟是十一点整,因此本题错误。",
+        "bestanswerid": "1334802442033872897",
+        "kemu": 1,
+        "jieshiFrom": "",
+        "moretypes": "",
+        "chapterid": 0,
+        "sinaimg": "26969-1607070552164.webp",
+        "videoUrl": "",
+        "diffDegree": 3,
+        "cityid": 0,
+        "gs": "test",
+        "keyword": "",
+        "errorRate": 0,
+        "mediaUrl": "https://t1-1305573081.file.myqcloud.com/yd/app/media/26969-1607070552164.webp",
+        "showOptionType": 0,
+        "questionSource": 1,
+        "bestExplainNew": "图中时钟是十一点整,因此本题错误。",
+        "userAnswer": ''
+    },
+    {
+        "id": 26947,
+        "type": 1,
+        "intnumber": "",
+        "strtppe": "87",
+        "strtypeL": "8701",
+        "licensetype": "",
+        "question": "下图时钟指示的时间是一点整。",
+        "an1": "正确",
+        "an2": "错误",
+        "an3": "",
+        "an4": "",
+        "an5": "",
+        "an6": "",
+        "an7": "",
+        "answertrue": "1",
+        "explain": "图中时钟是一点整,因此本题正确。",
+        "bestanswerid": "1334788634762596352",
+        "kemu": 1,
+        "jieshiFrom": "",
+        "moretypes": "",
+        "chapterid": 0,
+        "sinaimg": "26947-1607070542895.webp",
+        "videoUrl": "",
+        "diffDegree": 4,
+        "cityid": 0,
+        "gs": "test",
+        "keyword": "",
+        "errorRate": 0,
+        "mediaUrl": "https://t1-1305573081.file.myqcloud.com/yd/app/media/26947-1607070542895.webp",
+        "showOptionType": 0,
+        "questionSource": 1,
+        "bestExplainNew": "图中时钟是一点整,因此本题正确。",
+        "userAnswer": ''
+    },
+    {
+        "id": 27309,
+        "type": 1,
+        "intnumber": "",
+        "strtppe": "87",
+        "strtypeL": "8701",
+        "licensetype": "",
+        "question": "前进中的小粉猪在小黑猪的右后方。",
+        "an1": "正确",
+        "an2": "错误",
+        "an3": "",
+        "an4": "",
+        "an5": "",
+        "an6": "",
+        "an7": "",
+        "answertrue": "2",
+        "explain": "图中前进中的小粉猪在小黑猪的左前方。",
+        "bestanswerid": "1363676622615502848",
+        "kemu": 1,
+        "jieshiFrom": "",
+        "moretypes": "",
+        "chapterid": 0,
+        "sinaimg": "27309-1613961215487.webp",
+        "videoUrl": "",
+        "diffDegree": 4,
+        "cityid": 0,
+        "gs": "test",
+        "keyword": "",
+        "errorRate": 0,
+        "mediaUrl": "https://t1-1305573081.file.myqcloud.com/yd/app/media/27309-1613961215487.webp",
+        "showOptionType": 0,
+        "questionSource": 1,
+        "bestExplainNew": "图中前进中的小粉猪在小黑猪的左前方。",
+        "userAnswer": ''
+    },
+    {
+        "id": 26997,
+        "type": 1,
+        "intnumber": "",
+        "strtppe": "87",
+        "strtypeL": "8701",
+        "licensetype": "",
+        "question": "下图左右两边物体数量相同。",
+        "an1": "正确",
+        "an2": "错误",
+        "an3": "",
+        "an4": "",
+        "an5": "",
+        "an6": "",
+        "an7": "",
+        "answertrue": "2",
+        "explain": "图中左边数量为8,右边数量为7,因此本题错误。",
+        "bestanswerid": "1334808346569539585",
+        "kemu": 1,
+        "jieshiFrom": "",
+        "moretypes": "",
+        "chapterid": 0,
+        "sinaimg": "26997-1607070563554.webp",
+        "videoUrl": "",
+        "diffDegree": 2,
+        "cityid": 0,
+        "gs": "test",
+        "keyword": "",
+        "errorRate": 0,
+        "mediaUrl": "https://t1-1305573081.file.myqcloud.com/yd/app/media/26997-1607070563554.webp",
+        "showOptionType": 0,
+        "questionSource": 1,
+        "bestExplainNew": "图中左边数量为8,右边数量为7,因此本题错误。",
+        "userAnswer": ''
+    },
+    {
+        "id": 27385,
+        "type": 1,
+        "intnumber": "",
+        "strtppe": "87",
+        "strtypeL": "8701",
+        "licensetype": "",
+        "question": "注意观察图中苹果有3个。",
+        "an1": "正确",
+        "an2": "错误",
+        "an3": "",
+        "an4": "",
+        "an5": "",
+        "an6": "",
+        "an7": "",
+        "answertrue": "2",
+        "explain": "图中从左到右是橘子、苹果、橘子、梨、苹果、橘子。所以本题错误。",
+        "bestanswerid": "1363676641330487296",
+        "kemu": 1,
+        "jieshiFrom": "",
+        "moretypes": "",
+        "chapterid": 0,
+        "sinaimg": "27385-1613961370577.webp",
+        "videoUrl": "",
+        "diffDegree": 5,
+        "cityid": 0,
+        "gs": "test",
+        "keyword": "",
+        "errorRate": 0,
+        "mediaUrl": "https://t1-1305573081.file.myqcloud.com/yd/app/media/27385-1613961370577.webp",
+        "showOptionType": 0,
+        "questionSource": 1,
+        "bestExplainNew": "图中从左到右是橘子、苹果、橘子、梨、苹果、橘子。所以本题错误。",
+        "userAnswer": ''
+    },
+    {
+        "id": 27202,
+        "type": 1,
+        "intnumber": "",
+        "strtppe": "87",
+        "strtypeL": "8701",
+        "licensetype": "",
+        "question": "注意图片中亮起的信号灯是黄色。",
+        "an1": "正确",
+        "an2": "错误",
+        "an3": "",
+        "an4": "",
+        "an5": "",
+        "an6": "",
+        "an7": "",
+        "answertrue": "2",
+        "explain": "由图可知,图中亮起的信号灯是最左面的红灯。",
+        "bestanswerid": "1347779221883215872",
+        "kemu": 1,
+        "jieshiFrom": "",
+        "moretypes": "",
+        "chapterid": 0,
+        "sinaimg": "27202-1610171483156.webp",
+        "videoUrl": "",
+        "diffDegree": 1,
+        "cityid": 0,
+        "gs": "test",
+        "keyword": "",
+        "errorRate": 0,
+        "mediaUrl": "https://t1-1305573081.file.myqcloud.com/yd/app/media/27202-1610171483156.webp",
+        "showOptionType": 0,
+        "questionSource": 1,
+        "bestExplainNew": "由图可知,图中亮起的信号灯是最左面的红灯。",
+        "userAnswer": ''
+    },
+    {
+        "id": 26984,
+        "type": 1,
+        "intnumber": "",
+        "strtppe": "87",
+        "strtypeL": "8701",
+        "licensetype": "",
+        "question": "行驶中的红车在蓝车的正前方。",
+        "an1": "正确",
+        "an2": "错误",
+        "an3": "",
+        "an4": "",
+        "an5": "",
+        "an6": "",
+        "an7": "",
+        "answertrue": "1",
+        "explain": "图中红车在蓝车的正前方。",
+        "bestanswerid": "1334807100232089600",
+        "kemu": 1,
+        "jieshiFrom": "",
+        "moretypes": "",
+        "chapterid": 0,
+        "sinaimg": "26984-1607070558596.webp",
+        "videoUrl": "",
+        "diffDegree": 1,
+        "cityid": 0,
+        "gs": "test",
+        "keyword": "",
+        "errorRate": 0,
+        "mediaUrl": "https://t1-1305573081.file.myqcloud.com/yd/app/media/26984-1607070558596.webp",
+        "showOptionType": 0,
+        "questionSource": 1,
+        "bestExplainNew": "图中红车在蓝车的正前方。",
+        "userAnswer": ''
+    }])
+    const listIndex = ref(0)
+    const listPageNum = computed(() => {
+        return listIndex.value + 1
+    })
+    const countDown = ref('00:45:00')
+    const setPageNumToListIndex = (page: string | number) => {
+        page = Number(page)
+        listIndex.value = page - 1
+
+    }
+
+    const getProblemTypeName = (type: number) => {
+        let name = "";
+        switch (type) {
+            case 1:
+                name = "判断题";
+                break;
+            case 2:
+                name = "选择题";
+                break;
+            case 3:
+                name = "多选题";
+                break;
+            default:
+                break;
+        }
+        return name;
+    };
+    const nextProblem = () => {
+        console.log("nextProblem");
+        if (listIndex.value < list.value.length - 1) {
+            listIndex.value++;
+            return;
+        }
+    };
+    const preProblem = () => {
+        if (listIndex.value > 0) {
+            listIndex.value = listIndex.value - 1;
+        }
+    };
+    const setUserAnswer = (answer: string) => {
+        //没有多选题
+        list.value[listIndex.value].userAnswer = answer;
+
+    };
+    //用于直接出结果
+    const setUserAnswerAndRes = (userAnswer: string) => {
+        if (list.value[listIndex.value].type == 3) {
+            //三力测试没有多选题
+
+        } else {
+            list.value[listIndex.value].userAnswer = userAnswer;
+        }
+        //判断对错,以及是否自动下一题
+        if (
+            list.value[listIndex.value].type !== 3 &&
+
+            list.value[listIndex.value].userAnswer.length
+        ) {
+            const userAnswer = list.value[listIndex.value].userAnswer as string;
+            const answer = list.value[listIndex.value]['an' + list.value[listIndex.value].answertrue];
+            if (answer == userAnswer) {
+                list.value[listIndex.value].isComplete = true;
+                list.value[listIndex.value].isError = false;
+                trueNum.value++;
+                //自动跳转下一题
+                if (store.state.sysConfig.autoNext) {
+                    window.setTimeout(() => {
+                        nextProblem()
+                    }, 1500)
+
+                }
+            } else {
+                list.value[listIndex.value].isComplete = true;
+                list.value[listIndex.value].isError = true;
+                falseNum.value++;
+            }
+        }
+        //判断对错
+
+
+
+
+
+
+    };
+    const switchIndexByJudge = (index: number) => {
+        let name = "";
+        switch (index) {
+            case 0:
+                name = "√";
+                break;
+            case 1:
+                name = "×";
+                break;
+        }
+        return name;
+    };
+    const switchIndexBySelect = (index: number) => {
+        let name = "";
+        switch (index) {
+            case 0:
+                name = "A";
+                break;
+            case 1:
+                name = "B";
+                break;
+            case 2:
+                name = "C";
+                break;
+            case 3:
+                name = "D";
+                break;
+        }
+        return name;
+    };
+    const switchAnswerBySelect = (userAnswer: string, index: number) => {
+       
+        let select = "";
+        for (let index = 1; index <= 6; index++) {
+            if(userAnswer==''){
+                break;
+            }
+           
+            if (userAnswer == list.value[index]['an' + index]) {
+                select = String.fromCharCode(index + 64)
+            }
+        }
+        return select;
+    };
+
+    watch(listIndex, (newVal, oldVal) => {
+        if (config.autoAnswer) {
+            //判断对错
+            if (
+                list.value[oldVal].type !== 3 &&
+                !list.value[oldVal].isComplete &&
+                list.value[oldVal].userAnswer.length
+            ) {
+                const userAnswer = list.value[oldVal].userAnswer as string;
+                const answer = list.value[oldVal]['an'+list.value[oldVal].answertrue];
+                if (answer == userAnswer) {
+                    list.value[oldVal].isComplete = true;
+                    list.value[oldVal].isError = false;
+                    trueNum.value++;
+                } else {
+                    list.value[oldVal].isComplete = true;
+                    list.value[oldVal].isError = true;
+                    falseNum.value++;
+                }
+            } 
+            //判断对错
+            //提示
+            if (
+                list.value[oldVal].isError &&
+                list.value[oldVal].type !== 1 &&
+                list.value[oldVal].isComplete
+            ) {
+
+                alert(
+                    "正确答案:" + switchAnswerBySelect(list.value[oldVal]['an' + list.value[oldVal].answertrue], oldVal)
+                );
+            } else if (
+                list.value[oldVal].isError &&
+                list.value[oldVal].type === 1 &&
+                list.value[oldVal].isComplete
+            ) {
+                alert("正确答案:" + list.value[oldVal]['an' + list.value[oldVal].answertrue]);
+            }
+
+        }
+
+
+        //提示
+    });
+
+    const getCorrectRate = () => {
+        if (trueNum.value + falseNum.value) {
+            Math.round((trueNum.value) / (trueNum.value + falseNum.value) * 100) / 100
+            return
+
+        }
+        else {
+            return 0
+        }
+
+    }
+
+    onMounted(() => {
+        message.loading('题目加载中', 0)
+        requestFn.then(res => {
+            res.rows.forEach(item=>{
+                item.userAnswer =""
+            })
+            list.value = res.rows;
+            message.destroy()
+        }).catch(err => {
+            message.destroy()
+        })
+        timerId = window.setInterval(() => {
+            if (examTimeMillSeconds === 0) {
+                console.log('已经清除')
+                window.clearInterval(timerId)
+                return
+            }
+            examTimeMillSeconds = examTimeMillSeconds - 1000
+            countDown.value = moment(examTimeMillSeconds).format('00:mm:ss')
+
+        }, 1000)
+
+
+
+    })
+    onBeforeUnmount(() => {
+        window.clearInterval(timerId)
+
+    })
+
+    return {
+        falseNum,
+        trueNum,
+        list,
+        listIndex,
+        countDown,
+        listPageNum,
+        setUserAnswer,
+        setUserAnswerAndRes,
+        getProblemTypeName,
+        getCorrectRate,
+        nextProblem,
+        preProblem,
+        switchIndexByJudge,
+        switchAnswerBySelect,
+        switchIndexBySelect,
+        setPageNumToListIndex,
+
+
+
+    }
+
+
+
+
+}

+ 5 - 3
src/views/home/components/leftTab/index.vue

@@ -102,7 +102,7 @@ export default defineComponent({
             {
               text: "模拟考试",
               isSelect: false,
-              path: "/home/selectExamSubject",
+              path: "/home/selectDriveExamSubject",
               query: {
                 subject: 1,
                 liceBus: "1",
@@ -136,7 +136,7 @@ export default defineComponent({
             {
               text: "模拟考试",
               isSelect: false,
-              path: "/home/selectExamSubject",
+              path: "/home/selectDriveExamSubject",
               query: {
                 subject: 4,
                 liceBus: "1",
@@ -169,7 +169,7 @@ export default defineComponent({
             {
               text: "模拟考试",
               isSelect: false,
-              path: "/home/selectExamSubject",
+              path: "/home/selectDriveExamSubject",
               query: {
                 subject: 1,
                 liceMoto: "1",
@@ -190,6 +190,8 @@ export default defineComponent({
               isSelect: false,
               query: {
                 subject: 4,
+
+                liceMoto: "1",
               },
             },
             // {

+ 1 - 1
src/views/home/practiseSelect/index.vue

@@ -26,7 +26,7 @@
               </div>
               <router-link
                 :to="
-                  '/studySkill?subject=1&classIssue=' + (item.classIssue || '')
+                  '/studySkill?subject='+($route.query.subject||4)+'&classIssue=' + (item.classIssue || '')
                 "
               >
                 <div

+ 48 - 20
src/views/threeExam/index.vue

@@ -31,8 +31,11 @@
           </div>
           <div class="text-left pr20 pl20 pt20">
             <span class="font-bold"
-              >{{ listIndex + 1 }}、{{list[listIndex].issue}}</span
-            >
+              >{{ listIndex + 1 }}、<span
+                class="three-issue"
+                v-html="list[listIndex].question"
+              ></span
+            ></span>
           </div>
           <div v-if="list[listIndex].questionType !== 1" class="mt30">
             <div
@@ -128,13 +131,13 @@
             </div>
 
             <div
-              v-if="list[listIndex].questionType == 1"
+              v-if="list[listIndex].type == 1"
               class="ml90 font-bold inline-block"
             >
               您选择的答案:{{ list[listIndex].userAnswer }}
             </div>
             <div
-              v-if="list[listIndex].questionType != 1"
+              v-if="list[listIndex].type != 1"
               class="ml90 font-bold inline-block"
             >
               您选择的答案:{{
@@ -146,16 +149,34 @@
         <div class="flex cursor-pointer mt20">
           <!-- 答案列表 -->
           <div
-            @click="list[listIndex].isComplete ? '' : setUserAnswer(_item)"
-            v-for="(_item, _index) in list[listIndex].optsArr"
-            :key="_index"
+            @click="
+              list[listIndex].isComplete
+                ? ''
+                : setUserAnswer(list[listIndex]['an1'])
+            "
             class="w46 lh46 h46 answer-select font20 font-bold mr15 flex-grow-0"
           >
-            <span v-if="list[listIndex].questionType == 1">{{
-              switchIndexByJudge(_index)
+            <span v-if="list[listIndex].type == 1">{{
+              list[listIndex]["an1"] 
             }}</span>
             <span v-if="list[listIndex].questionType !== 1">{{
-              switchIndexBySelect(_index)
+              switchIndexBySelect()
+            }}</span>
+          </div>
+
+          <div
+            @click="
+              list[listIndex].isComplete
+                ? ''
+                : setUserAnswer(list[listIndex]['an2'])
+            "
+            class="w46 lh46 h46 answer-select font20 font-bold mr15 flex-grow-0"
+          >
+            <span v-if="list[listIndex].type == 1">{{
+              list[listIndex]["an2"] 
+            }}</span>
+            <span v-if="list[listIndex].questionType !== 1">{{
+              switchIndexBySelect()
             }}</span>
           </div>
           <!-- <div class="w46 lh46 h46 answer-select font20 font-bold flex-grow-0">
@@ -193,9 +214,14 @@
       <div class="h-full">
         <img
           class="h-full mr-auto ml-auto"
-          v-if="list[listIndex].image"
-          :src="list[listIndex].image"
+          v-if="list[listIndex].mediaUrl"
+          :src="list[listIndex].mediaUrl"
         />
+        <!-- <video
+          v-if="list[listIndex].mediaUrl"
+          :src="list[listIndex].mediaUrl"
+          class="h-full mr-auto ml-auto"
+        ></video> -->
       </div>
     </div>
 
@@ -218,7 +244,7 @@ import mProblemAlert from "@/components/mProblemAlert/index.vue";
 import mProblemDialog from "@/components/mProblemDialog/index.vue";
 import api from "@/api";
 import { openApi } from "@/api/open/type";
-import { useDriverExam } from "@/hooks/exam/driverExam";
+import { useThreeExam } from "@/hooks/exam/threeExam";
 import { useRoute } from "vue-router";
 export default defineComponent({
   name: "driverExam",
@@ -227,12 +253,7 @@ export default defineComponent({
     return {
       alertVisible: ref(false),
       dialogVisible: ref(false),
-      ...useDriverExam(
-        api.open.questionInfoSelectTestK14QuestionInfoList({
-          subject: Number(route.query.subject),
-          gs: route.query.gs as string,
-        })
-      ),
+      ...useThreeExam(api.three.threeForceSelectTestQuestionInfoList()),
     };
   },
 
@@ -242,7 +263,14 @@ export default defineComponent({
   },
 });
 </script>
-
+<style lang="scss">
+.three-issue {
+  display: inline-block;
+  img {
+    display: inline-block;
+  }
+}
+</style>
 <style lang="scss" scoped>
 .text-red {
   color: red;