123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739 |
- import { ref, watch } from "vue";
- import dayjs from "dayjs";
- import Api from '@/api/api';
- import router from "@/router/"
- import store from "@/store/"
- export function useExamTest() {
- let letter = ["A", "B", "C", "D", "E", "F"]
- let interfaceErrVisible = ref(false)
- let correctAnswerVisible = ref(false)
- let list = ref<selectTestQuestionInfo.row[]>([
- {
- createTime: '2021-11-05 10:25:51',
- id: 20,
- answerArr: [""],
- image: null,
- imageYdt: null,
- answer: '√',
- answerkeyword: null,
- explainGif: 'https://t1-1305573081.file.myqcloud.com/qb/gif/20.gif',
- explainJq: '题目中看到“追究”.答对;“不追究”.答错。',
- explainJs:
- '《道路交通安全法》第九十九条:未取得机动车驾驶证、机动车驾驶证被吊销或者机动车驾驶证被暂扣期间驾驶机动车的,由公安机关交通管理部门处二百元以上二千元以下罚款,可以并处十五日以下拘留。',
- explainMp3: 'https://t1-1305573081.file.myqcloud.com/qb/mp3/explain20.mp3',
- issue: '对未取得驾驶证驾驶机动车的,追究其法律责任。',
- opts: '√-×',
- optsArr: ['√', '×'],
- skillkeyword: '追究-答对',
- titlekeyword: '追究',
- issuemp3: 'https://t1-1305573081.file.myqcloud.com/qb/issue/issue20.mp3',
- answermp3: 'https://t1-1305573081.file.myqcloud.com/qb/answer/answer20.mp3',
- explainjsmp3: 'https://t1-1305573081.file.myqcloud.com/qb/explainjs/explainJS20.mp3',
- liceCar: '1',
- liceBus: '1',
- liceTruck: '1',
- liceMoto: '0',
- sequeIssue: '2',
- classIssue: '32',
- placeIssue: '0',
- excellIssue: '1',
- copyIssue: '0',
- mockIssue: '0',
- sequeIssueName: '练习二',
- placeIssueName: null,
- excellIssueName: '必学题一',
- classIssueName: '刑法题',
- questionType: 1,
- subject: 1,
- classSort: 16,
- excellSort: 39,
- sequeSort: 118,
- placeSort: null,
- userAnswer: '',
- },
- {
- createTime: '2021-11-05 10:25:51',
- id: 20,
- image: null,
- imageYdt: null,
- answer: '√',
- answerkeyword: null,
- explainGif: 'https://t1-1305573081.file.myqcloud.com/qb/gif/20.gif',
- explainJq: '题目中看到“追究”.答对;“不追究”.答错。',
- explainJs:
- '《道路交通安全法》第九十九条:未取得机动车驾驶证、机动车驾驶证被吊销或者机动车驾驶证被暂扣期间驾驶机动车的,由公安机关交通管理部门处二百元以上二千元以下罚款,可以并处十五日以下拘留。',
- explainMp3: 'https://t1-1305573081.file.myqcloud.com/qb/mp3/explain20.mp3',
- issue: '对未取得驾驶证驾驶机动车的,追究其法律责任。',
- opts: '√-×',
- optsArr: ['√', '×'],
- skillkeyword: '追究-答对',
- titlekeyword: '追究',
- issuemp3: 'https://t1-1305573081.file.myqcloud.com/qb/issue/issue20.mp3',
- answermp3: 'https://t1-1305573081.file.myqcloud.com/qb/answer/answer20.mp3',
- explainjsmp3: 'https://t1-1305573081.file.myqcloud.com/qb/explainjs/explainJS20.mp3',
- liceCar: '1',
- liceBus: '1',
- liceTruck: '1',
- liceMoto: '0',
- sequeIssue: '2',
- classIssue: '32',
- placeIssue: '0',
- excellIssue: '1',
- copyIssue: '0',
- mockIssue: '0',
- sequeIssueName: '练习二',
- placeIssueName: null,
- excellIssueName: '必学题一',
- classIssueName: '刑法题',
- questionType: 1,
- subject: 1,
- classSort: 16,
- excellSort: 39,
- sequeSort: 118,
- placeSort: null,
- userAnswer: '',
- },
- {
- createTime: '2021-11-05 10:25:51',
- id: 20,
- image: null,
- imageYdt: null,
- answer: '√',
- answerkeyword: null,
- explainGif: 'https://t1-1305573081.file.myqcloud.com/qb/gif/20.gif',
- explainJq: '题目中看到“追究”.答对;“不追究”.答错。',
- explainJs:
- '《道路交通安全法》第九十九条:未取得机动车驾驶证、机动车驾驶证被吊销或者机动车驾驶证被暂扣期间驾驶机动车的,由公安机关交通管理部门处二百元以上二千元以下罚款,可以并处十五日以下拘留。',
- explainMp3: 'https://t1-1305573081.file.myqcloud.com/qb/mp3/explain20.mp3',
- issue: '对未取得驾驶证驾驶机动车的,追究其法律责任。',
- opts: '√-×',
- optsArr: ['√', '×'],
- skillkeyword: '追究-答对',
- titlekeyword: '追究',
- issuemp3: 'https://t1-1305573081.file.myqcloud.com/qb/issue/issue20.mp3',
- answermp3: 'https://t1-1305573081.file.myqcloud.com/qb/answer/answer20.mp3',
- explainjsmp3: 'https://t1-1305573081.file.myqcloud.com/qb/explainjs/explainJS20.mp3',
- liceCar: '1',
- liceBus: '1',
- liceTruck: '1',
- liceMoto: '0',
- sequeIssue: '2',
- classIssue: '32',
- placeIssue: '0',
- excellIssue: '1',
- copyIssue: '0',
- mockIssue: '0',
- sequeIssueName: '练习二',
- placeIssueName: null,
- excellIssueName: '必学题一',
- classIssueName: '刑法题',
- questionType: 1,
- subject: 1,
- classSort: 16,
- excellSort: 39,
- sequeSort: 118,
- placeSort: null,
- userAnswer: '',
- },
- {
- createTime: '2021-11-05 10:25:51',
- id: 20,
- image: null,
- imageYdt: null,
- answer: '√',
- answerkeyword: null,
- explainGif: 'https://t1-1305573081.file.myqcloud.com/qb/gif/20.gif',
- explainJq: '题目中看到“追究”.答对;“不追究”.答错。',
- explainJs:
- '《道路交通安全法》第九十九条:未取得机动车驾驶证、机动车驾驶证被吊销或者机动车驾驶证被暂扣期间驾驶机动车的,由公安机关交通管理部门处二百元以上二千元以下罚款,可以并处十五日以下拘留。',
- explainMp3: 'https://t1-1305573081.file.myqcloud.com/qb/mp3/explain20.mp3',
- issue: '对未取得驾驶证驾驶机动车的,追究其法律责任。',
- opts: '√-×',
- optsArr: ['√', '×'],
- skillkeyword: '追究-答对',
- titlekeyword: '追究',
- issuemp3: 'https://t1-1305573081.file.myqcloud.com/qb/issue/issue20.mp3',
- answermp3: 'https://t1-1305573081.file.myqcloud.com/qb/answer/answer20.mp3',
- explainjsmp3: 'https://t1-1305573081.file.myqcloud.com/qb/explainjs/explainJS20.mp3',
- liceCar: '1',
- liceBus: '1',
- liceTruck: '1',
- liceMoto: '0',
- sequeIssue: '2',
- classIssue: '32',
- placeIssue: '0',
- excellIssue: '1',
- copyIssue: '0',
- mockIssue: '0',
- sequeIssueName: '练习二',
- placeIssueName: null,
- excellIssueName: '必学题一',
- classIssueName: '刑法题',
- questionType: 1,
- subject: 1,
- classSort: 16,
- excellSort: 39,
- sequeSort: 118,
- placeSort: null,
- userAnswer: '',
- },
- {
- createTime: '2021-11-05 10:25:51',
- id: 20,
- image: null,
- imageYdt: null,
- answer: '√',
- answerkeyword: null,
- explainGif: 'https://t1-1305573081.file.myqcloud.com/qb/gif/20.gif',
- explainJq: '题目中看到“追究”.答对;“不追究”.答错。',
- explainJs:
- '《道路交通安全法》第九十九条:未取得机动车驾驶证、机动车驾驶证被吊销或者机动车驾驶证被暂扣期间驾驶机动车的,由公安机关交通管理部门处二百元以上二千元以下罚款,可以并处十五日以下拘留。',
- explainMp3: 'https://t1-1305573081.file.myqcloud.com/qb/mp3/explain20.mp3',
- issue: '对未取得驾驶证驾驶机动车的,追究其法律责任。',
- opts: '√-×',
- optsArr: ['√', '×'],
- skillkeyword: '追究-答对',
- titlekeyword: '追究',
- issuemp3: 'https://t1-1305573081.file.myqcloud.com/qb/issue/issue20.mp3',
- answermp3: 'https://t1-1305573081.file.myqcloud.com/qb/answer/answer20.mp3',
- explainjsmp3: 'https://t1-1305573081.file.myqcloud.com/qb/explainjs/explainJS20.mp3',
- liceCar: '1',
- liceBus: '1',
- liceTruck: '1',
- liceMoto: '0',
- sequeIssue: '2',
- classIssue: '32',
- placeIssue: '0',
- excellIssue: '1',
- copyIssue: '0',
- mockIssue: '0',
- sequeIssueName: '练习二',
- placeIssueName: null,
- excellIssueName: '必学题一',
- classIssueName: '刑法题',
- questionType: 1,
- subject: 1,
- classSort: 16,
- excellSort: 39,
- sequeSort: 118,
- placeSort: null,
- userAnswer: '',
- },
- {
- createTime: '2021-11-05 10:25:51',
- id: 20,
- image: null,
- imageYdt: null,
- answer: '√',
- answerkeyword: null,
- explainGif: 'https://t1-1305573081.file.myqcloud.com/qb/gif/20.gif',
- explainJq: '题目中看到“追究”.答对;“不追究”.答错。',
- explainJs:
- '《道路交通安全法》第九十九条:未取得机动车驾驶证、机动车驾驶证被吊销或者机动车驾驶证被暂扣期间驾驶机动车的,由公安机关交通管理部门处二百元以上二千元以下罚款,可以并处十五日以下拘留。',
- explainMp3: 'https://t1-1305573081.file.myqcloud.com/qb/mp3/explain20.mp3',
- issue: '对未取得驾驶证驾驶机动车的,追究其法律责任。',
- opts: '√-×',
- optsArr: ['√', '×'],
- skillkeyword: '追究-答对',
- titlekeyword: '追究',
- issuemp3: 'https://t1-1305573081.file.myqcloud.com/qb/issue/issue20.mp3',
- answermp3: 'https://t1-1305573081.file.myqcloud.com/qb/answer/answer20.mp3',
- explainjsmp3: 'https://t1-1305573081.file.myqcloud.com/qb/explainjs/explainJS20.mp3',
- liceCar: '1',
- liceBus: '1',
- liceTruck: '1',
- liceMoto: '0',
- sequeIssue: '2',
- classIssue: '32',
- placeIssue: '0',
- excellIssue: '1',
- copyIssue: '0',
- mockIssue: '0',
- sequeIssueName: '练习二',
- placeIssueName: null,
- excellIssueName: '必学题一',
- classIssueName: '刑法题',
- questionType: 1,
- subject: 1,
- classSort: 16,
- excellSort: 39,
- sequeSort: 118,
- placeSort: null,
- userAnswer: '',
- },
- {
- createTime: '2021-11-05 10:25:51',
- id: 20,
- image: null,
- imageYdt: null,
- answer: '√',
- answerkeyword: null,
- explainGif: 'https://t1-1305573081.file.myqcloud.com/qb/gif/20.gif',
- explainJq: '题目中看到“追究”.答对;“不追究”.答错。',
- explainJs:
- '《道路交通安全法》第九十九条:未取得机动车驾驶证、机动车驾驶证被吊销或者机动车驾驶证被暂扣期间驾驶机动车的,由公安机关交通管理部门处二百元以上二千元以下罚款,可以并处十五日以下拘留。',
- explainMp3: 'https://t1-1305573081.file.myqcloud.com/qb/mp3/explain20.mp3',
- issue: '对未取得驾驶证驾驶机动车的,追究其法律责任。',
- opts: '√-×',
- optsArr: ['√', '×'],
- skillkeyword: '追究-答对',
- titlekeyword: '追究',
- issuemp3: 'https://t1-1305573081.file.myqcloud.com/qb/issue/issue20.mp3',
- answermp3: 'https://t1-1305573081.file.myqcloud.com/qb/answer/answer20.mp3',
- explainjsmp3: 'https://t1-1305573081.file.myqcloud.com/qb/explainjs/explainJS20.mp3',
- liceCar: '1',
- liceBus: '1',
- liceTruck: '1',
- liceMoto: '0',
- sequeIssue: '2',
- classIssue: '32',
- placeIssue: '0',
- excellIssue: '1',
- copyIssue: '0',
- mockIssue: '0',
- sequeIssueName: '练习二',
- placeIssueName: null,
- excellIssueName: '必学题一',
- classIssueName: '刑法题',
- questionType: 1,
- subject: 1,
- classSort: 16,
- excellSort: 39,
- sequeSort: 118,
- placeSort: null,
- userAnswer: '',
- },
- {
- createTime: '2021-11-05 10:25:51',
- id: 20,
- image: null,
- imageYdt: null,
- answer: '√',
- answerkeyword: null,
- explainGif: 'https://t1-1305573081.file.myqcloud.com/qb/gif/20.gif',
- explainJq: '题目中看到“追究”.答对;“不追究”.答错。',
- explainJs:
- '《道路交通安全法》第九十九条:未取得机动车驾驶证、机动车驾驶证被吊销或者机动车驾驶证被暂扣期间驾驶机动车的,由公安机关交通管理部门处二百元以上二千元以下罚款,可以并处十五日以下拘留。',
- explainMp3: 'https://t1-1305573081.file.myqcloud.com/qb/mp3/explain20.mp3',
- issue: '对未取得驾驶证驾驶机动车的,追究其法律责任。',
- opts: '√-×',
- optsArr: ['√', '×'],
- skillkeyword: '追究-答对',
- titlekeyword: '追究',
- issuemp3: 'https://t1-1305573081.file.myqcloud.com/qb/issue/issue20.mp3',
- answermp3: 'https://t1-1305573081.file.myqcloud.com/qb/answer/answer20.mp3',
- explainjsmp3: 'https://t1-1305573081.file.myqcloud.com/qb/explainjs/explainJS20.mp3',
- liceCar: '1',
- liceBus: '1',
- liceTruck: '1',
- liceMoto: '0',
- sequeIssue: '2',
- classIssue: '32',
- placeIssue: '0',
- excellIssue: '1',
- copyIssue: '0',
- mockIssue: '0',
- sequeIssueName: '练习二',
- placeIssueName: null,
- excellIssueName: '必学题一',
- classIssueName: '刑法题',
- questionType: 1,
- subject: 1,
- classSort: 16,
- excellSort: 39,
- sequeSort: 118,
- placeSort: null,
- userAnswer: '',
- },
- {
- createTime: '2021-11-05 10:25:51',
- id: 20,
- image: null,
- imageYdt: null,
- answer: '√',
- answerkeyword: null,
- explainGif: 'https://t1-1305573081.file.myqcloud.com/qb/gif/20.gif',
- explainJq: '题目中看到“追究”.答对;“不追究”.答错。',
- explainJs:
- '《道路交通安全法》第九十九条:未取得机动车驾驶证、机动车驾驶证被吊销或者机动车驾驶证被暂扣期间驾驶机动车的,由公安机关交通管理部门处二百元以上二千元以下罚款,可以并处十五日以下拘留。',
- explainMp3: 'https://t1-1305573081.file.myqcloud.com/qb/mp3/explain20.mp3',
- issue: '对未取得驾驶证驾驶机动车的,追究其法律责任。',
- opts: '√-×',
- optsArr: ['√', '×'],
- skillkeyword: '追究-答对',
- titlekeyword: '追究',
- issuemp3: 'https://t1-1305573081.file.myqcloud.com/qb/issue/issue20.mp3',
- answermp3: 'https://t1-1305573081.file.myqcloud.com/qb/answer/answer20.mp3',
- explainjsmp3: 'https://t1-1305573081.file.myqcloud.com/qb/explainjs/explainJS20.mp3',
- liceCar: '1',
- liceBus: '1',
- liceTruck: '1',
- liceMoto: '0',
- sequeIssue: '2',
- classIssue: '32',
- placeIssue: '0',
- excellIssue: '1',
- copyIssue: '0',
- mockIssue: '0',
- sequeIssueName: '练习二',
- placeIssueName: null,
- excellIssueName: '必学题一',
- classIssueName: '刑法题',
- questionType: 1,
- subject: 1,
- classSort: 16,
- excellSort: 39,
- sequeSort: 118,
- placeSort: null,
- userAnswer: '',
- },
- {
- createTime: '2021-11-05 10:25:51',
- id: 20,
- image: null,
- imageYdt: null,
- answer: '√',
- answerkeyword: null,
- explainGif: 'https://t1-1305573081.file.myqcloud.com/qb/gif/20.gif',
- explainJq: '题目中看到“追究”.答对;“不追究”.答错。',
- explainJs:
- '《道路交通安全法》第九十九条:未取得机动车驾驶证、机动车驾驶证被吊销或者机动车驾驶证被暂扣期间驾驶机动车的,由公安机关交通管理部门处二百元以上二千元以下罚款,可以并处十五日以下拘留。',
- explainMp3: 'https://t1-1305573081.file.myqcloud.com/qb/mp3/explain20.mp3',
- issue: '对未取得驾驶证驾驶机动车的,追究其法律责任。',
- opts: '√-×',
- optsArr: ['√', '×'],
- skillkeyword: '追究-答对',
- titlekeyword: '追究',
- issuemp3: 'https://t1-1305573081.file.myqcloud.com/qb/issue/issue20.mp3',
- answermp3: 'https://t1-1305573081.file.myqcloud.com/qb/answer/answer20.mp3',
- explainjsmp3: 'https://t1-1305573081.file.myqcloud.com/qb/explainjs/explainJS20.mp3',
- liceCar: '1',
- liceBus: '1',
- liceTruck: '1',
- liceMoto: '0',
- sequeIssue: '2',
- classIssue: '32',
- placeIssue: '0',
- excellIssue: '1',
- copyIssue: '0',
- mockIssue: '0',
- sequeIssueName: '练习二',
- placeIssueName: null,
- excellIssueName: '必学题一',
- classIssueName: '刑法题',
- questionType: 1,
- subject: 1,
- classSort: 16,
- excellSort: 39,
- sequeSort: 118,
- placeSort: null,
- userAnswer: '',
- },
- ]);
- let correctScore = ref(0)
- let errorScore = ref(0)
- let beforeSubmitVisible = ref(false)
- let submitVisible = ref(false)
- let wrongQuestion = ref<selectTestQuestionInfo.row>({
- createTime: "2021-11-05 10:25:51",
- id: 20,
- image: null,
- imageYdt: null,
- answer: "√",
- answerkeyword: null,
- explainGif: "https://t1-1305573081.file.myqcloud.com/qb/gif/20.gif",
- explainJq: "题目中看到“追究”.答对;“不追究”.答错。",
- explainJs:
- "《道路交通安全法》第九十九条:未取得机动车驾驶证、机动车驾驶证被吊销或者机动车驾驶证被暂扣期间驾驶机动车的,由公安机关交通管理部门处二百元以上二千元以下罚款,可以并处十五日以下拘留。",
- explainMp3:
- "https://t1-1305573081.file.myqcloud.com/qb/mp3/explain20.mp3",
- issue: "对未取得驾驶证驾驶机动车的,追究其法律责任。",
- opts: "√-×",
- optsArr: ["√", "×"],
- skillkeyword: "追究-答对",
- titlekeyword: "追究",
- issuemp3:
- "https://t1-1305573081.file.myqcloud.com/qb/issue/issue20.mp3",
- answermp3:
- "https://t1-1305573081.file.myqcloud.com/qb/answer/answer20.mp3",
- explainjsmp3:
- "https://t1-1305573081.file.myqcloud.com/qb/explainjs/explainJS20.mp3",
- liceCar: "1",
- liceBus: "1",
- liceTruck: "1",
- liceMoto: "0",
- sequeIssue: "2",
- classIssue: "32",
- placeIssue: "0",
- excellIssue: "1",
- copyIssue: "0",
- mockIssue: "0",
- sequeIssueName: "练习二",
- placeIssueName: null,
- excellIssueName: "必学题一",
- classIssueName: "刑法题",
- questionType: 1,
- subject: 1,
- classSort: 16,
- excellSort: 39,
- sequeSort: 118,
- placeSort: null,
- userAnswer: "",
- })
- let submitScore = () => {
- //重置为0,不然会有数据不准确的bug
- correctScore.value = 0
- errorScore.value = 0
- list.value.forEach(item => {
- //如果item为假就不统计
- if (item.userAnswer.length == 0) {
- return
- }
- if (item.questionType < 3) {
- correctScore.value += item.answer == item.userAnswer ? 1 : 0
- errorScore.value += item.answer == item.userAnswer ? 0 : 1
- }
- else if (item.questionType == 3) {
- item.answer.split("-").sort().toString() === item.userAnswer.sort().toString() ? ++correctScore.value : ++errorScore.value
- }
- // correctScore.value += item.answer == item.userAnswer ? 1 : 0
- // if (item.userAnswer) {
- // errorScore.value += item.answer == item.userAnswer ? 0 : 1
- // }
- })
- beforeSubmitVisible.value = true
- store.commit('SET_ENDTIME', {
- endTime: `${dayjs().format('MM-DD HH:mm:ss')}`,
- });
- }
- let listIndex = ref(0);
- let wrongQuestionIndex = ref(0)
- watch(listIndex, (newVal:number, oldVal:number) => {
- if (newVal !== oldVal) {
- if (list.value[oldVal].questionType == 3) {
- let userAnswerLetter: any[] = [];
- list.value[oldVal].userAnswer.forEach((element: string) => {
- userAnswerLetter.push(
- letter[list.value[oldVal].optsArr.indexOf(element)]
- );
- });
- if (
- list.value[oldVal].userAnswer.length > 0 &&
- list.value[oldVal].userAnswer.sort().toString() !==
- list.value[oldVal].answer.split("-").sort().toString()
- ) {
- // this.$set(this.list[oldVal], "isError", true);
- list.value[oldVal].isError = true
- list.value[oldVal].isComplete = (list.value[oldVal].userAnswer.length!==0)
- list.value[oldVal].userAnswerLetter = userAnswerLetter.sort().join("")
- // this.$set(
- // this.list[oldVal],
- // "userAnswerLetter",
- // userAnswerLetter.sort().join("")
- // );
- correctAnswerVisible.value = true;
- wrongQuestion.value = list.value[oldVal];
- wrongQuestionIndex.value = oldVal;
- } else {
- list.value[oldVal].userAnswerLetter = userAnswerLetter.sort().join("")
- list.value[oldVal].isError = false
- list.value[oldVal].isComplete = (list.value[oldVal].userAnswer.length!==0)
- correctAnswerVisible.value = false;
- }
- } else if (list.value[oldVal].questionType < 3) {
- let userAnswerLetter = [];
- if (
- list.value[oldVal].userAnswer &&
- list.value[oldVal].userAnswer !== list.value[oldVal].answer
- ) {
- list.value[oldVal].userAnswerLetter = letter[
- list.value[oldVal].optsArr.indexOf(list.value[oldVal].userAnswer)
- ]
- list.value[oldVal].isError = true
- //判断是否完成
- list.value[oldVal].isComplete = (list.value[oldVal].userAnswer.length!==0)
- correctAnswerVisible.value = true;
- list.value[oldVal].userAnswerLetter = letter[
- list.value[oldVal].optsArr.indexOf(list.value[oldVal].userAnswer)
- ]
- wrongQuestion.value = list.value[oldVal];
- wrongQuestionIndex.value = oldVal;
- } else {
- correctAnswerVisible.value = false
- list.value[oldVal].isError = false
- //判断是否完成
- list.value[oldVal].isComplete = (list.value[oldVal].userAnswer.length!==0)
- list.value[oldVal].userAnswerLetter = letter[
- list.value[oldVal].optsArr.indexOf(list.value[oldVal].userAnswer)
- ]
- // this.$set(
- // this.list[oldVal],
- // "userAnswerLetter",
- // this.letter[
- // this.list[oldVal].optsArr.indexOf(this.list[oldVal].userAnswer)
- // ]
- // );
- // this.correctAnswer = false;
- }
- }
- }
- })
- let changeListIndex = (e: PointerEvent) => {
- if (e.target?.dataset?.key) {
- listIndex.value = Number(e.target?.dataset?.key) - 1;
- }
- };
- let selectExamAnswers = (item: string) => {
- if( list.value[listIndex.value].isComplete){
- return
- }
- if (list.value[listIndex.value].userAnswer.includes(item)) {
- list.value[listIndex.value].userAnswer = list.value[listIndex.value].userAnswer.filter((_item, _index) => {
- return _item !== item
- })
- }
- else {
- list.value[listIndex.value].userAnswer.push(item)
- }
-
- }
- let selectExamAnswer = (item: string) => {
- if( list.value[listIndex.value].isComplete){
- return
- }
- list.value[listIndex.value] = { ...list.value[listIndex.value], userAnswer: item };
- console.log(list.value[listIndex.value], item);
- };
- let beforeTopic = () => {
- if (listIndex.value == 0) {
- return;
- }
- listIndex.value = listIndex.value - 1;
- };
- let nextTopic = () => {
- if (listIndex.value == list.value.length - 1) {
- return;
- }
- listIndex.value = listIndex.value + 1;
- };
- let getPgae = () => {
- console.log(router)
- if(router.currentRoute.value.query.gs){
- let params = {
- gs:router.currentRoute.value.query.gs as string,
- // model: router.currentRoute.value.query.model as string,
- subject: Number(router.currentRoute.value.query.subject)
- }
- Api.openApiquestionInfoSelectTestQuestionInfo(params).then((res) => {
- res.data.rows.forEach((item) => {
- item.optsArr = item.opts.split('-');
- item.answerArr = item.answer.split('-');
- item.questionType < 3 ? item.userAnswer = '' : item.userAnswer = [];
- });
- if (!res.data.rows || res.data.rows.length === 0) {
- interfaceErrVisible.value = true
- return
- }
- //科目一多余100道题目的切割
- if (Number(router.currentRoute.value.query.subject) == 1 && res.data.rows.length > 100) {
- res.data.rows.splice(100)
-
- }
- //科目四多余50题切割
- if (Number(router.currentRoute.value.query.subject) == 4 && res.data.rows.length > 50) {
- res.data.rows.splice(50)
-
- }
- list.value = res.data.rows;
- }).catch(err => {
- interfaceErrVisible.value = true
- });
- }
- else{
- let params = {
- // gs:router.currentRoute.value.query.gs as string,
- model: router.currentRoute.value.query.model as string,
- subject: Number(router.currentRoute.value.query.subject)
- }
- Api.openApiquestion2InfoSelectTestQuestionInfo(params).then((res) => {
- res.data.rows.forEach((item) => {
- item.optsArr = item.opts.split('-');
- item.answerArr = item.answer.split('-');
- item.questionType < 3 ? item.userAnswer = '' : item.userAnswer = [];
- });
- if (!res.data.rows || res.data.rows.length === 0) {
- interfaceErrVisible.value = true
- return
- }
- //科目一多余100道题目的切割
- if (Number(router.currentRoute.value.query.subject) == 1 && res.data.rows.length > 100) {
- res.data.rows.splice(100)
-
- }
- //科目四多余50题切割
- if (Number(router.currentRoute.value.query.subject) == 4 && res.data.rows.length > 50) {
- res.data.rows.splice(50)
-
- }
- list.value = res.data.rows;
- }).catch(err => {
- interfaceErrVisible.value = true
- });
- }
-
- }
- return {
- interfaceErrVisible,
- submitScore,
- changeListIndex,
- selectExamAnswer,
- beforeTopic,
- nextTopic,
- getPgae,
- selectExamAnswers,
- listIndex,
- list,
- correctScore,
- errorScore,
- beforeSubmitVisible,
- submitVisible,
- wrongQuestion,
- wrongQuestionIndex,
- correctAnswerVisible,
- }
- }
|