"use strict"; const common_vendor = require("../../../common/vendor.js"); const common_assets = require("../../../common/assets.js"); const config_api = require("../../../config/api.js"); require("../../../uni_modules/uview-plus/index.js"); const store_modules_car = require("../../../store/modules/car.js"); const uni_modules_uviewPlus_libs_function_debounce = require("../../../uni_modules/uview-plus/libs/function/debounce.js"); if (!Array) { const _easycom_up_count_down2 = common_vendor.resolveComponent("up-count-down"); const _easycom_up_navbar2 = common_vendor.resolveComponent("up-navbar"); const _easycom_up_icon2 = common_vendor.resolveComponent("up-icon"); const _easycom_up_popup2 = common_vendor.resolveComponent("up-popup"); const _easycom_up_textarea2 = common_vendor.resolveComponent("up-textarea"); const _easycom_up_button2 = common_vendor.resolveComponent("up-button"); (_easycom_up_count_down2 + _easycom_up_navbar2 + _easycom_up_icon2 + _easycom_up_popup2 + _easycom_up_textarea2 + _easycom_up_button2)(); } const _easycom_up_count_down = () => "../../../uni_modules/uview-plus/components/u-count-down/u-count-down.js"; const _easycom_up_navbar = () => "../../../uni_modules/uview-plus/components/u-navbar/u-navbar.js"; const _easycom_up_icon = () => "../../../uni_modules/uview-plus/components/u-icon/u-icon.js"; const _easycom_up_popup = () => "../../../uni_modules/uview-plus/components/u-popup/u-popup.js"; const _easycom_up_textarea = () => "../../../uni_modules/uview-plus/components/u-textarea/u-textarea.js"; const _easycom_up_button = () => "../../../uni_modules/uview-plus/components/u-button/u-button.js"; if (!Math) { (_easycom_up_count_down + _easycom_up_navbar + _easycom_up_icon + _easycom_up_popup + _easycom_up_textarea + _easycom_up_button)(); } const _sfc_main = { __name: "examQuestions", setup(__props) { function speak(text) { const speech = new SpeechSynthesisUtterance(text); window.speechSynthesis.speak(speech); } const currentNav = common_vendor.ref("1"); const types = common_vendor.ref([ "单选题", "多选题", "判断题" ]); const yesNum = common_vendor.ref(0); const noNum = common_vendor.ref(0); let showCommit = common_vendor.ref(false); let usecarStore = store_modules_car.carStore(); let totalExamTime = common_vendor.ref(45); let passScore = common_vendor.ref(90); common_vendor.onLoad((options) => { totalExamTime.value = options.totalExamTime; passScore.value = options.score; }); const show = common_vendor.ref(false); function closePopup() { show.value = false; } function openPopup() { show.value = true; } let showCommt = common_vendor.ref(false); let contentStr = common_vendor.ref(""); function showCommtClose() { showCommt.value = false; contentStr.value = ""; } const questionBank = common_vendor.ref({}); const questionBankList = common_vendor.ref([]); let examInfo = common_vendor.ref([]); let currentIndex = common_vendor.ref(0); async function startQuestionFn() { try { common_vendor.index.showLoading({ title: "正在加载..." }); let obj = { carType: usecarStore.carInfo.carType, stepType: usecarStore.carInfo.stepType, city: usecarStore.carInfo.city, examType: 1 }; const { data: res } = await config_api.startExam(obj); common_vendor.index.hideLoading(); questionBank.value = res.questionBank[0]; questionBankList.value = res.questionBank; initOptionArr(); examInfo.value = res; } catch (e) { common_vendor.index.hideLoading(); } } startQuestionFn(); common_vendor.watch(() => questionBankList, (newVal, oldVal) => { yesNum.value = oldVal.value.filter((item) => item.yes).length; noNum.value = oldVal.value.filter((item) => item.yes == 0).length; }, { deep: true }); function initOptionArr() { questionBank.value.optionArr = []; let abcd = [ "a", "b", "c", "d", "e", "f" ]; abcd.forEach((k, i) => { let option = "option" + k; if (questionBank.value[option]) { let obj = { key: k.toLocaleUpperCase(), text: questionBank.value[option], index: i + 1 }; questionBank.value.optionArr.push(obj); } }); if (questionBank.value.types == 3) { questionBank.value.optionArr[0].key = "true"; questionBank.value.optionArr[1].key = "false"; } } async function nextQuestion(num) { if (questionBank.value.types == 2 && curOption.value.ans) { if (!curOption.value.answer) { curOption.value.answer = curOption.value.ans; } if (questionBank.value.answer != curOption.value.ans && curOption.value.isNext != "next") { curOption.value.isNext = "next"; questionBank.value.yes = 0; return false; } else if (questionBank.value.answer == curOption.value.ans) { questionBank.value.yes = 1; } } curOption.value = {}; currentIndex.value = currentIndex.value + num; getQuestionFn(); } async function getQuestionFn() { console.log(currentIndex.value); questionBank.value = questionBankList.value[currentIndex.value]; curOption.value = {}; curOption.value.isNext = ""; initOptionArr(); } async function quesIdListClick(id, index) { curOption.value = {}; currentIndex.value = index; getQuestionFn(); show.value = false; } async function questionWrongColleFn() { let isAdd = questionBank.value.isCollect == 1 ? "0" : "1"; const obj = { "carType": usecarStore.carInfo.carType, "isAdd": isAdd, "questionId": questionBank.value.id, "stepType": usecarStore.carInfo.stepType }; await config_api.questionWrongColle(obj); questionBank.value.isCollect = isAdd; console.log(questionBank.value.isCollect); } const curOption = common_vendor.ref({}); async function chooseOption(item) { console.log(item); if (curOption.value.answer) return; if (questionBank.value.types != 2) { if (questionBank.value.answer == item.key) { questionBank.value.yes = 1; currentIndex.value = currentIndex.value + 1; curOption.value = item; setTimeout(() => { getQuestionFn(); }, 500); } else { item.answer = item.key; curOption.value = item; questionBank.value.yes = 0; } } else if (questionBank.value.types == 2) { if (!curOption.value.ans) curOption.value.ans = ""; if (curOption.value.ans.includes(item.key)) { curOption.value.ans = curOption.value.ans.replace(item.key, ""); return; } curOption.value.ans = (curOption.value.ans + item.key).split("").sort().join(""); } } let remaining = common_vendor.ref(0); let countDownRef = common_vendor.ref(null); function handApaper() { let arr = questionBankList.value.filter((item) => item.yes == void 0); if (arr.length || passScore.value * 1 > yesNum.value) { remaining.value = arr.length; showCommit.value = true; if (countDownRef.value) { countDownRef.value.pause(); } } else { submitBtnFn(); } } function closeCommitPopup() { showCommit.value = false; if (countDownRef.value) { countDownRef.value.start(); } } async function submitBtnFn() { let wrongArr = questionBankList.value.filter((item) => item.yes != 1); let worngId = wrongArr.map((item) => item.id).join(","); let obj = { "answer": null, "carType": usecarStore.carInfo.carType, "examId": examInfo.value.id, "examType": 1, "grade": questionBankList.value.length - wrongArr.length, "isEnd": 1, "pass": 1, "sort": examInfo.value.sort, "stepType": usecarStore.carInfo.stepType, "userId": examInfo.value.userId, "wrongQuestionIds": worngId }; const res = await config_api.startExamDo(obj); console.log(res); common_vendor.index.$u.toast("已交卷"); setTimeout(() => { common_vendor.index.navigateBack(); }, 1500); } function finishFn() { common_vendor.index.$u.toast("考试时间已到,准备自动为您交卷"); setTimeout(() => { submitBtnFn(); }, 1500); } function goBack() { common_vendor.index.navigateBack(); } return (_ctx, _cache) => { return common_vendor.e({ a: common_vendor.sr(countDownRef, "7aaaebcc-1,7aaaebcc-0", { "k": "countDownRef" }), b: common_vendor.o(finishFn), c: common_vendor.p({ time: common_vendor.unref(totalExamTime) * 60 * 1e3, format: "mm:ss" }), d: common_vendor.p({ leftText: " ", title: "", safeAreaInsetTop: false, autoBack: true }), e: common_vendor.p({ name: "checkmark-circle-fill", color: "#55ff7f", size: "20" }), f: common_vendor.t(yesNum.value), g: common_vendor.p({ name: "close-circle-fill", color: "#ff0000", size: "20" }), h: common_vendor.t(noNum.value), i: common_vendor.t(common_vendor.unref(currentIndex) + 1), j: common_vendor.t(questionBankList.value.length), k: common_vendor.t(types.value[questionBank.value.types - 1]), l: questionBank.value.types == 2 ? 1 : "", m: questionBank.value.types == 3 ? 1 : "", n: common_vendor.t(questionBank.value.title), o: common_vendor.o(($event) => speak(questionBank.value.title)), p: questionBank.value.img }, questionBank.value.img ? { q: questionBank.value.img } : {}, { r: common_vendor.f(questionBank.value.optionArr, (item, index, i0) => { var _a, _b; return common_vendor.e(questionBank.value.types == 2 && (!curOption.value.answer || curOption.value.answer == questionBank.value.answer) ? common_vendor.e({ a: (_a = curOption.value.ans) == null ? void 0 : _a.includes(item.key) }, ((_b = curOption.value.ans) == null ? void 0 : _b.includes(item.key)) ? { b: "7aaaebcc-4-" + i0, c: common_vendor.p({ name: "checkmark-circle-fill", color: "#55ff7f", size: "20" }) } : {}, { d: common_vendor.t(item.key), e: common_vendor.t(item.text) }) : common_vendor.e({ f: !curOption.value.key && questionBank.value.types != 2 }, !curOption.value.key && questionBank.value.types != 2 ? {} : questionBank.value.answer.includes(item.key) ? { h: "7aaaebcc-5-" + i0, i: common_vendor.p({ name: "checkmark-circle-fill", color: "#55ff7f", size: "20" }) } : { j: "7aaaebcc-6-" + i0, k: common_vendor.p({ name: "close-circle-fill", color: "#ff0000", size: "20" }) }, { g: questionBank.value.answer.includes(item.key), l: questionBank.value.types != 3 }, questionBank.value.types != 3 ? { m: common_vendor.t(item.key) } : {}, { n: common_vendor.t(item.text) }), { o: common_vendor.o(($event) => chooseOption(item)) }); }), s: questionBank.value.types == 2 && (!curOption.value.answer || curOption.value.answer == questionBank.value.answer), t: curOption.value.answer && questionBank.value.answer != curOption.value.answer }, curOption.value.answer && questionBank.value.answer != curOption.value.answer ? common_vendor.e({ v: questionBank.value.types == 3 }, questionBank.value.types == 3 ? { w: common_vendor.t(questionBank.value.answer == "false" ? "错误" : "正确") } : { x: common_vendor.t(questionBank.value.answer) }, { y: questionBank.value.types == 3 }, questionBank.value.types == 3 ? { z: common_vendor.t(curOption.value.answer == "false" ? "错误" : "正确") } : { A: common_vendor.t(curOption.value.answer) }) : {}, { B: common_vendor.o(($event) => common_vendor.unref(uni_modules_uviewPlus_libs_function_debounce.debounce)(nextQuestion(-1), 500)), C: common_vendor.unref(currentIndex) == 0 ? 1 : "", D: common_vendor.unref(currentIndex) == 0, E: common_vendor.o(($event) => common_vendor.unref(uni_modules_uviewPlus_libs_function_debounce.debounce)(nextQuestion(1), 500)), F: common_vendor.unref(currentIndex) >= questionBankList.value.length - 1 ? 1 : "", G: common_vendor.unref(currentIndex) >= questionBankList.value.length - 1, H: currentNav.value == 2 || curOption.value.answer && curOption.value.answer != questionBank.value.answer }, currentNav.value == 2 || curOption.value.answer && curOption.value.answer != questionBank.value.answer ? { I: common_vendor.t(questionBank.value.resolving) } : {}, { J: common_assets._imports_0$3, K: common_vendor.o(($event) => common_vendor.isRef(showCommt) ? showCommt.value = true : showCommt = true), L: common_assets._imports_1$1, M: common_vendor.o(openPopup), N: questionBank.value.isCollect == "1" }, questionBank.value.isCollect == "1" ? { O: common_assets._imports_2$1 } : { P: common_assets._imports_3$1 }, { Q: common_vendor.o(questionWrongColleFn), R: common_vendor.o(handApaper), S: common_vendor.t(yesNum.value), T: common_vendor.t(noNum.value), U: common_vendor.t(common_vendor.unref(currentIndex) + 1), V: common_vendor.t(questionBankList.value.length), W: common_vendor.f(questionBankList.value, (item, index, i0) => { return common_vendor.e({ a: common_vendor.t(index + 1), b: index == common_vendor.unref(currentIndex) }, index == common_vendor.unref(currentIndex) ? {} : {}, { c: item.yes == 1 ? 1 : "", d: item.yes == 0 ? 1 : "", e: index, f: common_vendor.o(($event) => quesIdListClick(item, index), index) }); }), X: common_vendor.o(closePopup), Y: common_vendor.o(openPopup), Z: common_vendor.p({ show: show.value, mode: "bottom", round: "20", closeable: true }), aa: common_vendor.o(common_vendor.m(($event) => common_vendor.isRef(contentStr) ? contentStr.value = $event : contentStr = $event, { trim: true }, true)), ab: common_vendor.p({ placeholder: "请输入反馈内容", maxlength: "300", modelValue: common_vendor.unref(contentStr) }), ac: common_vendor.o(_ctx.submitClick), ad: common_vendor.p({ text: "提 交", type: "primary" }), ae: common_vendor.o(showCommtClose), af: common_vendor.p({ show: common_vendor.unref(showCommt), mode: "bottom", round: "20rpx", closeable: true }), ag: common_vendor.unref(remaining) }, common_vendor.unref(remaining) ? {} : common_vendor.unref(passScore).value * 1 > yesNum.value.value ? {} : {}, { ah: common_vendor.unref(passScore).value * 1 > yesNum.value.value, ai: common_vendor.t(common_vendor.unref(remaining)), aj: common_vendor.t(questionBankList.value.length - common_vendor.unref(remaining)), ak: common_vendor.sr(countDownRef, "7aaaebcc-12,7aaaebcc-11", { "k": "countDownRef" }), al: common_vendor.p({ time: common_vendor.unref(totalExamTime) * 60 * 60 * 1e3, format: "HH:mm" }), am: common_assets._imports_4$1, an: common_vendor.unref(remaining) }, common_vendor.unref(remaining) ? { ao: common_vendor.o(goBack), ap: common_vendor.o(closeCommitPopup) } : { aq: common_vendor.o(closeCommitPopup), ar: common_vendor.o(submitBtnFn) }, { as: common_vendor.o(closeCommitPopup), at: common_vendor.p({ show: common_vendor.unref(showCommit), mode: "center", round: "20rpx", closeable: true }) }); }; } }; const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-7aaaebcc"]]); wx.createPage(MiniProgramPage);