{"version":3,"sources":["webpack:///./src/components/question/navigation/navigation.vue","webpack:///src/components/question/navigation/navigation.vue","webpack:///./src/components/question/navigation/navigation.vue?768c","webpack:///./src/components/question/navigation/navigation.vue?018a","webpack:///./src/views/mock/writing/writing.vue","webpack:///./src/views/mock/writing/writing.js","webpack:///src/views/mock/writing/writing.vue","webpack:///./src/views/mock/writing/writing.vue?adbb","webpack:///./src/views/mock/writing/writing.vue?8cd4","webpack:///./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack:///./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack:///./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack:///./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack:///./src/views/mock/writing/writing.vue?a222","webpack:///./src/views/mock/mixins/mockMix.js","webpack:///./src/components/question/navigation/navigation.vue?ee98"],"names":["render","_vm","this","_c","_self","staticClass","on","reviewQuestion","class","currentQuestionDesc","isReview","_v","_l","buttonGroups","buttonGroup","index","key","_s","part","questions","button","BIndex","beginNumber","$event","navigateAnswer","currentQuestion","isAnswered","attrs","questionNumber","preButton","handleArrow","nextButton","staticRenderFns","name","data","props","type","default","computed","buttons","arr","mapState","currentPart","mounted","methods","jump","setTimeout","document","mapActions","component","_setupProxy","isShowInstructions","showStep","require","staticStyle","_m","goNext","goTest","isShowNote","instructionsNote","closeNote","_e","partDesc","writingData","id","groups","group","question","domProps","content","length","directives","rawName","value","answer","expression","submitAnswer","target","composing","$set","wordCount","Base64","mixins","mockMix","options","pedantic","gfm","headerIds","headerPrefix","highlight","tables","breaks","sanitize","silent","smartLists","smartypants","mangle","xhtml","timeInterval","beginButton","paperId","exerciseType","routeQuery","$route","query","EXERCISE_TYPE","MOCK","params","setCurrentSection","setCountdownLimit","totalDuration","getRecordId","history","pushState","window","location","href","addEventListener","curTime","Number","currentQuestionId","recordId","state","tests","exerciseMode","recordDetails","detailIds","finished","callback","detail","section","MOCK_SECTION","WRITING","clearInterval","task1Id","task2Id","task1","question_id","task2","trim","push","remainingSecond","sessionStorage","leaveTestTime","spentSecond","spendTime","spent_second","remaining_second","second","postAnswer","answerInput","getSection","Api","res","JSON","parse","decode","encrypted","iv","decroptRes","AES","decrypt","dealData","then","setCurrentPart","setButtonGroups","getAnswers","answers","Array","leaveTime","getMockRecordSectionDetail","time","setCurrentPartObj","part_id","setCurrentPaper","paper","selectAnswers","answerObj","forEach","step","setIsStarted","self","$emit","setInterval","replaceHtml","components","note","partBar","navigation","beforeRouteLeave","to","from","next","destroyed","watch","handler","newVal","oldVal","wom","match","deep","_arrayWithHoles","isArray","_iterableToArrayLimit","i","_i","Symbol","iterator","_x","_r","_arr","_n","_d","call","Object","done","err","_nonIterableRest","TypeError","_slicedToArray","arrayWithHoles","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","exerciseId","submitAnswerQueue","submitAnswerObject","canSubmitAnswer","isSubmitFinishing","currentSection","rId","setRecordId","getRecordDetails","ESection","details","setRecordDetailIds","$router","replace","path","onSubmitAnswer","_this","lastLeaveTestTime","shift","code","pathname","split","sounds","getElementById","pause","getAttribute","$message","message","showClose","duration","record","mockRecord","find"],"mappings":"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","file":"js/chunk-1e25a42d.514fc7f5.js","sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"c_navigation row question-navigation\"},[_c('div',{staticClass:\"col col-lg-1 col-xs-12 col-sm-6 order-2 order-lg-1 input-group\"},[_c('button',{staticClass:\"btn btn-block review\",on:{\"click\":_vm.reviewQuestion}},[_c('span',{staticClass:\"check\",class:_vm.currentQuestionDesc.isReview?'checked':''}),_vm._v(\"Review \")])]),_c('div',{staticClass:\"col col-lg-9 col-xs-12 order-1 order-xs-1 order-sm-1 question-nav\"},[_c('ul',{staticClass:\"question-buttons\"},[_vm._l((_vm.buttonGroups),function(buttonGroup,index){return [_c('li',{key:'group'+index,staticClass:\"part-babel-holder\"},[_c('div',{staticClass:\"btn disabled part-label\"},[_vm._v(\"Part \"+_vm._s(buttonGroup.part)+\":\")])]),_vm._l((buttonGroup.questions),function(button,BIndex){return _c('li',{key:buttonGroup.beginNumber+BIndex,on:{\"click\":function($event){return _vm.navigateAnswer(button,buttonGroup.beginNumber,BIndex)}}},[_c('button',{staticClass:\"btn btn-primary font-weight-bolder\",class:[_vm.currentQuestion === buttonGroup.beginNumber + BIndex? 'button-highlight':'',button.isReview?'button-review':'',button.isAnswered?'button-answered':''],attrs:{\"id\":'button'+button.questionNumber}},[_vm._v(\" \"+_vm._s(button.questionNumber)+\" \")])])})]})],2)]),_c('div',{staticClass:\"col col-lg-2 col-xs-12 col-sm-6 order-3 order-xs-3 order-sm-3 arrows\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('button',{staticClass:\"btn btn-primary prev\",attrs:{\"disabled\":_vm.preButton},on:{\"click\":function($event){return _vm.handleArrow(-1)}}},[_c('span',{staticClass:\"arrow-left\"})]),_c('button',{staticClass:\"btn btn-primary next\",attrs:{\"disabled\":_vm.nextButton},on:{\"click\":function($event){return _vm.handleArrow(1)}}},[_c('span',{staticClass:\"arrow-right\"})])])])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./navigation.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./navigation.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./navigation.vue?vue&type=template&id=242ab486&scoped=true&\"\nimport script from \"./navigation.vue?vue&type=script&lang=js&\"\nexport * from \"./navigation.vue?vue&type=script&lang=js&\"\nimport style0 from \"./navigation.vue?vue&type=style&index=0&id=242ab486&prod&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"242ab486\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"p_writing\"},[(_vm.isShowInstructions)?_c('div',{staticClass:\"confirmDetails\"},[_c('div',{staticClass:\"p-content container-fluid px-lg-5\"},[_c('div',{staticClass:\"row instructions steps\"},[(_vm.showStep==='one')?_c('div',{staticClass:\"col step step-one\"},[_c('div',{staticClass:\"student-detail\"},[_c('img',{attrs:{\"src\":require(\"../../../assets/img/userCheck.png\"),\"alt\":\"\"}}),_c('p',{staticClass:\"bc-box-title\"},[_vm._v(\"Confirm your details\")]),_c('div',{staticClass:\"bc-box\"},[_c('h3',{staticStyle:{\"color\":\"red\",\"text-align\":\"center\",\"font-size\":\"1.75rem\"}},[_vm._v(\"EXAMPLE\")]),_vm._m(0),_c('p',{staticClass:\"bx-box-info\"},[_vm._v(\"If your details aren't correct, please inform the invigilator.\")]),_c('button',{staticClass:\"button button-bc\",on:{\"click\":function($event){return _vm.goNext('two')}}},[_vm._v(\"My details are correct\")])])])]):_c('div',{staticClass:\"col step step-three\"},[_vm._m(1),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col text-center\"},[_c('p',[_vm._v(\"Do not click 'Start test' until you are told to do so.\")]),_c('button',{staticClass:\"button button-bc btn-primary next-button last-step\",attrs:{\"id\":\"start-test\"},on:{\"click\":_vm.goTest}},[_vm._v(\" Start test \")])])])])])]),(_vm.isShowNote)?_c('note',{staticClass:\"note_instructions\",attrs:{\"main-text\":_vm.instructionsNote,\"contenteditable\":false},on:{\"close-note\":_vm.closeNote}}):_vm._e()],1):_c('div',{staticClass:\"test-container container-fluid row px-lg-n5\"},[_c('div',{staticClass:\"col py-3 px-lg-5 test test-writing view content\",attrs:{\"id\":\"test\",\"data-test-id\":\"3\",\"data-test-type\":\"writing\",\"data-session-id\":\"2rtdccm5oojs3gn6lvu28n6ij1\",\"data-audio-src\":\"\"}},[_c('div',{staticClass:\"row question-content\",attrs:{\"id\":\"highlightable-content\"}},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"row\"},[_c('part-bar',{attrs:{\"part-bar-data\":{part:_vm.currentPart,partDesc: 'part.content' }}})],1),_vm._l((_vm.writingData),function(part){return _c('div',{key:part.id,staticClass:\"row\",class:_vm.currentPart === part.part?'':'hidden'},_vm._l((part.groups),function(group){return _c('div',{key:group.id,staticClass:\"col exercises has-parts\"},_vm._l((group.questions),function(question){return _c('div',{key:question.id,staticClass:\"row exercise exercise-task_1\",attrs:{\"id\":question.id,\"data-exercise-id\":\"16\",\"data-exercise-type\":\"task_1\",\"data-exercise-type-desc\":\"Writing Part 1 \",\"data-test-part\":\"1\"}},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col col-12 col-lg-7 pr-md-5\"},[_c('span',{staticClass:\"writing-question\",domProps:{\"innerHTML\":_vm._s(question.content)}})]),(_vm.buttonGroups&&_vm.buttonGroups.length>0)?_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col d-lg-none\"},[_c('navigation',{attrs:{\"buttonGroups\":_vm.buttonGroups}})],1)]):_vm._e(),_c('div',{staticClass:\"col col-12 col-lg-5 pl-md-4\"},[_c('div',{staticClass:\"question\"},[_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.answer[question.id]),expression:\"answer[question.id]\"}],staticClass:\"answer needs-focus\",attrs:{\"id\":question.id,\"autocomplete\":\"off\",\"autocorrect\":\"off\",\"autocapitalize\":\"off\",\"spellcheck\":\"false\"},domProps:{\"value\":(_vm.answer[question.id])},on:{\"blur\":function($event){return _vm.submitAnswer('second')},\"input\":function($event){if($event.target.composing)return;_vm.$set(_vm.answer, question.id, $event.target.value)}}}),_c('p',{staticClass:\"word-count\"},[_vm._v(\"Word count: \"+_vm._s(_vm.wordCount[question.id]||0))])])])])])])}),0)}),0)})],2)]),_c('div',{staticClass:\"row question-navigation d-none d-lg-flex\",staticStyle:{\"margin-top\":\"10px\"}},[_c('navigation',{attrs:{\"button-groups\":_vm.buttonGroups}})],1)])])])\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('ul',[_c('li',[_vm._v(\"Name:\")]),_c('li',[_vm._v(\"Date of birth: XX-XX-XXXX\")]),_c('li',[_vm._v(\"Candidate number: xxxx xxxx - 123456\")])])\n},function (){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('h5',[_vm._v(\"IELTS Academic Writing\")]),_c('p',[_vm._v(\"Time: 1 hour\")]),_c('h5',[_vm._v(\"INSTRUCTIONS TO CANDIDATES\")]),_c('ul',[_c('li',[_vm._v(\"Answer \"),_c('strong',[_vm._v(\"both\")]),_vm._v(\" parts.\")]),_c('li',[_vm._v(\"You can change your answers at any time during the test.\")])]),_c('h5',[_vm._v(\"INFORMATION FOR CANDIDATES\")]),_c('ul',[_c('li',[_vm._v(\"There are two parts in this test.\")]),_c('li',[_vm._v(\"Part 2 contributes twice as much as Part 1 to the writing score.\")]),_c('li',[_vm._v(\"The test clock will show you when there are 10 minutes and 5 minutes remaining.\")])])])])\n}]\n\nexport { render, staticRenderFns }","import partBar from \"@/components/question/partBar/partBar.vue\";\nimport note from \"../../../components/common/edit/note.vue\";\nimport { mapActions, mapState } from \"vuex\";\nimport * as Api from \"@/api/mock\";\nimport navigation from \"@/components/question/navigation/navigation\";\nimport { EXERCISE_TYPE, QUESTION_TYPE, MOCK_SECTION } from \"@/utils/constant\";\nimport { replaceHtml, dealData } from \"@/utils/util\";\nimport marked from \"marked\";\nimport { mockMix } from \"@/views/mock/mixins/mockMix\";\nimport AES from \"@/utils/AES\";\n\nlet Base64 = require(\"js-base64\").Base64;\n\nexport default {\n mixins: [mockMix],\n data() {\n return {\n isShowInstructions: true,\n showStep: \"one\",\n writingData: [],\n answer: {},\n options: {\n pedantic: false,\n gfm: true,\n headerIds: true,\n headerPrefix: \"\",\n highlight: null,\n tables: true,\n breaks: false,\n sanitize: false,\n silent: false,\n smartLists: true,\n smartypants: false,\n mangle: true,\n xhtml: false,\n },\n wordCount: {},\n timeInterval: null,\n isShowNote: true,\n beginButton: true,\n paperId: \"\",\n exerciseType: 3,\n };\n },\n mounted() {\n let routeQuery = this.$route.query;\n this.exerciseType = routeQuery.type * 1 || EXERCISE_TYPE.MOCK;\n this.paperId = this.$route.params.id;\n this.setCurrentSection(\"writing\");\n this.setCountdownLimit(3600);\n this.totalDuration = 3600;\n this.getRecordId();\n\n // if(this.exerciseType === EXERCISE_TYPE.MOCK){\n // this.getAnswers()\n // }else{\n // }\n this.beginButton = true;\n history.pushState(null, null, window.location.href);\n window.addEventListener(\"popstate\", function() {\n history.pushState(null, null, window.location.href);\n });\n },\n props:{\n curTime:{\n type: Number,\n default: 0\n }\n },\n computed: {\n instructionsNote() {\n if (this.showStep === \"one\") {\n return \"Please click the “my details are correct” button to progress into the writing familiarisation test, in your real IELTS test there will be an invigilator in the room to advise when to do this.\";\n } else if (this.showStep === \"two\") {\n return \"Please click the “Start test” button to start the familiarisation test, in your real IELTS test there will be an invigilator in the room to advise when to do this.\";\n }\n },\n currentQuestionId() {\n if (this.writingData.length > 0) {\n if (this.writingData.length === 1) {\n // 写作练习模式 只有一个part\n return this.writingData[0].groups[0].questions[0].id;\n }\n {\n return this.writingData[this.currentPart - 1].groups[0].questions[0]\n .id;\n }\n } else {\n return \"\";\n }\n },\n ...mapState({\n recordId: (state) => state.tests.recordId,\n currentPart: (state) => state.tests.currentPart,\n buttonGroups: (state) => state.tests.buttonGroups,\n currentQuestion: (state) => state.tests.currentQuestion,\n exerciseMode: (state) => state.tests.exerciseMode,\n recordDetails: (state) => state.tests.detailIds,\n }),\n },\n methods: {\n submitAnswer(finished, callback) {\n let detail = {\n recordId: this.recordId,\n section: MOCK_SECTION.WRITING\n };\n if (finished === \"finished\") {\n clearInterval(this.timeInterval);\n }\n let task1Id =\n this.writingData[0] && this.writingData[0].groups[0].questions[0].id;\n let task2Id =\n this.writingData[1] && this.writingData[1].groups[0].questions[0].id;\n let task1 = {\n question_id: task1Id,\n answer: this.answer[task1Id],\n };\n let task2 = {\n question_id: task2Id,\n answer: this.answer[task2Id],\n };\n let answer = [];\n if (task1.answer) {\n task1.answer = task1.answer.trim();\n answer.push(task1);\n }\n if (task2.answer) {\n task2.answer = task2.answer.trim();\n answer.push(task2);\n }\n let params = {};\n let remainingSecond = sessionStorage.leaveTestTime * 1;\n let spentSecond = sessionStorage.spendTime;\n if (this.currentQuestionId === task1Id) {\n params = {\n ...task1,\n spent_second: spentSecond,\n remaining_second: remainingSecond,\n };\n } else {\n params = {\n ...task2,\n spent_second: spentSecond,\n remaining_second: remainingSecond,\n };\n }\n if (finished === \"second\") {\n params.second = 0;\n }\n if (finished === \"finished\") {\n this.postAnswer(\"writing\", detail, params, this.exerciseType);\n setTimeout(() => {\n this.postAnswer(\"writing\", detail, \"finished\", this.exerciseType, callback);\n }, 1000);\n } else {\n if (!params.answer) return;\n this.postAnswer(\"writing\", detail, params, this.exerciseType);\n }\n },\n answerInput() {},\n getSection() {\n let detail = {\n recordId: this.recordId,\n section: MOCK_SECTION.WRITING\n };\n Api.getPaper(\n detail,\n (res) => {\n const {iv, value} = JSON.parse(Base64.decode(res.encrypted))\n const decroptRes = JSON.parse(AES.decrypt(value, '', 'CBC', iv))\n this.dealData(decroptRes).then(([data, buttons]) => {\n this.setCurrentPart(data[0].part);\n this.writingData = data;\n this.setButtonGroups(buttons);\n });\n },\n \"\",\n this.exerciseType\n );\n },\n getAnswers() {\n let detail = {\n recordId: this.recordId,\n section: MOCK_SECTION.WRITING\n };\n Api.getSelectAnswer(this.exerciseType, detail, \"\", (res) => {\n let answers;\n if (res instanceof Array) {\n answers = {\n answers: res\n }\n \n let leaveTime = this.totalDuration - this.getMockRecordSectionDetail(this.recordDetails)?.spent_second;\n this.setCountdownLimit(leaveTime);\n } else {\n answers = res;\n let time = answers.spent_second;\n let leaveTime = this.totalDuration - time;\n this.setCountdownLimit(leaveTime);\n this.setCurrentPartObj({\n id:res.part_id\n })\n this.setCurrentPaper(res.paper)\n }\n \n if (answers.answers.length === 0) {\n } else {\n let selectAnswers = answers.answers;\n let answerObj = {};\n selectAnswers.forEach((answer) => {\n answerObj[answer.question_id] = answer.content;\n });\n this.answer = answerObj;\n }\n this.getSection();\n });\n },\n goNext(step) {\n this.showStep = step;\n },\n goTest() {\n if (this.beginButton) {\n this.setIsStarted(true);\n this.beginButton = false;\n this.isShowInstructions = false;\n let self = this;\n this.$emit(\"startTimer\", \"60\");\n if (this.exerciseMode === \"first\") {\n // this.submitAnswer(\"\");\n } else {\n this.submitAnswer(\"continue\");\n }\n this.timeInterval = setInterval(function() {\n if (self.currentQuestionId) {\n self.submitAnswer(\"second\");\n }\n }, 30000);\n }\n },\n closeNote() {\n this.isShowNote = false;\n },\n dealData,\n replaceHtml,\n ...mapActions([\n \"setCurrentSection\",\n \"setCountdownLimit\",\n \"setButtonGroups\",\n \"setCurrentPart\",\n \"setIsStarted\",\n \"setCurrentPartObj\",\n \"setCurrentPaper\"\n ]),\n },\n components: {\n note,\n partBar,\n navigation,\n },\n beforeRouteLeave(to, from, next) {\n clearInterval(this.timeInterval);\n next();\n },\n destroyed() {\n clearInterval(this.timeInterval);\n },\n watch: {\n answer: {\n handler(newVal, oldVal) {\n for (let key in newVal) {\n let wom = newVal[key].match(/\\S+/g) || [];\n this.wordCount[key] = wom ? wom.length : 0;\n }\n },\n deep: true,\n },\n },\n};\n","\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./writing.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./writing.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./writing.vue?vue&type=template&id=20571e74&\"\nimport script from \"./writing.vue?vue&type=script&lang=js&\"\nexport * from \"./writing.vue?vue&type=script&lang=js&\"\nimport style0 from \"./writing.vue?vue&type=style&index=0&id=20571e74&prod&lang=less&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (null != _i) {\n var _s,\n _e,\n _x,\n _r,\n _arr = [],\n _n = !0,\n _d = !1;\n try {\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\n if (Object(_i) !== _i) return;\n _n = !1;\n } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);\n } catch (err) {\n _d = !0, _e = err;\n } finally {\n try {\n if (!_n && null != _i[\"return\"] && (_r = _i[\"return\"](), Object(_r) !== _r)) return;\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../node_modules/less-loader/dist/cjs.js??ref--11-oneOf-1-3!../../../../node_modules/style-resources-loader/lib/index.js??ref--11-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./writing.vue?vue&type=style&index=0&id=20571e74&prod&lang=less&\"","import * as Api from '@/api/mock'\nimport { mapActions } from 'vuex'\nimport { recordDetails } from '@/api/center'\nimport { EXERCISE_TYPE, ESection } from '@/utils/constant'\nimport { mapState } from 'vuex'\n\nexport const mockMix = {\n data () {\n return {\n exerciseId: '',\n submitAnswerQueue: [],\n submitAnswerObject: {},\n canSubmitAnswer: true,\n isSubmitFinishing: false,\n totalDuration: 0//练习、模考总时长\n }\n },\n computed:{\n ...mapState({\n currentSection: state => state.tests.currentSection\n }),\n },\n mounted () {\n this.exerciseId = this.$route.params.id // paperId | partId | groupId\n },\n methods: {\n getRecordId () {\n let recordId = this.$route.query.rId\n if (recordId) {\n this.setRecordId(recordId)\n if (this.exerciseType === EXERCISE_TYPE.MOCK) {\n this.getRecordDetails(recordId)\n } else {\n this.getAnswers()\n }\n } else {\n Api.mockRecords('post', {\n section: ESection[this.currentSection],\n }, this.exerciseType, res => {\n this.setRecordId(res.id)\n if (res.details) {\n this.setRecordDetailIds(res.details)\n }\n setTimeout(() => {\n this.$router.replace({\n path: this.$route.path,\n params: this.$route.params,\n query: {\n ...this.$route.query,\n rId: res.id\n }\n })\n sessionStorage.recordId = res.id\n this.getAnswers()\n }, 2000)\n }, this.exerciseId)\n }\n },\n //模考参加考试-获取记录详情\n getRecordDetails ( recordId ) {\n recordDetails('get', '', ( res ) => {\n this.setRecordDetailIds(res)\n this.getAnswers()\n }, recordId)\n },\n onSubmitAnswer () {\n if (this.submitAnswerQueue.length < 1) return\n let _this = this\n if (!this.canSubmitAnswer) return\n this.canSubmitAnswer = false\n if (this.submitAnswerQueue.length === 1) {\n this.submitAnswerObject = this.submitAnswerQueue[ 0 ]\n }\n const { exerciseType, recordId, data, remainingSecond } = this.submitAnswerObject\n sessionStorage.spendTime = 0\n Api.submitAnswer(\n exerciseType,\n recordId,\n data,\n res => {\n sessionStorage.lastLeaveTestTime = remainingSecond\n _this.submitAnswerObject = _this.submitAnswerQueue.shift()\n _this.canSubmitAnswer = true\n _this.onSubmitAnswer()\n },\n err => {\n // code 60001 当前section结束\n if (err.code === 60001) {\n setTimeout(() => {\n let id = window.location.pathname.split('/')[ 3 ]\n if (section === 'listening') {\n let sounds = document.getElementById('listeningAudio')\n if (sounds.pause) sounds.pause()\n window.location.href = `/test/reading/${id}`\n } else if (section === 'reading') {\n window.location.href = `/test/writing/${id}`\n } else if (section === 'writing') {\n window.location.href = `/report/${id}`\n }\n }, 150)\n } else {\n const questionNumber = document.getElementById(data.question_id).getAttribute('questionnum')\n this.$message({\n type: 'error',\n message: questionNumber?`由于网络原因,第${questionNumber}题 答案提交失败,请重新作答`:'由于网络原因,答案提交失败,请重新作答',\n showClose: true,\n duration: 0\n })\n setTimeout(() => {\n sessionStorage.lastLeaveTestTime = remainingSecond\n _this.submitAnswerObject = _this.submitAnswerQueue.shift()\n _this.canSubmitAnswer = true\n _this.onSubmitAnswer()\n }, 10000)\n }\n }\n )\n },\n\n postAnswer ( section, record, answer, exerciseType, callback ) {\n if (answer === '' || answer === 'continue') {\n } else if (answer === 'finished') {\n if(this.isSubmitFinishing) return\n this.isSubmitFinishing = true\n if (exerciseType === EXERCISE_TYPE.MOCK) {\n return Api.finishMockRecordDetail(record, res => {\n this.isSubmitFinishing = false\n if (callback) {\n callback()\n }\n })\n } else {\n return Api.finishExerciseRecordDetail(record.recordId, res => {\n this.isSubmitFinishing = false\n if (callback) {\n callback()\n }\n })\n }\n } else if (answer === 'second') {\n return\n } else {\n }\n if (!answer?.question_id) return\n if (!answer?.answer) return\n answer.content = answer.answer.trim()\n delete answer.answer\n let remainingSecond = sessionStorage.leaveTestTime * 1\n let spentSecond = this.totalDuration - this.curTime\n let data = {\n ...answer,\n spent_second: spentSecond,\n section: record.section\n }\n let target = {\n exerciseType,\n recordId: record.recordId,\n data,\n remainingSecond\n }\n this.submitAnswerQueue.push(target)\n this.onSubmitAnswer()\n },\n getMockRecordSectionDetail(mockRecord){\n return mockRecord?.find(record=> record.section === ESection[this.currentSection])\n },\n ...mapActions([\n 'setRecordId',\n 'setRecordDetailIds'\n ])\n\n },\n\n watch: {\n // submitAnswerQueue: {\n // deep: true,\n // handler: function ( val ) {\n // if(val.length>0){\n // this.onSubmitAnswer(val)\n // }\n // }\n // }\n }\n}\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../node_modules/less-loader/dist/cjs.js??ref--11-oneOf-1-3!../../../../node_modules/style-resources-loader/lib/index.js??ref--11-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./navigation.vue?vue&type=style&index=0&id=242ab486&prod&lang=less&scoped=true&\""],"sourceRoot":""}