{"version":3,"file":"practice.a88dce39.mjs","sources":["../../../../pages/grade/practice.vue"],"sourcesContent":["<template>\n  <NuxtLayout>\n    <div class=\"exam_page\">\n      <div class=\"exam_header\">\n        <div class=\"header_flex\">\n          <div class=\"exit_exam\" @click=\"queryAndSubmit\">退出作业</div>\n          <div class=\"exam_title\">{{ map.info.taskName }}</div>\n          <div class=\"exam_time_box\">\n            <el-button type=\"primary\" @click=\"queryAndSubmit\" class=\"pointer\" :disabled=\"map.info.taskStatus >= 3\">提交</el-button>\n          </div>\n        </div>\n      </div>\n      <div class=\"exam_paper_box\" ref=\"box\">\n        <div class=\"exam_user_paper\">\n          <div class=\"exam_user_item\">\n            <div class=\"exam_user_top\">\n              <el-avatar :size=\"40\" :src=\"userInfo && userInfo.headImg\"></el-avatar>\n            </div>\n            <div class=\"exam_user_bottom\">{{ userInfo && userInfo.nickname }}</div>\n          </div>\n          <div class=\"exam_user_item\" v-if=\"!(map.info.taskStatus >= 3)\">\n            <div class=\"exam_user_bottom\"><el-switch v-model=\"ctrl.next\" size=\"default\"></el-switch></div>\n            <div class=\"exam_user_top\">自动下一题</div>\n          </div>\n        </div>\n        <div class=\"exam_center\">\n          <div class=\"left\">\n            <template v-if=\"map.info.taskStatus === 5\">\n              <div class=\"tips\">\n                <img\n                  class=\"mgr10\"\n                  src=\"@/assets/images/warning.png\"\n                />温馨提示：本次作业的提交截止时间已过，无法成功提交作业。你可以在输入框中输入答案作为练习\n              </div>\n              <div class=\"holder\"></div>\n            </template>\n            <div v-if=\"map.info.reviews\" class=\"homework_teacher_answer\">\n              <div class=\"homework_user_answer_title\">讲师点评</div>\n              <div class=\"reviews_content\" @click=\"handleRichTextClick\" v-html=\"map.info.reviews\" />\n            </div>\n            <template v-for=\"(p, index) in map.info.questionList\" :key=\"index\">\n              <div class=\"question_box\" :id=\"index\">\n                <problem-item\n                  @updateUserAnswer=\"updateUserAnswer\"\n                  :problem=\"p\"\n                  :index=\"index\"\n                  :record-id=\"recordId\"\n                  :is-analysis=\"map.info.taskStatus >= 3\"\n                  :is-show-confirm=\"ctrl.next\"\n                ></problem-item>\n                <template v-if=\"map.info.taskStatus >= 3\">\n                  <div class=\"analysis\">\n                    <div :class=\"{'inline-b mgr30': p.questionType < 4}\">\n                      <div class=\"analysis_item\" v-if=\"p.questionType === 5\">\n                        <span class=\"left_text\">正确答案：</span>\n                        <div v-html=\"p.questionAnswer || ''\"></div>\n                      </div>\n                      <div class=\"analysis_item\" v-else>\n                        <span class=\"left_text\">正确答案：</span>\n                        <span :class=\"{'blue_text': p.questionType < 4}\">{{getNum(p.questionAnswer,p.optionList,p.questionType)}}</span>\n                      </div>\n                    </div>\n                    <div :class=\"{'inline-b': p.questionType < 4, 'mgt20': p.questionType >= 4}\">\n                      <div class=\"analysis_item\" v-if=\"p.questionType < 5\">\n                        您的答案：<span class=\"question_my\" :class=\"{'red_text': p.questionType < 4}\">{{getNumAnswer(p.userAnswer,p.optionList,p.questionType)}}</span>\n                      </div>\n                      <div class=\"analysis_item\" v-else>您的答案：<span class=\"question_my\">{{p.userAnswer || ''}}</span></div>\n                    </div>\n                    <div class=\"analysis_item mgt20\">\n                      <span class=\"left_text\">答案解析：</span>\n                      <div v-html=\"p.questionAnalysis || '无'\"></div>\n                    </div>\n                  </div>\n                </template>\n              </div>\n            </template>\n\n          </div>\n        </div>\n        <div class=\"exam_right\">\n          <div class=\"exam_right_title\">答题卡</div>\n          <div class=\"problem\">\n            <div class=\"problem_exam_box\" v-if=\"map.info.taskStatus >= 3\">\n              <div class=\"problem_exam_box_item true\">答对</div>\n              <div class=\"problem_exam_box_item wrong\">答错</div>\n            </div>\n            <div class=\"problem_exam_box\" v-else>\n              <div class=\"problem_exam_box_item true\">已答</div>\n              <div class=\"problem_exam_box_item false\">未答</div>\n            </div>\n            <div class=\"mgb20\">\n              <div class=\"card_box\" v-if=\"map.info.taskStatus >= 3\">\n                <span\n                  :class=\"['problem_num', p.answerStatus === 2 ? 'active_num' : 'wrong_num']\"\n                  v-for=\"(p, idx) in map.info.questionList\"\n                  :key=\"'key2' + idx\"\n                  @click=\"jumpProblem(idx)\"\n                  >{{ idx + 1 }}</span\n                >\n              </div>\n              <div class=\"card_box\" v-else>\n                <span\n                  :class=\"['problem_num', p.userAnswer ? 'active_num' : '']\"\n                  v-for=\"(p, idx) in map.info.questionList\"\n                  :key=\"'key2' + idx\"\n                  @click=\"jumpProblem(idx)\"\n                  >{{ idx + 1 }}</span\n                >\n              </div>\n            </div>\n          </div>\n        </div>\n      </div>\n    </div>\n  </NuxtLayout>\n</template>\n\n<script setup>\nimport { useUserStore } from '@/stores/user'\nimport { ElMessage, ElMessageBox } from 'element-plus'\nimport { ref, onMounted, reactive } from 'vue'\nimport { gradeHomeworkDetail, gradePracticeHomeworkSave, gradeHomeworkStart } from '@/api/grade.js'\nimport problemItem from '@/components/grade/problemItem.vue'\nimport { setStore } from '@/utils/storage'\nimport bus from '@/utils/bus'\nimport cookie from \"@/utils/cookies\";\nlet cookieData = cookie.getShop()\n\nuseHead({\n  title: '作业-' + cookieData.shopName,\n})\nconst store = useUserStore()\nconst route = useRoute()\nconst router = useRouter()\nconst getNumAnswer = (val,list,type) => {\n  if(!val) {\n    return ''\n  }\n  if(type === 5) {\n    return true\n  } else if(type === 4){\n    const arr = val.split('|')\n    return  arr.join('；')\n  }\n  if(list) {\n    if(type === 1) {\n      let num = null\n      list.forEach((el, i) => {\n        if (el.id === val && num === null) {\n          num = i\n        }\n      })\n      return map.letter[num]\n    }else if(type === 2){\n      let num = []\n      list.forEach((el, i) => {\n        if (val.indexOf(el.id) > -1 && num.indexOf(el.id) === -1) {\n          num.push(map.letter[i])\n        }\n      })\n      return  num.join(',')\n    }else if(type === 3){\n      return val\n    }\n  }else{\n    return val\n  }\n}\nconst getNum = (val,list,type) => {\n  if(type === 5) {\n    return true\n  } else if(type === 4){\n    const arr = val.split('|')\n    return  arr.join('；')\n  }\n  if(list) {\n    if(type === 1) {\n      let num = null\n      list.forEach((el, i) => {\n        if (el.optionContent === val && num === null) {\n          num = i\n        }\n      })\n      return map.letter[num]\n    }else if(type === 2){\n      let num = []\n      list.forEach((el, i) => {\n        if (val.indexOf(el.optionContent) > -1 && num.indexOf(el.optionContent) === -1) {\n          num.push(map.letter[i])\n        }\n      })\n      return  num.join(',')\n    }else if(type === 3){\n      return val\n    }\n  }else{\n    return val\n  }\n}\nconst handleRichTextClick = (e) => {\n  if (e && e.path) {\n    if (e.path[2] && e.path[2].dataset && e.path[2].dataset.id) {\n      const resourceId = e.path[2].dataset.id\n      bus.emit('preview-resource', resourceId)\n    } else if (e.path[1] && e.path[1].dataset && e.path[1].dataset.id) {\n      const resourceId = e.path[1].dataset.id\n      bus.emit('preview-resource', resourceId)\n    }\n  }\n}\nconst { getEnumList, getUserView } = store\nconst recordId = ref('')\nconst userInfo = ref(null)\nonMounted(() => {\n  getUserView().then((res) => {\n    userInfo.value = res\n  })\n  getHomeworkInfo()\n})\nconst map = reactive({\n  info: {},\n  letter: 'ABCDEFGHIJkLMNOPQRSTUVWXYZ'.split(''),\n})\nconst ctrl = reactive({\n  loading: false,\n  show: true,\n  save: false,\n  noTrue: false,\n  isExit: false,\n  next: true\n})\nconst jumpProblem = (index) => {\n  if(document.getElementById(index)) {\n    document.getElementById(index).scrollIntoView()\n  }\n}\nconst handleBack = () => {\n  router.go(-1)\n}\n\nconst queryAndSubmit = () => {\n  if(map.info.taskStatus >= 3){\n    handleBack()\n    return\n  }\n  let status = map.info.questionList.every(function (i) {\n    return i.userAnswer != false && i.userAnswer != undefined\n  })\n  if (!status) {\n    ElMessageBox.confirm('您还有题目未答，确定提交？', '提示', {\n      confirmButtonText: '确定',\n      cancelButtonText: '查看未答',\n      center: true,\n    })\n      .then(() => {\n        gradePracticeHomeworkSave({\n          recordId: recordId.value,\n        }).then((r) => {\n          ElMessage.success('提交成功')\n          handleBack()\n        })\n      })\n      .catch(() => {\n        let continueValue = true\n        map.info.questionList.forEach((el, index) => {\n          if (!el.userAnswer && continueValue) {\n            continueValue = false\n            document.getElementById(index).scrollIntoView()\n          }\n        })\n      })\n  } else {\n    ElMessageBox.confirm('确定提交作业吗？', '提示', {\n      cancelButtonText: '取消',\n      confirmButtonText: '确定',\n      type: 'warning',\n    })\n      .then(() => {\n        gradePracticeHomeworkSave({\n          recordId: recordId.value,\n        }).then((r) => {\n          ElMessage.success('提交成功')\n          handleBack()\n        })\n      })\n      .catch(() => {})\n  }\n}\nconst updateUserAnswer = (d) => {\n  map.info.questionList.forEach((item, index) => {\n    if (item.questionId === d.questionId) {\n      item.userAnswer = d.userAnswer\n      if(ctrl.next) {\n        jumpProblem(index + 1)\n      }\n    }\n  })\n}\nconst getHomeworkInfo = () => {\n  gradeHomeworkDetail(route.query.id).then((res) => {\n    if (res) {\n      map.info = res\n      if (map.info.taskStatus === 1 || map.info.taskStatus === 2) {\n        startHomework()\n      } else {\n        map.info.questionList.forEach(p => {\n          if(p.questionType < 3) {\n            p.optionList.forEach(o => {\n              o.oStatus = 3 //默认状态\n              if(p.correctAnswer.indexOf(o.id) > -1) {\n                o.oStatus = 1 //答对状态\n              } else {\n                if(p.userAnswer && p.userAnswer.indexOf(o.id) > -1) {\n                  o.oStatus = 2 //答错状态\n                }\n              }\n            })\n          }\n          if(p.questionType === 3) {\n            p.optionList = [\n              {\n                id: '对',\n                optionContent: '对'\n              },\n              {\n                id: '错',\n                optionContent: '错'\n              }\n            ]\n            p.optionList.forEach(o => {\n              o.oStatus = 3\n              if(p.userAnswer) {\n                if(o.optionContent == p.questionAnswer) {\n                  o.oStatus = 1\n                } else {\n                  if(o.optionContent == p.userAnswer) {\n                    o.oStatus = 2\n                  }\n                }\n              } else {\n                if(o.optionContent == p.questionAnswer) {\n                  o.oStatus = 1\n                }\n              }\n            })\n          }\n        })\n      }\n    }\n  })\n}\nconst startHomework = () => {\n  return new Promise((resolve) => {\n    gradeHomeworkStart(route.query.id).then((res) => {\n      if (res) {\n        recordId.value = res.recordId\n        map.info = res\n        map.info.questionList.forEach(p => {\n          if(p.questionType === 3) {\n            p.optionList = [\n              {\n                id: '对',\n                optionContent: '对'\n              },\n              {\n                id: '错',\n                optionContent: '错'\n              }\n            ]\n          }\n        })\n        resolve()\n      }\n    })\n  })\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.exam_page {\n  position: fixed;\n  width: 100vw;\n  height: 100vh;\n  left: 0;\n  top: 0;\n  background: #f6f8fb;\n  z-index: 1001;\n}\n.exam_center {\n  width: 1058px;\n  margin-left: 146px;\n  .tips {\n    margin-top: 8px;\n    display: flex;\n    align-items: center;\n    padding: 10px;\n    background: rgba(242, 201, 76, 0.1);\n    color: #666666;\n    font-size: 14px;\n    line-height: 22px;\n    border-radius: 4px;\n    border: 1px solid rgba(242, 201, 76, 0.6);\n\n    img {\n      width: 16px;\n      height: 16px;\n    }\n  }\n  .holder {\n    height: 16px;\n    background-color: #f4f6f9;\n  }\n  .left {\n    position: relative;\n    background: #ffffff;\n    .question_box {\n      position: relative;\n      border-bottom: 1px solid #ebeef5;\n      padding: 20px 33px 20px 30px;\n    }\n  }\n}\n.exam_header {\n  width: 100%;\n  height: 54px;\n  background: #fff;\n  .header_flex {\n    width: 1480px;\n    height: 100%;\n    margin: auto;\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n  }\n  .exit_exam {\n    font-style: normal;\n    font-weight: 400;\n    font-size: 14px;\n    color: #333333;\n    cursor: pointer;\n  }\n  .exam_title {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    font-style: normal;\n    font-weight: 400;\n    font-size: 18px;\n    color: #333333;\n  }\n  .exam_time_box {\n    font-style: normal;\n    font-weight: 400;\n    font-size: 14px;\n    display: flex;\n    align-items: center;\n  }\n  .el-button {\n    width: 100px;\n    height: 32px;\n    border-radius: 4px;\n    margin-left: 24px;\n  }\n  .exam_time {\n    font-style: normal;\n    font-weight: 400;\n    font-size: 20px;\n    color: #f23c3c;\n  }\n}\n.exam_paper_box {\n  width: calc(100%);\n  max-width: 1480px;\n  padding-top: 16px;\n  max-height: 90vh;\n  overflow: auto;\n  margin: auto;\n  &::-webkit-scrollbar {\n    display: none;\n  }\n}\n.exam_right {\n  width: 260px;\n  background-color: #ffffff;\n  position: fixed;\n  top: 72px;\n  right: calc(50% - 740px);\n  .problem .card_box {\n    margin-top: 20px;\n    .problem_num {\n      display: inline-block;\n      margin-right: 16px;\n      margin-bottom: 16px;\n      width: 28px;\n      height: 28px;\n      color: #333333;\n      border: 1px solid #d9d9d9;\n      text-align: center;\n      line-height: 28px;\n      border-radius: 2px;\n      font-style: normal;\n      font-weight: 400;\n      font-size: 14px;\n      cursor: pointer;\n    }\n    .active_num {\n      border: 1px solid rgba(61, 127, 255, 0.4);\n      background: rgba(61, 127, 255, 0.1);\n      color: #3d7fff;\n    }\n    .wrong_num {\n      border: 1px solid rgba(242, 60, 60, 0.4);\n      background: rgba(242, 60, 60, 0.1);\n      color: #F23C3C;\n    }\n  }\n  .exam_right_title {\n    margin-top: 21px;\n    height: 54px;\n    width: 100%;\n    padding: 18px 27px;\n    border-bottom: 1px solid #ebeef5;\n  }\n  .problem {\n    padding: 20px 16px;\n    max-height: calc(100vh - 172px);\n    overflow: auto;\n    padding-right: 11px;\n  }\n  .problem_exam_box {\n    width: 100%;\n    display: flex;\n    align-items: center;\n  }\n  .problem_exam_box_item {\n    font-style: normal;\n    font-weight: 400;\n    font-size: 12px;\n    color: #333333;\n    padding-left: 23px;\n    position: relative;\n    display: flex;\n    align-items: center;\n    margin-right: 13px;\n  }\n  .problem_exam_box_item:before {\n    content: '';\n    width: 16px;\n    height: 16px;\n    background: #ffffff;\n    border: 1px solid #d9d9d9;\n    border-radius: 1.6px;\n    left: 0;\n    position: absolute;\n  }\n  .problem_exam_box_item.true:before {\n    background: rgba(61, 127, 255, 0.1);\n    border-radius: 1.6px;\n    width: 16px;\n    height: 16px;\n    border: 1px solid rgba(61, 127, 255, 0.4);\n  }\n  .problem_exam_box_item.wrong:before{\n    background: rgba(242, 60, 60, 0.1);\n    border-radius: 1.6px;\n    width: 16px;\n    height: 16px;\n    border: 1px solid rgba(242, 60, 60, 0.4);\n  }\n}\n.exam_user_paper {\n  background-color: #ffffff;\n  width: 130px;\n  position: fixed;\n  left: calc(50% - 740px);\n  top: 72px;\n  .exam_user_item {\n    width: 100%;\n    height: calc(100% / 3);\n    border-bottom: 1px solid #ebeef5;\n    padding: 16px 10px;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    flex-direction: column;\n  }\n  .exam_user_bottom {\n    font-style: normal;\n    font-weight: 400;\n    font-size: 16px;\n    color: #333333;\n    margin-top: 6px;\n  }\n}\n.analysis {\n  width: calc(100%);\n  padding: 20px 26px;\n  margin-top: 20px;\n  margin-bottom: 10px;\n  background: rgba(51, 51, 51, 0.05);\n  z-index: 11;\n  font-style: normal;\n  font-weight: 400;\n  font-size: 14px;\n  color: #666666;\n  position: relative;\n  .icon_success,\n  .icon_danger {\n    display: none;\n    position: absolute;\n    width: 20px;\n    height: 20px;\n    left: 0;\n    top: 0;\n  }\n  .analysis_item + .analysis_item {\n    margin-top: 15px;\n  }\n  .analysis_item {\n    display: flex;\n    align-items: top;\n    .left_text {\n      min-width: 72px;\n    }\n  }\n  &.success {\n    background: rgba(61, 127, 255, 0.05);\n  }\n  &.success .question_my,\n  &.success .icon_success {\n    color: #3d7fff;\n    display: block;\n  }\n  &.error {\n    background: rgba(242, 60, 60, 0.03);\n  }\n  &.error .question_my,\n  &.error .icon_danger {\n    color: #f23c3c;\n    display: block;\n  }\n  .inline-b {\n    display: inline-block;\n  }\n  .blue_text {\n    color: #3D7FFF;\n  }\n  .red_text {\n    color: #F23C3C;\n  }\n}\n.homework_teacher_answer {\n  padding: 20px 30px;\n  border-bottom: 1px solid #ebeef5;\n}\n.homework_user_answer_title {\n  margin-bottom: 12px;\n  display: flex;\n  align-items: center;\n  &::before {\n    content: '';\n    margin-right: 10px;\n    background: #3d7fff;\n    width: 4px;\n    height: 16px;\n  }\n}\n.reviews_content {\n  width: 100%;\n  min-height: 96px;\n  padding: 12px;\n  background: rgba(242, 60, 60, 0.08);\n  border-radius: 4px;\n  font-size: 14px;\n  line-height: 24px;\n  color: #666666;\n  word-break: break-all;\n}\n</style>\n"],"names":["cookieData","cookie","getShop","useHead","title","shopName","store","useUserStore","route","useRoute","router","useRouter","getNumAnswer","val","list","type","split","join","num","forEach","el","i","id","map","letter","indexOf","push","getNum","optionContent","handleRichTextClick","e","path","dataset","resourceId","bus","emit","getEnumList","getUserView","recordId","ref","userInfo","onMounted","then","res","value","getHomeworkInfo","reactive","info","ctrl","loading","show","save","noTrue","isExit","next","jumpProblem","index","document","getElementById","scrollIntoView","handleBack","go","queryAndSubmit","taskStatus","questionList","every","userAnswer","ElMessageBox","confirm","cancelButtonText","confirmButtonText","gradePracticeHomeworkSave","r","ElMessage","success","catch","center","continueValue","updateUserAnswer","d","item","questionId","gradeHomeworkDetail","query","startHomework","p","questionType","optionList","o","oStatus","correctAnswer","questionAnswer","Promise","resolve","gradeHomeworkStart"],"mappings":"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"}